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
Application number
JP2000582902A
Other languages
English (en)
Other versions
JP4083987B2 (ja
JP2002530744A5 (ja
Inventor
ウィンガード,ドリュー・エリック
ロッシール,ギールト・ポール
トムリンソン,ジェイ・エス
ロビンソン,リサ・エイ
Original Assignee
ソニックス・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22704891&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2002530744(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ソニックス・インコーポレーテッド filed Critical ソニックス・インコーポレーテッド
Publication of JP2002530744A publication Critical patent/JP2002530744A/ja
Publication of JP2002530744A5 publication Critical patent/JP2002530744A5/ja
Application granted granted Critical
Publication of JP4083987B2 publication Critical patent/JP4083987B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements 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

(57)【要約】 通信システム(2000)が開示される。一実施形態には、少なくとも2つのファンクション・ブロックが含まれ、第1のファンクション・ブロック(1002)が接続を確立することによって第2のファンクション・ブロック(1008)と通信し、接続は、第1のファンクション・ブロック(1002)と第2のファンクション・ブロック(1008)との間でデータを渡すことができる論理状態である。他の実施形態には、それぞれのファンクション・ブロックに結合され、複数の信号を搬送するように構成されたバスが含まれる。複数の信号には、データ転送がその一部である特定の接続を示す接続識別子と、データ転送がその一部であるトランザクション・ストリームを示すスレッド識別子とが含まれる。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、コンピューティング・サブシステムを結合するための通信システム
に関する。
【0002】 (発明の背景) 電子コンピュータおよび通信システムは、ますます数多くの機能を含むように
なり、複雑さが増している。同時に、電子コンピュータおよび通信システムでは
、物理的なサイズおよび1機能当たりのコストが減少している。4層の超サブミ
クロン補型金属酸化膜半導体(CMOS)技術などの半導体技術における急速な
進歩により、真の「システム・オン・チップ」設計が可能になった。これらの複
雑な設計には、たとえば1つまたは複数のプロセッサ・コア、デジタル信号処理
(DSP)コア、いくつかの通信インターフェース、および特定用途向け論理で
のグラフィックス・サポートを組み込むことができる。システムによっては、こ
れらの非常に複雑なチップのうち1つまたは複数が、相互におよび他のシステム
構成要素と通信しなければならない。単一の複雑なチップ上にあるサブシステム
間で、ならびにシステム・ボード上にあるチップ間で、効率良く通信しなければ
ならないことから、このようなシステムの統合、検証、およびテストを行う上で
重要な問題が新しく発生してくる。サブシステム間およびチップ間の通信に有効
でフレキシブルな方法の利点は、システム構成要素に最小限の再設計を施すだけ
で、他のシステムでも再使用できることである。
【0003】 現在の電子システムの統合、検証、およびテストにおける課題の1つは、多く
の分野に適用されている現在の電子システムが、通信システムとインターフェー
スするどのようなエンティティであってもよい複数のファンクション・ブロック
間で、メモリなどのリソースを共用しなければならないという、機能、コスト、
およびフォーム・ファクタに関する要件を有するという事実に起因している。こ
のようなシステムでは、典型的には、ファンクション・ブロックが異なる性能特
性および要件を有し、通信システムおよび共用リソースが総合的な要件を同時に
満たすものでなければならない。典型的なファンクション・ブロックの主要な要
件は、ファンクション・ブロック間で何桁も異なる可能性のある帯域幅および待
ち時間制約である。それほど大きく異なる制約を同時に満たすためには、通信シ
ステムが高度な予測精度を用意しなければならない。
【0004】 現在の複雑なコンピュータ・システム用に通信システムを設計するための従来
の方法には、様々な長所および短所がある。このような方法に不可欠な態様は、
様々なサブシステムが相互に提示する通信インターフェースである。1つの方法
は、サブシステムとそれを使用して通信しなければならない各ピア間に、カスタ
マイズされた2地点間インターフェースを決めることである。このカスタマイズ
された方法によって、単純なプロトコル、保証された性能、および関連のないサ
ブシステムへの依存からの分離が行われる。ただし、カスタマイズされたインタ
ーフェースは、その性質上フレキシブルでない。異なるインターフェースを備え
た新しいサブシステムを追加するには、設計のやり直しが必要である。
【0005】 第2の方法は、標準化されたインターフェースを使用してシステムを形成する
ことである。多くの標準化されたインターフェースは、事前に確立されたコンピ
ュータ・バス・プロトコルに基づいている。コンピュータ・バスを使用すること
で、バスが十分な性能を備えている限り、多くの異なるファンクション・ブロッ
クをシステムの要求に応じて相互に接続できるため、システム設計をフレキシブ
ルにすることができる。様々なサブシステム間で、バスへのアクセスを割り振る
必要もある。コンピュータ・バスの場合、リソース割振りは典型的にはアービト
レーションと呼ばれる。
【0006】 コンピュータ・バスの欠点の1つは、バスに接続された各サブシステムまたは
構成要素が、バスのプロトコルを使用するのを制約されるということである。場
合によっては、これによってサブシステムの性能が制限される。たとえば、サブ
システムは複数のトランザクション・ストリームを同時に処理することができる
が、バス・プロトコルは同時動作を完全にサポートすることができない。サブシ
ステムが複数のトランザクション・ストリームを処理し、各トランザクション・
ストリームが順序付け制約を有する場合、サブシステムは、ストリーム間を区別
し、ストリーム内の順序を保存するために、送受信したデータのそれぞれの増分
を、ある種のデータ・ストリームのある種の部分で識別する必要がある。これに
は、データの伝送元であるサブシステムを識別することが含まれる。従来から、
このような識別は、特定のサブシステムまたは構成要素によって生成される構成
不能のハードウェア識別子に限定されている。
【0007】 現在のバス・システムは、1トランザクションからのデータを、同じストリー
ム内にある他のトランザクションからのデータでインターリーブできる「スプリ
ット・トランザクション」をサポートすることによって、1トランザクション・
ストリーム内の順序を保存するための限定機能を用意している。このようなバス
では、データは1ストリームのデータに属するものとしてタグが付けられ、その
結果、たとえ順序外れで着信しても識別することができる。これには、受信側の
サブシステムが着信アドレスを復号して、識別情報を抽出する必要がある。
【0008】 現在のバス・システムは、単一のダイナミック・ランダム・アクセス・メモリ
(DRAM)へのアクセスをDRAMのいくつかのクライアント向けに処理する
メモリ制御装置などの、単一の相互接続を介してトランザクションの複数のスト
リームを処理できるサブシステムに関して、動作の真の同時処理をサポートして
いない。DRAM制御装置は、アクセス要求のソース、アクセス要求の優先順位
、順序付け要件などに関係する情報を必要とする場合がある。現在の通信システ
ムは、既存のプロトコルに適合するための余分な負荷をサブシステムにかけるこ
となく、このような情報をデータと共に伝送するようには対応されていない。
【0009】 多くのサブシステムが従来のシステムでその機能をすべて使用して動作するた
めには、既存の通信システムを介して通信を提供するように、追加の知識をサブ
システムに組み入れて設計しなければならない。これにより、サブシステムが後
に新しいサブシステムまたは構成要素と通信する必要が生じた場合に、サブシス
テムはさらに高価になり、フレキシブルでなくなる。したがって既存の通信方法
は、現在の大規模で複雑な電子システムの要件には合致しない。そこで、大規模
で複雑な電子システムのサブシステムが、その性能特性および要件が異なっても
効率よく相互に動作できるようにするための、通信システムおよび機構が望まし
い。
【0010】 (発明の概要) 本発明の一実施形態には、電子サブシステム間にフレキシブルな通信機能を与
えるための、共用通信バスが含まれる。一実施形態には、追加の知識をサブシス
テムに組み込んで設計することなく、特定のサブシステムの要求に応じて、異な
る詳細なレベルのデータ伝送を識別できるプロトコルが含まれる。
【0011】 本発明の一実施形態には、少なくとも1つのイニシエータ・ファンクション・
ブロックおよび1つのターゲット・ファンクション・ブロックを含む、いくつか
のファンクション・ブロックが含まれる。イニシエータ・ファンクション・ブロ
ックの中には、ターゲット・ファンクション・ブロックとしても機能できるもの
がある。一実施形態では、イニシエータ・ファンクション・ブロックがイニシエ
ータ・インターフェース・モジュールに結合され、ターゲット・ファンクション
・ブロックが、ターゲット・インターフェース・モジュールに結合される。イニ
シエータ・ファンクション・ブロックおよびターゲット・ファンクション・ブロ
ックはそれぞれのインターフェース・モジュールと通信する。インターフェース
・モジュールは相互に通信する。イニシエータ・ファンクション・ブロックは接
続を確立することによってターゲット・ファンクション・ブロックと通信する。
接続とは、イニシエータ・ファンクション・ブロックとターゲット・ファンクシ
ョン・ブロックとの間でデータを渡すことができる論理状態である。
【0012】 一実施態様には、複数の信号を搬送するように構成されたバスも含まれ、信号
には、イニシエータ・ファンクション・ブロックとターゲット・ファンクション
・ブロックとの間のデータ転送がその一部である特定の接続を示す、接続識別子
信号が含まれる。接続識別子には、どのファンクション・ブロックが伝送元であ
るか、転送要求の優先順位、および転送順序付け情報などの、接続に関する情報
が含まれる。一実施態様には、接続識別子によって提供される情報サブセットを
提供する、スレッド識別子も含まれる。一実施態様では、スレッド識別子は、イ
ンターフェース・モジュールと接続されたファンクション・ブロックとの間の転
送を識別するローカル範囲の識別子であって、一部の実施態様では、インターフ
ェース・モジュールがファンクション・ブロックを共用通信バスに接続する。
【0013】 接続識別子は、インターフェース・モジュール間またはファンクション・ブロ
ック間で、そのインターフェース・モジュールを介して情報を転送するグローバ
ル範囲の識別子である。ファンクション・ブロックの中には、接続識別子が提供
するすべての情報を必要とするものもあるが、その他のファンクション・ブロッ
クは、スレッド識別子が提供する情報のサブセットだけしか必要としないことが
ある。
【0014】 (詳細な説明) 本発明は、複雑な電子システムの複数のファンクション・ブロックまたはサブ
システムが、共用通信バスなどの共用通信リソースを介して相互に通信できるよ
うにするための、通信のシステムおよび方法である。一実施形態では、通信プロ
トコルによって、単一の半導体デバイス上にある複数のファンクション・ブロッ
クが相互に通信できるようにする。他の実施形態では、通信プロトコルを使用し
て、異なる半導体デバイス上にある複数のファンクション・ブロックが、バスな
どの共用オフチップ通信リソースを介して相互に通信できるようにする。
【0015】 一実施形態では、本発明は、別々のコマンド・ワイア、アドレス・ワイア、お
よびデータ・ワイアを備えたパイプライン式の通信バスである。代替の実施形態
には、多重化されたアドレス信号、データ信号、および制御信号を備えた、パイ
プライン式の通信バスが含まれる。前者の実施形態では、余分なワイアを犠牲に
することで、後者の実施形態よりも高い性能および単純な制御が得られる。前者
の実施形態は、ワイアが比較的安価で性能要件が通常高いオンチップ通信に、よ
り適している。後者の実施形態は、アドレス転送とデータ転送で同じワイアを共
用するため、ワイア当たりの転送効率がより高い。後者の実施形態は、パッケー
ジ・ピンおよびボード・トレースによって信号当たりのコストが高くなり、必要
な総合通信性能が通常低いので、半導体デバイス間のチップ間通信により適して
いる。
【0016】 図1は、複雑な電子システム100を示す構成図である。共用通信バス112
が、サブシステム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を含む。ファンクション・ブロ
ックは、特定機能を実行する特定の論理ブロックであってよい。ファンクション
・ブロックは、集積回路上のメモリ構成要素であってもよい。
【0017】 システム100は、1つまたは複数の集積回路またはチップからなるシステム
の一例である。ファンクション・ブロックが、たとえばファンクション・ブロッ
ク102Eなどの集積回路上にある論理ブロックであってよく、あるいはファン
クション・ブロックが、単一の論理機能を実施するフル・カスタム集積回路10
2などの集積回路であってもよい。
【0018】 共用通信バス112は、システム100のサブシステム間の共用通信バスを構
成している。共用通信バス114は、サブシステム間または単一の集積回路上に
あるファンクション・ブロック間の共用通信バスである。図示されたファンクシ
ョン・ブロックの中には、それを介して共用通信バス112または共用通信バス
114との間で信号の送受信を行うインターフェース・モジュールに接続される
ものもある。相互接続115は、インターフェース・モジュールとファンクショ
ン・ブロックとを接続するための、ローカルな2地点間相互接続である。
【0019】 インターフェース・モジュール120〜127は、図に示すように様々なファ
ンクション・ブロックに接続される。この実施形態では、インターフェース・モ
ジュール120、122、123、および124が、それらの接続されたファン
クション・ブロック(それぞれA、B、C、E、および102)とは物理的に分
離している。インターフェース・モジュール121および125〜128は、本
来それぞれのファンクション・ブロックまたはサブシステムの一部である。10
2Dなどのファンクション・ブロックの中には、専用のインターフェース・モジ
ュールを必要としないものもある。サブシステム、ファンクション・ブロック、
およびインターフェース・モジュールの配置構成はフレキシブルであり、システ
ム設計者によって決められる。
【0020】 一実施形態では、ファンクション・ブロックには4つの基本タイプがある。4
つの基本タイプのブロックとは、イニシエータ、ターゲット、ブリッジ、および
スヌーピングである。典型的なターゲットはメモリ・デバイスであり、典型的な
イニシエータは中央処理装置(CPU)である。ファンクション・ブロックはす
べて、共用通信バス112または共用通信バス114および一実施形態のプロト
コルを介して相互に通信する。イニシエータおよびターゲットのファンクション
・ブロックは、インターフェース・モジュールを介して共用通信バスと通信する
ことができる。イニシエータ・ファンクション・ブロックは、イニシエータ・イ
ンターフェース・モジュールを介して共用通信バスと通信し、ターゲット・ファ
ンクション・ブロックは、ターゲット・インターフェース・モジュールを介して
共用通信バスと通信することができる。
【0021】 イニシエータ・インターフェース・モジュールは、それが関連付けられたファ
ンクション・ブロック以外のファンクション・ブロックとの間で、読取りおよび
書込み要求の発行および受取りを行う。一実施形態では、イニシエータ・インタ
ーフェース・モジュールは典型的には、CPU、デジタル信号処理(DSP)コ
ア、またはダイレクト・メモリ・アクセス(DMA)エンジンに接続される。
【0022】 図2は、イニシエータ・インターフェース・モジュール800の一実施形態を
示す構成図である。イニシエータ・インターフェース・モジュール800には、
クロック・ジェネレータ802、データ・フロー・ブロック806、アービトレ
ータ・ブロック804、アドレス/コマンド復号ブロック808、構成レジスタ
810、およびシンクロナイザ812が含まれる。イニシエータ・インターフェ
ース・モジュール800は、共用通信バス814およびイニシエータ・ファンク
ション・ブロック816に接続される。一実施形態では、共用通信バス814は
、図1でバス112が実行していたようにサブシステムを接続する共用通信バス
である。
【0023】 クロック・ジェネレータ802は、イニシエータ・ファンクション・ブロック
816が共用通信バス814に対して同期的であるが異なる周波数で動作すると
きに、クロック分割を実行するのに使用される。イニシエータ・ファンクション
・ブロック816が通信バス814に対して非同期的に動作する場合、クロック
・ジェネレータ802は使用されず、シンクロナイザ812が使用される。アー
ビトレータ・ブロック804は、共用通信バス814にアクセスするためのアー
ビトレーションを実行する。一実施形態では、アービトレータ・モジュール80
4が、第1レベルのアービトレーションの事前に割り振られた帯域幅アスペクト
を管理する論理回路と、第2レベルのアービトレーションを管理する論理回路と
を含む、多重レベル・アービトレーション・スキームが使用される。データ・フ
ロー・ブロック806には、共用通信バス814とイニシエータ・ファンクショ
ン・ブロック816との間のトランザクション管理に関連付けられた制御論理に
加えて、共用通信バス814とイニシエータ・ファンクション・ブロック816
との間のデータ・フロー先入れ先出し(FIFO)バッファが含まれる。FIF
Oバッファは、アドレス・ビットとデータ・ビットの両方を、共用通信バス81
4とイニシエータ・ファンクション・ブロック816との間で段階的に転送する
。一実施形態では、共用通信バス814がメモリ・マップ済みプロトコルを実施
する。基礎となるコンピュータ・バス・プロトコルに特有の詳細は本発明にとっ
て重要ではないが、これは、基礎となるコンピュータ・バス・プロトコルがいく
つかの動作の同時処理をサポートしていることを条件とする。本発明で使用する
バス・プロトコルの好ましい実施形態は、再試行トランザクションまたは分割ト
ランザクションをサポートするものであり、これは、これらのプロトコルが、他
の関連のないトランザクションに属している転送を実行させるために、多重サイ
クル・トランザクションを中断することによって、動作の同時処理を送達するた
めのメカニズムを提供するためである。イニシエータが以前にイニシエータによ
って要求されたデータを返すために長い待ち時間ターゲットを待つ間に、独立し
たトランザクションがバスを使用できるため、これらのプロトコルはより高い転
送効率を可能にすることができる。
【0024】 アドレス/コマンド復号ブロック808は、イニシエータ・ファンクション・
ブロック816に関連付けられたレジスタに対して書込みが実行されるかどうか
を判定するために、共用通信バス814上でアドレスを復号する。アドレス/コ
マンド復号ブロック808は、着信コマンドも復号する。構成レジスタ810は
、帯域幅割振りおよびクライアント・アドレス・ベースを含むモジュール800
の状態を判定するビットを格納する。1つのレジスタ810が、イニシエータ・
ファンクション・ブロック816を固有に識別するビット・セットである識別番
号(ID)を格納する。
【0025】 図3は、ターゲット・インターフェース・モジュール900の一実施形態を示
す構成図である。ターゲット・インターフェース・モジュール900は、共用通
信バス914およびターゲット・ファンクション・ブロック918に接続される
。ターゲット・インターフェース・モジュール900は、クロック・ジェネレー
タ902、データ・フロー・ブロック906、アドレス/コマンド復号ブロック
908、シンクロナイザ912、および状態制御ブロック内の状態レジスタ91
6を含む。イニシエータ・モジュール800のブロックと同様に命名されたター
ゲット・インターフェース・モジュール900のブロックは、イニシエータ・ブ
ロック800に関して説明した方法とほぼ同じ方法で機能する。状態レジスタお
よび状態制御ブロック916は、たとえばクライアント・アドレス・ベースおよ
びターゲット・ファンクション・ブロック918の識別子を格納するレジスタを
含む。
【0026】 一実施形態では、イニシエータ・ファンクション・ブロック816などのイニ
シエータ・ファンクション・ブロックが、他のファンクション・ブロックまたは
サブシステムからの信号に応答する機能、ならびに他のファンクション・ブロッ
クまたはサブシステムに信号を送ることによってアクションを開始する機能を有
するので、ターゲット・ファンクション・ブロックとしても動作可能である。
【0027】 図4は、一実施形態に従ったコンピュータ・システム1000の一部を示す構
成図である。図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で送信される。
【0028】 図5は、共用通信バス1012の一実施形態を示す構成図である。この図で共
用通信バス1012は、インターフェース・モジュールまたはファンクション・
ブロックであってもよいエンティティA、B、C、D、およびEに接続されてい
る。共用通信バス1012は、ワイア・セットからなる。データ・ワイア230
は、共用通信バス1012上にあるファンクション・ブロック間に、直接かつ効
率の高いデータ・トラフィック移送を提供する。一実施形態では、共用通信バス
1012が、別々のアドレス・ワイア、データ・ワイア、および接続識別ワイア
を使用する、フレーム化、時分割多重化、完全パイプライン式の、固定待ち時間
通信プロトコルである、バス・プロトコルをサポートする。このバス・プロトコ
ルは、高度な動作の同時処理を可能にするために転送の細粒度インターリーブを
サポートし、待ち時間が長いかまたは変化するターゲット・デバイスからのトラ
ンザクション読取りを効率良く実施するために、再試行トランザクションを使用
する。共用通信バス1012にアクセスするのに使用されるアービトレーション
方法についての詳細は、本発明を理解する上では必要でない。イニシエータ・フ
ァンクション・ブロックがコマンドおよびアドレスを駆動してからターゲット・
ファンクション・ブロックが応答を駆動するまでの遅延が、共用通信バス101
2の待ち時間として知られている。バス・プロトコルは、バスにアクセスするた
めの、多くのイニシエータ・ファンクション・ブロックおよびターゲット・ファ
ンクション・ブロック間でのアービトレーションをサポートする。図示された実
施形態では、共用通信バス1012にアクセスするためのアービトレーションが
、図4のモジュール1004などのイニシエータ・インターフェース・モジュー
ルによって実行される。他の実施形態では、アービトレーションは、ファンクシ
ョン・ブロックによって直接実行されるか、またはインターフェース・モジュー
ルとファンクション・ブロックとの組み合わせによって実行される。一実施形態
では、バス認可は1パイプライン式バス・サイクルの間持続する。プロトコルは
、単一のファンクション・ブロックが連続するバス・サイクルの間、バス所有者
になることを禁止しないが、そのファンクション・ブロックが権利を得るために
連続するサイクルでのアービトレーションを首尾良く勝ち取ることを要求する。
【0029】 共用通信バス1012には、別々のアドレス・ワイア、データ・ワイア、およ
び制御ワイアが含まれる。他の実施形態では、単数または複数のワイアを共用す
る多重化されたアドレス信号、データ信号、および制御信号を含むこともできる
。このような実施形態では、ワイアがアドレス転送とデータ転送で共用されるた
め、1ワイア当たりの転送効率が高くなる。共用通信バス1012の多重化され
ていない実施形態は、ワイアが相対的に安価であり、通常は単一の集積回路チッ
プに関する性能要件が高いことにより、単一の集積回路チップ上にあるファンク
ション・ブロック間での通信に、より適している場合がある。
【0030】 クロック線220は、他のすべての共用通信バス1012信号が同期化される
時間基準信号を提供する、グローバル信号ワイアである。リセット線222は、
接続された各ファンクション・ブロックを強制的に、システム構成が開始できる
デフォルト状態にするグローバル信号ワイアである。コマンド線224は、イニ
シエータ・バス所有者によって駆動されるマルチビット信号を搬送する。様々な
実施形態で、マルチビット・コマンド信号は様々なタイプの情報を搬送すること
ができる。たとえばコマンド信号は、転送タイプ、接続持続期間に関する情報、
ならびに接続中に予測されるイニシエータおよびターゲットの挙動を示すことが
できる。一実施形態では、コマンド信号に、接続の初めおよび終わりを示す1つ
または複数のビットが含まれる。一実施形態では、たとえば1つのビットが接続
状況を示すことができる。ビットがゼロの場合、現在の転送は接続の最終転送で
ある。ゼロの接続状況ビットを受け取った後、次に論理ビットである接続状況ビ
ットを受け取った場合、その転送は新しくオープンした接続の最初の転送である
ことを示す。その後に続けて1つずつ接続状況ビットを受け取れば、接続が依然
としてオープンになっていることを示す。
【0031】 この実施形態でサポートされている転送タイプには、読取り転送および書込み
転送が含まれるが、これらに限定されるものではない。アドレス線228は、現
在の転送中に読み取られるかまたは書き込まれるオブジェクトのアドレスを指定
するために、イニシエータ・バス所有者によって駆動されるマルチビット信号を
搬送する。応答線232は、現在の転送の状況を示すために、ターゲットによっ
て駆動されるマルチビット信号を搬送する。サポートされる応答には次のような
応答が含まれるが、これらに限定されるものではない。NULL応答は、おそら
くアドレスがどんなターゲットも選択しないため、現在の転送が打ち切られるこ
とを示す。データ有効受入れ(DVA)応答は、読取りの場合、要求されたデー
タをターゲットがデータ線230で返していることを示す。書込みの場合、DV
A応答は、ターゲットがデータ線230から提供されたデータを受け入れている
ことを示す。BUSY応答は、選択されたターゲットにリソース衝突があり、現
在の要求を処理できないことを示す。この場合、イニシエータは転送を後にもう
一度再試行しなければならない。RETRY応答は、選択されたターゲットが要
求された読取りデータを適時に送達できないことを示すが、後にそのように実行
することを約束する。この場合、イニシエータは後に転送を再試行しなければな
らない。
【0032】 接続識別子(CONNID)線226は、現在の転送がどの接続の一部である
かを示すために、イニシエータ・バス所有者によって駆動されたマルチビット信
号を搬送する。接続とはイニシエータによって確立された、データがイニシエー
タと関連付けられたターゲットとの間を通過す論理状態である。典型的にはCO
NNIDが転送を開始し、転送が処理されなければならない順序に関する情報を
順序付けする、ファンクション・ブロックのアイデンティティを含む情報を伝送
する。一実施形態では、CONNIDによって搬送される情報には、他の転送に
関する転送の優先順位に関する情報が含まれる。一実施形態では、CONNID
は8ビット・コードである。イニシエータ・インターフェース・モジュールは、
接続の最初のアドレス転送と共に固有のCONNIDを送信する。この接続に関
連付けられたその後の転送(たとえばデータ転送)がCONNID値を提供し、
その結果、送信者および受信者(ならびに共用通信バス1012上の転送を監視
する任意のデバイス)は、接続に関連付けられた転送を明白に識別することがで
きる。CONNIDを使用する一利点は、異なるトランザクションに属する転送
を、複数のデバイス間でサイクルごとに自由裁量によってインターリーブできる
ことである。一実施形態では、共用通信バス1012が、正しいシステム動作を
保証するためにトランザクションを介した厳しい制御を必要とする、完全なパイ
プライン式プロトコルを実施する。CONNIDを使用しないと、特定の接続に
関連付けられた転送が識別されないため、特定トランザクション内での順序付け
制約に違反する可能性がある。
【0033】 第1のコマンドがBUSY応答によって拒絶されたとしても、その後のコマン
ドがすでに発信されてしまっていることがあるため、コマンドが完了するまで完
全制御できるメカニズムを提供することが不可欠である。現在このような制御が
なければ、あいまいなシステム挙動が生じる可能性がある。たとえば、単一のイ
ニシエータ・インターフェース・モジュールが一連の従属する読取りおよび書込
みコマンドを発行すると、そのコマンドの1つに対するBUSY応答により、そ
の後のコマンドが誤ったデータを返す可能性がある。このような問題に対する解
決策の1つが、従属コマンドのオーバーラップを避けることである。ただしこの
解決策は、正しい結果を保証するために、あらゆる従属コマンドの待ち時間を増
加させてしまう。本発明は、部分的にCONNID信号を使用し、従属コマンド
のオーバーラップを可能にするものである。したがって、CONNIDを使用す
ることにより、システムの性能および効率が改善される。本発明のCONNID
の他の利点は、共用ファンクション・ブロックが、接続間で異なる可能性のある
サービス保証の質に基づいて要求に応答できるようにするため、通信システムの
予測精度が高まることである。たとえば、コンピュータ・ディスプレイを動作さ
せるように要求するデータの場合、遅延が発生するとディスプレイにちらつきを
引き起こすので、予測不可能な遅延は許されない。したがって、CONNIDを
使用してディスプレイ制御装置からのデータ要求に優先順位をつけることにより
、ディスプレイ制御装置から共通リソースへの要求が他の要求より前に処理され
る。本発明は、システム性能を再調整するために、CONNIDをフレキシブル
に再構成することも可能である。
【0034】 図6は、共用通信バス1012上の2つの書込み転送からなる、パイプライン
式書込みトランザクションを示すタイミング図である。図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サイクル、
アービトレーション、要求、遅延、および応答が含まれる。
【0035】 図6には2つの転送が示されている。サイクル1では、イニシエータEがRE
Qフィールド340を駆動して、アドレスADDRE0にWRITE転送を要求
する。このプロセスが転送要求発行と呼ばれる。一実施形態では、ADDRE0
の外部アドレス部分を復号することによって書込みデータを受け取るために、単
一のターゲットが選択される。サイクル3(その後のREQ−RESP待ち時間
)では、イニシエータEがDATAワイア上の書込みデータDATAE0を駆動
し、それと同時に、選択されたターゲットAがDVAコードを伴うRESPワイ
ア342を駆動して、Aが書込みデータを受け入れることを示す。サイクル3の
終わりには、ターゲットAが書込みデータを獲得しており、イニシエータEは、
ターゲットAが書込みデータを受け入れることができたことを検出するため、転
送は首尾良く完了したということである。
【0036】 その間(すなわち依然としてサイクル3である)、イニシエータEはパイプラ
イン式WRITE転送(アドレスADDRE1)をターゲットAに発行する。こ
の転送に対する書込みデータおよびターゲット応答は、双方ともサイクル5で発
生し、ここで転送は首尾良く完了する。多くのシステムおよびサブシステムの正
しい動作は、関連する転送の正しい順序付けに依拠する。したがって、正しいシ
ステム動作には、サイクル3のWRITEがサイクル1のWRITE転送の後に
完了することが必要な場合がある。図6では、CONNIDフィールドが、強制
的に正しい順序付けをさせるのに使用できる転送の原点に関する非常に重要な情
報を搬送する。順序付け制約の好ましい実施形態は、たとえパイプライン式の転
送中であっても、正しい順序付けを保証するために、イニシエータおよびターゲ
ットが協働することである。これは、転送のパイプライン化によって転送セット
(おそらく単一のトランザクション)の総待ち時間が減少し、その結果(待ち時
間が減少し使用可能帯域幅が増加することによって)システム性能が向上するの
で重要である。
【0037】 一実施形態のアルゴリズムによれば、 1.イニシエータは、 a)CONNIDと一致する転送要求セットの中で、転送Yが最も古く、未
発行で未リタイアの転送である場合、または b)CONNIDと一致しており、古い未リタイアのすべての転送が、現在
転送Yと同じターゲットに発行されている場合、転送Yを発行することができる
。この規定の下で発行された場合、転送Yは、古い未リタイアの転送とパイプラ
イン化されているとみなされる。 2.イニシエータが転送をリタイアさせることのないような方法で転送Xに応
答するターゲットは、Xとパイプライン化されている転送Xと同じCONNID
を使用して、その後のすべての転送に対してBUSY応答しなければならない。
【0038】 CONNIDと一致しており、新しい転送Xの後に発行される古い転送Yは、
たとえ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転送とオーバーラップしていても、パイプライン式転送ではないので、完
了することができる。
【0039】 ターゲットAは、CMD値またはADDR値によってではなく、いつ発生した
かおよびどのCONNIDを提示しているかによって、サイクル4の書込みが任
意の以前の転送とパイプラインされていないと判定することに留意されたい。ア
ルゴリズムのステップ1は、イニシエータが、所与の接続内で最も古い未発行で
未リタイアの転送のみを発行することを保証する。したがって、いったん第1の
WRITE ADDRE0がサイクル3でBUSY応答を受け取ると、その後は
発行されないため、発行資格のある唯一のCONNID=1転送となる。したが
って、初めのサイクル1転送がBUSY応答を受け取り、REQ−RESP待ち
時間が2サイクルであることを考えると、正しく動作しているイニシエータがサ
イクル4でパイプライン式転送を発行するのは不可能である。
【0040】 イニシエータの一実施形態は、所与のCONNID内で、所望の転送からなる
時間順に順序付けされた待ち行列を維持する。各転送は待ち行列に入るときに、
未発行および未リタイアとしてマークされる。待ち行列内で直前のエントリが未
リタイアであり同じターゲットを対象としている場合は、パイプライン済みとし
てもマークされるが、そうでない場合は、新しい転送が未パイプラインとしてマ
ークされる。転送が発行されるたびに、発行済みとしてマークされる。転送が完
了すると(すなわちRESPサイクルが終了すると)、転送は未発行とマークさ
れる。転送が首尾良く完了するとリタイア済みとしてマークされ、待ち行列から
削除することができる。転送が首尾良く完了しないと、典型的には再試行される
ことになり、したがって再発行のためにアービトレーションに戻ることができる
。転送が首尾良く完了せず、再試行もされない場合は、その後、次の転送が存在
すれば、それが発行済みとしてマークされなくなるまでは、リタイア済みとして
マークしてはならない。この制約によって、イニシエータ論理が順序外れで発行
するのを防ぐ。最も古い未リタイアの転送が発行されると、これは発行済みとし
てマークされる。そのため、2番目に古い未リタイアの転送は、パイプライン済
みとしてマークされていれば、最も古い転送が完了するまで(すなわち未発行で
あるとマークされるまで)発行をアービトレーションすることができる。
【0041】 ターゲット実施の一実施形態では、深さがREQ−RESP待ち時間と一致す
る、時間順に順序付けされた待ち行列を維持する。待ち行列はバス・クロックと
は別に動作するため、待ち行列内で最も古いエントリは各バス・サイクルでリタ
イアし、同時に、新しいエントリが各バス・サイクルの待ち行列に加えられる。
現在のREQ位相からのCONNIDが新しい待ち行列エントリにコピーされる
。さらに、現在のREQ位相に(外部アドレスを介して)ターゲットを選択する
有効な転送が含まれる場合は、新しい待ち行列エントリ内の「第1」フィールド
および「ビジー」フィールドを設定することができるが、そうでない場合は第1
ビットおよびビジー・ビットは消去される。第1ビットは、現在の転送が(リソ
ースの衝突によって)BUSY応答を受け取り、待ち行列内にある前の転送が同
じCONNIDを持っておらず、その第1ビット・セットを有する場合に、設定
されることになる。第1ビットは、現在の転送が、強制的に順序付けするために
BUSY応答される必要のない、潜在的にパイプライン式の転送の第1セットで
あることを示唆するものである。ビジー・ビットは、ターゲットにリソース衝突
があるか、または待ち行列内にある前の転送のうち1つが同じCONNIDを有
し、第1ビット・セットを有する場合に、設定される。この論理は、REQ−R
ESPのパイプライン待ち時間を強制することで、イニシエータが最初にマーク
された転送へのBUSY応答に反応できるまでは、ターゲットがパイプライン式
転送を受け入れないことを保証するものである。
【0042】 通信システム内のイニシエータおよびターゲットにアルゴリズムを適用するこ
とで、トランザクションの順序付けを維持しながら、転送をパイプライン化する
機能(これによって、接続当たりの帯域幅が増加し、総トランザクション待ち時
間が減少する)を提供する。したがってこのアルゴリズムは、接続当たりの高性
能を容易にするものである。パイプライン式バスの基本的なインターリーブ構造
によって、複数の論理トランザクションが互いにオーバーラップすることが可能
であり、その結果システム性能の改善が可能となり、接続当たりのピーク帯域幅
を超えるシステム帯域幅を持続させることができる。たとえば、図8は、イニシ
エータEがあらゆる他のバス・サイクルでターゲットAにデータを転送する必要
があり、イニシエータDがあらゆる他のバス・サイクルでターゲットBにデータ
を要求する、システム構成を実証する図である。通信システムは微細なインター
リーブ(バス・サイクル当たり)をサポートするので、トランザクションはファ
ンクション・ブロックの本来のデータ速度で発行する個々の転送からなり、これ
によって、ファンクション・ブロックにおけるバッファリング要件が少なくなり
、システム・コストが削減される。この例の総システム帯域幅は、任意のファン
クション・ブロックのピーク帯域幅の2倍であるため、高いシステム性能が実現
する。
【0043】 本発明は、効率および予測精度の領域で、システム・レベルの改善を加えるも
のである。第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が接続を区別できない場合のような)無駄になるバス・
サイクルの数が減少するため、全体的なシステム効率が上昇する。
【0044】 第2に、一実施形態では、接続識別子がターゲットにどの要求を拒絶するかを
選択させることができる。ターゲットは、CONNID値に対する転送優先順位
などの手段を関連付けることができるので、CONNID値とターゲットの内部
状態との組み合わせに基づいて、どの要求に対して作用するかを決定する。たと
えば、ターゲットは優先順位の異なる転送要求を格納するために、別々の待ち行
列を有する場合がある。図9を参照すると、ターゲットは、優先順位の低い要求
(奇数のCONNIDで示される)用の待ち行列と、優先順位の高い要求(偶数
のCONNIDで示される)用の待ち行列とを有する場合がある。したがって、
サイクル1のCONNID 1 WRITE ADDRE0要求は、優先順位の
低い待ち行列が一杯であると拒絶されるが、CONNID 2 READ AD
DRD0転送は、使用可能な優先順位の高い待ち行列リソースに基づいて、首尾
良く完了することができる。このような転送優先順位の違いは、高度に統合され
た電子システムでは非常に一般的であり、品質の高いサービスを優先順位の高い
転送要求に送達するターゲットの機能によって、システム全体の予測精度が大幅
に向上する。
【0045】 図9で示唆しているように、前述のアルゴリズムによって、ターゲットは、複
数のCONNID値からの同時の転送要求を積極的に満たすことができる。した
がって、同じターゲットとの間で複数の論理トランザクションを交信することが
できるが、ただし、別々のCONNID値を有することを条件とする。したがっ
て、本発明は、1つのターゲット・ファンクション・ブロックについて複数の接
続をサポートする。
【0046】 さらに、イニシエータは、通信システムに複数のトランザクションを同時に提
示する機能を必要とする場合がある。このような機能は、2つのターゲット間で
データを転送する、ダイレクト・メモリ・アクセス(DMA)デバイスなどのイ
ニシエータにとって非常に有用である。このような応用例では、DMAイニシエ
ータは、第1のCONNIDを使用して、読取りトランザクションをデータの発
信元である第1のターゲットに提示し、さらに第2のCONNIDを使用して、
書込みトランザクションをデータの宛先である第2のターゲットに提示する。転
送レベルで、読取り転送および書込み転送をインターリーブすることができる。
これによって、DMAイニシエータ内のデータ記憶域容量が減少し、システム・
コストが削減される。このような配置構成が図10に示されている。ここでイニ
シエータEは、ターゲットAからのパイプライン式読取り転送と、ターゲットB
へのパイプライン式書込み転送とをインターリーブする。したがって、本発明は
、1つのイニシエータ・ファンクション・ブロックについて複数の接続をサポー
トする。
【0047】 アルゴリズムに関して上記で述べたように、本発明の実施をサポートするのに
必要な制御構造は単純であり、効率の良い微細な転送のインターリーブを提供し
ない従来のプロトコルに関連付けられたデータ・バッファリング領域よりも、少
ない領域しか必要としない。したがって本発明は、通信システムの領域および複
雑さを最小限にすると同時に、高い性能およびフレキシビリティを発揮するもの
である。
【0048】 最終的に、転送優先順位などの有用な情報を提供しながらも、実施コストを最
小にするために、典型的には特定のイニシエータ・トランザクションに関連付け
られたCONNID値を選択しなければならない。システム設計時に特有のCO
NNID値を選択することが有用であり、その結果、その値は固有であることが
保証可能であって、比較および他の動作を簡単にするために順序付けることがで
きる。さらに、システムの性能および予測精度のアスペクトを変更できるように
、通信動作中にCONNID値を変更できることがしばしば有用である。本発明
の好ましい実施形態は、CONNID値をファンクション・ブロックのROMま
たはRAMリソース内に格納することによって、フレキシブルなシステム構成を
可能にし、その結果、システム構築時またはシステム実行時のどちらでも容易に
再構成することができる。
【0049】 図11は、図4に示されたような2地点間相互接続である相互接続1010を
示す図である。相互接続1010には、図5を参照しながら説明したプロトコル
と比較される追加の信号が含まれる。以下で説明するように、追加信号の中には
、相互接続1010のような2地点間相互接続を介して送られる信号として特に
有用なものがある。相互接続1010のプロトコルは、専用(非共用)の相互接
続を介したマスター・エンティティ1102とスレーブ・エンティティ1104
との間の2地点間転送を制御する。図4を参照すると、マスタ・エンティティは
たとえばイニシエータ・ファンクション・ブロック1002またはターゲット・
インターフェース・モジュール1006であってよい。スレーブ・エンティティ
は、たとえばイニシエータ・インターフェース・モジュール1004またはター
ゲット・ファンクション・ブロック1008であってよい。
【0050】 図11に示された信号には、信号名が符号付けされる。さらに、信号名の中に
は、後に、丸括弧または角括弧で囲まれた記号が続くものもある。記号とは、次
のものである。 (I)この信号はオプションであり、独立して構成可能である。 (A)この信号は、同じ記号を有する信号とともに構成されなければならな
い。 (AI)この信号は、(A)インターフェース・モジュールが存在する場合
は、独立して構成可能である。 [#]最大信号幅である。
【0051】 クロック信号は、接続されたファンクション・ブロックのクロックである。コ
マンド(Cmd)信号は、バス上の転送タイプを示す。コマンドは、データとは
無関係に発行することができる。アドレス(Addr)信号は、典型的にはイニ
シエータ・ファンクション・ブロックがアクセスしようとする特定のリソースを
示すものである。要求受入れ(ReqAccept)はハンドシェイク信号であ
り、これによってスレーブ1104は、マスター1102が1つの転送からCm
d、Addr、およびDataOutをリリースし、それらを他の転送用に再使
用できるようにする。スレーブ1104がビジーであり要求された転送に参加で
きない場合、マスター1102はCmd、Addr、およびDataOutの提
示を継続しなければならない。DataOutは、典型的には書込み転送におい
て、マスターからスレーブに送信されたデータである。DataInは、典型的
には読取りデータを搬送する。
【0052】 応答(Resp)およびDataInは、スレーブ1104からマスター11
02に送信された信号である。Respは、スレーブ1104によって受け取ら
れた転送要求が処理されたことを示す。応答受入れ(RespAccept)は
、マスターがスレーブのRespおよびDataInのリリースを可能にするも
のであるかどうかを示すのに使用される、ハンドシェイク信号である。
【0053】 一実施形態では、信号Clock、Cmd、Addr、DataOut、Re
qAccept、Resp、DataIn、およびRespAcceptが、イ
ンターフェース・モジュール信号の基本セットを形成する。ファンクション・ブ
ロックの中には、この基本セットが通信目的に適しているものもある。
【0054】 他の実施形態では、バス1012の残りの信号の一部またはすべてが使用され
る場合がある。一実施形態では、Widthは、転送の幅を示す3ビット信号で
あり、可変幅の転送を含む接続で有用である。Burstはマルチビット信号で
あり、接続内で個々のコマンドを関連付けることができる。Burstは、今後
の転送数、および予測される任意のアドレス・パターンなど、将来の転送の性質
を示すものである。Burstには標準のエンド・マーカーがある。Burst
フィールドの一部のビットは、ユーザ定義フィールド用に予約されるため、通信
は、接続内にある特有のプロトコルの一部詳細について知らなくてもかまわない
【0055】 割込みおよびエラー信号は、ほとんどのコンピュータ・システムで重要な部分
である。イニシエータまたはターゲットのファンクション・ブロックによって生
成される割込みおよびエラー信号が図示されているが、その機能性の詳細は特定
ファンクション・ブロックの性質によって異なり、本発明を理解する上で重要で
はない。
【0056】 一実施形態では、要求スレッド識別子(ReqThreadID)は4ビット
信号であり、スレーブ1104用に意図された現在のトランザクションに関連付
けられたスレッド番号を提供する。特定のスレッドIDで実行されるすべてのコ
マンドは、相互に関しては順序どおりに実行しなければならないが、他のスレッ
ドからのコマンドに関しては順序外れで実行することができる。応答スレッド識
別子(RespThreadID)は、現在の応答に関連付けられたスレッド番
号を提供する。スレッド内の応答は他のスレッドに関して順序外れで返される場
合があるので、RespThreadIDは、どのスレッドのコマンドに応答す
るのかを識別する必要がある。一実施形態では、ReqThreadIDおよび
RespThreadIDはオプションの信号であるが、使用する場合は両方と
も使用しなければならない。
【0057】 要求スレッド・ビジー(ReqThreadBusy)は、スレーブがマスタ
ーに対して、ある種のスレッドに関連付けられたいずれかの新しい要求が実行で
きないことを示せるようにするものである。一実施形態では、ReqThrea
dBusy信号は、スレッド当たり1つの信号を有するベクトルであり、アサー
トされた信号は、関連付けられたスレッドがビジーであることを示す。
【0058】 応答スレッド・ビジー(RespThreadBusy)は、マスターがスレ
ーブに対して、ある種のスレッドに関連付けられたいずれかの(たとえば読取り
に関する)応答が実行できないことを示せるようにするものである。RespT
hreadBusy信号は、スレッド当たり1つの信号を有するベクトルであり
、アサートされた信号は、関連付けられたスレッドがビジーであることを示す。
【0059】 要求接続識別子(ReqConnID)は、ターゲット用に意図された現在の
トランザクションに関連付けられたCONNIDを提供する。CONNIDは、
それによってシステム・エンティティが特定のトランザクションをシステム・エ
ンティティに関連付けることができるメカニズムを提供する。CONNIDの使
用法の1つは、様々なイニシエータ間で要求の優先順位を確立することである。
他の使用法は、アクションまたはデータ転送を、トランザクション要求で提示さ
れたアドレスではなく、イニシエータ・アイデンティティに関連付けることであ
る。
【0060】 図11の実施形態は、CONNIDに終端間接続識別を提供し、さらにThr
ead IDに2地点間識別またはよりローカルな識別を提供する。Threa
d IDは、インターフェース・モジュールとその接続されたファンクション・
ブロックとの間の転送を単純に識別するローカル範囲の識別子である。対照的に
、CONNIDは、2つのインターフェース・モジュール(および必要であれば
それらの接続されたファンクション・ブロック)間の転送を識別するグローバル
範囲の識別子である。
【0061】 Thread IDは、接続されたインターフェース・モジュールおよびファ
ンクション・ブロック内のテーブルに直接インデックス付けできるように十分小
さいものでなければならない。対照的に、通常システム内には、インターフェー
ス・モジュールが同時に受け入れるように調整されている数よりも多くのCON
NIDがある。ThreadIDの代わりにCONNIDを使用するには、返さ
れたCONNIDを特定の要求またはバッファ・エントリと関連付けるために、
インターフェース・モジュール内に費用のかかる突き合わせ論理が必要である。
【0062】 ネットワーキングの類似性を使用すると、Thread IDはレベル2(デ
ータ・リンク層)の概念であり、これに対してCONNIDは、よりレベル3(
移送/セッション層)の概念に似ている。ファンクション・ブロックの中には、
レベル2でのみ動作するものもあるため、ファンクション・ブロックまたはその
インターフェース・モジュールに、レベル3のリソースを処理する費用を負担さ
せることは望ましくない。あるいは、ファンクション・ブロックの中にはレベル
3の接続機能を必要とするものもあるため、この場合は、CONNIDをファン
クション・ブロックに渡すことが実用的である。
【0063】 図4を参照すると、CONNIDは、共用通信バス1012上をインターフェ
ース・モジュール1004と1006との間で転送される場合、固有である必要
がある。CONNIDは、相互接続1010などのローカル相互接続を介して送
ることができる。ただし多くの場合、ファンクション・ブロックとそのインター
フェース・モジュールとの間でThread IDのみを使用する方がかなり効
率的である。たとえば、イニシエータ・ファンクション・ブロック1002は、
CONNIDによって提供されるすべての情報は必要としない場合がある。また
、システムによっては、同じCONNIDを備えた同一のイニシエータ・ファン
クション・ブロック1002が複数存在するため、イニシエータ・インターフェ
ース・モジュール1004内の論理が、「ローカル」CONNIDを固有の「グ
ローバル」CONNIDに変換しない限り、転送を受け取る特定のターゲット・
ファンクション・ブロック1008には、実際にはそれがどの接続の一部である
かがわからないことになる。インターフェース・モジュール内でのこのような変
換機能の設計および実施は、複雑で費用のかかるものである。このような場合、
CONNIDは、共用通信バス1012を介してインターフェース・モジュール
間で送られる可能性があり、Thread IDはファンクション・ブロックと
インターフェース・モジュールとの間で送られる。
【0064】 イニシエータ・ファンクション・ブロックの場合、Thread IDとCO
NNIDとの間に、1対1の静的対応が存在する場合がある。たとえば、Thr
ead IDが「1」の場合、特定のインターフェース・モジュールに単一のC
ONNIDがマッピングされ、同一のファンクション・ブロックが複数あるとい
う問題は解決される。
【0065】 ターゲット・ファンクション・ブロックの場合、Thread IDとCON
NIDとの間に、1対1の動的対応が存在する。ターゲット・ファンクション・
ブロックが2つの同時スレッドをサポートしている場合、ターゲット・インター
フェース・モジュールはオープン接続のCONNIDを獲得し、それを必要に応
じてスレッドに関連付ける。たとえば、ターゲット・インターフェース・モジュ
ールはCONNID「7」を受け取った後、CONNID 7をスレッド「0」
にマッピングする。その後、接続7が閉じるまで、CONNID 7を伴うすべ
ての転送がスレッド0に関連付けられる。
【0066】 Thread IDの使用法の一例である図12を参照し、システム内に一連
の同じダイレクト・メモリ・アクセス(DMA)エンジンがあると考えてみる。
図12では、要素1202は同一のDMAエンジンであり、それぞれがイニシエ
ータ・インターフェース・モジュール1204に接続される。イニシエータ・イ
ンターフェース・モジュール1204は共用通信バス1212に接続される。タ
ーゲット・インターフェース・モジュール1206も共用通信バス1212に接
続され、バス1212からのデータをターゲット・ファンクション・ブロックで
あるDRAM制御装置1208に伝送する。ターゲット・インターフェース・モ
ジュール1206は相互接続1214によってDRAM制御装置1208に接続
される。DRAM制御装置1208が、DRAM 1213へのアクセスを制御
する。
【0067】 DMAエンジンは、ターゲット・ファンクション・ブロックとしても機能する
イニシエータ・ファンクション・ブロックの一例である。DMAエンジンはソフ
トウェアによってプログラムされると、ターゲットとして作用する。その後、D
MAエンジンはイニシエータとなる。DMAエンジンは読取り動作および書込み
動作の両方を実行するため、2つの接続を単一のDMAエンジンに関連付けるこ
とができる。DMAエンジン内で何らかのバッファリングが使用可能であれば、
読取り動作および書込み動作が減結合され、その結果、どちらのタイプの動作も
同時に実行することができる。待ち時間の長い記憶デバイスから読取りが発生す
る可能性があり、書込み動作がデータを書き込む前に、読取りデータをDMAエ
ンジン上のバッファに入れる必要がある。一実施形態では、それぞれのDMAエ
ンジン1202がThread IDを使用して読み取りストリームを識別し、
別のThread IDを使用して書込みストリームを識別する。DMAエンジ
ンは、他のどのファンクション・ブロックがトランザクションに参加しているか
などの、その他の情報を必要としない。したがってCONNIDを、DMAエン
ジン1202から、接続されたインターフェース・モジュール1204に送る必
要がない。Thread IDのCONNIDへのマッピングが、インターフェ
ース・モジュール1204内で発生する。
【0068】 一実施形態では、各イニシエータ・インターフェース・モジュール1204が
、接続されたDMAエンジン1202から、固有のCONNIDを2つのThr
ead IDそれぞれにマッピングする。それぞれのDMAエンジン1202は
、たとえば図11のThread IDなどの単一ビットを使用して、2つのス
レッドを区別する。共用通信バスを介したそれぞれの転送について、固有のCO
NNIDがターゲット・インターフェース・モジュール1206に送られる。C
ONNIDは、たとえばグラフィック・データに関する要求には高い優先順位を
割り当てることなどの、優先順位情報を含むことができる。優先順位の高いグラ
フィック・データは、DRAM制御装置1208によって即時に処理されるが、
優先順位の低い要求は待機が必要な可能性がある。
【0069】 インターフェース・モジュールおよび通信プロトコルはインテリジェンスを組
み込んで設計されるため、DRAM制御装置1208およびDMAエンジン12
02などのファンクション・ブロックには、あまりインテリジェンスが要求され
ない。これには、システムが展開していくときに、ファンクション・ブロックを
より移植可能または再使用可能にする利点がある。たとえば、単にそれぞれの接
続されたインターフェース・モジュールを変更するだけで、優先度の高いアプリ
ケーションに使用されるDMAエンジンと、優先度の低いアプリケーションに使
用されるDMAエンジンを交換することができる。
【0070】 一実施形態では、ターゲット・インターフェース・モジュールおよびイニシエ
ータ・インターフェース・モジュールがトランジスタ・レベルでプログラムされ
るので、CONNID割当てを含む精密な機能がパワーアップ時に固定される。
他の実施形態では、インターフェース・モジュールの設計がRAMに入っている
ため、インターフェース・モジュールは再プログラム可能なリソースである。こ
の場合、インターフェース・モジュールは、ソフトウェアによるCONNIDの
再割当てを含み、再プログラムされる。
【0071】 以上、本発明を特有の実施形態に関して述べた。たとえば、本発明の実施形態
を、特定の信号を有するプロトコルを含む特定構成のシステムとして示してきた
。当技術分野の通常の技術者であれば、特許請求の範囲で述べたように、本発明
の精神および範囲を逸脱することなく、様々なシステム構成および様々な信号が
使用できることを理解されよう。
【図面の簡単な説明】
【図1】 本発明による複雑な電子システムの一実施形態を示す構成図である。
【図2】 システム・モジュールの一実施形態を示す図である。
【図3】 システム・モジュールの一実施形態を示す図である。
【図4】 通信バスの一実施形態を示す図である。
【図5】 パイプライン式の書込み転送を示すタイミング図である。
【図6】 第1のパイプライン式書込み転送の拒絶と、第2の書込み転送の成功を示すタ
イミング図である。
【図7】 パイプライン式の読取りおよび書込み転送のインターリーブを示すタイミング
図である。
【図8】 単一ターゲットへのインターリーブされた接続を示すタイミング図である。
【図9】 単一イニシエータからのインターリーブされた接続を示すタイミング図である
【図10】 コンピュータ・システムの一部の一実施形態を示す構成図である。
【図11】 通信バスの一実施形態を示す図である。
【図12】 コンピュータ・システムの一部の一実施形態を示す構成図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW (72)発明者 トムリンソン,ジェイ・エス アメリカ合衆国・95124・カリフォルニア 州・サン ホゼ・デル オロ ドライブ・ 5516 (72)発明者 ロビンソン,リサ・エイ アメリカ合衆国・95006・カリフォルニア 州・ボールダー クリーク・ブラックスト ーン ドライブ・16 Fターム(参考) 5B061 BA03 DD06 DD09 5B077 AA21 MM02

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも2つのファンクション・ブロックを含む通信シス
    テムであり、第1のファンクション・ブロックが接続を確立することによって第
    2のファンクション・ブロックと通信し、接続は、第1のファンクション・ブロ
    ックと第2のファンクション・ブロックとの間でデータを渡すことができる論理
    状態であって、 さらに前記通信システムが、それぞれのファンクション・ブロックに結合され
    、複数の信号を搬送するように構成されたバスを含み、複数の信号が、データ転
    送がその一部である特定の接続を示す接続識別子を含む、通信システム。
  2. 【請求項2】 複数の信号が、データ転送がその一部であるトランザクショ
    ン・ストリームを示すスレッド識別子をさらに含む請求項1に記載の通信システ
    ム。
  3. 【請求項3】 転送要求を送信するイニシエータ・ファンクション・ブロッ
    クと、 イニシエータ・ファンクション・ブロックおよびバスに結合されたイニシエー
    タ・インターフェース・モジュールと、 転送要求に応答するターゲット・ファンクション・ブロックと、 ターゲット・ファンクション・ブロックに結合されたターゲット・インターフ
    ェース・モジュールとをさらに含み、接続識別子が転送要求と共にイニシエータ
    ・インターフェース・モジュールからターゲット・インターフェース・モジュー
    ルに送信される請求項2に記載の通信システム。
  4. 【請求項4】 スレッド識別子が、ターゲット・インターフェース・モジュ
    ールからターゲット・ファンクション・ブロックへ、ならびにイニシエータ・イ
    ンターフェース・モジュールからイニシエータ・ファンクション・ブロックへ送
    信される請求項3に記載の通信システム。
  5. 【請求項5】 接続識別子が、ターゲット・インターフェース・モジュール
    からターゲット・ファンクション・ブロックへ、ならびにイニシエータ・インタ
    ーフェース・モジュールからイニシエータ・ファンクション・ブロックへ送信さ
    れる請求項4に記載の通信システム。
  6. 【請求項6】 接続識別子が、 転送優先順位と、 転送順序と、 転送が発せられたファンクション・ブロックとを含む情報を符号化するマルチ
    ビット値である請求項5に記載の通信システム。
  7. 【請求項7】 接続識別子が、イニシエータ・ファンクション・ブロックに
    関連付けられた複数の接続識別子の1つであり、さらに接続識別子が、イニシエ
    ータ・インターフェース・モジュールによってスレッド識別子にマッピングされ
    た請求項6に記載の通信システム。
  8. 【請求項8】 接続識別子が、同時接続をサポートするターゲット・ファン
    クション・ブロックに関連付けられた複数の接続識別子の1つであり、さらにタ
    ーゲット・ファンクション・ブロックがオープン接続の接続識別子を獲得し、接
    続識別子をスレッド識別子にマッピングする請求項7に記載の通信システム。
  9. 【請求項9】 複数の信号が、 ターゲット・ファンクション・ブロック用に意図された現在のトランザクショ
    ンに関連付けられたスレッド番号を示す要求スレッドID信号と、 ターゲット・ファンクション・ブロックからの転送がその一部であるスレッド
    を示す応答スレッドID信号と、 ターゲット・ファンクション・ブロックがある種のスレッドに関連付けられた
    新しい要求を受信できないことをイニシエータ・ファンクション・ブロックに示
    す要求スレッド・ビジー信号と、 イニシエータ・ファンクション・ブロックが、ある種のスレッドに関連付けら
    れたターゲット・ファンクション・ブロックからのどんな新しい応答も受信でき
    ないことを示す応答スレッド・ビジー信号とをさらに含む請求項2に記載の通信
    システム。
  10. 【請求項10】 コンピュータ・システム内のファンクション・ブロック間
    で通信するための方法であって、 複数の接続識別子を確立するステップを含み、各接続識別子が特定のデータ転
    送を特定の接続に関連付け、接続が、複数のファンクション・ブロックのイニシ
    エータ・ファンクション・ブロックと複数のファンクション・ブロックのターゲ
    ット・ファンクション・ブロックとの間でデータを渡すことが可能な論理状態で
    あり、特定のデータ転送が開始されたときに接続が確立され、 さらに前記方法が、第1の転送「Y」が、転送「Y」と同じ接続識別子を備え
    た転送要求セットの中で、最も古い、未発行で未リタイアの転送である場合に、
    イニシエータ・ファンクション・ブロックが転送「Y」を発行できるようにする
    ステップを含む方法。
  11. 【請求項11】 同じ接続識別子を備えたあらゆる未リタイアの転送が、転
    送「Y」よりも古く、現在転送「Y」と同じターゲット・ファンクション・ブロ
    ックに発行されている場合に、イニシエータ・ファンクション・ブロックが転送
    「Y」を発行できるようにするステップをさらに含む請求項10に記載の方法。
  12. 【請求項12】 転送「Y」が発行された場合、転送「Y」は古い未リタイ
    アの転送とパイプライン化されるとみなされる請求項11に記載の方法。
  13. 【請求項13】 ターゲット・ファンクション・ブロックが転送「X」に応
    答した結果、転送「X」を開始しているイニシエータが転送「X」をリタイアで
    きない場合に、転送「X」とパイプライン化され転送「X」と同じ接続識別子を
    有するあらゆるその後の転送に、BUSY応答を与えるターゲット・ファンクシ
    ョン・ブロックのステップをさらに含む請求項10に記載の方法。
  14. 【請求項14】 転送「X」の後に発行された転送「Y」が転送「X」より
    も古く、トランザクション「X」とパイプライン化されていないとみなされる転
    送「X」と同じ接続識別子を有する請求項13に記載の方法。
  15. 【請求項15】 ターゲット・ファンクション・ブロックが、転送がいつ発
    生するものであるかと、転送に関連付けられた接続識別子とに基づいて、転送が
    パイプライン式転送であるかどうかを判定する請求項12に記載の方法。
  16. 【請求項16】 イニシエータ・ファンクション・ブロックが、同じ接続識
    別子を備えた所望の転送の時間順に順序付けられた待ち行列を維持するステップ
    と、 イニシエータ・ファンクション・ブロックが、転送が待ち行列に入れられると
    きに、転送を未発行で未リタイアであるとしてマークするステップとをさらに含
    む請求項14に記載の方法。
  17. 【請求項17】 次に古いエントリが未リタイアで、同じターゲット・ファ
    ンクション・ブロックを対象とする場合、転送をパイプライン済みとしてマーク
    するステップと、 転送を未パイプラインとしてマークするステップとをさらに含む請求項16に
    記載の方法。
  18. 【請求項18】 転送が発行されるときに、転送を発行済みとしてマークす
    るステップをさらに含む請求項17に記載の方法。
  19. 【請求項19】 転送が完了したときに、転送を未発行としてマークするス
    テップをさらに含む請求項18に記載の方法。
  20. 【請求項20】 転送が首尾良く完了した場合、転送をリタイア済みとして
    マークするステップと、転送を待ち行列から削除するステップとをさらに含む請
    求項19に記載の方法。
  21. 【請求項21】 転送が首尾良く完了しなかった場合、転送を再試行するス
    テップをさらに含む請求項20に記載の方法。
  22. 【請求項22】 ターゲット・ファンクション・ブロックが、転送に関する
    要求と要求への応答との間のバス・クロック・サイクルの数である深さを有する
    、時間順に順序付けられた待ち行列を維持するステップをさらに含む請求項14
    に記載の方法。
  23. 【請求項23】 バス・クロックの各サイクルで、時間順に順序付けられた
    待ち行列の中で最も古いエントリをリタイアするステップと、 バス・クロックの各サイクルで、転送に関する現在の要求に関連付けられた接
    続識別子を含む新しいエントリを、時間順に順序付けられた待ち行列に加えるス
    テップとをさらに含む請求項22に記載の方法。
  24. 【請求項24】 転送に関する現在の要求が、ターゲット・ファンクション
    ・ブロックを選択する有効な転送を含む場合、時間順に順序付けられた待ち行列
    内にあるエントリのFIRSTビットおよびBUSYビットを設定できるように
    するステップをさらに含み、設定されたFIRSTビットが、関連付けられた転
    送が潜在的にパイプライン式の転送セットの第1の転送であることを示唆するも
    のであって、 FIRSTビットおよびBUSYビットを消去するステップをさらに含む請求
    項23に記載の方法。
  25. 【請求項25】 時間順に順序付けられた待ち行列に、現在の転送より前の
    ものであり、現在の転送と同じ接続識別子を有し、関連付けられたFIRSTビ
    ット・セットを有する転送がない場合、および 現在の転送がリソース衝突によってBUSY応答を受け取ることになる場合に
    、FIRSTビットを設定するステップをさらに含む請求項24に記載の方法。
  26. 【請求項26】 ターゲット・ファンクション・ブロックにリソース衝突が
    ある場合、または 時間順に順序付けられた待ち行列にある以前の転送が、関連付けられたFIR
    STビット・セットを有し、現在の転送と同じ接続識別子を有する場合に、BU
    SYビットを設定するステップをさらに含む請求項24に記載の方法。
  27. 【請求項27】 転送間の順序付けを強制するために接続識別子を使用する
    ステップをさらに含む請求項26に記載の方法。
  28. 【請求項28】 第1のバス・サイクル内で発行されたデータ転送に関する
    第1の要求に応答して、ターゲット・ファンクション・ブロックが、第1の時間
    順に順序付けられた待ち行列エントリにBUSYビットを設定するステップをさ
    らに含み、第1の接続識別子が第1の要求に関連付けられており、 第1のバス・サイクルに続く次のバス・サイクルでの、データ転送に関する第
    2の要求に応答して、ターゲット・ファンクション・ブロックが、第2の時間順
    に順序付けられた待ち行列エントリ内にあるBUSYビットを消去し、第2の要
    求で要求されたデータ転送の実行と関連してアクションを実行するステップをさ
    らに含む請求項27に記載の方法。
JP2000582902A 1998-11-13 1999-11-12 多重レベル接続識別を備えた通信システム Expired - Lifetime JP4083987B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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