Kas yra instrukcijų vamzdynas?

Kas yra instrukcijų vamzdynas?

Bet kuri procesoriaus instrukcija turi kelis savo veikimo etapus. Kiekvienam iš šių etapų reikia vieno procesoriaus ciklo. Šie etapai yra instrukcijų gavimas, instrukcijų dekodavimas, vykdymas, prieiga prie atminties ir įrašymas. Atitinkamai jie gauna nurodymą, kurį reikia užpildyti, atskiria operaciją nuo operuojamų reikšmių, vykdo procesą, atidaro registrą, kuriame bus rašomas rezultatas, ir įrašo rezultatą į atidarytą registrą.

Istoriniai tvarkingi procesoriai

Ankstyvuosiuose kompiuteriuose CPU nenaudojo instrukcijų vamzdyno. Šiuose procesoriuose kiekviena vieno ciklo operacija turėjo įvykti kiekvienai komandai. Tai reiškė, kad prireikė penkių laikrodžio ciklų, kad vidutinė instrukcija būtų visiškai apdorota, kol buvo galima pradėti kitą. Kai kurioms operacijoms gali nereikėti įrašyti rezultato į registrą, o tai reiškia, kad prieigos prie atminties ir įrašymo etapus galima praleisti.

Kas yra instrukcijų vamzdynas?

Subskaliariniame procesoriuje be konvejerio kiekviena kiekvienos komandos dalis vykdoma eilės tvarka.

Vis dėlto kyla problemų, kai vykdoma visa instrukcija prieš pereinant prie kitos instrukcijos. Problema yra talpyklos praleidimas. Centrinis procesorius saugo duomenis, kuriuos jis aktyviai apdoroja, registre. Tai galima pasiekti naudojant vieno ciklo delsą. Problema ta, kad registras yra mažas, nes jis yra įmontuotas procesoriaus šerdyje. CPU turi pereiti į didesnę, bet lėtesnę L1 talpyklą, jei duomenys dar nebuvo įkelti. Jei jo nėra, jis vėl turi pereiti į didesnę ir lėtesnę L2 talpyklą. Kitas žingsnis yra L3 talpykla; paskutinė parinktis yra sistemos RAM. Kiekvienai iš šių parinkčių patikrinti reikia vis daugiau procesoriaus ciklų.

Dabar šis papildomas delsos laikas gali būti didelė problema sistemoje, kuri prieš pradedant kitą komandą turi įvykdyti kiekvieną komandą iki galo. Tai, kas anksčiau buvo 5 ciklų per komandą procesorius, staiga gali užstrigti nuo vienos instrukcijos dešimtims ar šimtams laikrodžio ciklų. Visą tą laiką kompiuteryje nieko daugiau negali atsitikti. Techniškai tai galima šiek tiek palengvinti turint du nepriklausomus branduolius. Tačiau niekas netrukdo jiems abiems daryti tą patį, galbūt vienu metu. Taigi kelių branduolių maršrutas tai neišsispręs.

Klasikinis RISC vamzdynas

RISC reiškia sumažintų instrukcijų rinkinio kompiuterį . Tai procesoriaus dizaino stilius, optimizuojantis našumą, palengvinantis kiekvienos instrukcijos dekodavimą. Tai palyginti su CISC arba sudėtingų instrukcijų rinkinių kompiuteriu, kuris sukuria sudėtingesnius instrukcijų rinkinius, leidžiančius toms pačioms užduotims atlikti mažiau instrukcijų.

Klasikinis RISC dizainas apima instrukcijų vamzdyną. Užuot paleidus bet kurį iš penkių instrukcijų etapų bet kuriame cikle, konvejeris leidžia atlikti visus penkis etapus. Žinoma, jūs negalite paleisti visų penkių vienos instrukcijos etapų cikle. Tačiau į eilę galite sudėti penkias instrukcijas iš eilės su poslinkiu po vieną etapą. Tokiu būdu kiekvieną laikrodžio ciklą galima atlikti naują nurodymą. Siūlomas 5 kartus didesnis našumas, palyginti su nedideliu branduolio sudėtingumo padidėjimu.

Kas yra instrukcijų vamzdynas?

Skaliariniame konvejeriniame procesoriuje kiekvienas komandų vykdymo etapas gali būti atliktas vieną kartą per laikrodžio ciklą. Tai leidžia pasiekti didžiausią vienos užbaigtos instrukcijos pralaidumą per ciklą.

Procesoriai, neturintys konvejerio, visada gali būti subskaliariniai, nes jie negali vykdyti vienos visos komandos per ciklą. Naudodami šį pagrindinį penkių pakopų konvejerį galite sukurti skaliarinį procesorių, kuris gali atlikti kiekvieno proceso nurodymus. Sukūrę dar platesnius vamzdynus, galite sukurti superskaliarinius procesorius, kurie gali vykdyti daugiau nei vieną komandą per laikrodžio ciklą. Žinoma, vis dar yra galimų problemų.

Vis dar nuoseklus

Nė vienas iš šių dalykų neišsprendžia atsakymo laukimo daug ciklų, kai reikia pateikti užklausą dėl skirtingų talpyklos ir RAM lygių. Tai taip pat kelia naują problemą. Ką daryti, jei viena instrukcija remiasi ankstesnės instrukcijos išvestimi? Šios problemos išsprendžiamos savarankiškai naudojant pažangų dispečerį. Ji kruopščiai suplanuoja vykdymo tvarką, kad jokios instrukcijos, kurios remiasi kito išvestimi, nebūtų per arti viena kitos. Jis taip pat tvarko talpyklos praleidimus, pastatydamas instrukciją ir pakeisdamas ją kitomis instrukcijomis, kurios yra paruoštos vykdyti ir nereikalauja rezultato, atnaujindamas nurodymą, kai jis bus paruoštas.

Šie sprendimai gali veikti nekonvejeriniuose procesoriuose, tačiau jie reikalingi superskaliariniam procesoriui, kuris vykdo daugiau nei vieną instrukciją vienu laikrodžiu. Šakos prognozė taip pat yra labai naudinga, nes ji gali bandyti numatyti nurodymo, turinčio daugiau nei vieną galimą rezultatą, rezultatą ir toliau daryti prielaidą, kad ji teisinga, nebent būtų įrodyta kitaip.

Išvada

Dujotiekis leidžia naudoti visas skirtingas procesoriaus galimybes kiekviename cikle. Tai daroma vienu metu vykdydama skirtingus skirtingų instrukcijų etapus. Tai net neprideda daug sudėtingumo procesoriaus dizainui. Tai taip pat sudaro sąlygas leisti daugiau nei vienai instrukcijai atlikti vieną etapą per ciklą.


Kaip klonuoti standųjį diską

Kaip klonuoti standųjį diską

Šiuolaikiniame skaitmeniniame amžiuje, kai duomenys yra vertingas turtas, kietojo disko klonavimas sistemoje „Windows“ daugeliui gali būti labai svarbus procesas. Šis išsamus vadovas

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Ar paleidžiant kompiuterį matote klaidos pranešimą, kuriame rašoma, kad tvarkyklės WUDFRd nepavyko įkelti į kompiuterį?

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Ar jūsų darbalaukyje yra NVIDIA GeForce patirties klaidos kodas 0x0003? Jei taip, perskaitykite tinklaraštį, kad sužinotumėte, kaip greitai ir paprastai ištaisyti šią klaidą.

Kas yra SMPS?

Kas yra SMPS?

Prieš rinkdamiesi SMPS savo kompiuteriui, sužinokite, kas yra SMPS ir ką reiškia skirtingi efektyvumo rodikliai.

Kas yra izoliacija pagrįstas saugumas?

Kas yra izoliacija pagrįstas saugumas?

Ketinau įsigilinti į temą, kuri tampa vis svarbesnė kibernetinio saugumo pasaulyje: izoliacija pagrįstas saugumas. Šis požiūris į

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Šiandien ketinome įsigilinti į įrankį, kuris gali automatizuoti pasikartojančias spustelėjimo užduotis jūsų „Chromebook“ įrenginyje: automatinį spustelėjimą. Šis įrankis gali sutaupyti laiko ir

Roomba sustoja, sustoja ir apsisuka – pataisykite

Roomba sustoja, sustoja ir apsisuka – pataisykite

Išspręskite problemą, kai Roomba robotas siurblys sustoja, prilimpa ir vis sukasi.

Kodėl „Chromebook“ neįsijungia

Kodėl „Chromebook“ neįsijungia

Gaukite atsakymus į klausimą, kodėl „Chromebook“ neįsijungia? Šiame naudingame „Chromebook“ naudotojams skirtame vadove.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

„Steam Deck“ siūlo tvirtą ir įvairiapusę žaidimo patirtį, kuri yra jūsų rankose. Tačiau norėdami optimizuoti savo žaidimus ir užtikrinti geriausią įmanomą

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Pakeiskite savo Fitbit Versa 4 laikrodžio ciferblatą, kad kasdien nemokamai atrodytumėte kitaip. Pažiūrėkite, kaip tai greita ir paprasta.