Home »
Embedded Systems
Steps to execute an instruction and concept of Pipelining in 8086 Microprocessors
In this tutorial, we will learn about the steps through which an instruction is executed in the 8086 Microprocessor. Apart from this, we will also study the concept of pipelining which is related to the method in which these instructions are processed inside the 8086 Microprocessor.
By Monika Sharma Last updated : May 22, 2023
Any computer or machine works according to some instructions. These instructions are responsible for all the work that the machine does. But how does a machine work to understand and execute that instruction?
In the 8086 microprocessors, the instructions are executed in 4 steps which are listed as follows:
- Fetch the instruction
- Decode the instruction
- Fetch the operands
- Execution of the instruction
Any instruction that is provided to the 8086 microprocessor is executed by following the above-mentioned steps. For each instruction, all these steps are performed, i.e. if there are 3 instructions to be executed, then all these steps will be performed 3 times each.
Suppose, these instructions are executed sequentially, and it takes the 1-time unit for each step to run. So, it would take 12-time units (3 X 4) to execute these instructions.
It seems less as the number of instructions is less, but a processor has o deal with a very large number of instructions, and so it should process fast to be efficient. In the 8086 microprocessor, this problem was solved by the method of pipelining.
As we know that there are two separate units in 8086 microprocessors:
- The BIU (Bus Interface Unit)
- The EU (Execution unit)
Both these units work mutually exclusive to each other. Due to this, the parallel processing of instructions can be implied in the 8086 microprocessor, because these units are responsible for alternate steps of instruction execution. That is,
- Fetch instruction: Done by BIU
- Decode Instruction: Done by EU
- Fetch Operands: Done by BIU
- Execution: Done by EU
So, while the instruction completes its first step and goes to the second step that is handled by the EU, the BIU is idle, and in that time, the next instruction is sent to BIU. By doing so, the parallel processing of instructions is implemented, and this concept is known as pipelining.
So, it can be observed that the instructions which were taking 12-time units for execution while being processed in a sequential way are now taking only 6 clock cycles through pipelining.