もうPCIでは遅すぎる さらなる高速化目指すPCはPCI Expressへ:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/4 ページ)
ISAからPCIに移行したPCだが、その後はどうなったかという話。
昔ながらのIBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流からたどっていく連載。第17回はいよいよ現在のスタンダード、PCI Expressが登場します。
- 第1回:“PC”の定義は何か まずはIBM PC登場以前のお話から
- 第2回:「IBM PC」がやってきた エストリッジ、シュタゲ、そして互換機の台頭
- 第3回:PCから“IBM”が外れるまで 「IBM PC」からただの「PC」へ
- 第4回:EISAの出現とISAバスの確立 PC標準化への道
- 第5回:VL-Bus登場前夜 GUIの要求と高精細ビデオカードの台頭
- 第6回:VL-BusとPnP ISA PCの仕様をMicrosoftとIntelが決める時代、始まる
- 第7回:Intelが生み出したさまざまなPC標準規格 Microsoftとの協力と対立
- 第8回:USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る
- 第9回:Modern PCの礎、PCIはどう生まれ、いかに成立していったか
- 第10回:PCのスケーラビリティを決定付けた超重要コンポーネント、地味にスゴイ「APIC」の登場
- 第11回:ラップトップPCのための基礎技術が生まれるまでの紆余曲折
- 第12回:PC互換機はIntelだけではない ジョブズのいないAppleが進めたPRePとCHRP
- 第13回:Intelがメモリ標準化で主導権を失うに至った“やらかし”について
- 第14回:Intelのさらなる“やらかし”と、Intelが主導するPCアーキテクチャの終わり
- 第15回:カセットからフロッピー、そしてハードディスクを制御するSASI、SCSI、IDE、ATA、SATA――さまよえるストレージ用インタフェース標準を語る
- 第16回:BIOSからUEFIへ BIOSはなぜ終わらなければならなかったのか
2021年7月にISAからPCIへの変遷をご紹介したが、今回はその続編、PCIからPCI Expressへの移行をまとめたい。ちなみにこの筆者、放っておくと延々とバスの話を始めるのは“仕様”なのでご容赦いただきたい。
PCIは1995年辺りから普及し始め、1997年には既に主要なI/OのI/F(インタフェース)になった。とはいえ、いきなり既存のI/Fを転換するには時間が掛かる。ISAバスをPCのマザーボードでほとんど見なくなったのは、多分2005年とか2006年である。
Intelは1999年に、Intel 810チップセットと併せて発表された初代ICHでISA Busのサポートを削除。PCIとLPC(Low Pin Count)という独自の低速周辺回路用I/Fを導入する代わりにISA Busを省いた。ただこの時点では、周辺チップメーカーがPCI-ISA Bridgeを提供しており、マザーボードメーカーはこれをオンボードで搭載してISA Busを出していた(写真1)。
写真1:SMC(Standard Microsystems Corporation:後に略称をSMSCに変更)のSLC88B17というPCI-ISA Bridgeチップの仕様書より。ちなみにSMSCは2012年にMicrochipに買収されている
ISA Busが消えたのは、次のPCI Expressの登場で低速周辺機器がPCIにほぼ移行し、ISAの必要性がなくなったからである。とはいってもまだこの時点では産業機器向けにはISAが結構必要とされており、確か2005年か2006年のCOMPUTEXでは、産業機器や計測器向けにISAを10スロットくらい持ったマザーボードが出展されていた記憶があるが、まぁこれは特定用途向けなので一般ユーザーには関係ない話である。
さてそのPCIであるが、1.0が1992年6月、2.0が1993年4月、2.1が1995年6月で、その後エラッタの修正が主な2.2が1998年12月、5Vキーを省いた2.3が2002年3月、5Vのサポートそのものが省かれた3.0が2006年7月にリリースされるが、ここで終わりとなっている。
その理由として大きいものは、PCI Expressが出てきたからという話であるが、その背景にはPCIのスケーラビリティーが限定的だったというのがある。PCIはバス幅32bit/信号速度33MHzのシェアードパラレルバスがスタンダードというか基本であるが、オプションでバス幅64bitが用意されており、またPCI 2.1では信号速度66MHzがやはりオプションで追加された。結果、
バス幅 | 信号速度 | 帯域 |
---|---|---|
32bit | 33MHz | 132MB/sec |
64bit | 33MHz | 266MB/sec |
32bit | 66MHz | 266MB/sec |
64bit | 66MHz | 533MB/sec |
の4種類の組み合わせが可能である。
後追いで、特にサーバ向けなどにより高い帯域を目指したPCI-Xと呼ばれる規格も追加され、こちらは、
64bit | 100MHz | 800MB/sec | |
---|---|---|---|
64bit | 133MHz | 1067MB/sec |
まで性能が引き上げられている。
64bit/133MHzではもう基本の8倍まで性能が引き上げられており、「スケーラビリティーあるじゃないか」と言われそうだが、PCI-Xはある意味拡張性を犠牲にした規格で、64bit/100MHzだとPCI-Xスロットが2本、64bit/133MHzだと1本になる。
実をいうと、さらに上を目指して64bit/266MHz及び64bit/533MHzの規格もPCI-X 2.0では追加されているのだが、こちらは一応1スロットで利用できるものの実装が極めて困難とされ、266MHzはIBMのサーバで実装例があるものの、533MHzは筆者が知る限り商用製品で採用した事例は皆無である。要するにある程度のスロットの本数をサポートしようとすると、信号速度は66MHzに限られる。
また、32bitの信号線の引き回しだけでもかなり難しい(しかも信号長が変わると、信号のバラつきが大きくなるので、「なるべく」等長配線が望ましいとされる)のに、64bit化するとさらに配線が困難になる。結局のところ、32bit/33MHzのシステムが大多数で、サーバ向けに多少64bit/33MHzとか32bit/66MHzのPCIが用意された、という程度でしかなく、これは1990年代では十分な速度であったが、2000年代に入るとまたもやPCIの速度がボトルネックになり始めていった。
Copyright © ITmedia, Inc. All Rights Reserved.