What is Pipelining
Pipelining is accumulating the instructions from the processor through a pipeline or a data pipeline. A Pipeline is a set of data processing units arranged in series such that the output of one element is the input of the subsequent element. Pipelining is a technique in which multiple instructions are overlapped during execution. It is used primarily to create and organize instructions in a processor so that the processes run in cocurrent fashion. Basically, Pipelining is a process to manage the addition of new tasks frequently by removing the completed tasks.
Difference between Pipelining and Non-Pipelining
|Pipelining System||Non-Pipelinig System|
|In pipelining system, multiple instructions are overlapped during execution.||In a Non-Pipelining system, processes like decoding, fetching, execution and writing memory are merged into a single unit or a single step.|
|Many instructions are executed at the same time||Only one instruction is executed at the same time|
|The efficiency of the pipelining system depends upon the effectiveness of CPU scheduler.||In a Non-Pipelining system, The CPU scheduler chooses the instruction from the pool of waiting instructions, when an execution unit gives a signal that it is free. The efficiency is not dependent on the CPU scheduler.|
|Execution time is comparatively less and execution is done in a fewer cycles||Execution takes more time or more number of cycles comparatively|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.