【发布时间】:2011-04-04 11:06:42
【问题描述】:
我必须在工作中处理大量多线程编程。具体来说,我想知道 ARM 内存模型与 IA64 有何不同。两者都是非常弱的模型,但是我应该知道任何具体的区别吗?我熟悉 ia64,不熟悉 arm。
【问题讨论】:
标签: architecture arm itanium
我必须在工作中处理大量多线程编程。具体来说,我想知道 ARM 内存模型与 IA64 有何不同。两者都是非常弱的模型,但是我应该知道任何具体的区别吗?我熟悉 ia64,不熟悉 arm。
【问题讨论】:
标签: architecture arm itanium
我也有同样的问题,虽然我还没有完全找到答案,但这篇论文可能会有用:Reasoning about the ARM weakly consistent memory model
在“进一步的工作”部分,似乎暗示没有人(甚至在 ARM,因为他们写了这篇论文)正式回答了这个问题:
...有几个完整性 我们需要回答的问题。如何 公理模型符合 可操作的? ... 什么是 ARM模型的精确嵌入 进入 Alpha、英特尔、JMM?
更新: 另请参阅 Paul McKenney 的 Memory Barriers: a Hardware View for Software Hackers。它讨论了各种处理器执行的内存访问重新排序的类型以及可用于隔离访问的指令。请特别注意第 16 页上的表 5,该表总结了每种架构允许的重新排序。 ARMv7、IA64、POWER 和 SPARC RMO 都具有相同的特性,即没有障碍,除了依赖负载之外的任何内容都可以重新排序。
【讨论】:
http://en.wikipedia.org/wiki/Memory_ordering 可能会回答您的问题。从它显示的表格来看,ARMv7 似乎与 IA64 相同。
【讨论】: