Mpuarch
Mpuarch
Mpuarch
Featuring
8086 to Pentium
C R Sarma
Associate Professor, Dept of ECE
G.Narayanamma Institute of Technology and Science
Intel 8086/8088
Microprocessors
Bus Interface
Unit(BIU)
Execution Unit
Fetches Opcodes,
(EU)
Reads Operands,
Writes Data
8086/8088 MPU
8086/8088 (3)
IP
GND 1 40 Vcc
AD14 AD15
AD13 A16,S3
AD12 A17,S4
AD11 A18,S5
AD10 A19,S6
AD9 /BHE,S7
AD8 MN,/MX
AD7 /RD
AD6 /RQ,/GT0 HOLD
AD5
8086 /RQ,/GT1 HLDA
AD4 /LOCK /WR
AD3 /S2 IO/M
AD2 /S1 DT/R
AD1 /S0 /DEN
AD0 QS0 ALE
NMI QS1 /INTA
INTR /TEST
CLK READY
GND 20 21 RESET
MAXIMUM MINIMUM MAXIMUM MINIMUM
MODE MODE MODE MODE
DIR
EN#
74LS245
74LS245 D15:D0
x2
ADDR/Data x2
8086/8088 Summary
• Evolution of 8086/8088
80186/80188
• Increased instruction set
• On-chip system components (Clock
generator, DMA, Interrupt, Timers…)
• Unsuccessful in PCs
• Popular in embedded systems…
2 Generation Processor
nd
286
• P2 (286) = 2nd Generation Processor
• Introduced in 1981
• CPU behind IBM AT
• Throughput of original IBM AT (6MHz) was
about 500% of IBM PC (4.77MHz)
• Level of integration: 134k transistors (vs
29k in 8086)
• Still a 16b processor…
• Available in higher clock frequencies:
25MHz
2 Generation Processors
nd
286
• Fully backwards compatible to 8086
80286 runs 8086 software without modification
• Improved instruction execution
Average instruction takes 4.5 cycles vs. 12 cycles (8086)
• Improved instruction set
• Real mode and Protected Mode
Multitasking-support. What happens in one area of memory doesn’t
affect other programs. Protected mode supported by Windows 3.0.
• 16MB addressable physical memory
• On-chip MMU (1GB virtual memory)
• Non-multiplexed address-bus and data-bus
Improving Computer
Performance
386
• P3 (386) = 3rd Generation Processor
• Introduced: 10/1985
• Full 32b processor
(32b registers. 32b internal and external databus. 32b address bus)
• 275k transistors. CMOS. 132-pin PGA
package.
(Supply current Icc=400mA. Roughly the same as 8086 !)
• Clock speeds: 16-33MHz
• P3 processors were far ahead of their time:
It took 10 years before 32b operating systems became mainstream!
• First 386 PCs early 1987
(COMPAQ)
3 Generation Processor
rd
386
• Modes of operation:
– Real. Protected. Virtual Real.
• Protected mode of 386 is fully
compatible with 286
Protected mode=native mode of operation. Chips are
designed for advanced operating systems such as Windows
NT
• New virtual real mode
Processor can run with hardware memory protection while
simulating the 8086’s real-mode operation. Multiple copies of
e.g. DOS can run simultaneously, each in a protected area of
memory. If a program in one memory area crashes, the rest
of the system is protected.
80386 Features
Prefetch Queue
ALU
The 80386 includes a Bus Interface Unit for reading and providing data and instructions,
witha Prefetch Queue, an IU for controlling the EU with its registers, as well as an AU for
generating memory and I/O addresses
80386 Register Set
Instruction Pointer EFLAG Register
31 16 15 0 31 16 15 E0
General-Purpose Registers
Segment Registers
31 16 15 8 7 0
15 0
EAX AH AL
CS
EBX BH BL
SS
ECX CH CL
DS
EDX DH DL
ES
ESI SI
FS
EDI DI
GS
EBP BP
ESP SP
Coprocessor: i387
Cache
Paging Register
(8K
Segmentation
Unit
A31-A0 Unit and ALU
bytes)
D31-D0
Bus Interface
Control and
Status Signals Control Floating
Prefetcher
(32-byte
queue)
Decoding
Unit
Unit Point Unit
Built in Co - processor
i486 CPU
5th Gen. Processor: Pentium
• Pentium = P5 (586) = 5th Generation
Processor
(trademarking a number designation not possible)
• Introduced: 03/1993
(Pentium-PCs followed a few months later)
• Superscalar technology
(2 instruction pipelines for execution of up to 2 instructions per
clock cycle)
• Branch prediction
(to avoid flushing the instruction queue and pipeline at branch-
taken event)
• Internal 8kB caches for code and data
(but external L2 cache)
• Addressbus: 32b. External Databus: 64b
But not a 64-bit processor! Internal data paths up to 256b wide
5th Gen. Processor: Pentium
• Pipelined FPU
(2..10 times faster than 486 FPU. FDIV bug! Free
replacement…)
962,306,957,033 / 11,010,046 = 87,402.6282027341 (correct
answer)
962,306,957,033 / 11,010,046 = 87,399.5805831329 (flawed
Pentium)
Pentium
Bus Interface
Prefetch Buffer
Floating Point
Pipeline
Register