How to understand pipelining?

Last updated on November 12th, 2018


Pipelining is the method of collecting directly from the processor through a pipeline. It permits storing and execution directives in a methodical method. It’s conjointly referred to as pipeline processing.

Pipelining is a procedure where numerous directives are overlapped throughout execution. The Pipeline is split into stages and is connected with each other to create a pipe-like configuration. Directives are entering from one end and leaving in another. Pipelining upsurges the general directive output.

Pipeline system, every phase contains an input register shadowed by a combinational circuit. The register is employed to carry data and a combinational circuit completes operations thereon. The output of the combinational circuit is implemented to the input register of the consecutive phase.

The pipeline system is just like the modern-day production line set up manufacturing in factories. For instance, during an automobile assembly industry, vast assembly lines are outfitted and at every point, there are mechanical arms to undertake a precise task, then the automobile moves on to the consecutive arm.

 Types of Pipeline:

  • Arithmetic pipelines: This stream sometimes initiated in most of the workstations. They’re used for floating point processes, multiplication of mounted purpose numbers etc.

The floating point tallying and deduction is completed in four parts:

  1. Compare the exponents.
  2. Align the mantissa.
  3. Add or deduct mantissa.
  4. Manufacture the result.

Registers are used for keeping the transitional results between the above operations.

  • Directive Pipeline: In this stream of directives may be implemented by overlying fetch, decode and execute phases of a directed cycle. This sort of technique is employed to extend the outturn of the computer system. A directive pipeline reads directly from the memory, whereas previous directives are being executed in different segments of the pipeline. Therefore, we are able to execute multiple directives at the same time. The pipeline is more economical if the directive cycle is divided into segments of equal length.

 Pipeline Conflicts:

Following are the factors that cause the pipeline to stray its customary performance:

  1. Timing Variation: All stages cannot take the same quantity of time. This drawback typically happens in directive processing wherever completely different completely different directives have different operand needs and so different time interval.
  2. Data Hazards: When many directives are in incomplete execution, and if they situation same information then the problem arises. We should make sure that the next directive doesn’t commit to reading data before the present directive, as a result of this may result in improper results.
  3. Branching: In order to realize and execute consecutive directive, we should understand what the directive is. The current directive may be a restrictive branch, and its outcome can lead us to a consecutive directive, then consecutive directive might not be known until the present one is processed.
  4. Interrupts: unwanted directives are interrupted therefore changing the impact of the execution of the directive.
  5. Data Dependency: arises once a directive relies upon the results of a preceding directive, however, this result is not however accessible.

 Advantages of Pipelining:

  1. The cycle time of the processor is reduced.
  2. It will increase the output of the system.
  3. It makes the system dependable.

 Disadvantages of Pipelining:

  1. The architecture of the pipelined processor is complicated and expensive to manufacture.
  2. The directive latency is more.

Leave a Comment