S-100バスとは
S-100バスは、1974年に登場した初期のコンピュータバス規格で、Altair 8800のために設計されたことから、当初はAltairバスとも呼ばれていました。この規格は、プロセッサと周辺機器のカードを接続するためのもので、多くのメーカーがS-100バスをベースにしたコンピュータを製造しました。これらのコンピュータは「S-100コンピュータ」と呼ばれ、ホビイストから中小企業のワークステーションまで、幅広い用途で使用されました。S-100バスは、初期のホームコンピュータにおいて一般的な存在であり、
IBM PCが登場するまで広く普及していました。
S-100バスのアーキテクチャ
S-100バスは、100ピンのプリント基板エッジコネクタを並列に配置したパッシブバックプレーンを採用しています。このコネクタに、
CPU、メモリ、
入出力インターフェースなどの機能を提供する回路カードを差し込んで使用します。初期のS-100バスは、Intel 8080マイクロプロセッサに合わせて設計されたため、バス信号の定義は8080の信号定義と密接に関連しています。S-100バスの100本のラインは、電源、データ、アドレス、クロック・制御の4つのタイプに分類されます。
電源
バス上で供給される電力は、バルクの無調整直流+8Vと直流±16Vです。各カード上で、TTL IC用の+5V、
CPU IC用の-5Vと+12V、RS-232ラインドライバIC用の±12V、ディスクドライブモーター用の+12Vに調整されます。電圧調整には、一般的に78xxシリーズなどの三端子レギュレータが使用されました。
データバス
Intel 8080の双方向8ビットデータバスは、S-100バスでは2つの単方向8ビットデータバスに分割されました。これは、プロセッサが一度に1つのバスしか使用できないためです。しかし、後にSol-20などのシステムでは、単一の8ビットバスを使用し、未使用のピンを信号グランドとしてノイズ低減に利用しました。この変更は、S-100市場全体で広まり、最終的に2つのバスを組み合わせて16ビットのデータ幅に対応するようになりました。
アドレスバスは、初期実装では16ビット幅でしたが、後に24ビット幅に拡張されました。また、バス制御信号は、DMA(
Direct Memory Access)を可能にするために、3ステートロジックの状態にすることができます。
クロック・制御信号
クロック・制御信号は、バス上のトラフィックを管理するために使用されます。例えば、DO Disableラインは、DMA時にアドレスラインを3ステートロジックにします。当初のバス仕様で未割り当てだったラインは、後に、より高度なプロセッサに対応するために割り当てられました。
S-100バスの歴史
Altair 8800の設計中、必要なハードウェアが発売日に間に合わず、設計者のエド・ロバーツは、バックプレーンが場所を取りすぎるという問題に直面しました。そこで、既存の部品に加え、後から部品を差し込める「スロット」を追加しました。バックプレーンは4枚のカードに分割され、
CPUは5枚目のカードに搭載されました。安価なコネクタを探していたところ、軍用の余剰品である100ピンのエッジコネクタが見つかりました。この100ピンバスは、部品カタログからコネクタを選び、コネクタのピンに信号を割り当てたものでした。
Altairの発売後、
互換機産業が急成長しました。これらの
互換機の多くは、Altairと同じバスレイアウトを採用したため、事実上の業界標準となりました。
互換機メーカーは、自社のシステムを説明する際に他社の製品の名称を出すのを避けるために、別の名称を探していました。そこで、「S-100」という名称が考案されました。「S-100」という名前は、「Standard 100」の略で、クロメンコの創業者であるハリー・ガーランドとロジャー・メレンによって名付けられました。
「S-100バス」という言葉は、1976年11月号の『バイト』誌に掲載されたクロメンコの広告で初めて印刷物に登場しました。S-100バスに関する最初のシンポジウムは、1976年11月20日に開催されました。1年後には、S-100バスは「コンピュータ業界で最も使用されているバス規格」と呼ばれるまでになりました。
S-100バスを使用したコンピュータメーカーの中では、クロメンコが最大手で、ベクターグラフィックやノーススター・コンピューターズなどが続きました。その他、アルファ・マイクロシステムズ、IMSアソシエーツ(IMSAI)、ゴッドバウト・エレクトロニクス(後のCompuPro)、イサカ・インターシステムズなどの企業がありました。
S-100バスは、Intel 8080を使用すると簡単に構築できますが、
MC68000などの他のプロセッサを使用すると、信号変換ロジックのために追加のボードスペースが必要になるため、実装がより困難になります。それでも、1984年までには、8ビットのIntel 8080から16ビットの
Z8000まで、11種類のプロセッサがS-100バス上で使用されていました。
S-100バスの普及に伴い、異なるメーカーの製品間の
互換性を確保するために、バスの正式な規格を策定する必要性が出てきました。また、Intel 8080よりも高性能なプロセッサに対応できるようにバスの規格を拡張する必要もありました。
1978年5月、ジョージ・モローとハワード・フルマーは「S-100バスの規格の提案」を発表しました。この提案では、バスを8ビットのデータパスと16ビットのアドレスパスとすることを文書化し、データパスを16ビットに、アドレスパスを24ビットに拡張することが検討されました。
1979年7月には、ケルズ・エルムキスト、ハワード・フルマー、デイビッド・グスタブソン、ジョージ・モローが「S-100バスインターフェースデバイスの標準仕様」を発表しました。この仕様では、データパスは16ビットに、アドレスパスは24ビットに拡張されました。
[IEEE]] 696ワーキンググループがこの仕様を開発し、IEEE標準として提案しました。この規格は、1982年6月10日に
IEEE Computer Societyによって承認され、1983年9月8日に
米国国家規格協会]によってANSI [[IEEE Std 696-1983として承認されました。
衰退と規格廃止
IBMは1981年に
IBM PCを発表し、以降、高性能なモデルを発表しました。これらのコンピュータの成功は、S-100バス製品の市場に大きな影響を与えました。
IBM PC製品が市場のローエンドを占めるようになると、S-100マシンはより強力なOEMやマルチユーザシステムへとスケールアップしていきました。
しかし、趣味や個人使用、中小企業向けのS-100バス・マシンの需要は、1980年代を通じて衰退の一途をたどりました。
IBM PC
互換機がより高性能になるにつれて、S-100バス製品の市場は1990年代前半まで縮小し続けました。そして、1994年には、
IEEE-696規格は廃止されました。
S-100バスは、初期のコンピュータ技術において重要な役割を果たした規格でした。その設計思想や歴史は、現代のコンピュータ技術を理解する上で非常に有益です。