【バス(BUS)とは?】

このページを見るときは固定等幅フォントを使用してください
呼んで字のごとし!では不親切ですね.BUSは乗り合い自動車のことを意味します(そんなこと幼稚園でもしっているわい)(^^;
ではコンピュータのバスは何でしょうか?コンピュータに使われる信号線には大ざっぱにデータ,アドレス,制御の3種類の信号線が存在します.データ線はデータが行き来する線,アドレスはデータの存在する場所を示す線,制御はデータやアドレスを設定するために色々なハードウェアの制御をする線です.それぞれの線はいくつかのまとまりがあります.ですからたくさんの信号線を束ねてBUSと呼びます.
基本的なマイクロプロセッサを用いたコンピュータの構造
 +-------+    +-------+     +-------+
 |       |    |       |     |       |
 |  CPU  |    | Memory|     |  I/O  |
 |       |    |       |     |       |
 +-------+    +-------+     +-------+
  |  |  |      |  |  |       |  |  |
<-------+------------+-------------+------> Address Bus
  |  |         |  |          |  |
<----+------------+-------------+---------> Data Bus
  |            |             |
<-+------------+-------------+------------> Control Bus
マイクロプロセッサ : 4004から派生したCPUの総称
CPU : 中央演算処理装置
Memory : 記憶装置,メモリ
I/O : Input Output Device , 周辺装置
Data Bus : データが行き来する信号線の束
Address Bus : メモリや周辺機器の特定の番地を示す信号線の束
Control Bus : 各種制御信号の信号線の集まり

基本的なマイクロプロセッサを用いたコンピュータの動作

まず 電源をあげると CPU はある特定の番地のメモリの読み出しをします. CPU は特定の番地を示す信号をAddress Busに出します.次にメモリからの読み出しを示す信号をControl Busに出します.そうすることでメモリは特定の番地のデータを用意し,Data Busにその信号を出します.CPU はある時間経過後データを読み出します.(ここいら辺がハードウェア・エンジニアの腕の見せ所!)読み出したデータは命令だったり単なるデータだったりしますが,命令の場合はその命令にしたがって CPU は動作をします.
もしメモリにデータを書き込む命令の場合にはCPU は特定の番地を示す信号をAddress Busに出し,書き込むデータを CPU はData Busに出します.次にメモリにへの書き込みを示す信号をControl Busに出します.そうすることでメモリは特定の番地にデータを書き込みます.周辺機器に対してもメモリと同様にデータの読み書きを,ある周辺機器の番地示す信号をAddress Busに出します.この辺まではメモリと周辺機器の区別は特にありませんが,その後の周辺機器への読み書きを示す信号をControl Busに出すことで,特定の周辺機器にデータの受け渡しをすることが出来ます.

これらの動作を繰り返すことでコンピュータは動くんです!単純でしょ(^^)
後は単に速いか遅いかということと周辺機器がどんな動作をするかってくらいです.Windows-95 等のきれいな画面も Video (ビデオ)関係の周辺機器がどんなことを出来るか,速く CPU がその周辺機器にデータを送ることが出来るかで決まります.

とにかくこの BUS の性能で周辺機器の能力をどこまで引き出せるかが決まります.


BUSの種類

一言にバスといってもマイクロコンピュータの内部で使われるバスから,外部周辺機器を接続するバスまで色々と存在します.非常に多すぎて各社独自のバスまで含めるときっと限りが無いでしょう.私も勝手にいくつかバスの規格を会社の部門規格として定めて作った覚えがあります.いい点悪い点色々ありますが,これからもバスは変革を続けていくでしょう.
ここでは拡張アダプター(ボード)や周辺機器等に使用しているバスについて説明をします(うんちくを語るともいう).

Apple-II BUS
Apple-II のバスの名前なんてったけ?忘れちゃった..
Apple-II ってしってる人はかなりのマニアか,年をくっているかのどちらか!(笑)(^o^)/
一番はじめのパソコンは確か”タンディ”だと思ったけど,このパソコンは商用ベースとしては初めて爆発的に売れたパソコンだと記憶しています.拡張スロット(バス)を備えパソコンの基本的な構造はこのApple-IIで出来たといってもは過言ではないと思います.
このバスの特徴は割り込み線が Wired OR 接続なことなんだよなぁ.さすが天才がつくったパソコンだけある..彼はネクスト社の次になにをしているんだろう?

をを,天才はネクストにいて,しかもネクストはアップルに買収されて,なんとアップルの顧問 CEO (経営最高責任者)に..(爆) 世の中どうなるかわかりませんなぁ〜(^^) [1997/Feb/15追加, 2001/May/31追加]

IBM PC BUS(XT BUS)
1981年IBMApple-IIに対抗して作成したパソコンバスである.ちなみに IBM PC の発売日に Apple 社は"ようこそ!IBM”という内容の広告を新聞に出したそうな.それほど Apple は自信に満ちていたのに..
さてこのパソコンのバスはデータ・バスが8ビット,アドレス・バスは20ビットで構成されており,PCバスの名前で有名なバスです.CPUは8088を使用していたのでデータ・バスは8ビットでした.
物理的なコネクターの大きさは片側31ピン(全部で62ピン)のカードエッジタイプコネクタです.
    【上からコネクターを見た略図】
    +-------------------------+
    |=========================|   PC BUS
    +-------------------------+
    <------------------------->
           片側31ピン
    
このパソコンの構想は現在のパソコンに引き継がれており10年以上たってもその悪夢【640Kの壁,割り込み,DMAの不足等】は引き継がれているのだ.
IBM PC AT BUS(ISA BUS)
これを知らないパソコン通はいない!いたらそれは潜りだ..初めての人も覚えよう.全世界でこれほど有名はパソコンはない!1984年IBMが80286をベースに作ったパソコンのバスです.
なんと賢いことに(せこいとも思うが)PCバスのコネクターに16ビットデータ部のコネクタを追加することで全体的に16ビットバスとして成り立たせてしまったのである.これは8ビットバス専用のボードの使えるようにとの配慮から来たものであるが,いやはや個人的にはせこいような気がする..(^^;
追加された線はアドレス線4本,データ線8本,割り込み線5本,DMA8本,その他で計36本,全体で96本のバス仕様となっています.
    【上からコネクターを見た略図】
    +-------------------------++------------+
    |=========================||============|
    +-------------------------++------------+
    <-------------------------><------------>
             PC BUS               拡張部分
    <--------------------------------------->
                       AT BUS

    
とにかくこのパソコン(IBM−AT)はさらに爆発的に売れた!売れすぎて生産が追いつかず,他のメーカから全く同じ製品(クローン)が出て市場をさらわれるようになった.このときのIBMは寛大で回路図からコンピュータを動かすための基本的なソフトウェア(BIOS,ファームウェアとも言う)まで公開下のである.このおかげでこのバスをもっとも今から考えるとクローンのおかげでさらにIBMは市場を拡大していったのであるが..
この爆発的に売れたおかげで色々な拡張ボードが売れ,このATバスは世界の事実上の標準(Defacto standard)としていまだに使用されているバスである.
ISA BUS
Industrial Standard Architecture の略でATバスのことを言います.確かANSIが決めたような気がしますが(^^;
MCA
Micro Channele Architecture bus の略
ああ,このバスほど不運なバスは有るだろうかぁ.1990年(?)IBM社が社運をかけてATバスから乗り換えた32ビットバスの1つ.当時最大転送速度33MHzを誇る最高の性能を示したのだが,なんとATバスに対して形が異なり,またせこいことに特許を盾に使用料を取ろうとしたためボードメーカーが反発しあまりオプションボードが増えず,結果として1995年に中止に追い込まれた.当時IBM社のパソコンはこのバスが使われていたためパソコン自体+MCAボード代が非常に高く付き,お客さんは他のメーカに逃げるという事態に! あわてたIBMはその後PS/V等でATバスのパソコンを出し,その後PCIが出てくるとMCAはすっかり忘れられてしまった(^^;
IBMは社運を賭けて居たため1990年頃から業績が悪化(まあそれ以外の要因が大きいが)(エイカーズのばかやろー!),その後会長が替わり(偉い!ガースナー会長)ようやく元に戻った..今ではこのMCAは社内ではタブーである(爆)
EISA BUS
Extended Industrial Standard Architecture の略

IBM が MCA を発表しその使用料金の高さにうんざりしたパソコンメーカ(コンパック等)が ISA BUS を元に新しいバスを作ったのがEISAである.EISAの特徴はISAのボードも使えるし,EISAのボードも使える点に有る.この思想は非常に良かったが,EISAのボードを作ろうとするとコスト的に高いものになるし,またそんなに早い転送速度が必要なボードがあまりなかったため実際にはMCAよりボードの種類が少ないように見受けられるのは私だけだろうか...(^^;
ISAやローカルバスにその座を追われ1994年には確かこの規格のパソコンは無かったような気がするが....でも技術的には非常に良いバスであると思うが,まあこんなもんでしょう..

Local BUS
CPUのバスそのものを指す!【PCIの図を参照】最近はあまり見かけないがi486のCPU時代にはこのバスを出しておいて周辺機器がつなげられるようにして周辺機器のスピードが早くなるように設計されていた.
しかし..技術的にみて高速バスを直接出すとはなんと大胆な.昔のZ80や8086の時代では無いのに...
VL BUS
これまたビデオ用のバスと言うことでどっかのビデオメーカ達が(詳しいことは後日調査します)決めたバス.決めたと言ってもほとんどローカルバス!でも未だに私は使っています(笑)
PCI BUS
Intel が決めた次世代バス(現世代のバスかな?).このPCIは基本的に非常に良いバスと思います.技術的にこのバスは難しい方法を使用しているのだ.
【専門的】PCIは信号の反射を利用して,信号の振幅を安定させる技術を使っている.通常はバスの両端に終端抵抗を使用することにより反射を防いでいるが PCI はこの反射を利用しているのである. BUS の信号は分布定数回路網によって理論計算され,インピーダンスマッチングが合わないと信号の反射によって波形が乱れる.波形が乱れると信号間の位相が合わなくなり,BUS として働くことができなくなる.しかしながら,PCIの場合にはこれらの信号の反射をうまく利用するような線路長やインピーダンスの仕様が決まっている. 詳細については PCI アーキテクチャの規格を参照されたい.
尚 PCI にぶら下がるICやボードはそれぞれに固有の番号が振られており,これで自動的にICやボードを認識して,I/Oアドレス,割込番号,DMA等をぶつからないように割り振りが可能となっている.
尚 PCI 等のバスの形態については下図を参照のこと! 最近は下図の Triton, DPC/DPD の部分が 1 chip になり North Bridge とよばれ,PIXX, I/O 等の部分を 1 chip にしたものを South Bridge と呼んでいる.

     +-------+
     |       |
     |  CPU  |
     |       |
     +-------+
         |
     <---+---------------+---------> Local Bus
         |               |
      +--------+    +---------+   +--------+
      |        |    |         |   |        |
      | Triton |<-->| DPC/DPD |<->| Memory |
      |        |    |         |   |        |
      +--------+    +---------+   +--------+
         |
     <---+---------------+---------> PCI Bus
         |               |
      +------+        +-------+
      |      |        |       |
      | PIXX |        | Video |--> Video
      |      |        |       |
      +------+        +-------+
         |
     <---+----------+--------------> AT Bus (ISA Bus)
         |          |
      +-----+    +-----+
      |     |    |     |
      | I/O |    | ROM |
      |     |    |     |
      +-----+    +-----+
IEEE488 BUS
HP(ヒューレット・パッカード)社がごり押しで自社の計測器用バスを IEEE の規格にしてしまったのだ! 詳細はGPIBを参照のこと!
GPIB
General Purpus Interface Bus,別名HPIBともいう.計測器用のバスで データバス:8ビット,その他制御用バスで,アドレスバスは存在しない.
しかしながらプロトコル上でアドレスの確認をしています. 最大32台接続可能であるが,最低1台はコントローラと称して偉い方が必要! しかし2台でデータを送るだけとか受け取るだけの場合にはその場にかぎらず,トーカー及びリスナの機能がある. 結構計測器の分野では汎用的に使用されているバスであるが,遅い(私の場合最大で500kを越えない..)のが最大の欠点!
SASI
このバスはもともとシーゲート社が外部周辺機器(HDD)をPCに接続するために規格を作ったバスです.過去 NEC 98シリーズが使っていたのは有名ですが, IBM 系の PC ではあまり見ませんでした.SASI はその後発展して SCSI に規格化されていきました.
SCSI
Small Computer System Interface このバスは色々と有名なバスです.呼び方は「スカジー」と呼ぶ方が多いみたいですね.SCSIはSASIを発展させて作られたバスですが,色々な周辺機器を接続することが可能な仕様になっています.
SCSIの仕様には現在1,2及び3が存在します.またSCSIは物理的に6mまでケーブルをのばすことが出来ますが,ケーブルの両端には終端抵抗が必要となります.この終端抵抗はケーブル内の信号がおかしくならないように接続するのもです.専門的にいうとインピーダンスを合わせ,信号の反射によるオーバーシュート及びアンダーシュートを押さえる役割をします.
SCSI−1仕様は簡単な読み書きとHDD,CD−ROMなどの仕様しか無かったのですが,SCSI−2では最高速度が10MHz(同期モード),リムーバブルディスクのサポート等多くの仕様が追加されています.詳しくはSCSI−2の仕様書を解説した本がCQ出版から出版されていますので,詳しく知りたい方やドライバーなどを書く方は必携の1冊です.
とにかくこのSCSIは現在ではどんなシステムでもサポートされているバスであり,パソコンやワークステーションの世界でも珍しいバスだと私は思います.なんせこの20数年独自企画のバスがいくつ出て消えていったのだろう..それにくらべSCSIはパソコンやワークステーション,ミニコン等幅広い世界で使用されています.
ちなにみIDEインターフェースをSCSIインターフェースに変換するボードを私は開発しましたが,まあそこそこ売れる感じは会ったのですが,こんなに売れるとはと言うくらい売れまくりました.SCSIの需要はまだまだありそうです.
さらに最近は SCSI-3 や Ultra160, Ultra320 等という高速の SCSI が規格化されています.
ここで少し定義を整理してみましょう.
SCSI の仕様書は ANSI の T10 Tecnical Committee T10 で策定されています.
詳細はT10 Technical Committee まで
仕様はT10 Working Drafts にありますが,しかし相も変わらずまだ Draft のままだな..
いいのか?これで...

C BUS
NEC 98 シリーズで使われた(使われている)増設用スロットルのバスの名称.日本の中でこれほど有名なのに正式名称を知らない人が多い!(^^;
基本は8086の16ビットバス信号が出ているだけのバスであるが,実装可能な基板の面積が大きいため色々と使用されており,私も良く使用していました.今NECは必死に PCI に乗り換えるべくやっておりますが,過去の資産が多いこのバスはしばらく捨てることは出来ないだろうなぁ..かわいそうに..
S BUS
Sバスと聞いてわかる人はこれまた業界関係の方.私もあまりよくわからないのですが,基板の形状は長方形でコネクターは金タブ仕様のバスです.機器用のバスなので最近はめっきり聞かなくなりました.今では機器用もVMEが主流で,最近はPCIもややあるそうな.
VME BUS
これぞ機器用のバス.68000系のCPUを対象に作られたバスですが,最近ではCPUは問わず,どうもインテル系のCPUがよく使われているようです.
I2O BUS
高性能のサーバーを構築するための新しい I/O アーキテクチャのバス.PCIバスが中心にあって,I2O はその下にサブシステムをいくつか持っている.このサブシステムに I/O 関連のタスクを分割し,サーバーを I/O の仕事から解放する.
なんかこの考え方はなんとなく IBM 370 アーキテクチャに似ている感じがする.個々のサブシステムはチャネルに相当するような..(^^; 気のせいかな? 詳細はここを参照のこと.


以下の用語は各社の商標または商標登録ですApple-II Apple Computer.Inc
Apple : Apple Computer.Inc
Intel : Intel Corporation
IBM : International Business Machines Corporation
IBM AT : International Business Machines Corporation
NEC : 日本電気株式会社
PC9801 : 日本電気株式会社

前に戻る
最初に戻る

参考文献・Peter Norton, Richard Wilton , "The New Peter Norton Programmer's Guide To THE IBM PC & PS/2" , Microsoft Press,1988
Hardware 用語集 バス(BUS)とは?