结构推理 某计算机系统提供224的分页式虚拟地址空间,页面尺寸为28,内存容量为218。假设用户程序中产生一个八进制的虚拟地址:11123456(8)(这里写在小括号里的“8”,表示该数是八进制的意思)。试问如何才能获取这个虚拟地址的物理地址?
【正确答案】与这个虚拟地址的八进制数相对应的二进制数是:
   001 001 001 010011 100 101 110
   由于页面尺寸为28,虚拟地址空间为224,所以在24位的虚拟地址里,由左往右的16位表示页号,其余8位表示页内位移,即上述二进制形式的高16位“001 001 001 010 011 1”,是这个虚拟地址所在页的页号;其余8位“00 101 110”,是这个虚拟地址在页里的页内位移。用页号去查页表。如果该页在内存块里,那么就可以得到所在的内存块号,就可以得到该块的起始地址。用这个地址与页内位移相加,就可以计算出所对应的物理地址。如果该页不在内存,那就会产生缺页中断,并把所需要的页调入内存块中。然后进行地址转换,得到相应的物理地址。
【答案解析】