某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构为:
页号(20位) | 页内偏移量(12位) |
则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构为:
页目录号(10位) | 页表索引(10位) | 页内偏移量(12位) |
设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。
某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构为:
页号(20位) | 页内偏移量(12位) |
则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构为:
页目录号(10位) | 页表索引(10位) | 页内偏移量(12位) |
设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。
(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