Çfarë është Translation Lookaside Buffer?

CPU-të janë kafshë tepër komplekse. Ka një numër të madh pjesësh ndërlidhëse që të gjitha duhet të punojnë në unison të përsosur për të arritur nivelet e performancës që shohim. Performanca e memories është një faktor kyç në performancën e CPU-ve moderne, veçanërisht si një faktor kufizues.

Pse është kaq e rëndësishme shpejtësia e kujtesës?

CPU-të janë tepër të shpejtë, me gjeneratat e fundit që funksionojnë në 5,7 GHz kur ftohen në mënyrë adekuate. Kjo u lejon atyre të kryejnë 5.7 miliardë operacione çdo sekondë. Shumë nga këto operacione kryejnë një veprim në disa lloj të dhënash që duhet të ruhen në memorie.

Kujtesa kryesore e sistemit, e njohur si RAM, është gjithashtu shumë e shpejtë. Fatkeqësisht, është shumë i shpejtë kur krahasohet me çdo gjë tjetër përveç CPU-së. Vonesa absolute në RAM-in modern të nivelit të lartë është rreth 60 nanosekonda. Fatkeqësisht, kjo përkthehet në afërsisht 342 cikle CPU. Për të shpejtuar aksesin në memorie, përdoret një memorie CPU që ruan në mënyrë dinamike të dhënat. Ky cache ndodhet në vetë CPU die dhe përdor qelizat SRAM në vend të qelizave DRAM duke e bërë atë shumë më të shpejtë. Fatkeqësisht, cache e CPU-së është gjithashtu shumë më e vogël se RAM-i i sistemit, në përgjithësi nuk arrin as 100 MB. Prapëseprapë, pavarësisht nga madhësia e tij e vogël, sistemi i cache-it me nivele të CPU-së rrit masivisht performancën e sistemit.

Këtu vjen memoria virtuale për të ngatërruar gjithçka

Kompjuterët modernë përdorin një sistem të quajtur memorie virtuale. Në vend që të alokohen adresat e memories fizike për proceset, përdoren adresat e memories virtuale. Çdo proces ka hapësirën e vet të adresës së memories virtuale. Kjo ka dy përfitime. Së pari, ai siguron ndarje të lehtë midis memories që i përket një procesi dhe kujtesës që i përket një tjetri. Kjo ndihmon në parandalimin e sulmeve ku softueri me qëllim të keq lexon të dhëna nga memoria e softuerit të tjerë, duke aksesuar potencialisht informacione të ndjeshme. Ai gjithashtu fsheh strukturën e kujtesës fizike nga procesi. Kjo i lejon CPU-së të lëvizë pjesë të memories të përdorura rrallë në një skedar paging në ruajtje, pa e çmontuar domosdoshmërisht atë nga RAM-i virtual. Kjo i lejon kompjuterit të menaxhojë butësisht skenarët ku kërkohet më shumë RAM sesa është fizikisht i pranishëm. Pa memorie virtuale,

Fatkeqësisht, nëse përdorni adresa të memories virtuale, kompjuteri duhet t'i përkthejë ato adresa të memories virtuale në adresat e memories fizike për të lexuar të dhënat. Kjo kërkon një tabelë për të ruajtur të gjitha përkthimet e adresave të memories virtuale në adresat e memories fizike. Madhësia e kësaj varet drejtpërdrejt nga sasia e RAM-it në përdorim. Në përgjithësi është mjaft i vogël, të paktën kur krahasohet me kapacitetin e RAM-it të sistemit. Fatkeqësisht, nëse ruani përkthimin midis adresave virtuale dhe adresave fizike në RAM, duhet të bëni dy kërkesa në RAM për çdo kërkesë në RAM. Një për të gjetur adresën fizike për të kërkuar dhe më pas një tjetër për të hyrë në atë vendndodhje.

Futni buffer-in e përkthimit

Zgjidhja për këtë problem është ruajtja e tabelës së përkthimit diku më shpejt. Memoria e CPU-së do t'i përshtatej mirë faturës, të paktën nga këndvështrimi i shpejtësisë. Problemi me këtë, megjithatë, është se cache e CPU-së është e vogël dhe tashmë e përdorur shumë. Jo vetëm që tabela nuk futet në cache, por nëse e bësh këtë do të prishte përdorimin e saj tashmë që përcakton performancën.

Sigurisht, nëse parimi i cache-it tashmë funksionon për aksesin në kujtesë, pse të mos e përsërisni atë për tabelën e përkthimit? Dhe kjo është pikërisht ajo që është Translation Lookaside Buffer, ose TLB. Është një cache me shpejtësi të lartë për përkthimet e fundit të adresave. Nuk është mjaft i madh për të ruajtur të gjithë tabelën, por madhësia e tij e vogël do të thotë se mund të përgjigjet shumë shpejt, brenda një cikli të vetëm orësh.

Çdo kërkesë memorie kalon përmes TLB. Nëse ka një goditje TLB, ai mund të sigurojë adresën e memories fizike për kërkesën aktuale, duke shtuar zakonisht një cikël të vetëm vonesë. Nëse ka një gabim TLB, kërkimi duhet të kryhet nga memoria kryesore. Ka një dënim të vogël të performancës për një humbje të TLB prej rreth 5 ciklesh, një humbje më shumë se e eklipsuar nga vonesa e aksesit në kujtesë. Pasi të merret përkthimi i adresës nga RAM-i i sistemit, ai shtyhet në TLB dhe më pas kërkesa përsëritet me një goditje të menjëhershme TLB.

Shënim: Ekzistojnë skema të ndryshme për dëbimin e TLB. Disa mund të përdorin një skemë First In, First Out ose FIFO. Të tjerët mund të përdorin një skemë më pak të përdorur ose LFU.

Në rastin e rrallë që nuk ka asnjë hyrje në tabelën e përkthimit të adresave, shkaktohet një gabim faqeje, pasi të dhënat e kërkuara nuk janë në RAM. Më pas, OS duhet të trajtojë defektin dhe të transferojë të dhënat nga ruajtja në RAM përpara se kërkesa të vazhdojë.

konkluzioni

Translation Lookaside Buffer, ose TLB, është një cache e CPU-së me shpejtësi të lartë, e dedikuar për ruajtjen e përkthimeve të fundit të adresave nga skedari i faqeve në RAM-in e sistemit. Kjo është e nevojshme pasi sistemet e memories virtuale, siç zbatohen në të gjithë kompjuterët modernë, do të kërkonin dy kërkesa për RAM për çdo kërkesë për RAM. Një për të përkthyer adresën e kujtesës virtuale në një adresë memorie fizike dhe një tjetër për të hyrë në të vërtetë adresën fizike. Duke ruajtur në memorie të fshehtë, vonesa e kujtesës së përkthimeve të fundit mund të reduktohet shumë për hitet TLB.

Duhet pasur kujdes për të siguruar që përkthimet e ruajtura në memorie janë të rëndësishme për procesin aktual aktiv. Meqenëse çdo proces ka një hapësirë ​​​​të ndryshme adresash virtuale, ato nuk mund të ripërdoren. Mos kufizimi i rreptë i kësaj ishte shkaku i cenueshmërisë së Meltdown.


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ë