Intel x86 などのマシンの整数の比較に関する情報をいくつか見つけましたが、それ以上のことはわからないので、この件に関してある程度の精度が必要でした。
x86 マシンでは、最初に Big-End バイトを比較し、次に Little-End バイトを比較すると思いました。これは正しいです?
それにはどのくらいのサイクルが必要ですか?約6サイクルだと思っていましたが、私が真実だと思うことに同意するものは何も見つかりません.
Intel x86 などのマシンの整数の比較に関する情報をいくつか見つけましたが、それ以上のことはわからないので、この件に関してある程度の精度が必要でした。
x86 マシンでは、最初に Big-End バイトを比較し、次に Little-End バイトを比較すると思いました。これは正しいです?
それにはどのくらいのサイクルが必要ですか?約6サイクルだと思っていましたが、私が真実だと思うことに同意するものは何も見つかりません.
x86 自体は単なるアーキテクチャです。サイクル カウントに興味がある場合は、正確なモデルまたは少なくともファミリに名前を付ける必要があります。ただし、通常、チップにはネイティブ幅のハードウェアユニット (32 ビットまたは 64 ビット) があるため、バイト単位では実行されません。また、今日のチップはスーパースカラーであり、命令を並列に実行でき、アウトオブオーダーで実行できます。つまり、結果が同じで、プリフェッチ、キャッシュ、およびパフォーマンスに大きな影響を与える可能性のあるその他の要因がある限り、命令を並べ替えることができます。最後に、比較自体はそれほど有用ではありません。通常、フラグ セットを使用する何か (条件付きジャンプなど) が伴います。
インテルの最適化マニュアルにはレイテンシーの表があり、インターネットでもいくつか見つけることができます。CMP
は変装しているためSUB
、通常、理想的な条件下ではクロックごとに 2 つまたは 3 つ実行できます。