JP2007538331A - 集積回路及びバッファリング方法 - Google Patents

集積回路及びバッファリング方法 Download PDF

Info

Publication number
JP2007538331A
JP2007538331A JP2007517554A JP2007517554A JP2007538331A JP 2007538331 A JP2007538331 A JP 2007538331A JP 2007517554 A JP2007517554 A JP 2007517554A JP 2007517554 A JP2007517554 A JP 2007517554A JP 2007538331 A JP2007538331 A JP 2007538331A
Authority
JP
Japan
Prior art keywords
data
buffered
processing module
integrated circuit
amount
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
Application number
JP2007517554A
Other languages
English (en)
Inventor
ラドゥレスク アンドレイ
ヘー ウェー フーセンス ケース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34967297&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2007538331(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2007538331A publication Critical patent/JP2007538331A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Abstract

インターコネクト手段(N)によって結合される、多数の処理モジュール(M,S)を具える集積回路を提供する。第1の処理モジュール(M)は、トランザクションに基づいて第2の処理モジュール(S)と通信を行う。第2の処理モジュール(S)に関連する第1のラッパー手段(WM1)は、前記インターコネクト手段を介して転送すべき第2の処理モジュール(S)からのデータを、第1の量のデータがバッファされるまでバッファしてから、第1の量のバッファされたデータを前記第1の処理モジュール(M)へと転送する。

Description

本発明は、多数の処理モジュール及びこれら多数の処理モジュールを結合するインターコネクト(相互接続)手段を有している集積回路、バッファリング方法及びデータ処理システムに関する。
システムオンシリコンは、新たな機構の実現と既存の機能を改善するための需要が増加の一途をたどっているために、複雑さが増し続けている。このことは、1つの集積回路上に集積化し得るコンポーネントの密度を高めることにより可能となる。同時に、回路を作動させるクロック速度も増加する傾向にある。コンポーネントの高密度化とあいまってクロック速度を高めるにつれて、同じクロックドメイン内で同期して作動させることのできる領域が縮小されている。これが、モジュラー手法の需要を創出した。このような手法によれば、処理システムは多数の、相対的に独立した複雑なモジュールを具える。従来の処理システムでは通常、システムのモジュールはバスを介して互いに通信する。しかしながら、このような通信方法は、モジュールの数が増加すると、もはや下記の理由により実用に供しなくなる。一方ではモジュールの数が多数になるとバスへの負荷が高くなり過ぎ、他方ではバスへデータを送信できるデバイスは1つだけであるため、バスが通信のボトルネックとなる。
通信ネットワークは、これらの不都合を解消するのに有効な策を成している。ネットワークオンチップ(Networks on chip(NoC))は近年、非常に複雑なチップにおけるインターコネクトの問題に対する解決手法として、高い注目を集めている。この理由は2つから成る。第1に、NoCはグローバル配線を構築し管理するため、新しいディープサブミクロン技術における電気的課題を解決する助けとなる。NoCは配線を共有すると同時に、それらの個数を削減し利用性を高める。NoCは、電力効率及び信頼性をよくすることもでき、かつバスに比べて拡張性がある。第2にNoCは、莫大な数のトランジスタチップの設計を管理するのに必須である演算処理を通信から切り離す。NoCがこのような分離を実現できる理由は、これらのNoCはもともとは、プロトコルスタックを用いて設計されるからであり、プロトコルスタックは、通信サービスの利用をサービスの実装から分離するインターフェースを明確に規定する。
しかしながら、システムオンチップ(SoC)の設計時にオンチップ通信用のネットワークを用いると、考慮しなくてはならない多くの新しい問題を引き起こすことになる。これは、通信モジュールを直接接続する、既存のオンチップインターコネクト(例えば、バス、スイッチ、または二地点間配線など)とは対照的に、NoCでは、モジュールがネットワークノードを介して間接的に通信を行うからである。結果として、インターコネクトのアービトレーションが集中型から分散型に変わり、不調なトランザクション、高い待ち時間、及びエンド・ツー・エンドフロー制御といった問題を、インテレクチャル・プロパティ・ブロック(IP)か、またはネットワークによって処理しなければならなくなる。
これらの問題の大部分はすでに、ローカル及び広域ネットワーク(コンピュータ・ネットワーク)の分野における研究課題及び並列計算機のインターコネクトネットワーク用のインターコネクトとして存在していた。これらは共にネットワークオンチップに極めて関連しており、これらの分野での多くの実績は、チップにも適用することができる。しかしながら、NoCの前提はオフチップネットワークとは異なっているため、ネットワーク設計上の選択の大部分を再評価しなければならない。ネットワークオンチップは、設計上の選択を異にし、最終的にネットワークサービスに影響を及ぼす、種々の特性(例えば、強いリンク同期)や、制約(例えば、高いメモリコスト)を有する。
オンチップインターコネクトとしてネットワークを導入することは、バスまたはスイッチのような直接的なインターコネクトと比較すると、通信を根本的に変化させることになる。これは、通信モジュールを直接接続せずに、1つまたは1つ以上のネットワークノードによって分離させるネットワークのマルチホップ性によるものである。このことは、モジュールを直接接続する、一般的な既存のインターコネクト(例えば、バス)とは対照的である。
現代のオンチップ通信プロトコル(例えば、デバイス・トランザクション・レベルのDTL及びAXI-プロトコル)は、要求と応答から成るトランザクションで、スプリット及びパイプラインに基づいて動作し、バスは、マスタによって出された要求が対応するスレーブによって受け入れられた後に釈放されて、他に使用される。スプリット・パイプライン型の通信プロトコルは、特に、インターコネクトを効率的に利用できるようにするマルチホップ式のインターコネクト(例えば、ネットワークオンチップまたはブリッジを有するバス)において用いられる。スレーブにおける応答の生成に時間がかかる場合に、スプリットバスの効率を上げることができる。パイプラインプロトコルでは、マスタは複数の未処理の要求(すなわち、応答が保留中または期待されている要求)を有することができる。
上述したプロトコルは、システムまたはインターコネクトのレベルではなく、デバイスのレベルにて動作するように設計される。言い換えれば、前述のプロトコルは、インテレクチャル・プロパティ・ブロックIP及びそれらの初期のインテグレーションを再利用可能にする実際のインターコネクトの実現(例えば、アービトレーション信号は不可視である)とは無関係に設計される。
特に、前述のオンチップ通信プロトコルは、4つの主要な信号グループ、即ちコマンド(またはアドレス)、書込みデータ、読取りデータ、及び書込み応答を包含する。コマンドグループは、コマンド、アドレス、及びバースト長やマスクのようなコマンドフラグから成る。コマンド及び書込みデータグループは、ターゲットへのイニシエータによって駆動される。読取りデータと書込み応答は、イニシエータからのコマンドに追従して、このイニシエータへとターゲットによって駆動される。4つのグループは全て、何らかの順序をそれらの間に成して互いに独立しており、例えば、コマンドの前に応答が発せられることはない。
これらのオンチップ通信プロトコルは、従来のチップ設計において周知の、データのバッファリングの概念も実現する。一般的にバッファリングは、1つのモジュールがデータを生成し、他のモジュールがデータを消費するように、異なるモジュールを分離するために用いられる。バッファリングを行わないと、消費モジュールが生成モジュールのデータを受け入れる準備が整うまで、生成モジュールは消費モジュールによって阻止されることになる。生成モジュールが阻止されないようにするためには、生成モジュールによって生成されたデータを格納するバッファを導入して、消費モジュールの準備が整っていなくても、生成モジュールがその実行を継続し得るようにする。消費モジュールが幾つか、または全てのバッファされたデータを受け入れる準備が整ったとき直ちに、バッファ内に格納されているデータが消費モジュールへと供給される。
他方では、現代のオンチップ通信プロトコルは、インターコネクトの利用性を改善するために、書込みコマンドまたは書込みデータのバッファリングも用いている。したがって、小さい書込みバーストは、これらがインターコネクトを介して送信される前に、バッファ内に格納または蓄積される。蓄積されたデータは短いバーストで転送する代りに、インターコネクトを介して長いバーストで転送されることになり、これは通常インターコネクトの利用性の改善につながる。このことは、第1の書込みデータW1をバッファリングし、このデータを、例えば第2の書込みデータW2がバッファに到達するまでは転送しない(すなわち、第1の書込みデータはインターコネクトを介して転送されない)ようにし、書込みデータがインターコネクトの利用性に関して最適な長さを有する1つのバーストとして転送されるようにして実施することができる。
したがって、多数の書込みからのデータをバッファして、1つのバーストに集約することができる。さらに、書込みコマンドにおけるデータの一部分は、別のバーストで送信することができる。
前述の、オンチップ通信プロトコルにて上述したようなバッファリング技法を実施する理由は、インターコネクトによって接続される、システムオンチップにおけるインテレクチャル・プロパティ・ブロックIPが、「固有に」通信できなくてはならない、すなわち、ワードの幅及びバーストサイズを、インターコネクトよりはむしろデバイスに適合するように構成しなくてはならないためである。例えば、インテレクチャル・プロパティ・ブロックIPがピクセルを処理する場合、これらのインテレクチャル・プロパティ・ブロックはピクセルを消費しかつ生成する一方で、それらがビデオフレームを処理している場合には、ビデオフレームを消費しかつ生成する。データをバッファリングすることによって、十分な量のデータを1つのバーストで一度に転送できるように集められるまで、インターコネクトを介して転送すべきデータを待機させる。
上述したオンチッププロトコルは、主に、待ち時間の短いバス用に設計されている。さらに、これらのプロトコルは、読取り操作は常に緊急を要するために、不必要なバッファリングを行うことなくできるだけ早く完了させなければならない、という前提に基づいて設計されている。しかしながら、システムの大型化と、ネットワークまたはブリッジを有するバスのようなマルチホップ式のインターコネクトによって、待ち時間も同様に長くなっている。こういった場合には、通信精度が粗くなり、待ち時間の要求の正確さが低下する。
さらにこれらのプロトコルは、無制限なデータのバッファリングが起因するデッドロックを回避するために最適なバースト長に到達していなくても、現在バッファされているデータの幾つかを転送させる手法を含んでいる。DTL通信プロトコルは、現在のワードまでの全てのデータを、インターコネクトで転送させるフラッシュ信号を提供している。AXIプロトコルは、バッファされたデータを転送させる書込みコマンド用のアンバッファフラグを提供している。
したがって、本発明の目的は、インターコネクトの利用性を改善した集積回路、バッファリング方法、並びにデータ処理システムを提供することにある。
この目的は、請求項1に記載の集積回路、請求項13に記載のバッファリング方法、及び、請求項14に記載のデータ処理システムによって達成される。
したがって、本発明によれば、インターコネクト手段によって結合される多数の処理モジュールを具える集積回路が提供される。第1の処理モジュールは、トランザクションに基づいて第2の処理モジュールと通信する。前記第2の処理モジュールに関連する第1のラッパー手段は、第1の量のデータがバッファされるまで、前記インターコネクト手段によって転送すべき前記第2の処理モジュールからのデータをバッファリングし、その後、前記第1の量のバッファされたデータを、前記第1の処理モジュールへと転送する。
したがってデータは、単一のパッケージでインターコネクトを介して転送すべきデータの量が十分に多量になるまで、スレーブ側にてバッファされる。インターコネクトを介して送信するパケットの数を低減すれば、必要なパケットヘッダが減るため、通信のオーバーヘッドが軽減される。送信すべきデータは、十分な量のデータが集められるまでバッファする。
本発明の態様によれば、第2の量のデータがバッファされるまで、インターコネクト手段を介して前記第2の処理モジュールへ転送すべき前記第1の処理モジュールからのデータをバッファリングするために第2のラッパー手段を第1の処理モジュールに関連付けて、その後、前記第2のラッパー手段が、前記バッファされたデータを前記第2の処理モジュールへ転送し得るようにする。したがってデータは、インターコネクトを介して単一のパッケージで転送すべきデータの量が十分に多量になるまで、マスタ並びにスレーブ側にてバッファされる。
本発明のさらなる態様によれば、前記第1及び第2のラッパー手段を、それぞれ、第1及び第2のアンバッファ信号または信号のグループの特定の組合せに応じて、(前記第1及び第2のラッパー手段にバッファされたデータが、前記第1及び第2の量より少なくても)バッファされたデータを転送するように適合させる。アンバッファ信号を発することにより、データがバッファされるのを待機する処理によるデッドロックの発生を阻止することができる。
本発明のさらなる態様によれば、前記第1及び第2のラッパー手段を、それぞれ、第1及び第2のアンバッファフラグに従って、(前記第1及び第2のラッパー手段にバッファされたデータが、前記第1及び第2の量より少なくても)バッファされたデータを転送するように適合させる。したがって、バッファされたデータをフラッシュ(一括消去)するための代替方法が提供される。各トランザクションに対して与えられる信号とは対照的に、フラグは長めの時間に設定することができる。このようにして、バッファリングを実行させたり、停止させたりすることができる。フラグは、任意の方法、例えば、IPからの信号とともにトランザクションの一部として、または別のコンフィグレーションのトランザクション(特殊なフラッシュトランザクション、またはメモリーマップ式の読取りまたは書込み)を介して設定/解除することができる。これらのトランザクションは、同一のIPからか、または別のコンフィグレーションモジュールから出すことができる。
本発明の好適な態様によれば、前記第1及び第2のラッパー手段の少なくとも1つが、前記第1と第2の処理モジュール間の前記通信の通信特性に従ってデータを転送する前に、前記第1または第2のラッパー手段にバッファすべきデータの最適な第1または第2の量を決定する決定ユニットBLDUを具えるようにする。したがって、インターコネクトを介して転送されるデータのパケットのサイズを、実際の通信の特性に応じて適合させることができるため、インターコネクトの利用性を改善することができる。
本発明は、インターコネクト手段に接続される多数の処理モジュールを有する集積回路内でデータをバッファリングする方法にも関し、第1の処理モジュールがトランザクションに基づいて第2の処理モジュールと通信する前記バッファリング方法が、第1の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第2の処理モジュールからのデータをバッファリングし、バッファされたデータは、前記第1の量のデータがバッファされたときに転送するステップを含むようにする。
本発明はさらに、インターコネクト手段によって結合される多数の処理モジュールを具える集積回路を含む、データ処理システムにも関する。第1の処理モジュールは、トランザクションに基づいて、第2の処理モジュールと通信を行う。前記第1の処理モジュールに関連する第2のラッパー手段は、第1の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第1の処理モジュールからのデータをバッファリングし、その後、前記第1の量のバッファされたデータを、前記第1の処理モジュールへと転送する。
したがって、上述のようなデータのバッファリングは、多数の集積回路を具えるシステムにも適用することができる。
本発明は、バッファされたデータがインターコネクトの手段を介してパケットで最適に転送されるように十分に大きくなるまでデータをバッファする、という考えに基づいて成したものである。パケットが大きくなるほど、パケットヘッダの量は少なくなり、オーバーヘッドが軽減され、インターコネクトがより効率よく利用される。データは、早く送信できても、最適なパケットサイズとなるのに十分なデータがバッファされたときにのみ転送される。データは、最適な転送の条件が満足されたときにのみ、バッファから転送される。
本発明のさらなる態様は、従属項に記載した通りのものである。
本発明のこれら及び他の態様は、これ以降に述べる実施例を参照して明らかにする。
以下の実施例は、システムオンチップに関し、すなわち、同一チップ上(例えば、パッケージ内のシステム、マルチダイ・モジュールなどを含む)または異なるチップ上の多数のモジュールが、ある種のインターコネクトを介して互いに通信するシステムオンチップに関する。インターコネクトは、ネットワークオンチップNoCとして具体化される。ネットワークオンチップは、配線、バス、時分割多重化、スイッチ、及び/またはルータをネットワーク内に具えることができる。前記ネットワークのトランスポート層では、モジュール間の通信はコネクションによって行うことができる。コネクションとは、各々が第1のモジュールと、少なくとも1つの第2のモジュールとの間に一組のコネクション特性を有している一組のチャネルとみなすことができる。第1のモジュールと単一の第2のモジュールとの間のコネクションに対して、そのコネクションは2つのチャネル、すなわち、第1のモジュールから第2のモジュールへの第1チャネル、すなわち要求チャネルと、第2のモジュールから第1のモジュールへの第2チャネル、すなわち応答チャネルとを具えることができる。要求チャネルは、第1モジュールから第2モジュールへのデータ及びメッセージ用に確保され、応答チャネルは第2モジュールから第1モジュールへのデータ及びメッセージ用に確保される。しかしながら、コネクションが1個の第1のモジュールとN個の第2のモジュールに関連する場合には、2×N個のチャネルを用意する。コネクションの特性には、順序付け(データ転送の順序)、フロー制御(遠隔バッファをコネクション用に確保して、データ生成モジュールは、生成したデータ用に利用できるスペースが保証された場合にのみデータを送信することができるようにする)、スループット(スループットの下限値を保証する)、待ち時間(待ち時間の上限値を保証する)、損失(データの脱落)、送信の終了、トランザクションの完了、データの正確さ、優先度、またはデータの配信を含めることができる。
図1に、本発明によるネットワークオンチップの基本的な配置を示す。特に、各々がネットワークインターフェースNIに関連しているマスタモジュールMとスレーブモジュールSを示している。各モジュールMとSはそれぞれ、関連しているネットワークインターフェースNIを介してネットワークNに接続されている。ネットワークインターフェースNIは、マスタモジュールM及びスレーブモジュールSとネットワークNとの間のインターフェースとして用いられる。ネットワークインターフェースNIは、各モジュールM、SとネットワークNとの間の通信を管理するために設けられるため、各モジュールはネットワークまたは他のモジュールとの通信に対処する必要なく、それぞれの専用のオペレーションを実行することができる。ネットワークNは、一方のネットワークインターフェースNIから他方のネットワークインターフェースへ、ネットワークを通してデータをルーティングするための多数のネットワークルータRを具えることができる。
以下に説明するようなモジュールは、前記ネットワークインターフェースNIにてネットワークと情報をやり取りする、いわゆるインテレクチャル・プロパティ・ブロックIP(計算素子、メモリ、または、内部にインターコネクトモジュールを包含することができるサブシステム)とすることができる。ネットワークインターフェースNIは、1個またはそれ以上のIPブロックに接続することができる。同様に、IPブロックは1個以上のネットワークインターフェースNIに接続することができる。
マスタモジュールM及びスレーブモジュールSに関連している各ネットワークインターフェースは、ラッパー(wrapper)手段WM2、WM1をそれぞれ具えている。ラッパー手段WM2、WM1は、ネットワークNを介してマスタM及びスレーブNから送信される任意のデータのバッファリングに関与する。特に、2個のラッパー手段WM1、WM2は、それぞれマスタMまたはスレーブSから到来するデータを、所定のデータ量がバッファされるまでバッファする。その後、バッファされたデータはネットワークN、すなわち、インターコネクトを介して、所定のバースト長内でパケットとして転送される。ラッパー手段WM2、WM1が、マスタM並びにスレーブSに関連して、要求並びに応答データをそれぞれのバースト長にてバッファ及び送信可能にすることに留意すべきである。応答が要求と異なることがあるように、それらのバースト長が異なることもある。選択バースト長は、ネットワークの利用性を改善するために、ネットワークNに適合するように選ばれなければならない。
図2は、第2実施例によるネットワークオンチップの概略図を示す。特にこの第2実施例は、第1実施例によるネットワークオンチップにほぼ相当するものである。したがって、第1のラッパー手段WM1は、スレーブSに関連するネットワークインターフェースNI内に配置され、第2のラッパー手段WM2は、マスタMに関連するネットワークインターフェースNIの内部に配置されている。第1の実施例のように、ラッパー手段WM1、WM2は、最適な転送条件が満足されるまで、ネットワークNを介して送信すべきデータをバッファする働きをする。第1のアンバッファフラグユニットUBF1及び第2のバッファフラグユニットUBF2が、スレーブS及びマスタMにそれぞれ関連するネットワークインターフェースの内部に配置されている。第1及び第2のアンバッファフラグユニットUBF1、UBF2は、第1及び第2のアンバッファフラグを格納する働きをする。第1及び第2ラッパー手段は、第1または第2のアンバッファフラグが、第1または第2のアンバッファフラグユニットUBF1、UBF2内にそれぞれ設定されると、バッファされたデータを直ちに転送するように適合させる。こうしてバッファデータをフラッシュさせることにより、バッファされているデータがデッドロックされるのを防ぐことができる。このような場合、バッファされている全てのデータは、ネットワークNに対する最適なバースト長に適するパケットサイズになることを待たずに、できるだけ早く転送される。
バッファされたデータのフラッシングは、第1または第2のラッパー手段WM1、WM2が受信する、第1または第2のアンバッファ信号によって達成することもできる。したがって、第1または第2のラッパー手段WM1、WM2がアンバッファ信号を受信した場合、現在バッファされているデータはできるだけ早く、すなわち、取得すべき最適なバースト長を待たずに転送される。その結果、マスタMは要求のフラッシングを開始することができ、スレーブSは応答のフラッシングを開始することができる。
各トランザクションに対して与えられるアンバッファ信号とは対照的に、アンバッファフラグはやや長めの時間用に設定することができる。このようにして、バファリングの実行または停止を切り替えることができる。フラグは任意の方法、例えば、トランザクションの一部としてIPからの信号で、または、別のコンフィグレーションのトランザクション(特殊なフラッシュトランザクションか、または、メモリーマップ式の読取り及び書込み)を介して、設定/解除することができる。これらのトランザクションは、同一のIPからか、または別のコンフィグレーションのモジュールから送出することができる。
さらに、第1及び第2の決定手段BLDU1、BLDU2が、スレーブS及びマスタMに関連するネットワークインターフェースNIの内部にそれぞれ配置されている。第1及び第2の決定ユニットBLDU1、BLDU2は、現在の通信またはコネクションのプロパティに従ってネットワークNを介してデータを転送するための、最適なバースト長を決定する働きをする。最適なバースト長は、要求された処理の初期段階の期間中、または所定の時間間隔の期間中に、静的または動的に決定することができる。あるいは、最適なバースト長は、(1)ネットワークを介してデータを転送するためのコネクションを設定する度に、(2)トランザクション毎に、(3)IPが他のコネクションに切り替わる度に、(4)パケット毎に、(5)ネットワークオンチップの状態が変化したとき(例えば、リコンフィギュレーション、NoC負荷、バッファの充填など)に動的に決定することもできる。最適なバースト長の決定は、決定ユニットBDLU1、2内に格納されている情報或いはネットワークNまたはIPブロックから受信される情報に基づいて行うことができる。したがって、ネットワークNは、要求された通信またはコネクションに対する通信若しくはコネクションのプロパティを決定すると共に、場合によっては格納するための、通信プロパティ手段CPMを具えることができる。CPMは、集中型または分散型(例えば、全てのNIの内部に)にすることができる。
最適なバースト長の決定に加えて、伝送瞬時も、第1及び第2の決定手段BLDU1、BLDU2によって同様の方法で決定することができる。保証されたスループットのGTコネクションの場合、データは、そのコネクション用に確保されたスロットの1つを待たなければならない。「フラッシュ」のような信号/フラグを用いることによって、前もってデータを送信させることができる。さらに、ベストエフォートBE型のコネクションには、ネットワークインターフェースNIにおけるコネクション間のラウンドロビンアービトレーションを用いることができる。「フラッシュ」のような信号は、コネクションの優先度を一時的に高めにすることができる。
第1及び第2実施例では、データ、すなわちバッファされるデータを、パケット形式でネットワークを介して送信する。パケットは、各ネットワークインターフェースNIにおいて形成するのが好適であり、ネットワークNに関しては最適な方法で転送するのに十分な大きさとしなければならない。全てのパケットはパケットヘッダを含むので、パケットが大きくなれば、必要とされるパケットヘッダの数が少なくなり、必然的にオーバーヘッドが低減され、ネットワークの利用性が改善される。データは、バッファされるデータがネットワークを介して転送できるような最適なパケットサイズに達するまでバッファされる。バッファされたデータ量が未だ最適なパケットサイズに達しない場合には、やや小さいサイズのパケットの転送が可能であったとしても、データはネットワークNを介して転送されることはない。バーストサイズは、バスまたは通信観点でのIPに関連付けられる一方で、パケット長は、パケット化が行われる(バスには不要)ときにのみ適用される。これ以前の段落にて記載した、バーストサイズを決定するスキームの全ては、最適なパケットサイズの決定に適用することもできる。
第1及び第2実施例によれば、データはネットワークインターフェースNI、すなわち、インターコネクトインターフェース内にバッファされて、インテレクチャル・プロパティ・ブロックを構成し得るマスタMまたはスレーブSがインターコネクトまたはネットワークを介して通信するための実際の通信または通信プロトコルには関与しないようにするのが好適である。
言い換えれば、バッファリングは、要求並びに応答に対して行うようにし、すなわち、要求並びに応答は、インターコネクトを介して転送する前に、マスタ及びスレーブ側のバッファにそれぞれ蓄積されるようにする。要求及び応答は、特定のインターコネクトにとって最適な長さのバーストで集められる。書込みのような要求があった場合には、トランザクションの応答部へのアンバッファフラグによってバッファリングを阻止することができる。したがって、保留中のもの及び現在のものを含む、全ての応答または要求は、インターコネクト用に最適なバースト長を形成するべくバッファされることなく、できるだけ早く転送される。
他の実施例によれば、マスタが、要求並びに応答のフラッシングを単独で、及び/または同時に開始し得るようにする。このような場合には、(AXIまたはDTL)コマンドグループは、異なる種類のフラッシュ(例えば、DTLにおける2ビットのフラッシュ信号)を指示できるように拡張させなければならない。応答フラッシングのこの指示は、この場合にそれ相応に動作するスレーブNIへと転送しなければならない。フラグを用いる場合にも同様なことが言える。
さらに他の実施例によれば、ネットワークオンチップの通信スキームが、メッセージ通過通信スキームに基づくようにする。ここで、メッセージのメッセージヘッダは、フラッシュ情報を含むことができ、これにより、同一のコネクションから前もって送信された全てのメッセージをフラッシュさせる。
さらに他の実施例によれば、ネットワークオンチップの通信スキームを、パケットに基づく通信スキームとし、すなわち、1つのメッセージは1つまたはそれ以上のパケットにて送信され、フラッシュ情報はパケットヘッダ内に含まれるようにする。
上述したスキームは、DTLやAXIのような、トランザクションに基づくプロトコルにも適用することができる。特に、このスキームでは、ラッパーにインターコネクト用のバースト長を、要求だけでなく応答に対しても、トランザクション内で最適化することができるようにする。要求の例には(認知/非認知の)書込みコマンドとデータや、読取りコマンド、または、テスト兼設定、セマフォコマンド(P、V)のようなもっと複雑なコマンドがある。応答の例には、読取りデータ、書込み確認応答、及び、より複雑なコマンドからの応答がある。ラッパーまたはインターコネクトのインターフェースを介してインターコネクトに接続されるインテレクチュアル・プロパティ・モジュールは、インターコネクトに無関係に構築することができる。すなわち、インターコネクトの諸特性の知識はラッパー内にしかないので、これらIPモジュールの再利用性を増すことができる。しかしながら、要求に関しては、追加の待ち時間が導入されることになるが、システム全体の効率は向上する。
さらに、マスタ並びにスレーブに関連するネットワークインターフェースにラッパー手段を設けることによって、ネットワークインターフェースを対称的に設計することができるため、これらの再利用性も高まる。
上述したそれぞれの実施例は本発明を制限するものではなく、当業者には、添付の請求項の範囲を逸脱することなく、多くの代替の実施例を設計し得ることに留意されたい。幾つかの手段を列挙している装置についての請求項において、それらの手段の幾つかは同一アイテムのハードウェアによっても実現することができる。所定の手段を互いに異なる従属項にて単に列挙していることは、それらの手段の組合せを有利に用いることができないということを示すものではない。
第1の実施例によるネットワークオンチップの概略図である。 第2の実施例によるネットワークオンチップの概略図である。

Claims (14)

  1. インターコネクト手段に接続されている多数の処理モジュールを有する集積回路であって、第1の処理モジュールがトランザクションを用いて第2の処理モジュールと通信する前記集積回路が、
    第1の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第2の処理モジュールからのデータをバッファリングするように前記第2の処理モジュールに関連付けた第1のラッパー手段を具え、バッファされたデータは、前記第1の量のデータがバッファされたときに転送されるようにした、
    ことを特徴とする集積回路。
  2. 第2の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第1の処理モジュールからのデータをバッファリングするように前記第1の処理モジュールに関連付けた第2のラッパー手段をさらに具え、バッファされたデータは、前記第2の量のデータがバッファされたときに転送されるようにした、
    ことを特徴とする請求項1に記載の集積回路。
  3. 前記第1及び第2のラッパー手段にバッファされたデータ量が前記第1及び第2の量より少なくても、それぞれ第1及び第2のアンバッファ信号または信号のグループの第1及び第2の組合せに応答して、バッファされたデータを転送するように前記第1及び第2のラッパー手段を適合させた、
    ことを特徴とする請求項1または2に記載の集積回路。
  4. 前記第1及び第2のラッパー手段にバッファされたデータ量が前記第1及び第2のデータ量より少なくても、それぞれ第1及び第2のアンバッファフラグに従って、バッファされたデータを転送するように前記第1及び第2のラッパー手段を適合させた、
    ことを特徴とする請求項1または2に記載の集積回路。
  5. 前記第1及び第2のラッパー手段の少なくとも1つが、前記第1と第2の処理モジュール間の通信の通信特性に従って、バッファすべきデータの最適な第1または第2の量を決定する決定ユニットを具える、
    ことを特徴とする請求項1または2に記載の集積回路。
  6. 前記第1及び第2のラッパー手段の少なくとも1つが、前記第1と第2の処理モジュール間の通信の通信特性に従って、前記第1及び第2のラッパー手段のデータを送信する最適な瞬時を決定する決定ユニットを具える、
    ことを特徴とする請求項1または2に記載の集積回路。
  7. 前記第1のアンバッファ信号を前記第2の処理モジュールによって起動させ、かつ、前記第2のアンバッファ信号を前記第1の処理モジュールによって起動させるようにした、
    ことを特徴とする請求項3に記載の集積回路。
  8. 前記第1のアンバッファフラグの設定を前記第2の処理モジュールによって開始させ、かつ、前記第2の非バッファフラグの設定を前記第1の処理モジュールによって開始させるようにした、
    ことを特徴とする請求項4に記載の集積回路。
  9. 前記第1及び/または前記第2のアンバッファ信号を起動させるように前記第1の処理モジュールを適合させた、
    ことを特徴とする請求項3または4に記載の集積回路。
  10. 前記第1及び/または前記第2のアンバッファフラグの設定を開始するように前記第1の処理モジュールを適合させた、
    ことを特徴とする請求項4に記載の集積回路。
  11. 前記第1及び第2の処理モジュールが、メッセージ伝達通信スキームを用いて互いに通信し、メッセージがメッセージヘッダを含み、
    前記第1及び第2のラッパー手段にバッファされたデータの量が、前記第1及び第2の量より少なくても、前記メッセージヘッダにおける情報に応答して、バッファされたデータを転送するように前記第1及び第2のラッパー手段をそれぞれ適合させた、
    ことを特徴とする請求項1または2に記載の集積回路。
  12. 前記第1及び第2の処理モジュールが、パケットに基づく通信スキームを用いて互いに通信し、パケットがパケットヘッダを含み、
    前記第1及び第2のラッパー手段にバッファされたデータの量が、前記第1及び第2の量より少なくても、前記パケットヘッダにおける情報に応答して、バッファされたデータを転送するように前記第1及び第2のラッパー手段をそれぞれ適合させた、
    ことを特徴とする請求項1または2に記載の集積回路。
  13. インターコネクト手段に接続される多数の処理モジュールを有する集積回路内でデータをバッファリングする方法であって、第1の処理モジュールがトランザクションを用いて第2の処理モジュールと通信する前記バッファリング方法が、
    第1の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第2の処理モジュールからのデータをバッファリングし、バッファされたデータは、前記第1の量のデータがバッファされたときに転送するステップを含む、
    ことを特徴とするバッファリング方法。
  14. インターコネクト手段に接続される多数の処理モジュールを具えるデータ処理システムであって、第1の処理モジュールがトランザクションを用いて第2の処理モジュールと通信する前記データ処理システムが、
    第1の量のデータがバッファされるまで、インターコネクト手段を介して転送すべき前記第2の処理モジュールからのデータをバッファリングするように前記第2の処理モジュールに関連付けた第1のラッパー手段を具え、バッファされたデータは、前記第1の量のデータがバッファされたときに転送されるようにした、
    ことを特徴とするデータ処理システム。
JP2007517554A 2004-05-18 2005-05-13 集積回路及びバッファリング方法 Pending JP2007538331A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04102189 2004-05-18
PCT/IB2005/051580 WO2005111823A1 (en) 2004-05-18 2005-05-13 Integrated circuit and method for buffering to optimize burst length in networks on chips

Publications (1)

Publication Number Publication Date
JP2007538331A true JP2007538331A (ja) 2007-12-27

Family

ID=34967297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007517554A Pending JP2007538331A (ja) 2004-05-18 2005-05-13 集積回路及びバッファリング方法

Country Status (7)

Country Link
US (1) US8086800B2 (ja)
EP (1) EP1751667B1 (ja)
JP (1) JP2007538331A (ja)
CN (1) CN100445977C (ja)
AT (1) ATE396454T1 (ja)
DE (1) DE602005007014D1 (ja)
WO (1) WO2005111823A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254913B2 (en) 2005-08-18 2012-08-28 Smartsky Networks LLC Terrestrial based high speed data communications mesh network
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
EP1791366A1 (en) * 2005-11-28 2007-05-30 Alcatel Lucent Avoiding interruptions in the reproduction of audio/video by storing enough data in advance at a mobile terminal
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
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8494833B2 (en) 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8392664B2 (en) 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
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
US9110668B2 (en) * 2012-01-31 2015-08-18 Broadcom Corporation Enhanced buffer-batch management for energy efficient networking based on a power mode of a network interface
US10983910B2 (en) * 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11782865B1 (en) * 2021-06-02 2023-10-10 Amazon Technologies, Inc. Flexible data handling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123118A (ja) * 1993-10-21 1995-05-12 Fuji Xerox Co Ltd フレーム送信回路
JP2000209652A (ja) * 1999-01-18 2000-07-28 Kobe Steel Ltd 無線電話装置
JP2002084289A (ja) * 2000-09-07 2002-03-22 Kddi Corp Tcp通信方法
WO2004034173A2 (en) * 2002-10-08 2004-04-22 Koninklijke Philips Electronics N.V. Integrated circuit and method for exchanging data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5987552A (en) 1998-01-26 1999-11-16 Intel Corporation Bus protocol for atomic transactions
US6397287B1 (en) * 1999-01-27 2002-05-28 3Com Corporation Method and apparatus for dynamic bus request and burst-length control
US6393500B1 (en) 1999-08-12 2002-05-21 Mips Technologies, Inc. Burst-configurable data bus
US6493776B1 (en) 1999-08-12 2002-12-10 Mips Technologies, Inc. Scalable on-chip system bus
US6629253B1 (en) 1999-12-30 2003-09-30 Intel Corporation System for efficient management of memory access requests from a planar video overlay data stream using a time delay
US6668308B2 (en) * 2000-06-10 2003-12-23 Hewlett-Packard Development Company, L.P. Scalable architecture based on single-chip multiprocessing
GB2373595B (en) 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US7012893B2 (en) * 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
GB0315504D0 (en) * 2003-07-02 2003-08-06 Advanced Risc Mach Ltd Coherent multi-processing system
EP1671233B1 (en) 2003-09-04 2011-11-16 Koninklijke Philips Electronics N.V. Tree-like data processing system accessing a memory
US7257665B2 (en) * 2003-09-29 2007-08-14 Intel Corporation Branch-aware FIFO for interprocessor data sharing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123118A (ja) * 1993-10-21 1995-05-12 Fuji Xerox Co Ltd フレーム送信回路
JP2000209652A (ja) * 1999-01-18 2000-07-28 Kobe Steel Ltd 無線電話装置
JP2002084289A (ja) * 2000-09-07 2002-03-22 Kddi Corp Tcp通信方法
WO2004034173A2 (en) * 2002-10-08 2004-04-22 Koninklijke Philips Electronics N.V. Integrated circuit and method for exchanging data

Also Published As

Publication number Publication date
EP1751667B1 (en) 2008-05-21
US8086800B2 (en) 2011-12-27
EP1751667A1 (en) 2007-02-14
WO2005111823A1 (en) 2005-11-24
US20070226407A1 (en) 2007-09-27
CN100445977C (zh) 2008-12-24
ATE396454T1 (de) 2008-06-15
DE602005007014D1 (de) 2008-07-03
CN1954306A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
US8285912B2 (en) Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
US7594052B2 (en) Integrated circuit and method of communication service mapping
KR100687659B1 (ko) Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법
EP1552669B1 (en) Integrated circuit and method for establishing transactions
JP2007538331A (ja) 集積回路及びバッファリング方法
KR101699784B1 (ko) 버스 시스템 및 그것의 동작 방법
US20110286422A1 (en) Electronic device and method of communication resource allocation
JP2004525449A (ja) 相互接続システム
CN102449614A (zh) 用于耦合代理的分组化接口
US7613849B2 (en) Integrated circuit and method for transaction abortion
CN100583819C (zh) 用于分组交换控制的集成电路和方法
US7978693B2 (en) Integrated circuit and method for packet switching control
JP2008520119A (ja) 電子デバイスおよび通信資源割り当て方法
CN103152275A (zh) 一种适用于片上网络的可配置交换机制的路由器
EP1733309B1 (en) Integrated circuit and method for transaction retraction
JP5146454B2 (ja) 情報処理装置及び情報処理方法
KR20100137326A (ko) 버스 시스템 및 그 제어 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080512

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802