JP4598270B2 - ソース同期および共通クロック・プロトコルによるデータ転送 - Google Patents
ソース同期および共通クロック・プロトコルによるデータ転送 Download PDFInfo
- Publication number
- JP4598270B2 JP4598270B2 JP2000540501A JP2000540501A JP4598270B2 JP 4598270 B2 JP4598270 B2 JP 4598270B2 JP 2000540501 A JP2000540501 A JP 2000540501A JP 2000540501 A JP2000540501 A JP 2000540501A JP 4598270 B2 JP4598270 B2 JP 4598270B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- signals
- strobe
- group
- agent
- 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.)
- Expired - Lifetime
Links
- 238000012546 transfer Methods 0.000 title claims description 160
- 230000001360 synchronised effect Effects 0.000 title claims description 70
- 230000004044 response Effects 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 16
- 230000007704 transition Effects 0.000 claims description 11
- 230000000630 rising effect Effects 0.000 claims description 9
- 230000000295 complement effect Effects 0.000 claims 4
- 238000005070 sampling Methods 0.000 claims 3
- 239000003795 chemical substances by application Substances 0.000 description 110
- 239000000872 buffer Substances 0.000 description 20
- 240000007320 Pinus strobus Species 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000003111 delayed effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction 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
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Description
(発明の分野)
本発明は、コンピュータ・システムにおけるデータ転送の分野に関する。
【0002】
(発明の背景)
現代のコンピュータ・システムは一般に、それぞれシステム・バスに結合された多数のエージェントを含んでいる。一般に、エージェントは、各エージェントをバスに結合する多数のピンを備えた集積回路パッケージである。エージェントには、たとえば、プロセッサ、メモリ・デバイス、大容量記憶デバイスなどが含まれることがある。コンピュータ・システムが適切に動作するために、エージェントはバスを介して互いに有効に通信することができなければならない。
【0003】
既存のコンピュータ・システムは一般に、データをコンポーネントまたはエージェントの間で事前に定めたクロッキング・スキームに従って転送する。システム・バス・クロックは一般に、送信デバイスから受信デバイスへデータをクロックする。したがって、データを1つのデバイスから別のデバイスへ転送するには、システム・バス・クロックの少なくとも1つの完全なクロック・サイクルを要する。
【0004】
しかし、データ転送速度を上げるために、データをソース同期式で転送することもできる。ソース同期転送では、ストローブがデータ転送と共に送信される。このストローブは、一般にシステム・バス・クロックの周期よりも短い時間周期で、データを受信デバイス内にラッチする。
【0005】
ソース同期ラッチ・プロトコルは、より大きい周波数でバスを動作させる。たとえば、共通クロック転送では1チャンクを駆動するのに要する時間で、バス上では2チャンクのデータを駆動することができる。
【0006】
結果として、転送される信号数に対応して増加することのなく、データを転送する帯域幅を増大させるために、ソース同期プロトコルを使用してデータを転送し、共通クロック・プロトコルを使用して制御信号を転送するシステムを提供することが有利となる。
【0007】
(発明の概要)
本発明は、コンピュータ・システムにおいてバス・エージェントの間でデータを転送する方法および装置を提供する。本発明は、制御信号を第1のエージェントから第2のエージェントへ、第1の転送プロトコルを介して転送すること、および、この制御信号に対応するデータを第1のエージェントから第2のエージェントへ、第2の転送プロトコルを介して転送することを含む。
【0008】
(詳細な説明)
コンピュータ・システムにおいて、共通クロック・プロトコルを介して制御信号を転送し、ソース同期プロトコルを介してデータを転送する方法および装置を説明する。制御信号の転送は、システム・バス・クロックによってクロックされ、データの移行は、データ・ソースによって転送されたストローブによってクロックされる。
【0009】
図1は、マルチ・プロセッサ・コンピュータ・システムのブロック図であり、本発明の実施形態で使用できるものである。コンピュータ・システム100は、バス101に結合された、プロセッサ、バス・ブリッジ、メモリ・デバイス、周辺デバイスなどの異なるエージェントの間の通信のためのプロセッサ・メモリ・バス101を含む。プロセッサ・メモリ・バス101は、調停バス、アドレスバス、データバスおよび制御バス(図示せず)を含む。一実施形態では、各プロセッサ102、103、104および105は、一般にレベル1(L1)キャッシュ・メモリと呼ばれ、一時的にデータおよび命令を格納する小容量で極度に高速な内部キャッシュ・メモリ(図示せず)を関連するプロセッサと同じ集積回路上に含む。また、より大容量のレベル2(L2)キャッシュ・メモリ106がプロセッサ105に結合され、プロセッサ105が使用するためのデータおよび命令を一時的に格納する。他の実施形態では、メモリ106などのL2キャッシュを、プロセッサ102〜105のいずれか1つに結合することができる。
【0010】
プロセッサ・メモリ・バス101でメモリおよび入力/出力(I/O)サブシステムへのアクセスを行うことができる。メモリ・コントローラ122がプロセッサ・メモリ・バス101に結合され、プロセッサ102〜105のための情報および命令を格納するランダム・アクセス・メモリ(RAM)または他の動的記憶デバイス121(一般にメイン・メモリと呼ばれる)へのアクセスを制御する。表示デバイス132、キーボード・デバイス133、カーソル制御デバイス134、ハード・コピー・デバイス135、および大容量記憶デバイス136が、システムI/Oバス131およびプロセッサ・メモリ・バス101へ、バス・ブリッジ124を介して結合される。ブリッジ124がプロセッサ・メモリ・バス101およびシステムI/Oバス131へ結合されている。ブリッジ124は、プロセッサ・メモリ・バス101またはI/Oバス131のいずれかにあるデバイスが他のバス上のデバイスとの間でデータにアクセスあるいはデータを転送するための、通信経路またはゲートウェイとなっている。ブリッジ124は、システムI/Oバス131とプロセッサ・メモリ・バス101との間のインタフェースである。I/Oバス131は、情報を周辺デバイス132〜136の間で通信する。
【0011】
プロセッサ102〜105、バス・ブリッジ124、大容量記憶デバイス125、およびメモリ・コントローラ122は、それぞれバス・コントローラ138を含む。バス・コントローラ138は、それを含むエージェントがプロセッサ・メモリ・バス101の制御を有するとき、プロセッサ・メモリ・バス101を介した通信を制御する。
【0012】
本発明の一実施形態では、プロセッサ・メモリ・バス101でのバスの動作が、オペレーション、トランザクション、およびフェーズと階層的に編成される。オペレーションは、自然に整列された記憶場所を読み取ることなど、ソフトウェアに対してアトミックに見えるバスのプロシージャである。オペレーションを実行するには通常1つのトランザクションが必要であるが、多数のトランザクションが必要になることもある。それは、要求および応答が異なるトランザクションである遅延応答の場合、あるいは、ソフトウェアがアトミックになると予想する非線形のメモリ操作の場合である。この実施形態では、トランザクションは、応答フェーズ中の要求バス調停からトランザクション(たとえば、標準または暗黙のライトバック応答)の完了まで、単一の要求に関するバスの動作のセットである。
【0013】
一実施形態では、トランザクションは最大6つの異なるフェーズからなる。しかし、あるフェーズは、トランザクションおよび応答のタイムに基づいて任意選択である。あるいは、追加のフェーズを追加することもできる。フェーズは特定の信号グループを使用して、特定タイプの情報を通信する。ある実施態様では、これらのフェーズは次のようになる。
調停フェーズ
要求フェーズ
エラー・フェーズ
スヌープ・フェーズ
応答フェーズ
データ転送フェーズ
【0014】
一実施形態では、データ転送フェーズは任意選択であり、トランザクションがデータを転送中の場合に使用される。データ・フェーズは、(たとえば、書込みトランザクションの)要求を開始する時点でデータが使用可能である場合、要求開始である。データ・フェーズは、(たとえば、読取りトランザクションの)トランザクション応答を生成する時点でデータが使用可能である場合、開始される応答である。トランザクションは、開始データ転送要求と開始データ転送応答を共に含むことができる(たとえば、暗黙のライトバックへ変換される書込み)。
【0015】
本発明の一実施形態では、調停フェーズ、要求フェーズ、エラー・フェーズ、スヌープ・フェーズ、および応答フェーズに関して転送された信号は、共通クロック・プロトコルを介して転送される(すなわち、システム・バスによってクロックされる)。これについては、以下でより詳細に説明する。しかし、データ転送フェーズ中に転送されたデータは、クロック・サイクルにつきより大量のデータを転送するためにソース同期プロトコルを介して転送される。これについても、以下でより詳細に説明する。
【0016】
異なるトランザクションからの異なるフェーズは重なり合うことができるので、バスの使用をパイプライン化してバスの性能を向上させることができる。図2は、2つのトランザクションの重なり合うフェーズの一例を示す。図2を参照すると、トランザクションは調停フェーズで開始し、ここで要求エージェントがバスの所有者となる。調停フェーズは、次のトランザクションを駆動中のエージェントがまだバスを所有しない場合にのみ、発生することが必要である。ある実施態様では、所有権は、バスの要求エージェントへ、所有権が要求されてから調停フェーズの2クロック・サイクル以上で授与される。
【0017】
第2のフェーズは要求フェーズであり、ここでバスの所有者が要求およびアドレス情報をバス上で駆動する。ある実施態様では、要求フェーズは、バスの所有権が授与された後の1つまたは複数のクロック・サイクルであり(調停フェーズがあるとすれば)、2クロック・サイクルの長さである。第1のクロックで、アドレス信号が、トランザクション・タイプ、およびメモリ・アクセスのスヌーピングを開始するために十分な情報と共に与えられる。第2のクロックでは、データ転送がデータ・バスの幅より小さい場合にデータのどのバイトを転送すべきかを識別するために使用されるバイト・イネーブル、遅延応答が要求へ与えられるイベントにおいてトランザクションを一意的に識別するために使用されるトランザクション識別子、および要求されたデータ転送の長さが、他のトランザクション情報と共に駆動される。
【0018】
トランザクションの第3のフェーズは、エラー・フェーズである。エラー・フェーズは、要求によって引き起こされたパリティ・エラーなどのいかなる即時エラーをも示す。エラーが発見された場合、エラー信号が、エラー・フェーズ中に、トランザクション内でこのエラーを検出したエージェントによってアサートされる。一実施形態によれば、エラーが示されたとき、トランザクションは即時に落とされ(つまり、トランザクションがそれ以上パイプラインで進行しない)、そのトランザクションを発行したエージェントによって再駆動することができる。エージェントがトランザクションを再発行するかどうかは、エージェント自体に応じて決定される。ある実施態様では、エラー・フェーズは要求フェーズ後の3クロック・サイクルである。
【0019】
一実施形態では、エラー・フェーズ内のエラーのためにキャンセルされていないあらゆるトランザクションが、スヌープ・フェーズを有する。スヌープ・フェーズは、トランザクション内でアクセスされたキャッシュ・ラインが有効でないか、有効であるか、あるいはいずれかのエージェントのキャッシュ内で修正された(不正)かを示す。ある実施態様では、スヌープ・フェーズは要求フェーズから4クロック・サイクル以上である。
【0020】
バスのスヌープ・フェーズはスヌープ・イベントがバス上で発生するスヌープ・ウィンドウを決める。スヌープ・イベントは、バスを介してスヌープ結果を転送および/または受信するエージェントを参照する。スヌープ・フェーズ中に駆動する必要があるスヌープ結果を有するエージェントは、これらのスヌープ結果をスヌープ・イベントとしてスヌープ・ウィンドウ中に駆動する。バスに結合されたすべてのスヌーピング・エージェントは、結果を駆動するエージェントを含めて、これらのスヌープ結果をスヌープ・イベントとしてスヌープ・ウィンドウ中に受信する。ある実施態様では、スヌープ・ウィンドウは単一のバス・クロックである。
【0021】
応答フェーズは、トランザクションが失敗したか成功したか、応答が即時か遅延か、トランザクションが再試行されるかどうか、または、トランザクションがデータ・フェーズを含むかどうかを示す。トランザクションが応答開始データフェーズを含む場合、これは応答フェーズと一致するデータ転送フェーズに入る。
【0022】
トランザクションがデータ・フェーズを有していない場合、このトランザクションは応答段階で完了する。要求エージェントが、転送する書込みデータを有しているか、あるいは要求された読取りデータを有している場合、トランザクションはデータ・フェーズを有し、これは前者の場合に応答フェーズを越えて拡張することができ、後者の場合に応答フェーズと一致するかあるいはそれを越えて拡張する。データ・フェーズは、トランザクションがデータ転送を要求する場合にのみ発生する。データ・フェーズは(たとえば、メモリ・コントローラまたは別のプロセッサによって)応答開始または要求開始にすることができる。
【0023】
バスは、バス・トランザクションを2つの独立したトランザクションに分割することによって、遅延トランザクションを調整する。第1のトランザクションは、要求エージェントによる要求および応答エージェントによる応答を含む。応答は、応答エージェントが応答する準備ができている場合、要求データ(または完了信号)を送信することを含む。この場合、バス・トランザクションが終了する。しかし、応答エージェントがバス・トランザクションを完了する準備ができていない場合、応答エージェントが遅延応答を、バスを介して応答フェーズ中に送信することができる。遅延応答を送信することによって、他のトランザクションを発行し、このトランザクションの完了によって延滞されないようにすることができる。応答エージェントが遅延バス・トランザクションを完了する準備ができたとき、応答エージェントはバスの所有権を調停し、バス上で要求されたデータ(または完了信号)を含む遅延応答トランザクションを送信する。
【0024】
この実施形態では、バスがパイプラインの性質を有するので、多数のトランザクションを、バスの異なるフェーズに、異なる時間に置くことができる。たとえば、あるトランザクションをスヌープ・フェーズに置くことができ、第2のトランザクションはエラー・フェーズにあり、第3のトランザクションは要求フェーズにあるということが可能である。したがって、エラー信号および要求信号は、異なるトランザクションに対応していても、共に同時にバス上で発行することができる。
【0025】
本発明の一実施形態では、最大16のトランザクションをバス上でいかなる特定の時間でも未処理にすることができ、最大16のトランザクションをいかなる特定の時間でも遅延した応答に対して待つことができる。
【0026】
また、本発明の一実施形態は、暗黙のライトバックもサポートしており、これは読取りまたは書込みトランザクションの一部である。暗黙のライトバックは、要求エージェントが、バスに結合されたキャッシュ内に修正された状態で格納されているキャッシュ・ラインの要求をバスに出したときに発生する。たとえば、エージェントはバスを介して8バイトのデータ(または、キャッシュ・ライン以下のある他の量のデータ)の書込みトランザクションを実行することができるが、これらの8バイトを含むキャッシュ・ラインは、修正された状態で、別のエージェントのキャッシュ内に格納されている。この状況では、キャッシュ・ラインを修正された状態で含むキャッシュ(または、このキャッシュに結合されたエージェント)が、「ヒット修正」信号をバス上に、このトランザクションのスヌープ・フェーズ中に発行する。要求エージェントは8バイトの書込みデータをバス上に配置し、これが目標エージェントによって検索される。次いで、このトランザクションの応答フェーズと一致して、キャッシュ・ラインを修正された状態で含むキャッシュが、このキャッシュ・ラインをバスに書き込む。このキャッシュ・ラインは、ある実施態様では32または64バイトである。次いで、要求エージェントによって書き込まれなかったキャッシュ・ライン内のデータのいずれもが、元のデータ転送からの書込みデータと併合される。
【0027】
暗黙のライトバックは、読取りトランザクションで発生することもある。たとえば、要求エージェントは、バス上のメモリ・コントローラを目標とするがスヌーピング・エージェントのキャッシュ・メモリ内の修正されたキャッシュ・ラインもヒットする、読取りトランザクションを実行することができる。この例では、スヌーピング・エージェントがソース・エージェントとなり、要求されたデータを暗黙のライトバックとしてメモリ・コントローラに提供し、メモリ・コントローラはライトバック・データをメイン・メモリに格納する。この例ではまた、要求エージェントが暗黙のライトバック・データをバスから取る(データの「つかみ取り」と呼ばれる)。しかし、代替実施形態では、メモリ・コントローラがつかみ取りを実行することができ、この場合はキャッシュ・ラインが要求エージェントによってバスから取られ、メモリ・コントローラによってバスから取られることも取られないこともある。
【0028】
図3は、本発明の一実施形態による、制御信号を転送するための共通クロック・トランザクション中にバス上で発生することを示すタイミング図である。本明細書のタイミング図では、正方形の記号は信号が駆動されること示し、円の記号は信号がサンプリングされる(ラッチされる、あるいは取り込まれる)ことを示し、三角形の記号は信号が受信あるいは観察されることを示す。
【0029】
本明細書では、信号名に、ADS#など大文字を使用する。1組の関連信号の信号は、アドレス・ビット4でA4など、数値の接尾辞によって区別される。ある範囲の数値接尾辞を包含する1組の信号は、たとえば、データ・ビット0から63まででD[63−0]と示される。接尾辞「#」は、信号がアクティブで低いことを示す。接尾辞「#」がついていない場合は、信号がアクティブで高いことを示す。ある信号がアクティブである論理レベルは、特定の実施形態についてのみ選択されるものであり、本発明に必須のものではない。「アサートされた」という用語は、信号がそのアクティブな論理レベルに駆動されることを示す。「アサート解除された」という用語は、信号がそのインアクティブな論理レベルに駆動されることを示す。
【0030】
バス・クロック信号BCLK600は、その立上りエッジでアクティブである。クロック・サイクルT1の開始点で、信号A#602がバス上にアサートされる。T2の開始点で、BCLK600が信号A#602をラッチする。T3の開始点で、A#602のラッチングに応答してB#604がアサートされる。A#602は、T2で、状態をその本来のインアクティブな状態に変更する。図3から、A#602がアサートされてから2BCLK600サイクル後に、A#602に応答してB#604がアサートされることが分かる。
【0031】
図4は、一実施形態による、データを転送するためのソース同期データ転送を示すタイミング図である。結果として、本発明では、共通クロック・プロトコルを介してデータを転送することに比較して、バス・クロック・サイクルにつきより大量のデータの転送が可能である。4チャンクのデータの例に示すように、D1、D2、D3およびD4が送受信される。BCLK600は、図3に示す共通クロック・トランザクションとまったく同じようにその標準周波数で動作する。図4に示すソース同期プロトコルによれば、データが送信され、ストローブSTBp[3:0]#310およびSTBn[3:0]#312でラッチされて、妥当な信号フライト時間で、共通クロック転送速度の2倍の転送速度が可能となる。ソース同期ラッチ・プロトコルは、バスを、BCLK600の周波数の2倍で操作する。2チャンクのデータがバス上へ、共通クロック転送では1チャンクを駆動するのに要する時間で駆動される。したがって、帯域幅を2倍にして、これに対応して転送信号数が増加することのないようにすることができる。
【0032】
表IVで説明するように、共にアクティブである信号DRDYS#428およびDRDY#426は、送信側がデータをソース同期128ビット・モードで送信中であることを示す。D#302は、駆動側が見るようなデータ信号を含む。D#308は、受信側が見るようなデータ信号を含む。STBp[3:0]#304およびSTBn[3:0]#306は、ストローブ信号の駆動側が見るようなストローブ信号である。STBp[3:0]#310およびSTBn[3:0]#312は、データおよびストローブ信号の受信側が見るようなストローブ信号である。バス・クロックの立上りエッジと50%ポイントでは共に、駆動側が新しいデータを送信する。バス・クロックの25%ポイントおよび75%ポイントでは共に、駆動側が中心の差動ストローブSTBp[3:0]#304およびSTBn[3:0]#306を送信する。受信側は、データをストローブと共に決定的に取り込む。
【0033】
一実施形態では、駆動側がD[63:0]#302を駆動する前にSTBp[3:0]#304を事前駆動する。駆動側は、立上りおよび立下りエッジを、STBp[3:0]#304およびSTBn[3:0]#306上に、データを中心に送信する。駆動側は、最後のデータが送信された後でストローブをアサート解除する。受信側は、有効なデータを、BCLK600に非同期な、両方のストローブ信号と共に取り込む。BCLK600に同期する信号(DRDYS#428およびDRDY#426)は、受信側に対して、有効なデータが送信されたことを示す。図4は、両方のエージェントで128ビットのデータ転送が可能である場合に、BCLK600に関して、図3に示す共通クロック・プロトコルによる場合の半分の時間で、データを転送できることを示す。
【0034】
図5は、本発明の一実施形態によるエージェントをより詳細に示すブロック図である。エージェント400は、データ幅標識401、内部制御論理402、バス・コントローラ138、データ・バッファ404および406、およびマルチプレクサ403、405および408を含む。
【0035】
データ幅標識401は、エージェント400がサポートするデータ転送幅の標識である。一実施形態では、データ幅標識401は、エージェント400がサポートするデータ転送を符号化する2ビット値である。一実施形態によるデータ幅標識401は、事前に構成された値である。標識401は、エージェント400の特定のピンを、システム・リセット周期でサンプリングされる特定の所定の電圧レベルに結合させるなど、幅広い範囲の従来のいかなる方法でも事前に構成することができる。他の実施形態では、データ幅標識401を再構成可能にすることができる。たとえば、データ幅標識401をメモリ・デバイスに格納することができ、あるいは、ソフトウェアによって書き込むことができる構成レジスタの一部にすることができる。バス・コントローラ138は、エージェント400とバス101の間のインタフェースとなる。バス・コントローラ138は、様々な制御およびアドレス信号をバス101の間で転送し、バス101へ、かつバス101からのデータの転送も制御する。図示のように、バス101は64ビットの幅のデータ・バスを有する。他の実施形態では、他のバス幅を使用することができる。
【0036】
本発明で使用する信号の概要を、以下の表Iに示す。これらの信号の相互作用については、以下でより完全に論ずる。表Iは、本発明で使用する信号の概要であるが、エージェント400またはバス101によって転送される信号の網羅的なリストではなく、本発明にもっとも適切な信号を含むものである。
【表1】
【表2】
【0037】
エージェント400は、2組のデータ・バッファ404および406も含む。エージェント400は、2組の入力バッファ406および2組の出力バッファ404を含む。しかし、代替実施形態では、異なる2組のバッファを有するのではなく、入力にも出力にも使用することができる、より多くあるいはより少ないデータ・バッファを含むことができる。
【0038】
データ・バッファ404は、エージェント400から別のエージェントへバス101を介して転送中のデータを、一時的に格納する。本発明の一実施形態によれば、各データ・バッファ404は4つの別々のバッファ404a、404b、404cおよび404dを含み、それぞれが64ビットのデータを格納することができる。各データ・バッファ404は、マルチプレクサ403へ入力される。マルチプレクサ403はバス・コントローラ138によって制御されるので、バス・コントローラ138が、データのどの64ビット部分がデータ・ラインD[63:32]#418およびD[31:0]#419へいずれかの特定の時に提供されるかを、制御することができる。次いでマルチプレクサ403の出力が第2のマルチプレクサ405へ入力され、マルチプレクサ405もバス・コントローラ138によって制御される。マルチプレクサ405は64ビットのデータをマルチプレクサ403から取り、上位32ビットまたは下位32ビットのいずれかをデータ・ラインD[31:0]#419上へ配置する。一実施形態では、データ・ラインD[31:0]#419上に配置された32ビットのグループが、バス・コントローラ138から受信された制御信号に依存しており、これらの信号は、以下でより詳細に論ずるように、トランザクションのデータ転送幅に依存している。また、一実施形態によれば、マルチプレクサ403からの上位32ビットは、データ・ラインD[63:32]#418上へも配置されるので、この上位32ビットが、64ビット幅のデータ転送のためにデータ・バス上で使用可能となる。
【0039】
データ・バッファ406は、別のエージェントからエージェント400へバス101を介して転送中のデータを、一時的に格納する。本発明の一実施形態によれば、各データ・バッファ406は4つの別々のバッファを含み、それぞれが64ビットのデータを格納することができる。バッファ406およびマルチプレクサ408は、本質的にバッファ404およびマルチプレクサ403および405と同じものであるが、ただしこれらは反対方向に働くことが異なる(つまり、これらは、データをバスへ転送するのではなく、バスからデータを格納するように動作する)。データがD[31:0]#ライン419および場合によってはD[63:32]#ライン418から受信され、マルチプレクサ408を介してデータ・バッファ406の1つに入れられる。マルチプレクサ408は、64ビットのデータをバッファ406へ提供するか、あるいは32ビットのデータを上位または下位32ビットとしてバッファ406へ提供する。これはバス・コントローラ138からの制御信号に基づいて行われ、これらの信号は、以下でより詳細に論ずるように、トランザクションのデータ転送幅に依存している。
【0040】
さらに、データがバス・クロックに非同期で転送されたことを考慮すると、このデータはエージェント400によって、クロック・サイクル境界に交差するウィンドウ内で受信されることになる。したがって、受信されたデータは、エージェント400によってアクセスされるまで、バッファ406内のデスキュー・ラッチ(図示せず)にラッチされる。さらに、バス・コントローラ138が一般に共通クロック信号を使用して、いつこのデータがエージェント400からアクセスされるかを決定することによって、受信されたデータをエージェント400のクロックと再同期させる。再同期化を実行するための一実施形態のより詳細な説明は、特許出願「Source Synchronous Interface Between Master and Slave Using a Deskew Latch」、出願日1997年5月6日、第08/852,438号で見ることができる。
【0041】
本発明の一実施形態では、エージェントがデータを転送する際に、ソース同期プロトコルと共通クロック・プロトコルのどちらを介するかを動的に変更することができる。つまり、バス・トランザクションに関係するすべてのエージェントがソース同期転送プロトコルをサポートしている場合、データはそれに従って転送される。そうでない場合、データは共通クロック・プロトコルを介して転送される。
【0042】
たとえば、本発明の一実施形態では、エージェント400が要求をバス上に発行中のとき、エージェント400は、エージェント400がサポートするデータ転送幅を指示する。一実施形態では、要求フェーズの第2のクロック・サイクルでアサートされたREQ[4:3]#を使用して、この指示がREQ[4:0]#414で符号化される。この実施態様でサポートされる特定のデータ転送幅の符号化を、以下の表IIに示す。「0」はインアクティブな信号を示し、「1」はアクティブな信号を示す。
【表3】
【0043】
エージェント400によって与えられる適切な指示は、データ幅標識401に基づいている。一実施形態では、データ幅標識401が、表IIに示す4つの符号化の1つを格納し、これをバス・コントローラ138によって直接バス上に配置することができる。エージェント400が、バスに結合された別のエージェントによって発行された要求の目標である場合、エージェント400も、目標エージェントとして、エージェント400がサポートするデータ転送幅を指示する。一実施形態では、この指示は、DRDY#426、DRDYS#428、TRDY#420およびTRDYS#422の1つまたは複数の組み合わせを使用して行われる。これらの信号によって提供される指示の概要を、要求エージェントがサポートするものとして示したものに基づいて、以下の表IIIに示す。
【表4】
【0044】
DRDY#426およびDRDYS#428信号は、転送が共通クロック・プロトコルに従うか、ソース同期プロトコルに従うかも示す。これを以下の表IVに要約する。
【表5】
【0045】
本発明の実施形態では、異なるエージェントが最大32、64または128ビットの転送をサポートし、上記の表IIIで論じたような信号を使用するが、トランザクションに関与するエージェントは、バス・コントローラ138内で、要求エージェントがサポートするものとして示されたデータ転送幅が32または64ビットであるか、64または128ビットであるかのレコードを維持する。応答開始トランザクションでは、DRDY#426およびDRDYS#428のレコードが保持される。要求開始トランザクションまたは暗黙のライトバック・トランザクションでは、TRDY#420およびTRDYS#422信号のレコードが保持される。このレコードが保持されることによって、TRDY#420およびTRDYS#422をアサートして、元の要求に応じて64ビットまたは128ビットのいずれかの転送を示すことができる。スヌーピング・エージェントが、TRDY#420およびTRDYS#422信号を監視する。エージェント400がバス上で、エージェントのキャッシュ内の修正されたキャッシュ・ラインをヒットする要求をスヌープした場合、エージェント400は後にライトバック・データをバス上に配置中となるが、エージェント400でサポートするデータ転送データ幅を示す。一実施形態では、この指示が、DRDY#426およびDRDYS#428信号の1つまたは複数を使用して提供される。TRDY#420信号およびTRDYS#422信号が、上述のように、目標エージェントによってアサートされる。これらの信号によって提供される指示の概要を、要求エージェントと目標エージェントが共にサポートするものとして示したデータ転送幅に基づいて、以下の表Vに示す。
【表6】
【0046】
図6は、ソース同期プロトコルに従った、64バイト読取りトランザクションと暗黙のライトバックのイベントを示すタイミング図である。この実施形態では、データ・バスが64ビット幅なので、トランザクションがそれぞれ64ビットの別々の8チャンクの転送を必要とする。
【0047】
図6の例では、要求エージェントがADS#410をT1でアサートして、64バイトの読取りトランザクションを開始する。T2で、要求エージェントがあるビットの要求信号{REQ}414をアサートして、64バイトの長さ、およびそれが64ビット/128ビットのエージェントであることを示す。T5のスヌープ・フェーズ中に、HITM#416がスヌーピング・エージェントによってアサートされる。T7で、応答エージェントがTRDYS#422およびTRDY#420をアサートして、ライトバック・データを受け入れる準備ができていること、および128ビットのデータ・トランザクションをソース同期モードで実行できることを示す。応答または目標エージェントが、受信した元の要求に基づいて適切なTRDY#/TRDYS#信号を駆動する責任を負うため、スヌーピング・エージェントからこの負担がなくなる。T8で、スヌーピング・エージェントが、アサートされたTRDYS#422およびTRDY#420と、アサート解除されたDBSY#424をサンプリングする。T9で、スヌーピング・エージェントが、DBSY#424およびSBSY#484をアサートすることによってデータ・フェーズを開始する。スヌーピング・エージェントは、T9の75%ポイントで、STBp[3:0]#480を事前駆動する。
【0048】
スヌーピング・エージェントは、DRDYS#428およびDRDY#426をアサートし、有効なデータを、D[63:0]#608の立上りエッジ、およびT10とT13の間のBCLK600の50%ポイントで駆動することによって、有効データ転送を開始する。2つの64ビット・チャンクのデータが、BCLK600の1クロック周期で、バス上へ駆動される。スヌーピング・エージェントは、立上りおよび立下りエッジを、STBp[3:0]#480とSTBn[3:0]#482上で、T10とT13の間のBCLK600の25%および75%ポイント(各データ転送の中心)で駆動する。スヌーピング・エージェントは、立上りエッジをSTBp[3:0]#480上で、T14の25%ポイントで駆動して、バスを次のエージェントへ引き渡す。
【0049】
スヌーピング・エージェントがストローブを駆動してから約1クロック・サイクル後、中心のストローブが要求および応答エージェントに到達してデータを取り込む。到達する各ストローブの対で、新しいチャンクのデータが、要求および応答エージェントのバッファ内に取り込まれる。T11で、要求および応答エージェントがDRDYS#428およびDRDY#426をサンプリングし、データが送信されたことを知る。そのしばらく後、要求エージェントおよび応答エージェントが、データをBCLK600ドメイン内にラッチする。したがって、図6は、ソース同期プロトコルを使用して、128ビットのデータを64ビットのバスの1クロック周期で送信するバス・エージェントを示す。
【0050】
上述の明細書では、本発明を、特定の例示的実施形態を参照して説明した。たとえば、本発明を、特定のシステム構成、信号符号化、およびデータ転送幅を参照して説明した。様々な修正および変更は、以下の特許請求の範囲で述べるような本発明の幅広い精神および範囲から外れることなく、本明細書で説明したような特定の細部に行うことができる。
【図面の簡単な説明】
【図1】 本発明による多数のエージェント・コンピュータ・システムのブロック図である。
【図2】 本発明の一実施形態によるトランザクション・フェーズの図である。
【図3】 共通クロック・ラッチ・プロトコルを示すタイミング図である。
【図4】 本発明の一実施形態によるソース同期ラッチ・プロトコルを示すタイミング図である。
【図5】 本発明の一実施形態によるエージェントのブロック図である。
【図6】 本発明の一実施形態による、ソース同期転送を使用した、暗黙のライト・バックを伴う読取り64バイト・トランザクションを示すタイミング図である。
Claims (35)
- コンピュータ・システムにおけるバス・エージェント間データ転送方法であって、
第1のバス・エージェントによって、該第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送することと、
第1のバス・エージェントによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送すること
とを含み、
該第2の転送プロトコルによるデータの転送は前記第2のバス・エージェントが前記バス・クロックと非同期に前記データをサンプリングすることを可能にさせるものであり、前記データは前記バス・クロックの1つの周期内で前記第1のバス・エージェントによって生成された複数のストローブ信号に同期しており、前記各ストローブ信号は個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個々のチャンクを前記第2のバス・エージェントがラッチするために使用されるものである、
ことを特徴とする方法。 - コンピュータ・システムにおけるバス・エージェント間データ転送装置であって、
第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送するよう動作可能なバスを備え、
前記バスはさらに、前記バス・クロックの1つの周期内で複数のストローブ信号を前記第1のバス・エージェントが生成することによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送するよう動作可能であり、前記ストローブ信号は前記第2のバス・エージェントが前記バス・クロックと非同期に前記データをサンプリングすることを可能にさせるものであり、前記データは複数のストローブ信号に同期され、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることを特徴とする装置。 - 複数のバス・エージェントのうちの第1のバス・エージェントから複数のバス・エージェントのうちの第2のバス・エージェントへのデータ転送を制御する1以上の制御信号を、前記第1のバス・エージェントによって、該第1のバス・エージェントから前記第2のバス・エージェントへバス・クロックに基づく共通クロック・プロトコルに従って転送することと、
前記1以上の制御信号に対応するデータを、前記第1のバス・エージェントによって、該第1のバス・エージェントから前記第2のバス・エージェントへソース同期データ転送プロトコルに従って転送することであって、前記バス・クロックと非同期に前記データを前記第2のバス・エージェントがサンプリングすることを可能にさせるために、前記バス・クロックの1つの周期内で複数のストローブ信号を前記第1のバス・エージェントが生成することを含んでおり、前記データは前記複数のストローブ信号に同期し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることとを含むことを特徴とするバス・エージェント間データ転送方法。 - 第1のバス・エージェントによって、バス・トランザクションの所定のフェーズを示す制御信号を第1のバス・エージェントから第2のバス・エージェントへバス・クロックによりクロック動作する第1の転送プロトコルに従って転送することと、
第1のバス・エージェントによって、前記バス・トランザクションに関連するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第1のバス・エージェントによって前記バス・クロックの1つの周期内で複数のストローブ信号を生成する第2の転送プロトコルに従って、転送することであって、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号により前記第2のバス・エージェントが前記バス・クロックと非同期にデータをサンプリングすることを可能にすることとを含むことを特徴とするバス・エージェント間データ転送方法。 - コンピュータ・システムの第1のバス・エージェントによって、該第1のバス・エージェントから前記コンピュータ・システムの第2のバス・エージェントへのデータ転送を制御する制御信号を該第1のエージェントから前記第2のエージェントへ前記コンピュータ・システムのバス・クロックのレートにて転送することと、
前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ前記バス・クロックのレートの2倍のレートで転送することであって、このデータの転送が、
前記第1のバス・エージェントによって、前記バス・クロックの1つの周期内で第1のストローブと第2のストローブを生成するとともに、該第1のストローブを第1のストローブ線路上で、前記第2のストローブを第2のストローブ線路上で転送することと、
前記第2のバス・エージェントが、第1のデータ・チャンクを前記第1のストローブのタイミングでラッチすることと、
前記第2のバス・エージェントが、第2のデータ・チャンクを前記第2のストローブのタイミングでラッチすることと
を含むことを特徴とするバス・エージェント間データ転送方法。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに接続した第1のバス・エージェント及び第2のバス・エージェントとを備え、
前記第1のバス・エージェントが制御信号を前記第2のバス・エージェントへ前記バス・クロックのレートで転送し、
前記第1のバス・エージェントがデータ信号の個別のチャンクを前記第2のバス・エージェントへ前記バス・クロックの複数倍のレートで転送するため、前記バス・クロックの1つの周期内で前記第1のバス・エージェントが複数のストローブ信号を生成し、前記データ信号の個別のチャンクは該生成された複数のストローブ信号に同期され、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は前記データ信号の個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることを特徴とするコンピュータ・システム。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送するバス・コントローラを備え、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送することであって前記第2群の信号のうちの少なくとも2つの信号をサンプリングするために前記バス・コントローラが前記バス・クロックの1つの周期内で少なくとも2つのストローブ信号を生成することを含んでおり、前記第2群の信号のうちの少なくとも2つの信号は前記少なくとも2つのストローブ信号に同期しており、前記少なくとも2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は前記第2群の信号のうちの少なくとも2つの信号のそれぞれを前記バス・エージェントがラッチするために使用され、前記第2群の信号のうちの少なくとも2つの信号は共通クロック周波数の少なくとも2倍のレートで転送されることを特徴とするバス・エージェント間データ転送装置。 - 第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御するとともに、バス・クロックに同期した複数の制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラと、
前記バス・コントローラは第2群の信号を、該第2群の信号の2つのストローブ信号を生成することを含む、ソース同期プロトコルを用いて転送し、前記第2群の2つの信号は前記2つのストローブ信号に同期しており、前記2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の2つの信号は前記バス・トランザクションの前記複数のフェーズの中のデータ・フェーズでのみ転送され、前記第2群の2つの信号を前記共通クロック周波数の2倍で転送し、前記2つのストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点にてストローブ遷移をもたらすよう整列されており、前記バス・コントローラが前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で前記第2群の信号を転送し、
前記複数の制御信号は前記第2群の信号を介して有効情報が送られたことを前記第2のバス・エージェントに示すための少なくとも一つの制御信号を含むことを特徴とするバス・エージェント間データ転送装置。 - バス・エージェントへのデータ転送を制御するとともにバス・クロックに同期した複数の制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラを備え、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させてあり、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が前記第2群の信号の個別のチャンクを前記バス・エージェントがラッチするために使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送し、前記第2群の信号は前記共通クロック周波数の倍数のレートで転送し、
前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを前記バス・エージェントに示すため共通クロック・プロトコルで転送される少なくとも一つの制御信号を含み、この少なくとも一つの制御信号は前記有効情報が転送される前記データ・フェーズ中に共通クロック・プロトコルを用いてアサートされることを特徴とするバス・エージェント間データ転送装置。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・トランザクションの複数のフェーズ中に転送するバス・コントローラを備え、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号が前記複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチするために使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズのデータ・フェーズにのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍のレートで転送されるものであり、前記第2群の信号は前記共通クロック周波数の1クロック周期に等しい信号転送時間期間中にて転送されるN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素それぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とするバス・エージェント間データ転送装置。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・トランザクションの複数のフェーズ中に転送するバス・コントローラを備え、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記共通クロック周波数の1クロック周期に等しい信号転送時間期間中に転送する2つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号のうちの第1のストローブ信号は前記信号転送時間期間のほぼ25%点にて遷移させ、前記複数のストローブ信号のうちの第2のストローブ信号は前記信号転送時間期間のほぼ75%点にて遷移させ、
前記複数の制御信号が前記第2群の信号を介して有効情報が転送されたことを示す少なくとも1つの制御信号を含むことを特徴とするバス・エージェント間データ転送装置。 - バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することと、
前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することであって、前記第2群の信号を前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させ、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号に応答して受信側エージェントが前記第2群の信号をラッチすることとを含み、
前記第2群の信号を前記共通クロック周波数の倍数にて転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含むことを特徴とする転送方法。 - バス・コントローラを結合した制御バスを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズにおいて通信される複数の制御信号を含み、
前記バス・コントローラを結合したデータバスを介してデータ信号群をソース同期プロトコルを用いて転送することであって、前記データ信号群は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記データ信号群は前記バス・トランザクションの前記複数のフェーズの内の所定のフェーズ中に転送され、前記データ信号群は前記共通クロック周波数の2倍で転送され、前記複数のストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点でストローブ遷移をもたらすよう整列させてあり、前記バス・コントローラは前記データ信号群を前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で転送することとを含み、
前記複数の制御信号が、前記共通クロック・プロトコルで前記制御バスと前記データバスとに結合したターゲットへ転送されて前記ソース同期プロトコルを用いて有効情報が転送されたことを示す少なくとも一つの制御信号を含むことを特徴とする転送方法。 - バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することであって、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が個別データ・チャンクを受信側エージェントがラッチする際に使用され、前記第2群の信号は前記バス・トランザクションの前記複数フェーズのデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の倍数で転送することとを含み、
前記複数の制御信号が前記共通クロック・プロトコルで転送されてソース同期プロトコルを用いて有効情報が転送されたことを示す少なくとも1つの制御信号を含み、この少なくとも一つの制御信号を前記有効情報が転送されるフェーズ中にアサートすることを特徴とする転送方法。 - バス・コントローラを介してバス・クロックに同期した第1群の信号であってバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含む第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することと、
前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することとを含む転送方法であって、
前記第2群の信号が複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチする際に使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間にて転送されるN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素のそれぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とする転送方法。 - バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信する複数の制御信号を含み、
前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送することであって、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間内に転送する二つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号を前記信号転送時間期間のほぼ25%点と前記信号転送時間期間のほぼ75%点にて遷移するよう整列させたこととを含み、
前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号を含むことを特徴とする転送方法。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合したプロセッサで、バス・コントローラを含む前記プロセッサとを備え、
前記バス・コントローラが前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送し、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させてあり、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号にしたがって前記バス・エージェントが前記第2群の信号をラッチするものであり、前記第2群の信号を共通クロック周波数の複数倍にて転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含むことを特徴とするコンピュータ・システム。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
を備え、
前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送し、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号を前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズにのみ転送し、前記第2群の信号を前記共通クロック周波数の2倍で転送し、前記複数のストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点でストローブ遷移をもたらすよう整列させ、前記バス・コントローラが前記第2群の信号を前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で転送し、
前記共通クロック・プロトコルで転送される少なくとも1つの制御信号を含む前記複数の制御信号がソース同期プロトコルを用いて有効情報が転送されたことを前記バス・エージェントに示すことを特徴とするコンピュータ・システム。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
を備え、
前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号がバストランザクションの複数のフェーズ中に通信する複数の制御信号を含み、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が個別データ・チャンクを受信側エージェントがラッチするためにあり、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送し、前記第2群の信号は共通クロック周波数の倍数にて転送され、
前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号含み、この少なくとも一つの制御信号は前記有効情報が転送されるフェーズ中にアサートされることを特徴とするコンピュータ・システム。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
を備え、
前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号はバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
前記バス・コントローラは第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期しており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチするためにあり、前記第2群の信号は前記バス・トランザクションの前記複数フェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍にて転送され、前記第2群の信号が前記バス・クロックの1クロック周期に等しい信号転送時間期間中に転送するN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素のそれぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とするコンピュータ・システム。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合するプロセッサと、
前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含む、バス・コントローラとを備え、
前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの複数のフェーズの内の所定のフェーズにのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間内に転送する2つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号の第1のストローブ信号は前記信号転送時間期間のほぼ25%点にて遷移させ、前記複数のストローブ信号の第2のストローブ信号は前記信号転送時間期間のほぼ75%点にて遷移させ、
前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号を含むことを特徴とするコンピュータ・システム。 - バス・コントローラであって、
複数の制御信号をバス・トランザクションの複数のフェーズのうちの幾つかにて転送する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従い共通クロック周波数にて転送する前記第1の複数の信号インタフェースと、
複数の情報信号を前記バス・トランザクションの前記複数のフェーズのうちの1つのフェーズ中に転送する第2の複数の信号インタフェースであって、共通クロックの1つの周期において複数の情報信号の内の2つのデータをサンプリングするために、複数のストローブ信号を該共通クロックの1つの周期内で生成し、前記複数の情報信号を複数のストローブ信号と併せ転送し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数の情報信号をソース同期プロトコルで転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含む前記第2の複数の信号インタフェースとを備えることを特徴とするバス・コントローラ。 - コンピュータ・システムにおけるバス・エージェント間でのデータ転送方法であって、
第1のバス・エージェントによって、転送すべきデータに関する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送することと、
前記第1のバス・エージェントによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送することであって、この転送がさらに、
前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントがデータをサンプリングするために使用するストローブ信号を前記第1のバス・エージェントが複数生成することと、
前記データの中の複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のそれぞれのデータ・チャンクを前記第2のバス・エージェントがラッチすること
とを含む方法。 - コンピュータ・システムにおけるバス・エージェント間データ転送装置であって、
転送すべきデータに関する制御信号を第1のバス・エージェントから第2のバス・エージェントへ、前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで、転送するよう動作可能なバスを備え、
前記バスは、さらに、
前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送するよう動作可能であり、前記第2の転送プロトコルは、前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントがデータをサンプリングするために使用するストローブ信号を前記第1のバス・エージェントが複数生成するものであり、前記データの複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のデータ・チャンクのそれぞれを前記第2のバス・エージェントがラッチする
ことを特徴とする装置。 - 転送すべきデータに関する1以上の制御信号を複数のバス・エージェントのうちの第1のバス・エージェントから前記複数のバス・エージェントのうちの第2のバス・エージェントへバス・クロックに基づく共通クロック・プロトコルに従って、該第1のバス・エージェントによって、転送することと、
前記第1のバス・エージェントによって、前記1以上の制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへソース同期転送プロトコルで転送することであって、前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントにデータをサンプリングさせるためのストローブ信号を前記第1のバス・エージェントが複数生成することと、前記データの複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のデータ・チャンクを前記第2のバス・エージェントにラッチさせることとを行わせるソース同期転送プロトコルで転送することと
を含む方法。 - バス・トランザクションの1つのフェ−ズを示す制御信号を第1のバス・エージェントから第2のバス・エージェントへバス・クロックによりクロック動作する第1の転送プロトコルに従って、該第1のバス・エージェントによって、転送することと、
前記第1のバス・エージェントによって、前記バス・トランザクションに関連するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ、前記バス・クロックの1つの周期内で該第1のバス・エージェントによって生成される複数のストローブ信号を含む第2の転送プロトコルに従って転送することであって、前記複数のストローブ信号のそれぞれは個別ストローブ線路上に生成されるものであり、前記複数のストローブ信号により前記第2のバス・エージェントが前記バス・クロックに非同期にデータをサンプリングさせることと
を含む方法。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラを備え、
前記バス・コントローラが第2群の信号を、前記バス・クロックの1つの周期内で、該第2群の信号の少なくとも2つの信号を受信側バス・エージェントがサンプリングするための少なくとも2つのストローブ信号を前記バス・コントローラが生成するソース同期プロトコルを用いて転送し、前記第2群の信号の少なくとも2つの信号は該生成される少なくとも2つのストローブ信号に同期されており、前記少なくとも2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、これらのストローブ信号に応答して前記第2群の信号の少なくとも2つの信号を前記受信側バス・エージェントがラッチして、前記第2群の信号の少なくとも2つの信号を前記共通クロック周波数の少なくとも2倍の速度にて転送することを特徴とする装置。 - バス・クロックに同期した複数の転送すべき第2群の信号に関する制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラと、
前記バス・コントローラは前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、該第2群の信号のうちの2つの信号を受信側装置がサンプリングするための2つのストローブ信号を、前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群のうちの2つの信号は前記生成された2つのストローブ信号に同期されており、前記2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群のうちの2つの信号を前記バス・トランザクションの前記複数のフェーズのうちのデータ・フェーズ中にのみ転送し、前記第2群の信号のうちの2つの信号を前記共通クロック周波数の2倍で転送し、前記2つのストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点にてストローブ遷移をもたらすよう整列させ、前記バス・コントローラが前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で前記第2群の2つの信号を転送し、
前記複数の制御信号は前記第2群のうちの2つの信号が転送されたことを前記受信側装置に示す少なくとも1つの制御信号を含むことを特徴とする装置。 - バス・コントローラであって、
複数の情報信号の転送に関する複数の制御信号をバス・トランザクションの複数のフェーズのうちの幾つかのフェーズにて転送する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従い共通クロック周波数にて転送する前記第1の複数の信号インタフェースと、
複数の情報信号を前記バス・トランザクションの前記複数のフェーズのうちの1つのフェーズ中に転送する第2の複数の信号インタフェースであって、この第2の複数の信号インターフェースは前記複数の情報信号を、ソース同期プロトコルを用いて複数のストローブ信号と併せ転送し、前記ソース同期プロトコルは、前記複数の情報信号を受信側バス・エージェントがサンプリングするための前記複数のストローブ信号を、前記第2の複数の信号インターフェースが前記共通クロックの1つの周期内で生成することを含み、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含む、前記第2の複数の信号インタフェースとを備えることを特徴とするバス・コントローラ。 - N個のフェーズを有するバス・トランザクションそれぞれのフェーズに第1の複数の信号を、第1のエージェントから第2のエージェントに、該第1のエージェントによって転送することであって、前記第1の複数の信号を共通クロック・プロトコルに従う共通クロック周波数にて転送することと、
前記第1のエージェントによって、第2の複数の信号を前記バス・トランザクションのN個のフェーズとは別のデータ・フェーズ中に転送することとを含み、
このデータ・フェーズ中の転送が、前記第2の複数の信号を前記第2のエージェントがサンプリングするための複数のストローブ信号を、前記第1のエージェントが前記共通・クロックの1つの周期内で生成して、前記第2の複数の信号を前記第2のエージェントに転送し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記第2のエージェントがラッチすることを特徴とする転送方法。 - コンピュータ・システムであって、
バスと、
共通クロックと、
複数のバス・トランザクションについて複数のフェーズごとに第1の複数の信号を転送し受信する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従う前記共通クロックの周波数にて転送する前記第1の複数の信号インタフェースと、
前記複数のフェーズのデータ・フェーズ中に第2の複数の信号を転送する第2の複数の信号インタフェースであって、この第2の複数の信号インターフェースは前記第2の複数の信号を、ソース同期プロトコルを用いて複数のストローブ信号と併せ転送し、前記ソース同期プロトコルは、前記第2の複数の信号を受信側バス・エージェントがサンプリングするための前記複数のストローブ信号を、前記第2の複数の信号インタフェースが前記共通クロックの1つの周期内で生成することを含み、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にある、前記第2の複数の信号インタフェースとを備えることを特徴とするコンピュータ・システム。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記第1群の信号が、ソース同期プロトコルを用いて第2群の信号が転送されたことを受信側装置に示す前記バス・クロックに同期した少なくとも一つの信号を含む前記バス・コントローラを備え、
前記バス・コントローラは前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、前記第2群の信号を前記受信側装置がサンプリングするためのストローブ信号群を、前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記生成されたストローブ信号群に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチすることを特徴とする装置。 - バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて第1のエージェントから第2のエージェントに、該第1のエージェントによって転送することであって、前記第1群の信号が、ソース同期プロトコルを用いた、第2群の信号が転送されたことを第2のエージェントに示す前記バス・クロックに同期した少なくとも1つの信号を含んでおり、
前記第1のエージェントによって、前記第2群の信号を、前記ソース同期プロトコルを用いて第2のエージェントに転送し、このソース同期プロトコルは、前記第2群の信号を前記第2のエージェントがサンプリングするためのストローブ信号群を、前記第1のエージェントが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記ストローブ信号群に同期させてあり、前記ストローブ信号群のそれぞれのストローブ信号は個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記第2のエージェントがラッチすることを特徴とする方法。 - コンピュータ・システムであって、
バスと、
バス・クロックと、
前記バスに結合したプロセッサで、バス・コントローラを含む前記プロセッサとを備え、
前記バス・コントローラが前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号が、ソース同期プロトコルを用いて第2群の信号を転送したことを受信側装置に示す前記バス・クロックに同期した少なくとも1つの信号を含み、
前記バス・コントローラが前記第2群の信号を、前記ソース同期プロトコルを用いて転送し、このソース同期プロトコルは、前記第2群の信号を前記受信側装置がサンプリングするためのストローブ信号群を、前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記生成したストローブ信号群に同期されており、前記ストローブ信号群のそれぞれのストローブ信号は個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチすることを特徴とするコンピュータ・システム。 - バス・コントローラであって、
バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送する第1のバス・インタフェースと、
第2群の信号を複数のフェーズを有したバス・トランザクションの所定のフェーズで転送する第2のバス・インタフェースであって、この第2のバス・インターフェースは前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、前記第2群の信号を受信側装置がサンプリングするための複数のストローブ信号を、前記第2のバス・インタフェースが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチする、ものである前記第2のバス・インタフェースとを備えることを特徴とするバス・コントローラ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/006,322 US6336159B1 (en) | 1997-06-25 | 1998-01-13 | Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system |
US09/006,322 | 1998-01-13 | ||
PCT/US1999/000199 WO1999036858A1 (en) | 1998-01-13 | 1999-01-05 | Data transferring in source-synchronous and common clock protocols |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002509315A JP2002509315A (ja) | 2002-03-26 |
JP2002509315A5 JP2002509315A5 (ja) | 2006-03-02 |
JP4598270B2 true JP4598270B2 (ja) | 2010-12-15 |
Family
ID=21720327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000540501A Expired - Lifetime JP4598270B2 (ja) | 1998-01-13 | 1999-01-05 | ソース同期および共通クロック・プロトコルによるデータ転送 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6336159B1 (ja) |
EP (1) | EP1046111B1 (ja) |
JP (1) | JP4598270B2 (ja) |
CN (1) | CN1199117C (ja) |
AU (1) | AU2026999A (ja) |
DE (1) | DE69916993T2 (ja) |
WO (1) | WO1999036858A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336159B1 (en) * | 1997-06-25 | 2002-01-01 | Intel Corporation | Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system |
US6418478B1 (en) * | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
JP3592547B2 (ja) | 1998-09-04 | 2004-11-24 | 株式会社ルネサステクノロジ | 情報処理装置および信号転送方法 |
US6665807B1 (en) | 1998-09-04 | 2003-12-16 | Hitachi, Ltd. | Information processing apparatus |
KR100447051B1 (ko) * | 1999-05-31 | 2004-09-04 | 미쓰비시덴키 가부시키가이샤 | 데이터 전송방식 |
DE19960859A1 (de) * | 1999-12-16 | 2001-07-05 | Trw Automotive Electron & Comp | Entkopplungseinheit für Bussysteme |
US6609171B1 (en) | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
US6757763B1 (en) * | 2000-04-07 | 2004-06-29 | Infineon Technologies North America Corpration | Universal serial bus interfacing using FIFO buffers |
US6965648B1 (en) * | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
US6678767B1 (en) * | 2000-10-06 | 2004-01-13 | Broadcom Corp | Bus sampling on one edge of a clock signal and driving on another edge |
US6715094B2 (en) * | 2000-12-20 | 2004-03-30 | Intel Corporation | Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers |
US6742160B2 (en) | 2001-02-14 | 2004-05-25 | Intel Corporation | Checkerboard parity techniques for a multi-pumped bus |
US6711652B2 (en) * | 2001-06-21 | 2004-03-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data |
US7006527B1 (en) * | 2001-10-12 | 2006-02-28 | Cypress Semiconductor Corp. | Multistage pipeline bit conversion |
US7085889B2 (en) | 2002-03-22 | 2006-08-01 | Intel Corporation | Use of a context identifier in a cache memory |
US7139308B2 (en) * | 2002-04-05 | 2006-11-21 | Sun Microsystems, Inc. | Source synchronous bus repeater |
US20030217301A1 (en) * | 2002-05-16 | 2003-11-20 | Levy Paul S. | Method and apparatus for transmitting side-band data within a source synchronous clock signal |
TWI282513B (en) * | 2002-06-12 | 2007-06-11 | Mediatek Inc | A pre-fetch device of instruction for an embedded system |
KR100437454B1 (ko) * | 2002-07-30 | 2004-06-23 | 삼성전자주식회사 | 소오스 싱크로너스 전송 방식을 이용한 비동기 메모리 및그것을 포함한 시스템 |
GB2409553B (en) | 2002-09-16 | 2007-04-04 | Commvault Systems Inc | System and method for optimizing storage operations |
US7280589B2 (en) * | 2003-07-24 | 2007-10-09 | Sun Microsystems, Inc. | Source synchronous I/O bus retimer |
WO2005065084A2 (en) | 2003-11-13 | 2005-07-21 | Commvault Systems, Inc. | System and method for providing encryption in pipelined storage operations in a storage network |
US7543094B2 (en) * | 2005-07-05 | 2009-06-02 | Via Technologies, Inc. | Target readiness protocol for contiguous write |
US7386750B2 (en) * | 2005-07-15 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Reduced bus turnaround time in a multiprocessor architecture |
JP4570532B2 (ja) * | 2005-08-02 | 2010-10-27 | パナソニック株式会社 | 動き検出装置、動き検出方法、集積回路およびプログラム |
US7444448B2 (en) * | 2005-08-03 | 2008-10-28 | Via Technologies, Inc. | Data bus mechanism for dynamic source synchronized sampling adjust |
US7856571B2 (en) * | 2007-01-22 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Method and system for communication employing dual slew rates |
US7924142B2 (en) | 2008-06-30 | 2011-04-12 | Kimberly-Clark Worldwide, Inc. | Patterned self-warming wipe substrates |
EP2341445B1 (en) * | 2009-12-30 | 2017-09-06 | Intel Deutschland GmbH | Method for high speed data transfer |
JP5423483B2 (ja) * | 2010-03-04 | 2014-02-19 | 株式会社リコー | データ転送制御装置 |
JP5573476B2 (ja) * | 2010-08-09 | 2014-08-20 | 日本電気株式会社 | 被制御装置、被制御方法、制御装置、及び、制御システム |
US9087163B2 (en) * | 2012-07-11 | 2015-07-21 | Silicon Image, Inc. | Transmission of multiple protocol data elements via an interface utilizing a data tunnel |
CN104375965B (zh) * | 2013-08-15 | 2017-09-15 | 竣阳国际开发股份有限公司 | 多工具机操作系统 |
TWI509418B (zh) * | 2014-06-30 | 2015-11-21 | Chant Sincere Co Ltd | 資料轉換系統與及其控制方法 |
US9904481B2 (en) | 2015-01-23 | 2018-02-27 | Commvault Systems, Inc. | Scalable auxiliary copy processing in a storage management system using media agent resources |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US10592121B2 (en) | 2017-09-14 | 2020-03-17 | Samsung Electronics Co., Ltd. | Quasi-synchronous protocol for large bandwidth memory systems |
CN110389919B (zh) * | 2019-07-04 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 基于risc-v处理器的异步收发传输器外设及系统 |
CN111708312B (zh) * | 2020-04-28 | 2021-11-09 | 北京骥远自动化技术有限公司 | 一种高可靠数据传输plc系统及其数据传输方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4353128A (en) | 1980-06-19 | 1982-10-05 | Bell Telephone Laboratories, Incorporated | Synchronous/asynchronous data communication arrangement |
DE3213345C2 (de) * | 1982-04-08 | 1984-11-22 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Datenübertragungseinrichtung zwischen zwei asynchron gesteuerten Datenverarbeitungssystemen |
DE3780551T2 (de) * | 1986-09-04 | 1993-03-11 | Fujitsu Ltd | Speichereinrichtung unter verwendung von adressenmultiplex. |
US4908823A (en) | 1988-01-29 | 1990-03-13 | Hewlett-Packard Company | Hybrid communications link adapter incorporating input/output and data communications technology |
US5842029A (en) * | 1991-10-17 | 1998-11-24 | Intel Corporation | Method and apparatus for powering down an integrated circuit transparently and its phase locked loop |
US5640599A (en) * | 1991-12-30 | 1997-06-17 | Apple Computer, Inc. | Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed |
US5325516A (en) * | 1992-03-09 | 1994-06-28 | Chips And Technologies Inc. | Processor system with dual clock |
US5280587A (en) * | 1992-03-31 | 1994-01-18 | Vlsi Technology, Inc. | Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value |
US5359232A (en) * | 1992-05-08 | 1994-10-25 | Cyrix Corporation | Clock multiplication circuit and method |
JP3608804B2 (ja) * | 1993-05-14 | 2005-01-12 | 株式会社ソニー・コンピュータエンタテインメント | バス制御装置 |
JPH0844665A (ja) | 1994-07-14 | 1996-02-16 | Fujitsu Ltd | 複数のデータ転送サイズ及びプロトコルをサポートするバス |
TW358907B (en) * | 1994-11-22 | 1999-05-21 | Monolithic System Tech Inc | A computer system and a method of using a DRAM array as a next level cache memory |
US5754825A (en) | 1995-05-19 | 1998-05-19 | Compaq Computer Corporation | Lower address line prediction and substitution |
KR0164395B1 (ko) * | 1995-09-11 | 1999-02-18 | 김광호 | 반도체 메모리 장치와 그 리이드 및 라이트 방법 |
US5727171A (en) * | 1995-11-16 | 1998-03-10 | International Business Machines Corporation | Method and apparatus for allowing multi-speed synchronous communications between a processor and both slow and fast computing devices |
US5893135A (en) * | 1995-12-27 | 1999-04-06 | Intel Corporation | Flash memory array with two interfaces for responding to RAS and CAS signals |
US5826067A (en) * | 1996-09-06 | 1998-10-20 | Intel Corporation | Method and apparatus for preventing logic glitches in a 2/n clocking scheme |
US5802356A (en) | 1996-11-13 | 1998-09-01 | Integrated Device Technology, Inc. | Configurable drive clock |
US5809291A (en) * | 1997-02-19 | 1998-09-15 | International Business Machines Corp. | Interoperable 33 MHz and 66 MHz devices on the same PCI bus |
US5901304A (en) * | 1997-03-13 | 1999-05-04 | International Business Machines Corporation | Emulating quasi-synchronous DRAM with asynchronous DRAM |
US5919254A (en) * | 1997-06-25 | 1999-07-06 | Intel Corporation | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system |
US6336159B1 (en) * | 1997-06-25 | 2002-01-01 | Intel Corporation | Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system |
US5905391A (en) * | 1997-07-14 | 1999-05-18 | Intel Corporation | Master-slave delay locked loop for accurate delay or non-periodic signals |
US5978869A (en) * | 1997-07-21 | 1999-11-02 | International Business Machines Corporation | Enhanced dual speed bus computer system |
US6108736A (en) * | 1997-09-22 | 2000-08-22 | Intel Corporation | System and method of flow control for a high speed bus |
US5964856A (en) * | 1997-09-30 | 1999-10-12 | Intel Corporation | Mechanism for data strobe pre-driving during master changeover on a parallel bus |
US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
KR100255664B1 (ko) * | 1997-12-29 | 2000-05-01 | 윤종용 | 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법 |
-
1998
- 1998-01-13 US US09/006,322 patent/US6336159B1/en not_active Expired - Lifetime
-
1999
- 1999-01-05 AU AU20269/99A patent/AU2026999A/en not_active Abandoned
- 1999-01-05 DE DE69916993T patent/DE69916993T2/de not_active Expired - Lifetime
- 1999-01-05 WO PCT/US1999/000199 patent/WO1999036858A1/en active IP Right Grant
- 1999-01-05 EP EP99900759A patent/EP1046111B1/en not_active Expired - Lifetime
- 1999-01-05 CN CNB998021520A patent/CN1199117C/zh not_active Expired - Fee Related
- 1999-01-05 JP JP2000540501A patent/JP4598270B2/ja not_active Expired - Lifetime
-
2001
- 2001-11-06 US US09/991,626 patent/US6598103B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU2026999A (en) | 1999-08-02 |
CN1288544A (zh) | 2001-03-21 |
US20020065967A1 (en) | 2002-05-30 |
US6336159B1 (en) | 2002-01-01 |
CN1199117C (zh) | 2005-04-27 |
US6598103B2 (en) | 2003-07-22 |
EP1046111A4 (en) | 2002-01-23 |
JP2002509315A (ja) | 2002-03-26 |
EP1046111A1 (en) | 2000-10-25 |
DE69916993D1 (de) | 2004-06-09 |
DE69916993T2 (de) | 2005-04-21 |
WO1999036858A1 (en) | 1999-07-22 |
EP1046111B1 (en) | 2004-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4598270B2 (ja) | ソース同期および共通クロック・プロトコルによるデータ転送 | |
EP1032880B1 (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system | |
US6405271B1 (en) | Data flow control mechanism for a bus supporting two-and three-agent transactions | |
EP0422103B1 (en) | I/o bus to system bus interface | |
US5696910A (en) | Method and apparatus for tracking transactions in a pipelined bus | |
JP4194274B2 (ja) | クアド・ポンプ・バス・アーキテクチャおよびプロトコル | |
US6993612B2 (en) | Arbitration method for a source strobed bus | |
JPH11167514A (ja) | 動作速度が異なるdramに対処できるメモリ制御機能を備えたコンピュータ・システム | |
US5911053A (en) | Method and apparatus for changing data transfer widths in a computer system | |
US7469312B2 (en) | Computer system bus bridge | |
TW455768B (en) | Method and apparatus for operating an adaptive, multiplexed address and data bus within a computer system | |
WO2023160192A1 (zh) | 一种用于总线的互联装置 | |
US6108735A (en) | Method and apparatus for responding to unclaimed bus transactions | |
US5991855A (en) | Low latency memory read with concurrent pipe lined snoops | |
EP1041492A2 (en) | Method and system for optimizing of peripheral component interconnect (PCI) bus transfers | |
US5923857A (en) | Method and apparatus for ordering writeback data transfers on a bus | |
US6662258B1 (en) | Fly-by support module for a peripheral bus | |
EP1367492A1 (en) | Compute node to mesh interface for highly scalable parallel processing system | |
EP1306766B1 (en) | Method and apparatus for providing address parity checking for multiple overlapping address spaces on a shared bus | |
JP3220749B2 (ja) | メモリー制御装置及びメモリー制御方法 | |
WO1998010350A1 (en) | A data flow control mechanism for a bus supporting two-and three-agent transactions | |
US20020166039A1 (en) | Method and apparatus for supporting multiple overlapping address spaces on a shared bus | |
GB2272548A (en) | Zero wait state cache using non-interleaved banks of asynchronous static random access memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060105 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080722 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081022 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090804 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091104 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091111 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100316 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100616 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100716 |
|
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: 20100824 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100924 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
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 |