Introduction
In computer organisation and architecture (COA), we study about the internal workings and structure of a computer system and how the various components are organised for their efficient use.

Pipelining is one of the techniques in COA used for decomposing a task into smaller subtasks in a pipeline manner for improving the performance of the system. In this way, subtasks are arranged in a sequential order in a pipeline, where the output of one subtask is used as input for the next subtask.In this article we will cover Arithmetic PIpeline in Computer Architecture.
Also Read - What is Booth's Algorithm in Computer Architecture?
Let’s understand the advantage of pipeline through a simple example:
Suppose the task is to take two integers as input and print their sum as output.
The system will first take the two integers as input and then compute their sum and then print it. Here, another set of two integers will wait until the sum of the previous set of integers will be printed. Also, when the system is computing the sum, the parts of the system which are taking input or printing output are left unused. In this way, the resources are not utilised efficiently.
But if we will use a pipeline, we can divide this task into following subtasks:
- Take input
- Compute sum
- Print the sum
And, if these three subtasks are executed parallely, we will get faster execution of the task. While the system is computing the sum of two integers, it will parallely take the next set of integers as input and print the output of the previous inputs. This way the number of tasks in a given interval of time will increase.
There are mainly two types of pipeline in COA. They are:
- Arithmetic Pipeline
- Instruction Pipeline
In this article, we will discuss the ‘Arithmetic Pipeline’ in detail.
What is Arithmetic Pipeline in Computer Architecture?
Arithmetic pipelines are used to divide an arithmetic task into subtasks to be executed in different pipeline segments. Examples of mathematical computations where arithmetic pipeline is used by computer systems are multiplication of fixed point numbers, mathematical operations on floating point numbers, etc.
Let’s understand ‘Arithmetic Pipeline’ with an example of addition of two floating point numbers.
We know that two floating point numbers are represented in their normalized form using mantissa and exponents. Mantissa represents the precision of the number and exponent represents the range.
Let the f1 and f2 be two floating point numbers whose sum is to be calculated.
f1 = x1 + 2y1
f2 = x2 + 2y2
Here x1 and x2 are mantissa of f1 and f2 respectively and y1 and y2 are exponents of f1 and f2 respectively.
In addition of two floating point numbers, following steps are used:
1. Comparing the exponents using subtraction
2. Aligning the mantissa
3. Adding or subtracting the mantissa
4. Normalizing the result
In arithmetic pipeline, these four steps are performed in four different segments to improve the speed and throughput of the system.
The figure below shows the steps performed in four different segments in an arithmetic pipeline for the addition of two floating point numbers:

Note: Optimize the content below as highlighted in a red box and refer to the screenshot below to get an idea:

1. Comparing the exponents using subtraction
In an arithmetic pipeline, when performing operations on numbers in scientific notation, the exponents of the numbers are compared by subtracting one exponent from the other. This step determines the relative magnitude of the operands.
2. Aligning the mantissa
Aligning mantissas ensures corresponding bits are in the same positions for accurate arithmetic operations.
3. Adding or subtracting the mantissa
Once aligned, the pipeline adds or subtracts the mantissas based on the operation, computing the result's mantissa.
4. Normalizing the result
After the arithmetic operation, the result is normalized to ensure proper scientific notation, adjusting the mantissa and exponent for accuracy.
Also see, what is middleware




