0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一级页表虚拟地址转换为物理地址示例

冬至配饺子 来源:芯片验证工程师 作者:验证哥布林 2022-07-28 17:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文我们展示一个只有一级页表,虚拟地址转换为物理地址的示例。

其中VA为32比特(共4GB地址空间),每个页大小为1MB,所以一共4096个页表项。

每个页表项指向的都是1MB页表大小的页表项,其中会给出物理地址的高位比特([31:20])。

pYYBAGLiXVmAcUVcAABLaWj_Gzo390.png

上图中的页表基地址Translation Table Base Address(TTBA)是由软件指定的。当MMU执行硬件页表转换时,需要根据页表的基地址和VA[31:20] index获取VA-PA映射关系,以页表粒度完成VA-PA的转换,例如1MB粒度,那么

VA[19:0]=PA[19:0]

上图中页表的基地址为0x12300000,每个页表项的大小为4Byte,VA为0x00100000,高12比特(0x001)作为页表的索引index。所以这个VA-PA需要使用到的页表项存储地址为

Base addr + 0x001 * 4 bytes = 0x12300004

poYBAGLiXWuAYM7NAAB-H96BrOM739.png

最后,根据拿到的VA-PA映射关系就可以拿到PA了,具体的页表格式根据不同的实现而异。

pYYBAGLiXX2AKKS_AACO19FcqOI653.png

上图是个示例的32比特页表格式,根据低2比特确定这个页表项的类型。

2`b00:invalid 页表,上报异常,由软件处理。

2`b10:指向的是物理地址。

2`b01:指向的是下一级页表的基地址。

假设低2比特为2’b10,那么这个页表项中的内容就是实际指向的物理地址。页表项中除了指定了物理地址,还包含了页的内存属性(访问权限、cache属性、buffer属性等等)。

简单来说就是指定了访问物理地址空间所需的全部信息。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4700

    浏览量

    89582
  • Cache
    +关注

    关注

    0

    文章

    130

    浏览量

    29607
  • 内存交换
    +关注

    关注

    0

    文章

    2

    浏览量

    6464
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FLASH中的代码是如何得到运行的呢

    指令的地址。正常情况下自动加“4”,遇到分支跳转的时候,由跳转指令设置值。那么指针是什么?指针是个变量的地址,在含有操作系统(比如Linux、Windows)即硬件层面含有内存管理单元(MMU)的情况下,指针是
    发表于 12-04 08:06

    网络通讯的结构及地址

    ():主机字节序 → 网络字节序(32位,用于IP地址)。 ntohs():网络字节序 → 主机字节序(16位)。 ntohl():网络字节序 → 主机字节序(32位)。 示例:将端口号8080转换为网络字节
    发表于 11-17 07:59

    请问e203定义的地址空间是虚拟地址还是物理地址

    蜂鸟e203实现的是物理地址,硬件端与软件端的地址分配相同,从而确定软件开发过程中能操作底层寄存器。 硬件端:在总线分发模块sirv_icb1to16_bus定义好各个端口寄存器的地址区间, 软件端
    发表于 11-11 06:20

    关于系统链接脚本的介绍

    Flash里面,但上电后上载至ITCM中进行执行(flash模式) 三、关于物理地址虚拟地址 物理地址是该程序要被存储的存储器地址(调试器下载程序时会遵从从此
    发表于 10-30 08:26

    从零开始学IP地址

    IP地址种网络编码,用来唯标识网络中的设备,以确保主机间正常通信。IP地址由32位二进制(32-bit)组成。
    的头像 发表于 07-08 09:29 1417次阅读
    从零开始学IP<b class='flag-5'>地址</b>

    芯知识|WT2003H语音芯片音频地址详解:线/UART模式差异及静音地址实践

    语音功能的关键前提。本文将清晰解析这核心机制:、音频播放地址核心规则线串口、两线串口(单字节/双字节模式):起始地址:0x00(十进制
    的头像 发表于 06-19 09:21 522次阅读
    芯知识|WT2003H语音芯片音频<b class='flag-5'>地址</b>详解:<b class='flag-5'>一</b>线/UART模式差异及静音<b class='flag-5'>地址</b>实践

    TECS OpenStack资源池虚拟机网络二层地址无法互通的问题处理

    某运营商TECS OpenStack使用主机overlay SDN方案组网,运维人员在创建虚拟机测试虚拟机网络状态时发现问题:在其中台主机上创建两台同网段虚拟机,
    的头像 发表于 06-12 09:28 684次阅读
    TECS OpenStack资源池<b class='flag-5'>虚拟</b>机网络二层<b class='flag-5'>地址</b>无法互通的问题处理

    季丰推出SRAM错误地址定位黑科技

    近期受晶圆厂委托, 季丰在执行完SRAM芯片在中子辐射下SER测试后, 通过对SRAM芯片的深入研究,对测试失效数据的分析,将逻辑失效地址成功转换为物理坐标地址,最终在图像上显示失效位
    的头像 发表于 06-03 10:08 813次阅读
    季丰推出SRAM错误<b class='flag-5'>地址</b>定位黑科技

    通过注册和Technitium MAC Address Changer修改MAC地址(支持W5500模块及通用网卡)

    、前言 在某些场景下(如网络调试、隐私保护或设备唯性管理),需要修改网络设备的MAC地址。本教程将详细介绍两种方法:注册修改(适合高级用户)和 Technitium MAC Ad
    发表于 03-28 09:18

    请问如何在imx8qm上将PCIe和SMMU用于显卡?

    您好,目前,我正准备在 IMX8QM 处理器上支持 PCIe 显卡设备。要求是通过 SMMU 方法将映射从虚拟地址更改为物理地址,以实现自定义设备空间。但是,我在 Linux 的 imx8qm-mek.dts 设备树文件中没有找到任何与 PCIe 设备使用 SMMU 相关
    发表于 03-28 06:27

    NAT网络地址转换的技术原理

    由全球IP地址分配机构,IANA (Internet Assigned Numbers Authority)管理的IPv4地址,于2011年完全用尽。但是需要连接互联网必须要IP地址,但是公网
    的头像 发表于 02-17 10:30 2496次阅读
    NAT网络<b class='flag-5'>地址</b><b class='flag-5'>转换</b>的技术原理

    ISP与IP地址

    ISP可以为用户提供互联网接入、信息内容、应用服务以及其他增值业务。 要知道,在ISP的网络中,IP地址池几乎可以说不可或缺。IP地址池是指定范围内可供分配的IP地址的集合。通过分配
    的头像 发表于 12-27 10:41 930次阅读

    CIDR的IP地址分配与管理

    传统IP地址分类,也就是ABC类等。但是,有种情况,“如果个公司可能被分配了个C类网络地址,但是实际上,它仅需少量的IP
    的头像 发表于 12-26 10:01 953次阅读

    MAC地址的作用范围,MAC地址怎么申请?

    物理地址(PhysicalAddress),用于在网络中唯标示个网卡。以下是英利检测针对其作用范围及申请方式的详细解答:MAC地址的作用范围局域网内的设备定位
    的头像 发表于 12-19 17:44 2617次阅读
    MAC<b class='flag-5'>地址</b>的作用范围,MAC<b class='flag-5'>地址</b>怎么申请?

    通过安卓手机查找IP地址步骤

    我们在使用安卓手机的时候,可以在设备上通过些方法来查到IP地址,而IP地址也分为公网IP地址和私网IP地址,具体怎么查找可以看下面步骤。
    的头像 发表于 12-12 13:53 4526次阅读
    通过安卓手机查找IP<b class='flag-5'>地址</b>步骤