JP2006502642A - トランザクションを確立するための集積回路および方法 - Google Patents

トランザクションを確立するための集積回路および方法 Download PDF

Info

Publication number
JP2006502642A
JP2006502642A JP2004542690A JP2004542690A JP2006502642A JP 2006502642 A JP2006502642 A JP 2006502642A JP 2004542690 A JP2004542690 A JP 2004542690A JP 2004542690 A JP2004542690 A JP 2004542690A JP 2006502642 A JP2006502642 A JP 2006502642A
Authority
JP
Japan
Prior art keywords
module
address
network
connection
modules
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
JP2004542690A
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 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=32088020&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2006502642(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006502642A publication Critical patent/JP2006502642A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Computer And Data Communications (AREA)
  • Microcomputers (AREA)

Abstract

複数のモジュールM,Sと、前記モジュールM,Sの間でメッセージを伝送するネットワークとを備えた集積回路が設けられる。第1のモジュールにより発行されたメッセージは、前記ネットワーク内のアドレス付けされたモジュールの位置を示す第1の情報と、アドレス付けされたモジュール内の位置を示す第2の情報とを備えている。前記集積回路は、前記第1および第2の情報を単一のアドレスとして配置する少なくとも一つのアドレス変換手段ATを有する。前記アドレス変換手段ATは、前記単一のアドレスに基づいてどのモジュールがどのようにアドレス付けされるかを決定する。前記アドレス付けされたモジュールSの選択位置は、前記単一のアドレスに基づいて決定される。したがって、前記第1のモジュールM、すなわちマスターモジュールの設計は、前記アドレス付けされたモジュール、すなわちスレーブモジュールへのアドレスマッピングとは独立して実装されうる。さらに、より多くの効率的なネットワーク・リソースの利用が達成され、この方式はバスと下位互換性がある。

Description

本発明は、複数の処理モジュールと、処理モジュール間でメッセージを伝送するために構成されたネットワークとを有する集積回路、およびそのような集積回路においてメッセージを交換する方法に関する。
シリコン上のシステムは、新機能や既存機能の改良を実装することへの要求が絶え間なく増えていることにより、複雑化し続けている。これは、集積回路上に組み込むコンポーネントの集積度を高めることによって可能になっている。同時に、回路を動作させるクロックの速度も高まる傾向にある。コンポーネントの集積度の高まりに加えてクロック速度が上がることにより、同じクロック・ドメインでの同期動作が可能な領域が小さくなっている。そのため、モジュラー手法が必要になった。モジュラー手法では、処理システムは、複数の、相対的に独立した、複雑なモジュールを含む。従来の処理システムでは、システム・モジュールは、バスを介して互いに通信するのが普通であった。しかしながら、モジュールの数が増えるにつれ、この通信方法は次の理由で非実用的になる。まず、モジュール数が多くなると、バスの負荷が過大になる。また、1つの素子しかバスにデータを渡すことができないので、バスは通信のボトルネックになる。こうした短所を克服する効果的な方法が、通信ネットワークによって得られる。
非常に複雑なチップの相互接続の問題の解決策として、近年、ネットワーク・オン・チップ(NoC)が多くの注目を集めている。理由は2つある。第1に、NoCは、グローバル配線を構成および管理するので、新しいディープサブミクロン技術の電気的問題を解決するのに役立つ。同時にNoCは、配線を共有して、配線数を少なくし、配線の利用度を上げる。NoCはさらに、エネルギー効率や信頼性が高く、バスよりスケーラブルである。第2に、NoCは、計算と通信を分離する。このことは、数十億規模のトランジスタ・チップの設計を管理する上で必須である。NoCがこの分離を実現できるのは、NoCが最初からプロトコル・スタックを用いて設計されているからである。プロトコル・スタックは、通信サービスの使用とサービスの実装とを分離する、明確に定義されたインターフェースを提供する。
ただし、システム・オン・チップ(SoC)の設計時に、オン・チップ通信にネットワークを用いようとすると、検討を要する新たな問題がいくつも持ち上がる。これは、通信モジュール同士が直接接続される既存のオン・チップ相互接続(たとえば、バス、スイッチ、ポイント・ツー・ポイント配線など)と異なり、NoCでは、モジュール同士がネットワーク・ノードを隔てて通信するためである。結果として、相互接続のアービトレーションが集中型から分散型に変わり、順序が乱れたトランザクション、待ち時間の増加、エンド・ツー・エンド・フロー制御などの課題は、知的所有権ブロック(IP)またはネットワークによって処理されなければならない。
これらの問題のほとんどは、既に、並列マシン相互接続ネットワークの相互接続という、ローカル・エリア・ネットワークおよびワイド・エリア・ネットワーク(コンピュータ・ネットワーク)の分野における研究課題になっている。両方ともオン・チップ・ネットワークと非常に関連性があり、それらの分野における結果の多くはオン・チップにも適用できる。ただし、NoCの前提条件はオフ・チップ・ネットワークと異なるため、ネットワーク設計の選択肢のほとんどについて評価をし直す必要がある。オン・チップ・ネットワークは、異なるプロパティ(たとえば、リンク同期がより緊密)および制約条件(たとえば、メモリ・コストがより高い)を有するため、設計の選択肢も異なり、これが最終的にはネットワーク・サービスに影響を及ぼす。ストレージ(つまり、メモリ)や計算のリソースはオン・チップのほうが比較的高価であるが、ポイント・ツー・ポイント・リンクの数はオン・チップのほうがオフ・チップより多い。ストレージが高価であるのは、RAMなどの汎用オン・チップ・メモリが多くの領域を占めるからである。メモリを比較的小さいサイズでネットワーク・コンポーネント内に分散させることは、メモリ内のオーバーヘッド領域が支配的になるため、さらによくない。
また、オン・チップ・ネットワークの場合は、計算も、オフ・チップ・ネットワークに対して比較的高コストになる。オフ・チップ・ネットワーク・インターフェースは、通常、プロトコル・スタックをネットワーク層以上に実装してホスト・プロセッサを通信処理から解放する専用プロセッサを含む。専用プロセッサをネットワーク・インターフェースに内蔵することは、オン・チップでは不可能である。ネットワーク・インターフェースのサイズが、ネットワークに接続されるIPと同等か、それより大きくなるからである。さらに、プロトコル・スタックをIPそのものの上で実行することも不可能であろう。多くの場合、これらのIPは専用機能を1つしか持たず、ネットワーク・プロトコル・スタックを実行する機能を持たないからである。
ネットワーク・コンポーネントを接続する配線およびピンの数は、オン・チップのほうがオフ・チップより桁違いに多い。それらの配線およびピンは、NoC通信以外の用途に大量に使われていない限り、広いポイント・ツー・ポイント相互接続(たとえば、300ビット・リンク)を可能にする。これは、リンクが(8〜16ビットと)比較的狭いオフ・チップでは不可能である。
さらにオン・チップの配線はオフ・チップより比較的短いため、オフ・チップより格段に緊密な同期が可能である。これにより、通信をより小さな細分性で行うことができるため、ルータ内のバッファ領域を小さくできる。現在の半導体技術では、配線の速度や信頼性も高いので、リンク層プロトコルをよりシンプルにすることができる(たとえば、エラー訂正や再送信が不要)。これは、メモリや計算のリソースの不足を補うことにもなる。
データの順序付け:ネットワーク内では、ソースから宛先に送信されたデータの着信順序が、(経路の違い、ドロップ後の再送信などによる)ネットワーク・ノードでの再順序付けのために乱れる場合がある。オフ・チップ・ネットワークでは、データ配信の順序が乱れるのはよくあることである。しかし、データのドロップがないNoCでは、ソースと宛先の間のデータの経路を強制的に同じにして(確定的経路選択)、再順序付けをなくすことができる。このような順序どおりのデータ転送では、必要なバッファ領域が小さくてすみ、再順序付けモジュールが不要になる。
オン・チップ相互接続にネットワークを導入すると、その通信は、バスやスイッチなどの直接相互接続から根本的に変化する。これは、通信モジュール同士が直接接続されず、1つまたは複数のネットワーク・ノードで隔てられる、ネットワークのマルチホップ性による。これは、広く普及している、モジュール同士が直接接続される既存の相互接続(すなわち、バス)と対照的である。この変化の影響は、(集中型から分散型に変わる必要のある)アービトレーションと通信プロパティ(たとえば、順序付けやフロー制御)に現れる。
トランザクションの順序付け:従来、バス上では、すべてのトランザクションが順序付けられる(Peripheral VCI、AMBA、またはCoreConnect PLBおよびOPBを参照)。これは低コストで行うことが可能だが、それは、相互接続が、通信を行う双方の間の直接リンクであることから、データの再順序付けを行わないためである。しかし、スプリット・バスでは、スレーブの応答速度が様々である場合に、1つのマスタでトランザクションの全体の順序付けを行うことが性能の足かせになる可能性がある。この問題を解決するために、バス・プロトコルの近年の拡張によって、トランザクションを接続に対して実施することが可能になった。接続内でのトランザクションの順序付けは依然として残るが、接続間での順序付けの制約はなくなった(たとえば、OCPやBasic VCI)。少数のバス・プロトコルでは、そのアドバンス・モード(たとえば、Advanced VCI)において、接続ごとの、順序の乱れた応答を許容しているが、宛先には、要求と応答の両方が送信時と同じ順序で着信する。
NoCでは、順序付けはそれほど厳格ではない。グローバル順序付けは、非常に高いコストでのみ可能である。これは、ネットワークの分散的な性質と、グローバル順序付けに必要な集中型アービトレーションの要件とが相反するからである。ソースと宛先のペアの間のローカル順序付けであっても、コストがかかる可能性がある。データは、複数の経路で転送されると、乱れた順序で着信する可能性がある。そのような場合は、順序どおりの配信にするために、データにシーケンス番号のラベルを付け、宛先で再順序付けをしてから配信しなければならない。通信ネットワークは、複数の、部分的に接続されたノードを含む。モジュールからのメッセージは、これらのノードによって、1つまたは複数の他のノードに転送される。この目的のために、メッセージは、ネットワーク内でアドレス指定されたモジュールの場所を示す第1の情報を含む。メッセージはさらに、モジュール内の特定の場所(メモリやレジスタのアドレスなど)を示す第2の情報を含むことができる。この第2の情報は、アドレス指定されたモジュールの特定の応答を呼び出すことができる。
宛先の名前と経路指定:バスの場合、コマンド、アドレス、およびデータは、相互接続に対してブロードキャストされる。それらはすべての宛先に着信し、そのうちの1つが、ブロードキャストされたアドレスに基づいてアクティブになり、要求されたコマンドを実行する。これが可能なのは、すべてのモジュールが同じバスに直接接続されているからである。NoCの場合、すべての宛先に情報をブロードキャストするには、すべてのルータおよびネットワーク・インターフェースに情報をコピーしなければならないので、実現は不可能である。これを行おうとすると、ネットワークにデータがあふれることになる。
本発明の目的は、ネットワークに多くのデータを誘導することなく、集積回路内でメッセージを交換する集積回路と方法を提供することである。
この目的は、請求項1による集積回路と、請求項7によるメッセージを交換する方法とにより達成される。
このため、複数のモジュールM,Sと、前記モジュールM,Sの間でメッセージを伝送するネットワークNとを備えた集積回路が設けられる。第1のモジュールMにより発行されたメッセージは、前記ネットワーク内でアドレス付けされたモジュールの位置を示す第1の情報と、前記アドレス付けされたモジュールS内の位置を示す第2の情報とを有する。前記集積回路は、前記第1および第2の情報を単一のアドレスとして配置する少なくとも一つのアドレス変換手段ATをさらに有する。前記アドレス変換手段ATは、どのアドレスがどのようにアドレス付けされるかを前記単一のアドレスに基づいて決定する。前記アドレス付けされたモジュールSの選択位置は、前記単一のアドレスに基づいて決定される。
したがって、前記第1のモジュール、すなわちマスターモジュールの設計は、アドレス付けされたモジュール、すなわちスレーブモジュールにマップしているアドレスとは独立して実装されうる。さらに、より効率的なネットワークリソースの利用が達成され、この方式はバスと下位互換性がある。アドレス付けは、前記アドレス変換手段により行われる。
本発明の一態様によれば、前記集積回路は、モジュールM,Sの一つに関連づけられた少なくとも一つのインタフェース手段ANIP,PNIPを備えており、同インタフェース手段は、関連のあるモジュールM,SとネットワークNとの間での通信を管理する。前記アドレス変換手段ATは、前記インタフェース手段ANIP,PNIPの一つに配置される。
本発明の他の一態様によれば、前記アドレス変換手段ATは、前記第1のモジュールMに関連づけられた、前記インタフェース手段ANIP,PNIP内に配置される。
本発明の他の一態様によれば、前記アドレス変換手段ATは、アドレスマッピングテーブルを備え、グローバルなメモリマッピングとローカルなメモリマッピングとの間の関係を格納する。
本発明の他の一態様によれば、前記アドレスマッピングテーブルは、静的か、プログラム可能か、あるいは動的である。
本発明の他の一態様によれば、前記アドレスマッピングテーブルは、接続の各チャネル用のフィールドと、接続のネットワークインタフェースポートANIP,PNIP用のフィールドと、アドレス付けされたモジュールSのローカルアドレス用のフィールドとを有する。
本発明はまた、複数のモジュールM,Sを備えた集積回路内でメッセージを交換する方法に関する。これらモジュールM,S間のメッセージは、ネットワークNを介して交換され、モジュールMにより発行されたメッセージは、前記ネットワーク内のアドレス付けされたモジュールSの位置を示す第1の情報と、前記アドレス付けされたモジュールS内の位置を示す第2の情報とを有する。アドレス変換ATは、第1および第2の情報を単一のアドレスとして配置することにより実行される。前記アドレス変換は、どのモジュールがどのようにアドレス付けされるかを前記単一のアドレスに基づいて決定する。前記アドレス付けされたモジュールSの選択位置は、前記単一のアドレスに基づいて決定される。
本発明は、マスターモジュールからのデータのアドレス付けを隠すアイデアに基づく。
さらに、本発明の一態様は、従属請求項に記載されている。
本発明の上述した態様と他の態様は、以下の実施例を参照して明らかにされる。
以下の実施形態は、システム・オン・チップに関する。すなわち、同一チップ上にある複数のモジュールが、ある種の相互接続を介して互いに通信する。この相互接続は、ネットワーク・オン・チップNOCとして実施される。ネットワーク・オン・チップは、ネットワーク内に配線、バス、時分割多重、スイッチ、および/またはルータを含めることができる。前記ネットワークのトランスポート層では、接続を介してモジュール間通信を実施する。接続は、第1のモジュールと少なくとも1つの第2のモジュールの間にあって、それぞれが接続プロパティのセットを有するチャネルのセットであると考えられる。第1のモジュールと単一の第2のモジュールの間の接続の場合(すなわち、単純な接続の場合)、接続は2つのチャネルを含む。1つは、第1のモジュールから第2のモジュールに向かう要求チャネルであり、もう1つは、第2のモジュールから第1のモジュールに向かう応答チャネルである。要求チャネルは、第1のモジュールから第2のモジュールへのデータおよびメッセージのために予約され、応答チャネルは、第2のモジュールから第1のモジュールへのデータおよびメッセージのために予約される。ただし、たとえば、マルチキャスト接続を提供するために、接続が1つの第1のモジュールとN個の第2のモジュールを含む場合は、2N個のチャネルを用意する。ここでは、第1のモジュールがすべての第2のモジュールに要求を発行する。接続プロパティに含めることができるのは、順序付け(順序どおりのデータ転送)、フロー制御(リモート・バッファを接続用として予約し、生成されたデータのための領域が保証される場合のみ、データの送信をデータ・プロデューサに許可する)、スループット(スループットの下限を保証する)、待ち時間(待ち時間の上限を保証する)、損失の大きさ(データのドロップ)、送信の中止、トランザクションの完了、データの正確さ、優先度、またはデータ配信である。
図1は、第1の実施形態によるシステム・オン・チップを示す。このシステムは、マスタ・モジュールM、2つのスレーブ・モジュールS1、S2を含む。各モジュールは、それぞれネットワーク・インターフェースNIを介してネットワークNに接続される。ネットワーク・インターフェースNIは、マスタおよびスレーブ・モジュールM、S1、S2とネットワークNの間のインターフェースとして用いられる。ネットワーク・インターフェースNIは、それぞれのモジュールとネットワークNの通信を管理するために設けられる。これらにより、各モジュールは、ネットワークまたは他のモジュールとの通信を扱うことなく、各自の専用動作を実施できる。ネットワーク・インターフェースNIは、ネットワークを介して互いの間で、読み出しrdおよび書き込みwrの要求および動作を送信できる。
図2は、第2の実施形態によるシステム・オン・チップを示す。このシステムは、マスタ・モジュールM、2つのスレーブ・モジュールS1、S2、ルータ・ネットワークRN、およびモジュールとルータ・ネットワークRNの間の3つのネットワーク・インターフェースANIP、PNIPを含む。ネットワーク・インターフェースは、2つのネットワーク・インターフェース・ポートNIPを設けており(1つは要求ポート、1つは応答ポート)、これを通して、各モジュールがルータ・ネットワークRNと通信したり、ルータ・ネットワークRNを介して他のモジュールと通信したりする。マスタ・モジュールMに関連付けられたネットワーク・インターフェース・ポートをアクティブ・ネットワーク・インターフェース・ポートANIPと呼び、スレーブ・モジュールに関連付けられたネットワーク・インターフェースをパッシブ・ネットワーク・インターフェース・ポートPNIPと呼ぶ。マスタ・モジュールMとスレーブ・モジュールS1、S2の間の通信は、要求−応答トランザクションに基づいて行われる。この場合は、マスタMが、場合に応じて何らかのデータや必要な接続プロパティを含む要求を発行することによってトランザクションを開始する。要求REQは、アクティブ・ネットワーク・インターフェース・ポートANIP、ネットワークRN、およびパッシブ・ネットワーク・インターフェース・ポートPNIPを介して、スレーブ・モジュールSに配信される。要求がスレーブ・モジュールTによって実行され、必要または要求に応じて、データが応答RESPとして返される。この応答RESPには、マスタMに宛てたデータおよび/または肯定応答を含めることができる。マスタMでの処理では、2つのスレーブS1、S2のメモリに割り当てられたアドレス・マップ0−FF(すなわち、第1のスレーブS1のメモリ内の0−7Fと、第2のスレーブS2のメモリ内の80−FF)を参照できる。宛先モジュールへの経路を見つけるために、アドレスをソース側でデコードできる。したがって、トランザクション・アドレスは、(a)宛先識別子と(b)宛先における内部アドレスの2つの部分を有する。
モジュールとネットワーク・インターフェースの接続は、以下のように分類できる。
−単純な接続は、1つのANIPと1つのPNIPの間の接続である。
−マルチキャスト接続は、1つのANIPと1つまたは複数のPNIPの間の接続であって、送信されるメッセージは複製され、各PNIPはそれらのメッセージのコピーを受信する。マルチキャスト接続では、現在、返信メッセージが許可されていない。これは、生成されるトラフィックが膨大になるからである(すなわち、宛先ごとに1つの応答が生成されるため)。また、各PNIPからの個々の応答を単一のANIP向け応答にまとめなければならない点でも、ANIPの複雑さが増すからである。この、まとめる操作だけでも、バッファ領域および/または追加計算が必要になる。
−ナローキャスト接続は、1つのANIPと1つまたは複数のPNIPの間の接続であって、ANIPで開始される各トランザクションが必ず1つのPNIPによって実行される。ナローキャスト接続の一例では、ANIPが、2つのメモリ・モジュールにマッピングされたアドレス空間でトランザクションを実施する。トランザクションは、トランザクション・アドレスに応じて、それら2つのメモリのいずれかでのみ実行される。
ナローキャスト接続は、アクティブ・ネットワーク・インターフェース・ポートANIPにおいて各トランザクション・アドレスをデコードすることによって実装できる。デコード結果に従って、トランザクションのターゲット・スレーブが識別され、その特定のスレーブにのみトランザクション要求が送信される。すなわち、要求は、そのターゲット・スレーブでのみ認識可能であり、ネットワーク内のすべてのスレーブで認識できるわけではない。
図3は、本発明の第3の実施形態によるシステム・オン・チップを示す。この第3の実施形態によるシステムは、第2の実施形態によるシステムをベースとしている。さらに、アクティブ・ネットワーク・インターフェース・ポートANIPは、アドレス・マッピング・テーブルAMTを有するアドレス変換マネージャATを含み、アドレス変換マネージャATは、アドレス・マッピング・テーブルAMTに格納されている情報に基づいてターゲット・スレーブのアドレスをデコードする。前記アドレス・マッピング・テーブルAMTは、静的ベース、プログラマブル・ベース、または動的ベースで実装でき、これには、接続のすべてのチャネルのためのフィールド、接続識別子のためのフィールド、接続のネットワーク・インターフェース・ポートANIP、PNIPのためのフィールド、および/またはアドレス指定されたモジュールSのローカル・アドレスのためのフィールドを含めることができる。
スレーブ内のすべてのアドレスは、グローバル・アドレスとローカル・アドレスを有する。グローバル・アドレスは、マスタMでの処理で参照されるアドレスに関し、ローカル・アドレスは、スレーブ内のアドレスに関する。グローバル・アドレスのアドレス範囲を0000−FFFFとすることができ、スレーブ内の範囲を000−FFFとすることができる。
グローバル・アドレスは、様々な方法で構成できる。第1の方法では、ネットワーク・アドレスとローカル・アドレスとで構成する。ネットワーク・アドレスとしては、受信側モジュールのポート識別子、すなわち、パッシブ・ネットワーク・インターフェース・ポートPNIPのポートIDを用いることができる。このような方法には下位互換性がある。
第2の方法では、グローバル・アドレスを、最小限の情報として接続識別子(接続id)とローカル・アドレスとで構成するか、あるいは、接続識別子、パッシブ・ネットワーク・インターフェース・ポートPNIP、およびローカル・アドレスで構成する。パッシブ・ネットワーク・インターフェース・ポートPNIPを与えることは、ケースによっては冗長になるが、方法の安全性が向上する。マスタの場合は、接続idによって複数のスレーブが指定されるので、それらから1つを選択する何らかの手段が必要である。ネットワーク・インターフェース・ポートNIPアドレスか、(パッシブ・ネットワーク・インターフェース・ポートPNIP idが抽出される)グローバル・アドレスが依然として必要である。いずれの場合でも(すなわち、ネットワーク・インターフェース(NI)・アドレスの場合でも、グローバル・アドレスの場合でも)、接続にマッピングされるのはネットワーク・インターフェース・ポートNIPのサブセットだけなので、選択手段としてのチェックは可能である。
a)アドレス変換は、接続id+グローバル・アドレス(すなわち、パッシブ・ネットワーク・インターフェース・ポートPNIP idおよびローカル・アドレス)に基づいて実施され、場合によって、接続およびチェックの通信プロパティも用いられる。
b)アドレス変換は、接続id、パッシブ・ネットワーク・インターフェース・ポートPNIP id+ローカル・アドレスに基づいて実施され、場合によって、接続およびチェックの通信プロパティも用いられる。
スレーブの場合は、接続idだけでデータの宛先を十分決定できる。この宛先は、その接続の一意のANIPに接続された一意のマスタである。
前述のとおり、アドレス変換は、アクティブ・ネットワーク・インターフェースのアドレス変換マネージャATによって実施され、アドレス変換マネージャATは、自身のアドレス・マッピング・テーブルAMTを含む。このアドレス・マッピング・テーブルAMTには、アドレス変換を実施するために必要なすべての情報が格納される。ただし、アドレス変換マネージャATおよび/またはアドレス・マッピング・テーブルAMTを、ネットワーク・インターフェース内ではなく、ネットワークN内で集中配置することもできる。
本発明のさらなる実施形態によれば、ナローキャスト接続の機能性は、単純な接続かマルチキャスト接続によっても達成できる。ただし、コストがかかり、柔軟性は低く、かつ/またはモジュールの再利用性がない。ナローキャスト接続は、各スレーブ・モジュールSへの複数の単純な接続を用いて実装できる。マスタ・モジュールMまたはそのアクティブ・ネットワーク・インターフェース・ポートANIPは、アドレスに従って、適切な単純接続を選択する。接続の差別的プロパティ、すなわち、接続のそれぞれのチャネルごとに異なる接続プロパティも、スレーブごとに実装できる。ただし、マスタ・モジュールMは、アドレス・マップの割り当てをあらかじめ知っていなければならず、これが再利用性の妨げになる。単純接続を用いると、複数の接続識別子を管理しなければならないので、マスタ・モジュールのプログラミングがより難しくなる。複数のバッファ、すなわち、単純接続ごとのバッファは、複数の単純接続が用いられる場合に、それぞれの応答に対して割り当てなければならない。ただし、これには、ナローキャスト接続で用いるような単一の大きなバッファを割り当てる場合より、メモリが多く必要になる可能性がある。順序付けされたナローキャスト・トランザクションが必要な場合は、これらをより高いレベルに実装しなければならない。接続をまたいでは、順序付けが保証されないからである。
あるいは、マルチキャスト接続をベースにして、ナローキャスト接続を実装することができる。マルチキャスト接続は、マスタMを1つまたは複数のスレーブS1、S2に接続する。応答があるトランザクションの場合は、すべてのスレーブが応答するが、マスタに返されるのは、1つの応答だけである。このような応答メッセージのフィルタリングは、マスタに関連付けられたアクティブ・ネットワーク・インターフェースANIPが実施できる。あるいは、マルチキャスト接続に基づくナローキャスト接続は、スレーブにトランザクション・フィルタを実装することによって達成できる。すなわち、スレーブに関連付けられたパッシブ・ネットワーク・インターフェースPNIPがフィルタリングを実施する。PNIPは、関連付けられたスレーブにトランザクションを転送するかどうかを、トランザクション・アドレスに応じて決定する。ただし、マルチキャスト接続が各スレーブからの応答を期待しているため、PNIPは、空の応答を含めなければならない。これは、ANIPまたはモジュールによってフィルタリングできる。この方法では、1つの接続だけが関与するので、マスタのプログラミングを単純にすることができる。それぞれのスレーブのアドレス割り当てを知ることが不要になるので、マスタ・モジュールMの設計の再利用可能性も向上する。ただし、かなりの量の不要なネットワーク・トラフィック(すなわち、アドレス指定されていないスレーブへのトラフィック、およびそのスレーブからのトラフィック)が発生し、それらに対するバッファリングも必要になる。最後に、要求がすべてのスレーブに送信されるため、スレーブごとの差別的帯域幅割り当ての微調整を実施できる。
応答をしないトランザクション(たとえば、posted write)は、スレーブで実行された時点で完了したとされる。マスタに対する応答メッセージがないため、トランザクションの完了に関する保証を与えることができない。
応答をするトランザクション(たとえば、acknowledged write)は、ANIPからのRETSTATメッセージが受信された時点で完了したとされる。データが応答(RETDATA)として受信されるときには、RETSTAT(場合によっては暗黙的)もデータを検証するために受信されることを想起されたい。トランザクションは、正常に実行されて成功RETSTATが返される場合や、スレーブでの実行に失敗して実行エラーRETSTATが返される場合や、フロー制御がない接続でバッファ・オーバーフローのために失敗してオーバーフロー・エラーがレポートされる場合がある。応答を必要とするCMDをスレーブが受け付けた場合、スレーブは必ず応答を生成するものとする。
ネットワーク内では、ルータがデータをドロップしないので、メッセージは常にNIに配信されることが保証されている。フロー制御がある接続では、NIもデータをドロップしない。したがって、この場合は、メッセージ配信が自動的に保証され、それによってIPへのトランザクションの完了も自動的に保証される。
これに対し、フロー制御がない場合は、バッファ・オーバーフローが起こったときにネットワーク・インターフェースでメッセージがドロップされる可能性がある。CMD、OUTDATA、RETDATAはすべて、NIでドロップされる可能性がある。トランザクションの完了を保証するために、RETSTATはドロップできないようになっている。したがって、すべての未処理トランザクションのRETSTATメッセージを収容するために、ANIPに十分なバッファ領域を設けなければならない。これは、未処理トランザクションの数に上限を設定することによって実現される。
次に、単一接続内での異なるトランザクション間の順序付け要件について説明する。トランスポート層の異なる接続間では、トランザクションの順序付けは定義されない。
1つの接続には、トランザクションの順序付けを観察できるポイントがいくつかある。(a)マスタ・モジュールM、IがCMDメッセージをANIPに渡す順序、(b)CMDがPNIPによってスレーブ・モジュールT、Sに配信される順序、(c)スレーブ・モジュールT、Sが応答をPNIPに渡す順序、(d)応答がANIPによってマスタに配信される順序などである。(b)、(c)、(d)は、すべてが常に存在するわけではないことに注意されたい。さらに、スレーブがトランザクションを実行する順序については前提はない。観察できるのは、応答の順序だけである。スレーブによるトランザクション実行の順序は、システム決定であると考えられ、相互接続プロトコルの一部ではない。
ANIPとPNIPの両方において、同一接続上にある、異なるトランザクションに属する送信メッセージをインタリーブすることが可能である。たとえば、2つの書き込みコマンドを、それらのデータの後にのみ、発行できる。OUTDATAメッセージの順序がCMDメッセージの順序と異なる場合は、OUTDATAをそれぞれ対応するCMDに関連付けるためにトランザクション識別子を導入しなければならない。
送信メッセージは、以下のように、PNIPによってスレーブ(bを参照)に配信できる:
−Unordered(順序付けされない):異なるトランザクションの送信メッセージのPNIPでの配信に順序付けが課されない。
−Ordered locally(ローカルに順序付けされる):トランザクションが送信時の順序(a)で各PNIPに配信されなければならない。ただし、PNIP間では順序付けは課されない。送信メッセージのローカルに順序付けされた配信は、順序付けされたデータ転送か、PNIPでの送信メッセージの再順序付けによって実現できる。
−Ordered globally(グローバルに順序付けされる):トランザクションが、接続のすべてのPNIPにわたって、送信時の順序で配信されなければならない。トランザクションの送信部分のグローバルに順序付けされた配信には、コストのかかる同期メカニズムが必要である。
トランザクション応答メッセージは、Orderedとして、スレーブによってPNIP(c)に配信できる。このとき、RETDATAメッセージとRETSTATメッセージは、CMDがスレーブ(b)に配信されたときと同じ順序か、そうでなければUnorderedとして返される。応答が順序付けされない場合は、各応答が属するトランザクションを識別するメカニズムがなければならない。通常、これは、トランザクションの識別のためにメッセージに添付されたタグを用いて行われる(VCIのタグと同様)。
応答メッセージは、以下のように、ANIPによってマスタ(dを参照)に配信できる:
−Unordered(順序付けされない):応答の配信に順序付けが課されない。ここではさらに、タグを用いて、各応答をそれぞれ対応するCMDに関連付けなければならない。
−Ordered locally(ローカルに順序付けされる):単一のスレーブに向けたトランザクションのRETDATAメッセージとRETSTATメッセージが、元のCMDがマスタによってANIPに渡されたときの順序で配信される。同一接続内では、異なるスレーブへのトランザクションに対して順序付けが課されないことに注意されたい。
−Globally ordered(グローバルに順序付けされる):1つの接続におけるすべての応答が、元のCMDと同じ順序でマスタに配信される。トランザクションが接続上でパイプライン化されている場合、応答のグローバルに順序付けされた配信には、ANIPでの再順序付けが必要である。
上記の順序付けの3×2×3=18とおりの組合せのすべてが可能である。これらのうち、次の2つを定義して提示する。順序付けされない接続は、トランザクションのどの部分でも順序付けが前提とされていない接続である。したがって、応答にタグを付けて、どのトランザクションに属するかを識別できるようにしなければならない。順序付けされない接続の実装はコストが低いが、使いにくい場合があり、タグ付けのオーバーヘッドがかかる。
順序付けされた接続は、PNIPからスレーブへの送信メッセージのローカルな順序付け、PNIPでの順序付けされた応答、およびANIPでの応答に対するグローバルな順序付けがある接続として定義される。本願発明者らは、グローバルな順序付けはコストがかかりすぎ、用途が少ないという理由で、送信部分のローカルな順序付けを選択する。応答の順序付けは、タグ付けのないシンプルなプログラミング・モデルを可能にするために選択される。ANIPでのグローバルな順序付けは、すべての再順序付けがANIPでローカルに行われるので、ほどほどのコストで可能である。ユーザは、送信メッセージと返信メッセージのグローバルな順序付けがある接続を、PNIPにおいて、パイプライン化されていない肯定応答済みトランザクションを用いてエミュレートできる(ただし、待ち時間が長くかかる)。
ネットワークでは、接続のスループットを、時分割多重アクセス(TDMA)方式で予約できる。この場合、帯域幅は、固定時間フレーム上の固定サイズ・スロットに分割される。帯域幅は、待ち時間およびジッタの上限とともに、スロットの予約時に保証できる。それらはすべて、複数のスロットで定義される。
既述のように、ネットワークは、メッセージがNIに配信されることを保証する。1つのNIPから送信されたメッセージは、ネットワークのマルチホップ性のため、他のNIPでは、すぐには認識されない。したがって、ネットワーク上でのハンドシェイクでは、一度に1つのメッセージしか送信することができない。これにより、接続のスループットが制限され、トランザクションに待ち時間が加わる。この問題を解決し、ネットワークの利用度を上げるために、メッセージをパイプライン化しなければならない。この場合、PNIPにおいてデータを着信時と同じレートで処理しきれないのであれば、処理者NIでのバッファ領域が限られているために、フロー制御を導入してプロデューサを低速化しなければならない。さもなければ、データが失われるおそれがある。
NoCサービスのセットは、ネットワークの詳細から抽出されて定義される。IPデザインにおけるこれらのサービスを利用して、計算と通信が分離される。要求−応答トランザクションモデルは、現存するオンチップ相互接続プロトコルに近いものが用いられる。これは、現在のIPからNoCへの移行を緩和する。高帯域でトランザクション・同時並行性(transaction concurrency)等のNoC能力をフルに利用するために、接続指向通信が設けられる。接続は、異なる特性で独立に構成されうる。これらの特性は、トランザクションの完了、種々のトランザクションの指示、帯域幅の下限、待ち時間(latency)およびジッターの上限、フロー制御を含む。
前述のとおり、NoCは、既存のオフ・チップ・ネットワークとも既存のオン・チップ相互接続とも異なるプロパティを有する。したがって、既存のプロトコルおよびサービス・インターフェースをそのままNoCに採用することはできず、採用するためには、NoCの特性を考慮しなければならない。たとえば、TCP/IPなどのプロトコルは、ネットワークに損失があることを前提としており、信頼できる通信を提供するために多大な複雑さを含んでいる。したがって、そうしたプロトコルは、データ転送の信頼性の問題がより低いレベルで既に解決されていると見なせるNoCでは適切ではない。一方で、VCI、OCP、AMBA、CoreConnectなどの既存のオン・チップ・プロトコルもまた、そのままでは適用できない。たとえば、それらは、データの順序付けされた転送を前提としている。つまり、2つの要求が同じマスタから開始された場合、それらは同じ順序で宛先に着信する。これは、NoCでは、自動的には維持されない。トランザクションのアトミック・チェーンとエンド・ツー・エンドのフロー制御もまた、NoCインターフェースにおいては格別の注意を必要とする。
図1および2に示したモジュールを、前記ネットワーク・インターフェースNIにおいてネットワークと対話する、いわゆる知的所有権ブロックIP(相互接続モジュールを含む計算素子、メモリ、またはサブシステム)とすることができる。NIは、通信サービスにアクセスするためのNIポートNIPを設けている。NIは、1つまたは複数のIPを接続できるNIPを複数有することができる。同様に、IPを複数のNIおよびNIPに接続できる。
ネットワークを介する通信は、接続上のネットワーク・インターフェースによって実施される。すなわち、イニシエータ・モジュールとターゲット・モジュールは、ネットワークからは見えない。接続は、保証されたスループット、上限のある待ち時間およびジッタ、順序付けられた配信、またはフロー制御などの様々なプロパティを有する通信を記述および識別するために用いられる。たとえば、1Mbsの通信と25Mbsの通信を区別し、別々に保証するために、2つの接続を用いることができる。2つのNIPを、(場合によって、異なるプロパティを有する)複数の接続によって接続することができる。ここで定義する接続は、OCPやVCIにおけるスレッドおよび接続の概念と同様である。OCPおよびVCIでは、トランザクションの順序付けを緩和するためにのみ接続を用いるが、本願発明者らは、順序付けプロパティのみから、バッファリングおよびフロー制御の構成、保証されたスループット、および接続ごとに上限のある待ち時間を含むように一般化する。
本発明の実施形態による接続は、所望のプロパティで生成または確立されてから使用されなければならない。このことがネットワーク内でのリソースの予約(たとえば、バッファ領域や、時間単位あたりのリンク利用率)につながっている。要求されたリソースが利用できない場合、ネットワークRNはその要求を拒否する。接続は利用後に閉じられ、その接続によって占有されていたリソースが解放される。
接続の構成方法にさらなる柔軟性を持たせ、接続ごとのリソース割り当てをよりよいものにするために、接続の送信部分と返信部分を別々に構成することができる。たとえば、マスタとスレーブとで異なる量のバッファ領域をNIPに割り当てたり、要求と応答とで異なる帯域幅を予約したりできる。
通信は、接続において、要求と、場合によって応答からなるトランザクションによって行われる。要求は、操作(たとえば、read、write、flush、test-and-set、nopなど)をエンコードし、場合によって送信データ(たとえば、書き込みコマンド用)を搬送する。応答は、コマンド(たとえば、read)の結果としてのデータおよび/または肯定応答を返す。接続には、少なくとも2つのNIPが関与する。接続におけるトランザクションは、必ず、1つのNIPにおいて開始される。このNIPを、接続のアクティブNIP(ANIP)と呼ぶ。接続の他のすべてのNIPを、パッシブNIP(PNIP)と呼ぶ。
1つの接続において、複数のトランザクションが同時にアクティブになる場合がある。これは、スプリット・バスの場合より普通に起こりうる。つまり、接続のANIPにおいて、前のトランザクションの応答が保留中の状態でトランザクションを開始することができる。接続に複数のスレーブがあれば、異なるスレーブに対して複数のトランザクションを開始できる。トランザクションは、単一のマスタ−スレーブのペアの間でも、要求と応答の両方についてパイプライン化される。原則として、トランザクションはスレーブ内でもパイプライン化できる(それが可能なスレーブの場合)。
トランザクションは、以下のメッセージから構成できる。
−コマンド・メッセージ(CMD)は、ANIPによって送信され、PNIPに接続されているスレーブにおいて実行されるアクションを記述する。コマンドの例として、read、write、test-and-set、flushなどがある。コマンドだけが、トランザクションにおいて必須のメッセージである。パラメータのない単一のコマンド(たとえば、固定サイズのアドレスなし書き込み)だけを許可するNIPについては、コマンド・メッセージは、たとえ暗黙的でも(つまり、IPによって明示的に送信されなくても)存在すると見なす。
−データ送信メッセージ(OUTDATA)は、データを実行する必要があるコマンド(たとえば、write、multicast、test-and-setなど)に続いて、ANIPによって送信される。
−データ返信メッセージ(RETDATA)は、データを生成するトランザクション実行(たとえば、readやtest-and-setなど)の結果として、PNIPによって送信される。
−肯定応答完了メッセージ(RETSTAT)は、コマンドが完了した時点でPNIPによって返される任意メッセージである。正常完了が伝えられる場合と、エラーが伝えられる場合がある。RETDATAとRETSTATの両方を含むトランザクションの場合、この2つのメッセージを1つのメッセージにまとめて効率化を図ることができる。ただし、概念的には、これらは同時に存在する。RETSTATがデータの存在またはエラーを伝え、RETDATAがデータを搬送するからである。バス・ベースのインターフェースでは、通常、RETDATAとRETSTATは、2つの独立した信号として存在する。
トランザクションを構成するメッセージは、送信メッセージ(CMD、OUTDATA)と、応答メッセージ(RETDATA、RETSTAT)とに分かれる。トランザクション内では、CMDは他のすべてのメッセージに先行し、RETDATAは、RETSTATに先行する(RETSTATがある場合)。これらのルールは、マスタとANIPの間、およびPNIPとスレーブの間の両方にあてはまる。
これまで述べてきた実施形態は本発明を制限するものではなく例示するものであること、および、当業者であれば、添付の請求項の範囲から逸脱することなく様々な代替実施形態を設計できることに注意されたい。請求項においては、括弧で囲まれたどの参照符号も、請求項を制限するものとして解釈されてはならない。「含む(comprising)」という語は、請求項に列挙した要素またはステップ以外の要素またはステップの存在を除外するものではない。要素の前に付く「a」または「an」は、そのような要素が複数存在することを除外するものではない。複数の手段を列挙した装置請求項において、それらの手段のいくつかは、同一アイテムのハードウェアで実施できる。特定の手段が、互いに異なる従属請求項に再び記載されているという単なる事実は、それらの手段の組合せを有利に使用することができないということを示すものではない。
さらに、請求項中のどの参照符号も、請求項の範囲を制限するものとして解釈されてはならない。
第1の実施形態によるチップ上のシステムを示す図。 第2の実施形態によるチップ上のシステムを示す図。 第3の実施形態によるチップ上のシステムを示す図。

Claims (6)

  1. 複数のモジュールと、前記複数のモジュールの間でメッセージを伝送するネットワークとを備えた集積回路であって、
    第1のモジュールにより発行されたメッセージは、前記ネットワーク内のアドレス付けされたモジュールの位置を示す第1の情報と、前記アドレス付けされたモジュール内の位置を示す第2の情報とを有し、
    前記集積回路は、前記第1および第2の情報を単一のアドレスとして配置する少なくとも一つのアドレス変換手段を有し、
    前記アドレス変換手段は、どのモジュールが前記単一のアドレスに基づいてアドレス付けされるかを決定し、
    前記アドレス付けされたモジュールの選択位置が前記単一のアドレスに基づいて決定されることを特徴とする集積回路。
  2. 関連のある前記モジュールと前記ネットワークとの間での通信を管理する、前記モジュールの一つに関連づけられた少なくとも一つのインタフェース手段をさらに備え、
    前記アドレス変換手段の一つは、前記インタフェース手段の一つに配置されることを特徴とする請求項1に記載の集積回路。
  3. 前記アドレス変換手段は、前記第1のモジュールに接続された前記インタフェース手段に配置されることを特徴とする請求項2に記載の集積回路。
  4. 前記アドレス変換手段は、アドレスマッピングテーブルを有することを特徴とする請求項2または3に記載の集積回路。
  5. 前記アドレスマッピングテーブルは、接続の各チャネル用のフィールドと、接続のネットワークインタフェースポート用のフィールドと、アドレス付けされたモジュール内のローカルアドレス用のフィールドとを有することを特徴とする請求項4に記載の集積回路。
  6. 複数のモジュールを備えた集積回路内でメッセージを交換する方法であって、
    前記メッセージは前記複数のモジュール間でネットワークを介して交換され、
    あるモジュールにより発行されたメッセージは、前記ネットワーク内でアドレス付けされたモジュールの位置を示す第1の情報と、前記アドレス付けされたモジュール内の位置を示す第2の情報とを有し、
    前記方法は、
    前記第1および第2の情報を単一のアドレスとして配置し、
    モジュールがどのようにアドレスされるかを前記単一のアドレスに基づいて決定し、
    前記単一のアドレスに基づいて、前記アドレス付けされたモジュールの選択位置を決定することを特徴とする方法。
JP2004542690A 2002-10-08 2003-07-04 トランザクションを確立するための集積回路および方法 Pending JP2006502642A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02079196 2002-10-08
PCT/IB2003/003036 WO2004034676A1 (en) 2002-10-08 2003-07-04 Integrated circuit and method for establishing transactions

Publications (1)

Publication Number Publication Date
JP2006502642A true JP2006502642A (ja) 2006-01-19

Family

ID=32088020

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2004542690A Pending JP2006502642A (ja) 2002-10-08 2003-07-04 トランザクションを確立するための集積回路および方法
JP2004542689A Expired - Lifetime JP4560409B2 (ja) 2002-10-08 2003-07-04 データを交換する集積回路および方法
JP2004542736A Pending JP2006502650A (ja) 2002-10-08 2003-10-07 トランザクションを確立するための集積回路および方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2004542689A Expired - Lifetime JP4560409B2 (ja) 2002-10-08 2003-07-04 データを交換する集積回路および方法
JP2004542736A Pending JP2006502650A (ja) 2002-10-08 2003-10-07 トランザクションを確立するための集積回路および方法

Country Status (10)

Country Link
US (3) US7769893B2 (ja)
EP (3) EP1552669B1 (ja)
JP (3) JP2006502642A (ja)
KR (1) KR101016987B1 (ja)
CN (5) CN100342370C (ja)
AT (2) ATE373922T1 (ja)
AU (3) AU2003299454A1 (ja)
DE (2) DE60316458T2 (ja)
TW (1) TWI307840B (ja)
WO (3) WO2004034173A2 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005010768A1 (en) * 2003-07-30 2005-02-03 Koninklijke Philips Electronics N.V. Integrated circuit with dynamic communication service selection
EP1726132A2 (en) * 2004-03-03 2006-11-29 Koninklijke Philips Electronics N.V. Data processing circuit wherein data processing units communicate via a network.
WO2005103934A1 (en) * 2004-04-26 2005-11-03 Koninklijke Philips Electronics N.V. Integrated circuit and method for issuing transactions
EP1751667B1 (en) * 2004-05-18 2008-05-21 Koninklijke Philips Electronics N.V. Integrated circuit and method for buffering to optimize burst length in networks on chips
EP1605727A1 (en) * 2004-06-09 2005-12-14 Koninklijke Philips Electronics N.V. Integrated circuit and method for time slot allocation
FR2875982B1 (fr) * 2004-09-28 2006-12-22 Commissariat Energie Atomique Architecture de communication semi-automatique noc pour applications "flots de donnees"
US7596653B2 (en) * 2004-11-08 2009-09-29 Intel Corporation Technique for broadcasting messages on a point-to-point interconnect
WO2006051471A1 (en) * 2004-11-09 2006-05-18 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
EP1820356A1 (en) * 2004-12-01 2007-08-22 Koninklijke Philips Electronics N.V. Data processing system and method for converting and synchronising data traffic
US7711787B2 (en) * 2004-12-15 2010-05-04 Electronics And Telecommunications Research Institute On-chip network interfacing apparatus and method
JP2008535435A (ja) * 2005-04-06 2008-08-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワーク・オン・チップ環境及び遅延低減方法
EP1869845A1 (en) * 2005-04-07 2007-12-26 Koninklijke Philips Electronics N.V. Network-on-chip environment and method for reduction of latency
US20090122703A1 (en) * 2005-04-13 2009-05-14 Koninklijke Philips Electronics, N.V. Electronic Device and Method for Flow Control
WO2006129294A1 (en) * 2005-06-03 2006-12-07 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation.
EP1744497B1 (en) * 2005-07-14 2008-01-23 Interuniversitair Microelektronica Centrum Vzw Method for managing a plurality of virtual links shared on a communication line and network implementing said method
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
US7802040B2 (en) * 2005-12-22 2010-09-21 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
JP4611901B2 (ja) * 2006-01-16 2011-01-12 株式会社ソニー・コンピュータエンタテインメント 信号伝送方法、ブリッジユニット、および情報処理装置
JP4372110B2 (ja) * 2006-02-10 2009-11-25 エヌイーシーコンピュータテクノ株式会社 データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
FR2900017B1 (fr) * 2006-04-12 2008-10-31 Arteris Sa Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
FR2904445B1 (fr) * 2006-07-26 2008-10-10 Arteris Sa Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce
US7961605B2 (en) * 2006-07-31 2011-06-14 International Business Machines Corporation System and method for enabling management of a plurality of messages in a communication network
US8045573B2 (en) 2006-08-16 2011-10-25 Arm Limited Bit ordering for packetised serial data transmission on an integrated circuit
KR100737943B1 (ko) * 2006-09-13 2007-07-13 삼성전자주식회사 네트워크-온-칩 응답 신호 제어 장치 및 그 방법
US8689244B2 (en) * 2007-01-26 2014-04-01 Objective Interface Systems, Inc. Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration
WO2008126471A1 (ja) * 2007-04-06 2008-10-23 Nec Corporation 半導体集積回路およびその試験方法
US7860085B2 (en) * 2007-05-14 2010-12-28 Alcatel Lucent Dual OSS management of an Ethernet access network
CN101075961B (zh) * 2007-06-22 2011-05-11 清华大学 片上网络设计用的一种自适应打包方法
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
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
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
JP4554703B2 (ja) * 2007-12-27 2010-09-29 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US20110029706A1 (en) * 2008-04-09 2011-02-03 Nxp B.V. Electronic device and method for controlling an electronic device
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
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
US8494833B2 (en) * 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US20090282211A1 (en) * 2008-05-09 2009-11-12 International Business Machines Network On Chip With Partitions
US8392664B2 (en) * 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) * 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8195884B2 (en) * 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
FR2945396A1 (fr) * 2009-05-07 2010-11-12 St Microelectronics Grenoble 2 Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101563195B1 (ko) * 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
US8204731B2 (en) * 2010-03-01 2012-06-19 Himax Technologies Limited Signal analyzing method for electronic device having on-chip network and off-chip network
US8819116B1 (en) 2010-03-08 2014-08-26 Amazon Technologies, Inc. Providing services using a device capabilities service
US8861410B2 (en) 2011-10-31 2014-10-14 Qualcomm Incorporated Method and apparatus for scalable network transaction identifier for interconnects
US8640230B2 (en) 2011-12-19 2014-01-28 International Business Machines Corporation Inter-thread communication with software security
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
JP2013196167A (ja) 2012-03-16 2013-09-30 Toshiba Corp 情報処理装置
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8838861B2 (en) 2012-05-09 2014-09-16 Qualcomm Incorporated Methods and apparatuses for trace multicast across a bus structure, and related systems
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9471538B2 (en) 2012-09-25 2016-10-18 Qualcomm Technologies, Inc. Network on a chip socket protocol
WO2014052261A1 (en) * 2012-09-25 2014-04-03 Arteris SAS Network on a chip socket protocol
EP2741452A1 (en) * 2012-12-10 2014-06-11 Robert Bosch Gmbh Method for data transmission among ECUs and/or measuring devices
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US9456071B2 (en) 2013-11-12 2016-09-27 At&T Intellectual Property I, L.P. Extensible kernel for adaptive application enhancement
US9270659B2 (en) 2013-11-12 2016-02-23 At&T Intellectual Property I, L.P. Open connection manager virtualization at system-on-chip
US9602587B2 (en) * 2014-06-26 2017-03-21 Altera Corporation Multiple plane network-on-chip with master/slave inter-relationships
US9747239B2 (en) 2014-08-25 2017-08-29 Apple Inc. Transaction filter for on-chip communications network
US10078356B2 (en) * 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
US10243882B1 (en) * 2017-04-13 2019-03-26 Xilinx, Inc. Network on chip switch interconnect
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
CN109302296B (zh) * 2018-10-10 2020-12-29 上海保险交易所股份有限公司 用于在区块链网络中广播消息的方法、设备和存储介质
CN114077568A (zh) * 2020-08-18 2022-02-22 Oppo广东移动通信有限公司 核间通信方法、装置、电子组件以及电子设备
US20240211422A1 (en) * 2022-12-21 2024-06-27 Xilinx, Inc. Noc routing in a multi-chip device
CN116389357B (zh) * 2023-06-06 2023-09-29 太初(无锡)电子科技有限公司 基于片上网络的空洞地址处理方法、装置、设备及介质
US12088735B1 (en) 2023-09-13 2024-09-10 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12045350B1 (en) 2023-09-13 2024-07-23 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12015719B1 (en) 2023-09-13 2024-06-18 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570220A (en) * 1983-11-25 1986-02-11 Intel Corporation High speed parallel bus and data transfer method
US4807118A (en) * 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
US4842740A (en) 1988-08-05 1989-06-27 Hoechst Celanese Corporation Membranes prepared from blend of polybenzimidazole with polyarylates
US5098985A (en) * 1988-10-11 1992-03-24 The Dow Chemical Company Copolymers containing polybenzoxazole, polybenzothiazole and polybenzimidazole moieties
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5341369A (en) * 1992-02-11 1994-08-23 Vitesse Semiconductor Corp. Multichannel self-routing packet switching network architecture
JP2675968B2 (ja) * 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 加入者分散2相コミット・プロトコルの拡張機能
CN1174619A (zh) * 1995-02-17 1998-02-25 尢罗佩国际公司 由集成电路控制的事务管理系统
EP0753979A1 (en) * 1995-07-13 1997-01-15 International Business Machines Corporation Routing method and system for a high speed packet switching network
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US6400715B1 (en) * 1996-09-18 2002-06-04 Texas Instruments Incorporated Network address matching circuit and method
US6018782A (en) * 1997-07-14 2000-01-25 Advanced Micro Devices, Inc. Flexible buffering scheme for inter-module on-chip communications
JP3815841B2 (ja) * 1997-03-28 2006-08-30 ローム株式会社 IrDA変復調IC
US6248469B1 (en) * 1997-08-29 2001-06-19 Foster-Miller, Inc. Composite solid polymer electrolyte membranes
US5940448A (en) * 1997-09-03 1999-08-17 National Semiconductor Corporation Universal serial bus receiver having input signal skew compensation
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
US6446173B1 (en) * 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
JPH11187031A (ja) * 1997-12-19 1999-07-09 Fujitsu Ltd Atm交換機
US6256740B1 (en) * 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6339788B1 (en) * 1998-06-12 2002-01-15 International Business Machines Corporation Method for encapsulating hardware to allow multi-tasking of microcode
US6311212B1 (en) * 1998-06-27 2001-10-30 Intel Corporation Systems and methods for on-chip storage of virtual connection descriptors
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion
DE19851498A1 (de) 1998-11-09 2000-07-06 Aventis Res & Tech Gmbh & Co Polymerzusammensetzung, Membran enthaltend diese, Verfahren zu deren Herstellung und deren Verwendung
US6539450B1 (en) * 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6381638B1 (en) * 1999-02-24 2002-04-30 3Com Corporation System and method for options based address reuse
EP1083768A1 (en) * 1999-09-08 2001-03-14 TELEFONAKTIEBOLAGET LM ERICSSON (publ) A method for facilitating data transmission
US6768742B1 (en) * 1999-10-08 2004-07-27 Advanced Micro Devices, Inc. On-chip local area network
US6594704B1 (en) * 1999-12-15 2003-07-15 Quarry Technologies Method of managing and using multiple virtual private networks in a router with a single routing table
US6769046B2 (en) * 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
JP3623712B2 (ja) * 2000-03-16 2005-02-23 日本電気エンジニアリング株式会社 バッファ制御システム及びその方法並びにその制御プログラム記録媒体
US6813275B1 (en) 2000-04-21 2004-11-02 Hewlett-Packard Development Company, L.P. Method and apparatus for preventing underflow and overflow across an asynchronous channel
CN1439032A (zh) 2000-06-02 2003-08-27 Sri国际公司 聚合物组合物
GB2367406B (en) * 2000-06-13 2002-06-05 Siroyan Ltd Predicated execution of instructions in processors
US6629166B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Methods and systems for efficient connection of I/O devices to a channel-based switched fabric
DE10052242A1 (de) * 2000-10-21 2002-05-02 Celanese Ventures Gmbh Mit Säure dotierte, ein- oder mehrschichtige Kunststoffmembran mit Schichten aufweisend Polymerblends umfassend Polymere mit wiederkehrenden Azoleinheiten, Verfahren zur Herstellung solche Kunststoffmembranen sowie deren Verwendung
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
US20020144078A1 (en) * 2001-03-30 2002-10-03 Siroyan Limited Address translation
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US7165128B2 (en) * 2001-05-23 2007-01-16 Sony Corporation Multifunctional I/O organizer unit for multiprocessor multimedia chips
US6910092B2 (en) * 2001-12-10 2005-06-21 International Business Machines Corporation Chip to chip interface for interconnecting chips
US7389319B2 (en) * 2002-03-22 2008-06-17 Sun Microsystems, Inc. Adaptive connection routing over multiple communication channels
US6885638B2 (en) * 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication
US7099983B2 (en) * 2002-11-25 2006-08-29 Lsi Logic Corporation Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US6825688B1 (en) * 2003-08-15 2004-11-30 Lsi Logic Corporation System for yield enhancement in programmable logic
US7219209B2 (en) * 2003-08-29 2007-05-15 Motorola, Inc. Bus filter for memory address translation

Also Published As

Publication number Publication date
EP1552399A2 (en) 2005-07-13
DE60316458T2 (de) 2008-06-26
WO2004034176A3 (en) 2004-08-19
DE60316587T2 (de) 2008-07-03
CN1703682A (zh) 2005-11-30
EP1552399B1 (en) 2007-09-26
WO2004034176A2 (en) 2004-04-22
DE60316458D1 (de) 2007-10-31
AU2003267730A8 (en) 2004-05-04
WO2004034173A2 (en) 2004-04-22
US20060041889A1 (en) 2006-02-23
US7366818B2 (en) 2008-04-29
CN1703683A (zh) 2005-11-30
CN100370443C (zh) 2008-02-20
CN1689312B (zh) 2010-04-14
CN100367250C (zh) 2008-02-06
WO2004034173A3 (en) 2004-12-16
CN1703881A (zh) 2005-11-30
EP1552669B1 (en) 2007-09-19
JP2006502487A (ja) 2006-01-19
EP1552669A1 (en) 2005-07-13
TW200419358A (en) 2004-10-01
JP4560409B2 (ja) 2010-10-13
EP1552411A2 (en) 2005-07-13
AU2003299282A1 (en) 2004-05-04
AU2003267730A1 (en) 2004-05-04
CN1689312A (zh) 2005-10-26
WO2004034676A1 (en) 2004-04-22
CN1688990A (zh) 2005-10-26
JP2006502650A (ja) 2006-01-19
ATE374399T1 (de) 2007-10-15
TWI307840B (en) 2009-03-21
DE60316587D1 (de) 2007-11-08
US20060041888A1 (en) 2006-02-23
CN100342370C (zh) 2007-10-10
KR101016987B1 (ko) 2011-02-25
US7373449B2 (en) 2008-05-13
KR20050083730A (ko) 2005-08-26
US7769893B2 (en) 2010-08-03
US20060095920A1 (en) 2006-05-04
AU2003299454A8 (en) 2004-05-04
AU2003299454A1 (en) 2004-05-04
ATE373922T1 (de) 2007-10-15

Similar Documents

Publication Publication Date Title
US7769893B2 (en) Integrated circuit and method for establishing transactions
US7594052B2 (en) Integrated circuit and method of communication service mapping
KR100687659B1 (ko) Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법
US8014401B2 (en) Electronic device and method of communication resource allocation
US20080232387A1 (en) Electronic Device and Method of Communication Resource Allocation
EP1779609B1 (en) Integrated circuit and method for packet switching control
US20080267211A1 (en) Integrated Circuit and Method for Time Slot Allocation
US20080123666A1 (en) Electronic Device And Method Of Communication Resource Allocation
US8412867B2 (en) Semiconductor integrated circuit and filter and informational delivery method using same
WO2006048826A1 (en) Integrated circuit and method for data transfer in a network on chip environment
Ferrer et al. Quality of Service in NoC for Reconfigurable Space Applications
WO2008035265A2 (en) Electronic device, and method of controlling a communication between processing units
WO2006048822A1 (en) Integrated circuit and method for providing guarantees at application level

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060703

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100216