12

我正在尝试通过使用带有内联汇编的 MMX 和 SSE 指令集来优化一些算术。但是,我一直无法找到有关这些增强指令集的时序和用法的良好参考。您能否帮我找到包含有关吞吐量、延迟、操作数以及指令的简短描述的信息的参考资料?

到目前为止,我发现:

英特尔指令参考 英特尔 64 和 IA-32 架构开发人员手册:卷。2AIntel 64 和 IA-32 架构开发人员手册:卷。2B

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

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

4

3 回答 3

10

英特尔指令参考应该为这些指令的实际作用提供充分的指导,我会想到吗?它有每一个的伪代码,它的操作描述,在某些情况下甚至是一个代表案例的小图。

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

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

于 2010-06-02T22:12:19.560 回答
7

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

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

于 2011-07-13T07:15:34.653 回答
1

时序在《英特尔优化指南》中;有关每个 CPU 架构的每条指令的吞吐量和延迟,请参见附录 C。

于 2011-07-13T08:30:36.493 回答