« 臨界フレンチトースト | Main | うたわれるものラジオ »

2006.07.19

Core Microarchitectureはx64命令が遅い?

PC Watch「後藤弘茂のWeekly海外ニュース」で「64bitは苦手なCore Microarchitecture」という記事が出ています。
これは、

  1. Macro-Fusionがx64で動かないため命令を効率的に処理できない
  2. x64のレジスタ16本をフルに使うためのREXプリフィクスを使うとデコーダが一度に処理できる命令数が減る
といった理由があるようです。
ただ、遅いといってもCore Microarchitecture(Core MA)はNetBurstのように32bitの演算器を2個重ねているのではなく、64bitの演算器を持っているようですから、NetBurstのx64より効率はよいかもしれません。

CPUはざっくり言って、

  1. メモリから命令を読み込むフェッチ
  2. 読み込んだ命令を解釈するデコード
  3. 解釈した命令を実行
手順を繰り返して処理を続けていきます。

IA-32は歴史的経緯から命令の長さがいろいろな種類があるため、デコードの作業はあるところから決まった長さに分割して読めばいい、というのではなく、文脈を見ながら判断する必要があります。
ですから、IA-32はデコードを行うデコーダの性能が低いと解釈済みの命令を実行ユニットに送り込めなくなるためデコーダの性能が処理能力を決める重要な要素になります。

この辺はIA-32を拡張して32bitと64bitの命令を混在できるようにしているx64でも引き継がれていますから、デコーダの性能が重要なところはx64でも変わらないということでしょう。
この辺はCore MAがx64を取り込む時期が遅かった(=AMD64が賛同を得られると思っていなかった)という経緯があるようで、Core MAはまだ発展途上といえるのかもしれません。

こちらのベンチマークを見ても、x64ではなくIA-32 OSベースのベンチマークになっていますから、x64でのXeon 5100シリーズとOpteronの性能についてはまだ確認が必要なようです。

やっぱりベンチマークが自社有利になるようにしてますから、原典をチェックするのが重要ですね(^^;

|

« 臨界フレンチトースト | Main | うたわれるものラジオ »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/27186/11001912

Listed below are links to weblogs that reference Core Microarchitectureはx64命令が遅い?:

« 臨界フレンチトースト | Main | うたわれるものラジオ »