首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在实时操作系统设备上使用gcc的msse和msse2选项可以吗

在实时操作系统设备上使用gcc的msse和msse2选项可以吗
EN

Stack Overflow用户
提问于 2013-01-22 01:08:02
回答 2查看 95关注 0票数 1

据我所知,gccmssemsse2选项将通过更快地执行算术运算来提高性能。我还读到了一些地方,比如它会使用更多的资源,比如寄存器,缓存。

如果我们在RTOS设备(如vxworks板卡)上使用这些选项生成的可执行文件,性能会如何?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-22 04:07:05

操作系统必须支持SSE(2)指令,您的应用程序才能正常工作。从谷歌上看,VcWorks似乎支持这一点(这并不是真的那么难,只需要操作系统为使用SSE/SSE2的每个任务提供512字节的保存区--在适当的情况下,它可以按需分配,但通常更容易分配给所有任务)。保存/恢复SSE寄存器是“按需”完成的,也就是说,只有当使用SSE的任务不同于前一个使用SSE指令的任务时,才需要保存寄存器。操作系统将使用一个特殊的中断(陷阱)来指示“一个新的任务正在尝试使用SSE指令。

所以,只要处理器支持它,你就不会有问题。

票数 1
EN

Stack Overflow用户

发布于 2013-01-22 01:58:56

我可能不能直接回答你的问题,但我确实知道一些事情可能会有用:

  • SSE、SSE2等必须得到处理器的支持/实现,才能首先发挥作用。
  • 您可以调用一些特定的函数,使用这些扩展指令进行数学运算。这些函数可以在更广泛的数据类型上操作,也可以在集合API上执行操作。GCC中的选项可以自动使用以前的efficiently.
  • Enabling /内置函数。这是我不确定的部分。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14443705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档