Title: Evolution of Intel CPU
1Evolution of Intel CPU
4004 8008 8080 8085 8086 8088 80286 80386
80386 SX, 80386 DX 80486 80486 SX, 80486 DX,
80486 DX2, 80486 DX4 Pentium Pentium Pro
Pentium II, III, 4 and so on
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
2Speed Test of Intel CPU
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
3Microcomputer
Input
CPU
Output
Memory
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
4CPU Task
- ????????????????????????????? Memory ??? I/O
- ?????????????????????????????????????
- ????????? Flow ???????????
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
52 3
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
62 3
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
72 3
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
8CPU VS. Human
- Complexity of processing
- Speed
- Correctness
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
9CPU
Central Processing Unit
ALU
Arithmetic Logic Unit
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
10ALU
Note Comparators store result in Status
Register ( Flag )
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
11Zero Address Instruction
Get 2 data from stack to add
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
12Zero Address Instruction
Store result back to stack
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
13Single Address Instruction
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
14Single Address Instruction
Load and Store architecture
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
15Next Step of CPU
After add BX, CX, DX Data bus Internal and
External
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
16Next Step of CPU
After add BP, SI, DI New type of bus address bus
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
17CU Control Unit
ROM
ALU
CU
Microprogram Microcode
An other type of CU is Hardwire
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
18Subsequence of Instruction
- Add AX, BX
- AX to Buffer Register in ALU
- BX to Buffer Register in ALU
- Perform Add operation
- Store result back to AX
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
19Add Instruction Decoder,Control Unit and
Control Bus
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
20CPU Component
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
21CU Subsequence (mov a, 80h)
- Program Counter ???????????? 0 ??????????????????
CU ???????????????????? Address Bus - Address Bus ??????????? 0000h ???????????????????
Address ?????????????? 0000h - CU ????????? Read ??????????????????????????
Control Bus - ????????????????????????????????? Read ???
????????????????????????????? 0000h ????? - CU ??????? Instruction Decoder ???????????? Data
Bus ?????????? - Instruction Decoder ?????????????? CU
??????????????????? Microcode ?????? Sequencer
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
22CU Subsequence
- Instruction Decoder ?????????????? PC
??????????????????????????????? - CU ???????????????? Sequencer ???? ?????????? PC
?????????????????? (?????????? 0001h) - CU ????????? Read ?????
- ????????????????????????????????? Read
???????????????????? (80h) ????????? Data Bus - CU ??????? Accumulator ????????????????
- CU ??????? PC ????????????????????????? ????
0002h
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
238086
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
24Upgrade CPU
- Prefetch Queue
- Problem found when jump
- Cache ( SRAM )
- L1 Cache ( Unify and Separate )
- Instruction Cache ( Pentium )
- Data Cache
- L2 Cache
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
25Cache
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
26Upgrade EU
Pipeline
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
27Pipeline
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
288086 Instruction time
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
2980286 Instruction time
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
30Pipeline Hazard
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
31Solution of Pipeline Hazard
- Optimize code by compiler
- Superscalar technique
- Branch prediction
- Prefetch Queue
- Pipeline
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6
32Branch Prediction
- Prefetch queue
- fetch both instruction
- Pipeline
- Statistic
C. Vongchumyen 1 / 2004
Computer Organization and Assembly Language 6