计算机存储器之逻辑地址和物理地址转换详解

1 概述

地址
逻辑地址
定义:存储逻辑概念的地址,网络层及以上使用,如:IP 地址
物理地址
存储实际数据的地址,以 字节 为单位,物理层和数据链路层使用,如:Mac 地址
公式:逻辑地址 = 页号 + 页内地址,其中最高位为 页号
公式:物理地址 = 块号 + 块内地址,其中最高位为 块号
相互转换
实质:逻辑地址中的 ‘页号’ 和 物理地址中的 ‘块号’ 相互转换

2 转换

2.1 逻辑地址 to 物理地址

网工软考真题如图:
在这里插入图片描述

1. 确定 '页内地址' 的位数
   8K = 2^3 * 1K = 2^13 => 页内地址有 13// 1K = 2^10B

2. 确定 '逻辑地址' 的二进制数  // 将 十进制 转 二进制
   (9612)D = (10 0101 1000 1100)B  // 共计 14 位

3. 确定 '页号'
   '页内地址'13 位,'二进制数'14=> 最高 1 位为 '页号'

4.'物理块号' 替换 '页号'
   (3)D = (11)B => 替换 '页号' 1

5. 得到 '物理地址'
   (0110 0101 1000 1100)B = (25996)D
   // 10 0101 1000 1100
    ——— // 将原来的 1 变为 11,前面补 0,得到 011

2.2 物理地址 to 逻辑地址

  • 物理地址 与 逻辑地址 之间的转换是一个逆向的过程
  • 还是以上题为例,物理地址为:(25996)D,转 逻辑地址 的思路如下:
1. 确定 '页内地址' 的位数。13// 计算思路同上

2. 确定 '物理地址' 的二进制数  // 将 十进制 转 二进制
   (25996)D = (110 0101 1000 1100)B // 共计 15 位

3. 确定 '物理块号'
   '页内地址'13 位,'二进制数'15=> 最高 2 位为 '物理块号'

4.'页号' 替换 '物理块号'
   (1)D = (1)B => 替换 '物理块号' 11

5. 得到 '逻辑地址'
   (0010 0101 1000 1100)B = (9612)D
  // 110 0101 1000 1100
    ——— // 将原来的 11 变为 1,前面补 0,得到 001

3 扩展

3.1 在线进制转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值