JP2007535057A - 集積回路及びトランザクション発信方法 - Google Patents

集積回路及びトランザクション発信方法 Download PDF

Info

Publication number
JP2007535057A
JP2007535057A JP2007510173A JP2007510173A JP2007535057A JP 2007535057 A JP2007535057 A JP 2007535057A JP 2007510173 A JP2007510173 A JP 2007510173A JP 2007510173 A JP2007510173 A JP 2007510173A JP 2007535057 A JP2007535057 A JP 2007535057A
Authority
JP
Japan
Prior art keywords
transaction
slave
processing
atomic
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007510173A
Other languages
English (en)
Other versions
JP4740234B2 (ja
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
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2007535057A publication Critical patent/JP2007535057A/ja
Application granted granted Critical
Publication of JP4740234B2 publication Critical patent/JP4740234B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

複数の処理モジュール(M、S)、及び処理モジュール(M、S)を結合するように構成されたネットワーク(N)を有する集積回路が提供される。当該集積回路は、アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュール(S)に発信する第1処理モジュール(M)を有する。さらに、発信された第1のトランザクションを少なくとも1つの第2のトランザクションに復号化するトランザクション復号化手段(TDM)が設けられる。

Description

本発明は、複数の処理モジュール及び処理モジュール間の接続を提供するように構成されたネットワークを有する集積回路、そのような集積回路におけるトランザクション発信方法、並びにデータ処理システムに関する。
システム・オン・シリコンは、新機能の追加と既存機能の向上とに対する増し続ける要求を受け、複雑さを増し続けている。このことは、集積回路上に集積される部品密度を一層高めることによって可能にされている。同時に、回路が動作するクロック速度も高速化する傾向にある。より高いクロック速度は、部品の高密度化と相まって、同一クロック範囲内で同期して動作可能な領域を狭めてきた。このため、モジュール手法の必要性が生じている。このような手法に従って、処理システムは複数の比較的独立で複雑なモジュールを有する。伝統的な処理システムでは、通常、システムモジュールはバスを介して互いに通信する。しかしながら、モジュール数が増加するにつれ、この通信手法は以下の理由によりもはや実用的ではなくなっている。すなわち、一方では、多数のモジュールによってバスに過大な負荷が形成され、他方では、バスは1つの装置のみがバスにデータを送ることを可能にするだけであるので、バスが通信のボトルネックを形成している。通信ネットワークはこれらの欠点を解決する有効な手法である。
ネットワーク・オン・チップ(NoC)は、高度に複雑化したチップにおける相互接続問題の解決策として、最近かなりの注目を集めている。その理由は2つの要素から成る。第1に、NoCは新しいディープサブミクロン技術における電気的問題を解決する助けとなる。なぜなら、NoCは全体的な配線を構築かつ管理するからである。同時に、NoCは配線を共有して配線数を削減し、その利用率を高める。NoCはまた、エネルギー効率が良く、信頼性が高いものとなり得るとともに、バスに比べて拡張性がある。第2に、NoCは演算処理を通信から分離するが、このことは莫大な数のトランジスタチップの設計を管理することにおいて不可欠なことである。NoCがこの分離を実現することができるのは、NoCは伝統的にプロトコルスタックを用いて設計されるが、プロトコルスタックは通信サービスの使用をサービスの遂行から分離する洗練されたインターフェースを提供するものであるためである。
しかしながら、システム・オン・チップ(SoC)を設計する際にオンチップ通信用のネットワークを用いる場合、多数の新たな課題が考慮されなければならない。これは、通信モジュールが直接的に接続される既存のオンチップ相互接続(例えば、バス、スイッチ、又はポイントツーポイント配線)と対照的に、NoCではネットワークノードを介して遠隔で通信するためである。その結果、相互接続の調停(アービトレーション)は集中型から分散型に変わり、順序がバラバラなトランザクション、より長い待ち時間(レイテンシ)、及びエンドツーエンドのフロー制御のような問題がインテレクチュアル・プロパティ・ブロック(intellectual property block;IP)又はネットワークの何れかによって処理されなければならない。
これらの問題のほとんどは、ローカル及びワイド・エリア・ネットワーク(コンピュータ・ネットワーク)の分野で、また、並列マシン相互接続ネットワークとして、既に研究主題とされてきた。何れもオンチップ・ネットワークと密接に関連しており、それらの分野での結果の多くがチップにも適用可能である。しかしながら、NoCの前提はオフチップ・ネットワークとは異なっており、故に、ネットワーク設計の選択肢のほとんどが再評価されなければならない。オンチップ・ネットワークは、設計上の異なる選択につながる異なる特性(例えば、より厳しいリンクの同期化)及び制約(例えば、より高いメモリコスト)を有し、それらは最終的にネットワーク・サービスに影響を及ぼす。
NoCはオフチップ・ネットワークとは主にそれらの制約及び同期化の点で異なる。一般に、資源制約はオンチップの方がオフチップよりも厳しい。記憶装置(すなわち、メモリ)及び演算処理資源が比較的高価である一方で、ポイントツーポイント・リンク数はオンチップの方がオフチップより多い。例えばRAM等の汎用オンチップ・メモリは大面積を占有するので、記憶装置は高価である。メモリを比較的小型のネットワーク要素に分散させることは、メモリの間接領域が支配的になるので、さらに好ましくない。
オンチップ・ネットワークでは、演算処理は確かにオフチップ・ネットワークと比較して高コストになる。オフチップ・ネットワークのインターフェースは通常、ホストプロセッサを通信処理から開放するために、ネットワーク・レイヤー又はより上位のレイヤーまでのプロトコルスタックを実行する専用プロセッサを有する。専用プロセッサをネットワーク・インターフェースに含めることはチップ上では実用的ではない。なぜなら、ネットワーク・インターフェースの大きさはネットワークに接続されるIPと同等以上となるからである。さらに、プロトコルスタックをIP自体で実行することもまた、実用的でない場合がある。なぜなら、これらのIPは1つの専用機能のみを有し、ネットワーク・プロトコルスタックを実行するだけの性能がないことが多いからである。
コンピュータ・ネットワーク技術は、一般に、バッファサイクルを導入可能な不規則な(場合により動的な)構造を有する。デッドロックもまた、例えば、接続形態(トポロジ)又は経路選択の何れかに制約を導入することによって回避可能である。NoCのためにFat-treeトポロジが既に検討されており、バッファ・オーバーフローの場合にネットワーク内でパケットを跳ね返すことによってデッドロックが回避される。システム設計のタイルベース手法はメッシュ又はトーラス・ネットワーク・トポロジを使用し、例えば、ターンモデル(turn-model)の経路選択アルゴリズムを用いてデッドロックは回避可能にされる。デッドロックは主としてバッファ内のサイクルによって引き起こされる。デッドロックを回避するため、経路選択は無サイクルでなければならない。なぜなら、より低コストで信頼できる通信を実現できるからである。デッドロックの第2の要因はトランザクションのアトミック・チェーン(atomic chain)である。モジュールがロックされたときに、トランザクションを保存する待ち行列がアトミック・トランザクション・チェーンの外部のトランザクションで満たされ、ロックされたモジュールに到達すべきチェーンに含まれるトランザクションのアクセスを遮断してしまい得ることが理由である。アトミック・トランザクション・チェーンが実行されなければならない場合、ネットワークノードはアトミック・チェーン内のトランザクションをフィルタリング可能であるべきである。
ネットワークをオンチップ相互接続として導入することは、例えばバス又はスイッチ等の直接相互接続と比較して、通信を根本的に変えるものである。なぜなら、通信モジュールが直接的に接続されずに、1つ以上のネットワークノードによって分離されているという、ネットワークのマルチホップ性のためである。このことは、モジュールが直接接続される一般的な既存の相互接続(例えば、バス)と対照的である。この変化から予期されることは、アービトレーション(これは集中型から分散型に変えられなければならない)及び通信特性(例えば、順序付け又はフロー制御)に属する。
最新のオンチップ通信プロトコル(例えば、デバイス・トランザクション・レベルDTL、オープン・コア・プロトコルOCP及びAXIプロトコル)は、トランザクションが要求と応答とから成る、分割され且つパイプライン化された基盤上で動作し、マスターから発信された要求がスレーブによって受け取られた後に、バスは他による使用のために解放される。分割されパイプライン化された通信プロトコルは特にマルチホップ相互接続(例えば、ネットワーク・オン・チップ、又はブリッジを有するバス)で使用され、相互接続の効率的な使用を可能にする。
マルチホップ相互接続に伴う困難の1つは、アトミック処理(例えば、検査・設定、スワップ比較など)を如何にして実行するかである。トランザクションのアトミック・チェーンは単一のマスターによって開始され、単一のスレーブで独占的に実行される一連のトランザクションである。すなわち、一旦、チェーン内の最初のトランザクションがスレーブへのアクセスを要求すると、他のマスターはそのスレーブへのアクセスを拒否される。アトミック処理は、典型的に、相互排除やセマフォ(semaphore)等の高度な処理を実行する多重処理システムにて用いられ、故に、マスターモジュール間の同期機構(例えば、セマフォ)を実行するために広く用いられている。
アトミック処理(単純化のため、ここでは検査・設定(test-and-set)処理のみが述べられるが、その他のアトミック処理も同様に処理され得る)を実行する手法には現在2つ、すなわち、a)排他制御(ロック)、又はb)フラグがある。アトミック処理は、そのアトミック処理を要求しているマスターによる排他的使用のために相互接続をロックすることにより実行可能である。ロックを用いると、すなわち、アトミック処理が完了するまでマスターが資源をロックすると、トランザクションは常に成功するが、これでは開始されるのに時間が掛かる場合があり、他に影響を及ぼすことになる。換言すれば、相互接続、スレーブ、又はアドレス空間の部分がマスターによってロックされるが、そのことが意味するのは、ロックされている間、その他の如何なるマスターもそのロックされた物にアクセスできないということである。このようにアトミシティ(atomicity)は容易に実現されるが、特にマルチホップ相互接続においては、性能面での不利益を伴う。一旦マスターがバスへのアクセスを許可されると、チェーン内の全トランザクションを素早く実行することが可能であり、チェーン内の後続トランザクションには調停遅延は不要であるので、資源がロックされる時間は短くなる。従って、ロックされたスレーブや相互接続は短時間で再び解放されることが可能である。
さらに、アトミック処理は、フラグ設定によりロックされたスレーブへのアクセス許可を制限することによって実行される場合もある。すなわち、使用中であるとしてマスターが資源に合図を送り、アトミック・トランザクションが完了するまでフラグがそのまま設定されているときはアトミック・トランザクションが成功し、そうでなければ失敗する。この場合、アトミック・トランザクションはより速く実行されて他に影響を及ぼさないが、失敗する可能性もある。ここで、排他的アクセスの場合に関しては、アトミック処理は対を為す2つのトランザクションであるReadLinked及びWriteConditionalに制限される。ReadLinkedの後に、スレーブ又はアドレス範囲(スレーブ領域とも呼ばれる)にフラグ(最初はリセット)が設定される。その後、WriteConditionalが試みられるが、フラグがそのまま設定されているときにはWriteConditionalは成功する。フラグにより印を付けられたスレーブ又はスレーブ範囲上でその他の書き込みが実行されるとき、フラグはリセットされる。相互接続はロックされず、依然として他のモジュールによって使用可能であるが、スレーブのロック時間が長くなるという代償を伴う。
第2は、何がロック/フラグされているかである。これは相互接続全体、スレーブ(又はスレーブ群)、又はメモリ領域(1つのスレーブ内、若しくは幾つかのスレーブにまたがる)である場合がある。
通常、これらのアトミック処理は、他のトランザクションからの妨害なく連続して実行されなければならない2つのトランザクションから構成される。例えば、検査・設定処理においては、最初に読み出しトランザクションが実行され、読み出し値がゼロ(又はその他の所定値)と比較される。そして、成功した上で書き込みトランザクションによって別の値が書き戻される。アトミック処理を実現するためには、読み出し・書き込みトランザクション間の同一位置では如何なる書き込みトランザクションも許可されるべきではない。
これらの場合、マスター(例えば、CPU)は2つ以上のトランザクションをそのようなアトミック処理(すなわち、LockedRead及びWrite、並びにReadLinked及びWriteConditional)のための相互接続上で実行しなければならない。マルチホップ相互接続についてはトランザクションのレイテンシが比較的長く、アトミック処理は不必要に長い待機時間をもたらす。
マルチホップ相互接続における長いレイテンシによって生じるその他の問題は、上記2つの実行手法に特有なものである。ロックすることに関しては、マルチホップ相互接続は分散型のアービトレーションを有し、ロックすることは過大な時間が掛かり、且つアービター間での過大量の通信を含むことになるため、マルチホップ相互接続の全体をロックすることは不可能である。故に、AXI及びOCPプロトコルにおいては、相互接続ではなくスレーブ又はスレーブ領域がロックされる。しかしながら、この場合であっても、ロックされたスレーブ又はスレーブ領域はロックしている1つ以外の全マスターからのアクセスを禁止する。故に、その他のマスターからそのスレーブへのトラフィックが相互接続内に蓄積し、ネットワークの混雑状態を引き起こすことになる。これは、ロックされたスレーブ又はスレーブ領域宛てでないトラフィックまで影響を受けることになるため望ましくない。
排他的アクセスに関しては、レイテンシの増大、及び同一のスレーブ又はスレーブ領域にアクセスしようとするマスター数の増大とともに、WriteConditionalが成功する可能性が低下する。
その他のトラフィックへの影響を双方の仕組みで抑制する一解法は、スレーブ領域の大きさを可能な限り小さくすることである。そうした場合、アトミック処理に影響される(ロッキングの場合)、あるいはアトミック処理に影響する(排他的アクセスの場合)入力トラフィックが減少する。しかしながら、多数のロック/フラグを有することの実施コスト、又はそれらを実行するための動的プログラム可能なプログラム表を実現する複雑さが過大になってしまう。
本発明は、トランザクションのアトミック・チェーンを処理する能力が向上された集積回路を提供することを目的とする。
上記課題に鑑みて提供される、複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有する集積回路は、アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する第1処理モジュールを有する。さらに、発信された前記第1のトランザクションを少なくとも1つの第2のトランザクションに復号化するトランザクション復号化手段が設けられる。
このような集積回路においては相互接続への負荷が軽減される。すなわち、相互接続上のメッセージがより少なくなる。従って、アトミック処理に対応するコストが削減されることになる。
本発明の一態様に従って、前記処理モジュールは、前記アトミック処理の実行を管理するために前記トランザクション復号化手段によって必要とされる全情報を前記第1のトランザクションに含めている。従って、必要な全情報がトランザクション復号化手段に送られ、トランザクション復号化手段は第1処理モジュールの相互作用なく、それ自身上で更なる処理段階を実行することができる。
本発明の更なる一態様に従って、前記第1のトランザクションは前記第1処理モジュールから前記ネットワーク上で前記トランザクション復号化手段まで送られる。故に、実行時間が短くなり、それにより、マスター及び接続のロック時間を短くすることが実現される。なぜなら、アトミック・トランザクションは第2処理モジュール側、すなわち、スレーブ側で実行され、第1処理モジュール、すなわち、マスター側では実行されないからである。
本発明の好適な一態様に従って、前記トランザクション復号化手段は、前記第2処理モジュールへの要求を入れる要求バッファ、該第2処理モジュールからの応答を入れる応答バッファ、及び入ってくる要求を点検し、且つ該第2処理モジュールに信号を発信するメッセージ処理器を有する。
本発明の更なる一態様に従って、前記第1のトランザクションは、コマンド並びに必要によりコマンドフラグ及びアドレスを具備するヘッダと、0、1又は2つ以上の値を含むペイロードとを有し、且つ前記コマンドの実行は前記メッセージ処理器によって開始される。単純なP及びVの場合、値が存在しない。拡張されたP及びV処理は1つの値を有し、TestAndSetは2つの値を有する。
また、本発明に係る、複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有する集積回路においてトランザクションを発信する方法では、第1の処理モジュールが、アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する。発信された前記第1のトランザクションは、トランザクション復号化手段によって、少なくとも1つの第2のトランザクションに復号化される。
また、本発明に係る、複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有するデータ処理システムは、アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する第1処理モジュールを有する。さらに、発信された前記第1のトランザクションを少なくとも1つの第2のトランザクションに復号化するトランザクション復号化手段が設けられる。
本発明は、アトミック処理を単一のトランザクションに完全に符号化すること、及びその実行をスレーブ、すなわち、受信側に移すことによって、資源がロックされる時間、又は排他的アクセスで資源がフラグで停止される時間を最小限に低減するという考えに基づく。
以下の実施形態はシステム・オン・チップ、すなわち、同一チップ上の複数モジュールが或る種の相互接続を介して互いに通信するものに関する。相互接続は単一チップ又は複数チップに広がるネットワーク・オン・チップNoCとして具体化される。ネットワーク・オン・チップはネットワーク内に配線、バス、時分割多重化、スイッチ、及び/又はルータを有し得る。ネットワークの伝送レイヤーにおいて、モジュール間の通信が接続上で実行される。接続は、第1のモジュールと少なくとも1つの第2のモジュールとの間の、各々が1組の接続特性を有する1組のチャネルと見なされる。第1のモジュールと単一の第2のモジュールとの間の接続では、接続は2つのチャネル、すなわち、第1のモジュールから第2のモジュールへのチャネルである要求チャネルと、第2のモジュールから第1のモジュールへのチャネルである応答チャネルとを有する。要求チャネルは第1のモジュールから第2のモジュールへのデータ及びメッセージのために確保され、一方、応答チャネルは第2のモジュールから第1のモジュールへのデータ及びメッセージのために確保される。しかしながら、接続が1つの第1のモジュールとN個の第2のモジュールとを含む場合には、2N個のチャネルが設けられ得る。接続特性には、順序付け(順々のデータ伝送)、フロー制御(遠隔バッファが接続のために確保されるとともに、生成されたデータのために空間が利用可能であることが保証されるときに限ってデータ生成器がデータを送ることが可能にされる)、処理能力(処理能力の下限が保証される)、レイテンシ(レイテンシの上限が保証される)、損失性(lossiness)(データの劣化)、伝送限界、トランザクションの完全性、データの正確性、優先度、又はデータ配送が含まれ得る。
図1は本発明に従ったシステム・オン・チップを示している。このシステムは、マスターモジュールM、2つのスレーブモジュールS1、S2を有する。各モジュールは、それぞれ、ネットワーク・インターフェースNIを介してネットワークNに接続されている。ネットワーク・インターフェースNIはマスター及びスレーブモジュールM、S1、S2とネットワークNとの間のインターフェースとして用いられる。ネットワーク・インターフェースNIは、モジュールがネットワーク又は他のモジュールとの通信を処理する必要なくその専用動作を実行可能なように、それぞれのモジュールとネットワークNとの通信を管理するために設けられる。ネットワーク・インターフェースNIは、例えば読み出しrd、及び書き込みwr等の、要求をネットワーク上で相互に送信することが可能である。
上述のようなモジュールは、ネットワーク・インターフェースNIでネットワークと相互作用する所謂IPブロック(演算処理素子、メモリ、又は内部に相互接続モジュールを含むサブシステム)とし得る。
特に、トランザクション復号化手段(TDM)がスレーブS1、S2の1つに付随する少なくとも1つのネットワーク・インターフェースNIに配置される。アトミック処理は通信プロトコルに含まれる特別なトランザクションとして実行される。目的は、資源がロックされる時間、又は排他的アクセスとともにフラグで停止される時間を最小限に抑えることである。これを実現するため、アトミック処理はマスター側で単一のトランザクションに完全に符号化され、その実行はスレーブ側に移される。
図2A及び2Bはその実行を例示している。図2Aはロックすることによる伝統的なアトミック処理を示しており、図2Bは第1の実施形態に従ったアトミック処理を示している。
故に、図2Aはネットワーク・オン・チップ環境内の第1及び第2のマスターM1、M2とスレーブSとの間の通信スキームを簡単に表している。第1のマスターM1は‘読み出し、ロック’処理、すなわち、スレーブS内の値の読み出し、及びスレーブSのロックを要求し、スレーブSは応答‘読み出し、ロック’を返し、場合により読み出し値を返す。そして、第2のマスターM2からの要求‘書き込み2’が阻止される、すなわち、その実行が遅らせられるように、スレーブSはマスターMにロック(L1)される。マスターM1は、スレーブSから応答‘読み出し、ロック’を受信した後、値をスレーブSに書き込むために要求‘書き込み1’をスレーブに発信する。マスターM1からのこの第2の要求はスレーブSにより受信され、応答‘書き込み1’がマスターM1に転送され、そして、処理が終了するとスレーブSのロックが解除される。従って、スレーブSはL1からL2までロックされ、要求‘書き込み2’はL2、すなわち、スレーブSの解放まで阻止される。スレーブSは、今度は、第2のマスターM2からの要求‘書き込み2’に進むことができる。
図2Bは第1実施形態に従ったネットワーク・オン・チップ環境内の第1及び第2のマスターM1、M2とスレーブSとの間の通信スキームを簡単に表している。マスターM1は‘検査・設定’処理を要求している。スレーブ側でその要求を処理するための全情報が、マスターM1によって単一のアトミック処理に含められている。単一のアトミック処理‘検査・設定’はスレーブに付随するトランザクション復号化手段TDMによって受信される。トランザクション復号化手段TDMによってトランザクションの実行命令が出される。スレーブは、要求された処理を実行し、トランザクションの実行が完了すると応答‘検査・設定’を発信する。スレーブは、L10にて第1の要求を受信するとマスターM1にロックされ、そのトランザクションの実行を完了し、L20にて応答‘検査・設定’を発信したとき解放される。従って、第2のマスターM2からの要求‘書き込み’はスレーブがL20にて解放されるまで阻止される。
換言すれば、スレーブは、図2Aに示されるような実行よりも遙かに短い、スレーブでのアトミック処理の実行中だけ遮断される。さらに、マスター自体でアトミック処理を実行する必要がないので、マスターはより簡易なものとなる。マスター(これはアトミック処理の部分を実行する必要がない)への負荷はより小さくなる。しかしながら、再利用可能な相互接続、特にネットワーク・インターフェースが代わりに複雑となる。
図2Aと図2Bとに示されるような通信スキームを比較すると、図2Aに従った伝統的な実現におけるロック時間(L1からL2)の方が長いことが見て取れる。なぜなら、マスターM1がアトミック処理、すなわち、要求‘読み出し、ロック’及び要求‘書き込み1’の実行に関与しているからである。故に、ネットワークのレイテンシの2倍とマスターM1がアトミック処理の自身の部分を実行する時間とを足し合わせた時間中、スレーブSはロックされる。この時間の全てにおいて、(例えば、マスターM2からの)スレーブS宛てのトラフィックは阻止される。
図3A及び3Bは、好適な実施形態である第2の実施形態に従ったアトミック処理の実行スキームを示している。図3Aはロックすることによる伝統的なアトミック処理を示しており、図2Bは第2の実施形態に従ったアトミック処理を示している。
図3Aには、特に、図1に示されるようなマスターMとスレーブSとの間の通信がマスターMの中間ネットワーク・インターフェースMNI及びスレーブSの中間ネットワーク・インターフェースSNIとともに示されている。具体的に、2つの実行例、すなわち、第1の実行処理例ex1としてのLockedRead及び第2の実行処理例ex2としてのReadLinkedについて基本原理を説明する。
マスターMは第1のトランザクションt1を発信する。このトランザクションt1は実行処理ex1であるLockedRead、又は実行処理ex2であるReadLinkedとすることができる。トランザクションt1はマスターMのネットワーク・インターフェースMNIへ、ネットワークNを介してスレーブのネットワーク・インターフェースSNIへ、そして最終的にスレーブSへと転送される。スレーブSはトランザクションt1を実行し、場合により、ネットワーク・インターフェースSNI及びマスターに付随するネットワーク・インターフェースMNIを介してマスターにデータを返す。その間、スレーブSは実行処理LockedRead又はReadLinkedのために遮断され、それぞれ、実行処理Write又はWriteConditionalのためにフラグで停止される。マスターMはスレーブの応答を受信すると、第2のトランザクションt2を実行する。トランザクションt2は上述の実行処理ex1及びex2の何れの場合も比較(comparison)である。その後、マスターMは第3のトランザクションt3をスレーブに発信する。トランザクションt3は実行処理ex1の場合にはWriteコマンド、実行処理ex2の場合にはWriteConditionalコマンドである。スレーブSはこのコマンドを受信し対応する応答を返す。その後、スレーブSは解放される。
図3Bは第2実施形態に従ったネットワーク・オン・チップ環境内のマスターMとスレーブSとの間の通信スキームを簡単に表している。基礎を成すネットワーク・オン・チップ環境の基本構造は図3Aに記載された環境に対応しているが、ネットワーク・オン・チップ環境にトランザクション復号化手段TDMがさらに含まれている。マスターMはTestAndSetのようなアトミック・トランザクションtaを発信し、アトミック・トランザクションtaはマスターMのネットワーク・インターフェースMNIを介してトランザクション復号化手段TDMに転送される。
図3Aに従って述べられたように、TestAndSetコマンドから成るアトミック・トランザクションtaの実行又は復号化に関し、2つの異なる実行処理例、すなわち、第1の実行処理例ex1としてのLockedRead及びWrite、並びに第2の実行処理例ex2としてのReadLinked及びWriteConditionalについて説明する。
マスターMがアトミック・トランザクションtaを発信する。アトミック・トランザクションtaの復号化と、図3Aに従って上述されたようにマスターMによって実行されていた第1、第2及び第3のトランザクションt1、t2、t3の処理とは、ここでは、トランザクション復号化手段TDMによって実行される。故に、トランザクション復号化手段TDMはアトミック・トランザクションtaをトランザクションt1、すなわち、第1又は第2の実行処理例ex1又はex2に復号化する。従って、スレーブSがスレーブに付随するネットワーク・インターフェースSNIを介してトランザクション復号化手段TDMから第1のトランザクションt1、すなわち、ex1又はex2を受信するとすぐに、第1のトランザクションt1が実行され、スレーブは、場合によりデータを含む応答をトランザクション復号化手段TDMに発信する。トランザクション復号化手段TDMは、第2のトランザクションt2に従って比較を行う。すなわち、第1又は第2の実行処理例ex1又はex2に従って何れの場合も比較を行う。その後、トランザクション復号化手段TDMはex1としてWrite、又はex2としてWriteConditionalトランザクションをスレーブSに発信する。スレーブSは第3のトランザクションを実行し、そして、LockedRead及びWrite、すなわち、第1の実行処理例ex1の場合と、フラグがそのまま設定されていてReadLinked及びWriteConditional、すなわち、第2の実行処理例ex2が成功した場合とには、スレーブのロックを解除する。対応する応答がマスターMに発信される。
図3Bに示されるように、ネットワーク上を転送されなければならないトランザクションはより少なくなる。さらに、発信されなければならないアトミック・トランザクションは単に1つであり、その上、このアトミック・トランザクションはトランザクション復号化手段TDMで複数のより単純なトランザクションに費やされるので、マスターMの処理負荷は軽減される。第2実施形態に従ったマスターMは、幾つかの処理段階がマスターMではなくトランザクション復号化手段TDMで実行されるので、アトミック・トランザクションに気付かなければならない。例えば、第1及び第2のトランザクションt1及びt3間の比較t2はトランザクション復号化手段TDMによって実行される。
あるいは、スレーブもまたアトミック・トランザクションに気付いてもよい。しかし、この場合、トランザクション復号化手段TDMはスレーブSの一部であってもよい。これにより、トランザクション復号化手段TDMがネットワークから移されてスレーブ内に配置されるので、ネットワークが簡略化される結果になる。さらに、それにより、より少ないトランザクションがスレーブに付随するネットワーク・インターフェースSNIとスレーブ自体との間を通ることになる。特に、これはアトミック・トランザクションだけであってもよい。
アトミック・トランザクションの例として検査・設定、及び比較・交換(swap)が挙げられる。何れの場合も、2つのデータ値、比較される値(CMPVAL)及び書き込まれる値(WRVAL)がトランザクションの要求によって伝えられなければならない。何れの例でも、CMPVALはトランザクションのアドレスにある値と比較される。それらが同一の場合、WRVALが書き込まれる。スレーブからの応答は検査・設定のための位置にある新たな値、及び比較・交換のための以前の値である。なお、単純な比較の代わりに何れかのブール関数(例えば、後述されるセマフォ拡張機能で使用される“以下”)とすることも可能である。
より高度で、トランザクションの観点から一層単純なのは、セマフォ・トランザクションである。これは、如何なるパラメータも用いずにP及びVを呼び出すものである。Pはトランザクションで指定されたアドレスへのアクセスがあるまで待ち、そしてトランザクションのアドレスによって指定された位置の値を減少させようと試みる。値が正である場合、その値を減少させ、成功が返される。値がゼロ又は負である場合、その値は変えられずに失敗が返される。Vは常に成功し、指定されたアドレスの位置を増加させる。
P及びVトランザクションの拡張が可能であり、その場合、増加/減少されるべき値(VAL)がP/Vトランザクションのデータパラメータとして指定される。トランザクションのアドレスでの値がVAL以上である場合、Pはトランザクションのアドレスの位置をVALだけ減少させ、成功を返す。そうでない場合、その位置を変えずに残し、失敗を返す。Vはアドレスされた位置をVALだけ増加させることに常に成功する。
本発明は処理をトランザクションとして符号化することに関し、この符号化はスレーブ側の相互接続において実装且つ実行される。
検査・設定トランザクションは特に、大きなレイテンシの相互接続(例えば、ブリッジを備えるバス、ネットワーク・オン・チップ)を有するIC設計で問題となる。このような相互接続は本質的にチップを複雑化するものである。
上述された検査・設定トランザクションの利点として、相互接続をロックする必要がないことが挙げられる。相互接続に課される負荷はより小さい(すなわち、メッセージはより少ない)ものである。マスターでの検査・設定処理の実行時間はより短い。CPU/マスターは、検査・設定処理(読み出し、比較、書き込み)の3つの命令の代わりに単に1つの命令を実行することを必要とする。さらに、アトミック処理を支援するコストが低減される。しかしながら、現行のCPUはそのような命令を未だ提供していないという問題がある。
図4は、第1実施形態に従ったメッセージ構造を示している。ここでは、要求メッセージはヘッダhd及びペイロードplから構成されている。ヘッダhdはコマンドcmd(例えば、読み出し、書き込み、検査・設定)、フラグ(例えば、ペイロードのサイズ、ビットマスク、バッファ化)、及びアドレスから成る。ペイロードplはエンプティ(例えば、読み出しコマンドに対して)であってもよいし、1つの値v1(例えば、書き込みコマンド)又は2つの値V1、V2(例えば、検査・設定コマンド)を含んでもよい。
図5は受信側、すなわち、スレーブSとそれに付随するネットワーク・インターフェースNIとを示している。スレーブのネットワーク・インターフェースと、特にトランザクション復号化手段TDMとが検査・設定処理を実行する。図には、ネットワーク・インターフェース内の検査・設定処理の実行に関与する部分のみ、すなわち、トランザクション復号化手段TDMが示されている。
スレーブのネットワーク・インターフェース内のトランザクション復号化手段TDMは、2つのメッセージ待ち行列、すなわち、要求バッファREQB及び応答バッファRESB、メッセージ処理器MP、比較器CMP、比較器バッファCMPB及び選択器SELを含んでいる。トランザクション復号化手段TDMは要求バッファREQBに接続された要求入力、応答バッファRESBの出力に接続された応答出力、スレーブに書き込まれるデータwr_dataのための出力、スレーブから出力されるデータrd_dataのための入力、スレーブ内のアドレスadressのための制御出力、読み出し/書き込みwr/rdを選択するための選択出力、書き込み有効wr_validの出力、読み出し承認rd_acceptの出力、書き込み承認wr_acceptの入力、及び読み出し有効rd_validの入力を有している。メッセージ処理器MPは以下の入力を有している。すなわち、要求バッファREQBの出力、書き込み承認入力wr_accept、読み出し有効入力rd_valid、及び比較器CMPの結果出力resを有している。メッセージ処理器は以下の出力を有している。すなわち、アドレス出力、書き込み/読み出し選択出力wr/rd、書き込み有効出力wr_valid、読み出し承認出力rd_accept、選択器への選択信号SEL、書き込み可能信号wr_en、読み出し可能信号rd_en、比較器への読み出し可能信号cren、及び比較器への書き込み可能信号cwenを有している。
要求バッファすなわち待ち行列REQBは、ネットワークを介してマスターから受信し、スレーブに配送されるべき要求(例えば、読み出し、書き込み、フラグを具備する検査・設定コマンド、アドレス及び場合によりデータ)を収容可能である。応答バッファすなわち待ち行列RESBは、コマンド(例えば、データ読み出し、受信確認)への応答としてスレーブによって作成されたマスターへのメッセージを収容可能である。
さらに、メッセージ処理器MPは、要求バッファREQBに入力されようとする各メッセージヘッダhdを点検し、ヘッダhd内のコマンドcmd及びフラグに応じて信号をスレーブに向けて送り出す。仮に書き込みコマンドの場合、メッセージ処理器MPはwr/rd信号を書き込みに設定し、wr_validを設定することによりwr_data出力にデータを供給する。読み出しコマンドに関しては、メッセージ処理器MPはwr/rd信号を読み出しに設定するとともに、読み出しデータrd_dataを通過させるように選択器SELを設定する。rd_data入力に読み出しデータが存在するとき(すなわち、rd_validが高(high)のとき)、rd_enが設定され(すなわち、受け取りの準備がされ)、応答待ち行列がデータを受理すると(単純化のため、信号は図示せず)、rd_acceptが生成される。選択器SELは要求バッファREQB出力又はrd_data出力を、メッセージ処理器MPの選択信号SELに応じて応答バッファRESB又は比較器バッファCMPBへと転送する。
検査・設定コマンドに関しては、メッセージ処理器MPは先ず、読み出しコマンドをスレーブに発信し、受信データを比較器バッファすなわち待ち行列CMPBに保存する。そして、メッセージ処理器MPは要求バッファREQB及び比較器バッファCMPBの双方を作動させ、比較器CMPを介してサイズがNワードのデータを作成する。ワードの何れのペアも同一ワードを有する場合、比較検査は成功に終わり、要求バッファすなわち待ち行列REQB(これもまた、サイズはNワードである)内の次の値がスレーブSに書き込まれる。この場合、書き込まれた値は応答待ち行列RESBを介してマスターMにもそのまま返される。検査が失敗した場合、要求待ち行列内の第2の値が廃棄され(すなわち、スレーブに書き込まれない)、応答待ち行列RESBを介してマスターに戻される同一アドレスに第2の読み出しが発信される。
図6は、図5に示される受信側の代替構成を示す概略図である。図6の構成の動作は図5の構成の動作と実質的に対応している。図6の構成は図5の構成に対応しているが、図5のメッセージ処理器MPが2つの部分、すなわち、メッセージ処理器MP、及びメッセージ処理器MPとスレーブSとの間のプロトコルシェルPSに分離されている。ここで、トランザクション復号化手段TDMに対応するそれらの部分、すなわち、メッセージ処理器MP、比較器CMP、比較器待ち行列CMPB及び選択器selを破線で取り囲んでいる。要求待ち行列REQB及び応答待ち行列RESPBはネットワークNの部分とし得る。
プロトコルシェルPSはメッセージ処理器MPのメッセージを、スレーブSが通信可能なプロトコル、例えばバスプロトコルに翻訳する働きをする。特に、トランザクション要求t_req、トランザクション要求有効性t_req_valid、及びトランザクション要求承認t_req_acceptのメッセージ又は信号、並びにトランザクション応答t_resp、トランザクション応答有効性t_resp_valid、及びトランザクション応答承認t_resp_acceptの信号は、図5に従って述べられたようなスレーブSのそれぞれの出力信号と入力信号とに翻訳される。
あるいは、トランザクション復号化手段TDM及びプロトコルシェルPSは、スレーブSに付随するネットワーク・インターフェースNIに実装されてもよいし、ネットワークNの部分として実装されてもよい。
上述のネットワーク・オン・チップは単一チップ上、又は複数チップ環境内の何れにも実装し得るものである。
上述の実施形態は本発明を例示するものであり、本発明を限定するものではない。また、当業者によって、添付の請求項の範囲を逸脱することなく、多数の代替実施形態が設計され得るものである。請求項において、用語“有する”は列挙された要素若しくはステップ以外の要素若しくはステップの存在を排除するものではない。要素の前に置かれた用語“或る”はその要素が複数存在することを排除するものではない。幾つかの手段を列挙するデバイスの請求項において、これらの手段の幾つかは1つ且つ同一のハードウェア品目によって具体化され得るものである。ある特定の手段が相互に異なる従属項に挙げられているという単なる事実は、これらの手段の組み合わせが効果的に用いられ得ないことを指し示すものではない。
第1実施形態に従ったシステム・オン・チップを示す概略図である。 Aは、第1実施形態に従った、アトミック処理を実行する仕組みを示す図である。Bは、第1実施形態に従った、アトミック処理を実行する仕組みを示す図である。 Aは、第2実施形態に従った、アトミック処理を実行する仕組みを示す図である。B、第2実施形態に従った、アトミック処理を実行する仕組みを示す図である。 好適な実施形態に従ったメッセージ構造を示す図である。 宛先モジュール及びそれに付随するネットワーク・インターフェースの受信側を示す概略図である。 宛先モジュール及びそれに付随するネットワーク・インターフェースの受信側の変形例を示す概略図である。

Claims (7)

  1. 複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有する集積回路であって、
    アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する第1処理モジュール、及び
    発信された前記第1のトランザクションを少なくとも1つの第2のトランザクションに復号化するトランザクション復号化手段、
    を有する集積回路。
  2. 前記第1処理モジュールが、前記アトミック処理の実行を管理するために前記トランザクション復号化手段によって必要とされる全情報を前記第1のトランザクションに含めるように適応されている、ところの請求項1に記載の集積回路。
  3. 前記第1のトランザクションが前記第1処理モジュールから前記ネットワーク上で前記トランザクション復号化手段まで送られる、ところの請求項2に記載の集積回路。
  4. 前記トランザクション復号化手段が、前記第2処理モジュールへの要求を入れる要求バッファ、該第2処理モジュールからの応答を入れる応答バッファ、及び入ってくる要求を点検し、且つ該第2処理モジュールに信号を発信するメッセージ処理器を有する、ところの請求項1に記載の集積回路。
  5. 前記第1のトランザクションが、コマンド並びに必要によりコマンドフラグ及びアドレスを具備するヘッダと、0、1又は2つ以上の値を具備するペイロードとを有し、且つ
    前記コマンドの実行が前記メッセージ処理器によって開始される、
    ところの請求項4に記載の集積回路。
  6. 複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有する集積回路においてトランザクションを発信する方法であって:
    第1の処理モジュールによって、アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する段階、及び
    トランザクション復号化手段によって、発信された前記第1のトランザクションを少なくとも1つの第2のトランザクションに復号化する段階、
    を有する方法。
  7. 複数の処理モジュール、及び該モジュールを結合するように構成されたネットワークを有するデータ処理システムであって、
    アトミック処理を第1のトランザクションに符号化し、且つ該第1のトランザクションを少なくとも1つの第2処理モジュールに発信する第1処理モジュール、及び
    発信された前記第1のトランザクションを少なくとも1つの第2のトランザクションに復号化するトランザクション復号化手段、
    を有するデータ処理システム。
JP2007510173A 2004-04-26 2005-04-12 集積回路及びトランザクション発信方法 Expired - Fee Related JP4740234B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04101732.8 2004-04-26
EP04101732 2004-04-26
PCT/IB2005/051196 WO2005103934A1 (en) 2004-04-26 2005-04-12 Integrated circuit and method for issuing transactions

Publications (2)

Publication Number Publication Date
JP2007535057A true JP2007535057A (ja) 2007-11-29
JP4740234B2 JP4740234B2 (ja) 2011-08-03

Family

ID=34980261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007510173A Expired - Fee Related JP4740234B2 (ja) 2004-04-26 2005-04-12 集積回路及びトランザクション発信方法

Country Status (6)

Country Link
US (1) US20070234006A1 (ja)
EP (1) EP1743251A1 (ja)
JP (1) JP4740234B2 (ja)
KR (1) KR20070010152A (ja)
CN (1) CN100538691C (ja)
WO (1) WO2005103934A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172575A (ja) * 2005-12-22 2007-07-05 Samsung Electronics Co Ltd ロックオペレーションを制御するネットワークインターフェイス、このネットワークインターフェイスが含まれたパケットデータ通信オンチップインターコネクトシステムおよびそのネットワークインターフェイスの動作方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613849B2 (en) * 2004-03-26 2009-11-03 Koninklijke Philips Electronics N.V. Integrated circuit and method for transaction abortion
US7457905B2 (en) * 2005-08-29 2008-11-25 Lsi Corporation Method for request transaction ordering in OCP bus to AXI bus bridge design
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
CN102004709B (zh) * 2009-08-31 2013-09-25 国际商业机器公司 处理器局部总线到高级可扩展接口之间的总线桥及映射方法
DE102009043451A1 (de) * 2009-09-29 2011-04-21 Infineon Technologies Ag Schaltungsanordnung, Network-on-Chip und Verfahren zum Übertragen von Informationen
US8103937B1 (en) * 2010-03-31 2012-01-24 Emc Corporation Cas command network replication
US20120331034A1 (en) * 2011-06-22 2012-12-27 Alain Fawaz Latency Probe
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
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
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
US20150199286A1 (en) * 2014-01-10 2015-07-16 Samsung Electronics Co., Ltd. Network interconnect with reduced congestion
GB2538754B (en) * 2015-05-27 2018-08-29 Displaylink Uk Ltd Single-chip multi-processor communication
CN109271260A (zh) * 2018-08-28 2019-01-25 百度在线网络技术(北京)有限公司 临界区加锁方法、装置、终端及存储介质
US11740811B2 (en) 2021-03-31 2023-08-29 Netapp, Inc. Reseeding a mediator of a cross-site storage solution
US11550679B2 (en) * 2021-03-31 2023-01-10 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11481139B1 (en) 2021-03-31 2022-10-25 Netapp, Inc. Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US11709743B2 (en) 2021-03-31 2023-07-25 Netapp, Inc. Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11934670B2 (en) 2021-03-31 2024-03-19 Netapp, Inc. Performing various operations at the granularity of a consistency group within a cross-site storage solution
US11360867B1 (en) 2021-03-31 2022-06-14 Netapp, Inc. Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
US11409622B1 (en) 2021-04-23 2022-08-09 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
US11893261B2 (en) 2021-05-05 2024-02-06 Netapp, Inc. Usage of OP logs to synchronize across primary and secondary storage clusters of a cross-site distributed storage system and lightweight OP logging
US11892982B2 (en) 2021-10-20 2024-02-06 Netapp, Inc. Facilitating immediate performance of volume resynchronization with the use of passive cache entries
US11907562B2 (en) 2022-07-11 2024-02-20 Netapp, Inc. Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954758A (ja) * 1995-03-31 1997-02-25 Sun Microsyst Inc パケット交換型キャッシュコヒーレントマルチプロセッサシステム用書戻し取消し処理システム
JP2000508147A (ja) * 1997-01-10 2000-06-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信バスシステム
JP2000267935A (ja) * 1999-03-18 2000-09-29 Fujitsu Ltd キヤッシュメモリ装置
JP2001243209A (ja) * 2000-03-01 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> 分散共有メモリシステム及び分散共有メモリシステム制御方法
JP2002269062A (ja) * 2000-12-29 2002-09-20 Hewlett Packard Co <Hp> 要求されるサービスレベルに基づいてトランザクションをルーティングする装置および方法
WO2004034176A2 (en) * 2002-10-08 2004-04-22 Koninklijke Philips Electronics N.V. Integrated circuit and method for establishing transactions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
DE69223304T2 (de) * 1991-09-27 1998-06-18 Sun Microsystems Inc Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US6366590B2 (en) * 1998-03-16 2002-04-02 Sony Corporation Unified interface between an IEEE 1394-1995 serial bus transaction layer and corresponding applications
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
US7065580B1 (en) * 2000-03-31 2006-06-20 Sun Microsystems, Inc. Method and apparatus for a pipelined network
US7003604B2 (en) * 2001-10-04 2006-02-21 Sony Corporation Method of and apparatus for cancelling a pending AV/C notify command
US7013356B2 (en) * 2002-08-30 2006-03-14 Lsi Logic Corporation Methods and structure for preserving lock signals on multiple buses coupled to a multiported device
JP4181839B2 (ja) * 2002-09-30 2008-11-19 キヤノン株式会社 システムコントローラ
US7483370B1 (en) * 2003-12-22 2009-01-27 Extreme Networks, Inc. Methods and systems for hitless switch management module failover and upgrade

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954758A (ja) * 1995-03-31 1997-02-25 Sun Microsyst Inc パケット交換型キャッシュコヒーレントマルチプロセッサシステム用書戻し取消し処理システム
JP2000508147A (ja) * 1997-01-10 2000-06-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信バスシステム
JP2000267935A (ja) * 1999-03-18 2000-09-29 Fujitsu Ltd キヤッシュメモリ装置
JP2001243209A (ja) * 2000-03-01 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> 分散共有メモリシステム及び分散共有メモリシステム制御方法
JP2002269062A (ja) * 2000-12-29 2002-09-20 Hewlett Packard Co <Hp> 要求されるサービスレベルに基づいてトランザクションをルーティングする装置および方法
WO2004034176A2 (en) * 2002-10-08 2004-04-22 Koninklijke Philips Electronics N.V. Integrated circuit and method for establishing transactions
JP2006502650A (ja) * 2002-10-08 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ トランザクションを確立するための集積回路および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172575A (ja) * 2005-12-22 2007-07-05 Samsung Electronics Co Ltd ロックオペレーションを制御するネットワークインターフェイス、このネットワークインターフェイスが含まれたパケットデータ通信オンチップインターコネクトシステムおよびそのネットワークインターフェイスの動作方法
JP4512068B2 (ja) * 2005-12-22 2010-07-28 三星電子株式会社 ロックオペレーションを制御するネットワークインターフェイス、このネットワークインターフェイスが含まれたパケットデータ通信オンチップインターコネクトシステムおよびそのネットワークインターフェイスの動作方法

Also Published As

Publication number Publication date
WO2005103934A1 (en) 2005-11-03
JP4740234B2 (ja) 2011-08-03
CN1947112A (zh) 2007-04-11
CN100538691C (zh) 2009-09-09
KR20070010152A (ko) 2007-01-22
US20070234006A1 (en) 2007-10-04
EP1743251A1 (en) 2007-01-17

Similar Documents

Publication Publication Date Title
JP4740234B2 (ja) 集積回路及びトランザクション発信方法
US10437764B2 (en) Multi protocol communication switch apparatus
JP4638216B2 (ja) オンチップバス
US7366818B2 (en) Integrated circuit comprising a plurality of processing modules and a network and method for exchanging data using same
JP4509248B2 (ja) ネットワーク通信におけるデッドロックを回避するためのコンピュータアーキテクチャ
Daneshtalab et al. Memory-efficient on-chip network with adaptive interfaces
JP2007529808A (ja) 集積回路及び通信サービスマッピング方法
JP2007531101A (ja) 集積回路及びトランザクション中止方法
JP2005516508A (ja) 決定的または調停された制御による非同期クロスバー
EP1733309B1 (en) Integrated circuit and method for transaction retraction
Jiang et al. A lightweight early arbitration method for low-latency asynchronous 2D-mesh NoC's
Heißwolf A scalable and adaptive network on chip for many-core architectures
Hansson et al. An on-chip interconnect and protocol stack for multiple communication paradigms and programming models
Aghaei et al. Network adapter architectures in network on chip: comprehensive literature review
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
Alimi et al. Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction
Song Spatial parallelism in the routers of asynchronous on-chip networks
Veeraprathap et al. Network on chip design and implementation on FPGA with advanced hardware and networking functionalities
Pinkston et al. Smart-pixel implementation of network router deadlock handling mechanisms
Duato Introduction to Network Architectures
Orthner Packet-based transaction interconnect fabric for FPGA systems on chip
Ahn Accelerating communication in on-chip interconnection networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110428

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees