解析中Agner Fog's "Optimizing subroutines in assembly language: An optimization guide for x86 platforms"です。 特に私は第12.7章を理解しようとしています。私が理解できない問題があります。著者は次のように書いています。デコード命令のパターン
命令プロセッサでの命令解読は4-1-1パターンに従います。例12.6bのループ内の各命令の(融合された) μopsのパターンは2-2-2-2-2-1-1-1です。これは最適ではなく、 であり、デコードに6クロックサイクルかかる。これは退役の時間を超えているので、 は、例12.6bの命令デコードがボトルネックであると結論づけることができます。合計実行時間は、反復ごとに6クロックサイクル、または計算されたY [i]値に対して3クロックサイクルです。
- それは命令デコードは4-1-1のパターンとどのようにそれを知っているし、次のことは何を意味するのでしょうか?
- パターンforループは2-2-2-2-2-1-1-1です。しかし、それはなぜ私は知らないデコードに6サイクルかかります。どうして?
感謝:) patricularプロセッサのためのパターンを知る方法 ? – Gilgamesz
アグナーのガイドにはいくつかの情報が必要です。そうでない場合は、Ars TechnicaのCPUアーキテクチャ記事を検索してください。 – Nayuki
最近のIntelプロセッサ(SkylakeとHaswellまで)については、命令のフェッチ動作の詳細な調査を見つけることができます[この回答で](http://stackoverflow.com/a/39940932/149138)。 – BeeOnRope