JP2006254449A - システムオンチップの大域的非同期通信アーキテクチャ - Google Patents

システムオンチップの大域的非同期通信アーキテクチャ Download PDF

Info

Publication number
JP2006254449A
JP2006254449A JP2006062181A JP2006062181A JP2006254449A JP 2006254449 A JP2006254449 A JP 2006254449A JP 2006062181 A JP2006062181 A JP 2006062181A JP 2006062181 A JP2006062181 A JP 2006062181A JP 2006254449 A JP2006254449 A JP 2006254449A
Authority
JP
Japan
Prior art keywords
packet
data
node
network
priority
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
JP2006062181A
Other languages
English (en)
Other versions
JP4808513B2 (ja
Inventor
Fabien Clermidy
クレルミディ ファビアン
Pascal Vivet
ヴィヴェ パスカル
Edith Beigne
ベーニュ エディット
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
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 Commissariat a lEnergie Atomique CEA filed Critical Commissariat a lEnergie Atomique CEA
Publication of JP2006254449A publication Critical patent/JP2006254449A/ja
Application granted granted Critical
Publication of JP4808513B2 publication Critical patent/JP4808513B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Abstract

【課題】同期ロジックに用いる要素及び/又は非同期ロジックに用いる要素を含むことが可能な、大域的非同期ネットワークオンチップにおける新規データ転送方法、及びそのような方法に使用できるデバイスを開発すること。
【解決手段】本発明はネットワークオンチップ(NoC)の分野に関し、特に非同期「送信/許可(send/accept)」タイプのプロトコルを使用して、ネットワークオンチップ上でデータを転送する方法に関する。本発明はまた、この方法を実行するために使用されるネットワークオンチップに関する。
【選択図】図2

Description

本発明はネットワークオンチップ(NoC)の分野に関する。本発明は、ネットワークオンチップ上のデータを、特に非同期「送信/許可(send/accept)」プロトコル及び改良型ネットワークオンチップ構造を使用して伝送し、このような伝送を可能にする方法に関する。
本構造は、この構造が同期ロジックに用いられるユニット又はブロックを含む場合でも、大域的に非同期で動作することができる。本構造は必ずしも特殊ロジックを必要とせず、同期ロジックに用いられる要素、特にノード、及び非同期ロジックに用いられる他の要素、特に他のノードを含むことができる。本構造は、例えば「遅延保証」サービス及び一般に「ベストエフォート」サービスと呼ばれる別のサービスのような異なるタイプのサービスを実行する機能を備える。これらの異なるサービスの実行及びこのような構造で搬送されるデータパケット間の優先順位の管理は、少なくとも部分的に、データパケットに関連付けられる「仮想チャネル」と呼ばれる優先チャネルによって保証される。
現在、ASIC(特定用途向け集積回路)又はチップの異なるモジュールを互いに通信させるために使用される主な方法は、バス型トポロジイを使用している。このタイプのトポロジイでは、互いに通信する必要のあるチップのモジュールは、これらのモジュールが順番に使用する同じ通信媒体に接続され、これによって例えばデータ送信する。「バス調停器」と呼ばれる中心要素が異なるモジュールの媒体手段にアクセス権を付与することにより、バスの予約競合が回避される。
このシステムは、特に、通信スループットが低くなることによって遅延が大きくなるという不具合を有し、特にクロックツリーの観点から、特に容量電荷の問題のために構築が益々困難になっている。また、チップの通信バスによって提供されるスループットをチップ上の全モジュールが実行するアプリケーションに正確に適合させることは難しい。更に、このようなシステムは普通、所定のアプリケーションに非常に特異的であるので、システムが一つのアプリケーション用に設計されてしまうと、通常別のアプリケーションに再使用することができない。
ネットワークオンチップ(NoC)は上述した問題を改善するために開発された。
例えば、ネットワークオンチップが非特許文献1に提案された。特にこの文献は、マトリックス又はメッシュタイプのトポロジイを有する通信媒体を備えるネットワークオンチップアーキテクチャについて記載している。この通信媒体は、2つの異なるルーティングタイプの実現に使用できるルーティングノードを含む。第1のルーティングタイプを使用して、「遅延保証」時間と呼ばれる第1のタイプのサービスが提供され、このサービスでは、第1リソースから第2リソースにデータを渡すときに要する時間がほぼ一定である。第2タイプのルーティングを使用して、一般に「ベストエフォート」と呼ばれる第2タイプのサービスが提供され、このサービスでは、ルーティングノードを接続するネットワークリンクの容量の使用が最大になる。このアーキテクチャでは、通信媒体との接続は時間多重を使用するグローバルネットワーククロックが管理する。このようなアーキテクチャの使用は複雑であり、特にアーキテクチャの構成要素の配置ルートの決定及びアーキテクチャのクロックツリーの生成に関して複雑である。また、このようなネットワークの消費電力を制御すること、特にクロックツリーに起因する消費電力を制御することは難しい。また、このようなネットワークの消費電力を制御すること、特にクロックツリーに起因する消費電力を制御することが難しい。
ルーティングノードが互いに非同期で通信する構成のネットワークオンチップが、非特許文献2に提案されている。このようなネットワークにおけるデータ伝送はまた、一般に「ワンホットエンコーディング」と呼ばれるエンコーディング方式を使用してエンコードされる。しかしながら、このネットワークは、作るのが難しい特殊ロジックを使用するという大きな不具合を有する。更に、このようなネットワークは異なるサービスタイプ、例えば遅延「保証」サービス、及び一般に「ベストエフォート」と呼ばれるサービスを使用しない。
非特許文献3及び4は、複数の要素、特に仮想チャネルを使用する非同期ロジックにおいて用いられるルーティングノードを備える非同期ネットワークオンチップにおけるサービス品質の管理方法を開示している。
Goossens等による"Trade offs in the design of a router both guaranteed and best-efforts service for networks on chip" Proceedings of DATE conference, 2003, p350-355 Brainbridge及びS. Furberによる"Delay Insensitive System on Chip Interconnect, Using 1 of 4 data Encoding", Proceedings of International Symposium on Advanced Research in Asynchronous Circuits and Systems, March 2001, pages 118 - 126 "Quality of Service (QoS) for Asynchronous On-Chip Networks", T. Felicijan, S. B. Furber, Formal Methods for Globally Asynchronous Locally Synchronous Architecture (FMGALS 2003) Pisa, Italy, Sept. 2003 "An Asynchronous On-Chip Network Router with Quality-of-Service (QoS), T. Felicijan, S. B. Furber Support Proceedings IEEE International SOC Conference, Santa Clara, CA, Sept. 2004, pp 274-277, ISBN: 0-7803-8445-8 "The Turn Model for Adaptative Routing, C. J. Glass", L. M. Ni, Association for computing Machinery, 1992 "A survey and comparison of wormhole routing technique in Mesh networks", K. M. Al-Tawil等、IEEE network, March-April 1997, pp. 38-45 Simon Moore等による、"Point to point GALS Interconnect", Proceedings of ASYNC 2002, p69-75
同期ロジックに用いる要素及び/又は非同期ロジックに用いる要素を含むことが可能な、大域的非同期ネットワークオンチップにおける新規データ転送方法を開発する必要があるという問題が生じており、また、大域的に非同期に動作する新規ネットワークオンチップ構造であって、構造内部におけるデータ転送を管理するためにグローバルクロックを使用せず、同期ロジックに用いる要素及び/又は非同期ロジックに用いる要素を含むことができ、且つ、例えば複数のリソース又は複数のデータ間の高速データ転送を優先させる必要があるかどうか、又は複数のリソース又は複数のデータ間のスループットを保証する必要があるかどうかによって、異なるタイプのサービスを実行する機能を備えるネットワークオンチップ構造が求められている。
本発明は、改良型のネットワークオンチップ構造、及びこのようなネットワークにおいてデータを転送又は伝送するための改良型の方法を使用する。
本発明はまず、互いに通信できる複数の要素により形成されるネットワークオンチップにおいてデータを伝送する方法に関し、複数の要素は、データを処理する機能を有する複数のリソース、及びこれらのリソースを互いに接続し、且つネットワークにおいてデータを切り替える機能を有する複数のノードを備え、各ノードには複数の入力及び複数の出力が設けられ、本方法は:
− 少なくとも1つの転送ステップを含み、このステップでは、「フリット」と呼ばれる1以上の基本データグループを含む少なくとも1つのデータパケットを、ネットワークの送信要素からネットワークの受信要素に非同期通信プロトコルを使用して転送し、前記パケットの1以上の基本データグループ、又は全ての基本データグループの転送は、第1要素により少なくとも1つの第1のタイプの信号を前記プロトコルに従って送信することを伴うか、又はそのような送信に付随し、前記転送はまた、受信要素が、第1のタイプの信号に応答して少なくとも1つの第2タイプの信号を前記プロトコルに従って送信することによりこの受信要素によって許可される。
ネットワークを伝送される複数のデータパケットはそれぞれ、優先順位、又は異なる優先チャネル群から選択される優先チャネル情報に関連付けられる。
前記データパケットを優先順位又は優先チャネル情報に関連付ける方法に可能な一実施形態によれば、前記非同期通信プロトコルに基づく前記第1のタイプの信号は、少なくともその一部に、このパケットが関連付けられる優先順位又は優先チャネル情報を含む。
本方法の一変形実施形態によれば、基本データグループの送信を伴う第1のタイプの信号及び前記基本データグループは同時に送信することができる。
このような転送を可能にするために使用されるプロトコルは、同期ロジック及び/又は非同期ロジックにおいて用いられる高位プロトコルとすることができる。従って、このプロトコルを使用して少なくとも2つのネットワークブロック間のデータ転送を設定することができ、これらのネットワークブロックの各々は同期するが、例えば第1クロックに関連するネットワークの少なくとも1つの第1ノードと、第1クロックとは、異なるか又は第1クロックから位相シフトした第2クロックに関連するネットワークの少なくとも1つの第2ノードとの間で位相シフトして動作する。
また、このプロトコルを使用して、少なくとも2つのネットワークブロック間のデータ転送を設定することができ、これらのネットワークブロックの各々は、例えばクロックを持たないネットワークの少なくとも1つの第1ノードとクロックを持たない少なくとも1つの第2ノードとの間で、非同期である。
また、このプロトコルを使用してネットワークの少なくとも2つのブロックの間のデータ転送を設定することができ、これらのうち一方のブロックは同期し、且つ他方のブロックは、例えば第1クロックに関連するネットワークの少なくとも1つの第1ノードと、少なくとも1つの他の非同期ノード又はクロックを持たないノードとの間で、非同期である。
このプロトコルは、パケットの所定のフリットに先行する別のフリットが受信要素によって許可されると直ぐに、送信要素が前記データパケットの所定のフリット又は基本データグループを送信することができるように設計できる。
本発明によるデータ転送方法に可能な一実施形態によれば、本方法は更に:
− ネットワークの少なくとも1つの第1要素、例えばネットワークの第1ノードによって、少なくとも1つの第1データパケットと少なくとも1つの第2データパケットの間の転送順序であって、第1ノードから出力される転送順序を、少なくとも1回調停することを含むことができ、転送順序の決定は、第1パケット及び第2パケットがネットワークリソースによって関連付けられた1以上の優先チャネルに基づいて行う。
リソースは、所定のチャネル群から選択される第1優先チャネルに第1パケットを関連付ける。同じリソース又は異なるリソースが、所定のチャネル群から選択された、第1チャネルとは異なる優先順位を有する第2優先チャネルに、第2パケットを関連付ける。
優先チャネルへのデータパケットの関連付けは、このパケットに含まれるデータタイプに少なくとも部分的に依存する。
例えば、異なるリソースから送出された、第1のタイプのデータ、例えば割り込みデータを含むパケットを、同じ第1優先チャネルに関連付けることができ、一方、異なるリソースから送出された、第2タイプのデータ、例えば計算データ又はプログラミングデータを含むパケットを、第1チャネルの優先順位とは異なる優先順位の第2優先チャネルに関連付けることができる。
リソースがデータパケットを優先チャネルに関連付けるとき、このパケットをサービスタイプにリンクさせることができる。
従って、前記所定チャネル群の異なる優先チャネル又は異なる仮想チャネルを使用して、例えば一般に「ベストエフォート」サービスと呼ばれる少なくとも1つのサービス、及び一般に「遅延保証」サービスと呼ばれる少なくとも1つの他のサービスのような、異なるタイプのデータ転送サービスを実行することもできる。これらの異なるサービスは1つのルーティングシステムによって実行することができる。
調停ステップの間、第1パケット及び第2パケットの転送順序を、第1チャネル及び第2チャネルそれぞれの優先順位のみに応じて決定することができる。例えば、これは、第1パケットと第2パケットが異なるチャネルに関連付けられている場合に該当する。従って、第1パケット及び第2パケットの転送順序は、これらのパケットが第1ノードにアクセスする順番又はそれぞれのソースに無関係に決定することができる。
第1データパケット及び第2データパケットが、第1チャネル及び第1チャネルの優先順位よりも低い優先順位の第2チャネルにそれぞれ関連付けられている、データ伝送方法の第1の変形例によれば、第1パケットの第1データグループ及び第2パケットの別のデータグループが第1ノードにアクセスして第1ノードの一の出力又は同じ出力にアクセスする準備を整えているとき、本方法は、調停ステップの後に:
− 第1ノードの出力から第1データパケットを転送すること、及び
− 第1ノードの出力から第1パケット全体を転送した後で、第1ノードの出力から第2データパケットを転送すること
を更に含むことができる。
可能な一実施形態によれば、本方法は、調停ステップの後で、且つ第2パケット全体を転送するステップの前に:
− 第2パケットの少なくとも一部を第1ノードにおいて中止すること
を更に含むことができる。
調停ステップの前に、第1ノードの出力から第2パケットの転送が既に始まっており、且つ第2パケットの少なくとも1つの第2データグループが既に第1ノードの出力に転送されている、及び/又は既に第1ノードから送出されており、一方で、第1データパケットのデータが未だに第1ノードの出力に転送されていない、及び/又は第1ノードから未だ出力されていない場合、本方法は:
− 第2パケットの前記他のデータグループを中止すること、及び
− 第2パケットの前記第2データグループをネットワークに移動させるか又は転送すること
を更に含むことができる。
従って、可能な一実施形態によれば、第1ノードから既に出力されている第2パケットのデータは、第1ノードの出力からのこの第2パケットの転送を一時的に中止している場合も移動させることができる。
調停ステップの前に、第2パケットの少なくとも1つの第3データグループが未だ第1ノードにアクセスしていない場合、本方法は、調停ステップの後、且つ可能であれば第2データパケットの一部を中止している間に:
− 第2パケットの第3データグループのデータの少なくとも一部を第1ノードの入力に転送すること
を更に含むことが出来る。
従って、可能な一実施形態によれば、第1ノードの出力からの第2パケットの転送が一時的に中止されているとき、未だ第1ノードにアクセスしていない第2パケットのデータは第1ノードにアクセスすることができる。
調停ステップの後で、且つ第2パケットの転送の前に、第2チャネルよりも優先順位の高いチャネルに関連付けられる少なくとも1つの第3データパケットが第1ノードにアクセスし、第1ノードの前記出力にアクセスする準備を整えているとき、本方法は:
− 第2パケット全体を転送する前に、前記第3パケット全体を第1ノードの出力から転送すること
を更に含むことができる。
第3パケットが第1チャネルの優先順位に等しい優先順位のチャネルに関連付けられている場合、第1ノードの出力からの前記第3パケット全体の転送は、第1パケット全体の転送の後で、且つ第2パケット全体の転送の前に行なうことができる。
第3パケットが、第1チャネルの優先順位よりも高い優先順位のチャネルに関連付けられている場合、第1ノードの出力からの前記第3パケット全体の転送は、第1パケットの転送の前に行なうことができる。
ステップa)において、第1データパケット及び第2データパケットが同じ優先チャネルに関連付けられているデータ伝送方法の第2の変形例によれば、転送順序の調停はまた、第1ノードへの第1パケット及び第2パケットの到達の順番に応じて決定することができる。例えば、「先着順」型の調停を使用することができる。
転送順序の調停はまた、第1パケット及び第2パケットがこの第1ノードにアクセスする際に通過した第1ノードの入力に応じて決定することができる。例えば、ノードが「北」入力、「東」入力、「西」入力、及び「南」入力を有する場合、一つの可能な調停では、「北」入力が「東」入力よりも優先順位が高く、「東」入力が「南」入力よりも優先順位が高く、「南」入力が「西」入力よりも優先順位が高い。
調停ステップの間に、第1データパケットの第1データグループ及び第2データパケットの別のデータグループが既に第1ノードにアクセスしており、第1ノードの一の出力又は同じ出力にアクセスする準備を整えており、更に、第2データパケットの第2データグループが既に第1ノードの出力に転送されているか、又は既に第1ノードから出力されているとき、本方法は、調停ステップの後に:
− 第1ノードの出力から第2データパケットを転送すること、及び
− 第2パケット全体を第1ノードの出力から転送した後で、第1ノードの出力から第1データパケットを転送すること
を含むことができる。
第1パケット及び第2パケットが関連付けられているチャネルよりも優先順位が高いチャネルに関連付けられる少なくとも1つの第3データパケットが、調停ステップの後且つ第2パケット全体の転送の前に第1ノードにアクセスし、第1ノードの前記出力にアクセスする準備を整えている場合、本方法は更に:
− 第1データパケットを第1ノードの出力に転送するステップの前に、前記第3パケット全体を第1ノードの出力に転送すること
を含むことができる。
第3データパケットのアクセスが、第2パケットの転送の前又は第2パケットの転送の間に行なわれる場合、本方法は更に、第1パケット全体を転送するステップの前に、前記第3パケット全体を第1ノードの出力に転送することができる。
ネットワークにおけるデータルーティングは決定論的なものにすることができる。
従って、第1パケット及び第2パケットがネットワークの第1経路及びネットワークの第2経路をそれぞれ辿るように設計される一実施形態によれば、本方法は更に、第1パケット及び第2パケットが送信される前に、第1及び第2経路を決定することができる。
ネットワークにおいて伝送されるデータパケットが使用するルート又は経路は、これらのデータを送信するリソース(群)によって割り当てられたものであってよい。
従って、この変形例の可能な一実施形態によれば、本方法は、ステップb)の前に:
− リソースが第1経路のデータを第1パケットに割り当て、第2経路のデータを第2パケットに割り当てること
を含むことができる。
パケットに割り当てられるルート又は経路は、ネットワーク内でパケットが辿る方向データの順番付きリストの形式にすることもできる。従って、前記第1経路のデータは、ネットワーク内で第1パケットが辿る方向データの第1の順番付きリストの形にすることができ、前記第2経路のデータは、ネットワーク内で第2パケットが辿る方向データの第2の順番付きリストの形とすることができる。
本方法の可能な一実施形態によれば、本方法は更に:
− 第1パケットを第1ノードの出力に転送する前に、方向データの第1の順番付きリストを第1ノードによって変更し、第2パケットを第1ノードの出力に転送する前に、方向データの第2の順番付きリストを変更する。
ネットワークは大域的に非同期とすることができる。従って、1以上のネットワーク要素、例えば1以上のノードを第1クロックによって制御しながら、1以上のネットワーク要素、例えば1以上のリソース、又は1以上の他のネットワークノードを第1クロックとは異なるクロックによって、又は第1クロックとは同期しないクロックによって管理することができる。従って、本発明は:
− 第1クロックに接続される少なくとも1つのリソース及び/又は少なくとも1つのノードを含む少なくとも1つの第1ネットワークブロックと、第1クロックから独立した第2クロックに接続される少なくとも1つの別のリソース及び/又は少なくとも1つの別のノードを含む少なくとも1つの第2ネットワークブロックと、を別々に製造すること、及び
− ネットワーク上で第1及び第2ブロックを組み立てる又は接続すること
ことを含む、ネットワークオンチップ設計方法を使用する。
一変形例によれば、ネットワークは大域的に非同期とすることができ、非同期要素、例えば非同期ノードを設けることができる。従って、1以上の要素、例えば1以上のノードが一つのクロックによって制御されないようにすることができる。非同期要素間の同期は局所的に、例えばいわゆる「ハンドシェーク」信号又は「送信/許可」式の信号によって行なうことができる。
本発明によるデータ転送方法の別の可能な実施形態によれば、本方法は更に、
− 少なくとも1つの第1ネットワーク要素、例えば第1ネットワークリソースによって、この第1リソースから出力までの少なくとも1つの第1データパケット及び少なくとも1つの第2データパケット間の転送順序を少なくとも1回調停し、その際の転送順序の決定は、この第1リソースが、少なくとも部分的に、第1パケット及び第2パケットが関連付けられている優先チャネルに基づいて行うこと
を含むことができる。
本発明はまた、ネットワークオンチップを構成する方法を提供し、本方法は、
− 第1クロックに接続される少なくとも1つのリソース及び/又は少なくとも1つのノードを含む少なくとも1つの第1ネットワークブロックと、クロックを持たない少なくとも1つの別のリソース及び/又はクロックを持たない少なくとも1つの別のノードを含む少なくとも1つの第2ネットワークブロックとを別々に設計すること、及び
− ネットワーク上で第1及び第2クロックを組み立てるか、又は接続すること
を含む。
本発明はまた、互いに通信する機能を有する複数の要素を備えるネットワークオンチップデバイスに関し、本デバイスは、データ処理機能を有する複数のリソースと、1以上の入力及び1以上の出力を備え、ネットワーク内の少なくとも2つの要素にデータを切り替える機能を有する1以上のノードとを含み、更に:
− 1以上の基本データグループを含むパケットの形式でデータを送信する機能を有するデータ送信手段、
− 1以上の基本データグループを含むパケットの形式でデータを受信する機能を有するデータ受信手段、
− 「送信/許可」式等の、非同期通信プロトコルを使用して同期信号を送信する手段であって、基本データグループの送信を伴うか又は送信に付随する少なくとも1つの第1のタイプの信号を送信する機能を有する手段、
− 前記非同期プロトコルに従って同期信号を受信する手段であって、基本データグループの受信の前に、少なくとも1つの第2のタイプの信号を受信する機能を有する手段、及び、
− 第2のタイプの同期信号の受信の後で、パケットの基本データグループの送信を承認し、第1のタイプの同期信号の受信の後で、パケットの基本データグループの受信を承認する手段
を備える。
デバイスの可能な一実施形態によれば、基本データグループの送信に関連付けられる第1のタイプの信号、及びこの基本データグループは、同時に送信することができる。
このようなデバイスの中を伝送されるデータパケットはそれぞれ、優先情報又は優先チャネル情報に関連付けることができる。前記非同期プロトコルは優先情報又は優先チャネル情報を含むことができる。
従って、同期信号送信手段によって送信され、データパケットの基本データグループの送信を伴う、前記非同期プロトコルに従う第1のタイプの信号は、データパケットが関連付けられた優先情報又は優先チャネル情報の少なくとも一部を含むことができる。
本発明によるデバイスの可能な一実施形態によれば、本発明は更に:
− 少なくとも1つの第1リソースであって、所定の優先チャネル群から選択される少なくとも1つの優先チャネルを、例えばこのパケットに含まれるデータのタイプに応じて、このリソースが送信する少なくとも1つのデータパケットに関連付ける機能を有する優先順位関連付け手段を含む第1リソース、
− 少なくとも1つの第1要素、例えば第1ノードを備え、更に、
第1ノードの入力に到達する、1つの優先チャネルに関連付けられる少なくとも1つの第1パケットと、1つの優先チャネルに関連付けられる少なくとも1つの第2データパケットとの間の、第1ノードの出力からの転送順序を決定する機能を有する調停手段を備え、このとき転送順序は、少なくとも、第1及び第2パケットがネットワークの該当するリソースによってそれぞれ関連付けられた優先チャネルに基づいて決定される。
ネットワークは大域的に非同期で動作することができる。
従って、デバイスの可能な一実施形態によれば、第1ノードを第1クロックで制御することができ、ネットワークは、第1クロックとは異なる、又は第1クロックとは同期しない第2クロックによって制御される少なくとも1つの第2ノードを含むことができる。
ネットワークオンチップデバイスには、1以上の非同期ノードを設けることができる。ネットワークオンチップデバイスの可能な一実施形態によれば、デバイスは、クロックによって制御されない1以上の非同期ノード、及びクロックによって制御される1以上の同期ノードを備えることができる。
ネットワークオンチップデバイスの可能な一実施形態によれば、前記第1リソースは更に:
− 第1リソースが送信する少なくとも1つのデータパケットに対し、ネットワーク内でこのパケットが辿る経路に関するデータを割り当てる機能を有する経路データ割り当て手段
を備えることができる。
対応するネットワークリソースによって、第1データパケット及び第2データパケットが、例えばパケットが辿る方向に関する第1の順番付きリストの形式の第1経路データ、及び例えばパケットが辿る方向に関する第2の順番付きリストの形式の第2経路データにそれぞれ関連付けられているネットワークの一実施形態によれば、第1ノードは更に:
− ネットワークリソースによって第1パケット及び第2パケットが関連付けられている経路データに、少なくとも部分的に又は全面的に応じて、前記第1パケット及び前記第2パケットをルーティングする機能を有するデータルーティング手段
を備えることができる。
ネットワークオンチップデバイスの一実施形態によれば、第1ノードは更に、経路データを記憶する手段を備えることができる。
ネットワークオンチップデバイスの一変形実施形態によれば、第1ノードは更に、経路データを変更する手段、例えばこれらのデータをシフトさせる手段を備えることができる。このシフトを使用して、隣接ノードの経路データを準備することもできる。
本発明の理解を助けるため、純粋に説明を目的とする非限定的実施例について、以下に添付図面を参照しながら説明する。
異なる図面の同様又は均等部品に同じ番号を付することで、異なる図面間の比較を容易にした。
図面の理解を容易にするため、図面の異なる部品は必ずしも同じスケールで示さない。
図1Aは、本発明に従って使用される、マトリックス又は「メッシュ」型トポロジイを使用する通信又はネットワークオンチップ(NoC)アーキテクチャの一実施例を示す。
このアーキテクチャは、データ処理能力、及び特にデータ交換による相互通信能力を有する複数の要素(参照番号110)を含む。このようなアーキテクチャに含まれる一群の要素110は、マスタとして機能し、特にネットワーク上の通信を開始するために使用される要素112を含むことができる。従って、「ネットワーク制御装置」と呼ばれるこの要素112は、計算等の基本データの処理、データ保存、又はデータのエンコーディング/デコーディングといったタスクを実行するのに使用される「リソース」と呼ばれる複数の他のネットワーク要素114の間における通信をプログラムすることができる。ネットワーク制御装置112は、例えばプロセッサ又はマイクロコントローラの形態で実施できる。マイクロコントローラによって実行される特定の機能には、計算及び割り込み管理が含まれる。各リソース114は汎用的なもの、例えばプロセッサ又はデジタル信号処理専用プロセッサ(DSP)の形態で実施しても、特殊なもの、例えばSRAM(Static Random Access Memory)等のメモリの形態で実施しても、例えば高速フーリエ変換(FFT)の計算に特化されるモジュールのような、又は例えばMPEG(Moving Pictures Expert Group)エンコーダ及び/又はデコーダモジュールのような特殊用途処理モジュールの形態で実施してもよい。ネットワーク構造内の各リソース114は、特にデータ処理及び/又は計算専用の「機能コア」と呼ばれる手段又は部品、及び「ネットワークインターフェース」と呼ばれ、ネットワークとの通信にリソース114によって使用される他の手段又は別の部品を備える。
ネットワークリソース114は互いに接続され、リンク115及びノード120を介してデータを交換する。また、ネットワークのリソース114を使用して、異なるデータアイテム又はこれらのデータアイテム内部の異なるデータストリームの転送順序を調停する。従って、各ネットワークリソースは、リソースが出力として送信する複数のデータパケットから、出力として最初に送信又は転送するデータパケットを決定することができる。
ノード120は、例えば1又は複数の着信リンクと1又は複数の発信リンクとの間にマルチプレクサを、及びリソース114間に通信切り替えを使用して、物理接続を設定するのに使用される。図1Aに示すいわゆる「メッシュ」型又はマトリックス型トポロジイでは、各ノード120は隣接する他の4つのノードに接続され、リソース114の一つに接続されるか又は関連付けられる。
データ切り替えを行なう場合、ノード120はデータルーティングに使用することができる。従って、ネットワークノードは、ネットワークノードが受信するデータ又はデータパケットの送信先となるべきネットワークのリンク又は隣接ノードを決定することができる。
ネットワークノード内部で行われるルーティングは決定論的なタイプとすることができる。この場合、ネットワークの各ノードは、ノードが受信するデータパケットに含まれるルーティング情報のみに基づいて、又は主にルーティング情報に基づいて1のデータパケットをルーティングすることができる。このルーティング情報は、データパケットがネットワークにおいて伝送される経路を示し、前記パケットに入力しておくか、又はこのパケットを送信したネットワークリソースによってパケットに割り当てておくことができる。
ネットワークノード120はまた、データ間の調停を行なう機能を備える。従って、各ネットワークノードは、ノードが受信する複数のデータパケットの内のいずれのパケットを最初に送信又は転送する必要があるかを決定しなければならない。各ネットワークノードは、ノードに到達するデータ間の全ての競合を管理し、例えば、ノードに到達し、このノードの同じ出力、又はこのノードに接続される同じリンクを使用するように振り向けられる複数のデータ又はデータパケットの内のいずれを前記出力又は前記リンクに最初に伝送するかを決定するように設計することができる。
有利には、各ノードは、ノードの複数の出力において、複数の転送順序又は複数のパケット転送競合を、可能であれば同時に、調停するように設計することができる。
ネットワークにおけるグローバルオペレーションモード又はグローバルデータ伝送モードは非同期とすることができ、これにより、ネットワーク内のデータ伝送又はデータ転送は、必ずしも全ノード及び/又は全ネットワークリソースに共通のグローバルクロックによって制御されることがない。従って、ネットワーク内の少なくとも2つのノード、及び/又は少なくとも1つのノード及び1つのネットワークリソースは、異なるクロックによって管理することができる。ネットワークの第1ブロック内の、1又は複数の要素、例えば1又は複数のノードを別のクロックによって制御しながら、ネットワーク内の1又は複数の他の要素、例えば第2ブロック内の1又は複数のノードを、第1クロックとは異なるクロックによって、又は第1クロックとは同期しないクロックによって管理することができる。一変形例によれば、ネットワーク内の1又は複数のノードは非同期とすることができ、クロックを設けなくてもよい。
本発明に従って使用されるネットワークオンチップアーキテクチャは図1Aに示すメッシュ型トポロジイに限定されず、ハイパーキューブ(hypercube)、ツリー(tree)、リング(ring)又はトーラス(torus)等、それ以外のあらゆるトポロジイを有することができる。
図1Bは、直前に記載したアーキテクチャの変形例を示しており、この場合、図1Aに示すメッシュには無い追加ノードが設けられている。
これらの追加ノードは、リソースに接続されず、ネットワークにおいて「パイプライン」として機能するリピータノード122と呼ばれる複数のノードを含む。これらのノード122は、ネットワークスループットを増大させることができる。
この変形ネットワークアーキテクチャは、遅延制限及びフロー制限が予め決められているか、又は予測される特定の用途又は処理群専用に構成されている。ネットワーク設計の段階では、他の補足ノード又は「特殊」ノード124を、ネットワークにおいてデータトラフィックが増加する特定の位置又はゾーン(図1Bの破線で示す)に加えている。これらの特殊ノード124によって、ネットワークは予め決められた、又は予測されるフロー制限及び遅延制限をサポートすることもできる。
図1Cは、直前に記載した複数のアーキテクチャの一つの変形例を示し、この場合、非同期ノード152又はクロックを持たないノードのセット150(図1Cの破線で示す)、を含んでおり、他の複数のセット132、134、136(破線で示す)間の分離線又は境界線を形成しており、各セットは同期ノード142、144、146を含むか、又はクロックによって管理される。
このようなネットワークアーキテクチャの変形例は、非同期ノードのみを含むアーキテクチャ、又はクロックを持たないアーキテクチャよりも更に小型化することができ、且つ短い期間で設計することができる。
上記ネットワークアーキテクチャのいずれにおいても、リソース114間で交換され、リンク115及びノード120を介して伝送されるデータは、データパケットの形式とすることができる。パケットは、一般的にフリットと呼ばれるデータグループ、又は複数の連続するデータグループ、或いは同じ経路を伝送される「フリット群」により構成することができる。1つのフリットは、ネットワークにおける基本データ伝送単位である。基本フリット又はデータグループに関連して、一定容量のリンク115、又は一つのリンク115に含まれる多数の物理接続又は配線接続がある。ネットワークを巡回するデータパケットは普通、パケットのヘッダを示す少なくとも1つのフリット、及びパケットの末尾を示す少なくとも1つのフリット、更には可能であれば、ヘッダフリットと末尾フリットとの間に1以上の中間フリットを含む。1つのデータパケットは、1つの基本データグループ及び1つのフリットにより構成することもできる。この場合、この1つのフリットは、パケットのヘッダ及び末尾の両方を示す。1つの基本データグループ又はフリットは、複数のビット、例えば34ビットにより構成することができ、特に、このフリットのパケット中の位置を示すために使用される「情報ビット」を含む。
「bop」(begin of packet)ビットと呼ばれる第1の情報ビットを使用して、例えばこの「bop」ビットが属するフリットがパケットのヘッダフリットであるかどうかを示すことができる。
「eop」(end of packet)ビットと呼ばれる第2の情報ビットを使用して、例えばこのビットが属するフリットがパケット末尾のフリットであるかどうかを示すことができる。
パケット先頭を示す「bop」情報及びパケット末尾を示す「eop」情報は、異なるエンコーディング方式により用いることができる。例えば、2ビット符号を使用して、これらの2ビットの値により、フリットがパケット末尾のフリットであるか、パケット先頭のフリットであるか、或いは中間フリットであるかどうかを示すことができる。
データパケットのフリットはまた、情報ビット以外に他の複数のデータビット、例えばデータ処理の計算に関する情報及び/又はアドレス情報、及び/又はリソース114の動作を構成するために使用されるプログラミング情報を含む別の32ビットを含むことができる。
位置情報ビットとは別の、データパケットのヘッダフリットは、「コントロールビット」と呼ばれる複数の特定ビット、例えば14のコントロールビットを含み、このヘッダフリットを受信するリソースの構成及び/又はリソースに対するコマンド、例えばデータ書き込みコマンド又はデータ読み出しコマンドを示す。
データパケットのヘッダフリットはまた、他の複数の特定「ルーティングビット」、例えば18のルーティングビットを含む。ヘッダフリットにおいて、ルーティングビットは、このヘッダフリットが属するデータパケットがネットワークにおいて使用する完全な経路となり得る一つの経路を示す。この経路は、各方向データが複数のビットでエンコーディングされた、方向データの順番付きリストの形式で表わされる。
例えば、図1を参照して説明したものと同様のメッシュ型トポロジィを有するネットワークでは、ネットワークノードを「北」隣接ノード、「東」隣接ノード、「南」隣接ノード、及び「西」隣接ノード、及びリソースにそれぞれ接続することができ、方向データアイテムは2ビットでエンコーディングすることができる。次に、2ビットのこの方向データアイテムは、例えばこれらのビットの値が「00」の場合は「北」方向を、「01」の場合は「東」方向を、「11」の場合は「南」方向を、「10」の場合は「西」方向を示すことができる。従って、例えばパケットが18のルーティングビットを含む場合、それぞれ2ビットでエンコーディングされた9つの方向のリストを提供することができる。2つの同じ方向データ、例えばリスト中の2つの連続する値「11」及び「11」、又はリスト中の2つの連続する値「10」、「10」が、パケットをリソースにルーティングする必要があることを示すように構成することができる。
データパケットをルーティングするために、ネットワークノードが一つのパケットを受信する場合、各ノードが、順番付き方向リストの所定の位置に位置する方向データ、例えばリストの最後に位置する方向データを読み出すか又はデコーディングし、次に隣接ノードのために順番付きリストの順番を変更するか又はシフトして、シフトの後に前記所定の位置に位置する別の方向データが、前記次の隣接ノードが行なうべきルーティングを表示するように構成することができる。
従って、例えばパケットが18のルーティングビット、及び各方向が2ビットでエンコーディングされた9つの方向のリストを含む場合、各ネットワークノードは、パケットを受信すると、2つの低次ルーティングビットを読み出すか又はデコーディングし、次いで次のノードのためにルーティングビットの順番を変更することにより、シフト前に2つの低次ビットの前に位置していた2つのルーティングビットが、シフト後に2つの低次ビットとなるように構成することができる。
上述のように、特にパケット内のルーティングビットの数を減らすために、ルーティングビットに特定の符号を使用してノードに通知することによりデータパケットをリソースに向けてルーティングさせることができる。
各ネットワークノードは、パケットを受信すると、このパケットの順番付き方向リストの最後に位置する第1の方向データを読み出すか又はデコーディングし、次いで方向データの順番付きリストの次の方向データを読み出してデコーディングし、次の方向データが第1の方向データと同じ場合にはパケットを該当するリソースに向けてルーティングするように構成することができる。
従って、例えばパケットが18のルーティングビット及び各方向が2ビットでエンコーディングされた9つの方向のリストを含む場合、ネットワークノードは、パケットを受信すると、2つの低次ルーティングビットを読み出すか又はデコーディングし、次いで2つの低次ルーティングビットに続く2つのルーティングビットを読み出すか又はデコーディングし、2つの低次ルーティングビット及び2つの低次ルーティングビットに続く2つのルーティングビットが同じである場合、パケットをノードの接続先のリソースに向けて転送するように構成することができる。
上述のように、ネットワークにおけるデータパケットのルーティングに関し、ネットワークは決定論的なタイプとすることができる。従って、データパケットの送信の前に、リソースはこのデータパケットが辿ることになる経路を設定することができる。この操作を行なうために、リソース属性によって、例えばリソースが送信するデータパケットのヘッダフリットのルーティングビットに一定の値を割り当てることができる。
時間tにおいて第1ネットワークリソース114aが第1データパケットを第2ネットワークリソース114bに送信する場合、第1データパケットは、第1リソース114aによって設定された、第1リソース114aと第2リソース114bとの間の経路(図1Bの破線矢印116で示す)を使用することができる。次に、第1データパケットが到達するネットワークノードは、ヘッダフリットのルーティングビットのみに基づいて、又は主にルーティングビットに基づいて、この第1データパケットをルーティングする。第1リソース114aによって、時間tとは異なる別の時間tに、第2リソース114bに対して行われる第2データパケットの別の送信には、異なる経路(図1Bの矢印117で示す)を設定することができる。
例えばネットワーク制御装置又はネットワーク外部のプロセッサによって事前にルーティング計算を行うことにより、所定のネットワークリソースは、このリソースが送信するパケットに、このパケットがネットワークにおいて辿る経路に関するデータを割り当てることができる。
この計算は、例えば非特許文献5に記載されているような、一般的に「デッドロックフリー」アルゴリズムと呼ばれる適応型ルーティングアルゴリズムを使用して行なうことができる。計算が行われると、ネットワーク制御装置は計算結果を所定のリソースに送信することができる。
この結果に応じて、例えばこのパケットのヘッダフリットのルーティングビットに一定の値を割り当てることにより、所定のリソースはデータパケットに経路を関連付ける。
処理又は適用の間に前述の複数のネットワークの一つを通過するデータストリームは、例えば非特許文献6に記載されているような一般に「ワームホール」と呼ばれるタイプとすることができる。このタイプのデータストリームの場合、ヘッダフリットによってまず、送信リソースが受信リソースに向けて送信するデータパケットにおける、送信リソースと受信リソースとの間の経路が決まり、ヘッダフリットの後には1以上の中間フリットが続くことができ、ヘッダフリットによって以前に使用されたネットワークノード群に分布する。末尾フリットは、データストリームが辿る経路を閉じる。
データ送信ネットワークの要素、例えば第1ノードと、データ受信ネットワークの要素、例えば第2ノード又はリソースとの間の同期メカニズムを図2のタイムチャートに示す。送信要素と受信要素との間のデータ転送は「送信/許可」と呼ばれる同期型プロトコルによって管理され、それによりデータパケットの所定のフリット又は基本データグループが送信要素によって送信され、同時に前記パケットのこの所定のフリットに先行する別のフリットが受信要素によって受信される。
タイムチャートの曲線200及び210は、送信要素と受信要素との間で交換される同期信号を表わす。曲線220は送信要素と受信要素との間で交換されるデータを表わす。
このタイムチャートでは、「send」信号と呼ばれる、送信要素から送出される送信信号200は、時間tにおいて、例えばこの「send」信号が高い状態に変化するとき、データが送信されることを受信要素に通知する。受信要素から送出される「accept」信号と呼ばれる許可信号210は、例えばこの時間tにおいて高い状態になっていることによって、受信要素がこのデータを受信する準備が整っていることを通知する。従って、曲線220に示すように、送信要素が第1データグループ又は第1フリットを送信し、受信要素が受信する(第1フリットは曲線220の部分221によって表わされる)。
「bop」信号を表わすタイムチャートの曲線250は、時間tにおいて高い状態に変化し、第1フリットの間は高い状態を維持する。この「bop」信号は、第1フリットがヘッダフリットであることを示す。次に送信要素は、第2フリット、続いて第3フリットを送信し、受信要素が受信する(送信される第2フリット及び第3フリットは曲線220の部分222及び223によってそれぞれ表わされる)。
時間tでは、受信要素が送出する「accept」信号210が状態を変え、例えば低い状態になる。次に、受信要素はデータの受信を中止する。送信要素は4番目のフリット(曲線220の部分224)を送信しようと試みるが、受信要素はこの4番目のフリットに関する許可信号を送信要素に返信しない。例えば受信要素が同期ノードである場合、このノードは4番目のフリットを使用しようと待機しながらこのフリットを受信し、記録することができる。例えば受信要素が非同期ノードである別の場合においては、このノードは4番目のフリットを送信要素に置いたままとすることができ、この4番目のフリットの受信確認を行わない。
このように送信を試行した後、時間tにおいて送信要素はデータの送信を中止する(曲線220の部分229)。
受信要素は再度、時間tにおいてデータ送信の準備が整う。この様子は、状態を変える、例えば高い状態に変える「accept」信号(曲線210)により示される。この時間tから、受信要素は、次に4番目のフリットを受け入れることを通知する。これにより、送信要素はデータを再度送信することができる。時間tから、要素は4番目のフリットを送信し(曲線220の部分225)、次に5番目のフリットを送信し(曲線220の部分226)、これらは受信要素によって受信される。図示のように、「eop」信号を表わす曲線240では、時間tにおいて5番目のフリットがパケット及び送信データの末尾をマークする。
次に、ネットワークを伝送される各データパケットは、少なくとも2つの異なる仮想チャネル、例えば2つの異なる仮想チャネル又は3つの異なる仮想チャネルから成る所定のリストから選択される「仮想チャネル」と呼ばれる優先順位又は優先チャネル情報に関連付けることができる。各仮想チャネルは優先順位又は優先番号に関連し、特にこのパケットがリソースの出力に到達するとき、又はこのパケットがネットワークのノードに到達するときの、パケット転送順序の調停に関して、データパケットが関連付けられる優先度をデータパケットに割り当てる。
データパケットは、このパケットをネットワーク内で送信したリソースによって仮想チャネルに関連付けられる。
データパケットが関連付けられている優先チャネル情報の少なくとも一部を、図2を参照して上述した「送信/許可」タイプの同期プロトコルの同期信号、特に送信されるパケットの基本データグループに伴う「send」タイプの信号に含めることができる。従って、第1優先チャネルに関連付けられる第1パケット、及び第1チャネルとは異なる優先順位を有する第2チャネルに関連付けられる第2パケットには、同期信号、特に異なる「send」タイプの信号を続けることができる。
第1ネットワーク要素、例えば第1リソースでは、この第1リソース内部の、例えば所定の優先順位を有する第1チャネルに関連付けられる第1データパケットを、この第1リソースの出力から転送することができ、その際第1データパケットの転送は、この第1リソースの別のデータパケット、例えば第1チャネルよりも優先順位が低い第2チャネルに関連付けられる別のデータパケットに優先して行われる。
例えば、第1ネットワークノードでは、この第1ノードにアクセスする第1データパケットであって、例えば所定の優先順位を有する第1チャネルに関連付けられる第1データパケットを、特に第1パケット及び他のパケットが第1ノードの同じ出力へアクセスしようとしている場合、例えば第1チャネルよりも優先順位が低い第2チャネルに関連付けられる別のデータパケットに優先して、このノードの出力から転送することができる。
第1チャネルに関連付けられている第1パケットが第1ノードにアクセスするとき、第1ノードの出力から、第2チャネルに関連付けられている他のパケットの転送が既に始まっている場合、第1パケットを他のデータパケットに優先して転送することもできる。
仮想チャネルの可能な一実施形態によれば、3つの異なる仮想チャネル、例えば最高優先順位の第1チャネル、第1チャネルよりも低い優先順位の第2チャネル、及び第1及び第2チャネルよりも低い優先順位の第3チャネルを設けることができる。
データパケットと仮想チャネル又は優先チャネルとの関連付けは、特にこのパケットに含まれるデータのタイプによって決まる。
例えば、第1チャネルを第1のデータタイプ、すなわち割り込みデータを含むデータパケットのために予約することができる。次に、例えば第1データタイプよりも低い優先順位の第2のデータタイプ、例えばリソースに関するプログラミングデータ又は動作コンフィグレーションデータを含むデータパケットのために第2チャネルを予約することができる。第3チャネルは、例えば第1タイプ及び第2タイプよりも低い優先順位の第3データタイプ、例えばリソースにアドレス指定された、これらのリソースが実行する計算又は処理に関連するデータを含むデータパケットのために予約することができる。
データパケットと仮想チャネル又は優先チャネルとの関連付けはまた、特にこのパケットに関連するサービスのタイプによって決まる。
仮想チャネルを使用してネットワークの異なるデータ転送サービス、例えば「ベストエフォート」サービスと呼ばれる、帯域又はネットワーク接続がリソース間でほぼ均等に共有又は分散される少なくとも1つのサービス、及び「遅延保証」サービスと呼ばれ、このサービスに関連するデータがネットワーク内で、例えば第1リソースから第2リソースへ、好適には一定の時間で、又はほぼ一定の時間で転送される少なくとも1つのサービスを提供することができる。
従って、2つの仮想チャネルを備える実施形態の場合、最高優先順位チャネル、例えば第1チャネルを使用して遅延保証サービスを提供し、同時に第1チャネルよりも低い優先順位の第2チャネルを使用して「ベストエフォート」型サービスを提供することができる。
一変形例では、上記の3つの仮想チャネルを有する実施例により、最高の優先チャネル、例えば第1チャネルを使用して、優先データタイプ、例えば割り込みデータを含むデータパケットに関連する遅延保証サービスを提供することができる。第2チャネル及び第3チャネルを使用して、「ベストエフォート」サービスを提供することができ、第2チャネル及び第3チャネルを第1チャネルよりも低い優先順位のデータタイプ、例えばコンフィグレーションデータを含むデータパケットにまず関連付け、次に第1チャネル及び第2チャネルよりも低い優先順位のデータタイプ、例えば計算データを含むデータパケットに関連付けることができる。
特に、複数のパケットがネットワークの同じノードにアクセスするとき、仮想チャネルに関連付けられるデータパケット、例えば第1仮想チャネルに関連付けられる第1データパケットは、相対的に低い優先順位の別の仮想チャネルに関連付けられる別のデータパケット、例えば第1チャネルよりも低い優先順位の第2チャネルに関連付けられる第2データパケットに割り込むことができる。従って、第2チャネルに関連付けられる第2パケットの1以上のフリットがノードを既に通過している場合でも、第2パケット全体がノードを通過する前に、第1チャネルに関連付けられる第1パケットの1以上のフリット、或いは全てのフリットがノードを通過できる場合が生じ得る。
別の可能な構成では、同じ優先チャネルに関連付けられている2つのデータパケット、例えば第1チャネルに関連付けられる第1データパケット、及びやはり第1チャネルに関連付けられている第3データパケットは、特にこれらのパケットがネットワークの同じノードにアクセスするときに、互いに割り込むことがない。
次に、本発明に従って使用される、ネットワークオンチップにおける例示的伝送方法又はデータ転送方法について図3A〜3Fを参照しながら説明する。
特に、このデータセットは、ノード340、350、360を含むネットワーク部分を通過し、これらのノードの各々には、複数の入力、例えば4つの入力、及び複数の出力、例えば4つの出力(図3A〜3Fでは各ノードの「北」入力及び「東」入力のみを示す)が設けられている。
前記データセットは、特にヘッダフリット312とその後に続く第2フリット314、次いで第3フリット316、及び第4フリット318を含む第1データパケット310を含む。このデータセットはまた、第2データパケット320及び第3データパケット330を含み、これらのパケットの各々も、第2データパケット320のヘッダフリット322及び第3データパケット330のヘッダフリット332を含み、第2データパケット320の場合324、326、328で示す3つの他のフリット、及び第3データパケット330の場合334、336、338で示す3つの他のフリットが続いている。
第2パケット320及び第3パケット330はそれぞれ第1仮想チャネルに関連付けられ、第1パケット310は、前記第1仮想チャネルよりも低い優先順位の第2仮想チャネルに関連付けられる。
同じネットワーク部分において第1パケット310、第2パケット320、及び第3パケット330が辿るそれぞれの経路を、図3Aの矢印線311、321、331でそれぞれ示す。
第1パケット310及び第2パケット320はネットワークの第1ノード340にアクセスする準備をしており、この第1ノード340の異なる出力を使用してネットワークの異なるリンクに向かう。
第1パケット310は、特に第1ノード340に、次に第1ノード340に隣接する第2ノード350にアクセスするように振り向けられている。第3パケット330は、第1ノード340に隣接する別のノード360にアクセスする準備をし、次いでやはり第1ノード340に、次に第2ノード350にアクセスするように振り向けられている。
図3Bでは、第1パケット310及び第3パケット330の転送が始まっており、これらのパケットの各々が既に第1ノード340にアクセスしている。一方、第2パケット320は依然として第1ノード340にアクセスする準備をしている。このとき、第1ノード340において第1パケット310と第3パケット330との間の調停を行ってこれらのパケットの各々の転送順序を決定することができる。
第1パケット310のヘッダフリット312及び第2フリット314は既に第1ノード340を通過して第2ノード350にアクセスしており、同時にこの第1パケット310の第3フリット316は第1ノード340にアクセスし、第2ノード350に向かって第1ノード340の出力に転送されようとしている。第1パケット310の第4フリット318は第1ノード340にアクセスする準備をしている。
同時に、第3パケット330及び特にこのパケットのヘッダフリット332も第1ノード340にアクセスしている。第1パケット310の第3フリット316と同じように、このヘッダフリット332は第2ノード350に向かって第1ノード340の出力に転送されようとしている。
第3パケット330のヘッダフリット332及び第1パケット310の第3フリット316は第1ノード340の同じ出力に向かうので、第1パケット310と第3パケット330との間に競合が生じる。
第3パケット330は、第1パケット310が関連付けられている第2チャネルよりも優先順位が高い仮想チャネルに関連付けられているので、第2ノード350への第1パケット310の転送は中止される。特に、第1パケットの第3フリット316を中止する(中止は図3Cの×印により示す)。第1ノード340では、中止により、図2を参照して上述した「送信/許可」プロトコルに従って許可信号が低い状態に変化する。
同時に(図3C)、第3パケット330の転送が継続するので、第3パケットのヘッダフリット332が第2ノード350にアクセスし、第3パケット330の第2フリット334が第1ノード340にアクセスする。
また同時に、第1ノード340が行なう調停によって、第2パケット320の転送も継続されるので(図3C)、第2パケット320のヘッダフリット322が第1ノード340にアクセスする。
第1パケット310の第2ノード350への転送は中止されるが、調停の前に第1ノード340に未だアクセスしていなかった第1パケット310の第4フリット318も第1ノードにアクセスすることができる。調停の前に未だ第2ノード350にしかアクセスしていなかった第1パケット310の第2フリット314は移動し、第2ノード350から出て行くことができる(図3Cのブロック314まで続く矢印線で第2フリットの移動を示す)。
従って、第1パケット310は、高い優先チャネルに関連付けられる第3パケット330によって2つの部分に分離される。従って、第3パケット330の一部が第1ノード340に位置し、別の部分が別のリンク又は第1ノード340に隣接しない別のノード(図3Cには示さず)に位置する。
第2パケット320及び第3パケット330は、第1ノード340の出力で異なるノードにアクセスするように振り向けられるので、これらのパケットは競合しない。次に、第2パケット320の転送及び第3パケット330の転送が、図3Dに示すステップの間に継続する。同時に、第1ノード340の出力において、第2ノード350にアドレス指定された第1パケット310の転送は、依然として中止されたままである。
第2パケット320の場合、この第2パケット320の第2フリット324は、このステップの間に第1ノード340にアクセスし、ヘッダフリット322はこの第1ノード340の出力に転送される。
第3パケット330の移動に関し、第3パケット330のヘッダフリット332は第2ノード350を既に出ており、第3パケット330の第2フリット334は第1ノード340を既に出て第2ノード350にアクセスしており、更に第3フリット336は第1ノード340にアクセスする(図3D)。
次に、第3パケット330全体が第1ノード340から送出され、第2パケット320と競合していた出力を解放する。次に、第1ノード340の出力からの第2パケット320の転送が、図3Eに示すステップにおいて再開される。次に、第1パケット310のフリット316が第2ノード350にアクセスする。同時に、第3パケット330の移動が継続する。第3パケットの第4フリット338、すなわち最後のフリットは、既に第2ノード350にアクセスしている。
図3Fに示すステップによれば、第1ノード340の出力からの第1パケット310の転送は、第2パケット320及び第3パケット330の転送後に完了する。この第1パケット310全体は第1ノード340の出力から転送され、完全な状態で第2ノード350に到達できる。第1ノード340の出力からの第2パケット320の転送も完了する。第2ノード350の出力からの第3パケット330の転送も完了する。
次に、本発明に従って使用するネットワークオンチップの例示的ノード400について、図4A〜4Cを参照しながら説明する。このノードには、前記ネットワークの他のノードのクロックとは独立したノード固有のクロック(図示せず)を設けることができる。
このノード400は、5つの入力/出力ユニット410、420、430、440、450(図4Aに示す)を含み、各ユニットは、それぞれ入力/出力モジュール460、470、480、490、500に接続される(図4Bに示す)。
これらの入力/出力ユニットは、「北」ユニット410、「東」ユニット420、「南」ユニット430、及び「西」ユニット440を含み、各ユニットは、ノード400に隣接する、ネットワークの別のノードに接続することができ(他のノードは図4A〜4Cに示さない)、このような他のノードとデータ交換及び/又は同期信号交換を行なうように構成することができる。
ノード400のもう1つの入力/出力ユニット450は、ネットワークリソース(図4A〜4Cには示さない)に接続することができ、このリソースとデータ交換及び/又は同期信号交換を行なうように構成される。
図4Aに詳細を示す「西」ユニット440と同様に、ノード400の各入力/出力ユニットは:
− 1又は複数の入力、例えば対応する入力モジュール(入力/出力モジュール、特にこの図には示さない「西」入力/出力モジュール)に接続される2つの入力441a、441bであって、図2を参照してその動作機構を上記に説明した「送信/許可」タイプのプロトコルに従ってノード400に隣接するネットワークの別のノード(図示せず)から生じた「send」タイプの同期信号を受信するように設計される入力、
− 対応する入力/出力モジュールに接続された、前記他のノードからデータ又はフリットを受信するように設計される少なくとも1つの入力445a、
− 1又は複数の出力、例えば対応する入力/出力モジュールに接続される2つの出力444a、444bであって、同じ「送信/許可」プロトコルを使用してネットワークの前記他のノード(図示せず)に「accept」タイプの同期信号を送信するように設計される出力、
− 1又は複数の出力、例えば対応する入力/出力モジュールに接続される2つの出力442a、442bであって、同じ「送信/許可」プロトコルに従ってネットワークの前記他の隣接ノードに「send」タイプの同期信号を送信するように設計される出力、
− 対応する入力/出力モジュールに接続された、データ又はフリットを前記他のノードから受信するように設計される少なくとも1つの出力445b、及び
− 1又は複数の入力、例えば対応する出力モジュールに接続された2つの入力443a、443bであって、同じ「送信/許可」プロトコルに従ってネットワークの別のノード(図示せず)から送出される「accept」タイプの同期信号を受信するように設計される入力
を含むことができる。
図4Bには、ノード400と、このノードの5つの入力/出力モジュール460、470、480、490、500と、及びこれらの入力/出力モジュールの各々が接続される中央モジュール510が示されている。この図4Bの矢印線は、ノード400を通過するデータ又はフリットがノード400内で辿る経路を表わす。
これらの入力/出力モジュールは、「北」入力モジュール461と「北」出力モジュール468を備える「北」モジュール460、「東」入力モジュール471と「東」出力モジュール478を備える「東」モジュール470、「南」入力モジュール481と「南」出力モジュール488を備える「南」モジュール480、「西」モジュール490、及び、入力モジュール501と出力モジュール508を備える別のモジュール500を含む。5つの入力/出力モジュール460、470、480、490、500は、「北」入力/出力ユニット410、「東」入力/出力ユニット420、「南」入力/出力ユニット430、及び「西」入力/出力ユニット440に接続される(これらの入力/出力ユニットは図4Bに示さない)。
入力/出力モジュール460、470、480、490、500に接続される中央モジュール510は、特にノード400に隣接する他のノードとやり取りする「accept」タイプの同期信号及び/又は「send」タイプの同期信号の生成又は処理に使用される。また、中央モジュール510はまた、ノード400に達するデータパケットをルーティングし、これらのパケットの各々が転送される際に通過するノード400の対応する出力を決定するのに使用することができる。
ノード400に到達するデータパケットは、このノード400により、パケットがネットワーク内で辿る方向データの順番付きリストの形を採ることができるルーティング情報に応じて、上述のようにルーティングすることができる。
このルーティング情報はパケットヘッダにのみ格納することができる。従って、ノード400は、パケット末尾を表わす「eop」情報又は「eop」信号が未だノードに到達していない場合に限り、パケットルーティング情報を維持することができる。それに関するパケット中の特定のルーティング情報を取り出した後で、ノード400はこの特定のルーティング情報を消去することができる。
ノード400を使用して、ノードがデータパケットを受信するとき、何らかのルーティング情報、例えば方向データの順番付きリストの末尾に位置する方向データを読み出すか、又はデコーディングし、次に方向の順番付きリストを変更して、特に前記パケットの経路のノード400の後ろに位置する隣接ノードに対してルーティングの準備をする。上述のように、この準備は、方向データの順番付きリストをシフトさせることにより行なうことができる。
また、ノード400の中央モジュール510を使用して、ノードに到達する複数のフリット又はパケットの転送順序を決定することにより、データ調停を行なうことができる。
上述のように、複数のデータパケット間の調停は、これらのデータパケットの各々が関連付けられている仮想チャネルに少なくとも部分的に基づいて実行する。中央モジュール510は、異なる優先チャネルの差別化を、例えば各仮想チャネルに異なる「send/accept」同期信号を関連付けることにより行なうことができる。
複数のデータパケットの転送順序の決定は、これらのパケットが異なる優先順位のチャネルに関連付けられている場合、それぞれの仮想チャネルのみに基づいて行うことができる。
また、複数のデータパケットの転送順序の決定は、これらのパケットの一部が同じ優先順位のチャネルに関連付けられている場合、「動的」調停を使用して行うことができる。このようなタイプの調停の場合、前記パケットがノード400の入力に到達する順番も考慮に入れる。この動的調停は、例えば「先着順」方式とすることができ、ノード400が、特に例えば同じ優先チャネルに関連付けられた、ノードに到達する複数のデータパケットの転送順序を決定することができる。
仮想チャネルを使用して行われる調停に加えて、ノード400は、「静的」タイプの調停を使用する転送順序も使用することができる。このタイプの調停の場合、ノード400は、どの隣接ノードから前記データパケットが到達するのか、又はノード400のどの入力にパケットが到達するのかを考慮する。このタイプの静的調停を、特に仮想チャネルを使用して行われる調停に加えて使用し、例えば同じ仮想チャネルに関連付けられ、且つ同時又はほぼ同時にノード400にアクセスする複数の異なるパケットの転送順序を決定することができる。
例えば、このような静的調停は「北/東/南/西」タイプとすることができ、このタイプでは、ノード400の「北」入力から送出されるパケットは、ノード400の「東」入力に第1パケットと同時に到達する同じ仮想チャネルの第2パケットに優先し、第2パケット自体は、ノード400の「南」入力に第2パケットと同時に到達する同じ仮想チャネルの第3パケットに優先する。
ノード400の一つの可能な動作は次のように行われる。第1データパケットのヘッダフリットが入力を通ってノード400に到達すると、このパケットの転送先であるノード400の出力は、前記第1パケットのヘッダに含まれるルーティング情報に応じて決定される。次いで調停機能が起動される。
前記出力に競合が生じない場合、例えばこの出力を使用する他のパケット又はこの出力を使用する準備の整った他のパケットがない場合、第1パケットはこの出力に送信又は転送される。
前記出力にアクセス競合が生じる場合、例えば第1パケットと同じ仮想チャネル又は第1パケットよりも優先順位の高い仮想チャネルの第2パケットが既にこの出力を使用している場合、ノード400の出力への第1パケットの転送は遮断又は中止される。「accept」タイプの同期信号を低い状態に設定し、第1パケットの送出元であるノード400の隣接ノードに送信する。第1パケットの転送は、前記第2パケットの全フリットがノード400を通過したときに再開することができる。
前記出力に競合が生じている別の場合、例えば第1パケットと同じ仮想チャネルに属する第2パケットの別のヘッダフリットが同時にこの出力を使用する準備を整えている場合、例えば「北」、「東」、「南」、「西」タイプの静的調停を、第1パケットと第2パケットとの間で行なう。
前記出力に競合が生じており、且つ第1パケットよりも優先順位の低い仮想チャネルに属する第2パケットが既にこの出力を使用している場合、ノード400の出力からの第2パケットの転送は遮断される。次に、第1パケット全部をノード400の出力から送信する。その後、前記第2パケットの転送を必要に応じて再開することができる。
前記第2パケットの全てがノード400の出力から転送される前に、前記第2パケットのチャネルよりも優先順位の高いチャネルに関連付けられる一つ以上の他のパケットがノード400の入力にアクセスする場合であって、且つこれら他のパケットが第2パケットと同じ出力を使用する場合、第2パケットに優先して前記他のパケット全体をノード400の出力に転送する。
前記他のパケットが前記第1パケットのチャネルよりも優先順位の高いチャネルに関連付けられており、前記第1パケットの全てがノード400の出力に転送されてしまう前に、これら他のパケットがノード400の入力にアクセスする場合であって、且つこれら他のパケットが第1パケットと同じ出力を使用する場合、第1パケットよりも先に前記他のパケットを全てノード400の出力に転送する。
ノード400の中央モジュール510、及び入力/出力モジュール、例えばノード400の「西」モジュール490の構造を図4Cに示す。
「西」入力/出力モジュール490は入力モジュール491を含み、このモジュールには、ノード400に隣接する別のノード(図示せず)から送出される「send」タイプの同期信号を受信するように設計された入力441a及び441bが接続される。
入力モジュール491はまた、前記他のノードから送出されるフリットを受信するように設計された入力445aに接続される。入力モジュール491はまた、前記他の隣接ノードから送出される「accept」タイプの同期信号を受信するように設計された出力444a及び444bに接続される。非同期の「送信/許可」プロトコルに従って同期信号を受信及び送信するための2つの入力441a及び441bと、2つの出力444a及び444bとを備える本実施例の場合、2つの異なる仮想チャネルの中から選択される仮想チャネルをパケットに割り当てることができる。
入力モジュール491は、マルチプレクサ492a、492bと、例えばFIFO(先入れ先出し)ユニット493a、493b、及び493c、493dの形態のバッファメモリとを備える。これらのFIFO493a、493b及び493c、493dによって、上述した同期機構の動作が、急発進及び急停止すること無く可能になる。上述のように、ユニット494を使用してパケットルーティング情報をシフトさせることができ、特にこのルーティング情報に含まれる方向データの順番付きリストをシフトさせることができる。
また、入力モジュール490にステートマシンとして機能する手段497を設けることにより、FIFO493a、493b及び493c、493dの充填率を使用して、特に入力パケットのスケジューリング及び可能であればこれらのパケットへの割り込みを管理する。
組み合わせ計算手段495を設けることにより、ステートマシンに応じて、他の隣接ノードに送信される「accept」タイプの信号を生成する。
入力モジュール490にはまた、着信データパケットを保存する手段496a、496bを設け、特にこれらのパケットのルーティング情報を記憶し、更に手段497a、497b、497c、例えばマルチプレクサを設け、「send」タイプの同期信号及びこのパケットに関連付けられたパケット先頭の「bop」ビットに応じて、着信パケットの経路を選択する。
ノード内部の同期信号と、例えば別のノードから送出される「send」タイプ及び/又は「accept」タイプの非同期信号との間のインターフェースとなるモジュール(図4Cには示さず)も使用することができる。
一実施形態によれば、このようなモジュールには、例えばFIFO及び再同期化クロックを設けることができる。
別の実施形態によれば、このようなモジュールは、非特許文献7に記載されているインターフェースと同様のインターフェースを含むことができる。このモジュールによって、ノードに入力されるデータの完全性を保証することができる。
このようなインターフェースモジュールは、ノード400の接続先であるリソース(図示せず)にも設けることができる。
「西」入力/出力モジュール490は出力モジュール498も含み、このモジュールには、ノード400に隣接するノードからの「accept」タイプの信号を遅延させるように設計された2つのバッファメモリ499等の手段が設けられる。ノード内部の同期信号と、非同期信号との間のインターフェースとなるモジュール(図4Cには示さない)も出力モジュール498に組み込むことができる。
中央モジュール510は調停兼データ切り替え手段511を含み、この手段の動作は上述の通りとすることができる。調停兼データ切り替え手段511は多重化手段513を制御して、ノード400に到来するデータをこのノードの入力/出力モジュールの一つに振り向ける。
直前に示したノード400は、例えばST Microelectronics社による「HCMOS9」技術を使用して、同期ロジックの中で実現することができる。このようなノード400は、高い動作周波数、例えば約200MHzの動作周波数を有することができる。
このようなノードを構成するために必要なメモリレジスタの数は少なくすることができ、例えば入力モジュール461、471、481、491、501のFIFOには32ビットレジスタが20あればよく、ルーティング情報を記録するためには2ビットレジスタが10あればよい。このような少数のレジスタによってノード400の消費電力を減らすことができるので、ノード400と同じタイプのノードを備えるネットワークの全消費電力は、先行技術によるデバイスを用いる場合よりも小さくなる。
上述したノード400の一変形実施形態によれば、このノードはクロック無しで構成することができる。
上述したノード400は非同期で内部動作することができ、例えばFULCRUM社製のPivotPoint(登録商標)を使用して実現することができる。この場合、ノードは、ネットワークの他のノード又はリソースと、4段階式同期プロトコルを使用して交信するように設計することができる。
本発明に従って使用されるネットワークオンチップアーキテクチャの一実施例を示す。 本発明に従って使用されるネットワークオンチップアーキテクチャの一実施例を示す。 本発明に従って使用されるネットワークオンチップアーキテクチャの一実施例を示す。 本発明によるネットワークオンチップにおいて「送信/許可」タイプのプロトコルを使用する同期機構であって、データの送信要素と前記データを受信する要素との間の同期機構を示すタイムチャートの一実施例を示す。 データ転送方法の一実施例の一ステップを示す。 データ転送方法の一実施例の別の一ステップを示す。 データ転送方法の一実施例の別の一ステップを示す。 データ転送方法の一実施例の別の一ステップを示す。 データ転送方法の一実施例の別の一ステップを示す。 データ転送方法の一実施例の別の一ステップを示す。 本発明に従って使用するネットワークオンチップにおけるデータ切り替えノード構造の一実施例を表わす。 本発明に従って使用するネットワークオンチップにおけるデータ切り替えノード構造の一実施例を表わす。 本発明に従って使用するネットワークオンチップにおけるデータ切り替えノード構造の一実施例を表わす。
符号の説明
110 ネットワークの要素
112 制御装置
114 リソース
115 リンク
120 ノード
122 リピータノード
124 特殊ノード
132、134、136、150 ノードのセット
152 非同期ノード
310 第1データパケット
312、314、316、318 第1データパケットのフリット
320 第2データパケット
322、324、326、328 第2データパケットのフリット
330 第3データパケット
332、334、336、338 第3データパケットのフリット
311、321、331 第1、2及び3データパケットの経路
400 ノード
410、420、430、440、450 入力/出力ユニット
460、470、480、490、500 入力/出力モジュール
441a、441b、443a、443b、445a 入力/出力ユニットの入力
442a、442b、444a、444b、445b 入力/出力ユニットの出力
510 中央モジュール

Claims (32)

  1. 互いに通信する機能を有する複数の要素により形成されるネットワークオンチップにおけるデータ伝送方法であって、複数の要素は、データを処理する機能を有する複数のリソース、及びこれらのリソースを互いに接続してネットワークにおいてデータを切り替える機能を有する複数のノードを備え、各ノードには複数の入力及び複数の出力が設けられており:
    − 非同期通信プロトコルを使用する少なくとも1つの転送ステップを含み、このステップでは、優先順位又は複数の異なる優先チャネル群から選択される優先チャネル情報に関連付けられ、1以上の基本データグループを含む少なくとも1つのデータパケットを、ネットワークの送信要素からネットワークの受信要素に転送し、前記パケットの1以上の基本データグループ又は全ての基本データグループの転送は、第1要素が、第1のタイプの少なくとも1つの信号を前記プロトコルに従って送信することを伴い、第2要素が、第1のタイプの信号に応答して、前記プロトコルに従って少なくとも1つの他の第2タイプの信号を送信することによって承認され、前記非同期通信プロトコルに基づく第1のタイプの信号は、信号の少なくとも一部に、前記パケットが関連付けられる優先順位又は優先チャネル情報を含む、方法。
  2. a)ネットワークのリソースによって、優先データ又は優先チャネルを少なくとも1つの第1データパケットに関連付け、別の優先データ又は別の優先チャネルを少なくとも1つの第2データパケットに関連付けること、及び
    b)少なくとも1つの第1ネットワーク要素によって、第1データパケットと第2データパケット間の、出力の第1要素への転送順序を少なくとも1回調停することであって、その際転送順序を、第1データパケット及び第2データパケットが関連付けられている優先チャネルに少なくとも部分的に基づいて決定すること
    を更に含む、請求項1記載のネットワークオンチップにおけるデータ伝送方法。
  3. 第1要素は第1ノードであり、第1データパケット及び第2データパケットはそれぞれ、所定の優先順位の第1優先チャネル、及び第1チャネルの優先順位とは異なる優先順位の第2優先チャネルに関連付けられており、第1データパケットの第1データグループ及び第2データパケットの別のデータグループが第1ノードにアクセスして、第1ノードの一の出力又は同じ出力にアクセスする準備を整えているとき、ステップb)の間に、第1パケット及び第2パケットの転送順序を、第1チャネルの優先順位及び第2チャネルの優先順位のみに基づいて決定する、請求項2記載のデータ伝送方法。
  4. 第1要素は第1ノードであり、第1データパケット及び第2データパケットはそれぞれ、第1優先チャネル及び第1チャネルよりも低い優先順位の第2優先チャネルに関連付けられており、第1パケットの第1データグループ及び第2パケットの別のデータグループが第1ノードにアクセスして、第1ノードの一の出力又は同じ出力にアクセスする準備を整えているとき、更に、ステップb)の後に:
    c)第1ノードの出力から第1データパケットを転送すること、及び
    d)第1パケット全体を第1ノードの出力から転送した後で、第1ノードの出力から第2データパケットを転送すること
    を含む、請求項2又は3記載のデータ伝送方法。
  5. 更に、ステップb)の後且つステップd)の前に:
    − 第2パケットの少なくとも一部を第1ノードにおいて中止すること
    を含む、請求項4記載のデータ伝送方法。
  6. ステップb)の前に、第1ノードの出力からの第2パケットの転送が既に始まっており、第2パケットの少なくとも1つの第2データグループが既に第1ノードの出力から転送されている、及び/又は既に第1ノードから送出されており、同時に、第1データパケットのデータが未だに第1ノードの出力に転送されていない、及び/又は未だに第1ノードから出力されていないとき、ステップb)の後且つステップd)の前に、更に可能であれば第2データパケット転送を部分的に中止している間に:
    − 第2パケットの前記他のデータグループを中止すること、及び
    − 第2パケットの前記第2データグループをネットワークに移動又は転送すること
    を更に含む、請求項4又は5記載のデータ伝送方法。
  7. ステップb)の前に、第2パケットの少なくとも1つの第3データグループが未だ第1ノードにアクセスしていないとき、ステップb)の後且つステップd)の前に、更には可能であれば第2データパケットを部分的に中止している間に:
    − 第2パケットの第3データグループのデータの少なくとも一部を第1ノードの入力に転送すること、
    を更に含む、請求項4ないし6のいずれか1項記載のデータ伝送方法。
  8. ステップb)の後且つステップd)の前に、第2チャネルよりも優先順位の高いチャネルに関連付けられている少なくとも1つの第3データパケットが第1ノードにアクセスし、第1ノードの前記出力にアクセスする準備を整えているとき、更に:
    − ステップd)の前に、前記第3パケット全体を第1ノードの出力から転送すること
    を含む、請求項5ないし7のいずれか1項記載のデータ伝送方法。
  9. 第3パケットが第1チャネルの優先順位に等しい優先順位のチャネルに関連付けられているとき、第1ノードの出力からの前記第3パケット全体の前記転送を、ステップc)の後且つステップd)の前に行なう、請求項8記載のデータ伝送方法。
  10. 第3パケットが第1チャネルの優先順位よりも高い優先順位のチャネルに関連付けられているとき、第1ノードの出力からの前記第3パケット全体の前記転送を、ステップc)の前に行う、請求項8記載のデータ伝送方法。
  11. ステップa)において、第1要素が第1ノードであり、第1データパケット及び第2データパケットは同じ優先チャネルに関連付けられており、転送順序の調停は、第1ノードへの第1パケット及び第2パケットの到達順、及び/又は第1パケット及び第2パケットがこの第1ノードにアクセスする際に通過した第1ノードの入力にも基づいて行われる、請求項2記載のデータ伝送方法。
  12. ステップb)の前に、第1データパケットの第1データグループ及び第2データパケットの別のデータグループが既に第1ノードにアクセスして、第1ノードの一の出力又は同じ出力にアクセスする準備を整えているとき、並びに、ステップb)において、第2データパケットの第2データグループが既に第1ノードの出力に転送されているか、又は既に第1ノードから送出されているとき、ステップb)の後に:
    e)第1ノードの出力から第2データパケットを転送すること、及び
    f)第2パケット全体を第1ノードの出力から転送した後で、第1データパケットを第1ノードの出力から転送すること
    を更に含む、請求項11記載のデータ伝送方法。
  13. 第1パケット及び第2パケットが関連付けられているチャネルよりも高い優先順位のチャネルに関連付けられている少なくとも1つの第3データパケットが、ステップb)の後且つステップe)の前に第1ノードにアクセスして、第1ノードの前記出力にアクセスする準備を整えているとき、更に:
    − ステップe)の前に、前記第3パケット全体を第1ノードの出力から転送すること
    を含む、請求項11又は12記載のデータ伝送方法。
  14. 第3データパケットがステップa)の前又はステップc)の間に第1ノードにアクセスするとき、更に:
    − ステップf)の前に、前記第3パケット全体を第1ノードの出力に転送すること、
    を含む、請求項13記載のデータ伝送方法。
  15. 第1パケット及び第2パケットをネットワークの第1経路及びネットワークの第2経路に沿って伝送する方法であって、更にステップb)の前に、
    − 第1及び第2経路を決定すること
    を含む、請求項2記載のデータ伝送方法。
  16. 更に、ステップb)の前に:
    − ネットワークリソースが第1経路のデータを第1パケットに割り当て、別のネットワークリソースが第2経路のデータを第2パケットに割り当てること、
    を含む、請求項15記載のデータ伝送方法。
  17. 第1データパケットを1つの優先チャネルに、第2データパケットを1つの優先チャネルに、前記第1及び第2パケットに含まれるデータのタイプに応じて関連付ける、請求項2記載のデータ伝送方法。
  18. ネットワークの少なくとも1つの要素を第1クロックによって制御する、請求項1記載のネットワークオンチップにおけるデータ伝送方法。
  19. ネットワークの1以上の他の要素を、第1クロックとは異なるか又は第1クロックとは同期しない第2クロックによって制御する、請求項18記載のネットワークオンチップにおけるデータ伝送方法。
  20. 1以上の要素をクロックによって制御しないか、又は1以上の要素にはクロックを設けない、請求項1記載のネットワークオンチップにおけるデータ伝送方法。
  21. 互いに通信する機能を有する複数の要素を備えるネットワークオンチップデバイスであって、複数の要素は、データ処理機能を有する複数のリソースと、1以上の入力及び1以上の出力を備え、ネットワークの少なくとも2つの要素にデータを切り替える機能を有する1以上のノードとを含み、前記デバイスは、
    − 優先順位又は優先チャネル情報に関連付けられ、1以上の基本データグループを含むパケットの形式でデータを送信できるデータ送信手段、
    − 1以上の基本データグループを含むパケットの形式でデータを受信できるデータ受信手段、
    − 非同期通信プロトコルに従って同期信号を送信する手段であって、第1のタイプの少なくとも1つの信号を送信することができ、この送信は基本データグループの送信を伴うか又は付随する、手段、
    − 前記非同期通信プロトコルに従って同期信号を受信する手段であって、基本データグループの受信の前に、第2タイプの少なくとも1つの信号を受信できる手段、及び、
    − 第2タイプの同期信号の受信の後でパケットの基本データグループの送信を承認し、第1のタイプの同期信号の受信の後でパケットの基本データグループの受信を承認する手段
    を備え、パケットの基本データグループの送信に伴うか又は付随する第1のタイプの前記信号は、少なくともその一部に、前記パケットが関連付けられる優先順位又は優先チャネル情報を含む、ネットワークオンチップデバイス。
  22. − 少なくとも1つの第1リソースであって、所定の優先チャネル群から選択される少なくとも1つの優先チャネルを、このリソースが送信する少なくとも1つのデータパケットに関連付けることができる優先順位関連付け手段を含む第1リソース、及び
    − 少なくとも1つの第1要素
    も含み、更に、1つの優先チャネルに関連付けられる少なくとも1つの第1パケット及び1つの優先チャネルに関連付けられる少なくとも1つの第2データパケットの間の、第1ノードの出力からの転送順序を決定する機能を有する調停手段を備え、転送順序は、少なくとも、第1及び第2パケットがネットワークの対応するリソースによって関連付けられたそれぞれの優先チャネル又は優先チャネルに基づいて決定される、請求項21記載のネットワークオンチップデバイス。
  23. 第1要素は第1ノードであり、第1パケット及び第2パケットは第1優先チャネル、及び第1チャネルとは異なる第2優先チャネルに関連付けられており、調停手段はまた、第1パケット及び第2パケット間の転送順序を、第1パケット及び第2パケットが関連付けられているそれぞれのチャネルのみに基づいて決定する機能を有する、請求項22記載のネットワークオンチップデバイス。
  24. 第1要素は第1ノードであり、第1パケット及び第2パケットは同じ優先チャネルに関連付けられており、調停手段はまた、第1パケット及び第2パケット間の転送順序を、第1及び第2パケットが第1ノードの入力に到達する順番に応じて決定する機能を有する、請求項22記載のネットワークオンチップデバイス。
  25. 調停手段はまた、第1パケット及び第2パケット間の転送順序を、第1及び第2パケットが第1ノードに到達したときに通過した第1ノードへの入力に応じて決定する機能を有する、請求項24記載のネットワークオンチップデバイス。
  26. 第1リソースは更に、
    − 第1リソースが送信する可能性のある少なくとも1つのデータパケットに対し、このパケットがネットワークにおいて辿る経路に関連するデータを割り当てる機能を有する経路データ割り当て手段
    を備える、請求項22記載のネットワークオンチップデバイス。
  27. 第1要素は第1ノードであり、第1データパケット及び第2データパケットは、対応するネットワークリソースによって、それぞれ第1経路データ及び第2経路データに関連付けられており、第1ノードは更に:
    − ネットワークリソースによって第1パケット及び第2パケットが関連付けられている経路データに少なくとも部分的に又は全面的に基づいて、前記第1パケット及び前記第2パケットをルーティングする機能を有するデータルーティング手段
    を備える、請求項26記載のネットワークオンチップデバイス。
  28. 第1ノードは更に経路データを保存する手段を備える、請求項27記載のネットワークオンチップデバイス。
  29. 優先順位関連付け手段は、パケットに含まれるデータタイプに応じて、所定の優先チャネル群から選択される少なくとも1つの優先チャネルを、この第1リソースが送信する少なくとも1つのデータパケットに関連付けることができる、請求項22記載のネットワークオンチップデバイス。
  30. ネットワークの前記要素の少なくとも1つが第1クロックによって制御される、請求項21記載のネットワークオンチップデバイス。
  31. 前記要素のうち少なくとも1つの他の要素が、第1クロックとは異なるか又は第1クロックとは同期しない第2クロックによって制御される、請求項30記載のネットワークオンチップデバイス。
  32. ネットワークの前記要素の内少なくとも1つの要素がクロックによって制御されないか、又は少なくとも1つの要素にはクロックを設けない、請求項21記載のネットワークオンチップデバイス。
JP2006062181A 2005-03-08 2006-03-08 システムオンチップの大域的非同期通信アーキテクチャ Active JP4808513B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0550610 2005-03-08
FR0550610A FR2883116B1 (fr) 2005-03-08 2005-03-08 Architecture de communication globalement asynchrone pour systeme sur puce.

Publications (2)

Publication Number Publication Date
JP2006254449A true JP2006254449A (ja) 2006-09-21
JP4808513B2 JP4808513B2 (ja) 2011-11-02

Family

ID=34954682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006062181A Active JP4808513B2 (ja) 2005-03-08 2006-03-08 システムオンチップの大域的非同期通信アーキテクチャ

Country Status (6)

Country Link
US (1) US7957381B2 (ja)
EP (1) EP1701273B1 (ja)
JP (1) JP4808513B2 (ja)
AT (1) ATE386299T1 (ja)
DE (1) DE602006000515T2 (ja)
FR (1) FR2883116B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182393A (ja) * 2010-03-02 2011-09-15 Commissariat A L'energie Atomique Et Aux Energies Alternatives チップおよびこのようなチップを有する集積回路
WO2011149066A1 (ja) 2010-05-28 2011-12-01 国立大学法人東北大学 非同期プロトコル変換装置
US8848703B2 (en) 2011-01-13 2014-09-30 Kabushiki Kaisha Toshiba On-chip router and multi-core system using the same
US9356873B2 (en) 2012-10-19 2016-05-31 Samsung Electronics Co., Ltd. Backbone channel management method and backbone channel management apparatus
JP2022506797A (ja) * 2018-10-31 2022-01-17 モライ ネットワークプラットフォームを適用した自律走行車両シミュレータ

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2026493A1 (en) * 2007-08-16 2009-02-18 STMicroelectronics S.r.l. Method and systems for mesochronous communications in multiple clock domains and corresponding computer program product
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on 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
US7913010B2 (en) * 2008-02-15 2011-03-22 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8490110B2 (en) 2008-02-15 2013-07-16 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
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8078850B2 (en) * 2008-04-24 2011-12-13 International Business Machines Corporation Branch prediction technique using instruction for resetting result table pointer
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
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
US7958340B2 (en) * 2008-05-09 2011-06-07 International Business Machines Corporation Monitoring software pipeline performance on a network on chip
US8392664B2 (en) 2008-05-09 2013-03-05 International Business Machines Corporation 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
US8020168B2 (en) * 2008-05-09 2011-09-13 International Business Machines Corporation Dynamic virtual software pipelining on a network on chip
US8494833B2 (en) 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
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
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8898293B2 (en) 2009-01-28 2014-11-25 Headwater Partners I Llc Service offer set publishing to device agent with on-device service selection
US8924543B2 (en) 2009-01-28 2014-12-30 Headwater Partners I Llc Service design center for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8839387B2 (en) 2009-01-28 2014-09-16 Headwater Partners I Llc Roaming services network and overlay networks
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8725123B2 (en) 2008-06-05 2014-05-13 Headwater Partners I Llc Communications device with secure data path processing agents
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US8131975B1 (en) 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
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
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
JP2010178867A (ja) * 2009-02-05 2010-08-19 Fujifilm Corp 放射線撮影用ネットワークシステム及び放射線画像撮影システム制御方法
US8285900B2 (en) * 2009-02-17 2012-10-09 The Board Of Regents Of The University Of Texas System Method and apparatus for congestion-aware routing in a computer interconnection network
US8824496B2 (en) * 2009-10-30 2014-09-02 Oracle America, Inc. Two-phase arbitration mechanism for shared optical links
US8391281B2 (en) * 2010-03-31 2013-03-05 Toshiba America Research, Inc. Router design for 3D network-on-chip
WO2012125718A1 (en) * 2011-03-16 2012-09-20 The Trustees Of Columbia University In The City Of New York Bi-modal arbitration nodes for a low-latency adaptive asynchronous interconnection network and methods for using the same
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US8655120B2 (en) 2011-07-11 2014-02-18 Oracle International Corporation Arbitrated optical network using tunable drop filters
US9225665B2 (en) * 2012-09-25 2015-12-29 Qualcomm Technologies, Inc. Network on a chip socket protocol
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8854555B2 (en) * 2013-01-18 2014-10-07 Darryl Adderly System and method to toggle between two or more television channels
US9007920B2 (en) * 2013-01-18 2015-04-14 Netspeed Systems QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
FR3001310B1 (fr) * 2013-01-21 2015-02-27 Commissariat Energie Atomique Interface de reseau sur puce dotee d'un systeme adaptatif de declenchement d'envoi de donnees
WO2014141678A1 (ja) * 2013-03-12 2014-09-18 パナソニック株式会社 バスシステムおよびコンピュータプログラム
CN105247817B (zh) * 2013-06-28 2019-05-07 英特尔公司 用于源同步电路交换片上网络(NoC)的方法、装置和系统
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
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
US9520180B1 (en) 2014-03-11 2016-12-13 Hypres, Inc. System and method for cryogenic hybrid technology computing and memory
US9602587B2 (en) * 2014-06-26 2017-03-21 Altera Corporation Multiple plane network-on-chip with master/slave inter-relationships
US9608935B2 (en) 2014-09-08 2017-03-28 Qualcomm Technologies, Inc. Tunneling within a network-on-chip topology
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
CN104320341B (zh) * 2014-10-23 2017-05-24 东北大学 路由自适应异步2D‑Torus片上网络系统及其设计方法
US9529400B1 (en) 2014-10-29 2016-12-27 Netspeed Systems Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US11321263B2 (en) 2014-12-17 2022-05-03 Intel Corporation High bandwidth core to network-on-chip interface
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
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
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
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
US9912997B2 (en) 2015-03-03 2018-03-06 Darryl Adderly System and method to determine content items and associated toggle triggers for a viewer
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
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
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
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
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)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08508599A (ja) * 1993-04-02 1996-09-10 マサチユセツツ・インスチチユート・オブ・テクノロジー 再構成可能な論理システムのための仮想相互接続

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774067A (en) * 1995-06-07 1998-06-30 International Business Machines Corporation Flash-flooding multi-stage interconnection network with parallel path seeking switching elements
US20030035371A1 (en) * 2001-07-31 2003-02-20 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control
US7283557B2 (en) 2002-01-25 2007-10-16 Fulcrum Microsystems, Inc. Asynchronous crossbar with deterministic or arbitrated control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08508599A (ja) * 1993-04-02 1996-09-10 マサチユセツツ・インスチチユート・オブ・テクノロジー 再構成可能な論理システムのための仮想相互接続

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6010048888, Evgeny Bolotin et.al., "QNoC: QoS architecture and design process for network on chip", Journal of Systems Architecture, Volume 50, Issues 2−3, 200402, Elsevier B.V., p.105〜128 *
JPN6010048889, Kumar, S. et.al., "A network on chip architecture and design methodology", VLSI, 2002. Proceedings. IEEE Computer Society Annual Symposium on, 20020807, p.105〜112 *
JPN7010002663, T Felicijan, "Quality−of−Service (QoS) for Asynchronous On−Chip Networks", A thesis submitted to the University of Manchesterfor the degree of Doctor of Philosophy in theFacul, 2004 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011182393A (ja) * 2010-03-02 2011-09-15 Commissariat A L'energie Atomique Et Aux Energies Alternatives チップおよびこのようなチップを有する集積回路
WO2011149066A1 (ja) 2010-05-28 2011-12-01 国立大学法人東北大学 非同期プロトコル変換装置
US9111051B2 (en) 2010-05-28 2015-08-18 Tohoku University Asynchronous protocol converter
JP5935105B2 (ja) * 2010-05-28 2016-06-15 国立大学法人東北大学 非同期プロトコル変換装置
US8848703B2 (en) 2011-01-13 2014-09-30 Kabushiki Kaisha Toshiba On-chip router and multi-core system using the same
US9356873B2 (en) 2012-10-19 2016-05-31 Samsung Electronics Co., Ltd. Backbone channel management method and backbone channel management apparatus
JP2022506797A (ja) * 2018-10-31 2022-01-17 モライ ネットワークプラットフォームを適用した自律走行車両シミュレータ
JP7250373B2 (ja) 2018-10-31 2023-04-03 モライ ネットワークプラットフォームを適用した自律走行車両シミュレータ
JP7250373B6 (ja) 2018-10-31 2023-05-16 モライ ネットワークプラットフォームを適用した自律走行車両シミュレータ

Also Published As

Publication number Publication date
US7957381B2 (en) 2011-06-07
FR2883116A1 (fr) 2006-09-15
US20060209846A1 (en) 2006-09-21
EP1701273A1 (fr) 2006-09-13
DE602006000515D1 (de) 2008-03-27
FR2883116B1 (fr) 2007-04-13
ATE386299T1 (de) 2008-03-15
EP1701273B1 (fr) 2008-02-13
JP4808513B2 (ja) 2011-11-02
DE602006000515T2 (de) 2009-02-19

Similar Documents

Publication Publication Date Title
JP4808513B2 (ja) システムオンチップの大域的非同期通信アーキテクチャ
JP4808514B2 (ja) 大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
EP2613479B1 (en) Relay device
JP4756158B2 (ja) 通信リソース割り当て電子デバイスおよび方法
JP5895202B2 (ja) 中継器、中継器の制御方法、およびコンピュータプログラム
CN101278528B (zh) 通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法
US8284766B2 (en) Multi-core processor and method of communicating across a die
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
WO2012120769A1 (ja) 中継装置、中継装置の制御方法、およびプログラム
TWI759585B (zh) 異步多時鐘域資料流接合及再同步系統及方法
JP5552196B2 (ja) 中継装置、中継装置の制御方法、およびコンピュータプログラム
JP2008535435A (ja) ネットワーク・オン・チップ環境及び遅延低減方法
US7773616B2 (en) System and method for communicating on a richly connected multi-processor computer system using a pool of buffers for dynamic association with a virtual channel
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
US7773618B2 (en) System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
JPWO2014128802A1 (ja) インタフェース装置およびバスシステム
US7773617B2 (en) System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
Gaizauskas et al. Formation of multiple filaments in transparent solids
WO2008057821A2 (en) System and method for preventing deadlock in richly-connected multi-processor computer system
Wang et al. An Effective Approach for Multicast on Multi-core Architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101213

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110217

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: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110817

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4808513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250