Professional Documents
Culture Documents
Introduction To Microprocessors: Yuri Baida
Introduction To Microprocessors: Yuri Baida
Yuri Baida
yuri.baida@gmail.com
yuriy.v.baida@intel.com
October 2, 2010
Agenda
Background and History
What is a microprocessor?
What is the history of the development of the microprocessor?
How does transistor scaling affect processor design?
PC Components
What are the major PC components and their functions?
What is memory hierarchy and how has it changed?
Processor Architecture
What are processor architecture and microarchitecture?
How does microarchitecture affect performance?
How is performance measured?
What is a Microprocessor?
Microprocessor is a computer Central Processing Unit (CPU)
on a single chip.
It contains millions of transistors connected by wires
Core i7 die
Picture: Intel
Core i7 in package
Picture: Ebbesen
Intel 4004
Picture: Intel
IBM PC
Picture: Intel
Intel 8088
Picture: Intel
10
Microprocessor Evolution
4004 transistors were 10 m across
Pentium 4 transistors are 0.13 m across
Human hair is about 100 m across
Smaller transistors allow
More transistors per chip
More processing per clock cycle
Faster clock rates
Smaller/cheaper chips
11
Microprocessor Evolution
Picture: Intel
12
Moores Law
"The number of transistors incorporated in a chip
will approximately double every 24 months. (1965)
Picture: Intel
13
Computer Components
14
PC Components
15
Memory Hierarchy
~1kB
Register File
~1ns
~100kB
Level 1 Cache
~5ns
~1MB
Level 2 Cache
~10ns
~10MB
Level 3 Cache
~20ns
~10GB
Main Memory
~100ns
~1TB
Hard Drive
~10ms
Capacity
Access Time
16
100
Performance gap
(Grows 50% per year)
Relative
performance
10
CPU
9% per year
(Doubles every 10 year)
DRAM
Years
Source: David Patterson, UC Berkeley
17
CPU
CPU
I
L1
L2
Cache
Chipset
DRAM
Chipset
DRAM
L2
Chipset
DRAM
386
486
Pentium
No on-die cache.
Level 1 cache
on motherboard
Separate Instruction
and Data Caches
18
CPU
CPU
CPU
L2
D
L2
D
L2
L3
Chipset
DRAM
Chipset
DRAM
Chipset
DRAM
Pentium II
Pentium III
Core i7
Separate bus to L2
cache in same
package
L2 cache on-die
L3 cache on-die
19
Microprocessor Architecture
20
What is Architecture?
Computer architecture is defined by the instructions
a processor can execute
Programs written for one processor can run
on any other processor of the same architecture
Current architectures include:
IA32 (x86)
IA64
ARM
PowerPC
SPARC
21
22
What is Microarchitecture?
Microarchitecture is the steps a processor takes
to execute a particular set of instructions
Processors of the same architecture have the same
instructions but may carry them out in different ways
Microarchitecture Features:
Cache memory
Pipelining
Out-of-Order Execution
Superscalar Issue
23
Simplified Microprocessor
Fetch Unit gets
the next instruction from the cache.
Decode
Fetch
Floating
Multimedia
Point
Unit
Unit
Write
L2 Cache
Instruction
Fetch
Decode Execute
Write
24
Instr1
Fetch
Decode Execute
Instr2
Write
Fetch
Decode Execute
Write
Instr3
Fetch
25
Instr1
Fetch
Instr2
Decode Execute
Fetch
Instr3
Instr4
Instr5
Write
Decode Execute
Fetch
Write
Decode Execute
Fetch
Write
Decode Execute
Fetch
Instr6
Write
Decode Execute
Fetch
Write
Decode Execute
Write
26
Instr1
Fetch
Decode
Instr2
Fetch
Instr3
Instr4
Instr5
Instr6
Execute
Decode
Fetch
Fetch
Write
Wait
Decode
Execute
Wait
Decode
Fetch
Write
Execute
Wait
Decode
Fetch
Write
Execute
Wait
Decode
Write
Execute
Wait
27
Instr1
Fetch
Decode
Instr2
Fetch
Instr3
Instr4
Instr5
Execute
Write
Decode
Wait
Execute
Fetch
Decode Execute
Write
Fetch
Decode
Fetch
Instr6
Wait
Write
Execute
Write
Decode Execute
Write
Fetch
Decode Execute
Write
Real life analogy: taking tests work on the questions you know first
MDSP Project | Intel Lab
28
Instr1
Fetch
Decode
Execute
Write
Instr2
Fetch
Decode
Wait
Execute
Instr3
Fetch
Decode Execute
Write
Instr4
Fetch
Decode
Wait
Fetch
Decode Execute
Write
Instr6
Fetch
Decode Execute
Write
Write
Execute
Instr5
Instr7
Fetch
Decode Execute
Write
Instr8
Fetch
Decode Execute
Write
Write
29
30
SPEC Performance
Standard Performance Evaluation Corporation
Tests PCs using benchmark suite of programs
SPECint: Integer intensive programs
SPECfp: Floating point intensive programs
TPC Performance
Transaction Performance Council
Tests servers and workstations
MDSP Project | Intel Lab
31
Acknowledgements
These slides contain material developed and copyright by:
Grant McFarland (Intel)
Mark Louis (Intel)
Arvind (MIT)
Joel Emer (Intel/MIT)
32