Čo je to Translation Lookaside Buffer?

CPU sú neuveriteľne zložité beštie. Existuje obrovské množstvo vzájomne prepojených častí, ktoré musia všetky fungovať v dokonalom súzvuku, aby sa dosiahli úrovne výkonu, ktoré vidíme. Výkon pamäte je kľúčovým faktorom výkonu moderných CPU, konkrétne ako limitujúcim faktorom.

Prečo je rýchlosť pamäte taká dôležitá?

Procesory sú neuveriteľne rýchle, pričom najnovšie generácie bežia na frekvencii 5,7 GHz, keď sú dostatočne chladené. To im umožňuje dokončiť 5,7 miliardy operácií každú sekundu. Mnohé z týchto operácií vykonávajú akciu s určitým typom údajov, ktoré je potrebné uložiť do pamäte.

Hlavná systémová pamäť, známa ako RAM, je tiež veľmi rýchla. Bohužiaľ, je to veľmi rýchle v porovnaní s čímkoľvek iným ako CPU. Absolútna latencia na moderných high-end RAM je rádovo 60 nanosekúnd. Bohužiaľ to znamená približne 342 cyklov CPU. Na urýchlenie prístupu do pamäte sa používa vyrovnávacia pamäť CPU, ktorá dynamicky ukladá údaje do vyrovnávacej pamäte. Táto vyrovnávacia pamäť sa nachádza na samotnom procesore a používa skôr bunky SRAM ako bunky DRAM, vďaka čomu je oveľa rýchlejšia. Bohužiaľ, vyrovnávacia pamäť CPU je tiež oveľa menšia ako systémová RAM, vo všeobecnosti nedosahuje ani 100 MB. Napriek svojej malej veľkosti však viacúrovňový systém vyrovnávacej pamäte CPU výrazne zvyšuje výkon systému.

Tu prichádza virtuálna pamäť, ktorá všetko pokazí

Moderné počítače využívajú systém nazývaný virtuálna pamäť. Namiesto prideľovania adries fyzickej pamäte procesom sa používajú adresy virtuálnej pamäte. Každý proces má svoj vlastný adresný priestor virtuálnej pamäte. To má dve výhody. Po prvé, poskytuje ľahké oddelenie medzi pamäťou, ktorá patrí jednému procesu, a pamäťou, ktorá patrí inému. Pomáha to predchádzať útokom, pri ktorých škodlivý softvér číta údaje z pamäte iného softvéru, čím potenciálne získava prístup k citlivým informáciám. Tiež skryje štruktúru fyzickej pamäte pred procesom. To umožňuje CPU presúvať zriedka používané bity pamäte do stránkovacieho súboru na úložisku bez toho, aby ho nevyhnutne odpájal z virtuálnej pamäte RAM. To umožňuje počítaču jemne spravovať scenáre, v ktorých sa vyžaduje viac pamäte RAM, ako je fyzicky prítomné. Bez virtuálnej pamäte,

Bohužiaľ, ak používate adresy virtuálnej pamäte, počítač musí tieto adresy virtuálnej pamäte skutočne preložiť na adresy fyzickej pamäte, aby mohol čítať údaje. To si vyžaduje tabuľku na uloženie všetkých prekladov adries virtuálnej pamäte na adresy fyzickej pamäte. Veľkosť tohto priamo závisí od množstva používanej pamäte RAM. Vo všeobecnosti je pomerne malý, aspoň v porovnaní s kapacitou systémovej RAM. Bohužiaľ, ak uložíte preklad medzi virtuálnymi adresami a fyzickými adresami do pamäte RAM, musíte na každú požiadavku do pamäte RAM zadať dve požiadavky do pamäte RAM. Jeden na nájdenie fyzickej adresy na vyžiadanie a druhý na skutočný prístup k tomuto umiestneniu.

Zadajte prekladový buffer

Riešením tohto problému je rýchlejšie uloženie prekladovej tabuľky. Cache CPU by sa hodila na účet, aspoň z hľadiska rýchlosti. Problém je však v tom, že vyrovnávacia pamäť CPU je malá a už teraz veľmi využívaná. Tabuľka sa nielenže nezmestí do vyrovnávacej pamäte, ale tým by sa narušilo jej už tak výkon definujúce využitie.

Samozrejme, ak už princíp cache funguje pre prístup do pamäte, prečo to nezopakovať pre tabuľku prekladu? A to je presne to, čo je Translation Lookaside Buffer, alebo TLB. Je to vysokorýchlostná vyrovnávacia pamäť pre posledné preklady adries. Nie je dostatočne veľký na uloženie celého stola, no jeho malá veľkosť znamená, že dokáže reagovať veľmi rýchlo, v rámci jedného hodinového cyklu.

Akákoľvek požiadavka na pamäť ide cez TLB. Ak dôjde k zásahu TLB, môže poskytnúť adresu fyzickej pamäte pre skutočnú požiadavku, zvyčajne pridaním jedného cyklu latencie. Ak dôjde k chybe TLB, vyhľadávanie sa musí vykonať z hlavnej pamäte. Existuje malá penalizácia výkonu za zmeškanie TLB približne 5 cyklov, čo je strata viac ako zatienená latenciou prístupu do pamäte. Akonáhle sa preklad adresy získa zo systémovej RAM, vloží sa do TLB a požiadavka sa potom zopakuje s okamžitým zásahom TLB.

Poznámka: Existujú rôzne schémy vysťahovania TLB. Niektorí môžu používať schému First In, First Out alebo FIFO. Iní môžu použiť schému najmenej často používanú alebo LFU.

V zriedkavých prípadoch, keď sa v tabuľke prekladu adries nenachádza žiadna položka, je spôsobená chyba stránky, pretože požadované údaje nie sú v RAM. Operačný systém musí potom vyriešiť chybu a preniesť údaje z úložiska do pamäte RAM, aby mohla požiadavka pokračovať.

Záver

Translation Lookaside Buffer alebo TLB je vysokorýchlostná vyrovnávacia pamäť CPU určená na ukladanie posledných prekladov adries zo súboru stránky do systémovej RAM. Je to nevyhnutné, pretože systémy virtuálnej pamäte, ako sú implementované vo všetkých moderných počítačoch, by si vyžadovali dve požiadavky na RAM pre každú požiadavku na RAM. Jeden na preklad adresy virtuálnej pamäte na adresu fyzickej pamäte a druhý na skutočný prístup k fyzickej adrese. Uložením nedávnych prekladov do vyrovnávacej pamäte sa môže výrazne znížiť latencia pamäte pre zásahy TLB.

Je potrebné dbať na to, aby preklady uložené vo vyrovnávacej pamäti boli relevantné pre aktuálne aktívny proces. Keďže každý proces má iný priestor virtuálnych adries, nemožno ich znova použiť. Príčinou zraniteľnosti Meltdown nebolo prísne obmedzenie.


Ako klonovať pevný disk

Ako klonovať pevný disk

V modernom digitálnom veku, kde sú údaje cenným aktívom, môže byť klonovanie pevného disku v systéme Windows pre mnohých zásadným procesom. Tento komplexný sprievodca

Ako opraviť načítanie ovládača WUDFRd v systéme Windows 10?

Ako opraviť načítanie ovládača WUDFRd v systéme Windows 10?

Zobrazuje sa vám pri zavádzaní počítača chybové hlásenie, ktoré hovorí, že sa nepodarilo načítať ovládač WUDFRd do vášho počítača?

Ako opraviť kód chyby NVIDIA GeForce Experience 0x0003

Ako opraviť kód chyby NVIDIA GeForce Experience 0x0003

Máte na pracovnej ploche skúsenosti s kódom chyby 0x0003 NVIDIA GeForce? Ak áno, prečítajte si blog a zistite, ako rýchlo a jednoducho opraviť túto chybu.

čo je SMPS?

čo je SMPS?

Pred výberom SMPS pre váš počítač si prečítajte, čo je SMPS a čo znamenajú rôzne hodnotenia účinnosti.

Prečo sa môj Chromebook nezapne

Prečo sa môj Chromebook nezapne

Získajte odpovede na otázku Prečo sa môj Chromebook nezapne? V tejto užitočnej príručke pre používateľov Chromebookov.

Ako nahlásiť phishing spoločnosti Google

Ako nahlásiť phishing spoločnosti Google

V tejto príručke sa dozviete, ako nahlásiť podvodníka spoločnosti Google, aby ste mu zabránili v podvádzaní iných.

Roomba sa zastaví, prilepí a otočí – oprava

Roomba sa zastaví, prilepí a otočí – oprava

Vyriešte problém, kedy sa váš robotický vysávač Roomba zastaví, zasekne a stále sa otáča.

Ako zmeniť nastavenia grafiky na Steam Deck

Ako zmeniť nastavenia grafiky na Steam Deck

Steam Deck ponúka robustný a všestranný herný zážitok priamo na dosah ruky. Aby ste však optimalizovali svoje hranie a zabezpečili to najlepšie možné

Čo je bezpečnosť založená na izolácii?

Čo je bezpečnosť založená na izolácii?

Chceli sme sa ponoriť do témy, ktorá sa vo svete kybernetickej bezpečnosti stáva čoraz dôležitejšou: bezpečnosť založená na izolácii. Tento prístup k

Ako používať Auto Clicker pre Chromebook

Ako používať Auto Clicker pre Chromebook

Dnes sme sa chceli ponoriť do nástroja, ktorý dokáže automatizovať úlohy opakovaného klikania na Chromebooku: Auto Clicker. Tento nástroj vám môže ušetriť čas a