Vyšlo v týdeníku Computerworld č. 11/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a211c120.php3

Pipelining

Možností, jak zvýšit výkon procesoru, a tím i celkový výkon počítače, je velmi mnoho. Od čistě technologických řešení přes redukování počtu a "bohatosti" instrukcí, jak to předpokládá architektura RISC.

Další možnost vychází z představy, že každá instrukce, kterou procesor provádí, se skládá z několika na sebe navazujících fází - například fáze načtení instrukce z paměti, fáze dekódování instrukce, fáze přípravy operandů a výkonné fáze (vlastního provedení instrukce). Kdybychom se mohli dívat "dovnitř" do procesoru, zjistili bychom, že při provádění každé takovéto fáze je často využívána jen určitá část procesoru, zatímco ostatní části zůstávají nevyužity. Během fáze načítání instrukce z paměti nejsou využívány ty části procesoru, které slouží např. k násobení, zatímco během výkonné fáze (tedy vlastního provádění instrukce, kdy se pak může skutečně násobit) zůstávají nevyužity ty části procesoru, které zajišťují spolupráci s pamětí.

Zcela zákonitě proto vznikla myšlenka koncipovat procesor tak, aby žádná jeho část nikdy "nezahálela". Tedy umožnit, aby v době, kdy jedna část procesoru provádí určitou fázi jedné instrukce, mohla jiná část procesoru pracovat na jiné fázi jiné instrukce. Například aby v době, kdy je teprve dokončována určitá instrukce (tj. je prováděna její výkonná fáze), již mohla být připravována k provedení (tj. dekódována) další instrukce, a ještě jedna další instrukce načítána z paměti.

Lze si představit, že takto fungující procesor se vlastně chová jako roura či potrubí s několika sekcemi, a instrukce jsou tímto potrubím postupně "protlačovány". Každá sekce má na starosti realizaci určité fáze, a tu provádí s tou instrukcí, která se v příslušné sekci právě nachází. V celém procesoru se tak v každém okamžiku nachází více instrukcí v různém stádiu rozpracovanosti. Celkový efekt je takový, že doba provedení jedné instrukce se sice v podstatě nemění, ale počet instrukcí, provedených za jednotku času, ze zvýší tolikrát, kolik sekcí má naše pomyslné potrubí.

Byla to právě tato analogie s potrubím (anglicky "pipeline"), která dala vzniknout názvu právě popsané techniky - pipelining. Do češtiny se překládá nejčastěji jako "proudové zpracování" či "zřetězené zpracování".

---------------

P.S. Budete-li v některé tuzemské technické knihovně hledat literaturu k problematice pipeliningu resp. k proudovému zpracování, zkuste se nejprve podívat pod heslo "Počítače potrubní" :-).