8086 Microprocessor

In this course, we will study the 8086 microprocessor, its features, and the difference between 8086 and 8085 microprocessors. So let us start.

What is the 8086 microprocessor?

It was the first 16-bit microprocessor built. It is an example of a complex instruction set computer(CISC). The 8086 microprocessor was first introduced in the year 1978.

8086 Microprocessor

What are the features of the 8086 microprocessor?

  1. It consists of an instruction queue that is capable of storing 6 instruction bytes from the memory. And due to this property, the processing is fast.

  2. The microprocessor was the first 16-bit processor having 16-bit ALU. it consists of the 16-bit register, internal data bus, and 16-bit external data bus which helps in faster processing.

  3. There are 3 versions available of 8086 which depends upon the frequency of operation.

  4. There are two stages of pipelining that are used- the fetch stage and execute stage, which helps in improving the performance.

  5. It has a multiplexed address and data bus.

  6. To provide internal timing it requires a single-phase clock with a 33% duty cycle.

  7. The microprocessor is able to prefetch up to 6 instruction bytes from memory and can queue them in order to boost up the execution of the instruction.

  8. The instructions are executed in the execution stage.

What are the basic parts of 8086?

The Bus Interface Unit (BIU)

BIU performs the following functions-

There are 4 Segment registers in BUI. They are the Instruction Pointer, a prefetch queue, and an Address Generation Circuit.

Instruction Pointer (IP)

  1. It is a 16-bit register. It holds the offset of the next instructions in the Code Segment.

  2. It is incremented after every instruction byte is fetched.

  3. It gets a new value whenever a branch instruction occurs.

Code Segment register

It holds the base address for the Code Segment. All the programs are stored in the Code Segment and are accessed via the IP.

Data Segment register

It holds the base address for the Data Segment.

Stack Segment register

It holds the base address for the Stack Segment.

Extra Segment register

It holds the base address for the Extra Segment.

Address Generation Circuit

The BIU has a Physical Address Generation Circuit. The 20-bit physical address is being generated by using Segment and Offset addresses.

6 Byte Prefetch Queue

  1. It is a 6-byte queue (FIFO).

  2. Fetching the next instruction during the execution of the current instruction is called pipelining.

  3. Gets flushed whenever a branch instruction occurs.

The Execution Unit (EU)

  1. Fetches instructions from the Queue in BIU, decodes it, and then executes arithmetic and logic operations using the ALU.

  2. It Sends the control signals for internal data transfer operations within the microprocessor.

  3. It Sends the request signals to the BIU to access the external module.

  4. It operates with respect to T-states.

There are 16 general purpose registers AX, BX, CX, and DX. Store intermediate values during execution. Each of these has two 8 bit parts (higher and lower).

Arithmetic Logic Unit (16 bit)

Performs 8 and 16-bit arithmetic and logic operations.

Special purpose registers (16-bit)

Instruction Register and Instruction Decoder

The execution unit fetches an opcode from the queue into the instruction register. The instruction decoder decodes it and then sends the information to the control circuit for its execution.

Flag registers

There are 9 flags that help change or recognize the state of the microprocessor.

6 Status flags:

  1. Carry flag (CF)
  2. Parity flag (PF)
  3. Auxiliary carry flag (AF)
  4. Zero flags (Z)
  5. Sign flag (S)
  6. Overflow flag (O)

3 Control flags

  1. Trap flag(TF)
  2. Interrupt flag(IF)
  3. Direction flag(DF)

Difference between 8085 microprocessors and 8086 microprocessors

8085 Microprocessor 8086 Microprocessor
Here the data bus is of 8 bits Here the data bus is of 16 bits
Here the address bus is of 16 bits Here the address bus is of 20 bits
Its memory capacity is 64 KB Its memory capacity is 1MB
We can perform up to 256 number operations We can perform up to 65536 number operations
The operational frequency is 3.2Hz The operational frequencies are 8Hz, 10Hz and 5Hz
There is only one mode of operation in 8085 microprocessor There are two modes of operations in 8086. They are minimum and maximum mode
The multiplication and division operation can not be performed in it We can perform multiplication and division operation in it
Pipelining and instruction queue is not supported in 8085 8086 supports pipelining and instruction queue