What is pipelining?

A technique where multiple instructions are overlapped in execution.

Contenido pendiente de traducción. Se muestra la versión en inglés.

Pipelining is like an assembly line for CPU instructions. Instead of waiting for one instruction to finish all its stages before starting the next, a pipelined CPU starts fetching the second instruction as soon as the first one moves to the Decode stage.

        graph LR
  Center["What is pipelining?"]:::main
  Rel_multiprocessing["multiprocessing"]:::related -.-> Center
  click Rel_multiprocessing "/terms/multiprocessing"
  Rel_concurrency["concurrency"]:::related -.-> Center
  click Rel_concurrency "/terms/concurrency"
  Rel_parallelism["parallelism"]:::related -.-> Center
  click Rel_parallelism "/terms/parallelism"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Prueba de conocimiento

1 / 1

🧒 Explícalo como si tuviera 5 años

Pipelining is like doing laundry with a separate washer and dryer. You start the second load in the washer while the first load is still in the dryer. This way, both are working at once!

🤓 Expert Deep Dive

Pipeline hazards (Data, Control, Structural) can cause stalls or 'bubbles'. Branch prediction is essential to keep the pipeline full. A pipeline 'flush' occurs when a branch guess is wrong.

📚 Fuentes