Memory 当您没有';在物理内存中没有该页

Memory 当您没有';在物理内存中没有该页,memory,memory-management,mips,paging,Memory,Memory Management,Mips,Paging,为了记录在案,这是家庭作业 我有一个问题,我的处理器使用32位虚拟地址和32位物理地址,有4Kb的页面和线性页面表 我收到以下装配说明(MIPS32) 由于该处理器使用4Kb页面,虚拟地址中的偏移量为12位长,因此地址中的最后一个半字节是VPN(3)。使用它来查询页面表,我发现PTE是一个空条目: VPN | Dirty | Present | PPN ---------------------------- 0 | 1 | 0 | 0x1 ---------------

为了记录在案,这是家庭作业

我有一个问题,我的处理器使用32位虚拟地址和32位物理地址,有4Kb的页面和线性页面表

我收到以下装配说明(MIPS32)

由于该处理器使用4Kb页面,虚拟地址中的偏移量为12位长,因此地址中的最后一个半字节是VPN(3)。使用它来查询页面表,我发现PTE是一个空条目:

VPN | Dirty | Present | PPN
----------------------------
0   |   1   |   0     | 0x1
----------------------------
1   |   0   |   1     | 0x0
----------------------------
2   |   1   |   1     | 0x6
----------------------------
3   |   -   |   0     | -
----------------------------
4   |   0   |   1     | 0x4
----------------------------
5   |   0   |   1     | 0x2
----------------------------
6   |   0   |   1     | 0x7
----------------------------
7   |   0   |   1     | 0x3
那么,我怎样才能找到实际地址呢?我被告知内存中的所有物理页都在使用中,但我不知道这是否有帮助。我是否应该假设PPN是0x5,因为这是表中唯一没有的“缺失”页码


谢谢。

如果您定义VPN、PTE和PPN,可能会有所帮助,这样熟悉这些概念但在不同平台上的人,或者20年前的CS课程的人,就能够更好地提供帮助。我们来这里不是为您做功课,而是为您在编写解决方案时遇到的具体问题提供帮助。你自己试一试,如果你被卡住了,请回答我们一个非常具体的问题。@EngineerDollery:我已经试一试了,这正是为什么我问我下一步要做什么,因为它阻碍了我。
VPN | Dirty | Present | PPN
----------------------------
0   |   1   |   0     | 0x1
----------------------------
1   |   0   |   1     | 0x0
----------------------------
2   |   1   |   1     | 0x6
----------------------------
3   |   -   |   0     | -
----------------------------
4   |   0   |   1     | 0x4
----------------------------
5   |   0   |   1     | 0x2
----------------------------
6   |   0   |   1     | 0x7
----------------------------
7   |   0   |   1     | 0x3