Translation Lookaside Buffer

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Translation Lookaside Buffer (TLB) je součást procesoru, speciální cache HW podpory překladu virtuálních adres na fyzické. TLB obsahuje záznamy ze stránkovacích tabulek, které byly použity v poslední době, aby se při opakovaném přístupu na tytéž adresy nemusely vyhledávat znovu.

U architektury IA-32 nebo AMD64 šetří „pouze“ prohledávání víceúrovňové struktury tabulek v paměti, ale v některých jiných architekturách jsou stránkovací tabulky implementovány softwarově v operačním systému a jejich prohledání je tedy velmi náročné na čas.

TLB je někdy implementovaná jako obsahem adresovatelná pamět (CAM). Vyhledávací klíč CAM je virtuální adresa a výsledkem vyhledávaní je fyzická adresa. Pokud je požadovaná adresa přítomna v TLB, výsledek CAM hledaní je rychlý a získaná fyzická adresa může být použita pro přístup k paměti. Tento stav je nazýván TLB hit. Pokud požadovaná adresa není v TLB uložena, nazývá se tento stav TLB miss, a překlad adres pokračuje vyhledáním stránkovací tabulky v procesu nazývaném page walk. Page walk vyžaduje mnohem více času, s porovnáním s rychlostí procesoru. Celý page walk obsahuje čtení záznamů několika umístění paměti a využívá tyto informace k výpočtu fyzické adresy. Poté co je fyzická adresa získána pomocí page walk, mapování virtuální adresy na fyzickou je uloženo do TLB.