ARM的MMU功能分析

概述:

MMU:内存管理单元

MMU功能:

     1. 将虚拟地址转化为物理地址

 

 

 2. 地址访问权限的管理

 

  1. 地址转化类型

   ARM系统支持3种类型的地址转化:

  ①段式转化(一个段大小为1MB

  ②粗粒度页面转化(粗页转化)

  ③细粒度页面转化(细页转化)(一页一般为4K,16K,64K)

 

  1. TTB寄存器

  MMU要自动进行虚拟地址到物理地址的转化,首先要找到一级页表,而一级页表的基地址(TTBtranslation table base)则是保存在CP15C2寄存器中。因此,当程序员创建好相应的页表后,需要将页表的基地址写入到该寄存器中(MMU只进行虚拟地址到物理地址的转换,而  页表的创建  以及  将TTB写入CP15C2寄存器中  这两件事由程序员自己完成)。

 

  1. 段式转化分析

 

     个人对段式转化的分析总结:将虚拟地址的高12位作为索引在一级页表中找到相对应的表项,且这个表项的后2位为‘10MMU才会把这次转化认为是段式转化。这个表项的高12位保存了段的物理基地址,后20位为相对于段基地址的偏移

即:段基地址 段偏移量 物理地址 

 

 

  1. 细页转化分析

       如上面画的草图(此草图针对大小为4K的物理页分析,由虚拟地址后12位决定):虚拟地址的20~31位决定了一级页表的偏移,而这个一级页表表项后二位应为‘11’,并且保存有对应二级页表的基地址;虚拟地址的10~19位决定了二级页表的偏移,并且这个二级页表表项存放有对应物理地址的页基地址;虚拟地址的0~11为决定了物理地址的偏移,即:物理地址 物理基地址 偏移量

转载于:https://www.cnblogs.com/zhangjianlaoda/p/4359306.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值