Lecture 1 - CH01 - Abstraction - Tech
Lecture 1 - CH01 - Abstraction - Tech
1
Outline
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
2
Computers you know…
3
Operations of Modern Computer
data
program
HDD
John von Neumann, Processor
mathematician, physicist (CPU)
4
and inventor, 1903 – 1957
Modern Computer Food Chain –
Classification of Computers
Mainframe
Server Desktop Embedded
Mini- PC Computer
computer
Supercomputer Mini-
supercomputer Post-PC Era
5
Classes of Computers
Desktop Computers
A computer designed for use by an individual, usually
incorporating a graphics display, keyboard, and
mouse.
Design Emphasis
Performance & Cost (cost-effective solution)
Meeting performance requirement for a broad range of
applications
6
Classes of Computers
Servers
A computer used for running larger programs for
multiple users and typically accessed only via a
network.
eg: file server, web server, supercomputer
Design Emphasis
Dependability & Scalability
Throughput > Latency
7
Classes of Computers
Embedded Computers
A computer inside another device used for running
one predetermined application or collection of
software.
e.g., cell phones, PDA, network processor, IoT
Design Emphasis
Design for applications with unique requirements that
combine a minimum performance
PDA
Minimize power & cost
Dependability Robots
Automotive Systems
Smart
Set-top Box Router 8
Phones
Who really wins the market?
10
Outline
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
11
Below Your Program
How to execute your code written
in high-level language to execute
on hardware that can only
recognize 0-1 signals?
Application
Operating
System
Compiler Firmware
CPU + Memory
I/O System
12
Levels of Representation
temp = v[k];
High Level Language
Program v[k] = v[k+1];
0
M
u
x
1
Add
Add
4 Add
result
Branch
Shift
RegWrite left 2
Read MemWrite
Instruction
Instruction
[20– 16]
13
0
M ALUOp
Instruction u
[15– 11] x
1
RegDst
Under the Cover - A Desktop Computer
Output Device
Input Device
14
Inside your PC DVD drive
Power supply
Hard drive
Motherboard
15
Inside the Processor Chip
Datapath is the component of the processor that
performs arithmetic operations.
Control is the component of the processor that
commands the datapath, memory, and I/O devices
according to the instructions of the program.
Memory
16
Pentium 4 processor chip
Touchscreen
PostPC device
Supersedes keyboard
and mouse
Resistive and
Capacitive types
Most tablets, smart
phones use capacitive
Capacitive allows
multiple touches
simultaneously
Chapter 1 — Computer
Abstractions and
Technology — 18
Opening the Box – Ipad as Example
Chapter 1 — Computer
Abstractions and
Technology — 19
Inside the Processor
A12 processor
Chapter 1 — Computer
Abstractions and
Technology — 20
A Safe Place for Storing Data
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
22
Turing Bombe - 1939
Code breaker used in World War II
Forerunner of modern computers
23
Technologies for Building Processors and
Memory
1965 Transistor 35
24
First Electronic Computers
1965 Transistor 35
28
Technology behind Computer Systems
29
Semiconductor Technology Outlook
30 nm
50 nm 20 nm 10 nm
35 nm
SiGe S/D
5 nm
Strained SiGe S/D
Metal Gate
Silicon Strained Tri-Gate 5 nm
Nanowire
Silicon High-k
Si Substrate S D S
III-V
G
Carbon
Electronics Beyond Nano-scale CMOS, DAC’06 Nanotube FET
30
31
IC Manufacturing Process
Silicon ingot Blank wafers
Part
tester Ship to customers
https://www.youtube.com/watch?v=d9SWNL
ZvA8g 32
12-inch Wafer of Intel Core i7
a die
280 dies on the
wafer
Each die is
20.7*10.5 mm
4 cores in a die
Integrated with
GPU
32 nm technology
33
Yield is key to reduce cost…
34
Advancing of technology brings…
For CPUs
35
https://www.karlrupp.net/2015/06/40-years-of-microprocessor-trend-data/
Advancing of technology brings…
For DRAMs
36
Processor Limit: DRAM Gap
µProc
1000
CPU 60%/yr..
“Moore’s Law”
100 Processor-Memory
Performance Gap:
(grows 50% / year)
10
Performance
DRAM
7%/yr..
DRAM
1
1995
1989
1994
1987
1988
1990
1991
1992
1993
1996
1986
1997
1998
1985
1984
1999
1982
1983
1981
2000
1980
37
Design Challenges under the
Advanced Technologies
Super complicated
POWER!
38
Power Dissipation Increases ….
10000
Rocket Sun’surface
1000
Nozzle
Power Density (W/cm2)
Nuclear
Reactor
100
39
Design Challenges under the
Advanced Technologies
µProc
Super complicated 1000
CPU60%/yr.
“Moore’s .
POWER!!! Law”
100 Processor-Memory
Memory Wall Performance Gap:
(grows 50% / year)
Performance
Multi-core worsens 10
the problem DRAM
7%/yr..
DRAM
Solutions 1
Novel memory
1995
1989
1987
1988
1990
1991
1992
1993
1994
1996
1986
1997
1998
1985
1984
1982
1983
1999
1981
2000
1980
architecture
Novel memory materials
40
Design Challenges under the
Advanced Technologies
Super complicated
POWER!!!
Memory Wall
Multi-core worsens the problem
Solutions
Novel memory architecture
Novel memory materials
Reliability
More transistors easier to be faulty
Security
41
Computation-in-Memory
Non von Neumann Architecture
42
Next Generation Technology
Quantum Computer
A q-bit can represent a vector
44
Challenges of Quantum Computers
45
Forces on Computer Architecture
Technology Programming
Languages
Applications
Computer
Architecture
Operating
Systems
History
46
Outline
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
47
Super Complex CPUs of Modern Days
48
Eight Great Ideas
49
Abstractions
The BIG Picture
Abstraction helps us deal with complexity
Hide lower-level detail
Instruction set architecture (ISA)
The hardware/software interface
Application binary interface
The ISA plus system software interface
Implementation
The details underlying and interface
Chapter 1 — Computer
Abstractions and
Technology — 50
Abstraction is key to building
systems with >1G components
MOSFET
="transistor"
="device"
CPUs CPUs
CPUs Electronic System Level
CPUs, chip modules, IPs etc. On-chip Mem.
MP3 enc/dec
Electronic module Level (RTL)
multiplier, adders, etc.
Adder
Layout level
Outline
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
54
Evaluation is the first step
To build a good computer, first thing you have to do is to
evaluate how good it is.
Compiler
Interface
Evaluating
performance
55
Metrics Matters
Performance
How fast a program can execute
Power
How much energy is consumed
Others metrics
Yield
Cost
Etc….
56
Metrics Matter!
57
Performance
Why do we care about performance evaluation?
Purchasing perspective
given a collection of machines, which has the
best performance ?
least cost ?
best performance / cost ?
best performance / energy ?
Design perspective
faced with design options, which has the
best performance improvement ?
least cost ?
best performance / cost ?
59
Next Week
60
Homework
Readings
Section 1.6 ~ 1.8
For fun
Section 1.12
61
Homework
63
Outline
Overview of Computers
Beneath the program & Under the covers
Technologies for building processors and
memories
Eight great ideas in computer architecture
Computer Architecture 101 – Evaluations of
Computers
A brief history of computers
64
A Brief History of Computers…
You can find more in Section 1.10 or Prof.
Asanovic’s slide
65
Turing Bombe - 1939
Code breaker used in World War II
Forerunner of modern computers
66
First Electronic Computers
70
First Personal Computer
73
BACKUP SLIDES
74
System Software
Software that provides services that are
commonly useful, including operating systems,
compilers, and assemblers.
Operating system
Handling basic input and output operations
Allocating storage and memory
Providing for sharing the computer among multiple
applications using it simultaneously
Compiler
A program that translates high-level language statements
into assembly language statements.
75
Advantages of High-Level
Languages
Programmer can think of problem in a more
natural language, resulting programs look much
like text.
Improved programmer productivity. Use less
time to develop program
Programming languages allow programs to be
independent of the computer on which they were
developed.
76
Coordination of Levels of Representation
Application
Operating
System
Compiler Firmware
Instruction Set
Architecture
CPU Memory I/O system
Datapath & Control
Digital Design
Circuit Design
Layout
77