Ohjelman suorittamisen nopeuden lisääminen lisää siten ohjelman nopeutta prosessori. Suorituksen nopeuttamiseksi on keksitty monia tapoja, sekä laitteiston käyttöönotto että ohjelmistoarkkitehtuuri. Havaittiin, että suorittamalla käskyjä samanaikaisesti voidaan lyhentää suorittamiseen tarvittavaa aikaa. Rinnakkaisuuden käsite vuonna 2002 ohjelmointi ehdotettiin. Tämän mukaisesti voidaan suorittaa useampi kuin yksi käsky kellojaksoa kohden. Ohjelmoija voi harjoittaa tätä käsitettä eri tekniikoilla, kuten Putkilinja, useita suoritusyksiköitä ja useita ytimiä . Kaikkien näiden rinnakkaismenetelmien joukossa putkilinjausta harjoitetaan yleisimmin. Joten miten käsky voidaan suorittaa pipelining-menetelmässä? Kuinka se lisää suorituksen nopeutta?
Mikä on putkisto?
Tarkastellaksemme pipelining-käsitettä tarkastellaan juuretasoa siitä, miten ohjelma suoritetaan. Ohje on ohjelman pienin suorituspaketti. Jokainen käsky sisältää yhden tai useamman operaation. Yksinkertaiset skalaariprosessorit suorittavat yhden tai useamman käskyn kellojaksoa kohti, ja jokainen käsky sisältää vain yhden operaation. Ohjeet suoritetaan vaiheiden sarjana odotettujen tulosten tuottamiseksi. Tämä jakso on annettu alla

Ohjeiden suorittamisen järjestys
- JOS: Hakee käskyn käskyrekisteriin.
- ID: Instruction Decode, dekoodaa opkoodin käskyn.
- AG: Osoitegeneraattori, generoi osoitteen.
- DF: Data Fetch, hakee operandit tietorekisteriin.
- EX: Suoritus, suorittaa määritetyn toiminnon.
- WB: Kirjoita takaisin, kirjoittaa tuloksen takaisin rekisteri.
Kaikki ohjeet eivät vaadi kaikkia edellä mainittuja vaiheita, mutta useimmat vaativat. Nämä vaiheet käyttävät erilaisia laitteistotoimintoja. Putkilinjassa nämä eri vaiheet suoritetaan samanaikaisesti. Putkilinjassa näitä vaiheita pidetään eri toimintojen välillä itsenäisinä ja ne voivat olla päällekkäisiä. Siten voidaan suorittaa useita operaatioita samanaikaisesti kunkin toiminnan ollessa omassa itsenäisessä vaiheessa.
Ohje putkilinja
Katsotaanpa, miten ohjeet käsitellään putkilinjassa. Tämä voidaan helposti ymmärtää alla olevan kaavion avulla.

Ohje putkilinja
Oletetaan, että ohjeet ovat riippumattomia. Yksinkertaisessa putkenlaskuprosessorissa on tiettynä ajankohtana vain yksi toimenpide kussakin vaiheessa. Alkuvaihe on IF-vaihe. Joten ensimmäisellä kellojaksolla haetaan yksi operaatio. Kun seuraava kellopulssi saapuu, ensimmäinen operaatio siirtyy ID-vaiheeseen jättäen IF-vaiheen tyhjäksi. Tämä tyhjä vaihe varataan seuraavaan operaatioon. Joten toisen kellopulssin aikana ensimmäinen operaatio on ID-vaiheessa ja toinen operaatio on IF-vaiheessa.
Kolmatta sykliä varten ensimmäinen operaatio on AG-vaiheessa, toinen operaatio on ID-vaiheessa ja kolmas operaatio on IF-vaiheessa. Tällä tavoin käskyt suoritetaan samanaikaisesti ja kuuden jakson jälkeen prosessori antaa täysin suoritetun käskyn kellosykliä kohti.
Onko tämä käsky suoritettu peräkkäin, aluksi ensimmäisen käskyn täytyy käydä läpi kaikki vaiheet, sitten seuraava käsky haetaan? Joten prosessorin tarvitsisi kunkin käskyn suorittamiseksi kuusi kellojaksoa. Mutta johdetussa prosessorissa, koska käskyjen suorittaminen tapahtuu samanaikaisesti, vain alkuperäinen käsky vaatii kuusi jaksoa ja kaikki jäljellä olevat käskyt suoritetaan yhtenä kutakin jaksoa kohden, mikä vähentää suorituksen aikaa ja lisää prosessorin nopeutta.
Putkilinjan arkkitehtuuri
Rinnakkaisuus voidaan saavuttaa laitteisto-, kääntäjä- ja ohjelmistotekniikoilla. Hyödynnetään putkilinjauksen käsitettä tietokonearkkitehtuuri monet prosessoriyksiköt ovat yhteydessä toisiinsa ja toimivat samanaikaisesti. Putkilinjan prosessoriarkkitehtuurissa on erilliset prosessointiyksiköt, jotka on annettu kokonaisluvuille ja liukulukuohjeille. Peräkkäisessä arkkitehtuurissa tarjotaan yksi toiminnallinen yksikkö.

Putkijohdotettu prosessoriyksikkö
Staattisessa putkilinjassa prosessorin tulisi siirtää käsky läpi kaikki putkilinjan vaiheet käskyvaatimuksesta riippumatta. Dynaamisessa putkiprosessorissa käsky voi ohittaa vaiheet vaatimuksensa mukaan, mutta sen täytyy liikkua peräkkäisessä järjestyksessä. Monimutkaisessa dynaamisessa putkiprosessorissa käsky voi ohittaa vaiheet sekä valita vaiheet järjestyksessä.
Putkilinja RISC-prosessoreissa
Suosituin RISC-arkkitehtuuri ARM-prosessori seuraa 3- ja 5-vaiheista putkistoa. Kolmivaiheisessa putkilinjassa vaiheet ovat: Hae, Dekoodaa ja Suorita. Tällä putkilinjalla on 3 syklin viivettä, koska yksittäisen käskyn suorittaminen kestää 3 kellosykliä.

ARM 3-vaiheinen putkisto
Putkistojen asianmukainen toteuttaminen edellyttää myös laitteistoarkkitehtuurin päivittämistä. Kolmivaiheisen putkistamisen laitteisto sisältää rekisteripankin, ALU: n, tynnyrinsiirtimen, osoitegeneraattorin, inkrementin, käskydekooderin ja tietorekisterit.

ARM 3 -vaiheinen putkilinjan tietokanta
Viisissä vaiheissa vaiheet ovat: Hae, Dekoodaa, Suorita, Puskuri / data ja Kirjoita takaisin.
Putkiston vaarat
Tyypillisessä tietokoneohjelmassa on yksinkertaisten ohjeiden lisäksi haaraohjeet, keskeytysoperaatiot, luku- ja kirjoitusohjeet. Putkilinja ei sovellu kaikenlaisiin ohjeisiin. Kun jotkut ohjeet suoritetaan putkilinjassa, ne voivat pysäyttää putken tai huuhdella sen kokonaan. Tämän tyyppisiä putkiston aikana aiheutuvia ongelmia kutsutaan putkilinjan vaaroiksi.
Useimmissa tietokoneohjelmissa yhden käskyn tulosta käytetään toisen käskyn operandina. Kun tällaiset käskyt suoritetaan putkilinjassa, hajoaminen tapahtuu, koska ensimmäisen käskyn tulos ei ole käytettävissä, kun käsky kaksi alkaa kerätä operandeja. Joten käskyn kahden on pysähdyttävä, kunnes yksi käsky suoritetaan ja tulos syntyy. Tämäntyyppistä vaaraa kutsutaan Read-after-write pipelining -vaaraksi.

Lue kirjoittamisen jälkeen putkilinjan vaara
Haarakäskyjen suorittaminen aiheuttaa myös putkilinjan vaaran. Haaratoimintaohjeet suorituksen aikana putkistossa vaikuttaa seuraavien ohjeiden hakuvaiheisiin.

Putkijohtokäyttäytyminen
Putkilinjan edut
- Ohjeiden läpimeno kasvaa.
- Putkivaiheiden määrän kasvu lisää samanaikaisesti suoritettavien käskyjen määrää.
- Nopeampi ALU voidaan suunnitella putkistoa käytettäessä.
- Putkilinjan suorittimet toimivat suuremmilla kellotaajuuksilla kuin RAM.
- Putkilinjaus lisää prosessorin yleistä suorituskykyä.
Putkilinjan haitat
- Putkilinjan prosessorin suunnittelu on monimutkaista.
- Ohjeviive kasvaa putkilinjan suorittimissa.
- Putkimaisen prosessorin läpimenoaikaa on vaikea ennustaa.
- Mitä pidempi putki on, sitä pahempi haaraohjeen ongelma.
Putkilinjaus hyödyttää kaikkia ohjeita, jotka noudattavat samanlaista vaiheiden suoritusta. Suoritimia, joilla on monimutkaiset ohjeet, joissa jokainen käsky käyttäytyy eri tavalla kuin muita, on vaikea toimittaa. Prosessoreilla on kohtuulliset työvälineet, joissa on 3 tai 5 putkivaihetta, koska putkilinjan syvyyden kasvaessa siihen liittyvät vaarat kasvavat. Nimeä jotkut putkilinjan prosessorit putkivaiheineen?