Vad är en översättning Lookaside Buffer?
En dators centrala behandlingsenhet (CPU) har ett cachisystem som kallas translation lookaside buffert (TLB), som ansvarar för att översätta fysiskt minne till virtuellt minne. Detta är ett separat cachesystem, eftersom det är snabbare för CPU att söka i cachen efter minnesadresser än att placera den i den vanliga cachen. För att lagra minnesadresser använder TLB sidtabellposter och bildar en karta mellan virtuella och fysiska minnesadresser. När översättningen lookaside-buffert används kan det antingen finnas en TLB-hit eller miss, vilket betyder att minnet har hittats eller är okänt. Datorer kan levereras med flera olika TLB-nivåer för att lagra mer minnesadressinformation.
När fysiskt minne förvandlas till virtuellt minne gör det att skapa en cache för det enkelt för datorn att hitta den faktiska minnesplatsen. Denna information kan placeras i huvuddelen av cpu-cachen, men det ger flera problem. För att lagra dessa data måste flera olika åtkomstnivåer användas, vilket bromsar hela processen. En översiktssidesbuffert ser runt dessa nivåer och hjälper CPU att hitta rätt minnesplats så att data kan öppnas.
Översättningen lookaside-bufferten använder ett sidtabellsystem som kategoriserar de virtuella minnesöversättningsområdena. När fysiskt minne förvandlas till virtuellt minne, till exempel när ett dokument lagras eller ett program används, lagrar TLB denna översättning. TLB lagrar inte själva informationen utan där minnet finns, vilket gör det minne effektivt.
För att hitta en fil eller något i minnesarkitekturen söker CPU genom datorn. CPU: s första steg är att använda översättningen lookaside-buffert för att se om minnet har cachats; detta ger antingen en hit eller miss. En TLB-träff betyder att det fysiska minnet är cachelagrat och kan hittas snabbt. En TLB-miss innebär att det fysiska minnet inte är cache, och CPU måste titta igenom alla sidtabeller för att hitta minnet, en process som är minneseffektiv och tar extra tid.
De flesta datorer har flera översiktsbuffernivåer för översättning. Den lägsta nivån har minst information men är också den snabbaste. När det finns för mycket information för den första nivån att hålla, spills det in i de högre nivåerna. Dessa nivåer är inte lika snabba men är fortfarande snabbare än CPU: n som söker igenom alla sidtabeller efter den fysiska minnesadressen.