Skip to main content

Parallel processing and pipelining

Short answer

Parallel processing uses multiple units to perform tasks simultaneously. Pipelining achieves temporal parallelism by overlapping instruction stages; for k stages and n instructions, speedup approaches k, giving one result per clock after the pipe fills.

Discuss parallel processing. How can parallel processing be achieved in pipelining?

Parallel processing is the use of multiple processing units or overlapped operations to perform several tasks at the same time, so that the system's throughput and speed increase. Instead of processing in sequence, the work is divided into parts that are done together.

Levels: job or program level, task level, instruction level (pipelining), arithmetic and bit level.

Parallelism achieved in pipelining

A pipeline is a form of parallel processing in time (temporal parallelism). The instruction cycle is divided into segments (FI, DA, FO, EX) that work simultaneously on different instructions.

  • Several instructions are in different phases at one time, so one instruction is completed per clock once the pipe fills.
  • The time for n instructions is (k + n - 1) tp instead of n·k·tp, so the speedup approaches k.
  • More parallelism comes from several pipelines (superscalar), multiple functional units and vector pipelines.
 Clock:   1  2  3  4  5  6
 I1       FI DA FO EX
 I2          FI DA FO EX
 I3             FI DA FO EX

Other ways: multiple functional units, SIMD array processors and multiprocessors.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Organization and Architecture chapter 4 questions →