The Intel 8086 microprocessor, introduced in 1978, was one of the earliest 16-bit processors and a cornerstone in the x86 family of processors. However, it did not feature a traditional pipeline architecture like modern processors. Instead, it employed a more straightforward execution model.
2. Architecture of 8086
8086 contains two independent functional units. Bus Interface Unit (BIU) and Execution
Unit (EU).
The BIU handles transfer of data and addresses between the processor and memory I/O
devices.
The EU receives opcode of an instruction from the queue, decodes it and then executes it.
While EU is decoding an instruction or executing an instruction, the BIU fetches
instruction codes from the memory and stores them in the queue.
The BIU and EU thus operate in parallel.
3.
4. Generally a 8086 microprocessor is called a pipelined architecture. The process of
fetching the next instruction when the present instruction is being executed is called
as pipelining. Pipelining has become possible due to the use of queue. BIU (Bus
Interfacing Unit) fills in the queue until the entire queue is full.
In 8086, to speed up the execution of program, the instructions fetching and execution
of instructions are overlapped each other. This technique is known as pipelining. In
pipelining, when the nth instruction is executed, the n+1th instruction is fetched and
thus the processing speed is increased.
5. Function of instruction queue in 8086:
In 8086, a 6-byte instruction queue is presented at the Bus Interface Unit (BIU). It is
used to prefetching and store at the maximum of 6 bytes of instruction code from the
memory. Due to this, overlapping instruction fetch with instruction execution
increases the processing speed.
6. The functions of bus interface unit (BIU) in 8086:
(a) Fetch instructions from memory.
(b) Fetch data from memory and I/O ports.
(c) Write data to memory and I/O ports.
(d) To communicate with outside world.
(e) Provide external bus operations and bus control signals.
7. Advantages of pipelining: The execution unit always reads the next instruction byte from the
queue in BIU. This is faster than sending out an address to the memory and waiting for the
next instruction byte to come. In short pipelining eliminates the waiting time of EU and
speeds up the processing. -The 8086 BIU will not initiate a fetch unless and until there are
two empty bytes in its queue. 8086 BIU normally obtains two instruction bytes per fetch.
The execution unit (EU) is supposed to decode or execute an instruction. Decoding does not
require the use of buses. When EU is busy in decoding and executing an instruction, the BIU
fetches up to six instruction bytes for the next instructions. These bytes are called as the
pre-fetched bytes and they are stored in a first in first out (FIFO) register set, which is called
as a queue.
8. Pipeline in 8086 is a technique which is used in advanced microprocessors, where
the microprocessor execute a second instruction before the completion of first. That
is many instruction are simultaneously pipelined at different processing stage.
The advantages of pipelining is performance improvement, we are able to pump
more instructions and get improved in processor speed as we are able to execute
parts of instructions in parallel to parts of other instruction.
Disadvantage of pipeline is that it makes things complex, for example if we need to
take care of branch penalty and forwarding, this become complex and several
research problems are arise due to these complexity.