JP4598270B2 - ソース同期および共通クロック・プロトコルによるデータ転送 - Google Patents

ソース同期および共通クロック・プロトコルによるデータ転送 Download PDF

Info

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
Application number
JP2000540501A
Other languages
English (en)
Other versions
JP2002509315A5 (ja
JP2002509315A (ja
Inventor
マックウィリアムス,ピーター・ディ
ウー,ウィリアム・エス
サムパス,ディリップ・ケイ
プラサド,ビンディ・エイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2002509315A publication Critical patent/JP2002509315A/ja
Publication of JP2002509315A5 publication Critical patent/JP2002509315A5/ja
Application granted granted Critical
Publication of JP4598270B2 publication Critical patent/JP4598270B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling 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

【0001】
(発明の分野)
本発明は、コンピュータ・システムにおけるデータ転送の分野に関する。
【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】
Figure 0004598270
【表2】
Figure 0004598270
【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】
Figure 0004598270
【0043】
エージェント400によって与えられる適切な指示は、データ幅標識401に基づいている。一実施形態では、データ幅標識401が、表IIに示す4つの符号化の1つを格納し、これをバス・コントローラ138によって直接バス上に配置することができる。エージェント400が、バスに結合された別のエージェントによって発行された要求の目標である場合、エージェント400も、目標エージェントとして、エージェント400がサポートするデータ転送幅を指示する。一実施形態では、この指示は、DRDY#426、DRDYS#428、TRDY#420およびTRDYS#422の1つまたは複数の組み合わせを使用して行われる。これらの信号によって提供される指示の概要を、要求エージェントがサポートするものとして示したものに基づいて、以下の表IIIに示す。
【表4】
Figure 0004598270
【0044】
DRDY#426およびDRDYS#428信号は、転送が共通クロック・プロトコルに従うか、ソース同期プロトコルに従うかも示す。これを以下の表IVに要約する。
【表5】
Figure 0004598270
【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】
Figure 0004598270
【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のバス・エージェントによって、該第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送することと、
    第1のバス・エージェントによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送すること
    とを含み、
    該第2の転送プロトコルによるデータの転送は前記第2のバス・エージェントが前記バス・クロックと非同期に前記データをサンプリングすることを可能にさせるものであり、前記データは前記バス・クロックの1つの周期内で前記第1のバス・エージェントによって生成された複数のストローブ信号に同期しており、前記各ストローブ信号は個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個々のチャンクを前記第2のバス・エージェントがラッチするために使用されるものである、
    ことを特徴とする方法。
  2. コンピュータ・システムにおけるバス・エージェント間データ転送装置であって、
    第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送するよう動作可能なバスを備え、
    前記バスはさらに、前記バス・クロックの1つの周期内で複数のストローブ信号を前記第1のバス・エージェントが生成することによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送するよう動作可能であり、前記ストローブ信号は前記第2のバス・エージェントが前記バス・クロックと非同期に前記データをサンプリングすることを可能にさせるものであり、前記データは複数のストローブ信号に同期され、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることを特徴とする装置。
  3. 複数のバス・エージェントのうちの第1のバス・エージェントから複数のバス・エージェントのうちの第2のバス・エージェントへのデータ転送を制御する1以上の制御信号を、前記第1のバス・エージェントによって、該第1のバス・エージェントから前記第2のバス・エージェントへバス・クロックに基づく共通クロック・プロトコルに従って転送することと、
    前記1以上の制御信号に対応するデータを、前記第1のバス・エージェントによって、該第1のバス・エージェントから前記第2のバス・エージェントへソース同期データ転送プロトコルに従って転送することであって、前記バス・クロックと非同期に前記データを前記第2のバス・エージェントがサンプリングすることを可能にさせるために、前記バス・クロックの1つの周期内で複数のストローブ信号を前記第1のバス・エージェントが生成することを含んでおり、前記データは前記複数のストローブ信号に同期し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は転送されるデータの個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることとを含むことを特徴とするバス・エージェント間データ転送方法。
  4. 第1のバス・エージェントによって、バス・トランザクションの所定のフェーズを示す制御信号を第1のバス・エージェントから第2のバス・エージェントへバス・クロックによりクロック動作する第1の転送プロトコルに従って転送することと、
    第1のバス・エージェントによって、前記バス・トランザクションに関連するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第1のバス・エージェントによって前記バス・クロックの1つの周期内で複数のストローブ信号を生成する第2の転送プロトコルに従って、転送することであって、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号により前記第2のバス・エージェントが前記バス・クロックと非同期にデータをサンプリングすることを可能にすることとを含むことを特徴とするバス・エージェント間データ転送方法。
  5. コンピュータ・システムの第1のバス・エージェントによって、該第1のバス・エージェントから前記コンピュータ・システムの第2のバス・エージェントへのデータ転送を制御する制御信号を該第1のエージェントから前記第2のエージェントへ前記コンピュータ・システムのバス・クロックのレートにて転送することと、
    前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ前記バス・クロックのレートの2倍のレートで転送することであって、このデータの転送が、
    前記第1のバス・エージェントによって、前記バス・クロックの1つの周期内で第1のストローブと第2のストローブを生成するとともに、該第1のストローブを第1のストローブ線路上で、前記第2のストローブを第2のストローブ線路上で転送することと、
    前記第2のバス・エージェントが、第1のデータ・チャンクを前記第1のストローブのタイミングでラッチすることと、
    前記第2のバス・エージェントが、第2のデータ・チャンクを前記第2のストローブのタイミングでラッチすることと
    を含むことを特徴とするバス・エージェント間データ転送方法。
  6. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに接続した第1のバス・エージェント及び第2のバス・エージェントとを備え、
    前記第1のバス・エージェントが制御信号を前記第2のバス・エージェントへ前記バス・クロックのレートで転送し、
    前記第1のバス・エージェントがデータ信号の個別のチャンクを前記第2のバス・エージェントへ前記バス・クロックの複数倍のレートで転送するため、前記バス・クロックの1つの周期内で前記第1のバス・エージェントが複数のストローブ信号を生成し、前記データ信号の個別のチャンクは該生成された複数のストローブ信号に同期され、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は前記データ信号の個別のチャンクを前記第2のバス・エージェントがラッチするために使用されることを特徴とするコンピュータ・システム。
  7. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送するバス・コントローラを備え、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送することであって前記第2群の信号のうちの少なくとも2つの信号をサンプリングするために前記バス・コントローラが前記バス・クロックの1つの周期内で少なくとも2つのストローブ信号を生成することを含んでおり、前記第2群の信号のうちの少なくとも2つの信号は前記少なくとも2つのストローブ信号に同期しており、前記少なくとも2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は前記第2群の信号のうちの少なくとも2つの信号のそれぞれを前記バス・エージェントがラッチするために使用され、前記第2群の信号のうちの少なくとも2つの信号は共通クロック周波数の少なくとも2倍のレートで転送されることを特徴とするバス・エージェント間データ転送装置。
  8. 第1のバス・エージェントから第2のバス・エージェントへのデータ転送を制御するとともに、バス・クロックに同期した複数の制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラと、
    前記バス・コントローラは第2群の信号を、該第2群の信号の2つのストローブ信号を生成することを含む、ソース同期プロトコルを用いて転送し、前記第2群の2つの信号は前記2つのストローブ信号に同期しており、前記2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の2つの信号は前記バス・トランザクションの前記複数のフェーズの中のデータ・フェーズでのみ転送され、前記第2群の2つの信号を前記共通クロック周波数の2倍で転送し、前記2つのストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点にてストローブ遷移をもたらすよう整列されており、前記バス・コントローラが前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で前記第2群の信号を転送し、
    前記複数の制御信号は前記第2群の信号を介して有効情報が送られたことを前記第2のバス・エージェントに示すための少なくとも一つの制御信号を含むことを特徴とするバス・エージェント間データ転送装置。
  9. バス・エージェントへのデータ転送を制御するとともにバス・クロックに同期した複数の制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラを備え、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させてあり、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が前記第2群の信号の個別のチャンクを前記バス・エージェントがラッチするために使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送し、前記第2群の信号は前記共通クロック周波数の倍数のレートで転送し、
    前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを前記バス・エージェントに示すため共通クロック・プロトコルで転送される少なくとも一つの制御信号を含み、この少なくとも一つの制御信号は前記有効情報が転送される前記データ・フェーズ中に共通クロック・プロトコルを用いてアサートされることを特徴とするバス・エージェント間データ転送装置。
  10. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・トランザクションの複数のフェーズ中に転送するバス・コントローラを備え、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号が前記複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチするために使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズのデータ・フェーズにのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍のレートで転送されるものであり、前記第2群の信号は前記共通クロック周波数の1クロック周期に等しい信号転送時間期間中にて転送されるN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素それぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とするバス・エージェント間データ転送装置。
  11. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・トランザクションの複数のフェーズ中に転送するバス・コントローラを備え、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記共通クロック周波数の1クロック周期に等しい信号転送時間期間中に転送する2つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号のうちの第1のストローブ信号は前記信号転送時間期間のほぼ25%点にて遷移させ、前記複数のストローブ信号のうちの第2のストローブ信号は前記信号転送時間期間のほぼ75%点にて遷移させ、
    前記複数の制御信号が前記第2群の信号を介して有効情報が転送されたことを示す少なくとも1つの制御信号を含むことを特徴とするバス・エージェント間データ転送装置。
  12. バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することと、
    前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することであって、前記第2群の信号を前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させ、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号に応答して受信側エージェントが前記第2群の信号をラッチすることとを含み、
    前記第2群の信号を前記共通クロック周波数の倍数にて転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含むことを特徴とする転送方法。
  13. バス・コントローラを結合した制御バスを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズにおいて通信される複数の制御信号を含み、
    前記バス・コントローラを結合したデータバスを介してデータ信号群をソース同期プロトコルを用いて転送することであって、前記データ信号群は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記データ信号群は前記バス・トランザクションの前記複数のフェーズの内の所定のフェーズ中に転送され、前記データ信号群は前記共通クロック周波数の2倍で転送され、前記複数のストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点でストローブ遷移をもたらすよう整列させてあり、前記バス・コントローラは前記データ信号群を前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で転送することとを含み、
    前記複数の制御信号が、前記共通クロック・プロトコルで前記制御バスと前記データバスとに結合したターゲットへ転送されて前記ソース同期プロトコルを用いて有効情報が転送されたことを示す少なくとも一つの制御信号を含むことを特徴とする転送方法。
  14. バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
    前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することであって、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が個別データ・チャンクを受信側エージェントがラッチする際に使用され、前記第2群の信号は前記バス・トランザクションの前記複数フェーズのデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の倍数で転送することとを含み、
    前記複数の制御信号が前記共通クロック・プロトコルで転送されてソース同期プロトコルを用いて有効情報が転送されたことを示す少なくとも1つの制御信号を含み、この少なくとも一つの制御信号を前記有効情報が転送されるフェーズ中にアサートすることを特徴とする転送方法。
  15. バス・コントローラを介してバス・クロックに同期した第1群の信号であってバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含む第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送することと、
    前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて転送することとを含む転送方法であって、
    前記第2群の信号が複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチする際に使用され、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間にて転送されるN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素のそれぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とする転送方法。
  16. バス・コントローラを介してバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送することであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信する複数の制御信号を含み、
    前記バス・コントローラを介して第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送することであって、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの複数のフェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間内に転送する二つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号を前記信号転送時間期間のほぼ25%点と前記信号転送時間期間のほぼ75%点にて遷移するよう整列させたこととを含み、
    前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号を含むことを特徴とする転送方法。
  17. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合したプロセッサで、バス・コントローラを含む前記プロセッサとを備え、
    前記バス・コントローラが前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送し、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期させてあり、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号にしたがって前記バス・エージェントが前記第2群の信号をラッチするものであり、前記第2群の信号を共通クロック周波数の複数倍にて転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含むことを特徴とするコンピュータ・システム。
  18. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
    を備え、
    前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いてバス・エージェントに転送し、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて前記バス・エージェントに転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号を前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズにのみ転送し、前記第2群の信号を前記共通クロック周波数の2倍で転送し、前記複数のストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点でストローブ遷移をもたらすよう整列させ、前記バス・コントローラが前記第2群の信号を前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で転送し、
    前記共通クロック・プロトコルで転送される少なくとも1つの制御信号を含む前記複数の制御信号がソース同期プロトコルを用いて有効情報が転送されたことを前記バス・エージェントに示すことを特徴とするコンピュータ・システム。
  19. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
    を備え、
    前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号がバストランザクションの複数のフェーズ中に通信する複数の制御信号を含み、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は前記バス・クロックの1つの周期内で前記バス・コントローラが生成する複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号が個別データ・チャンクを受信側エージェントがラッチするためにあり、前記第2群の信号は前記バス・トランザクションの前記複数のフェーズの内のデータ・フェーズ中にのみ転送し、前記第2群の信号は共通クロック周波数の倍数にて転送され、
    前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号含み、この少なくとも一つの制御信号は前記有効情報が転送されるフェーズ中にアサートされることを特徴とするコンピュータ・システム。
  20. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合したプロセッサであって、バス・コントローラを含むプロセッサと
    を備え、
    前記バス・コントローラがバス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号はバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含み、
    前記バス・コントローラは第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期しており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号は個別のN個のデータ要素を受信側エージェントがラッチするためにあり、前記第2群の信号は前記バス・トランザクションの前記複数フェーズの内のデータ・フェーズ中にのみ転送され、前記第2群の信号は前記共通クロック周波数のN倍にて転送され、前記第2群の信号が前記バス・クロックの1クロック周期に等しい信号転送時間期間中に転送するN個のデータ要素を有し、前記複数のストローブ信号は前記N個のデータ要素のそれぞれのほぼ中心点にてストローブ遷移をもたらすよう整列されていることを特徴とするコンピュータ・システム。
  21. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合するプロセッサと、
    前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記第1群の信号がバス・トランザクションの複数のフェーズ中に通信される複数の制御信号を含む、バス・コントローラとを備え、
    前記バス・コントローラが第2群の信号をソース同期プロトコルを用いて転送し、前記第2群の信号は複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群の信号は前記バス・トランザクションの複数のフェーズの内の所定のフェーズにのみ転送され、前記第2群の信号は前記共通クロック周波数の2倍で転送され、前記第2群の信号は前記バス・クロックの1クロック周期に等しい信号転送時間期間内に転送する2つのデータ要素を有し、第1のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ始期に転送し、第2のデータ要素を前記第2群の信号を介して前記信号転送時間期間のほぼ50%点で転送し、前記複数のストローブ信号の第1のストローブ信号は前記信号転送時間期間のほぼ25%点にて遷移させ、前記複数のストローブ信号の第2のストローブ信号は前記信号転送時間期間のほぼ75%点にて遷移させ、
    前記複数の制御信号が前記ソース同期プロトコルを用いて有効情報が転送されたことを示す、共通クロック・プロトコルで転送される少なくとも1つの制御信号を含むことを特徴とするコンピュータ・システム。
  22. バス・コントローラであって、
    複数の制御信号をバス・トランザクションの複数のフェーズのうちの幾つかにて転送する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従い共通クロック周波数にて転送する前記第1の複数の信号インタフェースと、
    複数の情報信号を前記バス・トランザクションの前記複数のフェーズのうちの1つのフェーズ中に転送する第2の複数の信号インタフェースであって、共通クロックの1つの周期において複数の情報信号の内の2つのデータをサンプリングするために、複数のストローブ信号を該共通クロックの1つの周期内で生成し、前記複数の情報信号を複数のストローブ信号と併せ転送し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数の情報信号をソース同期プロトコルで転送し、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含む前記第2の複数の信号インタフェースとを備えることを特徴とするバス・コントローラ。
  23. コンピュータ・システムにおけるバス・エージェント間でのデータ転送方法であって、
    第1のバス・エージェントによって、転送すべきデータに関する制御信号を第1のバス・エージェントから第2のバス・エージェントへ前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで転送することと、
    前記第1のバス・エージェントによって、前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送することであって、この転送がさらに、
    前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントがデータをサンプリングするために使用するストローブ信号を前記第1のバス・エージェントが複数生成することと、
    前記データの中の複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のそれぞれのデータ・チャンクを前記第2のバス・エージェントがラッチすること
    とを含む方法。
  24. コンピュータ・システムにおけるバス・エージェント間データ転送装置であって、
    転送すべきデータに関する制御信号を第1のバス・エージェントから第2のバス・エージェントへ、前記コンピュータ・システムのバス・クロックによりクロック動作する第1の転送プロトコルで、転送するよう動作可能なバスを備え、
    前記バスは、さらに、
    前記制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ第2の転送プロトコルで転送するよう動作可能であり、前記第2の転送プロトコルは、前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントがデータをサンプリングするために使用するストローブ信号を前記第1のバス・エージェントが複数生成するものであり、前記データの複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のデータ・チャンクのそれぞれを前記第2のバス・エージェントがラッチする
    ことを特徴とする装置。
  25. 転送すべきデータに関する1以上の制御信号を複数のバス・エージェントのうちの第1のバス・エージェントから前記複数のバス・エージェントのうちの第2のバス・エージェントへバス・クロックに基づく共通クロック・プロトコルに従って、該第1のバス・エージェントによって、転送することと、
    前記第1のバス・エージェントによって、前記1以上の制御信号に対応するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへソース同期転送プロトコルで転送することであって、前記バス・クロックと非同期にかつ該バス・クロックの1つの周期内で、前記第2のバス・エージェントにデータをサンプリングさせるためのストローブ信号を前記第1のバス・エージェントが複数生成することと、前記データの複数のデータ・チャンクのそれぞれを複数の分離されたストローブ線上に生成される前記それぞれのストローブ信号に同期させ、該それぞれのストローブ信号に応答して、該複数のデータ・チャンクを前記第2のバス・エージェントにラッチさせることとを行わせるソース同期転送プロトコルで転送することと
    を含む方法。
  26. バス・トランザクションの1つのフェ−ズを示す制御信号を第1のバス・エージェントから第2のバス・エージェントへバス・クロックによりクロック動作する第1の転送プロトコルに従って、該第1のバス・エージェントによって、転送することと、
    前記第1のバス・エージェントによって、前記バス・トランザクションに関連するデータを前記第1のバス・エージェントから前記第2のバス・エージェントへ、前記バス・クロックの1つの周期内で該第1のバス・エージェントによって生成される複数のストローブ信号を含む第2の転送プロトコルに従って転送することであって、前記複数のストローブ信号のそれぞれは個別ストローブ線路上に生成されるものであり、前記複数のストローブ信号により前記第2のバス・エージェントが前記バス・クロックに非同期にデータをサンプリングさせることと
    を含む方法。
  27. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラを備え、
    前記バス・コントローラが第2群の信号を、前記バス・クロックの1つの周期内で、該第2群の信号の少なくとも2つの信号を受信側バス・エージェントがサンプリングするための少なくとも2つのストローブ信号を前記バス・コントローラが生成するソース同期プロトコルを用いて転送し、前記第2群の信号の少なくとも2つの信号は該生成される少なくとも2つのストローブ信号に同期されており、前記少なくとも2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、これらのストローブ信号に応答して前記第2群の信号の少なくとも2つの信号を前記受信側バス・エージェントがラッチして、前記第2群の信号の少なくとも2つの信号を前記共通クロック周波数の少なくとも2倍の速度にて転送することを特徴とする装置。
  28. バス・クロックに同期した複数の転送すべき第2群の信号に関する制御信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記複数の制御信号をバス・トランザクションの複数のフェーズ中に通信する前記バス・コントローラと、
    前記バス・コントローラは前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、該第2群の信号のうちの2つの信号を受信側装置がサンプリングするための2つのストローブ信号を前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群のうちの2つの信号は前記生成された2つのストローブ信号に同期されており、前記2つのストローブ信号のそれぞれは個別ストローブ線路上にあり、前記第2群のうちの2つの信号を前記バス・トランザクションの前記複数のフェーズのうちのデータ・フェーズ中にのみ転送し、前記第2群の信号のうちの2つの信号を前記共通クロック周波数の2倍で転送し、前記2つのストローブ信号は前記バス・クロックのバス・クロック周期のほぼ25%点とほぼ75%点にてストローブ遷移をもたらすよう整列させ、前記バス・コントローラが前記バス・クロックのほぼ立ち上がり点と前記バス・クロック周期のほぼ50%点で前記第2群の2つの信号を転送し、
    前記複数の制御信号は前記第2群のうちの2つの信号が転送されたことを前記受信側装置に示す少なくとも1つの制御信号を含むことを特徴とする装置。
  29. バス・コントローラであって、
    複数の情報信号の転送に関する複数の制御信号をバス・トランザクションの複数のフェーズのうちの幾つかのフェーズにて転送する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従い共通クロック周波数にて転送する前記第1の複数の信号インタフェースと、
    複数の情報信号を前記バス・トランザクションの前記複数のフェーズのうちの1つのフェーズ中に転送する第2の複数の信号インタフェースであって、この第2の複数の信号インターフェースは前記複数の情報信号を、ソース同期プロトコルを用いて複数のストローブ信号と併せ転送し、前記ソース同期プロトコルは、前記複数の情報信号を受信側バス・エージェントがサンプリングするための前記複数のストローブ信号を前記第2の複数の信号インターフェースが前記共通クロックの1つの周期内で生成することを含み、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、前記複数のストローブ信号が相補的波形を有する1以上のストローブ信号対を含む、前記第2の複数の信号インタフェースとを備えることを特徴とするバス・コントローラ。
  30. N個のフェーズを有するバス・トランザクションそれぞれのフェーズに第1の複数の信号を、第1のエージェントから第2のエージェントに、該第1のエージェントによって転送することであって、前記第1の複数の信号を共通クロック・プロトコルに従う共通クロック周波数にて転送することと、
    前記第1のエージェントによって、第2の複数の信号を前記バス・トランザクションのN個のフェーズとは別のデータ・フェーズ中に転送することとを含み、
    このデータ・フェーズ中の転送が、前記第2の複数の信号を前記第2のエージェントがサンプリングするための複数のストローブ信号を前記第1のエージェントが前記共通・クロックの1つの周期内で生成して前記第2の複数の信号を前記第2のエージェントに転送し、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記第2のエージェントがラッチすることを特徴とする転送方法。
  31. コンピュータ・システムであって、
    バスと、
    共通クロックと、
    複数のバス・トランザクションについて複数のフェーズごとに第1の複数の信号を転送し受信する第1の複数の信号インタフェースであって、前記複数の制御信号を共通クロック・プロトコルに従う前記共通クロックの周波数にて転送する前記第1の複数の信号インタフェースと、
    前記複数のフェーズのデータ・フェーズ中に第2の複数の信号を転送する第2の複数の信号インタフェースであって、この第2の複数の信号インターフェースは前記第2の複数の信号を、ソース同期プロトコルを用いて複数のストローブ信号と併せ転送し、前記ソース同期プロトコルは、前記第2の複数の信号を受信側バス・エージェントがサンプリングするための前記複数のストローブ信号を前記第2の複数の信号インタフェースが前記共通クロックの1つの周期内で生成することを含み、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にある前記第2の複数の信号インタフェースとを備えることを特徴とするコンピュータ・システム。
  32. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送するバス・コントローラであって、前記第1群の信号が、ソース同期プロトコルを用いて第2群の信号が転送されたことを受信側装置に示す前記バス・クロックに同期した少なくとも一つの信号を含む前記バス・コントローラを備え、
    前記バス・コントローラ前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、前記第2群の信号を前記受信側装置がサンプリングするためのストローブ信号群を前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記生成されたストローブ信号群に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチすることを特徴とする装置。
  33. バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて第1のエージェントから第2のエージェントに、該第1のエージェントによって転送することであって、前記第1群の信号が、ソース同期プロトコルを用いた、第2群の信号が転送されたことを第2のエージェントに示す前記バス・クロックに同期した少なくとも1つの信号を含んでおり、
    前記第1のエージェントによって、前記第2群の信号を、前記ソース同期プロトコルを用いて第2のエージェントに転送し、このソース同期プロトコルは、前記第2群の信号を前記第2のエージェントがサンプリングするためのストローブ信号群を前記第1のエージェントが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記ストローブ信号群に同期させてあり、前記ストローブ信号群のそれぞれのストローブ信号は個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記第2のエージェントがラッチすることを特徴とする方法。
  34. コンピュータ・システムであって、
    バスと、
    バス・クロックと、
    前記バスに結合したプロセッサで、バス・コントローラを含む前記プロセッサとを備え、
    前記バス・コントローラが前記バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送し、前記第1群の信号が、ソース同期プロトコルを用いて第2群の信号を転送したことを受信側装置に示す前記バス・クロックに同期した少なくとも1つの信号を含み、
    前記バス・コントローラが前記第2群の信号を、前記ソース同期プロトコルを用いて転送し、このソース同期プロトコルは、前記第2群の信号を前記受信側装置がサンプリングするためのストローブ信号群を前記バス・コントローラが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記生成したストローブ信号群に同期されており、前記ストローブ信号群のそれぞれのストローブ信号は個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチすることを特徴とするコンピュータ・システム。
  35. バス・コントローラであって、
    バス・クロックに同期した第1群の信号を共通クロック周波数の共通クロック・プロトコルを用いて転送する第1のバス・インタフェースと、
    第2群の信号を複数のフェーズを有したバス・トランザクションの所定のフェーズで転送する第2のバス・インタフェースであって、この第2のバス・インターフェースは前記第2群の信号を、ソース同期プロトコルを用いて転送し、前記ソース同期プロトコルは、前記第2群の信号を受信側装置がサンプリングするための複数のストローブ信号を前記第2のバス・インタフェースが前記バス・クロックの1つの周期内で生成することを含み、前記第2群の信号は前記複数のストローブ信号に同期されており、前記複数のストローブ信号のそれぞれは個別ストローブ線路上にあり、各ストローブ信号に応答して前記それぞれの第2群の信号を前記受信側装置がラッチする、ものである前記第2のバス・インタフェースとを備えることを特徴とするバス・コントローラ。
JP2000540501A 1998-01-13 1999-01-05 ソース同期および共通クロック・プロトコルによるデータ転送 Expired - Lifetime JP4598270B2 (ja)

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)

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

* Cited by examiner, † Cited by third party
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 윤종용 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법

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