OK6410(s3c6410)存储之MMU(内存管理单元)
2014-08-29 11:07
274 查看
MMU(内存管理单元):
一.MMU特性:
将虚拟地址转化为物理地址,并提供硬件机制的内存访问权限检查:(Arm1176jzfs Chapter 6 Memory Management Unit)
重点在:地址映射,页表的结构与建立,映射过程。1.1地址分类:
虚拟地址空间,虚拟地址,物理地址空间,物理地址
虚拟地址最终需要转换为物理地址才能读写实际的数据,这通过将虚拟地址和物理地址划分为 同等大小 的一块块小空间,然后为这两类小空间建立映射关系。虚拟地址很可能远大于物理地址,有可能多块虚拟地址空间映射到同一块物理地址或则有些虚拟地址空间没有映射到具体的物理地址空间上去,在使用时再映射。
ARM的CPU地址转换过程涉及到三个概念:虚拟地址VA,
变换后的虚拟地址MVA, 物理地址PA
没有启动MMU之前,CPU核,cache,mmu,外设等使用的都是物理地址
启动MMU之后,CPU核对外发出虚拟地址VA, VA被转化为MVA供cache,MMU使用,在这里MVA被转换为PA; 最后PA作用于外设等读写实际设备。
总结:1.1:CPU看到的只是VA虚拟地址,至于VA是如何落实到物理地址PA,CPU核实不理会的
1.2 而cache和MMU也是看不见VA的,它们利用由MVA转换得到 PA,
1.3实际设备看不到VA ,MVA读写它们时使用的是物理地址。
1.4 VA到MVA的转换:实际上MVA就是除CPU外其它部分看眼中的VA。
由VA转换成MVA由硬件完成,如果VA>32M,则MVA=VA。
如果VA<32M时,考虑到不同进程所用VA有可能重叠的情况,一旦发生 重叠,那后面的地址转换工作量将将变得非常复杂,故将VA与进程PID 进行运算后作为MVA,通过读CP15的C13获得PID,VA小于32M时
MVA = VA |(PID<<25),再用MVA作为转换基地址,再转换成PA。
1.2虚拟地址到物理地址的转换过程:
相关文章推荐
- OK6410MMU内存管理单元
- OK6410(s3c6410)存储方式之存储子系统接口
- OK6410(s3c6410)存储方式之NAND FLASH
- ok6410-第01篇-了解s3c6410
- 内存管理单元--MMU
- s3c6410---外部中断---key (基于OK6410)
- 11--0外篇之 MMU内存管理单元
- 内存管理单元(MMU)介绍
- ARM4412的MMU内存管理单元
- 内存管理单元MMU
- S3C6410 TFT-LCD控制器的设置(LCD型号为WXCAT43,开发板为飞凌OK6410B)
- MMU(Memory Management Unit,内存管理单元)的作用
- MMU内存管理单元(3)-系统控制协处理器CP15
- 嵌入式 linux 第四课 内存管理单元MMU
- arm的存储管理单元MMU
- 02-JZ2440裸机学习之MMU内存管理单元【转】
- 内存管理单元 MMU
- 内存管理单元MMU
- OK6410(s3c6410)之LED点亮
- s3c2440 内存管理单元MMU学习笔记