Pipe Lining
Pipe Lining
Pipeline system is like the modern day assembly line setup in factories. For
example in a car manufacturing industry, huge assembly lines are setup and at each
point, there are robotic arms to perform a certain task, and then the car moves on
ahead to the next arm.
Types of Pipeline
It is divided into 2 categories:
● Arithmetic Pipeline
● Instruction Pipeline
Arithmetic Pipeline
Arithmetic pipelines are usually found in most of the computers. They are used for
floating point operations, multiplication of fixed point numbers etc. For example:
The input to the Floating Point Adder pipeline is:
X = A*2^a
Y = B*2^b
Here A and B are mantissas (significant digit of floating point numbers), while a
and b are exponents.
Instruction Pipeline
In this a stream of instructions can be executed by overlapping fetch, decode and
execute phases of an instruction cycle. This type of technique is used to increase
the throughput of the computer system.
1. Timing Variations
All stages cannot take same amount of time. This problem generally occurs in
instruction processing where different instructions have different operand
requirements and thus different processing time.
2. Data Hazards
When several instructions are in partial execution, and if they reference same data
then the problem arises. We must ensure that next instruction does not attempt to
access data before the current instruction, because this will lead to incorrect results.
3. Branching
In order to fetch and execute the next instruction, we must know what that
instruction is. If the present instruction is a conditional branch, and its result will
lead us to the next instruction, then the next instruction may not be known until the
current one is processed.
4. Interrupts
Interrupts set unwanted instruction into the instruction stream. Interrupts effect the
execution of instruction.
5. Data Dependency
It arises when an instruction depends upon the result of a previous instruction but
this result is not yet available.
Advantages of Pipelining
1. The cycle time of the processor is reduced.
2. It increases the throughput of the system
3. It makes the system reliable.
Disadvantages of Pipelining
1. The design of pipelined processor is complex and costly to manufacture.
2. The instruction latency is more.