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

    文章

    4202

    浏览量

    85537
  • Cache
    +关注

    关注

    0

    文章

    129

    浏览量

    28245
  • 内存交换
    +关注

    关注

    0

    文章

    2

    浏览量

    6355
收藏 人收藏

    评论

    相关推荐

    如何获取MAC地址?MAC地址的三个申请条件

    在产品设备都规范化管理的当今社会,如果您的产品设备想要投入市场,设备物理地址码MAC地址则是唯能识别设备的识别码。那么MAC地址的申请条件有哪些?接下来请看英利检测的分享。提交必要信
    的头像 发表于 09-06 17:14 285次阅读
    如何获取MAC<b class='flag-5'>地址</b>?MAC<b class='flag-5'>地址</b>的三个申请条件

    购买海外虚拟IP地址可以通过以下几种方式#虚拟IP地址

    ip地址
    jf_62215197
    发布于 :2024年08月16日 07:16:04

    NAT网络地址转换和DMZ隔离是什么意思

    NAT NAT是将私有地址转换为合法IP地址的技术,通俗的讲就是将内网与内网通信时怎 么将内网私有IP地址转换为可在网络中传播的合法IP
    的头像 发表于 04-12 13:53 395次阅读

    虚拟机的ip地址和主机样吗

    虚拟机的ip地址和主机样吗  虚拟机的IP地址和主机的IP地址通常不相同。
    的头像 发表于 03-26 15:34 4537次阅读

    怎么注册MAC地址?MAC地址的必要性介绍

    是在网络设备制造时,由硬件厂商将固化在设备中,用于在以太网(Ethernet)和其他局域网(LAN)技术中标识设备的物理地址。并且在全球范围内具有唯性。因此对于有
    的头像 发表于 12-22 15:44 981次阅读
    怎么注册MAC<b class='flag-5'>地址</b>?MAC<b class='flag-5'>地址</b>的必要性介绍

    没有虚拟地址的处理器是怎么工作的?

    看看没有虚拟地址的处理器是怎么工作的,编译环境除了将高级语言转换成机器码外,linker把众多分散开发文件串起来,使得增量编译
    的头像 发表于 12-07 10:29 347次阅读

    如何绑定ip地址与mac物理地址呢?

    如何绑定ip地址与mac物理地址呢? 绑定IP地址与MAC物理地址种网络管理和安全措施,可以帮助确保网络设备的身份验证和安全性。在这篇文
    的头像 发表于 12-07 09:33 6322次阅读

    MMU虚拟地址空间布局

    当然虚拟地址空间划分不只是如此。因为目前应用程序没有那么大的内存需求,所以ARM64处理器不支持完全的64位虚拟地址,实际支持情况如下。 (1)-虚拟地址位宽 虚拟地址的最大宽度是48
    的头像 发表于 11-26 16:35 817次阅读

    MMU多级映射过程

    空间,也有相应的负责虚拟地址物理地址之间的转换。MMU查询的过程中,用户进程的一级
    的头像 发表于 11-26 16:28 896次阅读
    MMU多级<b class='flag-5'>页</b><b class='flag-5'>表</b>映射过程

    MMU中的命中、缺页介绍

    命中、缺页 (1)命中 • a) 处理器要对虚拟地址VA进行访问。 • b) MMU的TLB没有命中,通过TWU遍历主存中的PTEA
    的头像 发表于 11-26 16:19 982次阅读
    MMU中的<b class='flag-5'>页</b>命中、缺页介绍

    为什么要有TLB

    TLB 是 translation lookaside buffer 的简称。首先,我们知道 MMU 的作用是把虚拟地址转换物理地址虚拟地址
    的头像 发表于 11-26 15:54 641次阅读
    为什么要有TLB

    MMU包含两个模块是什么

    1-CPU发出的虚拟地址 CPU发出的虚拟地址由两部分组成:VPN和offset,VPN(virtual page number)是中的条目number,而offset是指
    的头像 发表于 11-26 15:40 577次阅读
    MMU包含两个模块是什么

    linux系统查看物理地址

    在Linux系统中,访问和查看物理地址个非常重要的任务,因为它提供了对硬件设备的直接访问。本文将详细介绍如何在Linux系统中查看物理地址,包括不同的方法和工具,以及如何解释和使用这些地址
    的头像 发表于 11-16 16:47 3219次阅读

    MAC地址注册的原理和应用

    MAC地址注册是指在网络设备中,将设备的物理地址(即MAC地址)与设备的IP地址进行关联和注册的过程。MAC地址是以太网卡硬件上的独特标识符
    的头像 发表于 11-13 16:07 923次阅读
    MAC<b class='flag-5'>地址</b>注册的原理和应用

    linux内存性能优化介绍

    不同;图示为 32 位和 64 位系统的虚拟地址空间; 内存映射是将虚拟内存地址映射到物理内存地址,内核为每个进程都维护了
    的头像 发表于 11-10 15:23 648次阅读
    linux内存性能优化介绍