在ARM中,内存类型指定为:
在设备类型中,似乎也可以区分此类型
不可共享,可共享的设备内存有什么区别? 我们如何分别使用这些内存?
答案 0 :(得分:3)
可共享属性在应用于普通或设备内存时意味着不同,而对于ARMv7,则不存在不可共享的设备内存。
以下是Cortex A Series Programmers Guide:
对于指定为Device的存储器:
...设备访问的可共享属性用于确定 哪个内存接口将用于访问,带内存 访问标记为Device的区域,使用a执行不可共享 专用接口,专用外设端口。这个机制是 不用于ARMv7处理器。
对于指定为Normal的存储器:
正常内存也必须指定为可共享 或不可分享。具有不可共享的正常内存区域 属性是仅由此核心使用的属性。没有 要求核心使这个位置的访问连贯一致 与其他核心。如果其他核心确实共享这个内存,那么任何一致性 问题必须用软件处理。
对于指定为强排序的内存:
对强排序内存的所有内存访问都按程序顺序进行。 假设所有强排序访问都是共享的。