1

私の知識mssemsse2オプションにgccよると、算術演算をより高速に実行することでパフォーマンスが向上します。また、レジスタやキャッシュメモリなどのリソースをより多く使用するような場所をいくつか読みました。

これらのオプションで生成された実行可能ファイルを RTOS デバイス (vxworks ボードなど) で使用すると、パフォーマンスはどうなりますか?

4

2 に答える 2

1

アプリケーションが正しく機能するには、OSがSSE(2)命令をサポートしている必要があります。グーグルからは、VcWorksがこれをサポートしているように見えます(実際にはそれほど難しいことではありませんが、OSにはSSE / SSE2を使用するタスクごとに512バイトの保存領域があります-適切な状況があれば、割り当てることができますオンデマンドですが、多くの場合、すべてのタスクに割り当てる方が簡単です]。SSEレジスタの保存/復元は「オンデマンド」で実行されます。つまり、SSEを使用する前のタスクとは異なるタスクがSSE命令を使用している場合のみです。レジスタを保存するために必要です。OSは特別な割り込み(トラップ)を使用して、「新しいタスクがSSE命令を使用しようとしていることを示します。

したがって、プロセッサがそれをサポートしている限り、問題はありません。

于 2013-01-21T20:07:05.313 に答える
0

私はあなたの質問に直接答えることができないかもしれませんが、ここに私が知っているいくつかの役に立つかもしれないことがあります:

  • SSE、SSE2などは、そもそも影響を与えるために、プロセッサによってサポート/実装される必要があります。
  • 数学演算のためにこれらの拡張命令を使用する、呼び出すことができる特定の関数があります。これらの関数は、より広いデータ型で動作するか、セットで効率的に演算を実行します。
  • GCCでオプションを有効にすると、以前のAPI/ビルトインが自動的に使用される場合があります。これは私が確信していない部分です。
于 2013-01-21T17:58:56.337 に答える