Description:
- Virtual/physical address space is divided into equal sized pages:
- A page contains N bytes where N is a power of 2, N=4096(4 KB) is a typical size
 
- A whole page is read or written during data transfer between RAM and disk
 
- Each page in virtual memory space has a unique index called Virtual Page Number (VPN)
 
- Similarly, each page in physical memory space has a unique [Physical Page Number ]
 
 
- When requested, a page is copied from secondary storage into a physical RAM location
 
- Each process/app theoretically have 1 page table
 
- The correspondence (mapping) between virtual to physical addresses is saved
- When the same virtual address is encountered, it is translated using this saved mapping information
 
 
- Registers:
- Page-table base register (PTBR) points to the page table
 
- Page-table length register (PTLR) indicates the size of the page table
 
 
Address Translation:

 
- Page table register: tells the OS where in the memory the table is stored
 
- Page Table Entry (PTEs): 1 entry of the table, has valid bit and the Physical Page Number
 
- When querying: the Virtual Page Number  nb is used to find which entry to get the PPN from and only get it if its valid
- then the PPN + page offset is the byte of physical address needed
 
 
- If read fail, invalid or not exist, then read the page is copied from the secondary storage to memory
 
Page Table requires overhead:
- ex: each process is 4gb (2^32) with page size 4kb (2^12)
 
- therefore
- 32-12: nb of pages for 1 process, 2^20 entries
 
- each entry store PPN for , example, 4 bytes, then page size of 1 process is 4*2^20=4mb
 
- with 10 process, requires 40mb RAM for pages
 
 
Page Fault:
- Miss penalty on a page fault is significant: Up to ~100M cycles
 
- Low miss (page fault) rates are essential
- Fully associative page placement (put anywhere in MM)
 
- LRU replacement of a page when MM is full
 
 
- The Operating System handles page placement
 
- Write policy:
- Too expensive to do true LRU (100K-1M pages); Use LRU approximation
 
- Each PTE has a Reference bit (ref)
 
- Reference bit is set when a page is accessed
 
- OS periodically clears all Reference bits
 
- OS chooses a page with a Reference bit of 0
 
- Write back policy is used (instead of write through)
- Dirty bit in PTE is set on a write to main memory
 
- Page with set Dirty bit is written to disk if replaced
 
 
 
Effective Time Acces (ETA)
- Hit ratio 𝛂 – percentage of times that a page number is found in the TLB
- 80% means the desired page number is found in TLB 80% of the time.
 
 
- Seeking time on TLB is 𝜖 (unit of time) and memory access speed is n (unit of time)
 
- Effective Access Time (EAT) = 𝛂 (n + 𝜖) + (1-𝛂)(2n + 𝜖) = 2n + 𝜖 - 𝛂n
 
- Examples:
- 𝛂 = 80%, 𝜖 ~ 0 (ns), n = 10 (ns) ⇒ EAT = 12 (ns). (20% slowdown)
 
- 𝛂 = 99%, 𝜖 ~ 0 (ns), n = 10 (ns) ⇒ EAT = 10.1 (ns). (1% slowdown)
 
 
Implementation of Page Table
- Issue: too many pages to search for
 
- Hierarhcical PT: break up the logical address space into multiple page tables, n-level page table
- Increased Access Time: Accessing a page may require multiple memory accesses (one for each level of the page table).
 
 
- Hashed PT: The virtual page number is hashed into a page table. This page table contains a chain of elements hashing to the same location
- Complex hashing logic and complex to handle collision
 
 
- Inverted PT: Rather than each process having a page table and keeping track of all possible logical pages, track all physical pages
- This is used
 
- Slower Lookup Times, unless search in parallel