PCI と SBus の機能比較

プロトコル

プロトコルには、バスおよびバス調停ごとに、SBus および PCI 基本トランザクションサイクルがあります。

SBus の基本サイクル

各バスの SBus 基本トランザクションサイクルの定義を以下に示します。

調停フェーズ — このフェーズでは、マスターがバスアクセスを要求します。マスター間で競合がある場合は、コントローラが次の転送を行うマスターを決定します。調停後は、コントローラが転送を監視します。

変換フェーズ — マスターとコントローラが、仮想アドレスを物理アドレスに変換し、選択信号を変換します。選択信号は、マスターとスレーブによって使用されます。

拡張転送情報フェーズ — このフェーズは、マスターが要求したサイクルで、拡張転送の値が SIZ[2:0] の場合のみ使用されます。

転送フェーズ — 転送フェーズ (スレーブサイクル) では、データはスレーブへ、またはスレーブから移動します。

動的バスサイズ変更 — この機能によって、マスターが可変幅のスレーブと容易に通信できるようになります。

バースト転送 — SBus のバースト転送プロトコルは、SBus の基本トランザクションと同じです。ただし、複数のワードが転送されます。動的バスサイズ変更と可変幅のスレーブを使用することはできません。

拡張転送モード — 64 ビット転送によって性能が向上します。データパスの幅が 2 倍であるため、最大で 2 倍の帯域幅が可能です。

PCI の基本サイクル

各バスの PCI 基本データトランザクションサイクルを以下に示します。

アドレスフェーズ — すべての PCI トランザクションは、このフェーズから開始されます。このフェーズは並行隠れ調停を含みます。

イニシエータが、ターゲットの装置とトランザクションの種類を識別します。

データフェーズ — アドレスフェーズの後、アドレス/データバスが 1 つ以上のデータフェーズでデータを転送します。アドレスフェーズの直後のクロックが、データフェーズを開始します。

データフェーズでは、PCI バスクロックのすべての立ち上がりエッジの間にイニシエータとターゲットの間でデータオブジェクトが転送されます。


注 -

バスのアイドル状態 — 最後のデータ転送が終了したら、イニシエータはバスをアイドル状態に戻します。アイドル状態とは、バス上でトランザクションが行われていない状態です。


バスの調停

SBus によるバスの調停では、調停と転送を並行して実行することができます。PCI によるバスの調停は、アクセスの応答時間を最小限にするために、タイムスロット単位ではなく、アクセス単位になっています。

SBus

複数の SBus のマスターがバスアクセスを要求した場合は、コントローラがいずれかの要求元にアクセスを許可します。マスターがデータ転送を実行している間に、並行して行われる調停は、隠れ調停と呼ばれます。

PCI

PCI の調停では、バスマスターがそれぞれのバスアクセスの調停を行う必要があります。

PCI の仕様では、PCI のバス調停方式が定義されていません。アービタは任意の方式を使用することができます。ただし、2.1 の仕様では、アービタが「公平な」アルゴリズムを実装し、デッドロックを防ぐことを義務付けています。