- 各コンポーネントは個別のワイヤを介して相互接続されます。これは、分散接続と呼ばれます。
- 各コンポーネントは、バス接続と呼ばれる一連の共通情報伝送ラインに接続されています。
最近のコンピュータでは、バス相互接続構造が一般的に使用されています。
バスアーキテクチャの主な利点と欠点
- 利点 1: 柔軟性。これは、新しいコンポーネントをバスに簡単に追加でき
、同じバスを使用するコンピュータ システム間でコンポーネントを交換できるという事実に反映されています
。 - メリット2:低コスト。単一セットの接続を複数のコンポーネントで共有できるため、
バスのコスト効率が高くなります。 - バスの主な欠点は、通信のボトルネックが発生する可能性があることです。
バスの基本概念
- コンピュータ内で情報をやり取りするためには、コンポーネント間に通信回線を構築する必要があり、各コンポーネントを接続する一連のパスは通常、相互接続構造と呼ばれます。
- 相互接続構造は分散型構造からバス型構造へ進化
- バスは、2 つ以上の機能コンポーネントを接続する共有情報伝送路のセットです。その主な特徴は、複数のコンポーネントが伝送媒体を共有することです。1 つのコンポーネントが送信した信号は、バスに接続されている他のすべてのコンポーネントで受信できます。
バスの特性
- 物理的特性: バスの物理的特性とは、バスの機械的物理的接続の特性を指します。
- 接続の分類: バスはケーブル タイプ、メインボード タイプ、バックプレーン タイプに分類できます。
- 接続数: バスは一般にシリアル バスとパラレル バスに分けられます。パラレル伝送バスでは、データ線の幅に応じて8ビット、16ビット、32ビット、64ビットバスなどに分けられます。
- 一般に、長距離のデータ伝送にはシリアルバスが使用され、短距離の高速データ伝送にはパラレルバスが使用されます。
- 電気的特性: バスの電気的特性とは、バスの各信号線の信号伝送方向と信号の有効レベル範囲を指します。
- 例: CPU から送信される信号が出力信号、CPU に送信される信号が入力信号です。
- バスのレベルを表現するには、シングルエンドモード(正論理を使用)と差動モード(負論理を使用) の 2 つの方法があります。
- たとえば、シリアル バス インターフェイス標準 RS-232C は差動レベル モードを使用します。
- 機能特性: バスの機能特性とは、バス内の各伝送ラインの機能を指します。例えば、アドレス情報を伝送するのにアドレス線、データ情報を伝送するのにデータ線、制御情報を伝送するのに制御線があり、制御線が異なれば機能も異なります。
- 時間特性: バス時間特性とは、バス内の伝送ラインが有効である時間と、各ラインによって生成される信号間のタイミング関係を指します。信号タイミング図を使用して説明します
バスの種類
バスは、接続するコンポーネントに応じて、通常、次の 3 つのタイプに分類されます。
- オンチップバス: チップ内のさまざまなコンポーネントを接続するバスを指します。たとえば、CPU チップ内には、レジスタ、ALU、命令コンポーネントなどのさまざまなコンポーネントを接続するバスがあり、Zynq SOC の場合は AXI バスがあります。
- システム バス: CPU、メモリ、さまざまな I/O モジュールなどの主要コンポーネントを接続するバスを指します。メインボード バスとバックプレーン バスがあります。この「システム」とは、チップ上のシステムではなく、コンピューター システムを指します。
- 通信バス: このタイプのバスは、ホストと I/0 デバイス間、またはコンピュータ システム間の通信に使用されます。
システムバスの構成
システム バスは通常、制御線のセット、データ ラインのセット、およびアドレス ラインのセットで構成されますが、多重化されたデータ ラインとアドレス ラインもあります。
バス設計の要素
バスを設計する際に考慮すべき基本的な要素は次のとおりです。
- 信号線種類:専用信号線/多重信号線
- 仲裁方式:集中仲裁、分散仲裁
- タイミングモード:同期通信、非同期通信
- トランザクションタイプ: バスでサポートされるさまざまなデータ転送タイプおよびその他のバス操作タイプ
- バス帯域幅: 単位時間あたりにバス上で送信される有効なデータの容量
バス調停
バスに接続される各コンポーネントは、バスを制御する機能の有無により、マスターデバイスとスレーブデバイスの2種類に分けられます。
- マスターデバイスはバスへのアクセスを制御し、すべてのバスリクエストを開始および制御できます。
- スレーブ デバイスは、マスター デバイスによって送信されたバス コマンドにのみ応答できます。
ケース 1: コンピュータ システムはマスター デバイスを 1 つだけ持つことができます。つまり、すべてのバス動作はプロセッサによって制御されます。
ケース 2: 別のオプションは、それぞれがデータ転送を開始できる複数のバス マスターを使用することです。この場合、特定の時点でどのデバイスがバスを使用する権利を持っているかを判断するメカニズムを提供する必要があります。次回どのバス マスター デバイスがバスを使用する権利を取得するかを決定するプロセスは、バス アービトレーションと呼ばれます
。 - 1 つ目は「階層」です。つまり、各マスター制御デバイスにはバス優先順位があり、最も高い優先順位を持つデバイスが最初にサービスを受ける必要があります。
- 2 つ目は「公平性」です。つまり、どのデバイスも、たとえ優先順位が最も低いデバイスであっても、常にバスを使用する権利を取得できるわけではありません。
集中仲裁には主に以下の方法があります。
- チェーンクエリ方式
- タイマークエリ方式
- 独立したリクエスト方法
詳細な説明については、「6.2_バス調停_bilibili_bilibili」を参照してください。
分散アービトレーションの場合:
特徴: 中央アービタは必要ありません。各潜在的なマスター モジュールには独自のアービタとアービトレーション番号があり、複数のアービタがバスの使用を競合します。
デバイスにバス要求があると、デバイスは固有のアービトレーション番号を共有アービトレーション バスに送信します。各アービターはアービトレーション バスから取得したアービトレーション番号を自分のアービトレーション番号と比較します。アービトレーション バス上の番号の優先順位が高ければ、そのバス要求は応答せず、その調停番号は取り消されます。最終的に、勝者の調停番号は調停バス上に残ります。
バス帯域幅
バスの帯域幅は、主にバスのタイミングに使用されるプロトコルによって決まります。
バス帯域幅に影響を与えるその他の要因は次のとおりです。
- データ バス幅
データ バスの幅を増やすと、バスが一度により多くのデータ ビットを送信できるようになります。信号線は - 専用または時分割多重?
アドレス ラインとデータ ラインを個別に設定すると、アドレスとデータを同じバス サイクルで転送できるため、書き込み動作のパフォーマンスが向上します。 - 大きなデータ ブロックの転送を許可するかどうか
: アドレス情報を送信したりバスを解放したりせずに、バスが複数のワードを連続的に転送できるようにすると、大きなデータ ブロックの転送に必要な時間が短縮され、バス帯域幅が増加します。これをバーストデータ転送方式といい、例えばAXIバスはバースト転送をサポートしています。
高速バスアクセスと高帯域幅は相反する設計要件です - バス操作の応答時間を高速化するには、通信パスを簡素化してバス アクセス時間を最小限に抑える必要があります。
- より高いデータ レートを得るには、バス帯域幅を最大化する必要があります。バス帯域幅は、より多くのバッファを使用し、より大きなデータ ブロックを送信することによって増やすことができます。どちらの場合も、バス動作を完了するために必要な遅延が増加します
。さまざまなレイテンシーとデータ転送速度を持つ幅広いデバイスもバス設計を困難にしています。
参考文献: