0% found this document useful (0 votes)
111 views5 pages

Pipe Lining

Pipelining is a technique where the processing of instructions is split into sequential stages, allowing multiple instructions to be executed simultaneously. The processor pipeline is divided into stages where each stage performs a discrete function of instruction processing, like fetch, decode, execute, etc. Pipelining increases the overall instruction throughput by allowing new instructions to begin processing before previous instructions have finished. Pipeline conflicts can occur and reduce efficiency, such as data hazards when instructions reference the same data or branches altering the instruction flow.

Uploaded by

Ram Ram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views5 pages

Pipe Lining

Pipelining is a technique where the processing of instructions is split into sequential stages, allowing multiple instructions to be executed simultaneously. The processor pipeline is divided into stages where each stage performs a discrete function of instruction processing, like fetch, decode, execute, etc. Pipelining increases the overall instruction throughput by allowing new instructions to begin processing before previous instructions have finished. Pipeline conflicts can occur and reduce efficiency, such as data hazards when instructions reference the same data or branches altering the instruction flow.

Uploaded by

Ram Ram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

What is Pipelining?

Pipelining is the process of accumulating instruction from the processor through a


pipeline. It allows storing and executing instructions in an orderly process. It is
also known as pipeline processing.

Pipelining is a technique where multiple instructions are overlapped during


execution. Pipeline is divided into stages and these stages are connected with one
another to form a pipe like structure. Instructions enter from one end and exit from
another end.

Pipelining increases the overall instruction throughput.

In pipeline system, each segment consists of an input register followed by a


combinational circuit. The register is used to hold data and combinational circuit
performs operations on it. The output of combinational circuit is applied to the
input register of the next segment.
Pipelining

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.

The floating point addition and subtraction is done in 4 parts:

1. Compare the exponents.


2. Align the mantissas.
3. Add or subtract mantissas
4. Produce the result.
Registers are used for storing the intermediate results between the above
operations.

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.

An instruction pipeline​ reads instruction from the memory while previous


instructions are being executed in other segments of the pipeline. Thus we can
execute multiple instructions simultaneously. The pipeline will be more efficient if
the instruction cycle is divided into segments of equal duration.
Pipeline Conflicts
There are some factors that cause the pipeline to deviate its normal performance.
Some of these factors are given below:

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.

You might also like