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

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

3天内不再提示

通过处理器中的MMU进行VA-PA转换

冬至配饺子 来源:芯片验证工程师 作者:验证哥布林 2022-07-28 18:06 次阅读

处理器中的MMU可以让我们能够构建具有多个VA-PA映射表的数字系统。

不同程序操作同一个VA,这个VA被不同的页表映射到不同的PA。

操作系统内核将每个应用程序的指令和数据放在物理内存中,但是应用程序并不是直接通过物理地址读写这些指令和数据。简单来说,就是通过MMU进行VA-PA转换,这让程序设计变得简单很多。

所有的程序员都应该了解和感谢虚拟地址,它让你的工作没那么dirty。因为这个dirty的工作被操作系统硬件完成了。

页表

在处理器中这种VA-PA的映射关系称为页表,页表中的每一个页表项都完成了某个VA-PA的映射对应。页表格式其实还比较复杂,除了VA-PA的映射关系,还有其他的一些内存属性和访问权限定义。

pYYBAGLiXziAciU2AABGGCIASkc804.png

处理器内核生成的地址都是虚拟地址,然后在访问实际物理内存空间之前通过MMU映射成了物理地址。但是,基于不同的页表粒度大小,比如说4KB,实际的VA-PA的映射只是将高比特做了替换。

在早期这个VA-PA的映射过程并不是由硬件完成的,后来才由硬件完成这个VA-PA转换,形象点来说称为translation table walking。


审核编辑:刘清

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

    关注

    68

    文章

    19167

    浏览量

    229153
  • MMU
    MMU
    +关注

    关注

    0

    文章

    91

    浏览量

    18268
收藏 人收藏

    评论

    相关推荐

    大疆嵌入式笔试题及参考,处理器读取内存的过程

    简述处理器在读取内存过程,CPU核,Cache,MMU是如何协同工作的?(用自己熟悉的处理解释)不明觉厉啊,捯饬了一段时间有点明白了,就写下来记录一下。首先不得不说大疆是个“心机婊”
    发表于 11-21 15:36

    处理器在读内存的过程,CPU核、cache、MMU如何协同工作?

    处理器中断处理的过程是怎样的?处理器在读内存的过程,CPU核、cache、MMU如何协同工作?
    发表于 10-18 08:57

    通过处理器创建MC9S08DZ60芯片

    说明:通过处理器专家创建芯片为MC9S08DZ60的工程,按键控制LED一、CW11.1软件界面布局1、双击桌面图标,打开软件,设置工作空间软件主界面调试界面处理器专家界面有时经常调整(删除)面板
    发表于 11-01 07:11

    ARM处理器有哪些性能呢

    。ARM复位后PC无条件的指向0x00000000处。MMU是ARM处理器的内存管理单元,CPU管理虚拟存储、物理存储的控制线路,同时负责虚拟地址映射为物理地址,以及提供硬件机制的
    发表于 12-21 07:16

    MMU存储管理单元的工作原理是什么?如何实现其流程呢

    包含:寄存读写和中断;地址为寄存地址;图中#3过程除了#1所述数据之外,还有GPU产生的中间数据,比如:染色后的顶点、片段数据等;地址为虚拟地址。GPU若要正确的读写DDR,必须通过
    发表于 05-13 09:56

    求助,寻找支持MMU处理器

    我目前正在评估 iMXRT1062 处理器,现在正在寻找具有接近相同 I/O 和内存特性但还支持 MMU处理器。也许有人可以就此提出建议。
    发表于 03-27 07:57

    ARM CoreLink MMU-400系统内存管理单元技术参考手册

    ARM®CoreLink™ MMU-400为系统处理器之外的总线主机提供ARM v7虚拟化扩展。MMU-400在硬件中转换地址,以加速多
    发表于 08-02 09:21

    Arm CoreLink MMU‑700系统内存管理单元技术参考手册

    MMU‑700是一个系统级内存管理单元(SMMU),用于将输入地址转换为输出地址。此转换基于MMU‑700内部寄存
    发表于 08-08 07:44

    ARM CORELINK™MMU-600AE系统内存管理单元技术参考手册

    翻译,将输入VA转换为IPA,然后将该IPA转换为输出PAMMU-600AE执行翻译的每个阶段的翻译台步。 除了将输入地址
    发表于 08-09 06:28

    什么是PA-RISC处理器

    什么是PA-RISC处理器  PA-RISC处理
    发表于 12-17 10:42 1857次阅读

    S3C2410内存管理单元MMU基础实验

    (11)实验十一:MMU 在理论上概括或解释MMU,这不是我能胜任的。我仅基于为了理解本实验操作MMU的代码而对MMU做些说明,现在先简单
    发表于 01-01 02:29 17次下载

    没有MMU处理器可否安装操作系统呢?

    MMUVAPA映射的最小单位称为页(Page),映射的最低粒度是单个虚拟页到物理页,页大小通常是4K,即一次最少要把4K大小的VA页块整
    的头像 发表于 04-21 10:45 7360次阅读
    没有<b class='flag-5'>MMU</b>的<b class='flag-5'>处理器</b>可否安装操作系统呢?

    一文解读内存管理单元 (MMU)

    一般MMU会有一种disable的模式,即不使能MMU,所有虚拟地址都直接映射到相应的物理地址,VA=PA
    的头像 发表于 07-28 18:09 4549次阅读
    一文解读内存管理单元 (<b class='flag-5'>MMU</b>)

    MMU的页命中、缺页介绍

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

    鸿蒙轻内核源码分析:MMU处理器

    1、 ARM C15 协处理器 在 ARM 嵌入式应用系统, 很多系统控制由 ARM CP15 协处理器来完成的。CP15 协处理器包含编号 0-15 的 16 个 32 位的寄存
    的头像 发表于 02-20 14:28 528次阅读
    鸿蒙轻内核源码分析:<b class='flag-5'>MMU</b> 协<b class='flag-5'>处理器</b>