在simd操作的上下文中,未包装和包装指令有什么区别?
我正在阅读一篇有关优化您的SSE代码的文章:
http://www.cortstratton.org/articles/optimizingforsse.php#batch
我阅读
时出现了这个问题"作为额外的奖励,Movss是一项未包装的指令,它使我们能够更好地利用并行指令解码器。"
那么有什么区别?
对我的理解,包装在概念上,多个值转移或用作操作数,而不包装表示处理只有一个值。未包装表示没有进行并行处理。
SSE支持两种操作模式:
- 包装模式 - 指令在所有数据操作数上并行操作
- 标量模式 - 指令以最不重要的包装数据操作数对操作。
源