標準拡張バス/ スロット仕様のいろいろ 標準拡張バス/ スロット仕様の

1
パソコンの拡張スロットに差し込んで使うボードを設計したい
標準拡張バス/
スロット仕様のいろいろ
桑野 雅彦 / 熊谷 あき
一般的なデスクトップ・パソコン用,ノート・パソコン用,産業システム用など,さまざまな拡張バス仕様が存在する.ま
たパソコンの処理性能の向上に合わせ,拡張バスもデータ転送性能を向上させた仕様に進化している.ここでは標準的に使
われている拡張バスや拡張スロットについて,その特徴や概要について解説する.
(編集部)
1.拡張バスの必要性
2 .ISA バス
パソコンは,ソフトウェアを入れ替えればさまざまな処
● ISA バスの概要
理をこなせる汎用システムです.汎用性を高める一つの方
CPU に 80286 を採用した PC/AT は,その前身である
向は,拡張性にあるといえます.ある処理を実現するの
PC/XT の 8 ビット幅の拡張スロットである XT バスと上
に,そのパソコンに標準で装備されている機能で足りない
位互換性を持たせながら 16 ビット幅に拡張した,いわゆ
場合,必要な機能を追加して拡張できるしくみが必要で
る AT バスになります.そしてこれを標準化したのが ISA
す.そのしくみの中で最も基本的な手法が,拡張バスと呼
(Industrial Standard Architecture)バスと呼ばれるもので
ばれるものです(図 1).
す.PC/XT から拡張したため,ISA バスのコネクタは XT
最近では USB が広く普及し,これまでは拡張バスでし
互換の 8 ビット・バス部分である P1 コネクタと,16 ビッ
か接続できなかったような周辺機器でも,USB で接続で
ト拡張部分の P2 コネクタに分かれています.写真 1 に ISA
きるタイプが登場してきており,拡張バスを使わなくても
バス・コネクタと ISA バス・ボードの外観を示します.
充分な拡張性が確保できるようになってきました.しかし
PC/XT と PC/AT 共に,マザーボードには必要最小限
それでもデータ転送性能を考えると,USB は拡張バスには
のものしか搭載されておらず,ビデオ・カードや,シリア
かないません.拡張バスが必要とされる分野はまだまだ
ル/パラレル・カードなどはもちろんのこと,メモリの拡
残っています.
張もすべて拡張バスにメモリ・カードを挿入するという方
法をとっていました.
このような事情から,AT バスの基本タイミングは 8 ビッ
ト・アクセスの 8088 風のバス・タイミングです.通常は 8
機能Aを使用す
るドライバ&ア
プリケーション
をインストール
パソコン本体には
ない機能Aをもつ
拡張カード
ビット・タイミングで,16 ビット・アクセスのときにはア
クセス動作開始時に IOCS16/MEMCS16 信号(後述)を
使って 16 ビット・アクセス動作に切り替えるという仕様
になっています.
また困ったことに AT バスのタイミング規定は,もとも
とそれほどはっきりしたものがありません.互換機メーカ
機能Aを処理できるようになる
してみたり,性能向上のためにバスの動作クロックを引き
図 1 拡張バスの必要性
40
が PC/AT の実機を調べて,似たようなタイミングを作成
KEYWORD ―― ISA,PC/104,C バス,PCI,PCI-X,PCI Express,AGP,PICMG,VME,CompactPCI,PCMCIA,
CardBus,ExpressCard
Feb. 2009
第1章
標準拡張バス/スロット仕様のいろいろ
Pro
1
2
(b)ISA バス・カード
(a)マザーボード ISA バス・コネクタ
3
写真では白色だが,一般的には黒色のコネクタが多い.
写真 1 ISA バスの外観
4
表 1 ISA バスと E-ISA バスの比較
上げたものが出てくるなどもありました.いわゆる「相性
問題」が多発したこともうなずけます.
● ISA バスの標準規格
その後,AT バスの仕様としてある程度きちんとドキュ
ISA
バス・クロック(最大)
I/O アクセス動作時のアドレス
SYSCLK バス・クロック
8MHz
10 ビット注 1
(SA0 ∼ SA9)
非同期
5
E-ISA
8.33MHz
16 ビット
(SA0 ∼ SA15)
7
メント化されたものが二つあります.IEEE-P996 として標
準化された ISA バスと,AT バスを拡張して 32 ビット化
拡張カードが ISA バスを直接操作できるというものです.
を図った EISA バス仕様の中の 8/16 ビット・バス部分(E-
DMA を使うよりも高速なデータ転送が行えます.
ISA)です.
● メモリ・アクセス・サイクル
両者ともほぼ同一の仕様であり,多くの互換性があり
ますが,微妙な差異もあるので,設計に当たっては注意
が必要です
注1
.表 1 に ISA バスと E-ISA バスの比較を示
します.
最も基本的なメモリ・アクセスで利用される信号には,
次のようなものがあります.
¡アドレス
SA0 ∼ SA19(P1)および LA17 ∼ LA23(P2)
● データ転送動作
ISA バス(E-ISA も同じ)の基本データ転送サイクルは,
(1)8 ビット・メモリ・アクセス
(2)16 ビット・メモリ・アクセス
¡コマンド
-SMEMR/-SMEMW(P1)-MEMR/-MEMW(P2)
BALE(P1)
¡同期など(パソコン側への入力)
(3)8 ビット I/O アクセス
-0WS(P1 :ゼロ・ウェイト・ステート)
(4)16 ビット I/O アクセス
IOCHRDY(P1 : I/O チャネル・レディ)
(5)DMA サイクル
-MEMCS16(P2)
(6)リフレッシュ・サイクル
-SBHE(P2 :バイト・ハイ・イネーブル)
(7)バス・アービトレーション・サイクル
基本動作は,リード/ライトしたいアドレスが出力され,
の 7 種類です.リフレッシュ・サイクルは,ISA バス上に
コマンドでリード/ライトを行い,-0WS があればアクセ
DRAM カードを差し込んだときのためにありましたが,現
ス・タイミングが通常より短くなり,IOCHRDY をネゲー
在ではまず利用されることはありません.バス・アービト
ト(
“H”レベルに戻す)すると再びアサートされるまでウェ
レーションは DMA サイクルの拡張のようなものです.
DMA リクエスト,DMA アクノリッジが出た後で
-MASTER 信号をアサートすると,ISA バスが開放されて
Feb. 2009
6
同期
注 1 :80286 などの I/O アドレス空間は 16 ビットある.しかし,PC/AT で
はアドレス・デコーダを節約するため下位 10 ビットのみデコードして
いる.
41
App