Oversættelsesforeningens buffer

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 30. december 2019; checks kræver 7 redigeringer .

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.

Oversigt

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 %.

Opgaveskift

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:

TLB'er på flere niveauer

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.

Karakteristika

Typiske specifikationer for processorer i 2009 [1] :

TLB og store sider

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.

Se også

Noter

  1. John L. Hennessy. Computerorganisation og design. hardware/software interface. 4. udgave  (engelsk) . - Burlington, MA 01803, USA: Morgan Kaufmann Publishers , 2009. - S. 503. - 703 s. — ISBN 978-0-12-374493-7 .
  2. Hugepages - Debian Wiki . Hentet 1. juni 2012. Arkiveret fra originalen 30. april 2012.

Links