ECE 361 Computer Architecture
ECE 361 Computer Architecture
Computer Architecture
Lecture 1
[email protected]
ECE 361 1-1
Today’s Lecture
Computer Design
• Levels of abstraction
• Instruction sets and computer architecture
Interfaces
Course Structure
1960s
• Operating system support, especially memory management
temp = v[k];
High Level Language v[k] = v[k+1];
Program v[k+1] = temp;
Assembler
0000 1001 1100 0110 1010 1111 0101 1000
Machine Language 1010 1111 0101 1000 0000 1001 1100 0110
Program 1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Machine Interpretation
Graphical Interface
Application
Programming Application
Libraries
Operating System
System Programming
Programming Language
Assembler Language
Instruction Set Architecture - “Machine Language”
Processor IO System
Firmware Microprogrammin
g
Computer Design Datapath and Control
Digital Design
Logic Design
Circuit Design Circuits and devices
Fabrication Semiconductors
Materials
ECE 361 1-6
The Instruction Set: A Critical Interface
Computer Architecture = Instruction Set Design
Instruction Set Architecture + • Machine Language
Machine Organization • Compiler View
• "Computer Architecture"
• "Instruction Set
Architecture"
"Building Architect"
software
instruction set
hardware Computer Organization and
Design
This course • Machine Implementation
• Logic Designer's View
• "Processor Architecture"
• "Computer Organization"
"Construction Engineer"
ECE 361 1-7
Instruction Set Architecture
Data Types
Encoding and representation
Architecture Reference Manual
Memory Model Principles of Operation
Program Visible Processor State Programming Guide
General registers
…
Program counter
Processor status
Instruction Set
Instructions and formats
Addressing modes
Data structures
System Model
States . . . the attributes of a [computing] system
Privilege
as seen by the programmer, i.e. the
Interrupts
conceptual structure and functional
IO
behavior, as distinct from the organization
External Interfaces of the data flows and controls the logic
IO design, and the physical implementation.
Management
Datapath
Output
MIT Whirlwind, 1951
Proc
Caches
Busses
adapters
Memory
Controllers
Disks
I/O Devices:
Displays Networks
Keyboards
Desktop computing
• Examples: PCs, workstations
• Metrics: performance (latency), cost, time to market
Server computing
• Examples: web servers, transaction servers, file servers
• Metrics: performance (throughput), reliability, scalability
Embedded computing
• Examples: microwave, printer, cell phone, video console
• Metrics: performance (real-time), cost, power consumption,
complexity
Transaction processing
• I/Os per second and memory bandwidth
• Integer CPU performance
Media processing
• Repeated low-precision ‘pixel’ arithmetic
• Multiply-accumulate rates
• Bit manipulation
Embedded control
• I/O timing
• Real-time behavior
Architecture decisions will often
exploit application behavior
ECE 361 1-14
Characteristics of a Good Interface Design
Well defined for users and implementers
Logic design
• Logical equations, schematic diagrams, FSMs, Digital design
32 100 Processor-Memory
Multiplicand Performance Gap:
Register LoadMp
(grows 50% / year)
Arithmetic
Performance
32=>34
signEx
Single/multicycle
32
<<1
34
34
10
32=>34 1 0
signEx 34x2 MUX
Multi x2/x1
34 34 DRAM
9%/yr.
Datapaths
34-bit ALU Sub/Add DRAM (2X/10 yrs)
Control
34
Logic
1
[0]"
32 2 32 ShiftAll
"LO
9
4
9
2
9
6
19
890
119
129
13
89
895
896
897
898
89
990
11
99
993
994
15
99
997
998
909
00
Encoder
ENC[2]
LO[1]
2 bits
Extra
Booth
1
8
8
8
1
1
1
1
1
1
1
9
1
1
1
9
1
1
1
2
Prev
2 HI register 2 LO register ENC[1]
LoadLO
ClearHI
LoadHI
LO[1:0]
Time
32 32
Result[HI] Result[LO]
Pipelining
I/O
ECE 361 Memory Systems 1-18
Course Basics
Website
• www.ece.northwestern.edu/~choudhar/361/index.htm
• Check regularly for announcements
• All course materials posted -- lecture notes, homework, labs, supplemental materials
• Communicate information, questions and issues
Text supplements lectures and assigned reading should be done prior to lectures. I assume that all
assigned readings are completed even if the material is not covered in class.
Project
• Collaborative effort
• Team grade
You may also use VHDL (structural) to design your system if you know VHDL
sufficiently well
Lectures:
• 1 week on Overview and Introduction (Chap 1 and 2)
• 2 weeks on ISA Design
• 4 weeks on Proc. Design
• 2 weeks on Memory and I/O
size
1000000000
Year Capacity Access
100000000 1980 64 Kb 250 ns
10000000
1983 256 Kb 220 ns
1986 1 Mb 190 ns
1000000 1989 4 Mb 165 ns
Bits
1992 16 Mb 145 ns
100000
1996 64 Mb 120 ns
10000 1999 256 Mb 100 ns
2002 1Gb 80 ns
1000
1970 1975 1980 1985 1990 1995 2000
Year
Log Performance
Year
1980s
• 5K – 500 K transistors
• Single-chip CPUs
• RAM is cost-effective
• Simple, hard-wired control
• Simple instruction sets
• Small on-chip caches
1990s
• 1 M - 64M transistors
• Complex control to exploit instruction-level parallelism
• Super deep pipelines
2000s
• 100 M - 5 B transistors
• Slow wires Note: Gate speeds and
• Power consumption power/cooling also improved
• Design complexity
120
Intel x86
100
80
Performance
60
40
20
0
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
Year
Microprocessors
Log of Performance
Supercomputers Mainframes
Minicomputers
Transistors
Alpha 21264: 15 million
Pentium Pro: 5.5 million
PowerPC 620: 6.9 million
Alpha 21164: 9.3 million
Sparc Ultra: 5.2 million
Pentium 4: 42 million
Itanium: 220 million
Year
Performance
• Technology Advances
- CMOS VLSI dominates older technologies (TTL, ECL) in cost and
performance
• Computer architecture advances improves low-end
- RISC, superscalar, RAID, …
Function
• Rise of networking / local interconnection technology
Larger wafers
Improved materials
Yield Improvement
Yield Time
• Learning curve: manufacturing costs
decrease over time measured by
change in yield
Manufacturing Volume
• Decreases the time needed to get
Chip Area down the learning curve
• Decreases the cost due to improved
manufacturing efficiency
Source: The History of the Microcomputer - Invention and Evolution, Stan Mazor
Source: Xilinx
System Subsystem % of
total cost
(Subtotal) (4%)
Motherboard
Processor 20%
DRAM
20%
I/O
system 10%
Network
interface 4%
Printed Circuit
board 1%
Picture: http://developer.intel.com/design/servers/sr1300/
(Subtotal)
(60%)
ECE 361 1-39
I/O Devices
Disks 36%
Example: Cost vs Price
Distribution
+50–80% Costs (33–45%)
Component (25–31%)
Cost
Interfaces
Course Structure