(57)【要約】  本開示の様々な態様は、モデム機能を実装するプロセッサにデータをルーティングするためのリング状に構成された双方向、デュアル相互接続バスについて説明する。複数のノードが、少なくとも２つの相互接続リングを備えるリングバスを形成するために結合され得る。複数のプロセッサが、複数のノードに割り当てられ得る。複数のプロセッサのうちの第１のプロセッサが、第１のデータタイプを処理するように構成され得、複数のプロセッサのうちの第２のプロセッサが、第２のデータタイプを処理するように構成され得る。リングバス上のデータは、第１のデータタイプと第２のデータタイプとに分離され得、第１のデータタイプの分離されたデータは、１つの相互接続リング上で第１のプロセッサにルーティングされ得、第２のデータタイプの分離されたデータは、別の相互接続リング上で第２のプロセッサにルーティングされ得る。
2018532192.tif 000002
【特許請求の範囲】
【請求項１】
信号を処理するためのデバイスであって、前記デバイスは、
複数のノードと、各ノードが、一意であるアドレスを有する、
複数のプロセッサと、各プロセッサが、前記複数のノードのうちのそれぞれのノードに一意に割り当てられる、
少なくとも第１のリングバスと第２のリングバスとを有する相互接続バスと
を備え、前記相互接続バスは、
前記複数のノードをリング状に接続することと、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、前記データが、前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサによって処理される、
を行うように構成された、
デバイス。
【請求項２】
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、請求項１に記載のデバイス。
【請求項３】
前記デュアル相互接続バスが、前記データを第１のデータタイプと第２のデータタイプとに分離するように構成され、それにおいて、前記第１のデータタイプが前記第１のリングバス上でルーティングされるべきであり、前記第２のデータタイプが前記第２のリングバス上でルーティングされるべきである、請求項１に記載のデバイス。
【請求項４】
前記第１のリングバスが、第１の方向においてデータをルーティングするように構成され、前記第２のリングバスが、前記第１の方向とは異なる第２の方向においてデータをルーティングするように構成された、請求項１に記載のデバイス。
【請求項５】
前記データが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向においてルーティングされる、請求項１に記載のデバイス。
【請求項６】
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、請求項５に記載のデバイス。
【請求項７】
前記処理された信号が、第１の規制規格に準拠する第１の信号と第２の規制規格に準拠する第２の信号とを備える、請求項１に記載のデバイス。
【請求項８】
前記複数のプロセッサのうちの少なくとも１つが、少なくとも１つの対応する特徴を無効にさせるように、動作不可能にされるように構成された、請求項１に記載のデバイス。
【請求項９】
リングバス上でデータをルーティングするための方法であって、前記方法は、
前記リングバス上のデータを第１のデータタイプと第２のデータタイプとに分離することと、前記リングバスが、複数のノードのうちの各ノードを、第１の方向において第１のネイバリング前記ノードに結合し、第２の方向において第２のネイバリング前記ノードに結合することによって形成され、前記複数のノードが複数のプロセッサを割り当てられる、
少なくとも２つの相互接続リングのうちの１つ上の前記第１のデータタイプの前記分離されたデータの少なくとも一部を、前記第１のデータタイプを処理するように構成された第１のプロセッサにルーティングし、前記少なくとも２つの相互接続リングのうちの別の１つ上の前記第２のデータタイプの前記分離されたデータの少なくとも一部を、前記第２のデータタイプを処理するように構成された第２のプロセッサにルーティングすることと
を備える、方法。
【請求項１０】
前記第１のデータタイプの前記分離されたデータがスカラーデータを含み、前記第２のデータタイプの前記分離されたデータがベクトルデータを含む、請求項９に記載の方法。
【請求項１１】
前記第１のデータタイプの前記分離されたデータまたは前記第２のデータタイプの前記分離されたデータの少なくとも一部が、ノードホップの数に基づく方向においてルーティングされる、請求項９に記載の方法。
【請求項１２】
前記ルーティングすることが、トランザクションＩＤを割り当てることを備える、請求項９に記載の方法。
【請求項１３】
前記少なくとも２つの相互接続リングのうちの少なくとも１つが、前記ルーティングされたデータがそれの宛先に達するまで、前記ルーティングされたデータを前記少なくとも２つの相互接続リングのうちの前記少なくとも１つ上にとどまらせるのに効果的なストール不可能である、請求項９に記載の方法。
【請求項１４】
前記複数のノードがデータアービトレーションを実行する、請求項９に記載の方法。
【請求項１５】
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、請求項１４に記載の方法。
【請求項１６】
信号を処理するための装置であって、前記装置は、
複数のノードと、前記複数のノードのうちの各ノードが、異なるアドレスを有する、
複数のプロセッサと、
少なくとも２つの相互接続リングを備えるリングバスと、
前記アドレスに基づいて、前記複数のプロセッサを前記複数のノードに割り当てるための手段と、前記複数のプロセッサのうちの第１のプロセッサが、第１のデータ構造を処理するように構成され、前記複数のプロセッサのうちの第２のプロセッサが、第２のデータ構造を処理するように構成された、
前記アドレスに基づいて、前記複数のノードのうちの各ノードが、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合されるように、前記複数のノードを前記リングバスに結合するための手段と、
前記第１のデータ構造および前記第２のデータ構造に基づいて、前記リングバス上でデータを分離するための手段と、
前記分離されたデータに基づいて、前記第１のプロセッサに、前記少なくとも２つの相互接続リングのうちの１つ上の前記分離されたデータの少なくとも一部をルーティングし、前記第２のプロセッサに、前記少なくとも２つの相互接続リングの別の１つ上の前記分離されたデータの少なくとも別の一部をルーティングするための手段と
を備える、装置。
【請求項１７】
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、別のプロセッサが前記リングバスを用いてデータを転送するレートとは異なるレートにおいて前記リングバスを用いてデータを転送するように構成された、請求項１６に記載の装置。
【請求項１８】
前記分離されたデータの少なくとも一部が、前記第１の方向または前記第２の方向においてルーティングされ、前記ルーティングが、ノードホップの数に基づいて決定される、請求項１６に記載の装置。
【請求項１９】
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、請求項１６に記載の装置。
【請求項２０】
前記複数のノードが、データアービトレーションを実行するように構成された、請求項１６に記載の装置。
【請求項２１】
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、請求項２０に記載の装置。
【請求項２２】
信号を処理するための方法であって、前記方法は、
複数のアドレスを複数のノードに割り当てることと、前記複数のノードのうちの各ノードが、異なる割り当てられたアドレスを有する、
複数のプロセッサの各々が前記複数のノードのうちのそれぞれのノードに一意に割り当てられるように、前記複数のプロセッサを前記複数のノードに割り当てることと、
第１のリングバスおよび第２のリングバスをリング状に前記複数のノードに接続することと、前記第１のリングバスおよび前記第２のリングバスが、異なるデータ構造のために構成された、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、
前記複数のノードのうちの前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサを用いて前記データを処理することと
を備える、方法。
【請求項２３】
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、請求項２２に記載の方法。
【請求項２４】
前記ルーティングすることが、前記データを第１のデータタイプと第２のデータタイプとに分離することと、前記第１のリングバス上で前記第１のデータタイプをルーティングし、前記第２のリングバス上で前記第２のデータタイプをルーティングすることとを含む、請求項２２に記載の方法。
【請求項２５】
前記ルーティングすることが、第１の方向において前記第１のリングバス上で前記データをルーティングすることと、前記第１の方向とは異なる第２の方向において前記第２のリングバス上で前記データをルーティングすることとを含む、請求項２２に記載の方法。
【請求項２６】
前記ルーティングすることが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向において前記データをルーティングすることを含む、請求項２２に記載の方法。
【請求項２７】
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、請求項２６に記載の方法。
【請求項２８】
前記ルーティングすることは、前記データがそれの宛先に達するまで、前記データが前記第１のリングバスまたは前記第２のリングバス上にとどまるように、前記データをルーティングすることを含む、請求項２２に記載の方法。
【請求項２９】
前記複数のプロセッサのうちの少なくとも１つが、対応する特徴を無効にするのに効果的な動作不可能にされるように構成された、請求項２２に記載の方法。
【請求項３０】
前記複数のプロセッサのうちの少なくとも１つは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１５年９月２３日に米国特許商標庁に出願された仮特許出願第６２／２２２，７２５号、および２０１６年３月２４日に米国特許商標庁に出願された非仮出願第１５／０８０，４２９号の優先権および利益を主張する。
【０００２】
[0002]本開示は、分散メモリアーキテクチャをもつ複数のプロセッサを使用してデータストリームを処理するための変調器、復調器、またはモデムの動作に関し、より詳細には、デュアル、双方向相互接続リングバスに関する。
【背景技術】
【０００３】
[0003]コンピューティングデバイスは、しばしば、他のコンピューティングデバイスとの通信を可能にするためのモデムを含んでいる。モデムは、一般に、送信機動作と受信機動作の両方を実行するように構成され、したがって、モバイルフォンなど、２方向通信デバイスにおいて使用され得る。モデムは、それの処理チェーン全体にわたる様々なスペクトルを占有するデータ上で動作し得るので、それは、単一のチップ上ではなくチップセットとして実装されることが一般的である。たとえば、周波数変換および無線周波数／中間周波数（ＲＦ／ＩＦ）処理が、１つのチップ（またはダイ）上で行われ得、これは、次いで、変調／復調および符号化／復号など、ベースバンド機能を実行する第２のチップ（またはダイ）に結合される。
【０００４】
[0004]ベースバンド処理が、専用論理、プロセッサ、またはそれらの組合せの使用によってなど、様々な方法で実装され得る。たとえば、現代のモデムが、システムバスと接続された分散メモリアーキテクチャにおいてベースバンド処理を実装するために最高３０個のプロセッサを含んでいることは珍しくない。システムバスは、制御バス、アドレスバス、およびデータバスなど、複数のバスを備え得、アドホック、クロスバータイプバスを用いて、メッシュ、ポイントツーポイントプロトコル、またはリング状に（in a ring）など、様々な方法で構成要素を接続し得る。バス上のデータ輻輳は、構成要素がどのようにバス上で接続されるか、データがどのようにルーティングされるか、および採用されるデータアービトレーション方式に応じて変動することがある。たとえば、バスに接続されたすべての構成要素上で動作する集中型アービトレーション方式が、バス上のデータ輻輳を増す望ましくないレイテンシを誘起し得る。さらに、各プロセッサは、それ自体のローカルメモリへの高速アクセスを有し得るが、別のプロセッサのメモリにアクセスすることをも必要とされ得、これは、データ輻輳を悪化させ（exacerbate）得る。さらに、いくつかのバスアーキテクチャは、プロセッサの数におけるスケーラビリティに適用でき（amenable）ず、しばしば、追加のモデム特徴をサポートするためにモデムに追加され得る追加のプロセッサに適応するために、再設計およびレイアウトされる必要がある。
【発明の概要】
【０００５】
[0005]本発明の概要は、発明を実施するための形態において以下でさらに説明される概念の選択を簡略化された形で紹介するために与えられる。本発明の概要は、請求される主題の主要な特徴または本質的特徴を識別するものではない。
【０００６】
[0006]いくつかの態様では、信号を処理するためのデバイスは複数のノードを備える。複数のノードのうちの各ノードはアドレスを有し、アドレスの各々は異なる。デバイスは、複数のプロセッサをも備える。複数のプロセッサの各々は、複数のノードのうちのノードに一意に割り当てられる。デバイスは、複数のノードをリング状に接続する第１のリングバスと第２のリングバスとから構成されるデュアル相互接続バスをも備える。第１のリングバスと第２のリングバスとは、異なるデータ構造のために構成され得る。デュアル相互接続バスは、少なくとも１つのノードに割り当てられたアドレスに従って、複数のノードのうちの少なくとも１つのノードに、第１のリングバスまたは第２のリングバスのうちの少なくとも１つ上のデータを、ルーティングする（route data on at least one of the first ring bus or the second ring bus）ように構成される。データは、少なくとも１つのノードに割り当てられた複数のプロセッサのうちのプロセッサによって処理される。
【０００７】
[0007]他の態様では、バス上のデータをルーティングするための方法は、複数のノードを結合する。複数のノードのうちの各ノードは、少なくとも２つの相互接続リングを備えるリングバスを形成するために、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合される。複数のプロセッサは、複数のノードに割り当てられる。複数のプロセッサのうちの第１のプロセッサが、第１のデータタイプを処理するように構成され、複数のプロセッサのうちの第２のプロセッサが、第２のデータタイプを処理するように構成される。リングバス上のデータは、第１のデータタイプと第２のデータタイプとに分離される。第１のデータタイプの分離されたデータの少なくとも一部が、１つの相互接続リング上で第１のプロセッサにルーティングされ、第２のデータタイプの分離されたデータの少なくとも一部が、別の相互接続リング上で第２のプロセッサにルーティングされる。
【０００８】
[0008]また他の態様では、信号を処理するための装置は複数のノードを備える。複数のノードのうちの各ノードはアドレスを有し、ここで、アドレスの各々は異なる。本装置は、複数のプロセッサと、少なくとも２つの相互接続リングを有するリングバスとをも備える。本装置は、アドレスに基づいて、複数のプロセッサを複数のノードに割り当てるための手段をも備える。複数のプロセッサのうちの第１のプロセッサが、第１のデータ構造を処理するように構成され、複数のプロセッサのうちの第２のプロセッサが、第２のデータ構造を処理するように構成される。本装置は、アドレスに基づいて、複数のノードをリングバスと結合するための手段をも備える。複数のノードのうちの各ノードは、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合される。本装置は、第１のデータ構造および第２のデータ構造に基づいて、リング上のデータを分離するための手段をも備える。本装置は、分離されたデータに基づいて、１つの相互接続リング上の分離されたデータの少なくとも一部を第１のプロセッサにルーティングし（routing at least part of the separated data on one interconnect ring to the first processor）、別の相互接続リング上の分離されたデータの少なくとも別の一部を第２のプロセッサにルーティングするための手段をも備える。
【０００９】
[0009]上記は発明の概要であり、したがって、必然的に、詳細の簡略化、一般化および省略を含んでおり、したがって、本発明の概要が例示的なものにすぎず、いかなる形でも限定することを意味しないことを当業者は諒解されよう。特許請求の範囲のみによって定義される、本明細書で説明されるデバイスおよび／またはプロセスの他の態様、本発明の特徴、および利点は、本明細書に記載される非限定的な詳細な説明において明らかになる。
【００１０】
[0010]詳細な説明は、添付図を参照する。図では、参照番号の（１つまたは複数の）最左桁は、参照番号が最初に現れる図を識別する。説明および図における異なる事例中の同じ参照番号の使用は、同様または同等の項目を示し得る。
【図面の簡単な説明】
【００１１】
【図１】１つまたは複数の態様による、例示的なモデムデバイスを示す図。
【図２】１つまたは複数の態様による、例示的なモデム実装アーキテクチャを示す図。
【図３】１つまたは複数の態様による、例示的な相互接続ノードを示す図。
【図４】１つまたは複数の態様による、例示的なクロック分配を示す図。
【図５】１つまたは複数の態様による、デュアル、双方向相互接続リングを実装するための例示的な方法を示す図。
【図６】１つまたは複数の態様による、デュアル、双方向相互接続リングを実装するための例示的な方法を示す図。
【図７】１つまたは複数の態様による、デュアル、双方向相互接続リングの態様がそれらを通して実装され得る構成要素を有するシステムオンチップ（ＳｏＣ）を示す図。
【発明を実施するための形態】
【００１２】
[0011]モデムは、しばしば、プロセッサおよび他の信号処理回路を使用して送信機および受信機を実装する。本開示は、モデム機能を実装するプロセッサおよび信号処理回路にデータをルーティングするためのリング状に構成された双方向、デュアル相互接続バスについて説明する。データは、データタイプに従って分離され、データタイプに適したリング上でルーティングされ得る。アービトレーションが、プロセッサおよび他の信号処理回路を相互接続リングバスに接続するノードにおいてローカルに行われ得る。したがって、デュアル相互接続リングバスは、高度にスケーラブルであり、任意の数のノードおよびプロセッサをサポートすることが可能であり、さらに分散メモリサポートをもつ。デュアル相互接続リングバスはまた、それが様々なレイアウト構成をサポートすることが可能であるので、高度に構成可能である。それはまた、リング構造では各ノードがそれの隣接するノードに接続され、これがルーティング輻輳を低減するので、低い輻輳を可能にし得る。デュアル相互接続リングバスはまた、モデムの様々なティア（tiers）が再設計なしにサポートされ得るので、製品化までの時間が迅速であり得る。
【００１３】
[0012]以下の説明では、例示的なモデムと、例示的なモデムの要素が実装し得る技法と、例示的なモデムの要素がそれの上で採用され得るシステムオンチップとが説明される。したがって、例示的なプロシージャの実行は例示的なモデムに限定されず、例示的なモデムは例示的なプロシージャの実行に限定されない。例示的なモデムまたはそれの要素に関して行われるいかなる言及（reference）も、単に例としてであり、本明細書で説明される態様のうちのいずれかを限定するものではない。
【００１４】
[0013]図１は、本開示の１つまたは複数の態様による、例示的なモデム１００を示す。モデム１００は、セルラーフォン、タブレット、ラップトップコンピュータ、セットトップボックス、衛星受信機、ケーブルテレビジョン受信機、アクセスポイント、デスクトップコンピュータ、ゲームデバイス、車両ナビゲーションシステム、セルタワー、モデム、ケーブルヘッドエンドなど、任意の好適なタイプのコンピューティングデバイスを備え得る。図示のように、モデム１００は、アナログ無線周波数（ＲＦ）回路１０２と、ベースバンド（ＢＢ）回路１０４と、バス１０６と、ホストプロセッサ１０８と、ＢＢプロセッサ１１０−１〜１１０−Ｎと、メモリ１１２−１〜１１２−Ｎとを含む。簡単のために、モデム１００の説明は、これらのモジュールに指定されて（reserved）いる。ただし、様々な実施形態は、本明細書で説明される主題の範囲から逸脱することなく、追加の構成要素、ハードウェア、ソフトウェアおよび／またはファームウェアを含むことができる。モデム１００は、複数のチップ上、複数のダイ上、または単一のチップ上に実装され得る。単一のチップは、単一のダイ、または複数のダイを含んでいることがある。いくつかの実施形態では、アナログＲＦ回路１０２が第１のチップ上に実装され、ベースバンド回路１０４が第２のチップ上に実装される、などである。時々、チップはシリアライザ／デシリアライザ（ＳＥＲＤＥＳ）機能を使用して互いと相互接続され得る。
【００１５】
[0014]いくつかの実施形態では、モデム１００は、通信リンクを介して、セルフォンなどのユーザデバイスと、１つ／複数のセルタワーとの間で送られるデータを処理するために、周波数変換、符号化／復号、および／または変調／復調を実行する。周波数変換、符号化／復号、および／または変調／復調は、第３世代パートナーシッププロジェクト（３ＧＰＰ（登録商標））プロトコル、ロングタームエボリューション（ＬＴＥ（登録商標））プロトコルなど、信号プロトコルに従い得る。モデム１００は、モデム１００が第１の構成にあるとき、第１の信号プロトコルに従って信号を処理し、モデム１００が第２の構成にあるとき、第２の信号プロトコルに従って信号を処理するように構成可能であり得る。たとえば、モデム１００によって処理されるデータは、第１のモデム構成におけるセルラーフォン規格に準拠する第１の信号、および第２のモデム構成におけるＷｉ−Ｆｉ（登録商標）規格に準拠する第２の信号など、第１の規制規格に準拠する第１の信号と、第２の規制規格に準拠する第２の信号とを備える信号を含むことができる。
【００１６】
[0015]アナログＲＦ回路１０２は、アンテナ１１４など、１つまたは複数のアンテナを介して、ワイヤレス通信リンクを介してデータを送信および受信する。アンテナ１１４は、単一のアンテナまたは複数のアンテナを備え得る。代替または追加として、アナログＲＦ回路１０２は、データラインを介してなど、ベースバンド回路１０４を用いてデータを送信および受信する。特に、アナログＲＦ回路１０２は、ＲＦデータを受信し、復調プロセスの一部など、データをベースバンド（またはニアベースバンド）に変換し、ベースバンドデータをベースバンド回路１０４にフォワーディングする。アナログＲＦ回路１０２はまた、ベースバンド回路１０４からベースバンドデータを受信し、変調プロセスの一部など、ベースバンドデータをＲＦに変換し、アンテナ１１４を介して被変調データを送信することができる。周波数変換は、アップコンバージョンまたはダウンコンバージョンを含み、単一のコンバージョン、または複数のコンバージョンステップにおいて行われ得る。たとえば、ＲＦ信号からベースバンド信号への変換は、中間周波数（ＩＦ）への変換を含むことも含まないこともある。アナログＲＦ回路１０２は、フィルタ処理、利得制御、ＤＣ除去、および／または他の補償をも実行し得る。さらに、それは、アンテナ１１４を使用するワイヤレス通信のために構成されたとして（as）図１に示されているが、モデム１００は、ケーブルまたはツイストペアケーブルを用いてなど、ワイヤード通信、および／またはワイヤレス通信とワイヤード通信との組合せのためにも構成され得ることを理解されたい。
【００１７】
[0016]ベースバンド回路１０４は、マッピング／デマッピング、サイクリックプレフィックス挿入／除去、符号化／復号、逆変換／変換などを含む、送信機機能および／または受信機機能など、リアルタイムベースバンド処理を実装する。いくつかの実施形態では、ベースバンド回路１０４は、様々な信号処理および／またはリアルタイム信号処理を実行するための専用ハードウェア論理ゲートを含み、レジスタ設定を使用して動的にプログラムされ得る。ベースバンド回路１０４は、プロセッサを含み、ホストプロセッサ１０８、ベースバンドプロセッサ１１０−１〜１１０−Ｎ、および／またはメモリ１１２−１〜１１２−Ｎと通信し、および／またはそれらにアクセスするための方法としてバス１０６に結合され得る。
【００１８】
[0017]ホストプロセッサ１０８は、バス１０６を介して、アナログＲＦ回路１０２、ベースバンド回路１０４、および／またはベースバンドプロセッサ１１０−１〜１１０−Ｎなど、モデム１００内に含まれている様々なブロックにコマンドおよび制御信号を与える。ホストプロセッサ１０８は、任意の好適なタイプのプロセッサであり、任意の好適なタイプの構成を有し得る。時々、ホストプロセッサ１０８は、コーデック、ビデオプロセッサ、メディアプロセッサ、アドレスマネージャなどを含む。
【００１９】
[0018]ベースバンドプロセッサ１１０−１〜１１０−Ｎは、周波数変換、データ符号化、データ復号、データ変調、データ復調などの機能を実行するためのコードを実行するように構成されたプログラマブルプロセッサを表す。ベースバンドプロセッサ１１０−１〜１１０−Ｎは、スカラープロセッサ、ベクトルプロセッサ、またはそれらの組合せなど、任意の好適なタイプのプロセッサであり得る。概して、スカラープロセッサは、割込み、データおよびメッセージパッシングのために低帯域幅、狭データ幅バスを利用し、一方（while）、ベクトルプロセッサは、大量の計算データを移動させるために高帯域幅、広データ幅バスを利用する。プロセッサは、スカラーデータとベクトルデータの両方、あるいはスカラーデータまたはベクトルデータのみを処理するように構成され得る。さらに、ベースバンドプロセッサ１１０−１〜１１０−Ｎは各々、それぞれのメモリ１１２−１〜１１２−Ｎに結合されるか、またはそれを有する。したがって、メモリ１１２−１〜１１２−Ｎは、それぞれのベースバンドプロセッサ１１０−１〜１１０−Ｎによって実行されるべきコードを記憶する。メモリ１１２−１〜１１２−Ｎは、キャッシュ、フラッシュ、ＤＲＡＭ、ＳＲＡＭ、揮発性および／または不揮発性メモリ、ならびに／あるいは、光媒体（たとえば、ディスク（disc））、磁気媒体（たとえば、ディスク（disk）またはテープ）など、任意の好適なタイプのデータ記憶媒体を含むコンピュータ可読記憶媒体（ＣＲＭ）など、他のタイプの好適なメモリを備え得る。
【００２０】
[0019]アナログＲＦ回路１０２、ベースバンド回路１０４、ベースバンドプロセッサ１１０−１〜１１０−Ｎ、メモリ１１２−１〜１１２−Ｎ、およびホストプロセッサ１０８など、モデム１００を備えるブロックは各々、それらがバス１０６上で識別可能であり得るように、アドレスを割り当てられ得る。さらに、ベースバンドプロセッサは、ベースバンドプロセッサに結合されたメモリ、ならびにバス１０６に結合されたメモリとの間で読み取り／書き込みを行い得る。たとえば、ベースバンドプロセッサ１１０−１は、メモリ１１２−１〜１１２−Ｎのうちのいずれか１つとの間で読み取り／書き込みを行い得る。バス１０６は、制御バス、アドレスバス、およびデータバスなど、複数のバスを備え得、アドホック、クロスバータイプバスを用いて、メッシュ、ポイントツーポイントプロトコル、またはリング状になど、様々な方法で構成要素を接続し得る。バス１０６上のデータ輻輳は、構成要素がどのようにバス上で接続されるか、データがどのようにルーティングされるか、および採用されるデータアービトレーション方式に応じて変動することがある。
【００２１】
[0020]様々な実施形態が利用され得る例示的なモデムデバイスについて説明したが、次に、１つまたは複数の実施形態による、デュアル相互接続リングバスを使用してモデムを実装することの説明について考える。
【００２２】
[0021]図２は、例示的なモデム実装形態２００を示す。たとえば、モデム実装形態２００は、少なくとも部分的に、図１に示されているモデム１００を実装し得る。モデム実装形態２００は、相互接続リングバス２０６−１および２０６−２を備えるバス２０６を介して接続されたノード２１５−１〜２１５−Ｍとペアリングされたプロセッサ２１０−１〜２１０−Ｍを備える。プロセッサ２１０−１〜２１０−Ｍは、図１中のベースバンドプロセッサ１１０−１〜１１０−Ｎおよび／またはホストプロセッサ１０８を備える任意のプロセッサなど、任意の好適なタイプのプロセッサを備え得る。さらに、プロセッサ２１０−１〜２１０−Ｍは、プログラマブルマイクロプロセッサ、デジタル信号プロセッサなどに限定されず、したがって、バス２０６に接続され得る信号処理のための任意の好適な回路を含み得る。たとえば、プロセッサ２１０−１〜２１０−Ｍは、図１中のベースバンド回路１０４を含み得る。さらに、プロセッサ２１０−１〜２１０−Ｍは各々、図１中のメモリ１１２−１〜１１２−Ｎを備える任意のメモリなど、ローカルメモリに関連し得る。
【００２３】
[0022]バス２０６は、異なるプロセッサ間でデータトランザクションを送信および受信するためにノード２１５−１〜２１５−Ｍをリング状に接続する複数の相互接続リングバスを含んでいる。バス２０６は、図１中のバス１０６を実装し得る。図２中のバス２０６は、２つの相互接続リングバス２０６−１および２０６−２を備えるものとして示されている。図では、相互接続リングバス２０６−１は、反時計回り方向においてデータをルーティングし、相互接続リングバス２０６−２は、時計回り方向においてデータをルーティングする。代替的に、相互接続リングバス２０６−１は、時計回り方向においてデータをルーティングし得、相互接続リングバス２０６−２は、反時計回り方向においてデータをルーティングし得る。したがって、バス２０６は、それが、各々がリングを備える２つまたはそれ以上の相互接続バス、すなわち、相互接続リングバスを含んでいることがあるので、デュアル相互接続リングバスと呼ばれることがある。図２は、２つの相互接続リングバスを含んでいるバス２０６を示しているが、バス２０６は、任意の数の相互接続リングバスを含んでいることがある。さらに、バス２０６を備える相互接続リングバスは各々、バス２０６を備えるいくつかの（a number of）相互接続リングバスが、時計回りになど、一方向においてデータをルーティングし、バス２０６を備える残りの相互接続リングバスが、反時計回りになど、別の方向においてデータをルーティングするように、時計回りまたは反時計回り方向においてデータをルーティングするように構成可能であり得る。代替的に、すべての相互接続リングバスは、同じ方向においてデータをルーティングし得る。
【００２４】
[0023]相互接続リングバス２０６−１および２０６−２は、異なるデータタイプ、データ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットをルーティングするように構成され得る。たとえば、相互接続リングバス２０６−１は、第１のパケット構造においてパケット化され、第１のデータレートにおいて通信されるデータをルーティングするように構成され得、相互接続リングバス２０６−２は、第２のパケット構造においてパケット化され、第２のデータレートにおいて通信されるデータをルーティングするように構成され得る。一実施形態では、相互接続リングバス２０６−１は、スカラーデータをルーティングするように構成され、相互接続リングバス２０６−２は、ベクトルデータをルーティングするように構成される。さらに、相互接続リングバス２０６−１および２０６−２は、互いに、異なるデータ幅および異なるアドレス幅をサポートし得る。代替的に、相互接続リングバス２０６−１および２０６−２は、互いに、同じデータ幅および同じアドレス幅をサポートし得る。一実施形態では、相互接続リングバス２０６−１および２０６−２は各々、２４ビットアドレス、３２ビットデータバスを含む。すなわち、各相互接続リングバスは、最高２４ビットアドレスにおいて最高３２ビットデータを転送することができる。一実装形態では、相互接続リングバス２０６−１および２０６−２は、データ幅、データフォーマット、データパケット構造、および／またはデータレートを含む、同じデータ構造をルーティングするように構成される。
【００２５】
[0024]異なるデータタイプ、データ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットのデータが、決定されたデータタイプ、データ構造、データ幅、データレート、データパケット長および／またはデータフォーマットに基づいて、分離され、バス２０６を備える異なる相互接続リングバス上に配置され得る。異なる相互接続リングバス上にデータを分離すること（separating）によって、バス２０６上のデータ輻輳が低減され得る。
【００２６】
[0025]プロセッサ２１０−１〜２１０−Ｍは、各々一意のＩＤを割り当てられた、ノード２１５−１〜２１５−Ｍを通して相互接続リングバス２０６−１およびリングバス２０６−２に接続される。プロセッサ２１０−１〜２１０−Ｍのうちの各プロセッサは、プロセッサとノードとの間に１対１の対応があるように、ノード２１５−１〜２１５−Ｍのうちのノードを通して相互接続リングバス２０６−１および２０６−２に接続されるように示されている。すなわち、各プロセッサは、一意のノードとペアリングされ（paired）得る。この実装形態が、図２では、プロセッサ２１０−１〜２１０−Ｍがノード２１５−１〜２１５−Ｍに１対１の様式で接続されるものとして示されている。
【００２７】
[0026]さらに、ノード２１５−１〜２１５−Ｍのうちの各ノードは、バス２０６を使用して２つのネイバリングノードに接続される。図３は、ノード２１５−ｋが相互接続リングバス２０６−１および２０６−２を使用してノード２１５−（ｋ−１）および２１５−（ｋ＋１）に接続される環境３００を示す。ここで、「ｋ」は、整数１からＭの間の整数など、任意の整数であり得る。たとえば、図３中のノード２１５−ｋは、ノード２１５−１とノード２１５−Ｍとがネイバーである、図２中のノード２１５−１〜２１５−Ｍのうちのいずれか１つであり得、ノード２１５−（ｋ−１）と２１５−（ｋ＋１）とは、ノード２１５−ｋへのネイバリングノードである。ノード２１５−ｋは、入力／出力（Ｉ／Ｏ）ポート３０９−１〜３０９−４とブリッジ３０７−１〜３０７−２とを備える。Ｉ／Ｏポート３０９−１〜３０９−４は、１つのノードの入力（出力）ポートがネイバリングノードの出力（入力）ノードに結合され、相互接続リングバス２０６−１および２０６−２のうちの一方の上のデータが、相互接続リングバス２０６−１および２０６−２のうちの他方の反対方向においてルーティングされるように、相互接続リングバス２０６−１および２０６−２に接続される。いくつかの実施形態では、相互接続リングバス２０６−１および２０６−２のうちの一方が、時計回りにデータをルーティングし、相互接続リングバス２０６−１および２０６−２のうちの他方が、反時計回りにデータをルーティングする。いくつかの実施形態では、３つ以上の相互接続バスが使用され、いくつかの相互接続バスが、時計回りになど、第１の方向においてデータをルーティングし、一方、他の相互接続バスが、反時計回りになど、第２の方向においてデータをルーティングする。
【００２８】
[0027]複数のトランザクションが、コンカレントに相互接続リングバス２０６−１および２０６−２上にあり得る。いくつかの実装形態では、トラフィックが、最短方向に従う相互接続リングバス２０６−１および／または２０６−２上の方向においてルーティングされる。たとえば、第１のプロセッサが第２のプロセッサにトランザクションを要求する場合、第１のプロセッサに割り当てられたノードから第２のプロセッサに割り当てられたノードへの相互接続リングバス２０６−１および／または２０６−２の反時計回り通過と時計回り通過（traverse）との間でノードホップの最小数に従う方向が選択される。ノードは、各ノードに割り当てられた一意のノードＩＤ（unique node ID’s）を使用して、相互接続リングバス２０６−１および／または２０６−２上で識別され得る。
【００２９】
[0028]図３中のノード２１５−ｋなど、ノード２１５−１〜２１５−Ｍのうちの各ノードは、ローカルアービトレーションを実行し得る。たとえば、分散バスアービトレーション方式が、利用可能なトークンおよび／またはトランザクションＩＤに基づいて各ノードにおいて展開され得る。トークンまたはトランザクションＩＤは、トークンまたはトランザクションＩＤが保留中である、完了している、優先度を有するかどうかなどを示すために、バス上でルーティングされる各トランザクションに割り当てられる。各ノードは、バス上でルーティングされる各トランザクションのための宛先アドレスが、割り当てられたプロセッサのアドレスに一致する場合、トランザクションをそれのノードに割り当てられたプロセッサにルーティングするか、またはその宛先アドレスが、割り当てられたプロセッサのアドレスに一致しない場合、ネイバリングノードにトランザクションを受け渡す（pass）かのいずれかを行うために、その宛先アドレスを使用する。いくつかの場合には、相互接続リングバス２０６−１および２０６−２のうちの少なくとも１つは、トラフィックが相互接続リングバスに入ると、それがそれの宛先に進むように、ストール不可能（non-stallable）である。少なくともいくつかの実装形態では、ノード２１５−ｋなどのノードにおけるアービトレーションは、反対方向からの宛先において同時に到着するトラフィックからのトランザクション衝突のための機構を含み、その機構により、少なくとも１つのトランザクションが、追加の時間、リングバスを巡って進むことによって（by going around）、リングバスを通過しなければならなくなり、したがって衝突を防ぐ。
【００３０】
[0029]ノード２１５−ｋは、ブリッジ３０７−１〜３０７−２をも備える。ブリッジ３０７−１〜３０７−２のうちの各ブリッジは、接続メッシュ３１０−１〜３１０−２を使用して、Ｉ／Ｏポート３０９−１〜３０９−４のうちの各Ｉ／Ｏポート上でデータを転送するように構成される。たとえば、接続メッシュ３１０−１〜３１０−２は、ブリッジ３０７−１〜３０７−２とＩ／Ｏポート３０９−１〜３０９−４との間のデータ転送を可能にするための任意の好適なトレース、ワイヤボンド、接続などを含み得る。さらに、ブリッジ３０７−１〜３０７−２は、環境３００中のプロセッサ２１０−ｋとの間の（to and from）データ転送を可能にする。ここで、「ｋ」は、整数１からＭの間の整数など、任意の整数であり得る。たとえば、プロセッサ２１０−ｋは、プロセッサ２１０−１〜２１０−Ｍの中からの任意のプロセッサであり得る。
【００３１】
[0030]プロセッサ２１０−ｋは、相互接続ポート３１２−１〜３１２−２を備える。相互接続ポート３１２−１〜３１２−２は、一意アドレス範囲を用いてマッピングされ、プロセッサ３１０−ｋに関連する、メモリおよび／またはプロセッサアセットへの／からのデータ転送を可能にする。たとえば、相互接続ポート３１２−１〜３１２−２は、図１中のメモリ１１２−１〜１１２−Ｎの中からの任意のメモリへの／からのデータ転送を可能にし得る。データは、相互接続ポート３１２−１〜３１２−２、ブリッジ３０７−１〜３０７−２、およびＩ／Ｏポート３０９−１〜３０９−４を使用して、メモリに／から相互接続リングバス２０６−１〜２０６−２上で転送され得る。
【００３２】
[0031]相互接続ポート３１２−１は、インターフェース３１６−１および３１６−２を通してブリッジ３０７−１に結合され、相互接続ポート３１２−２は、インターフェース３１４−１および３１４−２を通してブリッジ３０７−２に結合される。インターフェース３１４−１および３１６−１は、「書込み」チャネルを備え得、インターフェース３１４−２および３１６−２は、「読取り」チャネルを備え得る。インターフェース３１４−１〜３１４−２および３１６−１〜３１６−２の各々は、単一のチャネルまたは複数のチャネルを備え得る。たとえば、インターフェース３１４−１および３１６−１は、アドレス書込みおよびデータ要求のための単一のチャネル、または１つがアドレス書込みのため、１つがデータ要求のための、別個の（separate）チャネルを含み得る。いくつかの実装形態では、少なくとも１つのプロセッサは、ノードと少なくとも１つのプロセッサ以外のプロセッサとの間のデータを転送するためのインターフェースの読取りチャネル（read channels）の数および／または書込みチャネル（write channels）の数とは異なる数の読取りチャネルおよび／または異なる数の書込みチャネルを備えるインターフェースを介して、ノードに／からデータを転送する。
【００３３】
[0032]さらに、いくつかの実装形態では、ブリッジ３０７−１〜３０７−２および／または相互接続ポート３１２−１〜３１２−２は、ＡＸＩ、ＰＣＩ、またはＩ２Ｃなど、規格またはオープン規格バス相互接続プロトコルに準拠する（conform to）。さらに、図２は、それぞれ、２つのブリッジおよび相互接続ポートをもつ、ブリッジ２０７−１〜２０７−２および相互接続ポート２１２−１〜２１２−２を示しているが、ブリッジ２０７−１〜２０７−２および相互接続ポート５１２−１〜５１２−２は、それぞれ、任意の数のブリッジおよび相互接続ポートを備え得ることを理解されたい。
【００３４】
[0033]いくつかの実装形態では、モデム２００は、プロセッサが在庫管理単位（ＳＫＵ：stock keeping unit）ファミリーのうちの１つのＳＫＵのために使用されるべきであるときのみ、プロセッサを含めることおよび／またはアクティブ化することによって、ＳＫＵファミリーをサポートする複数のプロセッサを使用して実装される。たとえば、複数のプロセッサのうちのプロセッサは、デバイスの少なくとも１つの特徴が無効にされるように、動作不可能にされ（rendered inoperable）得る。さらに、図２および図３で説明されるようなデュアル、双方向相互接続リングバスを使用して、新しいプロセッサがモデム２００に追加され得るので（as）、新しいＳＫＵがＳＫＵファミリーに追加され得る。図２および図３で説明されるようなデュアル、双方向相互接続リングバスは、スケーラブルであり、任意の数のノードおよびプロセッサをサポートすることが可能であり、さらに分散メモリサポートをもつ。たとえば、ノード２１５−ｋは、様々な（varied）プロセッササポートを必要とする（requiring）ＳＫＵファミリーにおけるモデムをサポートするためにコピーされ、インスタンス化され（instantiated）得る、ジェネリックノードであり得る。さらに、モデム２００にプロセッサおよびノードを追加することが、既存のプロセッサおよびノードのルーティング輻輳を増加させないか、または既存のプロセッサの再検証を必要としないことがある。
【００３５】
[0034]これらの概念を示すために、図２中のプロセッサ２１０−３およびノード２１５−３は、プロセッサ２１０−３およびノード２１５−３が特定のＳＫＵのために動作不可能にされ得るが、別のＳＫＵのために含まれることを示すために、影付きとして示されている。たとえば、特定のＳＫＵは、図２中のプロセッサ２１０−１、２１０−２、および２１０−Ｍを使用し得る、一方、別のＳＫＵは、プロセッサ２１０−３とともにプロセッサ２１０−１、２１０−２、２１０−Ｍを使用する。両方のＳＫＵが、プロセッサ２１０−３を選択的に動作不可能にすることによって同じチップで適応され得る。さらに、ノード２１５−３は、図２中の別のノードのコピーであり得、特定のＳＫＵのためにプロセッサ２１０−３をサポートするためにインスタンス化される。たとえば、ノード２１５−３は、別のＳＫＵのための新しいチップを作成するために、特定のＳＫＵをサポートする既存のチップにプロセッサ２１０−３とともに追加されるジェネリックノードであり得る。新しいチップを作成するためのノード２１５−３およびプロセッサ２１０−３の追加は、デュアル相互接続リングバスアーキテクチャにより、既存のチップ上で既存のプロセッサまたはノードを再加工すること（reworking）を必要としないことがある。
【００３６】
[0035]様々な実施形態が利用され得る、モデムデバイスを備えるプロセッサとプロセッサの相互接続とについて説明したが、次に、１つまたは複数の実施形態による、デュアル相互接続リングバスと接続されるプロセッサにシステムクロックを供給することの説明について考える。デュアル相互接続リングバスは、緩和されたクロックツリー要件（relaxed clock tree requirements）を可能にする。
【００３７】
[0036]図４は、図２中のモデム２００の少なくとも一部を実装するために使用可能な環境４００を示す。環境４００は、ノード２１５−１〜２１５−Ｍとペアリングされるプロセッサ２１０−１〜２１０−Ｍと、基準信号４２９、位相ロックループ（ＰＬＬ）４２５、フィードバック信号４２７、およびクロック分配回路４３５−１〜４３５−４を備えるクロックツリーとを備える。４つのクロック分配回路４３５−１〜４３５−４が示されているが、任意の数のクロック分配回路４３５−１〜４３５−４が、環境４００中のクロックツリーを含み得る。いくつかの実装形態では、クロックツリーは、基準信号４２９と、位相ロックループ（ＰＬＬ）４２５と、フィードバック信号４２７とを含み、クロック分配回路４３５−１〜４３５−４は、図１中のアナログＲＦ回路１０２を備える。ＰＬＬ４２５は、基準信号４２９およびフィードバック信号４２７を使用して、少なくとも１つのクロック信号を生成する。少なくとも１つのクロック信号は、クロック分配回路４３５−１によって分周され、逓倍され、および／または分配され得る。クロック分配回路４３５−１〜４３５−４はまた、クロック信号に遅延を挿入し、クロック信号をプロセッサ２１０−１〜２１０−Ｍに分配し得る。分配されたクロック信号は、分配されたクロック信号によって決定されたレートにおいて命令を実行するためにプロセッサによって使用される。
【００３８】
[0037]環境４００は、プロセッサのすべてのプロセッサまたはクラスタにわたってクロック分配回路が平衡であるという要件を緩和することによって、不平衡クロックツリーを用いてモデム２００を実装し得る。図４では、分配回路４３５−２および分配回路４３５−３は、それぞれ、プロセッサ２１０−１および２１０−２にクロックを供給し、分配回路４３５−４は、プロセッサ２１０−Ｍにクロックを供給する。分配回路４３５−２および４３５−３は、分配回路４３５−４が分配回路４３５−２および４３５−３よりも少ないレイテンシを有し得ることを示すために、分配回路４３５−４よりも大きく、より多くの出力をもつものとして示されている。したがって、ＰＬＬ４２５からプロセッサ２１０−Ｍへのレイテンシは、ＰＬＬ４２５からプロセッサ２１０−１および２１０−２へのレイテンシよりも少ない。ＰＬＬからプロセッサへのレイテンシにおける不整合は、隣接するノード間のタイミングが満たされるという条件で（provided that）可能である。プロセッサが、隣接するノードに割り当てられたプロセッサが信号を処理するのに十分早期に、それの割り当てられたノードから隣接するノードに信号を与えることができる場合、プロセッサへのクロックツリーは不平衡であり得る。
【００３９】
[0038]図５は、本開示のいくつかの態様による、デュアル相互接続リングバス上でデータをルーティングするための例示的な動作５００を示す。動作５０５〜５２０が、図２中のモデム２００など、ユーザデバイス中のモデムにおいて実行され得る。図５中の動作の特定の順序または階層は、一例の例示にすぎない。動作の特定の順序または階層は、請求される主題の範囲から逸脱することなく、並べ替えられ、修正され、および／または変更され得る。
【００４０】
[0039]５０５において、複数のノードが結合される。たとえば、複数のノードは、図２中のノード２１５−１〜２１５−Ｍであり得る。複数のノードのうちの各ノードは、少なくとも２つの相互接続リングを備えるリングバスを形成するために、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合される。たとえば、少なくとも２つの相互接続リングは、図２中の相互接続リングバス２０６−１および２０６−２を含み得る。少なくとも２つの相互接続リングは、第１の方向においてデータをルーティングするように構成された相互接続リングと、第２の方向においてデータをルーティングするように構成された別の相互接続リングとを含む。たとえば、相互接続リングは、時計回り方向においてデータをルーティングし得、別の相互接続リングは、反時計回り方向においてデータをルーティングし得る。代替的に、少なくとも２つの相互接続リングは、時計回りまたは反時計回りなど、同じ方向においてデータをルーティングし得る。さらに、少なくとも２つの相互接続リングは、第１のデータタイプ、データ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットをルーティングするように構成された相互接続リングと、第２のデータタイプ、データ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットをルーティングするように構成された第２の相互接続リングとを含み得る。さらに、複数のノードは各々、一意のＩＤを割り当てられ得る。
【００４１】
[0040]５１０において、複数のプロセッサが複数のノードに割り当てられる。たとえば、複数のプロセッサは、図２中のプロセッサ２１０−１〜２１０−Ｍであり得る。複数のプロセッサのうちの第１のプロセッサが、第１のデータタイプを処理するように構成され得る。複数のプロセッサのうちの第２のプロセッサが、第２のデータタイプを処理するように構成され得る。たとえば、第１のプロセッサはスカラープロセッサであり得、第２のプロセッサはベクトルプロセッサであり得る。プロセッサは、データの２つ以上のタイプを処理するように構成され得る。たとえば、プロセッサは、スカラーデータとベクトルデータの両方など、第１のデータタイプと第２のデータタイプの両方を処理するように構成され得る。代替的に、プロセッサは、第２のデータタイプを処理するように構成されることなしに、第１のデータタイプを処理するように構成され得る。一実施形態では、複数のプロセッサのうちの少なくとも２つのプロセッサは、２つのプロセッサが両方ともスカラーデータおよびベクトルデータを処理することが可能であるなど、複数の同じデータタイプを処理することができる。
【００４２】
[0041]５１５において、リングバス上のデータを、第１のデータタイプと第２のデータタイプとに分離する。第１のデータタイプと第２のデータタイプとは、データ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットを備え得る。第１のデータタイプを備えるデータ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットは、それぞれ、第２のデータタイプを備えるデータ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットとは異なり得、したがって、第１のデータタイプは第２のデータタイプとは異なる。代替的に、第１のデータタイプと第２のタイプとは、同じデータ構造、データ幅、データレート、データパケット長、および／またはデータフォーマットから構成され得、したがって、第１のデータタイプは第２のデータタイプと同じである。
【００４３】
[0042]５２０において、分離された第１のデータタイプのうちの少なくとも一部が、１つの相互接続リング上で（on one interconnect ring）第１のプロセッサにルーティングされ、分離された第２のデータタイプのうちの少なくとも一部が、別の相互接続リング上で第２のプロセッサにルーティングされる。データは、リングバスの周りのノードホップの最小距離および／または最小数から少なくとも部分的に決定された方向においてルーティングされ得る。方向は、時計回り方向および反時計回り方向の中から決定され得る。１つの相互接続リングおよび／または別の相互接続リングは、リングバスの周りのノードホップの最小距離計算および／または最小数の決定に少なくとも部分的に基づいて、データをルーティングするために選択可能である。分離された第１のデータタイプはスカラーデータを含み得、分離された第２のデータタイプはベクトルデータを含み得る。ルーティングされたデータのアービトレーションが、複数のノードにおいて行われ得る。ルーティングされたデータは、ノードに割り当てられた少なくとも部分的に一意のＩＤを使用して、プロセッサなど、宛先にルーティングされ得る。
【００４４】
[0043]図６は、本開示のいくつかの態様による、第１のリングバスと第２のリングバスとを備えるリングバス上でデータをルーティングするための例示的な動作６００を示す。動作６０５〜６１５が、図２中のモデム２００など、ユーザデバイス中のモデムにおいて実行され得る。図６中の動作の特定の順序または階層は、一例の例示にすぎない。動作の特定の順序または階層は、請求される主題の範囲から逸脱することなく、並べ替えられ、修正され、および／または変更され得る。
【００４５】
[0044]６０５において、アドレスが複数のノードに割り当てられる。たとえば、複数のノードは、図２中のノード２１５−１〜２１５−Ｍであり得る。アドレスの各々は異なり得る。たとえば、複数のノードのうちの１つのノードのためのアドレスが、１つのノード以外のノードのためのアドレスとは異なり得る。したがって、複数のノードのうちの各ノードが、複数のノードに割り当てられたアドレスを使用して一意に識別され得る。
【００４６】
[0045]６１０において、複数のプロセッサを複数のノードに割り当てる。たとえば、複数のプロセッサは、図２中のプロセッサ２１０−１〜２１０−Ｍであり得る。複数のプロセッサの各々は、複数のノードのうちのノードに一意に割り当てられ得る。たとえば、複数のプロセッサのうちの１つのプロセッサのための割り当てられたノードが、１つのプロセッサ以外のプロセッサのための割り当てられたノードとは異なり得る。
【００４７】
[0046]６１５において、第１のリングバスと第２のリングバスとを備えるデュアル相互接続バスを使用して、複数のノードがリング状に接続される。たとえば、第１のリングバスと第２のリングバスとは、図２中の相互接続リングバス２０６−１および２０６−２を含み得る。第１のリングバスと第２のリングバスとは、異なるデータ構造のために構成され得る。デュアル相互接続バスは、少なくとも１つのノードに割り当てられたアドレスに従って、第１のリングバスまたは第２のリングバスのうちの少なくとも１つ上のデータを、複数のノードのうちの少なくとも１つのノードにルーティングするように構成され得る。ルーティングされたデータは、少なくとも１つのノードに割り当てられた複数のプロセッサのうちのプロセッサによって処理され得る。データ構造は、データタイプ、データ幅、データレート、データパケット長、および／またはデータフォーマットなどを備え得る。
【００４８】
[0047]図７は、デュアル相互接続リングバス上でデータをプロセッサにルーティングすることの態様を実装することが可能な構成要素を含む、例示的なシステムオンチップ（ＳｏＣ）７００を示す。システムオンチップ７００は、モデム、ブロードバンドルータ、アクセスポイント、セルラーフォン、スマートフォン、ゲームデバイス、ラップトップコンピュータ、ネットブック、セットトップボックス、スマートフォン、ネットワーク接続ストレージ（ＮＡＳ：network-attached storage）デバイス、セルタワー、衛星、ケーブルヘッドエンドなど、任意の好適な電子デバイス、および／またはプロセッサの間でデータをルーティングし得る任意の他のデバイスとして、あるいはそれで実装され得る。
【００４９】
[0048]システムオンチップ７００は、通信機能または処理機能を与えるために、マイクロプロセッサ、記憶媒体、Ｉ／Ｏ論理、データインターフェース、論理ゲート、送信機、受信機、回路、ファームウェア、ソフトウェア、および／またはそれらの組合せと統合され得る。システムオンチップ７００は、システムオンチップの様々な構成要素間の通信を可能にするデータバス（たとえば、クロスバーまたは相互接続ファブリック）を含み得る。いくつかの態様では、システムオンチップ７００の構成要素は、デュアル相互接続リングバス上のデータルーティングの態様を実装するために、データバスを介して相互作用し得る。
【００５０】
[0049]この特定の例では、システムオンチップ７００は、プロセッサコア７０２とメモリ７０４とを含む。メモリ７０４は、揮発性メモリ（たとえば、ＤＲＡＭ）、不揮発性メモリ（たとえば、フラッシュ）、キャッシュなど、任意の好適なタイプのメモリを含み得る。たとえば、メモリ７０４は、図１中のメモリ１１２−１〜１１２−Ｎを備え得る。本開示のコンテキストでは、メモリ７０４は、記憶媒体として実装され、一時的伝搬信号または搬送波を含まない。メモリ７０４は、オペレーティングシステム７０８および他のアプリケーションなど、システムオンチップ７００のデータおよびプロセッサ実行可能命令を記憶し得る。プロセッサコア７０２は、システムオンチップ７００の機能を実装するために、メモリ７０４からのオペレーティングシステム７０８および他のアプリケーションを実行し得、それらのデータは、将来のアクセスのためにメモリ７０６に記憶され得る。たとえば、プロセッサコアは、図１中のベースバンドプロセッサ１１０−１〜１１０−Ｎを備え、モデム機能を実装し得る。システムオンチップ７００は、オフチップ通信のために様々なＩ／Ｏポートまたはデータインターフェースを与えるように構成され得る、Ｉ／Ｏ論理７１０をも含み得る。
【００５１】
[0050]システムオンチップ７００は、相互接続リングバス２０６−１〜２０６−２と相互接続ノード２１５−１〜２１６−Ｍとをも含み、それらは、相互接続ノード２１５−１〜２１５−Ｍに接続されたプロセッサの間でデータをルーティングするための、図２および図３に示されているようなデュアル相互接続リングバスとして構成され得る。たとえば、プロセッサコア７０２を備えるプロセッサは、モデムの機能を実装するために、プロセッサにデータをルーティングする双方向、デュアル相互接続リングを形成するための相互接続リングバス２０６−１〜２０６−２を使用して、相互接続ノード２１５−１〜２１５−Ｍに接続され得る。
【００５２】
[0051]システムオンチップ７００は、アナログＲＦ回路１０２とベースバンド回路１０４とをも含み、それらは、別々に実施されるか、または本明細書で説明される他の構成要素と組み合わせられ得る。たとえば、ベースバンド回路１０４は、プロセッサコア７０２を備えるプロセッサとコンカレントにまたはそれと組み合わせてモデムの機能を実装するために、ノード２１５−１〜２１５−Ｍなど、ノードを介して相互接続リングバス２０６−１〜２０６−２に接続され得る。代替または追加として、ベースバンド回路１０４および他の構成要素は、相互接続リングバス２０６−１〜２０６−２ならびに／またはシステムオンチップ７００の他の信号処理および制御回路に関して実装される、ハードウェア、ファームウェア、固定論理回路、あるいはそれらの任意の組合せとして実装され得る。
【００５３】
[0052]１つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能はコンピュータ可読記憶媒体（ＣＲＭ）上に記憶され得る。本開示のコンテキストでは、コンピュータ可読記憶媒体は、一時的伝搬信号または搬送波を含まない、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのような媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは汎用もしくは専用コンピュータ、または汎用もしくは専用プロセッサによってアクセスされ得る情報を搬送または記憶するために使用され得る、任意の他の非一時的媒体を備えることができる。情報は、コンピュータ可読命令、サンプリングされた信号値、データ構造、プログラム構成要素、または他のデータなど、任意の好適なタイプのデータを含むことができる。これらの例、ならびに記憶媒体および／またはメモリデバイスの任意の組合せは、非一時的コンピュータ可読媒体の範囲内に適合するものとする。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００５４】
[0053]ファームウェア構成要素は、電子的構成要素にどのように動作すべきかを指示する実行可能な命令を記憶するように構成されたプログラマブルメモリをもつ電子的構成要素を含む。いくつかの場合には、電子的構成要素に記憶された実行可能な命令は永続的であり、他の場合には、実行可能な命令は、更新および／または変更され得る。時々、ファームウェア構成要素は、ハードウェア構成要素および／またはソフトウェア構成要素と組み合わせて使用され得る。
【００５５】
[0054]「構成要素」、「モジュール」、および「システム」という用語は、さらに上記で説明されたように、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せなど、１つまたは複数のコンピュータ関係エンティティを指すためにくぼませられる（are indented to）。時々、構成要素は、プロセッサ実行可能命令によって定義される実行のプロセスおよび／またはスレッドを指し得る。代替または追加として、構成要素は、様々な電子的および／またはハードウェアエンティティを指し得る。
【００５６】
[0055]いくつかの特定の実施形態は、教授の（instructional）目的で上記で説明されたが、本開示の教示は、一般的な適用可能性を有し、上記で説明された特定の実施形態に限定されない。双方向、デュアル相互接続リングバスは、ＬＴＥ、ＵＭＢ、またはＷｉＭＡＸ（登録商標）など、特定のインターフェース規格に従って通信するモデムを実現する際の使用に限定されず、むしろ、双方向、デュアル相互接続リングバスは、他のインターフェース規格への一般的な適用可能性を有する。
【図１】
2018532192.tif 000003
【図２】
2018532192.tif 000004
【図３】
2018532192.tif 000005
【図４】
2018532192.tif 000006
【図５】
2018532192.tif 000007
【図６】
2018532192.tif 000008
【図７】
2018532192.tif 000009
【手続補正書】
【提出日】平成30年6月1日(2018.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
信号を処理するためのデバイスであって、前記デバイスは、
複数のノードと、各ノードが、一意であるアドレスを有する、
複数のプロセッサと、各プロセッサが、前記複数のノードのうちのそれぞれのノードに一意に割り当てられる、
少なくとも第１のリングバスと第２のリングバスとを有する相互接続バスと
を備え、前記相互接続バスは、
前記複数のノードをリング状に接続することと、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、前記データが、前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサによって処理される、
を行うように構成され、
前記デュアル相互接続バスが、前記データを第１のデータタイプと第２のデータタイプとに分離するように構成され、それにおいて、前記第１のデータタイプが前記第１のリングバス上でルーティングされるべきであり、前記第２のデータタイプが前記第２のリングバス上でルーティングされるべきである、
デバイス。
【請求項２】
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、請求項１に記載のデバイス。
【請求項３】
前記第１のリングバスが、第１の方向においてデータをルーティングするように構成され、前記第２のリングバスが、前記第１の方向とは異なる第２の方向においてデータをルーティングするように構成された、請求項１に記載のデバイス。
【請求項４】
前記データが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向においてルーティングされる、請求項１に記載のデバイス。
【請求項５】
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、請求項４に記載のデバイス。
【請求項６】
前記処理された信号が、第１の規制規格に準拠する第１の信号と第２の規制規格に準拠する第２の信号とを備える、請求項１に記載のデバイス。
【請求項７】
前記複数のプロセッサのうちの少なくとも１つが、少なくとも１つの対応する特徴を無効にさせるように、動作不可能にされるように構成された、請求項１に記載のデバイス。
【請求項８】
リングバス上でデータをルーティングするための方法であって、前記方法は、
前記リングバス上のデータを第１のデータタイプと第２のデータタイプとに分離することと、前記リングバスが、複数のノードのうちの各ノードを、第１の方向において第１のネイバリング前記ノードに結合し、第２の方向において第２のネイバリング前記ノードに結合することによって形成され、前記複数のノードが複数のプロセッサを割り当てられる、
少なくとも２つの相互接続リングのうちの１つ上の前記第１のデータタイプの前記分離されたデータの少なくとも一部を、前記第１のデータタイプを処理するように構成された第１のプロセッサにルーティングし、前記少なくとも２つの相互接続リングのうちの別の１つ上の前記第２のデータタイプの前記分離されたデータの少なくとも一部を、前記第２のデータタイプを処理するように構成された第２のプロセッサにルーティングすることと
を備える、方法。
【請求項９】
前記第１のデータタイプの前記分離されたデータがスカラーデータを含み、前記第２のデータタイプの前記分離されたデータがベクトルデータを含む、請求項８に記載の方法。
【請求項１０】
前記第１のデータタイプの前記分離されたデータまたは前記第２のデータタイプの前記分離されたデータの少なくとも一部が、ノードホップの数に基づく方向においてルーティングされる、請求項８に記載の方法。
【請求項１１】
前記ルーティングすることが、トランザクションＩＤを割り当てることを備える、請求項８に記載の方法。
【請求項１２】
前記少なくとも２つの相互接続リングのうちの少なくとも１つが、前記ルーティングされたデータがそれの宛先に達するまで、前記ルーティングされたデータを前記少なくとも２つの相互接続リングのうちの前記少なくとも１つ上にとどまらせるのに効果的なストール不可能である、請求項８に記載の方法。
【請求項１３】
前記複数のノードがデータアービトレーションを実行する、請求項８に記載の方法。
【請求項１４】
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、請求項１３に記載の方法。
【請求項１５】
信号を処理するための装置であって、前記装置は、
複数のノードと、前記複数のノードのうちの各ノードが、異なるアドレスを有する、  複数のプロセッサと、
少なくとも２つの相互接続リングを備えるリングバスと、
前記アドレスに基づいて、前記複数のプロセッサを前記複数のノードに割り当てるための手段と、前記複数のプロセッサのうちの第１のプロセッサが、第１のデータ構造を処理するように構成され、前記複数のプロセッサのうちの第２のプロセッサが、第２のデータ構造を処理するように構成された、
前記アドレスに基づいて、前記複数のノードのうちの各ノードが、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合されるように、前記複数のノードを前記リングバスに結合するための手段と、
前記第１のデータ構造および前記第２のデータ構造に基づいて、前記リングバス上でデータを分離するための手段と、ここにおいて、前記データが第１のデータタイプと第２のデータタイプとに分離され、それにおいて、前記第１のデータタイプが前記少なくとも２つの相互接続リングの第１のリングバス上でルーティングされるべきであり、前記第２のデータタイプが前記少なくとも２つの相互接続リングの第２のリングバス上でルーティングされるべきである、
前記分離されたデータに基づいて、前記第１のプロセッサに、前記少なくとも２つの相互接続リングのうちの１つ上の前記分離されたデータの少なくとも一部をルーティングし、前記第２のプロセッサに、前記少なくとも２つの相互接続リングの別の１つ上の前記分離されたデータの少なくとも別の一部をルーティングするための手段と
を備える、装置。
【請求項１６】
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、別のプロセッサが前記リングバスを用いてデータを転送するレートとは異なるレートにおいて前記リングバスを用いてデータを転送するように構成された、請求項１５に記載の装置。
【請求項１７】
前記分離されたデータの少なくとも一部が、前記第１の方向または前記第２の方向においてルーティングされ、前記ルーティングが、ノードホップの数に基づいて決定される、請求項１５に記載の装置。
【請求項１８】
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、請求項１５に記載の装置。
【請求項１９】
前記複数のノードが、データアービトレーションを実行するように構成された、請求項１５に記載の装置。
【請求項２０】
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、請求項１９に記載の装置。
【請求項２１】
信号を処理するための方法であって、前記方法は、
複数のアドレスを複数のノードに割り当てることと、前記複数のノードのうちの各ノードが、異なる割り当てられたアドレスを有する、
複数のプロセッサの各々が前記複数のノードのうちのそれぞれのノードに一意に割り当てられるように、前記複数のプロセッサを前記複数のノードに割り当てることと、
第１のリングバスおよび第２のリングバスをリング状に前記複数のノードに接続することと、前記第１のリングバスおよび前記第２のリングバスが、異なるデータ構造のために構成された、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、ここにおいて、前記ルーティングすることが、前記データを第１のデータタイプと第２のデータタイプとに分離することと、前記第１のリングバス上で前記第１のデータタイプをルーティングし、前記第２のリングバス上で前記第２のデータタイプをルーティングすることとを含む、
前記複数のノードのうちの前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサを用いて前記データを処理することと
を備える、方法。
【請求項２２】
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、請求項２１に記載の方法。
【請求項２３】
前記ルーティングすることが、第１の方向において前記第１のリングバス上で前記データをルーティングすることと、前記第１の方向とは異なる第２の方向において前記第２のリングバス上で前記データをルーティングすることとを含む、請求項２１に記載の方法。
【請求項２４】
前記ルーティングすることが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向において前記データをルーティングすることを含む、請求項２１に記載の方法。
【請求項２５】
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、請求項２４に記載の方法。
【請求項２６】
前記ルーティングすることは、前記データがそれの宛先に達するまで、前記データが前記第１のリングバスまたは前記第２のリングバス上にとどまるように、前記データをルーティングすることを含む、請求項２１に記載の方法。
【請求項２７】
前記複数のプロセッサのうちの少なくとも１つが、対応する特徴を無効にするのに効果的な動作不可能にされるように構成された、請求項２１に記載の方法。
【請求項２８】
前記複数のプロセッサのうちの少なくとも１つは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、請求項２１に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
[0055]いくつかの特定の実施形態は、教授の（instructional）目的で上記で説明されたが、本開示の教示は、一般的な適用可能性を有し、上記で説明された特定の実施形態に限定されない。双方向、デュアル相互接続リングバスは、ＬＴＥ、ＵＭＢ、またはＷｉＭＡＸ（登録商標）など、特定のインターフェース規格に従って通信するモデムを実現する際の使用に限定されず、むしろ、双方向、デュアル相互接続リングバスは、他のインターフェース規格への一般的な適用可能性を有する。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
信号を処理するためのデバイスであって、前記デバイスは、
複数のノードと、各ノードが、一意であるアドレスを有する、
複数のプロセッサと、各プロセッサが、前記複数のノードのうちのそれぞれのノードに一意に割り当てられる、
少なくとも第１のリングバスと第２のリングバスとを有する相互接続バスと
を備え、前記相互接続バスは、
前記複数のノードをリング状に接続することと、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、前記データが、前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサによって処理される、
を行うように構成された、
デバイス。
［Ｃ２］
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、Ｃ１に記載のデバイス。
［Ｃ３］
前記デュアル相互接続バスが、前記データを第１のデータタイプと第２のデータタイプとに分離するように構成され、それにおいて、前記第１のデータタイプが前記第１のリングバス上でルーティングされるべきであり、前記第２のデータタイプが前記第２のリングバス上でルーティングされるべきである、Ｃ１に記載のデバイス。
［Ｃ４］
前記第１のリングバスが、第１の方向においてデータをルーティングするように構成され、前記第２のリングバスが、前記第１の方向とは異なる第２の方向においてデータをルーティングするように構成された、Ｃ１に記載のデバイス。
［Ｃ５］
前記データが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向においてルーティングされる、Ｃ１に記載のデバイス。
［Ｃ６］
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、Ｃ５に記載のデバイス。
［Ｃ７］
前記処理された信号が、第１の規制規格に準拠する第１の信号と第２の規制規格に準拠する第２の信号とを備える、Ｃ１に記載のデバイス。
［Ｃ８］
前記複数のプロセッサのうちの少なくとも１つが、少なくとも１つの対応する特徴を無効にさせるように、動作不可能にされるように構成された、Ｃ１に記載のデバイス。
［Ｃ９］
リングバス上でデータをルーティングするための方法であって、前記方法は、
前記リングバス上のデータを第１のデータタイプと第２のデータタイプとに分離することと、前記リングバスが、複数のノードのうちの各ノードを、第１の方向において第１のネイバリング前記ノードに結合し、第２の方向において第２のネイバリング前記ノードに結合することによって形成され、前記複数のノードが複数のプロセッサを割り当てられる、
少なくとも２つの相互接続リングのうちの１つ上の前記第１のデータタイプの前記分離されたデータの少なくとも一部を、前記第１のデータタイプを処理するように構成された第１のプロセッサにルーティングし、前記少なくとも２つの相互接続リングのうちの別の１つ上の前記第２のデータタイプの前記分離されたデータの少なくとも一部を、前記第２のデータタイプを処理するように構成された第２のプロセッサにルーティングすることとを備える、方法。
［Ｃ１０］
前記第１のデータタイプの前記分離されたデータがスカラーデータを含み、前記第２のデータタイプの前記分離されたデータがベクトルデータを含む、Ｃ９に記載の方法。
［Ｃ１１］
前記第１のデータタイプの前記分離されたデータまたは前記第２のデータタイプの前記分離されたデータの少なくとも一部が、ノードホップの数に基づく方向においてルーティングされる、Ｃ９に記載の方法。
［Ｃ１２］
前記ルーティングすることが、トランザクションＩＤを割り当てることを備える、Ｃ９に記載の方法。
［Ｃ１３］
前記少なくとも２つの相互接続リングのうちの少なくとも１つが、前記ルーティングされたデータがそれの宛先に達するまで、前記ルーティングされたデータを前記少なくとも２つの相互接続リングのうちの前記少なくとも１つ上にとどまらせるのに効果的なストール不可能である、Ｃ９に記載の方法。
［Ｃ１４］
前記複数のノードがデータアービトレーションを実行する、Ｃ９に記載の方法。
［Ｃ１５］
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、Ｃ１４に記載の方法。
［Ｃ１６］
信号を処理するための装置であって、前記装置は、
複数のノードと、前記複数のノードのうちの各ノードが、異なるアドレスを有する、  複数のプロセッサと、
少なくとも２つの相互接続リングを備えるリングバスと、
前記アドレスに基づいて、前記複数のプロセッサを前記複数のノードに割り当てるための手段と、前記複数のプロセッサのうちの第１のプロセッサが、第１のデータ構造を処理するように構成され、前記複数のプロセッサのうちの第２のプロセッサが、第２のデータ構造を処理するように構成された、
前記アドレスに基づいて、前記複数のノードのうちの各ノードが、第１の方向において第１のネイバリングノードに結合され、第２の方向において第２のネイバリングノードに結合されるように、前記複数のノードを前記リングバスに結合するための手段と、
前記第１のデータ構造および前記第２のデータ構造に基づいて、前記リングバス上でデータを分離するための手段と、
前記分離されたデータに基づいて、前記第１のプロセッサに、前記少なくとも２つの相互接続リングのうちの１つ上の前記分離されたデータの少なくとも一部をルーティングし、前記第２のプロセッサに、前記少なくとも２つの相互接続リングの別の１つ上の前記分離されたデータの少なくとも別の一部をルーティングするための手段と
を備える、装置。
［Ｃ１７］
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、別のプロセッサが前記リングバスを用いてデータを転送するレートとは異なるレートにおいて前記リングバスを用いてデータを転送するように構成された、Ｃ１６に記載の装置。
［Ｃ１８］
前記分離されたデータの少なくとも一部が、前記第１の方向または前記第２の方向においてルーティングされ、前記ルーティングが、ノードホップの数に基づいて決定される、Ｃ１６に記載の装置。
［Ｃ１９］
前記複数のプロセッサのうちの少なくとも１つのプロセッサは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、Ｃ１６に記載の装置。
［Ｃ２０］
前記複数のノードが、データアービトレーションを実行するように構成された、Ｃ１６に記載の装置。
［Ｃ２１］
前記データアービトレーションが、追加の時間、前記少なくとも２つの相互接続リングのうちの少なくとも１つを巡って、衝突されるデータをルーティングすることを含む、Ｃ２０に記載の装置。
［Ｃ２２］
信号を処理するための方法であって、前記方法は、
複数のアドレスを複数のノードに割り当てることと、前記複数のノードのうちの各ノードが、異なる割り当てられたアドレスを有する、
複数のプロセッサの各々が前記複数のノードのうちのそれぞれのノードに一意に割り当てられるように、前記複数のプロセッサを前記複数のノードに割り当てることと、
第１のリングバスおよび第２のリングバスをリング状に前記複数のノードに接続することと、前記第１のリングバスおよび前記第２のリングバスが、異なるデータ構造のために構成された、
前記ノードに割り当てられた前記アドレスに従って、前記複数のノードのうちのノードに、データのデータタイプから決定された前記第１のリングバスまたは前記第２のリングバスのうちの少なくとも１つ上で前記データをルーティングすることと、
前記複数のノードのうちの前記ノードに一意に割り当てられた前記複数のプロセッサのうちの前記プロセッサを用いて前記データを処理することと
を備える、方法。
［Ｃ２３］
前記複数のプロセッサが、少なくとも１つのスカラープロセッサと少なくとも１つのベクトルプロセッサとを含む、Ｃ２２に記載の方法。
［Ｃ２４］
前記ルーティングすることが、前記データを第１のデータタイプと第２のデータタイプとに分離することと、前記第１のリングバス上で前記第１のデータタイプをルーティングし、前記第２のリングバス上で前記第２のデータタイプをルーティングすることとを含む、Ｃ２２に記載の方法。
［Ｃ２５］
前記ルーティングすることが、第１の方向において前記第１のリングバス上で前記データをルーティングすることと、前記第１の方向とは異なる第２の方向において前記第２のリングバス上で前記データをルーティングすることとを含む、Ｃ２２に記載の方法。
［Ｃ２６］
前記ルーティングすることが、前記複数のノードのうちの前記ノードに割り当てられた前記アドレスによって決定された方向において前記データをルーティングすることを含む、Ｃ２２に記載の方法。
［Ｃ２７］
前記方向が、ノードホップの数の計算に少なくとも部分的において決定される、Ｃ２６に記載の方法。
［Ｃ２８］
前記ルーティングすることは、前記データがそれの宛先に達するまで、前記データが前記第１のリングバスまたは前記第２のリングバス上にとどまるように、前記データをルーティングすることを含む、Ｃ２２に記載の方法。
［Ｃ２９］
前記複数のプロセッサのうちの少なくとも１つが、対応する特徴を無効にするのに効果的な動作不可能にされるように構成された、Ｃ２２に記載の方法。
［Ｃ３０］
前記複数のプロセッサのうちの少なくとも１つは、前記複数のプロセッサのうちの別のプロセッサがクロックツリーからクロック制御される第２のレイテンシとは異なる第１のレイテンシを用いて前記クロックツリーからクロック制御される、Ｃ２２に記載の方法。
【国際調査報告】
2018532192.tif 000010
2018532192.tif 000011