CS 161
Design and Architecture of Computer Systems
Lecture 1
Instructor: L.N. Bhuyan
(http://www.cs.ucr.edu/~bhuyan)
Adapted from notes by Dave Patterson
(http://www.cs.berkeley.edu/~patterson)
Course Administration
° Instructor: Laxmi N. Bhuyan
([email protected])
(http://www.ucr.edu/~bhuyan)
Tel: (951)827-2244 351 Engg. 2
Office Hours: W 3-4.30 or by appt
° TA:
E-mail: [email protected]
Office Hrs: EBU 2 Room 110
Course Administration
° Text: Computer Organization and Design: The
Hardware/Software Interface, Patterson and Hennessy, 4th Ed.
° Prerequisite:
Assembly Language (CS061) and Digital system (CS120B)
° Grade breakdown
•
•
•
•
Test 1 (Chapters 1 and 2)
Test 2 (Chapter 4)
Test 3 (Chapters 5-7)
Homework Assignments
° Penalty for late homework
° Grades based on curve
25%
30%
25%
20%
Historical Perspective
° Decade of 70’s (Microprocessors)
Programmable Controllers
Single Chip Microprocessors
Personal Computers
° Decade of 80’s (RISC Architecture)
Instruction Pipelining
Fast Cache Memories
Compiler Optimizations
° Decade of 90’s (Instruction Level Parallelism)
Superscalar Processors
Aggressive Code Scheduling
Low Cost Supercomputing
Out of Order Execution
KILLER MICROS
Performance Growth In Perspective
° Doubling every 18 months since 1982
Cars travel at 11,000 mph; get 4000 miles/gal
Air Travel LA-NY in 90 seconds (Mach 200)
Wheat yield 20,000 bushels per acre
° Doubling every 24 months since 1970
Cars travel at 200,000 mph; get 50,000 miles/gal
Air Travel LA-NY in 6 seconds (Mach 3,000)
Wheat yield 300,000 bushels per acre
Technology => dramatic change
° Processor
• logic capacity: about 30% per year
• clock rate:
about 20% per year
° Memory
• DRAM capacity: about 60% per year (4x every 3 years)
• Memory speed: about 10% per year
• Cost per bit: improves about 25% per year
° Disk
• capacity: about 60% per year
Technology => Dramatic Change
° Processor
• 2X in performance every 1.5 years; 1000X performance in last
decade
° Main Memory
• DRAM capacity: 2x / 2 years; 1000X size in last decade
• Cost/bit: improves about 25% per year
° Disk
• capacity: > 2X in size every 1.5 years
• Cost/bit: improves about 60% per year
• 120X size in last decade
Trends: Microprocessor Capacity
100,000,000
Alpha 21264: 15 million
Pentium Pro: 5.5 million
PowerPC 620: 6.9 million
Alpha 21164: 9.3 million
Sparc Ultra: 5.2 million
10,000,000
transistors
Moore’s Law
Pentium
i80486
1,000,000
i80386
i80286
100,000
2X transistors/Chip
Every 1.5 years
i8086
10,000
i8080
Called “Moore’s Law”:
i4004
1000
1970
1975
1980
1985
Year
1990
1995
2000
Trends: Memory Capacity (1 Chip DRAM)
° DRAM: Dynamic Random Access Memory
• where programs live while running; volatile (contrast with disk memory)
1,000,000,000
year
size(Megabit)
100,000,000
0.0625
0.25
1
4
16
64
256
Now 1.4X/yr,
or doubling every
2 years
10,000,000
Bits
1980
1983
1986
1989
1992
1996
2000
1,000,000
100,000
10,000
1,000
1970
1975
1980
1985
1990
Year
1995
2000
Trends: Processor Performance
1100
1000
900
800
700
600
500
400
300
200
100
0
DEC Alpha 21264/600
Intel VC820
(Pentium III, 1.0 GHz)
1.54x/year
DEC Alpha 5/500
DEC
HP
IBM
AXP/
Sun MIPS MIPS
RS/ 9000/ 500
-4/
M
M/
6000 750
260 2000 120
DEC Alpha 5/300
DEC Alpha 4/266
IBM POWER 100
87 88 89 90 91 92 93 94 95 96 97
Why Study Computer Architecture
° Aren’t they fast enough already?
• Are they?
• Fast enough to do everything we will EVER want?
- AI, protein sequencing, graphics
• Is speed the only goal?
- Power: heat dissipation + battery life
-
Cost
Reliability
Etc.
Answer #1: requirements are always changing
Answer #2: technology playing field is always changing
Classes of Computers
° High performance (supercomputers)
• Supercomputers – Cray T-90
• Massively parallel computers – Cray T3E
° Balanced cost/performance
• Workstations – SPARCstations
• Servers – SGI Origin, UltraSPARC
• High-end PCs – Pentium quads
° Low cost/power
• Low-end PCs, laptops, PDAs – mobile Pentiums
What is *Computer Architecture*
Computer Architecture =
Instruction Set Architecture +
Organization +
Hardware + …
What is “Computer Architecture”?
Application (Netscape)
Software
Hardware
Operating System
Compiler
(Unix;
Assembler Windows 9x)
Processor Memory I/O system
Instruction Set
Architecture
Datapath & Control
Digital Design
Circuit Design
transistors, IC layout
CS 161
° Key Idea: levels of abstraction
• hide unnecessary implementation details
• helps us cope with enormous complexity of real systems
What is “Computer Architecture”?
° Computer Architecture =
Instruction Set Architecture
(ISA)
-
the one “true” language of a machine
boundary between hardware and software
the hardware’s specification; defines “what” a machine
does;
+
Machine Organization
-
the “guts” of the machine; “how” the hardware works; the
implementation; must obey the ISA abstraction
° We will explore both, and more!
Forces on Computer Architecture
Technology
Programming
Languages
Applications
Computer
Architecture
Operating
Systems
Compiler
Forces Acting on Computer Architecture
° R-a-p-i-d Improvement in Implementation
Technology:
• IC: integrated circuit; invented 1959
• SSI  MSI  LSI  VLSI: dramatic growth in number
transistors/chip  ability to create more (and bigger) FUs per
processor; bigger memory 
more sophisticated applications, larger databases
° Tomorrow’s Science Fiction: ubiquitous
computing: computers embedded everywhere
° New Languages: Java, C++ ...
Machine Organization:
5 classic components of any computer
Personal Computer
Computer
Processor
(CPU)
(active)
Control
(“brain”)
Datapath
(“brawn”)
Memory
(passive)
(where
programs,
& data
live when
running)
Devices
Input
Output
Keyboard,
Mouse
Disk
(where
programs,
& data
live when
not running)
Display,
Printer
The components of every computer, past and
present, belong to one of these five categories
Machine Organization Perspective
° Capabilities & performance characteristics of principal
Functional Units (FUs) of the CPU
° Ways in which these components are interconnected
to realize the ISA
° Information flows between components
° How such information flow is controlled
° Levels of Machine Description
• Register Transfer Level (RTL)
• Gate Level (Digital Design)
CS161: Course Content
Computer Architecture and Engineering
Instruction Set Design
Computer Organization
Interfaces
Hardware Components
Compiler/System View
Logic Designer’s View
“Building Architect”
“Construction Engineer”
von Neumann Computer
° 1944: The First Electronic Computer ENIAC at IAS,
Princeton Univ. (18,000 vacuum tubes)
° Stored-Program Concept – Storing programs as
numbers – by John von Neumann – Eckert and
Mauchly worked in engineering the concept.
° Idea: A program is written as a sequence of
instructions, represented by binary numbers. The
instructions are stored in the memory just as data.
They are read one by one, decoded and then
executed by the CPU.
Execution Cycle
Instruction
Obtain instruction from program storage
Fetch
Instruction
Determine required actions and instruction size
Decode
Operand
Locate and obtain operand data
Fetch
Execute
Result
Compute result value or status
Deposit results in storage for later use
Store
Next
Instruction
Determine successor instruction
The Instruction Set: a Critical Interface
The actual programmer visible instruction set
software
instruction set
hardware
Instruction-Set Processor Design
° Architecture
(ISA)
programmer/compiler view
• “functional appearance to its immediate user/system programmer”
• Opcodes, addressing modes, architected registers, IEEE floating point
° Implementation (µarchitecture) processor designer/view
• “logical structure or organization that performs the architecture”
• Pipelining, functional units, caches, physical registers
° Realization
(chip)
chip/system designer view
• “physical structure that embodies the implementation”
• Gates, cells, transistors, wires
Relationship Between the Three Aspects
° Processors having identical ISA may be very
different in organization.
• e.g. NEC VR 5432 and NEC VR 4122
° Processors with identical ISA and nearly identical
organization are still not nearly identical.
• e.g. Pentium II and Celeron are nearly identical but differ at clock rates
and memory systems
Architecture covers all three aspects.
Descargar

CS152: Computer Architecture and Engineering