MMU内存管理单元(1)-虚拟地址到物理地址转换

MMU的主要作用:虚拟地址到物理地址的转换;访问权限控制;设置虚拟存储空间的缓冲。
虚拟存储器:程序一般存于掉电不丢失的硬盘中,但是硬盘读写速度慢。所以系统上电后一般只在ROM中完成小部分硬件初始化程序,并把程序搬运到内存中。然后,从内存中开始执行程序。但是,内存有限,不能一次性把所有代码加载到内存中,所以只把当前用到的一部分代码加载过来,把没用到的搬回磁盘。此时的效果等同于把所有程序加载到内存中,用户看来系统具有的内存比实际内存大的多。对于32位的CPU系统中虚拟地址空间有4GB大小,而嵌入式系统中的实际物理地址空间可能远小于此。
MMU内存管理单元(1)-虚拟地址到物理地址转换_第1张图片

把虚拟地址空间分成一个个固定大小的块,每一块为一页。物理地址空间也分为同样大小的页。MMU要实现虚拟地址到物理地址的映射,CPU核发出虚拟地址VA;VA被转换为变换后的虚拟地址MVA给MMU;MMU把MVA转换成物理地址PA。
页表:位于内存中,页表的基地址存于CP15的C2寄存器中,表中每一行(叫一个地址变换条目entry)对应于虚拟存储空间的一个页,这个entry包含虚拟内存块和物理块地址的对应关系、该页的权限、该页的缓冲特性。
TLB(快表):CPU和内存速度级别相差较大,每次到内存中查表代价较大。根据程序局部性原理,

你可能感兴趣的:(笔记-嵌入式-Linux韦东山,内存管理,MMU,地址转换)