手动从虚拟地址转换为物理地址

时间:2014-12-01 16:11:51

标签: memory architecture operating-system virtual-memory

我在查找某些虚拟地址的相应物理地址时遇到了一些麻烦。我试图按照我在网上看到的类似过程,但遇到了一些问题。以下是一些信息:

该体系结构具有32位虚拟地址,1Kbyte页面和20位物理地址。每个页表是一维数组,因此索引是虚拟页码,内容是相应的物理页码。 (并非所有值都会被使用)

索引 - >值

0

1

2 - > 2

3

4

5 - > 3

6

7 - > 9

8

9 - > 1

10

11

12 - > 0

这是我想要转换为物理地址(十进制)的虚拟地址(二进制)。

11101010

我遇到问题的原因是我的解释是因为虚拟地址是32位,我应该在左边附加大量的前导零,但由于我们不是,所以它似乎无处可去。给出一个0的索引。也许我只是不理解这个过程,但是我花了好几个小时试图找出为这个案例做些什么而且似乎无法弄明白。如果你不能输入一个完整的解决方案,我至少应该理解我做错了什么。

1 个答案:

答案 0 :(得分:0)

页表条目=地址/页面大小; 页面偏移量=地址模式页面大小;

您需要知道页表的结构(未给出信息)才能找到条目中的物理页面框架。乘以页面大小。