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

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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/681285.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【记录42】centos 7.6安装nginx教程详细教程

环境:腾讯云centos7.6 需求:安装nginx-1.24.0 1. 切入home文件 cd home 2. 创建nginx文件 mkdir nginx 3. 切入nginx文件 cd nginx 4. 下载nginx安装包 wget https://nginx.org/download/nginx-1.24.0.tar.gz 5. 解压安装包 tar -zxvf nginx-1.24.0.…

使用Processing和PixelFlow库创建交互式流体太极动画

使用Processing和PixelFlow库创建交互式流体太极动画 引言准备工作效果展示代码结构代码解析第一部分:导入库和设置基本参数第二部分:流体类定义MyFluidDataConfig 类详解MyFluidData 类详解my_update 方法详解流体类定义完整代码 第三部分:太…

c++11 lambda 捕获,匿名,返回类型后置

lambda就是即写即用的匿名函数&#xff0c;可以用于解决匹配函数参数的问题 int main(int argc,char *argv[]) {vector<int> v{1,2,3,4,5,6,7,8};for_each(v.begin(),v.end(),[](int a){cout<<a;});return 0; } for_each是固定函数&#xff0c;我们需要他但是又没…

如何使用IdeaJ2023创建一个JavaWeb项目

开篇 简单整理一下创建JavaWeb项目的步骤&#xff0c;希望能对您有所帮助。 步骤图解 步骤一: 创建项目 此时得到的项目是如图所示的普通Java项目&#xff1a; 步骤二: 在项目中增加web文件夹 点击File -> Project Structure 点击Project Setting -> Modules -> …

Android 10.0 Launcher3定制folder文件夹2x2布局之一xml文件配置和解析相关属性

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制fo…

PMP考试不用报班可以自学?

随着近年来PMP证书在国内越来越受欢迎&#xff0c;越来越多的人开始报考PMP考试&#xff0c;甚至不少企业还会通过各种奖励政策来鼓励内部项目骨干去考取PMP证书。许多第一次参加PMP考试的人会有这样的疑问&#xff0c;那就是考PMP证书是否必须参加培训班呢&#xff1f;还是说可…

C程序内存分布及static变量

C程序内存分布及static变量 C语言中程序的内存分布 [&#x1f517;1](https://www.cnblogs.com/miaoxiong/p/11021827.html)[&#x1f517;2](https://blog.csdn.net/chen1083376511/article/details/54930191)c/c编译连接后二进制文件的存储动静态存储方式和存储区动态存储方式…

proteus使用问题

1、无法和视频里面一样新建工程 2、实验效果和视频不也一样 自己的电路图(灯不亮)&#xff1a;

【Spring】GoF 之代理模式

一、代理模式 在 Java 程序中的代理模式的作用&#xff1a; 当一个对象需要受到保护的时候&#xff0c;可以考虑使用代理对象去完成某个行为 需要给某个对象的功能进行功能增强的时候&#xff0c;可以考虑找一个代理进行增强 A 对象无法和 B 对象直接交互时&#xff0c;也可以…

21_Scala集合_可变数组ArrayBuffer

文章目录 ArrayBuffer1.创建可变数组ArrayBuffer2.增加数据3.删除数据4.修改数据5.查询数据Appendix ArrayBuffer ArrayBuffer可变数组–感觉优点类似于Java的ArrayList 1.创建可变数组ArrayBuffer –请注意下面的mutable import scala.collection.mutable.ArrayBuffer //m…

Audition处理音频文件背景音(保留人声)

音频文件背景音可以使用Adobe Audition进行处理&#xff0c;Adobe Audition的下载与安装见之前博客&#xff1a; Adobe Audition 2024 下载与安装-CSDN博客https://blog.csdn.net/xiaoxian666/article/details/138612837?spm1001.2014.3001.5502 一、选中一段不含人声的背景…

ESD静电问题 | PCB布局布线对防护效果的影响

【转自微信公众号&#xff1a;韬略科技EMC】