マイクロアーキテクチャーの違い (その1) ―― Woodcrest VS Dempsey ――

2006/6/23 - トピックメーカー/田中伸一

 Woodcrest と Dempsey の違いとして忘れてはならないのがマイクロアーキテクチャーの違いである。前回、冒頭で触れたとおり、インテル Core マイクロアーキテクチャーでは、プリフェッチからリタイアメントに至るパスが約 33 % 拡大されている。そのため Intel NetBurst マイクロアーキテクチャーでは、最大 3 つだった μOP (マイクロオペレーション) の同時処理数は、インテル Core マイクロアーキテクチャーでは 4 つになった。因みに Dempsey には、ハイパー・スレッディング (HT) テクノロジーがある。しかし、これは余った実行リソースを利用することで‘複数スレッド’の並列実行を実現する技術であり、コアの物理的なリソースが拡大されているわけではないので、同時に処理できる命令の最大数 (3 命令) が増えるわけではない。

 また、デコード処理のアプローチも異なっている。Intel NetBurst マイクロアーキテクチャーでは、デコード後の μOP を格納する実行トレース・キャッシュと、デコード済み μOP が書き込まれたマイクロ・コード ROM により、1 つの x86 命令を「見かけ上」 1 クロックでデコードする。一方のインテル Core マイクロアーキテクチャーでは、x86 命令と、デコード後の μOP がほぼ「1 対 1」になるように設計されている。そのため、毎回素直にデコードしても 1 クロックで済む (※マイクロ・コード ROM はインテル Core マイクロアーキテクチャーにもある)。加えて、“マクロフュージョン”により、組み合わせて使う頻度が高い x86 命令のペアを 1 つの μOP として表現されるため、場合によっては 4 つのデコード・ユニットで 5 つの x86 命令が処理されることもある。


図1.インテル Core マイクロアーキテクチャーのブロック図

ほとんどの場合、1 つの x86 命令が 1 クロックで 1 つの μOP に変換される。マクロフュージョンにより、場合によっては 5 つの x86 命令が命令キューからデコード・ユニットに送られることもある。そのため Intel NetBurst マイクロアーキテクチャーにあった「実行トレース・キャッシュ」のような仕掛けは無い。因みに Woodcrest の共有 L2 キャッシュは 4 MB。 (出典) IDF Japan 2006 におけるベンソン・インクリー氏の講演より。

 少々乱暴な計算だが、キャッシュ・ミスや分岐予測ミスなどが一切発生せず、デコード処理もすべて 1 クロックで完了するという、(虫のいい)状態を想定した場合、Dempsey が 1 秒間に処理できる命令数は「3.73 (GHz) × 3 (命令) × 2 (コア)」で約 22×109 命令、一方の Woodcrest では「3.0 (GHz) ×4 (命令) ×2 (コア)」で約 24×109 命令、その差は 2×109 (20億) 命令となる。クロックばかりに目を奪われているとわからないが、実は、同時に処理できる命令数を 1 つ増やすだけでも、GHz (ギガヘルツ) という世界では意外と侮れない効果があることがわかる。

 現実にはこれほどの差にならないにしても、実際のベンチマークで Woodcrest が、クロックの差を凌駕するパフォーマンスを発揮しているのは、やはり、こうした並列処理性能の違いによるところも大きいだろう。

 次回もマイクロアーキテクチャーの違いがパフォーマンスに及ぼす影響を見ていく。

記事アーカイブ

IT Manager's Desk の記事をテーマごとにまとめ読み。

  • IAストラテジー
    • IAとビジネスの新しい展望を解説します
  • IAサーバー
    • IAサーバーの最新動向をレポートします
  • ビジネスPC
    • ビジネスとITの現場を変える最新PCソリューションをお伝えします
  • 事例ウォッチ
    • IAを活用してビジネスを切り拓く、注目の導入事例をピックアップします


新着ビジネスPC