如何与SSE操作并行使用MMX

时间:2012-10-17 16:10:01

标签: assembly intel sse mmx

Wikipedia中,它说:

在SSE2中添加整数支持使得MMX在很大程度上是多余的,但在某些情况下通过将MMX与SSE操作并行使用可以进一步提高性能。

这是否意味着处理器可以在运行SSE / MMX指令的同时运行另一条MMX / SSE指令,因为这些指令在不同的单元中运行?

或者它只是意味着因为它们使用不同的寄存器,您可以在没有切换模式的情况下一起使用它们(MMX模式和FPU模式无法在“同时”工作,您必须手动切换到不同的模式)?

1 个答案:

答案 0 :(得分:5)

现代CPU没有单独的MMX和SSE执行单元,而是具有128位执行单元,可以运行SSE或MMX微操作。在后一种情况下,只会使用处理器计算能力的一半。

组合SSE和MMX指令的唯一好处来自额外的8个MMX寄存器。如果性能受寄存器压力限制,有时可以通过使用除SSE之外的MMX寄存器来改善。在几乎所有情况下,您都必须在汇编中进行编写以进行此类优化。