S-100バス

S-100バス（S-100 bus）は、初期のコンピュータバスの規格である。1974年にAltair 8800のために設計された外部バス規格であり、Altairバスとも呼ばれる。
S-100バス上でプロセッサと周辺カードにより構成されるコンピュータを「S-100コンピュータ」といい、多くのメーカーによって製造された。S-100バスは、CP/MやMP/M用のドライバを実装した自作コンピュータの基礎となった。S-100コンピュータは、ホビイストのための玩具から中小企業のワークステーションまで幅広く使用され、IBM PCの登場までの初期のホームコンピュータでは一般的だった（ただし、一部のS-100コンピュータはIBM PCを凌駕していた）。
1983年にIEEE-696として規格化された。これは、マイクロコンピュータ業界における外部バスの初の工業規格だった。

**アーキテクチャ**
クロメンコの創業者のハリー・ガーランド（左）とロジャー・メレン。ガーランドが持っているのがS-100バックプレーン。（1981年撮影）
S-100バスは、100ピンのプリント基板のエッジ・コネクタを並列に配線したパッシブ・バックプレーンである。CPU、メモリ、入出力インターフェイスの機能を提供する5×10インチの回路カードが、これらのコネクタに差し込まれる。S-100バスで最初に使われたマイクロプロセッサがIntel 8080であったため、バス信号の定義は8080の信号定義と密接に関連している。S-100バスの100本のラインは、(1)電源、(2)データ、(3)アドレス、(4)クロック・制御の4つのタイプに分類される。
バス上で供給される電力はバルクの無調整直流+8 Vと直流±16 Vであり、各カード上で、TTL IC用の+5 V、CPU IC用の-5 Vと+12 V、RS-232ラインドライバIC用の±12 V、ディスクドライブモーター用の+12 Vにredirect=1するように設計されている。カード上での電圧調整は、一般的に78xxシリーズなどの三端子レギュレータ（例えば、+5 Vを生成する7805）によって行われる。これらは一般的に、ヒートシンクに搭載されているリニアレギュレータだった。
Intel 8080の双方向8ビットデータバスは、2つの単方向8ビットデータバスに分割されている。プロセッサは、これらのうちの1つだけを一度に使用することができた。Sol-20は、単一の8ビットバスのみを持つバリエーションを使用し、使っていないピンを信号グランドとして使用してノイズを低減した。バスの方向（インかアウトか）は、使っていないDBINピンを使って信号化された。これはS-100の市場においても広く行われるようになり、2つ目のバスは不要となった。後に、この2つの8ビットバスを組み合わせて16ビットのデータ幅に対応するようになり、より高度なプロセッサでは、Solのシステムを使用して方向を信号化するようになった。
アドレスバスは初期実装では16ビット幅で、後に24ビット幅に拡張された。バス制御信号は、Direct Memory Access(DMA)を可能にするために、これらのラインをThree-state logicの状態にすることができる。例えば、Cromemco Dazzlerは、DMAを使用してメモリからデジタルイメージを取り出す初期のS-100カードである。
クロック・制御信号は、バス上のトラフィックを管理するために使用される。例えば、DO Disableラインは、DMA時にアドレスラインを3ステートロジックにする。当初のバス仕様の未割り当てラインは、後に、より高度なプロセッサに対応するために割り当てられた。例えば、ザイログのZ80プロセッサには、Intel 8080プロセッサにはないnon-maskable interruptラインが割り当てられている。その後、S-100バスの未割り当てラインの1つが再割り当てされ、マスク不可割り込み要求に対応するようになった。

**歴史**
1986年に発表されたクロメンコ社のXXUプロセッサボード。16.7MHzで動作する、S-100バス用に開発された中では史上最速のCPUである。68881コプロセッサを搭載したMotorola 68020プロセッサと16Kバイトの高速キャッシュメモリを使用している。このCPUは、アメリカ空軍に広く配備されているCromemco CS-250コンピュータに採用されている。
Altairの設計中、使用可能なマシンを作るために必要なハードウェアは、1975年1月の発売日に間に合わなかった。設計者のエド・ロバーツは、バックプレーンがあまりにも多くのスペースを占めるという問題も抱えていた。これらの問題を回避するために、既存の部品に加えて「スロット」をケースに入れ、不足している部品を後から差し込めるようにした。バックプレーンは4枚のカードに分割されており、CPUは5枚目のカードに搭載されている。そこで、安価なコネクタを探していたところ、軍用の余剰品である100ピンのエッジコネクタを見つけた。この100ピンバスは、無名の製図技師が部品カタログからコネクタを選び、コネクタのピンのグループに信号を任意に割り当てて作ったものである。
1975年のAltairの発売後、その互換機の産業が急成長した。これらの互換機の多くはAltairと同じバスレイアウトを採用しており、事実上の業界標準となった。互換機メーカーは、このシステムを「Altairバス」と呼ぶことを余儀なくされ、自社のシステムを説明する際に他社の製品の名称を出すのを避けるために、別の名前を求めていた。「S-100」という名称は、クロメンコの創業者であるハリー・ガーランドとロジャー・メレンによって考案されたもので、「Standard 100」の略である。1976年8月にニュージャージー州アトランティックシティで開催されたマイクロコンピュータの会合「PC '76」に出席するためのフライト中、彼らは機内でプロセッサ・テクノロジー社のボブ・マーシュ、リー・フェルゼンスタインと同室になった。メレンは彼らの所へ行き、同じ名前を採用するように説得した。メレンは手に缶ビールを持っていたが、飛行機が気流で揺れて、こぼれたビールがマーシュにかかってしまった。マーシュはこの名前を使うことに同意したが、これはマーシュがメレンに早く自分の側から離れてほしかったからだろうと、メレンは推測している。
「S-100バス」という言葉は、『バイト』1976年11月号のクロメンコの広告で初めて印刷物に載った。S-100バスに関する最初のシンポジウムは、1976年11月20日にDiablo Valley Collegeで、Jim Warren (computer specialist)が司会を務め、ハリー・ガーランド、ジョージ・モロー、リー・フェルゼンスタインからなるパネルで開催された。それからわずか1年後、S-100バスは「コンピュータ業界で最も使用されているバス規格」と呼ばれるまでになった。
S-100バスを使用したコンピュータのメーカーの中ではクロメンコが最大で、label=ベクターグラフィックとノーススター・コンピューターズがそれに続いた。その他に、Alpha Microsystems、IMSアソシエーツ(IMSAI)、ゴッドバウト・エレクトロニクス（後のCompuPro）、Ithaca Intersystemsなどの企業があった。1984年5月、『マイクロシステムズ』誌は、150社以上の企業の500点以上のS-100製品をリストアップした一覧を発行した。
S-100バス信号はIntel 8080を使用すると簡単に作成できるが、MC68000などの他のプロセッサを使用すると作成が難しくなる。信号変換ロジックのためのボードスペースが必要となるためである。それでも1984年までには、8ビットのIntel 8080から16ビットのZ8000まで、11種類のプロセッサがS-100バス上で使用されていた。1986年、クロメンコは、32ビットのMC68020プロセッサを使用したエド・ルーピン(Ed Lupin)の設計によるXXUカードを発表した。

**IEEE-696**
S-100バスの勢力が増すにつれ、異なるメーカーの製品間の互換性を保証するために、バスの正式な規格を策定する必要性が出てきた。また、元々のAltair 8800で使用されていたIntel 8080よりも高性能なプロセッサに対応できるようにバスの規格を拡張する必要性もあった。1978年5月、ジョージ・モローとハワード・フルマーは、"Proposed Standard for the S-100 Bus"（S-100バスの規格の提案）を発表した。この中では、既に150社のベンダーがS-100バス用の製品を供給していると記されている。この規格提案では、バスを8ビットのデータパスと16ビットのアドレスパスとすることを文書化し、データパスを16ビットに、アドレスパスを24ビットに拡張することが検討されていると述べられている。
1979年7月、ケルズ・エルムキスト、 ハワード・フルマー、デイビッド・グスタブソン、ジョージ・モローが"Standard Specification for S-100 Bus Interface Devices"（S-100バスインターフェースデバイスの標準仕様）を発表した。この仕様では、データパスは16ビットに、アドレスパスは24ビットに拡張された。マーク・ガレッツが議長を務めるIEEE 696ワーキンググループがこの仕様を開発してIEEE標準として提案し、1982年6月10日にIEEE Computer Societyによって承認された。1983年9月8日、米国国家規格協会(ANSI)はこのIEEE規格を承認し、ANSI IEEE Std 696-1983となった。

**衰退と規格廃止**
シカゴ・マーカンタイル取引所にあるクロメンコ社製S-100システムが格納されたラック（1984年）
IBMは1981年にIBM PCを発表し、以降、1983年にはXT、1984年にはATと、さらに高性能なモデルを発表した。これらのコンピュータの成功は、S-100バス製品の市場に大きな影響を与えた。1984年5月、IEEE-696ワーキンググループのメンバーだったソル・リベスは、『Microsystems (magazine)』誌に「IBM PC互換機の市場に比べて、S-100の市場は既に成熟した産業であり、成長性がそれほどないことは間違いない」と書いた。
IBM PC 製品が市場のローエンドを占めるようになると、S-100マシンはより強力なOEMやマルチユーザシステムへとスケールアップしていった。例えば、シカゴ・マーカンタイル取引所の取引処理には複数台のS-100バス・コンピュータが使用され、米空軍では任務計画システムにS-100バス・マシンが導入された。しかし、趣味や個人使用、中小企業向けのS-100バス・マシンの需要は、1980年代を通じて衰退の一途をたどった。
IBM PC互換機がより高性能になるにつれ、S-100バス製品の市場は1990年代前半まで縮小し続けた。例えば、1992年、シカゴ・マーカンタイル取引所はS-100バス・コンピュータをIBM PS/2に置き換えた。1994年までにS-100バス業界は十分に縮小し、IEEEは1994年6月14日にIEEE-696規格を廃止した。

**脚注**

**外部リンク**
  "S100 Computers", A website containing many photos of cards, documentation, and history-  ""Cromemco" based, S-100 micro-computer", Robert Kuhmann's images of several S-100 cards-  "Herb's S-100 Stuff", Herbert Johnson's collection of S-100 history-  "IEEE-696 / S-100 Bus Documentation and Manuals Archive", Howard Harte's S-100 manuals collection