Multi-level page tables - hierarchical paging

后端 未结 2 1194
名媛妹妹
名媛妹妹 2021-01-30 23:29

Example question from a past operating system final, how do I calculate this kind of question?

A computer has a 64-bit virtual address space and 2048-byte pages. A page

相关标签:
2条回答
  • 2021-01-30 23:53
    • Logical Address bit=64,
    • Number of page will be= 2^64/2048 = 2^64/2^11 = 2^53
    • Pages we have entry sine of page table= 4 Byte ,
    • Number of Entry in 1 Page will be= 2048/4=>512,
    • bit To represent one Entry=Log(512)=9bit,
    • and bit for Page is= 53bit
    • Therefore Number of Level =53/9=>6 Level Page Table
    0 讨论(0)
  • 2021-01-31 00:12

    Since page table must fit in a page, page table size is 2048 bytes and each entry is 4 bytes thus a table holds 2048/4=512 entries. To address 512 entries it requires log2(512)=9 bits. The total number of bits available to encode the entry for each page level is 64-log2(2048)=53 bits (the number of bits of address space minus the page offset bits). Thus the total number of levels required is 53/9=6 (rounded up).

    The x86-64 default page table size is 4096 bytes, each page table must fit in a page and a page table entry is 8 bytes. Current CPUs only implement 48 bits of virtual address space. How many page table levels are required?

    0 讨论(0)
提交回复
热议问题