8/7/2019 8086 MICROPROCESSOR to upload
1/27
8086 MICROPROCESSOR
RAM MURAT SINGH
8/7/2019 8086 MICROPROCESSOR to upload
2/27
MICROPROCESSOR 8086
The 8086 was the first 16-bit microprocessor introduced by Intel in1978.
It is implemented in HMOS ( High density short channel MOS)technology.
It is packaged in a4
0-pin CERDIP or plastic package. It is available in three clock rates:
8086 in 5Mhz,
8086-2 in 8Mhz, and
8086-1 in 10Mhz.
8086 operates in both single processor and multiple processorconfiguration to achieve high performance levels.
It has 20-address bus and hence can access as much as 1MB(220)memory locations.
It has 16-bit data bus.
8/7/2019 8086 MICROPROCESSOR to upload
3/27
8086 INTERNAL BLOCK DIAGRAM
8/7/2019 8086 MICROPROCESSOR to upload
4/27
FUNCTIONAL BLOCK DIAGRAM OF 8086
8086 Microprocessor is divided into two
independent functional parts.
Bus interface unit (BIU). Execution unit (EU).
8/7/2019 8086 MICROPROCESSOR to upload
5/27
BUS INTERFACE UNIT
The bus interface unit handles all transfer of
data and addresses on the buses for the
Execution unit.
This unit sends out addresses, fetches
instructions from memory, reads data from
ports and memory and writes data to ports
and memory.
8/7/2019 8086 MICROPROCESSOR to upload
6/27
DIFFERENT PARTS OF BIU
SEGMENT REGISTERS
INSTRUCTION POINTER
THE QUEUE
8/7/2019 8086 MICROPROCESSOR to upload
7/27
SEGMENT REGISTERS
BIU contains four 16-bit segment registers as
follows:
Code segment (CS) register. Stack segment (SS) register.
Extra segment (ES) register.
Data segment (DS) register.
8/7/2019 8086 MICROPROCESSOR to upload
8/27
FUNCTION OF SEGMENT REGISTERS
In 8086 complete 1MB memory is divided into 16 logical segments.
Each segment thus contains 64 KB of memory.
While addressing any location in the memory bank, the Physical address is
calculated from two parts, the first part is Segment address, and the
second is Offset.
The segment registers contain 16-bit segment base addresses related to
different segments.
Thus the CS, DS, ES, SS segment registers, respectively contain the
segment addresses for the Code, Data, Extra and Stack segments.
They may or may not be physical separated.
Each segment register contains a 16-bit base address that points to the
lowest-addressed byte of that particular segment in memory.
8/7/2019 8086 MICROPROCESSOR to upload
9/27
8/7/2019 8086 MICROPROCESSOR to upload
10/27
GENERATION OF PHYSICAL ADDRESS
Segment address- 1005H
Offset address - 5555H
Segment address-1005H- 0001 0000 0000 0101Shifted by 4-bit positions-0001 0000 0000 0101 0000
+
Offset address - 0101 0101 0101 0101
Physical address -0001 0101 0101 1010 0101
1 5 5 A 5
8/7/2019 8086 MICROPROCESSOR to upload
11/27
INSTRUCTION POINTER
It is 16-bit register , which identifies the location
of the next word of instruction code that is to be
fetched in the current code segment.
IP contains an offset instead of the actual address
of the next instruction.
The 20-bit address produced after addition of the
offset stored in IP to segment base address in theCS is called the Physical address of the code byte.
8/7/2019 8086 MICROPROCESSOR to upload
12/27
THE QUEUE
The last section ofBIU is the FIFO group of
registers called a queue. It is basically a group of
registers.
This arrangement makes possible for the BIU to
fetch the instruction byte while EU is decoding an
instruction or executing an instruction which
does not require use of buses. This arrangement is called pipelining.
This is done to speed up the program execution.
8/7/2019 8086 MICROPROCESSOR to upload
13/27
EXECUTION UNIT
It tells the BIU where to fetch instructions or
data from.
Decodes the instruction. Executes instructions.
8/7/2019 8086 MICROPROCESSOR to upload
14/27
DIFERENT PARTS OF EU
ALU
Decoder
Control Circuitry
General purpose registers
Flag register
Pointer and Index registers
8/7/2019 8086 MICROPROCESSOR to upload
15/27
8/7/2019 8086 MICROPROCESSOR to upload
16/27
DECODER
The decoder in the EU translates instruction
fetched from the memory into a series of
actions which the EU carries out.
8/7/2019 8086 MICROPROCESSOR to upload
17/27
CONTROL CIRCUITRY
EU contains control circuitry which directs
internal operations.
It also generates the necessary timing andcontrol signals.
8/7/2019 8086 MICROPROCESSOR to upload
18/27
VARIOUS REGISTERS IN EU
8/7/2019 8086 MICROPROCESSOR to upload
19/27
8/7/2019 8086 MICROPROCESSOR to upload
20/27
GENERAL PURPOSE DATA REGISTERS
Certain pairs of these general purpose registerscan be used together to store 16-bit data words.
The acceptable register pairs are AH and AL, BH
and BL, CH and CL, DH and DL. The AH-AL pair is called AX register, BH-BL pair is
called BX register, CH-CL pair is called CX registerand DH-DL pair is called DX register.
Any of these registers can be used as the sourceor destination of an operand during an arithmeticand logical operation.
8/7/2019 8086 MICROPROCESSOR to upload
21/27
FLAG REGISTER
It is a 16-bit status register within the EU of
8086.
There are nine flags in 8086. Six of these are status flags and three are
control flags.
8/7/2019 8086 MICROPROCESSOR to upload
22/27
8086 FLAG REGISTER
8/7/2019 8086 MICROPROCESSOR to upload
23/27
STATUS FLAGS
CF- It is set to 1 if carry out of MSB.
PF- It is set to 1 if result has even parity.
AF- Used for BCD.
ZF- It is set to 1 if result is 0.
SF- It is set to 1 if result is negative.
OF- It is set to 1 if signed result is out of therange.
8/7/2019 8086 MICROPROCESSOR to upload
24/27
CONTROL FLAGS
TF- It is set if single step mode(debugging).
IF- If set, interrupt request at the INTR input of
8086 will be recognized. DF- If set, string instruction automatically
decrements the address (string data transfers
proceed from high address to the low address.
8/7/2019 8086 MICROPROCESSOR to upload
25/27
POINTER AND INDEX REGISTERS
There are two pointer and two index registers
in the EU of 8086.
These registers are used to store the offsetaddresses of memory locations relative to the
segment registers.
8/7/2019 8086 MICROPROCESSOR to upload
26/27
POINTER REGISTER
Two pointer registers are :
Stack pointer The value in the SP always
represents the offset of the next stack locationthat can be accessed.
Base pointer It also represents an offset
relative to SS register but is employed in the
based addressing mode of 8086.
8/7/2019 8086 MICROPROCESSOR to upload
27/27
INDEX REGISTER
Two index registers are:
Source index (SI)- It is used to store an offset
address for source operand. Destination index (DI)- It is used for storage of
an offset address for the destination operand.