JP2013534113A - マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法 - Google Patents

マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法 Download PDF

Info

Publication number
JP2013534113A
JP2013534113A JP2013518664A JP2013518664A JP2013534113A JP 2013534113 A JP2013534113 A JP 2013534113A JP 2013518664 A JP2013518664 A JP 2013518664A JP 2013518664 A JP2013518664 A JP 2013518664A JP 2013534113 A JP2013534113 A JP 2013534113A
Authority
JP
Japan
Prior art keywords
node
packet
output port
output
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013518664A
Other languages
English (en)
Other versions
JP5462412B2 (ja
Inventor
カウシュケ、ミヒャエル
ビー. ドシ、ガウタム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2013534113A publication Critical patent/JP2013534113A/ja
Application granted granted Critical
Publication of JP5462412B2 publication Critical patent/JP5462412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1584Full Mesh, e.g. knockout
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一実施形態において、本発明は、ノードの入出力(I/O)回路で受信されるパケットが当該ノード宛であるかを判断する方法を含み、そうである場合には、I/O回路の出口キューへパケットを供給する段階と、I/O回路の入口キューに1以上のパケットが存在するかを判断する段階とを備え、そうである場合には、トラフィックフローに依存しないグローバルスケジュールに従って選択したパケットを第1出力レジスタまたは第2出力レジスタに供給段階を備える。
【選択図】図1

Description

小型で高速の回路の形態で半導体技術が進化し、より多くの構成要素を1つの半導体ダイに実装可能となった。ダイの一種として、データ処理およびその他のオペレーションを実行するのに使用可能な複数のエージェントがダイに存在する、いわゆるシステムオンチップ(SoC)が挙げられる。複数のエージェント間の相互接続は、ネットワークオンチップ(NoC)によって達成されるが、これは、パケットルーティングネットワーク、バス、リング等を含む様々な方法に基づいてもよい。しかしながら、これらの方法は、設計が複雑になる、拡張性に制限がある、または、エリア/電力の効率に関して問題を有する場合がある。さらに、周知の相互接続の一部は、複雑なデッドロック/接続の問題を示す場合があり、これを解決する必要がある。
多くの場合、実装では、トラフィック、レイテンシ等を考慮して、エージェント間の転送メカニズムの一部として、ある種のバッファ媒体を含み、エージェント間の転送メカニズムに複数のパケットが存在する。リングはバッファのない媒体を提供できるが、このようなリングは従来では、リングコンセプトをマルチディメンションに適用できないといったように、一次元のものであった。
本発明の一実施形態に係るメッシュ相互接続システムのブロック図である。 本発明の一実施形態に係るパススルーステートにおいて構成されるメッシュ相互接続システムのブロック図である。 本発明の一実施形態に係るターンステートおいて構成されるメッシュ相互接続システムのブロック図である。 本発明の別の実施形態に係る相互接続システムのブロック図である。 本発明の一実施形態に係るノードのブロック図である。 本発明の一実施形態に係る静的グローバル循環スケジュールに従うパケットの通信方法を示したフローチャートである。
様々な実施形態において、バッファレスのルータレス交差型リング、いわゆる"ルータレスIリング"が提供され、システムオンチップ(SoC)またはその他の半導体デバイスに存在するようなオンチップノードの相互接続を可能にする。このようなSoCには、マルチコアおよび数多くのエージェントを有するメニーコア中央演算処理装置(CPU)設計を含む様々な種類の設計が存在し、エージェントとしては、コア、キャッシュ、アクセラレータ、メモリコントローラ等が含まれる。
本発明の一実施形態に係る相互接続ネットワークは、2次元またはそれより高次に設計することができる。一般的に、ネットワークは、(i)バッファレス転送媒体、(ii)(パケットを転送媒体にスケジュールするための)入口アクセスポイント(ingress access point)、(iii)(転送媒体からパケットを引き出す)出口受信ポイント(egress receiver point)を含む。多くの実施形態では、バッファレス転送媒体は、n×mのメッシュに配置されたクロック同期されたノードのセットを含んでもよい。このようなノードはそれぞれ、ハードウェアと関連付けられているネットワークを含んでもよく、また、コア、キャッシュ、アクセラレータ等の対応するエージェントと接続されていてもよい。
図1には、本発明の一実施形態に係るメッシュシステムのブロック図が示されている。図1に示すように、システム100は、複数のノード1101,1−110n,mを含む2次元(2D)リンク相互接続メッシュとして実装されている。様々な実施形態において、システム100は、システムオンチップ(SoC)、または、1つの半導体ダイ上に形成されたその他の1つのチップの半導体デバイスであってもよい。別の実施形態では、システムは、複数のスタックされたダイから構成されてもよく、この場合、メッシュは2次元よりも大きな次元を有する。異なる実装形態では、エージェントは、異機種環境にあってもよい、または、同機種環境であってもよく、例えば、プロセッサコア、キャッシュブロック、メモリコントローラ、グラフィックスプロセッサのような専用処理ユニット、パケットプロセッサ等であってもよい。一般的に、ノードは、エージェント(例えば、コアまたはその他の処理ユニットまたは制御ユニット)と関連付けられてもよく、以下に説明するように接続に関連した入出力(I/O)回路を含んでもよい。
図1に示すように、ノード110それぞれは、双方向接続であってもよい複数の接続115を介して2Dで構成される複数のその他のノードと接続されてもよい。加えて、エッジノード(すなわち、システムの外縁にあるノード)は、対応するノードの出力ポートを、同じノードまたはその他の入力ポートに接続するフィードバック接続120を含んでもよい。図1のハイレベルを示した図では、I/O回路(例えば、ルート構造)のみが示されている。すなわち、図1には、実際のエージェントの機能ユニットは示されていない。一般的に、ノードはそれぞれ、複数の入力ポートおよび出力ポートを含んでもよい。一般的に、これら入力ポートおよび出力ポートは、メッシュ接続を介して受信された情報(例えば、パケット)の選択および転送を有効にするロジックおよびその他の回路を含んでもよい。図1に示す実装は、代表的なものであり、ノード内で利用可能な完全なスイッチングまたは構成を全て反映したものではない。すなわち、以下に詳細に説明するように、ノードはそれぞれ、所定のノードが接続されてもよい複数の異なるノードにデータをルートする複数のルーティングパターンに従って構成されてもよい。
図1に示すように、ノード110はそれぞれ、隣接するノードへの4つの双方向リンク(エッジノードでは特別なフィードバックルールが存在する)を有する。リンクの数は、次元が上がるに従って増えてもよい。各クロックサイクルにおいて、少なくとも1つのパケットを、各ノードの複数の入力ポートのそれぞれによって受信することができる。入力されるパケットは、各ノードの複数の出力ポートのうちの1つでローカルに使用されるまたは受け渡されてもよく、次のサイクルでは隣接するノードに送信される。このように、転送媒体は、バッファレスの構成となっている。ここで、I/O回路の詳細は、図1に示されていないことに注意されたい。図には、複数の出力レジスタ105a−dのみが示されており、これらはそれぞれ、所定の出力ポートと関連付けられており、選択されたパケットがノードから送信される構成要素となっている。出力ポートは、複数の入力ポートのそれぞれを除いて、ノードに接続されたローカルエージェントからのパケットを受信してもよく、マルチプレクサ(図1には図示せず)が出力レジスタ105のそれぞれの前に存在してもよい。
パケットがとるルートは、複数のシングルノード接続ステートの予め既定されトラフィックとは独立したシーケンスによって決定される。シーケンスは、全てのノードに対して同じになるように選択されてもよいし、各ノードに対して個別に構成されてもよい。いずれの場合であっても、ノード固有のシーケンスで決定されるように、メッシュの全てのノードは、複数の所定のトラフィックから独立した、入力ポートを出力ポートへマッピングする接続ステートのうちの1つにある。本発明の側面はこれに限定されないが、一実施形態において、全てのノードは、2つの接続ステート、すなわち、異なる次元での接続を可能とするパススルーステートおよびターンステートから構築される同じシーケンスに従ってもよい。
図2には、全てのノードがパススルーステートであるメッシュ接続システム100のブロック図が示されている。パススルーステートでは、ノードはそれぞれ、第1隣接ノードから受信されたデータを第2隣接ノードへと直接渡す(例えば、マルチプレクサの制御によりまたはその他のスイッチロジックにより)ように設定されてもよい。図2の実装形態では、これらのノードは、水平方向に隣接するノードまたは垂直方向に隣接するノードであってもよい。本明細書で使用される、隣接ノードという言葉は、所定の次元におけるノードに直接隣接するノードを指す。図2に示す実装形態では、エッジノードは、直接フィードバックを行うためのインターコネクト120に接続されており、パススルーモードで動作する場合に、エッジノードから出力されたデータが、同じエッジノードで直接受信されるようになっている。図2では図示を簡単にし、ノード内の内部のルーティング等のその他の接続については、図2に示されたステートを分かりにくくするのを防ぐ目的から記載されていない。
このパススルーステートでは、ノードは、反対側からパケットを単純に転送するので、メッシュは、水平方向および垂直方向に敷かれた接続されていない複数のリングのセットに分解できる。ある実装形態では、システムの制御に基づいて両方の方向でパススルー接続が発生するので、複雑性が高くなるが、より効率的な接続を提供できる可能性がある。
図2に示したパススルーステートでは、1次元の隣接エージェント間のデータ接続が可能となっているが、異なる次元のノード間での通信を可能とする実施形態では、1以上のターンステートを提供するべくノードを構成してもよい。ターンステートは、異なる次元の隣接コア間でデータを伝達するのに使用されてもよい。選択されたステートに関わらず、ノードはそれぞれ、転送メカニズムがバッファを使用しないので、1周期毎に同じ数のパケットを入出力してもよい。
図3には、ターンステートに構成されたメッシュ接続システムのブロック図が示されている。図3に示すように、システム100'は、入力されるパケットがそれぞれ、パススルー方向とは異なる方向にルートされる。図示されたステートでは、ノードはそれぞれ、入力パケットを左にルートしている。この結果、各ノードに入力されるパケットは、(パススルーステートで確立された)水平方向のリング間および垂直方向のリング間でやり取りされる。図3に示すように、このターンステートは、パケットが次の隣接するノードに伝達されるように左側に回転するようになっている。更に、図3に示すように、エッジノードは、フィードバックインターコネクト120を介して、ノードの入力ポートを介してノードの出力ポートから出力されたパケットを直接受信するように構成されてもよい。図3では、左方向に回転する状態が示されたが、本発明は、この点に関して限定されず、他の実装形態では、ターンステートは右方向に回転する状態であってもよい。
一実施形態において、ステート(状態)は、媒体の実際のトラフィックとは完全に独立させることができる周期的スケジュールに従って選択されてもよい。スケジュールは、各送信ノードにおいて、挿入のための時間枠(タイムスロット)が存在し、最終的には、挿入されたパケットが意図した宛先に到達することを保証する必要がある。このような制約に合致する1つのスキームとしては、パススルーステート(図2)において全てのノードに対するS−1個のクロックサイクル、および、ターンステート(例えば、図3に示した左方向の回転)における全てのノードに対する1サイクルからなる、S個のクロック(ここで、S−max(n,m))の周期的スケジュールが挙げられる。一般的には、周期的スケジュールは、S個のクロック(ここで、S=max(n,m))であってもよく、S−x個のクロックサイクルがパススルーステート(図2)に当てられ、x個のサイクルがターンステートに(例えば、図3の左方向回転ステート)に当てられる。このような周期的スケジュールによれば、各送信ノードから他の全てのノードに対する少なくとも1つのマンハッタンルート(Manhattan route)を確立することができることが証明されている。本明細書において、"マンハッタンルート"とは、障害、迂回路、後方追跡等がない、エージェント間の最短距離のルートを既定するのに使用されている。典型的には、マンハッタン特性を満足しないが更なる実行可能な経路が存在する。その他のスケジュールについても実現可能であり、例えば、パススルー構成の全てのノードについてS−1個のサイクルが当てられ、ターン構成に対して1個のサイクルが当てられてもよく、ここで、S=2*max(n,m)である。全てのノードに適用される1つのシーケンスでも十分であるが、ノードのサブセットにそれぞれ適用されるシーケンスの複数のサブセットを考えて、媒体の任意の特性を改善させてもよい。一例として、複数のノードは、所定のサイクルに対してネットワークレイヤ上で可視の複数の異なる接続ステートへと導くような、接続ステートの個別のシーケンスを有してもよい。更に、右回転、または、1つのノード内のパススルー構成とターンステートとの組み合わせといったように、接続ステートの更なる種類を考えてもよい。一般的に、ステートを付加すると、出力ポートのマルチプレクサへの入力数が増加すると考えられる。
異なるトポロジーの変形例が存在し、例えば、あるノードのエッジにおけるその他のフィードバック接続スキーム、または、一方向転送メカニズムにして、メッシュを低減させるといったことが考えられる。図4には、本発明の別の実施形態に係る接続システムのブロック図が示されている。図4に示すように、システム200は、複数のノード2101,1〜210n,mを含む。この実装形態では、一方向接続115のみで、隣接するノードを共に接続している。加えて、エッジノードに対するフィードバック経路の替わりに、共通の次元の隣接ノードを接続するべくインターコネクト120が存在する。その他の側面においては、システム200は、図1で説明したのと同様に構成されてもよい。
図1に戻り、各宛先ノードに対するソースノードにおいて、挿入タイムスロットのテーブル(スロットテーブル)が、出力段階それぞれに対して存在し、挿入されたパケットが意図した宛先ノードに配信されるのを確かにしている。図1のメッシュオペレーションであって、S個のクロックの固定されたスケジュール期間を仮定すると、シーケンスの有効な挿入オプションは、Sの期間を有するサイクルとなり、ソース/宛先の組み合わせに依存して1からSの間で変化させてもよい。テーブルは、メッシュトポロジーおよび周期的スケジュールにのみ依存するので、異なる複数の方法によって予め計算することができる。ある実施形態では、テーブルは、分析的表現または網羅的な自己発見手法を使用して導かれてもよい。ある実施形態では、このテーブルは、各ノードの不揮発性記憶装置に実装されてもよい。このテーブルは、クロックサイクルをカウントする論理ゲート、並びに、ソースおよび入力パラメータとしての宛先情報によって実装される対応する関数によってオンザフライで構築されてもよい。または、所定のテーブルを、ノードの揮発性記憶装置まで動的にロードすることができる。特定の実施形態では、ノードの出力ポートのそれぞれは、メッシュシステム内の特定の接続を反映するように予め定められる自身のテーブルを含むことができる。一実施形態では、テーブルのエントリはそれぞれ、宛先識別子、および、出力ポートを介してその宛先に対するパケットが挿入されるべき対応するサイクルスロットを含んでもよい。別の実施形態では、1つのテーブルエントリが、Sビット幅のベクトルを含む宛先毎に提供され、クロックサイクルのn個の周期パターンのそれぞれに挿入が実行可能であるかを、n個のビットそれぞれが示す。ある実施形態では、テーブルは更に、どのパケットを所定のスロットに供給するべきかを判断する出力ポートロジックを補助する発見的データを含んでもよい。例えば、1つか2つの専用スロットのみが宛先にたどり着けるような場合、パケットを選択するための発見的解決方法をこのような貴重なスロットに対して確立して、意図した宛先にたどり着くのに利用可能な更なる選択肢を有する多くのパケットに対して適用してもよい。このように、所定のパケットに対する優先順位は、送信待ちパケットに基づいて動的に変更されてもよい。シングルノードの接続状態シーケンスのグローバル同期は、システムのマルチプレクサそれぞれに提供されているマスタまたはグローバル制御信号に基づいてもよい。その他の実施形態では、同期は、ネットワーク初期化において送信される特別なパケットによって達成されてもよい。
I/O回路を介して、パケット挿入のために対応するノードと関連付けられているエージェントによってパケットが受け渡される場合、パケットは、送信のための適切なタイムスロットに達するまで中間地点として入口バッファに格納されてよく、対応する出力ポートにはデータが割り当てられない。すなわち、バッファレスオペレーションのため、受信されたパケットをバッファまたはその他の記憶構造に維持する能力がないことから、入力ポートに入力されるパケットは、ローカルに生成されたパケットよりも優先されるように、システムが構成される。
ある実施形態では、ポート毎の最大注入レートを改善させるべく、ローカルなエージェントによって提供された複数のパケットを平行して処理してもよい。通常は、パケットがネットワークに入る(または、同じタイムスロットに複数のパケットが入ってもよい)ためのタイムスロットおよび出力ポートの組み合わせが複数存在することから、ネットワーク性能を向上させるべく様々な発見的(heuristic)アルゴリズムを適用してもよい。これらのアルゴリズムにおいて、最適なマンハッタンルートにつながるような選択肢が好ましい。一例として、その他の実行可能であるが非効率なルート(ネットワーク中で長い経路となる)をテーブルから除外(または、優先順位を低くする)してもよい。同じタイムスロットで同じ出力ポートに競合する複数のパケットが存在する場合、少ない挿入選択肢を有するパケットが優先されてもよい。更に、このような発見的規則を動的に適用してもよい。媒体の決定性のある(deterministic)ふるまいから、このネットワークにおけるリアルタイム必要条件を満足することは容易である。これを達成するべく、決定性スロットを予め割り当てるメカニズムが存在してもよい。
入力ポートのそれぞれに対して、宛先アドレスに対して入力されるパケットを検査してもよい。この検査は、例えば、(宛先識別子のような)絶対値、または、ホップ(hop)毎にデクリメントされるダウンカウンタのような、異なる宛先エンコーディングに基づいてもよい。一致する場合、入力されるパケットは、入力ポート毎にインスタンス化された出口受信機キューにローカルに格納され、メッシュ上のそれぞれのスロットは、"空(empty)"であるとして印が付けられる。このようなオペレーションを実現するべく、受信機は、所定のサイクルで全ての入力ポートから平行してパケットを受信することを可能とするべく、ローカルオーバースピードクロックを有してもよい。ある実施形態では、オーバースピードクロックを取り除くべく、受信機が、所定の時間に入力ポートの決定性を有するサブセットのみを確認するように構成してもよく、その結果は、スロットテーブルの各エントリに反映される。加えて、入力ポートロジックは、スロットを"空(empty)"であるとして印を付けてもよく、(現在のノードが挿入を行わないと仮定して)次のノードが、このスロットをデータ挿入に使用可能としてもよい。一実施形態において、シングルビットインジケータを使用して、スロットが実際にデータに割り当てられているか、それとも空のスロットであるかを示してもよい。受信ポートは、(例えば、電力、リソースまたはその他の理由で)シンクされることになっている入力パケットをシンクしないことを選択してもよい。この仕組みにより、"不達(bounce)"条件を可能とし、一定時間が経過した後で再び宛先に再配信されることを確かにする。すなわち、この仕組みにより、決定性のある態様で、宛先ノードにパケットを戻す能力をサポートすることができる。様々な状況において、このような元々配信されていないパケットをソースに戻してもよく、非配信に関する情報は、フローの制御またはその他の目的に対して使用可能である。
様々なミクロ構造の改善技術を、本発明の実施形態に係るIリング接続に適用してもよい。例えば、受信パイプラインを可能とする固定サイクルカウントによって同じ動作メッシュで先に実行させる空のスロットにフラグを立てる制御信号を可能とすることにより、物理的なタイミングを改善させてもよい。また、宛先デコードを、以下に詳細に説明するように、先行するノードに移動させることにより、パイプラインしてもよい。
実施形態は、2次元を超えてリングを拡張することを可能にしてもよい。例えば、p個のn×mメッシュを、共に"スタック(積み重ね)"してもよい。このような実装形態では、n×mのメッシュはそれぞれ、半導体ダイの1以上の異なるレイヤに位置してもよい。このような実装形態において、それぞれがm×nのメッシュを含む複数のスタックされたダイが存在してもよい。各ノードにおいて、垂直方向の次元で交差する3つのリングの間の"パケット交換(swapping)"を可能とするべく、"スイッチ"ステートが提供されてもよい。2−Dメッシュが、最小で2ステートのスイッチメカニズムで足りるように、メッシュの3−Dスタックでは、最小で3ステートのスイッチメカニズムで足りる。無論、更なるステートおよび周期的スケジュールを生成して、様々なネットワークパラメータを最適化してもよい。
図5には、本発明の一実施形態に係るネットワークノードのシングル入力データ経路のブロック図が示されている。この経路の複数のインスタンス化は、NoCの各ノードに表されている。特に、一実施形態では、このような4つの回路が存在して1つのノードを構成しており、回路はそれぞれ、第1方向からの入力データを受信し、第1方向とは反対の第2方向へとまたはターン方向である第3の方向へと、データを出力するように構成される。
図5の実装形態では、入力された情報は、入力ポートレジスタ310で受信されてもよい。ある実施形態では、存在または有効性を示すインジケータ(出力すべきパケットが存在しない場合にアクティブとなる)に基づいて、入力レジスタに対するクロックの制御を行って、有効なデータが入力されない時にはレジスタをディセーブルすることにより消費電力を低減させてもよい。受信された情報は、ペイロードデータおよびステータス/制御情報を含んでもよい。ステータス/制御情報は、入力されるデータが有効であるか、および、対応するパケットの宛先識別子のようなその他の制御情報、所定の接続に対してスロットを空けておく予約ビットのようなサービス品質(QoS)関連情報を示すのに使用されてもよい。上記のように、例えば、制御情報に存在する宛先インジケータによって示されるように、入力されるペイロードデータが、ノードと関連付けられたエージェントのうちの1つに対するものである場合、出口キュー320にペイロードデータが供給される。そこから、データが、コア、メモリコントローラまたはその他の処理ユニットのようなノードに関連付けられたエージェントのうちの一つに提供されてもよい。
そうでない場合には、データおよび制御情報の両方は、出力データセレクタ330に渡される。出力データセレクタ330は、通常、入力ポートレジスタ310を介して受信されたデータか、ノードのエージェントから受信されたノードで生成されたデータかのどちらかを選択する。したがって、図5に示すように、入口キュー350は、別のノードに送信されることが望まれるエージェントのデータを受信するべく接続される。同様に、入口キューは、入口コントローラ340に接続される。一般的に、入口コントローラ340は、スロットテーブル345に存在する情報に基づいて、空いているスロットに挿入するための複数のデータパケットのうちの1つを選択してもよい。上記したように、スロットテーブル345は、対応するパケットに対する宛先識別子によってアクセスされてもよく、パケットを挿入するのに適したスロットを示すのに使用されてもよい。また、挿入するデータパケットを選択するべく入口コントローラ340によって使用された更なる情報は、静的グローバル循環スケジューラ365(static global cyclic scheduler)から受信されたスロット識別子であり、静的グローバル循環スケジューラについては以下に詳細に説明する。このように、入口コントローラ340の制御に基づいて、出力データセレクタ330は、入力ポートレジスタ310から受信されたペイロードデータ、または、入口コントローラ340から受信されたデータ(すなわち、ノード自身に基づくデータ)の何れかを出力する。
図5に示すように、出力データ330は、ノードの接続ステートのシーケンスを表す静的グローバル循環スケジューラ365によって制御される出力ポートセレクタ360に接続される。特に、2つのステート、すなわち、パススルーステートおよびターンステートが存在する実装形態では、タイムスロットの各々に対してスケジューラが、出力ポートセレクタに制御データおよびペイロードデータを第1の出力ポート370または第2の出力ポート375のうちの1つへと転送させる制御信号を生成する。一実施形態において、出力ポート370は、パススルースロットに対する情報を出力し、出力ポート375がターンスロットに対する情報を出力してもよい。図5の実施形態において特定の実装形態を示したが、本発明の範囲はこの点に関して限定されない。
例えば、上記したように、更なるステートが存在してもよく、それに伴って、現在のノードが接続される異なる隣接ノードへ情報を出力するように構成される更なる出力ポートが存在してもよい。また、多くの実装形態において、入力トラフィックが存在する場合には、出力ロジックは入力パケットのみを通過させて、次のスロットには新たなパケットを挿入しないという態様で、入力トラフィックを優先させているが、実施形態はこれに限定されない。すなわち、別の実装形態では、入力されるパケットが、新たなパケット(例えば、より高いトラフィッククラスのパケット)の挿入のために置き換えられる、オーバーライド構成が存在してもよい。例えば、ノードは、パケットを(例えば、キャッシュへと)シンクすることができ、フロー制御スキームに基づいて後でパケットを挿入する、または、置き換えられたパケットの元の送信者を、例えば、アクナリッジメントメッセージによって通知することができ、パケットを再送信することができる。
図6には、本発明の一実施形態に係る静的グローバル循環スケジュールに従ってパケットを伝送する方法を示したフローチャートが示されている。図6に示すように、方法400は、有効な入力パケットを受信したか否かを判断する段階(ひし形410)から開始してもよい。この判断は、例えば、ペイロードデータおよび様々な制御情報を受信する入力ポートレジスタ内で行われてもよく、制御情報から入力ペイロードデータが有効であるかを判断することができる。入力パケットが有効である場合には、パケットが現在のノードと関連付けられているエージェント宛であるか否かを判断する(ひし形415)。この判断についても入力ポートレジスタで行われてもよく、パケットと関連付けられた宛先識別子に基づいて行われてもよい。パケットが現在のノードと関連付けられているエージェント宛である場合、制御はブロック420に移り、パケットが出口キューに供給される。加えて、このスロットに関連付けられたステータス情報が更新されてもよい。例えば、このスロットに有効なデータが存在せず、データ挿入に利用可能であることを示すべく有効インジケータがリセットされてもよい。
図6に示すように、入力パケットが現在のノード宛でないと判断された場合には、制御は、ひし形415からブロック430へと移り、パケットは、グローバルスケジュールに従って選択された出力ポートへと渡される(ブロック430)。このグローバルスケジュールは、第1方向または第2方向のうちの何れかのノードにパケットが渡されるべきかを指示してもよい。グローバルスケジュールに基づいて、制御はブロック435に移り、パケットがインターコネクト上で出力されてもよい。
図6に示すように、ひし形410において、有効パケットが受信されていないと判断された場合(または、受信されるパケットが関連付けられたエージェントに宛てられている場合)、制御は、ひし形450に移り、1以上のパケットが入口キューに存在するかが判断されてもよい。存在しない場合には、制御がブロック470に移り、空のパケット(void packet)が出力ポートに渡されてもよい。この空のパケット、すなわち、無効パケットを示すヌル(null)データペイロードおよび制御情報は、別のノードに提供され、この情報を受け取ったノードは、そのスロットに自身のパケットを挿入することができる。
ひし形450において、1以上のパケットが存在すると判断された場合、制御は、ひし形460に移り、グローバルスケジュールスロットが、パケットのうちの1つに一致するか否かが判断されてもよい。一致しない場合には、制御が上記で説明したブロック470に移る。一致する場合には、制御がブロック480に移り、パケットが入口キューから、ブローバルスケジュールに従って、選択された出力ポートに供給されてもよい。複数の待ちパケットのうちの何れを送信するかの判断は、テーブル内の情報に基づいてもよく、また、グローバルスケジュールの現在のスロットの情報に基づいてもよい。例えば、テーブル情報は、宛先とスロット識別子とを関連付けてもよい。複数のパケットうち出力すべき1つを選択するのに、様々な発見的解決策(heuristics)を考慮してもよい。このように、優先順位情報が、判断基準の一部としてもよい。また、ネットワークに挿入すべき所定のパケットに対して利用可能な複数のスロット(または存在しない)に関する発見的解決策を、判断基準の一部としてもよい。2つのパケットのうち、挿入可能なスロットが少ない方のパケットを、挿入可能なスロットが多いパケットよりも優先して選択してもよい。
このように、基本的な実装形態では、複数のパケットのうちどれを選択すべきかの判断は、スロット識別子および宛先識別子に基づいてもよく、高度な実装形態では、様々な発見的解決策に関する更なる詳細情報を考慮してもよい。制御は、ブロック435に移り、インターコネクト上にこのパケットを出力する。図6には特定の実装形態が示されているが、本発明の範囲はこれに限定されない。
例えば、ある実装形態では、パイプライン実装が存在してもよく、所定のノードにパケットが宛てられているかの判断を隣接ノード(すなわち、一つ前のノード)で行ってもよい。すなわち、この判断を一つ前のノードで行って、例えば、先見する態様でまたは通常の制御情報の一部として、1つのビットワイヤを介してその結果を転送することができる。いずれにしても、パイプライン実装を使用することにより、入口コントローラが、利用可能なスロットに挿入するパケットの選択を開始できるか否かを前もって判断することができる。1つ前のノードで、パケットが次のノードに宛てられているかの判断を行う1つのメカニズムとして、カウントダウンメカニズムを利用してもよい。例えば、宛先ノードに対応する宛先識別子ではなく、ソースと宛先間でパケットが通過するノードの数の形式で宛先識別子が表されてもよい。この場合、パケットがノードそれぞれを通過すると、カウントダウン値がデクリメントされる。このパケットが一つ前のノードで受信されると、カウント値が、例えば、ゼロまたは1へとデクリメントされて、パケットが次のノード宛であることが示されてもよい。したがって、事前に、宛先ノードが次に受信するパケットが宛先ノード宛のものであることを1ビットワイヤが示すことができる。このような構成を達成するべく、ある実装形態は、この宛先情報と、I/O回路を介して提供可能な別個の制御情報とに対して、個別の経路を提供して、これらの判断が前もって行われてもよい。
実施形態はコードに実装されてもよく、コードは、命令を実行するシステムをプログラムするのに使用可能な命令を格納する記憶媒体に格納されてもよい。記憶媒体としては、特にこれに限定されないが、フロッピー(登録商標)ディスク、光ディスク、ソリッドステートドライブ(SSD)、コンパクトディスクリードオンリーメモリ(CD−ROM)、再書き込み可能コンパクトディスク(CD−RW)および磁気光学ディスクを含むあらゆるディスク、並びに、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)およびスタティックランダムアクセスメモリ(SRAM)のようなランダムアクセスメモリ(RAM)、消去可能−プログラム可能リードオンリーメモリ(EPROM)、フラッシュメモリ、電気的消去可能−プログラム可能リードオンリーメモリ(EEPROM)、磁気または光学カードのような半導体デバイス、または、電気的命令を格納するのに適したその他の種類の媒体が含まれる。
本発明が、限定された数の実施形態を参照して説明されたが、当業者であれば、数多くの改良および変形例が理解できる。このような改良および変形例についても、本発明の精神および範囲に含まれるものとして、添付の特許請求の範囲が記載されている。

Claims (20)

  1. 第1次元および第2次元に配置された複数のノードを含むn×mのメッシュシステムと、
    それぞれが前記複数のノードの一対を接続する複数のインターコネクトとを備え、
    前記メッシュシステムは、トラフィックスケジュール期間の第1サイクルの間は、トラフィックに依存しない第1の接続状態にあり、前記トラフィックスケジュール期間の第2サイクルの間は、トラフィックに依存しない第2の接続状態にあるように構成されるシステム。
  2. 前記トラフィックに依存しない第1の接続状態は、前記第1次元における隣接ノード間でパケットが伝達されるパススルーステートを含む請求項1に記載のシステム。
  3. 前記トラフィックに依存しない第2の接続状態は、前記第2次元における隣接ノード間でパケットが伝達されるターンステートを含む請求項2に記載のシステム。
  4. 前記メッシュシステムは、バッファレス転送媒体を含む請求項1に記載のシステム。
  5. 前記トラフィックスケジュール期間は、Sがmax(n,m)であるS個のクロックの固定された周期的スケジュールであり、
    前記メッシュシステムは、前記固定された周期的スケジュールのS−x個のサイクルの間は、前記トラフィックに依存しない第1の接続状態にあり、前記固定された周期的スケジュールのx個のサイクルの間は、前記トラフィックに依存しない第2の接続状態にあるように構成される請求項1に記載のシステム。
  6. 前記複数のノードはそれぞれ、複数の入力ポートおよび複数の出力ポートを含み、前記複数の入力ポートはそれぞれ、前記複数のインターコネクトのうちの少なくとも1つと接続される請求項1に記載のシステム。
  7. 前記複数の入力ポートはそれぞれ、対応するノードに宛てられたパケットを、前記対応するノードと関連付けられたエージェントと接続された出口キューに向かわせる請求項6に記載のシステム。
  8. 前記複数の出力ポートはそれぞれ、パケットの宛先に対応する宛先識別子、および、スロット識別子を格納するスロットテーブル内のエントリに基づいて、当該出力ポートから出力するために、対応するノードが受信する前記パケットを選択する請求項6に記載のシステム。
  9. 前記複数の出力ポートはそれぞれ、静的グローバル循環スケジューラの制御に更に基づいて、パケットを選択する請求項8に記載のシステム。
  10. 前記出力ポートは、
    第1ノードおよび第1隣接ノード間に接続された第1インターコネクトに前記パケットを出力する第1出力ポート、および、前記第1ノードと第2隣接ノード間に接続された第2インターコネクトに前記パケットを出力する第2出力ポートを含む請求項8に記載のシステム。
  11. ノードで受信されるパケットが、前記ノードと関連付けられているエージェント宛であるかを判断する段階と、
    前記受信されるパケットが前記エージェント宛である場合に、前記パケットを前記ノードの出口キューに供給する段階と、
    前記受信されるパケットが前記エージェント宛である場合に、前記ノードの入口キューに1以上のパケットが存在するか判断する段階と、
    前記入口キューに1以上のパケットが存在する場合には、トラフィックフローとは独立したグローバルスケジュールに従って、前記入口キューからの前記1以上のパケットから1つを選択して、第1出力ポートまたは第2出力ポートへと選択したパケットを供給する段階と、
    前記入口キューに1以上のパケットが存在しない場合には、前記グローバルスケジュールに従って、前記受信されるパケットを前記第1出力ポートまたは前記第2出力ポートに供給する段階とを備える方法。
  12. 前記入口キューに存在する前記1以上のパケットの何れも、現在のスロットに対する前記グローバルスケジュールに一致しない場合には、空のパケットを選択された前記第1出力ポートまたは前記第2出力ポートに供給する段階を更に備える請求項11に記載の方法。
  13. 前記ノードで前記受信されるパケットを受信する前に、前記受信されるパケットが前記エージェント宛であることを示す情報を隣接ノードから受信する段階を更に備える請求項11に記載の方法。
  14. 前記ノードで前記受信されるパケットを受信する前に、前記受信されるパケットが前記エージェント宛であることを示す情報を前記グローバルスケジュールのスロットで受信する段階を更に備える請求項11に記載の方法。
  15. 前記グローバルスケジュールのS−x個のサイクルの間に、前記第1出力ポートから受信されるパケット、および、前記グローバルスケジュールのx個のサイクルの間に、前記第2出力ポートから受信されるパケットを転送する段階を更に備える請求項11に記載の方法。
  16. 第1隣接ノードからペイロードデータおよび対応する制御情報を受信する、ノードの入力ポートレジスタと、
    前記ペイロードデータを受信し、前記ペイロードデータを前記ノードと関連付けられたエージェントへと転送するべく、前記入力ポートレジスタと接続された出口キューと、
    前記ノードから出力させるべく、前記入力ポートレジスタからまたは前記エージェントからのペイロードデータを選択する出力データセレクタと、
    前記出力データセレクタと接続され、選択された前記ペイロードデータおよび対応する制御情報を、トラフィックスケジュール期間の第1サイクルの間に第2隣接ノードと接続された第1出力ポートに出力する、および、前記トラフィックスケジュール期間の第2サイクルの間に第3隣接ノードと接続された第2出力ポートに出力する出力ポートセレクタとを備え、
    前記トラフィックスケジュール期間は、前記ノード間のトラフィックに依存しない装置。
  17. 前記第1サイクルは、第1次元における前記ノードと前記第2隣接ノードとの間でパケットが伝達されるパススルーステートに対応し、
    前記第2サイクルは、第2次元における前記ノードと前記第3隣接ノードとの間でパケットが伝達されるターンステートに対応する請求項16に記載の装置。
  18. 第3サイクルは、第3次元における前記ノードと第4隣接ノードとの間でパケットが伝達される別のターンステートに対応する請求項17に記載の装置。
  19. 前記装置は、
    前記ノードの第1入出力(I/O)回路を備え、
    前記ノードは更に、入力ポートレジスタ、出口キュー、出力データセレクタおよび出力ポートセレクタをそれぞれ含む複数のI/O回路を有する請求項16に記載の装置。
  20. 前記装置は、複数のスタックされた半導体ダイを含むプロセッサを備え、
    前記ノードは第1半導体ダイ上に存在し、
    前記プロセッサは、前記第1半導体ダイの上にスタックされた第2半導体ダイ上に構成された第4隣接ノードを有する請求項16に記載の装置。
JP2013518664A 2010-06-30 2011-06-29 マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法 Expired - Fee Related JP5462412B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/827,495 2010-06-30
US12/827,495 US8593960B2 (en) 2010-06-30 2010-06-30 Providing a bufferless transport method for multi-dimensional mesh topology
PCT/US2011/042431 WO2012012188A2 (en) 2010-06-30 2011-06-29 Providing a bufferless transport method for multi-dimensional mesh topology

Publications (2)

Publication Number Publication Date
JP2013534113A true JP2013534113A (ja) 2013-08-29
JP5462412B2 JP5462412B2 (ja) 2014-04-02

Family

ID=45399689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013518664A Expired - Fee Related JP5462412B2 (ja) 2010-06-30 2011-06-29 マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法

Country Status (8)

Country Link
US (2) US8593960B2 (ja)
EP (1) EP2589186B1 (ja)
JP (1) JP5462412B2 (ja)
CN (1) CN102959907B (ja)
BR (1) BR112012033508A2 (ja)
RU (1) RU2565781C2 (ja)
TW (1) TWI516957B (ja)
WO (1) WO2012012188A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8779609B2 (en) 2010-06-15 2014-07-15 Hamilton Sundstrand Corporation Time delay contactor for aircraft APU starter
US8982695B2 (en) * 2012-09-29 2015-03-17 Intel Corporation Anti-starvation and bounce-reduction mechanism for a two-dimensional bufferless interconnect
JP6247398B2 (ja) * 2013-09-12 2017-12-13 エンパイア テクノロジー ディベロップメント エルエルシー オンチップネットワークにおける回線交換事前予約
CN103746913B (zh) * 2014-01-13 2016-09-14 北京工业大学 基于无缓冲区路由器架构的片上网络拓扑结构的构建方法
US9455933B2 (en) 2014-01-25 2016-09-27 Cisco Technology, Inc. Flexible deterministic binary scheduler
US9979624B1 (en) 2015-12-29 2018-05-22 Amazon Technologies, Inc. Large flow detection for network visibility monitoring
US10097464B1 (en) * 2015-12-29 2018-10-09 Amazon Technologies, Inc. Sampling based on large flow detection for network visibility monitoring
US10033613B1 (en) 2015-12-29 2018-07-24 Amazon Technologies, Inc. Historically large flows in network visibility monitoring
US10003515B1 (en) 2015-12-29 2018-06-19 Amazon Technologies, Inc. Network visibility monitoring
US10657216B2 (en) 2016-02-29 2020-05-19 Oregon State University Routerless networks-on-chip
RU2632418C1 (ru) * 2016-04-04 2017-10-04 Общество С Ограниченной Ответственностью "Яндекс" Способ и система передачи данных между нодами без лидера
CN108400880B (zh) 2017-02-07 2020-11-03 华为技术有限公司 片上网络、数据传输方法和第一交换节点
US10515173B2 (en) * 2017-12-29 2019-12-24 Advanced Micro Devices, Inc. Input-output processing on a remote integrated circuit chip
CN109995633B (zh) * 2017-12-29 2021-10-01 华为技术有限公司 一种芯片及相关设备
GB2586029B (en) * 2019-07-29 2022-07-27 Siemens Ind Software Inc Emulating broadcast in a network on chip
WO2021195422A1 (en) * 2020-03-26 2021-09-30 EOS Defense Systems USA, Inc. System for implementing a data protocol enabled application
US11303559B1 (en) * 2021-02-25 2022-04-12 Tsinghua University Method, apparatus and computer storage medium for deadlock-free adaptive routing in two-dimensional mesh network based on the overlapping virtual network partitioning scheme

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200825A1 (en) * 2003-03-07 2006-09-07 Potter Kenneth H Jr System and method for dynamic ordering in a network processor
US7185138B1 (en) * 2004-05-14 2007-02-27 Peter Galicki Multi-dimensional data routing fabric

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943423A (en) 1995-12-15 1999-08-24 Entegrity Solutions Corporation Smart token system for secure electronic transactions and identification
US6088360A (en) 1996-05-31 2000-07-11 Broadband Networks Corporation Dynamic rate control technique for video multiplexer
US5878265A (en) * 1997-07-14 1999-03-02 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing polygonal hub topology
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6574230B1 (en) * 1998-12-18 2003-06-03 Nortel Networks Limited Scheduling technique for delayed queue service
US6721271B1 (en) * 1999-02-04 2004-04-13 Nortel Networks Limited Rate-controlled multi-class high-capacity packet switch
US6813268B1 (en) * 1999-05-21 2004-11-02 Broadcom Corporation Stacked network switch configuration
DE60110760T2 (de) * 2000-03-10 2006-02-02 Tellabs Operations, Inc., Lisle Auslese-ablaufsteuerung für nicht aufeinander-folgende daten
US6975626B1 (en) * 2000-03-31 2005-12-13 Sun Microsystems, Inc. Switched network for low latency communication
US7123623B2 (en) * 2000-11-29 2006-10-17 Tellabs Operations, Inc. High-speed parallel cross bar switch
US6920135B1 (en) * 2001-01-23 2005-07-19 Tau Networks Scalable switching system and method
WO2002069575A1 (en) * 2001-02-28 2002-09-06 Gotham Networks, Inc. Methods and apparatus for network routing device
US7170900B2 (en) * 2001-07-13 2007-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for scheduling message processing
US20030048792A1 (en) * 2001-09-04 2003-03-13 Qq Technology, Inc. Forwarding device for communication networks
US7221678B1 (en) * 2001-10-01 2007-05-22 Advanced Micro Devices, Inc. Method and apparatus for routing packets
US6751783B1 (en) 2001-10-30 2004-06-15 Lsi Logic Corporation System and method for optimizing an integrated circuit design
US7346067B2 (en) * 2001-11-16 2008-03-18 Force 10 Networks, Inc. High efficiency data buffering in a computer network device
US7154885B2 (en) * 2001-12-31 2006-12-26 Stmicroelectronics Ltd. Apparatus for switching data in high-speed networks and method of operation
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
US7586909B1 (en) * 2002-03-06 2009-09-08 Agere Systems Inc. Striping algorithm for switching fabric
US6920510B2 (en) * 2002-06-05 2005-07-19 Lsi Logic Corporation Time sharing a single port memory among a plurality of ports
US7292594B2 (en) * 2002-06-10 2007-11-06 Lsi Corporation Weighted fair share scheduler for large input-buffered high-speed cross-point packet/cell switches
KR100917042B1 (ko) * 2002-08-14 2009-09-10 엘지전자 주식회사 무선 이동통신 시스템의 방송 및 멀티캐스트 데이터의전송 방법
US7330480B2 (en) 2002-08-26 2008-02-12 Telefonaktiebolaget Lm Ericcson Adaptive network resource control
US6804687B2 (en) 2002-09-30 2004-10-12 Scott E. Sampson File system management with user-definable functional attributes stored in a token action log
US20040151197A1 (en) * 2002-10-21 2004-08-05 Hui Ronald Chi-Chun Priority queue architecture for supporting per flow queuing and multiple ports
US7285487B2 (en) * 2003-07-24 2007-10-23 California Institute Of Technology Method and apparatus for network with multilayer metalization
US7366092B2 (en) 2003-10-14 2008-04-29 Broadcom Corporation Hash and route hardware with parallel routing scheme
KR100551072B1 (ko) * 2003-12-29 2006-02-10 주식회사 하이닉스반도체 멀티-칩 패키지에서 입출력패드의 효율적인 멀티플렉싱이가능한 반도체 메모리 장치
KR100555753B1 (ko) * 2004-02-06 2006-03-03 삼성전자주식회사 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법
US7529267B2 (en) 2004-03-19 2009-05-05 Fujitsu Limited Data transmissions in communication networks using multiple tokens
KR100594318B1 (ko) 2005-01-31 2006-06-30 삼성전자주식회사 위상점프없는 소프트 스위칭을 위한 멀티플렉서 및멀티플렉싱 방법
US20060193318A1 (en) * 2005-02-28 2006-08-31 Sriram Narasimhan Method and apparatus for processing inbound and outbound quanta of data
US7916135B2 (en) 2005-03-08 2011-03-29 Au Optronics Corporation Timing controller and method of generating timing signals
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
US8194690B1 (en) * 2006-05-24 2012-06-05 Tilera Corporation Packet processing in a parallel processing environment
US7493406B2 (en) * 2006-06-13 2009-02-17 International Business Machines Corporation Maximal flow scheduling for a stream processing system
US7493302B2 (en) 2006-06-26 2009-02-17 International Business Machines Corporation Federated transaction path and service level agreement monitoring across service oriented application partner domains
US7782770B1 (en) * 2006-06-30 2010-08-24 Marvell International, Ltd. System and method of cross-chip flow control
WO2008080122A2 (en) 2006-12-22 2008-07-03 The Trustees Of Columbia University In The City Of New York Systems and method for on-chip data communication
US7710904B2 (en) 2006-12-27 2010-05-04 Intel Corporation Ring network with variable token activation
US7598766B2 (en) 2007-01-09 2009-10-06 University Of Washington Customized silicon chips produced using dynamically configurable polymorphic network
US8406205B2 (en) 2007-08-08 2013-03-26 Qualcomm Incorporated Apparatus and method for channel reservation in wireless communication systems
JPWO2009096332A1 (ja) * 2008-01-29 2011-05-26 ソニー株式会社 マルチホップ無線端末およびそのマルチホップ無線端末におけるトラヒック制御方法
US8699426B2 (en) 2008-03-26 2014-04-15 Qualcomm Incorporated Method and apparatus for resource allocation in wireless communication systems
US8665841B1 (en) * 2008-08-13 2014-03-04 Marvell International Ltd. Multiple simultaneous mesh routes
US20100158023A1 (en) * 2008-12-23 2010-06-24 Suvhasis Mukhopadhyay System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions
GB2471067B (en) * 2009-06-12 2011-11-30 Graeme Roy Smith Shared resource multi-thread array processor
US8639862B2 (en) * 2009-07-21 2014-01-28 Applied Micro Circuits Corporation System-on-chip queue status power management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200825A1 (en) * 2003-03-07 2006-09-07 Potter Kenneth H Jr System and method for dynamic ordering in a network processor
US7185138B1 (en) * 2004-05-14 2007-02-27 Peter Galicki Multi-dimensional data routing fabric

Also Published As

Publication number Publication date
RU2013100980A (ru) 2014-07-20
TWI516957B (zh) 2016-01-11
US20140050224A1 (en) 2014-02-20
EP2589186A2 (en) 2013-05-08
US8593960B2 (en) 2013-11-26
CN102959907A (zh) 2013-03-06
WO2012012188A2 (en) 2012-01-26
BR112012033508A2 (pt) 2016-11-29
US9450888B2 (en) 2016-09-20
RU2565781C2 (ru) 2015-10-20
EP2589186B1 (en) 2018-02-21
JP5462412B2 (ja) 2014-04-02
WO2012012188A3 (en) 2012-04-12
EP2589186A4 (en) 2016-11-02
US20120002675A1 (en) 2012-01-05
CN102959907B (zh) 2016-02-17
TW201211787A (en) 2012-03-16

Similar Documents

Publication Publication Date Title
JP5462412B2 (ja) マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法
US9590813B1 (en) Supporting multicast in NoC interconnect
US9742630B2 (en) Configurable router for a network on chip (NoC)
US8819611B2 (en) Asymmetric mesh NoC topologies
US9529400B1 (en) Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9699079B2 (en) Streaming bridge design with host interfaces and network on chip (NoC) layers
JP6060316B2 (ja) NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体
KR101830762B1 (ko) 전체적 대기 시간이 최소화되고 인터커넥트 비용이 감소하도록 노드들을 상호연결하는 soc ip 코어 자동 연결 방법
US9160627B2 (en) Multiple heterogeneous NoC layers
US10983910B2 (en) Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US20190260644A1 (en) Automatic crossbar generation and router connections for network-on-chip (noc) topology generation
US20140177648A1 (en) Tagging and synchronization for fairness in noc interconnects
JP5246158B2 (ja) 半導体集積回路及びフィルタ制御方法
EP2817722B1 (en) Integrated circuit converging interconnect node control
US9864728B2 (en) Automatic generation of physically aware aggregation/distribution networks
US20180198682A1 (en) Strategies for NoC Construction Using Machine Learning
Concer et al. aEqualized: a novel routing algorithm for the spidergon network on chip
US11144457B2 (en) Enhanced page locality in network-on-chip (NoC) architectures
Mohammed et al. Buffer Occupancy Threshold Selection Strategy for Optimal Traffic Distribution Across a Hierarchical Network Onchip Structure

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees