このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第107回

バスの歴史を振り返る EISA~VL Bus編

2011年06月27日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

ISAの限界を突破する「EISA」の特徴

 ISA Busの限界に対する解決案として、(MicroChannelへの対抗の意味をこめて)策定されたのが「EISA」であり、それに次いで登場したのが「VL Bus」だ。図1ではVL BusがISAとの組み合わせに見えるが、VL Busの仕様書には「ISA BusもしくはEISAのコントローラと組み合わせて動作する」としており、組み合わせはISA Busのみとは限らない。実際に筆者が昔使っていた米AMIの「Enterprise IV」というマザーボードでは、「EISA+VL Bus」というスロット構成だった。

EISA、ISA Bus、VL Busの関係

 前書きが長くなったが、まずはEISAについて説明しよう。EISAはISA Busと完全互換を保ちつつ、32bitアドレスと32bitデータバスを確保した規格である。電気信号的にこれを実現するのはそう難しくないのだが、機械的形状でこれを保つのは難しい。これを実現した解は「信号ピンの2階建て」である。下の写真は、上段がEISAで中段がISA Busの信号ピン、下段は両者を重ねたものである。

EISAの信号ピン(上)、ISA Busの信号ピン(中)、両者を合成で重ねたもの(下)

 EISAのカードエッジの高さはISA Busの1.5倍ほどあり、ここに互い違いのように信号ピンを並べている。中段のISA Busのピン形状を見てもらうとわかるが、ISA Busは信号ピンの間隔が結構大きい。そこでピンの間にEISAで追加したピンの配線を通して、ISAの信号ピンの下に並べている。

 これに合わせて、ピンのところどころに「Access Key」と呼ばれる切れ込みも入っている。カードスロットの方は、これに対応したノッチが用意された。ISAカードの場合、このノッチが邪魔になってEISAのスロットには装着できないが、EISAカードはAccess Keyとこのノッチがぴったり合うので、奥までカードエッジを差し込めるというわけだ。

図2 EISAのピン構成

 EISAの規格はなかなか意欲的だった。まずISA Busの信号はそのままにしながら、アドレスバス/データバス共に32bit幅に拡張。実装した製品はほとんどなかったが、規格上は64bitのバス幅もサポートしていた。ただし、さすがに信号ピンが足りないので、64bit通信の場合はアドレス信号などのピンと多重化する形になった。

 IRQに関しては、ISA Busの「IRQ 2~15」をそのまま踏襲したが、重要な改良点として、複数の拡張カードが同じIRQを共有できる「レベルトリガー」をサポートしたことが挙げられる。ISA Busは1枚の拡張カードでひとつのIRQを占有する「エッジトリガー」という方法を利用していたが、EISAはエッジトリガーとレベルトリガーの両方をサポートしていた。

 DMAについても拡張が施されている。EISAではバースト転送がDMA転送時に利用できるようになったし、マザーボード上のDMAコントローラーと拡張カード上のDMAコントローラーの両方をサポートする。こうした拡張により、8.33MHz動作で32bit幅の場合、実効転送速度は20MB/秒近くまで引き上げられた。ISA Busでは頑張っても5~6MB/秒だから、実質3~4倍まで転送速度が引き上げられたことになる。

 EISAの特徴にはもうひとつ、「ECU」(EISA Configuration Utility)というものがある。ISA Busの時代は、ある拡張カードがどんなIRQやI/Oポート、DMAチャンネルを使うかは、拡張カードごとに決め打ちされている場合が多く、せいぜいがジャンパピンで設定を変更する程度だった。この結果、「複数のカードを装着したら、利用するIRQが重なって動かない」なんて問題がしばしば起きた。この時代にPCを自作していた方なら、当然のようにご存じだろう。

 EISAの場合、こうした設定をカードが固定で持つことは禁止され、すべてECU経由で対話的に設定を変更できるようになった。この結果として、ISA Busの時代にしばしば起きていたIRQやI/Oポート干渉の問題は、EISAではあまり問題にならなかった※1

※1 根絶されたわけではない。当時のECUは必ずしも賢いとは言えず、時々わけのわからないリソース割り当てをしたので、プログラムからデバイスが見えなくなることがしばしばあった。また、ECUでカバーするのはあくまでEISAデバイスのみで、ISAデバイスがリソースを占有することは阻止できなかったから、根本的な解決にはならなかった。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン