棋子 · 2019年10月16日

多级页表的意义理解较模糊

物理空间希望粒度更细时还能索引到,而采用多级页表,但是使va空间增大,仍采用一级页表是否也可以?采用多级页表的真正意义可否再说明一下?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2019年10月16日

如果用一级的话,page table size会大很多。我们以32位地址为例,如果page size 是4K的话,那么VA的offset地址是11:0, VA的index是31:12, 拿这个地址作为index索引去找page table entry,那么这样的话,page table entry的个数就是1M。 而如果把31:12分成两段,比如,两段都是10 bits, 分别来索引 L1 和L2 page table, 这样的话,有些没有用到的空间,那么就不用定义L2 page table的entry, 这样的话,整个page table entry的个数就会少了很多。entry少了,占用的物理内存也就少了,那么很容易就在cache里面拿到,这样的话性能就能提高。

你的回答