我正在尝试通过使用带有内联汇编的 MMX 和 SSE 指令集来优化一些算术。但是,我一直无法找到有关这些增强指令集的时序和用法的良好参考。您能否帮我找到包含有关吞吐量、延迟、操作数以及指令的简短描述的信息的参考资料?
到目前为止,我发现:
英特尔指令参考 英特尔 64 和 IA-32 架构开发人员手册:卷。2A和 Intel 64 和 IA-32 架构开发人员手册:卷。2B
我正在尝试通过使用带有内联汇编的 MMX 和 SSE 指令集来优化一些算术。但是,我一直无法找到有关这些增强指令集的时序和用法的良好参考。您能否帮我找到包含有关吞吐量、延迟、操作数以及指令的简短描述的信息的参考资料?
到目前为止,我发现:
英特尔指令参考 英特尔 64 和 IA-32 架构开发人员手册:卷。2A和 Intel 64 和 IA-32 架构开发人员手册:卷。2B
英特尔指令参考应该为这些指令的实际作用提供充分的指导,我会想到吗?它有每一个的伪代码,它的操作描述,在某些情况下甚至是一个代表案例的小图。
对于时间安排,我知道没有官方指南。Agner Fog 的页面是标准参考:
Intel的Intrinsic Guide(位于 AVX 页面的左下角)是一个组织良好的可搜索工具,您可以在其中按 SSE 版本和/或指令类型(例如 FP 算术或整数逻辑)缩小范围。
对于每条指令,它还按 CPU 和参数显示延迟/吞吐量表。
时序在《英特尔优化指南》中;有关每个 CPU 架构的每条指令的吞吐量和延迟,请参见附录 C。