6

最新のプロセッサ (AMD Phenom II 1090T) で実行されている場合、次のコードは何クロック ティックを消費する可能性が高くなりますか? 3 または 11?

label:  mov (%rsi), %rax
        adc %rax, (%rdx)
        lea 8(%rdx), %rdx
        lea 8(%rsi), %rsi
        dec %ecx
        jnz label

問題は、そのようなコードの反復を何度も実行すると、結果が反復ごとに 3 または 11 ティック近く変化することです。そして「誰だ」と決めつけない。

UPD命令レイテンシの表 (PDF)に よると、私のコードは AMD K10 マイクロアーキテクチャで少なくとも 10 クロック サイクルかかります。したがって、反復ごとに不可能な 3 ティックは、測定のバグが原因です。

解決済み@Atomは、最近のプロセッサ ではサイクル周波数が一定ではないことに気付きました。BIOSで3つのオプションを無効にするCore Performance BoostAMD C1E SupportAMD K8 Cool&Quiet Control「6つの命令」の消費が3クロックティックで安定しました:-)

4

2 に答える 2

2

Intel では、David Levinthal 博士の「Performance Analysis Guide」で、このような質問に対する回答を詳細に調査しています。

于 2011-12-29T22:41:54.597 に答える