首页 > 其他 > 详细

ARM的MMU功能分析

时间:2015-03-23 13:16:41      阅读:156      评论:0      收藏:0      [点我收藏+]

概述:

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为决定了物理地址的偏移,即:物理地址 物理基地址 偏移量

ARM的MMU功能分析

原文:http://www.cnblogs.com/zhangjianlaoda/p/4359306.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!