根据我的知识msse
和msse2
选项,gcc
将通过更快地执行算术运算来提高性能。而且我还读到了一些它会使用更多资源的地方,比如寄存器、高速缓存。
如果我们在 RTOS 设备(如 vxworks 板)上使用这些选项生成的可执行文件,性能会怎样?
根据我的知识msse
和msse2
选项,gcc
将通过更快地执行算术运算来提高性能。而且我还读到了一些它会使用更多资源的地方,比如寄存器、高速缓存。
如果我们在 RTOS 设备(如 vxworks 板)上使用这些选项生成的可执行文件,性能会怎样?
操作系统必须支持 SSE(2) 指令,您的应用程序才能正常工作。从谷歌搜索来看,VcWorks 似乎支持这一点(这并不难,所需要的只是操作系统每个使用 SSE/SSE2 的任务都有一个 512 字节的保存区域——在适当的情况下,它可以被分配按需,但将其分配给所有任务通常更容易]。保存/恢复 SSE 寄存器是“按需”完成的,也就是说,只有当与使用 SSE 的前一个任务不同的任务使用 SSE 指令时,它是保存寄存器是必要的。操作系统将使用一个特殊的中断(陷阱)来指示“一个新任务正在尝试使用 SSE 指令。
所以,只要处理器支持它,你应该没问题。
我可能无法直接回答您的问题,但这里有几件事我知道可能有用: