Architecture of 8086 Micro-Processor


8086 Microprocessor is a 16-bit
Microprocessor. It is an improved version of 8085Microprocessor. It was
designed by Intel in 1976. It has 20 address lines and16 data lines which gives
up to 1MB of storage. Operations like multiplication and division can be
carried out easily as it consists of powerful instruction set.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

It has two types of mode for operation: 1)
Maximum Mode and 2) Minimum Mode. Maximum mode is best for system having more
than one processors and Minimum Mode is best for system having only one

The 8086 micro-processor has two
different working parts:

The Bus Interface Unit or BIU

The  Execution Unit or EU. 

The Architecture of 8086
Micro-Processor is shown in figure below.

Bus Interface Unit or BIU :

The main function of the Bus Interface
Unit (BIU) is that it generates a 20-bit physical memory address. 8086 has
only one memory interface. It provides a link with the external memory like
ROM or RAM. 6-bytes of instruction are stored in a 6-byte Instruction Queue
which is fetched in advance from the memory. The other instructions are being
processed in the Execution Unit (EU). When the execution of an instruction
completes, the next instruction is directly fetched from the instruction
queue and CPU does not have to wait for the external memory to send the
instruction. This process is called pipe-lining. It helps in speeding up the
overall execution process.

The BIU has four 16-bit segment
registers which are as follows
1) The Code Segment (CS)
2) The Stack Segment (SS)
3) The Extra Segment (ES)
4) The Data Segment (DS).
These segment registers contains 16-bit
segment addresses respectively. The offset address is contained by another
16-bit register. For a segment, segment address is the upper 16-bits of the
starting address and the lower 4-bits of the starting address is always zero.
The formula to calculate physical 20-bit address is

Address = Segment Address + Offset Address

Unit or EU:

Execution unit gets program instruction
codes and data from the Bus Interface Unit, processes them and stores the
output in the general registers. Using the instruction decoder & ALU, it
controls operations on data. The EU contains some functional parts such as:

1)    Arithmetic
Logical Unit (ALU).

2)    Flag

      It contains Conditional Flags and Control

3)    General
Purpose Registers.

4)    Stack
Pointer Register.

The Programming Model

The Programming Model of 8086 Micro-Processor
consists of Multipurpose Registers and Special Registers.

Multipurpose Registers:

Accumulator Register (AX)

Base Register (BX)

Count Register (CX)

Data Register (DX)

Base Pointer (BP)

Destination Index (DI)

Source Index (SI)

Special Purpose Registers:

Instruction Pointer

Stack Pointer

Carry Flag

Parity flag

Auxiliary Flag

Zero Flag

Sign Flag

Overflow Flag

Direction Flag

Interrupt Flag

Trap Flag, etc.