Mitä on epäjärjestys?

Tietokoneet ovat monimutkaisia ​​koneita, joissa ei ole prosessoria monimutkaisempaa osaa. Peruskatsauksen tasolla näyttää siltä, ​​​​että suorittimen pitäisi olla suhteellisen yksinkertainen. Se ottaa joukon komentoja, käsittelee ne ja tulostaa sitten tiedot. Tämä ei kuitenkaan juuri muistuta nykyaikaisten prosessorien todellista toimintaa.

Subskalaarista superskalaariin

Varhaiset prosessorit olivat juuri sellaisia ​​kuin odotit. He ottivat ohjeet yksilöllisesti, siinä järjestyksessä kuin heille annettiin, käsittelivät ne loppuun asti ja siirtyivät sitten seuraavaan ohjeeseen. Tämän tyyppiset prosessorit olivat alikkalaarisia ja pystyivät suorittamaan vähemmän kuin yhden käskyn kellojaksoa kohden. CPU-suunnittelijat havaitsivat, että ohjeen suorittamisessa oli monia eri vaiheita. Jokainen näistä vaiheista vaati erilaista laitteistoa. Tämä tarkoitti, että kun yhtä käskyä suoritettiin koko sekvenssin läpi kerrallaan, jotkin laitteiston osat jäivät käyttämättä. Kaikissa prosessoreissa käyttämättömät laitteet ovat hyödyttömiä.

Tämän käyttämättömän laitteiston hyödyntämiseksi suorittimen suunnittelu päivitettiin käyttämään liukuhihnalähestymistapaa. Tämä erotti edelleen kunkin vaiheen laitteistot, mutta salli niitä kaikkia käyttää samanaikaisesti useiden ohjeiden avulla. Vaikka jokaisen käskyn läpikulku liukuhihnan läpi kesti vielä muutaman syklin, kokonaismäärä oli yksi käsky jaksoa kohden. Tämä teki prosessoreista skalaarin.

Jotta voisi tehdä enemmän, prosessoreista täytyi tehdä superskalaarinen. Tämän saavuttamiseksi toteutettiin useita rinnakkaisia ​​putkistoja.

Pitämällä putkia syötettynä datalla

Suurin tietokoneiden suorituskykyongelma on tyypillisesti muistin latenssi. Monet käskyt toimivat datalla, joten datan on oltava saatavilla käskyn suorittamista varten. Kysymys kuuluu, mitä teet, jos sinun on odotettava näitä tietoja, koska ne eivät ole heti saatavilla? Perinteisesti vastaus oli vain pysähtyä ja odottaa, että se tulee saataville. Tämä jättää koko putkilinjan tyhjäksi, mahdollisesti satojen suorittimen jaksojen ajaksi. Asiat pahenevat entisestään, kun kahden rinnakkaisen liukuhihnan käskyn täytyy odottaa muistia, koska ensimmäinen kestää jopa toisen datapyynnön. Vaikka suorittimen välimuisti voi auttaa ratkaisemaan tämän ongelman, se ei silti voi korjata sitä. Sen ratkaisemiseksi tarvittiin uusi paradigma. Tuo paradigman muutos oli Out Of Order Execution tai OOO.

Liukuhihnan ensimmäinen vaihe on käskyn dekoodaus. Tämä tarkoittaa, että selvitetään, mitä on tehtävä, ja tarkistetaan, että toimintoon tarvittavat tiedot ovat saatavilla. OOO-suorittimessa dekoodatut ohjeet lisätään jonoon. Ne poistetaan jonosta ja käsitellään vasta, kun niiden tarvitsemat tiedot ovat saatavilla. Kriittisesti sillä ei ole väliä, missä järjestyksessä ohjeet lisättiin jonoon. Jos varhainen ohje odottaa tietoja, uudempi ohje voi ohittaa eteenpäin, jos se on valmis. OOO-prosessorit voivat järjestää uudelleen käsiteltävät käskyt tulevien käskyjen jonon mukaan ja sen mukaan, mitkä niistä ovat valmiita suoritettavaksi.

Kriittiset riippuvuudet

Tämä prosessi edellyttää kahta asiaa. Ensinnäkin se, että todelliset riippuvuudet on mahdollista tunnistaa ja käsitellä luotettavasti. Toiseksi, voit luotettavasti käsitellä ja tunnistaa vääriä riippuvuuksia. Mikä on ero? No, todellinen riippuvuus on riippuvuus, jota ei voida vähentää ollenkaan OOO-järjestelmässä. Helpoin esimerkki on luku-jälkeen-kirjoitus. Jos sinulla on yksi käsky, jonka on tarkoitus kirjoittaa tietoja, ja toinen, jonka on tarkoitus sitten lukea tiedot, näitä ohjeita ei voi järjestää uudelleen. Ne on täytettävä siinä järjestyksessä, jossa ne esitettiin, tai saat turhaa tietoa.

Väärä riippuvuus on sellainen, joka voidaan piilottaa toisella fiksulla tempulla. Otetaan esimerkki kirjoittamisesta lukemisen jälkeen. Ensi silmäyksellä saatat ajatella, että et voi korvata tietoja ennen kuin olet lukenut sen. Asiat eivät kuitenkaan ole niin yksinkertaisia. Entä jos sinulla on toinen paikka, johon voit kirjoittaa uudet tiedot, ja sitten voit vain vaihtaa uudet ja vanhat tiedot, kun vanhat tiedot on luettu? Tämä on rekisterin uudelleennimeämisprosessi ja se on kriittinen OOO-käsittelyn kannalta.

Tyypillisesti käskyjoukko määrittelee joukon arkkitehtonisia rekistereitä, joita järjestelmässä käytetään. Et voi kirjaimellisesti puhua muille. Mutta entä jos teet ylimääräisiä rekistereitä? Voit vain piilottaa ne suurimmaksi osaksi, käyttää niitä sellaisten tietojen tallentamiseen, joita ei olisi pitänyt vielä käsitellä, ja sitten yksinkertaisesti vaihtaa piilotettujen ja arkkitehtonisten rekisterien tunnisteet, kun aikajana on taas oikea. Arkkitehtonisia rekistereitä on aina oikea määrä, mutta ne eivät vain välttämättä ole aina samassa paikassa. Tosimaailman analogia olisi hot-desking.

Johtopäätös

Out Of Order -suoritus on prosessointiparadigma, jossa suoritin voi järjestää käskyt dynaamisesti uudelleen suorituksen aikana. Tämä tehdään aikaisin annettujen ohjeiden perusteella, joista on tietoa saatavilla. Tämä tarkoittaa, että putkiin ladattavat ohjeet ovat aina valmiita suoritettavaksi, eikä dataa odotellessa ole viiveitä. Tietenkin tarvitaan riittävän pitkä jono, jotta se ei täyty dataa odottavilla ohjeilla, mutta se on toteutushaaste. OOO-suoritus perustuu rekisterin uudelleennimeämiseen väärien riippuvuuksien piilottamiseksi. Vaikka nämä käskyt todella suoritettaisiin epäjärjestyksessä, rekisterit nimetään uudelleen siten, että tämä seikka piilotetaan muulta tietokoneelta.


Leave a Comment

Parhaat kannettavat tietokoneet opiskelijoille vuonna 2025

Parhaat kannettavat tietokoneet opiskelijoille vuonna 2025

Opiskelijat tarvitsevat tietyn tyyppisen kannettavan tietokoneen opintojaan varten. Sen tulisi olla paitsi riittävän tehokas suoriutuakseen hyvin valitsemassaan pääaineessa, myös riittävän kompakti ja kevyt kannettavaksi koko päivän.

Kuinka saada kiintolevyn käyttöoikeus takaisin, korjata virhe, jossa kiintolevyä ei voida avata

Kuinka saada kiintolevyn käyttöoikeus takaisin, korjata virhe, jossa kiintolevyä ei voida avata

Tässä artikkelissa opastamme sinua, kuinka saat kiintolevyn takaisin käyttöösi, jos se vikaantuu. Seurataanpa matkaa!

Keskustelun tietoisuuden ja reaaliaikaisen kuuntelun käyttäminen AirPodeilla

Keskustelun tietoisuuden ja reaaliaikaisen kuuntelun käyttäminen AirPodeilla

Ensi silmäyksellä AirPodit näyttävät aivan muilta aidosti langattomilta nappikuulokkeilta. Mutta kaikki muuttui, kun löydettiin muutamia vähän tunnettuja ominaisuuksia.

Tulostimen lisääminen Windows 10:een

Tulostimen lisääminen Windows 10:een

Tulostimen lisääminen Windows 10:een on yksinkertaista, vaikka langallisten laitteiden prosessi on erilainen kuin langattomien laitteiden.

Kuinka tarkistaa RAM-muisti ja RAM-virheet tietokoneellasi korkeimmalla tarkkuudella

Kuinka tarkistaa RAM-muisti ja RAM-virheet tietokoneellasi korkeimmalla tarkkuudella

Kuten tiedät, RAM-muisti on erittäin tärkeä laitteisto-osa tietokoneessa. Se toimii muistina tiedon käsittelyssä ja on tekijä, joka määrää kannettavan tietokoneen tai PC:n nopeuden. Alla olevassa artikkelissa WebTech360 esittelee sinulle joitakin tapoja tarkistaa RAM-virheitä Windows-ohjelmistolla.

3D-tulostuksen perusteet: Pakollinen huoltokatsauslista

3D-tulostuksen perusteet: Pakollinen huoltokatsauslista

Pidä laitteesi hyvässä kunnossa. Tässä on joitakin hyödyllisiä vinkkejä 3D-tulostimesi huoltamiseen.

Mitä tehdä, jos Powerbeats Pro ei lataudu kotelossa

Mitä tehdä, jos Powerbeats Pro ei lataudu kotelossa

Jos Powerbeats Pro ei lataudu, käytä muuta virtalähdettä ja puhdista kuulokkeesi. Jätä kotelo auki lataamisen ajaksi.

Kuinka asentaa SSD työpöydälle ja kannettaville tietokoneille

Kuinka asentaa SSD työpöydälle ja kannettaville tietokoneille

Ostitko juuri SSD:n ja toivot sitä parantamaan tietokoneesi sisäistä tallennustilaa, mutta et tiedä, kuinka asentaa SSD? Lue tämä artikkeli nyt!

10 Parasta NAS-tallennuslaitetta kotiin ja ammattikäyttöön

10 Parasta NAS-tallennuslaitetta kotiin ja ammattikäyttöön

Etsitkö NAS:ia kotiisi tai toimistoon? Katso tämä lista parhaista NAS-tallennuslaitteista.

Kuinka korjata GeForce Now -virhekoodi 0xC272008F

Kuinka korjata GeForce Now -virhekoodi 0xC272008F

Olet asettumassa pelikassan ääreen, ja tästä tulee iso ilta – olet juuri valinnut "Star Wars Outlaws" GeForce Now -suoratoistopalvelusta. Tutustu ainoaan tunnettuun kiertotiehen, joka näyttää kuinka korjata GeForce Now -virhekoodi 0xC272008F, jotta voit jälleen pelata Ubisoftin pelejä.