嵌入式Linux应用开发完全手册读书笔记(内存管理单元MMU)
本章目标:
n 了解虚拟地址和物理地址的关系
n 掌握如何通过设置MMU来控制虚拟地址到物理地址的转化
n 了解MMU的内存访问权限机制
n 了解TLB、Cache、Write buffer的原理,使用时的注意事项
n 通过实例深刻掌握上述要点
u S3C2410/S3C2440 MMU特性
内存管理单元MMU负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。现代的多用户多进程操作系统通过MMU使得各个用户都拥有自己独立的地址空间:地址映射功能使得各进程拥有“看起来”一样的地址空间,而内存访问权限的检查可以保护每个进程所用的内存不会被其他进程破坏。
S3C2410/S3C2440MMU有如下特征:
1) 与ARM V4兼容的映射长度、域、访问权限检查机制。
2) 4种映射长度:段(1MB)、大页(64KB)、小页(4KB)、极小页(1KB)。
3) 对每个段都可以设置访问权限。
4) 大页、小页的每个子页(sub-page,即被映射页的1/4)都可以单独设置访问权限。
5) 硬件实现16个域。
6) 指令TLB(含64个条目)、数据TLB(含64个条目)。
7) 硬件访问页表(地址映射、权限检查由硬件自动进行)。
8) TLB中条目的替换采用round-robin算法(也称cyclic算法)。
9) 可以使无效整个TLB。
10) 可以单独使无效某个TLB条目。
11) 可以在TLB中锁定某个条目,指令TLB、数据TLB互相独立。
本章重点在于地址映射:页表的结构与建立、映射的过程。对于访问权限、TLB、Cache只作粗略介绍。