辞書: Itanium

投稿日: 更新日:

Itaniumとは

Intelが開発しているCPUです。

売上

このグラフが面白いです。

File:Itanium Sales Forecasts edit.png - Wikipedia

2003年からダメだと思っていた

自分がスラドに2003/04/26に書いた投稿1では控えめな表現ですが、 Itaniumの設計に問題があるんじゃないのと書いていました。

Itaniumがダメなのは、穿った見方をすれば、

  1. Itaniumの設計もしくはコンパイラの出来が悪く性能が出ない。
  2. 性能の出ないダメCPUというイメージを避けるためにキャッシュを増やしてなんとか性能アップ
  3. ダイサイズが非常にデカくなって値段高騰
  4. IA-32部分の性能の悪さもあって売れず

控えめな表現をしてたのは、当時はどこの企業もItaniumに注力していたので、 自分の方が正しいという自信がなかったからです。 あと、リプライにもあるように、IA-32互換の足かせが外れたときに どれくらい速度が出るかも気になってたのですが、 結果的に他のCPUと比べて速いという評判も聞かれませんでした。

EPICアーキテクチャが根本的に間違ってた理由

それは、EPICアーキテクチャが典型的な静的アーキテクチャだからです。

WikipediaのEPICアーキテクチャにかかれている以下の目標がすでに問題があります2

目標は複数命令の動的スケジューリングの複雑さをハードウェア実装からコンパイラに移すことであり、 これにより(トレースフィードバック情報を使って)命令スケジューリングが静的に行われるようになる。

例えば、以下のようなコードは並列化可能です。

int foo(int a, int b) {
  int c = a * 2;
  int d = b * 3;
  return c + d;
}

しかし、以下のように条件分岐が入ると、コードは簡単に並列化不可能になります。 投機的実行を使えば並列化可能ですが、それでは他のCPUと変わりません。 なので、明示的な並列化によるメリットは非常に限られています。

int foo(int a, int b) {
  if (a < b) {
    return a * 2;
  } else {
    return b * 3;
  }
}

Itaniumはほとんど何も残さなかった

Itaniumは失敗に終わりそうですが、 それ以上に問題なのは、Itanium由来の技術がほとんどないことです。 UEFIくらいでしょうか。

逆に、商業的にはItanium以上の失敗の、 Cell B.E.は、ヘテロジニアスマルチコアと呼ばれる、 異なるアーキテクチャのCPUコアを組み合わせるタイプのCPUを採用しました。 Cell B.E.は扱いが難しく、性能を発揮するのが難しかったのですが、 異なるアーキテクチャのCPUを組み合わせる概念はARMのbig.LITTLEのように、広く使われています。

外部サイト