Intel x86 Processors: Presented by Kiyeon Lee

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Intel x86 Processors

Presented by
Kiyeon Lee
Outline
• History
• Register Set
• Data Addressing Mode
• Real Mode & Protected Mode Memory Address
• Integer & Floating Point Operations
• Architecture (P5, P6, NetBurst)
History
Intel 4004 (1971)
♠ 4 bit microprocessor, 4KB of memory
♠ 45 instructions, 50 KIPS(Kilo-instructions per second)
♠ Main problems: speed, word width, memory size

4040 (1974)
♠ Successor to the Intel 4004, higher speed

8008 (1972)
♠ Extended 8-bit version of the 4004 microprocessor
♠ 16KB of memory
History
8080 (1974)
♠ The first of the modern 8-bit microprocessors

8008 8080
Not directly compatible Compatible with TTL
with TTL
16KB of memory 64KB of memory

8085 (1977)
♠ Update version of the 8080
♠ 246 instructions
♠ Internal clock generator, internal system controller, and higher clock frequency
History
8086 (1978) / 8088 (1979)
♠ 16-bit microprocessor, 2.5 MIPS
♠ 1MB of memory
♠ A small 4- or 6-byte instruction cache or queue
♠ Over 20,000 variations of instructions
( 45 (4004) → 245 (8085) → +20,000 (8086) )
♠ The popularity of the Intel family ensured in 1981 by IBM

80286 (1982)
♠ 16-bit microprocessor
♠ 16MB memory system
♠ The first Intel processor that could run all the software written for its predecessor
History
80386 (1985)
♠ 275,000 transistors
♠ Intel’s first practical 32-bit microprocessor
♠ 32-bit data bus and memory address
♠ 4GB of memory
♠ Memory management unit
♠ Multitasking

80486 (1989)
♠ 80386-like Microprocessor + 80387-like Numeric Coporcessor + 8KB Cache Memory
System
♠ Speed improved
History
Pentium Processor (1993)
♠ P5 architecture / 80586
♠ Introductory version: 60MHz and 66MHz, 110MIPS / 100MHz, 150MIPS
♠ 16KB of cache size (8KB IC, 8KB DC)
♠ 4GB of memory system, 64-bit data bus
♠ Executes up to two instructions at a time (If they don’t conflict!)

Pentium Pro Processor (1995)


♠ P6 architecture
♠ 5.5M Transistors, 3 integer units, floating-point unit
♠ Basic clock frequency: 150 MHz and 166MHz
♠ 16K L1 Cache(8K for data and 8K for instructions) + 256K L2 Cache
♠ Execute up to three instructions at a time (It doesn’t matter even if the conflict!)
History
Pentium II Processor (1997)
♠ P6 architecture
♠ 7.5M Transistors, Initially ran at 233MHz and 266MHz
♠ 32KB L1 Cache + 512KB L2 Cache (External → 50% of processor speed)
♠ Arranging the amount of L2 Cache → Celeron(1999) or Xeon(1998)

Pentium III Processor (1999)


♠ P6 architecture
♠ 9.5 Million transistors, 450 and 500 MHz
♠ SSE(Streaming SIMD Extensions) instructions, Improved L1 cache controller
♠ Low-end Celeron / High-end Xeon
History
Pentium 4 Processor (2000)
♠ NetBurst architecture
♠ Deep instruction pipeline, SSE2, 64-Bit floating point computation
♠ 42 Million transistors, 1.4 GHz and 1.5 GHz
♠ Hyper Threading

Pentium M Processor, 2003


♠ M for Mobile: Laptop
♠ Execution core of the Pentium III + Pentium 4 compatible bus interface + improved
instruction decoding/issuing front end + improved branch prediction + SSE2 support
+ a much larger cache
♠ Low average power consumption, Lower heat output than desktop

Itanium Processor, 2001


♠ 64-bit microprocessor( by HP & Intel )
Register Set
Data Addressing Modes

8086 through 80286 80386 and above


♠ Register addressing: MOV CX, DX ♠ Register addressing: MOV ECX, EDX
♠ Immediate addressing: MOV AL, 22H ♠ Immediate addressing: MOV EBX, 12345678H
♠ Direct addressing: MOV CX, LIST ♠ Direct addressing: MOV CX, LIST
♠ Register indirect addressing: MOV AX, [BX] ♠ Register indirect addressing: MOV AL, [ECX]
♠ Base-plus-index addressing: MOV [BX+DI], ♠ Base-plus-index addressing: MOV [EAX+EBX],
CL CL
♠ Register relative addressing: MOV AX, ♠ Register relative addressing: MOV AX, [ECX+4]
[BX+4] ♠ Base relative-plus-index addressing:
♠ Base relative-plus-index addressing: MOV EAX, ARRAY[EBX+ECX]
MOV AX, ARRAY[BX+DI] ♠ Scaled-index addressing: MOV EDX,
[EAX+4*EBX]
Real Mode Memory Addressing
8086, 8088 can only operate in the real mode
Real mode operation
Allows the microprocessor to address only the first 1MB of memory

Real memory: The first 1MB of memory


Segment address + Offset address
Segmant address
The beginning address of any 64KB memory segment

Offset address
Selects any location within the 64KB memory segment
Real Mode Memory Addressing

Ex) Segment register: 1000H, Offset address: 2000H, Physical address?


10000H(Appended with a 0H on its rightmost end) + 2000H = 12000H
Protected Mode Addressing
80286 and above operate in either the real or protected mode

Allows the access to data and programs located above the first
1MB of memory

Selector → Descriptor

Descriptor decides the memory segment’s location, length, and


access rights.
Protected Mode Addressing
Integer & Floating Point Operations

Integer Operations
Data movement: Move, Push, and Pop
Arithmetic and logic: Logical Operations, Test, Shifts, and Integer & Decimal
Arithmetic Operations
Control flow: Conditional Branches & Unconditional Jump, Calls and Returns
String: String Move, String Compare

Floating Point Operations


Data movement: Load, Load Constant, and Store
Arithmetic: Add, Subtract, Multiply, Divide, Square Root, and Absolute Value
Comparison: Instructions to send the result to the integer CPU so that it can branch
Transcendental: Sine, Cosine, Log, and Exponentation
Pipelining
The P5 microarchitecture
♠ ILP,5-Stage Pipeline
♠ Two General–Purpose Integer Pipelines & A Pipelined Floating-Point Unit
♠ Main Pipe(U): Pre-Fetch(PF), Decode Stage 1(D1), Decode Stage 2(D2), Execute(E),
Write Back(WB)
Secondary Pipe(V)
♠ Issued up to two instructions every cycle

The P6 microarchitecture(Pentium Pro ~ III)


♠ Out-of-order Execution, 10-stage pipeline
♠ Scheduler, Reorder Buffer
♠ Improved branch prediction algorithms

The NetBurst microarchitecture(Pentium 4, Xeon)


♠ Smaller, Faster, More Robust, 20-Stage Pipeline,
♠ Faster ALU, FPU, Improved Branch Prediction Algorithms
P5 Architecture

• Superscalar Execution
• Pipeline Architecture
• Branch Target Buffer (BTB)
• Dual 8KB On-Chip Cache
• Write-Back Cache
• 64-Bit Bus
• Instruction Optimization
• Floating-Point Optimization
P6 Architecture (Pentium Pro)

Three-way Superscalar, pipelined architecture


P6 Architecture (Pentium Pro)
NetBurst Architecture
Thanks!!
• Questions ???

You might also like