码迷,mamicode.com
首页 > 其他好文 > 详细

ARM9的MMU

时间:2015-05-20 00:13:58      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

一 页表

  1. 页表是放置在RAM(一般为DRAM)中的一个数据段。

  2. ARM的地址空间为2^32字节,即4G字节。

  3. 一级页表总共有4096条记录,每条记录对应的地址块为1M,一级页表中的记录将虚拟的连续4G寻址空间等分。

  4. 一级页表中的每条记录的内容就是虚拟的4G寻址空间的物理地址,举例如下:

    a. 将一级页表基址设置为:0x31000000,则从基址开始,之后的4096 * 4字节对应一级页表。

    b. 一级页表的第0条记录对应着虚拟地址的0x0000,0000~0x000F,FFFF,第1条记录对应着虚拟地址的0x0010,0000~0x001F,FFFF,依次类推。

    c. 相应的,一级页表的第0条记录(高12位)的内容对应虚拟地址0x0000,0000~0x000F,FFFF的物理地址(基地址),第1条记录(高12位)对应虚拟地址  0x0010,0000~0x001F,FFFF的物理地址(基地址),每条记录中的低位中都包含着权限访问控制位。

二 TLB(Translation Lockaside buffer):快表

  快表可理解为页表的cache,页表是存在于RAM中的一段数据,访问延迟较高,将相邻的页表加载到快表中可极大的加速MMU合成地址。

三 Cache

  未完待续...

 

 

 

 

 

N 关于MMU的启动

  若将页表设置为虚拟地址 = 物理地址,则开启MMU后代码的运行、数据的存储于读取、堆栈等不受影响,代码将继续地正确运行。

ARM9的MMU

标签:

原文地址:http://www.cnblogs.com/azenk/p/hardware_arm_mmu.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!