ITmedia NEWS > 企業・業界動向 >

64bitへの移行に20年を要したIntelの挫折 Itaniumの大失敗とOpteronへの敗北“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(2/4 ページ)

» 2022年06月22日 08時00分 公開
[大原雄介ITmedia]

64bit対応、とりあえずの対応策

 これに対する「逃げ」がPSE(Page Size Extension)やPAE(Physical Address Extension)というメカニズムである。最初に実装されたのはPSEで、これはPentiumで登場している。通常仮想記憶ではPageという概念を利用する。このPageというのは4KBのサイズの塊で、仮想記憶ではこのPageの単位でメモリの割り当てを行うのだが、PSEを使うとこれを4MBに拡張できる(のちに2MB/Pageも追加されている)。この仕組みは単にページサイズを大型化することで、煩雑にメモリのPage-in(仮想アドレスを物理メモリアドレスに割り当てる)/Page-out(仮想アドレスと物理メモリアドレスの割り当てを解消する)が発生しにくくするというもので、PSEそのものは別に物理メモリの4GB超えそのものに直接は関与しないのだが、これを拡張して36bit物理アドレスに対応できるようにしたPSE-36が後から登場している。

 もう1つがPAE-36で、こちらはPentium Proに搭載された。これはPageのサイズは4KBのままで、物理アドレスを36bitに拡張するものである。

 どちらの手法でも、1つのプロセスから扱えるメモリアドレスは32bitまでに限られている。要するにこの上で動くプログラムは4GBまでしかメモリを扱えないが、システム全体では64GBまでのメモリをサポートするので、4GBをフルに占有するようなプログラムを同時に16個まで、オンメモリで動作させられるという計算になる(実際にはOSの分とかもあるから16個は無理だが)。

 もちろんこれらは通常のOSではサポートしておらず、Windows NTで言えばServer向けのみのサポート(しかもEditionによってサポートする上限がまちまち)という形ではあるが、それでも何とか32bitというか4GBの壁を乗り越えることが可能になった。ただこれでOS全体では4GBを乗り越えられても、個々のプロセス(というか、プログラム)はまだ4GBの壁に縛られている。例えばデータベースのように、メモリがあればあるだけ使いたいようなアプリケーションでは、4GBの壁は厄介な存在になっていた。

 実は2000年あたりには、x86以外のプロセッサは既に64bitに対応し、OSもこれをサポートしていた。SPARCはV9で64bit対応が完了、1995年リリースのUltraSPARC Iで64bitサポートが実現している。MIPSはもっと早い1991年に、64bitのR4000をリリースしている。PowerPCは1997年に登場したPowerPC 620で64bit化。翌1998年にはメインフレーム向けであるPOWER3も64bitに移行している(これに先立ち1997年に登場したRS64も64bit対応)。DECのAlphaシリーズは当初から64bit対応になっており、1992年にEV4ことAlpha 21064が出荷されている。

 IntelのItaniumも当然64bit対応であり、最初の製品となるはずだったMercedは、最終的には2001年6月の出荷だったものの、当初は1999年中に量産出荷予定だった。要するにx86以外の(この時点で)メジャーなプロセッサは、既に64bitへの移行が進んでいた。Microsoftとしても当然こうした64bitプロセッサをWindows NTでサポートする予定であり、なので64bit版のWindows NTの開発が割と早い時期から進んでいた。

 ただMicrosoftとしては、x86とそれ以外で異なるWindows NTを提供するつもりはなく、x86にも当然64bitサポートを追加したかった。実際、x86ベースでエンタープライズ向けのサーバとかを構築したいというOEMは多く、そうなると32bitのままでは性能的に非常に不利になるからだ。

 こうした話はもちろんIntel内部でも理解していた。Intelのもともとの計画は、x86は32bitのままに留め、64bitはItaniumでカバーするというものだった。実際Itaniumにはx86の互換動作が可能な32bitモードが用意されていたのでこの64bitの移行に合わせてハイエンドをItaniumに切り替えていく、という心づもりだった。少なくとも1996年とか1997年は、それを匂わす発言が多かった。

 これはこれで理解できる戦略だが、全然うまく行かなかったのはItaniumが大コケしたからだ。

Copyright © ITmedia, Inc. All Rights Reserved.