ARM通过存储器域(memory domain,简称“域”)来支持多用户操作系统,它是ARM的特色之一。ARM域是一组具有特定访问权限的段或者页。换言之,存储器的所有段或者页都与某一个域相关联。域允许多个不同进程用同一个转换表执行,同时不同程序之间又有一些保护。域不要求每一个进程都有自己的虚实地址转换表。
MMU最多可以将整个存储空间分为16个域,命名为D15一DO。这些域具有相同的访问权限控制属性。当存储访问失效时,MMU通过C5寄存器和C6寄存器提供了相应的机制加以处理。
域是ARM主要的存储器访问控制机制,在域上定义了可以进行某种类型访问的条件。每一个域的配置在域访问控制寄存器(Domain Access Control Register, DACR)中完成。DACR寄存器也就是CP15寄存器的C3寄存器。
DACR寄存器从位0开始,每2个位定义一个域控制字段;这样共有16个字段,从而控制16个域的访问。这些字段名与域名相同,分别为D15一D0。
文章评论(0条评论)
登录后参与讨论