1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史

ASCII.jp / 2024年12月16日 12時0分

 しばらく中断が入った「消え去ったI/F史」だが、久しぶりに復活。もっとも年末~年初はまたいろいろほかの話が入りそうなので、次が何時になるのか筆者にもわからないが。ということで今回はISA Busの話をしよう。

IBM-PCが誕生する前に普及した拡張バス S-100 Bus

 ISA Busの話は大昔、連載106回に一度書いているのだが、なにしろ10年以上も前の話なので、読まれていない読者の方が多いかもしれない。もっともこの手の古い話をする場合、もうアップデートがなかったりするので10年前の記事でもそのまま通用したりするのだが。

 そもそもIBM-PCが世の中に出る「前」を考えると、あまり標準的な拡張バスというものがなかった。その中でも比較的広く使われていたのはS-100 Busだろうか? もっともこのS-100 Busも歴史はけっこう浅い。

 開発したのはMITSである。MITSは連載354回で紹介した、Altair 8800を開発・販売した会社である。このAltair 8800は、最大18スロットのバックプレーンにCPUカードやメモリーカード、I/Fカードなどを接続する形で構築されていた。

Altair 8800の実機。3スロット分のバックプレーン2つがワイヤーで接続されている(しかもスロットそのものは4つ分しか実装されていない)

 1975年にS-100 Busが世の中に登場すると、サードパーティーがS-100 Bus向けの拡張カードを出すようになり、またAltair 8800互換のマシンなどもS-100 Busをベースに構築された(代表例がCromemcoで、IMSAI 8080と同じ筐体にZ-80ベースのCPUボードを装着したZ-1やZ-2などのシステムを1976年から提供していた)。

 この結果としてS-100 Busは1970年代後半にデファクトスタンダードの拡張バスになっていた。ちなみにこのS-100 Busは1983年にIEEE-696として標準規格になっている。S-100の名称はStandard-100から来ており、100pinのカードエッジを持つ標準規格の意味である。MITSはS-100の利用に制限を設けなかったし、ロイヤリティなどもなかった(だからこそIEEEで標準規格になった)。

IEEE-696の表紙。Draft D2は1979年には出ているが、標準化までは都合5年ほど要した

 もっともIEEE-696ではほぼ100pinの信号線をほぼ使い切っている(NDEF:Not to be defined signal、未使用となっているpinは3つしかない)が、Altair 8800は使っていないpinがもう少し多かった。このIEEE-696の標準化成立のはるか前にMITSが消えていたのは、この時代では良くありがちな話である。

 S-100 Busは8080に向けたバスということで、電源に+8V/+16V/-16Vが供給されており、クロックが2MHzに固定されている(もっともこのクロック信号は、別にアドレス/データバスとは無関係である。

IEEE-696のPin Listより抜粋。単にクロック信号を拡張カードなどに供給するためだけの信号の模様

 では送受信はどうやって行なっていたかというと、RDY/XRDY/HOLDなどの信号でハンドシェイクをしており、バスサイクルは最小166ns、最大2000nsと規定されていたので信号速度で言えば0.5MHz~6MHzが可能だった)とか、今から思うとあまり使いやすいとは言えなかった気もする。

 その一方でなぜかデータバスが16bit分ある(Altair 8800はこのうち8bit分しか使ってなかった)とか、Vetored Interrupt Lineが8本用意されている(これは8259に合わせたのだろうが)など、意外に広く利用できる要素もあった。それもあってMITS以外にIMSAIやChromemco、TDL、Processor TechnologyといったメーカーがS-100 Busベースのマシンを出荷したし、一部16bit CPUを搭載したマシンも1980年代に出現している。

普及しなかったMultibusとVME Bus

 ほかになにもなかったのか? と言えば、インテル自身が1974年にMultibusと呼ばれるI/O Busをすでに出しているし、1979年にはMotorolaがVME Busの前身となるVersa Busをリリースしている。

 ただMultibusはワークステーションなどには広く使われた(なぜかMC68000シリーズを搭載したSun-2がMultibusを採用している)し、VME Busは制御/計測機器や、やはりワークステーションなどでは広く使われたが、なぜかPCの市場には降りてこなかった。

 VME BusやMultibusはカードサイズが大きかったのが一因ではあるのだろうが、Multibusも最初にリリースされたMultibus-IはISA Busのカードと大差ない大きさだったことを考えると、なぜMultibusがPCに降りてこなかったのか? は少し不思議である。

IBM PC/ATに搭載されたXT(AT) BusがISA Busの起源

 ではISA Busがどこから湧いてきたのか? であるが、これはIBM-PCのご先祖様である、IBM System/23 Datamasterにさかのぼる。IBM System/23、あるいはIBM Model 5322と呼ばれる機種を開発していた。これはCRTモニターや8インチFDD、キーボードまで一体化したオールインワンな機種であり、プロセッサーとしてはIntel 8085を利用していた。IBM-PCではこのDatamasterの回路を可能な限り流用する形で開発されている。

 そのDatamasterはIBM独自の開発によるもので、CPUを載せた基板に4つのI/O拡張スロットと2つのメモリー拡張スロットが配されているのがわかる。

後期型の基板ではIC類がだいぶAMDの互換品に変わっていたりするので、これは前期型の基板と思われる

 メモリー拡張スロットは、本当にアドレスバスとデータバスだけで、割り込みその他のラインが配されていないようで、一方I/O拡張スロットの方はほぼ8085の全部の信号線が配されている(割り込み線は8259経由だろう)格好だが、このI/O拡張スロットがIBM-PCに搭載されたXT Busの元になったものと考えられる。

 このDatamasterのI/O拡張スロットとXT Busの差はごくわずか(B4にIRQが追加され、逆にB8のAdvance Storage Readが廃された。またB26にDACK2が追加されている程度。Datamasterはバンク切り替え式メモリーなのでアドレスバスは16bitで、上位4bitにPage 0~3の信号が来ているが、XT BusではA16~A19が配された)でしかない。

 ちなみにこの拡張スロット、当時はこちらがISA Busと呼ばれていた。ISAはIndustry Standard Architectureの略で、要するに業界標準バスである。ただその後IBM-PC/ATが出た時に16bit拡張され、当初こそAT Busなどと呼ばれていたものの、次第にこちらがISA Busと呼ばれるようになったこともあり、オリジナルの8bit BusはISA-8やXT Bus(IBM-PCと続くIBM-PC/XTがこの8bit Busを装備していたことに起因する)と呼び変えることになった。

 XT BusとISA Busの技術的な違いや基本的な転送方式などは連載106回で説明したので今回は割愛する。

16年間に渡り不可欠な存在であったISA Busが廃れた2つの理由

 ISA BusはIBM-PC/ATが登場した1984年から、レガシーフリーをうたって積極的にチップセットから排除するようになった2000年頃まで16年間に渡り、PCになくてはならないものとなった。ただその後は急速に廃れていく。

 もちろん性能はそれほど高くない(というか低い)ため、特にビデオカードとストレージ向けにはEISAとVL-Bus、後にはPCIやAGPを経てPCI Expressがどんどん投入されていくが、拡張カードのすべてが高速な接続を必要とするとは限らず、また過去との互換性を考えるともう少し延命しても良さそうなものだったが、2つの理由でそれは適わなかった。

 1つがPlug&Play性の欠如。ISA Busはなにしろ1980年代(Datamasterの開発開始時期を考えると1970年代末、という方が正確だが)の技術なので、例えば拡張カードを差した時にIRQ(割り込み番号)をどこに割り当てるか、I/Oポートをどこに割り当てるか、あるいはDMAを行なうタイプの製品だったらどこにメモリーアドレスを割り当てるかといった機能を自動でできない。

 したがって拡張カード上のジャンパーピンやらDIPスイッチやらで設定することになるが、設定範囲がそれほど広くないし、中には調整不可能なものも少なくなかった。

 一方でPCそのものは、1995年からインテルとマイクロソフトが共同でレガシーフリーに向けた取り組みを活発化させており、特にWindows 95以降では拡張カードを含む周辺機器の設定を自動化していく流れの中で、ISAはこれに追従できなかった。

 PnP ISA(Plug&Play ISA)と呼ばれる拡張機能も用意されたが、これに対応した拡張カードはそれほど多くなく、しかも混乱を防ぐどころかむしろ混乱を助長するようなリソース割り付けをしてくれたおかげで、"Plug & Pray"(差して祈る)なんて揶揄されたほどだ。

 もう1つは過去との互換性が急速に不要になったことだ。ISAの拡張カードを利用するユーザーは、ほとんどがMS-DOS時代のアプリケーションを使っている人(それも主にゲーム)であったが、こちらはまずOSがMS-DOSからWindows 95以降に利用したことで、ゲームそのものもWindows 95以降に対応するように変わってきた。

 また特にビデオカードに関して言えば、より高速なPCIやAGP、PCI Express対応の製品が登場し、ゲームもこうした最新ビデオカードへの対応が進んだことで、もうISAの拡張カードを使う必要性が急速に薄れることになった。

 これに併せて、PCIが急速に普及したこともISAの衰退に拍車をかけた。過去の記事を探してみると、2000年頃にはまだISA Busを搭載したマザーボードの新製品がそれほど珍しくはなかったが、2004年11月の新製品の記事の冒頭は「すでに絶滅と思いきや、時おり新製品が登場しては意外な話題を呼ぶISAスロット搭載マザーボード。」だったりする。

 コンシューマー向けは2001年あたりから急速に衰退したISA Busであるが、業務用や組み込み機器用にはこの後も長らく生きながらえた。というのはPCIで代替できない特徴が1つだけあったのである。それは「多数のカードを装着できること」である。

 マザーボードからケーブルの形で拡張シャーシに接続し、そこに20枚などのISAカードを装着するという真似は、PCIには不可能だった(最大でも7つ)。測定機器(データそのものは別の方法で伝送するので、単に測定の制御だけを行なう)や制御装置(それぞれのISAカードにさまざまな制御用の回路が搭載され、それが製造装置などにつながる形。ISAはそれぞれの制御だけを行なう)向けにISAは非常に安価であり、性能を無視すれば拡張カードをかなり(がんばれば20スロットの拡張ボックスを2つ、ディジーチェーン式につなぐことも不可能ではなかった)の枚数接続できるということで、現在もまだ古い装置の制御などに使われているため、こうした用途に辛うじてISA Busは生き残っている格好だ。

 とはいえどんなシステムでも使っているうちに次第に壊れていくため、「もう少し延命させたい」というニーズに向けて、ぼそぼそと交換用となるISA Busの製品が製造されている。筆者が最後に見た「新製品」が下の画像である。台湾DM&Pの「CPUカード」である。

コロナ直前のCOMPUTEX TAIPEI 2019における展示。2023年以降はこれも見なくなった

 このISAカードの上にCPUとメモリー、チップセット類が全部搭載されている。このカードをISA Busのパッシブバックプレーンに装着するだけで、ISAベースのシステムができあがりというわけだ。ただこれは産業用であり、もうコンシューマー向けに関して言えば完全に絶滅したとしていいだろう。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください