逻辑地址向物理地址的转换
首先我们要弄清楚一个问题,逻辑地址是由页号和页内地址组成的,物理地址是与物理块号和页内地址构成的。简单的可以表示为:
逻辑地址 = 页号 + 页内地址
物理地址 = 块号 + 页内地址
逻辑地址向物理地址的转换也就是页号向块号的转换。
如下题:
某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号 | 物理块号 |
0 | 5 |
1 | 10 |
2 | 4 |
3 | 7 |
则逻辑地址0A5D(H)所对应的物理地址是什么?
解答:
在这里由题意可知:
32个页面, 32 = 2 的5次方。说明,页面占5个字节,每页页 1K, 1K = 1024B = 2 的10次方。说明页内地址占10位。内存为16K = 2 的四次方说明,块号占4个字节。
把逻辑地址的16进制转化成2进制:0A5D(H)=0000 1010 0101 1101
页内地址为: 10 0101 1101
页号为: 0010 = 2 ,从表中可以看出,页号2对应的物理块号为4 即0100;
所以物理地址是0001 0010 0101 1101即125D(H)。