1

我知道这个问题已经被问过很多次了,但我仍然觉得我很挣扎。

Given: 
physical memory: 2^20
32-bit system
page size: 2^10

我需要确定物理地址和虚拟地址的外观以及计算页表大小。

我不确定我所拥有的是否正确,但这是我目前所拥有的:

->Virtual address would look like (22 bits specifying page #)(10 bit specifying offset)
->Physical address would look like** (10 bits specifying frame #)(10 bits specifying offset)

页条目数为2^20/2^10=2^10

如何计算页表大小?我很困惑,因为每个 PTE 都有虚拟地址和物理地址。它会是页面条目数*(物理地址+虚拟地址)吗?如果我设置了当前位,会有什么不同?

4

1 回答 1

1

页表的大小取决于您为每个条目保存的元数据位(有效的脏等)

基本上大小是:(num_of_pages)*(num_of_bits_for_frame_number + meta_bits). 前任。(valid bit): 2^22*(10 + 1)

于 2015-05-31T08:39:19.957 回答