代码之家  ›  专栏  ›  技术社区  ›  Joe

具有延迟和吞吐量的简明SSE和MMX指令参考

  •  12
  • Joe  · 技术社区  · 14 年前

    我试图通过使用带内联程序集的MMX和SSE指令集来优化一些算法。然而,对于这些增强指令集的计时和使用,我一直找不到很好的参考。您能帮我找到包含吞吐量、延迟、操作数信息的引用吗?也许还有对指令的简短描述。

    到目前为止,我发现:

    英特尔指令参考 Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2A Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2B

    英特尔优化指南 http://www.intel.com/Assets/PDF/manual/248966.pdf

    整数运算的计时 http://gmplib.org/~tege/x86-timing.pdf

    3 回复  |  直到 12 年前
        1
  •  10
  •   please delete me    14 年前

    我想,“英特尔指令参考”应该为这些指令的实际操作提供足够的指导。它对每一个都有伪代码,对其操作的描述,在某些情况下甚至还有一个代表性案例的小图表。

    对于时间安排,我不知道有什么官方指南。Agner Fog的页面是标准参考:

    http://www.agner.org/optimize/

        2
  •  7
  •   hrr    13 年前

    这个 Intel's Intrinsic Guide (在AVX页面的左下角)是一个组织良好的可搜索工具,您可以通过SSE版本和/或指令类型缩小范围,例如FP算术或整数逻辑。

    对于每个指令,它还按CPU和参数显示一个延迟/吞吐量表。

        3
  •  1
  •   Jasper Bekkers    13 年前

    时间安排在“英特尔优化指南”中;有关每个CPU体系结构的每条指令的吞吐量和延迟,请参阅附录C。