一、问题:某计算机系统的主存按字节编址,逻辑地址和物理地址都是32位,其内存管理采用两级页表的分页存储管理方式。逻辑地址中页号位10位,页内偏移地址为10位。该计算机系统的两级页表结构如下图所示,图中数值均为十进制数
1.页目录号的位数为多少?页的大小为多少KB?
2.如果页目录项大小为4字节,则一个页目录表最大为多少KB?
3.设某逻辑地址为0x00200643,其页内偏移量是多少?该逻辑地址所对应的物理地址是多少?(用十六进制表示)
二、参考答案
1.
页目录号的位数 = 逻辑地址位数 - 页号位数 - 页内偏移地址位数 = 32 - 10 - 10 = 12
页大小 = 2页内偏移地址位数 = 210 = 1024B= 1KB
2.页目录表大小 = 页目录项大小 * 2页目录号位数 = 4B * 212 = 4 * 4096 = 16384B = 16KB
3.
从逻辑地址0x00200643中分析得到二进制
0000 0000 0010 0000 0000 0110 0100 0011
页内偏移量 = 10 ,所以截取逻辑地址的二进制0 ~ 9位 = 10 0100 0011 转十六进制 = 0x243
页号 = 10 ,所以截取逻辑地址的二进制10 ~ 19位 = 0000 0000 01 ,转十六进制 = 0x1
页目录号 = 12 ,所以截取逻辑地址的二进制20 ~ 31位 = 0000 0000 0010,转十六进制 = 0x2
根据页目录项号 = 2和页号 = 1,查找页表2的1号页,得页框号1511
物理地址 = 页框号 * 页大小 +页内偏移量 = 1511 * 1KB + 0x243 = 495616 + 0x267 = 0x00179C00 + 0x243 = 0x00179E43
标签:10,逻辑,0000,地址,给定,位数,大小,目录 From: https://www.cnblogs.com/saoge/p/18126515