我有一个家庭作业问题,我有点困惑如何开始。我必须将逻辑地址0,4,9,15,30转换为它们的物理地址。我看过网上但没能找到类似的例子。我找到了问题但是给出了很多不同的给定信息(例如给我每个逻辑地址的页面索引和偏移量)。下面是问题,我确实做了第1部分,它给了我m = 32和n-3。正确方向的帮助会很棒!
几乎不可能想出上面的表格结构,它没有提供必要的细节。虽然我会尽力帮助你。但是,我会假设这些值是物理地址(可能是它们)。
我们必须考虑以下细节: 地址空间:32个字节 总页数:4 页面大小:8个字节 寻址:1个字节
页表条目:6 8 0 1
严格地说,我们必须索引页表项,并因此得到它的偏移量。 因此,我们只需要2位来索引页表项(4个条目),而6位到页面中的偏移量(8个字节 - 64位)。 此外,我们应该假设一个字节的寻址。
Virtual address: (8 bits) - Total 0 0 (2 bits) - Page table entry. 0 0 0 0 0 0 (6 bits) - Offset into page.
接下来的问题是将逻辑转换为物理:0,4,9,15,30(将这些数字转换为二进制格式总是更好)
One example: PTE OFFSET 0 = (0 0) (0 0 0 0 0 0) It indexes the first page table entry which physical address is 6, and the offset is 0. So 6 + 0 = 6 (Physical address)
Another example: PTE OFFSET 4 = (0 0) (0 0 0 1 0 0) It indexes the first page table entry which physical address is 6, and the offset is 4. So 6 + 4 = 10 (Physical address)
我希望它会对你有所帮助。此致,Raphael S.Carvalho
(1)逻辑空间的大小为32,使用5位,页面大小为8,使用3位。
问题陈述“必需”,我认为这意味着使用的最小位。那么较高阶需要5-3 = 2位而较低阶需要3位。
由于我们使用一个字节寻址,如果我们使用5-3 = 2位来表示页码,那么我们可以发现地址格式不能用于物理地址格式。所以我们可以使用8-3 = 5位的高阶表示页码,其余3位表示页面偏移。
(2)。例如,对于逻辑地址4.它的页码是0,页面偏移是4.根据表,页面0被映射到第6帧。因此,它的物理地址应该是
(00110) (100) = 6 * 8 + 4 =54
希望它可以帮助。