Title: Computer Architecture: Intro Beginnings
1Computer Architecture Intro Beginnings
2Course
- Introduction
- Overview
- Content launch Module 1
3Structure Conduct of the Course
- Discussion v. Lecturing
- Interaction Question/Comment Ticket
- Team-learning
- In-class labs
- Out-of-class labs, readings, problems
4Introduction
- Instructors J. Schmalzel, S. Mandayam
- Course
- Digital Foundations
- Introduction to Embedded Processors
- The Embedded Development Environment
- Interfacing to the Physical World
- Hardware and Software Trade-Offs
5Course Goal
- Goal Impart knowledge of computer architecture
to support informed decisions about the hardware,
software, and the hardware/software trade-offs
that underlie the computing paradigm.
6Objectives, 1
- ? Describe major functional elements of CISC,
RISC architectures - Perform detailed analysis and synthesis of
combinatorial and sequential subsystems using
schematic and/or behavioral design capture w/ sim - Describe principles and applications of the three
basic computing elements CPU, MEM, I/O - Use an embedded system that includes diverse
architectural features
7Objectives, 2
- ? Apply analytic and simulation techniques to
predict and verify performance metrics - ? Design an example architecture using SOTA tools
- Identify opportunities for hardware and software
trade-offs - (Insert your objectives here)
- ( and here)
8Digital Foundations
- The basic model of a computer system
9Central Processing Unit (CPU)
- Controls
- Executes
- Computes (Fixed- and/or Floating-Point)
10Memory
- Program store
- Data storage
- High-speed?Low-speed
- Volatile, Non-volatile
- RAM, ROM, FLASH (EEPROM)
- Fast?Slow
11Input/Output (I/O)
- Communication between CPU and outside world
- Fast?Slow
- Standardized (e.g., IEEE 802.11b)
- Parallel (IEEE 1184)?Serial (USB 2.0)
12Hierarchical View of EP and Digital Systems
Operating System HLLs
Computer Architecture
State Machines
Interface Method
Design Techniques
MSI Functions
Boolean Algebra
Gates
13Number Systems
14- For an n-bit binary number
- Base notation. For a k-bit binary number with
n-bits to the left of the radix point and m-bits
to the right of the radix point. - For example, 1101001.101 ______________10
- (64 32 8 1) . (0.5 0.125)
- 105.625
- Similarly, for hex
15Conversions
11111111 ? ____________(10) (Fast way 100000000
-1 255) 10101010.01 ? _____________
(10) (AA.416 1016 10 .25 170.25) AB6C.D
? _________________________ (2) ?
___________(10) (1010101101101100.1101 104096
11256 616 12 13/16 43,884.8125)
16Coding
- Binary system must be used to accomplish many
functions such as arithmetic and data
transmission. A code defines the mapping between
binary digits and the intended application.
17Example Codes
- Gray code Only one bit change between adjacent
codes (000?010?110?100 ?101?111?011?001?000) - Binary-Coded Decimal (BCD) Direct (but
inefficient) coding of decimal numbers using 4
bits
182s Complement
Need A method to represent negative numbers. Can
use a sign bit magnitude e.g., 5 0 101, -5
1 101, but there are better codes. The 2s
Complement is one. 1s Complement Complement
each bit. 1s Complement of 11011 is 00100 2s
complement 1s complement 1 Example Find 2s
complement of 1001100. ? _______________
(0110100.) To check, sum of the positive and
negative codes should sum to zero (ignore
overflow out of msb). (By inspection trick
Working from right to left, write down all zeros
until the first 1. Write it down, too, then
complement every bit after that.)
19Boolean Algebra
- True/False
- High/Low
- On/Off
- 5 Vdc / 0 Vdc (3.3 Vdc / 0 Vdc)
- Notation
- Variable by itself is assumed true
- Variable with a symbol denotes complementation
/
20Boolean Identities
- X?00
- X?1X
- X?XX
- X?X0
- X0X
- X11
- XXX
- XX1
- XX
- Commutative Laws
- XYYX
- XYYX
- Associative Laws
- X(YZ)(XY)Z
- X(YZ)(XY)Z
- Distributive Laws X(YZ)XYXZ
- DeMorgans Theorems
- (X?Y)XY (XY)X ?Y
21Gates (p. 63 MK)
AND ( C ) OR ( ? C ) NOT
Inverter ( / C ) XOR ( ? C ?
) NAND NOR XNOR
22Combinatorial Design Process
- Problem statement
- Truth table and describing Boolean Algebra
- Simplification
- Implementation
- Verification
23Design Examples
- Full Adder (Step 1 Design a device that performs
binary addition, including carry input.)
24Full Adder Truth Table (Step 2)
Sum-of-Product Boolean expressions for S and
Co S CiAB CiAB CiAB CiAB Co
CiAB CiAB CiAB CiAB
25Graphical Simplification (Step 3)
Ci
A Karnaugh-Map organizes truth table entries as a
gray code--only one variable changes between
adjacent cells. This lets you use the identities
XX1 and X1X to simplify by inspection. For
example, the AB subcube ABCi ABCi
AB(CiCi) AB(1) AB
Co
0
1
0
0
00
BCi
1
01
0
AB
AB
11
1
1
ACi
0
10
1
Co AB ACi BCi
26Other Simplification Methods
- Quine-McCluskey algorithm
- Espresso
- http//www-cad.eecs.berkeley.edu80/Software/softw
are.html - http//cse.bellarmine.edu/espresso (C. Staley
Find it on download.com)
27Espresso Demo
Simplify So and Co for FA
28Implementation (Step 3)
Translate the simplified BA to a network of gates
Ci
A
Ci
Co
B
A
B
29Verification (Step 4)
Verify the proper behavior of the design. Use
simulation techniques to present test vectors and
compare responses to predictions. Exhaustive v. S
tatistical (Monte Carlo)
30Combinatorial Function Blocks
31Digital Foundations, cont.
- The basic model of a computer system
32Real Gates
- Logic levels are voltage levels
- Finite current drive
- Timing diagrams
- Finite switching speed
- Propagation delays
- Noise
33Logic Levels are Voltage Levels
Vdd
High
VOHtyp
VOHmin
VIHmin
VILmax
VOLmax
Vss
Low
VOLtyp
34Finite Current Levels
The electrical circuit model for a digital output
(or input) includes a series impedance. This
helps explain why a gate cant source/sink
unlimited amounts of current (mA v. A).
35Finite Switching Speeds
Example Switching speed of an inverter. A timing
diagram shows behavior as it develops with time.
Input (Ideal)
Output
tr
tf
36Finite Propagation Delays
Example Switching speed of an inverter.
Input (Ideal)
Output
tPDLH
tPDHL
37Noise
How well logic is able to reject noise is
described by its Noise Immunity. The Noise Margin
(NM) is the predicted ability of a device to
handle noise on its inputs and still reliably
determine the correct logic levels. NML VOLmax
- VILmax NMH VOHmin - VIHmin
38Logic Levels/Voltage Levels for 74HC138 w/ VCC5
Vdc
_at_IOH -20?A
Vdd
High
VOHtyp
4.999
VOHmin
4.9 V (5.0-0.1)
VIHmin
3.5 V (0.75.0)
VILmax
1.5 V (0.35.0)
VOLmax
0.1 V (0.00.1)
Vss
Low
VOLtyp
_at_IOL 20?A
0.001
39Variation in VOH and VOL
IOH
Rs
VOH or VOL
Ideal VOH or VOL
IOL
This is reference direction--thats why IOH is
negative.
What is a typical Rs?
40Calculation of Rs at IOL of 4 mA
IOH
Rs
VOH or VOL
Ideal VOH or VOL
IOL
This is reference direction--thats why IOH is
negative.
Use 6 Vdc values 0.26V/.004A
65 ?
41Propagation delay (6 Vdc)
- From A, B, or C to any Y output Max 38 ns
- From Enable to any Y output Max 33 ns
42Questions, Comments, Discussion