2

有8页的逻辑地址空间,每页2KB。

物理地址空间有 4 帧(帧的大小等于页面的大小)。

我得到一个草图,其中有一个从第 0 页到第 1 帧的箭头,表示第 0 页到第 1 帧之间的映射。

我需要找到逻辑地址 2500 的物理地址。

我想知道我的解决方案是否正确。

这是我的解决方案: 因为一个页面的大小是 2KB,这意味着我们需要 14 位作为偏移量。(因为 2KB=2^14)并且有 8 页(0 到 7)所以我们需要 3 位作为页码。

所以给定的二进制虚拟地址是: 000 00100111000100 =2500
左起前 3 位 - 000 - 表示页码 0 其余位 - 00100111000100 - 表示偏移量 2500

第 0 页 -----> 第 1 帧(草图中的映射)

所以我的物理地址是:0100100111000100 = 18884。

前 2 位 - 表示帧号 - 01。
其余位 - 表示偏移量 - 00100111000100。(有 4 帧,因此我们需要 2 位作为帧号)。

我将不胜感激。
谢谢,施兰

4

2 回答 2

2

2KB = 2^1 * 2^10 = 2^11 ---> 11 位,不是 14

于 2014-04-22T22:33:20.910 回答
1

逻辑地址是连续的,可以按照步骤

(1) 计算 2500/(2*1024)

商为 1 --> 页码。逻辑地址

余数为 452 --> 逻辑地址的偏移量 --> 相同的是物理地址的偏移量

(2) 查找帧号。物理地址页号 (即上面计算的1)的逻辑地址是指。不幸的是,问题中没有给出映射。假设逻辑地址中的第 1 页映射到物理地址中的第 4 帧。

(3) 物理地址为[帧号]*[帧全长]+偏移量,即

4*(2*1024)+452 = 8644 或 0010000111000100(二进制)或 21c4(H)。

希望能帮助到你。

于 2016-06-04T05:52:00.703 回答