The 8086 Processor is divided into two parts: Execution Unit and the Bus interface unit. Below are mentioned the features of the Bus Interface Unit and the segment registers inside it.
Functions of Bus Interface Unit (BIU)
- Major function of BIU is to fetch instruction data from memory and write data (result) back to memory.
- It also reads and writes data from Input/output ports.
- To perform memory operations it generates 20-bit physical address.
Segment Registers and Instruction Pointer
- To access memory there are five pointers available inside the processor – CS, DS, SS and ES registers and IP.
- The segment registers points to base location of different memory segments of current program.
- The Instruction pointer used with CS register for Instruction Sequencing. The CS:IP together specifies address of the current instruction be fetched from memory.
- The BIU has 6-byte (first in first out) Instruction Queue used in pipelining. Queue holds instructions to be executed by Execution Unit.
- Due to Instruction Queue it is possible to pre-fetch the instructions while Execution Unit is decoding or executing previous instructions.
- Instruction Queue speed up the execution of 8086.