Q-bus (LSI-11バス)
Q-busは、
ディジタル・イクイップメント・コーポレーション(DEC)が製造した
PDPシリーズおよびMicro
VAXで使用されたバス技術です。Unibusの設計を基に、アドレス信号線とデータ信号線を重ね合わせることで、コスト削減と小型化を実現しました。これにより、Unibusと同等の機能をより低価格で提供することが可能になりました。
Q-busの主な特徴
Q-busは、Unibusと同様に以下の特徴を備えています。
メモリマップトI/O: CPU、メモリ、I/Oデバイス間のデータ転送に同じプロトコルを使用します。UnibusではI/Oデバイス用に特定のアドレス範囲が予約されていましたが、Q-busでは特別な信号(BBS7,後にBBSIO)を用いることで、アドレス範囲を簡略化しています。
バイト単位のアドレス指定: 物理アドレスはバイト単位のデータブロックのアドレスとして解釈されます。2バイト分の
データ転送が可能なデータ信号線があるため、アドレスの最下位ビット(LSB)はバイト単位のデータ選択に使用されます。
厳密なマスター/スレーブ関係: バス上では、常に1つのデバイスが「マスター」となりデータ転送を開始します。それに対して、1つの「スレーブ」デバイスが応答します。データリード、ライトに関わらず、マスターデバイスが転送を開始できます。バスサイクル完了時には、バス調停プロトコルによって次のマスターデバイスが選択されます。
非同期バス: バスサイクルに固定時間がなく、マスターとスレーブデバイスの応答速度によって転送時間が変化します。デバイス間は「
ハンドシェイク」信号を用いてタイミングを制御します。マスターデバイスにはタイムアウト回路があり、バスサイクル時間が制限されます。
Q-busのBDAL (バスデータ/アドレス線)は、世代によって16本、18本、22本と変化しました。BDALは物理アドレスの送信に使用され、8本または16本が
データ転送にも使われます。後期世代ではブロック転送モードが導入され、1回のアドレス送信で連続する
データ転送が可能になり、バスの転送効率が向上しました。バス調停では、バスアービターに近いデバイスが優先的にマスターになりやすい傾向があります。
割り込み処理
Q-busには4段階の割り込み優先度があり、IFP (Interrupt-Fielding Processor)が対応します。IFPに近いカードがより高い優先度を持ちます。割り込み発生時には割り込みベクターがIFPに渡され、各I/Oカードからの割り込みを明確に区別できます。
回路の簡素化
Unibusと同様に、システム全体の回路量は最小限に抑えられています。非同期バスですが、スレーブデバイスは同期処理を意識する必要はなく、マスターデバイスがアドレスとデータの同期を担います。タイムアウトや割り込み処理もIFPが担当します。
互換性
Q-busはUnibusの設計思想と実装を密接に継承しています。DECやサードパーティが提供するアダプターにより、Q-busとUnibus間には互換性がありました。多くのI/Oデバイスは両バスで使用可能でしたが、一部にはわずかな差異も存在しました。