CS151: Introduction and Five Components of a Computer
Download
Report
Transcript CS151: Introduction and Five Components of a Computer
EEM 486: Computer Architecture
Lecture 1
Course Introduction
and the
Five Components of a Computer
EEM 486
Course Information
Instructor: Atakan Doğan ([email protected])
Office Hours: Anytime
Materials:
http://home.anadolu.edu.tr/~atdogan
Text:
Patterson and Hennessy, Computer Organization and
Design: The Hardware/Software Interface,
3rd Edition.
Lec 1.2
Grading
Grading
• Midterm I:
• Midterm II:
• Homeworks
• Final:
25% (XX% Course + YY% Project)
25% (XX% Course + YY% Project)
10%
40% (XX% Course + YY% Project)
HW policy: return in 1 week; no late HW; no cheating
Grading Guidelines
AA: 90-100
Others: 40-90
FF: 0-40
Lec 1.3
What You Need to Know
Logic design (EEM 232)
• Logical equations, schematic diagrams, components
Basic machine structure (EEM 333)
• Processor, memory, I/O
Read and write in an assembly language (EEM 336)
Lec 1.4
Introduction
This course is all about how computers work
But what do we mean by a computer?
• Different types: desktop, servers, embedded devices
• Different uses: automobiles, graphics, finance, genomics…
• Different manufacturers: Intel, Apple, IBM, Microsoft, Sun…
• Different underlying technologies and different costs!
Analogy: Consider a course on “automotive vehicles”
• Many similarities from vehicle to vehicle (e.g., wheels)
• Huge differences from vehicle to vehicle (e.g., gas vs. electric)
Best way to learn:
• Focus on a specific instance and learn how it works
• While learning general principles and historical perspective
Lec 1.5
Why learn this stuff?
You want to call yourself a “computer scientist”
You want to build software that people use (need
performance)
You need to make a purchasing decision or offer
“expert” advice
Both Hardware and Software affect performance:
• Algorithm determines number of source-level statements
• Language/Compiler/Architecture determine machine
instruction (Chapter 2 and 3)
• Processor/Memory determine how fast instructions are
executed (Chapter 5, 6, and 7)
Assessing and Understanding Performance in Chapter 4
Lec 1.6
Historical Perspective
ENIAC built in World War II was the first general
purpose computer
• Used for computing artillery firing tables
• 80 feet long by 8.5 feet high and several feet wide
• Each of the twenty 10 digit registers was 2 feet long
• Used 18,000 vacuum tubes
• Performed 1900 additions per second
Lec 1.7
Technology
Rapidly changing field:
• vacuum tube -> transistor -> IC -> VLSI
Moore’s Law
transistor capacity doubles every 18-24 months
Lec 1.8
VLSI commercial IC technology extrapolations
Lec 1.9
Microprocessor Logic Density
100000000
10000000
R10000
Pentium
R4400
i80486
Transistors
1000000
i80386
i80286
100000
R3010
i8086
SU MIPS
i80x86
M68K
10000
MIPS
Alpha
i4004
1000
1970
1975
1980
1985
1990
1995
2000
2005
In ~1985 the single-chip processor (32-bit) and the single-board computer
emerged
• workstations, personal computers, multiprocessors have been riding this
wave since
In the 2002+ timeframe, these may well look like mainframes compared
single-chip computer (maybe 2 chips)
Lec 1.10
Processor Performance (SPEC)
Performance now improves 50% per year (2x every 1.5 years)
350
300
RISC
Performance
250
RISC
introduction
200
150
Intel x86
100
35%/yr
50
0
1982
1984
1986
1988
1990
1992
1994
Year
Lec 1.11
Technology Trends
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
• Total data use:
100% per 9 months!
Network Bandwidth
• Bandwidth increasing more than 100% per year!
Lec 1.12
What is “Computer Architecture”?
Computer Architecture =
Instruction Set Architecture +
Machine Organization
Lec 1.13
A View of Computer Architecture
Application
Operating
System
Compiler
Firmware
Instr. Set Proc. I/O system
Instruction Set
Architecture
Datapath & Control
Digital Design
Circuit Design
Layout
Coordination of many levels of abstraction
Under a rapidly changing set of forces; technology, applications,
OS, programming languages, etc.
Design, Measurement, and Evaluation
Lec 1.14
Processor Organization
Capabilities & performance characteristics of principal functional
units, e.g., Registers, ALU, Shifters, Logic Units, ...
Ways in which these components are interconnected
Information flows between components
Logic and means by which such information flow is controlled
Choreography of FUs to realize the ISA
Register Transfer Level (RTL) Description
Lec 1.15
The Instruction Set: a Critical Interface
software
instruction set
hardware
Lec 1.16
Instruction Set Architecture
A very important abstraction
• interface between hardware and low-level software
• standardizes instructions, machine language bit patterns, etc.
• advantage: different implementations of the same
architecture
• disadvantage: sometimes prevents using new innovations
True or False: Binary compatibility is extraordinarily
important?
Modern instruction set architectures:
• IA-32, PowerPC, MIPS, SPARC, ARM, and others
Lec 1.17
Machine Organization: The Big Picture
Since 1946 all computers have had 5 components
Processor
Input
Control
Memory
Datapath
Output
Lec 1.18
Machine Organization
Components:
• input (mouse, keyboard)
• output (display, printer)
• memory (disk drives, DRAM, SRAM, CD)
• network
Our primary focus: the processor (datapath and
control)
• implemented using millions of transistors
• impossible to understand by looking at each transisto
Lec 1.19
How do computers work?
Need to understand abstractions such as:
• Applications software
• Systems software
• Assembly Language
• Machine Language
• Architectural Issues: i.e., Caches, Virtual Memory, Pipelining
• Sequential logic, finite state machines
• Combinational logic, arithmetic circuits
• Boolean logic, 1s and 0s
• Transistors used to build logic gates (CMOS)
• Semiconductors/Silicon used to build transistors
• Properties of atoms, electrons, and quantum dynamics
So much to learn!
Lec 1.20
Where are We Going??
Input
Multiplier
Input
Multiplicand
32
Multiplicand
Register
LoadMp
32=>34
signEx
32
34
34
32=>34
signEx
1
0
34x2 MUX
Arithmetic
Multi x2/x1
34
34
Sub/Add
34-bit ALU
Control
Logic
34
32
32
2
ShiftAll
LO register
(16x2 bits)
Prev
2
Booth
Encoder
HI register
(16x2 bits)
LO[1]
Extra
2 bits
2
"LO
[0]"
Single/multicycle
Datapaths
<<1
ENC[2]
ENC[1]
ENC[0]
LoadLO
ClearHI
LoadHI
2
32
Result[HI]
LO[1:0]
32
Result[LO]
1000
CPU
“Moore’s Law”
IFetchDcd
WB
Exec Mem
Performance
10
DRAM
9%/yr.
DRAM (2X/10 yrs)
1
198
2
3
198
498
1
5
198
6
198
7
198
8
198
9
199
0
199
199
2
199
399
1
4
199
5
199
699
1
7
199
8
199
9
200
0
Exec Mem
Processor-Memory
Performance Gap:
(grows 50% / year)
198
098
1
1
198
IFetchDcd
EEM 486
AU’05
100
µProc
60%/yr.
(2X/1.5yr)
WB
Time
IFetchDcd
Exec Mem
IFetchDcd
WB
Exec Mem
WB
Pipelining
I/O
Memory Systems
Lec 1.21
Summary
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
Need to design against constraints of performance, power, area and
cost
Lec 1.22