Computer Pipelining
Computerpipelining blev først introduceret af Intel i 486-chippen. Den måde, en rørledning fungerer på, er analog med en industriel samlebånd. Inden for CPU'en danner en række kredsløbsenheder med forskellige funktioner en instruktionsbehandlingspipeline; en x86-instruktion er opdelt i fem eller seks trin, som derefter udføres sekventielt af disse enheder. Dette muliggør fuldførelse af en instruktion inden for en enkelt CPU-clock-cyklus, hvorved CPU'ens behandlingshastighed øges. I den klassiske Pentium-processor består hver heltalspipeline af fire trin-instruktionsforhentning, afkodning, eksekvering og skrivning-tilbage-mens den flydende-point-pipeline omfatter otte trin.
Pipelining er en nøgleteknologi, der er meget udbredt i mikroprocessorer (CPU'er). Den beskriver den metode, hvormed instruktioner udføres i CPU'en; for at forstå pipelining skal man først forstå instruktioner og processen med deres udførelse.
Computer instruktioner
En computerinstruktion er et specifikt sæt binære data, der fortæller CPU'en, hvad den skal gøre. Hvis CPU'en sammenlignes med en produktionsfabrik, er en instruktion beslægtet med en kundeordre; det udløser en række handlinger inden for CPU-"fabrikken", hvilket i sidste ende giver et beregningsresultat-det færdige produkt. Hvordan fungerer dette egentlig? For det første skal der være en afdeling til at modtage ordrer- CPU'ens instruktionshentningsenhed; for det andet skal der være et værksted til at udføre ordrerne-CPU's instruktionsudførelsesenhed. På en fabrik er produktionen af en vare opdelt i flere fremstillingstrin; på samme måde konverteres en instruktion til en serie af tilsvarende mikro-operationer i CPU'en. Udførelse af disse mikro-operationer i rækkefølge udgør udførelsen af hele instruktionen.
Instruktionsudførelse
I low{0}}CPU'er er instruktionsudførelsen seriel; Enkelt sagt, en instruktion er fuldført, før den næste begynder. Dette er ligesom den førnævnte fabrik i dens tidlige dage, der kun bestod af et lille værksted og en eneejer, der arbejder alene: ved at modtage en ordre, ville han være fuldt optaget af at opfylde den første ordre og ude af stand til at acceptere en anden. Cyklussen med at modtage og fuldføre ordrer-eller hente og udføre instruktioner-er således en seriel proces. Senere opdagede chefen, at det ikke tog meget tid at tage imod ordrer. Med hjælp fra en assistent kunne de to arbejde selvstændigt; dette gjorde det muligt for chefen at acceptere en ny ordre og samtidig færdiggøre produkterne til den forrige. Med hensyn til CPU-arkitektur svarer dette til adskillelsen af instruktions-hentningsenheden fra instruktions-udførelsesenheden. Som følge heraf kan CPU'en hente den næste instruktion parallelt, mens den udfører den nuværende. Dette repræsenterede et kvalitativt spring inden for CPU-teknologi, der skiftede operationer fra seriel til parallel behandling og etablerede prototypen af instruktionspipelinen.
Når CPU'en har gennemført det førnævnte trin, ligger den resterende udfordring i at forbedre mulighederne for parallel behandling. Med inspiration fra fabrikkens samlebånd opdelte CPU-designere udførelsen af en enkelt instruktion i flere adskilte trin-eller "mikro-instruktioner"-, hvilket reducerede instruktionskompleksiteten betydeligt, forenklede logisk design og øgede hastigheden. I CPU'er, der anvender pipelining-teknologi, så snart en instruktion afslutter sin første "fase", kommer den næste instruktion straks ind i pipelinen for at begynde udførelsen. Det er klart, at denne pipelining-tilgang kræver flere eksekveringsenheder-en funktion implementeret i x86 chips.
