(57)【特許請求の範囲】
【請求項１】
集積回路システムにおける機能モジュール用ターゲットポートにおいて、
集積回路システムのパケットルーターから受取った複数個の要求パケットを保持する入力バッファ、
前記入力バッファ内に保持される要求パケットを選択し機能モジュールへ供給して前記要求パケット内に定義されている動作を実行させる制御回路、
各々が要求パケットを受取ることに応答して機能モジュールによって発生される複数個の応答パケットを保持する出力バッファ、
を有しており、各要求パケットが前記パケットのソースのインジケータ及び前記パケットが関連するトランズアクションを識別するトランズアクション識別子を有しており、前記応答パケットが前記応答パケットのディスティネーションを識別するためのディスティネーションインジケータとして前記ソース識別子を使用し、且つ前記トランズアクション識別子を担持し、前記制御回路が、要求パケットが単一の要求パケットが関与する簡単トランズアクション又は複数個の要求パケットが関与する複合トランズアクションの一部を形成するか否かを決定すべく動作可能であり、且つ、複合トランズアクションの場合には、最後のパケットを除いて複合トランズアクションに関与する全ての要求パケットに対してロック信号を供給させ、前記複合トランズアクションの一部を形成する前記要求パケットに応答して発生される応答で応答ロック信号を設定することを特徴とするターゲットポート。
【請求項２】
請求項１において、前記制御回路が、出力バッファ内に保持されている最初のパケットに関連する転送要求を発生している間に、出力バッファ内に保持されているその後の応答パケットに応答してアービトレーション要求を発生するアービトレーション要求回路を有していることを特徴とするターゲットポート。
【請求項３】
ターゲット機能モジュールをパケットルーターへ接続させるターゲットポートにおいて、
パケットルーターからのパケット情報を受取るための第一グループの入力信号線、
前記ポートからシステム制御ユニットへ制御信号を伝達させる第二グループの出力信号線、
前記ターゲット機能モジュールから前記パケットルーターへパケット情報を伝達させる第三グループの出力信号線、
を有しており、前記第一グループが、前記第一グループの信号線によって伝達される要求パケットが複数個の要求パケットが関与する複合トランズアクションの一部を形成することを表すロック信号を伝達する信号線を包含しており、本ターゲットポートが、更に、前記ロック信号の受取りに応答して前記ロック信号が設定された要求パケットに応答して応答パケットが発生される場合に設定される応答ロック信号を発生する制御回路を有している、ことを特徴とするターゲットポート。
【請求項４】
請求項３において、前記第三グループの出力信号線を介して伝達されるべきパケット終了信号を発生するパケットフレーム化回路を有していることを特徴とするターゲットポート。
【請求項５】
請求項３において、前記第三グループの信号線が応答パケットのオプコードフィールドを伝達し、前記オプコードフィールドが通常応答とエラー応答との間の区別を行うことを特徴とするターゲットポート。
【請求項６】
請求項３において、前記ターゲットポートによって伝達されるべき応答パケットに関する優先度情報が前記第二及び第三グループの両方における信号線を介して伝達されることを特徴とするターゲットポート。
【請求項７】
機能モジュールをパケットルーターへ接続させるアービトレーションポートにおいて、
機能モジュールからパケットルーターへパケット情報を伝達させる第一グループの出力信号線、
前記ポートからシステム制御ユニットへ制御信号を伝達させる第二グループの出力信号線、
前記パケットルーターからのパケット情報を受取る第三グループの入力信号線、
前記第二グループの出力信号線によって伝達されるべきアービトレーション要求を発生し且つ前記第二グループの出力信号線によって伝達されるべきその後の転送要求を発生するアービトレーション要求回路、
を有しており、
前記機能モジュールによって形成された要求パケットが単一要求パケットが関与する簡単トランズアクション又は複数個の要求パケットが関与する複合トランズアクションの一部を形成するか否かを決定し、且つ複合トランズアクションの場合には、最後のパケットを除いて複合パケットに関与する全ての要求パケットに対してロック信号を供給させる制御回路が設けられており、前記ロック信号は前記第一及び第二グループの両方における信号線を介して供給される、ことを特徴とするアービトレーションポート。
【請求項８】
請求項７において、前記システム制御ユニットからアービトレーション許可信号を包含する制御情報を伝達する第四入力信号線を有していることを特徴とするアービトレーションポート。
【請求項９】
請求項７において、前記第一グループの信号線がディスティネーションインジケータとアドレスされた位置とを保持しているパケットのアドレスフィールドを伝達するアドレスバスを有しており、前記ディスティネーションインジケータも前記アービトレーション要求と共に前記第二グループにおける信号線によって伝達されることを特徴とするアービトレーションポート。
【請求項１０】
請求項７において、前記パケットに関する優先度情報が前記第一及び第二グループの両方における信号線を介して伝達されることを特徴とするアービトレーションポート。
【請求項１１】
請求項７において、前記第一グループの出力信号線を介して伝達されるべきパケット終了信号を発生するパケットフレーム化回路を有していることを特徴とするアービトレーションポート。
【請求項１２】
請求項７において、前記第三グループが前記第三グループの信号線によって伝達される要求パケットが複数個の要求パケットが関与する複合トランズアクションの一部を形成することを表すロック信号を伝達する信号線を包含しており、更に、前記ロック信号を受取ったことに応答して前記複合トランズアクションのその後の要求パケットを受取るために前記第二グループにおける信号線上に許可信号を発生する制御回路が設けられていることを特徴とするアービトレーションポート。
【請求項１３】
請求項１２において、前記第一グループの信号線が前記ロック信号が設定された要求パケットに応答して前記第三グループの信号線によって応答パケットが伝達される場合に設定される応答ロック信号を伝達する信号線を有していることを特徴とするアービトレーションポート
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路における機能モジュールを相互接続させるための接続ポートに関するものである。更に詳細には、本発明は、夫々の機能モジュールを集積回路内のパケットルーターへ相互接続させる接続ポートに関するものである。
【０００２】
【従来の技術】
パケットの発送及び受領を伴うトランズアクションを実行するコンピュータシステム及び集積回路プロセッサが存在している。要求パケットは実行すべき動作を定義し且つ応答パケットは、要求を受取ったこと及び要求パケットにおいて定義されている動作を成功裡に実施したか否かを表す。集積回路プロセッサは、要求パケット及び応答パケットを送信し且つ受信するためのパケットルーターへ接続されている複数個の機能モジュールを有することが可能である。各機能モジュールは夫々のポートを介してパケットルーターへ接続されている。単一のチップ上により複雑なより多くの数のモジュールを組込むことの増加する能力は、チップ上のシステムにおける高性能バスを使用して多数の複雑なモジュールと高性能ＣＰＵとを集積化することが可能であることを意味している。一般的に、設計プロセスは、プロセッサのアーキテクチャを設計し、且つ必要とされる機能モジュールを決定するように行われる。次いで、機能モジュールを集積回路のパケットルーターへ接続させるために機能モジュールに対してポートが設計されねばならない。
【０００３】
ポートの複雑性は、ポートによってパケットルーターへ取付けられるべき機能モジュールの複雑性及び機能性に依存する。従って、原理的には、各機能モジュールの機能性にマッチさせるためにポートを設計するか、又は設計されたポートによってパケットルーターへ接続することの可能な機能モジュールを拘束するかのいずれかが必要である。
【０００４】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、好適には共通ポートプリミティブに基づいて向上された機能性を具備する接続ポートを提供することを目的とする。このことは、ポートの設計及び選択を簡単化させ且つパケットルーターを介してのパケットの通信のために共通パケットプロトコルを使用することを可能とする。
【０００５】
【課題を解決するための手段】
本発明の１つの側面によれば、集積回路システムにおける機能モジュールに対するターゲットポートが提供される。該ターゲットポートは、集積回路システムのパケットルーターから受取った複数個の要求パケットを保持する入力バッファ、該要求パケットにおいて定義される動作を実行するために機能モジュールに対して供給するため前記入力バッファ内に保持されている要求パケットを選択する制御回路、各応答パケットが要求パケットの受領に応答して機能モジュールによって発生される複数個の応答パケットを保持する出力バッファを有している。各要求パケットはパケットのソース（発生源）のインジケータ、及び該パケットが関連するトランズアクションを一時的に識別するトランズアクション識別子を有しており、且つ該応答パケットは該応答パケットのディスティネーション（宛先）を識別するディスティネーションインジケータとしてソース識別子を使用し、且つ該一時的なトランズアクション識別子を伝達する。
【０００６】
従って、イニシエータが次のトランズアクションに対する要求を発行する前に最初のトランズアクションが完了することを待機することの必要性なしに、一連のトランズアクションを実行するための要求を発行することが可能である。この順番外でトランズアクションを実行するための能力はシステムの性能を著しく改善することが可能である。
【０００７】
該制御回路は、機能モジュールによって形成された要求パケットが単一要求パケットが関与する簡単トランズアクションか又は複数個の要求パケットが関与する複合トランズアクションの一部を形成するか否かを決定し、且つ、複合トランズアクションの場合には、最後のパケットを除いて複合トランズアクションに関与する全ての要求パケットに対してロック信号を供給させるように構成することが可能である。
【０００８】
該ロック信号は、パケットルーターを介してのパケットのアービトレーション即ち調停を制御するためにシステム制御ユニットによって使用することが可能であり、従って複合トランズアクションに関与する全ての要求パケットは中断されることのない態様で伝達することが可能である。イニシエータポートからパケット情報を伝達する信号線を介してのロック信号の転送は、要求パケットからなる中断されることのないシーケンスが送信されるべくターゲットモジュールに忠告するために該ロック信号をターゲットモジュールへ伝達させることを可能とする。
【０００９】
要求パケットと共に伝達される優先度情報は応答パケット内にコピーすることが可能である。該制御回路は、イニシエータポートからパケットルーターへパケットの転送を要求するためにディスティネーションインジケータを有する転送要求信号を発生すべく動作することが可能である。
【００１０】
本ポートは、第一グループの出力信号線を介して伝達されるべきパケット終了信号を発生するパケットフレーム化回路を有することが可能である。然しながら、このようなパケットフレーム化回路が本ポートが「ダム（ｄｕｍｂ）」ワイヤによってパケット終了情報を伝達するように本ポートが接続されている機能モジュールの一部を形成することが可能である。
【００１１】
記載されたパケットプロトコルによれば、各要求パケットは、トランズアクションによって実行されるべき動作を識別するオプコード（ｏｐｃｏｄｅ）フィールドを有している。
【００１２】
本発明の別の側面は集積回路システムを提供しており、該集積回路システムは、複数個のイニシエータ機能モジュール、複数個のターゲット機能モジュール、該複数個のイニシエータ機能モジュール及びターゲット機能モジュールが夫々のイニシエータポート及びターゲットポートを介して接続されているパケットルーターを有している。各イニシエータモジュールは夫々のトランズアクションに関連する要求からなるシーケンスを発生すべく動作可能であり、その場合に該シーケンスにおける後に要求を発行する前に該シーケンスにおける最初の要求に対する応答を待機することはない。各ターゲットポートは該イニシエータモジュールからのパケットルーターから受取った要求からなるシーケンスを待ち行列化させる入力バッファ、及び取付けられている機能モジュールによる実行のために該入力バッファからの要求を選択する制御回路を有しており、該ターゲット機能モジュールは該ターゲット機能モジュールによって要求が処理される度に応答を発生すべく動作可能である。
【００１３】
本発明の別の側面はパケットルーターへターゲット機能モジュールを接続させるターゲットポートを提供している。該ターゲットポートは、パケットルーターからパケット情報を受取る第一グループの入力信号線、システム制御ユニットへ本ポートからの制御信号を伝達させる第二グループの出力信号線、ターゲット機能モジュールからのパケット情報をパケットルーターへ伝達させる第三グループの出力信号線を有している。該第一グループは該第一グループの信号線によって伝達される要求パケットが複数個の要求パケットが関与する複合トランズアクションの一部を形成することを表すロック信号を伝達する信号線を包含しており、本ターゲットポートは、更に、該ロック信号を受取ることに応答して、該ロック信号が設定された要求パケットに応答して応答パケットが伝達される場合に応答ロック信号を発生する制御回路を有している。
【００１４】
該パケット情報はオプコード（ｏｐｃｏｄｅ）フィールドを有することが可能であり、それは、応答パケットに対して、通常応答とエラー応答との間の区別を行う。通常応答は、要求された動作が実行された場合に伝達される。エラー応答は、要求された動作がターゲット機能モジュールによって実行することが不可能である場合に伝達される。
【００１５】
本発明の更に別の側面はターゲット機能モジュールをパケットルーターへ接続させるターゲットポートを提供している。該ターゲットポートは、パケットルーターからターゲット機能モジュールへパケット情報を伝達させる第一グループの入力信号線、該ポートからシステム制御ユニットへ制御信号を伝達させる第二グループの出力信号線、パケット情報をパケットルーターへ伝達させる第三グループの出力信号線、該第二及び第三グループ内の信号線によって伝達されるべき優先度信号を発生すべく動作可能な制御回路を有している。該優先度信号は該第一グループの信号線を介して受取られる要求パケットに対応する応答パケットに関連しており且つ該要求パケットにおける優先度とマッチングしている。従って、このことは応答パケットが入力する要求パケットと同一の優先度を付けることを可能とする。
【００１６】
本発明の更に別の側面は機能モジュールをパケットルーターへ接続させるアービトレーションポートを提供している。該ポートは、機能モジュールからパケットルーターへパケット情報を伝達させる第一グループの出力信号線、該ポートからシステム制御ユニットへ制御信号を伝達させる第二グループの出力信号線、パケットルーターからパケット情報を受取る第三グループの入力信号線、該第二グループの出力線によって伝達されるべきアービトレーション要求を発生し且つ該第二グループの出力信号線によって伝達されるべきその後の転送要求を発生するアービトレーション要求回路を有している。
【００１７】
該ポートは要求パケットをパケットルーターへ伝達させるイニシエータポートとすることが可能であり、又はパケットルーターから取付けられているターゲット機能モジュールへ要求パケットを伝達させるターゲットポートとすることが可能である。
【００１８】
ポートはそのポートに取付けられている機能モジュールの複雑性に適合するような態様で上に定義したように進化した特徴を結合させることが可能である。従って、ポートはロック信号及び優先度信号を使用する進化したアービトレーションポートとすることが可能である。
【００１９】
【発明の実施の形態】
図１は本発明の１実施例に基づく集積回路を示している。各チップ１１上において、ＣＰＵユニット１２が並列的な形態でビットパケットを運ぶ構成とされているデータ及びアドレス経路１５によって複数個のモジュールＭへ接続されている。これらのモジュール及びＣＰＵユニット１２の各々は経路１５を介してビットパケットを発生し且つそれを受取る場合に使用するパケット取扱い回路２を有している。経路１５は、本明細書においてはパケットルーター又はルーチングバスとして呼称される。
【００２０】
データ及びアドレス経路１５上において２つの主要なタイプのパケットが使用され、各々は経路１５が接続されている所要のディスティネーションモジュールを表すためのディスティネーション（宛先）インジケータ又はアドレスを有している。該パケットはイニシエータモジュールによって発生される要求パケットと、ターゲットモジュールによって発生される応答パケットとを包含している。モジュールはイニシエータ及びターゲットの両方として作用することが可能である。応答パケットは２つのタイプのいずれかであり、即ち通常応答又はエラー応答のいずれかである。これらについては後により詳細に説明する。モジュールＭ及びＣＰＵユニット１２の各々はパケット情報を処理し且つ要求、通常応答、エラー応答を受取るパケット取扱い回路２を有している。
【００２１】
ルーチングバス１５は各モジュールに対して双方向接続を提供している。この実施例においては、該バスはパラレル要求及び応答バス及びモジュールをアービトレーション（調停）ユニット２２へリンクさせるために各モジュールに対して夫々設けられている専用制御バスから構成されている。各モジュールはポート４を介してルーチングバスへ接続されており且つポート４とインターフェース６との間で制御信号及びデータを交換するために状態マシンを組込んだインターフェース６が設けられている。
【００２２】
図１Ａはターゲットモジュール及びイニシエータモジュールの概念を例示するために図１のチップの関連性のある機能的構成要素を例示したブロック図である。モジュールはＭ１，Ｍ２，Ｍ３，Ｍ４としてラベルが付けられており且つ図１を参照して既に説明したモジュールＭのうちのいずれかを包含することが可能である。モジュールＭ１及びＭ２は、両方とも、各モジュールのインターフェース６の別々のターゲット及びイニシエータ部分によって例示されるように、ターゲット機能及びイニシエータ機能を有している。モジュールＭ３はイニシエータとしてのみ動作し且つモジュールＭ４はターゲットとしてのみ動作する。インターフェース６からの信号はアービトレーションユニット２２の一部を形成する中央制御論理へ供給される。アービトレーションユニット２２は要求ルーチング制御及び応答ルーチング制御をルーチングバスネットワーク１５に対して発行する。インターフェース６（イニシエータ及びターゲット）の各部分は夫々のポート４によってパケットルーター１５へ接続されている。
【００２３】
図１に示した実施例においては、種々のモジュール１４は、チップ境界を横断してパケットを送信するための外部リンク３１を有しているデバッグモジュール３０、外部メモリ５０へ通ずる外部バス接続３３を具備している外部メモリインターフェースＥＭＩ３２、クロック回路３４、種々のペリフェラルインターフェース３５、外部接続部３８を具備するペリフェラルコンポーネントインターフェースＰＣＩ３７、メモリアクセスを実行するＤＭＡユニット２５、及びアービトレーションユニット２２を有している。ＣＰＵユニット１２は複数個の命令実行ユニット４０、複数個のレジスタ４１、キャッシュ４２を有している。ＣＰＵユニット１２は、又、実行ユニット４０へ接続しているパケット取扱い回路２を有している。ルーチングバス１５は、本明細書において更に説明するように、メモリアクセストランズアクションを実施するために要求パケット及び応答パケットの両方をモジュールＭへ送信する構成とされている。これらのパケットはＣＰＵによる命令実行の結果としてソフトウエアによって、又はパケットの検知に応答してハードウエアによって発生することが可能である。該パケットはオンチップで発生し且つバス１５上に分布させるか、又はオフチップで発生し且つ例えばデバッグモジュール３０と関連しているリンク３１等の外部接続部を介してオンチップバス１５へ供給させることが可能である。
【００２４】
該ＣＰＵは、プログラムメモリから命令を受取り且つオンチップのキャッシュ４２でデータ読取又は書込動作を実行する従来の態様で動作させることが可能である。更に、読取又は書込動作のための外部メモリアクセスは、外部メモリインターフェース３２及び外部メモリ５０に対するバス接続３３を介して行うことが可能である。
【００２５】
デバッグモジュール３０は例えばデバッグ手順において使用することの可能な重要な外部通信を与える。オンチップＣＰＵ１２はリンク３１を介して通信するデバッグホスト６０等の外部ソース（供給源）から実行のための命令コードを得ることが可能である（メモリアクセスパケットにより）。ルーチングバス１５を介しての通信はビットパラレル形式で行われる。リンク３１を介してビットシリアル形態で出力されるようにルーチングバス１５から得られるパケットの並列性を減少させることが可能である。
【００２６】
各パケットは一連のセル又はトークンから構成され、パケットの終わりはパケット終了（ｅｏｐ）信号によって識別される。これらのセルの構成については後により詳細に説明する。簡単に説明すると、各パケットセルはそのパケットを特性付ける多数のフィールドを有している。各パケットはソース（発生源又は供給源）モジュールによって送信され且つディスティネーション（宛先）モジュールへ指向付けされる。イニシエータは要求パケットを発行し且つ応答パケットに関して動作を行うことが可能である。ターゲットは要求を受取り且つそれに関して動作し且つ応答を発行することが可能である。従って、ソースモジュールはパケットの性質に依存してイニシエータか又はターゲットとなることが可能である。ソースモジュールはその適宜のポート４を使用してルーチングバス１５上へパケットを送信する。ルーチングバス１５はディスティネーションモジュールと関連する適宜のポートへそのパケットの経路付けを行うべく調整を行う。次いで、ディスティネーションモジュールはそれと関連するポートからそのパケットを受取る。ソースモジュール及びディスティネーションモジュールは同一のものとすることが可能である。
【００２７】
トランズアクションは、あるモジュールが別のモジュールの状態へアクセスすることを可能とするパケットの交換である。トランズアクションは、ソースモジュールからディスティネーションモジュールへの要求パケットの転送と、それに続くディスティネーションモジュール（現在は応答モジュールとして動作している）からオリジナルの要求を行ったソースモジュールへの応答パケットの転送とから構成されている。要求パケットはトランズアクションを開始させ且つその内容がなされるべきアクセスを決定する。応答パケットがそのトランズアクションを完了し且つその内容がアクセスの結果を表示する。
【００２８】
応答パケットは、又、その要求が有効なものであったか否かを表示する。その要求が有効なものであった場合には、所謂通常応答パケットが送られる。その要求が無効なものであった場合には、エラー応答パケットが送信される。幾つかのモジュールはイニシエータとしてのみ動作し、従ってそれらのパケット取扱い回路２は要求パケットを発生することが可能であるに過ぎない。幾つかのパケットはターゲットとしてのみ動作し、従って、それらのパケット取扱い回路２は応答パケットを発生することが可能であるに過ぎない。その場合には、通常応答及びエラー応答の両方を発生することが可能である。然しながら、幾つかのモジュールはイニシエータとして又はターゲットとして両方の動作を行うことが可能であり、それらのパケット取扱い回路は要求パケットと応答パケットの両方を発生することが可能である。
【００２９】
これらの両方の機能が可能なモジュールの重要な部分に対する論理図を図２に示してある。パケットハンドラー２は要求発生器論理２００、通常応答発生器論理２０２、エラー応答発生器論理２０４、要求パケット受信器論理２０６、応答パケット受信器論理２０８を有している。これらは、全て、制御論理ブロック２１０の一般的な機能制御下にある。要求パケットはそのモジュールが特定のターゲットモジュールへアクセスを行うことを必要とする場合に要求を発生するモジュールによって構成される。後により詳細に説明するように、ターゲットモジュールのアドレスは要求パケットディスティネーションフィールド内に記録される。要求を発生するモジュールはその要求パケットのソース即ち発生源（供給源）として動作し且つそのパケットをルーチングバス１５へ送り出す。ルーチングバス１５はその要求パケットに対してそのソースからそのディスティネーションへの経路付けを調整する。該ディスティネーションはルーチングバス１５から要求パケットを受取る。要求パケット受信器論理２０６はその要求が２０６ａにおいて有効なものであるか否かをチェックする。それが有効なものである場合には、通常応答発生器論理２０２によって通常応答パケットが発生され、且つ該モジュールが受取った要求パケットにおける情報に従って要求されたアクセスのサービスを行う。その要求が有効なものでない場合には、エラー応答発生器論理２０４がエラー応答パケットを発生する。
【００３０】
応答パケット（通常又はエラー）が要求パケットに応答するために構成される。要求パケットを発生したモジュールが応答パケットのディスティネーションフィールド内に記録される。応答するモジュールは応答パケットのソース即ち発生源（供給源）であり且つそのパケットをルーチングバス１５上へ送り出す。応答受信器論理２０８は、ルーチングバス１５から応答パケットを受取り且つ２０８ａにおいてその応答をチェックする。その応答がオリジナルの要求にマッチさせることが可能である場合には、そのトランズアクションは完了する。
【００３１】
図２は、更に、機能モジュールのターゲット取扱い回路と関連しているターゲット及びイニシエータポート４T，４Iの論理的構成を示している。各ポートは、パケットフレーム化論理２１２、サービスブロック２１４、制御ブロック２１６を有している。これらのブロックの機能については後により詳細に説明する。簡単に説明すると、パケットフレーム化論理は該モジュールのパケット取扱い回路からパケットデータを受取り且つそれをパケットルーター１５へ発生する準備のためにフレーム化する。サービスブロック２１４は例えばクロック信号の調整等該ポートに対するサービス条件を処理する。このことは図１において符号２１で示したシステム制御ユニットの全体的な制御下にある。制御ブロック２１６はパケットルーター１５への及びそれからのパケットの流れを制御するためにアービトレーションユニット２２からの要求及び許可を処理する。
【００３２】
図２Ａを参照して説明すると、本ポートの制御ブロック２１６は、順番外のトランズアクションの動作を実行することを可能とする。ターゲットポートの制御ブロック２１６は、要求パケットキュー（待ち行列）バッファ１０２を有しており、それはバス１５上の複数個の入力してくる要求を待ち行列化することを可能とする。このような要求の３個をＲＥＱ１，ＲＥＱ２，ＲＥＱ３とラベル付けして図２Ａに示してある。各要求の下側の括弧内にはその要求が送られて来たイニシエータモジュールの表示を示してある。即ち、要求１及び３はイニシエータモジュール１から送られたものであり且つ要求２はイニシエータモジュール２から送られたものである。本実施例の場合には、イニシエータモジュール１は図１ＡにおけるモジュールＭ１であり且つイニシエータモジュール２は図１ＡにおけるモジュールＭ２である。要求パケットキューバッファ１０２はソースフィールド９９とトランズアクションフィールド９８とを包含する要求パケットの全てのフィールドを保持する。この場合には、ｓｒｃ１はイニシエータモジュール１を示しており且つｓｃｒ２はイニシエータモジュール２を示している。トランズアクションフィールドはトランズアクションの数を表すトランズアクション識別子を保持している。この場合には、要求１及び２が夫々モジュールＭ１，Ｍ２からの第一トランズアクションであり且つ要求３はイニシエータモジュール１からの第二トランズアクションであると仮定する。
【００３３】
本ポートは、要求パケットバッファ１０２へ接続しており且つ待ち行列化された要求のうちのどれが次に機能モジュールへ供給されるべきかを決定する決定論理１０４を有している。この決定はユーザが定義した条件に従って行うことが可能である。特定の入力してくる要求が決定論理１０４によって選択されると、その要求のフィールドが機能モジュールへ供給される。ディスティネーションフィールド７３、アドレスフィールド６３、オプコードフィールド７４、マスクフィールド及びデータフィールド７１がそのパケットにおいて定義されている動作を実行するために要求受信器論理２０６へ供給される。ソースフィールド９９及びトランズアクションフィールド９８がエラー応答又は通常応答を発生するために応答発生器論理２０１へ供給される。
【００３４】
本ターゲットポートは、更に、応答出力バッファ１０４を有している。そのバッファは、それらが応答発生器によって発生された順番で出力応答を待ち行列化させることを可能とする。この実施例においては、要求２が要求１の前に処理されるものと仮定する。これらの応答はｒｅｐ１，ｒｅｐ２，ｒｅｐ３として図２Ａにラベル付けされているが、応答１は要求１に応答するものではなく、要求２に応答するものであることに注意すべきである。このことはパケットのソースフィールド及びトランズアクションフィールドによって容易に理解することが可能である。従って、要求は順番外に処理することが可能であり、且つ応答は要求が処理されると発生される。従って、応答も順番外に発生することが可能である。各要求はそのトランズアクション番号及びソースフィールドによって一時的に識別される。同様に、各応答はソースフィールドをそのディスティネーションインジケータとして使用し且つそのトランズアクション番号によって一時的に識別される。
【００３５】
イニシエータモジュール側においては、モジュールＭ１が図２Ａにおける例示的な例として使用されている。本ポートはそれらがポートによって受取られる順番に応答を保持する応答入力キュー（待ち行列）１０６を有している。本ポートは、更に、本ポートから発送された要求と関連しているトランズアクション識別子のリスト１０８を有している。マッチング論理１１０は入力バッファ１０６内に待ち行列化された入力してくる応答のトランズアクション識別子をリスト１０８内のトランズアクション識別子と比較する。マッチ即ち一致が存在する場合には、そのトランズアクションは完了したものと考えられ且つイニシエータモジュールに対して信号が送られる。
【００３６】
マイクロコンピュータにおけるルーチングバス１５上で使用されるマルチビットパケットのフォーマットを図３及び４に例示してある。図３は各要求セルによって運ばれる情報を示している。
【００３７】
各パケットはパケット終了（ｅｏｐ）信号（パケットフレーム化論理２１２によって発生される）を使用してフレーム化された一連のセルから構成されている。各要求セルはパケットのディスティネーションアドレスを表す３２ビットアドレスフィールドを有している。図示例においてはアドレスは８ビットディスティネーションフィールド７３と、それに続くディスティネーション内のメモリ位置を表す２４ビットオフセットフィールド６３とを有している。該オフセット情報はその要求がターゲット即ち目的とする特定のメモリ位置を識別するために要求パケット内に存在している。ディスティネーションフィールド７３は、ディスティネーション即ちターゲットモジュールに対してパケットの経路付けを行うために使用される１バイトフィールドである。以下の説明においては、ＤＥＳＴ即ちａｄｄ＜３１：２４＞はフィールド７３をラベル付けしており且つａ ａｄｄがフィールド６３にラベル付けしている。ａｄｄ信号は全体的なアドレスフィールド１００を示している。バイト７４は要求されたアクセスの性質を識別するオプコード（ｏｐｃｏｄｅ）即ち操作符号を伝達する。例えば、該オプコードはレジスタ値を読取るためのロードワード（ｌｏａｄ  ｗｏｒｄ）アクセス及びレジスタ値を書込むためのストアワード（ｓｔｏｒｅ  ｗｏｒｄ）アクセスを定義することが可能である。ＳＲＣバイト９９は、ソースモジュールを識別し且つ応答パケットに対する復帰アドレスとして使用されるソースフィールドである。トランズアクションフィールドバイト９８は応答を要求と関連付けさせるために要求するものによって使用される一時的なトランズアクション番号ｔｉｄを伝達する。このトランズアクション番号は、各要求パケットに対して応答パケットが受取られる前に複数個の要求パケットが送られた場合に夫々の要求パケットに対応する応答パケットをモジュールが識別することを可能とさせる。後により詳細に説明するように、トランズアクションフィールド９８は優先度ｐｒｉ及びロックｌｃｋを含むシステムに対してそのトランズアクションを記述するトランズアクション属性を保持している。６４ビットデータフィールド７１は要求と共に伝達されるべきデータを保持する。
【００３８】
図４は応答パケットセルの構成を示している。応答パケットが単一のセルを超える情報を包含している場合には、応答パケット終了（ｒ ｅｏｐ）信号を使用してフレーム化した複数個のセルからなるシーケンスから構成される。該応答パケットは、要求されたトランズアクションの性質を示すオプコードバイト８５、応答を発生し且つその応答パケットに対する復帰アドレスとして作用する要求を発生するパケットのソースモジュールを識別するバイト８４、トランズアクションフィールドバイト９８、データフィールド６９を有している。応答パケットのトランズアクションフィールドバイトは対応する要求パケットのトランズアクションフィールドバイト９８のコピーを保持している。
【００３９】
図３及び４に例示したパケットプロトコルは多数の異なるタイプの機能モジュールの動作をサポートする。機能モジュールはそれらが実行することが必要とされる機能に従って異なるレベルの複雑性を有する場合がある。同様に、これらのモジュールと関連するポート４もそのポートが接続されている機能モードの機能性に依存して異なるレベルの複雑性のものである場合がある。本明細書に記載した本発明の実施例においては、ＴｙｐｅＩ，ＴｙｐｅＩＩ，ＴｙｐｅＩＩＩ，ＴｙｐｅＩＶとしてラベル付けした４つのタイプのポートが存在している。図１の概略図においては、各モジュールと関連するポート４のタイプは取付けられているモジュールの性質に依存する。
【００４０】
ポートのタイプは最も簡単なポートＴｙｐｅＩから最も進化したポートＴｙｐｅＩＶへそれらがサポートする信号において異なる。
【００４１】
図５は最も進化したポートＴｙｐｅＩＶによってサポートされているフルセットの信号を例示している。図５において、各線は信号の名前が付けられている。これらの信号の名前は、以下の説明においては、図５の図面を簡潔なものとするために参照番号なしで、適宜の配線によって運ばれる信号を示すために使用されている。同一の信号の名前がそれに続く図面において使用されている。これらの信号の幾つかは本ポートにおける論理によって発生され、一方その他の信号は各モジュールのパケット取扱い回路によって形成されるパケット内のフィールドから発生される。
【００４２】
イニシエータモジュールにおいては、要求発生器論理が前述した如く要求パケットを形成し、それは以下の信号を発生させる。
【００４３】
アドレス    ａｄｄ
オプコード（操作符号）    ｏｐｃ
マスク    ｅｎ（バイトイネーブルに対する省略形）
データ
トランズアクション識別子    ｔｉｄ
ソース識別子    ｓｒｃ
ロック    ｌｃｋ
優先度    ｂｒｉ
イニシエータポートはパケットフレーム化（ｅｏｐ）信号及びアービトレーション要求信号ａ ａｄｄ及びａ ｒｅｑを発生する。
【００４４】
更に、イニシエータモジュールは以下の信号を受取る。応答パケット終了信号ｒ ｅｏｐは、アービトレーション許可信号ｇｎｔ，ａ ｇｎｔの場合のようにポート４によって取扱われる。イニシエータモジュールの応答受信器論理２０８は以下の応答パケット信号ｒ ｏｐｃ，ｒ ｄａｔａ，ｒ ｓｒｃ，ｒ ｔｉｄを受取る。
【００４５】
ターゲットモジュールにおいて、応答発生器論理は応答パケットを形成し、それは以下の信号を発生させる。
【００４６】
ｒ ｏｐｃ，  ｒ ｄａｔａ，  ｒ ｓｒｃ，  ｒ ｔｉｄ
応答パケットにおけるトランズアクション識別子は応答ロックｒ ｌｃｋ及び応答優先度ｒ ｐｒｉ信号を発生させる。ターゲットポートは応答アービトレーション要求信号ａｒ ｒｅｑ，ａｒ ｓｒｃを発行し且つ応答アービトレーション許可信号ａｒ ｇｎｔを取扱う。更に、それは許可信号ｇｎｔ及び応答要求信号ｒ ｒｅｑを発行する。
【００４７】
これらの信号の機能及びどのようにしてそれらがパケットフィールドから派生されるかについて以下に説明する。
【００４８】
要求  （ｒｅｑ）  データを送る準備完了
これはイニシエータモジュールＩＭによって駆動され且つインターフェースを介して要求又は要求の要素を転送する準備が完了していることを表すために使用される。この信号がアサート即ち活性化されると、要求の内容及びフレーム化信号が有効である。ｒｅｑ信号がパケットルーター１５を介してターゲットモジュールに対し且つ制御バスを介してアービトレーションユニット２２に対して経路付けされる。
【００４９】
イニシエータは、それらが要求をアサート即ち活性化させることによって送るべきデータを有していることを表し且つこの又はその後のサイクルにおいてその転送を完了するための許可を予測する。
【００５０】
許可  （ｇｎｔ）  データ受付準備完了
これはターゲットモジュールＴＭによって駆動され且つデータを受付ける準備が完了していることを表すためにターゲットによって使用される。インターフェースを介してのデータ又はセルの転送は、イニシエータが送るべき準備が完了しており且つターゲットが受付けるべき準備を完了している場合、即ち要求及び許可の両方が上昇クロックエッジでアサート即ち活性化される場合に発生する。
【００５１】
ターゲットは、それらが許可をアサートすることによってデータを受付けることが可能であることを表し且つその転送を完了するためにこの又はその後のサイクルにおいて要求を予測する。ｇｎｔ信号はソースモジュール及びアービトレーションユニットへ伝達される。
【００５２】
パケット終了  （ｅｏｐ）  パケットの最後のセル
これはイニシエータポートによって駆動され且つこれが要求パケットの最後のセルであることをあらわす。
【００５３】
ロック  （ｌｃｋ）  トランズアクションロック
これは、システムに対して、このトランズアクションが１つを超える要求／応答対から構成されていることを表す。それは２つ又はそれ以上の要求パケットをリンクさせてリンクされた複合動作を構成する一般的なメカニズムとして作用する。システムの実現例に依存して、ロック信号はオプコードから派生させることが可能である。ロック信号はアービトレーションユニット２２に対してイニシエータポートによって供給される。
【００５４】
アドレス  （ａｄｄ）  トランズアクションターゲットアドレス
これはターゲットモジュールのアドレスであり且つ動作が発生するターゲットモジュール内の位置を表す。上８ビットｄｅｓｔはａ ｒｅｑ信号と共にアービトレーションユニット２２へ供給される。その全部のアドレスは転送要求ｒｅｑ信号と共に供給される。
【００５５】
オプコード  （ｏｐｃ）  トランズアクションと関連した動作
これはトランズアクション動作を定義する。それは、通常、相互接続又はトランスポート媒体によって解釈されるものではない。オプコード（ｏｐｃｏｄｅ）即ち操作符号情報は、そのトランズアクションと関連する全ての要求セルにわたって一定のままである。
【００５６】
複合動作はロックメカニズムを介してリンクされた複数個の要求／応答パケットから構築することが可能である。
【００５７】
マスク  （ｅｎ）  ターゲットが動作を完了すべきセル内のバイトを定義
ｍａｓｋ＜０＞はｄａｔａ＜７：０＞と関連しており、以後最大桁バイトまで同様である。
【００５８】
データ  セルと共に運ばれるデータを定義
データフィールドは１組のバイト量から構成されており、各バイトは特定のマスクビットと一時的に関連している。各バイトはビットリトルインディアン量として構成される。データフィールドは複数個のバイトを包含することが可能であり、これらはバイト有意性態様で構成される。
【００５９】
自然バス幅より大きなデータ量は、常に、インクリメントするアドレスを使用して送られ、そのアドレスはそのデータ量と関連する２n境界においてラッピング即ち折り返される。
【００６０】
ソース  （ｓｒｃ）  ソース識別子
これはシステムへのトランズアクションのソース即ち発生源又は供給源を識別する。
【００６１】
それは、システム（及びターゲットモジュール）が一連のトランズアクションをデータの特定のソースと関連付けることを可能とする。
【００６２】
識別子  （ｔｉｄ）  トランズアクション識別子を定義
この信号は、各トランズアクションを一時的にラベル付けすることを可能とする。要求のトランズアクション識別子は関連する応答において使用される。
【００６３】
優先度  （ｐｒｉ）  トランズアクション優先度を定義
このビットはシステム相互接続が優先的なアービトレーション及び／又は追い越しを実行することを可能とする緊急度レベルでトランズアクションにラベル付けを行う。それはシステム性能向上を実現するために使用される。それは要求パケット及びそれと関連する応答パケットの両方において実現される。
【００６４】
応答要求  （ｒ ｒｅｑ）  応答セルが使用可能であることを表示
イニシエータは、応答パケットを受付ける準備がなされている場合にのみ転送を開始すべきである。
【００６５】
応答許可  （ｒ ｇｎｔ）  応答セルを受付けることが可能であることの表示
応答ロック  （ｒ ｌｃｋ）  トランズアクションロック
これはシステムに対して、このトランズアクションが１つを超える要求／応答対から構成されていることを表す。それは２つ又はそれ以上の応答パケットをリンクして複合動作を構成する一般的なメカニズムとして作用する。
【００６６】
応答オプコード  （ｒ ｏｐｃ）  応答がイニシエータへ提供されることに関する情報
即ち、動作が成功したか（通常応答）又はエラーが発生したか（エラー応答）であるかを表す。
【００６７】
応答データ（ｒ ｄａｔａ）  応答セルと共に運ばれるデータを定義
応答パケットはそのトランズアクションによって必要とされるワード数を転送するための応答パケットを構築するために必要とされるのと同数の応答セルを包含する。
【００６８】
応答ソース  （ｒ ｓｒｃ）  応答パケットにおけるディスティネーションインジケータに対して使用されるソース識別フィールドのコピー
応答識別子  （ｒ  ｔｉｄ）  トランズアクションフィールドのコピー
これらのフィールドは応答セルパケットがシステム内において識別されることを可能とし、システム内のトランズアクションの性能最適化及び観察可能性を可能とさせる。これらのフィールドのコード化は関連する要求フィールドのものに対応している。図示例においては、それはｒ ｐｒｉ及びｒ ｌｃｋを発生させることを可能とする。
【００６９】
応答優先度  （ｒ ｐｒｉ）  トランズアクション優先度を定義
このフィールドはシステム相互接続が優先的アービトレーションを実行するために使用することが可能な緊急度レベルで応答情報にラベル付けする。これは要求パケットの優先度ビットのコピーである。
【００７０】
次の要求  （ａ ｒｅｑ）  モジュールは次の又はその後の要求パケットを開始させる準備完了
次の許可  （ａ ｇｎｔ）  システムは現在のパケットの完了後に次の又はその後の要求パケットを受付ける準備完了
次のアドレス  （ａ ａｄｄ）  次の又はその後の要求に対するターゲットモジュールのアドレスであって、図４のｄｅｓｔバイト７３
次の応答要求  （ａｒ ｒｅｑ）  モジュールは次の又はその後の応答パケットを開始する準備完了
次の応答許可  （ａｒ ｇｎｔ）  システムは現在のものを完了後に次の又はその後を応答を受付けることが可能
次の応答ソース  （ａｒ ｓｒｃ）  次の又はその後の応答パケットのディスティネーションであって、図５のＳＲＣバイト９９
後の６個の信号（ａ ｒｅｑ，ａ ｇｎｔ，ａ ａｄｄ，ａｒ ｒｅｑ，ａｒ ｇｎｔ，ａｒ ｓｒｃ）はモジュールからアービトレーションユニット２２への経路を形成するために使用され、それは現在の転送を実行中に後の転送に関する情報を取扱うことを可能とする。
【００７１】
上の説明から理解されるように、イニシエータ及びターゲットモジュールＩＭ，ＴＭによってルーチングバス１５にわたって発生される信号のうちの幾つかはアービトレーションユニット２２へ供給されてバス１５上のパケットの流れの制御を行う。その他の信号はイニシエータモジュールから直接的にディスティネーションターゲットモジュールへ供給される。それらはルーチング（経路付け）制御自身において何等の機能を有するものではない。
【００７２】
図６乃至９は異なるタイプのポートを示している。図６はＴｙｐｅＩポートを示しており、それは低又は中間の性能の機能モジュールに対する簡単な構成の低コストポートを表している。
【００７３】
図７はＴｙｐｅＩＩポートを示しており、それは図７に示した信号及び上の説明によって示されるような分割トランズアクション及び付加的な機能性に対するサポートを提供している。特に、このＴｙｐｅＩＩイニシエータポートはロック信号の実行によるグループ化した要求パケット及び優先度信号ｐｒｉの実行による優先度アービトレーションメカニズムをサポートしている。
【００７４】
図８はＴｙｐｅＩＩＩポートを示しており、それはＴｙｐｅＩＩポートに対するイニシエータインターフェースにおけるものと同様の機能性を提供しているが、ターゲット側において増加した機能性を有している。これは、特に、ｒ ｐｒｉ信号、応答トランズアクション情報、応答ロック信号ｒ ｌｃｋに基づく応答優先度アービトレーションを有する能力によって表される。
【００７５】
図９はＴｙｐｅＩＶポートを示しており、それはＴｙｐｅＩＩＩポートと同様の機能性を有しているが、更に、イニシエータ側とターゲット側の両方においてパイプライン型アービトレーションをサポートすることが可能である。ここに記載したパケットプロトコルは、これらの異なるタイプのポートの全てを共通のパケットルーター１５へ接続させることを可能としている。このことは、より簡単なポートにおいて使用される基本的な組の信号に対して信号を付加することによりより進化したポートの各々を設計することによって達成することが可能である。
【００７６】
ＴｙｐｅＩＩＩポートの向上した機能をより良く理解するために、完全なトランズアクションを図１０を参照して説明する。図１０において、ＩＭはイニシエータモジュールを示しており、ＴＭはターゲットモジュールを示しており、ＴＲはパケットルーター即ちルーチングバス１５を示している。
【００７７】
トランズアクションは、イニシエータモジュールにおいて要求パケットを形成することによって開始される。その要求パケットはイニシエータモジュールＩＭと関連しているイニシエータポートによってパケットルーター１５上に配置され且つパケットルーター１５によって要求パケットのディスティネーションフィールド内に定義されているターゲットモジュールへ伝達される。要求パケットにおいて要求されるメモリアクセス動作が実行され且つ応答パケットがターゲットモジュールによって形成され、ターゲットモジュールと関連するポートを介してパケットルーター上に配置され且つイニシエータモジュールへ帰還される。その場合にのみトランズアクションは完了したものと考えられる。
【００７８】
図１０は単一の要求及び応答から構成される所謂プリミティブ（基本命令）トランズアクションを示している。各要求パケットはイニシエータモジュールによって発生される番号によってそのトランズアクションを識別する一時的なトランズアクションインジケータを担持している。これは、ここにおいては、トランズアクション番号と呼称する。応答パケットがターゲットモジュールＴＭにおいて形成されると、それは要求パケットによって伝達されたものと同一のトランズアクション番号を包含している。従って、応答パケットがイニシエータモジュールにおいて受取られると、応答によって伝達されたトランズアクション番号を最初の要求のトランズアクション番号とマッチングさせてそのトランズアクションが完了したことを確認することが可能である。特定のイニシエータモジュールによって発生された各要求パケットは一時的なトランズアクション番号を有している。
【００７９】
ここに記載したシステムは所謂複合トランズアクションをサポートしている。複合トランズアクションでは複数個の要求／応答パケットが関与する。このことは図１１に模式的に示してある。図１１の実施例の説明のために、この特定の複合トランズアクションでは、イニシエータモジュールによる３個の要求パケットＲＥＱ１，ＲＥＱ２，ＲＥＱ３の発行が関与するものと仮定する。これらの要求パケットはパケットルーター１５を介してターゲットモジュールへ送信される。アービトレーションモジュール２２はロック信号を使用してパケットルーターを介してのパケットの流れを制御し、３個の要求パケットの全てが中断なしでイニシエータモジュールからターゲットモジュールへ伝達されることを確保する。各要求パケットがターゲットモジュールに到達すると、夫々の応答パケットＲＥＰ１、ＲＥＰ２、ＲＥＰ３が発生され且つパケットルーター１５によってイニシエータモジュールへ伝達される。要求パケットＲＥＱ１、ＲＥＱ２，ＲＥＱ３の各々は同一のトランズアクション番号を有しており、それは応答パケットによって帰還される。トランズアクションが複合トランズアクションであるという事実はロック信号によって伝達される。ロック信号がアサート即ち活性化されない場合には、そのトランズアクションは次のトランズアクション（メッセージの終わり）と何等関係を有するものではない。ロック信号がアサート即ち活性化されると、このことは、次のトランズアクションがこのトランズアクション（メッセージの一部）と関連していることを表す。
【００８０】
ＴｙｐｅＩＶポートによってサポートされる付加的なアービトレーション信号の機能を説明するために、図１２及び１３を参照してアービトレーションメカニズムについて説明する。図６はアービトレーションユニット２２の概略ブロック図である。それは決定論理１３、複数個の決定位置１５ａを具備している決定キュー１５、転送論理１９、アービトレーションユニットの機能を制御する制御ブロック２１を有している。アービトレーションユニット２２へ入り且つそれから出る信号も概略的に図１２に示してあり、それらが参照するブロックを表している。決定論理は任意の適宜のアービトレーションアルゴリズムに従ってアービトレーション即ち調停の決定を行う。アービトレーション決定はアービトレーション要求を行った機能モジュールにおいて発生されたパケットのディスティネーションバイト７３（ａ ａｄｄ）と共にアービトレーション要求ａ ｒｅｑを受取ることに応答して行われる。アービトレーション決定がなされると、それは決定位置１５ａ内のキュー１５上に配置され且つハンドシェーク制御信号ａ ｇｎｔが発生され、その後のアービトレーション要求を受取ることが可能であることを表す。キュー１５内に保持される各アービトレーション決定は、要求を発行したモジュール（ｓｒｃ）９９、パケットディスティネーション（ディスティネーションバイト７３ａ ａｄｄ）、パケット終了（ｅｏｐ）信号を識別する。転送論理１９はバス１５上にパケットを配置させることによってイニシエータポートの要求信号ｒｅｑ及びターゲットポートの許可信号ｇｎｔのアサート即ち活性化に応答して転送を実行する。
【００８１】
転送論理１９が転送を実行している間に、後のパケットに対する決定論理１３によってアービトレーション決定を行うことが可能である。プロトコルが現在の要求の後固定した数のサイクルの後に繰り延べアービトレーション決定を行うことが可能であることを決定することが可能である。アービトレーションユニット２２におけるキュー１５の容量は、転送を待機する所要数の決定を保持するためにこの遅延即ち待ち時間と一致している。
【００８２】
図１３（ａ）はルーチングバス１５を介してのディスティネーションからソースモジュールへのパケットの効果的な転送を示している。要求信号ｒｅｑが、機能モジュールが転送を要求したことを表し、且つ許可信号ｇｎｔが、ディスティネーションモジュールがその転送を受取ることが可能であることを表す。アドレス信号６３（ａｄｄ）はそのパケットがアドレスされるターゲットモジュール内の位置を表す。即ち、それは、ターゲットモジュール内のディスティネーション位置を識別する図４に示したアドレスの一部である。
【００８３】
ｄｅｓｔバイト７３によって表されるターゲットモジュール自身のディスティネーションは図１３（ｂ）におけるａ ａｄｄ信号を形成する。図１３（ｂ）は、又、アービトレーションに対する要求がイニシエータポートによってなされたことを表すアービトレーション要求信号ａ ｒｅｑを示している。アービトレーション許可信号ａ ｇｎｔは、各アービトレーション決定がなされた場合にアービトレーションユニット２２によってアサート即ち活性化される。
【００８４】
時間ｔ０において、アービトレーション要求ａ ｒｅｑがイニシエータポートによってなされ且つそのアドレスのディスティネーションバイト７３ａ ａｄｄがアービトレーション要求と共に供給される。アービトレーション決定が時間ｔ１においてなされると、アービトレーション許可信号ａ ｇｎｔがアサート即ち活性化され、そのことはそのアービトレーション要求を発行したポートに対するハンドシェーク制御として作用し、アービトレーション決定が行われ且つそのパケットが転送のための準備が完了していることを表す。ｔ０とｔ１との間の時間は決定サイクル時間である。
【００８５】
その決定がなされると、それは転送としての実行がなされるべき準備が完了したキュー１５内に待ち行列化される。その転送を実行するために、該ポートが要求信号ｒｅｑへ上昇させ且つディスティネーションバイト７３（ａｄｄ）を供給する。ターゲットポートの許可信号ｇｎｔが時間ｔ３においてアサート即ち活性化されると、その転送を実行することが可能である。その転送期間中に、決定論理１３はアイドルとなることはない。
【００８６】
アービトレーション要求ａ ｒｅｑをアサートしている間に、第二パケットＲＥＱ２に対するその後のディスティネーションアドレスが時間ｔ４において機能モジュールによって供給されている。そのアービトレーション決定は１つの決定サイクルの後になされており且つアービトレーション許可信号は時間ｔ５においてアサートされている。そのアービトレーション決定は、転送論理１９が第一要求ＲＥＱ１の転送を実行中に該キュー内に配置される。その後の要求ＲＥＱ３も第一要求ＲＥＱ１の転送期間中におけるアービトレーション決定の対象である。
その決定もキュー１５上に配置される。
【００８７】
第三要求に対するアービトレーション決定が実行される時間までに、転送メカニズムはその後のパケットを転送する準備が完了する。従って、時間ｔ６において、キュー内には２つの決定ＲＥＱ２，ＲＥＱ３が存在している。ＲＥＱ１は転送されており且つＲＥＱ２は該キューからの転送を待機している。要求信号ＲＥＱが時間ｔ６においてイニシエータポートによって次にアサート即ち活性化され且つターゲットモジュールからのその後の許可信号がアサート即ち活性化されると、第二要求ＲＥＱ２の転送を行うことが可能である。このことは第四要求ＲＥＱ４に対するその後のアービトレーション決定を行うことと一致させることが可能である。従って、アービトレーション決定の待ち時間は転送時間とのオーバーラップによって隠すことが可能である。
【００８８】
要求パケットを送信する要求を行うイニシエータモジュールであるかのようにモジュールＭ１に対してのシーケンスについて説明したが、ターゲットモジュールからの応答パケットの送信に対して同様のイベントからなるシーケンスを実施することが可能である。このことは応答パケットのディスティネーション（イニシエータモジュールである）を表すａｒｃバイトの送信と共に、応答信号ｒ ｒｅｑのアサート即ち活性化が関与する。応答許可信号ｒ ｇｎｔは、それが応答を受取る準備がなされている場合に、イニシエータモジュールによってアサート即ち活性化される。
【００８９】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図１】  外部メモリを具備する集積回路として実現したプロセッサの概略ブロック図。
【図１Ａ】  イニシエータモジュール及びターゲットモジュールを示した概略ブロック図。
【図２】  パケット取扱い論理を示した概略図。
【図２Ａ】  順番外動作を示した概略図。
【図３】  パケットルーターによって伝達される要求パケットのパケットフォーマットを示した概略図。
【図４】  パケットルーターによって伝達される応答パケットのパケットフォーマットを示した概略図。
【図５】  ルーチング制御信号を示した概略ブロック図。
【図６】  タイプＩのポートを示した概略図。
【図７】  タイプＩＩのポートを示した概略図。
【図８】  タイプＩＩＩのポートを示した概略図。
【図９】  タイプＩＶのポートを示した概略図。
【図１０】  プリミティブ（原始的）メモリアクセス動作を示した概略図。
【図１１】  複合メモリアクセス動作を示した概略図。
【図１２】  アービトレーションユニットを示した概略ブロック図。
【図１３】  （ａ）及び（ｂ）はアービトレーションユニットに対する各タイミング線図。
【符号の説明】
４  ポート
６  インターフェース
１１  チップ
１２  ＣＰＵユニット
１４  モジュール
１５  ルーチングバス（パケットルーター）
２２  アービトレーションユニット
２５  ＤＭＡユニット
３０  デバッグモジュール
３１  外部リンク
３２  外部メモリインターフェースＥＭＩ
３３  外部バス接続
３４  クロック回路
３５  プリフェラルインターフェース
３７  ＰＣＩ
３８  外部接続
４０  実行ユニット
４１  レジスタ
４２  キャッシュ
５０  外部メモリ
【図１】
0004669113.tif 000002
【図１Ａ】
0004669113.tif 000003
【図２】
0004669113.tif 000004
【図２Ａ】
0004669113.tif 000005
【図３】
0004669113.tif 000006
【図４】
0004669113.tif 000007
【図５】
0004669113.tif 000008
【図６】
0004669113.tif 000009
【図７】
0004669113.tif 000010
【図８】
0004669113.tif 000011
【図９】
0004669113.tif 000012
【図１０】
0004669113.tif 000013
【図１１】
0004669113.tif 000014
【図１２】
0004669113.tif 000015
【図１３】
0004669113.tif 000016