如何把逻辑地址转换为物理地址

使用系统架构设计师真题说明(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^12B2的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 

十六进制二进制十进制
逻辑地址1B1A0001 1011 0001 10106938
页号 100011
页内地址B1A1011 0001 10102842
块号601106
物理地址6B1A0110 1011 0001 101027418

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值