(57)【要約】【課題】マルチセルコンピューティングシステムにおけるクロック分配を実現する。【解決手段】  本発明に係るシステムは、複数のプロセッサを有する複数の処理セルを備える。処理セルは、ａ）抽出されたクロックが複製されて、それぞれが処理セルのプロセッサに供給される複数のクロックを提供することと、ｂ）抽出されたクロックが、クロック源と共に位相情報として使用されて、処理セルのプロセッサに供給される複数のクロックを提供することとの少なくとも１つで使用される、抽出されたクロックを受信する。抽出されたクロックは、データと結合され、少なくとも２つの処理セルがスイッチを介して互いに通信することを可能にするリンクにより処理セルへ送信された、符号化されたクロックから抽出される。【選択図】図４
2007164786.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のプロセッサ（３５０、４５０）を有する複数の処理セル（１１０）を備え、
各処理セル（１１０）は、以下の方法、すなわち、
ａ）抽出されたクロック（３１５）が複製されて、それぞれが前記処理セル（１１０）のプロセッサ（３５０）に供給される複数の第１のクロック（３４５）を提供することと、
ｂ）前記抽出されたクロック（３１５）が、第１のクロック源（４１０）と共に位相情報として使用されて、それぞれが前記処理セル（１１０）のプロセッサ（４５０）に供給される複数の第２のクロック（４２５）を提供することと
の少なくとも１つで使用される、前記抽出されたクロック（３１５）を受信し、
前記抽出されたクロック（３１５）は、データと結合され、少なくとも２つの処理セル（１１０）がスイッチ（１２０）を介して互いに通信することを可能にするリンク（１３５）により前記処理セルへ送信された、符号化されたクロックから抽出されたものである
システム。
【請求項２】
前記符号化されたクロックは、８Ｂ１０Ｂアルゴリズムを使用して符号化されたものである
請求項１に記載のシステム。
【請求項３】
前記リンク（２３５Ｏ、２３５Ｉ、３３５Ｉ、３３５Ｏ）は、フェイルオーバリンク（２３５ＯＦ、２３５ＩＦ、３３５ＩＦ、３３５ＯＦ）に関連付けられ、
前記符号化されたクロックは、符号化されたフェイルオーバクロックに関連付けられ、
前記抽出されたクロック（３１５）は、抽出されたフェイルオーバクロック（３１５Ｆ）に関連付けられ、
前記第１のクロック源（１０２）は、第１のフェイルオーバクロック源に関連付けられる
請求項１に記載のシステム。
【請求項４】
符号化されてデータと結合されている複数のクロックを複数のリンク（１３５）により提供するための手段と、
それぞれがエージェント（１４０）を有する複数の処理セル（１１０）であって、処理セル（１１０）の各エージェント（１４０）は、クロックを抽出し、前記抽出されたクロックを複製して、前記処理セル（１１０）の複数のプロセッサ（３５０）に複数の複製されたクロック（３４５）を提供し、少なくとも２つの処理セル（１１０）における前記複数の複製されたクロック（３４５）は、符号化されてデータと結合されている前記複数のクロックを前記複数のリンク（１３５）により提供するクロック源（１０２）によって提供されるクロック（１０５）と同期されている、複数の処理セル（１１０）と
を備えるシステム。
【請求項５】
前記複製されたクロック（３４５）は、前記複数の符号化されて結合されたクロックが動作する第２の周波数からスケールダウンされた第１の周波数で動作し、前記第２の周波数は、前記クロック源（１０２）によって提供される前記クロック（１０５）が動作する第３のクロック周波数からスケールアップされる
請求項４に記載のシステム。
【請求項６】
前記クロック源（１０２）が、フェイルオーバクロック源に関連付けられることと、
前記複数のリンク（２３５ＩＦ、２３５ＯＦ、３３５ＩＦ，３３５ＯＦ）の１つのリンクが、フェイルオーバリンク（２３５ＩＦ、２３５ＯＦ、３３５ＩＦ，３３５ＯＦ）に関連付けられることと、
前記抽出されたクロック（３１５）が、抽出されたフェイルオーバクロック（３１５Ｆ）に関連付けられることと
の少なくとも１つが行われる
請求項４に記載のシステム。
【請求項７】
符号化されてデータと結合されている複数のクロックを複数のリンク（１３５）により提供するための手段と、
それぞれがエージェント（１４０）を有する複数の処理セル（１１０）であって、処理セル（１１０）の各エージェント（１４０）は、符号化されて結合されたクロックを抽出し、前記抽出されたクロック（３１５）を第１のクロック源（４１０）と共に位相情報として使用して、前記処理セル（１１０）の複数のプロセッサ（４５０）に複数の第１のクロック（４２５）を提供し、少なくとも２つの処理セル（１１０）における前記複数の第１のクロック（４２５）は、符号化されてデータと結合されている前記複数のクロックを前記複数のリンク（１３５）により提供する第２のクロック源（１０２）によって提供されるクロック（１０５）と同期される、複数の処理セル（１１０）と
を備えるシステム。
【請求項８】
前記第１のクロック（４２５）は、前記複数の符号化されて結合されたクロックが動作する第２の周波数からスケールダウンされた第１の周波数で動作し、前記第２の周波数は、前記クロック源（１０２）によって提供される前記クロック（１０５）が動作する第３のクロック周波数からスケールアップされる
請求項７に記載のシステム。
【請求項９】
前記第１のクロック源（４１０）が、第１のフェイルオーバクロック源に関連付けられることと、
前記第２のクロック源（１０２）が、第２のフェイルオーバクロック源に関連付けられることと、
前記複数のリンクの１つのリンク（２３５Ｉ、２３５Ｏ、３３５Ｏ，３３５Ｉ）が、フェイルオーバリンク（２３５ＩＦ、２３５ＯＦ、３３５ＯＦ，３３５ＩＦ）に関連付けられることと、
前記抽出されたクロック（３１５）が、抽出されたフェイルオーバクロック（３１５Ｆ）に関連付けられることと
の少なくとも１つが行われる
請求項７に記載のシステム。
【請求項１０】
第１のクロック（１０５）を提供する第１のクロック源（１０２）と、
スイッチ（１２０）であって、前記スイッチ（１２０）は、前記第１のクロック（１０５）を受信し、前記第１のクロック（１０５）を複製して、前記スイッチ（１２０、２００）の複数のポート（２１０）に複数の第２のクロック（２４５）を提供し、ポート（２１０）が、第２のクロック（２４５）を符号化して、符号化された第３のクロックをリンク（１３５、２３５Ｏ）に提供し、その結果、複数のリンク（１３５、２３５Ｏ）に複数の符号化された第３のクロックが得られる、スイッチ（１２０）と、
複数のエージェント（１４０）であって、各エージェントが、前記複数のリンクの１つのリンク（１３５）から、符号化された第３のクロックを受信し、この符号化された第３のクロックを復号して、抽出されたクロック（３１５）を提供し、それによって、それぞれが１つのエージェント（１４０）に対応する複数の抽出されたクロック（３１５）が得られる、複数のエージェント（１４０）と、
複数の処理セル（１１０）であって、各処理セルが、前記複数のエージェントの１つのエージェント（１４０）を含み、それによって、前記複数の処理セルの各処理セル（１１０）は、前記複数の抽出されたクロックの１つの抽出されたクロック（３１５）に対応する、複数の処理セル（１１０）と
を備え、
処理セル（１１０）に対応する抽出されたクロック（３１５）は、以下の方法、すなわち、
ａ）前記抽出されたクロック（３１５）が複製されて、それぞれが前記処理セル（１１０）のプロセッサ（３５０）に供給される複数の第４のクロック（３４５）を提供すること、
ｂ）前記抽出されたクロック（３１５）が、第２のクロック源（４１０）と共に位相情報として使用されて、それぞれが前記処理セル（１１０）のプロセッサ（４５０）に供給される複数の第５のクロック（４２５）を提供すること
の少なくとも１つで使用される
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチセルコンピューティングシステムにおけるクロック分配に関する。
【背景技術】
【０００２】
マルチセルコンピュータシステムのさまざまなセルに提供されるクロックは、クロックが故障すると、そのクロックを使用するすべてのセルが故障することから、単一故障点（single point of failure）と呼ばれる場合がある。さらに、クロックの冗長性が望ましい状況では、クロック源からさまざまなセルへ冗長クロックを分配することによって、費用、チップにおけるピン数等が追加される可能性がある。このような問題を解決するために、１つのソリューションとして、セルごとにクロック源を使用するものがあり、その結果、異なるクロック源から独立したクロックが得られる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、クロック源が異なるために、クロックはもはや同期せず、すなわち、ドリフトする。すなわち、クロックは、異なる周期を有効にする（assert）。重要な用途では、小さなクロックドリフトであっても許容することができず、これら独立したクロックを同期させてドリフトを除去することには、複雑なメカニズムが必要とされる可能性がある。
【課題を解決するための手段】
【０００４】
本発明の実施の形態は、マルチセルシステムの処理セルにおけるＣＰＵへのクロックの分配に関する。一実施の形態では、各セルは、エージェントと呼ばれるインターフェースを含む。スイッチと呼ばれる複数のインターフェースは、セルのエージェントと共に、セルを接続する。クロック源は、クロックをスイッチに提供し、スイッチは、クロックを複製して、複製されたクロックを自身のポートに提供する。スイッチの各ポートは、複製されたクロックを受信し、この複製されたクロックを符号化して、セルの各エージェントへリンクを介して送信する。セルの各エージェントは、符号化されたクロックを受信して、この符号化されたクロックを復号し、その結果、復号された、又は抽出されたクロックが得られる。エージェントは、次に、抽出されたクロックを複製して、抽出されたクロックの複製をセルの複数のＣＰＵに提供する。その結果、システムのすべてのセルのＣＰＵは、すべてが、クロック源によって提供されるクロックと同期されたクロックを受信する。抽出されたクロックを位相情報として使用すること、スケーリング、冗長性等を含む他の実施の形態も開示される。
【０００５】
本発明は、限定ではなく例として、添付図面の図に示される。添付図面において、同様の参照番号は同様の要素を指す。
【発明を実施するための最良の形態】
【０００６】
以下の説明では、説明の目的で、本発明の十分な理解を提供するために、多数の具体的な詳細が述べられる。しかしながら、本発明は、これらの具体的な詳細がなくても実施できることが当業者には明らかであろう。それ以外の場合には、本発明を分かりにくくすることを回避するために、既知の構造及びデバイスは、ブロック図の形で示されている。
【０００７】
［概要］
図１は、本発明の実施の形態を実施できるシステム１００を示している。このシステム１００は、複数の処理セル、たとえばセル１１０（１）〜１１０（Ｎ）、及び、複数のインターフェース又はスイッチ１２０、たとえば１２０（１）〜１２０（Ｌ）を含む。システム１００は、複数のプロセッサ又はＣＰＵ（中央処理装置、図示せず）が個々のプロセスを同時に完了できるＳＭＰ（対称型マルチプロセシング）システムである。アイドルなＣＰＵには、任意のタスクを割り当てることができ、付加的なＣＰＵを追加して、性能を改善することができ、増加した負荷を取り扱うことができる。或るＣＰＵがスレッドを初期化することができ、その後、別のＣＰＵでそのスレッドが実行される。１つ又は複数の処理セル１１０を区画化して、オペレーティングシステムを実行するシステムを形成することができる。
【０００８】
クロック源１０２は、クロックＣＬＫを各ライン１０５でスイッチ１２０に提供する。スイッチ１２０のそれぞれは、次に、このクロックＣＬＫを、符号化された形で且つデータと結合させて、ライン１３５で、各セル１１０のエージェント１４０に提供する。各セル１１０は、符号化され且つデータと結合されたクロックを受信すると、このようなクロックを抽出、すなわちクロックを復号し、復号されたクロックを複製し、複製されたクロックを自身のＣＰＵ（図示せず）に提供する。このような符号化／復号されたクロックの詳細を以下で説明することにする。一実施の形態では、クロックＣＬＫは、２００ＭＨｚで動作し、コンピュータシステムのバックプレーン基板に存在する。しかしながら、本発明の実施の形態は、クロックＣＬＫの速度に限定されるものでもなければ、クロックＣＬＫが存在する場所に限定されるものでもない。
【０００９】
処理セル１１０は、複数のＣＰＵ、メモリ、キャッシュ等（これらのすべては図示せず）、及び、エージェント１４０を含む。処理セル１１０は、自身のエージェント１４０を介してスイッチ１２０とインターフェースする。一実施の形態では、スイッチ１２０は、エージェント１４０に相当する。しかしながら、本発明の実施の形態は、スイッチ１２０、エージェント１４０の構造に限定されるものでもなければ、それらが相当するものであるかどうかに限定されるものでもない。スイッチ１２０及びエージェント１４０の双方によって、たとえばパラレルバス及び／又はシリアルバスを有する異なるアーキテクチャのＣＰＵを同じシステム、たとえばシステム１００で使用することが可能になる。
【００１０】
スイッチ１２０によって、複数のセル１１０を接続することが可能になり、必要に応じて、スイッチ１２０によって接続された１つ又は複数のセル１１０は、オペレーティングシステムイメージを実行する独立したコンピュータシステムとして動作することができる。また、スイッチ１２０は、他のＩ／Ｏインターフェースにも連結される。このＩ／Ｏインターフェースから、ＰＣＩデバイス、ＰＣＩエクスプレスデバイス、ブートＲＯＭ等を含むＩ／Ｏデバイスをスイッチ１２０に接続することができる。
【００１１】
リンク１３５は、一実施の形態では符号化された形でデータ及びクロックＣＬＫをセル１１０に分配するための手段である。リンク１３５は、複数のビットを含み、スイッチ１２０からエージェント１４０へ（及びエージェント１４０からスイッチ１２０へ）ビット「レーン」でデータを運ぶ。ビットレーンの各々は一方向である。リンク１３５は、全体では双方向である。実施態様に応じて、リンク１３５は、フロントサイドバス、共有バス、コンピュータスケーラブルインターフェース（ＣＳＩ）等と呼ばれる場合がある。
【００１２】
［第１の実施の形態−抽出されたクロックを使用してＣＰＵに直接供給する］
図２は、スイッチ１２０の一実施の形態であるスイッチ２００を示している。このスイッチ２００は、複数のポート２１０を含む。これらのポート２１０のそれぞれは、セル１１０とインターフェースするのに使用される。図２は、スイッチ２００がＪ個のセル１１０とインターフェースすることを示している。
【００１３】
ポート２１０は、アウトバウンドポート２１０Ｏ及びインバウンドポート２１０Ｉを含む。アウトバウンドポート２１０Ｏは、パラレル入力を受け取ってシリアル出力を提供するので、一般に並直列変換器と呼ばれる。逆に、インバウンドポート２１０Ｉは、シリアル入力を受け取ってパラレル出力を提供するので、一般に直並列変換器と呼ばれる。その結果、ポート２１０は、サーデス（ＳＥＲＤＥＳ；ＳＥＲializer／ＤＥＳerializer（並直列変換器／直並列変換器））と呼ばれる場合がある。アウトバウンドポート２１０Ｏは、ライン２３５Ｏを介してエージェント１４０へデータを送信する一方、インバウンドポート２１０Ｉは、ライン２３５Ｉを介してエージェント１４０からデータを受信する。ライン２３５Ｏ及びライン２３５Ｉは、図１のライン１３５の一部である。
【００１４】
クロック分配器２４０は、ライン１０５（図１）でクロックＣＬＫを受信し、このクロックを複製し、複製されたクロックをそれぞれライン２４５でアウトバウンドポート２１０Ｏに提供する。一実施の形態では、各アウトバウンドポート２１０Ｏは、８Ｂ１０Ｂアルゴリズムを使用してライン２４５でクロックＣＬＫを符号化し、この符号化されたクロックを、他のデータと共にライン２３５Ｏでビットストリームにより、エージェント３００（図３）のライン３３５Ｉへ送信する。実際には、スイッチ２００がＪ個の処理セル１１０とインターフェースする場合、ライン２４５にＪ個の複製されたクロックＣＬＫが存在し、Ｊ個の処理セル１１０のＪ個のエージェント３００のＪ個のライン３３５ＩにＪ個の符号化されたクロックＣＬＫが存在する。一実施の形態では、８Ｂ１０Ｂ符号化アルゴリズムが使用される。しかしながら、他のさまざまな符号化メカニズムが、本発明の実施の形態の範囲内にあり、本発明は、特定の符号化アルゴリズム／メカニズムに限定されるものではない。
【００１５】
バス２２０は、当該技術分野では既知であり、スイッチ１２０の異なる要素間、処理セル１１０間、及び他のコンポーネント間、並びにそれら異なる要素、処理セル１１０、及び他のコンポーネントの間でデータを移動させることを可能にする。図面を分かりにくくすることを回避するために、バス２２０は、それのみ単独で存在するように示されている。すなわち、他のどのコンポーネントにも接続されていない。しかしながら、当業者は、たとえば、ＣＰＵ、メモリ、Ｉ／Ｏデバイス、サーデス２１０等を含む異なる要素にバス２２０を、適宜、接続できることが分かる。実際には、一実施の形態では、（上述した）クロックと結合されるデータは、バス２２０から得られる。
【００１６】
図３は、処理セル１１０の内部にあるエージェント１４０の一実施の形態であるエージェント３００を示している。スイッチ２００と同様に、エージェント３００は、複数のポート又はサーデス３１０を含み、ポート３１０は、アウトバウンドポート３１０Ｏ及びインバウンドポート３１０Ｉを含む。しかしながら、例示として、図３には、１つのポート３１０しか示されてない。アウトバウンドポート３１０Ｏは、ライン３３５Ｏを介してスイッチ２００へデータを送信する一方、インバウンドポート３１０Ｉは、ライン３３５Ｉを介してスイッチ２００からデータを受信する。ライン３３５Ｏ及びライン３３５Ｉは、図１のライン１３５の一部である。さらに、スイッチ２００がエージェント３００に接続されると、スイッチ２００のライン２３５Ｏは、エージェント３００のライン３３５Ｉに接続され、スイッチ２００のライン２３５Ｉは、エージェント３００のライン３３５Ｏに接続される。
【００１７】
符号化されたクロックＣＬＫ及びデータを含むビットストリームをライン３３５Ｉで受信する各インバウンドポート３１０Ｉは、そのビットストリームをデータ及びクロックに分割する。インバウンドポート３１０Ｉは、次に、符号化されたクロックＣＬＫを復号して、復号されたクロックＣＬＫをライン３１５で提供する。例示として、ライン３１５のクロックＣＬＫは、復号されたクロック又は抽出されたクロックと呼ばれる。
【００１８】
クロック分配器３４０は、クロックＣＬＫをライン３１５で受信し、このクロックを複製して、複製されたクロックをそれぞれライン３４５で、処理セル１１０の各ＣＰＵ３５０に提供する。たとえ、ライン３４５の抽出されたクロックＣＬＫとライン１０５のクロックＣＬＫとの位相がずれる場合があっても、ライン３４５のこれらのクロックＣＬＫは、クロックジェネレータ１０２によってライン１０５で提供されるクロックＣＬＫと同期しており、たとえば、同じ周期を有する。実際には、抽出されたクロックＣＬＫをライン３４５で受信する処理セル１１０のＣＰＵ３５０は、ライン１０５のクロックと同期したクロックを有する。
【００１９】
バス３２０は、バス２２０と同様に、エージェント３００の異なる要素間及び処理セル１１０間並びにそれら異なる要素と処理セル１１０との間でデータを移動させることを可能にする。さらに、図面を分かりにくくすることを回避するために、バス３２０は、それのみ単独で存在するものとして示されているが、実際には、バス３２０は、バス２２０と同様に他のさまざまなコンポーネントに接続されている。
【００２０】
本発明のこの実施の形態は、セルのＣＰＵに提供されるライン３４５のクロックＣＬＫが、シリアルリンク３３５Ｉから抽出されたクロックから複製されることから、各セル１１０にクロック源を必要としないので有利である。
【００２１】
［第２の実施の形態−抽出されたクロックを位相ロックとして使用する］
本発明の実施の形態は、ライン３１５（図３）の抽出されたクロックＣＬＫを位相情報としても使用して、異なる処理セル１１０のクロックを同期させ、したがって、このようなセル間のクロックドリフトを除去する。処理セル１１０を実装するチップの温度変化は、クロックドリフトの１つの原因である。
【００２２】
図４は、一実施の形態による、ライン３１５の抽出されたクロックＣＬＫが位相情報としてどのように使用されるかを示す図４００を示している。クロック源４１０は、ＣＰＵ４５０によって使用される周波数で動作するクロックＣＬＫ’をライン４１５で提供する。この周波数は、例示として、４００ＭＨｚである。位相ロック機能４２０が、ライン４１５のクロックＣＬＫ’をライン３１５のクロックＣＬＫの位相と同期させ、同期されたクロックＣＬＫ”をライン４２５に複製するように、ライン３１５のクロックＣＬＫは、位相ロック情報として使用される。
【００２３】
セル１１０ごとに１つのクロック源４１０を提供することによって、たとえライン３１５の抽出されたクロックＣＬＫに関係する他の回路が動作していなくても、ＣＰＵ４５０は依然として動作する。たとえば、たとえライン３１５の抽出されたクロックＣＬＫが動作していなくても、クロック源４１０は、クロックＣＬＫ’をライン４１５で独立して提供し、したがって、クロックＣＬＫ”をライン４２５で独立して提供する。その結果、ライン４２５にクロックＣＬＫ”を有する処理セル４５０は、機能し続ける。さらに、回路４００を各セル１１０で使用することができ、異なるセル１１０のＣＰＵは、クロックＣＬＫ”をライン４２５で提供する点に関して同じメカニズムを使用するので、同じセル及び別のセルの双方のＣＰＵ４５０へのライン４２５のこれらのクロックＣＬＫ”は、クロック源４１０によって提供されるライン４１５のクロックＣＬＫ’に対してドリフトしない。
【００２４】
［スケーリング］
本発明のさまざまな実施の形態では、ライン１０５（図１）、２４５、２３５Ｏ（図２）、３３５Ｉ、３１５、及び３４５（図３）のクロックは、異なる速度で動作する。この理由は、処理セル１１０間でより高速なデータ転送速度を有するには、通常、リンク１３５（２３５Ｏ及び３３５Ｉ）で非常の速い速度、たとえば２〜５ＧＨｚを有することが望ましいからである。さらに、クロック源１０２は、リンク１３５のレンジよりもはるかに小さな指定レンジ、たとえば２００ＭＨｚ〜１ＧＨｚでリンク１０５のクロックＣＬＫを提供することが一般的である。加えて、コスト及び特定の用途を考慮した実施態様に応じて、ＣＰＵ３５０を含むセル１１０のＣＰＵは、リンク１３５の周波数レンジよりも低い広い周波数レンジ、たとえば４００ＭＨｚ〜１ＧＨｚで動作する場合がある。その結果、クロック源１０２からライン１０５でクロックＣＬＫを受信する本発明の実施の形態は、スケーリング技法を提供して、ＣＰＵ３５０用に所望の速度をライン３４５で達成する。たとえば、ライン１０５のクロックＣＬＫは、２００ＭＨｚで動作することができ、リンク２３５Ｏ（又は３３５Ｉ）は２ＧＨｚで動作することが一般的である一方、ＣＰＵ３５０は、ライン３４５で４００ＭＨｚの速度を要求する。本発明の実施の形態は、ライン１０５のクロック源が２００ＭＨｚであっても、ＣＰＵ３５０が４００ＭＨｚの所望の速度でクロックを受信できるように、スケールアップ技法及びスケールダウン技法を使用する。たとえば、たとえクロック分配器２４０が２００ＭＨｚで動作するクロックＣＬＫ１０５を受信しても、クロック分配器２４０は、速度を１０倍にスケールアップして、ライン２４５又はライン２３５Ｏの速度が２ＧＨｚとなるようにする。ライン２４５のクロックは、ライン２４５のクロックをライン２３５Ｏに送信するアウトバウンドポート２１０Ｏの入力としての機能を果たすので、ライン２４５のクロック速度は、ライン２３５Ｏのクロック速度と同じである。さらに、ライン３３５Ｉのクロック速度は、ライン３１５のクロックＣＬＫのクロック速度と同じであり、２ＧＨｚである。ライン３４５の所望のクロック速度が４００ＭＨｚである場合、クロック分配器３４０は、ライン３１５のクロックを５分の１にスケールダウンして、２ＧＨｚからライン３４５の４００ＭＨｚにする。本発明の実施の形態は、スケーリングされるクロックを入力として有するカウンタを使用して適切な出力ビットを選択する等の既知のスケーリング技法を使用する。すなわち、実施の形態は、高速のクロック速度には下位ビットを選択し、低速のクロック速度には上位ビットを選択する等を行う。
【００２５】
本発明の実施の形態は、たとえばライン１０５、２４５、３４５等の異なるポイントにおけるさまざまな速度の要望を認識するが、各ポイントにおける特定の速度に限定されるものではない。
【００２６】
［冗長性］
図５は、一実施の形態による、クロック源１０２の冗長性を示す図５００を示している。発振器５２１０は、デフォルトクロック源としての機能を果たす一方、発振器５２２０は、フェイルオーバクロック源としての機能を果たす。すなわち、一般に、クロックセレクタ５２３０は、発振器５２１０を選択してクロックＣＬＫをライン１０５（図１）で提供し、発振器５２１０が故障した場合に、クロックセレクタ５２３０は、発振器５２２０を選択してクロックＣＬＫをライン１０５で提供する。本発明の実施の形態によれば、マルチプレクサ等のさまざまなメカニズムが、クロックセレクタ５２３０としての機能を果たすことができる。さらに、発振器５２１０及び５２２０は、例示としてのみ使用され、ライン１０５のクロックＣＬＫのフェイルオーバメカニズム／冗長性を提供する他のさまざまなメカニズムが、本発明の実施の形態の範囲内にある。
【００２７】
図６は、一実施の形態による、図１のさまざまな要素の冗長性を示す図６００を示している。上記で示したように、ライン１３５は、ライン２３５Ｏ（又は３３５Ｉ）及びライン２３５Ｉ（又は３３５Ｏ）を含む。図６は、サーデス２１０に対応して、フェイルオーバサーデス、たとえば２１０Ｆがあり、サーデス３１０に対応して、フェイルオーバサーデス３１０Ｆがあることを示している。ライン２４５のクロックＣＬＫに対応して、ライン２４５ＦにフェイルオーバクロックＣＬＫがある。同様に、ライン２３５Ｏ（又は３３５Ｉ）に対応して、フェイルオーバライン２３５ＯＦ（又は３３５ＩＦ）があり、ライン２３５Ｉ（又は３３５Ｏ）に対応して、フェイルオーバライン２３５ＩＦ（又は３３５ＯＦ）がある。さらに、ライン３１５の抽出されたクロックＣＬＫに対応して、ライン３１５ＦのフェイルオーバクロックＣＬＫがある。加えて、クロックセレクタ６１０は、ライン３１５（又は３１５Ｆ）のクロックを、図３のクロック分配器３４０又は図４の位相ロック４２０への入力として選択する。
【００２８】
図５と同様に、さまざまな方法を使用して、図６で説明したフェイルオーバメカニズムを提供することができ、本発明の実施の形態は、特定の方法に限定されるものではない。
【００２９】
本発明の実施の形態は、異なる処理セルへクロックを分配する際のコストを節減できるので、他の手法よりも有利である。また、実施の形態は、クロックドリフトの問題も除去する。同じセル１１０及び異なるセル１１０のライン３４５のクロックは、ライン１０５のクロックと同期される。同様に、同じセル及び異なるセルのライン４２５のクロックは、ライン１０５のクロックと同期される。
【００３０】
上記明細書では、本発明をその特定の実施の形態に関して説明した。しかしながら、本発明のより広い精神及び範囲から逸脱することなく、実施の形態にさまざまな修正及び変更を行えることは明らかである。したがって、この明細書及び図面は、限定としてではなく例示としてみなされるべきである。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態を実施できる機構を示す図である。
【図２】一実施の形態によるスイッチを示す図である。
【図３】一実施の形態による、処理セルの内部のエージェントを示す図である。
【図４】一実施の形態による、抽出されたクロックを位相情報として使用することを示す機構を示す図である。
【図５】一実施の形態による、クロック源の冗長性を示す機構を示す図である。
【図６】図３及び図４の要素の冗長性を示す機構を示す図である。
【符号の説明】
【００３２】
１００・・・システム
１０２・・・クロック源
１０５（１），１０５（２）・・・ライン
１１０（１），１１０（２），１１０（ｌ），１１０（Ｎ）・・・処理セル
１２０（１），１２０（２），１２０（Ｌ）・・・スイッチ
１３５（１），１３５（２），１３５（ｌ），１３５（Ｎ）・・・ライン
１４０（１），１４０（２），１４０（ｌ），１４０（Ｎ）・・・エージェント
２００・・・スイッチ
２１０（１），２１０（Ｊ）・・・ポート
２２０・・・バス
２３５Ｉ（１），２３５Ｏ（１）・・・ライン
２３５Ｉ（Ｊ），２３５Ｏ（Ｊ）・・・ライン
２４０・・・クロック分配器
２４５（１），２４５（Ｊ）・・・ライン
３００・・・エージェント
３１０（１）・・・ポート
３１５・・・ライン
３２０・・・バス
３３５Ｏ（１），３３５Ｉ（１）・・・ライン
３４０・・・クロック分配器
３４５（１），３４５（Ｋ）・・・ライン
３５０（１），３５０（Ｋ）・・・ＣＰＵ
４１０・・・クロック源
４２０・・・位相ロック
４２５（１），４２５（Ｋ）・・・ライン
４５０（１），４５０（Ｋ）・・・処理セル
５２１０，５２２０・・・発振器
５２３０・・・クロックセレクタ
６１０・・・クロックセレクタ
【図１】
2007164786.tif 000003
【図２】
2007164786.tif 000004
【図３】
2007164786.tif 000005
【図４】
2007164786.tif 000006
【図５】
2007164786.tif 000007
【図６】
2007164786.tif 000008