Pipelining is a process to realize, overlapped parallelism in the proposed answer of a problem, on a digital computer in an economical way. To understand the concept of pipelining, we need to understand first the concept of assembly lines in an automated production plant where items are assembled from separate parts (stages) and output of one stage becomes the input to different stage. Taking the analogy of assembly lines, pipelining is the method to introduce temporal parallelism in computer operations. Assembly line is the pipeline and the separate parts of the assembly line are different stages through which operands of an operation are passed.
To introduce pipelining in a processor P, the following steps given below:
In this way, parallelism in a pipelined processor can be achieved like that m independent operation can be present simultaneously in m segments as shown given below:-
The phases or section are executed as pure combinational circuits performing logic or arithmetic operations over the data streams flowing through the pipe. Latches are used to divide the phases, which are quick registers to hold intermediate results among the phases as shown in Figure. Each phase Si consists of a processing circuit Ci and a latch Li . The last output is stored in output register R. The flow of data vary from one stage to another is controlled by a common clock. Therefore, in every clock period, one stage transmits results to another stage.