Kaj je Translation Lookaside Buffer?

CPE so neverjetno zapletene zveri. Obstaja ogromno medsebojno povezanih delov, ki morajo vsi delovati v popolnem sozvočju, da dosežejo raven zmogljivosti, ki jo vidimo. Zmogljivost pomnilnika je ključni dejavnik pri zmogljivosti sodobnih procesorjev, zlasti kot omejevalni dejavnik.

Zakaj je hitrost pomnilnika tako pomembna?

CPU-ji so neverjetno hitri, z najnovejšimi generacijami, ki delujejo pri 5,7 GHz, ko so ustrezno ohlajeni. To jim omogoča, da opravijo 5,7 milijarde operacij vsako sekundo. Mnoge od teh operacij izvedejo dejanje na neki vrsti podatkov, ki jih je treba shraniti v pomnilnik.

Glavni sistemski pomnilnik, znan kot RAM, je tudi zelo hiter. Na žalost je zelo hiter v primerjavi s čim drugim kot s procesorjem. Absolutna zakasnitev pri sodobnem vrhunskem RAM-u je približno 60 nanosekund. Na žalost to pomeni približno 342 ciklov procesorja. Za pospešitev dostopa do pomnilnika se uporablja predpomnilnik procesorja, ki dinamično predpomni podatke. Ta predpomnilnik se nahaja na samem procesorju in uporablja celice SRAM namesto celic DRAM, zaradi česar je veliko hitrejši. Na žalost je tudi predpomnilnik procesorja veliko manjši od sistemskega RAM-a, na splošno ne znaša niti 100 MB. Kljub svoji majhni velikosti stopenjski sistem predpomnilnika procesorja močno poveča zmogljivost sistema.

Prihaja virtualni pomnilnik, da vse pokvari

Sodobni računalniki uporabljajo sistem, imenovan navidezni pomnilnik. Namesto dodeljevanja naslovov fizičnega pomnilnika procesom se uporabljajo naslovi navideznega pomnilnika. Vsak proces ima svoj naslovni prostor navideznega pomnilnika. To ima dve prednosti. Prvič, omogoča preprosto ločevanje med pomnilnikom, ki pripada enemu procesu, in pomnilnikom, ki pripada drugemu. To pomaga preprečevati napade, pri katerih zlonamerna programska oprema bere podatke iz pomnilnika druge programske opreme in tako lahko dostopa do občutljivih informacij. Pred procesom tudi skrije strukturo fizičnega pomnilnika. To omogoča CPU, da premakne redko uporabljene bitove pomnilnika v ostranjevalno datoteko v pomnilniku, ne da bi jo nujno odklopil iz navideznega RAM-a. To omogoča računalniku, da nežno upravlja scenarije, kjer je potrebno več RAM-a, kot je fizično prisotnega. Brez virtualnega pomnilnika,

Če uporabljate naslove navideznega pomnilnika, mora računalnik na žalost dejansko prevesti te naslove navideznega pomnilnika v naslove fizičnega pomnilnika, da prebere podatke. To zahteva tabelo za shranjevanje vseh prevodov naslovov navideznega pomnilnika v naslove fizičnega pomnilnika. Velikost tega je neposredno odvisna od količine uporabljenega RAM-a. Na splošno je precej majhen, vsaj v primerjavi z zmogljivostjo sistemskega RAM-a. Na žalost, če prevod med navideznimi in fizičnimi naslovi shranite v RAM, morate za vsako zahtevo v RAM poslati dve zahtevi v RAM. Ena za iskanje fizičnega naslova za zahtevo in nato druga za dejanski dostop do te lokacije.

Vnesite stranski medpomnilnik za prevajanje

Rešitev tega problema je, da prevajalsko tabelo shranite nekam hitreje. Predpomnilnik procesorja bi se lepo prilegal, vsaj z vidika hitrosti. Težava pri tem pa je, da je predpomnilnik procesorja majhen in že močno izkoriščen. Ne samo, da se tabela ne prilega v predpomnilnik, ampak bi to motilo njeno uporabo, ki že tako določa zmogljivost.

Seveda, če načelo predpomnilnika že deluje za dostop do pomnilnika, zakaj ga ne bi ponovili za prevajalsko tabelo? In točno to je Translation Lookaside Buffer ali TLB. To je hitri predpomnilnik za nedavne prevode naslovov. Ni dovolj velik, da bi shranil celotno mizo, vendar njegova majhnost pomeni, da se lahko odzove zelo hitro, v enem samem taktu.

Vsaka zahteva po pomnilniku gre prek TLB. Če pride do zadetka TLB, lahko zagotovi naslov fizičnega pomnilnika za dejansko zahtevo in običajno doda en sam cikel zakasnitve. Če pride do zgrešenega TLB, je treba iskanje izvesti iz glavnega pomnilnika. Za približno 5 ciklov zamude TLB je manjša zmogljivost, kar je izguba, ki jo več kot zasenči zakasnitev dostopa do pomnilnika. Ko je prevod naslova pridobljen iz sistemskega RAM-a, se potisne v TLB in zahteva se nato ponovi s takojšnjim zadetkom TLB.

Opomba: Obstajajo različne sheme za izselitev TLB. Nekateri lahko uporabljajo shemo First In, First Out ali FIFO. Drugi lahko uporabljajo shemo najmanj pogosto uporabljenih ali LFU.

V redkih primerih, ko v tabeli prevajanja naslovov ni vnosa, pride do napake strani, ker zahtevani podatki niso v RAM-u. OS mora nato obravnavati napako in prenesti podatke iz pomnilnika v RAM, preden se lahko zahteva nadaljuje.

Zaključek

Translation Lookaside Buffer ali TLB je hitri predpomnilnik procesorja, namenjen predpomnjenju nedavnih prevodov naslovov iz datoteke strani v sistemskem RAM-u. To je potrebno, saj bi sistemi navideznega pomnilnika, kot so implementirani v vseh sodobnih računalnikih, zahtevali dve zahtevi za RAM za vsako zahtevo za RAM. Eden za prevajanje naslova navideznega pomnilnika v naslov fizičnega pomnilnika, drugi pa za dejanski dostop do fizičnega naslova. S predpomnjenjem nedavnih prevodov je mogoče močno zmanjšati zakasnitev pomnilnika za zadetke TLB.

Paziti je treba, da so predpomnjeni prevodi ustrezni za trenutno aktiven proces. Ker ima vsak proces drugačen virtualni naslovni prostor, ga ni mogoče ponovno uporabiti. Razlog za ranljivost Meltdown ni bila stroga omejitev.


Kako klonirati trdi disk

Kako klonirati trdi disk

V sodobni digitalni dobi, kjer so podatki dragocena dobrina, je lahko kloniranje trdega diska v sistemu Windows za mnoge ključen postopek. Ta obsežen vodnik

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Ali se med zagonom računalnika soočate s sporočilom o napaki, ki pravi, da se gonilnik WUDFRd ni uspel naložiti v vaš računalnik?

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Ali imate na namizju izkušnje s kodo napake NVIDIA GeForce 0x0003? Če je odgovor pritrdilen, preberite blog in poiščite, kako hitro in enostavno odpraviti to napako.

Kaj je SMPS?

Kaj je SMPS?

Preberite, kaj je SMPS in pomen različnih ocen učinkovitosti, preden izberete SMPS za svoj računalnik.

Kaj je varnost na podlagi izolacije?

Kaj je varnost na podlagi izolacije?

Poglobili se bomo v temo, ki postaja vse bolj pomembna v svetu kibernetske varnosti: varnost, ki temelji na izolaciji. Ta pristop k

Kako uporabljati Auto Clicker za Chromebook

Kako uporabljati Auto Clicker za Chromebook

Danes sem se nameraval poglobiti v orodje, ki lahko avtomatizira ponavljajoča se opravila klikanja na vašem Chromebooku: Auto Clicker. To orodje vam lahko prihrani čas in

Roomba se ustavi, zatakne in obrne – popravi

Roomba se ustavi, zatakne in obrne – popravi

Odpravite težavo, ko se vaš robotski sesalnik Roomba ustavi, zatakne in se nenehno obrača.

Zakaj se moj Chromebook ne vklopi

Zakaj se moj Chromebook ne vklopi

Pridobite odgovore na vprašanje Zakaj se moj Chromebook ne vklopi? V tem koristnem vodniku za uporabnike Chromebooka.

Kako spremeniti grafične nastavitve na Steam Deck

Kako spremeniti grafične nastavitve na Steam Deck

Steam Deck ponuja robustno in vsestransko igralno izkušnjo na dosegu roke. Vendar, da optimizirate svoje igranje in zagotovite najboljše možno

Kako spremeniti številčnico ure na Fitbit Versa 4

Kako spremeniti številčnico ure na Fitbit Versa 4

Brezplačno spremenite številčnico ure svojega Fitbit Versa 4, da bo vaša ura vsak dan drugačna. Poglejte, kako hitro in enostavno je.