En translation lookaside buffer ( TLB ) er en specialiseret CPU- cache , der bruges til at fremskynde oversættelsen af en virtuel hukommelsesadresse til en fysisk hukommelsesadresse.
TLB bruges af alle moderne processorer med understøttelse af hukommelsessøgning . TLB'en indeholder et fast sæt af poster (fra 8 til 4096) og er en associativ hukommelse . Hver post indeholder overensstemmelsen mellem den virtuelle hukommelsessideadresse og den fysiske hukommelsesadresse. Hvis adressen ikke er i TLB'en, omgår processoren sidetabellerne og gemmer den resulterende adresse i TLB'en, hvilket tager 10 til 60 gange længere tid end at hente adressen fra en post, der allerede er cachelagret af TLB'en. Sandsynligheden for en TLB-miss er lav, i gennemsnit mellem 0,01 % og 1 %.
Hvis målopgaven bruger en anden hukommelseskontekst (sidemappe og sidetabeller) under et kontekstskift , tømmes TLB'en, hvilket reducerer processorydelsen ved efterfølgende hukommelsesadgange (kræver, at sidetabelposter indlæses i en tom TLB). Der er flere strategier til at håndtere oprydning:
I moderne processorer kan flere TLB-niveauer implementeres med forskellige hastigheder og størrelser. Den øverste TLB vil indeholde et lille antal poster, men vil fungere ved en meget høj hastighed, op til et par cyklusser. Efterfølgende niveauer bliver langsommere, men samtidig mere.
Nogle gange er topniveau TLB opdelt i 2 buffere, en til sider, der indeholder eksekverbar kode og en til behandling af data.
Typiske specifikationer for processorer i 2009 [1] :
Mange moderne processorer understøtter 2 typer sider, normal og stor ( Kæmpe side ). For eksempel arbejder x86-processorer typisk med 4 KB-sider, men tillader 4 MB-sider ved hjælp af PSE . For x86-64-processorer er store sider tilgængelige i 2 MB [2] (og 1 GB for nogle modeller).
Oversættelsesposter for store tabeller er også gemt i TLB, men på nogle processorer bruges en separat TLB på 4 til 8 poster til dem.
processorteknologier | Digitale|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionssæt arkitektur | |||||||||
maskinord | |||||||||
Parallelisme |
| ||||||||
Implementeringer | |||||||||
Komponenter | |||||||||
Strømstyring |