.net - .NET 上 x86/x64/ia64 内存模型之间的差异

标签 .net x86 64-bit memory-model itanium

我正在寻找有关 x86/x64/ia64 上 .NET CLR/JIT 使用的内存模型之间差异的引用。我知道 x86 和 ia64 之间存在一些差异(指令重新排序、指令删除等),但我还没有找到有关 x86 和 x64 之间差异的引用。

我有一个应用程序的目标是一些非常严格的延迟数字,目前只能在 x86 上运行,也可能在 x64 上运行(绝对不是在 ia64 上)。我想知道我是否可以依赖 x86 JIT 实现的一些工件并且在 x64 上仍然相对安全,或者我是否应该对更松散的 ia64 JIT 进行编程(这将需要更多的字段是不稳定的,并且在多个内存屏障中插入地方)。

在此先感谢您的指点。

最佳答案

关于.NET内存模型的两篇文章(比ECMA模型强,顺便说一句):

  • Vance Morrison (详细)
  • Joe Duffy (基于上述规则集)

  • 乔·达菲 (Joe Duffy) 的书,Concurrent Programming on Windows ,也是有关此主题的重要信息来源。

    关于.net - .NET 上 x86/x64/ia64 内存模型之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768078/

    相关文章:

    assembly - 使用函数参数进行 x86 内存寻址

    windows - 检测当前 Windows 版本是 32 位还是 64 位

    c# - 身份服务器 4 : Sorry, 出现错误:unauthorized_client

    c# - 日期时间格式字符串

    c++ - 寻找 "The specified module could not be found"的 dll

    .net - WPF:在动态创建的控件上按名称从 EventTrigger 触发元素上的动画

    x86 - 没有硬件支持如何实现机器虚拟化

    assembly - 传递指向汇编函数的指针

    delphi - 在Delphi XE6 x64下编译时GetProcAddress无法运行

    python - 使用 Fortran 求解器在 Windows 64 位上安装 Odespy