【问题标题】:How is the logical address divided in case of multilevel page table多级页表的逻辑地址如何划分
【发布时间】:2011-07-04 18:50:42
【问题描述】:
Hi,


In order to use large size page table hierarichal paging is done .
In case of two level page table scheme . for :
logical address space - 32bit - 2^32 
page size - 4kb i.e 2^12

In one level : 

page number - 20bit  calculated as (32 - 12)
page offset - 12 bit 

Now, In two level :

again, page number -  20bit is split into pagenumber(second level) and page offset .also
the address space is (2^20)

considering again page size of 4kb - (2^12)
so page number(second level ) should be calculated as : (20 - 12 ) - 8bits
and page offset : 12 bits.

But, It is mentioned that page number is divided evenly :

i.e page number p1 - 10 bits
    page number p2 - 10 bits
    page offset d - 12bits.

Why is the second level pagenumber divided evenly ? Is it that this division done
arbitarily according the requirement ? Is there no specific method for dividing as in case of single-level page table ?    

任何帮助都是有价值的。 谢谢, 塔齐姆

【问题讨论】:

    标签: memory-management operating-system paging


    【解决方案1】:

    对于 4 KB 页面,最后 12 位是页面的偏移量。剩下 20 位用于 32 位地址。这 20 位用作页表的索引,而不是偏移量。通过在 2 个级别之间平均分配它们,这些表都具有相同的大小。第一个表指定第二个表的地址,第二个表指定页的物理地址。每个索引 10 位意味着每个表中有 1024 个条目。这非常方便,因为这意味着使用 32 位条目时每个表正好是 1 页。

    示例:取地址 0x00FF1234。这个地址的二进制表示是 00000000111111110001001000110100。通过拆分,我们得到 0000000011 1111110001 001000110100,或 0x3 0x3F1 0x234。所以一级表中的第3项给出了二级表的地址,二级表中的0x3F1项给出了所用页的地址,地址是该页的0x234字节。

    【讨论】:

      【解决方案2】:

      This blog系列有一组非常深入的例子,说明页表是如何工作的,如何转换虚拟物理地址等等。

      这是一段摘录;

      【讨论】:

        【解决方案3】:

        很明显,偏移量需要 12 位。 当每个条目的大小为 4 字节时,您会得到外页表 10 位和内表表 10 位的结果。计算如下:

        (2^20 个条目 × 4 字节/条目)/4k 字节 = 2^10 --> 外页表应该有 10 位 (页表占用的空间)/框架(或页面)大小 = 否。内页表

        4k 字节/4 字节 = 2^10 --> 内页表应该有 10 位 (页表中的页面大小)/条目大小 = 否。帧

        它如何均匀地获得 10 位和 10 位。对于不同的情况,不必均匀分布。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-17
          相关资源
          最近更新 更多