arm内存模型与ia64有何不同?

LCC*_*LCC 5 architecture arm itanium

我必须在工作中处理许多多线程编程.具体来说,我想知道ARM内存模型与IA64的区别.两者都是非常弱的模型,但是我应该知道哪些具体的差异?我熟悉ia64,而不是手臂.

Tre*_*son 4

我有同样的问题,虽然我还没有完全找到答案,但这篇论文可能有用:Reasoning about the ARMweaklyconsistentmemorymodel

在“进一步的工作”部分,似乎暗示没有人(即使是在 ARM,因为他们写了这篇论文)正式回答了这个问题:

...我们需要回答几个完整性问题。公理模型如何与操作模型相适应?... 而 ARM 模型到 Alpha、Intel、JMM 的精确嵌入又是什么呢?

更新:另请参阅Paul McKenney 的《内存屏障:软件黑客的硬件视图》。它讨论了各种处理器执行的内存访问重新排序的类型以及可用于隔离访问的指令。特别要注意第 16 页的表 5,它总结了每种架构允许的重新排序。ARMv7、IA64、POWER 和 SPARC RMO 都具有相同的特性,即没有屏障,除了相关负载之外的任何内容都可以重新排序。