ARM处理器的MMU单元

        MMU(存储器管理单元)在ARM7、ARM9、ARM10、ARM11、Xscale、Cortex-A系列都有,它能把系统中不同类型的存储器(Flash,SRAM,SDRAM,U盘等)进行统一管理,通过地址映射,是需要运行在连续地址空间的软件运行在不连续的物理存储器中,使需要较大运行内存的软件运行在容量较小的物理存储器中,这就是所谓的虚拟存储技术。

        (1)虚拟地址到物理地址的映射

          使能MMU后,ARM产生的地址为虚拟地址。虚拟地址将空间分为若干大小固定的块,称为页,物理地址空间也划分为同样大小的页。由虚拟地址到物理地址的转换由查表完成,协处理器CP15的C2寄存器保存页表的首地址。通常将页表中常用的一小部分copy到一张”快表“中,称之为TLB(Translation Lookaside Buffers),快表的作用就相当于Cache。

        (2)存储器访问控制权限

           存储器的访问权限可以以页为单位进行设置,当访问了一个不具有访问权限的页时,会产生异常。当然,访问权限也受权限的影响。

           当要访问存储器时,MMU会先查TLB,若TLB中没有转换信息,才会到主存储器中查页表,找到转换信息和访问权限后,把这些信息放入TLB已备下次使用。对于有Cache的系统,这个转换得到的地址内的信息被Cache收录,以后都只访问高速缓存,不访问存储器。

          

        (3)MPU

          是ARM公司提供的简单代替MMU的方法来管理存储器,没有MMU就不需要复杂的地址转换操作。MPU允许处理器将4GB的地址空间定义成8对域(意思也可以少于8对),分别控制8个指令和8和数据内存区,每个域的首地址和长度可编程。MPU中记录的就是对应的存储区域的一些属性值,这些属性值包括起始地址、长度、读写权限及缓存等。如果出现没有读写权限的程序对一片内存进行操作,则会进入异常。

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值