Q-bus の主な特徴
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/16 00:55 UTC 版)
「Q-bus」の記事における「Q-bus の主な特徴」の解説
Unibusと同様、Q-busは以下のような特徴がある: メモリマップトI/O(Memory-mapped I/O) バイト単位のアドレス指定(Byte addressing) バス上のデバイス間には厳密な「マスター-スレーブ」関係がある 非同期 メモリマップトI/O(Memory-mapped I/O)とは、任意の2つのデバイス(CPU、メモリ、I/Oデバイス)の間のデータ転送サイクルが同じプロトコルで行われることを意味する。Unibusでは、ある範囲の物理アドレスがI/Oデバイス用に予約されていた。Q-busでは特別な信号でI/Oデバイスのアドレス範囲を選択できるようにして簡略化している。この信号は当初 BBS7(Bus Bank Select 7)と呼ばれたが、後に一般化させてBBSIOと呼ばれるようになった。 バイト単位のアドレス指定(Byte addressing)とは、Unibus上に流れる物理アドレスはバイトサイズのデータのかたまりのアドレスとして解釈されることを意味する。実際には2バイト分のデータをやり取りできる幅のデータ信号線があるため、アドレスのLSBは特別な解釈が行われ、バイト単位のデータを転送するデータ信号線の選択に使われる。 厳密な「マスター-スレーブ」関係とは、Q-busでは任意の時点で必ず1つのデバイスだけが「マスター」となっているということを意味する。この「マスターデバイス」がデータトランザクションを開始でき、これに対して最大1つの「スレーブデバイス」が応答する。これはデータのリードであってもライトであっても関係なく、バスマスターはどちらのトランザクションでも開始することができる。バスサイクル完了時、バス調停プロトコルによって次にマスターとなるデバイスが選択される。 非同期とは、バスに固定のサイクル時間が存在しないことを意味する。あるデータ転送サイクルにかかる時間は、そのときのマスターデバイスとスレーブデバイスに依存して変化する。これらのデバイスは「ハンドシェイク」信号を使用してデータサイクルのタイミングを制御する。マスターデバイスのタイムアウト回路によって許容されるバスサイクル時間の最大値が制限される。 世代によって Q-bus の BDAL(Bus Data/Address Line; バスデータ/アドレス信号線)は、16本、18本、22本と変化した。BDALはバスサイクル毎に物理アドレスを流すのに使われる。そして、BDALのうちの8本あるいは16本がバスサイクル毎のデータを流すのに使われる。後期の世代では「ブロックモード」転送が可能となり、その場合はアドレスを1回流すと複数回のデータ転送サイクルが後に続く(物理アドレスの連続な範囲のデータを転送する)。アドレスを流している間はデータ転送が行われないので、ブロック転送を行うことでデータ転送サイクルの占める時間割合が増え、バスのデータ転送速度が向上する。 バス調停を行う際、バスの論理的な先端部にあるバスアービター(バスの使用権を調停する装置)に物理的に近いデバイスが優先的にバスマスターになりやすい。 割り込みは4段階の優先度があり、Interrupt-Fielding Processor(IFP)が対応する。ある優先度レベルについては、IFPに物理的に近いカードが遠いカードよりも優先度が高い。割り込みの際、割り込みベクターがIFPに渡される。このような方法で全てのI/Oカードからの割り込みを曖昧さも無く区別することができる。
※この「Q-bus の主な特徴」の解説は、「Q-bus」の解説の一部です。
「Q-bus の主な特徴」を含む「Q-bus」の記事については、「Q-bus」の概要を参照ください。
- Q-bus の主な特徴のページへのリンク