(57)【特許請求の範囲】
【請求項１】
計算システムのデバイスと前記計算システム内の複数のさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするように構成された装置であって、前記装置は、
前記デバイスからパケットを受信するように構成された受信機構と、
前記パケットのタイプを決定するためにパケットのヘッダを検査するように構成された検査機構であって、前記タイプがブロードキャスト、およびポイントツーポイントのうちの一つであり得る、検査機構と、
前記計算システムの状態を決定するように構成された決定機構であって、前記状態がブロードキャスト優先、およびポイントツーポイントのみのうちの一つであり、前記決定機構が、利用可能なパケットスロットをカウントするように構成されたｎ−カウンタと、ブロードキャスト優先パケットスロットをカウントするように構成されたｍ−カウンタと、前記計算システムの状態を決定するために前記ｎ−カウンタと前記ｍ−カウンタとを結合するように構成された結合機構とを備える、決定機構と、
前記パケットのタイプがブロードキャストであり、前記計算システムの状態がブロードキャスト優先である場合に、前記パケットを前記複数のさらなるデバイスへ送信するように構成された送信機構と、
を備え、
前記パケットのタイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記計算システムの状態がブロードキャスト優先へ変化するまで、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、
前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合に、ブロードキャストパケットが送信されるように利用可能である間、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、
前記タイプがポイントツーポイントであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記送信機構は前記パケットを前記複数のさらなるデバイスのうちのアドレスされた一つへ送信するようにさらに構成された、装置。
【請求項２】
前記受信機構が複数の入力キューを備え、入力キューは前記計算システムの複数のさらなるデバイスのうちの一つに割り当てられている、請求項１に記載の装置。
【請求項３】
前記検査機構は、前記パケットがブロードキャストパケットであるか、ポイントツーポイントパケットであるかを決定し、前記パケットがポイントツーポイントである場合、前記パケットの宛先を決定するように、前記パケットのルーティングプレフィックスを検査するように構成された、請求項１に記載の装置。
【請求項４】
前記決定機構が、
ブロードキャスト要求に応答して、前記入力キューにブロードキャスト許可を発行するように構成されたブロードキャストアービターと、
複数のポイントツーポイントアービターであって、ポイントツーポイントアービターが、ポイントツーポイント要求に応答して、前記複数の入力キューのうちの一つにポイントツーポイント許可を発行するように構成されている、複数のポイントツーポイントアービターと、
複数の出力マルチプレクサであって、出力マルチプレクサは前記入力キューから選択されたデバイスまで前記パケットをルート付けするように構成されており、前記出力マルチプレクサは、前記ブロードキャストアービターおよび関連するポイントツーポイントアービターのうちの一つからのスイッチング情報を受信する、複数の出力マルチプレクサと、
をさらに備える、請求項２に記載の装置。
【請求項５】
前記ｎ−カウンタが、外部コマンドを受信するとすぐに、または前記ｎ−カウンタがゼロへ減少されると利用可能なパケットスロットの数へリセットされるように構成された、請求項４に記載の装置。
【請求項６】
前記ｍ−カウンタが、外部コマンドを受信するとすぐに、または前記ｎ−カウンタがゼロへ減少されるとブロードキャスト優先スロットの数へリセットされるように構成された、請求項４に記載の装置。
【請求項７】
前記ｍ−カウンタがゼロへ減少されるように構成され、ゼロでリセットコマンドを待機し続けるように構成された、請求項６に記載の装置。
【請求項８】
前記結合機構は、前記計算システムの状態を決定するために前記ｎ−カウンタと前記ｍ−カウンタとを結合するように構成され、
前記ｎ−カウンタおよび前記ｍ−カウンタの両方がカウントしている場合に、前記状態はブロードキャスト優先であり、
前記ｎ−カウンタがカウントし、前記ｍ−カウンタがゼロである場合に、前記状態はポイントツーポイントのみである、請求項４に記載の装置。
【請求項９】
前記ブロードキャストアービターが前記複数の入力キューからブロードキャスト要求を受信し、前記計算システムおよび他の許可信号の状態に基づいた要求入力キューにブロードキャスト許可信号を提供する、請求項４に記載の装置。
【請求項１０】
前記ポイントツーポイントアービターが前記複数の入力キューからポイントツーポイント要求を受信し、前記計算システムおよび他の許可信号の状態に基づいた要求入力キューにポイントツーポイント許可信号を提供する、請求項４に記載の装置。
【請求項１１】
前記出力マルチプレクサは、前記複数の入力キューからの選択された入力キューから、前記出力マルチプレクサと結合された前記デバイスまで、前記パケットをルート付けするように構成された、請求項４に記載の装置。
【請求項１２】
計算システムであって、前記計算システムは、前記計算システムのデバイスと前記計算システムの複数のさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするように構成され、前記計算システムは、
中央演算処理装置と、
メモリと、
入力／出力デバイスと、
前記デバイスからパケットを受信するように構成された受信機構と、
前記パケットのタイプを決定するためにパケットのヘッダを検査するように構成された検査機構であって、前記タイプがブロードキャスト、およびポイントツーポイントのうちの一つであり得る、検査機構と、
前記計算システムの状態を決定するように構成された決定機構であって、前記状態がブロードキャスト優先、およびポイントツーポイントのみのうちの一つであり、前記決定機構が、利用可能なパケットスロットをカウントするように構成されたｎ−カウンタと、ブロードキャスト優先パケットスロットをカウントするように構成されたｍ−カウンタと、前記計算システムの状態を決定するために前記ｎ−カウンタと前記ｍ−カウンタとを結合するように構成された結合機構とを備える、決定機構と、
前記タイプがブロードキャストであり、前記計算システムの状態がブロードキャスト優先である場合に、前記パケットを前記複数のさらなるデバイスへ送信するように構成された送信機構と、
を備え、
前記タイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記計算システムの状態がブロードキャスト優先へ変化するまで、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、
前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合に、ブロードキャストパケットが送信されるように利用可能である間、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、
前記タイプがポイントツーポイントであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記パケットを前記複数のさらなるデバイスのうちのアドレスされた一つへ送信するようにさらに構成された、計算システム。
【請求項１３】
計算システムのデバイスと前記計算システムの複数のさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするための方法であって、前記方法は、
前記デバイスからパケットを受信することと、
前記パケットのタイプを決定するために前記パケットのヘッダを検査することであって、前記タイプはブロードキャストおよびポイントツーポイントのうちの一つであり得る、ことと、
前記タイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合、前記計算システムの状態がブロードキャスト優先へと変化するまで、前記パケットの送信を遅らせることと、
前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合、前記ブロードキャストパケットが送信されるように利用可能である間、前記パケットの送信を遅らせることと、
を包含し、
前記計算システムの状態は、利用可能なパケットスロットをカウントするｎ−カウンタを検査することと、ブロードキャスト優先パケットスロットをカウントするｍ−カウンタを検査することと、結合機構を用いて前記ｎ−カウンタと前記ｍ−カウンタとを結合することとにより、ブロードキャスト優先と、ポイントツーポイントのみとのうちの１つに決定される、方法。
【請求項１４】
前記パケットがさらにルーティングプレフィックスおよびデータを包含する、請求項１３に記載の方法。
【請求項１５】
前記デバイスが、中央処理演算装置、入力／出力デバイス、およびメモリのうちの一つを包含する、請求項１３に記載の方法。
【請求項１６】
前記ヘッダを検査することは、前記ルーティングプレフィックスが、ブロードキャスト、およびポイントツーポイントのうちの一つを示すかどうかを決定することを包含する、請求項１４に記載の方法。
【請求項１７】
前記計算システムの状態が、ブロードキャスト優先と、ポイントツーポイントのみとの間で周期的に切り換えられる、請求項１３に記載の方法。
【請求項１８】
前記ルーティングプレフィックスがブロードキャストを示し、前記計算システムの状態がブロードキャスト優先である場合に、前記方法は前記パケットを他のデバイスへ送信することをさらに包含する、請求項１６に記載の方法。
【請求項１９】
前記ルーティングプレフィックスがポイントツーポイントを示し、前記状態がポイントツーポイントのみである場合に、前記方法は前記パケットを他のデバイスのうちのアドレスされた一つへ送信することをさらに包含する、請求項１６に記載の方法。
【請求項２０】
前記計算システムの状態は、ブロードキャストパケットとポイントツーポイントパケットとの実質的に任意の比を達成するように周期的に切り換えられる、請求項１７に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算システム内でのデータ伝送に関する。特に、本発明は、計算システム内のコンポーネント間におけるブロードキャスト伝送およびポイントツーポイント伝送を容易にする装置および方法に関する。
【０００２】
【従来の技術】
現代のコンピュータシステムは典型的には、中央演算処理装置、記憶ユニット、入出力ユニットおよびキャッシュ等の多くのデバイスを含む。コンピュータシステム動作中に、アドレス情報およびデ−タ情報は、高レベルなコンピュータシステム性能を達成するためにこれらのデバイス間で迅速に伝送されなければならない。しかしながら、あらゆる対のデバイス間で通信専用パスを提供することは、多数のデバイスを有する高機能のコンピュータシステムでは非現実的である。
なぜなら、パスの数がデバイス数の２乗だけ増加するからである。
【０００３】
伝言システムはデバイス間で必要な通信を提供するために使用され得る。伝言システムでは、パケットが第１のデバイス（中央演算処理装置等）から１以上のスイッチを介して第２のデバイス（メモリ等）へと送信される。これに応答して、第２のデバイスは第１のデバイスへとパケットを返すことが可能である。
【０００４】
概して、２つのタイプのパケット（ポイントツーポイントパケットおよびブロードキャストパケット）があり得る。ポイントツーポイントパケットは、２つのデバイス間でデータを伝送するために使用される。例えば、ポイントツーポイントパケットは、データを取り出すために中央演算処理装置からメモリへとメモリ要求を送信するために使用され得る。対照的に、ブロードキャストパケットは全てのデバイスが同じ情報（例えば、キャッシュページが無効にされたというメッセージ）を知る必要がある場合に使用される。
【０００５】
複数のポイントツーポイントパケットは同時に送信され得る。例えば、デバイス５がデバイス２へパケットを送信中に、デバイス１がデバイス３へとパケットを送信し得る。これらのパケットの双方が共通のデバイスにて開始または終了しないため、パケットは必ずしも互いに衝突するわけではない。しかしながら、ブロードキャストパケットは、任意の時間に送信される唯一のパケットでなければならない。
【０００６】
【発明が解決しようとする課題】
インターリーブするポイントツーポイントパケットおよびブロードキャストパケットは、ブロードキャストパケットが送信されなくてはならないとき、著しい遅れを生じさせ得る。この遅れが起こるのは、ブロードキャストパケットが送信される前に、システムは、全てのポイントツーポイントパケットが完了するまで待たなければならないからである。その上、あるタイプのパケットを他のタイプより優先させることは、優先されないパケットタイプの飢餓状態をもたらし得る。
【０００７】
本発明はこのような問題点に鑑みてなされたものであって、コンピュータシステムのコンポーネント間でデータを伝送する際に、ポイントツーポイントパケットおよびブロードキャストパケット間を公平に調停する装置と方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
（要旨）
本発明の１実施形態は、コンピューティングシステム内のデバイスとコンピューティングシステムの１つ以上のさらなるデバイスとの間の通信を容易にするシステムを提供する。システムは、デバイスからポイントツーポイントパケットおよびブロードキャスト（ｂｒｏａｄｃａｓｔ）パケットを受け取り、パケットのタイプを判定するためにこれらのパケットのヘッダを検査する。システムはまた、コンピューティングシステムの状態がブロードキャスト嗜好またはポイントツーポイントのみのどちらかであるかどうかを判定するために、コンピューティングシステムの状態を検査する。パケットのタイプがブロードキャストであり、コンピューティングシステムの状態がブロードキャスト嗜好である場合、システムはパケットを全てのさらなるデバイスに送信する。パケットのタイプがブロードキャストであり、コンピューティングシステムの状態がポイントツーポイントのみである場合、システムはコンピューティングシステムの状態がブロードキャスト嗜好に変化するまでパケットの送信を遅らす。パケットのタイプがポイントツーポイントであり、コンピューティングシステムの状態がブロードキャスト嗜好である場合、ブロードキャストパケットの送信が利用可能である間はシステムはパケットの送信を遅らす。最後に、パケットのタイプはポイントツーポイントであり、コンピューティングシステムの状態がポイントツーポイントのみである場合、システムはパケットをアドレスされたデバイスに送信する。
【０００９】
本発明の１実施形態において、受信機構は複数の入力キューを含み、各入力キューはコンピュータィングシステムの複数のさらなるデバイスの１つを検査する。  本発明の１実施形態において、システムは、パケットがブロードキャストパケットかポイントツーポイントパケットであるかを判定するためにパケットのルーティングプリフィックスを調べる。パケットがポイントツーポイントパケットである場合、システムはパケットの宛先を判定する。
【００１０】
本発明の１実施形態において、システムは利用可能なパケットスロットをカウントするためのｎカウンタおよびブロードキャスト嗜好パケットスロットをカウントするためのｍカウンタを用いる。ｎカウンタおよびｍカウンタの組み合せがコンピューティングシステムの状態を判定する。システムは、ブロードキャスト要求に応答して入力キューにブロードキャスト付与（ｇｒａｎｔ）を発行するためのブロードキャストアービタ（ａｒｂｉｔｅｒ）を用いる。システムは、ポイントツーポイント付与をポイントツーポイント要求に応答して入力キューの１つに発行するためにポイントツーポイントアービタを使用する。出力マルチプレクサは入力キューから選択されたデバイスに、あるいはブロードキャストパケットの場合デバイスの全てにパケットを中継する。
【００１１】
本発明の１実施形態において、ｎカウンタは、外部コマンドを受信する場合、またはｎカウンタがゼロに減少する場合に利用可能なパケットスロットの数に再設定されるように構成される。
【００１２】
本発明の１実施形態において、ｍカウンタは、外部コマンドの受信に応じて、またはｎカウンタがゼロに減少する場合にブロードキャスト嗜好スロットの数に再設定されるように構成される。
【００１３】
本発明の１実施形態において、ゼロに減少する場合、ｍカウンタは再設定コマンドを待ちながらゼロを保持するように構成される。
【００１４】
本発明の１実施形態において、システムは、ｎカウンタおよびｍカウンタの両方がカウンティングしてる場合にコンピューティングシステムの状態をブロードキャスト嗜好に設定する。システムは、ｎカウンタが継続し、ｍカウンタがゼロである場合にコンピューティングシステムの状態をポイントツーポイントのみに設定する。
【００１５】
本発明の１実施形態において、ブロードキャストアービタは入力キューからブロードキャスト要求を受信し、コンピューティングシステムの状態および他の付与信号に基づいてブローキャスト付与信号を要求している入力キューに提供する。
【００１６】
本発明の１実施形態において、ポイントツーポイントアービタはポイントツーポイント要求を複数の入力キューから受信し、コンピューティングシステムの状態および他の付与信号に基づいてポイントツーポイント付与信号を要求している入力キューに提供する。
【００１７】
本発明の１実施形態において、出力マルチプレクサは、選択された入力キューから出力マルチプレクサに接続されるデバイスにパケットを中継する。
【００１８】
本発明は、計算システムのデバイスと前記計算システム内の複数のさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするように構成された装置であって、前記装置は、前記デバイスからパケットを受信するように構成された受信機構と、前記パケットのタイプを決定するためにパケットのヘッダを検査するように構成された検査機構であって、前記タイプがブロードキャスト、およびポイントツーポイントのうちの一つであり得る、検査機構と、前記計算システムの状態を決定するように構成された決定機構であって、前記状態がブロードキャスト優先、およびポイントツーポイントのみであるうちの一つである、決定機構と、前記パケットのタイプがブロードキャストであり、前記計算システムの状態がブロードキャスト優先である場合に、前記パケットを前記複数のさらなるデバイスへ送信するように構成された送信機構と、を備え、前記パケットのタイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記計算システムの状態がブロードキャスト優先へ変化するまで、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合に、ブロードキャストパケットが送信されるように利用可能である間、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、前記タイプがポイントツーポイントであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記送信機構は前記パケットを前記複数のさらなるデバイスのうちのアドレスされた一つへ送信するようにさらに構成された、装置であり、これにより上記課題が解決される。
【００１９】
本発明の一つの局面は、前記受信機構が複数の入力キューを備え、入力キューは前記計算システムの複数のさらなるデバイスのうちの一つに割り当てられている、上記に記載の装置である。
【００２０】
本発明の一つの局面は、前記検査機構は、前記パケットがブロードキャストパケットであるか、ポイントツーポイントパケットであるかを決定し、前記パケットがポイントツーポイントである場合、前記パケットの宛先を決定するように、前記パケットのルーティングプレフィックスを検査するように構成された、上記に記載の装置である。
【００２１】
本発明の一つの局面は、前記決定機構が、利用可能なパケットスロットをカウントするように構成されたｎ−カウンタと、ブロードキャスト優先パケットスロットをカウントするように構成されたｍ−カウンタと、前記計算システムの状態を決定するために前記ｎ−カウンタと前記ｍ−カウンタとを結合するように構成された結合機構と、ブロードキャスト要求に応答して、前記入力キューにブロードキャスト許可を発行するように構成されたブロードキャストアービターと、ポイントツーポイントアービターが、ポイントツーポイント要求に応答して、前記複数の入力キューのうちの一つにポイントツーポイント許可を発行するように構成された複数のポイントツーポイントアービターと、複数の出力マルチプレクサであって、出力マルチプレクサは前記入力キューから選択されたデバイスまで前記パケットをルート付けするように構成されており、前記出力マルチプレクサは、前記ブロードキャストアービターおよび関連するポイントツーポイントアービターのうちの一つからのスイッチング情報を受信する、複数の出力マルチプレクサと、を備える、上記に記載の装置である。
【００２２】
本発明の一つの局面は、前記ｎ−カウンタが、外部コマンドを受信するとすぐに、または前記ｎ−カウンタがゼロへ減少されると利用可能なパケットスロットの数へリセットされるように構成された、上記に記載の装置である。
【００２３】
本発明の一つの局面は、前記ｍ−カウンタが、外部コマンドを受信するとすぐに、または前記ｎ−カウンタがゼロへ減少されるとブロードキャスト優先スロットの数へリセットされるように構成された、上記に記載の装置である。
【００２４】
本発明の一つの局面は、前記ｍ−カウンタがゼロへ減少されるように構成され、ゼロでリセットコマンドを待機し続けるように構成された、上記に記載の装置である。
【００２５】
本発明の一つの局面は、前記結合機構は、前記計算システムの状態を決定するために前記ｎ−カウンタと前記ｍ−カウンタとを結合するように構成され、前記ｎ−カウンタおよび前記ｍ−カウンタの両方がカウントしている場合に、前記状態はブロードキャスト優先であり、前記ｎ−カウンタがカウントし、前記ｍ−カウンタがゼロである場合に、前記状態はポイントツーポイントのみである、上記に記載の装置である。
【００２６】
本発明の一つの局面は、前記ブロードキャストアービターが前記複数の入力キューからブロードキャスト要求を受信し、前記計算システムおよび他の許可信号の状態に基づいた要求入力キューにブロードキャスト許可信号を提供する、上記に記載の装置である。
【００２７】
本発明の一つの局面は、前記ポイントツーポイントアービターが前記複数の入力キューからポイントツーポイント要求を受信し、前記計算システムおよび他の許可信号の状態に基づいた要求入力キューにポイントツーポイント許可信号を提供する、上記に記載の装置である。
【００２８】
本発明の一つの局面は、前記出力マルチプレクサは、前記複数の入力キューからの選択された入力キューから、前記出力マルチプレクサと結合された前記デバイスまで、前記パケットをルート付けするように構成された、上記に記載の装置である。
【００２９】
さらに、本発明は、前記計算システムのデバイスと複数の前記計算システムのさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするように構成された計算システムであって、中央演算処理装置と、メモリと、入力／出力デバイスと、前記デバイスからパケットを受信するように構成された受信機構と、前記パケットのタイプを決定するためにパケットのヘッダを検査するように構成された検査機構であって、前記タイプがブロードキャスト、およびポイントツーポイントのうちの一つであり得る、検査機構と前記計算システムの状態を決定するように構成された決定機構であって、前記状態がブロードキャスト優先、およびポイントツーポイントのみであるうちの一つである、決定機構と、前記タイプがブロードキャストであり、前記計算システムの状態がブロードキャスト優先である場合に、前記パケットを前記複数のさらなるデバイスへ送信するように構成された送信機構と、を備え、前記タイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記計算システムの状態がブロードキャスト優先へ変化するまで、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合に、ブロードキャストパケットが送信されるように利用可能である間、前記送信機構は前記パケットの送信を遅らせるようにさらに構成され、前記タイプがポイントツーポイントであり、前記計算システムの状態がポイントツーポイントのみである場合に、前記パケットを前記複数のさらなるデバイスのうちのアドレスされた一つへ送信するようにさらに構成された、計算システムであり、これにより上記課題が解決される。
【００３０】
さらに本発明は、計算システムのデバイスと複数の前記計算システムのさらなるデバイスのうちの１つ以上のデバイスとの間のパケット通信を容易にするための方法であって、前記デバイスからパケットを受信する工程と、前記パケットのタイプを決定するために前記パケットのヘッダを検査する工程であって、前記タイプはブロードキャストおよびポイントツーポイントのうちの一つであり得る、工程と、前記タイプがブロードキャストであり、前記計算システムの状態がポイントツーポイントのみである場合、前記計算システムの状態がブロードキャスト優先へと変化するまで、前記パケットの送信を遅らせる工程と、前記タイプがポイントツーポイントであり、前記計算システムの状態がブロードキャスト優先である場合、前記ブロードキャストパケットが送信されるように利用可能である間、前記パケットの送信を遅らせる工程と、を包含する方法であり、これにより上記課題が解決される。
【００３１】
本発明の一つの局面は、前記パケットがさらにルーティングプレフィックスおよびデータを包含する、上記に記載の方法である。
【００３２】
本発明の一つの局面は、前記デバイスが、中央処理演算装置、入力／出力デバイス、およびメモリのうちの一つを包含する、上記に記載の方法である。
【００３３】
本発明の一つの局面は、前記ヘッダを検査する工程は、前記ルーティングプレフィックスが、ブロードキャスト、およびポイントツーポイントのうちの一つを示すかどうかを決定する工程を包含する、上記に記載の方法である。
【００３４】
本発明の一つの局面は、前記計算システムの状態が、ブロードキャスト優先と、ポイントツーポイントのみとの間で周期的に切り換えられる、上記に記載の方法である。
【００３５】
本発明の一つの局面は、前記ルーティングプレフィックスがブロードキャストを示し、前記計算システムの状態がブロードキャスト優先である場合に、前記方法は前記パケットを他のデバイスへ送信する工程をさらに包含する、上記に記載の方法である。
【００３６】
本発明の一つの局面は、前記ルーティングプレフィックスがポイントツーポイントを示し、前記状態がポイントツーポイントのみである場合に、前記方法は前記パケットを他のデバイスのうちのアドレスされた一つへ送信する工程をさらに包含する、上記に記載の方法である。
【００３７】
本発明の一つの局面は、前記計算システムの状態は、ブロードキャストパケットとポイントツーポイントパケットとの実質的に任意の比を達成するように周期的に切り換えられる、上記に記載の方法である。
【００３８】
【発明の実施の形態】
以下の記載は、当業者が、本発明を生産し使用することを可能とするために提示され、ならびに特定の用途およびその必要条件のコンテクスト内で提供される。開示された１実施形態に対する様々な改変は、当業者には容易に明らかであり、ならびに本明細書で定義される一般的な原理は、本発明の精神および範囲から逸脱することなしに他の実施形態および用途に適応され得る。それ故、本発明は示される実施形態に限定されるのではなく、本明細書にて開示された原理および特徴と一致する最も広い範囲にまで適応されることを意図する。
【００３９】
（計算システム）
図１Ａは、本発明の一実施形態による計算システム１０２を示す。計算システム１０２は、マイクロプロセッサ、メインフレームコンピュータ、デジタルシグナルプロセッサ、パーソナルオーガナイザ、デバイスコントローラおよび機器内の計算エンジンに基づくコンピュータシステムを含むが、それらに限られるわけではない、あらゆるタイプのコンピュータシステムを含み得る。図１Ａに示されるように、計算システム１０２は、デバイスボード１０４、１０６、１０８、１１０、ならびにスイッチボード１１２および１１４を含む。デバイスボード１０４、１０６、１０８および１１０は、中央演算処理装置とメモリデバイスと入出力デバイスとキャッシュ等の計算システム１０２を含む様々なデバイスである。スイッチボード１１２はスイッチチップ１１６および１１８を有し、スイッチボード１４４はスイッチチップ１２０および１２２を有する。様々なボードは信号線１２４、１２６、１２８、１３０、１３２、１３４、１３６、１３８、１４０および１４２を介して通信を行う。
【００４０】
（スイッチチップ連結）
図１Ｂは、本発明の一実施形態による様々なスイッチチップ間における連結の詳細を示す。概して、スイッチチップは２つ以上の入力と２つ以上の出力を有する。この記載は２つの入力および２つの出力を有するスイッチチップに関するが、当業者はスイッチチップを任意の数の入力および出力をも有するように拡大可能であることに留意されたい。
【００４１】
スイッチチップ１１６は、デバイスボード１０４を発端とする入力信号線１２４とデバイスボード１０６を発端とする入力信号線１２８とに連結される。その上、スイッチチップ１１６は、出力信号線１４２と出力信号線１４４とに連結される。信号線１４２は、スイッチボード１１４上のスイッチチップ１２２の入力に連結され、一方信号線１４４はスイッチボード１１２上のスイッチチップ１１８の入力に連結される。
【００４２】
スイッチチップ１１８は入力信号線１４４と１４０を有する。信号線１４４はスイッチチップ１１６の出力に連結され、一方信号線１４０はスイッチボード１１４上のスイッチチップ１２０の出力に連結される。スイッチチップ１１８の出力信号線１２６はデバイスボード１０４に、スイッチチップ１１８の出力信号線１３０はデバイスボード１０６にそれぞれ連結される。
【００４３】
スイッチチップ１２０とスイッチチップ１２２の連結は、スイッチチップ１１６とスイッチチップ１１８の連結と対称的であり、これ以上説明しない。
【００４４】
スイッチチップ１１６、１１８、１２０および１２２は、任意の入力信号線が、任意の出力信号線に接続され得、またはブロードキャストパケットの場合には出力信号線の全てに接続され得るようにともに連結される。
【００４５】
（スイッチチップ）
図２は、本発明の一実施形態による代表的なスイッチチップ１１６を示す。他のスイッチチップは同じ構成を有する。スイッチチップ１１６は、入力２０２および２０４、出力２０６および２０８、ならびにブロードキャストアービター２１０およびアービターコントロール２３２を含む。
【００４６】
入力２０２は先に示したように外部信号線１２４に連結され、そして内部信号線２１６、２１８、２２０、２２２、２２４、２２６、２２８および２３０に連結される。出力２０６に対するポイントツーポイント許可要求は、信号線２１６によって搬送される。出力２０８に対するポイントツーポイント許可要求は、信号線２２６によって搬送される。入力２０２は、信号線２１８を介し出力２０６から、そして信号線２２８を介し出力２０８からそれぞれポイントツーポイント許可を受信する。入力２０２からのパケットデータは、信号線２２０を介し出力２０６と、信号線２３０を介し出力２０８と連結される。ブロードキャスト要求は入力２０２から信号線２２２を介しブロードキャストアービター２１０へと連結され、そしてブロードキャスト許可は信号線２２４を介し、ブロードキャストアービター２１０から入力２０２へと返される。信号線２２４を介するブロードキャスト許可はさらに、出力２０６および出力２０８にもルーティングされる。
これらの連結は図４を参照して説明される。
【００４７】
信号線２５６、２５８、２６０、２６２、２６４、２６６、２６８および２７０は、入力２０４に連結されるが、図示されていない。信号線２１６、２１８、２２０、２２２、２２４、２２６、２２８および２３０が各々入力２０２に対して実行する機能と同じ機能を、信号線２５６、２５８、２６０、２６２、２６４、２６６、２６８および２７０は入力２０４に対し実行する。信号線２６４はまた出力２０６と出力２０８にルーティングされ、信号線２２４が行う機能と同じ機能を出力２０６と出力２０８に対して実行する。
【００４８】
出力２０６および２０８は、上で述べたように、外部で信号線１４２と信号線１４４に連結され、内部で入力２０２と入力２０４に連結される。その上、信号線２１８、２２８、２５８および２６８上のポイントツーポイント許可要求のアービトレーションを可能にするために、出力２０６および２０８はアービターコントロール２３２に連結される。
【００４９】
動作時には、出力２０６は、信号線２３４を介しアービターコントロール２３２に対し許可要求を送信し、信号線２３８を介しアービターコントロール２３２から許可イネーブルを受信する。出力２０８は、信号線２３６を介しアービターコントロール２３２に対し許可要求を送信し、信号線２４０を介しアービターコントロール２３２から許可イネーブルを受信する。
【００５０】
ブロードキャストアービター２１０は、入力２０２から信号線２２２を介し、および入力２０４から信号線２６２を介し、それぞれブロードキャスト要求を受信し、そして信号線２２４を介し入力２０２へと、および信号線２６４を介し入力２０４へとそれぞれ、ブロードキャスト許可を返す。ブロードキャストアービター２１０は、信号線２４４を介しアービターコントロール２３２へと許可要求を送信し、そして信号線２４２を介しアービターコントロール２３２から許可イネーブルを受信する。
【００５１】
（入力）
図３は、本発明の一実施形態によるスイッチチップ１１６の入力部２０２を示す。パケットスイッチャー３０２は、外部信号線１２４を介して入ってくるパケットを、パケットヘッダ内のルーティング情報により、信号線３１２を介しポイントツーポイントキュー３０８へ、または信号線３１４を介しブロードキャストキュー３１０へとルーティングする。
【００５２】
ポイントツーポイントキュー３０８のパケットに関し、ポイントツーポイントキュー３０８が、パケットが出力２０６または出力２０８のどちらに向けられるべきかを決定し、ポイントツーポイント許可要求を決定された出力に、すなわち決定された出力が出力２０６の場合は信号線２１６を介して、決定された出力が出力２０８の場合は信号線２２６を介して送信する。
【００５３】
パケットが出力２０６向けである場合、ポイントツーポイント許可は信号線２１８を介して受け取られる。信号線２１８はポイントツーポイントキュー３０８およびマルチプレクサ３０４の双方に連結されることに留意されたい。信号線２１８がポイントツーポイント許可を受信すると即刻、ポイントツーポイントキュー３０８は信号線３１６を介しマルチプレクサ３０４にパケットを送信する。同時に、マルチプレクサ３０４は入力信号線３１６を出力信号線２２０に接続する。
【００５４】
パケットが出力２０８向けである場合、ポイントツーポイント許可は信号線２２８を介し受け取られる。信号線２２８がポイントツーポイントキュー３０８およびマルチプレクサ３０６の双方に連結されることに留意されたい。信号線２２８がポイントツーポイント許可を受信すると即刻、ポイントツーポイントキュー３０８は信号線３２０を介しマルチプレクサ３０６にパケットを送信する。同時にマルチプレクサ３０６は、入力信号線３２０を出力信号線２３０に接続する。
【００５５】
ブロードキャストキュー３１０のパケットに関し、ブロードキャストキュー３１０は信号線２２２を介しブロードキャストアービター２１０に対しブロードキャスト許可要求を送信する。ブロードキャスト許可は信号線２２４を介しブロードキャストアービター２１０から受け取られる。信号線２２４はブロードキャストキュー３１０、出力マルチプレクサ３０４および出力マルチプレクサ３０６に連結されることに留意されたい。信号線２２４がブロードキャスト許可を受信すると即刻、ブロードキャストキュー３１０は信号線３２２を介しマルチプレクサ３０４に、そして信号線３１８を介しマルチプレクサ３０６にパケットを送信する。同時にマルチプレクサ３０４は、入力信号線３２２を出力信号線２２０に接続し、マルチプレクサ３０６は入力信号線３１８を出力信号線２３０に接続する。
【００５６】
（出力）
図４は本発明の一実施形態によるスイッチチップ１１６の出力２０６を示す。
ポイントツーポイントアービター２１２は、入力２０２からは信号線２１６を介し、そして入力２０４からは信号線２５６を介しポイントツーポイント許可要求を受信する。いずれかのポイントツーポイント許可要求に応答して、ポイントツーポイントアービター２１２は信号線２３４を通しアービターコントロール２３２にポイントツーポイント許可要求を送信する。信号線２３８上で許可イネーブルが受信されると即刻、ポイントツーポイントアービター２１２は、信号線２１８を介し入力２０２へと、または信号線２５８を介し入力２０４へとポイントツーポイント許可を送信する。入力２０２と入力２０４からの同時要求の場合には、あらゆる公平スキームがポイントツーポイント許可を受信するための入力を選択するために使用され得る。信号線２１８および信号線２５８はさらに出力マルチプレクサ４０２に連結されることに留意されたい。
【００５７】
ポイントツーポイント許可が信号線２１８上に送信される時、マルチプレクサ４０２は信号線２２０を信号線１２４に接続する。同様に、ポイントツーポイント許可が信号線２５８上に送信される時、マルチプレクサ４０２は信号線２６０を信号線１２４に接続する。
【００５８】
ブロードキャストアービター２１０が信号線２２４上にブロードキャスト許可を発し、入力２０２は信号線２２０上にパケットを送信する。同時に、信号線２２４上のブロードキャスト許可は、信号線２２０を出力信号線１２４に接続する。
【００５９】
同様に、ブロードキャストアービター２１０が信号線２６４上にブロードキャスト許可を発するとき、入力２０４は信号線２６０上にパケットを送信する。同時に、信号線２６４上のブロードキャスト許可は信号線２６０を出力信号線１２４に接続する。
【００６０】
（アービターコントロール）
図５は本発明の一実施形態によるアービターコントロール２３２を示す。ｎカウンタ５０２は、信号線５０６を介しパケットスロット数のカウントを受信する。ｍカウンタ５０４は、信号線５０８を介しブロードキャスト優先パケットスロット数のカウントを受信する。これらのカウントはシステムが起動する前に静的に決定され得、またはシステム動作中に動的に決定され得る。リセット信号５１６は、これらのカウントをｎカウンタ５０２およびｍカウンタ５０４にロードする。双方のカウンタは各スロット時間の後、ゼロになるまでデクリメントする。
【００６１】
ゼロに達すると即刻、ｎカウンタ５０２は信号線５１２を設定する。同様にゼロに達すると即刻、ｍカウンタ５０４は信号線５１４を設定する。ｎカウンタ５０２およびｍカウンタ５０４はそれぞれ、カウントがゼロに達すると、デクリメントを停止するように構成されている。信号線５１４がアクティブである間は、スイッチチップの状態はポイントツーポイントのみである。信号線５１４がイナクティブであるときには、スイッチチップの状態はブロードキャスト優先である。
【００６２】
ＯＲゲ−ト５１８は、信号線５１０を介し外部リセットを受信する。計算システム１０２内の全てのスイッチチップが同時にリセット信号を受け取り、その結果スイッチチップが同期化され得ることに留意されたい。ＯＲゲート５１８はさらに、ｎカウンタ５０２がゼロに達すると、信号線５１２を介しｎカウンタ５０２からリセット信号を受信する。ＯＲゲート５１８はリセット信号を信号線５１６を介しｎカウンタ５０２およびｍカウンタ５０４に渡す。
【００６３】
アービターコントロール２３２は、信号線２４４を介しブロードキャスト許可要求を受信する。信号線５１４の状態がブロードキャスト優先である場合、アービターコントロール２３２は信号線２４２上に許可イネーブルを送信する。その状態がポイントツーポイントのみである場合、信号線５１４の状態がブロードキャスト優先に変わるまでは、アービターコントロール２３２は信号線２４２上に許可イネーブルを送信しない。
【００６４】
アービターコントロール２３２は、信号線２３４および信号線２３６を介しポイントツーポイント許可要求を受信する。その状態がポイントツーポイントのみである場合、アービターコントロール２３２は信号線２３８または信号線２４０上にそれぞれ許可イネーブルを送信する。その状態がブロードキャスト優先である場合、ブロードキャスト許可イネーブルが信号線２４２上で送信中でない場合のみ、アービターコントロール２３２は信号線２３８または信号線２４０上に許可イネーブルを送信する。ポイントツーポイント許可イネーブルが同時に信号線２３８および信号線２４０上にあることが可能であることに留意されたい。
【００６５】
（許可信号発行）
図６は、本発明の一実施形態による、計算システム１０２の状態を決定し、許可を発行するプロセスを示すフローチャートである。システムは、ｎカウンタ５０２が信号線５０６上でのカウント値を、ならびにｍカウンタ５０４が信号線５０８上でのカウント値を受信すると起動する（ステップ６０２）。信号線５１０に付与された外部リセット信号は、ＯＲゲート５１８を介し、リセット信号５１６となる。リセット信号５１６は、前にロードされた値をｎカウンタ５０２およびｍカウンタ５０４に設定する（ステップ６０４）。
【００６６】
アービターコントロール２３２は、ｍカウンタ５０４がゼロであるか否かを決定する（ステップ６１０）。ｍカウンタ５０４のゼロがポイントツーポイントのみを示すことに留意されたい。ｍカウンタ５０４がゼロでない場合（ステップ６１０）、アービターコントロール２３２は、信号線２４４上にブロードキャスト許可要求が存在するか否かを決定する（ステップ６０６）。信号線２４４上にブロードキャスト許可要求がある場合（ステップ６０６）、アービターコントロール２３２は信号線２４２上にブロードキャスト許可を発行する（ステップ６１８）。
【００６７】
ｍカウンタ５０４がゼロである場合（ステップ６１０）、または信号線２４４上にブロードキャスト許可要求がない場合（ステップ６０６）、アービターコントロール２３２は信号線２３４および／または信号線２３６上にポイントツーポイント許可要求があるかどうかを決定する（ステップ６０８）。信号線２３４および／または信号線２３６上にポイントツーポイント許可要求がある場合（ステップ６０８）、アービターコントロール２３２はそれぞれに信号線２３８および／または信号線２４０ポイントツーポイント許可を発行する（ステップ６１６）。
【００６８】
ポイントツーポイント許可が発行された後（ステップ６１６）、ブロードキャスト許可が発行された後（ステップ６１８）、または信号線２３４および／または信号線２３６上にポイントツーポイント許可要求がない場合（ステップ６０８）、アービターコントロール２３２は１スロット時間だけシステムを遅らせる（ステップ６２０）。次に、アービターコントロール２３２がｎカウンタ５０２をデクリメントさせ、且つｍカウンタ５０４がゼロでない場合、ｍカウンタ５０４をデクリメントさせる（ステップ６２２）。
【００６９】
アービターコントロール２３２はその後ｎカウンタ５０２がゼロであるか否かを決定する（ステップ６２４）。ｎカウンタ５０２がゼロである場合（ステップ６２４）、信号線５１２に付与されたリセット信号はＯＲゲート５１８を介しリセット信号５１６となる。リセット信号５１６はロードされた値をｎカウンタ５０２およびｍカウンタ５０４に設定する（ステップ６０４）。ｎカウンタ５０２がゼロでない場合（ステップ６２４）、コントロールはステップ６０６に戻り、次のサイクルを開始する。
【００７０】
（パケットのルーティング）
図７は本発明の一実施形態によるスイッチチップ１１６を介しパケットをルーティングするプロセスを示すフローチャートである。スイッチチップ１１６の入力でパケットが受け取られる際にシステムは開始する（ステップ７０２）。スイッチチップ１１６の入力２０２は、パケットがポイントツーポイントパケットであるか、ブロードキャストパケットであるかを決定する（ステップ７０４）。
【００７１】
受け取られたパケットがポイントツーポイントパケットである場合（ステップ７０４）、入力２０２はパケットの宛先により、ポイントツーポイントアービター２１２または２１４に対しポイントツーポイント許可要求を送信する（ステップ７０６）。入力２０２はその後、ポイントツーポイント許可を待つ（ステップ７０８）。ポイントツーポイント許可を受信後（ステップ７０８）、パケットは出力宛先へと送信される（ステップ７１０）。
【００７２】
受信したパケットがブロードキャストパケットである場合（ステップ７０４）、入力２０２はブロードキャストアービター２１０に対してブロードキャスト許可要求を送信する（ステップ７１２）。入力２０２はその後、ブロードキャスト許可を待つ（ステップ７１４）。ブロードキャスト許可を受信後（ステップ７１４）、そのパケットが全ての出力に送信される（ステップ７１６）。
【００７３】
前述の本発明の一実施形態の記載は説明と記載の目的のためのみに提示されている。前述の本発明の一実施形態は本発明の範囲全体を網羅することを意図せず、開示されている形態に本発明を限定することも意図されない。従って、多くの改変と変更が当業者に明らかである。その上、上記の開示は、本発明を限定する意図はない。本発明の範囲は、特許請求の範囲により限定される。
【００７４】
本発明の１実施形態は、計算システム内のデバイスと計算システムの１以上の追加デバイス間のパケット通信を容易にするシステムを提供する。システムはデバイスからポイントツーポイントパケットまたはブロードキャストパケットを受信し、パケットのヘッダを検査して、パケットタイプを決定する。システムはさらに、計算システムの状態を調査して、コンピュータシステムの状態がブロードキャスト優先であるか、ポイントツーポイントのみであるかを決定する。もしパケットタイプがブロードキャストであり且つ計算システムの状態がブロードキャスト優先である場合、システムはパケットを全ての追加デバイスに送信する。パケットタイプがブロードキャストであり且つ計算システムの状態がポイントツーポイントのみである場合、システムは計算システムの状態がブロードキャスト優先に変わるまでパケット送信を遅らせる。パケットタイプがポイントツーポイントであり且つ計算システムの状態がブロードキャスト優先である場合、ブロードキャストパケットが送信に可能な間はシステムはパケットの送信を遅らせる。最後に、パケットタイプがポイントツーポイントであり且つ計算システムの状態がポイントツーポイントのみである場合、システムはパケットを指定されたデバイスに送信する。
【図面の簡単な説明】
【図１Ａ】図１Ａは、本発明の一実施形態による複数のデバイスボードおよび複数のスイッチボードを有する計算システムを示す。
【図１Ｂ】図１Ｂは、本発明の一実施形態による計算システム内でスイッチチップがどのように相互接続されているかを示す。
【図２】図２は、本発明の一実施形態によるスイッチチップの詳細を示す。
【図３】図３は、本発明の一実施形態によるスイッチチップの入力部を示す。
【図４】図４は、本発明の一実施形態によるスイッチチップの出力部を示す。
【図５】図５は、本発明の一実施形態によるスイッチチップのアービターコントロール部を示す。
【図６】図６は、本発明の一実施形態による計算システムおよび発行許可の状態を決定するプロセスを示す。
【図７】図７は、本発明の一実施形態によるパケットのルーティングプロセスを示す。
【図１Ａ】
0004669174.tif 000002
【図１Ｂ】
0004669174.tif 000003
【図２】
0004669174.tif 000004
【図３】
0004669174.tif 000005
【図４】
0004669174.tif 000006
【図５】
0004669174.tif 000007
【図６】
0004669174.tif 000008
【図７】
0004669174.tif 000009