首页 习题正文

46.(8 分)某计算机主存按字节编址,逻辑地址和物理地址都

46.(8 分)某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。 (1)若使用一级页表的分页存储管理方式,逻辑地址结构为∶ 页号(20位)/页内偏移量(12 位) 则页的大小是多少字节?页表最大占用多少字节? (2)若使用二级页表的分页存储管理方式,逻辑地址结构为∶ 页目录号(10位)/页目录号(10位)/页内偏移量(12位) 设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。 (3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为0000 8000H,其长度为 8 KB,被装载到从物理地址 0090 0000H 开始的连续主存空间中。页表从主存0020 0000H 开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面2的起始物理地址。



【参考答案及解析】
(1)因为页内偏移量是12位,所以页大小为4KB,(1分) 页表项数为232/4K=220,该一级页表最大为220×4B=4MB。(2分) (2)页目录号可表示为∶(((unsigned int)(LA))>>22)&0x3FF。(1分) 页表索引可表示为∶(((unsigned int)(LA))>>12)&0x3FF。(1分) 【评分说明】 ①页目录号也可以写成((unsigned int)(LA))>>22;如果两个表达式没有对LA进行类型转换,同样给分。 ②如果用除法和其他开销很大的运算方法,但对基本原理是理解的,同样给分。 ③参考答案给出的是 C 语言的描述,用其他语言(包括自然语言)正确地表述了,同样给分。 (3)代码页面 1 的逻辑地址为 0000 8000H,表明其位干第 8个页处,对应页表中的第8个页表项,所以第 8 个页表项的物理地址 = 页表起始地址+8×页表项的字节数 = 0020 0000H+8×4=0020 0020H。由此可得如下图所示的答案。(3分) 【评分说明】共5个答数。物理地址1和物理地址2共1分;页框号1和页框号2共1分;物理地址3给1分。

正在整理中,欢迎在文下评论区提供答案解析,谢谢!
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/e1dff8bacc44404e.html