What is the difference between Linear and Non-Linear pipeline processors in computer architecture?

Linear Pipeline Processor

Linear pipelining is an approach that decomposes any sequential process into limited subprocesses, which are separate from each other so that every subprocess can be implemented in a unique dedicated segment and all these segments work concurrently. Thus the whole function is divided into separate tasks and these subtasks are implemented by a segment.

The concept of pipelining in computer architecture is corresponding to a technical assembly line. As in the market there multiple divisions like manufacturing, packing, and delivery division, a product is manufactured by the manufacturing division, while it is packed by the packing division a new product is manufactured by the manufacturing unit.

Pipelining can be effectively executed for systems having the following features −

  • A system is continuously executing a basic function.

  • A basic function should be divisible into separate stages such that every stage has a basic overlap.

  • The difficulty of the stages must be practically the same.

Non-Linear Pipeline Processor

The transfer of control is nonlinear. A dynamic pipeline enables feedforward and feedback connections additionally to streamlining connections. A dynamic pipelining can start tasks from multiple reservation tables together to enable multiple numbers of initiations of multiple functions in the same pipeline.

Linear PipelineNon-Linear Pipeline
Linear pipelines are static pipelines because they can be used to implement fixed functions.
Non-Linear pipelines are dynamic pipelines because they can be reconstructed to implement variable functions multiple times.
Linear pipeline enables only streamline connections.
The non-Linear pipeline enables feed-forward and feedback connections additionally to the streamlined connection.
It is associatively easy to subdivide a given function into a series of linearly ordered sub-functions.
Function partitioning is associatively complex because the pipeline stages are interconnected with loops in addition to streamlining connections.
The output of the pipeline is produced from the previous stage.
The output of the pipeline is not essentially produced from the previous stage.
The reservation table is trivial in the sense that data flows in a linear streamline.
The reservation table is non-trivial in the sense that there is no linear streamline for data flows.
Static pipelining is determined by a single Reservation table.
Dynamic pipelining is defined by more than one Reservation table.
All initiations to a static pipeline use the same reservation table.
A dynamic pipeline can allow several initiations to follow a mix of reservation tables.