据我所知,gcc的msse和msse2选项将通过更快地执行算术运算来提高性能。我还读到了一些地方,比如它会使用更多的资源,比如寄存器,缓存。
如果我们在RTOS设备(如vxworks板卡)上使用这些选项生成的可执行文件,性能会如何?
发布于 2013-01-22 04:07:05
操作系统必须支持SSE(2)指令,您的应用程序才能正常工作。从谷歌上看,VcWorks似乎支持这一点(这并不是真的那么难,只需要操作系统为使用SSE/SSE2的每个任务提供512字节的保存区--在适当的情况下,它可以按需分配,但通常更容易分配给所有任务)。保存/恢复SSE寄存器是“按需”完成的,也就是说,只有当使用SSE的任务不同于前一个使用SSE指令的任务时,才需要保存寄存器。操作系统将使用一个特殊的中断(陷阱)来指示“一个新的任务正在尝试使用SSE指令。
所以,只要处理器支持它,你就不会有问题。
发布于 2013-01-22 01:58:56
我可能不能直接回答你的问题,但我确实知道一些事情可能会有用:
https://stackoverflow.com/questions/14443705
复制相似问题