JP6144348B2 - チップソケットプロトコル上のネットワーク - Google Patents

チップソケットプロトコル上のネットワーク Download PDF

Info

Publication number
JP6144348B2
JP6144348B2 JP2015533265A JP2015533265A JP6144348B2 JP 6144348 B2 JP6144348 B2 JP 6144348B2 JP 2015533265 A JP2015533265 A JP 2015533265A JP 2015533265 A JP2015533265 A JP 2015533265A JP 6144348 B2 JP6144348 B2 JP 6144348B2
Authority
JP
Japan
Prior art keywords
transaction
interface unit
network interface
initiator
chip
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.)
Active
Application number
JP2015533265A
Other languages
English (en)
Other versions
JP2015535991A5 (ja
JP2015535991A (ja
Inventor
ブーカル、フィリップ
ルクレー、ジャン−ジャック
ブーティリエ、ボリス
Original Assignee
クゥアルコム・テクノロジーズ・インコーポレイテッド
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
Priority claimed from US13/626,766 external-priority patent/US9225665B2/en
Priority claimed from US13/626,758 external-priority patent/US9471538B2/en
Application filed by クゥアルコム・テクノロジーズ・インコーポレイテッド filed Critical クゥアルコム・テクノロジーズ・インコーポレイテッド
Publication of JP2015535991A publication Critical patent/JP2015535991A/ja
Publication of JP2015535991A5 publication Critical patent/JP2015535991A5/ja
Application granted granted Critical
Publication of JP6144348B2 publication Critical patent/JP6144348B2/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/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • 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
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[0001] この開示は、一般に半導体技術の分野に、より具体的にチップ上のシステムのためのネットワーク−オン−チップ相互接続(network-on-chip interconnect)に関する。
[0002] ネットワーク−オン−チップ(NoC)は、ソケットインタフェース間で読取および書込トランザクションをトランスポートする(transporting)ためのパケットベースの相互接続である。NoCは、少なくとも1つのイニシエータネットワークインタフェースユニット(initiator network interface unit)(NIU)および少なくとも1つのターゲットNIUを備える。イニシエータNIUは、トランザクション要求を要求パケットにイニシエータソケットインタフェースで変換し、応答パケットをイニシエータソケットインタフェースでトランザクション応答に変換する。ターゲットNIUは、ターゲットソケットインタフェースで要求パケットをトランザクション要求に変換し、トランザクション応答を応答パケットにターゲットソケットインタフェースで変換する。イニシエータNIUおよびターゲットNIUは、スイッチのトポロジを介して接続される。パケットは、シーケンスIDとして知られるフィールドを包含し得、それは、イニシエータID、ターゲットID、トランザクションシーケンスID、およびトランザクションタグのうちのいくつかのまたはすべてをエンコードする。
[0003] 従来のターゲットNIUは、トランザクション応答を受信すると、すべてのコンテクストアレイエントリの探索および応答パケットシーケンスIDを一致させる連鎖(chain)の中で最も古いエントリを推定するための論理を要求する、コンテクストアレイルックアップ(context array look up)を実行する。このことは、単純なインデックス(simple index)よりはるかに多くの論理シリコン面積(logic silicon area)を要求する。さらに重要なことには、連鎖したリストのルックアップ(chained list look-up)のための論理は、論理レベルの中でより深く、したがってより長い、より遅い、タイミングパスを有する。それゆえに必要とされていることは、より早いタイミングおよびより少ない論理を有する2つのNoCを接続するためのシステムおよび方法である。
[0004] 本発明の教示および多様な態様にしたがって、トランザクションインタフェースプロトコルを使用するより少ない論理およびより早いタイミングパスを持つ2つのNoCを接続する、システムおよび方法が提供された。本発明の多様な態様にしたがって、トランザクションインタフェースプロトコルが、開示され、インタフェースプロトコルは、要求および応答チャネルの各々の中にトランザクションID信号を有する。プロトコルは、トランザクションインタフェースを介して直接接続されるターゲットNIUマスタとイニシエータNIUスレーブ間で使用される。ターゲットNIU応答チャネルは、対応する要求(corresponding request)と関連付けられるコンテクストアレイにおけるエントリを識別するためにトランザクションID信号を使用する。ターゲットNIUおよびイニシエータNIUの結合は、多数のNoCを備えるオン−チップ相互接続の形成を可能にし、相互接続のトポロジは、より単純で、より小さく、より早くなり、およびより低い潜時(latency)を有する。
[0005] 図1は、フルのチップ相互接続(full chip interconnect)を例示する。 [0006] 図2は、トランザクションインタフェースプロトコルを例示する。 [0007] 図3は、イニシエータNIUを例示する。 [0008] 図4は、エコーフィールドを記憶するターゲットNIUを例示する。 [0009] 図5は、本発明の教示にしたがって、トランザクションID信号を持つ、トランザクションインタフェースプロトコルを例示する。 [0010] 図6は、本発明の教示にしたがって、イニシエータNIUを例示し、それは、トランザクションIDを記憶する。 [0011] 図7は、コンテクスト割り当てユニット、分割ユニット(splitting unit)、コンテクストアレイ、または再関連付けユニット(reassociation unit)を有さない本発明の教示にしたがって、イニシエータNIUを例示する。 [0012] 図8は、本発明の教示にしたがってターゲットNIUを表す。 [0013] 図9は、本発明の教示にしたがってNoCを表す。 [0014] 図10は、ターゲットNIUの1つの実施形態の動作の方法のためのフロー図を表す。
[0015] 図1は、第1のNoC120および第2のNoC140を備えるフルのチップ相互接続を表す。NoC120は、ソケットインタフェース112を介してイニシエータ110に結合されるイニシエータNIU122を備える。第1のNoC120は、イニシエータ110に結合される。NoC120はまた、ソケットインタフェース132を介してターゲット130に結合されるターゲットNIU124を備える。NoC120におけるターゲットNIU126は、ソケットインタフェース160を介してNoC140におけるイニシエータNIU142に結合される。NoC140は、ターゲット150に結合される第1のターゲットNIU144およびターゲット152に結合されるターゲットNIU146を備える。
[0016] NoCは、レイヤード通信を使用する。ソケットは、アドバンスドマイクロコントローラバスアーキテクチャ(Advanced Microcontroller Bus Architecture)(AMBA)アドバンスドエクステンシブルインタフェース(Advanced eXtensible Interface)(AXI)およびオープンコアプロトコル(OCP)のようなトランザクションレイヤープロトコルを示す。1つのトランザクションレイヤープロトコルは、図2に例示される。それは、オペコード(opcode)、アドレス、書込データ、バースト長(burst length)、およびシーケンスidに関する信号を伴った要求チャネル200(a request channel 200 with signals)を有する。プロトコルはまた、データおよびシーケンスidに関する信号を伴った応答チャネル210を有する。トランスポートレイヤープロトコルは、スイッチのトポロジを介して転送される1つ以上のパケットの中にトランザクション情報をカプセル化する。パケットは、アドレスビット、ルートid、オペコード、およびシーケンスidのようなフィールドを有することができるヘッダとともにデータを伝える。物理レイヤーは、パケットヘッダおよびデータを転送するワイヤの単純な接続およびフローコントロールをインプリメントする。物理レイヤープロトコルは、レディー(ready)、有効、およびデータのような信号を有することができる。
[0017] NIUは、
[0018] アドレスデコーディング、
[0019] コンテクスト割り当て、
[0020] トランザクション分割、そして、
[0021] コンテクスト再関連付け、の機能を実行することができる。
[0022] 本発明の1つの態様にしたがって、イニシエータNIU300の1つの実施形態は、図3に表される。イニシエータNIU300内で、要求は、ソケットインタフェース要求チャネル302を介して受け取られる。応答は、ソケットインタフェース応答チャネル304を介してイニシエータNIU300によって示される。要求パケットは、要求トランスポートインタフェース306上で送信され、応答パケットは、応答トランスポートインタフェース308上で受信される。トランザクションアドレスは、パケットヘッダの中にルートidフィールドを作るためにデコードユニット310の中でデコードされる。パケットは、コンテクスト割り当てユニット312におけるコンテクストと関連付けられる。必要ならば、トランザクションは、パケット分割ユニット314の中で多数のパケットに分割される。パケットは、要求トランスポートインタフェース306上で送信される。
[0023] イニシエータNIU300は、分割ユニット314を含む。トランザクション要求のために、分割ユニット314は、トランザクションをトランスポートするためのいくつかのパケットの作成をもたらす。イニシエータNIU300は、所望のバイトアラインメント、バーストアラインメント、ターゲットアドレスレンジ境界、アドレスインターリービング(address interleaving)、または4KBのアラインされたアドレス境界(4KB aligned address boundary)をクロスしないバーストのAXI要件のような、プロトコル境界要件を確実にするためにトランザクションを多数のパケットに分割することができる。
[0024] コンテクストアレイ320は、保留中のトランザクション(pending transaction)に割り当てられるエントリを備える。コンテクストアレイ320がフルである場合、イニシエータNIU300は、ソケットインタフェース要求チャネル302上でバックプレッシャ(backpressure)をアサートする。物理レイヤーレディー信号(physical layer ready signal)は、デアサートされる。コンテクストアレイ320は、他の情報の間で、各保留中のトランザクションのオペコードおよびシーケンスidを記憶する。コンテクストアレイ320は、4つのエントリを有し、したがって4つの保留中のトランザクションまで支援する。応答パケットが応答トランスポートインタフェース308上で受信されるとき、コンテクスト再関連付けユニット330は、保留中のトランザクションのコンテクストとパケットを再び関連付けする。再関連付けユニット330による再関連付けは、イニシエータソケットインタフェースの応答チャネル304上の応答のシーケンスIDが、対応する要求のシーケンスIDを一致させることを確実にする。
[0025] 図4において、ターゲットNIU400は、イニシエータNIU300と対応することができることを表される。要求パケットは、要求トランスポートインタフェース402上で受け取られ、応答パケットは、応答トランスポートインタフェース404上で送信される。トランザクション要求は、ソケットインタフェース要求チャネル406を介して示され、トランザクション応答は、ソケットインタフェース応答チャネル408を介してNIUによって受け取られる。ターゲットNIU400は、コンテクスト割り当てユニット412、コンテクストアレイ420、およびコンテクスト再関連付けユニット430を含む。
[0026] この実施形態では、それらの保留中のトランザクションのコンテクストへのパケットの再関連付けは、単純である。パケットヘッダは、イニシエータNIU300における割り当てユニット312によって作られるエコーフィールド、および不変のターゲットNIU400からエコーされたバック(echoed back)を含む。エコーフィールドは、コンテクストアレイ320の中にインデックスを記憶する。コンテクストアレイは、テーブルルックアップ(table lookup)としてアクセスされる。ターゲットNIU400からの各トランザクションが保留中の間、エコーフィールドEは、ターゲットNIUコンテクストアレイ420の中に記憶される。トランスポートレイヤープロトコルの一部であるエコーフィールドは、トランザクションのために応答パケットのヘッダに含まれる。
[0027] ターゲットNIU400再関連付けユニット430は、インデックスおよびエコーフィールドの余裕がない。ターゲットNIU400がターゲットソケットインタフェースで使用するような、最先端の工業規格のトランザクションレベルプロトコルは、エコー情報を含まない。ソケットインタフェース応答チャネル408上の応答は、応答パケットを形成するために要求パケットから記憶され、コンテクストアレイ420の中に記憶されたヘッダ情報と再び関連付けられなければならない。
[0028] ターゲットNIU再関連付けユニット430は、応答パケットのシーケンスIDを持つ最も古いトランザクションに基づいて適切なコンテクストアレイエントリのルックアップ(lookup)を実行しなければならない。コンテクストアレイ420は、各シーケンスIDに関する連鎖を持つ保留中のトランザクションの連鎖したリストとして編成される。
[0029] 発明の態様が、図5に表される。オペコード、アドレス、書込データ、バースト長、およびシーケンスidに関する信号を含む在来技法のトランザクションインタフェース(convention transaction interface)は、追加の信号要求TrIDを伴った要求チャネル500(the request channel 500 with the additional signals Request TrID)において、および応答TrIDを伴った応答チャネル510において強化される。TrID信号は、トランザクションIDを伝達する。この強化された信号インタフェースは、強化されたNoCソケットプロトコルによって使用される。発明の1つの実施形態では、トランザクション要求が示されるとき、ソケットインタフェースのマスタは、TrID上の値をアサートし、インタフェースのスレーブは、トランザクション応答を示すとき、応答TrID信号上でまったく同じ値を与える。本発明の別の態様にしたがって、インタフェースのスレーブは、対応する値要求TrID値(corresponding value Request TrID value)から転換された応答TrID信号上の値を与える。転換は、ビットの順序またはセンス(sense)の変化であることができる。鍵は、一意的なマスタコンテクストアレイエントリ(unique master context array entry)に関連付けができる能力(associability)である。
[0030] 1つの実施形態では、多数の保留中のトランザクションの各々は、一意的なTrID値を有する。別の実施形態では、TrID値は、ダウンストリームバッファリングにかかわらず、順序正しく実行されなければならないトランザクションのために再利用される。別の実施形態では、TrID値は、不連続の順序で連続的なトランザクションのために与えられる。
[0031] 発明の1つの実施形態では、アサートされたTrID値は、アップストリームNoC内でパケットヘッダにおけるフィールドからマップされる。1つの実施形態では、TrID値は、ダウンストリームNoC内でパケットヘッダにおけるフィールドにマップされる。
[0032] 最適なプロトコル設定(optimal protocol configuration)は、NoCによって、およびチップによって異なる。発明の1つの実施形態では、NoCソケットプロトコルは、チップ設計時間で設定可能である。設定オプションは、とりわけ、要求および応答TrID信号の幅を含む。レジスタ転送レベル(RTL)言語論理は、設定ツールによって発生される。ツールは、カスタマイズされた設定を発生する、およびチップ合成のためのRTL言語コードを作るためにチップ設計者によって使用される。
[0033] 発明の態様が、図6に表される。イニシエータNIU600内で、要求は、ソケットインタフェース要求チャネル602を介して受け取られる。応答は、ソケットインタフェース応答チャネル604を介してNIU600によって示される。要求パケットは、要求トランスポートインタフェース606上で送信され、応答パケットは、応答トランスポートインタフェース608上で受信される。トランザクションアドレスは、パケットヘッダの中にルートidフィールドを作るためにデコードユニット(D)610の中でデコードされる。パケットは、コンテクスト割り当てユニットA612におけるコンテクストと関連付けられる。必要ならば、トランザクションは、パケット分割ユニットS614の中で多数のパケットに分割される。パケットは、要求トランスポートインタフェース606上で送信される。
[0034] コンテクストアレイ620は、保留中のトランザクションに割り当てられるエントリを備える。アレイがフルである場合、イニシエータNIU600は、ソケットインタフェース要求チャネル602上でバックプレッシャをアサートする。その状態で、物理レイヤーレディー信号は、デアサートされる。コンテクストアレイ620は、他の情報の間で、各保留中のトランザクションのシーケンスidを記憶する。コンテクストアレイ620は、4つのエントリを有し、したがって4つの保留中のトランザクションまで支援する。応答パケットが応答トランスポートインタフェース608上で受信されるとき、コンテクスト再関連付けユニット(R)630は、保留中のトランザクションのコンテクストとパケットを再び関連付けする。
[0035] 発明のこの態様は、コンテクストアレイ620がTrID情報を伝えるという点において従来のNIUのそれから分かれる。1つの実施形態では、コンテクストアレイは、各アレイエントリにTrIDフィールド(T)を記憶する。フィールドの中に記憶された値は、トランザクション要求が承諾された時点でのソケットインタフェース要求チャネル602上の信号のそれである。関連付けられた応答がソケットインタフェース応答チャネル上で示されるとき、インタフェース上の信号は、応答が示されるためのトランザクションと関連付けられたコンテクストアレイエントリにおけるTrIDフィールドから動かされる(driven)。
[0036] 1つの実施形態では、コンテクストアレイのTrIDフィールドは、関連付けられたトランザクションをトランスポートするために発生されるパケットのヘッダに含まれる。それは、パケットヘッダの中にエコーフィールドを形成する。
[0037] 別の実施形態では、ソケットインタフェースのマスタおよびスレーブ側は、同じ数のコンテクストを有し、TrID値は、コンテクストごとに一意的である。マスタからのTrIDは、イニシエータNIUにおけるコンテクストアレイの中にダイレクトインデックス(direct index)を形成する。イニシエータNIUによって作られる要求パケットヘッダおよびイニシエータNIUによって受信される応答パケットヘッダは、コンテクストアレイにおけるダイレクトインデックスであるエコーフィールドを有する。このような方法で、記憶装置は、コンテクストアレイにおけるTrID値に必要なく、再びマッピングすること(remapping)は、TrID信号とパケットヘッダエコーフィールド間で必要ない。
[0038] ここで図7を参照すると、イニシエータNIU700は、要求チャネル702を有するNoCソケットへのNoC(NoC to NoC socket)を介したアップストリームターゲットNIUに接続され、それは、デコードユニット(D)710、および応答チャネル704に接続される。アップストリームターゲットNIU(表されていない)は、イニシエータNIU700と同じ数のコンテクストを支援する。この際、コンテクストアレイは、イニシエータNIU内に必要とされない。コンテクストは、ターゲットNIUの中でのみ管理される。NoCソケットプロトコルのTrID値は、NoCトランスポート要求チャネル706上で送信され、NoCトランスポート応答チャネル708上で受信されるパケットにおけるエコーフィールドとして直接使用される。応答パケットのエコーフィールドは、ソケット応答チャネル704上の応答TrID信号を直接動かす。この配置(arrangement)は、応答ワード再構築またはそれらの対応する要求に特有である他の応答特性を必要としないNIUの設定次第である。
[0039] イニシエータNIUの最適な設定は、NoCによって、およびチップによって異なる。発明の1つの実施形態では、イニシエータNIUは、チップ設計時間で設定可能である。設定オプションは、とりわけ、要求および応答TrID信号の幅、NIUのコンテクストアレイにおけるTrIDフィールドの幅、コンテクストアレイエントリの数、保留中のトランザクションの数、およびパケットヘッダエコーフィールドへのTrID信号のマッピング(mapping)を含む。保留中のトランザクションの数は、イニシエータNIUとその接続されたIP間で一致されるべきである。イニシエータNIUがIPより多くの保留中のトランザクションを支援する場合、そのコンテクストアレイエントリのすべてを使用しないこととなる。イニシエータNIUがIPより少ない保留中のトランザクションを支援する場合、たとえNoCの中でネットワークアベイラビリティーがあるとしても、IP上でバックプレッシャをアサートすることとなる。保留中のトランザクションの数が2つのパワーでない場合、アップストリームターゲットNIUおよびダウンストリームイニシエータNIUは、有効TrIDのエンコーディングに同意しなければならない。TrIDがトランザクションに一意的であり、一意的なTrIDエンコーディングの数が保留中のトランザクションの最大数未満である場合、ダウンストリームイニシエータNIUは、応答をそれらの対応する要求のTrIDに正確に再び関連付けなければならない。
[0040] RTL言語で説明された、イニシエータNIU論理は、設定ツールによって発生される。ツールは、カスタマイズされた設定を発生する、およびチップ合成のためのRTL言語コードを作るためにチップ設計者によって使用される。
[0041] 合成およびレイアウトにとって有益であるチップ設計戦略は、ダブルデータレートDDRダイナミックランダムアクセスメモリDRAMのような1つ以上のメモリへのインターリーブドアクセスを支援する1つのメモリNoCおよび1つ以上のクライアントNoCを作り出すことである。そのような設計では、メモリNoCは、クライアントNoCからの要求を受信するおよびサービスするために1つ以上のNoCイニシエータNIUへのNoCを有する。そのような設定のためのイニシエータNIUの実施形態は、リオーダバッファ(reorder buffer)を備える。リオーダバッファは、部分的なトランザクション応答を記憶する能力を持つ拡張されたコンテクストアレイに似ている。そのような実施形態では、TrIDは、リオーダバッファ内でコンテクストアレイの中に記憶され得る。
[0042] インタフェースを共有するアップストリームNoCおよびダウンストリームNoCを備えるオン−チップ相互接続では、アップストリームNoCにおけるターゲットNIUに結合されるダウンストリームNoCにおけるイニシエータNIUの1つの実施形態は、分割ユニットで構成されない。分割は、ダウンストリームNoCにおけるイニシエータNIUの分割要件の知識を持つアップストリームNoCにおける1つ以上のイニシエータNIUで実行される。このような方法で、ダウンストリームNoCにおけるイニシエータNIUの実施形態は、より小さく、より早くなり、およびより少ないトランザクション潜時を有する。アップストリームNoCのイニシエータNIUによって熟考されるダウンストリームNoCのいくつかのパラメータは、ダウンストリームNoCのターゲットNIUによって見られるアドレスマップ、ダウンストリームNoCにおけるターゲットの最大のバースト長、ダウンストリームNoCにおけるターゲットソケットインタフェースのデータ幅、および4kバイトのアラインされたアドレスをクロスしないでバーストするAXIプロトコル制限のような境界をクロスするバースト上のダウンストリームNoCターゲットソケットプロトコル制限である。ダウンストリームNoCのイニシエータNIUの分割論理を除去することは、論理エリア、タイミング経路長(timing path length)、およびトランザクション潜時を最小限にする。
[0043] 発明の態様は、NoCソケットインタフェースでイニシエータNIUとともに処理するターゲットNIUの実施形態に関する。1つの実施形態では、NoCソケットプロトコルを使用するターゲットNIUは、パケットヘッダにおけるエコーフィールドの機能としてTrID信号をマップする。最も単純な場合では、マッピング機能は、ダイレクトコピーである。
[0044] ターゲットNIUの1つの実施形態の動作方法は、図10に表される。ターゲットNIUは、コンテクストアレイを備える。アレイエントリは、トランザクションについての情報を記憶し、それは、トランザクションの発生をもたらした要求パケットからの情報を含むことができる。各トランザクション要求のために、アレイにおけるエントリは、割り当てられる。ソケットインタフェースで応答TrID信号の値は、アレイインデックスを形成する。それは、対応するトランザクションに関係する情報を持つアレイエントリを指し示す。コンテクストアレイにおけるエントリの数は、ターゲットNIUによって支援されることができる同時に保留中のトランザクション(simultaneously pending transaction)の最大数を定義する。TrID信号のビットの数、それは、アレイの中に符号なしのバイナリインデックス(unsigned binary index)を形成し、整数(integer)に端数を切り上げられた(rounded up)、保留中のトランザクションの数の基礎となる2つの対数である。どの保留中のトランザクションも、一意的なTrID値を有する。
[0045] ターゲットNIUの最適な設定は、NoCによって、およびチップによって異なる。発明の1つの実施形態では、ターゲットNIUは、チップ設計時間で設定可能である。設定オプションは、とりわけ、要求および応答TrID信号の幅、コンテクストアレイエントリの数、保留中のトランザクションの数、およびパケットヘッダエコーフィールドへのTrID信号のマッピングを含む。保留中のトランザクションの数は、ターゲットNIUとその接続されたIP間で一致されるべきである。ターゲットNIUが、IPより多くの保留中のトランザクションを支援する場合、必要以上にコンテクストアレイエントリを有することとなる。ターゲットNIUがIPより少ない保留中のトランザクションを支援する場合、そのコンテクストアレイエントリのすべてを使用しないこととなる。2つのNoC間のソケットインタフェースのために、保留中のトランザクションの数、したがってコンテクストアレイエントリの数を確実にすることが望ましく、アップストリームターゲットNIUおよびダウンストリームイニシエータNIUに関しても同じである。
[0046] RTL言語で説明された、ターゲットNIU論理は、設定ツールによって発生される。ツールは、カスタマイズされた設定を発生する、およびチップ合成のためのRTL言語コードを作るためにチップ設計者によって使用される。
[0047] 強化されたNoCソケットプロトコルを使用するイニシエータNIUおよびターゲットNIUの組み合わせは、オン−チップ相互接続内でアップストリームNoCおよびダウンストリームNoCの優れたマルチ−NoC構成(superior multi-NoC composition)のインプリメンテーションを可能にする。単一の従来のNoCでは、パケットヘッダは、コンテクストアレイエントリに応答を効率的にマップするためにイニシエータによって使用されるエコーフィールドを含む。NoC構成は、アップストリームNoCのターゲットNIUとダウンストリームNoCの接続されたイニシエータNIU間のソケットインタフェースのために上記の(above)強化されたNoCソケットプロトコルを使用する。発明の1つの実施形態では、トランザクションインタフェースのTrID信号の値は、ダウンストリームNoCへのイニシエータNIUにアップストリームNoCの要求パケットのエコーフィールドを伝える。ダウンストリームNoCのイニシエータNIUは、今度は、それがプロトコルインタフェーストランザクション(protocol interface transaction)を実行するために作り出す、1つ以上のパケット内のエコーフィールドとしてTrID信号の値を使用する。
[0048] 本発明の1つの態様にしたがって、NoC構成の実施形態は、図9に表され、左から右へトランザクション要求、および右から左へ応答を両方ともに送るダウンストリームNoC950に結合されるアップストリームNoC910を含む。イニシエータNIU920は、イニシエータIP(表されていない)からトランザクション要求を受信し、コンテクストアレイ922におけるコンテクストエントリを割り当て、ターゲットNIU930に要求パケットを送信する。ターゲットNIU930は、要求パケットを受信し、要求パケットヘッダからのエコー値を含むコンテクストアレイ932におけるコンテクストエントリを割り当てる。ターゲットNIU930は、イニシエータNIU960に、TrID信号を含む、トランザクション要求982を発行する。イニシエータNIU960は、コンテクストアレイ962におけるコンテクストエントリを割り当て、そこでそれは、発明にしたがってTrIDを記憶する。イニシエータNIU960は、ターゲットNIU970に要求パケット984を送信する。ターゲットNIU970は、要求パケットを受信し、要求パケットヘッダからのエコー値を含むコンテクストアレイ972におけるコンテクストエントリを割り当てる。ターゲットNIU970は、ターゲットIP(表されていない)にトランザクション要求を発行する。ターゲットIPは、ターゲットNIU970にトランザクション応答を発行し、ここにおいて、再関連付け論理974は、コンテクストアレイ972からトランザクションに対応するコンテクストエントリを取り出す。ターゲットNIU970は、イニシエータNIU960に応答パケット986を送信し、ここにおいて、テーブルルックアップモジュール964は、コンテクストアレイ962からトランザクションに対応するコンテクストエントリを単に取り出すためにエコーパケットヘッダフィールドを使用する。本発明の多様な態様にしたがって、イニシエータNIU960は、ターゲットNIU930にトランザクション応答988を送信し、ここにおいて、テーブルルックアップモジュール934は、コンテクストアレイ932からトランザクションに対応するコンテクストエントリを単に取り出すためにTrID信号を使用する。ターゲットNIU930は、イニシエータNIU920に応答パケット990を送信し、ここにおいて、テーブルルックアップモジュール924は、コンテクストアレイ922からトランザクションに対応するコンテクストエントリを単に取り出すためにエコーパケットヘッダフィールドを使用する。イニシエータNIU920は、イニシエータIPにトランザクション応答を送信する。
[0049] 1つの実施形態では、TrID信号の値は、ダウンストリームNoCのイニシエータNIUのコンテクストアレイの中に記憶される。記憶されたTrID値は、応答とともにトランザクションインタフェースで示される。別の実施形態では、TrIDは、記憶されずエコーフィールドに内在する。
[0050] 1つの実施形態では、ダウンストリームNoCにおけるターゲットのトランザクションプロトコル支援(transaction protocol support)およびアドレスマップを認識して(with awareness of)構成された、アップストリームNoCのイニシエータNIUは、多数のパケットにイニシエータIP要求のすべての要求される分割を行う。ダウンストリームNoCのイニシエータNIUはそれゆえに、パケット分割論理を要求しない。これは、ダウンストリームNoCパケットヘッダのエコーフィールドへのアップストリームNoCパケットヘッダのエコーフィールドの単純なマッピングのさらなる利益を有する。結果として、アップストリームNoCのターゲットNIU内のコンテクスト管理は、テーブルアクセス(table access)に単純化される。それは、従来のNoC構成の連鎖したリストのルックアップよりはるかに早い構造である。そのような設定では、アドレスデコーディング、分割、およびコンテクスト関連付けの複雑さは、イニシエータIPの近くで、アップストリームイニシエータNIUの中に存在し、チップの混雑した部分から離れて通常分布している(distributed)。アップストリームイニシエータNIUはそれゆえに、とりわけ、アドレスクロス境界制限(address cross boundary restriction)および最大のバースト長のような、ダウンストリームNoCのターゲットの一定の特徴(certain properties)を知らなければならない。
[0051] 別の実施形態では、アップストリームNoCのイニシエータNIUは、ダウンストリームNoCのイニシエータNIUによりインプリメントされるアドレスマップを知らない(unaware of)。ダウンストリームNoCは、必要に応じて分割および関連付け論理ならびに重要なアドレスデコードモジュール(non-trivial address decode module)を有する。典型的なインプリメンテーションでは、ソケットインタフェースのためのクロス境界パラメータ(cross boundary parameter)は、アップストリームおよびダウンストリームNoC間で同意しているので、アップストリームイニシエーションNIUは、ダウンストリームイニシエーションNIUがしなくてもよい方法でトランザクションを分割することとなる。そのような設定では、アドレスデコーディング、分割、およびコンテクスト関連付けの複雑さは、ダウンストリームNoCの中に存在する。たくさんのチップでは、ダウンストリームNoCは、実行クリティカルメモリ(performance critical memory)により近く、必ずチップのより中心となる(more central to)。そのような設定は混雑を作り出すが、それは、アップストリームクライアントNoCからそれの特定の詳細を分離し、メモリサブシステムの設計に関する柔軟性を可能にする。
[0052] 開示された発明の態様は、アップストリームNoCのターゲットNIUとダウンストリームNoCのイニシエータNIU間のソケットインタフェースのターゲットNIU内のコンテクストを管理する方法に関する。1つの実施形態は、ポーリングまたはスタックベースのアルゴリズムを使用して各々新しく入ってくる要求のために自由なコンテクスト(free context)を割り当てることを備える。コンテクストは、パケットヘッダ内でエコーおよび/またはシーケンスIDフィールドによって識別される。各コンテクストアレイエントリは、応答ヘッダ、
[0053] ルートID、
[0054] オペコード、そして、
[0055] エコー、を組み立てるために必要な情報を包含する。
[0056] ターゲットNIUは、割り当てられたコンテクストアレイエントリと関連付けられる、トランザクションのための要求を発行する。要求は、要求TrID信号を含む。ターゲットNIUは、割り当てられたコンテクストアレイエントリのインデックスにしたがって信号を割り当てる。最終的にターゲットNIUは、応答を受信する。応答は、応答TrID信号を含む。ターゲットNIUはその次に、コンテクストアレイの関連付けられたエントリをルックアップするためにインデックス値として応答TrID信号の値を使用する。書込応答トランスポートパケットのヘッダが送信されるか、それとも読取応答トランスポートパケットの最後のデータが送信されるとき、コンテクストは、自由にされる。
[0057] 別の実施形態では、応答TrIDは、同じトランザクションのための要求TrID信号の転換されたコピーである。1つのそのような転換は、ビットのリオーダリングである。これは、コンテクストアレイの中でバンクベースの記憶装置(bank based storage)の使用を可能にする。別の転換は、一部の応答ワードが配信している、応答インターリービングによって分けられた、バーストにおけるいくつかのデータワードのうちのどれかを表示する情報の追加である。
[0058] 発明の態様は、NoC間のソケットインタフェースのターゲットNIUにおけるコンテクストアレイエントリにトランザクションの再関連付けを実行するための必要性の除去である。この利益は、メモリコントローラのような、NoCとは別のターゲットIPのタイプにさらに役立つ。ダウンストリームNoCイニシエータNIUのような、メモリコントローラは、複合再関連付け論理(complex reassociation logic)を要求しない単にマップされたTrID信号に応答するために設計されることもできる。一般に、ターゲットNIUは、シーケンスIDの連鎖したリストに基づいてコンテクストアレイエントリにトランザクション応答を再び関連付ける。これは、高価な連鎖したリストのルックアップ(costlychained list lookup)を要求する。NoCソケットへのNoCを用いて、トランザクションインタフェース上でTrID信号を使用することは、単純なテーブルインデックスルックアップ(simple table index lookup)がコンテクストアレイエントリに応答を再び関連付けることを可能にする。いくつものNoCソケットへのNoCを通過する、イニシエータIPによって要求されるトランザクションのために、たった1つの再関連付けの連鎖したリストのルックアップ(reassociation chained list lookup)が、要求される。それは、ターゲットIPに接続されるターゲットNIUで存在する。NoCソケットへのNoCのすべての中間のターゲットNIUおよびイニシエータNIUは、NoCソケットプロトコルインタフェースのTrIDビットおよびパケットヘッダフィールドからのエコービットの単純なインデキシング(simple indexing)を使用することができる。
[0059] ターゲットNIUの実施形態が、図8に表される。ターゲットNIU800は、イニシエータNIU600または700のようなイニシエータNIUと対応することができることを表される。要求パケットは、要求トランスポートインタフェース802上で受け取られ、応答パケットは、応答トランスポートインタフェース804上で送信される。トランザクション要求は、ソケットインタフェース要求チャネル806を介して示され、トランザクション応答は、ソケットインタフェース応答チャネル808を介してNIUによって受け取られる。ターゲットNIU800は、コンテクスト割り当てユニット812、コンテクストアレイ820、およびコンテクスト再関連付けユニット830を備える。コンテクスト割り当てユニット812によって選ばれるテーブルエントリのための一意的なアドレスは、要求TrID信号840として送信される。応答TrID信号842は、コンテクスト割り当てユニット812によって選ばれたエントリのエコーフィールドEをセレクトするためにムクス(mux)850の中でセレクターとして使用される。これは、従来の複合再関連付け論理の必要性を除去する、ならびに全体的なシステムおよび強化システムの実行を単純化する、ルックアップメカニズムである。
[0060] チップは、ますます複雑である。それらは、もはや、技術者の単一のチームでさえ、または単一の技術者によって設計されることができない。チップは、必ずモジュール式で(modularly)設計される。それゆえに別々のNoCを使用するモジュールを設計することが必要である。フルのチップ内のトップレベルの統合は、NoC間でインタフェースを要求する。NoCソケットプロトコルを使用することは、NoCインタフェースが、タイミングをクローズするために(to close timing)より少ないパイプステージ(pipe stage)で動作するおよび/またはより早く動作することを可能にする。さらに、NoCソケットプロトコルを使用することは、チームが、最も良いインタフェースについてチーム間で交渉する時間のかかるプロセスの必要性なしに単独で設計することを可能にする。1つの実施形態では、ツールは、NoC RTLを構成する、および発生するために使用される。それは、NoC間で特に各ソケットインタフェース用に最適化されたプロトコルを自動的に発生する。他のパラメータの間で、設定は、支援された保留中のトランザクションの数およびTrID信号のサイズを決定する。
[0061] ツールは、各NoCのためのイニシエータのアドレススペース内のターゲットのアドレスマップも受け取る。ダウンストリームNoCのアドレスマップを使用して、ツールは、トランザクションを完了するために必要とされるダウンストリームNoCにおける1つ以上のパケットを作るために要求される分割のタイプを決定する。ツールは、そのようなパケット分割をインプリメントするためにイニシエータNIU RTLを構成する。これの効果は、イニシエータNIUのアドレスデコーディングにおける統一されたアドレスマップを作り出すことである。これは、各々他のNoCのアドレスマップを知るために別々の設計チームを要求することなしに行われる。
[0062] ツールはまた、証明テストベンチ(verification testbench)を発生し、相互接続性を持つイニシエータとターゲット間のすべてのルート上のすべてのトランザクションのタイプを発揮することをテストする(test)。NoC構成を認識して、ツールは、統一されたテストベンチを発生し、たとえNoCソケットへのNoCを介しても、およびアドレスマッピングの結果として生じる階層を持っても、すべてのアクセス可能なターゲットに各イニシエータからアクセスを発揮することをテストする。
[0063] ツールはまた、実行調査シミュレーション環境(performance exploration simulation environment)を発生する。NoC構成の認識を持って、それは、トランザクションの通過およびNoC間でそれらの関連付けられたパケットのモデルを作るシミュレーション環境を発生する。
[0064] これらの利益のすべては、チーム間のコミュニケーションの必要性なしに達成される。コミュニケーションを伴わない別々のチームによる設計のリスクは、モジュール間のサーキュラー依存性(circular dependency)に関する。ツールは、NoC構成および各コンポーネントNoC(component NoC)の設定の認識を有するため、それは、NoCソケットへのNoCを介したサーキュラーイニシエータからターゲットへの接続性(circular initiator to target connectivity)のようなサーキュラー依存性チェックを自動的に行う。そのような依存性は、デッドロックの原因になることができるが、徹底した証明環境(verification environment)の中でさえ検出することが難しいことが多い。ツールは、NoC接続性および設定のそれの高いレベルの知識に基づいてチェッキングを自動化する。
[0065] 多数のNoCの簡単な統合のさらなる利益は、NoCにおけるトランスポートパケットヘッダフォーマットがそれの設定に基づいて最適化されることである。例えば、たくさんのイニシエータおよびターゲットを持つNoCは、より大きいルートIDフィールドを要求し、あるいはたくさんのサイドバンド信号を伴ったNoC(a NoC with many sideband signals)は、より大きいユーザビットフィールドを要求することとなる。大きいヘッダは、NoCにわたって論理の複雑さおよびデータパスのサイズを増加させる。中間にトランザクションインタフェースを持つ、多数のNoCを使用することによって、別々のNoCのヘッダフォーマットは、別々に最適化されることができ、通常より小さくすることができる。
[0066] この発明が、説明された特定の実施形態または態様に限定されず、そのようなものとして変わり得ることは理解されるべきである。本発明の範囲は、添付の特許請求の範囲によってのみ限定されることとなるため、本明細書に使用される用語が、特定の実施形態のみを説明するためであり、限定することを意図されていないことも理解されるべきである。
[0067] そうでないと定義されない限り、本明細書に使用されるすべての技術上のおよび科学上の言葉は、この発明が属する技術における当業者のうちの1つによって一般に理解されるのと同じ意味を有する。本明細書に説明されたものと類似のまたは同等のあらゆる方法および構成要素(material)は、本発明のテスティング(testing)または実行において使用されることもできる。
[0068] この特許明細書に引用されている(cited)すべての公表文献(publication)および特許は、まるで各々が、参照により組み込まれることを具体的におよび個別に表示されるように参照により本明細書に組み込まれ、公表文献が引用されているものに関連して方法および/または構成要素を開示するおよび説明するために参照により本明細書に組み込まれる。任意の公表文献の引用は、出願日前のそれの開示に関するものであり、本発明が、先行発明の効力によってそのような公表文献に先行する権限がないと認めているとして解釈されるべきでない。さらに、提供された出版日(date of publication)は、単独で承認されることが必要であり得る実際の刊行日(publication date)から異なり得る。
[0069] 本明細書で、および添付の特許請求の範囲で使用される場合、単数形「a」、「an」、および「the」は、コンテクストがそうでないと明らかに指示しない限り複数形の指示対象を含むことが留意される。特許請求の範囲が、任意の随意的な要素を排除するために作成され得ることはさらに留意される。そのようなものとして、このステートメント(statement)は、「否定的な」制約を使用する、または請求の範囲の要素の記述に関連して「単独で、」「唯一の」等のような排他的な用語を使用するための先行詞としての役割を果たすことを意図されている。
[0070] この開示を読んで当業者に明らかであるように、本明細書に例示されたおよび説明された個別の実施形態の各々は、本発明の範囲または趣旨から逸脱することなしに他のいくつかの実施形態の任意の特徴と容易に分けられ、または組み合わせられ得るディスクリートコンポーネントおよび特徴を有する。任意の列挙された方法は、列挙されたイベントの順で、または論理的に可能である任意の他の順で実行されることができる。
[0071] 上述の発明は、理解の明確さのために説明および例の目的でいくらか詳細に説明されたが、いくらかの変更および修正が添付の特許請求の範囲の趣旨または範囲から逸脱することなしに、それになされ得ることは、この発明の教示を踏まえると当業者に容易に明確である。
[0072] よって、前述(preceding)は、発明の原理および多様な態様を単に例示する。本明細書にはっきりと説明または表されていないが、当業者は、発明の原理を具体化する、およびそれの趣旨および範囲内に含まれる多様な配置を考案することができるであろうことは認識されることとなる。さらに、本明細書に列挙されたすべての例および条件付きの言語は、技術を促進するために発明者によって寄与された概念および発明の原理を読者が理解することに役立つよう主に意図され、および具体的に列挙された例および条件のような制約なしに解釈されることができる。そのうえ、発明の原理、態様、および実施形態ならびにそれの具体的な例を本明細書に列挙するすべてのステートメントは、それの構造的のみならず機能的な同等物を包含することを意図されている。加えて、現在知られている同等物と、将来開発される同等物、すなわち、構造にかかわらず、同じ機能を実行する開発されるあらゆる要素、の両方を含むそのような同等物が意図されている。本発明の範囲は、したがって、本明細書に表された、および説明された例示的な実施形態に限定されることを意図されていない。むしろ、本発明の範囲および趣旨は、添付の特許請求の範囲によって具体化される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
イニシエータネットワークインタフェースユニットであって、
要求を伴ってトランザクション識別子信号を受け取る第1のチャネルと、そして、
応答を伴って前記トランザクション識別子信号を提供する第2のチャネルと、
を備える、上記イニシエータネットワークインタフェースユニット。
[C2]
要求パケットヘッダのフィールドに、前記要求を伴って受け取られた前記トランザクション識別子信号をマップする、C1に記載のイニシエータネットワークインタフェースユニット。
[C3]
前記応答を伴って提供された前記トランザクション識別子信号に、応答パケットヘッダのフィールドをマップする、C1に記載のイニシエータネットワークインタフェースユニット。
[C4]
前記機能は、ダイレクトコピーである、C3に記載のイニシエータネットワークインタフェースユニット。
[C5]
前記トランザクション識別子信号の値は、パケットヘッダフィールドにマップされる、C1に記載のイニシエータネットワークインタフェースユニット。
[C6]
前記トランザクション識別子信号の値は、保留中のトランザクションの最大数のlog2と少なくとも同数のビットを有する、C1に記載のイニシエータネットワークインタフェースユニット。
[C7]
いくつかの保留中のトランザクションは、前記トランザクション識別子信号の一意的な値を有する、C1に記載のイニシエータネットワークインタフェースユニット。
[C8]
前記ネットワークインタフェースユニットが、設定可能である、C1に記載のイニシエータネットワークインタフェースユニット。
[C9]
前記ネットワークインタフェースユニットは、ツールによって発生される、C1に記載のイニシエータネットワークインタフェースユニット。
[C10]
前記第2のチャネルに動作可能に接続されるリオーダバッファを備える、C1に記載のイニシエータネットワークインタフェースユニット。
[C11]
分割ユニットで構成されない、C1に記載のイニシエータネットワークインタフェースユニット。
[C12]
コンテクストアレイで構成されない、C1に記載のイニシエータネットワークインタフェースユニット。
[C13]
システムであって、
イニシエータネットワークインタフェースユニットを含むチップ上の第1のネットワークと、ここにおいて、前記イニシエータネットワークインタフェースユニットは、パケット分割ユニットを備える、そして、
チップ上の前記第1のネットワークに動作可能に接続される、チップ上の第2のネットワークと、
ここにおいて、前記パケット分割ユニットによって実行される分割は、チップ上の前記第2のネットワークの1つ以上のパラメータに、少なくとも部分的に、基づく、
を備える上記システム。
[C14]
前記1つ以上のパラメータのうちの少なくとも1つのパラメータは、アドレスマップである、C13に記載のシステム。
[C15]
前記1つ以上のパラメータのうちの少なくとも1つのパラメータは、最大のバースト長である、C13に記載のシステム。
[C16]
オン−チップ相互接続であって、
チップ上のアップストリームネットワークと、
チップ上の前記アップストリームネットワーク内の第1のイニシエータネットワークインタフェースユニットと、
チップ上の前記アップストリームネットワーク内の第1のターゲットネットワークインタフェースユニットと、
前記第1のイニシエータネットワークインタフェースユニットのアドレススペース内の前記第1のターゲットネットワークインタフェースユニットの第1のアドレスマッピングと、
チップ上のダウンストリームネットワークと、
前記第1のターゲットネットワークインタフェースユニットに動作可能に結合されるチップ上の前記ダウンストリームネットワーク内の第2のイニシエータネットワークインタフェースユニットと、
チップ上の前記ダウンストリームネットワーク内の第2のターゲットネットワークインタフェースユニットと、
前記第2のイニシエータネットワークインタフェースユニットのアドレススペース内の前記第2のターゲットネットワークインタフェースユニットの第2のアドレスマッピングと、そして、
前記第2のアドレスマッピングにしたがってパケットを分割する前記第1のイニシエータネットワークインタフェースユニット内のパケット分割ユニットと、
を備える上記オン−チップ相互接続。
[C17]
ネットワーク−オン−チップのターゲットネットワークインタフェースユニット内のコンテクストを管理する方法であって、
コンテクストアレイエントリを割り当てることと、
トランザクション要求を伴って要求トランザクションコンテクストアレイエントリ識別子を含む前記トランザクション要求を発行することと、
トランザクション応答識別子を伴ってトランザクション応答を受け取ることと、そして、
前記コンテクストアレイエントリをルックアップするために前記応答アレイ識別子を使用することと、
のステップを備える、上記方法。
[C18]
前記要求アレイ識別子は、前記応答アレイ識別子の中で転換される、C17に記載の方法。
[C19]
ネットワーク−オン−チップの構成を介してトランザクションをトランスポートする方法であって、
チップ上の第1のネットワークにおける第1のターゲットネットワークインタフェースユニットにおける第1のコンテクストアレイの第1のエントリにトランザクション応答を再び関連付けることと、
前記第1のエントリからパケットヘッダのエコーフィールドをマッピングすることと、
前記パケットヘッダの前記エコーフィールドからトランザクション識別子信号をマッピングすることと、そして、
チップ上の第2のネットワークの第2のターゲットネットワークインタフェースユニットにおける第2のコンテクストアレイの第2のエントリの中にインデックスを付けるために前記トランザクション識別子信号の値を使用することと、
を備える、上記方法。
[C20]
前記第2のエントリから第2のパケットヘッダの第2のエコーフィールドをマッピングすることと、そして、
前記第2のエコーフィールドを使用して第3のコンテクストアレイの中にインデックスを付けることと、
をさらに備える、C19に記載の方法。
[C21]
第1のネットワーク−オン−チップおよび第2のネットワーク−オン−チップ間で通信する方法であって、トランザクション識別子信号をアサートすることを備える、上記方法。
[C22]
前記トランザクション識別子信号は、パケットヘッダフィールドと関連付けられる、C21に記載の方法。
[C23]
どの保留中のトランザクションも、前記トランザクション識別子信号の一意的な値を有する、C21に記載の方法。
[C24]
前記トランザクション識別子信号のいくつかの値は、非連続的に割り当てられる、C21に記載の方法。
[C25]
いくつかのプロトコル信号の前記幅および存在が、設定可能である、C21に記載の方法。
[C26]
前記ソケットインタフェースプロトコルの定義は、ツールによって発生される、C21に記載の方法。
[C27]
前記トランザクション識別子信号によって表示されたトランザクション識別子は、整数としてエンコードされる、C21に記載の方法。
[C28]
前記整数は、正数および前記トランザクション識別子の最大の法定の値未満である、C27に記載の方法。
[C29]
ターゲットネットワークインタフェースユニットであって、一意的なコンテクストアレイエントリに応答を再び関連付けるためにトランザクション識別子信号を使用するコンテクストアレイを備える、上記ターゲットネットワークインタフェースユニット。
[C30]
前記トランザクション識別子信号の値は、前記コンテクストアレイの中にインデックスを形成する、C29に記載のターゲットネットワークインタフェースユニット。
[C31]
前記トランザクション識別子信号は、いくつかの保留中のトランザクションの、端数を切り上げられた、基礎となる2つの対数と少なくとも同数のビットを有する、C29に記載のターゲットネットワークインタフェースユニット。
[C32]
いくつかの保留中のトランザクションは、前記トランザクション識別子信号の一意的な値を有する、C29に記載のターゲットネットワークインタフェースユニット。
[C33]
前記ネットワークインタフェースユニットが、設定可能である、C29に記載のターゲットネットワークインタフェースユニット。
[C34]
前記ネットワークインタフェースユニットは、ツールによって発生される、C29に記載のターゲットネットワークインタフェースユニット。
[C35]
オン−チップ相互接続のためのシステムであって、
ターゲットネットワークインタフェースユニットと、そして、
前記ターゲットネットワークインタフェースユニット内のコンテクストアレイと、
を備える、上記チップ上のアップストリームネットワークと、ならびに、
チップ上の前記アップストリームネットワークに動作可能に接続されるチップ上のダウンストリームネットワークと、チップ上の前記ダウンストリームネットワークは、チップ上の前記アップストリームネットワークの前記ターゲットネットワークインタフェースユニットに結合されるイニシエータネットワークインタフェースユニットを備える、ならびに、
チップ上の前記アップストリームネットワークによって発生されるトランザクションID信号と、ここにおいて、前記トランザクションID信号は、パケットヘッダのエコーフィールドにマップされる、
を備える、上記システム。
[C36]
チップを設計する方法であって、
チップ上の第2のネットワークとチップ上の第1のネットワークを結合することと、そして、
設計要件に基づいて最適化されたプロトコルを発生することと、ここにおいて、前記プロトコルは、チップ上の前記第1のネットワークがチップ上の前記第2のネットワークと通信することを可能にする、
を備える、上記方法。
[C37]
統一されたアドレスマップを発生することをさらに備える、C36に記載の方法。
[C38]
統一された証明環境を発生することをさらに備える、C36に記載の方法。
[C39]
統一された実行調査環境を発生することをさらに備える、C36に記載の方法。
[C40]
サーキュラー依存性チェッキングをさらに備える、C36に記載の方法。
[C41]
チップ上のいくつかのネットワークの前記パケットヘッダフォーマットは、異なることができる、C36に記載の方法。
[C42]
コンピュータであって、
設計ツールを表すためのディスプレイと、
プログラムを記憶するように構成される記憶デバイスと、そして、
前記記憶デバイスおよび前記ディスプレイに動作可能に接続されるプロセッサと、前記プロセッサは、前記ディスプレイ上で表される前記設計ツールを発生する、および前記プログラムを実行するように構成される、
ここにおいて、トランザクション識別子信号が、イニシエータネットワークインタフェースユニットの第1のチャネル上で送られるように、前記設計ツールが、2つのネットワーク−オン−チップを接続するためにソケットインタフェースプロトコルを表すとき、それは、要求とともに前記トランザクション識別子信号を受け取り、前記トランザクション識別子信号を伴って応答を返す、
を備える、上記コンピュータ。

Claims (19)

  1. イニシエータネットワークインタフェースユニットであって、
    要求を伴ってトランザクション識別子信号およびシーケンス識別子信号を受け取る第1のチャネルと、前記トランザクション識別子信号は、一意的なトランザクション識別子を表示するように構成され、前記シーケンス識別子信号は、前記一意的なトランザクション識別子とは異なる一意的なシーケンス識別子を表示するように構成される、
    応答を伴って前記トランザクション識別子信号を提供する第2のチャネルと、
    複数の保留中のトランザクションに対応する複数のエントリを記憶する能力を有するコンテクストアレイと、ここにおいて、前記コンテクストアレイの前記能力がフルであることを検出すると、バックプレッシャは、前記第1のチャネル上でアサートされ、物理レイヤーレディー信号はデアサートされる、
    を備える、上記イニシエータネットワークインタフェースユニット。
  2. 要求パケットヘッダのフィールドに、前記要求を伴って受け取られた前記トランザクション識別子信号をマップする、請求項1に記載のイニシエータネットワークインタフェースユニット。
  3. 前記応答を伴って提供された前記トランザクション識別子信号に、応答パケットヘッダのフィールドをマップする機能を有する、請求項1に記載のイニシエータネットワークインタフェースユニット。
  4. 前記マップする機能は、ダイレクトコピーである、請求項3に記載のイニシエータネットワークインタフェースユニット。
  5. 前記トランザクション識別子信号の値は、パケットヘッダフィールドにマップされる、請求項1に記載のイニシエータネットワークインタフェースユニット。
  6. 前記トランザクション識別子信号の値は、保留中のトランザクションの最大数のlog2と少なくとも同数のビットを有する、請求項1に記載のイニシエータネットワークインタフェースユニット。
  7. いくつかの保留中のトランザクションは、前記トランザクション識別子信号の一意的な値を有する、請求項1に記載のイニシエータネットワークインタフェースユニット。
  8. 前記イニシエータネットワークインタフェースユニットが、設定可能である、請求項1に記載のイニシエータネットワークインタフェースユニット。
  9. 前記イニシエータネットワークインタフェースユニットは、ツールによって発生される、請求項1に記載のイニシエータネットワークインタフェースユニット。
  10. 前記第2のチャネルに動作可能に接続されるリオーダバッファを備える、請求項1に記載のイニシエータネットワークインタフェースユニット。
  11. 分割ユニットで構成されない、請求項1に記載のイニシエータネットワークインタフェースユニット。
  12. システムであって、
    イニシエータネットワークインタフェースユニットを含む第1のネットワーク−オン−チップと、ここにおいて、前記イニシエータネットワークインタフェースユニットは、
    パケット分割ユニット、
    トランザクション識別子信号およびシーケンス識別子信号を含むトランザクション要求を受け取るソケットインタフェース要求チャネル、前記トランザクション識別子信号は、一意的なトランザクション識別子を表示するように構成され、前記シーケンス識別子信号は、前記一意的なトランザクション識別子とは異なる一意的なシーケンス識別子を表示するように構成される、および
    複数の保留中のトランザクションに対応する複数のエントリを記憶する能力を有するコンテクストアレイ、ここにおいて、前記コンテクストアレイの前記能力がフルであることを検出すると、バックプレッシャは、前記ソケットインタフェース要求チャネル上でアサートされ、物理レイヤーレディー信号はデアサートされる、
    を備える、
    前記第1のネットワーク−オン−チップに動作可能に接続される第2のネットワーク−オン−チップと、ここにおいて、前記パケット分割ユニットによって実行される分割は、前記第2のネットワーク−オン−チップの1つ以上のパラメータに、少なくとも部分的に、基づく、
    を備える、上記システム。
  13. 前記1つ以上のパラメータのうちの少なくとも1つのパラメータは、アドレスマップである、請求項12に記載のシステム。
  14. 前記1つ以上のパラメータのうちの少なくとも1つのパラメータは、最大のバースト長である、請求項12に記載のシステム。
  15. オン−チップ相互接続であって、
    アップストリームネットワーク−オン−チップと、
    前記アップストリームネットワーク−オン−チップ内の第1のイニシエータネットワークインタフェースユニットと、前記第1のイニシエータネットワークインタフェースユニットは、
    トランザクション識別子信号およびシーケンス識別子信号を含むトランザクション要求を受け取るソケットインタフェース要求チャネル、前記トランザクション識別子信号は、一意的なトランザクション識別子を表示するように構成され、前記シーケンス識別子信号は、前記一意的なトランザクション識別子とは異なる一意的なシーケンス識別子を表示するように構成される、および
    複数の保留中のトランザクションに対応する複数のエントリを記憶する能力を有するコンテクストアレイ、ここにおいて、前記コンテクストアレイの前記能力がフルであることを検出すると、バックプレッシャは、前記ソケットインタフェース要求チャネル上でアサートされ、物理レイヤーレディー信号はデアサートされる、
    を備える、
    前記アップストリームネットワーク−オン−チップ内の第1のターゲットネットワークインタフェースユニットと、
    前記第1のイニシエータネットワークインタフェースユニットのアドレススペース内の前記第1のターゲットネットワークインタフェースユニットの第1のアドレスマッピングと、
    ダウンストリームネットワーク−オン−チップと、
    前記第1のターゲットネットワークインタフェースユニットに動作可能に結合される前記ダウンストリームネットワーク−オン−チップ内の第2のイニシエータネットワークインタフェースユニットと、
    前記ダウンストリームネットワーク−オン−チップ内の第2のターゲットネットワークインタフェースユニットと、
    前記第2のイニシエータネットワークインタフェースユニットのアドレススペース内の前記第2のターゲットネットワークインタフェースユニットの第2のアドレスマッピングと、
    前記第2のアドレスマッピングにしたがってパケットを分割する前記第1のイニシエータネットワークインタフェースユニット内のパケット分割ユニットと、
    を備える、上記オン−チップ相互接続。
  16. ネットワーク−オン−チップのターゲットネットワークインタフェースユニット内のコンテクストを管理する方法であって、
    複数の保留中のトランザクションに対応する複数のエントリを記憶する能力を有するコンテクストアレイにコンテクストアレイエントリを割り当てることと、
    前記コンテクストアレイの前記能力がフルであるかどうかを検出することと、
    ソケットインタフェース要求チャネル上でトランザクション要求を伴って要求トランザクションコンテクストアレイエントリ識別子を含む前記トランザクション要求を発行することと、
    前記コンテクストアレイの前記能力がフルであることを検出すると、前記ソケットインタフェース要求チャネル上でバックプレッシャをアサートし、物理レイヤーレディー信号をデアサートすることと、
    一意的な値を表示するように構成されたトランザクション応答識別子を伴ってトランザクション応答を受け取ることと、
    前記コンテクストアレイエントリをルックアップするために前記トランザクション応答識別子を使用することと、
    を備える、上記方法。
  17. 前記要求トランザクションコンテクストアレイエントリ識別子は、前記トランザクション応答識別子の中で転換される、請求項16に記載の方法。
  18. ネットワーク−オン−チップの構成を介してトランザクションをトランスポートする方法であって、
    第1のネットワーク−オン−チップ内の第1のターゲットネットワークインタフェースユニットにおける第1のコンテクストアレイの第1のエントリにトランザクション応答を再び関連付けることと、前記第1のコンテクストアレイは、一意的なトランザクション識別子と、前記一意的なトランザクション識別子とは異なる一意的なシーケンス識別子とを記憶するように構成される、
    前記第1のエントリからパケットヘッダのエコーフィールドをマッピングすることと、
    前記パケットヘッダの前記エコーフィールドからトランザクション識別子信号をマッピングすることと、前記トランザクション識別子信号は、前記一意的なトランザクション識別子を表示するように構成される、
    複数の保留中のトランザクションに対応する複数のエントリを記憶する能力を有する第2のネットワーク−オン−チップの第2のターゲットネットワークインタフェースユニットにおける第2のコンテクストアレイにおいて、前記第2のコンテクストアレイの前記能力がフルであるかどうかを検出することと、前記第2のコンテクストアレイは、前記一意的なトランザクション識別子および前記一意的なシーケンス識別子を記憶するように構成される、
    前記第2のコンテクストアレイの前記能力がフルであることを検出すると、ソケットインタフェース要求チャネル上でバックプレッシャをアサートし、物理レイヤーレディー信号をデアサートすることと、
    前記第2のコンテクストアレイの前記能力がフルでないことを検出すると、前記第2のコンテクストアレイの第2のエントリの中にインデックスを付けるために前記トランザクション識別子信号の値を使用することと、
    を備える、上記方法。
  19. 前記第2のエントリから第2のパケットヘッダの第2のエコーフィールドをマッピングすることと、
    前記第2のエコーフィールドを使用して第3のコンテクストアレイの中にインデックスを付けることと、
    をさらに備える、請求項18に記載の方法。
JP2015533265A 2012-09-25 2013-09-24 チップソケットプロトコル上のネットワーク Active JP6144348B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/626,766 2012-09-25
US13/626,758 2012-09-25
US13/626,766 US9225665B2 (en) 2012-09-25 2012-09-25 Network on a chip socket protocol
US13/626,758 US9471538B2 (en) 2012-09-25 2012-09-25 Network on a chip socket protocol
PCT/US2013/061295 WO2014052261A1 (en) 2012-09-25 2013-09-24 Network on a chip socket protocol

Publications (3)

Publication Number Publication Date
JP2015535991A JP2015535991A (ja) 2015-12-17
JP2015535991A5 JP2015535991A5 (ja) 2017-01-26
JP6144348B2 true JP6144348B2 (ja) 2017-06-07

Family

ID=50388890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015533265A Active JP6144348B2 (ja) 2012-09-25 2013-09-24 チップソケットプロトコル上のネットワーク

Country Status (6)

Country Link
EP (2) EP2901294A4 (ja)
JP (1) JP6144348B2 (ja)
KR (1) KR101690568B1 (ja)
CN (1) CN104685480B (ja)
IN (1) IN2015MN00441A (ja)
WO (1) WO2014052261A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2529217A (en) * 2014-08-14 2016-02-17 Advanced Risc Mach Ltd Transmission control checking for interconnect circuitry
US11436185B2 (en) * 2019-11-15 2022-09-06 Arteris, Inc. System and method for transaction broadcast in a network on chip
CN117389931B (zh) * 2023-12-12 2024-05-03 芯动微电子科技(武汉)有限公司 适用于总线访问gpu核内存储器的协议转换模块及方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477646B1 (en) * 1999-07-08 2002-11-05 Broadcom Corporation Security chip architecture and implementations for cryptography acceleration
US6826191B1 (en) * 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US8087064B1 (en) * 2000-08-31 2011-12-27 Verizon Communications Inc. Security extensions using at least a portion of layer 2 information or bits in the place of layer 2 information
WO2002069575A1 (en) * 2001-02-28 2002-09-06 Gotham Networks, Inc. Methods and apparatus for network routing device
US6996651B2 (en) * 2002-07-29 2006-02-07 Freescale Semiconductor, Inc. On chip network with memory device address decoding
US7277449B2 (en) * 2002-07-29 2007-10-02 Freescale Semiconductor, Inc. On chip network
US6671275B1 (en) 2002-08-02 2003-12-30 Foundry Networks, Inc. Cross-point switch with deadlock prevention
WO2004034173A2 (en) * 2002-10-08 2004-04-22 Koninklijke Philips Electronics N.V. Integrated circuit and method for exchanging data
US7181556B2 (en) * 2003-12-23 2007-02-20 Arm Limited Transaction request servicing mechanism
KR20070010127A (ko) * 2004-03-26 2007-01-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 트랜잭션 중단을 위한 집적회로 및 방법
US7716409B2 (en) * 2004-04-27 2010-05-11 Intel Corporation Globally unique transaction identifiers
CN101379841A (zh) * 2005-09-13 2009-03-04 Ist国际公司 为提供异种网络之间的小包连通性和组分和小包之系统和方法
WO2007033363A2 (en) * 2005-09-13 2007-03-22 Ist International, Inc. System and method for providing packet connectivity between heterogeneous networks
US20070245033A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Link layer discovery and diagnostics
WO2008018017A2 (en) * 2006-08-08 2008-02-14 Koninklijke Philips Electronics N.V. Electronic device and method of controlling a communication
US8285912B2 (en) * 2009-08-07 2012-10-09 Arm Limited Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
FR2951342B1 (fr) * 2009-10-13 2017-01-27 Arteris Inc Reseau sur puce a latence nulle
EP2333830B1 (en) * 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
EP2388707B1 (en) * 2010-05-20 2014-03-26 STMicroelectronics (Grenoble 2) SAS Interconnection method and device, for example for systems-on-chip
JPWO2011148925A1 (ja) * 2010-05-24 2013-07-25 日本電気株式会社 半導体装置とネットワークルーティング方法とシステム
FR2961048B1 (fr) * 2010-06-03 2013-04-26 Arteris Inc Reseau sur puce avec caracteristiques de qualite-de-service
EP2444903A1 (en) * 2010-09-29 2012-04-25 STMicroelectronics (Grenoble 2) SAS A transaction reordering arrangement

Also Published As

Publication number Publication date
KR101690568B1 (ko) 2016-12-28
KR20150063433A (ko) 2015-06-09
CN104685480B (zh) 2017-07-14
IN2015MN00441A (ja) 2015-09-11
EP2901294A4 (en) 2016-08-10
JP2015535991A (ja) 2015-12-17
EP2901294A1 (en) 2015-08-05
EP4123468A1 (en) 2023-01-25
WO2014052261A1 (en) 2014-04-03
CN104685480A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
JP6522663B2 (ja) ハイブリッドメモリキューブリンクを用いる相互接続システムおよび方法
US8225027B2 (en) Mapping address bits to improve spread of banks
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
TWI474181B (zh) 在多根pcie環境中區別刀鋒型目的地及訊務類型
JP5819554B2 (ja) 十分に接続されたメッシュトポロジーのためのPCIExpressファブリックルーティング
JP6201065B2 (ja) 再構成可能なメモリシステムのための仮想化された物理アドレス
TWI772279B (zh) 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
US9032102B2 (en) Decode data for fast PCI express multi-function device address decode
US9042391B2 (en) Information processing device
JP6144348B2 (ja) チップソケットプロトコル上のネットワーク
US10853271B2 (en) System architecture with query based address translation for access validation
US9471538B2 (en) Network on a chip socket protocol
US9225665B2 (en) Network on a chip socket protocol
CN116932451A (zh) 一种数据处理方法、主机及相关设备
CN117280331A (zh) 用于处理来自通信网络中的外围设备的请求传输的技术

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161208

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161208

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170510

R150 Certificate of patent or registration of utility model

Ref document number: 6144348

Country of ref document: JP

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