(57)【要約】      （修正有）【課題】ダイ上インターコネクトのためのアーキテクチャを提供する。【解決手段】装置は、半導体ダイに構成された複数のアイランド１００であり、複数のアイランド１００のそれぞれは複数のコア１１００〜１１０ｎを有する複数のアイランド１００と、複数のアイランド１００のうち１つとそれぞれ関連付けられる半導体ダイに構成された複数のインターコネクト１２０及びネットワークスイッチ１３０とを有する。各ネットワークスイッチは、複数の出力ポートを有し、複数の出力ポートのうち第１のセットは、ポイント・ツー・ポイント・インターコネクトを介してアイランド１００の関連するネットワークスイッチにそれぞれ結合し、出力ポートのうち第２のセットは、ポイント・ツー・マルチポイント・インターコネクトを介して複数のアイランド１００の関連するネットワークスイッチにそれぞれ結合する。【選択図】図１Ａ
2016085733.tif 000002
【特許請求の範囲】
【請求項１】
半導体ダイに構成された複数のアイランドであり、前記複数のアイランドのうち少なくとも２つは複数のコアを有する複数のアイランドと、
前記複数のアイランドと関連付けられる前記半導体ダイに構成された複数のネットワークスイッチと
を有し、
前記複数のネットワークスイッチのうち第１のネットワークスイッチは、複数の出力ポートを有し、前記複数の出力ポートのうち第１のセットの出力ポートは、ポイント・ツー・ポイント・インターコネクトを介してアイランドの関連するネットワークスイッチに結合し、前記出力ポートのうち第２のセットの出力ポートは、ポイント・ツー・マルチポイント・インターコネクトを介して複数のアイランドの関連するネットワークスイッチに結合する装置。
【請求項２】
前記ポイント・ツー・ポイント・インターコネクトは、第１のメタルレイヤに少なくとも部分的に構成される、請求項１に記載の装置。
【請求項３】
前記ポイント・ツー・マルチポイント・インターコネクトは、第２のメタルレイヤに少なくとも部分的に構成され、前記第２のメタルレイヤは、前記第１のメタルレイヤより高いメタルレイヤである、請求項２に記載の装置。
【請求項４】
前記第１のメタルレイヤに構成された前記ポイント・ツー・ポイント・インターコネクトの配線幅は、前記高いメタルレイヤに構成された前記ポイント・ツー・マルチポイント・インターコネクトの配線幅より大きい、請求項３に記載の装置。
【請求項５】
前記ポイント・ツー・マルチポイント・インターコネクトは、クロックサイクルにおいて前記ネットワークスイッチからの出力情報を前記複数のアイランドの関連するネットワークスイッチに通信するように構成され、前記複数のアイランドは、前記ネットワークスイッチのアイランドに物理的に隣接しない、請求項１に記載の装置。
【請求項６】
前記ポイント・ツー・ポイント・インターコネクトは、クロックサイクルにおいて前記ネットワークスイッチからの出力情報を前記アイランドの関連するネットワークスイッチに通信するように構成され、前記アイランドは、前記ネットワークスイッチのアイランドに物理的に隣接する、請求項５に記載の装置。
【請求項７】
前記複数のネットワークスイッチと、前記ポイント・ツー・ポイント・インターコネクトと、前記ポイント・ツー・マルチポイント・インターコネクトとを有するダイ上インターコネクト・ファブリックを更に有する、請求項１に記載の装置。
【請求項８】
前記ダイ上インターコネクト・ファブリックは、アイランドの複数のコアをそれぞれ相互接続する複数のクロスバー・ネットワークを含む階層的ネットワークと、前記複数のアイランドのうち隣接するものを相互接続する複数のポイント・ツー・ポイント・インターコネクトと、前記複数のアイランドのうち隣接しないものを相互接続する複数のポイント・ツー・マルチポイント・インターコネクトとを有する、請求項７に記載の装置。
【請求項９】
半導体ダイに構成されたネットワークスイッチを有し、
前記ネットワークスイッチは、
他のネットワークスイッチから情報を受信する複数の入力ポートと、
第１のメタルレイヤを介して複数の隣接するネットワークスイッチに結合する第１の複数の出力ポートと、
第２のメタルレイヤを介して複数の隣接しないネットワークスイッチに結合する第２の複数の出力ポートと
を有する装置。
【請求項１０】
前記複数の入力ポートの数は、前記第１の複数の出力ポートの数と前記第２の複数の出力ポートの数との和より大きい、請求項９に記載の装置。
【請求項１１】
前記ネットワークスイッチは、
第１の仮想チャネルに関連する少なくとも１つの第１のバッファと、
第２の仮想チャネルに関連する少なくとも１つの第２のバッファと、
アイランドにある複数のコアを前記ネットワークスイッチに結合するクロスバー・ネットワークと、
前記複数のコアのうち少なくともいくつかからの出力要求の間をアービトレーションするアービタと
を更に有する、請求項９に記載の装置。
【請求項１２】
前記第１の複数の出力ポートのうち少なくとも１つは、前記第１のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・ポイント・インターコネクトを介して前記隣接するネットワークスイッチに結合する、請求項９に記載の装置。
【請求項１３】
前記第２の複数の出力ポートのうち少なくとも１つは、前記第２のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・マルチポイント・インターコネクトを介して前記複数の隣接しないネットワークスイッチに結合し、前記第２のメタルレイヤは前記第１のメタルレイヤより高いレイヤであり、前記第１及び第２のメタルレイヤは、半導体ダイに構成された積層スタックにある、請求項１２に記載の装置。
【請求項１４】
前記第１の複数の出力ポートのうち少なくとも１つは、第１のクロックサイクルにおいて前記隣接するネットワークスイッチに出力単位を通信し、前記第２の複数の出力ポートのうち少なくとも１つは、前記第１のクロックサイクルにおいて前記複数の隣接しないネットワークスイッチに出力単位を通信する、請求項１３に記載の装置。
【請求項１５】
複数のコアを含むエクサスケール・システム・オン・チップ（SoC）を有する、請求項９に記載の装置。
【請求項１６】
前記エクサスケールSoCは、前記複数のコアの一部とネットワークスイッチとをそれぞれ有する複数のアイランドを有する、請求項１５に記載の装置。
【請求項１７】
ダイ上インターコネクトのネットワークスイッチにおいて複数のパケットを受信するステップと、
前記複数のパケットのうち第１のパケットのルーティングを決定するステップと、
前記第１のパケットが隣接するネットワークスイッチに関連するドメインの宛先ロジックに向けたものである場合、ポイント・ツー・ポイント・インターコネクトに結合された第１の出力ポートを介して隣接するネットワークスイッチに前記第１のパケットを送信するステップと、
前記第１のパケットが複数の隣接しないネットワークスイッチのうち１つに関連するドメインの宛先ロジックに向けたものである場合、ポイント・ツー・マルチポイント・インターコネクトに結合された第２の出力ポートを介して複数の隣接しないネットワークスイッチに前記第１のパケットを送信するステップと
を有する方法。
【請求項１８】
前記第１のパケットがローカルコアに向かうものである場合、前記ネットワークスイッチを含むドメインのローカルコアに前記第１のパケットを送信するステップを更に有する、請求項１７に記載の方法。
【請求項１９】
第１のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・ポイント・インターコネクトを介して前記隣接するネットワークスイッチに前記第１のパケットを送信するステップを更に有する、請求項１７に記載の方法。
【請求項２０】
第２のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・マルチポイント・インターコネクトを介して前記複数の隣接しないネットワークスイッチに前記第１のパケットを送信するステップを更に有し、
前記第２のメタルレイヤは、前記第１のメタルレイヤより高いメタルレイヤである、請求項１９に記載の方法。
【請求項２１】
実行された場合、請求項１７ないし２０のうちいずれか１項に記載の方法を実施する機械読み取り可能命令を含む機械読み取り可能記憶媒体。
【請求項２２】
請求項１７ないし２０のうちいずれか１項に記載の方法を実行する手段を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、概してコンピューティングシステムに関し、特にダイ上インターコネクト（on-die  interconnect）に関する（これに限定されない）。
【図面の簡単な説明】
【０００２】
【図１Ａ】本発明の実施例によるプロセッサ又はSoCのコアの集合又はグループのブロック図
【図１Ｂ】実施例による複数のプロセッサアイランドのブロック図
【図２】本発明の実施例による他のプロセッサ又はSoCのブロック図
【図３】本発明の実施例によるネットワークスイッチのブロック図
【図４】本発明の実施例に従ってネットワークスイッチを通じてパケットをルーティングする方法のフローチャート
【図５】本発明の実施例によるシステムのブロック図
【図６】実施例が使用され得る例示的なシステムのブロック図
【図７】実施例が使用され得る他の例示的なシステムのブロック図
【図８】実施例によるシステム・オン・チップのブロック図
【図９】本発明の実施例によるシステムのブロック図
【発明を実施するための形態】
【０００３】
コンピューティング技術が進化すると共に、大量の計算容量が単一の半導体ダイ上で実現可能になっている。現在では、4個、8個又は8個以上のコアを有するマルチコアプロセッサが利用可能である。将来のプロセッサは、数百又は数千もの小さい計算コアを単一のシリコンダイ上に統合する可能性があることが予想される。しかし、現在のダイ上インターコネクト・ファブリックは、許容可能な帯域幅を提供しつつ、特に小さい電力消費及び待ち時間でこのような大量のノードまで効率的に拡大することができない。２次元メッシュ、リングバス又はリングメッシュトポロジを含む従来のネットワークトポロジは、このような予想されるプロセッサについて効率的に拡大することができず、主にネットワーク内の大量の中間ホップ及びバッファのため、過度の待ち時間及びかなり高い電力消費を生じる。
【０００４】
様々な実施例では、ダイ上インターコネクト技術は、最新の半導体プロセス技術により提供される豊富なインターコネクトリソースと、メタルスタックの階層的積層（hierarchical  buildup）の特有の待ち時間／エネルギー／帯域幅／リピータ間隔（repeater  spacing）特性とを利用するために提供される。このように、実施例によるインターコネクト・ファブリックは、アプリケーションの性能にとって低い待ち時間／エネルギー及び許容可能な帯域幅で1000個のノードへのネットワークスケーラビリティを実現し得る。
【０００５】
実施例は、サブミクロンの半導体プロセスのための先進技術のノードの存在を利用する。一例として、半導体ダイに適合されるメタルスタックは、メタルリソースの豊富なセット（例えば、9個以上のレイヤ）を提供する。実施例では、これらのメタルレイヤのうち4個以上は、ダイ上インターコネクト・ファブリックのために使用され得る。各メタルレイヤは、異なる幅／間隔／材料特性を含むが、これらに限定されない異なる物理特性を有する。例として、異なるレイヤは、異なるエネルギー特性（例えば、エネルギー／ミリメートル（mm））、待ち時間特性（例えば、待ち時間／mm）、帯域幅特性（配線／mm）、及び最適なリピータ間隔特性を有してもよい。或る実施例では、インターコネクトされるコア又は他の計算ロジックのサイズは、高レベルのメタルでは最適なリピータ間隔より小さくてもよく、従って、リピータの必要性が回避可能であり、高レベルのメタルレイヤの配線（低レベルのメタルレイヤの配線より大きくてもよく及び／又は太くてもよい）は、低い待ち時間と、単一クロックサイクルにおけるクロス／トラバース・マルチコア（cross/traverse  multiple  core）を提供し得る。
【０００６】
実施例によるインターコネクト・ファブリックは、配線の階層を使用してもよい。低／中レベルのレイヤは、ポイント・ツー・ポイント・インターコネクトにより、隣接するコアのクラスタ（又はコアのグループ）の間を結合するのに十分な帯域幅を有する配線を含む。次に、高レベルのメタルレイヤは、ポイント・ツー・ポイント・インターコネクトにより単一クロックサイクルにおける複数のコアのグループに跨って接続する配線を含む。実施例は、物理的／論理的に隣接する離れたノードを階層的に結合する配線の階層及び平坦な論理スイッチ階層を有する階層的ネットワークトポロジを提供する。コア（ノード）の小さいサイズのため、コア毎にスイッチを平坦化することは実現可能でない可能性があり、その代わりに、トポロジはコアのグループで平坦化されてもよい。
【０００７】
ここに記載するトポロジは、階層的ポイント・ツー・ポイント及びポイント・ツー・マルチポイント・インターコネクトで相互接続された高基数（high-radix）の平坦なスイッチを組み込む。階層的配線のための更なる接続性でスイッチを平坦化することは、スイッチの基数を増加させ、ホップ数及び全体のネットワーク待ち時間／エネルギーを最小化する。帯域幅が一定に保持されている限り、個々のスイッチのエネルギーはかなり増加することはない（１次まで）。ネットワークトポロジは、スイッチの基数、帯域幅、並びに階層的配線の区間及びドロップ数を両立させることにより、所与の技術（リソース）、コア数及びアプリケーション要件に最適化されてもよい。例えば、メタル幅／間隔の選択は、帯域幅／待ち時間の間のトレードオフを決定する。大きい空間の広いメタル配線は、小さい帯域幅（mm当たり配線）の代償で低い待ち時間を生じる。同様に、コアのサイズが減少した場合、多くのコアが単一サイクルで接続され得る。
【０００８】
より具体的には、実施例は、アイランド毎に平坦なスイッチを使用する。N個のコア（アイランド）のグループは、ネットワークスイッチを共有する。アイランド内のコアは、クロスバー・ネットワークを使用して接続される。図１Ａを参照すると、本発明の実施例によるプロセッサ又はSoCのコアの集合又はグループのブロック図が示されている。図１Ａでは、集合100は、ここではドメイン又はアイランドと呼ばれてもよい。或る実施例では、アイランドは、独立した電圧及び周波数ドメインにあってもよい。認識できるように、複数のコア1100〜110nが存在する。実施例によって変わるが、図示の例では、8個のコアが存在する。しかし、異なる実施例では、多くのコア又は少ないコアが所与のアイランドに存在してもよいことが分かる。
【０００９】
コア110は、第１のトポロジのインターコネクト120を介して互いに結合する。一例として、インターコネクト120は、コアが相互に通信することを可能にするクロスバー・ネットワークでもよい。アイランド100は、ネットワークスイッチ130を更に含む。実施例では、スイッチ130は高基数のスイッチである。スイッチ130は、集合100内のコア及びプロセッサ又はSoCの他の部分の間（及び次にオフチップの位置へ）の相互接続及び通信を提供する。更に、ここに説明するように、ネットワークスイッチ130は、異なる種類のインターコネクトにより他のドメイン又はアイランドと通信してもよい。これらのインターコネクトの少なくとも一部は、積層スタックの異なるメタルレイヤに構成される。それ自体異なる特性を有する、この積層スタックの異なるメタルレイヤの特性を利用することにより、他の動作特性の中でも待ち時間、帯域幅のようなインターコネクト自体の動作特性が変化する。このような特性は、メタル配線の幅／間隔の選択の関数でもよい。低いレイヤは、密の間隔及び狭い幅を有してもよく、増加する抵抗のため、高い帯域幅（mm当たり）及び高い待ち時間を生じてもよい。高いレイヤは、広い幅及び大きい間隔を有してもよく、結果として、抵抗の減少のため、小さい帯域幅（mm当たり）であるが、低い待ち時間となってもよい。
【００１０】
例示的な実施例では、ネットワークスイッチ130の出力ポートの第１のセットは、ポイント・ツー・ポイント・インターコネクト（図示の容易のため図１Ａには図示せず）を介して隣接するドメイン又はアイランドと通信する。次に、ネットワークスイッチ130の出力ポートの第２のセットは、ポイント・ツー・マルチポイント・インターコネクト（図示の容易のため図１Ａには図示せず）を介して隣接しないドメイン又はアイランドと通信する。図１Ａの例では、このハイレベルにて示されているが、多くの変形及び代案が可能である。
【００１１】
次に図１Ｂを参照すると、実施例による複数のプロセッサアイランドのブロック図が示されている。認識できるように、5個のアイランド1000-100nが存在する。ハイレベル且つ一般レベルにて示されているが、各アイランドが同種のリソースを含んでもよいことが分かる。同種のリソースは、複数のコア（例えば、8個）と、クロスバー・インターコネクト・ネットワークと、スイッチとを含んでもよい。異なるアイランドを一緒に結合するインターコネクトの少なくとも一部における異なるメタルレイヤの特有の特性を利用することにより、異なる通信の待ち時間が生じる。従って、図１Ｂにおいて分かるように、（例えば）単一クロックサイクルにおいて、ネットワークスイッチ1300の第１の出力ポートは、インターコネクト140を介して隣接するアイランド1001のネットワークスイッチ1301の対応する入力ポートに出力単位（例えば、パケット）を提供する。実施例では、インターコネクト140は、第１のメタルレイヤ（例えば、積層スタックの中レベルのメタルレイヤ）に少なくとも部分的に構成されたポイント・ツー・ポイント・インターコネクトとして実現される。その代わりに、ネットワークスイッチ1300の第２の出力ポートは、複数のネットワークスイッチ（すなわち、ネットワークスイッチ1302、1303及び103n）の対応する入力ポートに出力単位を提供する。ネットワークスイッチ1300のこの出力ポートからのこの通信は、第２のメタルレイヤ（例えば、中レベルのメタルレイヤより少なくとも高い積層スタックの高いメタルレイヤ）に少なくとも部分的に構成されたポイント・ツー・マルチポイント・インターコネクト150を介してもよい。
【００１２】
図１Ｂのこの例示的な例で示されているが、実施例は、3個の隣接しないアイランドにのみ結合するマルチポイント・インターコネクトに限定されないことが分かる。他の実施例では、このようなインターコネクトは、更なる隣接しないインターコネクトに結合してもよい（任意選択で、隣接するアイランドにも同様に結合してもよい）。更に、この単一サイクルの通信の待ち時間で説明するが、本発明の範囲はこの点に限定されず、他の例では、インターコネクトが結合する他の宛先への通信の待ち時間は単一サイクル未満でもよく、単一サイクルより大きくてもよいことが分かる。
【００１３】
一例では、ダイ上インターコネクト構造は、以下のコンポーネント、すなわち、8コアを有する256個のアイランド／16×16のノードのネットワークにおけるアイランド及びアイランド毎に１つのスイッチとして構成された2048個のコアを有するエクサスケール（exascale）SoC又は他のプロセッサに実現されてもよい。この例示的なトポロジでは、各ネットワークスイッチは、複数の出力ポートを含んでもよく、4個のポートが4つの方向の最も近い隣接するものに結合し、4個のポートが各方向において4個のアイランドに跨るポイント・ツー・マルチポイント・インターコネクトに結合してもよい。この設計の他の仮定は、２つの仮想チャネル（要求及び応答毎に１つずつ）、64バイト（B）のパケットサイズ、及び均一のランダムなトラヒックパターンでのアイランド当たり毎秒64ギガバイト（Gbps）の注入帯域幅の最小帯域幅を備えた次元オーダのXYルーティング（dimension-ordered  XY  routing）を含む。
【００１４】
次に図２を参照すると、本発明の実施例による他のプロセッサ又はSoCのブロック図が示されている。図２の例では、プロセッサ200は、非常に大きい数のコアを含むエクサスケール・プロセッサである。例として、1024又は2048個のコアが存在してもよい。一般的に、コアは、アイランドに配列されてもよい。ハイレベルの図では、アイランド2100,0-210n,nの16×16のアレイが存在する。各アイランドは所与の数のコアを含んでもよい。異なる例では、同種のコア又は異種のコアの混合が考えられる。相互接続を提供するために、ダイ上インターコネクト・ファブリックは、複数のネットワークスイッチを介して実現されてもよい。例えば、一般的に図１Ａ及び１Ｂに関して前述したように構成された高基数のネットワークスイッチが各アイランド内に存在する。
【００１５】
従って、各ネットワークスイッチ130は、第１の種類のインターコネクト（すなわち、ポイント・ツー・ポイント・インターコネクト）を介して、X、Y方向に隣接するアイランドに結合する（ダイの外周のアイランドは4個の隣接するアイランドに結合しないことがあることが分かる）。更に、各ネットワークスイッチ130は、第２の種類のインターコネクト（すなわち、ポイント・ツー・マルチポイント・インターコネクト）を介して、隣接しないアイランドに更に結合する。
【００１６】
実施例によるトポロジは、低い負荷条件で最低の待ち時間を実現してもよく、同じスイッチ帯域幅では、2Dメッシュネットワークに比べて、均一なランダムなトラヒック条件のもとでネットワークが飽和する前の３倍までの高い注入率を実現する点に留意すべきである。高い局所的な最近傍のトラヒックパターンでは、トポロジは、2Dメッシュネットワークに比べて負けることはない。
【００１７】
図２のトポロジは一般的なトポロジの例であり、正確な仕様は、技術の選択、回路パラメータ、コア数／サイズ等に基づいてもよいことが分かる。従って、実施例は、ダイ上インターコネクト・ファブリックの柔軟な実現を提供する。各ポイント・ツー・マルチポイント・インターコネクトの区間及びドロップ数は、基本技術仕様（例えば、メタルレイヤの数、配線/mm、最適なリピータ間隔等）、回路パラメータ（例えば、とりわけ電圧、クロックサイクル期間）及びコア数により規定されてもよい点に留意すべきである。これらの検討事項は、所望のネットワーク直径（エネルギー／待ち時間）及び帯域幅に対してバランスが保たれてもよい。ネットワークスイッチの所与の注入／排出帯域幅では、局所的な通信の高い帯域幅を提供するために、中間レイヤのメタルについて大きい数の配線/mmが使用されてもよい。
【００１８】
次に図３を参照すると、本発明の実施例によるネットワークスイッチのブロック図が示されている。図３に示すように、ネットワークスイッチ300は、プロセッサ又はSoCの異なるドメイン又はアイランドを通じてインスタンス化されてもよい。このスイッチを使用して、様々なルーティング、アービトレーション（arbitration）及び関係する動作が実行されてもよい。認識できるように、ネットワークスイッチ300は、複数の入力ポートI0-Inを介して入力を受信する。複数の入力ポートI0-Inは、他のアイランドからの入力（例えば、ポイント・ツー・ポイント・インターコネクト又はポイント・ツー・マルチポイント・インターコネクトを介して受信される）を受信するように構成される。他の入力ポートは、ネットワークスイッチ300が含まれるアイランドの様々なローカルコアに結合されてもよい。従って、出力ポートの数より多くの入力ポートが存在する（図示の実施例では、出力ポートO0-O7が提供される）。
【００１９】
要求情報又は応答情報の形式でもよい入来する情報を参照すると、入来する情報は、要求仮想チャネルに対応する対応レーン又は仮想チャネル3100と、応答仮想チャネルに対応する仮想チャネル3101とに提供される。認識できるように、各チャネルは、複数の独立したバッファ3120-312nを含む。所与の入力単位で受信されてもよい入来する情報（例えば、所与のプロセッサのパケットサイズの入来する情報）は、例えば、所与のパケットに含まれるアドレス及び制御情報に基づいて、対応する適切な宛先を決定するために、ルート計算ロジック3140-314nに提供される。このルート決定情報に基づいて、所与のパケットを配信する適切な出力ポートを決定するために、ポートアービタ315においてポートアービトレーション（port  arbitration）が実行されてもよい。
【００２０】
しかし、出力前に、バスアービタ320においてバスアービトレーション（bus  arbitration）がまず生じる。認識できるように、アービトレーションのこの時点において、所与の宛先が対応するパケットを受信するのに十分なリソースを有するか否かを決定するために、フロー制御情報が考慮される。従って、認識できるように、フロー制御情報は、バスアービタ320（より具体的には、独立したバスアービトレーションロジック3220-322n）にフィードバック式に提供されてもよい。
【００２１】
対応するバスアービトレーションロジック322からのアービトレーションされたパケットは、対応するパイプ段3260、3280、3290-326n、328n、329nに提供される。認識できるように、パケットは、クロスバーロジック335を含むクロスバールータ330に提供される。このように、パケットは、選択された宛先（クロスバー・ネットワーク330に結合されたローカルコアを含む、図示の容易のため図３には図示せず）に提供されてもよい。認識できるように、ネットワークスイッチ300の所与の出力ポートから出力されるパッケージでは、通信は、対応するセレクタ又はマルチプレクサ3380-3387を介する。従って、出力パケットは、出力ポートO0-03（それぞれポイント・ツー・ポイント・インターコネクトに次に結合される）に結合されたパイプ段3400-3403を介して、隣接するアイランドのいずれかに提供される。パケットは、１サイクルの待ち時間で隣接するアイランドの隣接するネットワークスイッチに通信されてもよい。その代わりに、関連するネットワークスイッチを介して複数の隣接しないアイランドの１つに提供されるパケットは、マルチプレクサ3384-3387から、対応するパイプ段3404-3407を通じて対応する出力ポートO4-O7（それぞれポイント・ツー・マルチポイント・インターコネクトに次に結合される）に送信される。
【００２２】
従って、図示のように、ネットワークスイッチ300は、ダイ上ファブリックの高基数のスイッチである。要求及び応答について別々のレーン又は仮想チャネルを有するこの特定の例で示されているが、本発明の範囲はこの点に限定されず、他の実現では、更なる仮想チャネル又は異なる仮想チャネルが提供されてもよいことが分かる。
【００２３】
次に図４を参照すると、本発明の実施例に従ってネットワークスイッチを通じてパケットをルーティングする方法のフローチャートが示されている。図４に示すように、方法400は、ネットワークスイッチ内の様々なロジックにより実行されてもよい。認識できるように、方法400は、処理されるべき複数のパケットを受信することにより始まる（ブロック410）。このようなパケットは、そのローカルコアから、また、ネットワークスイッチの様々な入力ポートに結合されたポイント・ツー・ポイント及びポイント・ツー・マルチポイント・インターコネクトからネットワークスイッチ内で受信されてもよい。次にブロック420において、出力のために適切なパケットを決定するためにアービトレーションが実行されてもよい。アービトレーションは、特定のソースからのパケットが他のソースのパケットが送信されるのを妨げないように或いは餓死させないようにするために、公平性を考慮して、ラウンドロビンのアービトレーションに基づいてもよい。更に、ポート及びバスアービトレーションを含むアービトレーションはまた、宛先が入来するパケットを扱うのに十分なリソースを有さない場合にパケットが選択されないようにフロー制御情報を考慮してもよい。
【００２４】
更に図４を参照すると、次にブロック430において、出力されるべきそれぞれ所与のパケット（例えば、入力ポートより少ない出力ポートが存在する場合のパケット1-P）についてネットワークスイッチロジックにより処理が実行されてもよい。認識できるように、選択されたパケットのルーティングが決定されてもよい（ブロック440）。次に、ルーティングに基づいて、宛先がローカルコアであるか否かが決定されてもよい（菱形450）。そうである場合、所与のパケットについて制御はブロック455に進み、ローカルポート（クロスバー・ネットワークの一部でもよく、従って、アイランド内部のコアにパケットを提供してもよい）を介してローカルコアに送信されてもよい。
【００２５】
その代わりに、宛先がローカルコアでない場合、制御は菱形460に進み、宛先が隣接するアイランド内にあるか否かが決定される。そうである場合、制御はブロック470に進み、パケットは、ポイント・ツー・ポイント・インターコネクトに結合された出力ポートを介して、隣接するネットワークスイッチに送信されてもよい。そうでなく、宛先が隣接するアイランドではない場合、制御はブロック470に進み、パケットは、ポイント・ツー・マルチポイント・インターコネクトに結合された出力ポートを介して、複数の隣接しないネットワークスイッチに送信されてもよい。ポイント・ツー・マルチポイント・インターコネクトでパケットを送信するときに、パケットを最終的な宛先に転送するホップを動作させるスイッチのみにパケットがシンクされることを確保するためにサイドバンド制御信号も提供されてもよい点に留意すべきである（これは所与のネットワークスイッチ内のルーティングテーブルに基づいてもよい）。従って、パケットは、インターコネクトに結合された他の（宛先でない／ホップでない）スイッチにシンクされない。このように、サイドバンド相互接続情報を使用することにより、パケットは、宛先でないスイッチにおいてルート計算を通過する必要がなくなる。図４の実施例では、このハイレベルにて示されているが、本発明の範囲はこの点に限定されないことが分かる。
【００２６】
ここに記載のダイ上インターコネクトを含むエクサスケール・プロセッサ又はSoC（又は他の集積回路）は、小さいポータブルデバイスから高性能のコンピューティングシステム及びネットワークの範囲に及ぶ多くの異なるシステムで使用されてもよいことが分かる。次に図５を参照すると、本発明の実施例によるシステムのブロック図が示されている。図５の実施例では、システム900は、複数のドメインを含むSoCでもよい。それぞれのドメインは、独立した動作電圧及び動作周波数で動作するように制御されてもよい。ドメインのそれぞれは、ここに記載のように相互接続されたネットワークスイッチを含む異種のアイランドでもよい。特定の例示の例として、システムは、Intel  Corporationから入手可能なi3、i5、i7のようなIntel  Architecture  Coreに基づくSoC又は他のこのようなプロセッサでもよい。しかし、Sunnyvale,  CAのAdvanced  Micro  Devices,  Inc.  （AMD）から入手可能なもの、ARM  Holdings,  LtdからのARMに基づく設計若しくはそのライセンス、又はSunnyvale,  CAのMIPS  Technologies,  Inc.からのMIPSに基づく設計若しくはそのライセンス若しくはアダプタのような他の低電力SoC又はプロセッサが代わりに存在してもよい。他の実施例では、Apple  A7プロセッサ、Qualcomm  Snapdragonプロセッサ、又はTexas  Instruments  OMAPプロセッサのようなプロセッサが存在してもよい。このようなSoCは、スマートフォン、タブレットコンピュータ、ファブレットコンピュータ、ウルトラブックコンピュータ、IoTデバイス、ウェアラブル又は他のポータブルコンピューティングデバイスのような低電力システムで使用されてもよい。
【００２７】
図５に示すハイレベルの図では、SoC900は、複数のコアユニット9100-910nを含む。各コアユニットは、１つ以上のプロセッサコアと、１つ以上のキャッシュメモリと、他の回路とを含んでもよい。各コアユニット910は、１つ以上の命令セット（例えば、x86命令セット（新たなバージョンで追加されたいくつかの拡張を含む）、MIPS命令セット、ARM命令セット（NEONのような任意選択の更なる拡張を含む））若しくは他の命令セット又はこれらの組み合わせをサポートしてもよい。コアユニットのいくつかは、異種のリソース（例えば、異なる設計）でもよい点に留意すべきである。更に、それぞれのこのようなコアは、キャッシュメモリ（図示せず）に結合されてもよい。実施例では、キャッシュメモリは、共有レベル（L2）キャッシュメモリでもよい。不揮発性記憶装置930は、様々なプログラム及び他のデータを格納するために使用されてもよい。例えば、この記憶装置は、マイクロコード、BIOSのようなブート情報、他のシステムソフトウェア等の少なくとも一部を格納するために使用されてもよい。
【００２８】
各コアユニット910はまた、SoCの更なる回路への相互接続を可能にするネットワークインタフェースのようなインタフェースを含んでもよい。実施例では、各コアユニット910は、次にメモリコントローラ935に結合するプライマリキャッシュのコヒーレント・ダイ上インターコネクトとして動作してもよいダイ上インターコネクトに形成されたコヒーレント・ファブリック（coherent  fabric）に結合する。次に、メモリコントローラ935は、DRAM（図示の容易のため図５には図示せず）のようなメモリとの通信を制御する。
【００２９】
コアユニットに加えて、グラフィックス処理を実行し、場合によってはグラフィックスプロセッサでの汎用の動作（いわゆるGPGPU動作）を実行する１つ以上のグラフィックス処理ユニット（GPU：graphics  processing  unit）を含んでもよい少なくとも１つのグラフィックスユニット920を含み、更なる処理エンジンがプロセッサ内に存在する。更に、少なくとも１つの画像信号プロセッサ925が存在してもよい。信号プロセッサ925は、SoCの内部であれオフチップであれ、１つ以上のキャプチャデバイスから受信した入来する画像データを処理するように構成されてもよい。
【００３０】
他のアクセラレータが存在してもよい。図５の例では、ビデオコーダ950は、ビデオ情報の符号化及び復号化を含むコーディング動作を実行してもよく、例えば、高解像度ビデオコンテンツのためのハードウェア促進サポートを提供する。ディスプレイコントローラ955は、システムの内部及び外部ディスプレイのためのサポートの提供を含み、ディスプレイ動作を促進するために更に提供されてもよい。更に、セキュリティプロセッサ945は、セキュリティ動作を実行するために存在してもよい。それぞれのユニットは、電力マネージャ940を介して制御されるその電力消費を有してもよい。電力マネージャ940は、様々な電力管理技術を実行するための制御ロジックを含んでもよい。
【００３１】
或る実施例では、SoC900は、様々な周辺機器デバイスが結合してもよいコヒーレント・ファブリックに結合された非コヒーレント・ファブリックを更に含んでもよい。１つ以上のインタフェース960a-960dは、１つ以上のオフチップデバイスとの通信を可能にする。このような通信は、他の種類の通信プロトコルの中でもPCIe、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI（登録商標）のような様々な通信プロトコルに従ってもよい。図５の実施例では、このハイレベルにて図示されているが、本発明の範囲はこの点に限定されないことが分かる。
【００３２】
次に図６を参照すると、実施例が使用され得る例示的なシステムのブロック図が示されている。認識できるように、システム1200は、スマートフォン又は他の無線通信機でもよい。ベースバンドプロセッサ1205は、システムから送信されるべき通信信号又はシステムにより受信された通信信号に関して、様々な信号処理を実行するように構成される。次に、ベースバンドプロセッサ1205は、アプリケーションプロセッサ1210に結合される。アプリケーションプロセッサ1210は、多くの周知のソーシャルメディア及びマルチメディアアプリケーションのようなユーザアプリケーションに加えてOS及び他のシステムソフトウェアを実行するシステムの主なSoCでもよい。アプリケーションプロセッサ1210は、デバイスのための様々な他のコンピューティング動作を実行するように更に構成されてもよく、ここに記載のダイ上インターコネクト構造を含んでもよい。
【００３３】
次に、アプリケーションプロセッサ1210は、ユーザインタフェース／ディスプレイ1220（例えば、タッチスクリーンディスプレイ）に結合してもよい。更に、アプリケーションプロセッサ1210は、不揮発性メモリ（すなわち、フラッシュメモリ1230）と、システムメモリ（すなわち、ダイナミックランダムアクセスメモリ（DRAM：dynamic  random  access  memory）1235）とを含むシステムメモリに結合してもよい。更に認識できるように、アプリケーションプロセッサ1210は、ビデオ及び／又は静止画を記録することができる１つ以上の画像キャプチャデバイスのようなキャプチャデバイス1240に更に結合する。
【００３４】
更に図６を参照すると、加入者識別モジュールと、場合によっては安全な記憶装置及び暗号化プロセッサとを有する汎用ICカード（UICC：universal  integrated  circuit  card）1240も、アプリケーションプロセッサ1210に結合される。システム1200は、アプリケーションプロセッサ1210に結合してもよいセキュリティプロセッサ1250を更に含んでもよい。複数のセンサ1225は、加速度計のような様々な検知情報及び他の環境情報の入力を可能にするために、アプリケーションプロセッサ1210に結合してもよい。オーディオ出力デバイス1295は、（例えば、音声通信、再生又はストリーミングオーディオデータ等の形式で）音を出力するためのインタフェースを提供してもよい。
【００３５】
更に示すように、NFCアンテナ1265を介してNFC近距離内で通信する近距離無線通信（NFC：near  field  communication）非接触インタフェース1260が提供される。図６には別々のアンテナが示されているが、或る実装では、様々な無線機能を可能にするために、１つのアンテナ又は異なるセットのアンテナが提供されてもよいことが分かる。
【００３６】
電力管理集積回路（PMIC：power  management  integrated  circuit）1215は、プラットフォームレベルの電力管理を実行するために、アプリケーションプロセッサ1210に結合する。このため、PMIC1215は、必要に応じて特定の低電力状態に入るように、電力管理要求をアプリケーションプロセッサ1210に発行してもよい。更に、プラットフォームの制約に基づいて、PMIC1215はまた、システム1200の他のコンポーネントの電力レベルを制御してもよい。
【００３７】
通信が送信及び受信されることを可能にするために、様々な回路がベースバンドプロセッサ1205とアンテナ1290との間に結合されてもよい。具体的に、無線周波数（RF：radio  frequency）トランシーバ1270及び無線ローカルエリアネットワーク（WLAN：wireless  local  area  network）トランシーバ1275が存在してもよい。一般的に、RFトランシーバ1270は、符号分割多元アクセス（CDMA：code  division  multiple  access）、GSM（登録商標）（global  system  for  mobile  communication）、LTE（long  term  evolution）又は他のプロトコルに従うもののような3G又は4G無線通信プロトコルのように、所与の無線通信プロトコルに従って無線データ及び呼を受信及び送信するために使用されてもよい。更に、GPSセンサ1280が存在してもよい。無線信号（例えば、AM/FM及び他の信号）の受信又は送信のような他の無線通信も提供されてもよい。更に、WLANトランシーバ1275を介して、Bluetooth（登録商標）標準又はIEEE802.11a/b/g/nのようなIEEE802.11標準に従うもののようなローカル無線通信も実現されてもよい。
【００３８】
次に図７を参照すると、実施例が使用され得る他の例示的なシステムのブロック図が示されている。図７の例では、システム1300は、タブレットコンピュータ、2:1タブレット、ファブレット又は他のコンバーチブル若しくはスタンドアローン型のタブレットシステムのようなモバイル低電力システムでもよい。図示のように、SoC1310が存在し、デバイスのアプリケーションプロセッサとして動作するように構成されてもよい。SoC1310は、ここに記載のダイ上インターコネクトのアーキテクチャを含んでもよい。
【００３９】
様々なデバイスは、SoC1310に結合してもよい。図示の例では、メモリサブシステムは、SoC1310に結合されたフラッシュメモリ1340及びDRAM1345を含む。更に、タッチパネル1320は、タッチパネル1320のディスプレイ上の仮想キーボードの提供を含み、ディスプレイ機能及びタッチを介したユーザ入力を提供するために、SoC1310に結合される。有線ネットワーク接続を提供するために、SoC1310は、Ethernet（登録商標）インタフェース1330に結合する。周辺機器ハブ1325は、様々なポート又は他のコネクタのいずれかによりシステム1300に結合され得るもののような様々な周辺機器デバイスとのインタフェースを可能にするために、SoC1310に結合される。
【００４０】
SoC1310内の内部電力管理回路及び機能に加えて、PMIC1380は、例えば、システムが電池1390により電力供給されているか、ACアダプタ1395を介してAC電源により電力供給されているかに基づいて、プラットフォームに基づく電力管理を提供するために、SoC1310に結合される。この電源に基づく電力管理に加えて、PMIC1380は、環境及び使用条件に基づいてプラットフォームの電力管理アクティビティを更に実行してもよい。更に、PMIC1380は、SoC1310内で様々な電力管理動作を行わせるために、制御及び状態情報をSoC1310に通信してもよい。
【００４１】
更に図７を参照すると、無線機能を提供するために、WLANユニット1350は、SoC1310に結合され、次にアンテナ1355に結合される。様々な実装では、WLANユニット1350は、IEEE802.11プロトコル、Bluetoothプロトコル又は他の無線プロトコルを含む１つ以上の無線プロトコルに従って通信を提供してもよい。
【００４２】
更に図示のように、複数のセンサ1360は、SoC1310に結合してもよい。これらのセンサは、ユーザジェスチャセンサを含む様々な加速度計、環境及び他のセンサを含んでもよい。最後に、オーディオコーデック1365は、オーディオ出力デバイス1370へのインタフェースを提供するために、SoC1310に結合される。当然に、図７においてこの特定の実装で示されているが、多くの変更及び代案が可能であることが分かる。
【００４３】
次に図８に進み、実施例によるSoC設計の実施例が示されている。特定の図示の例では、SoC2000は、ユーザ装置（UE：user  equipment）に含まれる。一実施例では、UEは、ウェアラブル、ハンドヘルド電話機、スマートフォン、タブレット、超薄型ノートブック、ノートブック、IoTデバイス又は他の同様のデバイスのような、エンドユーザにより使用されるいずれかのデバイスを示す。しばしば、UEは基地局又はノードに接続し、実際にGSMネットワークの移動局（MS：mobile  station）に潜在的に対応する。
【００４４】
ここでは、SoC2000は2個のコア2006及び2007を含む。前述と同様に、コア2006及び2007は、Intel  Architecture  Coreに基づくプロセッサ、Advanced  Micro  Devices,  Inc.（AMD）プロセッサ、MIPSに基づくプロセッサ、ARMに基づくプロセッサ設計又はそのカスタマ及びこれらのライセンシー又はアダプタのような命令セットアーキテクチャに従ってもよい。コア2006及び2007は、システム2000の他の部分と通信するために、バスインタフェースユニット2009及びL2キャッシュ2010に関連するキャッシュ制御ユニット2008に結合される。インターコネクト2010は、オンチップ・インターコネクトを含み、これは、ここに記載の異種の階層アーキテクチャになってもよい。
【００４５】
インターコネクト2010は、SOC2000を初期化及びブートするためにコア2006及び2007により実行されるブートコードを保持するブートROM2035、外部メモリ（例えば、DRAM2060）とインタフェース接続するSDAMコントローラ2040、不揮発性メモリ（例えば、フラッシュ2065）とインタフェース接続するフラッシュコントローラ2045、周辺機器とインタフェース接続する周辺機器コントローラ2050（例えば、シリアル周辺機器インタフェース）、MIPI又はHDMI/DPインタフェースの１つを介して入力（例えば、タッチ可能入力）を表示及び受信するビデオコーデック2020及びビデオインタフェース2025、グラフィックスに関する計算を実行するGPU2015等のような他のコンポーネントへの通信チャネルを提供する。
【００４６】
更に、システムは、Bluetoothモジュール2070、3Gモデム2075、GPS2080及びWiFi2085のような通信のための周辺機器を示す。また、システムに電力コントローラ2055が含まれる。
【００４７】
次に図９を参照すると、本発明の実施例によるシステムのブロック図が示されている。図９に示すように、高性能コンピューティングシステムのようなマルチプロセッサシステム1500は、次にHPCネットワークの他のシステムに結合してもよい。システム1500は、ポイント・ツー・ポイント・インターコネクト1550を介して結合された第１のプロセッサ1570及び第２のプロセッサ1580を含む。図９に示すように、プロセッサ1570及び1580のそれぞれは、例えば、ここに記載のダイ上インターコネクトのアーキテクチャを介して相互接続されてもよい100以上のアイランドのうち２つのアイランドの代表的な第１及び第２のプロセッサコア（すなわち、プロセッサコア1574a及び1574b並びにプロセッサコア1584a及び1584b）を含む多数のコアのプロセッサでもよい。
【００４８】
更に図９を参照すると、第１のプロセッサ1570は、メモリコントローラハブ（MCH：memory  controller  hub）1572と、ポイント・ツー・ポイント（P-P）インタフェース1576及び1578とを更に含む。同様に、第２のプロセッサ1580は、MCH1582と、P-Pインタフェース1586及び1588とを含む。図９に示すように、MCH1572及び1582は、プロセッサをそれぞれのメモリ（すなわち、メモリ1532及びメモリ1534）に結合する。メモリ1532及びメモリ1534は、それぞれのプロセッサにローカルに取り付けられたシステムメモリ（例えば、DRAM）の一部でもよい。第１のプロセッサ1570及び第２のプロセッサ1580は、それぞれP-Pインターコネクト1562及び1564を介してチップセット1590に結合されてもよい。図９に示すように、チップセット1590は、P-Pインタフェース1594及び1598を含む。
【００４９】
更に、チップセット1590は、P-Pインターコネクト1539によりチップセット1590を高性能グラフィックスエンジン1538と結合するためのインタフェース1592を含む。次に、チップセット1590は、インタフェース1596を介して第１のバス1516に結合されてもよい。図９に示すように、様々な入出力（I/O）デバイス1514は、第１のバス1516を第２のバス1520に結合するバスブリッジ1518と共に、第１のバス1516に結合されてもよい。例えば、キーボード／マウス1522、通信デバイス1526及びデータ記憶ユニット1528（一実施例ではコード1530を含んでもよいディスクドライブ又は他の大容量記憶デバイス等）を含み、様々なデバイスは第２のバス1520に結合されてもよい。更に、オーディオI/O1524は、第２のバス1520に結合されてもよい。
【００５０】
以下の例は、更なる実施例に関する。
【００５１】
一例では、装置は、半導体ダイに構成された複数のアイランドであり、複数のアイランドのうち少なくとも２つは複数のコアを有する複数のアイランドと、複数のアイランドと関連付けられる半導体ダイに構成された複数のネットワークスイッチとを有し、複数のネットワークスイッチのうち第１のネットワークスイッチは、複数の出力ポートを有し、複数の出力ポートのうち第１のセットの出力ポートは、ポイント・ツー・ポイント・インターコネクトを介してアイランドの関連するネットワークスイッチに結合し、出力ポートのうち第２のセットの出力ポートは、ポイント・ツー・マルチポイント・インターコネクトを介して複数のアイランドの関連するネットワークスイッチに結合する。
【００５２】
一例では、ポイント・ツー・ポイント・インターコネクトは、第１のメタルレイヤに少なくとも部分的に構成される。
【００５３】
一例では、ポイント・ツー・マルチポイント・インターコネクトは、第２のメタルレイヤに少なくとも部分的に構成され、第２のメタルレイヤは、第１のメタルレイヤより高いメタルレイヤである。
【００５４】
一例では、第１のメタルレイヤに構成されたポイント・ツー・ポイント・インターコネクトの配線幅は、高いメタルレイヤに構成されたポイント・ツー・マルチポイント・インターコネクトの配線幅より大きい。
【００５５】
一例では、ポイント・ツー・マルチポイント・インターコネクトは、クロックサイクルにおいてネットワークスイッチからの出力情報を複数のアイランドの関連するネットワークスイッチに通信するように構成され、複数のアイランドは、ネットワークスイッチのアイランドに物理的に隣接しない。
【００５６】
一例では、ポイント・ツー・ポイント・インターコネクトは、クロックサイクルにおいてネットワークスイッチからの出力情報をアイランドの関連するネットワークスイッチに通信するように構成され、アイランドは、ネットワークスイッチのアイランドに物理的に隣接する。
【００５７】
一例では、装置は、複数のネットワークスイッチと、ポイント・ツー・ポイント・インターコネクトと、ポイント・ツー・マルチポイント・インターコネクトとを有するダイ上インターコネクト・ファブリックを更に有する。
【００５８】
一例では、ダイ上インターコネクト・ファブリックは、アイランドの複数のコアをそれぞれ相互接続する複数のクロスバー・ネットワークを含む階層的ネットワークと、複数のアイランドのうち隣接するものを相互接続する複数のポイント・ツー・ポイント・インターコネクトと、複数のアイランドのうち隣接しないものを相互接続する複数のポイント・ツー・マルチポイント・インターコネクトとを有する。
【００５９】
他の例では、装置は、半導体ダイに構成されたネットワークスイッチを有し、ネットワークスイッチは、他のネットワークスイッチから情報を受信する複数の入力ポートと、第１のメタルレイヤを介して複数の隣接するネットワークスイッチに結合する第１の複数の出力ポートと、第２のメタルレイヤを介して複数の隣接しないネットワークスイッチに結合する第２の複数の出力ポートとを含む。
【００６０】
一例では、複数の入力ポートの数は、第１の複数の出力ポートの数と第２の複数の出力ポートの数との和より大きい。
【００６１】
一例では、ネットワークスイッチは、第１の仮想チャネルに関連する少なくとも１つの第１のバッファと、第２の仮想チャネルに関連する少なくとも１つの第２のバッファと、アイランドにある複数のコアをネットワークスイッチに結合するクロスバー・ネットワークと、複数のコアのうち少なくともいくつかからの出力要求の間をアービトレーションするアービタとを更に有する。
【００６２】
一例では、第１の複数の出力ポートのうち少なくとも１つは、第１のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・ポイント・インターコネクトを介して隣接するネットワークスイッチに結合する。
【００６３】
一例では、第２の複数の出力ポートのうち少なくとも１つは、第２のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・マルチポイント・インターコネクトを介して複数の隣接しないネットワークスイッチに結合し、第２のメタルレイヤは第１のメタルレイヤより高いレイヤであり、第１及び第２のメタルレイヤは、半導体ダイに構成された積層スタックにある。
【００６４】
一例では、第１の複数の出力ポートのうち少なくとも１つは、第１のクロックサイクルにおいて隣接するネットワークスイッチに出力単位を通信し、第２の複数の出力ポートのうち少なくとも１つは、第１のクロックサイクルにおいて複数の隣接しないネットワークスイッチに出力単位を通信する。
【００６５】
一例では、装置は、複数のコアを含むエクサスケールSoCを有する。
【００６６】
一例では、エクサスケールSoCは、複数のコアの一部とネットワークスイッチとをそれぞれ有する複数のアイランドを有する。
【００６７】
他の例では、機械により実行された場合、機械に対して、ダイ上インターコネクトのネットワークスイッチにおいて複数のパケットを受信するステップと、複数のパケットのうち第１のパケットのルーティングを決定するステップと、第１のパケットが隣接するネットワークスイッチに関連するドメインの宛先ロジックに向けたものである場合、ポイント・ツー・ポイント・インターコネクトに結合された第１の出力ポートを介して隣接するネットワークスイッチに第１のパケットを送信するステップと、第１のパケットが複数の隣接しないネットワークスイッチのうち１つに関連するドメインの宛先ロジックに向けたものである場合、ポイント・ツー・マルチポイント・インターコネクトに結合された第２の出力ポートを介して複数の隣接しないネットワークスイッチに第１のパケットを送信するステップとを有する方法を実行させる命令を格納した機械読み取り可能媒体である。
【００６８】
一例では、この方法は、第１のパケットがローカルコアに向かうものである場合、ネットワークスイッチを含むドメインのローカルコアに第１のパケットを送信するステップを更に有する。
【００６９】
一例では、この方法は、第１のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・ポイント・インターコネクトを介して隣接するネットワークスイッチに第１のパケットを送信するステップを更に有する。
【００７０】
一例では、この方法は、第２のメタルレイヤに少なくとも部分的に構成されたポイント・ツー・マルチポイント・インターコネクトを介して複数の隣接しないネットワークスイッチに第１のパケットを送信するステップを更に有し、第２のメタルレイヤは、第１のメタルレイヤより高いメタルレイヤである。
【００７１】
実施例は、多くの異なる種類のシステムで使用されてもよい。例えば、一実施例では、通信デバイスは、ここに記載の様々な方法及び技術を実行するように構成されてもよい。当然に、本発明の範囲は通信デバイスに限定されず、その代わりに、他の実施例は、命令を処理する他の種類の装置を対象としてもよく、コンピューティングデバイスで実行されたことに応じて、デバイスに対してここに記載の方法及び技術のうち１つ以上を実行させる命令を含む１つ以上の機械読み取り可能媒体を対象としてもよい。
【００７２】
実施例は、コードで実現されてもよく、システムが命令を実行するようにプログラムするために使用され得る命令を格納した過渡的でない記憶媒体に格納されてもよい。記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ソリッドステートドライブ（SSD：solid  state  drive）、コンパクトディスク読み取り専用メモリ（CD-ROM：compact  disk  read-only  memory）、再書き込み可能コンパクトディスク（CD-RW：compact  disk  rewritable）及び光磁気ディスクを含むいずれかの種類のディスク、読み取り専用メモリ（ROM：read-only  memory）、ランダムアクセスメモリ（RAM：random  access  memory）（ダイナミックランダムアクセスメモリ（DRAM）、スタティックランダムアクセスメモリ（SRAM）等）、消去可能プログラム可能読み取り専用メモリ（EPROM）、フラッシュメモリ、電気的消去可能プログラム可能読み取り専用メモリ（EEPROM）のような半導体デバイス、磁気若しくは光カード、又は電子情報を格納するのに適した他の種類の媒体を含んでもよいが、これらに限定されない。
【００７３】
限られた数の実施例を参照して本発明について説明したが、当業者は、それからの多数の変更及び変形を認識する。特許請求の範囲は、本発明の真の要旨及び範囲内に入る全てのこのような変更及び変形をカバーすることを意図する。
【図１Ａ】
2016085733.tif 000003
【図１Ｂ】
2016085733.tif 000004
【図２】
2016085733.tif 000005
【図３】
2016085733.tif 000006
【図４】
2016085733.tif 000007
【図５】
2016085733.tif 000008
【図６】
2016085733.tif 000009
【図７】
2016085733.tif 000010
【図８】
2016085733.tif 000011
【図９】
2016085733.tif 000012
【外国語明細書】
2016085733000001.pdf