逻辑地址 与物理地址的转换

转载:https://blog.csdn.net/u014797790/article/details/82012042

逻辑地址=页号+页内地址=p+d;

物理地址=块号+页内地址=f+d;

(两个d是一样的,页表中存储有p与f的对应关系)

  地址总长度位数=页号占位数m+页内地址占位数n 

  逻辑地址中的页数=2^m         (2的 页号位数 次幂)

  一个页面(业内地址)大小= 2^n       (2的 页内地址位数 次幂)

1、求物理地址(绝对地址)长度

题目:在某个分页管理系统中,某一个作业有4个页面(0、1、2、3),被分别装入到主存的第3、4、6、8块中,假定页面和块大小均为1024字节,当作业在CPU上运行时,执行到其地址空间第500号处遇到一条传送命令:mov2100,3100,请计算出MOV指令中两个操作数的物理地址(以上地址均为十进制)。

答案:逻辑地址2100由十进制化为二进制为10  00001  10100,页内地址1024=2^10,所以后10位为页内地址;页面4=2^2,前两位为页号(左面可以接着补齐0),所以页号为10=2,页内地址为00001 10100=52,所以物理地址=6*1024+52=6196

同理,逻辑地址为3100的页号为3,页内地址为28,物理地址=8*1024+28=8220

2、地址转化问题

题目:某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号0、1、2、3分别对应块号5、10、4、7。则逻辑地址0868(H)所对应的物理地址是___(H)。

答案:将逻辑地址0868(H)转化为二进制为0 00010  00011  01000。由于是32(=2的五次方)个页面,所以页号是5位。由于每页为1KB(=2的十次方),所以页内地址应该为10位,所以页号为2,对应的物理块号为4。

物理地址的前两位是4转化为二进制是100,后面10位不变,是0001101000,所以是0001000001101000,转化为十六进制为1068(H)

猜你喜欢

转载自blog.csdn.net/zxx901221/article/details/83189213