ITmedia NEWS >

Modern PCの礎、PCIはどう生まれ、いかに成立していったか“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(3/5 ページ)

» 2021年07月30日 10時30分 公開
[大原雄介ITmedia]

 バスの話に戻れば、MicroChannelとEISAのどちらも勝者にはなれなかった。間隙を縫ってVL-Busが普及し始めたが、安価でピーク性能は悪くなかったものの、安定性にもスケーラビリティにも欠ける、いわば80486の時代のワンポイントリリーフでしかなく、しかもその次の話(64bit対応)もなかった。VESAの中で64bit VL-Busとかの話があったらまた状況が変わったかもしれないが。

 その一方でIntelとしては、バスの遅さはそろそろ許容しかねるところであった。本連載「VL-Bus登場前夜 GUIの要求と高精細ビデオカードの台頭」でも触れたが、もうCPUをどれだけ高速化しても、ビデオカードを含む周辺機器へのアクセスが遅いために、体感性能が変わらないという状況になると、高速なCPUを購入する動機が生まれないことになる。これはIntelのビジネスには大打撃である。

 そんな訳でIALではPCIの開発を始めたが、ここでIALが注意したのは、特定のアーキテクチャに依存しないことだった。特定の世代に依存したバスというのは例えばVL-Busとか、そもそものISA Busがこれに当たるわけだが、こうした構成にすると後の世代で例えばバスの構造とかプロトコルを変更したいと思っても妨げになる。ついでにいえば、アーキテクチャ非依存はx86からも独立する、という意味でもある。

 この1980年代末〜1990年代初頭というのは、例えばDECがMIPSベースのワークステーションで実装していたTurboChannelとかAppleのNuBus(これはWDCが自社のNuMachineというLispワークステーション向けに開発し、1987年にIEEE 1196として標準化されており、Appleがこれを採用した形。TIも自社のワークステーションで採用していた)、Sun MicrosystemsのSBus(SPARCワークステーションの内部バスとして使われていた)など、さまざまな「ISA/EISAより高速な拡張バス」が世の中に存在していた。こうした非x86のプラットフォームでも利用できるようにPCIは設計され、最終的にはこれが実現している。Intelはこれまでこうした作業の経験はなく、いろいろ苦労があったようだ。

 また、PCIは「垂直統合」ではなく「水平統合」の道具となるべきであり、このためにはアーキテクチャがオープンスタンダードであるべき、という確固たる方針が定められていた。

 これを誰が言い出したのかは不明だが(グローブ氏辺りがこれを方針として打ち立てた気がするのだが、それを明示的に示す資料はない)、要するにPCIを実装するに当たって、どこかのベンダーが保有する特許のライセンスを受けなければならない、なんてことがないようにするという話だ。

 実はこれ、言うは易く行うは難しである。PCIもそうだが、当時としては33MHzの信号というのはかなり高速な部類に入り、これを安定して送受信できるPHY(物理的な送受信を行う回路)や信号補正の技術などはあまり一般的でなかった。そもそもIntel自身が当時、そうした高速バスの技術を持ち合わせていなかった。

 もちろんここで、そうした高速バスの技術を持っている企業をパートナーに引き込んでその技術を利用すれば、高速バスの構築は難しくない。ただそれでは第三者がPCIを独自の技術で構築することが難しくなる。そこで特定の企業の持つノウハウとか技術を使わない、一般的な回路技術を駆使して、33MHzで動作するバスを設計する必要があった。

 バスの構造そのものは、この当時のことだから一般的な共有バス形式であり、Master/Slave(90年代の用語なので、Political Correctnessは取りあえずご容赦いただきたい)方式、つまりI/Oを行いたいと思ったDevice(Host含む)がBus Masterに対してリクエストを出し、これを受けたBus Masterが転送の制御をおこなうという仕組みで、これらはそれほど珍しいものではない。

 ただ、Configuration Spaceと呼ばれるデバイスの情報のやりとりやデバイス制御をおこなうメモリ空間の規定やLevel Triggerと呼ばれる複数のInterruptをハンドリングするための仕組み、複数のI/Oを並行して行えるDelayed Transactionという仕組みなどが盛り込まれた。また当初こそバス幅32bit/信号速度33MHzのみが規定されていたが、これは拡張予定になっており、後追いでバス幅64bitとか信号速度66MHzについても追加された。これにより、仕様上は4倍の帯域が利用可能になった(さらに後にはPCI-Xという信号速度133MHzの規格も追加され、最大8倍まで帯域が広げられた)。

 こうした技術上の困難もさることながら、むしろより困難だったのは業界への働きかけであった。実はIALがPCIに取り組み始めた時期は、VESAでVL-Busの標準化が始まっている時期と重なっており、しかも最初IAL(というかIntel)はVL-Busのことを知らなかったそうだ。

 技術的に見ればVL-Busの方が筋が悪いのは事実だが、多数のメーカーが集まって標準化を行っている脇で、全く違う別の標準規格を立ち上げるというのは悪手もいいところである。それもあって、対外的に“Intelは本気でPCIを推進しようとしている”ことを示す目的もあり、Intelは率先してPCIのChipsetを開発することを決める。このPCIのChipsetを(もちろん完成前に、であるが)CEOであったグローブ氏が抱えてIBMに突撃、PCIを採用するようにIBMに働きかけるという、猛烈なトップ営業が行われたらしい。

 これはPCIを本格的に軌道に乗せるには、ビッグネームのOEMを獲得することが望ましい、というグローブ氏の判断だったそうだ。もっともこれはどちらかといえば異例であり、もっぱらIALで開発に携わるエンジニアの草の根的な活動で、次第にPCIの知名度が上がっていったという格好だったらしい。これと並行して、PCI SIGを結成するためのメンバー企業を水面下で募る、という作業も行われていたのだが、前例のないことだっただけにずいぶん苦労したようだ。

Copyright © ITmedia, Inc. All Rights Reserved.