Ben*_*man 6 linux cpu assembly
好吧,他们带来(至少应该带来)性能的大幅提升,不是吗?
所以,我还没有看到任何Linux内核资源,但是我们很乐意问:它们是否以某种方式使用?(在这种情况下 - 对于没有这种指令的系统,必须有一些特殊的"代码限制"?)
SSE和MMX指令集在音频/视频和游戏工作之外的价值有限.您可能会在内核的黑暗角落中找到一些明确的用法,但我不会指望它.一般情况下的答案是"不,它们没有被使用",它们也没有在大多数非内核/用户空间应用程序中使用.
内核有时会选择使用某些特定于某些CPU的某些x86指令(例如某些AMD或Intel型号上但不是全部,反之亦然),例如syscall,但这些指令与您所指的SIMD指令集不同to,并且不是更广泛的类似主题扩展的一部分.
在Mark回答之后,我去寻找.我可以轻松识别它们的唯一地方是RAID 6库(它也支持AltiVec,即PowerPC SIMD指令集).
(要小心点击树,有很多地方内核"知道"SSE/MMX以支持用户空间应用程序,但实际上并没有使用它.还有一些不幸的变量名称绝对存在与SSE无关,例如在SCTP实现中.)
在内核代码中使用向量寄存器和浮点寄存器有严格的限制。例如,参见“不同 C++ 编译器和操作系统的调用约定”的第 6.3 章。http://www.agner.org/optimize/#manuals
| 归档时间: |
|
| 查看次数: |
4502 次 |
| 最近记录: |