ITmedia NEWS > 企業・業界動向 >

IBM PCから41年、そして現在へ PCとは何だったのか、改めて考える【最終回】“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(2/3 ページ)

» 2022年08月09日 12時34分 公開
[大原雄介ITmedia]

RISC陣営の限界

 その一方で、x86プロセッサはIntelとAMDの激しい性能競争の副産物で、大幅に性能を上げている。2000年でいえば、Cascades(CoppermineのXeon版)の900MHzが既に出荷されており、Pentium IIIそのものは動作周波数が1GHzに達している。

 同じ2000年にSun MicrosystemsのUltraSPARC IIはやっと500MHz、DECはAlpha EV67(21264A)が750MHz程度。性能でいえば、SPEC CPU CINT 2000の結果を見るとPentium III 1GHzが454、UltraSPARC II 450MHzが234、21264A 750MHzが456といったところで、もう完全にRISC CPUとx86は互角というか、その後の伸びを考えるとx86の方が性能的に上回るようになった。

 機能とかスケーラビリティの観点でもx86プロセッサは急速に高機能化した。Pentium世代では一応2P構成が可能な製品SKUも用意されたが、これはお試しというか本当に限定的なもので、まずは様子見といったレベル。ところがPentium ProではIntel純正のチップセットで4P、サードパーティー(RCC:のちのServerWorks)のチップセットを使うと最大8Pまで構成可能になり、搭載メモリ容量も(利用するチップセット次第だが)4GBを超えることになった。

 32bit CPUで4GB超えのメモリをどうするんだ? という話はこちらでご紹介した通りで、PSE-36やPAE-36といった技法でまずは対応し、根本的には2003年の64bit対応で解決される事になった。2003年のOpteronとか2008年のNehalemなど以降は、標準で最大8 Socket構成が可能になっており、サーバベンダーの中にはこれを超えるシステムを独自のチップセットなどを使って可能にしたところもある。

 この時点でメインフレームとかRISCサーバのメリットは、RAS(Reliability Availability Serviceability:信頼性・可用性・保守性)機能の充実しかなくなっていたのだが、これについてもIntel・AMD共に急速に機能を充実させていく。特にIntelはItanium路線が失敗した後で、本来はItanium系列に実装する予定だった(というか、Itanium系列にも実装された)RAS機能を積極的にXeon系列に投入し、AMDもこれに負けじとRAS機能を充実させていく。

 要するにIntelとAMDが切磋琢磨する形でどんどん製品を強化していった結果、性能・機能共にメインフレームとかRISCプロセッサなどを上回り、しかも競争が激しいことで相対的に廉価での提供が可能になり、メインフレームやRISCプロセッサを駆逐してしまった、ということになる。この時点で、いわばPCのアーキテクチャがマーケットを席捲してしまったわけだ。

 ただ当たり前であるが、基本のアーキテクチャそのものは一緒といっても、1Kgを切るようなミニノートとデスクトップ、サーバでは実装が異なってくるのは当然である。このためIntelもAMDも、基本のアーキテクチャは同じにしながら、実装を変えることで幅広いマーケットに対応できるようにしてきた。

 Intelは自社でFabを持つメリットを生かし、何種類かのCPUのダイを用意、更にチップセットを複数用意することで幅広いマーケットに対応できるような方策を取った。

 実際8 Socketまでの製品を現時点でリリースしているのはIntelのみであり、AMDは2 Socketまでに留まっている。逆にAMDはFablessで製造を外部委託していることもあり、ダイそのものは1種類(実際にはMobile/Embedded向けは流石に同一では無理ということで2種類)に留め、その代わりChipletと呼ばれる技術をいち早く導入、最小2コア〜最大64コアまでの製品を、同一のCPUダイで提供する事でラインアップの拡充を実現している。

 どちらもいわば最先端の技術であり、既にPCがコンピュータ全体の技術の牽引役になっている状況だ。これはCPUコアの中身も同じであり、CISC→RISCの変換だけでなくOut-of-OrderやMacro Fusion、MicroOp Cache、AIベースの分岐予測、etc……と先端的な技法を全て取り込む形で進化してきている。つまり40年余りをかけて、PCは最先端の技術を使って構築するものになった訳だ。

 これはソフトウェアの面でもそうである。既にEnterprise向けのOSは、Linuxベースが普通になってしまったし、ミドルウェアとかHypervisor、コンテナなどもLinuxを前提にしたものが普通になった。もちろんこれらは別にx86でなければならない理由はなく、ArmとかRISC-Vなどにも移植されつつあるが、ほとんどのものはまずx86(というかx64)をベースに開発され、それが他のプラットフォームにも移植される形になっている。ファームウェアもそうだ。

 ただここ数年、改めてPCの定義が怪しくなり始めている。強いて言えばArchitecture independentとでもしておけば良いのだろうか? 第1回目でも触れたが、既にArm(というかQualcomm)ベースのPCでWindowsが動いており、通常のWindowsアプリケーションを使う限りにおいて、性能差を感じることはあっても異なるアーキテクチャで動いていると意識することはまず無い。

 あるいはRISC-VベースのPCは、流石にWindowsは動かないが、Ubuntuあたりを使っている限りにおいて、それが非x64ベースだと意識する機会は自分でプログラムを書いてないと意外にないかと思う。

 もちろんいろんな周辺機器とかアプリケーションの中には、まだx64ベースで無いと動かないものがかなりあるから、こうしたものを使う段になって初めてx64ではないと意識させられる訳だが、逆に言えばこうした周辺機器やアプリケーションが対応すれば、もう別にPCがx64アーキテクチャである必然性は少ないことになる。

Copyright © ITmedia, Inc. All Rights Reserved.