Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

The 80x86

Microprocessor
Brief History of the 80x86 family
• Evolution from 8080/8085 to 8086
– 16-bit microprocessor called 8086 produced by Intel in
1978.
– Major improvement over previous generation 8080/8085
series Intel microprocessors in several ways.
• 1MByte of memory compared to 64Kbytes for 8080/8085
• 8080/8085 was 8-bit processor while 8086 is 16-bits
• 8086 was pipelined as opposed to nonpipelined 8080/8085
Evolution from 8086 to 8088
• 8086 is processor with a 16-bit data bus
internally and externally all registers are 16
bits wide and there is 16-bit data bus to
transfer data in and out of CPU.
• 8088 is identical to 8086 as far as
programming is concerned but externally it has
an 8-bit data bus instead of a 16-bit bus.
– Has same memory capacity1 MByte
Success of 8088
• 8088-based IBM PC was enormous success
• This is because IBM and Microsoft made it an open
system all documentation and specifications of
hardware and software were made public.
• Made it possible for many other vendors to clone the
hardware successfully and this spawned a major
growth in both hardware and software designs based
on IBM PC.
Other microprocessors: the
80286,80386 and 80486
• 80286 was introduced by Intel in 1982.
• Features
– 16-bit internal and external data buses
– 24 address lines gave 16 Mbytes of memory
– Virtual memory
• Can operate in one of 2 modes
– Real mode: simply a faster 8088/8086 with maximum of
1Mbyte memory
– Protected mode: allows for 16Mbytes of memory but also
capable of protecting operating system and programs from
accidental or deliberate destruction by a user.
80386
• Introduced in 1985 (sometimes called 80386DX)
– Internally and externally a 32-bit processor
– 32-bit address bus.
– Capable of handling physical memory of up to 4 Gbytes (232)
– Virtual memory increased to 64 terabytes (264)
• Intel also introduce math co processors such as 8087, 80287
and 80387.
• Later Intel introduced 80386SX internally identical to
80386.
– 16-bit external data bus and
– 24-bit address bus gives capacity of 16 Mbytes of memory.
– Much cheaper
80486
• In 1989 Intel introduced 80486
– Greatly enhanced version of 80386
– Math coprocessor in single chip plus
– Additional features such as cache memory.
Evolution of Intel’s
Microprocessors
80486 80386 80286 8088 8086 8085 8080 Product
1989 1985 1982 1979 1978 1976 1974 Year introduced
25-50 16-33 6-16 5-8 5 -10 3-8 2-3 Clock rate
(MHz)
1.2 275,000 130,000 29,000 29,000 6500 4500 No. Transistors
million
4G 4G 16M 1M 1M 64K 64K Physical memory
32 32 16 16 16 8 8 Internal data bus
32 32 16 8 16 8 8 External data bus
32 32 24 20 20 16 16 Address bus
8,16,32 8,16,32 8,16 8,16 8,16 8 8 Data type (bits)
Inside the 8086/8088
• We explore important concepts to internal
operation of 8086/8088.
• Pipelining
– 2 ways to make CPU process information faster:
• Increase working frequency: can only happen if
technology and cost allow
• Change internal architecture of CPU: has to do with
internal working of CPU. Idea of pipelining to allow
CPU to fetch and execute at the same time.
E X E C U T IO N U N IT (E U ) B U S IN T E R F A C E U N IT (B IU )
AH AL C S
BH BL ES
C H C L SS
D H D L D S
BP IP
D I
SI
SP

m u ltip le x e d a d d re s s
bus g e n e r a t io n a n d
b u s c o n tro l

O p e ra n d s

in s tr u c tio n
queue

ALU

Internal Block Diagram


F la g s of the 8088/86 CPU
Pipelined Vs. Nonpipelined

n o n p ip e lin e d fe tc h 1 exec 1 fe tc h 2 exec 2


(e .g . 8 0 8 5 )

P ip e lin e d fe tc h 1 exec 1
(e .g . 8 0 8 6 ) fe tc h 2 exec 2
fe tc h 3 exec 3
• Intel implemented the concept of pipelining in
8086/8088 by splitting internal structure of
microprocessor into 2 sections:
– Execution unit (EU)
– Bus Interface Unit (BIU)
• 2 sections work simultaneously.
• BIU accesses memory and peripherals while EU
executes instructions previously fetched.
• Works only if BIU keeps ahead of EU BIU has
buffer or queue.
• Buffer is
• 4 bytes long in 8088 and
• 6 bytes long in 8086
• If instruction takes too long to execute queue is filled
to its maximum capacity and the buses will sit idle.
• BIU fetches new instruction whenever queue has
room for
• 2 bytes in 6-byte 8086 queue
• 1 byte in 4-byte 8088 queue
• In some cases, microprocessor must flush out the
queue.
Example
• When jump instruction is executed BIU has to
fetch information from new location in memory and
information that was fetched previously is discarded
EU must wait until BIU fetches new instruction.
• Referred to as a branch penalty.
• In pipelined CPU this means that too much jumping
around reduces the efficiency of program.
• Pipelining in 8088/8086 has 2 stages:
– fetch and execute.
• Can have many stages in more powerful computers
Registers
• Used in CPU to store information temporarily.
• Information can be one or 2 bytes of data to be processed or the
address of data.
• Registers of 8088/86 fall into six categories.
• General purpose registers can be accessed either as 16-bit or 8-
bit registers.
• All other registers can be accessed only as full 16-bits.
• Bits of register are numbered in descending order

D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
8 -b it re g is te r

D 1 5 D 1 4 D 1 3 D 1 2 D 1 1D 1 0 D 9 D 8 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
1 6 -b it re g is te r
Registers of the 8086/286 by category
Register Names Bits Category
AX, BX, CX,DX 16
AH, AL, BH, BL,CH, CL, DH, DL 8 General

SP (Stack Pointer) ,BP (Base Pointer) 16 Pointer


SI (source index), DI (Destination index) 16 Index
CS (code segment) ,DS (data segment), SS 16 Segment
(stack segment) ,ES (extra segment)
IP (instruction pointer) 16 Instruction
FR (flag register) 16 Flag

You might also like