Çfarë është një pengesë e kujtesës?

Historikisht CPU-të kanë qenë makina të përkryera sekuenciale. Kjo është shumë logjike dhe e lehtë për t'u kuptuar, por mund të jetë një çështje e performancës. Me kalimin e viteve, ka pasur shumë rregullime të zgjuara në dizajnet e CPU-së për të nxjerrë sa më shumë performancë të jetë e mundur nga vaferat e silikonit. Një nga më interesantet, megjithatë, është ekzekutimi jashtë rendit. Në CPU-të e ekzekutimit jashtë rendit, udhëzimet nuk duhet domosdoshmërisht të ekzekutohen sipas radhës në të cilën janë lëshuar.

Ngelja në rregull

Çështja kryesore e performancës në të cilën ndeshet një CPU e rregullt quhet stallim i tubacionit. Kjo ndodh kur një instruksion është i varur nga një memorie, por ajo memorie nuk është drejtpërdrejt e disponueshme në një regjistër. Në këtë rast, CPU duhet ta gjejë atë vlerë në memorie. Memoria e kujtesës së CPU-së kontrollohet së pari pasi këto janë niveli më i shpejtë i memories. Nëse vlera nuk është aty, kontrollohet RAM-i i sistemit. Gjatë kësaj kohe, CPU duhet të qëndrojë boshe, pasi instruksioni i varur nga memorja duhet të plotësohet me radhë përpara udhëzimeve të mëposhtme.

Ndikimi i performancës së stallës së tubacionit mund të mos jetë aq i keq, por gjithashtu mund të jetë relativisht i rëndë. Për shembull, cache L1 zakonisht mund të kthejë një rezultat në rendin e madhësisë prej 5 cikleve të CPU. Cache L2 mund të marrë 20 cikle, L3 rreth 200 cikle dhe RAM-i i sistemit rreth 400 cikle. Duke pasur parasysh që një CPU mund të funksionojë në rreth 5 GHz, që është 5 miliardë cikle ore në sekondë, edhe 400 cikle nuk janë aq të këqija (0.000008%). Por nëse keni shumë udhëzime që duhet t'i referohen të dhënave më tej në nivelet e cache-it, efekti kumulativ mund të shkaktojë një ngadalësim të dukshëm.

Ekzekutimi jashtë rendit dhe riemërtimi i regjistrit

Ekzekutimi jashtë rendit është një teknikë që lejon planifikuesin të rirendisë udhëzimet në radhën e tij. Nëpërmjet këtij rirenditjeje, ai mund të zgjedhë t'i japë përparësi temave specifike mbi të tjerat. Ai gjithashtu mund të shtyjë udhëzimet përsëri në radhë kur ata kanë një varësi të të dhënave që ende nuk është përmbushur. Kjo parandalon sa më shumë që të jetë e mundur ngecjet e tubacionit, duke minimizuar ciklet boshe.

Ekzekutimi jashtë rendit kërkon një veçori të quajtur riemërimi i regjistrit. CPU mund të aksesojë të dhënat e mbajtura në regjistra brenda një cikli të vetëm. Regjistrat përdoren për të ruajtur të dhënat që lexohen dhe shkruhen. Megjithatë, është thelbësore të sigurohet që kompjuteri në përgjithësi të shohë gjithçka që ndodh në rendin logjik, jo në rendin jashtë rendit, të optimizuar për ciklin e CPU-së. Për të mundësuar këtë, CPU-të kanë shumë më tepër regjistra logjik sesa kërkon arkitektura e CPU-së.

Të dhënat që duhet të shkruhen, por që kanë një udhëzim “më të hershëm” që nuk është përfunduar ende, vendosen në një regjistër mbajtës. Këto të dhëna nuk transferohen në një regjistër tjetër kur porosia është rregulluar vetë. Në vend të kësaj, emri i regjistrit të mbajtjes ndryshohet në atë të regjistrit ku duhet të jetë. Kjo është disi e ngjashme me përgatitjen e një ëmbëlsirë përpara pjatës kryesore, por më pas mbajtjen e saj në frigorifer derisa të vijë koha për ta servirur.

Këta regjistra logjikë janë tërësisht të paadresuar. CPU mund të adresojë realisht vetëm regjistrat logjikë që aktualisht ndajnë emrin e regjistrave arkitekturorë. Thënë kështu, CPU-ja është gjithashtu e vetëdijshme për to sa që nëse udhëzimet e tjera të rirenditura mbështeten në të dhënat në regjistrin logjik të mbajtjes, ata mund t'i përdorin ato në vend të të dhënave "të vjetruara" në regjistrin arkitekturor në atë kohë të veçantë empirike.

Barrierat e kujtesës

Një pengesë memorie - e referuar gjithashtu si një membar, gardh memorie ose udhëzim i gardhit - është një udhëzim në kodin kompjuterik. Ai lejon një programues të zbatojë një kufizim porosie në operacionet e kujtesës të lëshuara para dhe pas pengesës së memories. Barriera e memories udhëzon planifikuesin e CPU-së të sigurojë që të gjitha instruksionet të përpunohen përpara çdo instruksioni pas barrierës. Kjo bëhet për të siguruar që operacionet e rëndësishme të kryhen në rendin e duhur.

Në përgjithësi, në kompjuterët modernë, kjo nuk duhet të jetë e nevojshme. Ekzekutimi jashtë rregullit dhe riemërtimi i regjistrit janë fusha të mirëpërcaktuara dhe të pjekura. Megjithatë, një pengesë memorie mund të jetë e dobishme për procesorët më të vjetër, më pak të sofistikuar, jashtë rendit ose të përdorur në operacionet kritike të memories.

Barrierat e kujtesës mund të vijnë me disa dëmtime të performancës. Kjo është për shkak se ata në mënyrë aktive parandalojnë planifikuesin e CPU-së nga optimizimi i pjesëve specifike të rrjedhës së udhëzimeve. Kjo rrit mundësinë e bllokimit të tubacionit.

konkluzioni

Një pengesë memorie është një instruksion që siguron një kufizim të renditjes në operacionet e kujtesës. Kjo është e rëndësishme sepse procesorët e ekzekutimit jashtë rendit mund të rirenditin instruksione specifike. Ndërsa riemërtimi i regjistrit është krijuar mirë si një metodë për të siguruar integritetin e kujtesës në këtë mjedis, mund të jetë e dobishme ta siguroni atë me dorë.

Barriera e memories detyron planifikuesin e CPU-së të sigurojë që udhëzimet të jenë përfunduar përpara çdo instruksioni pas barrierës. Kjo parandalon që operacionet e kujtesës të rirenditen. Ai gjithashtu parandalon CPU-në të optimizojë rrjedhën e udhëzimeve, gjë që mund të ndikojë në performancën.


Si të ndryshoni pamjen e orës në një Fitbit Versa 4

Si të ndryshoni pamjen e orës në një Fitbit Versa 4

Ndryshoni pamjen e orës së Fitbit Versa 4 për t'i dhënë orës tuaj një pamje të ndryshme çdo ditë falas. Shihni sa e shpejtë dhe e lehtë është.

Çfarë është SMPS?

Çfarë është SMPS?

Mësoni se çfarë është SMPS dhe kuptimin e vlerësimeve të ndryshme të efikasitetit përpara se të zgjidhni një SMPS për kompjuterin tuaj.

Si të raportoni mashtrimet e phishing në Google

Si të raportoni mashtrimet e phishing në Google

Mësoni se si të raportoni një mashtrues në Google për t'i parandaluar ata të mashtrojnë të tjerët me këtë udhëzues.

Pse nuk po ndizet Chromebook im

Pse nuk po ndizet Chromebook im

Merr përgjigje për pyetjen, Pse Chromebook im nuk po ndizet? Në këtë udhëzues të dobishëm për përdoruesit e Chromebook.

Si të ndryshoni cilësimet e grafikës në Steam Deck

Si të ndryshoni cilësimet e grafikës në Steam Deck

Steam Deck ofron një përvojë të fuqishme dhe të gjithanshme lojrash pikërisht në majë të gishtave tuaj. Megjithatë, për të optimizuar lojërat tuaja dhe për të siguruar më të mirën e mundshme

Si të përdorni Klikuesin Automatik për Chromebook

Si të përdorni Klikuesin Automatik për Chromebook

Sot, do të gërmohej në një mjet që mund të automatizojë detyrat e përsëritura të klikimeve në Chromebook tuaj: Klikuesi automatik. Ky mjet mund t'ju kursejë kohë dhe

Roomba ndalon, ngjitet dhe rrotullohet - Rregullo

Roomba ndalon, ngjitet dhe rrotullohet - Rregullo

Rregulloni një problem ku vakuumi i robotit tuaj Roomba ndalon, ngjitet dhe vazhdon të rrotullohet.

Si të hiqni një GPU nga PC Windows në 2023

Si të hiqni një GPU nga PC Windows në 2023

Keni nevojë të hiqni GPU-në nga kompjuteri juaj? Bashkohuni me mua ndërsa shpjegoj se si të hiqni një GPU nga kompjuteri juaj në këtë udhëzues hap pas hapi.

Çfarë është Shoulder Surfing?

Çfarë është Shoulder Surfing?

Sërfimi i shpatullave është një klasë e sulmit të inxhinierisë sociale. Ai përfshin një sulmues që mbledh informacione duke parë në ekranin tuaj.

Çfarë është një SoC?

Çfarë është një SoC?

Nëse keni parë ndonjëherë brenda një kulle PC, mund të shihni se ka shumë komponentë të ndryshëm. Laptopi juaj mesatar përmban shumicën e të njëjtëve komponentë