确定地址和页面 table 大小
Determine addresses and page table size
我知道这个问题已经被问过很多次了,但我仍然觉得自己很纠结。
Given:
physical memory: 2^20
32-bit system
page size: 2^10
我需要确定物理地址和虚拟地址的外观以及计算页面 table 大小。
我不确定我所知道的是否正确,但这是我目前所知道的:
->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
如何计算页面 table 大小?我很困惑,因为每个 PTE 都有虚拟地址和物理地址。是页数*(物理地址+虚拟地址)吗?
如果我设置了当前位会有什么不同?
页面大小 table 取决于您为每个条目保留的元数据位(有效脏等)
基本上大小为:(num_of_pages)*(num_of_bits_for_frame_number + meta_bits)
。
前任。 (valid bit): 2^22*(10 + 1)
我知道这个问题已经被问过很多次了,但我仍然觉得自己很纠结。
Given:
physical memory: 2^20
32-bit system
page size: 2^10
我需要确定物理地址和虚拟地址的外观以及计算页面 table 大小。
我不确定我所知道的是否正确,但这是我目前所知道的:
->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
如何计算页面 table 大小?我很困惑,因为每个 PTE 都有虚拟地址和物理地址。是页数*(物理地址+虚拟地址)吗? 如果我设置了当前位会有什么不同?
页面大小 table 取决于您为每个条目保留的元数据位(有效脏等)
基本上大小为:(num_of_pages)*(num_of_bits_for_frame_number + meta_bits)
。
前任。 (valid bit): 2^22*(10 + 1)