ITmedia NEWS > 製品動向 >
ニュース
» 2021年11月26日 09時45分 公開

Intelがメモリ標準化で主導権を失うに至った“やらかし”について“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/3 ページ)

PCと呼ばれるものの歴史を紐解いていく連載。今回は、メモリ標準化についてのお話。ここでIntelは大きな失敗をする。

[大原雄介,ITmedia]

 昔ながらのIBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流からたどっていく連載。第13回のトピックは、メモリ標準化の話。ここでIntelは大きな失策をやらかす。


 前回はPowerPCベースの互換機がテーマでちょっと寄り道したが、今回は再びPCの話に戻る。

 ACPIやAPICも実装され、x86でも頑張ればちょっとしたサーバが作れる、という時代が近づいてきた。Intelが本格的にx86でPC「以外」を狙い始めたのは、1995年のPentium Proからになる。

 もちろん今から思えばPentium Proはいろいろと無理があり、L2キャッシュを外付けにしたけどMCM(Multi-Chip Module)で構成しようとした結果歩留まりがひどいことになったとか、32bit時代到来を信じて16bitモードをそれほど真剣に作らない(互換性はちゃんと保たれていたが、遅かった)でいたらユーザーから突き上げをくらったとか、逸話は多いものの、Intel純正チップセットで最大4P、互換チップセット(Reliance Computer、後のServerWorksやCorollaryなどのメーカーが提供)を使えば8Pのx86サーバを構成できるようになり、ローエンドRISCサーバ市場を浸食することに成功した。ここから次第にRISCサーバを追い落とし始めるのだが、それは脇に置いておく。

 この頃、Intelは順調にCPUの性能を引き上げていった。486からPentium→Pentium Pro→Pentium IIと進み、さらにKNI(Katmai New Instruction)ことSSEを搭載するPentium IIIに進化していく。

photo Pentium IIIプロセッサ

 この頃のIntelを含む半導体業界は、プロセス微細化に伴う"Free Lunch”、タダ飯を食いまくっていた時代でもある。要するにプロセスを微細化すると、利用できるトランジスタが増え、動作電圧が下げられ、消費電力も減らせる(からその分動作周波数が上げられる)というふうに、プロセス微細化が性能向上の最大の鍵になっていた。それもあってPentiumは当初0.80μmで製造され、66MHz程度の動作周波数だったのが、Pentium IIIでは0.25μm→0.18μm→0.13μmとどんどん微細化が進み、0.13μmのPentium IIIでは最終的に動作周波数が1.4GHzに達している。

 初代Pentium(P5)が1993年、Pentium III最終製品のPentium III(Tualatin)が2003年の登場だから、10年で21倍も動作周波数が高まった計算だ。おまけにパイプライン構造の変革や大容量L2キャッシュの内蔵などもあるから、性能比では20倍では効かない。100倍まで行くかは分からないが40〜50倍は堅いだろう(何で比較するか、という問題もあるのでアレだが)。

 こうしたCPUの高速化に全然追い付いていないのがメモリであった。DRAMそのものは1966年にIBMによって発明され、Intelによって1970年に初めて量産化された(Intel 1103)。その後DRAMは大容量化が進むが、高性能化の方向にはなかなか進まなかった。これには2つの要因がある。

 そもそもDRAMは原理的にコンデンサーに蓄電したり、これを開放したりすることで0と1を表現する仕組みだから、その蓄電/放電の速度には限界があるというのが1つ目の制限で、実はこれ自体は今もあまり改善されていない。1bitずつアクセスするのではなく、まとめて16bitとか32bitアクセスするようにすれば、見かけ上は高速化が可能である。

 もう1つはメモリアクセスの際のアドレスの指定の方法の問題だ。DRAMチップのピン数を減らして小型化・低価格化が可能なように、メモリアドレスをRowとColumnの2つに分割して与えるという方法を採用したため、アクセスにはどうしても時間を要するようになった。

 例えば1MbitのDRAMチップ、1Mbitということはアドレス指定には20bit(2^20=1M)必要だから、20本のアドレスピンが必要になる。ところがこの1Mbitを、1024×1024の正方形に配置して、Row(縦方向)とColumn(横方向)を別々にアドレスを送るようにすれば、それぞれ10bit(2^10=1024)で済む。そこでアドレスバスを時分割し、まずRowアドレス、ついでColumnアドレスを送るようにすることでピン数を半減させることに成功したわけだ。

 これで「Rowアドレスは変えずにColumnアドレスだけ変化させてアクセスすることで、アクセス時間を減らす」という技法が生まれた。これがFast Page DRAM(FPDRAM)というもので、1980年代後半から普及を始めた。初代のIBM PCやIBM PC/ATは確かFPDRAMではなかったと思うが、CompaqのDeskPro/386とかにはFPDRAMが搭載されていたように記憶している。

 このFPDRAMをさらに高速化したのがEDO(Extended Data Out)DRAMである。DRAMの場合、アクセスするアドレスが本当にランダムに飛ぶことは珍しく、大抵は連続して16bitとか読み出してから、また別のアドレスに飛ぶといった形になる。であれば、最初にRowとColumnを与えたら、その後の4bitとかにまとめてアクセスできる(Columnを与えなくても結果が出てくる)という仕組みを取ったものだ。

 Intelでいえば、1993年に登場した430LX(Neptune)というPentium II用のチップセットはまだFPDRAMのみのサポートだが、1995年に登場した430FX(Triton)はEDO DRAMのサポートが追加された。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.