Kas yra atminties barjeras?

Istoriškai procesoriai buvo tobulai nuoseklūs įrenginiai. Tai labai logiška ir lengvai suprantama, tačiau gali kilti našumo problema. Bėgant metams buvo atlikta daug išradingų procesoriaus dizaino pakeitimų, siekiant išgauti kuo didesnį našumą iš silicio plokštelių. Tačiau vienas iš įdomesnių yra netvarkingas vykdymas. Netvarkinguose CPU vykdymo procesoriuose instrukcijos nebūtinai turi būti vykdomos ta tvarka, kuria jos išduodamos.

Stovi tvarka

Pagrindinė našumo problema, su kuria susiduria CPU užsakymas, vadinama konvejerio sustojimu. Taip atsitinka, kai nurodymas priklauso nuo tam tikros atminties, bet ta atmintis nėra tiesiogiai pasiekiama registre. Tokiu atveju CPU turi rasti tą reikšmę atmintyje. Pirmiausia patikrinama procesoriaus talpykla, nes tai yra greičiausia atminties pakopa. Jei reikšmės nėra, patikrinama sistemos RAM. Per šį laiką CPU turi neveikti, nes nuo atminties priklausoma instrukcija turi būti įvykdyta eilės tvarka prieš pateikiant šias instrukcijas.

Dujotiekio strigimo įtaka gali būti ne tokia bloga, tačiau ji taip pat gali būti gana rimta. Pavyzdžiui, L1 talpykla paprastai gali grąžinti rezultatą, kurio dydis yra 5 CPU ciklai. L2 talpykla gali užtrukti 20 ciklų, L3 – apie 200 ciklų, o sistemos RAM – apie 400 ciklų. Atsižvelgiant į tai, kad CPU gali veikti maždaug 5 GHz dažniu, tai yra 5 milijardai laikrodžio ciklų per sekundę, net 400 ciklų nėra taip blogai (0,000008%). Bet jei turite daug instrukcijų, reikalingų nuorodoms į duomenis, esančius toliau talpyklos pakopose, bendras poveikis gali sukelti pastebimą sulėtėjimą.

Netvarkingas vykdymas ir registro pervadinimas

Vykdymas netvarkingai yra metodas, leidžiantis planuotojui pertvarkyti instrukcijas savo eilėje. Atlikęs šį pertvarkymą, jis gali pasirinkti teikti pirmenybę konkrečioms temoms prieš kitas. Jis taip pat gali nukreipti instrukcijas atgal į eilę, kai jos turi duomenų priklausomybę, kuri dar nebuvo įvykdyta. Tai kiek įmanoma apsaugo nuo dujotiekio strigimo ir sumažina tuščiosios eigos ciklus.

Netvarkingam vykdymui reikalinga funkcija, vadinama registro pervadinimu. CPU gali pasiekti duomenis, saugomus registruose per vieną ciklą. Registrai naudojami skaitomiems ir rašomiems duomenims saugoti. Tačiau labai svarbu užtikrinti, kad kompiuteris apskritai matytų viską, kas vyksta logiška, o ne netvarkinga, procesoriaus ciklo optimizuota tvarka. Kad tai būtų įmanoma, CPU turi daug daugiau loginių registrų, nei reikalauja procesoriaus architektūra.

Duomenys, kuriuos reikia išrašyti, bet turintys „ankstesnę“ instrukciją, kuri dar nebaigta, įrašomi į valdų registrą. Sutvarkius užsakymą, šie duomenys neperkeliami į kitą registrą. Vietoj to, valdos registro pavadinimas pakeičiamas į registro, kuriame jis turėtų būti, pavadinimą. Tai šiek tiek panašu į deserto ruošimą prieš pagrindinį patiekalą, bet po to laikomą šaldytuve, kol ateis laikas jį patiekti.

Šie loginiai registrai yra visiškai neadresuojami. Centrinis procesorius iš tikrųjų gali kreiptis tik į loginius registrus, kurie šiuo metu turi architektūrinių registrų pavadinimus. Be to, centrinis procesorius taip pat pakankamai juos žino, kad jei kitos pertvarkytos instrukcijos remiasi loginio saugojimo registro duomenimis, jie gali naudoti juos, o ne „pasenusius“ architektūrinio registro duomenis tuo konkrečiu empiriniu metu.

Atminties barjerai

Atminties barjeras – dar vadinamas membaru, atminties tvorele arba tvoros instrukcija – yra kompiuterio kodo nurodymas. Tai leidžia programuotojui vykdyti užsakymo apribojimą atminties operacijoms, išleistoms prieš ir po atminties barjero. Atminties barjeras nurodo procesoriaus planuokliui užtikrinti, kad visos instrukcijos būtų apdorotos prieš bet kokią instrukciją po barjero. Tai daroma siekiant užtikrinti, kad svarbios operacijos būtų atliekamos teisinga tvarka.

Paprastai šiuolaikiniuose kompiuteriuose tai netur��tų būti būtina. Netvarkingas vykdymas ir registro pervadinimas yra nusistovėjusios ir brandžios sritys. Nepaisant to, atminties barjeras gali būti naudingas senesniems, mažiau sudėtingiems, netvarkingiems procesoriams arba naudojamas svarbioms atminties operacijoms.

Atminties kliūtys gali turėti tam tikrą našumą. Taip yra todėl, kad jie aktyviai neleidžia procesoriaus planuokliui optimizuoti konkrečias komandų srauto dalis. Tai padidina dujotiekio užstrigimo tikimybę.

Išvada

Atminties barjeras yra instrukcija, užtikrinanti atminties operacijų užsakymo apribojimą. Tai svarbu, nes netvarkingi vykdymo procesoriai gali pertvarkyti konkrečias instrukcijas. Nors registro pervadinimas yra gerai žinomas kaip būdas užtikrinti atminties vientisumą šioje aplinkoje, gali būti naudinga tai užtikrinti rankiniu būdu.

Atminties barjeras verčia procesoriaus planuoklį užtikrinti, kad instrukcijos būtų įvykdytos prieš bet kokį nurodymą po barjero. Tai neleidžia pertvarkyti atminties operacijų. Tai taip pat neleidžia CPU optimizuoti instrukcijų srauto, o tai gali turėti įtakos našumui.


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.