第三章 内存管理 六、基本地址变换结构

news2024/11/25 7:18:14

目录

一、定义

二、物理地址计算步骤

1、设页面大小为L,逻辑地址A到物理地址E的变换过程如下:

2、例子

三、总结


一、定义

基本地址变换结构是指计算机系统中用于实现虚拟地址到物理地址转换的基本硬件结构。

基本地址变换结构通常包括以下几个部分:

  1. 地址转换映射表:是一个存储虚拟地址到物理地址映射关系的表格。通常由操作系统维护,在地址变换时起到查找物理地址的作用。

  2. 地址变换缓存:也称为转换后备缓存或TLB(Translation Lookaside Buffer),是一个快速查找表,用于加速地址变换。它保存了最近访问的一部分虚拟地址到物理地址的映射关系,可以减少对主地址映射表的访问次数。

  3. 地址变换逻辑电路:用于执行基本的地址变换功能,通常包括将虚拟地址的页号和页内偏移分离、查找地址映射表和地址变换缓存,以及计算物理地址等操作。

  4. 内存保护单元:用于实现内存保护机制,防止程序越界访问或破坏其他程序或操作系统核心的数据结构。它可以基于地址映射表对程序的访问进行权限控制,以确保程序只能访问其允许的虚拟地址空间。

基本地址变换结构是计算机系统中实现虚拟内存等高级内存管理功能的基础。在现代操作系统中,基本地址变换结构通常由CPU芯片集成实现,以提高系统的性能和安全性。

二、物理地址计算步骤

1、设页面大小为L,逻辑地址A到物理地址E的变换过程如下:

计算页号Р和页内偏移量w(如果用十进制数手算,则P=A/L,W=A%L;但是在计算机实际运行时,逻辑地址结构是固定不变的,因此计算机硬件可以更快地得到二进制表示的页号、页内偏移量)

比较页号p和页表长度M,若P>=M,则产生越界中断,否则继续执行。                                 (注意:页号是从o开始的,而页表长度至少是1,因此P=M时也会越界)

页表中页号p对应的页表项地址=页表起始地址F+页号P*页表项长度,取出该页表项内容b,即为内存块号。(注意区分页表项长度、页表长度、页面大小的区别。页表长度指的是这个页表中总共有几个页表项,即总共有几个页;页表项长度指的是每个页表项占多大的存储空间;页面大小指的是一个页面占多大的存储空间)

计算E=b*L+W,用得到的物理地址E去访存。(如果内存块号、页面偏移量是用二进制表示的,那么把二者拼接起来就是最终的物理地址了)

2、例子

1、计算物理地址

2、页号为隐含的情况

三、总结

注意:一维的概念是只需要给出逻辑地址就能算出物理地址。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux内核】内存映射原理

【Linux内核】内存映射原理 物理地址空间 物理地址是处理器在总线上能看到的地址,使用RISC(Reduced Instruction Set Computing精简指令集)的处理器通常只实现一个物理地址空间,外围设备和物理内存使用统一的物理空间, 有些架构的处理器把分配给外围设备的物理地址称为设备内存…

基于matlab/simulink永磁直驱风力发电低电压穿越控制仿真模型

很久没更新了,下面继续更新电能质量治理这块的内容,今天分享的直驱式风力发电LVRT控制。 随着风力发电规模不断扩大,风电在电网系统中所占份额逐渐增加。当风电并网运行时,会发生很多种并网问题,其中最常见的问题之一就…

macos 12 支持机型 macOS Monterey 更新中新增的功能

macOS Monterey 能让你以全然一新的方式与他人沟通联络、共享内容和挥洒创意。尽享 FaceTime 通话新增的音频和视频增强功能,包括空间音频和人像模式。通过功能强大的效率类工具(例如专注模式、快速备忘录和 Safari 浏览器中的标签页组)完成更…

软件产品质量如何保障?找对软件测试公司是关键

软件产品的质量对于企业来说至关重要,它直接关系到用户的满意度和企业的声誉。然而,由于软件开发的复杂性和多样性,确保软件产品质量成为一项挑战。为了解决这一问题,找对合适的软件测试公司是至关重要的。 软件测试公司具备丰富…

考试成绩怎么查?

如何创建一个学生自助查询考试成绩的系统?还包括一个网页界面?能够让学生们通过多种方式轻松查询他们的成绩? 我先把最简单的方法告诉老师们,使用易查分,它可以帮助老师快速发布成绩,学生轻松查询&#xff…

vite 使用本地 ip + localhost 访问服务

vite 使用本地 ip localhost 访问服务 在 vite.config.js 中,如果未配置 server.host,默认服务将以 localhost 进行启动,此时我们可以通过 localhost:port 或 127.0.0.1:port 进行应用访问。 import { resolve } from path function pathRes…

05、SpringBoot 集成 RocketMQ

目录 SpringBoot集成RocketMQ消息发送三种方式1、同步消息producer-springboot创建项目添加依赖配置文件同步消息发送代码启动类Test类 comsumer-springboot创建项目添加依赖配置文件同步消息消费代码 2、异步消息生产者消费者 3、一次性消息生产者消费者 消息消费两种方式1、集…

使用 OAuth 和 OpenID Connect 进行升级身份验证

实现递增身份验证不需要让应用程序编排对多个复杂 API 的调用。 相反,通过利用开放标准中已有的功能,您可以使用所有应用程序最有可能已经在使用的协议库为所有应用程序构建低摩擦、无状态的递增身份验证。 在本文中,您将了解什么是递增身份…

uniapp checkbox样式失效,选中框选中按钮不显示

找了很多方法 最后网上一个博主找到了解决方法 在项目的main.css里面 如果你不知道你的css样式在哪个文件夹 直接全局搜索‘ 找到注释两个地方 第一个 checkbox::before 找到这一行 注释箭头指的地方就可以 第二个 checkbox .uni-checkbox-input::before, 注释这两个地方…

Leetcode hot 100之动态规划【递推公式】

目录 入门理解 斐波那契(Fibonacci)数列:递归 数塔:递推 递推公式 最小路径和 遍历顺序 整数拆分:拆分为和,乘积最大化 背包:: ->装包 框架 01背包:不可复选 倒序遍历 …

Android 自定义view 圆形进度条

Android 自定义view 圆形进度条 前言一、码前分析二、开码1.画笔2.弧度3.圆弧的位置4.暴露给外部设置进度条的方法三、使用四、完整代码 总结 前言 先来看看效果,大概要实现这么一个圆形的进度条 一、码前分析 要实现这么一个进度条的效果,实际上是要画…

精彩再现!LLUG 深圳场成功举办 | 附活动资料下载

导读:9 月 24 日下午,龙蜥社区联合Linux 中国在深圳成功举办LLUG。本文转自Linux 中国,作者 Bestony。 9 月 24 日下午,龙蜥社区联合Linux 中国举办的 LLUG 在热浪滔天的深圳圆满落幕。 (图/ 白板上的 “LLUG.sz”由 N…

哇喔,用这个平台制作电子画册,太简单了!

经常在朋友圈里看到可以在线浏览、类似仿真书的电子画册,总觉得这种制作起来很难,后来无意间看到朋友在制作,今天终于知道怎么做了! 原来只用一个平台 FLBOOK!!就能做出来这种效果,像我这种电脑…

C/C++类型转换

目录 一、C语言中的类型转换二、C中的类型转换2.1 C的四种类型转换2.1.1 static_cast2.1.2 reinterpret_cast2.1.3 const_cast2.1.4 dynamic_cast 三、RTTI(了解)四、特殊的类型转换 一、C语言中的类型转换 在C语言中,如果赋值运算符左右两侧…

【Unity ShaderGraph】| 如何快速制作一个 马赛克效果 实战

前言 【Unity ShaderGraph】| 如何快速制作一个 马赛克效果 实战一、效果展示二、马赛克效果四、应用实例 前言 本文将使用Unity 的ShaderGraph制作一个马赛克的效果,可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity S…

2022最新版-李宏毅机器学习深度学习课程-P25 Spacial Transformer Layer

data augmentation/spacial transformer CNN 并不能够处理影像放大缩小,或者是旋转的问题。所以在做影像辨识的时候,往往都要做 Data Augmentation,把你的训练数据截一小块出来放大缩小、把图片旋转,CNN 才会做到好的结果。 有一个架构叫 spacial Tran…

Ubuntu 22.04.3 LTS单机私有化部署sealos desktop

推荐使用奇数台 Master 节点和若干 Node 节点操作系统 :Ubuntu 22.04 LTS内核版本 :5.4 及以上配置推荐 :CPU 4 核 , 内存 8GB, 存储空间 100GB 以上最小配置 :CPU 2 核 , 内存 4GB, 存储空间 60GB 这里采用的Ubuntu 22.04.3 LTS 版本,Ubuntu 20.04.4 LTS这个版本…

iOS——Manager封装网络请求

在之前的项目里,我们都是把网络请求写在viewController的viewDidLoad,而实际中使用的时候并不能这么简单,对于不同的需要,我们需要有不同的网络请求。所以我们可以用单例模式创建一个全局的Manager类,用实例Manager来执…

微信朋友圈的高级玩法!你一定要知道!

我们都知道,朋友圈是一个社交平台,可以让我们和朋友们分享生活中的点滴,看到他们的动态。但你可能不知道,朋友圈其实有很多高级玩法,可以让你的社交体验更加丰富多彩。今天,就让我们一起来看看朋友圈的那些…

协同办公系统OA实施过程中需要注意的细节

随着企业对于高效、便捷的办公方式的需求增加,协同办公系统OA正逐渐成为企业信息化建设的热门选择。然而,协同办公系统OA的实施并非一蹴而就,需要企业在实施过程中注意一系列的细节。 一、规划与需求分析 企业应根据自身的业务需求和发展战略…