Mikä on ohjeputki?

Mikä on ohjeputki?

Jokaisella prosessorin käskyllä ​​on useita vaiheita sen toiminnassa. Jokainen näistä vaiheista kestää yhden CPU-syklin. Nämä vaiheet ovat käskyn haku, käskyn purku, suoritus, muistin käyttö ja takaisinkirjoitus. Vastaavasti nämä saavat suoritettavan käskyn, erottavat toiminnon operoitavista arvoista, suorittavat prosessin, avaavat rekisterin, johon tulos kirjoitetaan, ja kirjoittavat tuloksen avautuvaan rekisteriin.

Historialliset järjestyksessä prosessorit

Varhaisissa tietokoneissa suoritin ei käyttänyt käskyputkia. Näissä prosessoreissa jokaisen yksijaksoisen toiminnon piti tapahtua jokaiselle käskylle. Tämä tarkoitti, että keskimääräisen käskyn käsitteleminen kokonaan kesti viisi kellojaksoa ennen kuin seuraava voitiin käynnistää. Joidenkin toimintojen ei välttämättä tarvitse kirjoittaa mitään tulosta rekisteriin, mikä tarkoittaa, että muistin käyttö- ja takaisinkirjoitusvaiheet voidaan ohittaa.

Mikä on ohjeputki?

Subskalaariprosessorissa, jossa ei ole liukuhihnaa, jokaisen käskyn jokainen osa suoritetaan järjestyksessä.

Ongelma piilee kuitenkin suoritettaessa täydellinen ohje järjestyksessä ennen kuin voidaan siirtyä seuraavaan ohjeeseen. Ongelma on välimuistin puuttuminen. CPU tallentaa aktiivisesti käsittelemänsä tiedot rekisteriin. Tämä voidaan käyttää yhden syklin latenssilla. Ongelmana on, että rekisteri on pieni, koska se on sisäänrakennettu prosessorin ytimeen. CPU:n on siirryttävä suurempaan, mutta hitaampaan L1-välimuistiin, jos tietoja ei ole jo ladattu. Jos sitä ei ole, sen on siirryttävä uudelleen suurempaan ja hitaampaan L2-välimuistiin. Seuraava vaihe on L3-välimuisti; viimeinen vaihtoehto on järjestelmän RAM. Jokainen näistä vaihtoehdoista vie yhä enemmän suorittimen jaksoja tarkistaakseen.

Nyt tämä ylimääräinen lisätty latenssi voi olla suuri ongelma järjestelmässä, jonka on suoritettava jokainen käsky järjestyksessä kokonaan ennen seuraavan käskyn aloittamista. Se, mikä oli ollut 5-syklinen käskyä kohden suoritin, voi yhtäkkiä jäädä yhteen käskyyn kymmeniä tai satoja kellojaksoja. Koko ajan tietokoneessa ei voi tapahtua mitään muuta. Teknisesti tätä voidaan lieventää jonkin verran käyttämällä kahta itsenäistä ydintä. Mikään ei kuitenkaan estä heitä molempia tekemästä samaa asiaa mahdollisesti samanaikaisesti. Joten moniytiminen reitti ei korjaa tätä.

Klassinen RISC-putkilinja

RISC on lyhenne sanoista Reduced Instruction Set Computer . Se on prosessorin suunnittelutyyli, joka optimoi suorituskyvyn helpottamalla jokaisen käskyn purkamista. Tämä on verrattuna CISC- tai Complex Instruction Set Computeriin, joka suunnittelee monimutkaisempia käskyjoukkoja, joiden ansiosta samojen tehtävien suorittamiseen tarvitaan vähemmän käskyjä.

Klassinen RISC-muotoilu sisältää ohjeputken. Sen sijaan, että suoritettaisiin mitä tahansa viidestä käskyvaiheesta missä tahansa syklissä, liukuhihna sallii kaikkien viiden vaiheen suorittamisen. Tietenkään et voi suorittaa yhden ohjeen kaikkia viittä vaihetta syklissä. Voit kuitenkin asettaa viisi peräkkäistä käskyä jonoon yhden vaiheen siirtymällä. Näin jokaisella kellojaksolla voidaan suorittaa uusi käsky. Tarjoaa potentiaalisen 5-kertaisen suorituskyvyn lisäyksen, mikä lisää ytimen monimutkaisuutta suhteellisen vähän.

Mikä on ohjeputki?

Skalaariliukuhihnaprosessorissa jokainen käskyjen suorittamisen vaihe voidaan suorittaa kerran kellojaksoa kohden. Tämä mahdollistaa yhden suoritetun käskyn maksimimäärän sykliä kohden.

Prosessorit, joilla ei ole liukuhihnaa, voivat koskaan olla vain alikkalaarisia, koska ne eivät voi suorittaa yhtä täydellistä käskyä sykliä kohden. Tällä ensisijaisella viisivaiheisella liukuhihnalla voit tehdä skalaariprosessorin, joka pystyy suorittamaan jokaisen prosessin ohjeen. Luomalla entistä kauaskantoisempia liukuputkia voit tehdä superskalaarisia suorittimia, jotka voivat suorittaa useamman kuin yhden käskyn kellojaksoa kohden. Tietysti mahdollisia ongelmia on edelleen.

Edelleen peräkkäinen

Mikään näistä ei ratkaise kysymystä siitä, että vastausta odotetaan useiden jaksojen ajan, kun on kysyttävä välimuistin ja RAM-muistin eri tasoja. Se tuo mukanaan myös uuden ongelman. Entä jos yksi käsky perustuu edellisen käskyn ulostuloon? Nämä ongelmat ratkaistaan ​​itsenäisesti edistyneen lähettäjän avulla. Se suunnittelee huolellisesti suoritusjärjestyksen, jotta mikään toisen tuotteeseen perustuva käsky ei ole liian lähellä toisiaan. Se käsittelee myös välimuistin poikkeamat pysäköimällä käskyn ja korvaamalla sen käsittelyssä muilla ohjeilla, jotka ovat valmiita suoritettavaksi ja jotka eivät vaadi sen tulosta, ja jatkavat käskyä, kun se on valmis.

Nämä ratkaisut voivat toimia tiivistetyissä prosessoreissa, mutta niitä tarvitaan superskalaariprosessorissa, joka suorittaa useampaa kuin yhtä käskyä kelloa kohden. Haaraennustaja on myös erittäin hyödyllinen, koska se voi yrittää ennustaa sellaisen käskyn lopputuloksen, jolla on useampi kuin yksi mahdollinen tulos, ja jatkaa olettaen, että se on oikea, ellei toisin todisteta.

Johtopäätös

Liukuhihna mahdollistaa prosessorin kaikkien erillisten ominaisuuksien käytön jokaisessa jaksossa. Se tekee tämän ajamalla eri vaiheita eri käskyistä samanaikaisesti. Tämä ei edes lisää paljon monimutkaisuutta suorittimen suunnitteluun. Se myös mahdollistaa useamman kuin yhden käskyn suorittaa yhden vaiheen sykliä kohden.


Kuinka kloonata kiintolevy

Kuinka kloonata kiintolevy

Nykyaikaisella digitaalisella aikakaudella, jossa data on arvokasta omaisuutta, kiintolevyn kloonaus Windowsissa voi olla ratkaiseva prosessi monille. Tämä kattava opas

Kuinka korjata WUDFRd-ohjain ei latautunut Windows 10:ssä?

Kuinka korjata WUDFRd-ohjain ei latautunut Windows 10:ssä?

Näetkö tietokonetta käynnistettäessä virheilmoituksen, jonka mukaan ohjain WUDFRd ei latautunut tietokoneellesi?

NVIDIA GeForce Experience -virhekoodin 0x0003 korjaaminen

NVIDIA GeForce Experience -virhekoodin 0x0003 korjaaminen

Onko työpöydälläsi NVIDIA GeForce -kokemusvirhekoodi 0x0003? Jos kyllä, lue blogi nähdäksesi kuinka korjata tämä virhe nopeasti ja helposti.

Mikä on SMPS?

Mikä on SMPS?

Tutustu SMPS:ään ja eri teholuokkien merkitykseen ennen kuin valitset SMPS:n tietokoneellesi.

Mitä on eristykseen perustuva turvallisuus?

Mitä on eristykseen perustuva turvallisuus?

Aikoivat syventyä aiheeseen, josta on tulossa yhä tärkeämpi kyberturvallisuuden maailmassa: eristykseen perustuva tietoturva. Tämä lähestymistapa

Automaattisen napsautuksen käyttäminen Chromebookille

Automaattisen napsautuksen käyttäminen Chromebookille

Tänään aioimme perehtyä työkaluun, joka voi automatisoida toistuvia napsautuksia Chromebookillasi: automaattiseen napsautuslaitteeseen. Tämä työkalu voi säästää aikaa ja

Roomba pysähtyy, tarttuu ja kääntyy – korjaa

Roomba pysähtyy, tarttuu ja kääntyy – korjaa

Korjaa ongelma, jossa Roomba-robottiimuri pysähtyy, tarttuu kiinni ja kääntyy jatkuvasti ympäri.

Miksi Chromebookini ei käynnisty?

Miksi Chromebookini ei käynnisty?

Saat vastauksia kysymykseen, miksi Chromebookini ei käynnisty? Tässä hyödyllisessä oppaassa Chromebookin käyttäjille.

Grafiikka-asetusten muuttaminen Steam Deckissä

Grafiikka-asetusten muuttaminen Steam Deckissä

Steam Deck tarjoaa vankan ja monipuolisen pelikokemuksen aivan sormiesi ulottuvilla. Kuitenkin optimoidaksesi pelaamisesi ja varmistaaksesi parhaan mahdollisen

Kellotaulun vaihtaminen Fitbit Versa 4:ssä

Kellotaulun vaihtaminen Fitbit Versa 4:ssä

Muuta Fitbit Versa 4:n kellotaulua saadaksesi kellosi erilaisen ilmeen joka päivä ilmaiseksi. Katso kuinka nopeaa ja helppoa se on.