【发布时间】:2016-01-27 19:34:36
【问题描述】:
我的问题是关于我现在正在阅读的 M-4 芯片上可用的不同内存类型。总而言之,存在三种不同类型的存储器,即“普通”、“设备”和“强排序”,它们定义了存储系统执行程序指令的顺序(或是否有任何顺序)(例如 ldr 或 str)。似乎“正常”内存类型允许内存系统移动指令执行顺序以提高效率,前提是程序行为不变。
问题是——如果行为不变并且效率得到提高,那么“设备”和“强序”内存的实际用途是什么。从我初学者的角度来看,我知道它们存在一定是有原因的,但我还没有个人经验来链接到这个主题。
【问题讨论】:
-
arm cortex-m barrier page 会回答您的问题吗?一些硬件设备只处理某种访问;即一次单个 32 位读/写。此外,对于硬件外围设备,顺序可能非常重要。对于只使用普通“RAM”的人来说,其他类型无关紧要。只有当地址范围由非 RAM 设备支持时才重要。
标签: arm cpu-architecture cpu-cache cortex-m