多核系统是否允许两个或多个核同时访问相同的存储器位置?



我目前正在学习ARM架构。多核系统上的两个核可以同时访问相同的内存位置吗?

以及您需要的其他文档(架构参考,技术参考)。从arm (infocenter.arm.com)获取AMBA/AXI手册。它展示了公共汽车是如何工作的。很明显,你不能同时访问相同的内存位置,但是每个核心可以有多个正在运行的事务,你当然可以为同一个地址有多个正在运行的事务。

现在缓存也起作用了,你可能最终访问一个或两个本地缓存,而不是共享内存位置。

ldrex/strex对是专门针对多核访问同一位置的问题添加的。

是,如果他们只从那个位置读取。当写入该位置时,缓存需要使该位置无效以保持一致。

可以。但是,您应该不惜一切代价避免这样做,因为由于缓存一致性问题,性能将难以忍受。

最新更新