首页 理论教育ARM嵌入式系统存储管理单元-实用指南

ARM嵌入式系统存储管理单元-实用指南

【摘要】:较高级的操作系统采用基于硬件的存储管理单元来实现上述操作。MMU提供的一个关键服务是使各个任务作为独立的程序在自己的私有存储空间中运行。在带MMU的操作系统控制下,运行的任务无需知道其他与之无关的任务的存储需求情况,这样就简化了各个任务的设计。MMU提供了一些资源以允许使用虚拟存储器。

1.存储器的层次结构

ARM的存储器系统是由多级构成的,可以分为内核级、芯片级、板卡级、外设级,如图2.2所示。

图2.2 存储器的层次结构

(1)内核级存储器。这些寄存器被集成处理器内核中,在系统中提供最快的存储访问,访问时间为纳米量级。

(2)芯片级紧耦合存储器(TCM)。功能是弥补Cache访问的不确定性。

(3)板卡级的DARM。主存储器可能是几兆字节到几十兆字节的动态存储器,访问时间约为100ns。

(4)外设级存储器。作为后援存储器,通常是硬盘,可能从几百兆字节到几十吉字节,访问时间约为几十毫秒。(www.chuimin.cn)

2.存储管理单元(MMU)

在创建多任务嵌入式系统时,最好用一个简单的方式来编写、装载及运行各自独立的任务。

目前大多数的嵌入式系统不再使用自己定制的控制系统,而是使用操作系统来简化这个过程。较高级的操作系统采用基于硬件的存储管理单元(MMU)来实现上述操作。

MMU提供的一个关键服务是使各个任务作为独立的程序在自己的私有存储空间中运行。在带MMU的操作系统控制下,运行的任务无需知道其他与之无关的任务的存储需求情况,这样就简化了各个任务的设计。

MMU提供了一些资源以允许使用虚拟存储器。MMU作为转换器,将程序和数据的虚拟地址(由编译器和链接器在定位程序时分配)转换成实际的物理地址(物理上程序存在的区域)。

MMU采用页表方式实现地址转换,页表中包含的每个条目都描述部分内存映射到物理地址之间的转换。页表项按照虚拟地址组织。除了描述虚拟页到物理页之间的转换,页表项还提供页的访问权限和存储属性。处理器核产生的是虚拟地址,MMU的本质是将虚拟地址的高位做替换,地位地址不变,从而得到物理地址。内存按页进行分配,高位地址是某个页的基地址,而地位则是业内偏移量。页表用于为指令预取、数据读/提供地址转换和内存属性。页表的使用方法大家可参照相关书籍进行学习,这里就不在介绍了。