Kompiuterinis vamzdynas
Kompiuterių konvejerį pirmą kartą pristatė „Intel“ 486 luste. Dujotiekio veikimo būdas yra analogiškas pramoninei surinkimo linijai. CPU viduje grandinės blokų, turinčių skirtingas funkcijas, serija sudaro instrukcijų apdorojimo vamzdyną; x86 instrukcija suskirstoma į penkis ar šešis žingsnius, kuriuos šie įrenginiai nuosekliai vykdo. Tai leidžia įvykdyti komandą per vieną procesoriaus laikrodžio ciklą ir taip padidinti procesoriaus apdorojimo greitį. Klasikiniame „Pentium“ procesoriuje kiekvieną sveikųjų skaičių konvejerį sudaro keturi etapai-išankstinis instrukcijų gavimas, iššifravimas, vykdymas ir įrašymas-atgal-, o slankiojo{9}}kablelio konvejerį sudaro aštuoni etapai.
Vamzdynas yra pagrindinė technologija, plačiai naudojama mikroprocesoriuose (CPU). Jame aprašomas metodas, kuriuo instrukcijos vykdomos CPU; norint suprasti vamzdynų sudarymą, pirmiausia reikia suprasti instrukcijas ir jų vykdymo procesą.
Kompiuterio instrukcijos
Kompiuterio instrukcija yra konkretus dvejetainių duomenų rinkinys, nurodantis CPU, ką daryti. Jei CPU lyginamas su gamybos įmone, instrukcija yra panaši į kliento užsakymą; jis suaktyvina eilę veiksmų procesoriaus „gamykloje“, galiausiai duodantis skaičiavimo rezultatą-gatavą produktą. Kaip tai iš tikrųjų veikia? Pirma, turi būti skyrius, kuris gautų užsakymus-CPU instrukcijų gavimo vienetui; antra, turi būti dirbtuvės, kad būtų įvykdyti užsakymai{4}}CPU komandų vykdymo blokas. Gamykloje prekės gamyba suskirstoma į kelis gamybos etapus; panašiai, instrukcija konvertuojama į atitinkamų mikro{6}}operacijų seriją procesoriaus viduje. Šių mikro{8}}operacijų atlikimas iš eilės reiškia visos komandos vykdymą.
Instrukcijos vykdymas
Žemos-pagalbos procesoriuose komandų vykdymas yra nuoseklus; paprasčiau tariant, viena instrukcija baigiama prieš prasidedant kitai. Tai panašu į pirmiau minėtą gamyklą, kurią sudaro tik nedidelis cechas ir vienas dirbantis individualus savininkas: gavęs užsakymą jis būtų visiškai užsiėmęs pirmojo užsakymo vykdymu, o antro negalėtų priimti. Taigi užsakymų gavimo ir vykdymo-arba instrukcijų gavimo ir vykdymo- ciklas yra nuoseklus procesas. Vėliau viršininkas išsiaiškino, kad užsakymų priėmimas nereikalauja daug laiko. Su asistento pagalba jiedu galėjo dirbti savarankiškai; tai leido viršininkui priimti naują užsakymą ir tuo pačiu užbaigti ankstesnio užsakymo gaminius. Kalbant apie procesoriaus architektūrą, tai atitinka instrukcijų-gavimo vieneto atskyrimą nuo instrukcijų-vykdymo vieneto. Vadinasi, procesorius gali lygiagrečiai gauti kitą komandą vykdydamas dabartinę. Tai buvo kokybinis procesoriaus technologijos šuolis, perkeliant operacijas iš serijinio į lygiagretų apdorojimą ir sukuriant instrukcijų vamzdyno prototipą.
Kai procesorius atliks minėtą veiksmą, likęs iššūkis yra lygiagretaus apdorojimo galimybių tobulinimas. Semdamiesi įkvėpimo iš gamyklos surinkimo linijų, procesorių dizaineriai suskirstė vienos komandos vykdymą į kelis skirtingus etapus-arba „mikro{2}}instrukcijas“-, taip žymiai sumažindami instrukcijų sudėtingumą, supaprastindami loginį dizainą ir padidindami greitį. CPU, naudojančiuose konvejerių technologiją, kai tik viena instrukcija baigia savo pirmąjį „etatą“, kita instrukcija iš karto patenka į konvejerį ir pradeda vykdyti. Akivaizdu, kad šis konvejerinis metodas reikalauja kelių vykdymo vienetų-ypatybės, įdiegtos x86 lustuose.
