Professional Documents
Culture Documents
CPSC 321 Computer Architecture: Fall 2006
CPSC 321 Computer Architecture: Fall 2006
Computer Architecture
Fall 2006
Lecture 1
Introduction and Five Components of a Computer
• Labs
– MIPS (Assembly Programming), Verilog (HDL)
• Projects
– Project 1: MIPS
– Projects 2 & 3: Verilog (Datapath Design)
Course Information [contd…]
• Book (Required)
– Computer Organization and Design: The Hardware/Software
Interface, Third Edition ,
David A. Patterson and John L. Hennessy, Morgan Kaufmann
Publishers.
Do not get second edition
REFERENCES:
– Digital Design
M. Morris Mano, 3rd Edition, Prentice Hall
– The Verilog Hardware Description Language
Thomas & Morby, 5th Edition, Kluwer Academic Publishers
– Check the course webpage for other materials and links
Course Information [contd…]
• Course Webpage
– http://courses.cs.tamu.edu/rabi/cpsc321/
• CS Accounts
– Use your CS accounts to turnin and check
any email regarding course
Course Overview
In p u t In p u t
M u l t ip l i c a n d M u lt ip l i e r
32
M u l t i p l ic a n d
R e g is te r LoadM p
Computer Arithmetic
Arithmetic
32=> 34
s ig n E x
32
<<1
34
34
32=>34 1 0
s ig n E x 3 4x2 M U X
M u lti x 2 / x 1
34 34
3 4 -b it A L U S u b /A d d
C o n tro l
L o g ic
34
[0]"
32 2 32 S h if t A l l
"LO
E N C [2 ]
LO[1]
Encoder
2 H I r e g is t e r 2 L O re g is te r E N C [1 ]
2 bits
Booth
Extra
Prev
(1 6 x 2 b its ) ( 1 6 x 2 b it s )
E N C [0 ]
2
LoadLO
ClearHI
LoadHI
L O [1 :0 ]
32 32
R e s u lt[H I ] R e s u lt [ L O ]
Single/multicycle
Datapaths Datapaths
Course Overview [contd…]
IFetchDcd Exec Mem WB
Pipelining
Memory
Memory Systems
What’s In It For Me ?
• In-depth understanding of the inner-workings of
modern computers, their evolution, and trade-
offs present at the hardware/software boundary.
– Insight into fast/slow operations that are easy/hard to
implementation hardware
• Machine Organization
– How the hardware implements ISA ?
– Physical View
Computer Architecture – Changing Definition
• 1950s to 1960s: Computer Architecture Course:
–Computer Arithmetic
OP rs rt immediate
OP jump target
“What” is Computer Architecture ?
Application
Operating
System
Compiler Firmware
Instruction Set
Architecture
CPSC 321 Instr. Set Proc. I/O system
Datapath & Control
Digital Design
Circuit Design
Layout
Applications
Computer Cleverness
Architecture
Operating
Systems
History
ISA: Critical Interface
software
instruction set
hardware
Processor
Input
Control
Memory
Datapath
Output
Floating-point Unit
L2 CC DRAM
Integer Unit $ MBus Controller
DRAM
10000000
Year Size uP -Name
R10000
P entium
1980 64 Kb R4400
i80486
1983 256 Kb 1000000
T ra n s is to rs
1986 1 Mb i80386
1989 4 Mb
i80286
100000
R3010
1992 16 Mb i8086
S U MIP S i80x86
1996 64 Mb 10000
M68K
MIP S
2002 1 Gb 1000
1965 1970 1975 1980 1985 1990 1995 2000 2005
° In ~1985 the single-chip processor (32-bit) and the single-board computer emerged
° In the 2002+ timeframe, these may well look like mainframes compared single-chip
computer (maybe 2 chips)
Technology Trends
Machine Interpretation
Next
Determine successor instruction
Instruction
The Role of Performance
Example of Performance Measure
Performance Metrics
• Response Time
– Delay between start end end time of a task
• Throughput
– Numbers of tasks per given time
• New: Power/Energy
– Energy per task, power
Examples
(Throughput/Performance)
• CPU Time
– User Time
– System Time
0 = 80 / n !!!!
Amdahl’s Law [contd…]
• Opportunity for improvement is affected by
how much time the event consumes
• Make the common case fast
• Very high speedup requires making nearly
every case fast
• Focus on overall performance, not one
aspect
Summary
• Computer Architecture = Instruction Set Architure + Machine
Organization
• All computers consist of five components
– Processor: (1) datapath and (2) control
– (3) Memory
– (4) Input devices and (5) Output devices
• Not all “memory” are created equally
– Cache: fast (expensive) memory are placed closer to the
processor
– Main memory: less expensive memory--we can have more
• Interfaces are where the problems are - between functional units
and between the computer and the outside world
• Need to design against constraints of performance, power, area and
cost
Summary
• Performance “eye of the beholder”
Seconds/program =