Datamaskin Rørledning
Datapipelining ble først introdusert av Intel i 486-brikken. Måten en rørledning fungerer på er analog med en industriell samlebånd. Innenfor CPUen danner en serie kretsenheter med distinkte funksjoner en instruksjonsbehandlingspipeline; en x86-instruksjon er delt opp i fem eller seks trinn, som deretter utføres sekvensielt av disse enhetene. Dette gjør det mulig å fullføre en instruksjon innenfor en enkelt CPU-klokkesyklus, og øker dermed prosessorens prosesseringshastighet. I den klassiske Pentium-prosessoren består hver heltallspipeline av fire trinn-instruksjonsforhåndshenting, dekoding, kjøring og skriv-tilbake-mens flytende-punkt-pipelinen består av åtte trinn.
Pipelining er en nøkkelteknologi som er mye brukt i mikroprosessorer (CPUer). Den beskriver metoden som instruksjoner utføres på i CPUen; for å forstå pipelining, må man først forstå instruksjoner og prosessen med deres utførelse.
Datainstruksjoner
En datamaskininstruksjon er et spesifikt sett med binære data som forteller CPU-en hva den skal gjøre. Hvis CPU-en sammenlignes med et produksjonsanlegg, er en instruksjon beslektet med en kundeordre; det utløser en rekke handlinger innenfor CPU-"fabrikken", som til slutt gir et beregningsresultat-det ferdige produktet. Hvordan fungerer dette egentlig? For det første må det være en avdeling for å motta bestillinger-prosessorens instruksjonshentingsenhet; for det andre må det være et verksted for å oppfylle ordrene-prosessorens instruksjonsutførelsesenhet. I en fabrikk er produksjonen av en vare delt opp i flere produksjonstrinn; på samme måte konverteres en instruksjon til en serie med tilsvarende mikro-operasjoner i CPUen. Å fullføre disse mikro-operasjonene i rekkefølge utgjør utførelse av hele instruksjonen.
Utførelse av instruksjoner
I lave-CPU-er er instruksjonskjøringen seriell; Enkelt sagt, en instruksjon er fullført før den neste begynner. Dette er som den nevnte fabrikken i sine tidlige dager, bestående av bare et lite verksted og en eneeier som arbeider alene: ved å motta en ordre, ville han være fullt opptatt med å oppfylle den første ordren og ikke kunne akseptere en andre. Syklusen med å motta og fullføre bestillinger-eller hente og utføre instruksjoner-er derfor en seriell prosess. Senere oppdaget sjefen at det ikke tok mye tid å ta bestillinger. Ved hjelp av en assistent kunne de to jobbe selvstendig; dette gjorde det mulig for sjefen å godta en ny bestilling samtidig som han fullførte produktene for den forrige. Når det gjelder CPU-arkitektur, tilsvarer dette separasjonen av instruksjons-hentingsenheten fra instruksjons-utførelsesenheten. Følgelig kan CPU-en hente den neste instruksjonen parallelt mens den utfører den gjeldende. Dette representerte et kvalitativt sprang innen CPU-teknologi, som endret operasjoner fra seriell til parallell prosessering og etablerte prototypen til instruksjonsrørledningen.
Når prosessoren har fullført det nevnte trinnet, ligger den gjenværende utfordringen i å forbedre parallellbehandlingsevnene. Etter å ha hentet inspirasjon fra fabrikkens samlebånd, delte CPU-designere ned utførelsen av en enkelt instruksjon i flere forskjellige stadier-eller "mikro-instruksjoner"-, og reduserte derved instruksjonens kompleksitet betydelig, forenklet logisk design og økte hastigheten. I CPUer som bruker pipelining-teknologi, så snart en instruksjon fullfører sitt første "stadium", kommer den neste instruksjonen umiddelbart inn i pipelinen for å begynne utførelse. Det er klart at denne pipelining-tilnærmingen krever flere utførelsesenheter-en funksjon implementert i x86 brikker.
