実際にIA-64がいつ頃から設計されたかは、関係者以外に知るところとならないので、何とも言いようがない。さらに、いつから設計開始とするかも議論の分かれるところだろう。ただ、間違いなく言えることは、どんなに遅くともPentium Proの発表前後からであるのは確かである。その理由は、Intel社のマイクロプロセッサ設計チームはPentium以降、今日のように2つの開発チームによって平行して行われていたからである。つまり、PentiumとPentium Proの設計はタイムライン上、重なっていると言えるのである。でなければ、1992年のPentium発表後、わずか2年でPentium Proの発表が行えるはずがない(リリースは両方ともその後になるが)。
そして、もう一つの「軸」は、Hewlett-Packard社とIntel社の提携である(1994年)。言うまでもなく、IA-64はHewlett-Packard社のプロセッサアーキテクチャであるPA-RISCをベースとしており、PA-RISCはVLIW(Very Long Instruction Word)という特徴を命令実行機構で採用していたことから、どちらかといえば開発初期の主導は間違いなくHewlett-Packard社が握っていたと考えられる。
以上、2方面からの情報から推測すれば、IA-64の設計・開発のスタート時点がおおよそつかむことができ、このような特徴的なアーキテクチャの採用は、Hewlett-Packard社との提携以前にIntel社内では決定したはずで、時期的にもPentiumブランドの確立とそう大差のないことが確認できよう。そして、Pentiumを開発していた部隊は、Hewlett-Packard社のPA-RISC技術陣と共同で開発を進めることになる。
IA-64がPA-RISCを採用するに至ったのは、命令実行効率をさらに高めるためで、前回「IA-64の誕生前史 後編」でx86互換プロセッサメーカとの戦いについて若干ふれたが、1990年代前半にはそれらとの戦いだけでなく、台頭するRISCプロセッサ(MIPS、PowerPC、Alpha等)との戦いにも勝利することを求められていた。RISCプロセッサは、そのアーキテクチャの名前通り、単純な命令を高速に実行することで、トータルの実効性能を上げるアプローチが採られていたが、Intel社のプロセッサは16-bit時代──メモリが低速で容量が貧弱な時代の命令体系(いわゆるx86命令)をそのまま引きずっていたため、プロセッサのコアクロックを引き上げることが困難であり(今日では技術が進み、Atomのようなものも出てきているが)、Pentium Proにおいて、Nexgen社(のちにAMD社に合併)が採用した「x86命令を等幅命令に分割」するという手法をそのまま採り、μOPs(マイクロオペレーション、マイクロ命令)という分割命令体系だけを独自なものとしたP6マイクロアーキテクチャを確立した。
しかし、x86命令をμOPsに変換して実行するというのは、やはり効率的とは言えず、必要以上にトランジスタ規模(ダイサイズ)を拡大してしまうことから、抜本的に解決する方法として、x86命令を継承しないまったく独自の命令体系、IA-64を定義し、その実装手法としてPA-RISCに範をとったのである。これは、対RISCという側面が大きかったのは自明だろう。実際、当時は「CISC対RISC」というものがクローズアップされ、PentiumではRISCに勝てないと言われていたのである。そして、Hewlett-Packard社側も、PA-RISCはけっして主流とは言えず、64-bitアーキテクチャへの移行と共に、Intel社と提携して上を狙っていこうというのはもちろんである(PA-RISCの64-bit版は1996年に登場)。
RISCに対し、Intel社はいわゆるx86命令をネイティヴに実行することで太刀打ちできないとして、2つの選択肢を採ったともいえる。1つがx86命令を等幅命令に分割し、プロセッサ内部でRISC的に実行する方法、もう1つがPA-RISC(VLIW)的に実行する方法。どちらも等幅命令を実行させるという点においては変わらない。だが、一方は互換性を重視し、既存のものでも内部で変換して同じ結果を得ることに対し、一方は互換性を捨てるが、効率的な命令実行を目指したのである。ただし、互換性を捨てるというのは、x86命令という紐帯を断つことにつながるので、既存のIA-32はそのままとし、まだ登場していないIA-64にのみ採用するとしたのである。32-bit環境がようやく普及しようかという時期だったので、64-bit環境はまったく新しいものでも問題はないという判断も働いたことだろう。
この時期の、この判断は、今振り返ってみてもあながち誤っていたとは言い難い。ただ、理想と現実はいつもそうであるように異なるもので、理想を現実に「適用」させる時間が必要となる。そのため、理想を形にするのは早ければ早いほどいい。実際、まったくのゼロから開発するのではなく、PA-RISCという既に稼働実績のあるプロセッサ(アーキテクチャ)が実在するメリットも大きく、順調に開発が進めば、IA-64はもう少し違った展開になっていただろう。だが、IA-64の誕生まではさらに紆余曲折をしなければならなかった。
次回に続く。
コメント