确定地址和页面 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)