Unibusは、
ディジタル・イクイップメント・コーポレーション(DEC)が開発した、PDP-11や初期の
VAXコンピュータで使用された初期のバス技術です。このバスは、その設計思想と機能性において、当時の
コンピュータアーキテクチャに大きな影響を与えました。
Unibusの構造
Unibusは、合計72本の信号線で構成されています。これには、36本ずつの信号線を持つ2つのコネクタが含まれます。電力供給線と接地線を除くと、
データ転送や制御に用いられる信号線は56本となります。これらの信号線は、バックプレーンやケーブルを通じて各デバイスに接続されます。一つのUnibusセグメントには最大20個のデバイスを接続でき、バスリピーターを使用することで、セグメントを拡張することも可能です。
Unibusの動作原理
Unibusは、完全な非同期動作を採用しています。これにより、高速なデバイスと低速なデバイスが混在した環境でも、効率的な
データ転送が可能です。バス調停(アービトレーション)のオーバーラップ機能も備えており、現在のバスマスターが
データ転送を行っている間にも、次のバスマスターを選出する処理を並行して行うことができます。アドレス信号線は18本あり、最大256KBの
アドレス空間をサポートしています。PDP-11アーキテクチャでは、先頭の8KBが
メモリマップドI/O|メモリマップドI_Oデバイスのレジスタ用に予約されています。
設計思想と特徴
Unibusは、システムに必要な論理回路を最小限に抑えるように設計されています。例えば、通常、スレーブデバイスはマスターデバイスよりも多いため、非同期
データ転送に必要なロジックは、少数のマスターデバイスのみが持つように設計されています。割り込み処理に関しては、Interrupt-fielding Processorのみが複雑なタイミング回路を備えています。この設計により、多くのI/Oコントローラの回路が大幅に簡略化され、主要な回路はカスタム
集積回路として実装されました。
Unibusの信号線
Unibusの信号線は、以下の役割を果たします。
アドレス線 (18本, A00-A17): データ転送先のアドレスを指定します。
データ線 (16本, D00-D15): データの送受信を行います。
バス要求線 (4本, BR4-BR7): 割り込みを要求する際に使用され、優先度4(低)から7(高)の範囲で優先度を示します。
バス応答線 (4本, BG4-BG7): バス要求に対する応答を返します。優先度は要求線と同じです。
非プロセッサ要求線 (1本, NPR): DMA(ダイレクトメモリアクセス)要求を行う際に使用されます。
非プロセッサ応答線 (1本, NPG): DMA要求に対する応答を返します。
AC Low (1本, ACLO): AC電源の低下を検知します。
DC Low (1本, DCLO): DC電源の低下を検知します。
Master Sync (1本, MSYNC): マスターデバイスが同期を開始したことを示します。
Slave Sync (1本, SSYNC): スレーブデバイスが同期したことを示します。
Bus Busy (1本, BBSY): バスが使用中であることを示します。
Selection Acknowledge (1本, SACK): デバイス選択の確認信号です。
Bus Init (1本, INIT): バスを初期化する信号です。
割り込み要求 (1本, INTR): 割り込みを要求する信号です。
パリティ制御線 (2本, PA, PB): パリティチェックに使用されます。
サイクル制御線 (2本, C0, C1):
データ転送サイクルを制御します。
電源線 (+5v): 5Vの電源供給に使用されます。
接地線 (Gnd): 接地に接続されます。
2本の制御線 (C0とC1) を用いることで、以下の4種類の
データ転送サイクルが選択可能です。
DATI (Data In, リード): データを読み出すサイクルです。
DATIP (Data In/Pause, リード-モディファイ-ライト操作の開始): 原子的なリード-モディファイ-ライト操作を開始するためのサイクルです。DAT0またはDATOBで操作を完了させます。
DATO (Data Out, ワードライト): データを1ワード単位で書き込むサイクルです。
DATOB (Data Out/Byte, バイトライト): データを1バイト単位で書き込むサイクルです。
割り込みサイクルの間には、割り込みを発生させたデバイスからInterrupt-fielding Processorへ割り込みベクターを伝える、特別な転送サイクルが自動的に実行されます。
Unibusは、その柔軟性と効率性により、DECの多くのシステムで重要な役割を果たしました。その設計思想は、後のバス技術にも影響を与え、
コンピュータアーキテクチャの発展に貢献しました。