You are on page 1of 18

Computer Architecture

The 80x86 Microprocessors

1 Assembly Language
Evolution from 8080/8085 to 8086
 In 1978, Intel Corp. introduced a 16-bit microprocessor called the 8086.
 8086 was a major improvement over 8080/8085 in several ways:
1. The 8086's capacity of 1 megabyte of memory exceeded the
8080/8085's capability of handling a maximum of 64K bytes.
2. The 8080/8085 was an 8-bit system (work on only 8 bits of data at a
time). Data larger than 8 bits had to be broken into 8-bit pieces to be
processed by the CPU.
3. The 8086 was a pipelined processor, as opposed to the non
pipelined 8080/8085.
 In a system with pipelining, the data and address buses are busy
transferring data while the CPU is processing information, thereby
increasing the effective processing power of the microprocessor.

2 Assembly Language
Evolution from 8086 to 8088
 The 8086 is a microprocessor with a 16-bit data bus internally and
externally
 All registers are 16 bits wide and there is a 16-bit data bus to transfer
data in and out of the CPU.
 At that time all peripherals were designed around an 8-bit microprocessor
instead of 16-bit external data bus .
 A printed circuit board with a 16-bit data bus was much more expensive.
 Therefore, Intel came out with the 8088 version.
 8088 is identical to the 8086 as far as programming is concerned, but
externally it has an 8-bit data bus instead of a 16-bit bus.
 8088 has the same memory capacity, 1 megabyte.
 In 1981, Intel's fortunes changed forever when IBM picked up the 8088
as their microprocessor of choice in designing the IBM PC.

3 Assembly Language
Other Microprocessors: 80286, 80386, 80486
 Intel introduced the 80286 in 1982.
 Its features included
 16-bit internal and external data buses
 24 address lines, which give 16 megabytes of memory (224 = 16
megabytes);
 Virtual memory
 The 80286 can operate in one of two modes: real mode or protected
mode.
 Real mode is simply a faster 8088/8086 with the same maximum of
1 megabyte of memory.
 Protected mode allows for 16M of memory but is also capable of
protecting the operating system and programs from accidental or
deliberate destruction by a user
 Virtual memory is a way of fooling the microprocessor into thinking
that it has access to an almost unlimited amount of memory by
swapping data between disk storage and RAM.

4 Assembly Language
32-bit Microprocessor
 In 1985 Intel introduced the 80386 (sometimes called 80386DX), internally
and externally a 32-bit microprocessor with a 32-bit address bus.
 It is capable of handling physical memory of up to 4 gigabytes (232).
 Virtual memory was increased to 64 terabytes (246).
 Intel introduced numeric data processing chips, called math coprocessors,
such as the 8087, 80287, and 80387.
 Later Intel introduced the 386SX, which is internally identical to the 80386
but has a 16-bit external data bus and a 24-bit address bus which gives a
capacity of 16 megabytes (224) of memory.
 This makes the 386SX system much cheaper.
 With the introduction of the 486 in 1989, Intel put a greatly enhanced
version of the 386 and the math coprocessor on a single chip plus
additional features such as cache memory.
 Cache memory is static RAM with a very fast access time.

5 Assembly Language
Pentium
 In 1992 Intel introduced the Pentium.
 The Pentium had speeds of 60 and 66 MHz, but new design features
made its processing speed twice that of the 66-MHz 80486.
 Although the Pentium has a 64-bit data bus, its registers are 32-bit and
it has a 32-bit address bus capable of addressing 4 gigabytes of
memory.
 In 1995 Intel introduced the Pentium Pro, the sixth generation of the x86
family.
 Pentium Pro is an enhanced version of the Pentium.

6 Assembly Language
Processor Architecture Impacting Factors

Markets

Processor
Architecture

Technology Applications

7 Assembly Language
Evolution of Intel’s Processors

Moore’s law: The number of transistors per integrated


circuit(IC) would double every 18 months
Pentium 4, 2001
55 Million Transistors
1.5 GHz
~ 30 years

4004, 1971
2300 Transistors
108 kHz

http://www.intel.com/research/silicon/mooreslaw.htm
8 Assembly Language
Evolution of Intel’s Processors
Processor Transistor Count Year Designer Process Area

Apple A12 (hexa-


core ARM64 6,900,000,000 2018 Apple 7 nm 83.27 mm2
"mobile SoC")
Xbox One X
(Project Scorpio) 7,000,000,000 2017 Microsoft/AMD 16 nm 360 mm²[42]
main SoC
IBM z13 Storage
7,100,000,000 2015 IBM 22 nm 678 mm²
Controller
72-core Xeon Phi 8,000,000,000 2016 Intel 14 nm 683 mm²
IBM z14 Storage
9,700,000,000 2017 IBM 14 nm 696 mm²
Controller
32-core SPARC
10,000,000,000 2015 Oracle 20 nm
M7
Apple A12X (octa-
core ARM64 10,000,000,000 2018 Apple 7 nm
"mobile SoC")
Centriq 2400 18,000,000,000 2017 Qualcomm 10 nm 398 mm2
32-core AMD Epyc 19,200,000,000 2017 AMD 14 nm 768 mm2
GC2 IPU 23,600,000,000 2018 Graphcore 16 nm 825 mm2
9 Assembly Language
By End of the Decade…
10,000
~2B Transistors 100,000
~30 GHz 30GHz
1.8B
1,000 10,000 14GHz
6.5GHz
100 Itanium® 3 GHz
Transistors

1,000
Itanium® proc
(MT)

10
Pentium® Pro
100 Pentium ® Pro
1 486Pentium proc Pentium ® proc
486
386 10
0.1 286 Frequency
8085 286 386
8085 8086
8086
(MHz) 1 8080
0.01 8080
8008 8008
4004
0.001 0.1 4004
’70 ’80 ’90 ’00 ’10
’70 ’80 ’90 ’00 ’10

“…30 gigahertz devices, 10 nanometer or less


delivering a tera instruction of performance by 2010”(1)
1) Pat Gelsinger, Intel CTO, Spring 2002 IDF

10 Assembly Language
Evolution of Intel’s Processors
Product 4004 8008 8080 8085 8086 8088 80286 80386 80486 Pentium P. Pro

Year 1971 1972 1974 1976 1978 1979 1982 1985 1989 1992 1995

MHz .108 .5-.8 2-3 3-8 5-10 5-8 6-16 16-33 25-50 60, 66 150

# Pins 18 18 40 40 40 40 68 132 168 273 387

# Tran K 2.9 3 4.5 6.5 29 29 130 275 1,200 3,100 5,500

Memory 4K 16K 64K 64K 1M 1M 16M 4G 4G 4G 64G


Data bus

Int. 4 8 8 8 16 16 16 32 32 32 32

Ext. 4 8 8 8 16 8 16 32 32 64 64

Add bus 4 8 16 16 20 20 24 32 32 32 36

Data type 4 8 8 8 8, 16 8, 16 8, 16 8, 16, 32 8, 16, 32 8, 16, 32 8, 16, 32

11 Assembly Language
Internal Block Diagram of the 8088/86 CPU
EXECUTION UNIT (EU) BUS INTERFACE UNIT (BIU)

address
generation and
bus control

12 Assembly Language
Multiplexed Bus
 The multiplexing of n address lines and m data lines is a mechanism
where:
 same lines / pins work as address line during first ( addressing ) phase of
communication between microprocessor and external chip
 then the same lines / pins work as data lines during second ( data
exchange ) phase of communication between microprocessor and
external chip
 This helps in reduction of number of pins both in:
 Microprocessor and multiple external chips there by reducing:
 package size of all the chips involved
 size of board / product made from these chips
 cost

13 Assembly Language
Pipelining
 There are two ways to make the CPU process information faster:
1. Increase the working frequency or
2. Change the internal architecture of the CPU
 The first option is technology dependent, meaning that the designer must
use whatever technology is available at the time, with consideration for
cost.
 The technology determines the working frequency, power consumption,
and the number of transistors packed into a single-chip microprocessor.
 The second option for improving the processing power of the CPU has to
do with the internal working of the CPU.
 In the 8085 microprocessor, the CPU could either fetch or execute at a
given time.

Fetch Execute Fetch Execute

14 Assembly Language
Pipelining (Cont.)
 The idea of pipelining in its simplest form is to allow the CPU to fetch and
execute at the same time.

Fetch Execute Fetch Execute Non pipelined

Fetch Execute
Fetch Execute
2-stage pipeline
Fetch Execute

15 Assembly Language
Pipelining in the 8088/86
 Intel implemented the concept of pipelining in the 8088/86 by splitting the
internal structure of the microprocessor into two sections:
 the execution unit (EU) and
 the bus interface unit (BIU).
 These two sections work simultaneously. The BIU accesses memory and
peripherals while the EU executes instructions previously fetched.
 This works only if the BIU keeps ahead of the EU; thus the BIU of the
8088/86 has a buffer, or queue.
 The buffer is 4 bytes long in the 8088 and 6 bytes in the 8086.
 If any instruction takes too long to execute, the queue is filled to its
maximum capacity and the buses will sit idle.
 The BIU fetches a new instruction whenever the queue has room for 2
bytes in the 6-byte 8086 queue, and for 1 byte in the 4-byte 8088 queue.
 In some circumstances, the microprocessor must flush out the queue.

16 Assembly Language
8088/86 Registers
 Registers: used to store information temporarily.
 Information: data (8/16-bit) to be processed or the address of data.

Category Bits Register Names


AX (accumulator), BX (base addressing),
General 16
CX (counter), DX (point to data in I/O operations)
registers, 16-bit each

8 AH, AL, BH, BL, CH, CL, DH, DL


categories

Pointer 16 SP (stack pointer), BP (base pointer)


Index 16 SI (source index), DI (destination index)
Six

CS (code segment), DS (data segment),


Segment 16
SS (stack segment), ES (extra segment)
14

Instruction 16 IP (instruction pointer)


Flag 16 FR (flag register)

17 Assembly Language
8-bit/16-bit Registers

8-bit registers

16-bit registers

18 Assembly Language

You might also like