在SIMD操作的上下文中,非打包指令和打包指令有什么区别?

时间:2015-05-04 10:19:28

标签: sse simd

在SIMD操作的上下文中,非打包指令和打包指令有什么区别?

我正在阅读有关优化SSE代码的文章:

http://www.cortstratton.org/articles/OptimizingForSSE.php#batch

当我读到

时出现了这个问题

“作为一个额外的好处,movss是一个非压缩指令,它允许我们更好地利用并行指令解码器。”

那有什么区别?

2 个答案:

答案 0 :(得分:2)

根据我的理解, packed 意味着概念上不止一个值被转移或用作操作数,而非压缩意味着只处理一个值; 非压缩表示不进行并行处理。

答案 1 :(得分:1)

SSE支持两种操作模式:

  • 打包模式 - 指令在所有数据操作数上并行操作
  • 标量模式 - 指令操作最不重要的打包数据操作数对。

Source