假定某采用页式虚拟存储管理的计算机系统中,主存储器容量为1GB,被分为262144块物理块,物理块号为0,1,2,……,262143。某进程的地址空间占4页,逻辑页号为0,1,2,3,被分配到主存储器的第20,45,101,58号物理块中。回答:
(1)内存物理地址至少应该用多少位字长来表示
(2)进程每一页的长度为多少字节逻辑地址中的页内地址应占用多少位字长
(3)把进程中每一页在分到的主存物理块中的起始地址和结束地址填入下表:
逻辑页号 | 物理起始地址 | 物理结束地址 |
0 | ||
1 | ||
2 | ||
3 |
参考答案:[解答] (1)内存物理地址至少应该用30位字长来表示。
(2)进程每一页的长度为4096字节,逻辑地址中的页内地址占用12位字长。
(3)根据题意,计算逻辑地址对应的物理地址如下表所示:
逻辑页号 物理起始地址 物理结束地址 0 20*4096=81920 21*4096-1=86015 1 45*4096=184320 46*4096-1=188415 2 101*4096=413696 102*4096-1=417791 3 58*4096=237568 59*4096-1=241663
解析: 本题考查对逻辑地址和物理地址转换之问的关系。内存为1GB,表示实际内存为1024*1024*1024=1073741824字节,需要地址线30位才能访问全。分隔成266144块,则每块大小为4096字节,所以,页内地址线要求12位宽。根据页面的映射关系,容易计算出逻辑地址对应的物理地址,见下表。所有地址均从0开始计址。