ARM9的MMU
2024-10-15 22:22:10
一 页表
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后代码的运行、数据的存储于读取、堆栈等不受影响,代码将继续地正确运行。
最新文章
- 关于sqlmap的使用
- winform异步系统升级—BackgroundWorker
- 安装glue,用glue批量处理图片的步骤
- BizTalk开发系列(三十三)BizTalk之Excel终极解决方案
- [问题2014S13] 解答
- 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧
- 微软的COM中GUID和UUID、CLSID、IID
- FolderBrowserDialog 成员
- asp.net MVC 应用程序的生命周期(上)
- hdu 3631
- 价格更低、SLA 更强的全新 Azure SQL 数据库服务等级将于 9 月正式发布
- 三星galaxy S4快捷功能
- 协同编辑多人word一个小技巧文件
- 7 Ways to earn money on programming(转)
- 安装Oracle 9i - 初学者系列 - 学习者系列文章
- hdu1025
- #ifdef #else #endif #if #ifndef 的用法
- 【基于微信小程序的社区电商平台】需求分析心得——小豆芽
- Docker 快速入门之 Dockerfile
- 第一册:lesson sixty seven。
热门文章
- Java nextInt()函数
- 手把手教你把VIM改成一个集成开发环境
- Java中对象的深复制和浅复制详解
- php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
- 武汉Uber优步司机奖励政策(1月18日~1月24日)
- halt和shutdown 的区别
- 最蛋疼的bug:读取图片缩略图(一定要在相冊查看下形成缓存)
- Directx 3D编程实例:多个3D球的综合Directx实例
- [每日一题] OCP1z0-047 :2013-08-14 如何理解USING INDEX?...................................41
- 解决Xcode6.0.1编译Unity3Dproject报错