JP2008535435A - ネットワーク・オン・チップ環境及び遅延低減方法 - Google Patents
ネットワーク・オン・チップ環境及び遅延低減方法 Download PDFInfo
- Publication number
- JP2008535435A JP2008535435A JP2008504892A JP2008504892A JP2008535435A JP 2008535435 A JP2008535435 A JP 2008535435A JP 2008504892 A JP2008504892 A JP 2008504892A JP 2008504892 A JP2008504892 A JP 2008504892A JP 2008535435 A JP2008535435 A JP 2008535435A
- Authority
- JP
- Japan
- Prior art keywords
- data
- network
- network interface
- channels
- channel
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000009467 reduction Effects 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 84
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000002845 virion Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/40—Wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0089—Multiplexing, e.g. coding, scrambling, SONET
- H04J2203/0091—Time slot assignment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明は、複数の処理モジュールと処理モジュールを接続するよう構成されるネットワークとを有する集積回路であって、前記処理モジュールは、関連する処理モジュールにより供給されるデータを前記ネットワークに送信し、前記ネットワークから前記関連する処理モジュール宛のデータを受信するため設けられる関連するネットワークインタフェースを有し、処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき動作し、各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの少なくとも一部が、前記チャネルセットのデータの伝送に共有される集積回路に関する。本発明は、上記アイデアを使用して、同一のネットワークインタフェースから到来するチャネルのスロットのすべて若しくは少なくとも一部を共用する。これは、まずこのようなチャネルの遅延を低減する。さらに、すべてのネットワークコンポーネントのスロットテーブルのサイズが劇的に低減される。
Description
本発明は、複数の処理モジュールを有する集積回路と、処理モジュールを接続するため構成されるネットワークと、当該集積回路におけるタイムスロット割当て方法と、データ処理システムとに関する。
シリコン上のシステムは、既存の機能の改良と新たな機能を実現するためのさらなる要求の増大によるコンプレクシティの継続的な増大を示している。これは、各コンポーネントが集積回路上に統合可能な密度を向上させることによって可能とされる。同時に、回路が動作するクロックスピードもまた増加傾向である。コンポーネントの増大する密度と共に、より高いクロックスピードは同一のクロックドメイン内で同期的に動作可能なエリアを減少させてきた。これは、モジュラーアプローチの要求を生じさせてきた。このようなアプローチによると、処理システムは、複数の相対的に独立した複雑なモジュールを有する。従来の処理システムでは、モジュールは通常はバスを介し互いに通信する。しかしながら、モジュールの個数が増大するに従って、当該通信方法はもはや以下の理由により実践的でなくなる。多数のモジュールは、高いバスロードを表す。さらに、バスが1つのモジュールしかバスにデータを送信することが可能でないとき、バスは通信ボトルネックを表す。
通信ネットワークは、これらの欠点を解決する有効な方法を形成する。
ネットワーク・オン・チップ(NoC)は、高度に複雑なチップにおける相互接続問題に対する解法として、近年大きな注目を受けてきている。その理由は2つある。第1に、NoCは、グローバルワイヤを構成及び管理するため、新たなディープサブミクロン技術における電気的問題を解消するのに役立つ。同時に、Nocコンセプトはワイヤをシェアし、ワイヤ数の減少を可能にし、ワイヤの利用性を向上させる。NoCはまた、バスと比較してエネルギー効率的であり、信頼性が高く、スケーラブルとすることが可能である。第2に、NoCはまた、ビリオントランジスタチップの設計を管理するのに必要な通信からの計算を分離する。NoCは、従来はプロトコルスタックを用いて設計されるため、この分離を実現し、サービス実現から通信サービスの利用を分離する明確に規定されたインタフェースを提供する。
オン・チップインターコネクトとしてネットワークを導入することは、バスやスイッチなどの直接的なインターコネクトと比較したとき、通信を劇的に変化させる。これは、通信モジュールが直接的には接続されていないが、1以上のネットワークノードによりリモートに分離されているネットワークのマルチホップ性によるものである。これは、モジュールが直接接続される一般的な既存のインターコネクト(すなわち、バス)と対照的なものである。この変化の意味するものはアービトレーション(arbitration)(集中から分散に変化しなければならない)と通信の性質(オーダリングやフロー制御など)にあり、それらは、intellectual property(IP)ブロック又はネットワークによって処理される必要がある。
これらのトピックの大部分は、すでにローカル及びワイドエリアネットワーク(コンピュータネットワーク)の分野において、またパラレルプロセッサネットワークのインターコネクトとして研究対象となってきた。両者はオン・チップネットワークに密接に関連し、これらの分野における多くの結果がまたチップに対して適用可能である。しかしながら、NoCの前提はオフ・チップネットワークと異なっており、このため、ネットワーク設計選択の大部分は、再評価される必要がある。オン・チップネットワークは、異なる設計選択をもたらし、最終的にはネットワークサービスに影響を与える異なる性質(よりタイトなリンク同期など)及びリソース制約(より高いメモリコストなど)を有する。ストレージ(すなわち、メモリ)及び計算リソースは相対的により効果であり、ポイント・ツー・ポイントリンクの個数はオフ・チップよりオン・チップが大きくなる。RAMなどの汎用オン・チップメモリは大きな面積を占めるため、ストレージはコスト高となる。相対的に小さなサイズによりネットワークコンポーネントにメモリを分散させることは、メモリのオーバヘッドエリアが有力になるため、さらに悪化する。
ネットワーク・オン・チップ(NoC)は、典型的には複数のルータとネットワークインタフェースから構成される。ルータは、ネットワークノードとして機能し、スタティックベースにより(すなわち、経路が予め決定されており、変更しない)、若しくはダイナミックベースにより(すなわち、経路が、ホットスポットを回避するためNoCロードなどに依存して変更可能である)、デスティネーションへの適切なパスを介しデータをルーティングすることによって、ソースネットワークインタフェースからデスティネーションネットワークインタフェースにデータを送信するのに利用される。ルータはまた、時間保証を実現することが可能である(例えば、レートベース、デッドラインベース、又はTDMA方式によりパイプライン回路を利用するなどにより)。NoCの既知の具体例は、AEtherealである。
ネットワークインタフェースは、任意のタイプのデータ処理ユニット、メモリ、ブリッジ、コンプレッサなどを表すIPブロックと呼ばれる処理モジュールに接続される。特に、ネットワークインタフェースは、処理モジュールとネットワークとの間の通信インタフェースを構成する。インタフェースは、通常は既存のバスインタフェースと互換性を有する。従って、ネットワークインタフェースは、データシーケンシャル化(提供されたコマンド、フラグ、アドレス及びデータを固定幅(32ビットなど)の信号グループに適合させる)及びパケット化(ネットワークにより内部的に要求されるパケットヘッダ及びトレイラを追加する)を処理するよう設計される。ネットワークインタフェースはまた、タイミング保証とアドミッションコントロールを含みうるパケットスケジューリングを実現するかもしれない。
NoCは、処理モジュール間でデータを伝送するため、処理モジュールに各種サービスを提供する。
NoCは、ベストエフォート(BE)又はギャランティースループット(GT)サービスに従って動作可能である。ベストエフォート(BE)サービスでは、遅延若しくはスループットに関する保証はない。データは、スロットの予約なしにルータを介し転送される。このため、このタイプのデータはルータにおける接続に直面し、保証を与えることは不可能である。対照的に、GTサービスは、処理モジュール間でデータを伝送するための遅延及びスループットについて正確な値を導くことを可能にする。
オン・チップシステムは、しばしばそれらのインターコネクト通信に対するタイミング保証を要求する。時間に関連する保証(すなわち、スループット、遅延及びジッタ)を提供するコスト効果的方法は、TDMA(Time Division Multiple Access)方式によりパイプラインされた回路を使用することであり、それは、タイトな同期を有するシステム・オン・チップ(SoC)のレートベース及びデッドラインベーススキームと比較して、より小さなバッファスペースを要するため効果的である。従って、スループット、遅延及びジッタが保証される通信クラスが、グローバルタイム(すなわち、ルータ及びネットワークインタフェースなどのネットワークコンポーネント間の同期性の概念)の概念に基づき保証される。そこでは、基本的な時間単位はスロット又はタイムスロットと呼ばれる。すべてのネットワークコンポーネントは、通常はタイムスロットが各接続について確保されているネットワークコンポーネントの各出力ポートについて等しいサイズのスロットテーブルを有する。
ネットワークのトランスポートレイヤでは、処理モジュール間の通信は接続を介し実行される。1つの接続はチャネルセットとしてみなされ、各チャネルは、第1処理モジュールと少なくとも1つの第2処理モジュールとの間の接続プロパティセットを有する。第1処理モジュールと1つの第2処理モジュールとの間の接続に対して、当該接続は2つのチャネルを有し、すなわち、第1のチャネルは、第1処理モジュールから第2処理モジュールへのものであり、すなわち、リクエスト又はフォワードチャネルであり、第2のチャネルは、第2処理モジュールから第1処理モジュールへのものであり、すなわち、レスポンス又はリバースチャネルである。フォワード又はリクエストチャネルは、マスタからスレーブへのデータ及びメッセージについて確保され、リバース又はレスポンスチャネルは、スレーブからマスタへのデータ及びメッセージについて確保されている。レスポンスが求められていない場合、当該接続は1つのチャネルしか有しなくてもよい。接続が1つのマスタとN個のスレーブとを伴うことが、図示されてはいないが可能である。この場合、2*N個のチャネルが提供される。従って、接続又はネットワークを介した当該接続のパスは、少なくとも1つのチャネルを有する。すなわち、1つのチャネルしか使用されていない場合、チャネルは接続の接続パスに対応する。上述されるように、2つのチャネルが使用される場合、1つのチャネルはマスタからスレーブなどへの接続パスを提供し、第2チャネルはスレーブからマスタへの接続パスを提供する。従って、典型的な接続について、接続パスは2つのチャネルを有する。接続プロパティは、オーダリング(順番によるデータトランスポート)、フロー制御(リモートバッファが接続に対して確保され、バッファスペースが生成されたデータに対して利用可能であることが保証されるときに限って、データ生成装置はデータを送信することが許可される)、スループット(スループットの下限が保証される)、遅延(遅延の上限が保証される)、損失性(データの欠落)、伝送終了、トランザクション完了、データの正しさ、優先順位又はデータ配信を含むかもしれない。NoCでは、接続はトップチャネル上に構築される。チャネルは、ネットワークを介したソース(マスタ、イニシエータ)からデスティネーション(スレーブ、ターゲット)への又はその反対方向の一方向のパスである。
GTサービスを実現するため、スロットテーブルが使用される。上述したようなスロットテーブルは、ネットワークインタフェースとルータとを含むネットワークコンポーネントに格納される。スロットテーブルは、TDMA方式により同一のリンク又はワイヤの共有を可能にする。ネットワークに投入されるデータのデータ量は、固定されたサイズのサブパケットであるフリット(flit)と呼ばれる。フリットの投入は、ネットワークインタフェースに格納されているスロットテーブルによって調整される。スロットテーブルは、同期を向上させる(すなわち、すべてが同時に同一のスロットにある)。1つのチャネルは、1以上のスロットをスロットテーブル内に割り当てさせるかもしれない。すべてのネットワークコンポーネントのスロットテーブルが充填されるため、ネットワークを介し通信されるフリットは競合しない。チャネルは、各トラフィッククラスを特定するのに使用され、それらとプロパティとを関連付ける。各スロットにおいて、データアイテムは、1つのネットワークコンポーネントから次のネットワークコンポーネントに移され、すなわち、ルータ間若しくはルータとネットワークインタフェースの間で移される。このため、スロットが出力ポートにおいて確保されると、次のスロットが、マスタとスレーブモジュールとの間のパスを介し次の出力ポートなどに確保される必要がある。タイミング保証により複数の処理モジュールの間に複数の接続が設定されると、スロット割当てが、クラッシュがないように実行される必要がある。(すなわち、複数の接続に割り当てられるスロットが存在しない。)スロットは、データが他の何れかのデータと競合する必要がないように、確保される必要がある。それはまた、競合フリールーティングと呼ばれる。
所与のネットワークトポロジー、すなわち、所与の個数のルータとネットワークインタフェースと、処理モジュール間の接続セットとに対する最適なスロット割当てを検出するタスクは、それが網羅的な計算時間を要する最適解を検出することに関するものであるため、計算量の大きな問題である。
処理モジュール間のデータの伝送のための重要な特徴は、遅延である。ネットワーク接続における遅延の一般的な定義は、データパケットがソースからデスティネーションまで移動するのに要する時間としてまとめることができる。さらに、遅延及び帯域幅はネットワークのスピードと容量とを規定する。データへのアクセスに対する遅延は、このようなスロットテーブルのサイズ、テーブルの所与のチャネルに対するスロットの割当て及びバーストサイズに依存する。バーストサイズは、1つのリクエストにおいて要求/送信可能なデータ量である。あるチャネルに割り当てられるスロット数が、バーストデータを転送するのに必要とするスロット数未満であるとき、データに対するアクセス遅延は劇的に増大する。このような場合、スロットテーブルの複数の回転が、バーストデータを完全に送信するのに必要とされる。この接続に割り当てられていないスロットの待機時間がまた遅延に追加される。
ネットワークインタフェースは、チャネル毎のキューを従来は有していた。当該キューにおける待機時間は、トータルの通信遅延に対する大きな要因となることがわかっている。スロット数についてスロットテーブルが大きくなり、チャネルに対して確保されるスロットが少なくなるに従って、待機遅延がより大きくなる。
その他の問題点は、1つの処理モジュールが多数の、すなわち、n個のチャネルを要求するとき、スロットテーブルは各チャネルについて1つとなる少なくともn個のスロットを要するということである。しかしながら、これは一般には実践的ではない。なぜなら、より大きなスロットテーブルがより詳細な細かさにより帯域幅を割り当てることを要求する各種チャネルの帯域幅要求が、大きく異なる可能性があるためである。スロットテーブル、ネットワークインタフェース及びネットワークのコストは、スロットテーブルのスロット数に大きく依存する。
従って、本発明の課題は、NoC環境における改良されたスロット割当てを有する構成及び方法を提供することである。
上記課題は、請求項1記載の集積回路と請求項7記載のタイムスロット割当て方法とによって解決される。
同一のネットワークインタフェースにそれらのソースを有する各チャネルのスロットを共有することが提案される。同一のネットワークインタフェースからのチャネルに割り当てられるスロットの少なくとも一部が共有される。従って、すべてのチャネルによって共用可能なスロットプールが形成される。
それらは、遅延を劇的に低減するであろう。特に、少数のスロットしか割り当てられていないチャネルの遅延は低減される。スロットテーブルのスロット数がメモリスペースを共有することによって低減可能であるため、すべてのネットワークコンポーネントの要求が低減される。
本発明の他の特徴及び効果は、従属形式の請求項において規定される。
本発明の好適な実施例では、同一のネットワークインタフェースからのチャネルに割り当てられるすべてのスロットが共有される。これは、共有されたスロットを有するチャネルのデータ伝送の制御を簡単化する。
本発明のさらなる所定の実施例では、ネットワークインタフェースにチャネルスケジューラが含まれ、当該スケジューラはチャネルセットのデータの共有スロットへのスケジューリングのため設けられる。
本発明のさらなる所定の実施例では、チャネルのデータは、キューのポジションに応じてスケジューラによってスケジューリングされる。データ伝送の制御は、チャネルセットに属するデータを1つのみのキューに格納することによって実現可能である。従って、FCFS(First Come First Serve)ポリシーが実現される。これはさらに、ネットワークインタフェースにおける入力キューに対して要求されるチップ面積を低減する。従来、チャネル毎に1つのキューがあった。本発明によると、共有チャネルのすべてのデータを1つのキューにのみ入力することが効果的である。スケジューラは、キューにおけるそれのポジションに応じてデータをスケジューリングする必要がある。
本発明の好適な実施例では、チャネルセットのデータのスケジューリングは、チャネルセットのキューの充填状態に応じて実行される。各チャネルに対してキューを有する実施例では、スケジューラはチャネルのキューの充填状態をモニタする。エンプティでない第1キューが、転送されるようスケジューリングされる。その後、スケジューラは、このスケジューリングされたキューからキューをモニタし、エンプティでないキューのみがスケジューリングされる。
本発明はまた、複数の処理モジュールと該処理モジュールを接続するよう構成されるネットワークとを有する集積回路におけるデータ伝送に対してタイムスロットを割り当てる方法であって、複数のネットワークインタフェースのそれぞれは、前記処理モジュールの1つと前記ネットワークとの間に接続され、当該方法は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき、処理モジュール間で通信するステップと、特定チャネルへのタイムスロットの割当てを含むスロットテーブルを各ネットワークインタフェースに格納するステップと、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットを共有するステップとを有する方法に関する。
本発明はさらに、複数の処理モジュールと、該処理モジュールを接続するよう構成されるネットワークとを有するデータ処理システムであって、各処理モジュールに関連付けされ、該関連付けされた処理モジュールにより供給されるデータを前記ネットワークに送信し、前記関連付けされた処理モジュール宛のデータを前記ネットワークから受信するため設けられるネットワークインタフェースを有し、処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき機能し、各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの共有が提供されるデータ処理システムに関する。
従って、タイムスロット割当てはまた、マルチチップネットワーク又は複数の集積回路を具えたシステム若しくはネットワークにおいて実行されてもよい。
本発明の好適な実施例が、以下の概略図を参照して実施例により詳細に説明される。
図面は例示のためにだけに与えられ、本発明の実際的な具体例を必ずしも表すものでない。
以下において、本発明の各種実施例が説明される。
本発明は広範なアプリケーションにおいて適用可能であるが、それは特にAEthereal設計に対するNoCに着目して説明される。本発明を適用するさらなる分野は、各NoCがタイムスロットとスロットテーブルを利用することによって保証されたサービスを提供するものであってもよい。
以下において、NoCの一般的なアーキテクチャが図1A、1B及び図2を参照して説明される。
本実施例は、システム・オン・チップSoC、すなわち、同一チップ上の複数の処理モジュールIPがあるタイプのインターコネクトを介し互いに通信することに関する。インターコネクトは、ネットワーク・オン・チップNoCとして実現される。NoCは、ネットワーク内のワイヤ、バス、時分割多重化、スイッチ及び/又はルータを含むかもしれない。
図1Aは、本発明によるNoCを有する集積回路の具体例を示す。システムは、IPブロックと呼ばれる複数の処理モジュールIPを有する。処理モジュールIPは、インターコネクトモジュールを内部的に含む計算要素、メモリ又はサブシステムとして実現可能である。処理モジュールIPはそれぞれ、ネットワークインタフェースNIを介しNoCに接続される。NoCは、各自のリンクL1、L2及びL3を介し隣接するルータRに接続される複数のルータRを有する。ネットワークインタフェースNIは、処理モジュールIPとNoCとの間のインタフェースとして使用される。ネットワークインタフェースNIは、各処理モジュールIPとネットワークNoCの通信を管理するのに提供され、この結果、処理モジュールIPはNoC若しくは他の処理モジュールIPとの通信を処理する必要なく、各自の専用の処理を実行することが可能となる。処理モジュールIPは、マスタIPMとして機能し、すなわり、リクエストを発行してもよく、又はスレーブとして機能し、すなわち、マスタIPMからリクエストを受信し、当該リクエストを対応して処理するようにしてもよい。
図1Bは、1つのチャネルを有する1つの接続と、NoCにおける各自の基本的なスロット割当てのブロック図を示す。特に、マスタIPMとスレーブIPSとの間のチャネルが示される。この接続パスは、マスタIPMに係るネットワークインタフェースNIと、2つのルータと、スレーブIPSに係るネットワークインタフェースとによって実現される。マスタIPMに係るネットワークインタフェースNIは、タイムスロット割当てユニットSAを有する。あるいは、スレーブIPSに係るネットワークインタフェースNIはまた、タイムスロット割当てユニットSAを有するようにしてもよい。第1リンクL1は、マスタIPMに係るネットワークインタフェースと第1ルータRとの間に与えられ、第2リンクL2は、2つのルータRの間に与えられ、第3リンクL3は、ルータRとスレーブIPSに係るネットワークインタフェースNIとの間に与えられる。各ネットワークコンポーネントNI、R及びRの出力ポートのための3つのスロットテーブルST1〜ST3がまた示される。これらのスロットテーブルSTは、好ましくは、ネットワーク要素NI、R及びRの出力サイド、すなわち、データ生成サイドに実現される。リクエストされた各スロットsに対して、1つのスロットsが接続パスを介しリンクの各スロットテーブルSTにおいて受付される。これらすべてのスロットsは、フリーである必要があり、すなわち、他のチャネルにより確保されてはならない。データが1つのネットワークコンポーネントから、スロットs=1から始まる他の各スロットに進むため、接続を介した次のスロットはスロットs=2において、その後スロットs=3において確保される必要がある。タイムスロット割当てユニットSAにより実行されるスロット割当て決定に対する入力は、ネットワークコンポーネントとそれらの相互接続などのネットワークトポロジー、スロットテーブルサイズ及び接続セットである。すべての接続に対して、それのパス及び帯域幅、遅延、ジッタ並びに/又はスロット要求が与えられる。これらのチャネルのそれぞれが各パス上で設定され、異なる帯域幅、遅延、ジッタ及び/又はスロット要求を有する各リンクを有するようにしてもよい。時間に関連する保証を提供するため、図1Bにおいて示されるように、スロットがリンクに対して確保される必要がある。各スロットは、TDMAを用いて異なる接続又はチャネルに対して確保可能である。その後、ある接続に対するデータが、連続するスロットにおける接続を介し連続するリンクを介して転送される。
図2は、競合フリールーティングのためのより詳細な具体例を示す。処理モジュールは、IPAとIPBの2つしか存在しない。各処理モジュールIPA及びIPBは、異なるチャネルを使用してデータを送信している。処理モジュールIPA及びIPBは、2つのルータRにより表されるNoCに各自のネットワークインタフェースNIA及びNIBを介し接続される。処理モジュールIPAのチャネルaは、2つのスロット0及び2をスロットテーブルSTAに割り当てている。IPBのチャネルbは、1つのスロット1を割り当てている。チャネルa及びbのパスは、それぞれ黒抜きと白抜きの矢印によって示される。スロットsは、フリットがネットワークにおいて競合しないように確保される。これは、矢印の隣に示される数字によって示される。それらは、リンクが確保されるスロットを表す。これは、処理モジュールIPAにより送信されるフリットのパスについて詳細に説明される。スロット0及び2において、ネットワークインタフェースNIAと第1ルータRとの間のリンクが、チャネルaのフリットに対して確保される。次のステップに対して、2つのルータRの間のリンクが処理モジュールIPAからのデータについてスロット1及び3の間に確保される。スロット2の間は、当該リンクはチャネルbについて確保される。スロットテーブルSTは、スロットsをチャネルa及びbに割り当てるため4つのポジションしか有しない。スロット2及び0は、右側のルータRからの出力フリットのチャネルaに対して確保される。右側のルータRの図示されないスロットテーブルでは、スロット3がチャネル3に対して確保される。これは、スロットテーブルSTの何れのポジションもフリットが競合することを許可しないことを示す。しかしながら、この小さな具体例はまた、NoCにおいてスロットsをチャネルa及びbに割り当てるための困難若しくは労力を示している。
大きな遅延の基礎となる問題が、一例となるネットワークを示す図3を参照して示される。簡単化のため、1つのみのIPと関連するネットワークインタフェースとが示される。残りのボックスは、トラフィックを有するルータのみがそれぞれ指定されるNoCのルータR11〜R44を表す。処理モジュールIPは、4つのチャネルa、b、c及びdを必要とする。4×4のメッシュは、ルータR11〜R44を含むネットワークNoCを表す。ルータR11〜R44の間のリンクは、簡単化のため図示されない。処理モジュールIPのネットワークインタフェースNIのスロットテーブルSTは、40個のスロットを含む。チャネルaのキューの先頭におけるワーストケースの待機時間は、39スロットの期間である。各チャネルa、b、c及びdは、それぞれリンクの帯域幅容量の1/40、2/40、3/40及び4/40の帯域幅要求を必要とする。帯域幅割当てはリンク帯域幅の1/40の粒度により実行されるため、スロットテーブルSTは少なくとも40個のスロットを要する。チャネルaが40個のチャネルの1つのみを有するとき、ネットワークインタフェースNIのチャネルaのキューの先頭におけるフリットのワーストケースの待機時間は、39スロットの期間となる。フリットがネットワークに投入されると、遅延は、スロットの期間と乗算されたルータネットワークにおけるホップ数となる。大きなNoCに対しては、ホップの最大数は20となる。これは、小さなスロットテーブルに対して、この小さな具体例のワーストケース待機時間が優勢となることを意味する。各チャネルa〜dの矢印の近傍の数字は、出力ネットワークコンポーネント(NI若しくはルータ)の各スロットテーブルにおいて確保される必要があるスロットテーブルにおけるスロットポジションを示す。NIとR11との間の各チャネルa〜dへのスロットの割当ては、スロットテーブルSTから求めることができる。チャネルc及びdに対して、スロット4〜6及び7〜10がR11とR12の間に確保される。R12とR13との間では、スロット5〜7がチャネルcに対して確保され、スロット8〜11がチャネルdに対して確保される。R11とR21との間では、スロット1がチャネルaに対して確保され、スロット2及び3がチャネルbに対して確保される。
以下において、本発明が図4を参照して説明される。ここで提案される解決法は、同一のNIからのチャネルa〜dのセットに対して帯域幅を割り当てることである。各チャネルa〜dに対してスロットを確保する代わりに、チャネルa〜dのセット全体に対していくつかのスロットが確保される。従って、各チャネルa、b、c又はdが、スロット0・・・9においてネットワークにアクセスするようにしてもよい。これらのチャネルa〜dのうちの複数チャネルが同一のスロットにアクセスすることを所望するとき、ローカルアービトレーション機構が要求される。以下において、これが説明される。
当該セットに割り当てられた10個のスロット0〜9は、ここではSにより示される。10個のスロットSは、スロットテーブルSTに再分配可能である。良好な再分配は、おそらくスロットの割当てを介しスロットテーブルSTにおいて等距離に上記スロットSを配置する。これは、10個のスロットSがスロット0,4,8,...,36に配置されることを意味する。しかしながら、この分配はスロットについてワーストケース待機時間を最小化するだけでなく、10のファクタによりスロットテーブルのサイズを減少させることを可能にする。これは、参加している各ネットワークコンポーネントNI、R11〜R44などのそれぞれにおけるスロットテーブルに求められるメモリスペースの強力な低減をもたらす。縮小されたスロットテーブルSTは4つのスロットしか有さず、これらのスロット0〜3の1つがチャネルセットに割り当てられる。このため、小さなスロットテーブルの完全な探索は4つのスロットとなり、チャネルセットのスロットが4つのスロット毎に利用可能となり、10個のスロットが40個のスロットに良好に分配される具体例と同じになる。ネットワークインタフェースNIからのすべてのチャネルは当該チャネルセットに合成されるため、スロットテーブルのスロットの残りが、各ネットワークインタフェースNIからのものでないチャネルに対して使用される。
複数のチャネルa〜dがチャネルセットに合成されるとき、データをネットワークにシーケンシャルにスケジューリングするための機構が求められる。そのためには基本的に2つのアプローチがある。しかしながら、複数のチャネルのデータをスケジューリングする機構を説明する前に、図5を参照して、ネットワークインタフェースNIの構成が説明される。
図5は、ネットワークインタフェースNIの各コンポーネントを示す。しかしながら、NIの送信方向のみが示される。データパケットを受信及びパケット解除する部分は図示されない。ネットワークインタフェースNIは、入力キュー44、リモートスペースレジスタ46、リクエスト生成装置45、ルーティング情報レジスタ47、クレジットカウンタ49、スロットテーブル54、スロットスケジューラ55、ヘッダユニット48、ヘッダ挿入ユニット52、パケット長ユニット51及び出力マルチプレクサ50を含むフロー制御手段を有する。
NIは、それの入力ポート42において送信元の処理モジュールIPからデータを受信する。NIは、データシーケンスの形式によりルータにそれの出力43においてパッケージデータを出力する。送信されるデータは、キュー44に供給される。キュー44の第1データは、リクエスト生成装置45によりモニタされる。リクエスト生成装置45は、データを検出し、リモートスペースレジスタ46に格納されるような利用可能なリモートスペース及びキュー充填に基づき、リクエストreq_iを生成する。キューに対するリクエストreq_iは、キューを選択するためスロットスケジューラ55に与えられる。この選択は、スロットテーブル54からの情報と、チャネルセットを制御するために使用されるアービトレーション機構の情報とに基づきスロットスケジューラ55により実行されてもよい。スケジューラ55は、キューのデータが共有スロットを有するチャネルa〜dに属するか、又は共有されるチャネルセットスロットの一部でないデータに属するか検出する。キューがスケジューラ55において選択されるとすぐに、それは、パケット長をインクリメントするユニット51と、ヘッダHが挿入される必要があるか制御するヘッダ挿入ユニット52とに与えられる。アドレスなどのルーティング情報が、設定可能なルーティング情報レジスタ47に格納される。クレジットカウンタ49は、データが出力キューに使用されるとインクリメントされ、新たなヘッダHがヘッダHに含まれるクレジット値と共に送信されるとデクリメントされる。ルーティング情報レジスタ47からのルーティング情報と、クレジットカウンタ49の値とが、ヘッダユニット48に転送され、ヘッダHの一部を形成する。ヘッダユニット48は、クレジット値とルーティング情報とを受信し、ヘッダデータを出力マルチプレクサ50に出力する。出力マルチプレクサ50は、選択されたキューにより与えられるデータと、ヘッダユニット48から提供されるヘッダ情報hdrとを多重化する。データパケットが送出されると、パケット長がリセットされる。
図5に示されるように、リクエスト生成装置は、データがキューの1つに充填されるか検出する。IPからのデータは複数のキューに逆多重化されるが、チャネルセットのすべてのデータを同一キュー44に維持する。これは、自動的にFCFSポリシーを実現し、キュー処理コストを大きく低減する。従来のアーキテクチャにおいてデマルチプレクサを制御するのに使用された情報は、ここではデータキューにパラレルに又は同一のキューにキューされる必要があり、キューのワード長を増大させる。この制御情報は、チャネルセットのチャネルIDを反映し、チャネルのパスを選択などするため使用される。
さらなる図示されない機構は、スケジューラ55がFCFSポリシーを利用可能であるというものとすることが可能である。このポリシーが使用されるとき、IPがそれのデータをNIに書き込む順序がキュー処理される。その後、キュー44の第1要素は、何れのデータキューからデータが到来するかもしれないか示す。FCFSポリシーは、チャネルセットが複数のIPブロックからのデータから生成されるときに使用することを困難にするビットであるということに留意されたい。
他に、エンプティでないチャネルセットにおいて第1キュー(先に選択されたキューからの最初のもの)を選択するシンプルなラウンドロビン(RR)スケジューラがあげられる。
本方法の1つの効果は、遅延が大きく低減可能であるということである。与えられた具体例では、スロットのワーストケースの待機時間が10のファクタにより低減される。また、同一のNIからのチャネルグループの最も低い帯域幅とトータルの帯域幅の比が大きくなるに従って、より大きな遅延の減少が可能となる。
他の効果は、セットのすべてのチャネルが同一のソースと同一のデスティネーションとを有することを当該方式は要求しないということである。要求される全ては、チャネルが同一のソースを有するということである。
さらなる他の効果は、当該方式がスロットテーブルのサイズを低減することを可能にするということである。本明細書における具体例は、10のファクタの低減を示す。さらなる他の効果は、当該方式がネットワークインタフェースのキューの個数を低減することを可能にするということである。この具体例を参照すると、1つのキューが4つのキューの代わりに使用される必要がある。
先の2つの効果は、スロットテーブルとキューのコストがNIにおいて優勢であるため、NIのコストを大きく低減する。さらに、実際のネットワークでは、NIのコストが優勢であることがさらに検出された。
唯一の欠点は、チャネルセットがより発散すると、チャネルに対するスロットのより過剰な割当てが要求されるということである。
データストリームの通信が共有メモリを介し実行されるシステムでは、本発明のアプリケーションは大変重要である。これらの方式では、一般に共有メモリ又は複数のメモリから読み書きする処理モジュールが多数存在する。非ブロッキングライト及びブロッキングリードを有する処理モジュール(CPU)が典型的である。システムのパフォーマンスは、リードの遅延に大きく依存する。リードリクエストが多数のデータストリームを表すとき、本発明のメモリ又はメモリコントローラからのすべての発生が有用である。メモリからのチャネルが多数あるため、遅延は大きく低減され、スロットテーブルサイズは大きく低減することが可能であり、キューコストは大きく低減することが可能である。
すべてのデータストリームがメモリを行き来するため、過剰割当ては処理モジュールに接近するに従ってより高いものとなる、しかしながら、すべてのストリーミングはメモリを介し行われるため、この過剰割当ては問題とはならない。
本発明が、複数の同期したTDMAに関して説明されたが、それはまた単一のTDMAシステムに適用可能である。一般に、それは、接続に基づき、保証を提供するインターコネクト構成に適用可能である。
上記実施例は本発明を限定するものでなく、例示するためのものであり、添付した請求項の範囲から逸脱することなく他の多数の実施例を当業者が設計可能であるということに留意すべきである。請求項において、括弧内の参照符号は請求項を限定するものとして解釈されるべきでない。“有する”という用語は、請求項に列記した以外の要素又はステップの存在を排除するものでない。要素に先行する“ある”という単語は、当該要素が複数存在することを排除するものでない。複数の手段を列記した装置クレームでは、これらの手段のいくつかは同一のハードウェアアイテムにより実現可能である。ある手段が互いに異なる従属クレームにより記載されているという事実は、当該手段の組み合わせが効果的に利用可能でないことを示すものでない。さらに、請求項の参照符号は請求項の範囲を限定するものとして解釈されるべきでない。
Claims (8)
- 複数の処理モジュールと処理モジュールを接続するよう構成されるネットワークとを有する集積回路であって、
前記処理モジュールは、関連する処理モジュールにより供給されるデータを前記ネットワークに送信し、前記ネットワークから前記関連する処理モジュール宛のデータを受信するため設けられる関連するネットワークインタフェースを有し、
処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき動作し、
各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの少なくとも一部が、前記チャネルセットのデータの伝送に共有される集積回路。 - 前記チャネルに割り当てられるすべてのスロットは、共有され、同一のネットワークインタフェースからの前記チャネルセットのデータ伝送について共用される、請求項1記載の集積回路。
- 前記ネットワークインタフェースに含まれるスケジューラを有し、
前記スケジューラは、前記共有されるスロットに対して前記チャネルセットのデータをスケジューリングするため設けられる、請求項1又は2記載の集積回路。 - チャネルのデータは、キューにおけるポジションに応じて前記スケジューラによりスケジューリングされる、請求項1乃至3何れか一項記載の集積回路。
- 前記チャネルセットのデータのスケジューリングは、前記チャネルセットのキューの充填状態に応じて実行される、請求項1乃至4何れか一項記載の集積回路。
- 前記チャネルセットに割り当てられるチャネルのデータは、単一のキューにキュー処理される、請求項1乃至5何れか一項記載の集積回路。
- 複数の処理モジュールと該処理モジュールを接続するよう構成されるネットワークとを有する集積回路におけるデータ伝送に対してタイムスロットを割り当てる方法であって、複数のネットワークインタフェースのそれぞれは、前記処理モジュールの1つと前記ネットワークとの間に接続され、
当該方法は、
チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき、処理モジュール間で通信するステップと、
特定チャネルへのタイムスロットの割当てを含むスロットテーブルを各ネットワークインタフェースに格納するステップと、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットを共有するステップと、
を有する方法。 - 複数の処理モジュールと、該処理モジュールを接続するよう構成されるネットワークとを有するデータ処理システムであって、
各処理モジュールに関連付けされ、該関連付けされた処理モジュールにより供給されるデータを前記ネットワークに送信し、前記関連付けされた処理モジュール宛のデータを前記ネットワークから受信するため設けられるネットワークインタフェースを有し、
処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき機能し、
各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの共有が提供されるデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05102702 | 2005-04-06 | ||
PCT/IB2006/051012 WO2006106475A1 (en) | 2005-04-06 | 2006-04-04 | Network-on-chip environment and method for reduction of latency |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008535435A true JP2008535435A (ja) | 2008-08-28 |
Family
ID=36613481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008504892A Pending JP2008535435A (ja) | 2005-04-06 | 2006-04-04 | ネットワーク・オン・チップ環境及び遅延低減方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080186998A1 (ja) |
EP (1) | EP1869844A1 (ja) |
JP (1) | JP2008535435A (ja) |
WO (1) | WO2006106475A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4756158B2 (ja) * | 2005-05-26 | 2011-08-24 | エスティー‐エリクソン、ソシエテ、アノニム | 通信リソース割り当て電子デバイスおよび方法 |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101125647B1 (ko) * | 2004-04-05 | 2012-03-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 시간 슬롯 할당을 위한 집적 회로 및 방법, 및 데이터 처리 시스템 |
US7320090B2 (en) * | 2004-06-09 | 2008-01-15 | International Business Machines Corporation | Methods, systems, and media for generating a regression suite database |
WO2007010461A2 (en) * | 2005-07-19 | 2007-01-25 | Koninklijke Philips Electronics N.V. | Electronic device and method of communication resource allocation |
KR100737943B1 (ko) * | 2006-09-13 | 2007-07-13 | 삼성전자주식회사 | 네트워크-온-칩 응답 신호 제어 장치 및 그 방법 |
WO2008038235A2 (en) * | 2006-09-27 | 2008-04-03 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method to manage the load of peripheral elements within a multicore system |
US20080273475A1 (en) * | 2007-05-03 | 2008-11-06 | Microsoft Corporation | Reconfigurable computer bus |
US8261025B2 (en) | 2007-11-12 | 2012-09-04 | International Business Machines Corporation | Software pipelining on a network on chip |
EP2063581A1 (en) * | 2007-11-20 | 2009-05-27 | STMicroelectronics (Grenoble) SAS | Transferring a stream of data between first and second electronic devices via a network on-chip |
US8526422B2 (en) * | 2007-11-27 | 2013-09-03 | International Business Machines Corporation | Network on chip with partitions |
US7917703B2 (en) * | 2007-12-13 | 2011-03-29 | International Business Machines Corporation | Network on chip that maintains cache coherency with invalidate commands |
US8473667B2 (en) * | 2008-01-11 | 2013-06-25 | International Business Machines Corporation | Network on chip that maintains cache coherency with invalidation messages |
US8010750B2 (en) * | 2008-01-17 | 2011-08-30 | International Business Machines Corporation | Network on chip that maintains cache coherency with invalidate commands |
US8018466B2 (en) * | 2008-02-12 | 2011-09-13 | International Business Machines Corporation | Graphics rendering on a network on chip |
US8490110B2 (en) * | 2008-02-15 | 2013-07-16 | International Business Machines Corporation | Network on chip with a low latency, high bandwidth application messaging interconnect |
US7913010B2 (en) * | 2008-02-15 | 2011-03-22 | International Business Machines Corporation | Network on chip with a low latency, high bandwidth application messaging interconnect |
US20090245257A1 (en) * | 2008-04-01 | 2009-10-01 | International Business Machines Corporation | Network On Chip |
US8078850B2 (en) * | 2008-04-24 | 2011-12-13 | International Business Machines Corporation | Branch prediction technique using instruction for resetting result table pointer |
US20090271172A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Emulating A Computer Run Time Environment |
US8423715B2 (en) * | 2008-05-01 | 2013-04-16 | International Business Machines Corporation | Memory management among levels of cache in a memory hierarchy |
US8392664B2 (en) * | 2008-05-09 | 2013-03-05 | International Business Machines Corporation | Network on chip |
US7958340B2 (en) * | 2008-05-09 | 2011-06-07 | International Business Machines Corporation | Monitoring software pipeline performance on a network on chip |
US8020168B2 (en) * | 2008-05-09 | 2011-09-13 | International Business Machines Corporation | Dynamic virtual software pipelining on a network on chip |
US7991978B2 (en) * | 2008-05-09 | 2011-08-02 | International Business Machines Corporation | Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor |
US8214845B2 (en) * | 2008-05-09 | 2012-07-03 | International Business Machines Corporation | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data |
US7861065B2 (en) * | 2008-05-09 | 2010-12-28 | International Business Machines Corporation | Preferential dispatching of computer program instructions |
US8494833B2 (en) * | 2008-05-09 | 2013-07-23 | International Business Machines Corporation | Emulating a computer run time environment |
US20090282211A1 (en) * | 2008-05-09 | 2009-11-12 | International Business Machines | Network On Chip With Partitions |
US8040799B2 (en) * | 2008-05-15 | 2011-10-18 | International Business Machines Corporation | Network on chip with minimum guaranteed bandwidth for virtual communications channels |
US8230179B2 (en) * | 2008-05-15 | 2012-07-24 | International Business Machines Corporation | Administering non-cacheable memory load instructions |
US8438578B2 (en) * | 2008-06-09 | 2013-05-07 | International Business Machines Corporation | Network on chip with an I/O accelerator |
US8195884B2 (en) | 2008-09-18 | 2012-06-05 | International Business Machines Corporation | Network on chip with caching restrictions for pages of computer memory |
US7992043B2 (en) * | 2008-10-22 | 2011-08-02 | International Business Machines Corporation | Software debugger for packets in a network on a chip |
US20100161938A1 (en) * | 2008-12-23 | 2010-06-24 | Marco Heddes | System-On-A-Chip Supporting A Networked Array Of Configurable Symmetric Multiprocessing Nodes |
US9098354B2 (en) | 2008-12-23 | 2015-08-04 | International Business Machines Corporation | Management of application to I/O device communication requests between data processing systems |
US20100158023A1 (en) * | 2008-12-23 | 2010-06-24 | Suvhasis Mukhopadhyay | System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions |
US20100158005A1 (en) * | 2008-12-23 | 2010-06-24 | Suvhasis Mukhopadhyay | System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions |
US9009214B2 (en) | 2008-12-23 | 2015-04-14 | International Business Machines Corporation | Management of process-to-process inter-cluster communication requests |
US20100162265A1 (en) * | 2008-12-23 | 2010-06-24 | Marco Heddes | System-On-A-Chip Employing A Network Of Nodes That Utilize Logical Channels And Logical Mux Channels For Communicating Messages Therebetween |
WO2010074872A1 (en) * | 2008-12-23 | 2010-07-01 | Transwitch Corporation | System-on-a-chip and multi-chip systems supporting advanced telecommunications and other data processing applications |
US8521895B2 (en) | 2008-12-23 | 2013-08-27 | International Business Machines Corporation | Management of application to application communication requests between data processing systems |
US8499029B1 (en) | 2008-12-23 | 2013-07-30 | International Business Machines Corporation | Management of process-to-process communication requests |
US8370855B2 (en) * | 2008-12-23 | 2013-02-05 | International Business Machines Corporation | Management of process-to-process intra-cluster communication requests |
US20100191814A1 (en) * | 2008-12-23 | 2010-07-29 | Marco Heddes | System-On-A-Chip Employing A Network Of Nodes That Utilize Receive Side Flow Control Over Channels For Messages Communicated Therebetween |
KR101191673B1 (ko) * | 2012-04-12 | 2012-10-17 | 서울과학기술대학교 산학협력단 | 네트워크 온 칩 기반 적응적 에러 정정 장치 |
JP2014078214A (ja) * | 2012-09-20 | 2014-05-01 | Nec Corp | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム |
US8885510B2 (en) | 2012-10-09 | 2014-11-11 | Netspeed Systems | Heterogeneous channel capacities in an interconnect |
US9571402B2 (en) * | 2013-05-03 | 2017-02-14 | Netspeed Systems | Congestion control and QoS in NoC by regulating the injection traffic |
US9471726B2 (en) | 2013-07-25 | 2016-10-18 | Netspeed Systems | System level simulation in network on chip architecture |
US9473388B2 (en) | 2013-08-07 | 2016-10-18 | Netspeed Systems | Supporting multicast in NOC interconnect |
US10193827B2 (en) | 2013-08-13 | 2019-01-29 | Dean Michael Ancajas | Hot carrier injection tolerant network on chip router architecture |
US20150049758A1 (en) * | 2013-08-13 | 2015-02-19 | Utah State University | Hot carrier injection tolerant network on chip router architecture |
WO2015024680A1 (de) * | 2013-08-21 | 2015-02-26 | Siemens Ag Österreich | Verfahren und schaltungsanordnung zur zeitlichen eingrenzung und trennung von zugriffen in einem ein-chip-system |
US9699079B2 (en) | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
US9473415B2 (en) | 2014-02-20 | 2016-10-18 | Netspeed Systems | QoS in a system with end-to-end flow control and QoS aware buffer allocation |
US9553762B1 (en) * | 2014-06-26 | 2017-01-24 | Altera Corporation | Network-on-chip with fixed and configurable functions |
US9742630B2 (en) | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9571341B1 (en) | 2014-10-01 | 2017-02-14 | Netspeed Systems | Clock gating for system-on-chip elements |
US9940236B2 (en) | 2014-12-17 | 2018-04-10 | Intel Corporation | Pointer chasing across distributed memory |
US9660942B2 (en) | 2015-02-03 | 2017-05-23 | Netspeed Systems | Automatic buffer sizing for optimal network-on-chip design |
US9444702B1 (en) | 2015-02-06 | 2016-09-13 | Netspeed Systems | System and method for visualization of NoC performance based on simulation output |
US9568970B1 (en) | 2015-02-12 | 2017-02-14 | Netspeed Systems, Inc. | Hardware and software enabled implementation of power profile management instructions in system on chip |
US9928204B2 (en) | 2015-02-12 | 2018-03-27 | Netspeed Systems, Inc. | Transaction expansion for NoC simulation and NoC design |
US10050843B2 (en) | 2015-02-18 | 2018-08-14 | Netspeed Systems | Generation of network-on-chip layout based on user specified topological constraints |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
US9825809B2 (en) | 2015-05-29 | 2017-11-21 | Netspeed Systems | Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip |
US9864728B2 (en) | 2015-05-29 | 2018-01-09 | Netspeed Systems, Inc. | Automatic generation of physically aware aggregation/distribution networks |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US10644958B2 (en) | 2016-01-30 | 2020-05-05 | Western Digital Technologies, Inc. | All-connected by virtual wires network of data processing nodes |
US10222992B2 (en) | 2016-01-30 | 2019-03-05 | Western Digital Technologies, Inc. | Synchronization method and apparatus for an interconnection network using parallel-headerless TDMA routing |
US10666578B2 (en) * | 2016-09-06 | 2020-05-26 | Taiwan Semiconductor Manufacturing Company Limited | Network-on-chip system and a method of generating the same |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10313269B2 (en) | 2016-12-26 | 2019-06-04 | Netspeed Systems, Inc. | System and method for network on chip construction through machine learning |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10084725B2 (en) | 2017-01-11 | 2018-09-25 | Netspeed Systems, Inc. | Extracting features from a NoC for machine learning construction |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US10298485B2 (en) | 2017-02-06 | 2019-05-21 | Netspeed Systems, Inc. | Systems and methods for NoC construction |
CN107800700B (zh) * | 2017-10-27 | 2020-10-27 | 中国科学院计算技术研究所 | 一种路由器和片上网络传输***及方法 |
US10983910B2 (en) * | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US10896476B2 (en) | 2018-02-22 | 2021-01-19 | Netspeed Systems, Inc. | Repository of integration description of hardware intellectual property for NoC construction and SoC integration |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US11144457B2 (en) * | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
US11086778B2 (en) * | 2018-10-15 | 2021-08-10 | Texas Instruments Incorporated | Multicore shared cache operation engine |
US11765094B2 (en) * | 2018-12-12 | 2023-09-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication system with de-jitter buffer for reducing jitter |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5935232A (en) * | 1995-11-20 | 1999-08-10 | Advanced Micro Devices, Inc. | Variable latency and bandwidth communication pathways |
US6910092B2 (en) * | 2001-12-10 | 2005-06-21 | International Business Machines Corporation | Chip to chip interface for interconnecting chips |
KR101016987B1 (ko) * | 2002-10-08 | 2011-02-25 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 집적 회로 |
US8020163B2 (en) * | 2003-06-02 | 2011-09-13 | Interuniversitair Microelektronica Centrum (Imec) | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
US7380035B1 (en) * | 2005-03-24 | 2008-05-27 | Xilinx, Inc. | Soft injection rate control for buses or network-on-chip with TDMA capability |
-
2006
- 2006-04-04 JP JP2008504892A patent/JP2008535435A/ja active Pending
- 2006-04-04 WO PCT/IB2006/051012 patent/WO2006106475A1/en not_active Application Discontinuation
- 2006-04-04 US US11/910,749 patent/US20080186998A1/en not_active Abandoned
- 2006-04-04 EP EP06727812A patent/EP1869844A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4756158B2 (ja) * | 2005-05-26 | 2011-08-24 | エスティー‐エリクソン、ソシエテ、アノニム | 通信リソース割り当て電子デバイスおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2006106475A1 (en) | 2006-10-12 |
US20080186998A1 (en) | 2008-08-07 |
EP1869844A1 (en) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008535435A (ja) | ネットワーク・オン・チップ環境及び遅延低減方法 | |
US20080205432A1 (en) | Network-On-Chip Environment and Method For Reduction of Latency | |
US20080232387A1 (en) | Electronic Device and Method of Communication Resource Allocation | |
US7564865B2 (en) | Weight factor based allocation of time slot to use link in connection path in network on chip IC | |
JP4756158B2 (ja) | 通信リソース割り当て電子デバイスおよび方法 | |
KR101110808B1 (ko) | 시간 슬롯 할당을 위한 집적 회로 및 방법 | |
EP1891778B1 (en) | Electronic device and method of communication resource allocation. | |
KR20050083730A (ko) | 데이터 교환용 집적 회로 및 방법 | |
JP2008536430A (ja) | 電子デバイス及びフロー制御方法 | |
US20080123666A1 (en) | Electronic Device And Method Of Communication Resource Allocation | |
Samman | Network-on-chip with guaranteed-bandwidth data communication service | |
Kaminsky et al. | Dynamic channel allocation |