在 SIMD 操作的上下文中,非打包指令和打包指令有什么区别?
What is the difference between non-packed and packed instruction in the context of SIMD-operations?
在 SIMD 操作的上下文中,非打包指令和打包指令有什么区别?
我正在阅读一篇关于针对 SSE 优化代码的文章:
http://www.cortstratton.org/articles/OptimizingForSSE.php#batch
当我阅读
时出现了这个问题
"As an added bonus, movss is a non-packed instruction, which allows us to make better use of the parallel instruction decoders.."
那有什么区别呢?
根据我的理解,packed 意味着概念上不止一个值被传输或用作操作数,而 non-packed 意味着只有一个值被处理; 非打包表示不进行并行处理。
SSE支持两种操作模式:
- 打包模式 - 指令对所有数据操作数并行操作
- 标量模式 - 指令对打包数据操作数的最低有效对进行操作。
在 SIMD 操作的上下文中,非打包指令和打包指令有什么区别?
我正在阅读一篇关于针对 SSE 优化代码的文章:
http://www.cortstratton.org/articles/OptimizingForSSE.php#batch
当我阅读
时出现了这个问题"As an added bonus, movss is a non-packed instruction, which allows us to make better use of the parallel instruction decoders.."
那有什么区别呢?
根据我的理解,packed 意味着概念上不止一个值被传输或用作操作数,而 non-packed 意味着只有一个值被处理; 非打包表示不进行并行处理。
SSE支持两种操作模式:
- 打包模式 - 指令对所有数据操作数并行操作
- 标量模式 - 指令对打包数据操作数的最低有效对进行操作。