cpuid
rdtsc
単独で使用すると、ベンチマークされた命令の実行が前に並べ替えられる可能性があるため、ベンチマーク時に ooo の実行を防ぐためのシリアル化命令として使用されます。私の質問は、以下の手順を と の間でrdtsc
並べ替えることがまだ可能かどうかです。はシリアライズ命令ではないので、命令を自由に並べ替えることができますか?cpuid
rdtsc
rdtsc
1 に答える
1
RDTSC は入力に依存しない (引数を取らない) ため、原則として、OOO パイプラインはできるだけ早くそれを実行します。その前にシリアル化命令を追加する理由は、RDTSC を早期に実行させないためです。
ここにジョン・マッカルピンからの回答があります。役に立つかもしれません。彼は、RDTSCP 命令 (RDTSC とは動作が異なる) の OOO リオーダリングについて説明しています。
于 2016-02-11T10:15:37.897 に答える