使用系统架构设计师真题说明(2021年)某计算机系统页面大小为 4K,进程 P1 的页面变换表如下图示,看 P1 要访问数据的逻辑地址为十六进制 1B1AH,那么该逻辑地址经过变换后,其对应的物理地址应为十六进制(C)。
A 、1B1AH B、3B1AH C、6B1AH D、8B1AH
一、逻辑地址与物理地址的关系:
十六进制(二进制):
逻辑地址 = 页号+页内地址(加号“+”为前后拼接)
物理地址 = 块号+页内地址(加号“+”为前后拼接)
页内地址的位数通过“页面大小”转换成2的n次幂去求解,n次幂=位数
页号为逻辑地址去掉页内地址的位数
十进制:
逻辑地址 = 页号*页面大小+页内地址(加号“+”为数学计算符号)
物理地址 = 块号*页面大小+页内地址(加号“+”为数学计算符号)
页号 = 逻辑地址/页面大小(向下取证)
页内地址 = 逻辑地址%页面大小字节(取余)
二、计算例子中的物理地址
使用十六进制计算:
逻辑地址为1B1A(十六进制) 0001 1011 0001 1010(二进制)
页内地址的位数为12,例子中给出“页面大小”为 4K,4KB=2^12B(2的12次幂)。
页内地址为B1A(十六进制) 1011 0001 1010(二进制)
页号为1(十六进制) 0001(二进制)
查表得到页号1(十进制) 0001(二进制)对应的块号为6(十进制) 0110(二进制)
物理地址 = 块号+页内地址(加号“+”为前后拼接)
6B1A = 6 + B1A (十六进制)
0110 1011 0001 1010 = 0110 + 1011 0001 1010(二进制)
使用十进制计算:
逻辑地址为1B1A(十六进制) 6938(十进制)
页内地址为 6938%4096(4K) = 2842(取余)
页号为6938/4096(4K) = 1(向下取证)
查表等页号1(十进制)对应的块号为6(十进制)
物理地址 = 块号*页面大小+页内地址(加号“+”为数学计算符号)
27418 = 6 * 4096 + 2842
三、物理地址为:
十进制 27418
十六进制 6B1A
二进制 0110 1011 0001 1010
十六进制 | 二进制 | 十进制 | |
逻辑地址 | 1B1A | 0001 1011 0001 1010 | 6938 |
页号 | 1 | 0001 | 1 |
页内地址 | B1A | 1011 0001 1010 | 2842 |
块号 | 6 | 0110 | 6 |
物理地址 | 6B1A | 0110 1011 0001 1010 | 27418 |