What is pipelining?

A technique where multiple instructions are overlapped in execution.

Conteúdo pendente de tradução. Exibindo a versão em 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;

      

🧠 Teste de conhecimento

1 / 1

🧒 Explique como se eu tivesse 5 anos

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.

📚 Fontes