Skip to main content

Hva er en oversettelsesbuffer?

En Computers Central Processing Unit (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 å lage 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 hele prosessen.En oversettelse lookaside buffer ser rundt disse nivåene og hjelper CPU med å finne riktig minneplass slik at dataene kan åpnes.

Oversettelsesutsettelsesbufferen bruker et sidetabellsystem som kategoriserer de virtuelle minnet -oversettelsesområ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.CPU -ene 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 hurtigbufret, og CPU må se gjennom alle sidetabellene for å finne minnet, en prosess som er minne ineffektiv 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.