IA-64

読み:アイエイろくじゅうよん
外語:IA-64: Intel Architecture 64
品詞:固有名詞

HP(Hewlett-Packard)とIntel共同で開発されたマイクロプロセッサItanium(Merced)で採用されたネイティヴな64ビット命令セットの名。最大で16Tバイトまでのメモリ空間を利用できる。

そもそも、従来のIntelアーキテクチャ(IA-32)は典型的なCISC仕様の命令セットであり、性能向上が困難である。そのためPentium Pro以降では内部でRISC命令に変換して実行する仕様となっていて、このRISC処理部分で投機実行パイプラインスーパースケーラ、アウトオブオーダー実行、レジスタリネーミングといったRISCプロセッサの技術が使われ、性能向上を図っている。IA-64では、この問題を改善すべく一から設計しなおされたのである。

IA-64はIA-32とは一切互換性がない、全く新規に作られた命令セットである。そこで、64ビット汎用レジスタ128本、82ビットの浮動小数点レジスタ128本が用意されており、加えて予め並列に実行できるように実行バイナリを最適化しておくEPICという名の技術が使われる。これによりプロセッサの演算装置の効率を最大限にし、メモリアクセスの遅延とパイプラインのストール、分岐予測失敗によるペナルティなどをプログラミングの時点で排除し、性能を向上させることが可能となる。

IA-64の命令は128ビット長であり、これをバンドルという。このバンドル中に41ビット長の命令が3個(3スロット)と5ビットのテンプレート情報が含まれている。つまり1バンドル中に1〜3個の命令を格納でき、また複数のバンドルに跨がっての同時実行も可能である。

これはまずライバルだったAlpha陣営筆頭のDECを引き込み、その後SPARC陣営筆頭のSun Microsystemsまでも虜にしたといういわく付きのアーキテクチャである。しかし、IA-32からIA-64への移行はバイナリ互換性の問題から思うように進まなかった。その隙にAMDがAMD64 ISAを発表し、多くの賛同を得る。この結果、Intelが互換マイクロプロセッサメーカーであるAMDの命令セットをIntel 64という形で採用するという前代未聞の出来事が発生することとなった。そして、x86系マイクロプロセッサの64ビット化はAMD64 ISAとIntel 64になびいていくことになるのである。