首页 > 试题广场 >

回答下面问题

[问答题]

某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构为:

页号(20位)

页内偏移量(12位)

则页的大小是多少字节?页表最大占用多少字节?

(2)若使用二级页表的分页存储管理方式,逻辑地址结构为:

页目录号(10位)

页表索引(10位)

页内偏移量(12位)

设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。

(3)采用( 1)中的分页存储管理方式,一个代码段起始逻辑地址为 0000 8000H,其长度为8 KB,被装载到从物理地址 0090 0000H 开始的连续主存空间中。页表从主存 0020 0000H 开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。 请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面 2的起始物理地址。


最后一问:

得出代码页面1的起始地址为 0090 0000H 后,
由于题意说明“连续”,所以加上一个页面的大小即可得出代码页面2的起始地址,
第一问中已算出一个页面大小为4KB,即十六进制 1000H,
所以相加后结果为 0090 1000H。
发表于 2018-11-18 22:03:26 回复(0)
我人傻了,第二个第三个看不懂啊,为什么期末考试这么难。。😂
发表于 2021-07-07 21:18:02 回复(0)

(1)因为页内偏移量是 12 位,所以页大小为 4 KB,
页表项数为232/4K=220,该一级页表最大为 220×4 B=4 MB。
(2)页目录号可表示为: ( ( ( unsigned int ) ( LA ) ) >> 22 ) & 0x3FF。
页表索引可表示为:( ( ( unsigned int ) ( LA ) ) >> 12 ) & 0x3FF。 

(3)代码页面 1 的逻辑地址为 0000 8000H,表明其位于第 8 个页处,对应页表中的第 8 个页表项,所以第 8 个页表项的物理地址 = 页表起始地址+8×页表项的字节数 = 0020

0000H+8×4 = 0020 0020H。由此可得如下图所示的答案。
 

发表于 2016-11-19 17:03:52 回复(2)
给第二问二级页表加个问题:若该进程共用到了3072个页,则此时此二级页表占用的总空间最小为___
答案是16KB,请问为什么
发表于 2020-12-29 12:00:56 回复(2)