3

インテル® 64 および IA-32 アーキテクチャー最適化リファレンス・マニュアルには、さまざまな CPU 命令のレイテンシーとスループットの数値がリストされています。

超越関数 (FSINなど) については、数値の一部が範囲としてリストされています (ページ C-29)。脚注 4 は次のように説明しています。

超越命令のレイテンシとスループットは、動的な実行環境では大幅に異なる場合があります。これらの指示については、おおよその値または値の範囲のみが示されています。

私の質問は、そのような命令のスループットとレイテンシに影響を与える要因は何ですか? 引数の値が 1 つの要因であると思います。他にもありますか?

4

2 に答える 2

4

引数に加えて、実行中の他の命令の組み合わせがレイテンシとスループットに影響を与える可能性があります。これらの命令はマイクロコード化されています。つまり、ALU リソースに対して他の命令と競合する必要がある µop のシーケンスを生成します。このような競合が発生した場合、パフォーマンスに悪影響を及ぼす可能性があります。

于 2013-01-22T21:23:46.040 に答える
2

x87 コントロール ワードは、計算の精度 (64 ビット、53 ビット、または 24 ビットの仮数) を指定し、超越関数のパフォーマンス、特に内部で除算または平方根を使用する関数のパフォーマンスに影響を与える可能性があります。一般に、三角関数の x87 命令の使用は避けることをお勧めします。これは、設計上、大きな入力値に対して非常に不正確になるためです。

于 2013-01-23T02:42:24.260 に答える