Mis on tõlkepuhver?

Arvuti keskprotsessoril (CPU) on vahemälusüsteem, mida nimetatakse translatsioonipuhvriks (TLB), mis vastutab füüsilise mälu tõlkimise eest virtuaalmällu. See on eraldi vahemälusüsteem, sest CPU-l on kiirem otsida sellest vahemälust mäluaadresse, kui paigutada see tavalisse vahemällu. Mäluaadresside salvestamiseks kasutab TLB lehe tabeli kirjeid, moodustades kaardi virtuaalse ja füüsilise mälu aadresside vahel. Kui kasutatakse tõlkepuhvrit, võib esineda TLB tabamus või puudujääk, mis tähendab, et mälu on leitud või teadmata. Arvutitel võib olla mitu erinevat TLB-taset, et salvestada rohkem mäluaadressi teavet.

Kui füüsiline mälu muudetakse virtuaalseks, muudab selle vahemälu loomine arvuti jaoks lihtsaks tegeliku mälupaigutuse leidmise. Selle teabe saab paigutada põhiprotsessori vahemällu, kuid see tekitab mitmeid probleeme. Nende andmete salvestamiseks tuleb kasutada mitut erinevat juurdepääsutaset, mis aeglustab kogu protsessi. Tõlkepuhver vaatab nende tasemete ümber ja aitab CPU-l leida õige mälukoha, et andmeid saaks avada.

Tõlkepuhver kasutab lehetabeli süsteemi, mis liigitab virtuaalmälu tõlkealad. Kui füüsiline mälu muutub virtuaalseks, näiteks dokumendi salvestamisel või programmi kasutamisel, salvestab TLB selle tõlke. TLB ei salvesta teavet ise, vaid seda, kus mälu asub, muutes selle mälu tõhusaks.

Faili või muu mäluarhitektuuri leidmiseks otsib protsessor arvutist. CPU esimene samm on tõlkepuhvri kasutamine, et näha, kas mälu on vahemällu salvestatud; see annab kas tabamuse või möödalaskmise. TLB tabamus tähendab, et füüsiline mälu on vahemällu salvestatud ja see on kiiresti leitav. TLB puudujääk tähendab, et füüsilist mälu pole vahemällu salvestatud ja CPU peab mälu leidmiseks läbi vaatama kõik lehetabelid. See protsess on mälu ebatõhus ja võtab lisaaega.

Enamikul arvutitel on mitu tõlkepuhvri taset. Madalaim tase sisaldab kõige vähem teavet, kuid on ka kiireim. Kui esimese taseme jaoks on liiga palju teavet, levib see kõrgematele tasemetele. Need tasemed ei ole nii kiired, kuid on siiski kiiremad kui protsessor, mis otsib kõigist lehetabelitest füüsilise mälu aadressi.