Tom*_*ski 4 cpu simd instruction-set
每一代新一代CPU都会引入一些新的指令集,即MMX,3DNOW,SSE等.
我对它们几乎没有一般性问题:
1)是和否:CPU会认为它们无效,但如果程序检查CPU是否支持这些指令,那么它可以回退到不使用这些指令的版本,无论如何都允许程序运行.
2)程序必须使用更"基本"的指令提供替代实现,并知道何时使用哪一个.
3)由于程序可以检查CPU,现在可以获得好处,但当然,如果您的用户使用不支持这些指令的CPU,他们将看不到任何好处.
4)这完全取决于编译器和优化器.一些指令集可能被认为足够大,以至于编译器将始终使用它们,除非你告诉它不要,而其他指令集则相反:你必须告诉编译器使用它们.它是否会自动创建回退也取决于编译器.