CMD + K

Kapittel 7Begreper & formler · Paging, TLB og sidetabeller
Referanseside · Kapittel 7

Begreper & formler

Alle nøkkelbegrepene og formlene fra Paging, TLB og sidetabeller, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards20 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Side (page)

En fast stor enhet i virtuelt minne.

02Ramme (frame)

En fast stor enhet i fysisk minne der en side kan ligge.

03VPN

Virtual Page Number; delen av en virtuell adresse som identifiserer hvilken side det er snakk om.

04Offset

Bitene som peker til riktig byte inne i en side.

05PTE

Page Table Entry; metadata som forteller hvor siden ligger og hvilke rettigheter den har.

06TLB

Translation Lookaside Buffer; en liten, rask cache for nylige adresseoversettelser.

07Flernivå-sidetabell

Hierarkisk oppdeling av sidetabellen for å unngå å allokere store tabeller for ubrukte deler av adresseområdet.

08Valid-bit

Bit som forteller om en side er gyldig tilordnet prosessen eller ikke.

09Sv39

RISC-V virtuell adressering brukt i xv6-riscv: 39 bits virtuell adresse av 64. 27 bits page index (3 nivåer × 9 bits) + 12 bits offset. Adresserbart minne: 2^39 = 512 GB.

10Page directory (sidekatalog)

En side full av page table entries. I flernivå-paging peker entry på neste nivå sin sidekatalog, helt til siste nivå som peker på den fysiske rammen.

11Multi-level page table

Sidetabell delt i hierarkiske nivåer, der hvert nivå indekseres av en bit-bit av VPN. Sparer minne fordi tomme grener kan utelates (ikke alle nivå-2/3-tabeller må allokeres).

12Linear page table

Klassisk enkelnivå-sidetabell: én entry per virtuell side. Enkel oppslag, men kan bli enormt stor for store adresseområder.

13Inverted page table

Én entry per fysisk ramme i hele systemet (ikke per prosess). Mindre minnebruk totalt, men dyrere oppslag (krever søk/hash) og vanskelig å dele sider mellom prosesser.

14PTE (Page Table Entry)

Datastruktur som mapper VPN → PFN. Inneholder: frame number, valid-bit, present-bit, protection-bits (R/W/X), accessed/dirty-bits, user/kernel-bit.

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

offset-bits-basic

Antall offset-biter

Logg inn for forklaring

Hvis sidestørrelsen er 4 KiB, blir offset-delen 12 biter.

page_sizesidestørrelsen i bytes (typisk 4096)
vpn-bits

Antall VPN-biter

Logg inn for forklaring

Resten av adressen brukes til å identifisere hvilken virtuell side vi er i.

VA_bitsvirtuell adresse-bredde (f.eks. 32 eller 39)
eat

Effektiv tilgangstid med TLB

Logg inn for forklaring

Ved TLB-hit trengs én minneaksess for data. Ved miss må vi også lese sidetabellen.

alphaTLB hit-rate (0 til 1)
T_TLBtid for TLB-oppslag
T_Mtid for ett minneoppslag
offset-bits-bytes

Antall offset-bits

Logg inn for forklaring

4 KB side → log2(4096) = 12 bits offset. 16 KB → 14 bits. 2 KB → 11 bits. Resten av virtuell adresse er VPN.

page_size_bytessidestørrelsen uttrykt i bytes (4 KiB → 4096)
pte-per-nivaa

Antall PTE per nivå (3-nivå paging)

Logg inn for forklaring

Med 4 KB side og 8 B PTE: 4096/8 = 512 entries per nivå → 9 bits per nivå. 3 nivåer × 9 = 27 bits VPN, samme som xv6/Sv39.

pte_sizestørrelsen på én PTE i bytes (typisk 8)
sv39-trans

Hex-translation 3-nivå (Sv39)

Logg inn for forklaring

Plukk de 12 LSB som offset, så 9-bits chunks oppover for L1, L2, L3. Slå opp L3→L2→L1, ta frame fra L1-PTE, konkateneres med offset.

L3,L2,L19-bits indekser i hvert sidekatalog-nivå
offset12 bits inn i siden

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Beregne hvor mange offset- og VPN-bits en virtuell adresse har gitt sidestørrelse
  2. 02Forklare hva en PTE inneholder og hvordan valid-bit, beskyttelses-bits og frame-nummer brukes
  3. 03Beskrive hvordan TLB påvirker effektiv tilgangstid og hvorfor paging ville vært ubrukelig uten den
  4. 04Sammenligne lineær, flernivå og invertert sidetabell med tanke på minnebruk og oppslagskostnad