Pipelining vs Non-Pipelining
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 concurrent 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-Pipelining 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