代码之家  ›  专栏  ›  技术社区  ›  alpha-mouse

32位CPU上的Int64实现

  •  4
  • alpha-mouse  · 技术社区  · 15 年前

    我有一个好奇的问题。

    如何 Int64 为32位处理器实现? 我可以看到三种选择

    1. 32位处理器具有某种扩展,允许64位算术
    2. 英特64 它是否完全在clr中实现,clr使用32位操作实现64位算术
    3. 一些 32位处理器可以执行64位算术,而clr使用此逻辑。在其他处理器上,clr返回到自己的64位逻辑实现。

    第一种方案看起来不太合理,因为它意味着64位处理器现在应该能够执行128位算术。第二个问题是如何做到这一点 有效地 . 第三种方法看起来是将两种方法的最坏特性结合起来。

    1 回复  |  直到 15 年前
        1
  •  6
  •   Community Mohan Dere    9 年前
    • 像旧Pentiums(32位处理器的一个例子)这样的英特尔x86处理器已经能够长期执行64位算术,甚至128位算术。 (XMMM0-XMM7 例如)。
    • 仅使用32位注册表的64位算法是很好的 documented
    • 特定于平台的clr实现可以自由地实现上面的其中一个,或者实现满足需求的其他东西。
    推荐文章