Articles

GeeksforGeeks

suorittimen suorituskyvyn parantamiseksi meillä on kaksi vaihtoehtoa:
1) parantaa laitteistoa ottamalla käyttöön nopeampia piirejä.
2) Järjestä laitteisto niin, että voidaan suorittaa useampi kuin yksi toimenpide samanaikaisesti.

koska laitteiston nopeudelle on asetettu raja ja nopeampien piirien kustannukset ovat melko korkeat, on hyväksyttävä 2.vaihtoehto.

Putkinousu : Putkitus on prosessi järjestely laitteiston osia CPU siten, että sen yleinen suorituskyky on lisääntynyt. Useamman kuin yhden käskyn samanaikainen suorittaminen tapahtuu liukuhihnaprosessorissa.

nähdäänpä tosielämän esimerkki, joka toimii liukuhihnatoiminnan käsitteenä. Harkitse vesipullojen pakkaamoa. Anna olla 3 vaihetta, joiden läpi pullon tulee kulkea, lisäämällä pullo(I), täyttämällä vesi pulloon(F) ja sulkemalla pullo(t). Tarkastellaan näitä vaiheita Vaihe 1, Vaihe 2 ja Vaihe 3 vastaavasti. Anna kunkin vaiheen kestää 1 minuutti sen toiminnan loppuun.
nyt putkittamattomassa operaatiossa pullo laitetaan ensin laitokseen, 1 minuutin kuluttua se siirretään vaiheeseen 2, jossa vesi täytetään. Nyt vaiheessa 1 ei tapahdu mitään. Samoin, kun pullo siirtyy vaiheeseen 3, sekä Vaihe 1 ja Vaihe 2 ovat tyhjäkäynnillä. Mutta putkikäytössä, kun pullo on vaiheessa 2, toinen pullo voidaan ladata vaiheessa 1. Samoin, kun pullo on vaiheessa 3, voi olla yksi pullo kussakin vaiheessa 1 ja vaiheessa 2. Jokaisen minuutin jälkeen saamme uuden pullon kolmannen vaiheen lopussa. Näin ollen keskimääräinen yhden pullon valmistukseen kuluva aika on :

ilman putkitusta = 9/3 minuuttia = 3m

I F S | | | | | || | | I F S | | || | | | | | I F S (9 minutes)

putkitus = 5/3 minuuttia = 1, 67 m

I F S | || I F S || | I F S (5 minutes)

näin liukuhihnatoiminta lisää järjestelmän tehokkuutta.

Perusputken rakenne

  • putkilinjalla olevassa suorittimessa putkella on kaksi päätä, tulopää ja ulostulopää. Näiden päiden välillä on useita vaiheita / segmenttejä siten, että yhden vaiheen tuotos on kytketty seuraavan vaiheen syötteeseen ja jokainen vaihe suorittaa tietyn operaation.
  • Rajapintarekistereitä käytetään pitämään välituotos kahden vaiheen välissä. Näitä rajapintarekistereitä kutsutaan myös salpaajiksi tai puskureiksi.
  • kaikkia putken vaiheita rajapintarekistereineen ohjataan yhteisellä kellolla.

toteutus liukuhihnaprosessorissa
ohjeiden suoritusjärjestys liukuhihnaprosessorissa voidaan visualisoida aika-avaruuskaavion avulla. Harkitse esimerkiksi suoritinta, jolla on 4 vaihetta ja anna olla 2 ohjetta, jotka suoritetaan. Voimme visualisoida suoritussekvenssin seuraavien aika-avaruuskaavioiden avulla:

ei päällekkäistä suoritusta:

Stage / Cycle 1 2 3 4 5 6 7 8
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 8 Cycle

Overlapped execution:

Stage / Cycle 1 2 3 4 5
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 5 Sykli

Putkivaiheet

RISC-suorittimessa on 5-vaiheinen ohjeputki, jolla voidaan suorittaa kaikki RISC-ohjejoukon ohjeet. Seuraavassa on RISC-putken 5 vaihetta vastaavine operaatioineen:

  • Vaihe 1 (Instruction Fetch)
    tässä vaiheessa suoritin lukee ohjeet muistissa olevasta osoitteesta, jonka arvo on ohjelmalaskurissa.
  • Vaihe 2 (Instruction Decode)
    tässä vaiheessa ohje puretaan ja rekisteritiedoston avulla saadaan arvot ohjeessa käytetyistä rekistereistä.
  • Vaihe 3 (Instruction Execute)
    tässä vaiheessa suoritetaan ALU-operaatioita.
  • Vaihe 4 (Muistiyhteys)
    tässä vaiheessa muistioperandeja luetaan ja kirjoitetaan / sille muistille, joka on läsnä ohjeessa.
  • Vaihe 5 (kirjoita takaisin)
    tässä vaiheessa laskennallinen / noudettu arvo kirjoitetaan takaisin ohjeissa olevaan rekisteriin.

liukuhihnaprosessorin suorituskyky
pitää ” k ”- segmentin putkistoa, jonka kellosyklin aika on ”Tp”. Olkoot liukuhihnaprosessorissa suoritettavat ” n ” tehtävät. Nyt ensimmäinen ohje ottaa ” k ”– syklit tullakseen ulos putkesta, mutta muut ”n – 1″ – ohjeet ottavat vain ” 1 ”- syklin kukin, eli yhteensä ”n-1″ – syklit. Eli aika, joka kuluu”n”-ohjeiden suorittamiseen liukuhihnasuorittimessa:

 ETpipeline = k + n – 1 cycles = (k + n – 1) Tp

samassa tapauksessa liukuhihnasuorittimelle ” n ”-ohjeiden suoritusaika on:

 ETnon-pipeline = n * k * Tp

niin liukuhihnasuorittimen nopeus (S) muuhun kuin liukuhihnasuorittimeen nähden, kun ” n ” – tehtävät ovat suoritetaan samalla prosessorilla on:

 S = Performance of pipelined processor / Performance of Non-pipelined processor

koska suorittimen suorituskyky on kääntäen verrannollinen suoritusaikaan, meillä on,

 S = ETnon-pipeline / ETpipeline => S = / S = / 

kun tehtävien määrä”n”on huomattavasti suurempi kuin k, eli n >> k

 S = n * k / n S = k

missä ” k ” on putken vaiheiden lukumäärä.

myös, Efficiency = Given speed up / Max speed up = s/Smax
me tiedämme, että, Smax = k

So, Efficiency = s/k

through put = number of instructions/Total time to complete the instructions

so, through = N/(k + n – 1) * Tp

katso riippuvuudet ja Datavaarat kohdasta 2 ja putkisto-ja viivytystyypit kohdasta 3.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *