分类: LINUX
2009-06-12 11:36:47
MMU 架构
MMU 内存系统架构对内存系统有很好的控制。在内存中的转换表(translation tables)提供了很多详细的控制信息。转换表中的内容定义了从1KB到1MB的内存区域的属性。这些属性包括:
虚拟地址到物理地址的映射:
从ARM处理器产生的地址称为虚拟地址(virtual address)。MMU可以把虚拟影射到不同的物理地址(physical address)。物理地址标识出主存的位置。这可以用于管理物理内存的多种分配方法。
内存访问权限:
这些信息控制一个程序对该内存的访问权限。访问权限包括不能访问,只读访问和读写访问。当一个访问权限不允许时,一个内存失败信号将发送给ARM处理器。
cachability 和bufferrability信息位(C and B):
系统控制协处理器寄存器对系统进行高级别的控制,如转换表定位。这些寄存器也可以用于当内存失败时提供给ARM处理器状态信息。
硬件经常自动地对转换表进行全表搜索,这将耗费大量的时间。为了降低平均内存访问时间,使用旁路转换缓冲TLBs(Translation Lookaside Buffers),对转换表进行缓冲。
内存访问操作序列
当ARM产生对一个内存的访问,MMU首先在TLB中查找该虚拟地址。如果没有找到,MMU将从转换表中取出该虚拟地址相关的影射信息,加入TLB中。
通过对寄存器的设置可以关闭或使能MMU。当关闭MMU时,虚拟地址就直接对应物理地址。