JP2002530744A - 多重レベル接続識別を備えた通信のシステムおよび方法 - Google Patents
多重レベル接続識別を備えた通信のシステムおよび方法Info
- Publication number
- JP2002530744A JP2002530744A JP2000582902A JP2000582902A JP2002530744A JP 2002530744 A JP2002530744 A JP 2002530744A JP 2000582902 A JP2000582902 A JP 2000582902A JP 2000582902 A JP2000582902 A JP 2000582902A JP 2002530744 A JP2002530744 A JP 2002530744A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- function block
- initiator
- target
- connection
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims description 33
- 238000012546 transfer Methods 0.000 claims abstract description 213
- 239000003999 initiator Substances 0.000 claims description 109
- 230000004044 response Effects 0.000 claims description 32
- 230000009471 action Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 136
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 201000002674 obstructive nephropathy Diseases 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
に関する。
なり、複雑さが増している。同時に、電子コンピュータおよび通信システムでは
、物理的なサイズおよび1機能当たりのコストが減少している。4層の超サブミ
クロン補型金属酸化膜半導体(CMOS)技術などの半導体技術における急速な
進歩により、真の「システム・オン・チップ」設計が可能になった。これらの複
雑な設計には、たとえば1つまたは複数のプロセッサ・コア、デジタル信号処理
(DSP)コア、いくつかの通信インターフェース、および特定用途向け論理で
のグラフィックス・サポートを組み込むことができる。システムによっては、こ
れらの非常に複雑なチップのうち1つまたは複数が、相互におよび他のシステム
構成要素と通信しなければならない。単一の複雑なチップ上にあるサブシステム
間で、ならびにシステム・ボード上にあるチップ間で、効率良く通信しなければ
ならないことから、このようなシステムの統合、検証、およびテストを行う上で
重要な問題が新しく発生してくる。サブシステム間およびチップ間の通信に有効
でフレキシブルな方法の利点は、システム構成要素に最小限の再設計を施すだけ
で、他のシステムでも再使用できることである。
の分野に適用されている現在の電子システムが、通信システムとインターフェー
スするどのようなエンティティであってもよい複数のファンクション・ブロック
間で、メモリなどのリソースを共用しなければならないという、機能、コスト、
およびフォーム・ファクタに関する要件を有するという事実に起因している。こ
のようなシステムでは、典型的には、ファンクション・ブロックが異なる性能特
性および要件を有し、通信システムおよび共用リソースが総合的な要件を同時に
満たすものでなければならない。典型的なファンクション・ブロックの主要な要
件は、ファンクション・ブロック間で何桁も異なる可能性のある帯域幅および待
ち時間制約である。それほど大きく異なる制約を同時に満たすためには、通信シ
ステムが高度な予測精度を用意しなければならない。
の方法には、様々な長所および短所がある。このような方法に不可欠な態様は、
様々なサブシステムが相互に提示する通信インターフェースである。1つの方法
は、サブシステムとそれを使用して通信しなければならない各ピア間に、カスタ
マイズされた2地点間インターフェースを決めることである。このカスタマイズ
された方法によって、単純なプロトコル、保証された性能、および関連のないサ
ブシステムへの依存からの分離が行われる。ただし、カスタマイズされたインタ
ーフェースは、その性質上フレキシブルでない。異なるインターフェースを備え
た新しいサブシステムを追加するには、設計のやり直しが必要である。
ことである。多くの標準化されたインターフェースは、事前に確立されたコンピ
ュータ・バス・プロトコルに基づいている。コンピュータ・バスを使用すること
で、バスが十分な性能を備えている限り、多くの異なるファンクション・ブロッ
クをシステムの要求に応じて相互に接続できるため、システム設計をフレキシブ
ルにすることができる。様々なサブシステム間で、バスへのアクセスを割り振る
必要もある。コンピュータ・バスの場合、リソース割振りは典型的にはアービト
レーションと呼ばれる。
構成要素が、バスのプロトコルを使用するのを制約されるということである。場
合によっては、これによってサブシステムの性能が制限される。たとえば、サブ
システムは複数のトランザクション・ストリームを同時に処理することができる
が、バス・プロトコルは同時動作を完全にサポートすることができない。サブシ
ステムが複数のトランザクション・ストリームを処理し、各トランザクション・
ストリームが順序付け制約を有する場合、サブシステムは、ストリーム間を区別
し、ストリーム内の順序を保存するために、送受信したデータのそれぞれの増分
を、ある種のデータ・ストリームのある種の部分で識別する必要がある。これに
は、データの伝送元であるサブシステムを識別することが含まれる。従来から、
このような識別は、特定のサブシステムまたは構成要素によって生成される構成
不能のハードウェア識別子に限定されている。
ム内にある他のトランザクションからのデータでインターリーブできる「スプリ
ット・トランザクション」をサポートすることによって、1トランザクション・
ストリーム内の順序を保存するための限定機能を用意している。このようなバス
では、データは1ストリームのデータに属するものとしてタグが付けられ、その
結果、たとえ順序外れで着信しても識別することができる。これには、受信側の
サブシステムが着信アドレスを復号して、識別情報を抽出する必要がある。
(DRAM)へのアクセスをDRAMのいくつかのクライアント向けに処理する
メモリ制御装置などの、単一の相互接続を介してトランザクションの複数のスト
リームを処理できるサブシステムに関して、動作の真の同時処理をサポートして
いない。DRAM制御装置は、アクセス要求のソース、アクセス要求の優先順位
、順序付け要件などに関係する情報を必要とする場合がある。現在の通信システ
ムは、既存のプロトコルに適合するための余分な負荷をサブシステムにかけるこ
となく、このような情報をデータと共に伝送するようには対応されていない。
めには、既存の通信システムを介して通信を提供するように、追加の知識をサブ
システムに組み入れて設計しなければならない。これにより、サブシステムが後
に新しいサブシステムまたは構成要素と通信する必要が生じた場合に、サブシス
テムはさらに高価になり、フレキシブルでなくなる。したがって既存の通信方法
は、現在の大規模で複雑な電子システムの要件には合致しない。そこで、大規模
で複雑な電子システムのサブシステムが、その性能特性および要件が異なっても
効率よく相互に動作できるようにするための、通信システムおよび機構が望まし
い。
えるための、共用通信バスが含まれる。一実施形態には、追加の知識をサブシス
テムに組み込んで設計することなく、特定のサブシステムの要求に応じて、異な
る詳細なレベルのデータ伝送を識別できるプロトコルが含まれる。
ブロックおよび1つのターゲット・ファンクション・ブロックを含む、いくつか
のファンクション・ブロックが含まれる。イニシエータ・ファンクション・ブロ
ックの中には、ターゲット・ファンクション・ブロックとしても機能できるもの
がある。一実施形態では、イニシエータ・ファンクション・ブロックがイニシエ
ータ・インターフェース・モジュールに結合され、ターゲット・ファンクション
・ブロックが、ターゲット・インターフェース・モジュールに結合される。イニ
シエータ・ファンクション・ブロックおよびターゲット・ファンクション・ブロ
ックはそれぞれのインターフェース・モジュールと通信する。インターフェース
・モジュールは相互に通信する。イニシエータ・ファンクション・ブロックは接
続を確立することによってターゲット・ファンクション・ブロックと通信する。
接続とは、イニシエータ・ファンクション・ブロックとターゲット・ファンクシ
ョン・ブロックとの間でデータを渡すことができる論理状態である。
には、イニシエータ・ファンクション・ブロックとターゲット・ファンクション
・ブロックとの間のデータ転送がその一部である特定の接続を示す、接続識別子
信号が含まれる。接続識別子には、どのファンクション・ブロックが伝送元であ
るか、転送要求の優先順位、および転送順序付け情報などの、接続に関する情報
が含まれる。一実施態様には、接続識別子によって提供される情報サブセットを
提供する、スレッド識別子も含まれる。一実施態様では、スレッド識別子は、イ
ンターフェース・モジュールと接続されたファンクション・ブロックとの間の転
送を識別するローカル範囲の識別子であって、一部の実施態様では、インターフ
ェース・モジュールがファンクション・ブロックを共用通信バスに接続する。
ック間で、そのインターフェース・モジュールを介して情報を転送するグローバ
ル範囲の識別子である。ファンクション・ブロックの中には、接続識別子が提供
するすべての情報を必要とするものもあるが、その他のファンクション・ブロッ
クは、スレッド識別子が提供する情報のサブセットだけしか必要としないことが
ある。
システムが、共用通信バスなどの共用通信リソースを介して相互に通信できるよ
うにするための、通信のシステムおよび方法である。一実施形態では、通信プロ
トコルによって、単一の半導体デバイス上にある複数のファンクション・ブロッ
クが相互に通信できるようにする。他の実施形態では、通信プロトコルを使用し
て、異なる半導体デバイス上にある複数のファンクション・ブロックが、バスな
どの共用オフチップ通信リソースを介して相互に通信できるようにする。
よびデータ・ワイアを備えたパイプライン式の通信バスである。代替の実施形態
には、多重化されたアドレス信号、データ信号、および制御信号を備えた、パイ
プライン式の通信バスが含まれる。前者の実施形態では、余分なワイアを犠牲に
することで、後者の実施形態よりも高い性能および単純な制御が得られる。前者
の実施形態は、ワイアが比較的安価で性能要件が通常高いオンチップ通信に、よ
り適している。後者の実施形態は、アドレス転送とデータ転送で同じワイアを共
用するため、ワイア当たりの転送効率がより高い。後者の実施形態は、パッケー
ジ・ピンおよびボード・トレースによって信号当たりのコストが高くなり、必要
な総合通信性能が通常低いので、半導体デバイス間のチップ間通信により適して
いる。
が、サブシステム102、104、106、108、および110を接続する。
サブシステムは、典型的には、共用バスにインターフェースするためのインター
フェース・モジュールを含むファンクション・ブロックである。サブシステムは
それ自体が、1つまたは複数のファンクション・ブロックを含むことが可能であ
り、一体化されたかまたは物理的に別々のインターフェース・モジュールを含ん
でも含まなくてもよい。一実施形態では、通信バス112によって接続されたサ
ブシステムは、別々の集積回路チップである。サブシステム104は特定用途向
け集積回路(ASIC)であり、これは周知のように、特定の機能を実行するよ
うに設計された集積回路である。サブシステム106はダイナミック・ランダム
・アクセス・メモリ(DRAM)である。サブシステム108は、消去可能プロ
グラム可能読取り専用メモリ(EPROM)である。サブシステム110は、書
替え可能ゲート・アレイ(FPGA)である。サブシステム102は、システム
100で動作するように特別に設計された、フル・カスタム集積回路である。他
の実施形態には、図示されたものと同じタイプまたは図示されていないその他の
タイプの、追加のサブシステムを含めることができる。他の実施形態には、サブ
システム100に図示されているサブシステムよりも少ないサブシステムを含め
ることもできる。集積回路102は、サブシステム102A、102B、102
C、102D、および102Eを含む。ASIC 104は、ファンクション・
ブロック104A、104B、および104Cを含む。FPGA 110は、フ
ァンクション・ブロック110Aおよび110Bを含む。ファンクション・ブロ
ックは、特定機能を実行する特定の論理ブロックであってよい。ファンクション
・ブロックは、集積回路上のメモリ構成要素であってもよい。
の一例である。ファンクション・ブロックが、たとえばファンクション・ブロッ
ク102Eなどの集積回路上にある論理ブロックであってよく、あるいはファン
クション・ブロックが、単一の論理機能を実施するフル・カスタム集積回路10
2などの集積回路であってもよい。
成している。共用通信バス114は、サブシステム間または単一の集積回路上に
あるファンクション・ブロック間の共用通信バスである。図示されたファンクシ
ョン・ブロックの中には、それを介して共用通信バス112または共用通信バス
114との間で信号の送受信を行うインターフェース・モジュールに接続される
ものもある。相互接続115は、インターフェース・モジュールとファンクショ
ン・ブロックとを接続するための、ローカルな2地点間相互接続である。
ンクション・ブロックに接続される。この実施形態では、インターフェース・モ
ジュール120、122、123、および124が、それらの接続されたファン
クション・ブロック(それぞれA、B、C、E、および102)とは物理的に分
離している。インターフェース・モジュール121および125〜128は、本
来それぞれのファンクション・ブロックまたはサブシステムの一部である。10
2Dなどのファンクション・ブロックの中には、専用のインターフェース・モジ
ュールを必要としないものもある。サブシステム、ファンクション・ブロック、
およびインターフェース・モジュールの配置構成はフレキシブルであり、システ
ム設計者によって決められる。
つの基本タイプのブロックとは、イニシエータ、ターゲット、ブリッジ、および
スヌーピングである。典型的なターゲットはメモリ・デバイスであり、典型的な
イニシエータは中央処理装置(CPU)である。ファンクション・ブロックはす
べて、共用通信バス112または共用通信バス114および一実施形態のプロト
コルを介して相互に通信する。イニシエータおよびターゲットのファンクション
・ブロックは、インターフェース・モジュールを介して共用通信バスと通信する
ことができる。イニシエータ・ファンクション・ブロックは、イニシエータ・イ
ンターフェース・モジュールを介して共用通信バスと通信し、ターゲット・ファ
ンクション・ブロックは、ターゲット・インターフェース・モジュールを介して
共用通信バスと通信することができる。
ンクション・ブロック以外のファンクション・ブロックとの間で、読取りおよび
書込み要求の発行および受取りを行う。一実施形態では、イニシエータ・インタ
ーフェース・モジュールは典型的には、CPU、デジタル信号処理(DSP)コ
ア、またはダイレクト・メモリ・アクセス(DMA)エンジンに接続される。
示す構成図である。イニシエータ・インターフェース・モジュール800には、
クロック・ジェネレータ802、データ・フロー・ブロック806、アービトレ
ータ・ブロック804、アドレス/コマンド復号ブロック808、構成レジスタ
810、およびシンクロナイザ812が含まれる。イニシエータ・インターフェ
ース・モジュール800は、共用通信バス814およびイニシエータ・ファンク
ション・ブロック816に接続される。一実施形態では、共用通信バス814は
、図1でバス112が実行していたようにサブシステムを接続する共用通信バス
である。
816が共用通信バス814に対して同期的であるが異なる周波数で動作すると
きに、クロック分割を実行するのに使用される。イニシエータ・ファンクション
・ブロック816が通信バス814に対して非同期的に動作する場合、クロック
・ジェネレータ802は使用されず、シンクロナイザ812が使用される。アー
ビトレータ・ブロック804は、共用通信バス814にアクセスするためのアー
ビトレーションを実行する。一実施形態では、アービトレータ・モジュール80
4が、第1レベルのアービトレーションの事前に割り振られた帯域幅アスペクト
を管理する論理回路と、第2レベルのアービトレーションを管理する論理回路と
を含む、多重レベル・アービトレーション・スキームが使用される。データ・フ
ロー・ブロック806には、共用通信バス814とイニシエータ・ファンクショ
ン・ブロック816との間のトランザクション管理に関連付けられた制御論理に
加えて、共用通信バス814とイニシエータ・ファンクション・ブロック816
との間のデータ・フロー先入れ先出し(FIFO)バッファが含まれる。FIF
Oバッファは、アドレス・ビットとデータ・ビットの両方を、共用通信バス81
4とイニシエータ・ファンクション・ブロック816との間で段階的に転送する
。一実施形態では、共用通信バス814がメモリ・マップ済みプロトコルを実施
する。基礎となるコンピュータ・バス・プロトコルに特有の詳細は本発明にとっ
て重要ではないが、これは、基礎となるコンピュータ・バス・プロトコルがいく
つかの動作の同時処理をサポートしていることを条件とする。本発明で使用する
バス・プロトコルの好ましい実施形態は、再試行トランザクションまたは分割ト
ランザクションをサポートするものであり、これは、これらのプロトコルが、他
の関連のないトランザクションに属している転送を実行させるために、多重サイ
クル・トランザクションを中断することによって、動作の同時処理を送達するた
めのメカニズムを提供するためである。イニシエータが以前にイニシエータによ
って要求されたデータを返すために長い待ち時間ターゲットを待つ間に、独立し
たトランザクションがバスを使用できるため、これらのプロトコルはより高い転
送効率を可能にすることができる。
ブロック816に関連付けられたレジスタに対して書込みが実行されるかどうか
を判定するために、共用通信バス814上でアドレスを復号する。アドレス/コ
マンド復号ブロック808は、着信コマンドも復号する。構成レジスタ810は
、帯域幅割振りおよびクライアント・アドレス・ベースを含むモジュール800
の状態を判定するビットを格納する。1つのレジスタ810が、イニシエータ・
ファンクション・ブロック816を固有に識別するビット・セットである識別番
号(ID)を格納する。
す構成図である。ターゲット・インターフェース・モジュール900は、共用通
信バス914およびターゲット・ファンクション・ブロック918に接続される
。ターゲット・インターフェース・モジュール900は、クロック・ジェネレー
タ902、データ・フロー・ブロック906、アドレス/コマンド復号ブロック
908、シンクロナイザ912、および状態制御ブロック内の状態レジスタ91
6を含む。イニシエータ・モジュール800のブロックと同様に命名されたター
ゲット・インターフェース・モジュール900のブロックは、イニシエータ・ブ
ロック800に関して説明した方法とほぼ同じ方法で機能する。状態レジスタお
よび状態制御ブロック916は、たとえばクライアント・アドレス・ベースおよ
びターゲット・ファンクション・ブロック918の識別子を格納するレジスタを
含む。
シエータ・ファンクション・ブロックが、他のファンクション・ブロックまたは
サブシステムからの信号に応答する機能、ならびに他のファンクション・ブロッ
クまたはサブシステムに信号を送ることによってアクションを開始する機能を有
するので、ターゲット・ファンクション・ブロックとしても動作可能である。
成図である。図4は、多重レベル接続識別を図示するのに役立つ。システム10
00にはイニシエータ・ファンクション・ブロック1002が含まれ、これが相
互接続1010によってイニシエータ・インターフェース・モジュール1004
に接続される。イニシエータ・インターフェース・モジュール1004は、共用
通信バス1012によってターゲット・インターフェース・モジュール1006
に接続される。ターゲット・インターフェース・モジュール1006は相互接続
1010によってターゲット・ファンクション・ブロック1008に接続される
。典型的に共用通信バス1012は、図1の共用通信バス112または図1の共
用通信バス114に類似している。相互接続1010は、ファンクション・ブロ
ックとインターフェース・モジュールとを接続する共用ではない2地点間相互接
続であるので、典型的には図1の相互接続115に類似している。典型的に相互
接続1010は、そのローカルな性質から共用通信バス1012よりも物理的に
短い。以下でより詳細に説明するように、システム1000は、特定ファンクシ
ョン・ブロックの要件に応じて2つの異なるレベルの接続識別を使用する。「グ
ローバル」接続識別情報は共用通信バス1012で送信され、「ローカル」接続
情報またはスレッド識別情報は、相互接続1010で送信される。
用通信バス1012は、インターフェース・モジュールまたはファンクション・
ブロックであってもよいエンティティA、B、C、D、およびEに接続されてい
る。共用通信バス1012は、ワイア・セットからなる。データ・ワイア230
は、共用通信バス1012上にあるファンクション・ブロック間に、直接かつ効
率の高いデータ・トラフィック移送を提供する。一実施形態では、共用通信バス
1012が、別々のアドレス・ワイア、データ・ワイア、および接続識別ワイア
を使用する、フレーム化、時分割多重化、完全パイプライン式の、固定待ち時間
通信プロトコルである、バス・プロトコルをサポートする。このバス・プロトコ
ルは、高度な動作の同時処理を可能にするために転送の細粒度インターリーブを
サポートし、待ち時間が長いかまたは変化するターゲット・デバイスからのトラ
ンザクション読取りを効率良く実施するために、再試行トランザクションを使用
する。共用通信バス1012にアクセスするのに使用されるアービトレーション
方法についての詳細は、本発明を理解する上では必要でない。イニシエータ・フ
ァンクション・ブロックがコマンドおよびアドレスを駆動してからターゲット・
ファンクション・ブロックが応答を駆動するまでの遅延が、共用通信バス101
2の待ち時間として知られている。バス・プロトコルは、バスにアクセスするた
めの、多くのイニシエータ・ファンクション・ブロックおよびターゲット・ファ
ンクション・ブロック間でのアービトレーションをサポートする。図示された実
施形態では、共用通信バス1012にアクセスするためのアービトレーションが
、図4のモジュール1004などのイニシエータ・インターフェース・モジュー
ルによって実行される。他の実施形態では、アービトレーションは、ファンクシ
ョン・ブロックによって直接実行されるか、またはインターフェース・モジュー
ルとファンクション・ブロックとの組み合わせによって実行される。一実施形態
では、バス認可は1パイプライン式バス・サイクルの間持続する。プロトコルは
、単一のファンクション・ブロックが連続するバス・サイクルの間、バス所有者
になることを禁止しないが、そのファンクション・ブロックが権利を得るために
連続するサイクルでのアービトレーションを首尾良く勝ち取ることを要求する。
び制御ワイアが含まれる。他の実施形態では、単数または複数のワイアを共用す
る多重化されたアドレス信号、データ信号、および制御信号を含むこともできる
。このような実施形態では、ワイアがアドレス転送とデータ転送で共用されるた
め、1ワイア当たりの転送効率が高くなる。共用通信バス1012の多重化され
ていない実施形態は、ワイアが相対的に安価であり、通常は単一の集積回路チッ
プに関する性能要件が高いことにより、単一の集積回路チップ上にあるファンク
ション・ブロック間での通信に、より適している場合がある。
時間基準信号を提供する、グローバル信号ワイアである。リセット線222は、
接続された各ファンクション・ブロックを強制的に、システム構成が開始できる
デフォルト状態にするグローバル信号ワイアである。コマンド線224は、イニ
シエータ・バス所有者によって駆動されるマルチビット信号を搬送する。様々な
実施形態で、マルチビット・コマンド信号は様々なタイプの情報を搬送すること
ができる。たとえばコマンド信号は、転送タイプ、接続持続期間に関する情報、
ならびに接続中に予測されるイニシエータおよびターゲットの挙動を示すことが
できる。一実施形態では、コマンド信号に、接続の初めおよび終わりを示す1つ
または複数のビットが含まれる。一実施形態では、たとえば1つのビットが接続
状況を示すことができる。ビットがゼロの場合、現在の転送は接続の最終転送で
ある。ゼロの接続状況ビットを受け取った後、次に論理ビットである接続状況ビ
ットを受け取った場合、その転送は新しくオープンした接続の最初の転送である
ことを示す。その後に続けて1つずつ接続状況ビットを受け取れば、接続が依然
としてオープンになっていることを示す。
転送が含まれるが、これらに限定されるものではない。アドレス線228は、現
在の転送中に読み取られるかまたは書き込まれるオブジェクトのアドレスを指定
するために、イニシエータ・バス所有者によって駆動されるマルチビット信号を
搬送する。応答線232は、現在の転送の状況を示すために、ターゲットによっ
て駆動されるマルチビット信号を搬送する。サポートされる応答には次のような
応答が含まれるが、これらに限定されるものではない。NULL応答は、おそら
くアドレスがどんなターゲットも選択しないため、現在の転送が打ち切られるこ
とを示す。データ有効受入れ(DVA)応答は、読取りの場合、要求されたデー
タをターゲットがデータ線230で返していることを示す。書込みの場合、DV
A応答は、ターゲットがデータ線230から提供されたデータを受け入れている
ことを示す。BUSY応答は、選択されたターゲットにリソース衝突があり、現
在の要求を処理できないことを示す。この場合、イニシエータは転送を後にもう
一度再試行しなければならない。RETRY応答は、選択されたターゲットが要
求された読取りデータを適時に送達できないことを示すが、後にそのように実行
することを約束する。この場合、イニシエータは後に転送を再試行しなければな
らない。
かを示すために、イニシエータ・バス所有者によって駆動されたマルチビット信
号を搬送する。接続とはイニシエータによって確立された、データがイニシエー
タと関連付けられたターゲットとの間を通過す論理状態である。典型的にはCO
NNIDが転送を開始し、転送が処理されなければならない順序に関する情報を
順序付けする、ファンクション・ブロックのアイデンティティを含む情報を伝送
する。一実施形態では、CONNIDによって搬送される情報には、他の転送に
関する転送の優先順位に関する情報が含まれる。一実施形態では、CONNID
は8ビット・コードである。イニシエータ・インターフェース・モジュールは、
接続の最初のアドレス転送と共に固有のCONNIDを送信する。この接続に関
連付けられたその後の転送(たとえばデータ転送)がCONNID値を提供し、
その結果、送信者および受信者(ならびに共用通信バス1012上の転送を監視
する任意のデバイス)は、接続に関連付けられた転送を明白に識別することがで
きる。CONNIDを使用する一利点は、異なるトランザクションに属する転送
を、複数のデバイス間でサイクルごとに自由裁量によってインターリーブできる
ことである。一実施形態では、共用通信バス1012が、正しいシステム動作を
保証するためにトランザクションを介した厳しい制御を必要とする、完全なパイ
プライン式プロトコルを実施する。CONNIDを使用しないと、特定の接続に
関連付けられた転送が識別されないため、特定トランザクション内での順序付け
制約に違反する可能性がある。
ドがすでに発信されてしまっていることがあるため、コマンドが完了するまで完
全制御できるメカニズムを提供することが不可欠である。現在このような制御が
なければ、あいまいなシステム挙動が生じる可能性がある。たとえば、単一のイ
ニシエータ・インターフェース・モジュールが一連の従属する読取りおよび書込
みコマンドを発行すると、そのコマンドの1つに対するBUSY応答により、そ
の後のコマンドが誤ったデータを返す可能性がある。このような問題に対する解
決策の1つが、従属コマンドのオーバーラップを避けることである。ただしこの
解決策は、正しい結果を保証するために、あらゆる従属コマンドの待ち時間を増
加させてしまう。本発明は、部分的にCONNID信号を使用し、従属コマンド
のオーバーラップを可能にするものである。したがって、CONNIDを使用す
ることにより、システムの性能および効率が改善される。本発明のCONNID
の他の利点は、共用ファンクション・ブロックが、接続間で異なる可能性のある
サービス保証の質に基づいて要求に応答できるようにするため、通信システムの
予測精度が高まることである。たとえば、コンピュータ・ディスプレイを動作さ
せるように要求するデータの場合、遅延が発生するとディスプレイにちらつきを
引き起こすので、予測不可能な遅延は許されない。したがって、CONNIDを
使用してディスプレイ制御装置からのデータ要求に優先順位をつけることにより
、ディスプレイ制御装置から共通リソースへの要求が他の要求より前に処理され
る。本発明は、システム性能を再調整するために、CONNIDをフレキシブル
に再構成することも可能である。
式書込みトランザクションを示すタイミング図である。図5を参照することもで
きる。図6に示されるように、単一のパイプライン式バス転送には、アービトレ
ーション・サイクル(図示せず)、それに続くコマンド/アドレス/CONNI
D(CMD 324/ADDR 328/CONNID 326)サイクル(要
求またはREQサイクルと呼ばれる)、および最後のDATA 330/RES
P 342サイクル(応答またはRESPサイクルと呼ばれる)が含まれる。一
実施形態では、システム性能を最適化するために、REQサイクルとRESPサ
イクルとの間のサイクル数が、動作頻度およびモジュール待ち時間に基づいて、
システム実施時間に選択される。一実施形態では、REQ−RESP呼出し時間
が2サイクルであって、図6のDATA 330信号より上に符号付けされてい
る。したがって、完全な転送時間には、4つの共用通信バス1012サイクル、
アービトレーション、要求、遅延、および応答が含まれる。
Qフィールド340を駆動して、アドレスADDRE0にWRITE転送を要求
する。このプロセスが転送要求発行と呼ばれる。一実施形態では、ADDRE0
の外部アドレス部分を復号することによって書込みデータを受け取るために、単
一のターゲットが選択される。サイクル3(その後のREQ−RESP待ち時間
)では、イニシエータEがDATAワイア上の書込みデータDATAE0を駆動
し、それと同時に、選択されたターゲットAがDVAコードを伴うRESPワイ
ア342を駆動して、Aが書込みデータを受け入れることを示す。サイクル3の
終わりには、ターゲットAが書込みデータを獲得しており、イニシエータEは、
ターゲットAが書込みデータを受け入れることができたことを検出するため、転
送は首尾良く完了したということである。
イン式WRITE転送(アドレスADDRE1)をターゲットAに発行する。こ
の転送に対する書込みデータおよびターゲット応答は、双方ともサイクル5で発
生し、ここで転送は首尾良く完了する。多くのシステムおよびサブシステムの正
しい動作は、関連する転送の正しい順序付けに依拠する。したがって、正しいシ
ステム動作には、サイクル3のWRITEがサイクル1のWRITE転送の後に
完了することが必要な場合がある。図6では、CONNIDフィールドが、強制
的に正しい順序付けをさせるのに使用できる転送の原点に関する非常に重要な情
報を搬送する。順序付け制約の好ましい実施形態は、たとえパイプライン式の転
送中であっても、正しい順序付けを保証するために、イニシエータおよびターゲ
ットが協働することである。これは、転送のパイプライン化によって転送セット
(おそらく単一のトランザクション)の総待ち時間が減少し、その結果(待ち時
間が減少し使用可能帯域幅が増加することによって)システム性能が向上するの
で重要である。
発行で未リタイアの転送である場合、または b)CONNIDと一致しており、古い未リタイアのすべての転送が、現在
転送Yと同じターゲットに発行されている場合、転送Yを発行することができる
。この規定の下で発行された場合、転送Yは、古い未リタイアの転送とパイプラ
イン化されているとみなされる。 2.イニシエータが転送をリタイアさせることのないような方法で転送Xに応
答するターゲットは、Xとパイプライン化されている転送Xと同じCONNID
を使用して、その後のすべての転送に対してBUSY応答しなければならない。
たとえXが完了する前にYが発行されても、Xとパイプライン化されているとは
みなされないことに留意されたい。この状況が図7に図示されている。ターゲッ
トAが、サイクル1からのWRITE ADDRE0に関連付けられたDATA
E0の受入れを一時的に妨げるリソース衝突を有する場合、その後AはBUSY
応答する。前述のアルゴリズムのステップ2では、REQ−RESP待ち時間が
渡されるまではイニシエータがリソースの衝突について知ることができないこと
から、Aは、同じCONNID(この場合はCONNID 1)からの任意の他
のパイプライン式転送も(BUSYを使用して)拒絶する必要がある。したがっ
て、ターゲットAは、同じCONNIDを有し、イニシエータが第1の書込み転
送へのBUSY応答を解釈する前に発行されたものであり、したがってパイプラ
イン式転送であるので、サイクル3で発行されるWRITE ADDRE1にB
USY応答しなければならない。さらに、WRITE ADDRE0転送の第2
の試行(サイクル4で発行される)は、たとえサイクル3のWRITE ADD
RE1転送とオーバーラップしていても、パイプライン式転送ではないので、完
了することができる。
かおよびどのCONNIDを提示しているかによって、サイクル4の書込みが任
意の以前の転送とパイプラインされていないと判定することに留意されたい。ア
ルゴリズムのステップ1は、イニシエータが、所与の接続内で最も古い未発行で
未リタイアの転送のみを発行することを保証する。したがって、いったん第1の
WRITE ADDRE0がサイクル3でBUSY応答を受け取ると、その後は
発行されないため、発行資格のある唯一のCONNID=1転送となる。したが
って、初めのサイクル1転送がBUSY応答を受け取り、REQ−RESP待ち
時間が2サイクルであることを考えると、正しく動作しているイニシエータがサ
イクル4でパイプライン式転送を発行するのは不可能である。
時間順に順序付けされた待ち行列を維持する。各転送は待ち行列に入るときに、
未発行および未リタイアとしてマークされる。待ち行列内で直前のエントリが未
リタイアであり同じターゲットを対象としている場合は、パイプライン済みとし
てもマークされるが、そうでない場合は、新しい転送が未パイプラインとしてマ
ークされる。転送が発行されるたびに、発行済みとしてマークされる。転送が完
了すると(すなわちRESPサイクルが終了すると)、転送は未発行とマークさ
れる。転送が首尾良く完了するとリタイア済みとしてマークされ、待ち行列から
削除することができる。転送が首尾良く完了しないと、典型的には再試行される
ことになり、したがって再発行のためにアービトレーションに戻ることができる
。転送が首尾良く完了せず、再試行もされない場合は、その後、次の転送が存在
すれば、それが発行済みとしてマークされなくなるまでは、リタイア済みとして
マークしてはならない。この制約によって、イニシエータ論理が順序外れで発行
するのを防ぐ。最も古い未リタイアの転送が発行されると、これは発行済みとし
てマークされる。そのため、2番目に古い未リタイアの転送は、パイプライン済
みとしてマークされていれば、最も古い転送が完了するまで(すなわち未発行で
あるとマークされるまで)発行をアービトレーションすることができる。
る、時間順に順序付けされた待ち行列を維持する。待ち行列はバス・クロックと
は別に動作するため、待ち行列内で最も古いエントリは各バス・サイクルでリタ
イアし、同時に、新しいエントリが各バス・サイクルの待ち行列に加えられる。
現在のREQ位相からのCONNIDが新しい待ち行列エントリにコピーされる
。さらに、現在のREQ位相に(外部アドレスを介して)ターゲットを選択する
有効な転送が含まれる場合は、新しい待ち行列エントリ内の「第1」フィールド
および「ビジー」フィールドを設定することができるが、そうでない場合は第1
ビットおよびビジー・ビットは消去される。第1ビットは、現在の転送が(リソ
ースの衝突によって)BUSY応答を受け取り、待ち行列内にある前の転送が同
じCONNIDを持っておらず、その第1ビット・セットを有する場合に、設定
されることになる。第1ビットは、現在の転送が、強制的に順序付けするために
BUSY応答される必要のない、潜在的にパイプライン式の転送の第1セットで
あることを示唆するものである。ビジー・ビットは、ターゲットにリソース衝突
があるか、または待ち行列内にある前の転送のうち1つが同じCONNIDを有
し、第1ビット・セットを有する場合に、設定される。この論理は、REQ−R
ESPのパイプライン待ち時間を強制することで、イニシエータが最初にマーク
された転送へのBUSY応答に反応できるまでは、ターゲットがパイプライン式
転送を受け入れないことを保証するものである。
とで、トランザクションの順序付けを維持しながら、転送をパイプライン化する
機能(これによって、接続当たりの帯域幅が増加し、総トランザクション待ち時
間が減少する)を提供する。したがってこのアルゴリズムは、接続当たりの高性
能を容易にするものである。パイプライン式バスの基本的なインターリーブ構造
によって、複数の論理トランザクションが互いにオーバーラップすることが可能
であり、その結果システム性能の改善が可能となり、接続当たりのピーク帯域幅
を超えるシステム帯域幅を持続させることができる。たとえば、図8は、イニシ
エータEがあらゆる他のバス・サイクルでターゲットAにデータを転送する必要
があり、イニシエータDがあらゆる他のバス・サイクルでターゲットBにデータ
を要求する、システム構成を実証する図である。通信システムは微細なインター
リーブ(バス・サイクル当たり)をサポートするので、トランザクションはファ
ンクション・ブロックの本来のデータ速度で発行する個々の転送からなり、これ
によって、ファンクション・ブロックにおけるバッファリング要件が少なくなり
、システム・コストが削減される。この例の総システム帯域幅は、任意のファン
クション・ブロックのピーク帯域幅の2倍であるため、高いシステム性能が実現
する。
のである。第1に、通信識別子は、ターゲットが、どの要求で順序どおりの動作
を保持することを拒絶しなければならないかを選択できるようにする。システム
は、同じCONNIDを有する転送間で順序付けを保証するだけでよく、そのた
めにターゲットはパイプライン式転送だけを(BUSYを使用して)拒絶すれば
よい。これは、ターゲットがたとえ特定のCONNIDを拒絶していても、他の
CONNID値が示された転送を受け入れることができるという意味である。こ
の状況は図9に示されており、イニシエータDからのインターリーブされた読取
り転送を、図7のパイプライン式の書込み転送に追加するものである。図9に示
した4つの転送はすべてターゲットAを選択し、そのAは、サイクル1で発行す
るWRITE ADDRE0が首尾良く完了するのを妨げるリソース衝突を有す
る。第1の書込みを拒絶すると、Aがサイクル4までCONNID 1から任意
の他の転送を受け入れることを妨げるが、Aが十分なリソースを有する場合、サ
イクル2の関連のないREAD ADDRD0を受け入れることができる。した
がって、(ターゲットAが接続を区別できない場合のような)無駄になるバス・
サイクルの数が減少するため、全体的なシステム効率が上昇する。
選択させることができる。ターゲットは、CONNID値に対する転送優先順位
などの手段を関連付けることができるので、CONNID値とターゲットの内部
状態との組み合わせに基づいて、どの要求に対して作用するかを決定する。たと
えば、ターゲットは優先順位の異なる転送要求を格納するために、別々の待ち行
列を有する場合がある。図9を参照すると、ターゲットは、優先順位の低い要求
(奇数のCONNIDで示される)用の待ち行列と、優先順位の高い要求(偶数
のCONNIDで示される)用の待ち行列とを有する場合がある。したがって、
サイクル1のCONNID 1 WRITE ADDRE0要求は、優先順位の
低い待ち行列が一杯であると拒絶されるが、CONNID 2 READ AD
DRD0転送は、使用可能な優先順位の高い待ち行列リソースに基づいて、首尾
良く完了することができる。このような転送優先順位の違いは、高度に統合され
た電子システムでは非常に一般的であり、品質の高いサービスを優先順位の高い
転送要求に送達するターゲットの機能によって、システム全体の予測精度が大幅
に向上する。
数のCONNID値からの同時の転送要求を積極的に満たすことができる。した
がって、同じターゲットとの間で複数の論理トランザクションを交信することが
できるが、ただし、別々のCONNID値を有することを条件とする。したがっ
て、本発明は、1つのターゲット・ファンクション・ブロックについて複数の接
続をサポートする。
示する機能を必要とする場合がある。このような機能は、2つのターゲット間で
データを転送する、ダイレクト・メモリ・アクセス(DMA)デバイスなどのイ
ニシエータにとって非常に有用である。このような応用例では、DMAイニシエ
ータは、第1のCONNIDを使用して、読取りトランザクションをデータの発
信元である第1のターゲットに提示し、さらに第2のCONNIDを使用して、
書込みトランザクションをデータの宛先である第2のターゲットに提示する。転
送レベルで、読取り転送および書込み転送をインターリーブすることができる。
これによって、DMAイニシエータ内のデータ記憶域容量が減少し、システム・
コストが削減される。このような配置構成が図10に示されている。ここでイニ
シエータEは、ターゲットAからのパイプライン式読取り転送と、ターゲットB
へのパイプライン式書込み転送とをインターリーブする。したがって、本発明は
、1つのイニシエータ・ファンクション・ブロックについて複数の接続をサポー
トする。
必要な制御構造は単純であり、効率の良い微細な転送のインターリーブを提供し
ない従来のプロトコルに関連付けられたデータ・バッファリング領域よりも、少
ない領域しか必要としない。したがって本発明は、通信システムの領域および複
雑さを最小限にすると同時に、高い性能およびフレキシビリティを発揮するもの
である。
小にするために、典型的には特定のイニシエータ・トランザクションに関連付け
られたCONNID値を選択しなければならない。システム設計時に特有のCO
NNID値を選択することが有用であり、その結果、その値は固有であることが
保証可能であって、比較および他の動作を簡単にするために順序付けることがで
きる。さらに、システムの性能および予測精度のアスペクトを変更できるように
、通信動作中にCONNID値を変更できることがしばしば有用である。本発明
の好ましい実施形態は、CONNID値をファンクション・ブロックのROMま
たはRAMリソース内に格納することによって、フレキシブルなシステム構成を
可能にし、その結果、システム構築時またはシステム実行時のどちらでも容易に
再構成することができる。
示す図である。相互接続1010には、図5を参照しながら説明したプロトコル
と比較される追加の信号が含まれる。以下で説明するように、追加信号の中には
、相互接続1010のような2地点間相互接続を介して送られる信号として特に
有用なものがある。相互接続1010のプロトコルは、専用(非共用)の相互接
続を介したマスター・エンティティ1102とスレーブ・エンティティ1104
との間の2地点間転送を制御する。図4を参照すると、マスタ・エンティティは
たとえばイニシエータ・ファンクション・ブロック1002またはターゲット・
インターフェース・モジュール1006であってよい。スレーブ・エンティティ
は、たとえばイニシエータ・インターフェース・モジュール1004またはター
ゲット・ファンクション・ブロック1008であってよい。
は、後に、丸括弧または角括弧で囲まれた記号が続くものもある。記号とは、次
のものである。 (I)この信号はオプションであり、独立して構成可能である。 (A)この信号は、同じ記号を有する信号とともに構成されなければならな
い。 (AI)この信号は、(A)インターフェース・モジュールが存在する場合
は、独立して構成可能である。 [#]最大信号幅である。
マンド(Cmd)信号は、バス上の転送タイプを示す。コマンドは、データとは
無関係に発行することができる。アドレス(Addr)信号は、典型的にはイニ
シエータ・ファンクション・ブロックがアクセスしようとする特定のリソースを
示すものである。要求受入れ(ReqAccept)はハンドシェイク信号であ
り、これによってスレーブ1104は、マスター1102が1つの転送からCm
d、Addr、およびDataOutをリリースし、それらを他の転送用に再使
用できるようにする。スレーブ1104がビジーであり要求された転送に参加で
きない場合、マスター1102はCmd、Addr、およびDataOutの提
示を継続しなければならない。DataOutは、典型的には書込み転送におい
て、マスターからスレーブに送信されたデータである。DataInは、典型的
には読取りデータを搬送する。
02に送信された信号である。Respは、スレーブ1104によって受け取ら
れた転送要求が処理されたことを示す。応答受入れ(RespAccept)は
、マスターがスレーブのRespおよびDataInのリリースを可能にするも
のであるかどうかを示すのに使用される、ハンドシェイク信号である。
qAccept、Resp、DataIn、およびRespAcceptが、イ
ンターフェース・モジュール信号の基本セットを形成する。ファンクション・ブ
ロックの中には、この基本セットが通信目的に適しているものもある。
る場合がある。一実施形態では、Widthは、転送の幅を示す3ビット信号で
あり、可変幅の転送を含む接続で有用である。Burstはマルチビット信号で
あり、接続内で個々のコマンドを関連付けることができる。Burstは、今後
の転送数、および予測される任意のアドレス・パターンなど、将来の転送の性質
を示すものである。Burstには標準のエンド・マーカーがある。Burst
フィールドの一部のビットは、ユーザ定義フィールド用に予約されるため、通信
は、接続内にある特有のプロトコルの一部詳細について知らなくてもかまわない
。
である。イニシエータまたはターゲットのファンクション・ブロックによって生
成される割込みおよびエラー信号が図示されているが、その機能性の詳細は特定
ファンクション・ブロックの性質によって異なり、本発明を理解する上で重要で
はない。
信号であり、スレーブ1104用に意図された現在のトランザクションに関連付
けられたスレッド番号を提供する。特定のスレッドIDで実行されるすべてのコ
マンドは、相互に関しては順序どおりに実行しなければならないが、他のスレッ
ドからのコマンドに関しては順序外れで実行することができる。応答スレッド識
別子(RespThreadID)は、現在の応答に関連付けられたスレッド番
号を提供する。スレッド内の応答は他のスレッドに関して順序外れで返される場
合があるので、RespThreadIDは、どのスレッドのコマンドに応答す
るのかを識別する必要がある。一実施形態では、ReqThreadIDおよび
RespThreadIDはオプションの信号であるが、使用する場合は両方と
も使用しなければならない。
ーに対して、ある種のスレッドに関連付けられたいずれかの新しい要求が実行で
きないことを示せるようにするものである。一実施形態では、ReqThrea
dBusy信号は、スレッド当たり1つの信号を有するベクトルであり、アサー
トされた信号は、関連付けられたスレッドがビジーであることを示す。
ーブに対して、ある種のスレッドに関連付けられたいずれかの(たとえば読取り
に関する)応答が実行できないことを示せるようにするものである。RespT
hreadBusy信号は、スレッド当たり1つの信号を有するベクトルであり
、アサートされた信号は、関連付けられたスレッドがビジーであることを示す。
トランザクションに関連付けられたCONNIDを提供する。CONNIDは、
それによってシステム・エンティティが特定のトランザクションをシステム・エ
ンティティに関連付けることができるメカニズムを提供する。CONNIDの使
用法の1つは、様々なイニシエータ間で要求の優先順位を確立することである。
他の使用法は、アクションまたはデータ転送を、トランザクション要求で提示さ
れたアドレスではなく、イニシエータ・アイデンティティに関連付けることであ
る。
ead IDに2地点間識別またはよりローカルな識別を提供する。Threa
d IDは、インターフェース・モジュールとその接続されたファンクション・
ブロックとの間の転送を単純に識別するローカル範囲の識別子である。対照的に
、CONNIDは、2つのインターフェース・モジュール(および必要であれば
それらの接続されたファンクション・ブロック)間の転送を識別するグローバル
範囲の識別子である。
ンクション・ブロック内のテーブルに直接インデックス付けできるように十分小
さいものでなければならない。対照的に、通常システム内には、インターフェー
ス・モジュールが同時に受け入れるように調整されている数よりも多くのCON
NIDがある。ThreadIDの代わりにCONNIDを使用するには、返さ
れたCONNIDを特定の要求またはバッファ・エントリと関連付けるために、
インターフェース・モジュール内に費用のかかる突き合わせ論理が必要である。
ータ・リンク層)の概念であり、これに対してCONNIDは、よりレベル3(
移送/セッション層)の概念に似ている。ファンクション・ブロックの中には、
レベル2でのみ動作するものもあるため、ファンクション・ブロックまたはその
インターフェース・モジュールに、レベル3のリソースを処理する費用を負担さ
せることは望ましくない。あるいは、ファンクション・ブロックの中にはレベル
3の接続機能を必要とするものもあるため、この場合は、CONNIDをファン
クション・ブロックに渡すことが実用的である。
ース・モジュール1004と1006との間で転送される場合、固有である必要
がある。CONNIDは、相互接続1010などのローカル相互接続を介して送
ることができる。ただし多くの場合、ファンクション・ブロックとそのインター
フェース・モジュールとの間でThread IDのみを使用する方がかなり効
率的である。たとえば、イニシエータ・ファンクション・ブロック1002は、
CONNIDによって提供されるすべての情報は必要としない場合がある。また
、システムによっては、同じCONNIDを備えた同一のイニシエータ・ファン
クション・ブロック1002が複数存在するため、イニシエータ・インターフェ
ース・モジュール1004内の論理が、「ローカル」CONNIDを固有の「グ
ローバル」CONNIDに変換しない限り、転送を受け取る特定のターゲット・
ファンクション・ブロック1008には、実際にはそれがどの接続の一部である
かがわからないことになる。インターフェース・モジュール内でのこのような変
換機能の設計および実施は、複雑で費用のかかるものである。このような場合、
CONNIDは、共用通信バス1012を介してインターフェース・モジュール
間で送られる可能性があり、Thread IDはファンクション・ブロックと
インターフェース・モジュールとの間で送られる。
NNIDとの間に、1対1の静的対応が存在する場合がある。たとえば、Thr
ead IDが「1」の場合、特定のインターフェース・モジュールに単一のC
ONNIDがマッピングされ、同一のファンクション・ブロックが複数あるとい
う問題は解決される。
NIDとの間に、1対1の動的対応が存在する。ターゲット・ファンクション・
ブロックが2つの同時スレッドをサポートしている場合、ターゲット・インター
フェース・モジュールはオープン接続のCONNIDを獲得し、それを必要に応
じてスレッドに関連付ける。たとえば、ターゲット・インターフェース・モジュ
ールはCONNID「7」を受け取った後、CONNID 7をスレッド「0」
にマッピングする。その後、接続7が閉じるまで、CONNID 7を伴うすべ
ての転送がスレッド0に関連付けられる。
の同じダイレクト・メモリ・アクセス(DMA)エンジンがあると考えてみる。
図12では、要素1202は同一のDMAエンジンであり、それぞれがイニシエ
ータ・インターフェース・モジュール1204に接続される。イニシエータ・イ
ンターフェース・モジュール1204は共用通信バス1212に接続される。タ
ーゲット・インターフェース・モジュール1206も共用通信バス1212に接
続され、バス1212からのデータをターゲット・ファンクション・ブロックで
あるDRAM制御装置1208に伝送する。ターゲット・インターフェース・モ
ジュール1206は相互接続1214によってDRAM制御装置1208に接続
される。DRAM制御装置1208が、DRAM 1213へのアクセスを制御
する。
イニシエータ・ファンクション・ブロックの一例である。DMAエンジンはソフ
トウェアによってプログラムされると、ターゲットとして作用する。その後、D
MAエンジンはイニシエータとなる。DMAエンジンは読取り動作および書込み
動作の両方を実行するため、2つの接続を単一のDMAエンジンに関連付けるこ
とができる。DMAエンジン内で何らかのバッファリングが使用可能であれば、
読取り動作および書込み動作が減結合され、その結果、どちらのタイプの動作も
同時に実行することができる。待ち時間の長い記憶デバイスから読取りが発生す
る可能性があり、書込み動作がデータを書き込む前に、読取りデータをDMAエ
ンジン上のバッファに入れる必要がある。一実施形態では、それぞれのDMAエ
ンジン1202がThread IDを使用して読み取りストリームを識別し、
別のThread IDを使用して書込みストリームを識別する。DMAエンジ
ンは、他のどのファンクション・ブロックがトランザクションに参加しているか
などの、その他の情報を必要としない。したがってCONNIDを、DMAエン
ジン1202から、接続されたインターフェース・モジュール1204に送る必
要がない。Thread IDのCONNIDへのマッピングが、インターフェ
ース・モジュール1204内で発生する。
、接続されたDMAエンジン1202から、固有のCONNIDを2つのThr
ead IDそれぞれにマッピングする。それぞれのDMAエンジン1202は
、たとえば図11のThread IDなどの単一ビットを使用して、2つのス
レッドを区別する。共用通信バスを介したそれぞれの転送について、固有のCO
NNIDがターゲット・インターフェース・モジュール1206に送られる。C
ONNIDは、たとえばグラフィック・データに関する要求には高い優先順位を
割り当てることなどの、優先順位情報を含むことができる。優先順位の高いグラ
フィック・データは、DRAM制御装置1208によって即時に処理されるが、
優先順位の低い要求は待機が必要な可能性がある。
み込んで設計されるため、DRAM制御装置1208およびDMAエンジン12
02などのファンクション・ブロックには、あまりインテリジェンスが要求され
ない。これには、システムが展開していくときに、ファンクション・ブロックを
より移植可能または再使用可能にする利点がある。たとえば、単にそれぞれの接
続されたインターフェース・モジュールを変更するだけで、優先度の高いアプリ
ケーションに使用されるDMAエンジンと、優先度の低いアプリケーションに使
用されるDMAエンジンを交換することができる。
ータ・インターフェース・モジュールがトランジスタ・レベルでプログラムされ
るので、CONNID割当てを含む精密な機能がパワーアップ時に固定される。
他の実施形態では、インターフェース・モジュールの設計がRAMに入っている
ため、インターフェース・モジュールは再プログラム可能なリソースである。こ
の場合、インターフェース・モジュールは、ソフトウェアによるCONNIDの
再割当てを含み、再プログラムされる。
を、特定の信号を有するプロトコルを含む特定構成のシステムとして示してきた
。当技術分野の通常の技術者であれば、特許請求の範囲で述べたように、本発明
の精神および範囲を逸脱することなく、様々なシステム構成および様々な信号が
使用できることを理解されよう。
イミング図である。
図である。
。
Claims (28)
- 【請求項1】 少なくとも2つのファンクション・ブロックを含む通信シス
テムであり、第1のファンクション・ブロックが接続を確立することによって第
2のファンクション・ブロックと通信し、接続は、第1のファンクション・ブロ
ックと第2のファンクション・ブロックとの間でデータを渡すことができる論理
状態であって、 さらに前記通信システムが、それぞれのファンクション・ブロックに結合され
、複数の信号を搬送するように構成されたバスを含み、複数の信号が、データ転
送がその一部である特定の接続を示す接続識別子を含む、通信システム。 - 【請求項2】 複数の信号が、データ転送がその一部であるトランザクショ
ン・ストリームを示すスレッド識別子をさらに含む請求項1に記載の通信システ
ム。 - 【請求項3】 転送要求を送信するイニシエータ・ファンクション・ブロッ
クと、 イニシエータ・ファンクション・ブロックおよびバスに結合されたイニシエー
タ・インターフェース・モジュールと、 転送要求に応答するターゲット・ファンクション・ブロックと、 ターゲット・ファンクション・ブロックに結合されたターゲット・インターフ
ェース・モジュールとをさらに含み、接続識別子が転送要求と共にイニシエータ
・インターフェース・モジュールからターゲット・インターフェース・モジュー
ルに送信される請求項2に記載の通信システム。 - 【請求項4】 スレッド識別子が、ターゲット・インターフェース・モジュ
ールからターゲット・ファンクション・ブロックへ、ならびにイニシエータ・イ
ンターフェース・モジュールからイニシエータ・ファンクション・ブロックへ送
信される請求項3に記載の通信システム。 - 【請求項5】 接続識別子が、ターゲット・インターフェース・モジュール
からターゲット・ファンクション・ブロックへ、ならびにイニシエータ・インタ
ーフェース・モジュールからイニシエータ・ファンクション・ブロックへ送信さ
れる請求項4に記載の通信システム。 - 【請求項6】 接続識別子が、 転送優先順位と、 転送順序と、 転送が発せられたファンクション・ブロックとを含む情報を符号化するマルチ
ビット値である請求項5に記載の通信システム。 - 【請求項7】 接続識別子が、イニシエータ・ファンクション・ブロックに
関連付けられた複数の接続識別子の1つであり、さらに接続識別子が、イニシエ
ータ・インターフェース・モジュールによってスレッド識別子にマッピングされ
た請求項6に記載の通信システム。 - 【請求項8】 接続識別子が、同時接続をサポートするターゲット・ファン
クション・ブロックに関連付けられた複数の接続識別子の1つであり、さらにタ
ーゲット・ファンクション・ブロックがオープン接続の接続識別子を獲得し、接
続識別子をスレッド識別子にマッピングする請求項7に記載の通信システム。 - 【請求項9】 複数の信号が、 ターゲット・ファンクション・ブロック用に意図された現在のトランザクショ
ンに関連付けられたスレッド番号を示す要求スレッドID信号と、 ターゲット・ファンクション・ブロックからの転送がその一部であるスレッド
を示す応答スレッドID信号と、 ターゲット・ファンクション・ブロックがある種のスレッドに関連付けられた
新しい要求を受信できないことをイニシエータ・ファンクション・ブロックに示
す要求スレッド・ビジー信号と、 イニシエータ・ファンクション・ブロックが、ある種のスレッドに関連付けら
れたターゲット・ファンクション・ブロックからのどんな新しい応答も受信でき
ないことを示す応答スレッド・ビジー信号とをさらに含む請求項2に記載の通信
システム。 - 【請求項10】 コンピュータ・システム内のファンクション・ブロック間
で通信するための方法であって、 複数の接続識別子を確立するステップを含み、各接続識別子が特定のデータ転
送を特定の接続に関連付け、接続が、複数のファンクション・ブロックのイニシ
エータ・ファンクション・ブロックと複数のファンクション・ブロックのターゲ
ット・ファンクション・ブロックとの間でデータを渡すことが可能な論理状態で
あり、特定のデータ転送が開始されたときに接続が確立され、 さらに前記方法が、第1の転送「Y」が、転送「Y」と同じ接続識別子を備え
た転送要求セットの中で、最も古い、未発行で未リタイアの転送である場合に、
イニシエータ・ファンクション・ブロックが転送「Y」を発行できるようにする
ステップを含む方法。 - 【請求項11】 同じ接続識別子を備えたあらゆる未リタイアの転送が、転
送「Y」よりも古く、現在転送「Y」と同じターゲット・ファンクション・ブロ
ックに発行されている場合に、イニシエータ・ファンクション・ブロックが転送
「Y」を発行できるようにするステップをさらに含む請求項10に記載の方法。 - 【請求項12】 転送「Y」が発行された場合、転送「Y」は古い未リタイ
アの転送とパイプライン化されるとみなされる請求項11に記載の方法。 - 【請求項13】 ターゲット・ファンクション・ブロックが転送「X」に応
答した結果、転送「X」を開始しているイニシエータが転送「X」をリタイアで
きない場合に、転送「X」とパイプライン化され転送「X」と同じ接続識別子を
有するあらゆるその後の転送に、BUSY応答を与えるターゲット・ファンクシ
ョン・ブロックのステップをさらに含む請求項10に記載の方法。 - 【請求項14】 転送「X」の後に発行された転送「Y」が転送「X」より
も古く、トランザクション「X」とパイプライン化されていないとみなされる転
送「X」と同じ接続識別子を有する請求項13に記載の方法。 - 【請求項15】 ターゲット・ファンクション・ブロックが、転送がいつ発
生するものであるかと、転送に関連付けられた接続識別子とに基づいて、転送が
パイプライン式転送であるかどうかを判定する請求項12に記載の方法。 - 【請求項16】 イニシエータ・ファンクション・ブロックが、同じ接続識
別子を備えた所望の転送の時間順に順序付けられた待ち行列を維持するステップ
と、 イニシエータ・ファンクション・ブロックが、転送が待ち行列に入れられると
きに、転送を未発行で未リタイアであるとしてマークするステップとをさらに含
む請求項14に記載の方法。 - 【請求項17】 次に古いエントリが未リタイアで、同じターゲット・ファ
ンクション・ブロックを対象とする場合、転送をパイプライン済みとしてマーク
するステップと、 転送を未パイプラインとしてマークするステップとをさらに含む請求項16に
記載の方法。 - 【請求項18】 転送が発行されるときに、転送を発行済みとしてマークす
るステップをさらに含む請求項17に記載の方法。 - 【請求項19】 転送が完了したときに、転送を未発行としてマークするス
テップをさらに含む請求項18に記載の方法。 - 【請求項20】 転送が首尾良く完了した場合、転送をリタイア済みとして
マークするステップと、転送を待ち行列から削除するステップとをさらに含む請
求項19に記載の方法。 - 【請求項21】 転送が首尾良く完了しなかった場合、転送を再試行するス
テップをさらに含む請求項20に記載の方法。 - 【請求項22】 ターゲット・ファンクション・ブロックが、転送に関する
要求と要求への応答との間のバス・クロック・サイクルの数である深さを有する
、時間順に順序付けられた待ち行列を維持するステップをさらに含む請求項14
に記載の方法。 - 【請求項23】 バス・クロックの各サイクルで、時間順に順序付けられた
待ち行列の中で最も古いエントリをリタイアするステップと、 バス・クロックの各サイクルで、転送に関する現在の要求に関連付けられた接
続識別子を含む新しいエントリを、時間順に順序付けられた待ち行列に加えるス
テップとをさらに含む請求項22に記載の方法。 - 【請求項24】 転送に関する現在の要求が、ターゲット・ファンクション
・ブロックを選択する有効な転送を含む場合、時間順に順序付けられた待ち行列
内にあるエントリのFIRSTビットおよびBUSYビットを設定できるように
するステップをさらに含み、設定されたFIRSTビットが、関連付けられた転
送が潜在的にパイプライン式の転送セットの第1の転送であることを示唆するも
のであって、 FIRSTビットおよびBUSYビットを消去するステップをさらに含む請求
項23に記載の方法。 - 【請求項25】 時間順に順序付けられた待ち行列に、現在の転送より前の
ものであり、現在の転送と同じ接続識別子を有し、関連付けられたFIRSTビ
ット・セットを有する転送がない場合、および 現在の転送がリソース衝突によってBUSY応答を受け取ることになる場合に
、FIRSTビットを設定するステップをさらに含む請求項24に記載の方法。 - 【請求項26】 ターゲット・ファンクション・ブロックにリソース衝突が
ある場合、または 時間順に順序付けられた待ち行列にある以前の転送が、関連付けられたFIR
STビット・セットを有し、現在の転送と同じ接続識別子を有する場合に、BU
SYビットを設定するステップをさらに含む請求項24に記載の方法。 - 【請求項27】 転送間の順序付けを強制するために接続識別子を使用する
ステップをさらに含む請求項26に記載の方法。 - 【請求項28】 第1のバス・サイクル内で発行されたデータ転送に関する
第1の要求に応答して、ターゲット・ファンクション・ブロックが、第1の時間
順に順序付けられた待ち行列エントリにBUSYビットを設定するステップをさ
らに含み、第1の接続識別子が第1の要求に関連付けられており、 第1のバス・サイクルに続く次のバス・サイクルでの、データ転送に関する第
2の要求に応答して、ターゲット・ファンクション・ブロックが、第2の時間順
に順序付けられた待ち行列エントリ内にあるBUSYビットを消去し、第2の要
求で要求されたデータ転送の実行と関連してアクションを実行するステップをさ
らに含む請求項27に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/191,291 | 1998-11-13 | ||
US09/191,291 US6182183B1 (en) | 1998-11-13 | 1998-11-13 | Communications system and method with multilevel connection identification |
PCT/US1999/026901 WO2000029961A1 (en) | 1998-11-13 | 1999-11-12 | Communications system and method with multilevel connection identification |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002530744A true JP2002530744A (ja) | 2002-09-17 |
JP2002530744A5 JP2002530744A5 (ja) | 2005-12-15 |
JP4083987B2 JP4083987B2 (ja) | 2008-04-30 |
Family
ID=22704891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000582902A Expired - Lifetime JP4083987B2 (ja) | 1998-11-13 | 1999-11-12 | 多重レベル接続識別を備えた通信システム |
Country Status (7)
Country | Link |
---|---|
US (5) | US6182183B1 (ja) |
EP (2) | EP1131729B1 (ja) |
JP (1) | JP4083987B2 (ja) |
AT (1) | ATE551654T1 (ja) |
AU (1) | AU2148900A (ja) |
TW (1) | TW480855B (ja) |
WO (1) | WO2000029961A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006525585A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
JP2006525587A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
JP2011113336A (ja) * | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
Families Citing this family (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182183B1 (en) * | 1998-11-13 | 2001-01-30 | Sonics, Inc. | Communications system and method with multilevel connection identification |
US6338103B1 (en) * | 1999-03-24 | 2002-01-08 | International Business Machines Corporation | System for high-speed data transfer using a sequence of overlapped global pointer signals for generating corresponding sequence of non-overlapped local pointer signals |
US6725441B1 (en) * | 2000-03-22 | 2004-04-20 | Xilinx, Inc. | Method and apparatus for defining and modifying connections between logic cores implemented on programmable logic devices |
US7162615B1 (en) * | 2000-06-12 | 2007-01-09 | Mips Technologies, Inc. | Data transfer bus communication using single request to perform command and return data to destination indicated in context to allow thread context switch |
US7325221B1 (en) | 2000-08-08 | 2008-01-29 | Sonics, Incorporated | Logic system with configurable interface |
DE10055163B4 (de) * | 2000-11-08 | 2013-01-03 | Bayerische Motoren Werke Aktiengesellschaft | Datenbus, insbesondere in Kraftfahrzeugen |
US6634016B1 (en) * | 2000-12-01 | 2003-10-14 | Advanced Micro Devices, Inc. | Arrangement for partitioning logic into multiple field programmable gate arrays |
US7165094B2 (en) * | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US6785753B2 (en) | 2001-06-01 | 2004-08-31 | Sonics, Inc. | Method and apparatus for response modes in pipelined environment |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US7225281B2 (en) * | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US6857035B1 (en) * | 2001-09-13 | 2005-02-15 | Altera Corporation | Methods and apparatus for bus mastering and arbitration |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
JP3759054B2 (ja) * | 2002-03-01 | 2006-03-22 | Necエレクトロニクス株式会社 | バスシステム |
US7194566B2 (en) * | 2002-05-03 | 2007-03-20 | Sonics, Inc. | Communication system and method with configurable posting points |
US7356633B2 (en) * | 2002-05-03 | 2008-04-08 | Sonics, Inc. | Composing on-chip interconnects with configurable interfaces |
US7254603B2 (en) * | 2002-05-03 | 2007-08-07 | Sonics, Inc. | On-chip inter-network performance optimization using configurable performance parameters |
US7302691B2 (en) * | 2002-05-10 | 2007-11-27 | Sonics, Incorporated | Scalable low bandwidth multicast handling in mixed core systems |
US6880133B2 (en) * | 2002-05-15 | 2005-04-12 | Sonics, Inc. | Method and apparatus for optimizing distributed multiplexed bus interconnects |
US7337275B2 (en) * | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US7243264B2 (en) * | 2002-11-01 | 2007-07-10 | Sonics, Inc. | Method and apparatus for error handling in networks |
US6976106B2 (en) * | 2002-11-01 | 2005-12-13 | Sonics, Inc. | Method and apparatus for speculative response arbitration to improve system latency |
US7266786B2 (en) * | 2002-11-05 | 2007-09-04 | Sonics, Inc. | Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems |
US7603441B2 (en) * | 2002-12-27 | 2009-10-13 | Sonics, Inc. | Method and apparatus for automatic configuration of multiple on-chip interconnects |
US7149829B2 (en) * | 2003-04-18 | 2006-12-12 | Sonics, Inc. | Various methods and apparatuses for arbitration among blocks of functionality |
US20040210696A1 (en) * | 2003-04-18 | 2004-10-21 | Meyer Michael J. | Method and apparatus for round robin resource arbitration |
CN100424666C (zh) * | 2003-05-08 | 2008-10-08 | 皇家飞利浦电子股份有限公司 | 处理系统和传送数据的方法 |
US7194658B2 (en) * | 2003-07-24 | 2007-03-20 | Sonics, Inc. | Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers |
US8949548B2 (en) | 2003-09-12 | 2015-02-03 | Broadcom Corporation | System and method of sharing memory by arbitrating through an internal data bus |
US7296105B2 (en) * | 2003-10-03 | 2007-11-13 | Sonics, Inc. | Method and apparatus for configuring an interconnect to implement arbitration |
US8504992B2 (en) * | 2003-10-31 | 2013-08-06 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
US8407433B2 (en) | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
US7213099B2 (en) * | 2003-12-30 | 2007-05-01 | Intel Corporation | Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches |
US7770179B1 (en) | 2004-01-30 | 2010-08-03 | Xilinx, Inc. | Method and apparatus for multithreading on a programmable logic device |
US7228520B1 (en) | 2004-01-30 | 2007-06-05 | Xilinx, Inc. | Method and apparatus for a programmable interface of a soft platform on a programmable logic device |
US7185309B1 (en) | 2004-01-30 | 2007-02-27 | Xilinx, Inc. | Method and apparatus for application-specific programmable memory architecture and interconnection network on a chip |
US7823162B1 (en) | 2004-01-30 | 2010-10-26 | Xilinx, Inc. | Thread circuits and a broadcast channel in programmable logic |
US7552042B1 (en) | 2004-01-30 | 2009-06-23 | Xilinx, Inc. | Method for message processing on a programmable logic device |
US7353484B1 (en) * | 2004-02-09 | 2008-04-01 | Altera Corporation | Methods and apparatus for variable latency support |
US7475168B2 (en) * | 2004-03-11 | 2009-01-06 | Sonics, Inc. | Various methods and apparatus for width and burst conversion |
US7543088B2 (en) * | 2004-03-11 | 2009-06-02 | Sonics, Inc. | Various methods and apparatuses for width and burst conversion |
US7136987B2 (en) * | 2004-03-30 | 2006-11-14 | Intel Corporation | Memory configuration apparatus, systems, and methods |
FR2870373B1 (fr) * | 2004-05-13 | 2006-07-28 | St Microelectronics Sa | Gestion du gel d'un module fonctionnel dans un systeme sur une puce |
US7254658B2 (en) * | 2004-06-08 | 2007-08-07 | Arm Limited | Write transaction interleaving |
EP1645968B1 (en) | 2004-10-11 | 2008-03-19 | Texas Instruments Incorporated | Multi-threaded DMA |
EP1645967B1 (en) * | 2004-10-11 | 2008-02-27 | Texas Instruments Incorporated | Multi-channel DMA with shared FIFO buffer |
WO2006042261A1 (en) * | 2004-10-11 | 2006-04-20 | Texas Instruments Incorporated | Multi-channel direct memory access with shared first-in-first-out memory |
WO2006042108A1 (en) * | 2004-10-11 | 2006-04-20 | Texas Instruments Incorporated | Multi-threaded direct memory access |
US7739436B2 (en) * | 2004-11-01 | 2010-06-15 | Sonics, Inc. | Method and apparatus for round robin resource arbitration with a fast request to grant response |
US8032676B2 (en) * | 2004-11-02 | 2011-10-04 | Sonics, Inc. | Methods and apparatuses to manage bandwidth mismatches between a sending device and a receiving device |
US7277975B2 (en) * | 2004-11-02 | 2007-10-02 | Sonics, Inc. | Methods and apparatuses for decoupling a request from one or more solicited responses |
US7155554B2 (en) * | 2004-11-02 | 2006-12-26 | Sonics, Inc. | Methods and apparatuses for generating a single request for block transactions over a communication fabric |
WO2006048826A1 (en) * | 2004-11-08 | 2006-05-11 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for data transfer in a network on chip environment |
US7644201B2 (en) * | 2004-11-17 | 2010-01-05 | International Business Machines Corporation | Method and system for performance enhancement via transaction verification using a counter value in a polled data storage environment |
US20060225015A1 (en) * | 2005-03-31 | 2006-10-05 | Kamil Synek | Various methods and apparatuses for flexible hierarchy grouping |
JP2006344017A (ja) * | 2005-06-09 | 2006-12-21 | Hitachi Ltd | センサネットワークシステム及びセンサネットワークのデータ処理方法 |
US7694249B2 (en) * | 2005-10-07 | 2010-04-06 | Sonics, Inc. | Various methods and apparatuses for estimating characteristics of an electronic system's design |
JP4701152B2 (ja) * | 2006-10-20 | 2011-06-15 | 富士通株式会社 | データ中継装置、データ中継方法およびデータ中継プログラム |
US8020124B2 (en) * | 2006-11-20 | 2011-09-13 | Sonics, Inc. | Various methods and apparatuses for cycle accurate C-models of components |
US8868397B2 (en) * | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
US20080120082A1 (en) * | 2006-11-20 | 2008-05-22 | Herve Jacques Alexanian | Transaction Co-Validation Across Abstraction Layers |
US7814243B2 (en) * | 2007-06-01 | 2010-10-12 | Sonics, Inc. | Shared storage for multi-threaded ordered queues in an interconnect |
US8296430B2 (en) | 2007-06-18 | 2012-10-23 | International Business Machines Corporation | Administering an epoch initiated for remote memory access |
US8438320B2 (en) * | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
US8108648B2 (en) * | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
ATE454770T1 (de) * | 2007-08-13 | 2010-01-15 | Accenture Global Services Gmbh | Nachrichtensequenzer für korrelierte unternehmensereignisse |
US8713569B2 (en) * | 2007-09-26 | 2014-04-29 | Intel Corporation | Dynamic association and disassociation of threads to device functions based on requestor identification |
US9065839B2 (en) * | 2007-10-02 | 2015-06-23 | International Business Machines Corporation | Minimally buffered data transfers between nodes in a data communications network |
US20090113308A1 (en) * | 2007-10-26 | 2009-04-30 | Gheorghe Almasi | Administering Communications Schedules for Data Communications Among Compute Nodes in a Data Communications Network of a Parallel Computer |
US8229723B2 (en) * | 2007-12-07 | 2012-07-24 | Sonics, Inc. | Performance software instrumentation and analysis for electronic design automation |
TWI337517B (en) * | 2008-03-04 | 2011-02-11 | Inventec Corp | Trace carrier |
US8073820B2 (en) | 2008-04-07 | 2011-12-06 | Sonics, Inc. | Method and system for a database to monitor and analyze performance of an electronic design |
TWI411264B (zh) * | 2008-05-02 | 2013-10-01 | Realtek Semiconductor Corp | 非阻塞式網路系統及其封包仲裁方法 |
TWI362860B (en) * | 2008-06-27 | 2012-04-21 | Realtek Semiconductor Corp | Network system with quality of service management and associated management method |
US8032329B2 (en) * | 2008-09-04 | 2011-10-04 | Sonics, Inc. | Method and system to monitor, debug, and analyze performance of an electronic design |
US8001510B1 (en) * | 2008-09-05 | 2011-08-16 | Xilinx, Inc. | Automated method of architecture mapping selection from constrained high level language description via element characterization |
US20110213949A1 (en) * | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
US8365186B2 (en) | 2010-04-14 | 2013-01-29 | International Business Machines Corporation | Runtime optimization of an application executing on a parallel computer |
US8504730B2 (en) | 2010-07-30 | 2013-08-06 | International Business Machines Corporation | Administering connection identifiers for collective operations in a parallel computer |
US8972995B2 (en) | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US8601288B2 (en) | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
US8438306B2 (en) | 2010-11-02 | 2013-05-07 | Sonics, Inc. | Apparatus and methods for on layer concurrency in an integrated circuit |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
JP5644443B2 (ja) * | 2010-12-03 | 2014-12-24 | 富士通株式会社 | 通信装置及び二重化方法 |
US8565120B2 (en) | 2011-01-05 | 2013-10-22 | International Business Machines Corporation | Locality mapping in a distributed processing system |
US9317637B2 (en) | 2011-01-14 | 2016-04-19 | International Business Machines Corporation | Distributed hardware device simulation |
US8689228B2 (en) | 2011-07-19 | 2014-04-01 | International Business Machines Corporation | Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system |
US8711867B2 (en) | 2011-08-26 | 2014-04-29 | Sonics, Inc. | Credit flow control scheme in a router with flexible link widths utilizing minimal storage |
US8798038B2 (en) | 2011-08-26 | 2014-08-05 | Sonics, Inc. | Efficient header generation in packetized protocols for flexible system on chip architectures |
US8514889B2 (en) | 2011-08-26 | 2013-08-20 | Sonics, Inc. | Use of common data format to facilitate link width conversion in a router with flexible link widths |
US9021156B2 (en) | 2011-08-31 | 2015-04-28 | Prashanth Nimmala | Integrating intellectual property (IP) blocks into a processor |
US8930602B2 (en) | 2011-08-31 | 2015-01-06 | Intel Corporation | Providing adaptive bandwidth allocation for a fixed priority arbiter |
US9250948B2 (en) | 2011-09-13 | 2016-02-02 | International Business Machines Corporation | Establishing a group of endpoints in a parallel computer |
US8868941B2 (en) | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
US8713240B2 (en) * | 2011-09-29 | 2014-04-29 | Intel Corporation | Providing multiple decode options for a system-on-chip (SoC) fabric |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
US8805926B2 (en) | 2011-09-29 | 2014-08-12 | Intel Corporation | Common idle state, active state and credit management for an interface |
US8874976B2 (en) | 2011-09-29 | 2014-10-28 | Intel Corporation | Providing error handling support to legacy devices |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US8775700B2 (en) | 2011-09-29 | 2014-07-08 | Intel Corporation | Issuing requests to a fabric |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
US9348775B2 (en) | 2012-03-16 | 2016-05-24 | Analog Devices, Inc. | Out-of-order execution of bus transactions |
US9910454B2 (en) | 2012-06-07 | 2018-03-06 | Sonics, Inc. | Synchronizer with a timing closure enhancement |
US9225665B2 (en) * | 2012-09-25 | 2015-12-29 | Qualcomm Technologies, Inc. | Network on a chip socket protocol |
US10152112B2 (en) | 2015-06-10 | 2018-12-11 | Sonics, Inc. | Power manager with a power switch arbitrator |
US10911261B2 (en) | 2016-12-19 | 2021-02-02 | Intel Corporation | Method, apparatus and system for hierarchical network on chip routing |
US10846126B2 (en) | 2016-12-28 | 2020-11-24 | Intel Corporation | Method, apparatus and system for handling non-posted memory write transactions in a fabric |
DE102017217908A1 (de) * | 2017-10-09 | 2019-04-11 | Robert Bosch Gmbh | Recheneinheit und Betriebsverfahren hierfür |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4564899A (en) * | 1982-09-28 | 1986-01-14 | Elxsi | I/O Channel bus |
US4706190A (en) * | 1983-09-22 | 1987-11-10 | Digital Equipment Corporation | Retry mechanism for releasing control of a communications path in digital computer system |
JPS6132162A (ja) | 1984-07-24 | 1986-02-14 | Fuji Photo Film Co Ltd | 情報転送の競合防止回路 |
US5101479A (en) * | 1989-07-21 | 1992-03-31 | Clearpoint Research Corporation | Bus device for generating and responding to slave response codes |
JP2992621B2 (ja) | 1990-11-30 | 1999-12-20 | 富士通株式会社 | ロック転送方式 |
US5274783A (en) | 1991-06-28 | 1993-12-28 | Digital Equipment Corporation | SCSI interface employing bus extender and auxiliary bus |
JPH05313923A (ja) | 1992-05-07 | 1993-11-26 | Ricoh Co Ltd | 共有資源の排他制御装置 |
JP3167228B2 (ja) * | 1993-09-20 | 2001-05-21 | 富士通株式会社 | Vccテーブルのアクセス方法及びバーチャルチャネル変換装置 |
US5548767A (en) * | 1993-10-06 | 1996-08-20 | Intel Corporation | Method and apparatus for streamlined handshaking between state machines |
US5634081A (en) | 1994-03-01 | 1997-05-27 | Adaptec, Inc. | System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
JP3515263B2 (ja) * | 1995-05-18 | 2004-04-05 | 株式会社東芝 | ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法 |
SE506955C2 (sv) * | 1995-07-06 | 1998-03-09 | Ericsson Telefon Ab L M | ATM-flödesstyrning |
US5748914A (en) * | 1995-10-19 | 1998-05-05 | Rambus, Inc. | Protocol for communication with dynamic memory |
US5822553A (en) * | 1996-03-13 | 1998-10-13 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller architecture |
US5878045A (en) * | 1996-04-26 | 1999-03-02 | Motorola, Inc. | Method and apparatus for converting data streams in a cell based communications system |
US6167486A (en) * | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
JPH10171750A (ja) | 1996-12-09 | 1998-06-26 | Fujitsu Ltd | メモリ間データ転送システム |
US6002692A (en) | 1996-12-30 | 1999-12-14 | Hyundai Electronics America | Line interface unit for adapting broad bandwidth network to lower bandwidth network fabric |
JPH1173258A (ja) | 1997-08-28 | 1999-03-16 | Toshiba Corp | 低消費電力バス構造及びその制御方法、低消費電力バス構造の合成システム及びその合成方法、携帯情報機器 |
US6078736A (en) | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US5948089A (en) | 1997-09-05 | 1999-09-07 | Sonics, Inc. | Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation |
US6147890A (en) | 1997-12-30 | 2000-11-14 | Kawasaki Steel Corporation | FPGA with embedded content-addressable memory |
US6005412A (en) | 1998-04-08 | 1999-12-21 | S3 Incorporated | AGP/DDR interfaces for full swing and reduced swing (SSTL) signals on an integrated circuit chip |
US6601138B2 (en) * | 1998-06-05 | 2003-07-29 | International Business Machines Corporation | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance |
US6182183B1 (en) | 1998-11-13 | 2001-01-30 | Sonics, Inc. | Communications system and method with multilevel connection identification |
JP4205247B2 (ja) | 1999-03-30 | 2009-01-07 | 株式会社日立製作所 | プラズマディスプレイ装置 |
US6493776B1 (en) | 1999-08-12 | 2002-12-10 | Mips Technologies, Inc. | Scalable on-chip system bus |
US7325221B1 (en) * | 2000-08-08 | 2008-01-29 | Sonics, Incorporated | Logic system with configurable interface |
US7165094B2 (en) * | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
-
1998
- 1998-11-13 US US09/191,291 patent/US6182183B1/en not_active Expired - Lifetime
-
1999
- 1999-11-12 JP JP2000582902A patent/JP4083987B2/ja not_active Expired - Lifetime
- 1999-11-12 AT AT99965799T patent/ATE551654T1/de active
- 1999-11-12 AU AU21489/00A patent/AU2148900A/en not_active Abandoned
- 1999-11-12 WO PCT/US1999/026901 patent/WO2000029961A1/en active Application Filing
- 1999-11-12 EP EP99965799A patent/EP1131729B1/en not_active Expired - Lifetime
- 1999-11-12 EP EP10185642.5A patent/EP2306328B1/en not_active Expired - Lifetime
- 1999-11-15 TW TW088119862A patent/TW480855B/zh not_active IP Right Cessation
-
2000
- 2000-11-21 US US09/721,044 patent/US6725313B1/en not_active Expired - Lifetime
-
2004
- 2004-02-25 US US10/787,942 patent/US7120712B2/en not_active Expired - Lifetime
-
2006
- 2006-10-10 US US11/546,131 patent/US20070094429A1/en not_active Abandoned
-
2007
- 2007-07-26 US US11/881,526 patent/US7647441B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006525585A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
JP2006525587A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
JP2011113336A (ja) * | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070094429A1 (en) | 2007-04-26 |
US20040177186A1 (en) | 2004-09-09 |
EP1131729A1 (en) | 2001-09-12 |
EP2306328B1 (en) | 2013-06-05 |
US20080183926A1 (en) | 2008-07-31 |
US7647441B2 (en) | 2010-01-12 |
US6182183B1 (en) | 2001-01-30 |
WO2000029961A9 (en) | 2000-09-28 |
EP2306328A2 (en) | 2011-04-06 |
TW480855B (en) | 2002-03-21 |
WO2000029961A1 (en) | 2000-05-25 |
JP4083987B2 (ja) | 2008-04-30 |
EP2306328A3 (en) | 2012-05-16 |
ATE551654T1 (de) | 2012-04-15 |
EP1131729A4 (en) | 2005-02-09 |
EP1131729B1 (en) | 2012-03-28 |
US6725313B1 (en) | 2004-04-20 |
US7120712B2 (en) | 2006-10-10 |
AU2148900A (en) | 2000-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4083987B2 (ja) | 多重レベル接続識別を備えた通信システム | |
JP5036120B2 (ja) | 非ブロック化共有インターフェイスを持つ通信システム及び方法 | |
JP4638216B2 (ja) | オンチップバス | |
US6119196A (en) | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates | |
EP0993680B1 (en) | Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory | |
CN105068951B (zh) | 一种具有非等时传输结构的片上系统总线 | |
JPH0775016B2 (ja) | データ処理システム及びデータ通信バス・システム | |
JP2001516100A (ja) | リアルタイムで動的に帯域幅を割り当てる完全パイプライン式固定待ち時間通信システム | |
JPH0981508A (ja) | 通信方法及び装置 | |
US7096290B2 (en) | On-chip high speed data interface | |
US7213095B2 (en) | Bus transaction management within data processing systems | |
JP3698324B2 (ja) | 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション | |
US7167939B2 (en) | Asynchronous system bus adapter for a computer system having a hierarchical bus structure | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
JP3947223B2 (ja) | 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置 | |
JP4567373B2 (ja) | データ転送装置及び通信データ処理システム | |
KR20060009292A (ko) | 분할 프로토콜 전송 방법 및 프로세싱 시스템 | |
JPH1115779A (ja) | バス制御システム | |
JPH10283307A (ja) | バスブリッジ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040525 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070515 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070815 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070918 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070926 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071015 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071022 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071024 |
|
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: 20080115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080214 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4083987 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140222 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |