ARM9的MMU
一 页表
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的更多相关文章
- S3C2440之MMU
转自:http://blog.chinaunix.net/uid-23193900-id-3187782.html 1.MMU简介 MMU(Memory Management Unit),内存管 ...
- 基于三星ARM9(S3C2410)的交通违章抓拍系统的开发
ARM9的交通违章抓拍系统的开发 ARM9的交通违章抓拍系统的开发 智能交通系统(ITS)将先进的信息技术.数据通讯传输技术.电子控制技术.计算机处理技术等应用于交通运输行业,从而实现各种运输方式 ...
- MMU内存管理单元
arm-linux学习-(MMU内存管理单元) 什么是MMU MMU(Memory Management Unit)主要用来管理虚拟存储器.物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及 ...
- 说说新唐ARM9(未完待续)
针对通用32位微控制器的NUC970系列嵌入了由RISC机器有限公司设计的RISC处理器ARM926EJ-S,运行频率高达300 MHz,具有16 KB的I-cache,16 KB的D-cache和M ...
- u-boot分析(五)----I/D cache失效|关闭MMU和cache|关闭看门狗
u-boot分析(五) 上篇博文我们按照210的启动流程,对u-boot启动中的设置异常向量表,设置SVC模式进行了分析,今天我们继续按照u-boot的启动流程对以下内容进行分析. 今天我们会用到的文 ...
- [转帖]MMU内存管理单元
MMU内存管理单元 https://www.cnblogs.com/alantu2018/p/9002309.html 之前对这一块一直不理解 最近学习了点 CPU time slice 以及 con ...
- 【ARM-Linux开发】ARM7 ARM9 ARM Cortex M3 M4 有什么区别
ARM7 ARM9 ARM Cortex M3 M4 区别 arm7 arm9 可以类比386和奔腾, 不同代,arm9相比arm7指令集和性能都有所增强,arm7和arm9都有带mmu和无mmu的版 ...
- arm9特点
ARM9主要特点 ARM 处理器凭借它的低功耗.高性能等特点,被广泛应用于个人通信等嵌入式领域,而ARM7 也曾在中低端手持设备中占据了一席之地.然而,ARM7 的处理性能逐渐无法满足人们日益增长的高 ...
- ARM7、ARM9、ARM11、ARM-Cortex系列的关系
参考资料: https://zhuanlan.zhihu.com/p/92315825 https://zhuanlan.zhihu.com/p/82337495 ARM是Advanced RISC ...
随机推荐
- C++使用模版技术将任意类型的数据转为某个类型的数据
将任意类型(int, float, 自定义的数据类型等等)的数据转换的某个类型C中储存,可以通过 将类型C的构造函数写成模版函数的形式,在C中将可以接收任意类型数据.如: class C{ templ ...
- SRM 400(1-250pt, 1-500pt)
DIV1 250pt 题意:给定一个正整数n(n <= 10^18),如果n = p^q,其中p为质数,q > 1,则返回vector<int> ans = {p, q},否则 ...
- 吉哥系列故事--完美队形 - HDU 4513 (Manacher)
分析:刚开始的想法是匹配出来每个点的最大回文串,然后用每个点的最大不下降序找一个最小值,不过不明白为什么不对....很无奈,再匹配的时候加一些判断就可以过,或许还有什么没想到的地方吧..... 代 ...
- 一个小程序,时间util
比较时间,如果此时间是今天的显示时间点,今天以前显日期 public String getTime(Date time){ SimpleDateFormat dateFor ...
- 如何由XSD自动生成XML和实体类
项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后 ...
- 美丽的表格样式(使用CSS样式表控制表格样式)
按照WEB2.0风格,设计了几个表格样式,希望大家喜欢. WEB2.0提倡使用div开布局,但不是要全然放弃使用表格,表格在数据展现方面还是不错的选择. 如今使用介绍使用CSS样式表来控制.美化表格的 ...
- log4j 日志的初始化
log4j 不指定时,log4j 会默认进行初始化,如果想要制定log4j.properties的位置时,可以进行指定: PropertyConfigurator.configure(): 参数里面加 ...
- Java基础知识强化之IO流笔记05:try...catch...finally包含的代码是运行期的
1. 代码示例: 上面看到的第13行: Date d = null;(这里必须初始化) 第14~20行使用try...catch...finally包含代码,这里的代码已经变成运行期代码.此时我们 ...
- 昨天做了一个使用javamail发送文件的demo
记录一下过程. 两种版本第一个demo是纯java文件.一个就可以,是我在网上搜索到的,第二个demo是我在ssh框中中写的jsp页面demo 1.java版本: package com.zq.www ...
- Android开发手记(23) Notification
有时候,我们需要应用程序在状态内显示一些通知信息,这时我们就需要使用Notification来完成这一工作.也许我们会想到以前经常使用的Toast来通知用户.虽然Notification与Toast都 ...