Hva er en oversettelsesbuffer?
En datamaskins sentrale prosesseringsenhet (CPU) har et cache -system kalt Translation Lookaside Buffer (TLB), som er ansvarlig for å oversette fysisk minne til virtuelt minne. Dette er et eget cache -system, fordi det er raskere for CPU å søke på denne hurtigbufferen etter minneadresser enn å plassere den i den vanlige cachen. For å lagre minneadresser bruker TLB sidebordoppføringer, og danner et kart mellom virtuelle og fysiske minneadresser. Når oversettelsesutsettelsesbufferen brukes, kan det enten være en TLB -hit eller glipp, noe som betyr at minnet er funnet eller er ukjent. Datamaskiner kan komme med flere forskjellige TLB -nivåer for å lagre mer minneadresseinformasjon.
Når fysisk minne blir omgjort til virtuelt minne, gjør det enkelt for datamaskinen å finne en hurtigbuffer av den å finne den faktiske minneplasseringen. Denne informasjonen kan plasseres i hoved CPU -cachen, men som gir flere problemer. For å lagre disse dataene, må flere forskjellige tilgangsnivåer brukes, og bremse nedhele prosessen. En oversettelsesutsettelsesbuffer ser rundt på disse nivåene og hjelper CPU med å finne riktig minneplass slik at dataene kan åpnes.
Oversettelses -lookaside -bufferen bruker et sidetabellsystem som kategoriserer de virtuelle minneoversettelsesområdene. Når fysisk minne blir til virtuelt minne, for eksempel når et dokument lagres eller et program brukes, lagrer TLB denne oversettelsen. TLB lagrer ikke selve informasjonen, men der minnet er lokalisert, noe som gjør den til minneffektiv.
For å finne en fil, eller noe i minnearkitekturen, søker CPU gjennom datamaskinen. CPUs første trinn bruker oversettelsesbufferen for å se om minnet er blitt bufret; Dette produserer enten en hit eller glipp. En TLB -hit betyr at det fysiske minnet er hurtigbufret og kan bli funnet raskt. En TLB -glipp betyr at det fysiske minnet ikke er bufret, og CPU må se gjennom alleSidetabellene for å finne minnet, en prosess som er hukommelseseffektiv og tar ekstra tid.
De fleste datamaskiner har flere oversettelsesbuffernivåer. Det laveste nivået har minst mulig informasjon, men er også den raskeste. Når det er for mye informasjon for det første nivået å holde, smitter det inn i de høyere nivåene. Disse nivåene er ikke så raske, men er fremdeles raskere enn CPU -ene som søker gjennom alle sidetabellene for den fysiske minneadressen.