Veel van de oude 8-bits microprocessors (laten we zeggen vóór de 8086) hadden instructies die meer dan één cyclus duurden om uit te voeren en geen pijplijncapaciteit. Elke instructie zou door de fasen van ophalen, decoderen, uitvoeren en terugschrijven gaan, maar elke instructie zou voltooid zijn voordat de volgende kon beginnen. Een beetje alsof je een snelweg hebt van New York naar DC en er maar één auto tegelijk op laat rijden.
Pipelining maakt gebruik van het feit dat je bijvoorbeeld de logica voor het ophalen van instructies zou kunnen gebruiken om de volgende instructie tijdens het uitvoeren van de huidige. Dit staat bekend als parallellisme op instructieniveau, aangezien er meer dan één instructie tegelijk wordt uitgevoerd. In de snelweganalogie hoef je niet te wachten tot de eerste auto in DC aankomt voordat je een andere in NY laat rijden. Dit soort dingen begon te gebeuren rond de tijd van 8086/8088. (en er waren ongetwijfeld anderen, maar ik bied de 8086 alleen aan als een referentiepunt in de tijd)
Dus nee, het hebben van instructies die meer dan één cyclus vereisen, betekent niet dat er een pijplijn moet worden aangelegd.
Aan de andere kant, als al uw instructies in een enkele cyclus zouden kunnen worden uitgevoerd, zou pipelining geen voordeel hebben, aangezien er in feite geen manier zou zijn om verschillende fasen van verschillende instructies tegelijkertijd uit te voeren. Dus pipelining lijkt te impliceren dat instructies kunnen worden opgesplitst in verschillende fasen die kunnen worden parallel geschakeld.
(Het is eigenlijk moeilijk voor te stellen wat voor soort instructie er in een enkele cyclus zou kunnen worden gedaan, afgezien van een eenvoudig NOP. register-naar-register-overdrachten zouden één cyclus vereisen om de opcode in de chip te trekken en een andere cyclus om het effect te bereiken.)