(57)【特許請求の範囲】
【請求項１】
中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス（Peripheral Component Interconnect Bus ；ＰＣＩバス）に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
装置の初期設定として、コネクション設置／レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記ＰＣＩバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、
或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記ＰＣＩバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、
前記データ交換部は、或る前記通信制御部からのデータをコネクション先の前記通信制御部（１又は複数台）へメモリ・アクセス・コマンドを用いて転送し、
コネクション先の前記通信制御部は、転送されたデータを速度変換し、外部回線に出力を行うことを特徴とするＰＣＩバスによるデータ交換方法。
【請求項２】
請求項１に記載のＰＣＩバスを使用したデータ交換方法において、  前記通信制御部のデータ転送は書込みコマンドで実行されることを特徴とするＰＣＩバスによるデータ交換方法。
【請求項３】
請求項１に記載のＰＣＩバスを使用したデータ交換方法において、
前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離することを特徴とするＰＣＩバスによるデータ交換方法。
【請求項４】
請求項３に記載のＰＣＩバスを使用したデータ交換方法において、
前記アドレッシングにより受信データの優先／非優先制御を行うことを特徴とするＰＣＩバスによるデータ交換方法。
【請求項５】
中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス（Peripheral Component Interconnect Bus ；ＰＣＩバス）に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
更に、前記ＰＣＩバス経由で拡張される前記通信制御部及び前記データ交換部を設け、拡張された前記通信制御部及び前記データ交換部との情報転送の橋渡しを行うブリッジを設けるとともに、前記通信制御部から一旦前記ブリッジへデータ転送し、更に前記ブリッジを通して他のＰＣＩバスのデータ交換部にデータ転送するデータ転送領域を設けることを特徴とするＰＣＩバスによるデータ交換装置。
【請求項６】
請求項５に記載のＰＣＩバスによるデータ交換装置において、
前記ブリッジは、前記通信制御部及び前記データ交換部のバッファメモリ、バス制御部及び制御用メモリとが同一アーキテクチャーで構成されることを特徴とするＰＣＩバスによるデータ交換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ペリフェラル・コンポーネント・インターコネクト・バス（ＰＣＩバス：Peripheral Component Interconnect Bus ）を有するデータ交換方法及び装置に係り、特に、外部回線と実際に通信を実施する通信制御部のデータ転送を書込みコマンドで全てを表すことにより，ＰＣＩバスのオーバヘッドを最小にするデータ交換方法及び装置に関する。
【０００２】
【従来の技術】
近年、データ交換装置に使用されるシステムバスとして、ＰＣＩバスが採用され始めている。ＰＣＩバスはクロック同期型の入出力バスであり、アドレス／データバス（ＡＤバス）を有している。データ転送はブロック転送を基本としており、各ブロック転送はバースト転送を基本としている。このＰＣＩバスを使用するとデバイス間のデータ転送などを高速に行うことができる。
【０００３】
図１４は、ＰＣＩバスを使用した従来技術によるデータ交換装置の構成図である。同図において、１は通信の設定・管理を行う中央処理装置（ＣＰＵ）、２はＣＰＵ１のプログラム・データを蓄えるメモリ、３はマンマシンインタフェースである入出力装置（Ｉ／Ｏ）、４1 〜４4 は外部回線と実際に通信を行う通信制御部、９は交換するデータを交換のために蓄えるバッファメモリを示している。
【０００４】
図１５は、従来技術によるデータ交換装置の通信制御部の構成図である。同図において、１１は実際の外部と接続する物理インタフェース制御部、１２は速度吸収を行うバッファメモリ、１３はＰＣＩバスのプロトコルを理解するバス制御部、１５はデータ転送を実行するための元となるディスクリプタを解析し実動作を行う転送制御部である。
【０００５】
以上の構成からなるデータ交換機において、実データが通信制御部４1 〜４4 の何れかに入力された場合（受信時）には、受信データが一旦通信制御部４1 〜４4 内のバッファメモリ１２に蓄えられる。その後、通信制御部４1 〜４4 よりデータ交換装置のバッファメモリ９へのDirect Memory Access（ＤＭＡ）による書込みアクセスが発生する。この書込みする位置はディスクリプタと呼ばれる情報（予め作成されてバッファメモリ９に格納された送受信の情報）でＣＰＵ１により管理される。
【０００６】
また、実データを通信制御部４1 〜４4 より出力する場合（送信時）には、通信制御装置４1 〜４4 からの起動によって交換装置のバッファメモリ９からＤＭＡによる読出しアクセスを発生させ、そのデータを通信制御部４1 〜４4 の内部バッファメモリ１２にデータを蓄えてから送出する。この時も、どのようなデータを送出するかはディスクリプタによって管理される。
【０００７】
図１６は、従来技術によるディスクリプタの構成図である。同図に示すように、本ディスクリプタにあっては、管理バッファのアドレスの先頭に転送元アドレス５１が、更に、転送先アドレス５２、転送バイト数５３、次ディスクリプタアドレス５４、転送元識別子５５、チェイン情報／ディスクリプタ識別子／エラー情報５６、エラーアドレス５７、及びエラーデータ５８などで構成される。
【０００８】
特に、チェイン情報／ディスクリプタ識別子／エラー情報５６について、具体的な数値例で表すと、以下のとおりとなる。
【０００９】
チェイン情報の例では、００（先頭）、０１（中間）、１０（最終）となる。
【００１０】
ディスクリプタ識別子の例では、００（ＣＰＵ１が作業中）、０１（通信制御部４1 〜４4 が使用中）、１０（ＣＰＵ１が通信制御部４1 〜４4 に依頼）、１１（通信制御部４1 〜４4 がＣＰＵ１に依頼）となる。
【００１１】
エラー情報の例では、００（エラー無し）、０１（パリティエラー）、１０（オーバーラン）、１１（アンダーラン）となる。
【００１２】
図１７は、従来技術のディスクリプタによるデータ転送の説明図である。同図において、受信データの転送元は、通信制御部４1 〜４4 のアドレスであり、２つの受信ディスクプタを使用してバッファメモリ９に先頭データ及び最終データとして格納する例を示す。一方、送信データの送信先は通信制御部４1 〜４4 のアドレスであり、３つの送信ディスクリプタを使用してバッファメモリ９に格納される先頭データ、中間データ及び最終データを送信データとして通信制御部４1 〜４4 へ送信する例を示す。
【００１３】
通常、先頭のディスクリプタは、ディスクリプタを使用するデバイスにレジスタなどで通知される。１つのディスクリプタで管理しているより大きいデータを送受信したい場合には、複数のディスクリプタを使用することにより実現する。
【００１４】
このように、複数のディスクリプタを使用する方法をディスクリプタチェインと呼んでいる。ディスクリプタチェインはチェインビットおよびディスクリプタ識別子によって制御される。つまり、データ交換装置から外部回線方向へのデータ送信時には、ＣＰＵ１がディスクリプタのチェイン情報、転送バイト数を書き込むが、外部回線からデータ交換装置方向への受信時には、通信制御部４1 〜４4 がディスクリプタのチェイン情報、転送バイト数を書き込む。
【００１５】
このディスクリプタの管理（空き管理、再接続およびメモリ配置など）は、ＣＰＵ１で実施するのが一般的である。また、ディスクリプタの制御のための帯域を確保する必要が有り、送信データの有無を通信制御部４1 〜４4 からの一定間隔のディスクリプタのルックイン（データが有るか否かを確認する）か、１データ転送ごとのＣＰＵ１での起動により行う。
【００１６】
なお、ディスクリプタを１度に複数個制御できる高機能な通信制御部４1 〜４4 の場合には、ディスクリプタ内に通信の優先順位など情報を付加し、この優先順位、レートを見て外部回線に出力することにより、通信の優先制御（レート制御）が成されるが、低機能な通信制御部４1 〜４4 の場合には、ＣＰＵ１によるバッファの付け替え時に、ある一定周期で送信依頼をしたり、後から到着したものを優先的に出力するためにディスクリプタのチェイン順を変更したり等の制御が必要となる。
【００１７】
図１８は，ＰＣＩバスのメモリ読出し及び書込みアクセスのタイムチャートである。同図において、（ａ）読出しコマンド、と（ｂ）書込みコマンド、のアクセスのタイムチャートを対比して示す。
【００１８】
縦列の各信号は、ＣＬＫ（クロック信号）、ＦＲＡＭＥ（フレーム信号）、ＡＤ（アドレス／データ）、Ｃ／ＢＥ（コマンド／バイトイネーブル信号）、ＩＲＤＹ（レディ信号）、ＴＲＤＹ（ターゲットレディ信号）、ＤＥＶＳＥＬ（デバイスセレクト信号）、ＰＡＲ（パリティ信号）を示す。
【００１９】
ＰＣＩバス上の全てのサイクルはＰＣＩバスクロックに同期して行れる。ＡＤ（アドレス／データ）は、３２ビット幅であり、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。
【００２０】
ＰＣＩバスのメモリ書込み動作は、（ｂ）書込みコマンド、に示すように、ＰＣＩバス上のトラフィックとして最低２サイクルで終了する。これは、全てのデバイスがコマンドの対象が自分あるかどうかに関わらず、コマンドをとりあえず取り込み、その後に解析を実施することが可能となるため、バスの占有率は２バスサイクルで良い。つまり突き放し制御が可能であるからである。
【００２１】
これに対して、ＰＣＩバスのメモリ読出し動作は、読出しの起動アドレスが自分宛かどうかを判断した後、該当空間への読出しを実行し、そのデータをバスに出力する必要があるため、１アドレス読出しでも４バスサイクル以上かかる。
【００２２】
なお、図１８は、データ転送のデータブロックがシングルの場合を示すが、データブロックがバーストの場合は、アドレスフェーズに続くデータフェーズが複数ブロック連続する。
【００２３】
【発明が解決しようとする課題】
以上の従来技術によれば、ＣＰＵ１がディスクリプタの制御を実行するための部分が実際のデータ転送に対してオーバヘッドとなる。また、ＰＣＩバスの読出しアクセスでは多量なバス占有時間を必要とするために、ディスクリプタ制御のみで正確な優先制御（レート制御）を実施するのは不可能である。またバス帯域を確保するためにバースト転送が必須となるため、通信制御部４1 〜４4 で大量のバッファメモリとバッファリング後の送出タイマーを必要となる。更に、ＣＰＵ１が管理しているディスクリプタによってＤＭＡ（Direct Memory Access）を実行しており、その空き管理が行えるのはＣＰＵ１のみであるため、高性能なＣＰＵ１を必要とするとともに、管理のためのバス帯域使用により構成できる回線容量が低くなる。
【００２４】
この発明は、ディスクリプタ制御でない転送方式を実現することによって、交換容量当たりの単価を小さくするとともに、交換容量の拡張と交換装置全体の二重化が容易に実現できるＰＣＩバスによるデータ交換方法及び装置を提供することを課題とする。
【００２５】
【課題を解決するための手段】
上記課題を解決させるための第１の発明は、中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス（Peripheral Component Interconnect Bus ；ＰＣＩバス）に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、装置の初期設定として、コネクション設置／レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記ＰＣＩバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記ＰＣＩバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、前記データ交換部は、或る前記通信制御部からのデータをコネクション先の前記通信制御部（１又は複数台）へメモリ・アクセス・コマンドを用いて転送し、コネクション先の前記通信制御部は、転送されたデータを速度変換し、外部回線に出力を行う。
【００２６】
この第１の発明によれば、ＰＣＩバスコマンドを１回のアクセスで複数の相手にコマンドを発行することができ、コネクションの種類（１対１、１対ｎ）を意識せずに管理できるＰＣＩバスによるデータ交換方法を提供できる。
【００２７】
第２の発明は、上記第１の発明において、前記通信制御部のデータ転送は書込みコマンドで実行される。
【００２８】
この第２の発明によれば、ＰＣＩバスのオーバヘッド（無駄時間）を最小化できることにより交換容量あたりの単価を低減するＰＣＩバスによるデータ交換方法を提供できる。
【００２９】
第３の発明は、上記第１の発明において、前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離する。
【００３０】
この第３の発明によれば、アドレス分離によりメモリ量を低減化できることにより交換容量あたりの単価を低減でき、且つ制御が簡単になるため拡張が容易なＰＣＩバスによるデータ交換方法を提供できる。
【００３１】
第４の発明は、上記第３の発明において、前記アドレッシングにより受信データの優先／非優先制御を行う。
【００３２】
この第４の発明によれば、優先制御回路が簡単になるとともに交換容量当たりの単価を低減でき、且つ制御が簡単になるため拡張が容易なＰＣＩバスによるデータ交換方法を提供できる。
【００３３】
第５の発明は、更に、前記ＰＣＩバス経由で拡張される前記通信制御部及び前記データ交換部を設け、拡張された前記通信制御部及び前記データ交換部との情報転送の橋渡しを行うブリッジを設けるとともに、前記通信制御部から一旦前記ブリッジへデータ転送し、更に前記ブリッジを通して他のＰＣＩバスのデータ交換部にデータ転送するデータ転送領域を設けている。
【００３４】
この第５の発明によれば、交換容量の拡張が容易に実現できるＰＣＩバスによるデータ交換装置を提供できる。
第６の発明は、上記第５の発明において、前記ブリッジは、前記通信制御部及び前記データ交換部のバッファメモリ、バス制御部及び制御用メモリとが同一アーキテクチャーで構成される。
この第６の発明によれば、同一アークテクチャーで交換容量の拡張が容易に実現できるＰＣＩバスによるデータ交換装置を提供できる。
【００３５】
【発明の実施の形態】
以下、本発明の実施の形態について、図を参照しながら説明する。
【００３６】
なお、全図を通じて理解を容易とするために同様箇所には、同一符号を付して示すものとする。
【００３７】
図１は、本発明の一実施形態におけるＰＣＩバスを使用したデータ交換装置の構成図である。同図において、１は通信の設定・管理を行う中央処理装置（ＣＰＵ）、２はＣＰＵ１のプログラム・データを蓄えるメモリ、３はマンマシンインタフェースである入出力装置（Ｉ／Ｏ）、４1 〜４4 は外部回線と実際に通信を行う通信制御部、５はデータ交換を行うデータ交換部、を示している。その構成は中央処理装置（ＣＰＵ）１、メモリ２および入出力装置（Ｉ／Ｏ）３が接続しているＰＣＩバスに対して、データの送受信を行う通信制御部４1 〜４4 およびデータ交換を行うデータ交換部５が付随している。
【００３８】
ＰＣＩバスはアドレス／データの多重バスであり、その読出し及び書込みは図１８で前述したようなコマンドの形態をとる。データの転送に関してはシングルアクセスとバーストアクセスを許容しているが、図１８ではシングルアクセスの場合を示している。
【００３９】
また、ＰＣＩバス上の各デバイスのアクセスするための物理アドレスのアドレッシングは、自由に変更できるようになっている。これは各デバイスのアドレッシングなどを決定するコンフィグレーション空間というものが存在しており、その空間の中に動作参照アドレッシング情報が存在しているからである。
【００４０】
更に、各デバイスのコンフィグレーション空間に対してアクセスするためにはアクセスされる対象デバイスを一意に決定するための信号であるＩＤＳＥＬ（Initialization Device Select）信号によって、対象デバイスを特定し、アクセスを実行する。この特殊アクセスサイクルをＰＣＩコンフィグレーションサイクルと呼ぶ。ＰＣＩバスに接続される各周辺デバイスにはそのデバイスの特性種類、動作などを設定するためのコンフィグレーションレジスタが用意されており、コンフィグレーションサイクルは、このコンフィグレーションレジスタをアクセスするために使用され、ＰＣＩバスに接続される各周辺デバイスの動作環境を設定するために使用される。
【００４１】
また、上記コンフィグレーション空間は、ＰＣＩバス上に接続されたバスのスレーブ（アクセスされる側）ごとに独立して存在しており、一つのスレーブデバイスに対して複数のアドレスに応答するようにしたり、同一のアドレスを複数のスレーブデバイスに割り当てることも可能である。この同一アドレスを複数のスレーブアドレスに割り当てると、ＰＣＩバスコマンドを１回のアクセスで複数の相手にコマンドを発行することができる。この機能を利用することにより、本発明では装置のバッファメモリからマルチキャストデータを転送することができる。つまり、複数の通信制御部のＰＣＩバス制御部に同一のアドレスで動作するようにアドレス登録を行い、該当のデバイス群へのマルチキャストの場合にはそのアドレスへの書込みコマンドを実行すれば良い。これは１つのＰＣＩのアドレスが１コネクションという形で管理できるため、コネクションの種類（１対１、１対ｎ）を意識せずに管理できるというメリットがある。
【００４２】
図２は、本発明の一実施形態であるデータ交換の方法を説明するタイムチャートである。同図では通信制御部が複数存在するイメージとしているが、説明を簡単にするために特定の２つの通信制御部Ａと通信制御部Ｂの通信をメインに説明する。
（動作１）
先ず装置の初期設定として、コネクション設定／レート設定を元にＣＰＵより交換部、通信制御部Ａ，Ｂ，その他に対してＰＣＩコンフィグレーションにより初期設定を実行する。この初期設定が終わった後、通信が可能となる。
【００４３】
この初期設定においては、全て書込みコマンドのみにより実行する。
（動作２）
次に外線からの受信により、通信制御部Ａへの通信制御部Ｂとのコネクションのデータが到着すると、通信制御部Ａは交換部へそのデータをＰＣＩバスの書込みアクセスを用いて転送する。図２ではそのデータが２アクセス分到着したことを意味する。
（動作３）
次に交換部は、通信制御部Ａから書込みされたデータをレートコントロール用の転送タイマーに従って、一定間隔で通信制御部Ｂへ書込みアクセスを行う。通信制御部Ｂは書込みされたデータを速度変換し、外部回線に出力を行う。
【００４４】
ここで重要なことは、転送データは交換部、通信制御部Ａ，Ｂにおいて全て書込みコマンドにて実施し、読取りコマンドは全く使用しないことにある。これにより、本発明による１対１接続コネクションの動作が完了する。その結果、全てのデバイスがコマンドの対象が自分であるかどうかに関わらず、コマンドをとりあえず取り込み、その後に解析を実施することが可能となるため、バスの占有率は２バスサイクルで良くなり、バスのオーバヘッドが最小となる。
【００４５】
図３は、本発明の一実施形態である通信制御部の構成図である。同図において、１１は実際の外部と接続する物理インタフェース制御部、１２は速度吸収を行うバッファメモリ、１３はＰＣＩバスのプロトコルを理解するバス制御部、１４はバス制御部１３の制御内容を格納する制御用メモリである。
【００４６】
外部からデータが入力された時（受信時）は、入力データは物理インタフェース制御部１１からバッファメモリ１２に一旦データを蓄積する。このときデータのヘッダ部に記されている宛先よりコネクションを判別することができるため、バス制御部１３は、この情報を元に制御用メモリ１４内の情報と照らし合わせて、データ交換部のバッファメモリ２３のどの部分に書込みアクセスを実行するかを決定する。バス制御部１３は交換部へＰＣＩバス使用許可を得るためにバス要求を行い、許可されると書込みアクセスを実行する。逆に送信時には、交換部からバッファメモリ１２に送信データが書込まれ、物理インタフェース制御部１１で速度変換され外部回線に出力される。
【００４７】
図４は、本発明の一実施形態であるデータ交換部の構成図である。同図において、２１はデータ交換部からの書込みアクセスの間隔を制御し、レート制御を行うデータ転送スケジューラー部、２２はバッファメモリ２３を制御するメモリ制御部、２３はデータを蓄積するバッファメモリ、２４はＰＣＩバスのプロトコルを理解するバス制御部、２５はバス制御部の制御内容を格納する制御用メモリ、２６はＰＣＩバスの使用許可を制御するバスアービトレーション部である。
【００４８】
次にＰＣＩバス上の動作および交換部のバッファメモリ２３とメモリ制御部２２の動作を説明する。例として、図１の構成で、通信制御部Ａから通信制御部Ｂ方向へのコネクション（コネクション１）、通信制御部Ｂから通信制御部Ａ方向へのコネクション（コネクション２）、通信制御部Ｃから通信制御部Ｄ方向へのコネクション（コネクション３）、通信制御部Ｄから通信制御部Ｃ方向へのコネクション（コネクション４）、通信制御部Ｃから通信制御部Ａ方向へのコネクション（コネクション５）、通信制御部Ｄから通信制御部Ａ方向へのコネクション（コネクション６）及び通信制御部Ａから通信制御部Ｂ，Ｃ，Ｄ３つへのマルチキャストのコネクション（コネクション７）があるとする。
【００４９】
上記前提でのデータ交換部のメモリ管理イメージが図５である。
【００５０】
図５は、本発明の一実施形態である交換部のバッファメモリ管理の説明図である。同図に示すとおり、コネクション１は論理アドレスとして０ｘ００００００００番地が割り当てられている。これは通信制御部Ａが外部回線よりデータを受信した時に、そのデータのコネクションが通信制御部Ｂであった時には０ｘ００００００００番地に書込み動作を行うことを意味している。同様に、コネクション２は０ｘ００００１０００番地に、コネクション３は０ｘ００００２０００番地に書込み動作を行うことになる。またバッファメモリの物理アドレスは図５の左側の値であり、コネクション１には、０ｘ００００００００〜０ｘ０１ｆｆｆｆｆｆまでの３２Ｍｂｙｔｅが割当てられている。
【００５１】
図６は、本発明の一実施形態であるＰＣＩバス上のメモリマップである。同図に示すとおり、コネクション１〜コネクション７はＰＣＩバス上の論理アドレス０ｘ００００００００〜０ｘ００００６０００の番地に書込みアクセスを実行することにより、対象の通信制御部からデータ交換部へ一旦データ転送され、更にＰＣＩバスの論理アドレス０ｘ０９００００００〜０ｘ０９００４０００の番地に書込みアクセスを実行することにより、データ交換部から送信先の通信制御部へデータ転送される。
【００５２】
データ交換部および通信制御部のバッファメモリは、ＦＩＦＯ（First In First Out）であり、書込みコマンドが自分に該当するアドレスであれば、メモリに書込みアドレスを自分でインクリメントし、リングバッファイメージで制御される。
【００５３】
なお、論理アドレス０ｘ０１００００００はＣＰＵ用メモリとして使用されるメモリ領域であり、論理アドレス０ｘ０８００００００はＣＰＵ用Ｉ／Ｏとして使用されるメモリ領域である。
【００５４】
図７は、本発明の一実施形態における流入規制の説明図である。同図において、バッファメモリ２３、１２のバッファ容量に２段階の閾値を設け、１次規制の閾値までは全てのデータを受け入れる。また一次規制の閾値を越えると入ってくるデータの優先度によって、優先のもののみ残していく。また２次規制の閾値を越えた場合には全て捨てるという方法である。
【００５５】
この構成であればコネクション単位にバッファが分かれているため、コネクション単位に閾値を設定することによって、他のコネクションに影響を与えず流入規制を容易に行うことができる。
【００５６】
図８は、本発明の一実施形態における出力規制の説明図である。同図において、（ａ）は出力規制を行うデータ交換部のブロック図、（ｂ）は出力規制に伴う出力起動の例を示す。
【００５７】
データ転送スケジューラ部２１はコネクション毎の出力レートに合わせて出力タイミングを与えるものである。つまり、本発明の一実施形態ではＰＣＩバスの１アクセスの単位が２バスサイクルでＰＣＩ基準クロックが６６ＭＨｚ，バス幅が６４ｂｉｔとすると、最大転送能力は６６÷２×６４＝２１１２Ｍｂｐｓの転送能力が有る。そのうち１５５Ｍｂｐｓの転送を行おうとすると、約１３．６回に１回転送すれば良いことになる。このようなスケジューラーを構成する場合にはカウンタ及びそのカウンタ値を元に蓄積情報を読出し、その蓄積情報より出力コネクションを選び出し、出力機会を与える。そのカウンタの１周する値によってレートの分解能が決定される。
【００５８】
またこのスケジューラーの情報と合わせてアービターの優先順位を変更することにより、スムーズな出力規制が行われる。つまり、流入／流出規制によってメモリリソースの使用効率が向上し、余分なバッファを持つ必要が無くなる。また、物理回線速度およびコネクション数は有限である為、回線容量が決まっていれば、必要とするメモリ容量は変更されない。
【００５９】
更に、流入規制が必要でなければ、データ交換部５を経由せずに通信制御部４1 〜４4 間のコネクションを確立したり、ＣＰＵ１からの制御データ通信が通信制御部４1 〜４4 間への書込みアクセスで実行できるメリットがある。また、ＣＰＵ１向けのデータ（例えば、シグナリング関係の信号）についても通信制御部４1 〜４4 で受信した後、ＣＰＵ１のメモリアドレスがダイレクトマッピングされているため、他のデータ受信と同じように該当アドレスを指定して書込みアクセスするように設定しておけば、探索する必要がなく制御を行うことができる。
【００６０】
図９は、本発明の一実施形態における拡張されたデータ交換装置の構成図である。同図において、ブリッジ６は、ＰＣＩバス経由で拡張されたデータ交換部５’および通信制御部４1 ’〜４8 ’との情報転送の橋渡しをするものである。
【００６１】
図１０は、図９で示されるブリッジ６の構成図である。同図に示すように、ブリッジ６はメモリ制御部４１Ａ，４１Ｂとバッファメモリ４２Ａ，４２Ｂとバス制御部４３Ａ，４３Ｂ及び制御用メモリ４４Ａ，４４Ｂの４ブロックを二組持った形で構成される。
【００６２】
図１１は、図９で示されるブリッジ６により拡張されたＰＣＩバス上のメモリマップである。ブリッジ６を使用した場合には、同図に示されるように、ＰＣＩバスの論理アドレス０ｘ１０００００００にて通信制御部４1 〜４8 又は４1 ’〜４8 ’から一旦ブリッジ６へデータ転送され、更にＰＣＩバスの論理アドレス０ｘ２０００００００にてブリッジ６を通して他のＰＣＩバスのデータ交換部５’又は５へデータ転送し、そのデータ交換部５’又は５より該当の通信制御部４1 ’〜４8 ’又は４1 〜４8 にデータ転送される。
【００６３】
よって、ブリッジ６を使用して拡張を行った場合でも、図１１に示されるように、通信制御部からブリッジへのコネクションイメージのアドレス空間とブリッジからデータ交換部へのコネクションイメージのアドレス空間が追加された形にしか見えていない。つまりブリッジで拡張されていることを意識する必要がなく拡張を行うことができる。またブリッジで拡張を行う場合には、ブリッジを通過するデータ容量に合わせてブリッジに必要なバッファメモリの容量が決定される。それは通信制御部の構成およびネットワーク設計により決定される。
【００６４】
図１２は、本発明の一実施形態における更に拡張されたデータ交換装置の構成図である。同図に示されるように、（ＣＰＵ・メモリ・Ｉ／Ｏ）７−１〜７−４、通信制御部群４−１〜４−４及びデータ交換部５−１〜５−４から成る４組のデータ交換装置は、そのＰＣＩバス上に設けられたブリッジ６−１〜６−３を介して更に拡張することができる。このように、データ交換機の複数の組を縦列方向にブリッジを介して接続して行けば、同一アーキテクチャーで交換容量の拡張が容易に実現できる。
【００６５】
図１３は、本発明の一実施形態における二重化されたデータ交換装置の構成図である。同図に示すように、ＣＰＵ１，１’、メモリ２，２’、Ｉ／Ｏ３，３’、通信制御部４，４’、データ交換部５，５’及びＰＣＩバスからなるデータ交換装置全体は二重化されており、ブリッジ６はこの二重化されたＰＣＩバスと接続される。更に、通信制御部Ａ〜Ｈと通信制御部Ａ’〜Ｈ’は切り替え装置８を通してそれぞれ同一の回線に接続されている。
【００６６】
以上の構成において、全ての二重化装置の設定を同じにすれば、内部で二つが同時に同期して動作する為、外部インタフェースからの有効なデータ入出力が発生していない場合には瞬時切り替え可能な二重化システムになる。
（付記１）  中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス（Peripheral Component Interconnect Bus ；ＰＣＩバス）に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
装置の初期設定として、コネクション設置／レート設定を元に前記中央処理装置は、前記データ交換部および前記各通信制御部に対し、前記ＰＣＩバス上の各デバイスのアドレッシングを決定するコンフィグレーション空間アドレス設定を行い、
或る前記通信制御部が、外線から他の前記通信制御部とのコネクションのデータを受信すると、該データを前記ＰＣＩバスのメモリ・アクセス・コマンドを用いて前記データ交換部へ転送し、
前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部（１又は複数台）へメモリ・アクセス・コマンドを用いて転送する。コネクション先の前記通信制御部は転送されたデータを速度変換し、外部回線に出力を行うことを特徴とするＰＣＩバスによるデータ交換方法。
（付記２）  付記１に記載のＰＣＩバスを使用したデータ交換方法において、前記通信制御部のデータ転送は書込みコマンドで実行されることを特徴とするＰＣＩバスによるデータ交換方法。
（付記３）  付記１に記載のＰＣＩバスを使用したデータ交換方法において、前記データ交換部は或る前記通信制御部からのデータをコネクション先の前記通信制御部へメモリ・アクセス・コマンドを用いて転送するに先立ち、該データをレート制御用の転送タイマーにより一定間隔で出力することを特徴とするＰＣＩバスによるデータ交換方法。
（付記４）  付記１に記載のＰＣＩバスを使用したデータ交換方法において、前記コンフィグレーション空間アドレス設定は、データバッファのアドレッシングを論理アドレスと物理アドレスに分離することを特徴とするＰＣＩバスによるデータ交換方法。
（付記５）  付記４に記載のＰＣＩバスを使用したデータ交換方法において、前記アドレッシングにより受信データの優先／非優先制御を行うことを特徴とするＰＣＩバスによるデータ交換方法。
（付記６）  付記４に記載のＰＣＩバスを使用したデータ交換方法において、前記アドレッシングによりコネクション毎のバッファメモリ管理を行うことを特徴とするＰＣＩバスによるデータ交換方法。
（付記７）  付記４に記載のＰＣＩバスを使用したデータ交換方法において、前記アドレッシングにより中央処理装置向けのデータを固定アドレスに割り当て、ＣＰＵ向けデータを他のデータと分離して管理することを特徴とするＰＣＩバスによるデータ交換方法。
（付記８）  中央処理装置、記憶装置及び入出力装置が接続しているペリフェラル・コンポーネント・インターコネクト・バス（Peripheral Component Interconnect Bus ；ＰＣＩバス）に対して、データの送受信を行う通信制御部及びデータの交換を行うデータ交換部が付随するデータ交換装置において、
同一アーキテクチャーで構成される前記通信制御部及びデータ交換部の拡張を行う前記ＰＣＩバスのブリッジ機能を有するブリッジを設けたことを特徴とするＰＣＩバスによるデータ交換装置。
（付記９）  付記８に記載のＰＣＩバスによるデータ交換装置において、装置全体を同一アーキテクチャによる二重化構成とし、二重化された前記通信制御部は切り替え装置を経由して同一の外部回線に接続し、且つＰＣＩバスのブリッジ機能を有するブリッジを設けたことを特徴とするＰＣＩバスによるデータ交換装置。
【００６７】
【発明の効果】
以上、詳細に説明した如く本発明のＰＣＩバスによるデータ交換方法及びその装置は、ディスクリプタ制御でない転送制御を実現することによって、ＰＣＩバスコマンドを１回のアクセスで複数の相手にコマンドを発行することができ、コネクションの種類（一対１、１対ｎ）を意識せずに管理できる効果がある。
【００６８】
また、ＰＣＩバスのオーバヘッド（無駄時間）を最小化できるとともに、アドレス分離によりメモリ量を低減化できることにより交換容量あたりの単価を小さくできる。
【００６９】
更に、コンフィグレーション（アドレス空間の設定）によるデータバッファのアドレッシングにより優先制御、交換容量の拡張および交換装置全体の二重化を容易に構成できる。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるＰＣＩバスを使用したデータ交換装置の構成図である。
【図２】本発明の一実施形態におけるデータ交換方法を説明するタイムチャートである。
【図３】本発明の一実施形態における通信制御部の構成図である。
【図４】本発明の一実施形態におけるデータ交換部の構成図である。
【図５】本発明の一実施形態におけるデータ交換部のバッファメモリ管理の説明図である。
【図６】本発明の一実施形態におけるＰＣＩバス上のメモリマップである。
【図７】本発明の一実施形態における流入規制の説明図である。
【図８】本発明の一実施形態における出力規制の説明図である。
【図９】本発明の一実施形態における拡張されたデータ交換装置の構成図である。
【図１０】図９で示されるブリッジの構成図である。
【図１１】本発明の一実施形態におけるブリッジで拡張されたＰＣＩバス上のメモリマップである。
【図１２】本発明の一実施形態における更に拡張されたデータ交換装置の構成図である。
【図１３】本発明の一実施形態における二重化されたデータ交換装置の構成図である。
【図１４】ＰＣＩバスを使用した従来技術によるデータ交換装置の構成図である。
【図１５】従来の技術による通信制御部の構成図である。
【図１６】従来技術によるディスクリプタの構成図である。
【図１７】従来技術のディスクリプタによるデータ転送の説明図である。
【図１８】ＰＣＩバスのメモリ読出し及び書込みアクセスのタイムチャートである。
【符号の説明】
１    中央処理装置（ＣＰＵ）
２    メモリ
３    入出力装置（Ｉ／Ｏ）
４1 〜４8 ，４1 ’〜４8 ’，４−１〜４ー４    通信制御部
５，５’、５−１〜５−４    データ交換部
６，６−１〜６ー３    ブリッジ
７−１〜７ー４    ＣＰＵ・メモリ・Ｉ／Ｏ
８    切り替え装置
９    バッファメモリ
１１    物理インタフェース制御部
１２    バッファメモリ
１３    バス制御部
１４    制御用メモリ
１５    転送制御部
２１    データ転送スケジューラー部
２２    メモリ制御部
２３    バッファメモリ
２４    バス制御部
２５    制御用メモリ
２６    バスアービトレーション部
３１    メインカウンタ
３２    規制情報制御部
４１Ａ，４１Ｂ    メモリ制御部
４２Ａ，４２Ｂ    バッファメモリ
４３Ａ，４３Ｂ    バス制御部
４４Ａ，４４Ｂ    制御用メモリ
５１    転送元アドレス
５２    転送先アドレス
５３    転送バイト数
５４    次ディスクリプタアドレス
５５    転送元識別子
５６    チェイン情報・ディスクリプタ・エラー情報
５７    エラーアドレス
５８    エラーデータ
【図１】
0003903699.tif 000002
【図２】
0003903699.tif 000003
【図３】
0003903699.tif 000004
【図４】
0003903699.tif 000005
【図５】
0003903699.tif 000006
【図６】
0003903699.tif 000007
【図７】
0003903699.tif 000008
【図８】
0003903699.tif 000009
【図９】
0003903699.tif 000010
【図１０】
0003903699.tif 000011
【図１１】
0003903699.tif 000012
【図１２】
0003903699.tif 000013
【図１３】
0003903699.tif 000014
【図１４】
0003903699.tif 000015
【図１５】
0003903699.tif 000016
【図１６】
0003903699.tif 000017
【図１７】
0003903699.tif 000018
【図１８】
0003903699.tif 000019