(57)【特許請求の範囲】
【請求項１】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの１つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、
前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの１つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、
前記複数のビット線のうちの少なくとも１つの電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶回路と、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記第１の値を有する前記ルーティング値に応答する、伝送回路と、
前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信された伝送要求に依存して、前記アービトレーション動作モードで動作する、アービトレーション回路であって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正するように配設され、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路は、前記第１の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも１つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように構成される、優先順位記憶回路と、
を備える、クロスバーセルと、
を備える、クロスバー回路。
【請求項２】
前記適応型優先順位スキームは、承諾後最長時間経過（ＬＲＧ）優先順位スキームである、請求項１に記載のクロスバー回路。
【請求項３】
各データ出力経路は、ｎ本のビット線を提供し、
各構成記憶回路は、それを介して前記ルーティング値が前記構成記憶回路にプログラムされる、前記ｎ本のビット線のうちの１本と関連し、よって、前記同じデータ出力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、前記ｎ本のビット線のうちの異なる関連するビット線を有し、
各クロスバーセル内で、前記アービトレーション回路および前記優先順位記憶回路は、そのクロスバーセルの前記構成記憶回路と関連する前記１本のビット線を除くｎ−１本のビット線と関連し、前記適応型優先順位スキームを適用するために、前記優先順位記憶回路は、それらのｎ−１本のビット線のうちのどれが、前記アービトレーション回路によってそれらの電圧を修正されるべきかを識別する、請求項１に記載のクロスバー回路。
【請求項４】
前記アービトレーション動作モードで、前記適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路が、前記ｎ本のビット線上の前記電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、前記ルーティング値をプログラムするために、その関連するビット線上の前記電圧をサンプリングするように構成される、請求項３に記載のクロスバー回路。
【請求項５】
各クロスバーセルは、
そのクロスバーセルの前記構成記憶回路と関連する前記１本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、前記解放回路は、前記ルーティング値として前記第２の値をそのクロスバーセルの前記構成記憶回路に記憶させるレベルに、その１本のビット線上の前記電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、前記クロスバーセルに、前記関連するデータ出力経路を解放させる、解放回路をさらに備える、請求項３に記載のクロスバー回路。
【請求項６】
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの中の前記優先順位記憶回路は、前記複数のビット線のうちの少なくとも１つの前記電圧に依存して、それに記憶された前記優先順位データを自己更新するように、前記アサートされた解放要求に応答する、請求項５に記載のクロスバー回路。
【請求項７】
各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、前記複数のビット線のうちの１つと関連し、各優先順位記憶回路内で、前記複数の優先順位記憶素子の電流値は、前記関連するデータ出力経路について、その優先順位記憶回路を含有する前記クロスバーセルに連結された前記ソース回路の相対的優先順位レベルを示し、
前記適応型優先順位スキームは、承諾後最長時間経過（ＬＲＧ）優先順位スキームであり、
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの前記優先順位記憶回路内で、その電圧が前記解放回路によって修正された前記ビット線と関連するそれらの優先順位記憶素子は、第１の値に設定され、それによって、前記データ出力経路を解放する前記ソース回路を除く各ソース回路の前記相対的優先順位レベルは、増加させられるか、または維持され、
前記アサートされた解放要求を受信した前記解放回路を含有する前記クロスバーセルについて、前記優先順位記憶回路は、第２の値にクリアされたその優先順位記憶素子を有し、それによって、前記データ出力経路を解放する前記ソース回路には、前記他のソース回路よりも低い相対的優先順位が割り当てられる、請求項６に記載のクロスバー回路。
【請求項８】
初期化の時点で、各クロスバーセルの前記優先順位記憶回路は、前記複数のデータ出力経路のそれぞれに関して、前記複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される、請求項１に記載のクロスバー回路。
【請求項９】
前記ビット線のそれぞれは、第１の電圧レベルにプリチャージされ、
前記アサートされた解放要求を受信すると、前記解放回路は、そのクロスバーセルの前記構成記憶回路と関連する前記１本のビット線上の前記電圧をディスチャージし、
各構成記憶回路は、前記関連する解放回路に対するアサートされた解放要求が存在する場合、前記ルーティング値を前記第２の値に更新するために、その関連するビット線の前記電圧を感知し、続いて、前記解放回路によって前記ディスチャージ動作を実行し、それによって、前記関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える、請求項５に記載のクロスバー回路。
【請求項１０】
各データ入力経路は、ｎ本のワード線を提供し、
前記同じデータ入力経路と関連する最高ｎ個のクロスバーセルの前記解放要求は、その同じデータ入力経路の前記ｎ本のワード線を介して、前記クロスバー回路に入力され、
各解放回路は、前記ｎ本のワード線のうちの１本と関連し、よって、前記同じデータ入力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの前記解放回路は、それを介して前記解放要求を受信する前記ｎ本のワード線のうちの異なる関連するワード線を有する、請求項５に記載のクロスバー回路。
【請求項１１】
前記解放要求は、前記アービトレーション動作モードで発行され、制御信号は、前記関連するデータ入力経路の前記ｎ本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、前記アービトレーション動作モードで、前記複数のソース回路によって発行される、請求項１０に記載のクロスバー回路。
【請求項１２】
前記ビット線のそれぞれは、前記適応型優先順位スキームを適用するために、第１の電圧レベルにプリチャージされ、次いで、前記アービトレーション動作モード中に、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路は、前記ｎ本のビット線上の前記電圧を選択的にディスチャージする、請求項１に記載のクロスバー回路。
【請求項１３】
各構成記憶回路は、アサートされた伝送要求が存在する場合、その関連するビット線上の前記電圧を感知し、続いて、前記アービトレーション回路によって前記選択的ディスチャージ動作を実行する、感知増幅器有効化ラッチを備える、請求項１２に記載のクロスバー回路。
【請求項１４】
各データ入力経路は、ｎ本のワード線を提供し、
前記アービトレーション動作モードで、同じデータ入力経路と関連する最高ｎ個のクロスバーセルの前記伝送要求は、その同じデータ入力経路の前記ｎ本のワード線を介して、前記クロスバー回路に入力される、請求項１に記載のクロスバー回路。
【請求項１５】
各構成記憶回路は、前記ｎ本のワード線のうちの１本と関連し、よって、前記同じデータ入力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、それを介して前記伝送要求を受信する前記ｎ本のワード線のうちの異なる関連するワード線を有する、請求項１４に記載のクロスバー回路。
【請求項１６】
ｍが２以上の整数である、ｍｎ×ｍｎ個のクロスバーセルのマトリクスが提供され、
前記マトリクスは、複数のセクションに分割され、
一連のアービトレーション動作は、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路が、前記第１の値にプログラムされるそのルーティング値を有するように前記適応型優先順位スキームを適用するために使用され、それによって、前記適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決し、
前記一連の中の各アービトレーション動作について、前記複数のセクションの中の前記セクションのうちの１つまたは複数は、そのアービトレーション動作を受ける、請求項１５に記載のクロスバー回路。
【請求項１７】
各アービトレーション動作は、単一のセクション上で動作し、よって、前記一連のアービトレーション動作を実行した後には、前記複数のセクションの全てが前記アービトレーション動作を受けている、請求項１６に記載のクロスバー回路。
【請求項１８】
前記一連のうちの第１のアービトレーション動作で、前記複数のセクションの全ては、そのルーティング値が前記第１の値にプログラムされる前記構成記憶回路を含有する、前記複数のセクションのうちの１つを識別するために、前記第１のアービトレーション動作を受け、
前記一連のうちの第２のアービトレーション動作で、前記第１のアービトレーション動作によって識別された前記セクションのうちの前記１つは、そのルーティング値が前記第１の値にプログラムされるそのセクション内の前記構成記憶回路を識別するように、前記第２のアービトレーション動作を受ける、請求項１６に記載のクロスバー回路。
【請求項１９】
その構成記憶回路が、前記アービトレーション動作モード中に前記第１の値にプログラムされるそのルーティング値を有する、前記同じデータ出力経路と関連する前記１つのクロスバーセルについて、前記アサートされた伝送要求が承諾されたことを確認するように、承諾信号が前記関連するソース回路にアサートされる、請求項１に記載のクロスバー回路。
【請求項２０】
前記伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第１の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
前記データ出力経路と第２の論理レベルとの間で直列に接続される、第１および第２のスイッチを備え、
前記伝送動作モードで、前記第１のスイッチは、前記関連する構成記憶回路に記憶された前記ルーティング値に依存して開かれるか、または閉じられ、前記第２のスイッチは、前記データ入力経路上での前記データ入力に依存して開かれるか、または閉じられる、請求項１に記載のクロスバー回路。
【請求項２１】
各前記データ入力経路は、前記伝送動作モード中にｎビットの入力データ値を搬送するためのｎ本のワード線を備え、各前記データ出力経路は、前記伝送動作モード中にｎビットのデータ値を搬送するためのｎ本のビット線を備え、少なくとも前記第２のスイッチは、各ビット線について複製される、請求項２０に記載のクロスバー回路。
【請求項２２】
前記伝送動作モードで、前記ルーティング値が前記第１の値であり、かつ対応するワード線上の入力データビットが前記第１の論理レベルである場合、前記データ出力経路のビット線は、前記第２の論理レベルにプルされる、請求項２０に記載のクロスバー回路。
【請求項２３】
各クロスバーセルは、前記ルーティング値に関わらず前記第１のスイッチをオフにする一方で、前記関連するデータ出力経路を前記第１の論理レベルにプリチャージするための、および前記第１のスイッチを前記ルーティング値によって制御し、続いて、前記関連するデータ出力経路を前記第１の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える、請求項２２に記載のクロスバー回路。
【請求項２４】
前記伝送動作モード中に、前記データ出力経路の前記ビット線上のデータ出力を検出し、それによって、前記データ出力経路のビット線上の電圧が前記第２の論理レベルに到達する前に、前記第２の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える、請求項２２に記載のクロスバー回路。
【請求項２５】
前記複数のソース回路のそれぞれと前記複数のデータ入力経路との間の符号化回路と、
前記複数のデータ出力経路のそれぞれと前記複数の宛先回路との間の復号回路と、
をさらに備え、前記符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、元の入力データが前記クロスバー回路を通過した場合に、前記データ出力経路を前記第２の論理レベルにプルすることが必要となり得る回数と比較した時に、前記データ出力経路を前記第２の論理レベルにプルし、続いて、それらを前記第１の論理レベルにプリチャージすることが必要である回数を低減し、
前記復号回路は、前記データ出力経路上で符号化データ出力から前記ソース回路によって提供される、前記元の入力データを識別するように、対応する復号動作を適用する、請求項２２に記載のクロスバー回路。
【請求項２６】
前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続することができる、請求項１に記載のクロスバー回路。
【請求項２７】
前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続することができる、請求項１に記載のクロスバー回路。
【請求項２８】
各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、
各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの前記構成記憶回路に記憶される前記ルーティング値に依存して起動され、
それによって、各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも１つのクロスバーセルの前記構成記憶回路が、前記第１の値に設定されたルーティング値を有する場合にだけ起動される、請求項１に記載のクロスバー回路。
【請求項２９】
データ値を記憶するための、複数のメモリデバイスと、
前記複数のメモリデバイスに記憶された複数の前記データ値に、データ処理動作を並列に実行するための、複数のプロセッサと、
前記複数のメモリデバイスのうちのいずれかから前記複数のプロセッサのうちのいずれかに前記データ値をルーティングするための、請求項１に記載のクロスバー回路と、
を備える、データ処理装置。
【請求項３０】
複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの１つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、
前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの１つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、
前記データ入力経路手段のうちの１つと、前記データ出力経路手段のうちの１つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、
前記複数のビット線手段のうちの少なくとも１つの電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶手段と、
伝送動作モードで、前記データ入力経路手段の前記ワード線手段に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路手段の前記ビット線手段上に出力するように、前記第１の値を有する前記ルーティング値に応答する、伝送回路手段と、
前記関連する交差点の前記データ入力経路手段に接続された前記ソース手段から前記クロスバーセル手段によって受信される伝送要求に依存して、前記アービトレーション動作モードで動作させるための、アービトレーション手段であって、前記ソース手段が、前記関連する交差点において、前記データ入力経路手段から前記データ出力経路手段にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段の前記アービトレーション手段と組み合わせて動作して、前記複数のビット線手段上の前記電圧を選択的に修正するためのものであり、よって、前記同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路手段と関連する唯一のクロスバーセル手段の前記構成記憶手段は、前記第１の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、
前記適応型優先順位スキームを適用するために、前記複数のビット線手段のうちのどれが、前記関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、
前記アービトレーション手段による前記適応型優先順位スキームの各適用の間に、前記複数のビット線手段のうちの少なくとも１つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するための、優先順位記憶手段と、
を備えるクロスバーセル手段と、
を備える、クロスバー回路。
【請求項３１】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの１つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの１つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、前記方法は、
前記データ入力経路のうちの１つと、前記データ出力経路のうちの１つとの間の各交差点と関連する、クロスバーセルを採用するステップと、
アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、前記ルーティング値は、前記複数のビット線のうちの少なくとも１つの電圧に依存してプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第１の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記クロスバーセルを、前記第１の値を有する前記ルーティング値に応答させるステップと、
前記アービトレーション動作モードで、前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信される伝送要求に依存して、前記クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正し、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、前記第１の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、前記クロスバーセル内の優先順位記憶回路に記憶するステップと、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも１つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように、前記優先順位記憶回路を構成するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法に関する。
【背景技術】
【０００２】
クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。故に、クロスバー回路は、複数のソース回路および複数の宛先回路を相互接続するために使用することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実装で使用することができる。例えば、データ処理システムの実装では、このようなクロスバー回路は、データ値に対してデータ処理動作を実行するために使用される複数のプロセッサ、およびそれらのデータ値を記憶するために使用される複数のメモリデバイスを相互接続するために使用することができ、それによって、データ値を、任意のメモリデバイスから任意のプロセッサにルーティングすることを可能にする。
【０００３】
クロスバー回路を生成するための周知の技法は、クロスバー回路を形成するために必要とされる構成要素に起因する、クロスバー回路のための大きな面積、および制御信号をそれらの構成要素にルーティングするために必要とされる多数の制御線を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、周知の技法の大部分を、多数のソース回路を多数の宛先回路と相互接続するために必要とされるクロスバー回路とともに使用することについて、非実用的なものとする。いくつかの周知の技法を以下に論じる。
【０００４】
Ｋ  Ｃｈａｎｇ他による論文「Ａ  ５０Ｇｂ／ｓ  ３２×３２  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｃｈｉｐ  ｕｓｉｎｇ  Ａｓｙｍｍｅｔｒｉｃ  Ｓｅｒｉａｌ  Ｌｉｎｋｓ」、１９９９  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ、Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ、１９〜２２ページ、およびＴ  Ｗｕ他による論文「Ａ  ２Ｇｂ／ｓ  ２５６×２５６  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  Ｆａｂｒｉｃ  Ｃｏｒｅ  Ｄｅｓｉｇｎ  ｕｓｉｎｇ  Ｐｉｐｅｌｉｎｅｄ  ＭＵＸ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、２００２、５６８〜５７１ページは、任意の入力ソースから任意の出力宛先へのデータのルーティングを可能にするように、マルチプレクサの階層的配設を使用したクロスバー回路を記載している。しかしながら、このようなＭＵＸに基づくクロスバー回路は、比較的にサイズが大きく、電力消費が多い。さらに、該クロスバー回路は、典型的に、種々のマルチプレクサを制御するために、相当な数の制御線を必要とする。このようなＭＵＸに基づく設計は、典型的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるので、サポートする入力および出力数の増加とともに拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。
【０００５】
Ｒ  Ｇｏｌｓｈａｎ他による論文「Ａ  Ｎｏｖｅｌ  Ｒｅｄｕｃｅｄ  Ｓｗｉｎｇ  ＣＭＯＳ  Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ  ｆｏｒ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｌｏｗ  Ｐｏｗｅｒ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、３５１〜３５４ページ、１９９４は、入力経路が水平方向に通り、出力経路が垂直方向に通る、Ｘ−Ｙ型のクロスバー回路を記載している。各入力経路と出力経路との間の交差点には、フリップフロップ回路の形態で記憶素子が提供され、その出力は、入力経路を出力経路に連結するために使用されるトランジスタを制御する。しかしながら、このような設計は、クロスバー回路が所要のルーティングを実行するために、種々のフリップフロップをプログラムするために多数の制御線を必要とする。さらに、入力データ経路上に提供される入力データは、関連する出力データ経路上の出力データを駆動するために使用される。多数の入力および出力に適応するようにクロスバー回路が大きくなるにつれて、出力データ経路の容量が増加し、それに応じて、静電容量の増加を克服するために、より大きい駆動トランジスタを入力に提供する必要がある。加えて、データ入力経路とデータ出力経路との間の交差点で、フリップフロップによって駆動される連結トランジスタは、クロスバー回路のサイズが増加した時に、サイズを増加させる必要もある。さらに、典型的に、クロスバー回路のサイズが増加した時には、データ出力経路の中に１つまたは複数のバッファを含めることが必要となる。これらの全ての要因は、特により多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連する制御線のレイアウトに重大な問題を生じさせる。故に、この手法は、複雑になり、拡張することができない。
【０００６】
Ｐ  Ｗｉｊｅｔｕｎｇａによる論文「Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｒｏｓｓｂａｒ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ、２００３は、データ入力経路とデータ出力経路との間の各交差点に位置付けられる伝送回路としてパストランジスタチェーンを採用する、クロスバー設計を記載している。入力データを出力データ経路へ連結するためにパストランジスタチェーンが必要とされる時には、出力データ経路上に位置付けられる電流感知回路を使用して、入力データ値を検出する。この設計の極めて不利な点は、電流感知デバイスを各出力経路上に位置付けるための要件に起因して、多量の電力を消費することである。さらに、クロスバー回路内で多数の制御信号をルーティングする必要があり、実際に、それらの制御信号は、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させるにつれて、ルーティング要件を支配するようになる。したがって、ここでも、この設計は、より大きいクロスバー回路の設計に、容易に拡張することができない。
【０００７】
Ｍ  Ｂｏｒｇａｔｔｉ他による論文「Ａ  Ｍｕｌｔｉ−Ｃｏｎｔｅｘｔ  ６．４Ｇｂ／ｓ／Ｃｈａｎｎｅｌ  Ｏｎ−Ｃｈｉｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋ  ｕｓｉｎｇ  ０．１８μｍ  Ｆｌａｓｈ−ＥＥＰＲＯＭ  Ｓｗｉｔｃｈｅｓ  ａｎｄ  Ｅｌａｓｔｉｃ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ」、ＩＳＳＣＣ  ２００３、Ｓｅｓｓｉｏｎ  ２６、Ｅｍｂｅｄｄｅｄ  ａｎｄ  Ｄｉｇｉｔａｌ  Ｓｙｓｔｅｍｓ、Ｐａｐｅｒ  ２６．５は、改良したフラッシュＥＥＰＲＯＭデバイスのマトリクスを使用して実現した、プログラム可能なクロスバーを記載している。しかしながら、図２６．５．６から明らかなように、ソースデバイスから宛先デバイスへのデータ入力のルーティングに関与するメモリセルの数は、それらのデバイスがクロスバー内に接続される場所に依存し、故に、信号がクロスバーを通過するタイミングは、決定論的ではない。さらに、種々のフラッシュＥＥＰＲＯＭセルのプログラミングを可能にするには、多数の制御線が必要となり、それらの種々のフラッシュＥＥＰＲＯＭセルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。
【０００８】
故に、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実装には不適当なものとする。
【０００９】
要約すると、前述の考察から、既存のクロスバー設計は、典型的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されるであろう。必要とされる制御線の数に部分的に起因して、およびクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。
【００１０】
共有の米国公開特許出願第２０１０／０２１１７１９号（参照することによりその内容全体が本願明細書に組み込まれる）は、ルーティングパターンが、クロスバーの中の交差点でローカルにキャッシュされ、次いで、データをルーティングするために使用される、クロスバー回路設計を記載している。これは、クロスバー回路のための配線レイアウトを生成する時に、ルーティングの輻輳をかなり低減する。該設計は、容易に拡張することができ、したがって、クロスバー回路は、クロスバー回路に接続されるソース回路および宛先回路の数が多い場合であっても、容易に利用することができる。さらに、該設計は、クロスバー回路を通したデータの転送に固定待ち時間を提供する、標準的なレイアウトを生成する。
【００１１】
クロスバー設計における別の問題は、コリジョン検出および解決能力を伴うクロスバーをどのように提供するかということである。スイッチングファブリックにおける同じ宛先に対する複数の要求は、コリジョンと称される。ソースおよび宛先の数の増加とともに、コリジョンはより頻繁となる。このような状況では、アービトレーションは、クロスバー回路の全体的な効率のボトルネックとなる。
【００１２】
最も現代的なスイッチングファブリックは、主として、データを伝送するクロスバー、およびクロスバーを構成するアービターの２つのモジュールから成る。そのような実装において、ソース回路は、チャネルの要求をアービターに送信する。アービターは、全ての要求をサンプリングし、いくつかの優先順位割り当てスキームを使用して要求の一部または全てを承諾し、それに応じてクロスバーを構成する。このスキームは、拡張性について２つの大きな問題を有する。
１）ソース回路からアービターに全ての要求信号をルーティングすること、および全ての承諾信号を返すことは、より大きなシステムではますます困難となる。
２）アービターは、決定を下すことができる前に、受信する全ての要求、ならびにクロスバーの現在の状態を知っている必要がある。サイクルごとにクロスバーの状態を監視するには、付加的な論理ならびに相互接続が必要である。これは付加的な遅延の一因となる。
【００１３】
パケットスイッチングネットワークの拡張性およびアービトレーション遅延に対処するために、多くの試みがなされてきた。Ｃｈｉ  Ｈ．他による論文「Ｄｅｃｏｍｐｏｓｅｄ  Ａｒｂｉｔｅｒｓ  ｆｏｒ  Ｌａｒｇｅ  Ｃｒｏｓｓｂａｒｓ  ｗｉｔｈ  Ｍｕｌｔｉ−Ｑｕｅｕｅ  Ｉｎｐｕｔ  Ｂｕｆｆｅｒｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ、１４−１６  Ｏｃｔ．１９９１、２３３〜２３８ページにおいて、著者は、アービトレーションプロセスが完了する前にいくつかの要求を承諾できるようなアービターの分解について述べている。しかしながら、最悪条件のアービトレーション遅延は、依然として同じままである。一般に、アービトレーション遅延は、サイズとともに直線的に増大する。
【００１４】
Ｄｅｌｇａｄｏ−Ｆｒｉａｓ他による論文「Ａ  ＶＬＳＩ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  ｗｉｔｈ  Ｗｒａｐｐｅｄ  Ｗａｖｅ  Ｆｒｏｎｔ  Ａｒｂｉｔｒａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ５０、Ｉｓｓｕｅ  １、Ｊａｎ．２００３、１３５〜１４１ページ、およびＫａｖａｌｄｊｉｅｖ  Ｎ．他による論文「Ａ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ  Ｒｏｕｔｅｒ  ｆｏｒ  Ｏｎ−ｃｈｉｐ  Ｎｅｔｗｏｒｋｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ＳｏＣ  Ｃｏｎｆｅｒｅｎｃｅ、１２−１５  Ｓｅｐｔ．２００４、２８９〜２９３ページでは、著者は、クロスバー内におけるアービトレーションの取り扱いについて論じている。しかしながら、開示された実装は、拡張性がなく、４×４のサイズのクロスバーに制限されている。
【００１５】
Ｓｈｉｎ  Ｅ．他による論文「Ｒｏｕｎｄ−ｒｏｂｉｎ  Ａｒｂｉｔｅｒ  Ｄｅｓｉｇｎ  ａｎｄ  Ｇｅｎｅｒａｔｉｏｎ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｙｓｔｅｍ  Ｓｙｎｔｈｅｓｉｓ、２００２、２４３〜２４８ページでは、著者は、ラウンドロビンアービターを生成するツールを提案している。該アプローチは階層的であり、４×４のスイッチから３２×３２のスイッチを作製しようとしている。
【００１６】
Ｗｉｌｌｉａｍ  Ｗ．Ｐｌｕｍｍｅｒによる論文「Ａｓｙｎｃｈｒｏｎｏｕｓ  Ａｒｂｉｔｅｒｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  Ａｒｃｈｉｖｅ  Ｖｏｌｕｍｅ  ２１、Ｉｓｓｕｅ  １  （Ｊａｎｕａｒｙ  １９７２）、３７〜４２ページ、Ｃｈａｒｌｅｓ  Ｅ．Ｍｏｌｎａｒ他による論文「Ｓｉｍｐｌｅ  Ｃｉｒｃｕｉｔｓ  ｔｈａｔ  Ｗｏｒｋ  ｆｏｒ  Ｃｏｍｐｌｉｃａｔｅｄ  Ｒｅａｓｏｎｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  ｉｎ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、２０００．（ＡＳＹＮＣ  ２０００）  Ｐｒｏｃｅｅｄｉｎｇｓ、およびＭａｒｋ  Ｂ．Ｊｏｓｅｐｈｓ他による論文「ＣＭＯＳ  Ｄｅｓｉｇｎ  ｏｆ  ｔｈｅ  Ｔｒｅｅ  Ａｒｂｉｔｅｒ  Ｅｌｅｍｅｎｔ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ４、Ｉｓｓｕｅ  ４、Ｄｅｃ  １９９６、４７２〜４７６ページでは、アービトレーションのためのいくつかの非同期的手法が記載されている。これらの設計は、無作為性を達成するために準安定性を利用する。しかしながら、準安定システムにおける遅延が時折高くなる可能性があり、それによって、確実なスループットを必要とするリアルタイムシステムにおけるその使用が制限されている。
【００１７】
要約すると、文献に見られる多くの解決法は、２×２または４×４スイッチを使用した大型クロスバースイッチの作製に対する階層的アプローチを使用する。したがって、クロスバースイッチのサイズとともに遅延が直線的に増大する。これは、幅広い並列システム（ＳＩＭＤ／ＭＩＭＤ型アプリケーション）に対して、いかなる電圧スケーリングの余地も残さない。
【００１８】
さらに、例えば前述の論文「Ａ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ  Ｒｏｕｔｅｒ  ｆｏｒ  Ｏｎ−ｃｈｉｐ  Ｎｅｔｗｏｒｋｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ＳｏＣ  Ｃｏｎｆｅｒｅｎｃｅ、１２−１５  Ｓｅｐｔ．２００４、２８９〜２９３ページに論じられているような、アービターおよびクロスバーを互いに統合する以前の試みにおいては、それらを空間的に近接させることだけしか可能になっていない。しかしながら、両方の機能性のための論理および相互接続は、相容れないままであった。
【００１９】
従来の実装において、コリジョン検出および解決は、階層的に行われる。これは、アービトレーション論理の複数の段階において達成され、各段階の後に、要求の数がある特定の割合だけ低減される。
【００２０】
共有の米国公開特許出願第２０１０／０２１１７２０号（参照することによりその内容全体が本願明細書に組み込まれる）は、所定の優先順位スキームを適用することによって、コンフリクトの非常に有効な解決法を実行することを可能にする一方で、非常に標準的な設計を提供し、全ての経路にわたって均一な遅延を伴い、そして、典型的な従来技術のクロスバーが設計する制御線をほとんど必要としない、クロスバー回路の自己アービトレート設計を記載している。このようなクロスバー回路は、大きいクロスバーを形成するために、容易に拡張することができる。
【００２１】
しかしながら、特定の種類の優先順位スキームは、それでも効率的に実装することが困難であり、例えば、ソース回路の関連する優先順位が適応型優先順位スキームの各適用の間に変化する、適応型優先順位スキームである。ＵＳ２０１０／０２１１７２０は、優先順位割り当て動作モードで、クロスバーの選択された優先順位記憶回路で値を再プログラムすることが可能である、優先順位構成モジュールの使用を提案した。また、クロスバーの動作を監視して、その分析に依存してどのように優先順位記憶回路を更新するのかを決定することによって、そのような優先順位構成モジュールを適応型にすることが可能であることも確認された。しかしながら、そのようなアプローチは、多くの理由により、クロスバーの効率に影響を与える。
【００２２】
第１に、優先順位記憶回路を再プログラムするために、専用の優先順位割り当て動作モードに入る必要があり、それによって、クロックサイクルが、単に優先順位更新プロセスを実行することだけに費やされてしまう。また、典型的に、一度に１つのデータ出力経路に接続されたクロスバーセルの記憶回路を再プログラムすることしか可能でない。さらに、適応型優先順位構成モジュールについては、第１に、クロスバーの動作を表す情報をクロスバーから取り出し、次いで、その取り出した情報を分析し、次いで、関連する優先順位記憶回路内に記憶するために、修正した優先順位データをクロスバーに入力することが必要であり、それによって、非効率的な更新プロセスをもたらす。
【００２３】
従来、効率的に実装することが困難であった１つの種類の適応型優先順位スキームは、どのソース回路が現在のアービトレーションプロセスを得るのかに依存して、種々のソース回路の関連する優先順位が更新される、承諾後最長時間経過（ＬＲＧ）優先順位スキームである。具体的には、ソース回路Ｘがアービトレーションプロセスを得た場合、ＬＲＧスキームに従って、ソースＸよりも低い優先順位を有する全てのソースは、それらの優先順位を上昇させ、ソースＸよりも高い優先順位を有する全てのソースは、それらの優先順位をそれらの現在のレベルに維持させ、ソースＸは、最も低い相対的優先順位を有するように降格される。
【００２４】
ＬＲＧ優先順位スキームは、公正さ、および他の優先順位スキーム（例えば、ラウンドロビン、疑似ラウンドロビン、ランダムな優先順位割り当て等）よりも良好なサービスの質（ＱｏＳ）を保証するが、そのハードウェア実装は、典型的に、クロスバー回路の領域、性能、およびエネルギー消費にかなりのオーバーヘッドをもたらす。加えて、ハードウェアの複雑さは、クロスバー回路の寸法とともに２次曲線的に増大する。
【００２５】
ＬＲＧをサポートする現在のスイッチングファブリックにおいて、アービターは、ネットワークの中の全ての入力および承諾要求を記録することによって、異なるソースに割り当てられた優先順位を更新する。これは、ハードウェアにこれを実装するために、付加的なメモリ、処理素子、およびワイヤを必要とする。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】米国公開特許出願第２０１０／０２１１７１９号
【特許文献２】米国公開特許出願第２０１０／０２１１７２０号
【非特許文献】
【００２７】
【非特許文献１】Ｋ  Ｃｈａｎｇ他による論文「Ａ  ５０Ｇｂ／ｓ  ３２×３２  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｃｈｉｐ  ｕｓｉｎｇ  Ａｓｙｍｍｅｔｒｉｃ  Ｓｅｒｉａｌ  Ｌｉｎｋｓ」、１９９９  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ、Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ、１９〜２２ページ
【非特許文献２】Ｔ  Ｗｕ他による論文「Ａ  ２Ｇｂ／ｓ  ２５６×２５６  ＣＭＯＳ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  Ｆａｂｒｉｃ  Ｃｏｒｅ  Ｄｅｓｉｇｎ  ｕｓｉｎｇ  Ｐｉｐｅｌｉｎｅｄ  ＭＵＸ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、２００２、５６８〜５７１ページ
【非特許文献３】Ｒ  Ｇｏｌｓｈａｎ他による論文「Ａ  Ｎｏｖｅｌ  Ｒｅｄｕｃｅｄ  Ｓｗｉｎｇ  ＣＭＯＳ  Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ  ｆｏｒ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｌｏｗ  Ｐｏｗｅｒ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ、３５１〜３５４ページ、１９９４
【非特許文献４】Ｐ  Ｗｉｊｅｔｕｎｇａによる論文「Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｒｏｓｓｂａｒ  Ｄｅｓｉｇｎ  ｆｏｒ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｔｈｉｒｄ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ、２００３
【非特許文献５】Ｍ  Ｂｏｒｇａｔｔｉ他による論文「Ａ  Ｍｕｌｔｉ−Ｃｏｎｔｅｘｔ  ６．４Ｇｂ／ｓ／Ｃｈａｎｎｅｌ  Ｏｎ−Ｃｈｉｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋ  ｕｓｉｎｇ  ０．１８μｍ  Ｆｌａｓｈ−ＥＥＰＲＯＭ  Ｓｗｉｔｃｈｅｓ  ａｎｄ  Ｅｌａｓｔｉｃ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ」、ＩＳＳＣＣ  ２００３、Ｓｅｓｓｉｏｎ  ２６、Ｅｍｂｅｄｄｅｄ  ａｎｄ  Ｄｉｇｉｔａｌ  Ｓｙｓｔｅｍｓ、Ｐａｐｅｒ  ２６．５
【非特許文献６】Ｃｈｉ  Ｈ．他による論文「Ｄｅｃｏｍｐｏｓｅｄ  Ａｒｂｉｔｅｒｓ  ｆｏｒ  Ｌａｒｇｅ  Ｃｒｏｓｓｂａｒｓ  ｗｉｔｈ  Ｍｕｌｔｉ−Ｑｕｅｕｅ  Ｉｎｐｕｔ  Ｂｕｆｆｅｒｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ、１４−１６  Ｏｃｔ．１９９１、２３３〜２３８ページ
【非特許文献７】Ｄｅｌｇａｄｏ−Ｆｒｉａｓ他による論文「Ａ  ＶＬＳＩ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ  ｗｉｔｈ  Ｗｒａｐｐｅｄ  Ｗａｖｅ  Ｆｒｏｎｔ  Ａｒｂｉｔｒａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ５０、Ｉｓｓｕｅ  １、Ｊａｎ．２００３、１３５〜１４１ページ
【非特許文献８】Ｋａｖａｌｄｊｉｅｖ  Ｎ．他による論文「Ａ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ  Ｒｏｕｔｅｒ  ｆｏｒ  Ｏｎ−ｃｈｉｐ  Ｎｅｔｗｏｒｋｓ」、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ＳｏＣ  Ｃｏｎｆｅｒｅｎｃｅ、１２−１５  Ｓｅｐｔ．２００４、２８９〜２９３ページ
【非特許文献９】Ｓｈｉｎ  Ｅ．他による論文「Ｒｏｕｎｄ−ｒｏｂｉｎ  Ａｒｂｉｔｅｒ  Ｄｅｓｉｇｎ  ａｎｄ  Ｇｅｎｅｒａｔｉｏｎ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｙｓｔｅｍ  Ｓｙｎｔｈｅｓｉｓ、２００２、２４３〜２４８ページ
【非特許文献１０】Ｗｉｌｌｉａｍ  Ｗ．Ｐｌｕｍｍｅｒによる論文「Ａｓｙｎｃｈｒｏｎｏｕｓ  Ａｒｂｉｔｅｒｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  Ａｒｃｈｉｖｅ  Ｖｏｌｕｍｅ  ２１、Ｉｓｓｕｅ  １  （Ｊａｎｕａｒｙ  １９７２）、３７〜４２ページ
【非特許文献１１】Ｃｈａｒｌｅｓ  Ｅ．Ｍｏｌｎａｒ他による論文「Ｓｉｍｐｌｅ  Ｃｉｒｃｕｉｔｓ  ｔｈａｔ  Ｗｏｒｋ  ｆｏｒ  Ｃｏｍｐｌｉｃａｔｅｄ  Ｒｅａｓｏｎｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  ｉｎ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、２０００．（ＡＳＹＮＣ  ２０００）  Ｐｒｏｃｅｅｄｉｎｇｓ
【非特許文献１２】Ｍａｒｋ  Ｂ．Ｊｏｓｅｐｈｓ他による論文「ＣＭＯＳ  Ｄｅｓｉｇｎ  ｏｆ  ｔｈｅ  Ｔｒｅｅ  Ａｒｂｉｔｅｒ  Ｅｌｅｍｅｎｔ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＶＬＳＩ  ｓｙｓｔｅｍｓ、Ｖｏｌｕｍｅ  ４、Ｉｓｓｕｅ  ４、Ｄｅｃ  １９９６、４７２〜４７６ページ
【発明の概要】
【発明が解決しようとする課題】
【００２８】
故に、適応型優先順位方式をサポートすることに関連する前述した問題を多少なりとも解消する、改善されたクロスバー設計を提供することが望ましい。
【課題を解決するための手段】
【００２９】
第１の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの１つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの１つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、該データ入力経路のうちの１つと、該データ出力経路のうちの１つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、該複数のビット線のうちの少なくとも１つの上の電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第１の値が示すようプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶回路と、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、該第１の値を有するルーティング値に応答する、伝送回路と、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信された伝送要求に依存して、該アービトレーション動作モードで動作する、アービトレーション回路であって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正するように配設され、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第１の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも１つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路とを備える、クロスバーセルとを備える、クロスバー回路を提供する。
【００３０】
本発明によれば、クロスバーセルは、データ入力経路とデータ出力経路との間の各交差点と関連し、各クロスバーセルは、伝送動作モードで、関連する構成記憶回路に記憶されたルーティング値に依存して、そのデータ入力経路上のデータをそのデータ出力経路に選択的に接続するように配設される、伝送回路と、アービトレーション動作モードで、複数のアサートされた伝送要求間のコンフリクトを解決するために、他のクロスバーセルのアービトレーション回路と組み合わせて動作する、アービトレーション回路とを備える。具体的には、伝送要求がソース回路からクロスバーセルにアサートされた場合、そのクロスバーセルのアービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線上の電圧を選択的に修正し、よって、その同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、第１の値（すなわち、伝送動作モードで、クロスバーセルに、そのデータ入力経路をそのデータ出力経路に連結させる値）にプログラムされる、そのルーティング値を有する。
【００３１】
加えて、各クロスバーセルは、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも１つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路を有する。
【００３２】
したがって、本発明によれば、アービトレーション動作モードで、特定のデータ出力経路のコンフリクトを検出するために、いずれかの時点で唯一のソース回路が特定のデータ出力経路へのアクセスを承諾されるようにそれらのコンフリクトを解決するために、および優先順位記憶回路に記憶された優先順位データを更新するために、データ出力経路のビット線が再利用されることが分かる。これは、クロスバー回路内に適応型優先順位スキームを実装するための、高速で拡張性のある技法を提供する。該手法は、従来技術の技法よりも大幅に拡張することができ（本発明の実施形態では、ハードウェアの複雑さは、クロスバーによって提供される相互接続ネットワークのサイズとともに直線的に増大する）、相互接続ネットワークに対するオーバーヘッドをほとんど伴わずに、また、パフォーマンスインパクトをほとんど伴わずに実装することができる。
【００３３】
本発明の配設において、アービター機能およびクロスバー機能はどちらも、ともにクロスバー回路内に一体化される。アービターは、論理が大半を占めるが、クロスバーは、ルーティングが大半を占め、これらの２つの機能をクロスバー回路のクロスバーセル内に１つにまとめることによって、ルーティングトラックおよびチップ内のシリコン空間のより効率的な利用が達成される。加えて、従来クロスバーとアービターとの間で生じる通信オーバーヘッドは、これで、多少なりとも解消される。クロスバー回路内の各交差点と関連するクロスバーセルにクロスバー構成を記憶することによって、アービトレーションのためのデータ出力経路のビット線の再利用を可能にする。
【００３４】
本発明によれば、クロスバー回路は、ＳＲＡＭアレイトポロジーの形式でレイアウトすることができ、クロスバーセルは、アレイとしてレイアウトされ、データ入力経路は、ワード線を提供し、データ出力経路は、ビット線を提供する。そのような配設は、サイズの観点および必要とされる相互接続の数の観点の双方から、非常に効率的なレイアウトを可能にする。
【００３５】
適応型優先順位スキームは、様々な形態を取ることができるが、一実施形態において、適応型優先順位スキームは、承諾後最長時間経過（ＬＲＧ）スキームである。前述のように、ＬＲＧスキームは、従来、ハードウェアへの実装が複雑であり、したがって、本発明の実施形態を使用してＬＲＧスキームを提供する能力は、周知の従来技術の手法に勝る非常に顕著な改善を呈する。
【００３６】
一実施形態において、各データ出力経路は、ｎ本のビット線を提供し、各構成記憶回路は、それを介してルーティング値が構成記憶回路にプログラムされる、該ｎ本のビット線のうちの１本と関連し、よって、同じデータ出力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、該ｎ本のビット線のうちの異なる関連するビット線を有する。各クロスバーセル内で、アービトレーション回路および優先順位記憶回路は、そのクロスバーセルの構成記憶回路と関連する１本のビット線を除くｎ−１本のビット線と関連し、該適応型優先順位スキームを適用するために、優先順位記憶回路は、それらのｎ−１本のビット線のうちのどれが、アービトレーション回路によってそれらの電圧を修正されるべきかを識別する。
【００３７】
特定の一実施形態において、優先順位記憶回路は、ｎ−１個の優先順位記憶素子で形成されてもよく、ｎ−１本のビット線のそれぞれについて１つが、優先順位記憶回路と関連する。優先順位記憶素子は、様々な形態を取ることができるが、一実施形態では、ＳＲＡＭセルで形成される。
【００３８】
このような一実施形態では、該アービトレーション動作モードで、該適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路が、ｎ本のビット線上の電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、該ルーティング値をプログラムするために、その関連するビット線上の電圧をサンプリングするように構成される。
【００３９】
一実施形態において、各クロスバーセルは、そのクロスバーセルの構成記憶回路と関連する１本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、チャネル解放回路は、該ルーティング値として該第２の値をそのクロスバーセルの構成記憶回路に記憶させるレベルに、その１本のビット線上の電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、クロスバーセルに、関連するデータ出力経路を解放させる、解放回路をさらに備える。これは、ソース回路が、データの送信を終了した時に特定のデータ出力経路を解放することを可能にし、それによって、別のソース回路が、後にそのデータ出力経路を捕捉しようとすることを可能にするための、単純かつ有効な機構を提供する。
【００４０】
一実施形態では、解放されたデータ出力経路と関連するそれらのクロスバーセルの中の優先順位記憶回路は、複数のビット線のうちの少なくとも１つの電圧に依存して、それに記憶された優先順位データを自己更新するように、アサートされた解放要求に応答する。したがって、そのような実施形態において、アサートされた解放要求は、自己更新プロセスの実行をトリガーするための好都合なイベントを提供し、かつアービトレーション回路によって適応型優先順位スキームの各用途の間に自己更新プロセスが実行されることを確実にする。
【００４１】
一実施形態において、各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、該複数のビット線のうちの１つと関連し、各優先順位記憶回路内で、複数の優先順位記憶素子の電流値は、関連するデータ出力経路について、その優先順位記憶回路を含有するクロスバーセルに連結されたソース回路の相対的優先順位レベルを示す。
【００４２】
適応型優先順位スキームが承諾後最長時間経過（ＬＲＧ）優先順位スキームである一実施形態では、その場合、解放されたデータ出力経路と関連するそれらのクロスバーセルの優先順位記憶回路内で、その電圧が解放回路によって修正されたビット線と関連するそれらの優先順位記憶素子は、第１の値に設定され、それによって、データ出力経路を解放するソース回路を除く各ソース回路の相対的優先順位レベルは、増加させられるか、または維持される。さらに、アサートされた解放要求を受信した解放回路を含有するクロスバーセルについて、優先順位記憶回路は、第２の値にクリアされたその優先順位記憶素子を有し、それによって、データ出力経路を解放するソース回路には、他のソース回路よりも低い相対的優先順位が割り当てられる。これは、ＬＲＧスキームを実行するための特に効率的な機構を提供し、ソース回路の相対的優先順位レベルは、そのデータ出力経路が解放された時に、各データ出力経路について独立に更新される。
【００４３】
一実施形態において、初期化の時点で、各クロスバーセルの優先順位記憶回路は、複数のデータ出力経路のそれぞれに関して、複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される。
【００４４】
一実施形態において、初期の相対的優先順位レベルは、各データ出力経路について独立に特定することができる。さらに、一実施形態において、各優先順位記憶回路は、それ自体を所定の値に設定するために、初期化の時点でアサートされるリセット信号に応答する。特定の一実施形態において、各優先順位記憶回路の個々の優先順位記憶素子は、リセット信号を適用すると、それらの値が、それらの形態に依存して、論理１または論理０のうちのいずれかに更新されるように、２つの形態のうちの１つを取ることができる。
【００４５】
特定の一実施形態において、ビット線のそれぞれは、第１の電圧レベルにプリチャージされ、該アサートされた解放要求を受信すると、解放回路は、そのクロスバーセルの構成記憶回路と関連する１本のビット線上の電圧をディスチャージする。さらに、各構成記憶回路は、関連する解放回路に対するアサートされた解放要求が存在する場合、ルーティング値を該第２の値に更新するために、その関連するビット線の電圧を感知し、続いて、解放回路によってディスチャージ動作を実行し、それによって、関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える。したがって、そのような実施形態では、クロスバーセルでチャネルを解放するために、感知増幅器有効化ラッチによって感知されたビット線は、ディスチャージされて、後にサンプリングされる。
【００４６】
一実施形態において、各データ入力経路は、ｎ本のワード線を提供し、同じデータ出力経路と関連する最高ｎ個のクロスバーセルの解放要求は、その同じデータ出力経路のｎ本のワード線を介して、クロスバー回路に入力される。さらに、各解放回路は、該ｎ本のワード線のうちの１本と関連し、よって、同じデータ入力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの解放回路は、それを介して解放要求を受信する該ｎ本のワード線のうちの異なる関連するワード線を有する。したがって、そのような実施形態において、解放要求は、データ入力経路のワード線の再使用を通して、効率的な様態で発行することができる。
【００４７】
特定の一実施形態において、解放要求は、該アービトレーション動作モードで発行され、制御信号は、関連するデータ入力経路のｎ本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、アービトレーション動作モードで、複数のソース回路によって発行される。したがって、そのような実施形態において、制御信号は、ワード線上でルーティングされた情報が、解放要求または伝送要求を識別するかどうか、したがって、アービトレーション回路または解放回路を起動させる必要があるかどうかを認めるために使用することができる。特定の一実施形態において、制御信号は、実際に、１つがｒｅｑｕｅｓｔ＿ｃｈａｎｎｅｌ信号であり、もう１つがｒｅｌｅａｓｅ＿ｃｈａｎｎｅｌ信号である、２つの別個の信号回線という形態を取り、これらの２つの信号のうちの１つだけを、いずれかの時点で設定することが可能である。一実施形態において、これらの２つの信号は、１行あたりを基準に提供され、したがって、任意の特定の行内で、クロスバーセルは、いずれかの時点で、解放要求または伝送要求のうちのいずれかを処理していることになる。いくつかの実装では、制御信号のより緻密な細かさを提供することが可能であり、そのため、行の中の一部のクロスバーセルが解放要求を処理し得る一方で、他方が伝送要求を処理している。
【００４８】
同じデータ出力経路の中の異なるクロスバーセルの構成記憶回路が、異なるビット線と関連し、アサートされた伝送要求を受信するそのデータ出力経路の中のそれらのクロスバーセルのアービトレーション回路が、ｎ本のビット線上の電圧を選択的に修正するので、アサートされた伝送要求を受信する各クロスバーセルの構成記憶回路が、その関連するビット線上の電圧をサンプリングし、続いてアービトレーションプロセスを行う時点で、ビット線のうちの１つだけが、関連する構成記憶回路に、該第１の値をルーティング値として記憶させる値となることを確実にすることによって、適応型優先順位スキームを実装することが可能であり、それによって、単一のソース回路だけが、いずれかの時点で、データ出力経路へのアクセスを承諾されることを可能にする。
【００４９】
アービトレーション回路が選択的に修正する様態では、ｎ本のビット線上の電圧は、実装に依存して変化する可能性がある。しかしながら、一実施形態では、ビット線のそれぞれは、該適応型優先順位スキームを適用するために、第１の電圧レベルにプリチャージされ、次いで、アービトレーション動作モード中に、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路は、ｎ本のビット線上の電圧を選択的にディスチャージする。したがって、そのような実施形態において、ビット線は、適応型優先順位スキームを適用するために、条件付きでディスチャージされ、それによって、アービトレーション動作モード中のいかなるコンフリクトも解決される。
【００５０】
伝送要求をソース回路からクロスバーセルにアサートすることができる、多数の方法がある。しかしながら、一実施形態において、各データ入力経路は、ｎ本のワード線を提供し、アービトレーション動作モードで、同じデータ入力経路と関連する最高ｎ個のクロスバーセルの伝送要求は、その同じデータ入力経路のｎ本のワード線を介して、クロスバー回路に入力される。したがって、そのような実施形態において、データ入力経路は、アサートされた伝送要求の提供のために、アービトレーション動作モードで、それら自体を再利用する。
【００５１】
特定の一実施形態において、各構成記憶回路は、該ｎ本のワード線のうちの１本と関連し、よって、同じデータ入力経路と関連する最高ｎ個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、それを介して伝送要求を受信する該ｎ本のワード線のうちの異なる関連するワード線を有する。
【００５２】
データ入力経路のｎ本のワード線およびデータ出力経路のｎ本のビット線がアービトレーション動作モード中に再使用される実施形態では、コンフリクトの検出および解決を単一の段階で実行でき、それによって、コリジョンの検出および解決が複数の段階で階層的に行われる従来技術の手法と比較した時に、かなりの性能的な利益をもたらすことが分かる。
【００５３】
具体的には、最高ｎ×ｎのクロスバーセルのマトリクスを含有するクロスバー回路について、コンフリクトの検出および解決を単一の段階で実行できることが分かるであろう。
【００５４】
しかしながら、本発明の実施形態の技法は、より大きいマトリクスのクロスバーセルを有するクロスバー回路とともに使用することもできる。具体的には、一実施形態では、ｍが２以上の整数である、ｍｎ×ｍｎ個のクロスバーセルのマトリクスが提供され、マトリクスは、複数のセクションに分割され、一連のアービトレーション動作は、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路が、該第１の値にプログラムされるそのルーティング値を有するように適応型優先順位スキームを適用するために使用され、それによって、該適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決する。一連の中の各アービトレーション動作について、該複数のセクションの中のセクションのうちの１つまたは複数は、そのアービトレーション動作を受ける。
【００５５】
特定の一実施形態において、各アービトレーション動作は、単一のセクション上で動作し、よって、該一連のアービトレーション動作を実行した後には、該複数のセクションの全てが該アービトレーション動作を受けている。したがって、例として、１６ビットのデータ入力経路およびデータ出力経路を伴う６４×６４のクロスバー回路の場合、クロスバー回路は、４つのセクションに分割することができ、アービトレーション動作は、それらのセクションのそれぞれに順次実行される。一実施形態において、カウンタは、サイクルごとにインクリメントして、そのサイクルの中のアービトレーション中に処理するセクションを選択することができる（上記の例では２ビットカウンタで十分である）。そのような実装は、それでも最小限の配線および論理オーバーヘッドの利益を維持するが、所与の要求に対するアービトレーション待ち時間は、その要求が関連するセクションに依存して変動する可能性がある（上記の例において、待ち時間は、１サイクルから４サイクルまで変動する可能性がある）。次いで、全てのセクションが処理された後に、優先順位データの自己更新が行われる。
【００５６】
代替の実施形態において、複数のセクションの全ては、一連のうちの第１のアービトレーション動作で、そのルーティング値が該第１の値にプログラムされる構成記憶回路を含有する、該複数のセクションのうちの１つを識別するために、第１のアービトレーション動作を受ける。次いで、一連のうちの第２のアービトレーション動作で、第１のアービトレーション動作によって識別されたセクションのうちの該１つは、そのルーティング値が該第１の値にプログラムされるそのセクション内の構成記憶回路を識別するように、第２のアービトレーション動作を受ける。そのような実施形態によれば、クロスバーは、再度セクションに分割されるが、その場合、アービトレーションは、２つのステップで、つまり、最初にセクションの間で、次いで所与のセクションの中の全ての要求の間で階層的に実行される。同じ群のビット線を両方のアービトレーションステップに使用することができる。次いで、両方のアービトレーションステップが行われた後に、優先順位データの自己更新が行われる。
【００５７】
一実施形態において、各クロスバーセルは、２つの構成記憶回路を備え、第１のものは、関連するセクションが最も高い優先順位のアサートされた伝送要求を含有するかどうかを検出するために使用され、第２のものは、以降のアービトレーションステップで、最も高い優先順位のアサートされた伝送要求がその特定のクロスバーセルと関連するかどうかを検出するために使用される。
【００５８】
例として、１６ビットのデータ入力経路およびデータ出力経路を伴う６４×６４のクロスバーにおいて、クロスバーは、再度４つのセクションに分割され得る。セクション０が最も高い優先順位を有し、そのセクションと関連する少なくとも１つのソースが伝送要求をアサートする場合、アービトレーションの第１の段階において、そのセクションの各クロスバーセルの中の第１の構成記憶回路は、第１の値にプログラムされるルーティング値を有することになる一方で、他のセクションでは、第２の値にプログラムされるそれらのルーティング値を有することになる（どちらの場合でも、プログラムは、各第１の構成記憶回路と関連するビット線上の電圧の結果として生じる）。次のサイクルでは、セクション０に関してアサートされた伝送要求だけが検討され、ビット線は、アービトレーションに再度使用され、今度は、第２の構成記憶回路が関連するビット線を感知する。特定のクロスバーセルにおいて、どちらの構成記憶回路も、第１の値に設定されたそれらのルーティング値を有する場合、これは、関連するアサートされた伝送要求が優先されたこと、およびデータ伝送動作モードでそのクロスバーセルがその入力をその出力に接続することを意味する。
【００５９】
そのような実装は、いくつかの付加的な論理は犠牲にするが、いかなる付加的な相互接続も犠牲にせずに、固定２サイクルのアービトレーション待ち時間を有する。データ出力経路の中に１６本のビット線があることで、最高１６のセクション間でアービトレートすることが可能であり、各セクションは、最高１６のアサートされた伝送要求を受信することができる。したがって、アービトレーション待ち時間は、１つのクロスバーについて２つのサイクルで、最高２５６×２５６のクロスバーを保持することができる。
【００６０】
一実施形態では、クロスバーセルが、アービトレーション動作モード中に第１の値にプログラムされるそのルーティング値を有する時には、アサートされた伝送要求が承諾されたことを確認するように、承諾信号が関連するソース回路にアサートされる。一実施形態において、ソース回路は、一度に単一の要求を送信することだけしかできず、そのような実施形態では、典型的に、１行あたり単一の承諾信号だけが発行される。しかしながら、代替の実施形態において、ソース回路は、一度に複数の要求を送信することが可能であり得、そのような実施形態では、１行あたり複数の承諾信号を提供することができ、１つの承諾信号が、各データ出力経路と関連する。
【００６１】
伝送回路は、様々な方法で動作させることができる。しかしながら、一実施形態において、伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第１の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第２の論理レベルとの間で直列に接続される、第１および第２のスイッチを備え、伝送動作モードで、第１のスイッチは、関連する構成記憶回路に記憶されたルーティング値に依存して開かれるか、または閉じられ、第２のスイッチは、データ入力経路上でのデータ入力に依存して開かれるか、または閉じられる。特定の一実施形態において、第１の論理レベルは、供給電圧レベルＶｄｄであり、第２の論理レベルは、接地される。したがって、このような配設によって、入力データ経路上のデータは、出力データ経路上のデータを直接的に駆動せず、その代わりに、出力データ経路上のデータは、第１の論理レベルに留まるか、または、第１および第２のスイッチがどちらも閉じられている場合に、第２の論理レベルにディスチャージされる。
【００６２】
このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要がなく、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズ変更する必要がない。よって、クロスバー回路のサイズが増加した場合、各クロスバーセルの回路を変更する必要がなく、その代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、そのようなクロスバー回路の設計を、（例えば、１２８×１２８または２５６×２５６の入力／出力を伴う）非常に大きいクロスバーとともに使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通しての全ての経路にわたる遅延は均一である。
【００６３】
一実施形態において、各該データ入力経路は、伝送動作モード中にｎビットの入力データ値を搬送するためのｎ本のワード線を備え、各該データ出力経路は、該伝送動作モード中にｎビットのデータ値を搬送するためのｎ本のビット線を備え、少なくとも第２のスイッチは、各ビット線について複製される。故に、伝送回路の設計は、いかなるクロスバー回路の著しい複雑さの増加も伴わずに、種々のサイズのデータ入力経路およびデータ出力経路に容易に適応することができる。
【００６４】
一実施形態では、伝送動作モードで、ルーティング値が該第１の値であり、かつ対応するワード線上の入力データビットが該第１の論理レベルである場合、データ出力経路のビット線は、第２の論理レベルにプルされる。したがって、構成記憶回路に記憶されたルーティング値が、データ入力経路を、データ出力経路に連結すべきであること、およびデータ入力経路上のデータが論理１レベルにあることを示している場合、データ出力経路は、第２の論理レベルにディスチャージされる。
【００６５】
一実施形態において、各クロスバーセルは、関連するデータ出力経路を第１の論理レベルにプリチャージしている間に、ルーティング値に関わらず第１のスイッチをオフにするための、および第１のスイッチをルーティング値によって制御し、続いて、関連するデータ出力経路を第１の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える。故に、そのような条件付きディスチャージ回路は、データ出力経路のビット線がプリチャージされている間に、入力から該ビット線を分離し、それによって、プリチャージ動作の電力消費を低減する。また、そのような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。
【００６６】
さらに、前述した伝送回路の配設を使用することによって、データ出力経路の全てのビット線を、第１の論理レベルにプリチャージし、次いで、データ入力経路の関連するワード線の入力値およびルーティング値に依存して、第１の論理レベルのままにするか、または第２の論理レベルに遷移させることに留意されたい。その結果、２つの隣接するビット線上の電圧が反対方向に移動するといった、いかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。
【００６７】
データ出力経路が、データ転送前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通してクロスバー回路の電力消費を低減することができる。具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路のビット線上のデータ出力を検出し、それによって、データ出力経路のビット線上の電圧が第２の論理レベルに到達する前に、第２の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える。遷移の検出は、データ出力経路のビット線が第２の論理レベルに到達する前に生じるので、データ出力経路のビット線を第１の論理レベルにプリチャージするのに必要な電力が、大幅に低減される。
【００６８】
よって、そのようなデータ出力経路のプリチャージが生じる実施形態では、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。具体的には、一実施形態では、クロスバー回路は、該複数のソース回路のそれぞれと該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、元の入力データがクロスバー回路を通過した場合に、データ出力経路を第２の論理レベルにプルすることが必要となり得る回数と比較した時に、データ出力経路を第２の論理レベルにプルし、続いて、それらを第１の論理レベルにプリチャージすることが必要である回数を低減し、復号回路は、データ出力経路上で符号化データ出力からソース回路によって提供される、元の入力データを識別するように、対応する復号動作を適用する。
【００６９】
特定の一実施形態において、符合化動作は、入力データから生成される符号化形式が、入力データが変化する時に、論理１の値だけであり、それに応じて、データ出力経路が、入力が変化した時にだけディスチャージされることを確実にする。復号回路は、次いで、データ出力経路上で出力される符号化データから、元の入力データを再作成する。
【００７０】
本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路は、複数のデータ入力経路のいずれかの端部に接続することができ、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続することができる。
【００７１】
一実施形態では、データ入力値を、データ入力経路に沿って、それらのデータ入力経路に接続された種々のクロスバーセルに伝播させるために、一連のワード線ドライバを使用してもよい。マルチキャスティングがサポートされておらず、故に、各ソースが１度に単一の出力経路へのアクセスしか要求しない、単一の要求の実施形態では、それが必要とされない状況で、データ入力経路の全体に沿ってデータを伝播させる際にかなりの電力が消費され得る。一実施形態において、この電力消費は、部分的に起動するネットワーク配設の提供によって多少なりとも解消される。具体的には、一実施形態では、各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの構成記憶回路に記憶されるルーティング値に依存して起動される。その結果、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも１つのクロスバーセルの構成記憶回路が、該第１の値に設定されたルーティング値を有する場合にだけ起動される。そのような手法は、かなりの省電力化をもたらすことができる。
【００７２】
本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第２の態様によれば、データ値を記憶するための、複数のメモリデバイスと、該複数のメモリデバイスに記憶された複数のデータ値に、データ処理動作を並列に実行するための、複数のプロセッサと、該複数のメモリデバイスのうちのいずれかから該複数のプロセッサのうちのいずれかにデータ値をルーティングするための、本発明の第１の態様に従うクロスバー回路とを備える、データ処理装置を提供する。
【００７３】
本発明の実施形態のクロスバー回路は、メモリデバイスのうちのいずれかから、プロセッサのうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張することができ、かつ電力効率の良い機構を提供する。
【００７４】
第３の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、該複数のソース手段のうちの１つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、該複数の宛先手段のうちの１つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、該データ入力経路手段のうちの１つと、該データ出力経路手段のうちの１つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、該複数のビット線手段のうちの少なくとも１つの上の電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されないことを、第２の値が示すようにプログラムされる、構成記憶手段と、伝送動作モードで、データ入力経路手段のワード線手段に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路手段のビット線手段上に出力するように、該第１の値を有するルーティング値に応答する、伝送手段と、関連する交差点のデータ入力経路手段に接続されたソース手段からクロスバーセル手段によって受信される伝送要求に依存して、該アービトレーション動作モードで動作させるための、アービトレーション手段であって、該ソース手段が、関連する交差点において、データ入力経路手段からデータ出力経路手段にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段のアービトレーション手段と組み合わせて動作して、複数のビット線手段上の電圧を選択的に修正するためのものであり、よって、該同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路手段と関連する唯一のクロスバーセル手段の構成記憶手段は、該第１の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、適応型優先順位スキームを適用するために、複数のビット線手段のうちのどれが、関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、アービトレーション手段による適応型優先順位スキームの各適用の間に、複数のビット線手段のうちの少なくとも１つの電圧に依存して、それに記憶される優先順位データを自己更新するための、優先順位記憶手段とを備える、クロスバーセル手段とを備える、クロスバー回路を提供する。
【００７５】
第４の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの１つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの１つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、方法は、該データ入力経路のうちの１つと、該データ出力経路のうちの１つとの間の各交差点と関連する、クロスバーセルを採用するステップと、アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、ルーティング値は、該複数のビット線のうちの少なくとも１つの上の電圧に依存してプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第１の値が示すようにプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第２の値が示すようにプログラムされる、ステップと、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、クロスバーセルを、該第１の値を有するルーティング値に応答させるステップと、該アービトレーション動作モードで、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信される伝送要求に依存して、クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正し、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第１の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、クロスバーセル内の優先順位記憶回路に記憶するステップと、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも１つの電圧に依存して、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を構成するステップとを含む方法を提供する。
【００７６】
以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。
【図面の簡単な説明】
【００７７】
【図１】一実施形態による、クロスバー回路のブロック図である。
【図２】各クロスバーセルに従って提供される優先順位記憶回路が、一実施形態でどのように使用され得るのかを示す図である。
【図３】クロスバーセルが、特定のデータ出力経路（本明細書では、チャネルとも称する）を解放することを可能にするために、解放回路が一実施形態でどのように使用され得るのかを示す図である。
【図４Ａ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｂ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｃ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｄ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｅ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｆ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｇ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図４Ｈ】一実施形態に従って、ＬＲＧ優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図５Ａ】列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図５Ｂ】列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図６Ａ】行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図６Ｂ】行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図７】一実施形態による、各クロスバーセル内に提供され得る伝送回路、アービトレーション回路、および優先順位記憶回路をより詳細に示す図である。
【図８】一実施形態による、各クロスバーセル内に提供され得る伝送回路および解放回路をより詳細に示す図である。
【図９】一実施形態による、パケットスイッチングクロスバーの実装を概略的に例示する。
【図１０Ａ】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｂ】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｃ】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１０Ｄ】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ａ】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｂ】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｃ】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１１Ｄ】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図１２】一実施形態による、各クロスバーセル内に提供される構成記憶素子の配設をより詳細に示す図である。
【図１３Ａ】一実施形態による、ディスチャージ信号およびセンスイネーブル（ＳＥ）信号を発生させるためのパルス発生器の構成を示す図である。
【図１３Ｂ】一実施形態による、ディスチャージ信号およびセンスイネーブル（ＳＥ）信号を発生させるためのパルス発生器の構成を示す図である。
【図１３Ｃ】一実施形態による、ディスチャージ信号およびセンスイネーブル（ＳＥ）信号を発生させるためのパルス発生器の構成を示す図である。
【図１４】一実施形態に従って、ｃｈａｎｎｅｌ＿ｆｒｅｅ信号がどのように発生するのかを示す図である。
【図１５Ａ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図１５Ｂ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図１５Ｃ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図１５Ｄ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図１５Ｅ】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図１６】一実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図１７Ａ】代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図１７Ｂ】代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図１８】一実施形態に従って、部分的に有効化された構成において、クロスバー回路がどのように使用され得るかを示す図である。
【発明を実施するための形態】
【００７８】
図１は、一実施形態によるクロスバー回路と、それに接続された複数のソース回路および宛先回路とを備える、提案されるスイッチングファブリックの上位図を示す。クロスバー回路は、クロスバー回路を通して第１の方向に延びる複数のデータ入力経路１２と、第１の方向を横断する第２の方向に延びる複数のデータ出力経路５０とを含む。図１の実施形態において、これらの経路は、どちらもマルチビットバスによって形成されており、特に、各データ入力経路は、複数のワード線を備え、各データ出力経路は、複数のビット線を備える。
【００７９】
各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル２０が提供され、関連するデータ入力経路上で受信したデータを、関連するデータ出力経路上に選択的にルーティングするために使用される。各クロスバーセルは、各クロスバーセルのオン／オフ状態を記憶するための、構成記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連するデータ出力経路上にルーティングされずに、単にセルを通過するだけである。
【００８０】
各データ入力経路１２は、そこから入力データ１０を受信し得る、関連するソース回路３０に連結され、各データ出力経路５０は、そのデータ出力経路上に提供される出力データ７０を受信するように配設される、関連する宛先回路４０に連結される。
【００８１】
示される実施形態において、各データ出力経路５０のビット線は、プリチャージモジュール５５を使用してプリチャージされ、次いで該ビット線は、ソース回路のうちの１つから、そのソース回路のデータをデータ出力経路に接続するクロスバーセルへのデータ入力に依存して、選択的にディスチャージされる。出力データ７０を生成するために、このビット線の選択的なディスチャージは、感知増幅器回路６５によって検出される。
【００８２】
クロスバーが伝送動作モードにある時、データは、前述の様態でクロスバー回路を通してルーティングされるが、クロスバー回路は、必ずしも伝送動作モードにあるとは限らない。具体的には、種々のソース回路３０によって発行される伝送要求間で何らかのコンフリクトを検出して解決する間、クロスバー回路はアービトレーション動作モードを有する。具体的には、スイッチングファブリックの中の同じ宛先回路に対する複数の要求は、コリジョンと称され、ソースおよび宛先の数が増加するにつれて、コリジョンはより頻繁になる。後により詳細に論じるように、各クロスバーセル２０は、アービトレーション回路を含み、該アービトレーション回路は、アービトレーション動作モードで、複数のアサートされた伝送要求の存在を検出するように、およびそのような複数のアサートされた伝送要求の場合に、適応型優先順位スキームを実装してそれらのコンフリクトを解決するように、データ出力経路のビット線を再使用して、他のクロスバーセルのアービトレーション回路と組み合わせて動作する。提案される手法は、そのようなコリジョンを検出して解決するように、高速、低電力で、かつ高度に拡張性のある解決法を提供する。
【００８３】
各クロスバーセルは、適応型優先順位スキームを実装した時に、アービトレーション回路によって参照される優先順位データを記憶するための、優先順位記憶回路を含み、該優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それらの中に記憶した優先順位データを自己更新するように構成される。
【００８４】
図１では、ソース回路がクロスバーの左側に示され、宛先回路がクロスバーの底部に示されているが、ソース回路は、クロスバー回路のどちら側に提供することもでき、同様に、宛先回路は、データ出力経路のいずれかの端部に提供することができる。したがって、本発明の実施形態のクロスバー回路は、ソースをどちらかの水平端部に配置し、宛先をどちらかの垂直端部に配置するといった柔軟性を提供することを認識されるであろう。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを単純化する。
【００８５】
図２は、アービトレーション動作モード中のコンフリクトを検出して解決するために、データ出力経路のビット線がどのように再使用され得るのかを示す。この実施例では、伝送要求０〜１５を発行し得る、クロスバー回路に接続された１６のソース回路がある。任意の特定のデータ出力経路５０について、各ソース回路は、感知増幅器およびラッチの形態で、その構成記憶回路内に組み込まれるクロスバーセル２０と関連する。したがって、ソース０は、感知増幅器およびラッチ１００を含有するクロスバーセルと関連し、ソース１は、感知増幅器およびラッチ１０５を含有するクロスバーセルと関連し、ソース２は、感知増幅器およびラッチ１１０を含有するクロスバーセルと関連し、残りのソース回路も同様に、ソース回路１５は、感知増幅器およびラッチ１１５を含有するクロスバーセルと関連する。
【００８６】
アービトレーション動作モードにおいて、プリチャージモジュール５５は、各データ出力経路５０の全てのビット線をプリチャージし、その後、それらのビット線は、アサートされた伝送要求に依存して、また適応型優先順位スキームに従って、選択的にディスチャージされる。この実施例では、各データ出力経路５０は、１６本のビット線を備え、感知増幅器およびラッチ回路のそれぞれは、それらのビット線のうちの異なる１つと関連することが分かる。ビット線のプリチャージに続いて、種々のソース回路によってアサートされた伝送要求が評価されるが、本実施形態では、アサートされた伝送要求は、論理１の値を取る。
【００８７】
図２に示されるように、各クロスバーセルの優先順位記憶回路は、そのクロスバーセルの感知増幅器およびラッチが接続されるビット線を除く各ビット線について１つの、一連の優先順位記憶素子１３０を備える。具体的には、図２に示されるように、各クロスバーセルは、そのクロスバーセルの感知増幅器およびラッチ回路に接続されたビット線を除くビット線のそれぞれと関連する、一連のトランジスタ１３５を含む。次いで、アサートされた伝送要求が存在する場合は、それらの優先順位記憶素子にプログラムされた値に依存して、それらのトランジスタ１３５のゲートに値を提供するために、優先順位記憶素子１３０が使用される。
【００８８】
図２に示されるように、濃い陰影を付けた優先順位記憶素子１３０の全ては、現在、論理１の値にプログラムされ、明るい陰影を付けた優先順位記憶素子１３０の全ては、現在、論理０の値にプログラムされている。したがって、アサートされた伝送要求がある場合には、論理１の値を記憶する優先順位記憶素子に取り付けられたトランジスタがビット線をディスチャージする一方で、論理０の値を記憶する優先順位記憶素子に取り付けられたトランジスタは、ディスチャージしない。図２に示される実施例では、適応型優先順位スキームの現在の適用について、ソース１５が最も高い優先順位を有し、よって、該ソース１５が伝送要求をアサートした場合、これは、その関連する感知増幅器およびラッチ回路１１５のビット線を除くビット線の全てのディスチャージを引き起こす。ソース１４は、次に高い優先順位を有し、ソース１３が次に高い優先順位を有する等、ソース０が最も低い優先順位を有する。具体的には、見て分かるように、ソース０からの伝送要求（すなわち、要求０）がアサートされた場合、これは、いかなるビット線もディスチャージさせない。
【００８９】
選択的なディスチャージ動作に続いて、次いで、アサートされた伝送要求を受信する任意の感知増幅器およびラッチ回路は、関連するクロスバーセルが、伝送動作モードで、その入力をその出力に連結するかどうかを決定するルーティング値を記憶するために、その関連するビット線をサンプリングする。具体的には、ルーティング値が第１の値（一実施形態において、これは、論理１の値である）を有する場合にだけ、関連するクロスバーセルが伝送動作モード中にその入力データをその出力に接続し、また前述したスキームによって、アービトレーション動作モードの終了時には、１つのクロスバーセルだけが、論理１の値に設定された感知増幅器およびラッチ回路を有することが理解されるであろう。
【００９０】
したがって、一例として、ソース１およびソース２の両方が、アサートされた伝送要求を発行した場合、アサートされた要求１およびアサートされた要求２の両方が、第１のビット線をディスチャージさせることが分かる。その結果、ソース０が要求をアサートする場合であっても、関連する感知増幅器およびラッチ回路１００は、アービトレーション動作モードの終了時に、論理０の値をラッチするので、その要求は承諾されない。さらには、アサートされた要求２が、第２のビット線をディスチャージさせ、よって、アービトレーション動作モードの終了時に、ソース１と関連する感知増幅器およびラッチ回路１０５が論理０の値をラッチする。したがって、ソース１が伝送要求をアサートした場合であっても、ソース２もアサートされた伝送要求を発行していたのであれば、その伝送要求は承諾されない。そのサイクルでいずれの他のソース回路も伝送要求をアサートしていないと仮定すると、その場合、ソース回路２と関連する感知増幅器およびラッチ回路１１０は、アービトレーション動作モードの終了時に論理１の値をラッチし、それに応じて、ソース２からの伝送要求が承諾されることが分かるであろう。
【００９１】
上記の説明から、受信するアサートされた伝送要求が、より低い優先順位のソースからの他のアサートされた伝送要求の抑止を引き起こすことが分かる。次いで、任意のアサートされた伝送要求に対する感知増幅器およびラッチ回路は、要求が承諾されたかどうかを判定するために、それらの関連するビット線をサンプリングする。この技法によって、単一のサイクルでコリジョンを検出して解決することができる。さらに、アービトレーション動作モード中にコンフリクトを検出して解決するために使用されるのと同じビット線が、それに続く伝送動作モードで、次いで、データの転送のために使用されることが分かる。
【００９２】
アサートされた伝送要求は、多数の異なる方法でクロスバー回路の中に入力することができるが、一実施形態では、アサートされた伝送要求を入力するために、データ入力経路のワード線が使用される。したがって、各データ入力経路が１６本のワード線を有する実施形態を検討した場合、任意の特定のソース回路が、それらのワード線を介して、最高１６のデータ出力経路のうちのどれが、アービトレーション動作モードで、異なるデータ出力経路と関連している個々のワード線のそれぞれの伝送要求をアサートしたいのか特定することができることが分かる。
【００９３】
図２には明確に示されていないが、優先順位記憶素子１３０に加えて、プリチャージモジュール５５によって実行されるプリチャージ動作モード中に、トランジスタ１３５をオフにすることを確実にするように、典型的に、各トランジスタ１３５のためのいくつかの関連する分離回路も存在する。
【００９４】
一実施形態では、各クロスバーセルには、もはや必要でなくなった時にチャネルを解放するための機構を提供するように、解放回路が提供される。具体的には、ソース回路３０がチャネルへのアクセスを承諾されると、そのソース回路だけが、以降の異なるソース回路への割り当てのためにチャネルを解放することができ、このチャネルの解放は、現在そのチャネルへのアクセスが承諾されているソース回路からのアサートされた解放要求に応答して、解放回路によって実行される。あるチャネルが特定のソース回路に対して承諾されても、いかなる他のソース回路もそのチャネルへのアクセスを得ることはできず、また、他のソース回路によって発行されたそのチャネルに関して、いずれのアサートされた伝送要求も作用しない一方で、チャネルは、ソース回路に割り当てられる。
【００９５】
図３は、一実施形態に従って加えられる、解放回路１４０を示す。優先順位記憶素子と同様の方法で、解放回路１４０は、関連するトランジスタ１４５を駆動するために使用され、この場合、トランジスタは、ルーティング値を決定するために同じクロスバーセルの感知増幅器およびラッチ回路によってサンプリングされる、ビット線に連結される。したがって、ソース回路がチャネルを解放したいと望む時には、解放要求を解放回路１４０に送信し、論理１の値をトランジスタ１４５に出力させて、関連するビット線をディスチャージさせる。その後、関連する感知増幅器およびラッチは、ビット線をサンプリングし、それによって、そこに論理０の値を記憶し、したがって、チャネルを解放する。ここでも、プリチャージモジュール５５によって実行されるプリチャージ動作中に、トランジスタ１４５をオフにすることを確実にするように、いくつかの関連する分離回路が各トランジスタ１４５に提供される。
【００９６】
一実施形態では、関連するデータ入力経路のワード線が解放要求または伝送要求を搬送しているかどうかを識別するために、アービトレーション動作モードで、解放要求が発行され、アービトレーション動作モードで、ソース回路によって制御信号が発行される。したがって、今回はアサートされた解放要求を関連する解放回路１４０に搬送するために、ここでも、データ入力経路のワード線を再使用することができ、それによって、以前に特定のソース回路に対して承諾されたチャネルを解放するために特に効率的な機構を提供する。
【００９７】
前述のように、各クロスバーセルの優先順位記憶回路は、適応型優先順位スキームを実装した時にアービトレーション回路によって参照される優先順位データを記憶し、優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それに記憶される優先順位データを自己更新するように構成される。適応型優先順位スキームがＬＲＧ優先順位スキームである特定の実施形態についてこれが達成される様態を、図４Ａ〜図４Ｈを参照してさらに論じる。
【００９８】
図４Ａは、チャネルの要求をアサートすることができる、５つのソース回路を伴う例を示す。この実施例では、各クロスバーセルの優先順位記憶回路は、クロスバーセルが連結されるチャネルに関して、その記憶された値が、関連するソース回路の優先順位を集合的に示す、４つの優先順位記憶素子から成る。図２を参照して前に論じたように、アービトレーション機構は、２つの段階で実装される。クロックの正相において、ビット線は、論理１のレベルにプリチャージされ、これに続いて、クロックの負相において、それらのビット線は、交差点に記憶される優先順位に基づいて、要求がソース回路によってアサートされる交差点で選択的にディスチャージされる。
【００９９】
図４Ａにおいて、各クロスバーセルの優先順位記憶回路は、各チャネルに関して、所定の初期の優先順位を各ソース回路に割り当てるように、リセット動作を受ける。図４Ａに示されるチャネルの実施例について、優先順位は、昇順に割り当てられ、ソース４が最も高い優先順位を有する一方で、ソース０は、最も低い優先順位を有する。
【０１００】
次いで、図４Ｂに示されるように、ソース回路のうちの１つまたは複数が、伝送要求をアサートする。図４Ｂの実施例では、ソース１および３は、示されるチャネルに関して、伝送要求をアサートすると仮定される。図４Ｃに示されるように、ビット線をプリチャージすると、アサートされた伝送要求は、記憶された優先順位データに依存して、ビット線のうちのいくつかをディスチャージさせる。具体的には、ソース３と関連する優先順位記憶素子１６０、１６２、および１６４に記憶される論理１の値は、それぞれ、ビット線１７０、１７２、および１７４をディスチャージさせる。ソース１と関連する優先順位記憶素子１６６の論理１の値も、ビット線１７０をディスチャージさせる。
【０１０１】
図４Ｄに示されるように、選択的なディスチャージプロセスに続いて、ソース回路１およびソース回路３と関連する感知増幅器およびラッチ（ＳＡＥＬ）回路１８０、１８２は、それぞれ、次いでそれらのビット線を評価する。ＳＡＥＬ回路１８２は、ビット線１７６がディスチャージされなかったので、論理１の値を感知し、ソース回路３のアサートされた伝送要求が成功したことを示す。一方、ＳＡＥＬ回路１８０は、ビット線１７２がディスチャージされたので、論理０の値を感知し、ソース回路１のアサートされた伝送要求が成功しなかったことを示す。ソース回路３は、ここで、チャネル上でデータを送信することができる。
【０１０２】
図４Ｅに示されるように、ソース回路３は、データの送信を終了した時に解放要求をアサートする。図４Ｆに示されるように、ビット線はプリチャージされ、その後、ビット線１７６は、ソース回路３からアサートされた解放要求が与えられる解放回路１９０によってディスチャージされる。次いで、ＳＡＥＬ回路１８２が論理０の値を感知し、それによって、チャネルを解放する。
【０１０３】
その後、図４Ｇに示されるように、優先順位記憶回路に記憶された優先順位が更新されるが、この更新プロセスは、ディスチャージされたビット線１７６に連結された優先順位記憶素子１９２の列、および解放要求を受信するクロスバーセル内に含有された優先順位記憶素子１９４の行の両方に影響を及ぼす。具体的には、図４Ｈに示されるように、列１９２内の全ての優先順位記憶素子には論理１の値が書き込まれる一方で、行１９４内の全ての優先順位記憶素子には論理０の値が書き込まれる。その結果、ソース回路３が現在最も低い優先順位を有することが分かる。ソース回路４の優先順位は、ソース回路３よりも高い優先順位であったので、元の状態に留まる。加えて、ソース回路０、１、および２は、それらの優先順位をアップグレードする。図４Ｈに列記される旧優先順位および新優先順位の比較によって、次にアービトレーションプロセスが適用される時には、アサートされた伝送要求を評価する時に新優先順位が使用されるので、この優先順位更新プロセスが、ＬＲＧの実装を達成することが分かる。
【０１０４】
例示目的だけのために５つの入力を検討してきたが、該技法は、任意の数の入力に使用できることを理解されるであろう。
【０１０５】
図５（図５Ａ及びＢ）は、各クロスバーセル内に提供される主な構成要素を示し、具体的には、行０、１、および２に関して、列０に提供されるクロスバーセルを示す。したがって、クロスバーセル２００は、行０と列０との間の交差点に提供され、クロスバーセル２３０は、行１と列０との間の交差点に提供され、クロスバーセル２６０は、行２と列０との間の交差点に提供される。
【０１０６】
最初に、クロスバーセル２００を検討すると、これは、構成記憶回路２０５、伝送回路２１０、チャネル解放回路２１５、アービトレーション回路２２０、および優先順位記憶回路２２５から構成される。アービトレーション動作モードで、伝送要求は、データ入力経路（図５では、入力バスとも称する）上でアサートされ、それに応じて、ソース０が列０の伝送要求をアサートすることを望む場合は、入力バスのビット０を設定することによってそれを行う。見て分かるように、ビット０の値は、ＡＮＤゲート２０７に入力され、他の入力は、要求チャネル制御信号によって駆動される。アービトレーション動作モード中に、入力バス上で任意のアサートされた伝送要求を発行している場合、ソース回路は、要求チャネル制御信号をアサートする。つまり、ソース０がチャネル０のアサートされた伝送要求を発行している場合、ＡＮＤゲート２０７へのどちらの入力も論理１の値となり、それに応じて、アービトレーション回路２２０および構成記憶回路２０５の両方が起動される（構成記憶回路は、ＯＲゲート２０８を介して起動される）。
【０１０７】
見て分かるように、構成記憶回路２０５は、チャネル０のためのデータ出力経路（図５では、出力バスとも称する）のビット０に接続され、アービトレーション動作モードの終了時に、そこに記憶されるルーティング値を決定するために、出力バスのビット０の値をサンプリングする。しかしながら、その時点の前に、アービトレーション回路２２０は、出力バスのビット線を選択的にディスチャージするために、アサートされた伝送要求を受信したその列と関連する任意の他のクロスバーセルのアービトレーション回路２５０、２８０等と関連して動作する。具体的には、図５で分かるように、クロスバーセル２００のアービトレーション回路２２０は、ビット線０を除く出力バスの他のビット線の全てに接続され、優先順位記憶回路２２５にプログラムされた優先順位データに依存して、それらのビット線を選択的にディスチャージする。
【０１０８】
前述のように、アービトレーション回路２２０の選択的なディスチャージ動作に続いて、構成記憶回路２０５は、次いで、その関連する出力ビット線の値をサンプリングし、具体的には、そのビット線がまだプリチャージ電圧レベルにある場合は、ソース０がチャネル０へのアクセスを承諾されていることを示すように、構成記憶回路２０５内に論理１のルーティング値を記憶する。列の中のクロスバーセルのアービトレーション回路によって実装される適応型優先順位スキームの性質のため、アービトレーション動作モードの終了時に、任意の特定の列に対して１つのクロスバーセルだけが、その構成記憶回路を論理１の値に設定し、それに応じて、１つのソース回路だけが、いずれかの時点で特定の宛先回路へのアクセスを承諾され得る。
【０１０９】
アービトレーション動作モードに続いて、スイッチングファブリックは、伝送動作モードに入り、その間、特定のチャネルへのアクセスを承諾された各ソース回路は、入力バス上でその入力データを提供する。故に、ソース０が列０へのアクセスを承諾されたと仮定すると、入力バス上で伝送回路２１０にそのデータが発行され、構成記憶回路２０５に論理１の値が記憶されているとすれば、その場合、その入力をチャネル０のための出力バスに接続する。
【０１１０】
前述のように、アービトレーション動作モードでは、チャネルが以前に特定のソースに承諾されている場合、それらを解放することも可能である。したがって、例として、ソース０が以前にチャネル０へのアクセスを承諾されており、それに応じて、構成記憶回路２０５がそこに記憶された論理１のルーティング値を有する場合、アービトレーション動作モードで、チャネル０のアサートされた解放要求を特定するように、ソース０は、入力バスのビット０の論理１の値とともに、ＡＮＤゲート２１７への解放チャネル制御信号を発行することができる。これは、論理１の値をチャネル解放回路２１５に入力させ、ＯＲゲート２０８を介して構成記憶回路を起動させる。この論理１の値に応答して、チャネル解放回路が、出力バスのビット０をディスチャージし、次いで、構成記憶回路２０５が、出力バスを再度サンプリングし、それによって、論理０の値を構成記憶回路２０５内に記憶させる。
【０１１１】
アサートされた解放要求はまた、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を起動させる。前に論じ、図５に示されるように、優先順位記憶回路は、同じクロスバーセルの構成記憶回路が連結されるビット線以外の、出力バスの各ビット線に連結される。加えて、図１０Ｄを参照して後により詳細に論じるように、優先順位記憶回路は、負荷優先順位信号を受信するが、これは、一実施形態では、自己更新プロセス中に、その値が更新される個々の優先順位記憶素子のうちの少なくともいくつかを識別するために（優先順位記憶回路に連結されるビット線の電圧と組み合わせて）使用される。
【０１１２】
一実施形態において、要求チャネル制御信号および解放チャネル制御信号の両方を２ビット信号に符号化することができ、その２ビット信号を用いて、アービトレーション動作モード中に、関連するソース回路が任意のアサートされた伝送要求を発行しているかどうか、任意のアサートされた解放チャネル要求を発行しているかどうか、または任意のアサートされた要求を発行していないかどうかを特定する。
【０１１３】
クロスバーセル２３０および２６０は、クロスバーセル２００と同一の方法で構成されており、したがって、クロスバーセル２３０の素子２３５、２３７、２３８、２４０、２４５、２４７、２５０、および２５５、ならびにクロスバーセル２６０の素子２６５、２６７、２６８、２７０、２７５、２７７、２８０、および２８５は、それぞれ、クロスバーセル２００の素子２０５、２０７、２０８、２１０、２１５、２１７、２２０、および２２５に対応する。しかしながら、図５から明らかなように、これらの種々の素子が種々のワード線およびビット線に接続される方法は、若干異なる。クロスバーセル２００、２３０、２６０のそれぞれが列０と関連するので、アサートされた伝送要求およびアサートされた解放要求は、常時、関連する入力バスのビット０に提供され、故に、この目的のために、３つ全てのクロスバーセルがビット０（ワード線０）に接続される。しかしながら、ビット線への接続を検討すると、クロスバーセル２００の構成記憶回路２０５は、出力バスのビット０に接続されているが、クロスバーセル２３０の構成記憶回路２３５は、ビット１に接続され、クロスバーセル２６０の構成記憶回路２６５は、ビット２に接続されていることが分かる。各クロスバーセルのチャネル解放回路は、関連する構成記憶回路と同じビット線に接続される。一方、アービトレーション回路および優先順位記憶回路は、関連する構成記憶回路に接続されたビット線を除くビット線の全てに接続される。伝送動作モードでは、関連する構成記憶回路のルーティング値が論理１の値に設定されている場合、伝送回路は、入力バス上のデータを関連する出力バスに接続するので、当然、伝送回路はワード線およびビット線の全てに接続される。
【０１１４】
図６（図６Ａ及びＢ）は、図５と同様の図であるが、行０と、列０、列１、および列２との間の交差点にそれぞれ提供される、クロスバーセル２００、３００、３３０を示す。クロスバーセル２００は、図５を参照して前述した通りであり、クロスバーセル３００、３３０は、同じ方法で構成される。故に、クロスバーセル３００の素子３０５、３０７、３０８、３１０、３１５、３１７、３２０、および３２５、ならびにクロスバーセル３３０の素子３３５、３３７、３３８、３４０、３４５、３４７、３５０、および３５５は、それぞれ、クロスバーセル２００の素子２０５、２０７、２０８、２１０、２１５、２１７、２２０、および２２５に対応する。この実施例では、クロスバーセルの全てが同じ行と関連するので、該クロスバーセルは、同一の様態で、それらのそれぞれの出力バスのビット線に接続される。しかしながら、入力バスを検討した時に、チャネル０に対するアサートされた伝送要求または解放要求は、ワード線０に入力される一方で、チャネル１に対するアサートされた伝送または解放要求は、ワード線１に入力され、チャネル２に対するアサートされた伝送または解放要求は、ワード線２に入力される。故に、各クロスバーセルの構成記憶回路、チャネル解放回路、およびアービトレーション回路は、それに応じて、異なる入力ワード線によって駆動される。
【０１１５】
図７は、伝送回路およびアービトレーション回路が、各ビット線にどのように接続されているかをより詳細に示す。具体的には、素子４２０は、個々のビット線と関連する伝送回路の一部を示し、素子４４０は、個々のビット線と関連するアービトレーション回路の一部を示す。
【０１１６】
１６ビット幅のチャネルを検討すると、アービトレーション回路は、そのクロスバーセルの構成記憶回路４１０が接続されるビット線を除くビット線の全てと関連するので、１６本のビット線のうちの１５本が図７に示す様態で接続される。図５および図６を参照して前述したように、構成記憶回路４１０は、クロスバーセルに提供されると、アサートされた伝送要求またはアサートされた解放要求が存在する場合、そのクロスバーセルに設定される、記憶構成信号を受信し、その設定された記憶構成信号に応答して、接続される特定のビット線上の値をその構成としてサンプリングする。これは、アービトレーション動作モード中に起こり、アービトレーション動作モードの終了時に、これが論理１のルーティング値を構成記憶回路４１０に記憶させる結果となる場合、クロスバー回路が続いてデータ伝送動作モードに入る時に、伝送回路４２０のトランジスタ４２２がオンになることが分かる。故に、対応するワード線上のデータ入力も論理１の値である場合、これは、トランジスタ４２４をオンにさせ、それに応じて、ビット線４２６をディスチャージさせ、このビット線は、プリチャージ回路４００によって論理１のレベルに予めプリチャージされている。ビット線４２６のいずれのディスチャージも、感知増幅器回路４３０によって感知される。
【０１１７】
アービトレーション動作モードでは、伝送回路を使用せず、その代わりに、アービトレーション回路４４０を使用して、トランジスタ４４２によって受信されるＡＮＤゲート４５５からの入力に依存して、ビット線４２６を選択的にディスチャージする。具体的には、優先順位記憶素子４５０が論理１の値を記憶し、かつアサートされた伝送要求を対応するワード線上で受信した場合、論理１の値がトランジスタ４４２に入力され、ビット線４２６をディスチャージさせる。アービトレーション動作モードが終了するころに、アサートされた伝送要求を受信した別のクロスバーセルのビット線４２６に接続された任意の構成記憶回路は、そのクロスバーセルに適用可能なルーティング値の値を決定するために、ビット線上の値をサンプリングする。
【０１１８】
各関連するアービトレーション素子４４０には別個の優先順位記憶素子４５０が提供され、その値は、ｒｅｌｅａｓｅ＿ｃｈａｎｎｅｌ信号が存在する場合に更新される一方で、対応するワード線の解放入力も論理１の値である。後に図１０Ｂを参照して論じるように、ビット線４２６上の負荷ｐｒｉｏｒｉｔｙ＿ｂ信号および電圧も、優先順位更新プロセス中に使用される。さらに、優先順位記憶素子は、リセット信号を受信するが、設定されると、所定の値（優先順位記憶素子の形態に依存して、１または０）を優先順位記憶素子に書き込ませる。
【０１１９】
図８は、一実施形態による伝送回路および関連する解放回路を示す。１６ビットのチャネルを検討すると、１本のビット線が、この様態で各クロスバーセル内に接続される。伝送回路の動作は、図７を参照して論じたものと変わらず、故に、ここでは詳細に論じない。しかしながら、図７のアービトレーション回路４４０の代わりに、解放回路４６０が、このビット線４６２に接続されている。また、クロスバーセルの構成記憶回路４１０も、ビット線４６２に接続されていることにも留意されたい。ＡＮＤゲート４７０は、図５および図６においてチャネル解放回路に供給するように示されるＡＮＤゲートに対応し、したがって、解放チャネル制御信号がアサートされ、かつ関連する入力ワード線上のビットがアサートされた場合、これは、特定のチャネルのアサートされた解放要求の存在を示し、図８から分かるように、トランジスタ４６５をオンにして、ビット線４６２をディスチャージする結果となる。その後に、構成記憶回路４１０は、ビット線４６２上の値を再度サンプリングさせるアサートされた記憶構成信号を受信させられ、それによって、論理０のルーティング値がそこに記憶され、したがって、チャネルが解放される。
【０１２０】
上記の技法を使用すると、図９に概略的に示されるように、パケットスイッチングクロスバーを実装することが可能となる。パケットスイッチング環境において、ソースは、最初に要求を送信し、次いで、承諾された信号を受信するとデータを送信し、要求およびデータは、同じ入力線上で送信される。本発明の実施形態の前述の考察から、アサートされた伝送要求を、その後伝送動作モードで、データを搬送するために使用されるのと同じワード線上で入力することを可能にすることにより、本発明の実施形態のクロスバー回路が、このようなパケットスイッチングの実施形態に容易に役立つことが分かる。図５および図６を参照して前に論じた要求チャネルおよび解放チャネル制御信号は、２ビットの要求／解放入力線５００を介して入力することができ、アサートされた伝送要求またはアサートされた解放要求は、関連するデータ入力経路１２上で入力される。関連するソース回路が承諾されたことを示すように、アービトレーション動作モード中に、クロスバーセルの中の特定の構成記憶回路が論理１の値を記憶する時、承諾信号が線５０５上でソース回路へと返される。任意の特定のソース回路が、いずれかの時点で１つの出力チャネルを要求することしかできない、単一の要求の実装では、単一の承諾信号線５０５だけしか必要としない。しかしながら、マルチキャスティング（１つのソース回路が、任意の時点で複数のチャネル上でデータを同報通信することができる）をサポートする代替の実施形態では、その場合、ソース回路は、いずれかの時点で複数のアサートされた伝送要求を発行することができ、そのような実施形態では、マスターがどのチャネルのアクセスを承諾したのかを識別するために、マルチビットの承諾信号線５０５を提供することができる。
【０１２１】
アービトレーション動作モード中は、クロスバーセルのそれぞれも、関連するチャネルが要求中のソースに自由に割り付けられるかどうかを示す、チャネルフリー信号を線５１０上で受信するが、この信号の使用は、後に図１０および１１を参照して論じる。図１０Ｄを参照して後により詳細に論じるように、負荷ｐｒｉｏｒｉｔｙ＿ｂ信号は、経路５１５上で提供されるが、これは、プリチャージモジュール５５によってプリチャージされ、次いで、アサートされた解放要求に応答して、優先順位記憶素子の中の優先順位データが更新された時にディスチャージされる。
【０１２２】
したがって、図９および本発明の実施形態の前の考察から、このパケットスイッチングクロスバーの実装において、プリチャージおよび条件付きディスチャージスキームが、伝送動作モード中にクロスバー回路を通してデータを伝送するために使用されることが理解されるであろう。前述のアービトレーション動作モード中には、コリジョンの検出および解決のためにビット線が再使用され、アサートされた伝送要求を伝送するためにワード線が使用される。２ビットの要求／解放信号は、特定のアービトレーション動作モード中に、伝送要求または解放要求がアサートされるかどうかを特定するために使用することができる。伝送要求がアサートされたと仮定すると、その場合、その要求が要求されたチャネルを獲得することに成功したかどうかをソースに示すために、承諾信号が使用される。
【０１２３】
既存のワード線（入力バス）およびビット線（出力バス）は、前述した機能性の全てを実現するために使用され、それによって、これらの機能性の全てが、最小限のルーティングオーバーヘッドで達成されることを可能にする。
【０１２４】
図１０Ａ〜図１０Ｄは、第１の実施形態に従って、各クロスバーセル２０内に提供される回路をより詳細に示しており、ソース回路は、一度に単一の伝送要求を発行するだけであってもよい。図７および図８の前の考察から明らかなように、出力経路の各ビット線には、伝送回路を形成するために一対のトランジスタ７１０、７１５、７２０が提供され、これらのトランジスタのうちの一方は、その入力で、対応するワード線上の値を受信し、もう一方のトランジスタは、その入力で、関連する構成記憶素子７００のルーティング値を受信する。プリチャージ動作段階中に、ディスチャージ信号は、論理０の値に設定され、条件付きディスチャージ回路７０５に、構成記憶回路７００のコンテンツから各伝送回路のこれらのトランジスタ７１０、７１５、７２０を分離させる。しかしながら、プリチャージ動作が終了して、感知動作が開始したことを示すように、ディスチャージ信号がＨｉｇｈになる時、構成記憶素子７００は、今度は、各伝送回路の第２のトランジスタ７１０、７１５、７２０を駆動するために使用される値を提供し、第１のトランジスタで受信される入力データに依存して、関連するビット線の選択的なディスチャージを引き起こすことが分かる。条件付きディスチャージ回路７０５もＷＬ＿ｂ信号を使用し、図１０Ｂは、ＷＬ＿ｂ信号がどのように発生し、図１０Ｂの回路７６５がクロスバーセルあたり一度提供されるのかを示す。
【０１２５】
図１０Ａの右側に示されるように、ビット線のうちの１つは、ＡＮＤゲート７３２および関連するトランジスタ７１２によって形成される解放チャネル回路に接続される一方で、他の全てのビット線は、それぞれ、アービトレーション回路および関連する優先順位記憶素子７１７、７４２、および７２２、７５２に接続される。構成要素７３０、７４０、および７５０のそれぞれは、構成要素７６０と組み合わせて機能し、プリチャージ動作モード中に、関連するトランジスタ７１２、７１７、７２２を分離する、条件付きディスチャージ回路を提供する。具体的には、プリチャージ動作モード中は、ディスチャージ信号が低くなり、ＷＬ信号の値に関わらずブロック７６０からの出力を低くさせ、その結果、構成要素７３０、７４０、および７５０の出力を低くさせ、それによって、トランジスタ７１２、７１７、７２２をオフにする。
【０１２６】
しかしながら、ディスチャージ信号が高くなる時、よってＷＬ信号が高くなる場合、これは、論理１の値を構成要素７６０から出力させる。したがって、アービトレーション回路ならびに関連する優先順位記憶素子７１７、７４２、および７２２、７５２を検討すると、関連する記憶素子７４２、７５２も論理１の値を記憶する状況でのアサートされた伝送要求の場合、Ｒｅｌｅａｓｅ＿ｂ信号が高くなり（アサートされた解放要求ではなく、アサートされた伝送要求があるため）、したがって、ＡＮＤゲート７４３、７５３からの出力が高くなり、関連するトランジスタ７１７、７２２をそれぞれディスチャージさせ、それによって、前に論じた優先順位スキームが実装される。しかしながら、優先順位記憶素子のうちのいずれかが論理０の値を記憶している場合、またはアサートされた伝送要求が存在しないのでＷＬ信号がアサートされない場合は、対応するトランジスタ７１７、７２２はディスチャージしない。
【０１２７】
同様に、解放回路７１２、７３２を検討すると、アサートされた解放要求が存在する場合、解放信号および入力０のワード線の両方が高く設定された場合、これは、解放トランジスタ７１２をディスチャージさせ、その後に、構成記憶素子７００によってビット線が再サンプリングされ、ルーティング値が０にリセットされる。解放信号が高く設定されている間は、ｒｅｌｅａｓｅ＿ｂ信号が低くなり、それに応じて、解放されている同じビット線に接続された他のクロスバーセルの優先順位記憶素子は、解放トランジスタ７１２を介して実行されている解放動作に干渉することができない。
【０１２８】
図１０Ｂは、アサートされた要求チャネルまたは解放チャネルの信号を認めるために使用される回路を示す。それは、要求／解放チャネルの信号が認められた場合にだけ高く設定される、ＷＬ信号を生成する。このＷＬ信号は、次いで、構成記憶素子７００を起動させるために使用される。同じＷＬ（およびＷＬ＿ｂ）信号が、条件付き解放回路７０５およびアービトレーション回路７６０を適切に動作させるためにも使用される。
【０１２９】
図１０Ｃは、記憶された値を更新させるために、およびその更新された値に依存して承諾信号を発生させるために、構成記憶素子７００の感知増幅器およびラッチ回路７７５に関連して提供される回路を示す。具体的には、センスイネーブル（ＳＥ）信号が設定され、かつＷＬ信号が設定される場合、これは、設定されたＱＳＥ（認められたＳＥ）信号をＡＮＤゲート７７０に出力させる。ＱＳＥ信号が設定された場合、これは、対応するビット線上の電流値を感知増幅器およびラッチ回路７７５にサンプリングさせ、この実施例では、感知増幅器およびラッチ回路は、ビット線０に接続される。
【０１３０】
承諾信号は、感知増幅器およびラッチ回路７７５の現在のコンテンツから発生する。具体的には、現在のコンテンツおよびＷＬ信号に基づいて、ＮＡＮＤゲート７８０が、分離回路７８５にルーティングされる信号を出力する。分離回路７８５は、特定の行の中の１つのクロスバーセルだけが、承諾信号を駆動することを確実にする。具体的には、ソース回路が現在要求しようとしている列と関連するクロスバーセルだけが、承諾信号を生じさせることができる。したがって、この実施例では、伝送要求が高く設定され、かつワード線０上の入力が高く設定された場合、これは、論理１の値を、分離回路７８５の中のより低いトランジスタに提供させ、論理０の値を、より高いトランジスタに提供させ、それによって、インバータをオンにし、承諾信号を伝播させる（感知増幅器およびラッチ回路７７５が論理１の値を記憶している場合、承諾信号がアサートされる）。しかしながら、そうでない場合は、論理０の値がより下位のトランジスタに提供され、論理１の値がより上位のトランジスタに提供され、それによって、インバータをオフにさせ、いかなる承諾信号も伝播されない。
【０１３１】
図１０Ｄは、一実施形態による各優先順位記憶素子７４２、７５２の構造を示す。アサートされた解放要求が存在する場合、解放信号および入力０のワード線がどちらも高く設定されると、ＡＮＤゲート７９０は、論理１の値を出力する。ディスチャージ信号も論理１のレベルになる時、これは、ＡＮＤゲート７９１に、論理１の値を出力させ、かつトランジスタ７９２を介して負荷ｐｒｉｏｒｉｔｙ＿ｂ信号をディスチャージさせる。
【０１３２】
通常動作中、リセット信号は、論理０の値となり、したがって、ｒｅｓｅｔ＿ｂ信号は、論理１のレベルとなる。したがって、アサートされた解放要求を受信するクロスバーセルの中の全ての優先順位記憶素子（例えば、前に論じた図４Ｇに示される行１９４の中の優先順位記憶素子）について、ＡＮＤゲート７９５は、ディスチャージ信号が高い時に、３つの論理１の入力を受信し、中間の論理１の入力は、ＯＲゲート７９４を介してＡＮＤゲート７９０の出力に由来する。その結果、トランジスタ７９６をオンにし、ＡＮＤゲート７９０から供給された論理１の値に基づいて、優先順位記憶素子７９８に、論理０の値をそれに記憶させる。
【０１３３】
同様に、アサートされた解放要求によってディスチャージされるビット線に連結される全ての優先順位記憶素子（例えば、前に論じた図４Ｇに示される列１９２の中の優先順位記憶素子）について、ＡＮＤゲート７９５は、ディスチャージ信号が高い時に、３つの論理１の入力を受信し、中間の論理１の入力は、ＮＡＮＤゲート７９３の出力に由来する。具体的には、この時点で、負荷ｐｒｉｏｒｉｔｙ＿ｂ信号が論理０のレベルであるので、これは、ＮＡＮＤゲート７９３が、関連するビット線がディスチャージされた時に、論理１の出力だけしか生成しないことを確実にする。その結果、トランジスタ７９６をオンにし、ＡＮＤゲート７９０から供給された論理０の値に基づいて、優先順位記憶素子７９８に、論理１の値を記憶させる（優先順位記憶素子が、アサートされた解放要求を発行するソース回路に連結されていないクロスバーセル内に存在することになるので、この出力は、ディスチャージされたビット線に連結される優先順位記憶素子について、論理０の値である）。
【０１３４】
行１９４または列１９２の中にない他の全ての優先順位記憶素子について、ＡＮＤゲート７９５の中間の入力は、論理０の値となり、それに応じて、優先順位の値に対していかなる更新も行われない。
【０１３５】
図１０Ｄに示されるように、各優先順位記憶素子は、ブロック７９８に示される形態、またはブロック７９９に示される形態のいずれかを取ることができる。通常の使用中、リセット信号が低く、かつｒｅｓｅｔ＿ｂ信号が高い時には、形態７９８のＮＡＮＤゲートおよび形態７９９のＮＯＲゲートのどちらもインバータとして動作するので、どちらの形態も同じ様態で動作する。しかしながら、リセット動作中に、リセット信号が論理１のレベルに遷移すると、ｒｅｓｅｔ＿ｂ信号を論理０のレベルに遷移させ、その結果、形態７９８の優先順位記憶素子は、論理０の値を記憶し、形態７９９の優先順位記憶素子は、論理１の値を記憶する。したがって、優先順位記憶素子は、リセット信号に応じて元の構成に設定することができ、その後に、チャネルが解放されるたびに、そのチャネルのためのＬＲＧ優先順位スキームを実装するように、そのチャネルのための優先順位データが更新される。前述のように実装されるＬＲＧスキームは、クロスバー回路内の各チャネルについて、独立に動作することを理解されるであろう。
【０１３６】
図１１Ａ〜図１１Ｄは、本発明の代替の実施形態に従って各クロスバーセル内に提供される回路を示しており、各ソースは同時に複数の要求を発行することができる。これは、クロスバー内でマルチキャスティングを実行するための、より効率的な実現形態を可能にする。具体的には、図１０Ａ〜図１０Ｄの実施形態において、ソース回路は、一度に１つのチャネルだけしか要求できないので、マルチキャスティングが要求される場合は、複数のチャネルを獲得するために、複数のアービトレーションサイクルを要求する。しかしながら、図１１Ａ〜図１１Ｄの実施形態において、ソース回路は、同時に複数のチャネルに対する要求を発行することができ、また潜在的に、１つのアービトレーションサイクルで複数のチャネルを得ることができ、それによって、マルチキャスティングをより効率的に達成することを可能にする。
【０１３７】
図１１Ａ、図１１Ｂ、および図１１Ｄは、図１０Ａ、図１０Ｂ、および図１０Ｄと同一であり、故に、ここでは詳細に論じない。しかしながら、図１１Ｃに示されるように、分離回路の必要性が全くないので、構成記憶回路の構造は、かなり単純化されている。代わりに、各列と関連して別個の承諾線が提供され、したがって、感知増幅器およびラッチ回路７７５の現在のコンテンツは、設定されたＷＬ信号が存在する場合、承諾信号を直接的に生成するために使用することができる。具体的には、ＷＬ信号が設定された場合、ソース回路は、アサートされた伝送要求を発行し、感知増幅器およびラッチ回路７７５の現在のコンテンツは、伝送要求が成功したことを示す論理１の値に設定され、次いで、論理１の承諾信号が発行されてソース回路に返される。
【０１３８】
図１２は、一実施形態による、各クロスバーセル内に提供される構成記憶回路（すなわち、感知増幅器およびラッチ回路）の配設を示す。図１０Ｃおよび図１１ＣのＡＮＤゲート７７０によって発生させたＱＳＥ信号は、インバータ８５０を通過してＱＳＥ＿ｂ信号を生成する。故に、ＱＳＥ信号が高くなると、感知増幅器（感知増幅器はトランジスタ８０５、８１０、８１５、８２０によって形成される）の感知動作を開始するように、ＰＭＯＳトランジスタ８００が開かれる。感知動作の開始時、トランジスタ８１５および８２０は、オフにされる。トランジスタ８０５にルーティングされた入力線がディスチャージし始めると、これは、トランジスタ８０５をオンにし、中間ノードＩをＶｄｄに引き上げる。その結果、これは、トランジスタ８１０をオンにし、短期間の後に感知増幅器内に正のフィードバックループを作成し、その時点で、感知増幅器は、その出力を発生させるために、接地へと遷移する入力信号にはもはや依存しない。
【０１３９】
一連のトランジスタ８２５、８３０、８３５は、感知増幅器と、構成要素８４０および８４５から構成されるラッチとの間の転送機構として機能する。具体的には、動作の感知段階中に、トランジスタ８３０がオンになり、ラッチのコンテンツを、感知増幅器の中間ノードＩの値によって決定することを可能にする。具体的には、感知増幅器への入力が論理０の値へと遷移する場合、これは、ラッチ内に論理０の値をラッチに記憶するために、中間ノードＩをＶｄｄへと遷移させ、それによって、トランジスタ８３５をオンにさせることが分かるであろう。反対に、入力線がディスチャージしない場合、中間ノードの電圧は、論理０レベルに留まり、それによって、トランジスタ８２５をオンにし、ラッチ内に論理１の値を記憶させる。
【０１４０】
ＱＳＥ信号が低くなるとすぐにトランジスタ８３０がオフになり、それによって、感知増幅器出力からラッチが分離されるため、ラッチは、ＱＳＥ信号が高い期間中にだけ、その入力を更新することが理解されるであろう。
【０１４１】
図１３Ａ〜図１３Ｃは、ＳＥ信号およびディスチャージ信号の両方を生成するために一実施形態で使用されるパルス発生器回路を示す。図１３Ａは、構成要素８６０によっていくつかの遅延が導入された後に、ＳＥ信号からどのようにディスチャージ信号が生成されるかを示す。実際には、図１３Ａの回路はＡＮＤゲートとしての役割を果たし、ＳＥ信号と遅延バージョンのＳＥ信号とのＡＮＤを行う。
【０１４２】
図１３Ｂは、ＳＥ信号を作成するために使用される、リング発振器の設計を示す。発振入力信号が高い時に、これは、リング発振器を起動させてクロック信号を生成し、ＳＥ信号は、いくつかの遅延回路８７０を介したクロック信号に由来する。
【０１４３】
図１３Ｃに示されように、ＳＥ信号が低くなる期間、つまりｄ１期間は、構成要素８７０によって決定され、ディスチャージが高くなる期間、つまりｄ２期間は、図１３Ａの遅延回路８６０によって決定される。
【０１４４】
電圧Ｖｂ＿ＳＥおよびＶｂ＿Ｄｉｓｃｈａｒｇｅは、遅延期間ｄ１およびｄ２を制御するために使用され、具体的には、これらの電圧が低減された場合、それに応じて遅延期間が長くなる。
【０１４５】
クロックのポジティブエッジでは、データがワード線上に立ち上げられる。この時点では「ディスチャージ」信号が低いため、ビット線はワード線から分離されている。「ｄ１」期間中、データは、ワード線上に留まり、ビット線は、完全にプリチャージされる。「ｄ２」は、ビット線が条件付きでディスチャージされる期間である。同時に、ＳＥ信号が高くなり、感知増幅器は、ビット線のサンプリングを開始する。ちょうど感知増幅器が検出するのに十分なだけ、ビット線がディスチャージされる。これは、節電のために行われる。したがって、時間「ｄ２」の後、「ディスチャージ」信号が低くなる一方で、ＳＥ信号は高いままである。
【０１４６】
図１４は、図１０Ｂおよび図１１Ｂに記載のｃｈａｎｎｅｌ＿ｆｒｅｅ信号が、一実施形態に従ってどのように生成されるかを概略的に示す。具体的には、示されるように、特定の出力チャネルに接続されたクロスバーセル内の種々の構成記憶回路９００、９０５、９１０からの出力が、ＯＲゲート９０２、９０７、９１２によってともに論理的にＯＲが行われ、次いで、インバータ９１５によってその結果が反転される。したがって、構成記憶回路のうちのいずれかが論理１のルーティング値を記憶する場合は、ｃｈａｎｎｅｌ＿ｆｒｅｅ信号が論理０の値となり、該構成記憶回路の全てが論理０のルーティング値を記憶する場合にだけ、ｃｈａｎｎｅｌ＿ｆｒｅｅ信号が１に設定されることが分かる。したがって、アービトレーション動作モードの開始時点で、構成記憶回路のうちの１つが既に論理１の値に設定されており、ソース回路が既にそのチャネルのオーナーシップを有することを示している場合、その時点ではどのアサートされた伝送要求も承諾されず、そのチャネルが解放された時にだけ、別のソースが要求を行うことを可能にし、そのチャネルが承諾される。
【０１４７】
前述の実施形態では、出力データ線が高くプリチャージされるので、静的な高い入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせることになる。図１５Ａ〜図１５Ｅは、これを軽減するために使用することができ、それによって、電力消費を低減する、符号化スキームを示す。具体的には、図１５Ａは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図１５Ｂは、感知増幅器６５の出力と宛先回路との間に配置されてもよい、関連する復号器回路を示す。最初に図１５Ａの符号化器回路を検討すると、新しいデータの各アイテムは、フリップフロップ６００内にラッチされ、古いデータは、ＮＡＮＤゲート６０５を介してフリップフロップ６１０に伝播される。次いで、比較器６１５が新しいデータを古いデータと比較し、差異があればいつでも論理０の値をインバータ６２０に出力させ、その結果、論理１の値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理０の値から論理１の値に、または論理１の値から論理０の値に変化するたびに、論理１の値によって分離される論理０の値を生成する。クロスバーセルの前述の考察から、データ出力線は、このような論理１の値が現れた時にだけディスチャージされ、それによって、プリチャージ動作と関連する電力消費を大幅に低減することを認識されるであろう。
【０１４８】
第１のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、フリップフロップ６１０内の初期状態を設定するために、ｓｙｎｃ信号を使用する。さらに、クロスバーを新しい構成に切り替えるたびに、符号化器ハードウェアを（クロックサイクルを費やさずに）再設定するように、同期化パルスを使用することができる。
【０１４９】
対応する復号器回路を図１５Ｂに示す。構成要素６３０および６３５の構造は、構成要素６６０によって図１５Ｃに概略的に示す。示されるように、このような構成要素は、実際に、直列に接続された一連のトランジスタ６６５、６７０、６７５、６８０から成る。
【０１５０】
ｓｙｎｃ＿ｄ信号は、ｓｙｎｃ信号と同じであるが、１クロックサイクルだけ遅延される。ｓｙｎｃ＿ｄ＿ｂ信号は、逆ｓｙｎｃ＿ｄ信号である。これらの３つの信号の関係を図１５Ｅに示す。ｓｙｎｃ信号は、アクティブロー信号であり、したがって、通常動作の下で（回路が新しい構成に切り替えられていない時）、ｓｙｎｃおよびｓｙｎｃ＿ｄは、高い論理１レベルになる一方で、ｓｙｎｃ＿ｄ＿ｂ信号は、低い論理０レベルになることに留意されたい。
【０１５１】
図１５Ｂから分かるように、復号器は、感知増幅器、クロック信号、およびｓｙｎｃ＿ｄ＿ｂ信号から出力を受信し、一連のＮＡＮＤゲート６４５、６５０、６５５を介して、内部クロック信号をフリップフロップ６４０に提供する。フリップフロップ６４０からの出力は、出力を宛先回路に駆動し、感知増幅器を介して受信される符合化した出力から、元の入力データを再作成する。
【０１５２】
通常動作において、ｓｙｎｃ信号は、論理１のレベルであり、ｓｙｎｃ＿ｄ＿ｂ信号は、論理０のレベルであるので、構成要素６３５が起動される一方で、構成要素６３０が停止される。３つのＮＡＮＤゲート６４５、６５０、６５５は、感知増幅器が遷移を検出して、高い信号を送信する時に、パルスをフリップフロップ６４０に提供する。新しい構成への切り替えが生じた時には、ｓｙｎｃおよびｓｙｎｃ＿ｄ信号が低くなる一方で、ｓｙｎｃ＿ｄ＿ｂ信号が高くなる。したがって、その時に、構成要素６３０が起動される一方で、構成要素６３５が停止される。その結果、インバータ６３５を介して以前のデータをトグルする代わりに、フリップフロップ６４０が、感知増幅器からデータを（構成要素６３０がそれを反転した後に）取り込む。
【０１５３】
図１５Ｄは、符号化器回路への入力データ、結果として生じる符合化器回路からの符号化データ出力、符号化データが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示す。出力データが、符号化器に渡された入力データを忠実に再生することが分かる。
【０１５４】
前述した実施形態では、クロスバー回路のサイズは、入力バスおよび出力バスのサイズに対応する。したがって、１６本のワード線を提供する入力バスおよび１６本のビット線を提供する出力バスを検討して、１６×１６のクロスバー回路を論じてきた。しかしながら、該技法は、入力バスおよび出力バスの幅よりも大きいクロスバーセルのアレイを有するクロスバー回路を用いて動作させるように適合させることもできる（本明細書では、狭チャネル設計と称する）。
【０１５５】
最初に狭チャネル設計を検討すると、図１６はそのような狭チャネル設計を実装するための一実施形態を示す。この特定の実施例では、クロスバーセル２０の６４×６４のアレイがクロスバー内に提供されており、ここでも、プリチャージモジュール５５が、クロスバーを通るビット線をプリチャージするために使用されると仮定する。しかしながら、データ入力経路およびデータ出力経路は、わずか１６ビットの幅しかなく、故に、単一のサイクルで前述のアービトレーションプロセスを実行することは不可能である。その代わりに、そのような実施形態では、クロスバーをいくつかのセクションに分割することができ、この実施例では、クロスバーが、４つのセクション１０１０、１０２０、１０３０に分割され、カウンタ１０４０は、現在どのセクションが起動しているのかを識別するために使用される。したがって、そのアービトレーションサイクルにおけるアービトレーション中に、どのセクションを機能させるかを選択するために、アービトレーションサイクルごとにカウンタをインクリメントすることができる。各セクションは、それでも各行に６４のクロスバーセルを有するため、データ入力経路１０００自体が、アサートされた伝送要求によって個々のデータ出力経路を識別することを可能にしないことは明らかである。したがって、一実施形態では、関連するソース回路によってどのデータ出力経路が要求されているのかを識別するために、伝送要求をアサートする時に、２ビットの付加的な信号１００２が提供される。
【０１５６】
したがって、カウンタが００の値を有する時、ソース０〜１５からのアサートされた伝送要求だけが検討され、各データ出力経路には、そのデータ出力経路へのアクセスを要求しているソース０〜１５の中で最も高い優先順位のソースが、次の伝送サイクルでデータを転送するためのアクセスを承諾される。そのようなアービトレーションおよび伝送シーケンスの後、次いで、カウンタが０１にインクリメントされ、次のアービトレーションサイクルでは、ソース１６〜３１からのアサートされた伝送要求だけが検討される。このプロセスは、各セクションについて順々に繰り返される。その結果、図１６の実施例の寸法について、任意の所与のアサートされた伝送要求に対するアービトレーション待ち時間は、１サイクルから４サイクルまで変動することが理解されるであろう。例えば、カウントが００であるアービトレーションサイクルで、ソース０が伝送要求をアサートする場合、その要求はそのサイクルの中ですぐにアービトレートされ、セクション１の中で最も優先順位の高い要求である場合、該要求は承諾される。しかしながら、カウントが０１の時にソース０が伝送要求をアサートする場合、カウンタが００に戻る（それに応じて、セクション１の１０１０がアービトレートされる）時に、次の第４のアービトレーションサイクルまで、その要求は、アービトレーションの候補にさえならない。
【０１５７】
そのような手法の利点は、配線および論理のオーバーヘッドが最小限であり、したがって、該解決法が、アービトレーション待ち時間の変動を許容することができる状況下で、良好な解決法を提供することである。しかしながら、セクションの数が増加するにつれて、最悪の場合のアービトレーション待ち時間も増加することに留意すべきである。
【０１５８】
図１７Ａおよび図１７Ｂは、クロスバーがここでもセクションに分割されているが、その場合、アービトレーションが階層的に２つのステップで行われる、代替の実施形態を示す。第１のステップでは、セクションの間でアービトレーションが実行され、次いで第２のステップにおいて、アービトレーションは、所与のセクションの中の全てのアサートされた伝送要求の間で実行される。同じビット線群がどちらのアービトレーションステップにも使用される。この実施例では、クロスバーセルは、２０’という数字で表され、クロスバーセルのそれぞれは、基本的に前述したように構成されているが、ここでは、各クロスバーセルが２つの感知増幅器有効化ラッチ（ＳＡＥＬ）を含み、第１のＳＡＥＬは、第１のアービトレーションサイクルで使用され、第２のＳＡＥＬは、第２のアービトレーションサイクルで使用される。
【０１５９】
したがって、アービトレーションサイクル１では、セクション１０５０、１０６０、１０７０、１０８０のそれぞれが検討されるが、所与のセクション内の特定のデータ出力経路に対する個々のクロスバーセル２０’は、ボックス１０５２、１０６２、１０７２、１０８２によって概略的に示されるように、事実上組み合わせて検討される。具体的には、１６ビットのチャネルを伴う図１７Ａの６４×６４クロスバーの例を検討すると、その場合、４つの別個のセクション１０５０、１０６０、１０７０、１０８０のそれぞれは、相対的な優先順位を有する。セクション１が最も高い優先順位を有する場合、ソース０〜１５からの任意のアサートされた伝送要求が、セクション２、３、および４（すなわち、セクション１０６０、１０７０、１０８０）に対するビット線をディスチャージさせる。その結果、セクション１では第１の組のＳＡＥＬが論理１の値をラッチし、他のセクションでは第１の組のＳＡＥＬが論理０の値をラッチする。
【０１６０】
次のアービトレーションサイクルでは、図１７Ｂに示されるように、セクション０の中の要求だけ（前述したイベントのシーケンスと仮定して）が、アービトレーションのためにビット線を使用する。現在、このセクション１０５０内で実行されるプロセスは、前述した通りであり、すなわち、ビット線は、プリチャージされ、次いで、各クロスバーセル内に記憶された優先順位情報に従って、選択的にディスチャージされる。図１６で前述したように、どの出力経路が、ワード線１０００上で１６ビット値の入力によって要求されているかを認めるために、追加の２ビット信号１００２が使用される。任意の特定のデータ出力線に対する複数の要求については、その場合、ソース０〜１５の中で最も優先順位の高い要求がアクセスを承諾され、第２の組のＳＡＥＬが標準的な様態でビット線を感知する。特定のソースに承諾が与えられたかどうかを判定するために、次いで、クロスバーセル２０’のどちらのＳＡＥＬも検討する必要があり、具体的には、それらの両方が論理１の値を記憶する場合に、承諾信号が生成されてソースへと返される。
【０１６１】
そのような手法は、何らかの付加的な論理を犠牲にして、固定２サイクルのアービトレーション待ち時間を有するが、いかなる付加的な相互接続構造も有さない。１チャネルの中に１６本のビット線があることで、潜在的に１６のセクション間でアービトレートすることが可能になり、各セクションは１６の要求を含む。したがって、アービトレーション待ち時間は、１つのクロスバーについて２つのサイクルで、最高２５６×２５６のクロスバーを保持することができる。
【０１６２】
図１７Ａ／図１７Ｂの手法の一実施形態では、２組の優先順位記憶素子を各クロスバーセルに提供することができ、１つの組は、第１のアービトレーションサイクルと関連して使用され（第１の組のＳＡＥＬが使用される）、１つの組は、第２のアービトレーションサイクルと関連して使用される（第２の組のＳＡＥＬが使用される）。
【０１６３】
図１８は、データ入力経路に沿って、データ入力値をそれらのデータ入力経路に接続された種々のクロスバーセル２０に伝播させるために、ワード線ドライバ１２００、１２０５、１２１０のシーケンスが使用される、部分的に起動されたネットワークの実施形態を示す。このような部分的に起動されたネットワークがなければ、それが必要とされない状況でデータ入力経路全体に沿ってデータを伝播させる際に、かなりの電力が消費され得る。
【０１６４】
しかしながら、データ入力経路に沿って残りのクロスバーセルのそれぞれに記憶されるルーティング値に由来する信号に基づいて、ワード線ドライバのそれぞれが条件付きで起動される、図１８に提示される、部分的に起動させたネットワーク手法を使用することによって、節電を達成することができる。具体的には、示されるように、特定のクロスバーセルに記憶されるルーティング値は、他の全てのクロスバーセルに保持されるルーティング値によって、特定の行の中でその右側に論理的にＯＲされ、ワード線ドライバがそのチェーン内で到達する地点におけるその信号の値に依存して、各ワード線ドライバ１２００、１２０５、１２１０が起動される。
【０１６５】
したがって、前述した実施例において、行０の中の最初の１５のクロスバーセルのうちの少なくとも１つは、そのルーティング値が１に設定されており、対応するソースは、出力経路０〜１５のうちの１つへのアクセスが承諾されているが、その行のさらに右側にある他のクロスバーセルは、いずれもルーティング値が１に設定されておらず、その場合、ワード線ドライバ１２０５および１２１０がどちらも論理０の起動信号を受信する一方で、ワード線ドライバ１２００が論理１の起動信号を受信することを示している。図１８の下半分の回路に示されるように、ワード線ドライバ（例示を目的として、ワード線ドライバ１２００が検討されているが、ワード線ドライバの全てが同様に構成されている）のそれぞれには、ワード線ドライバを選択的に起動するために起動信号が使用される。具体的には、ワード線ドライバ内の主インバータ１２６０は、起動信号が高い場合にだけ起動され、これは、トランジスタ１２５０および１２５５の両方をオンにさせる。起動信号が低い時に、これらのトランジスタはオンにならず、インバータ１２６０は起動されない。起動されると、インバータ１２６０および１２６５は、データ入力経路に沿ってさらに伝播させるために入力データを増幅するように、一緒に作動する。
【０１６６】
したがって、図１８を参照して論じられる実施形態において、その後に残りのクロスバーセルスイッチがオフにされるチャネルを超えて、データがワード線上で駆動されることはない。これは、有用な節電スキームを大きなクロスバーに提供することができ、めったにマルチキャスティングを行わない実装で特に良好な節電をもたらすことができる。
【０１６７】
実施形態の前述の説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するために使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、コンフリクトを検出して解決し、それに応じて各クロスバーセル内の構成記憶素子をプログラムするように、アービトレーション動作モード中にデータ出力線を再使用する。提案した本発明の実施形態の実装は、クロスバーの設計が可能な最小の面積を使用する。交差点の数ならびに各交差点に組み込まれる論理の数の両方が増大する、典型的な従来技術の実装とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。
【０１６８】
クロスバーセルのアレイのサイズが入力および出力チャネルの幅を超えない実施形態の場合、単一のサイクルでアービトレーションを実行することが可能であり、それによって、アービトレーションを実行する際の遅延オーバーヘッドが最小限に抑えられる。さらに、実施形態は、アービトレーション回路によって、優先順位スキームの各適用の間に、ビット線に記憶される優先順位データを自己更新するように該ビット線を再使用する、優先順位記憶回路を提供し、それによって、ＬＲＧ優先順位スキーム等の適応型優先順位スキームを実装するための、非常に効率的で、高速で、拡張性のある機構を提供する。
【０１６９】
さらに、アービターをクロスバーと統合することにより、その２つの間の通信オーバーヘッドが排除される。
【０１７０】
加えて、前述の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するために使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要がない。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするために、いかなる付加的なハードウェアまたはサイジングも不要である。
【０１７１】
さらに、前述の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な従来技術の手法よりもかなり直接的になる。
【０１７２】
本発明の実施形態において、入力は、例えば、マルチプレクシング技法を採用している典型的な従来技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバーの中に供給される。これは、ワイドバスの相互接続として、本発明の実施形態のクロスバー回路を利用し易くする。
【０１７３】
本発明の実施形態のクロスバー回路の設計により、クロスバーを通しての遅延は、サイズとともに直線的に増大する。これは、このような実施形態のクロスバー回路を、１２８×１２８または２５６×２５６入力／出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。
【０１７４】
前述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。
【０１７５】
本発明の実施形態のクロスバー回路の標準ビットセル様アーキテクチャに起因して、クロスバー回路の設計およびレイアウトは、既存のＣＡＤ（コンピュータ支援設計）フロープロセスに容易に統合することができる。
【０１７６】
従来技術の技法と比較すると、本発明の実施形態のクロスバー回路は、相互接続のサイズがより小さい、高速感知技法を採用したため、より迅速に動作しながらも、消費する電力はより少ない。
【０１７７】
本明細書では、本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることは明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。
【符号の説明】
【０１７８】
１０  入力データ
１２  データ入力経路
２０  クロスバーセル
３０  ソース回路
４０  宛先回路
５０  データ出力経路
５５  プリチャージモジュール
６５  感知増幅器回路
７０  出力データ
【図１】
0005816063.tif 000002
【図５Ａ】
0005816063.tif 000003
【図５Ｂ】
0005816063.tif 000004
【図６Ａ】
0005816063.tif 000005
【図６Ｂ】
0005816063.tif 000006
【図７】
0005816063.tif 000007
【図８】
0005816063.tif 000008
【図９】
0005816063.tif 000009
【図１０Ｄ】
0005816063.tif 000010
【図１１Ｄ】
0005816063.tif 000011
【図１２】
0005816063.tif 000012
【図１３Ａ】
0005816063.tif 000013
【図１３Ｂ】
0005816063.tif 000014
【図１３Ｃ】
0005816063.tif 000015
【図１４】
0005816063.tif 000016
【図１５Ａ】
0005816063.tif 000017
【図１５Ｂ】
0005816063.tif 000018
【図１５Ｃ】
0005816063.tif 000019
【図１５Ｄ】
0005816063.tif 000020
【図１５Ｅ】
0005816063.tif 000021
【図１６】
0005816063.tif 000022
【図１７Ａ】
0005816063.tif 000023
【図１７Ｂ】
0005816063.tif 000024
【図１８】
0005816063.tif 000025
【図２】
0005816063.tif 000026
【図３】
0005816063.tif 000027
【図４Ａ】
0005816063.tif 000028
【図４Ｂ】
0005816063.tif 000029
【図４Ｃ】
0005816063.tif 000030
【図４Ｄ】
0005816063.tif 000031
【図４Ｅ】
0005816063.tif 000032
【図４Ｆ】
0005816063.tif 000033
【図４Ｇ】
0005816063.tif 000034
【図４Ｈ】
0005816063.tif 000035
【図１０Ａ】
0005816063.tif 000036
【図１０Ｂ】
0005816063.tif 000037
【図１０Ｃ】
0005816063.tif 000038
【図１１Ａ】
0005816063.tif 000039
【図１１Ｂ】
0005816063.tif 000040
【図１１Ｃ】
0005816063.tif 000041