首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >浅析如何把逻辑地址转换为物理地址

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

作者头像
三桥君
发布2025-08-28 10:39:03
发布2025-08-28 10:39:03
2130
举报

摘要:微信搜索【三桥君】 本文只讲逻辑地址转换为物理地址的计算方法

一、依据

(1)计算十六进制使用公式

逻辑地址=页号+页内地址 物理地址=块号+页内地址

【解析】 逻辑地址转换为物理地址其实就是页号转换为块号。

他们之间的页内地址是一样的。

然后,我们要搞清楚页号、块号、页内地址怎么求的,然后通过公式带进去就可以求出逻辑/物理地址。

页内地址的表达方式是2进制的,所以不管给的逻辑地址、物理地址都先转换为2进制。具体页内地址取几位,通过题目给的去求,如“每页为1KB”。

(2)计算非十六进制使用公式

物理地址=块号*页内大小+页内地址 页号=逻辑地址/页面大小字节=(取整数) 页内地址=逻辑地址%页面大小字节=(取余数)

二、例题

1、十六进制

设某用户的编程空间共32个页面,每页为1KB,内存容量为16KB。假定用户程序的页表如下所示。请计算逻辑地址0A5CH所对应的物理地址。(要写出计算过程)

在这里插入图片描述
在这里插入图片描述

【分析】 逻辑地址为0A5CH; 页内地址的位数通过“每页为1KB”转换成2的n次幂去求解,n次幂=位数。 页号的位数通过逻辑地址的位数减去页内地址的位数,即16-页内地址的位数。

【解答】 因为 逻辑地址为0A5CH, 所以 逻辑地址转换为2进制为 0000 1010 0101 1100; 因为 1KB=2^10B, 所以 页内地址的位数=10; 所以 页内地址为10 0101 1100;即页号为0000 10。 因为 页号转换为10进制为2, 所以 对应的块号为4; 所以 块号的2进制为000100。 因此,物理地址= 000100 10 0101 1100,即0001 0010 0101 1100。 转换为16进制为125CH。

【说明】 其实这题逻辑地址转换为物理地址的做法就是: 把逻辑地址的页号部分:0000 1010 0101 1100 转换成对应物理地址的块号:0001 0010 0101 1100 这样就完成了转换。

2、非十六进制

在采用分页存储管理的系统中,某作业J的逻辑地址空间为4页(每页2KB),且已知该作业的页面映像表(即页表)如下:试借助地址变换图求出有效逻辑地址4865所对应的物理地址。(要写出计算过程)

在这里插入图片描述
在这里插入图片描述

【分析】 页号=逻辑地址/页面大小字节=(取整数) 页内地址=逻辑地址%页面大小字节=(取余数)

【解答】 页号P=4865/2K=4865/2048(转为10进制)=2, 页内地址W=4865 % 2048=769; 则通过查找页表,可知第2页放于第6块中, 因此逻辑地址4865所对应的物理地址为: 6*2048+769=13057


文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包,后续持续更新。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、依据
    • (1)计算十六进制使用公式
    • (2)计算非十六进制使用公式
  • 二、例题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档