JP2003518693A - クアド・ポンプ・バス・アーキテクチャおよびプロトコル - Google Patents

クアド・ポンプ・バス・アーキテクチャおよびプロトコル

Info

Publication number
JP2003518693A
JP2003518693A JP2001549206A JP2001549206A JP2003518693A JP 2003518693 A JP2003518693 A JP 2003518693A JP 2001549206 A JP2001549206 A JP 2001549206A JP 2001549206 A JP2001549206 A JP 2001549206A JP 2003518693 A JP2003518693 A JP 2003518693A
Authority
JP
Japan
Prior art keywords
bus
data
clock
address
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001549206A
Other languages
English (en)
Other versions
JP4194274B2 (ja
JP2003518693A5 (ja
Inventor
ガーバー シング
ロバート ジェイ グレニーア
スティーブン エス パウロウスキー
デイヴィッド エル ヒル
ドナルド ディー パーカー
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2003518693A publication Critical patent/JP2003518693A/ja
Publication of JP2003518693A5 publication Critical patent/JP2003518693A5/ja
Application granted granted Critical
Publication of JP4194274B2 publication Critical patent/JP4194274B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 双方向マルチドロップ・プロセッサ・バスは、複数のバス・エージェントに接続される。バス・スループットは、複数の情報エレメントが、バス・クロックの周波数の倍数である速度で、ドライビング・エージェントによってバスへと送られるルチ・ポンプ信号モードで、バスを操作することによって、増やすことができる。ドライビング・エージェントは、情報エレメントに関するサンプリング点を識別するために、ストロボの起動もする。一つの要求に関する情報エレメントは、例えば、二つの情報エレメントが1バス・クロック・サイクル中に送られるダブル・ポンプ信号モードを用いて、送られうる。データ・ライン転送に関するデータ・エレメントは、例えば、4つのデータ・エレメントが、1バス・クロック・サイクル中に送られる、クアド・ポンプ信号モードを用いて送られうる。複数のストロボ信号は、ストロボ信号の周波数を減らすために、オフセットまたは互い違いの配列で一時的に起動されうる。サンプリング・シンメトリは、サンプリング点を識別するためのストロボ信号の一種類のエッジのみ(例えば、立ち上がりエッジか、立ち下がりエッジのいずれか)を用いることによって、向上されうる。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は一般的にプロセッサに関し、より詳しくは、クアド・ポンプ・バス・
アーキテクチャ(quad pumped bus architecture)およびプロトコルに関する。
【0002】 (背景技術) 今日のソフトウェアおよびアプリケーションの複雑さおよび需要が増しつつあ
るため、向上したスループットおよび帯域幅を供給するためのプロセッサに対す
る需要がある。入力/出力(I/O)速度または帯域幅、メモリ、サイズ等、コ
ンピュータ能力を制約するように動作しうるリソースは、一又は二以上ありうる
。通常、コンピュータの能力を制約し、または圧迫している一つのリソースは、
一つ以上のプロセッサとチップセット(chipset)との間に供給されるバスであ
る、プロセッサ・バスまたはフロント・サイド・バスのスピードおよび帯域幅で
ある。例えば、いくつかのPentiumTMプロセッサ(Intel Corp
orationのPentium ProTM等)は、64ビット・データ・バス
を含み、1プロセッサ・クロック・サイクルにつき、8バイトを転送することが
でき、および4クロック・サイクルで、32バイト・キャッシュ・ラインを転送
することができる。このように、プロセッサ・クロックが、(一例として)10
0MHzで供給される場合、前記データ転送速度は、800Mバイト毎秒であろ
う。Pentium Proプロセッサ・アーキテクチャの様々な詳細は、“P
entium Pro Family Developer‘s Manual
, Volume 1:Specification”1996年1月、ISB
N 1−55512−259−0に見ることができる。800Mバイト毎秒のデ
ータ転送速度は、多くのアプリケーションでは十分であるが、向上したデータ転
送速度または帯域幅を供給するプロセッサ・バスに対する必要性が存在する。
【0003】 (発明の開示) 本発明の実施例によれば、マルチドロップ(multidrop)を介して、ドライビ
ング・エージェント(driving agent)から一つ以上の受信エージェントに情報
を送信するための方法が提供される。共通バス・クロックは、ドライビング・エ
ージェントおよび受信エージェントの両方に供給される。バス・トランザクショ
ンは、前記ドライビング・エージェントから前記一つ以上の受信エージェントに
発行され:1)前記ドライビング・エージェントは、前記バス・クロックの周波
数の倍数である速度で、アドレス・バスへ、要求のための複数の情報エレメント
を送り;および2)前記ドライビング・エージェントは、いつ前記受信エージェ
ントが、前記アドレス・バスに送られた前記情報エレメントをサンプリングする
べきかを識別するための第一のストロボ信号を起動させることを含む。前記方法
は、前記ドライビング・エージェントから前記一つ以上の受信エージェントへデ
ータを転送することも含み:1)前記ドライビング・エージェントは、前記バス
・クロックの周波数の異なる倍数である速度で、データ・バスへ複数の情報エレ
メントを送り;および2)前記ドライビング・エージェントは、いつ、前記一つ
以上の受信エージェントが、前記データ・バスへ送られた前記情報エレメントを
サンプリングすべきかを識別するための第二のストロボを起動させることを含む
【0004】 (図面の簡単な説明) 本発明の前述の内容、およびより良い理解は、添付の図面とともに読むと、例
示的実施例の詳細な説明および特許請求の範囲から明らかになり、そのすべては
本発明の開示の一部を形成する。前述の、および以下に書かれた、ならびに説明
された開示内容は、本発明の例示的実施例を開示することに焦点が絞られている
一方で、それは説明および例示の目的のみであり、それに制約されないことが、
明確に理解されるべきである。本発明の精神および範囲は、付属の特許請求の範
囲の条件によってのみ制約される。
【0005】 (発明を実施するための最良の形態) 1.イントロダクション 実施例によれば、プロセッサ・バスが、複数のバス・エージェントに接続され
る。ある種類の信号が、共通クロック信号モードを用いて送信される一方で、他
の種類の信号は、マルチ・ポンプ信号モードを用いて送信されるので、前記バス
はスケーラブル(scalable)である。
【0006】 共通クロック信号モードにおいて、信号(コントロール信号等)は、共通バス
・クロックの周波数と実質的に同じである速度で、前記バスへと送られうる。こ
のモードで、前記バス・クロックのエッジは、前記バスへ送られる信号をサンプ
リングするための点を識別する。
【0007】 バス・スループットは、複数の情報エレメントが、バス・クロックの周波数の
倍数である速度で、ドライビング・エージェントによって前記バスへと送られる
マルチ・ポンプ信号モードで、前記バスを操作することによって増やすことがで
きる。前記ドライビング・エージェントは、マルチ・ポンプ信号モードで送られ
る前記情報エレメントのためのサンプリング点を識別するためのストロボ信号の
、一時的な起動もさせる。要求のための情報エレメントは、例えば、二つの情報
エレメントが、1バス・クロック・サイクル中に送られる、ダブル・ポンプ信号
モードを用いて送られうる。データ・ライン転送のためのデータ・エレメントは
、例えば、4つのデータ・エレメントが、1バス・クロック・サイクル中に送ら
れる、クアド・ポンプ信号モードを用いて送られうる。複数のストロボ信号は、
前記ストロボ信号の周波数を減らすために、オフセットまたは互い違いの配列で
、一時的に起動されうる。サンプリング・シンメトリ(sampling symmetry)は
、サンプリング点を識別するためのストロボ信号の一種類のみのエッジ(例えば
、立ち上がりエッジまたは立ち下がりエッジのいずれか)を用いて、改善されう
る。さらに、トランザクション・フェーズの間の最小待ち時間は、マルチ・ポン
プ信号モードで動作するバスの最大スピードにより近く合うように変更されうる
【0008】 2.アーキテクチャ 図1は、本発明の例示的実施例に従ったコンピュータを示すブロック図である
。前記コンピュータは、プロセッサ110、プロセッサ112およびプロセッサ
114を含む一つ以上のプロセッサを含む。各プロセッサは、内部キャッシュ(
図示されていない)も含む。
【0009】 各プロセッサは、共通プロセッサ・バス117(ホスト・バスまたはフロント
・サイド・バスとして知られる)に接続もされる。図2は、例示的実施例に従っ
たプロセッサ・バス117を示す図である。図2に記載のとおり、前記プロセッ
サ・バス117は、コントロール・バス202、アドレス・バス204、および
データ・バス206を含む。実施例に従って、データ・バス206は、64デー
タ・ラインD[63:0]を含む多くの信号を含む。前記アドレス・バス204
も、36アドレス・ラインA[35:0]を含む多くの信号を含む。前記プロセ
ッサ・バス117は、バス・クロック(BCLK)を含む。前記バス・クロック
は共通であり、プロセッサ・バス117のコントロール・バス202を介して、
すべてのエージェントに供給される。前記コントロール・バス202も、多くの
信号を含む。前記アドレス・バス204、コントロール・バス202およびデー
タ・バス206は、それぞれ、好ましくは、マルチドロップ双方向バスである。
実施例に従って、“マルチドロップ”という用語は、二つのバス・エージェント
の間のみで接続されるポイント・ツウ・ポイント・バスとは反対に、前記バスが
、三つ以上のバス・エージェントに接続されることを意味する。
【0010】 いくつかの他のコンポーネントを前記プロセッサ・バス117に接続するため
に、システム・インターフェース116(またはチップセット)も、プロセッサ
・バス117に接続される。システム・インターフェース116は、メイン・メ
モリ・サブシステム122をプロセッサ・バス117に接続するためのメモリ・
コントローラ118を含む。メイン・メモリ・サブシステム122は通常、一つ
以上のメモリ・カードおよびコントロール回路を含む。システム・インターフェ
ース116は、一つ以上のI/OブリッジまたはI/O装置を、プロセッサ・バ
ス117に接続するための、入力/出力(I/O)コントローラ120も含む。
図1に記載された、この例示的コンピュータにおいて、I/Oコントローラ12
0は、I/Oブリッジ124をプロセッサ・バス117に接続する。I/Oブリ
ッジ124はシステム・インターフェース116とI/Oバス130との間を接
続するためのバス・ブリッジとして動作する。一つ以上のI/Oコントローラお
よびI/O装置は、例えばI/Oコントローラ132やI/Oコントローラ13
4等、I/Oバス130に接続されうる。I/Oバス130は、ペリフェラル・
コンポーネント・インターコネクト(Peripheral Component Interconnect)(
PCI)または他の種類のI/Oバスでもよい。
【0011】 3.エージェント バス・エージェントは、データおよびシステム情報を転送するために、プロセ
ッサ・バス117にトランザクションを発行する。バス・エージェントは、プロ
セッサ・バス117に接続するあらゆる装置である。いくつかの階級のバス・エ
ージェントがあってもよい: 1)中央エージェント:リセット、ハードウェア・コンフィギュレーションな
らびに初期化、特殊なトランザクション、および集中ハードウェア・エラー検出
およびハンドリングを取り扱う。例は、プロセッサである。 2)I/Oエージェント:I/Oポート・アドレスを用いて、I/O装置に接
続する。PCIブリッジ等、I/O装置のために使用される他のバスへのバス・
ブリッジになりうる。 3)メモリ・エージェント:メモリ・コントローラ118等、メイン・メモリ
へのアクセスを供給する。特定のバス・エージェントは、トランザクションにお
いて、いくつかの役割の一つ以上を有しうる。 1)要求エージェント:トランザクションを発行するバス・エージェントであ
る。 2)アドレス・エージェント:トランザクションによってアドレス指定された
エージェントである。ターゲット・エージェントとも称される。メモリまたはI
/Oトランザクションは、特定されたメモリまたはI/Oアドレスを認識するメ
モリまたはI/Oエージェントにアドレス指定される。デファード・リプライ・
トランザクション(deferred reply transaction)は、本来のトランザクション
を発行したエージェントにアドレス指定される。 3)スヌープ・エージェント:キャッシュ・コヒーレンシーを維持するために
、バス・トランザクションを観察する(“スヌープする(snoop)”)キャッシ
ング・バス・エージェントである。 4)応答エージェント:トランザクションに応答を供給するエージェント(通
常はアドレス・エージェント)である。実施例に従って、応答エージェントは、
応答ストロボRS[2:0]を用いてコントロール・バスへ応答を送る。
【0012】 4.オペレーション、トランザクションおよびフェーズ 実施例に従って、プロセッサ・バス117でのバスのアクティビティは、オペ
レーション、トランザクション、およびフェーズへと、階層的に編成される。
【0013】 オペレーションは、バス117では、微小ではないかもしれないとしても、ソ
フトウェアには微小である(例えば、不可視であるか、または一度に生じるよう
に見える)ように見えるバス・プロシージャである。オペレーションは、単一の
バス・トランザクションを含んでもよいが、時には、複数のバス・トランザクシ
ョンまたは複数のデータ転送を伴う単一のトランザクションを含んでもよい。例
は、リード・オペレーション(read operation)、ライト・オペレーション(wr
ite operation)、ロックされたリード・モディファイ・ライト・オペレーショ
ン(locked read-modify-write operation)およびデファード・オペレーション
を含む。
【0014】 トランザクションは、単一のバス要求に関連するバス・アクティビティのセッ
トである。トランザクションはバス仲裁、および(アドレスが送られていること
を示す)ADS#信号ならびにトランザクション・アドレスのアサート(assert
ion)で始まる。トランザクションは、例えば、データを転送し、変更したキャ
ッシュ状態に関して問い合わせ、または前記システムに情報を供給するために送
られる。
【0015】 フェーズは、特定の種類の情報を通信するために、特定のセットの信号を使用
する。前記フェーズは:仲裁、要求、スヌープ、応答およびデータを含みうる。
すべてのトランザクションが、すべてのフェーズを含むわけではなく、いくつか
のフェーズは重複しうる。仲裁フェーズでは、バス・エージェントが、誰が次の
バス・オーナー(bus owner)であるかを決める(エージェントは、トランザク
ションを発行する前に、バスを所有しなければならない)。要求フェーズは、ト
ランザクションがバスに発行されるフェーズである。スヌープ・フェーズは、キ
ャッシュ・コヒーレンシーが強化されるフェーズである。応答フェーズは、アド
レスまたはターゲット・エージェントが、前記バスにトランザクション応答を送
るフェーズである。データ・フェーズにおいては、要求または応答またはスヌー
プエージェントが、トランザクション・データを送り、または受ける。プロセッ
サ・バス117を介して送信される4つのコントロール信号は、バス・クロック
BCLK[1:0]、初期化信号INIT#およびリセット信号RESET#を
含む。バス・クロックBCLK[1:0]は、微分バス・クロック(differenti
al bus clock)であり、クロック・チップまたはクロック回路によって生成され
てもよい。二つのバス・クロック信号、BCLK[1:0]は、論理的には同一
であり、物理的には、タイミング・スキュー(timing skew)を減らすために、
二つの個別の信号として送られる。実施例に従って、すべてのエージェントは、
それらの共通クロック出力を送り、およびバス・クロックの立ち上がりエッジに
共通クロック入力をラッチする(latch)。各プロセッサは、一つの数または複
数の数で、バス・クロック周波数を乗じ、および/または除することによって、
前記バス・クロックBCLK信号からその内部クロックを抽出する。
【0016】 実施例に従って、RESET#入力信号は、すべてのバス・エージェントを既
知の状態にリセットし、および内部キャッシュを無効にする。変更された、また
はダーティな(dirty)キャッシュ・ライン・コンテンツは失われる。RESE
T#がディアサートされた(deasserted)後、各プロセッサは、コンフィギュレ
ーション中に定義されたパワー・オン・リセット・ベクトル(power on reset v
ector)での実行を始める。
【0017】 実施例に従って、INIT#入力信号は、それらの内部キャッシュまたはそれ
らの浮動小数点レジスタに影響を与えることなく、すべてのプロセッサをリセッ
トする。各プロセッサは、コンフィギュレーション中に定義されたパワー・オン
・リセット・ベクトルでの実行を始める。
【0018】 図3は、実施例に従って、二つの例示的トランザクションに関する例示的バス
・トランザクション・フェーズ関係を示すタイミング図である。バス・クロック
(BCLK[1:0])のサイクル(1,2,3,4,...17)は、最上部
に示されている。数字1を有する四角形は、トランザクション1のための様々な
フェーズを示す一方で、数字2を有する四角形は、トランザクション2のための
フェーズを示す。図3からわかるとおり、トランザクションは、パイプライン方
式で供給される。例えば、トランザクション1に関して、バス・クロック・サイ
クル1および2において仲裁が生じ、サイクル3および4において要求が生じ、
サイクル6および7においてスヌープが生じ、およびサイクル13および14に
おいて応答ならびにデータ転送が生じる。このように、応答およびデータ転送は
、本来の要求フェーズから、いくつものバス・クロック・サイクルののちに生じ
てもよいことがわかる。また、異なるトランザクションのフェーズ間で重複が存
在しうる。例えば、トランザクション2の仲裁フェーズは、トランザクション1
の要求フェーズとほぼ同時に生じる。
【0019】 5.信号モード 実施例に従って、プロセッサ・バス117はスケーラブルであり、および二つ
の信号モードをサポートする。第一は、すべての信号起動およびサンプリングま
たはラッチ点が、すべてのエージェントの間に連続的に供給される共通バス・ク
ロック(BCLK#)に関して生じる、共通クロック信号モードである。前記バ
ス・クロックは、通常、マザーボードに供給されるクロック・チップまたはクロ
ック回路によって生成され、およびコンピュータにおけるすべてのプロセッサま
たはエージェントに共通である。共通バス・クロックに関する信号クロッキング
(signal clocking)は、共通クロック(1X)信号モードと称される。実施例
に従って、コントロール・バスを介して供給される多くのコントロール信号は、
共通クロック(1X)信号モードを用いて送信される。
【0020】 第二の信号モードは、共通クロック信号モードによってサポートされる転送速
度の倍数である情報転送速度を可能にする、マルチ・ポンプ信号モードである。
このように実施例に従って、マルチ・ポンプ信号モードは、共通(すなわち、シ
ステム)バス・クロックの周波数の倍数である速度で、エージェント間のプロセ
ッサ・バス117を介した情報転送をサポートすることができる。例えば、マル
チ・ポンプ信号モードは、例えば、情報(例えば、データ、アドレス、または他
の情報)が、共通クロック周波数の速度の2倍(2X)で転送されうるようにす
るダブル・ポンプ信号モードを供給してもよく、またはバス・クロック周波数の
4倍(4X)での情報転送を手配するクアド・ポンプ信号モードを供給してもよ
い。共通バス・クロックよりも大きい速度または周波数での情報の転送を容易に
するために、ドライビング・エージェントは、マルチ・ポンプ情報を捕獲または
ラッチするための基準として、レシーバによって使用されるタイミング“ストロ
ボ”として知られる同伴信号(companion signal)の発行または供給もする。
【0021】 アサート(asserted)という用語は、信号が、そのアクティブ・レベル(acti
ve level)にされる(すなわち、アクティブ・ロー信号に関してはゼロにされる
)ことを意味し、およびディアサート(deasserted)という用語は、信号が、そ
のインアクティブ(inactive)・レベルにされることを意味する。正方形、円形
または三角形の記号は、特定の信号が送られ、またはサンプリングされる時を示
すために、後述されるいくつかのタイミング図において使用される。正方形は、
前記クロック・サイクルで信号が送られる(アサートされる、開始される)こと
を示す。円形は、信号が前記クロック・サイクルでサンプリングされる(観察さ
れる、ラッチされる)ことを示す。円形は通常、共通クロック(1X)信号モー
ドにおいて、バス・クロック(BCLK)の立ち上がり(または立ち下がり)エ
ッジに基づいて、サンプリング点を示すために使用される。三角形は、信号が、
“ストロボ”と称される、同伴信号の立ち上がりまたは立ち下がりエッジに基づ
いて、サンプリングされまたは捕獲されることを示す。前記ストロボは、好まし
くは、通常マルチ・ポンプ・モードで、プロセッサ・バスを介した情報(例えば
、データ、アドレス、他の情報)の送信中にのみ、オンにされ、または起動され
てもよい。
【0022】 A.共通クロック信号モード 共通クロック(1X)信号モードの実施例に従って、プロセッサ・バス117
におけるすべてのエージェントは、それらのアクティブな出力を送り、および要
求される入力をサンプリングすることを要求される。実施例に従って、すべての
入力は、バス・クロックの立ち上がりエッジにおいて、有効なサンプリング・イ
ンターバル中にサンプリングされるべきであり、およびその効果または結果は、
次の立ち上がりバス・クロック・エッジの直後に、前記バス117へと送られる
べきである。この例のアプローチによって、コンポーネント間通信(信号送信な
らびに伝播)のための1のフル・バス・クロック・サイクル、およびレシーバに
おける少なくとも1のフル・バス・クロック・サイクルは、前記信号を翻訳し、
ならびに応答を算出し、出力することができる。その結果、エージェントがデー
タを、1以上のバス・クロック・サイクルで、プロセッサ・バスに送った後、他
のエージェントがプロセッサ・バス117を駆動することができる前に、1バス
・クロック・サイクルのポーズ(pause)(例えば、デッド・サイクル(dead cy
cle)またはインアクティブ・サイクル)がある。
【0023】 図4は、実施例に従った、共通クロック(1X)信号モードの例示的オペレー
ションを示す例示的タイミング図である。前記信号は、それらがプロセッサ・バ
ス117に現れるように示されている。バス・クロック(BCLK)の4サイク
ルが示されている。A#およびB#を含む、二つの追加的例示的信号も示されて
おり、それらはあらゆる種類の信号でよい。例えば、A#は、第一のエージェン
トからの第一のコントロール信号でもよい一方で、B#は、第二のエージェント
からの第二の信号でもよい。第一および第二のコントロール信号は、例えば、ハ
ンドシェーク(handshake)またはバス・プロトコルの一部として供給されても
よい。
【0024】 図1に記載の通り、信号A#は、クロック・サイクル1の立ち上がりエッジに
おいて送られ(またはアサートされ)(A#における正方形で示されている)、
およびバス・クロック・サイクル2の開始における立ち上がりエッジにおいて、
レシーバでラッチされる(A#に関する円形で示されている)。このように、ク
ロック・サイクル1は、信号伝播のために供給される。A#が、サイクル1の開
始においてアサートされる一方で、それは、サイクル2の開始までバスにおいて
は観察されない。(論理遅延のため、および信号を翻訳するためのレシーバのた
めのバス・クロック・サイクル2の間)ポーズまたはインアクティブ・クロック
・サイクルがある。レシーバは、バス・クロック・サイクル3の開始において、
B#信号を送り、またはアサートし(B#に関する正方形によって示されている
)、それはサイクル4の開始において、他のエージェントによって観察され、お
よび捕獲される(B#に関する円形によって示されている)。
【0025】 実施例に従って、プロセッサは、(いくつかのPentiumプロセッサにお
いて使用される32バイト・キャッシュ・ラインの代わりに)64バイト・キャ
ッシュ・ラインを含む。そのため、データが共通クロック(1X)信号モードお
よび64データ・バス・ラインを用いて転送される場合、64バイト(1キャッ
シュ・ライン)のデータが、8バス・クロック・サイクルで送られ、または送信
されうる。しかしながら、多くのアプリケーションにおいて、より速いデータ転
送速度、またはより大きな帯域幅を供給することが望まれるかもしれない。
【0026】 B.マルチ・ポンプ信号モード 多くの例において、プロセッサ・バス117の長さ、電気的な制約(バスへの
信号伝播の待ち時間を含む)は、プロセッサ・バス周波数を上げることを妨げる
かもしれない。そのため、実施例に従って、プロセッサ・バス・クロック周波数
を上げるよりも、マルチ・ポンプ信号プロトコルは、バス・クロック(BCLK
)の周波数の倍数で、適切なバス信号グループ(例えば、アドレス・バスまたは
データ・バス)を操作することによって、(共通クロック信号モードに対して)
データ転送速度を上げる。
【0027】 1.クアド・ポンプ信号モードの例 クアド・ポンプ信号モードにおいて、適切なバス信号グループが、バス・クロ
ック(BCLK)の周波数の4倍(4X)で操作される。すなわち、クアド・ポ
ンプ信号モードにおいては、(情報の一つのエレメントを共通クロックまたは1
X信号モードで送るのにかかるであろう時間である)1バス・クロック・サイク
ルで、情報の4つのエレメントがプロセッサ・バス117に送られる。
【0028】 図5は、実施例に従って、例示的クアド・ポンプ信号モードのオペレーション
を示すタイミング図である。クアド・ポンプ信号モードは、あらゆる種類の信号
に使用することができるが、クアド・ポンプ信号プロトコルは、例示的実施例に
従ってデータを送信するために使用される。2バス・クロック・サイクルおよび
第三のバス・クロック・サイクルの一部が、図5に記載されている。プロセッサ
・バス117へのフライト時間(flight time)(または信号伝播時間)の最悪
の場合は、第一の情報エレメントが、レシーバ(受信エージェント)においてラ
ッチされる前に、第二の情報エレメントが、ドライバ(すなわち、プロセッサ・
バスへ情報を送るエージェント)において、プロセッサ・バス117に送られる
かもしれない場合である。
【0029】 実施例に従って、ドライバ(すなわち、ドライビング・エージェント)は、立
ち上がりエッジで、およびバス・クロック(BCLK)サイクルの25%,50
%,および75%の点で、新しい情報エレメントを送信し、または送る。
【0030】 レシーバは、レシーバが、データをサンプリングし、または捕獲する時を示す
データ・ストロボ信号として知られる同伴タイミング信号も送信する。ストロボ
信号は、好ましくは、情報がマルチ・ポンプ信号モードを用いて送信される時に
のみ、送信され、または送られる(起動される)。
【0031】 データおよびストロボ信号は、同じドライバまたはソースによって生成される
ので、データおよびストロボは、同じパス(path)を有するであろう。その結果
、ストロボ信号およびデータ信号は、同じパスを有し、それゆえにおよそ同じ遅
延を有するであろう。そのため、ストロボおよびデータの両方を送信するドライ
バまたはソースによって達成される効果は、データ信号およびストロボ信号が、
バス117における各エージェントに、一致して(すなわち同期して)到着する
ことである。こうして、データおよびタイミング・ストロボ信号の両方を送信す
るドライバのこの技術は、ソース同期転送(source synchronous transfer)と
称されうる。クアド・ポンプ信号モードにおいて、4つのデータ・エレメントの
各々に対して一つ、各バス・クロック・サイクルにおいて、各々が情報サンプリ
ングまたは捕獲ポイントを識別する4つのデータ・ストロボ(例えば、4つのタ
イミング・ストロボ・エッジ)があるであろう。残念なことに、ストロボ信号を
比較的高い周波数で生成することについて、問題が生じるかもしれない。高いク
ロック・スピードでは、立ち上がりエッジ速度と立ち下がりエッジ速度との間の
差は、顕著になりうる。さらに、50%デューティー・サイクルを有するクロッ
ク信号またはストロボ信号を供給することは難しいかもしれない。その結果、い
くつかの高いクロック周波数において、ストロボ信号の立ち上がりエッジと立ち
下がりエッジの両方は、これが非対称性を作り、またはある程度のタイミングの
不確定性を導入するかもしれないので、サンプリング点を識別するための使用さ
れるべきでない。むしろ、より対称的な、あるいは均一なストロボ・タイミング
またはサンプリング・インターバルを得るために、ストロボの二つのエッジのう
ち一つのみを使用する(すなわち、クアド・ポンプ・データをサンプリングし、
または捕獲するためのストロボ信号の立ち上がりエッジのみ、または立ち下がり
エッジのみを使用する)ことが効果的であるかもしれない。
【0032】 ストロボのエッジのうち、一つのみが使用される場合、これは通常、バス・ク
ロック周波数の倍数であるクロック周波数を必要とするであろう。クアド・ポン
プ・データ(1バス・クロック・サイクルにつき、4のデータ・エレメント)の
場合、ストロボ信号周波数は、一つのエッジのみがタイミングに使用される場合
、バス・クロック周波数の4倍であろう。
【0033】 残念なことに、プロセッサ・クロック周波数が(例えば)100MHzである
場合、これは、(この例においては)400MHzであるストロボ信号周波数を
必要とするであろう。しかしながら、バス・クロック周波数の4倍であるストロ
ボ信号周波数は、送信されたデータまたは情報とは異なる遅延に遭遇するかもし
れず、それはレシーバにおけるデータおよびストロボの整列に影響を与えうる。
そのような、送信されたストロボ信号と送信されたデータとの間の整列不良(mi
salignment)は、レシーバに、悪い、または正しくないデータを捕獲させるかも
しれない。さらに、信号減衰は、大変高い周波数(例えば、400MHz)では
、顕著にもっと高くなりうる。
【0034】 そのため、実施例に従って、バス・クロック周波数の4倍(4X)であるスト
ロボ周波数を使用せずに、1バス・クロック・サイクル当たり、4つのストロボ
を供給するために複数のデータ・ストロボ信号が使用される。実施例に従って、
二つのデータ・ストロボ信号(DSTBp#およびDSTBn#)が、バス・ク
ロックの周波数の2倍で、それぞれ供給される。こうして、バス・クロック周波
数が100MHzである場合、二つのデータ・ストロボ信号は、それぞれ、ドラ
イバ(すなわち、ドライビング・エージェント)によって起動され、または生成
される時、200MHzの周波数を有する。代替的に、4つのデータ・ストロボ
信号が、(それぞれ、起動される時のバス・クロックと同じ周波数で)使用され
、それぞれ1バス・クロック・サイクル当たり、1つのストロボまたは立ち下が
りエッジを供給する。
【0035】 再度、図5に記載のタイミング図を参照すると、ドライバは、新しい情報また
はデータ・エレメントを、立ち上がりエッジにおいて、およびバス・クロック・
サイクル1の25%、50%、および75%の点において送信し、または送る。
データ・エレメントは、この例における4つのデータ・エレメントに関して、D
1、D2、D3およびD4とラベルを付けられる。この実施例は、DSTBp#
およびDSTBn#を含む、二つのデータ・ストロボ信号も使用する。実施例に
従って、二つのデータ・ストロボ信号は、互いに同調しないで(すなわち、互い
違いあるいはオフセット配列で)生成される。これによって、ストロボ信号の一
つは、奇数データ・エレメント(例えば、D1,D3,D5,...)のための
サンプリング点を識別でき、および他のストロボ信号は、偶数のデータ・エレメ
ント(例えば、D2,D4,D6...)に関して使用されうる。
【0036】 たった二つのストロボ信号が図5の例に記載されているが、ソース同期転送の
データのためのサンプリング点を識別するために、あらゆる数のストロボ信号が
使用されうる。上述の通り、ストロボ信号の二つのエッジのうち、一つだけが、
サンプリング点(またはストロボ)を識別するために使用されうる一方で、スト
ロボ信号の周波数を下げるように、複数のストロボ信号を供給することが、特に
効果的であろう。例えば、(クアド・ポンプの代わりに)6Xポンプ・プロトコ
ルが使用される場合、三つのストロボ信号が使用され、その場合、ストロボ1が
データ・エレメントD1およびD4のために、ストロボ2がデータ・エレメント
D2およびD5のために、およびストロボ3がデータ・エレメントD3およびD
6のため等に使用されるように、3つすべてのストロボ信号は同様にオフセット
または互い違いである。
【0037】 実施例に従って、ストロボ信号の二つのエッジのうち、一つのみが、データ・
サンプリング点を識別し、または同期させるために使用される。この特定の実施
例において、二つのデータ・ストロボ信号の立ち下がりエッジのみが、情報また
はデータをサンプリングするための点を識別するために使用される。データ・ス
トロボ(または、データ・ストロボ信号の立ち下がりエッジ)は、4つの情報ま
たはデータ・エレメントの各々に中心を合わせられる。このように、データ・ス
トロボ信号の4つの立ち下がりエッジ(またはストロボ)は、バス・クロック(
BCLK)サイクルの12.5%、37.5%、62.5%および87.5%で
生じる。そのために、二つのストロボ信号は、等しい間隔のストロボまたは立ち
下がりエッジを供給する。
【0038】 図5に記載の通り、DRDY#は、バス・クロック・サイクル1の開始におい
て、バス117に送られる(DRDY#に関する正方形によって示されている)
。DRDY#は、有効なデータがプロセッサ・バス117に配置され、およびサ
ンプリングされ、または捕獲されなければならないことを示す。第一のデータ・
エレメント(D1)は、(D#(@ドライバ)に関する第一の四角形で示された
とおり)バス・クロック・サイクル1の立ち上がりエッジにおいて、プロセッサ
・バス117へと、ドライバによって送られる。第一のデータ・ストロボ信号(
DSTBp#)はそれから、DSTBp#(@ドライバ)における第一の正方形
によって示されている通り、第一のバス・クロック・サイクルの12.5%の点
において、ドライバによって起動される。このように第一のデータ・エレメント
(D1)に関するストロボ(または立ち下がりエッジ)は、第一のデータ・エレ
メントに中心を合わせられる。ストロボ信号が起動され、またはオンにされると
、それは通常、データがバスへと送られるまで起動され続ける。
【0039】 また、第二のデータ・エレメントは、D#(@ドライバ)に関する第二の四角
形によって示される通り、バス・クロック・サイクル1の25%の点において、
ドライバによって送られる。第二のデータ・ストロボ信号(DSTBn#)は、
バス・クロック・サイクル1の37.5%の点において起動され、および第二の
データ・エレメント(D2)に中心が合わされる立ち下がりエッジ(またはスト
ロボ)を供給する。
【0040】 同様に、第三および第四のデータ・エレメント(それぞれ、D3およびD4)
は、バス・クロック・サイクル1の50%の点および75%の点で送られる。対
応するデータ・ストロボ(データ・ストロボ信号の立ち下がりエッジ)は、(D
STBp#ストロボ信号によって)62.5%の点において、および(DSTB
n#ストロボ信号によって)87.5%の点において、ドライバによって送られ
、または供給される。データ・ストロボ信号は、バス・クロックの周波数の2倍
である周波数で供給されるので、各データ・ストロボ信号は、2分の1バス・ク
ロック・サイクルごとに、ストロボまたは立ち下がりエッジを供給する。このよ
うにDSTBp#ストロボ信号は、バス・クロック・サイクルの12.5%およ
び62.5%の点で立ち下がりエッジまたはストロボを供給する一方で、DST
Bp#ストロボ信号は、バス・クロック・サイクルの37.5%および87.5
%の点において、立ち下がりエッジまたはストロボを供給する。このように、二
つのデータ・ストロボ信号(DSTBp#およびDSTBn#)は、互い違いで
あり、または互いに同期しないことがわかる。これによって、交互のストロボ信
号は、バス・クロック・サイクルの4分の1ごとに(両方のデータ・ストロボ信
号の間に)、立ち下がりエッジ(またはストロボ)を供給することができる。こ
れは、1バス・クロック・サイクルにつき、4つのデータ・エレメントのための
サンプリング点または捕獲点を識別するために、1バス・クロック・サイクルあ
たり4つのストロボまたは立ち下がりエッジを供給する一方で、各ストロボの周
波数を下げる。さらに、同じエッジ(この場合は、立ち下がりエッジ)が、各デ
ータ・ストロボ信号においてストロボとして使用されるので、タイミングおよび
回路は、単純化される。
【0041】 実施例に従って、正しいオペレーションを確実にするために、ドライビング・
エージェントからあらゆるレシーバへの情報転送の待ち時間は、1バス・クロッ
クから入力ラッチ・セットアップ時間(input latch setup time)を引いたもの
より短いか、または等しいであろう。これは、レシーバが、次のフェーズの間、
バス・オーナー(bus owner)になる場合、続いてのデータ・フェーズのための
データ・ラインにおけるコンテンション(contention)を回避する。
【0042】 図5は、レシーバにおけるデータの捕獲も示す。信号(データおよびデータ・
ストロボ)が、ドライバによって送られた後、これらの信号は、プロセッサ・バ
ス117を下って伝播し、ターゲットまたはレシーバに到着する。第一のデータ
・エレメントは、D#(@レシーバ)信号によって示される通り、レシーバにお
いて受信される。第一のデータ・エレメント(D1)は、第一のストロボでサン
プリングされ、または捕獲され、それはは、DSTBp#(@レシーバ)の第一
の立ち下がりエッジである。DSTBp#(@レシーバ)に関する第一の三角形
は、第一のデータ・エレメントをサンプリングし、または捕獲するためのストロ
ボまたは点を識別し、およびDSTBp#(@レシーバ)に関する第二の三角形
は、レシーバにおいて第三のデータ・エレメントをサンプリングするための点ま
たはストロボを識別する。同様に、第二のデータ・ストロボ信号(DSTBn#
(@レシーバ))に関する二つの三角形は、レシーバが、第二のおよび第四のデ
ータ・エレメント(D2,D4)をサンプリングし、または捕獲するための点を
識別する。
【0043】 図5に記載の通り、第一のデータ・エレメントD1は、クロック2の開始にお
ける立ち上がりエッジの後、およびクロック・サイクル2(次のクロック・サイ
クル)の12.5%の点の直後、レシーバへとサンプリングされ、または捕獲さ
れ(ストロボされ)てもよい。(ここで使用される通り、“捕獲(capturing)
”、“サンプリング(sampling)”および“ラッチ(latching)”という用語は
、およそ同じものを意味するように、ゆるやかに使用されている)。しかしなが
ら、すべてのデータ・エレメントに関するデータは、バス・クロック・サイクル
3の立ち上がりエッジまで、レシーバへとラッチされない。このように、データ
・エレメントD1が、バス・クロック・サイクル2の開始近くで受信され、およ
び捕獲される一方で、すべてのデータが、バス・クロック・サイクル3の開始ま
で、レシーバによって利用可能であるわけではない。受信エージェントは、好ま
しくは、8のデータ・エレメントを記憶するのに十分であるFIFO(ファース
ト・イン、ファースト・アウト(first in, fist out))バッファを含む。8の
データ・エレメントFIFOは、一つのデータ転送の4つのエレメントおよび次
の転送のための次の4つのエレメントを記憶するのに十分な大きさである。これ
によって、前の4のデータ・エレメントは、FIFOからレシーバへ押し出され
、またはラッチされている間に、4の新しいデータ・エレメントが受信され、捕
獲されうる。最終的結果(net effect)は、レシーバまたは装置の内側にラッチ
される第一の信号グループのために待ち時間を加えるという結果を伴う、共通ク
ロック信号モードの帯域幅の4倍である。
【0044】 さらに、実施例に従って、二つのデータ・ストロボ信号(DSTBp#および
DSTBn#)の各々の、複数のコピーを運ぶために、複数のラインが使用され
る。実施例に従って、以下の表に表されている通り、4つのDSTBn#信号お
よび4つのDSTBp#信号がある。
【0045】
【表1】 データ・ストロボ範囲の例示的実施例
【0046】 4つのDSTBp#信号は、4つのDSTBn#信号と同様に、論理的に同一
であるが、データ・ストロボ信号の各々は、データとデータ・ストロボ信号との
間のタイミング・スキューまたは整列不良を減らすために、要求信号のサブセッ
ト(すなわち、データ・ラインのサブセット)とともに、物理的に送られる。
【0047】 図8は、実施例に従って、エージェント間で情報を転送するための装置のブロ
ック図である。第一のバス・エージェント802は、第二のバス・エージェント
832に接続される。第一のバス・エージェント802は、第一の双方向データ
・ストロボ信号ライン820を介して、第一のデータ・ストロボ信号(例えば、
DSTBp#)を生成するため、ならびに受信するためのデータ・ストロボ生成
装置1/レシーバ1を含み、および第二の双方向データ・ストロボ信号ライン8
22を介して、第二のデータ・ストロボ信号(例えば、DSTBn#)を生成す
るため、ならびに受信するためのデータ・ストロボ生成装置2/レシーバ2を含
む。バス・エージェント802は、データ・バスまたはデータ信号ライン826
へとデータ信号を送信し、または送るための送信回路と、およびデータ信号ライ
ン826を介して受信されたデータ信号を受信するための受信回路も含む。第二
のバス・エージェント832は、同様に、それぞれデータ・ストロボ信号ライン
820および822へと二つのデータ・ストロボ信号を生成するためのデータ・
ストロボ生成装置1およびデータ・ストロボ生成装置2を含む。共通(またはシ
ステム)バス・クロック生成装置810は、バス・エージェント802および8
32に、共通またはシステム・バス・クロックを供給する。
【0048】 2.アドレス・バスのスピードをデータ・バスに合わせる 実施例に従って、キャッシュ・ライン・サイズは、64バイトに増やされた(
いくつかのPentiumプロセッサにおけるキャッシュ・ライン・サイズは、
32バイトである)。このように、クアド・ポンプ信号プロトコルおよび64デ
ータ・ラインのデータ・バス幅を用いて、キャッシュ・ライン(または64バイ
ト)は、2バス・クロック・サイクルで送信され、または転送されうる: 64バイト=(2サイクル)×(4ポンプ/サイクル)(8バイト毎ポンプ)。
【0049】 しかしながら、いくつかのPentiumプロセッサにおいては、要求(アド
レスを含む)は、3バス・クロック・サイクルで転送される。いくつかの Pentiumプロセッサに関する要求フェーズのための3バス・クロック・サ
イクルは、以下のものを含む: サイクル1−サブ・フェーズa−アドレス(アドレス・バスを介して供給され
る)、および1種類の要求(例えば、リード(read)、ライト(write))。 サイクル2−サブ・フェーズb−バイト・イネーブル(byte enables)、長さ
、等を含む、要求に関する補助的詳細(アドレス・ラインまたはアドレス・バス
を介して居給される)。 サイクル3−他のエージェントにバスを送らせるために、バス上の信号が、利
得を下げる(quiet down)ようにする、デッド・サイクルまたはターンアラウン
ド・サイクル。
【0050】 こうして、実施例に従って、キャッシュ・ラインは、2バス・クロック・サイ
クルで、データ・バスを介して転送されうる。しかしながら、いくつかのPen
tiumプロセッサにおいて、アドレスおよび要求タイミングは、一つの要求を
転送するために、3バス・クロック・サイクルを必要とする。このように、いく
つかのPentiumプロセッサにおいて、アドレス・バス・タイミングまたは
帯域幅は、上述の実施例(図5参照)で説明されたように、向上したクアド・ポ
ンプ・データ・バスのスピードに合わない。より珍しく、価値のあるリソースの
一つは、データ・バス幅およびデータ・バス帯域幅である。このように、実施例
に従って、データ・バス帯域幅は、アドレス・バス帯域幅ではなく、プロセッサ
・バスを圧迫し、または制約することが好ましいかもしれない。そのため、アド
レス・バスが、プロセッサ・バスを遅くしないように、または圧迫しないように
するために、(この例においては、データ・バスでの一つのキャッシュ・ライン
の送信に関する)少なくともデータ・バスの帯域幅またはスピードを合うように
、アドレス・バス上のアドレスおよび要求タイミングを調整することが望ましい
【0051】 そのため、実施例に従って、アドレス・バスを介して供給される要求フェーズ
のタイミングおよびスピードは、データ・バスの全体のスピードに合うように調
節された。デッド・サイクルまたはターンアラウンド・サイクルを維持すること
が望ましい。このように、例示的実施例に従って、アドレス・バスは、1バス・
クロック・サイクルで2の情報エレメント(要求のサブ・フェーズaおよびサブ
・フェーズb)を供給するためにダブル・ポンプされた。
【0052】 3.ダブル・ポンプ信号モードの例 一般的に、実施例に従って、ダブル・ポンプ信号モードは、バス・クロック(
BCLK)の周波数の2倍(2X)で、適切なバス信号グループを操作する。図
6は、実施例に従った、例示的ダブル・ポンプ信号モードのオペレーションを示
すタイミング図である。あらゆる信号がダブル・ポンプされてもよい一方で、こ
の例では、アドレス・バスがダブル・ポンプされている。
【0053】 図6を参照すると、ADS#信号は、要求フェーズの開始においては低い。ダ
ブル・ポンプ信号モードにおいて、共通クロック信号モードを用いて一つのエレ
メントを送るのにかかる時間で(すなわち、1バス・クロック・サイクル中)、
情報の二つのエレメントがバスに送られる。フライト・タイム(すなわち、プロ
セッサ・バス117での信号伝播時間)によって、第二の信号グループまたは情
報エレメントは、第一のエレメントがレシーバにおいてラッチされる前に、ドラ
イバで送られてもよい。実施例に従って、ドライバは、バス・クロック・サイク
ルの立ち上がりエッジおよび50%の点において、新しい情報エレメントを送信
する。
【0054】 図6に記載の通り、トランザクション・アドレスを供給する要求のサブ・フェ
ーズa(Aa)が、バス・クロック・サイクル1の開始における立ち下がりエッ
ジで始まるバス・クロック・サイクル1の第一の半分で送信される。トランザク
ションに関するいくつかの補助的詳細を供給する要求のサブ・フェーズb(Ab
)は、バス・クロック・サイクル1の50%の点において始まるバス・クロック
・サイクル1の第二の半分で送信される。これら二つの情報エレメントは、A#
(@ドライバ)ラインのためのAaおよびAbに関する二つの四角形として、図
6に記載されている。(Aaは、アドレス・ラインを介して供給される要求のサ
ブ・フェーズaを示す一方で、Abは、アドレス・ラインを介して供給される要
求のサブ・フェーズbを示す)。こうして、二つの情報エレメント(Aaおよび
Ab)は、1バス・クロック・サイクル中に転送され、または送信されるので、
アドレス・バスはダブル・ポンプされる。
【0055】 さらに、要求に関する情報は、二重ポンプ信号モード(1バス・クロック・サ
イクルにつき二つの情報エレメント)を用いて送信されるので、前記情報は、好
ましくは、ソース同期転送として送信される。このように、二つの情報エレメン
トに加え、ドライバは、(起動された時に)1バス・クロック・サイクルにつき
、二つのアドレス・ストロボを供給するために、アドレス・ストロボ信号を送り
、または起動させることもする。アドレス・ストロボは、アドレス・バスで送信
される二つの情報エレメント(AaおよびAb)をサンプリングするための点を
供給し、または識別する。
【0056】 実施例に従って、バス・クロック(BCLK)と同じ周波数であるアドレス・
ストロボ信号(ADSTB#)が使用される。しかしながら、1バス・クロック
・サイクル中に、2つのストロボを供給するために、アドレス・ストロボ信号の
立ち下がりエッジおよび立ち上がりエッジの両方は、ストロボとして、またはア
ドレス・バスを介して供給される二つの情報エレメントのためのサンプリング点
を識別するために使用される。図6に記載の通り、ドライバは、情報エレメント
1(Aa)の中心である、バス・クロック・サイクル1の25%点で、アドレス
・ストロボ信号(ADSTB#)を起動する。実施例に従って、第一の情報エレ
メント(Aaまたは要求のサブ・フェーズa)のためのアドレス・ストロボは、
ADSTB#信号の立ち下がりエッジとして供給される(バス・クロック・サイ
クル1の25%点において送られる)一方で、第二の情報エレメント(Abまた
は要求のサブ・フェーズb)のためのアドレス・ストロボは、ADSTB#信号
の立ち上がりエッジとして供給される(バス・クロック・サイクル1の75%点
において送られる)。
【0057】 アドレス・ストロボが、バス・クロックと同じ周波数を有しているとしても、
バス・クロック信号は、適切な時に、立ち上がりおよび立ち下がりエッジを供給
しないので、バス・クロックは、情報エレメントに関するストロボ信号として使
用されるべきではない。さらに、(ソース同期転送中のみ起動されるストロボ信
号とは対照的に)、バス・クロック信号は、常に起動される。アドレス・ストロ
ボ信号は、バス・クロックの状態またはフェーズに関わらず、起動され(オンに
され)および非活動化され(オフにされ)ることができるので、二つの情報エレ
メントに関するストロボまたはサンプリング点を供給するために、アドレス・ス
トロボ信号が使用される。ストロボを、情報と同じソースから送られるようにす
ることによって、ストロボにおける遅延は、情報における遅延に適合し、よって
1以上のビットが、一つのワイヤ上に同時にあるようにする。
【0058】 情報エレメント(AaおよびAb)およびアドレス・ストロボ信号は、プロセ
ッサ・バス117に沿って伝播し、およびバス・クロック・サイクル2の開始に
おいて、レシーバに到着する。図6に記載の通り、ADSTB#(@レシーバ)
信号上の二つの三角形で示されるように、第一の情報エレメント(Aa)は、A
DSTB#(@レシーバ)信号の立ち下がりエッジで捕獲され、またはサンプリ
ングされ、および第二の情報エレメントは、ADSTB#(@レシーバ)信号の
立ち上がりエッジで捕獲され、またはサンプリングされる。このように、レシー
バは、データが有効である(および捕獲されるべきである)時の、ドライバから
の表示に基づいて、データまたは情報を決定的に捕獲することがわかる。
【0059】 実施例に従って、ドライビング・エージェントからあらゆるレシーバへのデー
タ転送の待ち時間は、1バス・クロック・サイクルから入力ラッチ・セットアッ
プ時間を引いたものより小さいか、またはそれに等しくあるべきである。これは
、レシーバが次のフェーズのオーナーになる場合、第二のあるいは次のフェーズ
のためのアドレス・ライン(またはアドレス・バス)および他のラインでのコン
テンションを避けるであろう。最終的結果は、コンピュータまたはレシーバの中
にラッチされている第一の信号グループのための待ち時間を加える結果を伴う、
共通クロック信号モードの帯域幅の2倍である。
【0060】 実施例に従って、レシーバは、要求フェーズ中、アドレス・バスを介して送信
される4つの情報エレメントを記憶するための4つのエレメントFIFOバッフ
ァを含む。これにより、1の要求のサブ・フェーズaおよびサブ・フェーズbか
らのエレメントは、FIFOにおいて受信され、および捕獲されうる一方で、同
時に、前の要求のサブ・フェーズaおよびサブ・フェーズbからのエレメントが
、FIFOから読み取られ、およびレシーバにおいてラッチされるようにする。
【0061】 それゆえに、実施例に従って、アドレス・バスを介して転送される2つの情報
エレメントのためにストロボを供給するために、バス・クロックと同じ周波数で
、単一のアドレス・ストロボ信号が使用される。アドレス・ストロボに関するこ
れらの周波数(バス・クロック信号と同じ周波数)において、信号減弱は問題で
はない。さらに、1バス・クロック・サイクル当たり、たった二つの情報エレメ
ントだけが送信されるので、ストロボ・デューティー・サイクルにおける非対称
性は問題を提起しない。このように、立ち下がりエッジおよび立ち上がりエッジ
の両方が、ストロボとして使用されるバス・クロックと同じ周波数での、単一の
アドレス・ストロボは、アドレス・ストロボ信号のために使用されうる。
【0062】 代替的に、複数の(または二つの)アドレス・ストロボ信号が使用されること
ができ、各アドレス・ストロボ信号のエッジのうち、一つのみがストロボとして
使用される。例えば、サイクル1の25%点において起動される(立ち下がりエ
ッジを有する)第一のアドレス・ストロボ信号と、およびサイクル1の75%点
において起動される(立ち下がりエッジを有する)第二のアドレス・ストロボ信
号が使用されうる。こうして、二つのアドレス・ストロボ信号の起動点は、オフ
セット、または互い違いであろう。1バス・クロック・サイクル中、たった二つ
のエレメントしか送られないので、アドレス・ストロボ信号の周波数は、バス・
クロック周波数、または他の周波数と同じになるように選ばれうる。
【0063】 図9は、他の実施例に従った、エージェント間の情報の転送のための装置のブ
ロック図である。第一のバス・エージェント802は、第二のバス・エージェン
ト832に接続される。第一のバス・エージェント802は、双方向アドレス・
ストロボ信号ライン920へ、アドレス・ストロボ信号(例えば、ADSTB#
)を生成するための、アドレス・ストロボ生成装置940を含む。バス・エージ
ェント802は、アドレス・バスまたはアドレス信号ライン926へとアドレス
および他の信号を送信し、または送るための送信回路と、およびアドレス信号ラ
イン926を介して受信される信号を受信するための受信回路とを含む、バス・
トランシーバ906も含む。第二のバス・エージェント832は同様に、双方向
アドレス・ストロボ信号ライン920へアドレス・ストロボ信号を生成するため
のアドレス・ストロボ生成装置942を含む。第二のバス・エージェント832
も、アドレス信号ライン926を介して、それぞれ信号を送信し、および受信す
るための受信回路および送信回路を含むバス・トランシーバ936を含む。
【0064】 上述の通り、一つのキャッシュ・ラインのデータ転送は、クアド・ポンプ信号
モードを用いて、2バス・クロック・サイクルで送信されることができ、および
アドレス要求は、ダブル・ポンプ信号モードを用いて、2バス・クロック・サイ
クルで送信されうる。このように、アドレス・バスおよびデータ・バスの両方が
、同じピーク・スループットを有し、それは均衡の取れたプロセッサ・バスを供
給する。他の記述がされていない限り、すべてではないとしても、ほとんどの残
りの信号は、共通クロック(1X)信号モードを用いて送信される。 7.バス・プロトコルを、2クロック・サイクルの新しいビート・レートに合わ
せる。
【0065】 上述のとおり、プロセッサ・バスは、マルチ・ポンプ信号プロトコルの使用を
通して、向上した要求およびデータ帯域幅を供給する。(アドレス・バス上の)
要求帯域幅および(データ・バス上の)データ帯域幅におけるこの向上は、デー
タ・バス幅(64ライン)を増やすことなく、高価なクロッキングまたはルーテ
ィング形態を使用することなく、およびPentiumプロセッサのいくつかに
おいて使用されるのと同じ、基本的な種類のバス・プロトコルを維持しつつ、実
行される。
【0066】 いくつかのPentiumプロセッサにおいて、64データ・ラインを用いて
、1バス・クロック・サイクル当たり8バイトのデータを送信するために、共通
クロック信号モードが使用され、それにより32バイトのキャッシュ・ラインが
4バス・クロック・サイクルで送信されうる。本発明の実施例に従って、キャッ
シュ・ラインは64バイトに増やされ、クアド・ポンプ信号モード(1バス・ク
ロック・サイクルにつき32バイトを送信する)は、2バス・クロック・サイク
ルで64バイトのキャッシュ・ラインを送信するために使用されうる。さらに、
いくつかのPentiumプロセッサにおいて、バス・クロック・サイクル1に
おけるサブ・フェーズa、サイクル2におけるサブ・フェーズb、およびサイク
ル3に関するターンアラウンド・サイクル(またはデッド・サイクル)を含む3
バス・クロック・サイクルで、要求が転送される。本発明の実施例に従って、単
一のバス・クロック・サイクルにおける要求のサブ・フェーズaおよびbの両方
を転送または送信するために、ダブル・ポンプ信号モードがアドレス・バスにお
いて使用される。これは、要求フェーズの長さを、2バス・クロック・サイクル
に減らし、それはキャッシュ・ライン転送の長さに(2バス・クロック・サイク
ルにも)適合する。要求フェーズは、2バス・クロック・サイクルの長さを有し
、およびキャッシュ・ライン転送は2バス・クロック・サイクルを必要とするの
で、プロセッサ・バスのビート・レートまたはビート周波数は、一般的に、2バ
ス・クロック・サイクルであると考えられるかもしれない。
【0067】 本発明の実施例に従って、バス・プロトコルは、連続したフェーズの開始の間
の待ち時間または遅延を、プロセッサ・バスに関する2バス・クロック・サイク
ルの新しいビート周波数により近く合うように調整するために、合わされ、また
は変更された。図7は、(仲裁、要求、スヌープおよび応答フェーズを含む)ト
ランザクション・フェーズの間の最小の待ち時間または遅延を示す図である。仲
裁(Arb)、要求(Req)、スヌープおよび応答(Resp)フェーズは、
二つのトランザクション(トランザクション1およびトランザクション2)に関
して示されている。数字は、フェーズ間の待ち時間または遅延を示すように表示
されている。第一の数字は、いくつかのPentiumプロセッサに実装されて
いるように、フェーズの開始の間の、バス・クロック・サイクルの最小数を示し
、(括弧の中の)第二の数字は、2バス・クロック・サイクルの新しいビート周
波数により近く合うように、バス・プロトコルが調整され、または合わせられた
後の、フェーズ間の新しい最小待ち時間を示す。数字が一つだけ表示されている
場合、これは、いくつかのPentiumプロセッサと本発明の実施例との間の
ように、フェーズ間の遅延または待ち時間の変化がないことを示す。
【0068】 上述の通り、図7に記載されたフェーズ間の最小待ち時間は、通常2バス・ク
ロック・サイクルである。図7を参照すると、一つのトランザクション(例えば
、トランザクション1)に関する仲裁フェーズの開始と、要求フェーズの開始と
の間の最小待ち時間は、2バス・クロック・サイクルで変化しない。一つのトラ
ンザクションの、要求フェーズの開始からスヌープ・フェーズの開始までの最小
待ち時間は、4バス・クロック・サイクルから3サイクルに減らされている。ス
ヌープ・フェーズの開始から応答フェーズの開始まで間の最小待ち時間は、2バ
ス・クロック・サイクルで変化しない。要求フェーズの開始と、ターゲット・エ
ージェントがTRDY#信号をアサートすることができる時との間の最小待ち時
間は、3から2バス・クロック・サイクルへと減らされている。TRDY#信号
のアサートから、応答フェーズの開始までの最小待ち時間は、2バス・クロック
・サイクルで変化しない。
【0069】 さらに、連続したトランザクションの同じフェーズまたは対応するフェーズの
間の最小待ち時間は、2クロック・サイクルのビート周波数により近く合うよう
に変更されている。再度図7を参照すると、連続した仲裁フェーズの間の最小待
ち時間(例えば、トランザクション1の仲裁フェーズの開始と、トランザクショ
ン2の仲裁フェーズの開始との間の最小待ち時間)は、3バス・クロック・サイ
クルから2サイクルに減らされている。連続した要求フェーズの間の最小待ち時
間は、3バス・クロック・サイクルから2へと減らされている。連続したスヌー
プ・フェーズの間の最小待ち時間は、3バス・クロック・サイクルから2へと減
らされている。そして、連続した応答フェーズの間の最小待ち時間は、3バス・
クロック・サイクルから2へと減らされている。
【0070】 フェーズの各々は、(待ち時間の減少が生じた)フェーズ間の待ち時間におけ
る減少の一因となった、フェーズに関するバス・プロトコルへの、いくつかの変
化または変更の簡単な説明とともに説明されるであろう。
【0071】 要求しているエージェントがバスを所有していない時、トランザクションは、
要求しているエージェントがバス・オーナーになる仲裁フェーズで始まる。要求
しているエージェントがバス・オーナーになった後、トランザクションは要求フ
ェーズに入る。要求フェーズの第一のサブ・フェーズ(サブ・フェーズa)にお
いて、ADS#信号(有効なアドレスを示す)が、スヌープおよびメモリ・アク
セスを開始するためのトランザクション・アドレスおよび十分な情報とともに送
られる。要求フェーズの第二のサブ・フェーズ(サブ・フェーズb)において、
バイト・イネーブル(どのデータ・バイトがデータ・ラインで供給されるかを示
す)、デファードID、トランザクション長、および他のトランザクション情報
を含む、要求に関する様々な補助的情報が、バス117へと送られる。第一のお
よび第二のサブ・フェーズは、1バス・クロック・サイクル中に送られる。その
結果、実施例に従って、要求情報(例えば、どれが多く、アドレス・バスを介し
て供給されるか)は、2Xデータ転送速度を有すると言われている。
【0072】 実施例に従って、すべてのトランザクションはスヌープ・フェーズを有する。
スヌープ・フェーズからのスヌープ結果は、トランザクションのために送られた
アドレスが、あらゆるバス・エージェントのキャッシュにおける有効な、または
変更された(ダーティな)キャッシュ・ラインを参照するかどうかを示す。スヌ
ープ結果は、トランザクションが順番に完了するか、または可能性のある、順を
追わない完成のために遅らされるかもしれないか、ということも示す。エージェ
ントは、スヌープ停止(snoop stall)を用いて、スヌープ・フェーズを延ばす
ことによって、スヌープの準備ができていない場合、トランザクションを遅らせ
ることができる。
【0073】 フェーズの各々が説明され、および(適用可能である場合)フェーズ間の待ち
時間を減らすために実行される差を強調している。
【0074】 1)仲裁フェーズ:バス・エージェントがプロセッサ・バス117を所有する
まで、トランザクションは発行されることができない。トランザクションをプロ
セッサ117に送りたいエージェントが、もうバス117を有していない場合、
トランザクションは、このフェーズを有するだけでよい。実施例に従って、2ク
ラスのバス・エージェント:対称エージェントおよび優先エージェント(priori
ty agent)をサポートするバス仲裁プロトコルが供給される。バス117のプロ
セッサは通常、対称エージェントとして仲裁する。優先エージェント(例えば、
システム・インターフェース116)は通常、I/Oサブシステム(I/Oブリ
ッジ124またはI/Oエージェント)およびメモリ・サブシステム(メイン・
メモリ・サブシステム122に配置されたメモリ・エージェント)のために仲裁
する。
【0075】 バス所有権に関して仲裁するために使用されうる例示的信号グループが以下に
示されている(ここで使用されるように、#記号はアクティブ・ロー信号を示す
)。
【0076】
【表2】 例示的仲裁信号
【0077】 プロセッサ・バス117によって、複数のエージェントが、同時にバス117
に関して仲裁することができる。対称エージェントは、ラウンド・ロビン循環優
先体系(round robin rotating priority scheme)に基づいて、バス117に関
して仲裁する。前記仲裁体系は、すべての対称エージェントに関する要求フェー
ズへの公正なアクセスを保証する。各対称エージェントは、リセットに割り当て
られた独自のエージェントID(例えば、エージェント0,1,2,3)を有し
、循環する順番(circular order)で仲裁が生じる。リセットの後、エージェン
ト0は最高の優先順位を有し、その後にエージェント1、2、および3が続く。
各対称エージェントは、最も最近のバス・オーナーの対称エージェントIDを反
映する共通循環IDを維持する。すべての仲裁イベントにおいて、最高の優先順
位を有する対称エージェントは、オーナーになり、バスの使用を妨げる、より高
い優先順位の他のアクションが他にない場合、要求フェーズに入ってもよい。優
先エージェントは、対称オーナーよりも優先順位が高い。
【0078】 対称エージェントは、そのBREQn#信号をアサートすることによって、バ
スを要求する。BREQ[3:0]でサンプリングされた値および最後の対称バ
ス・オーナーに基づいて、すべてのエージェントは同時に次の対称バス・オーナ
ーを決定することができる。優先エージェントは、BPRI#をアサートするこ
とによってバスを要求し、それは、BPRI#がインアクティブでサンプリング
されるまで、別のロックされていないバス・トランザクションを発行する他の対
称エージェントがないので、一時的に仲裁体系に優先する。優先エージェントは
、常に次のバス・オーナーである。さらなるトランザクションがバス(通常は、
バッファ等のシステム・リソースが満たされ、他のトランザクションに対処でき
ない時に使用される)に発行されるのを阻止するために、BNR#信号は、あら
ゆるバス・エージェントによってアサートされうる。LOCK#信号のアサート
は、バス・エージェントが、介入されてはならないバス・トランザクションのア
トミック・シーケンス(atomic sequence)を実行していることを示す。
【0079】 優先エージェントは、その最後の要求を生成するのと同じサイクルで、BPR
I#をディアサートし、バス所有権を解放することができる。いくつかのPen
tiumプロセッサにおいて、BPRI#信号がアサートされた後、BPRI#
信号は、最小の2バス・クロック・サイクルでディアサートされなければならな
い。これは、(いくつかのPentiumプロセッサにおける)古い3バス・ク
ロック・サイクル速度に匹敵し、対称エージェントと優先エージェントの均衡が
取れたアクセスをバスに供給した。実施例に従って、プロトコルは、アサートさ
れた後に、最小の1バス・クロック・サイクルのみで、BPRI#信号がディア
サートされることを求めるように変更された。この現在の実施例における変更は
、2バス・クロック・サイクル・ビート・レート、アサートのための1バス・ク
ロック・サイクル、およびディアサートのための1サイクルをサポートする。
【0080】 上述の通り、BNR#信号は、例えば、エージェントが別のトランザクション
をサポートするための十分なリソースを有しない時、さらなる要求を遅らせるた
めに使用されうる。実施例に従って、要求停止(request stall)プロトコルが
実行され、3つの状態に基づいて決定される: 1)フリー:この状態において、エージェントの、要求を発行する能力は
、BNR#要求停止プロトコルによっては制約されないが、それのバスの所有権
によって、および要求速度によってのみ制約される。いくつかのPentium
プロセッサにおいて、フリー状態でのBNR#サンプリング点は、ADS#がア
サートでサンプリングされた後、3クロック・サイクルで生じる。実施例に従っ
て、BNR#サンプリング点は、ADS#信号がアサートでサンプリングされた
後、(3よりもむしろ)2クロック・サイクルで生じるように調整された。エー
ジェントが、フリー状態で新しい要求生成を停止するつもりである時、エージェ
ントは、ADS#からの有効なBNR#サンプリング点の前に、クロック・サイ
クルでBNR#をアクティブにする。次のクロック・サイクルでは、すべてのエ
ージェントが、BNR#サンプリング点でのアクティブなBNR#を観察し、お
よび停止した状態へ移行する。
【0081】 2)スロットル(throttled):エージェントは、バスの所有権を有し、
最大ADS#要求速度が維持されると、この状態で一つの要求を発行してもよい
。BNR#サンプリング点は、スロットル状態の第一のクロック・サイクルにあ
る。スロットル状態にある時、BNR#がBNR#サンプリング点において、ア
クティブでサンプリングされる場合、状態は、停止状態に移行する。BNR#は
、BNR#サンプリング点において、インアクティブでサンプリングされる場合
、状態はフリー状態に移行する。
【0082】 3)停止(stalled):この状態においては、BNR#サンプリング点で
サンプリングされたBNR#が、インアクティブになるまで、エージェントは要
求を発行してはならない。停止状態に入り、BNR#と同じ長さの、一つおきの
続きのクロック・サイクルが、そのサンプリング点においてアクティブでサンプ
リングされる時、BNR#サンプリング点は、バス・クロック・サイクルで始ま
る。要求停止状態は常に、リセット・イベント(INIT#またはRESET#
のいずれか)の後、停止状態に初期化される。エージェントは、2クロック・サ
イクルごとに(有効サンプリング点の前に)BNR#をアサートすることによっ
て、停止状態を延長することができる。BNR#が、停止状態で、アクティブと
してサンプリングされない場合、要求停止状態は、スロットル状態に移行する。
【0083】 そのため、アサートされた後に、(2よりもむしろ)最小の1バス・クロック
・サイクルだけ、BPRI#信号がディアサートされるよう要求し、および ADS#信号がアサートでサンプリングされた後、(3よりもむしろ)2クロッ
ク・サイクルで生じるように、フリー状態におけるBNR#サンプリング点を調
整することは、連続した仲裁フェーズの開始の間の最小待ち時間を、3バス・ク
ロック・サイクルから2バス・クロック・サイクルへ減らす。
【0084】 2)要求フェーズ:要求フェーズは、トランザクションが実際にバスに発行
され、または送られるフェーズである。実施例に従って、要求フェーズは、持続
期間が1共通バス・クロック・サイクルである。要求フェーズは、サブ・フェー
ズa(要求フェーズの第一の半分の間)およびサブ・フェーズb(要求フェーズ
の第二のサブ・フェーズの間)を含む、二つのサブ・フェーズを含む。要求情報
は、要求フェーズの間に送信され、トランザクション・アドレスを含む。要求フ
ェーズは、ADS#信号、アドレス・ストロボ信号のアサートで始まる。ここに
要求を送信するために使用されうる信号の例示的グループがある。
【0085】
【表3】 例示的要求信号 注記: a.これらの信号は、要求フェーズの第一のサブ・フェーズ(サブ・フェーズ
a)中に表示されたピンで送られる。 b.これらの信号は、要求フェーズの第二のサブ・フェーズ(サブ・フェーズ
b)中に送られる。
【0086】 このように、トランザクション・アドレスは、Aa[35:3]で送信され(
この場合“A”は、アドレス・ラインまたはアドレス・バス204を示し、“a
”は、サブ・フェーズa中に送信される信号を示す)、トランザクションを記述
する追加情報(例えば、バイト・イネーブル、属性、拡張機能)は、Ab[35
:3]で送信される(“b”は、サブ・フェーズb中に、アドレス・ラインを介
して、追加情報が送信されることを示す)。ADS#のアサートは、要求フェー
ズの開始を定義する。ADSTB[1:0]#は、好ましくは、ADS#がアサ
ートされるバス・クロック・サイクルごとに一回トグルし、他のサイクルではし
ない。REQa[4:0]#およびREQb[4:0]#は、トランザクション
・タイプを識別する。
【0087】 実施例に従って、要求は、プロセッサ・バスへと送られうる: 1)所有権観察の後のクロック・サイクル;および 2)前のトランザクションのためのADS#アサートから、2以上のクロッ
ク後;および 3)BNR#がインアクティブであると観察される、および 4)LOCK#は、このエージェントによって起動されない場合、インアク
ティブであると観察される。
【0088】 いくつかのPentiumプロセッサは、要求がプロセッサ・バスに送られう
る前に、前のトランザクションのADS#のアサートの後、3クロック・サイク
ルの最小の遅延を必要とした。連続したトランザクションの要求フェーズの間の
最小待ち時間を、3クロック・サイクルから2クロック・サイクルへと減らすた
めに、エージェントは、実施例に従って、前のトランザクションのADS#信号
のアサートの後、2バス・クロック・サイクルだけ後に、バスへ要求を送っても
よい。上述の通り、ADS#信号は、要求フェーズの開始を識別し、および要求
のサブ・フェーズaが、プロセッサ・バスへ送られており、(アドレス・バスを
介して供給される)アドレスおよび(REQ#[4:0]ラインを介して供給さ
れる)要求を含むことを示す。
【0089】 3)スヌープ・フェーズ:実施例に従って、プロセッサ・バスは、複数のキ
ャッシング・エージェントに関するキャッシュ・コヒーレンシーをサポートする
。コヒーレンシーン(すなわちデータ一貫性)は、複数のレベルのキャッシュな
らびにメモリおよび複数のキャッシング・エージェントを伴うシステムまたはコ
ンピュータが、好ましくは陳腐な(stale)(または正しくない)データを読み
取るエージェントがなく、必要に応じてアクションが直列にされうる共有メモリ
・モデルを与えることを確証する。ラインは、キャッシング・エージェントにお
けるキャッシングのユニットである。実施例に従って、キャッシュ・ラインは6
4バイトであるが、他のサイズのキャッシュ・ラインを使用することができる。
【0090】 キャッシュ・プロトコルは、状態とラインとを関連付け、および状態移行を支
配する規則を定義する。各ラインは、各キャッシュに一つの状態を有する。実施
例に従って、4のライン状態があり、以下のものを含む:M(Modified
)は、ラインがこのキャッシュにあり、およびメモリにおけるよりも、より最近
のラインの値を含み、および前記ラインはすべての他のエージェントでは無効で
あることを示す;E(Exclusive)は、ラインがこのキャッシュにあり
、およびメモリと同じ値であり、およびすべての他のエージェントにおいて無効
であることを示す;S(Shared)は、ラインがこのキャッシュにあり、メ
モリと同じ値を含み、および他のエージェントにあるかもしれないことを示す;
およびI(Invalid)は、ラインがこのキャッシュにはなく、他のキャッ
シュまたはエージェントから取ってこられるべきであることを示す。
【0091】 スヌープ・フェーズは、キャッシュ・コヒーレンシーが強化されるフェーズで
ある。以下の内容は、スヌープ・フェーズ中に使用されうるスヌープ信号の例示
的リストである:
【0092】
【表4】 例示的スヌープ信号
【0093】 スヌープ・フェーズにおいて、すべてのキャッシング・エージェントは、自ら
のスヌープ結果を送り、およびキャッシュ・コヒーレンシー分解(cache cohere
ncy resolution)に参加する。前記エージェントは、それ自身のものではない、
ほぼすべてのメモリ・トランザクションに関する内部スヌープ結果を生成する。
すべてのキャッシング・エージェント(スヌープ・エージェント)は、HIT#
およびHITM#信号を用いて、このフェーズにおいてバスへと自らのスヌープ
結果を送る。要求されたデータを含むキャッシュ・ラインのコピーが、このイン
ターフェースにおける他のエージェントのキャッシュに存在することを示すため
に、HIT#は、スヌープ・フェーズ中にアサートされる。要求されたデータを
含むキャッシュ・ラインの変更されたコピーが、このインターフェースにおける
他のエージェントのキャッシュに存在することを示すために、HITM#が、ス
ヌープ・フェーズ中にアサートされる。HIT#およびHITM#が、同時に、
スヌープ・フェーズ中にエージェントによってアサートされる場合、スヌープ停
止が生じ、現在のスヌープ・フェーズは延長されるであろう。DEFER#は、
現在のトランザクションが完了することを保証されないことを示すために、スヌ
ープ・フェーズ中にアサートされる。
【0094】 いくつかのPentiumプロセッサにおいて、スヌープ結果は、ADS#信
号がアサートされた後、4クロック・サイクルで、および前のトランザクション
のスヌープ・フェーズから、少なくとも3クロック・サイクルで送られる。しか
しながら、実施例に従って、これらの最小待ち時間は、プロセッサ・バスの新し
いビート周波数により近く合うように変更された。実施例に従って、スヌープ結
果は、ADS#がアサートされた後、3クロック・サイクルで(すなわち、要求
フェーズの開始の後、3バス・クロック・サイクル)、および前のトランザクシ
ョンのスヌープ・フェーズの後、少なくとも2クロック・サイクルで(すなわち
、スヌープ結果が、前のトランザクションに関して、バスへと送られた後、少な
くとも2クロック・サイクルで)、送られうる。HIT#/HITM#/DEF
ER#信号(スヌープ結果)に関する最大起動速度は、3バス・クロック・サイ
クルごとに1回から、2バス・クロック・サイクルごとに一回へと変更された。
要求フェーズの終わり(サブ・フェーズB)からスヌープ・フェーズまでの待ち
時間は、要求フェーズが1サイクル短くなったので、同じままであることが注目
される。
【0095】 4)応答フェーズ:このフェーズでは、応答エージェントは、プロセッサ・
バスへ、トランザクション応答を送る。要求フェーズにおいて始められた要求は
、すべてのバス・エージェントによって維持されている順番通りの待ち行列に入
る。応答しているエージェントは、順番通りの待ち行列の一番上にあるトランザ
クションを完了させることを担当するエージェントである。応答しているエージ
ェントは、要求フェーズ中に、トランザクションによってアドレス指定された装
置またはエージェントである。応答フェーズにおいて使用されうる信号の例示的
グループが下に示されている:
【0096】
【表5】 例示的応答信号
【0097】 トランザクション応答は、RS[2:0]#信号でコード化される。可能性の
ある応答の例は:通常データ応答(応答しているエージェントは、応答とともに
、リード・データを転送することを求められる)、リトライ応答(retry respon
se)(DEFER#がスヌープ・フェーズ中にアサートされる時、トランザクシ
ョンが再試行されなければならないことを示す)、デファード応答(応答エージ
ェントまたは応答しているエージェントは、デファード応答トランザクションを
用いて、将来、トランザクションを完了させることを約束する)、ノー・データ
応答(アドレス指定されたエージェントによって戻されるデータはない)等を含
む。TRDY#は、ライトまたはライトバック・データ等を受け入れる準備がで
きていることを示すために、応答しているエージェントによってアサートされる
。RSP#信号は、RS信号のためにパリティ(parity)を供給する。
【0098】 いくつかのPentiumプロセッサにおいて、応答は、前のトランザクショ
ンの応答フェーズの後、最小の3バス・クロック・サイクルの後に送られうる。
実施例に従って、連続したトランザクションの応答フェーズ間の、この最小待ち
時間は、プロセッサ・バスの新しいビート周波数により近く合うように調整され
た。実施例に従って、応答は、前のトランザクションの応答の後、最小の2バス
・クロック・サイクル後に送られうる。この最小待ち時間は通常、この待ち時間
を延長するかもしれない他の制約を受ける。要求信号のために使用されるダブル
・ポンプ信号モードによって、(いくつかのPentiumプロセッサに関する
、3バス・クロック・サイクルごとに1回と比較して)2バス・クロック・サイ
クルごとに一回、応答が送られうる。
【0099】 要求開始トランザクション(request initiated transaction)は、要求エー
ジェントが転送すべきライト・データを有しているトランザクションである。ア
ドレス指定されたエージェントは、ライト・オペレーションを実行するつもりで
ある要求エージェントからデータを受信する能力を示すために、TRDY#をア
サートする。いくつかのPentiumプロセッサにおいて、TRDY#信号は
、同じトランザクションに関するADS#信号のアサートの後、最小の3バス・
クロック・サイクルの後にアサートされうる。通常、この待ち時間を延ばしうる
他の制約がある。この待ち時間は、プロセッサ・バスの新しいビート周波数によ
り近く合うように、変更された。実施例に従って、アドレス指定されたエージェ
ントは、同じトランザクションに関するADS#信号のアサートの後、最小の2
バス・クロック・サイクルの後に、TRDY#信号をアサートすることができる
。要求フェーズの終わりからTRDY#までの待ち時間は、変わらないままであ
る。
【0100】 5)データ(転送)フェーズ:データ・フェーズ中、データは、プロセッサ
・バス117を介して、異なるバス・エージェントの間で転送される。要求フェ
ーズに基づいて、トランザクションは、“要求開始(request-initiated)”(
ライト)データ転送、“応答開始(response-initiated)”(リード)データ転
送、またはノー・データ転送のいずれかを含む。データ・フェーズは、1つのト
ランザクションに関する要求フェーズと重複するかもしれない。
【0101】 データ・フェーズにおいて使用されうる信号の例示的リストが以下に示されて
いる:
【表6】 例示的データ信号
【0102】 DRDY#は、有効なデータがバス117に配置され、およびラッチされなけ
ればならないことを示す。データ・バス・オーナーは、有効データが転送される
べき各バス・クロック・サイクルに関して、DRDY#をアサートする。DRD
Y#は、データ・フェーズにおいて、待ち状態を挿入するために、ディアサート
されうる。DBSY#は、第一のDRDY#アサートの前、および複数のバス・
クロック・データ転送に関するその後のDRDY#アサートの間に、データ・バ
スを保持するために使用されうる。DINV[3:0]#は、データ・ソースに
よってデータ・ビットが反転されたことを示すために使用される。
【0103】 データ・バス206(図2)のデータ信号D[63:0]#は、バス・エージ
ェント間に64ビット・データ・パスを供給する。I/OリードおよびI/Oラ
イト・トランザクションを含む、部分的転送のために、バイト・イネーブル信号
(BE[7:0]#)は、データ・バスのどのバイトが有効データを含むかを決
定する。DP信号は、データ信号のためにパリティを供給するために使用されう
る。
【0104】 実施例に従って、単一のバス・クロック・サイクルで4つの8バイト・データ
・エレメントを送信するために、データ信号D[63:0]#が使用される、ク
アド・ポンプ(すなわち4X)ソース同期ラッチ・プロトコルを使用して、デー
タが転送されてもよい。(バースト・オーダーで)最初の8バイトは、バス・ク
ロックの最初の4分の1で送信され、バス・クロックの第二の4分の1において
第二の8バイト・エレメントが送信され、バス・クロックの第三の4分の1にお
いて第三の8バイト・エレメントが送信され、バス・クロックの第四の4分の1
において、第四の8バイト・エレメントが送信される。転送されるべきデータが
、1乃至8バイト長である場合、前記データはバス・クロックの最初の4分の1
で転送されることができ、データが9乃至16バイト長である場合は、データは
、バス・クロックの最初の二つの4分の1で転送されうる。
【0105】 本発明のいくかの実施例は、ここでは特定的に示され、および/または説明さ
れている。しかしながら、本発明の変更および変形が、本発明の精神および意図
された範囲から逸脱することなく、上述の教示によって、および添付の特許請求
の範囲による範囲内に網羅されることが理解されるであろう。
【図面の簡単な説明】
【図1】 図1は、本発明の例示的実施例に従った、コンピュータを示すブロック図であ
る。
【図2】 図2は、例示的実施例に従ったプロセッサ・バスを示す図である。
【図3】 図3は、実施例に従って、二つの例示的トランザクションに関する、例示的バ
ス・トランザクション・フェーズ関係を示すタイミング図(timing diagram)で
ある。
【図4】 図4は、実施例に従った、共通クロック信号モードの例示的なオペレーション
を説明する例示的タイミング図である。
【図5】 図5は、実施例に従った、例示的クアド・ポンプ信号モードのオペレーション
を示すタイミング図である。
【図6】 図6は、実施例に従った、例示的ダブル・ポンプ信号モードのオペレーション
を示すタイミング図である。
【図7】 図7は、トランザクション・フェーズの間の最小待ち時間または遅延を示す図
である。
【図8】 図8は、実施例に従った、エージェント間の情報の転送のための装置のブロッ
ク図である。
【図9】 図9は、他の実施例に従った、エージェント間の情報の転送のための装置のブ
ロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,NO,NZ,PL,PT,RO,RU,S D,SE,SG,SI,SK,SL,TJ,TM,TR ,TT,TZ,UA,UG,UZ,VN,YU,ZA, ZW (72)発明者 パウロウスキー スティーブン エス アメリカ合衆国 オレゴン州 97007 ビ ーヴァートン サウスウェスト ワンハン ドレッドアンドフィフティーエイス アヴ ェニュー 6624 (72)発明者 ヒル デイヴィッド エル アメリカ合衆国 オレゴン州 97113 コ ーネリアス サウスウェスト ゴッダード ロード 37000 (72)発明者 パーカー ドナルド ディー アメリカ合衆国 オレゴン州 97006− 7225 ビーヴァートン ノースウェスト サマセット ドライヴ 16170 Fターム(参考) 5B061 FF01 GG02 RR03 【要約の続き】 立ち下がりエッジのいずれか)を用いることによって、 向上されうる。

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 マルチドロップ・バスを介して、ドライビング・エージェン
    トから、一つ以上の受信エージェントに情報を送信する方法であって: 共通バス・クロックを、前記ドライビング・エージェントおよび前記一つ以上
    の受信エージェントの両方に供給するステップと; 前記ドライビング・エージェントから前記一つ以上の受信エージェントに、バ
    ス・トランザクションを発行するステップであって: 前記ドライビング・エージェントは、要求のための複数の情報エレメントを
    、前記バス・クロックの周波数の倍数である速度で、アドレス・バスへと送り; 前記ドライビング・エージェントは、いつ、前記一つ以上の受信エージェン
    トが、前記アドレス・バスで送られた前記情報エレメントをサンプリングするべ
    きかを識別するための、第一のストロボ信号を起動させる前記ステップと;およ
    び 前記ドライビング・エージェントから、前記一つ以上の受信バスにデータを転
    送するステップであって: 前記ドライビング・エージェントは、複数の情報エレメントを、前記バス・
    クロックの周波数の異なる倍数である速度で、データ・バスへ送り;および 前記ドライビング・エージェントは、いつ、前記一つ以上の受信エージェン
    トが、前記データ・バスに送られた前記情報エレメントをサンプリングするべき
    かを識別するための第二のストロボを起動することを含む前記ステップと を具備する前記方法。
  2. 【請求項2】 請求項1に記載の方法であって、前記ドライビング・エージ
    ェントが、要求のための複数の情報エレメントをアドレスに送ることは、前記ド
    ライビング・エージェントが、前記バス・クロックの周波数の少なくとも2倍で
    ある速度で、要求のための少なくとも二つの情報エレメントをアドレス・バスに
    送ることを含むことを特徴とする、前記方法。
  3. 【請求項3】 請求項2に記載の方法であって、前記ドライビング・エージ
    ェントが、要求のための複数の情報エレメントをアドレスに送ることは、前記ド
    ライビング・エージェントが、前記バス・クロックの周波数の2倍である速度で
    、要求のための二つの情報エレメントをアドレス・バスに送ることを含むことを
    特徴とする、前記方法。
  4. 【請求項4】 請求項3に記載の方法であって、前記ドライビング・エージ
    ェントが、複数の情報エレメントをデータ・バスに送ることは、前記ドライビン
    グ・エージェントが、前記バス・クロックの周波数の少なくとも4倍である速度
    で、少なくとも4つの情報エレメントをデータ・バスに送ることを含むことを特
    徴とする、前記方法。
  5. 【請求項5】 請求項4に記載の方法であって、前記ドライビング・エージ
    ェントが、複数の情報エレメントをデータ・バスに送ることは、前記ドライビン
    グ・エージェントが、前記バス・クロックの周波数の4倍である速度で、4つの
    情報エレメントをデータ・バスに送ることを含むことを特徴とする、前記方法。
  6. 【請求項6】 請求項1に記載の方法であって、前記ドライビング・エージ
    ェントが第二のストロボを起動させることは、いつ前記受信エージェントが前記
    データ・バスに送られた前記情報エレメントをサンプリングするべきかを識別す
    るためのフェーズ・ストロボのうち少なくとも二つを、前記ドライビング・エー
    ジェントが起動することを含むことを特徴とする、前記方法。
  7. 【請求項7】 請求項6に記載の方法であって、いつ、前記受信エージェン
    トが、前記データ・バスに送られた前記情報エレメントをサンプリングすべきか
    を識別するために、一種類のみの前記ストロボのエッジが使用されることを特徴
    とする、前記方法。
  8. 【請求項8】 異なる種類の信号のための二つの信号モードでバスを操作す
    る方法であって、前記バスは、すべてのバス・エージェント、マルチドロップ双
    方向アドレス・バス、およびマルチドロップ双方向データ・バスに供給される共
    通バス・クロックを含み、前記信号モードは: 前記バス・クロックの周波数と実質的に同じである速度で、信号が前記バスに
    送られる共通クロック信号モードであって、前記バス・クロックは、前記共通ク
    ロック信号モードで送られる前記情報エレメントをサンプリングするための点を
    識別する、前記共通クロック信号モードと;および 前記バス・クロックの周波数の倍数である速度で、情報エレメントが、前記ア
    ドレス・バスまたは前記データ・バスのうち、少なくとも一つへ、ドライビング
    ・エージェントによって送られうる、および一つ以上のストロボ信号が、マルチ
    ポンプ信号モード(multi pumped signaling mode)で送られる前記情報エレメ
    ントのためのサンプリング点を識別するために、前記ドライビング・エージェン
    トによって起動される、マルチポンプ信号モードと を具備する前記方法。
  9. 【請求項9】 請求項8に記載の方法であって、一種類のみの、前記一つ以
    上のストロボ信号のエッジが、前記情報エレメントのためのサンプリング点を識
    別するために使用されることを特徴とする、前記方法。
  10. 【請求項10】 請求項8に記載の方法であって、前記一つ以上のストロボ
    信号は、複数のストロボ信号を具備し、前記複数のストロボ信号は、同期せずに
    、または互い違いの配列で起動されることを特徴とする、前記方法。
  11. 【請求項11】 請求項8に記載の方法であって、前記一つ以上のストロボ
    信号は、実質的に前記情報エレメントの各々に中心があるサンプリング点を識別
    するためのものであることを特徴とする、前記方法。
  12. 【請求項12】 バス・バランス(bus balancing)の方法であって: 第一の最小待ち時間で実行されうる、バスを介したトランザクションのデータ
    転送部分を供給するステップと; 第二の最小待ち時間で実行されうる、バス・トランザクションの要求部分を供
    給するステップと; 連続するバスの対応するフェーズの開始の間の最小待ち時間を、前記第一およ
    び第二の最小待ち時間のうちの一つ以上に、実質的に合わせるステップと; を具備する前記方法。
  13. 【請求項13】 請求項12に記載の方法であって、前記第一および第二の
    待ち時間は、実質的に等しいことを特徴とする、前記方法。
  14. 【請求項14】 複数のバス・エージェントに接続されたバスであって: 共通バス・クロック、アドレス・ストロボ信号、およびデータ・ストロボ信号
    を含む、複数のコントロール信号を供給するための、マルチドロップ双方向コン
    トロール・バスと; ドライビング・エージェントに、前記バス・クロックの周波数の倍数である周
    波数で、前記データ・バスへ情報エレメントを送らせるための、マルチドロップ
    双方向データ・バスと;および ドライビング・エージェントに、前記バス・クロックの周波数の倍数である周
    波数で、前記アドレス・バスへ情報エレメントを送らせるための、マルチドロッ
    プ双方向アドレス・バスとを具備し; 前記ドライビング・エージェントは、前記データ・バスへと送られた前記情報
    エレメントをサンプリングするための点を識別するための前記データ・ストロボ
    信号を起動させ;および 前記ドライビング・エージェントは、前記アドレス・バスへと送られた前記情
    報エレメントをサンプリングするための点を識別するための前記アドレス・スト
    ロボ信号を起動させること を特徴とする、前記バス。
  15. 【請求項15】 情報を転送するための装置であって: 複数のエージェントであって、前記エージェントの少なくとも一つは、ドライ
    ビング・エージェントとして動作する、前記複数のエージェントと; 前記エージェントに接続されたマルチドロップ双方向バスであって、前記バス
    は、コントロール・バス、アドレス・バス、およびデータ・バスを含み、前記コ
    ントロール・バスは、すべてのエージェント、アドレス・ストロボ信号ライン、
    および複数のデータ・ストロボ信号ラインに、共通バス・クロックを供給するた
    めの共通バス・クロック・ラインを含む、前記マルチドロップ双方向バスと; を具備し、 ドライビング・エージェントは、要求の情報エレメントが、前記バス・クロッ
    クの周波数の倍数である速度で送信され、および前記ドライビング・エージェン
    トが、前記アドレス・バスへ送られた前記情報エレメントのためのサンプリング
    点を識別するために、前記アドレス・ストロボ信号ラインでアドレス・ストロボ
    信号を一時的に起動させることができる、マルチ・ポンプ信号モードを用いて、
    前記アドレス・バスに前記要求を送ることができ;および ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
    の前記周波数の倍数である速度で、前記データ・バスへドライビング・エージェ
    ントによって送られ、および前記ドライビング・エージェントが、前記データ・
    エレメントをサンプリングするためのサンプリング点を識別するために、複数の
    データ・ストロボ信号ラインへ、互い違いの、またはオフセットの配列で前記複
    数のデータ・ストロボ信号を一時的に起動させることもできる、マルチポンプ信
    号モードを用いて、データを転送することができる ことを特徴とする、前記装置。
  16. 【請求項16】 請求項15に記載の装置であって、前記データ・ストロボ
    信号の一つだけのエッジが、前記データ・エレメントをサンプリングするための
    サンプリング点を識別するために使用されることを特徴とする、前記装置。
  17. 【請求項17】 請求項16に記載の装置であって、前記データ・エレメン
    トのためのサンプリング点を識別するための前記データ・ストロボ信号の前記一
    つのエッジは、前記データ・ストロボ信号の立ち上がりエッジのみを含むことを
    特徴とする、前記装置。
  18. 【請求項18】 請求項16に記載の装置であって、前記データ・エレメン
    トのためのサンプリング点を識別するための前記データ・ストロボ信号の前記一
    つのエッジは、前記データ・ストロボ信号の立ち下りエッジのみを含むことを特
    徴とする、前記装置。
  19. 【請求項19】 情報を転送するための装置であって: 複数のエージェントであって、前記エージェントの少なくとも一つは、ドライ
    ビング・エージェントとして動作する、前記複数のエージェントと; 前記エージェントに接続された双方向バスであって、前記エージェントは、前
    記バスを通してバス・トランザクションを実行し、各トランザクションは、仲裁
    フェーズ、要求フェーズ、スヌープ・フェーズ、応答フェーズ、およびデータ転
    送フェーズのうち、少なくともいくつかを含む複数のフェーズを具備し、前記バ
    スは: コントロール・バスであって、すべてのエージェント、アドレス・ストロボ
    信号ライン、および複数のデータ・ストロボ信号ラインに、共通バス・クロック
    を供給するための共通バス・クロック・ラインを含む前記コントロール・バスと
    ; 前記バス・クロックの前記周波数の少なくとも2倍である速度で、要求フェ
    ーズのための情報エレメントを転送するためのアドレス・バスと; 前記バス・クロックの前記周波数の少なくとも4倍である速度で、データ転
    送フェーズにおけるデータ・エレメントを転送するためのデータ・バスと; を含む前記双方向バスとを具備し、 連続したバス・トランザクションのための対応するフェーズの開始の間の最小
    待ち時間は、前記フェーズの少なくとも一つに関する2バス・クロック・サイク
    ルであることを特徴とする、前記装置。
  20. 【請求項20】 請求項19に記載の装置であって: 連続したトランザクションの仲裁フェーズの開始の間の前記最小の待ち時間は
    、2バス・クロック・サイクルであり; 連続したトランザクションの要求フェーズの開始の間の前記最小の待ち時間は
    、2バス・クロック・サイクルであり; 連続したトランザクションのスヌープ・フェーズの開始の間の前記最小の待ち時
    間は、2バス・クロック・サイクルであり; 連続したトランザクションの応答フェーズの開始の間の前記最小の待ち時間は、
    2バス・クロック・サイクルである ことを特徴とする、前記装置。
  21. 【請求項21】 請求項19に記載の装置であって、要求フェーズの開始と
    、スヌープ・フェーズの開始との間の最小待ち時間は、3バス・クロック・サイ
    クルであることを特徴とする、前記装置。
  22. 【請求項22】 請求項19に記載の装置であって、要求フェーズの開始と
    、ターゲットとなる、またはアドレス指定されるエージェントが、データを受け
    る準備ができていることを示す信号を送ることができる時との間の最小の待ち時
    間は、2バス・クロック・サイクルであることを特徴とする、前記装置。
  23. 【請求項23】 情報を転送するための装置であって: 複数のエージェントであって、その少なくとも一つはドライビング・エージェ
    ントとして動作する前記複数のエージェントと; 前記エージェントに接続された双方向マルチドロップ・バスであって、前記バ
    スは、コントロール・バス、アドレス・バス、およびデータ・バスを含み、前記
    コントロール・バスは、すべてのエージェントに共通バス・クロックを供給する
    ためのバス・クロック・ラインと、および複数のデータ・ストロボ信号ラインと
    を含む前記双方向マルチドロップ・バスと を具備し、 ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
    の前記周波数の少なくとも4倍である速度で、前記データ・バスに、ドライビン
    グ・エージェントによって送られ、および前記ドライビング・エージェントが、
    前記データ・エレメントをサンプリングするためのサンプリング点を識別するた
    めに、前記複数のデータ・ストロボ信号ラインに、互い違いの、またはオフセッ
    トの配列で、複数のデータ・ストロボ信号を一時的に起動することもできるマル
    チ・ポンプ信号モードを用いて、データを転送するためのものであることを特徴
    とする、前記装置。
  24. 【請求項24】 情報を転送するための装置であって: 複数のエージェントであって、その少なくとも一つはドライビング・エージェ
    ントとして動作する前記エージェントと; 前記エージェントに接続されたバスであって、前記バスは、コントロール・バ
    ス、アドレス・バス、およびデータ・バスを含み、前記コントロール・バスは、
    すべてのエージェントに共通バス・クロックを供給するための共通バス・クロッ
    ク・ラインを含み、前記コントロール・バスは、アドレス・ストロボ信号ライン
    および複数のデータ・ストロボ信号ラインも含む前記バスと; を具備し、 バス・トランザクションは、前記バスを介してエージェントの間で実行される
    ことができ、各バス・トランザクションは、仲裁フェーズ、要求フェーズ、スヌ
    ープ・フェーズ、応答フェーズおよびデータ転送フェーズのうち、少なくともい
    くつかを含む複数のフェーズを具備し; ドライビング・エージェントは、前記要求フェーズの情報エレメントが、前記
    共通バス・クロックの前記周波数の少なくとも2倍である速度で送られ、および
    前記ドライビング・エージェントが、前記アドレス・バスに送られた前記情報エ
    レメントのためのサンプリング点を識別するために、前記アドレス・ストロボ信
    号ラインでアドレス・ストロボ信号を一時的に起動させることができるマルチ・
    ポンプ信号モードを用いて、前記アドレス・バスへ要求を送ることができ; ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
    の前記周波数の少なくとも4倍である速度で、前記データ・バスへ、ドライビン
    グ・エージェントによって送られ、および前記ドライビング・エージェントが、
    前記データ・エレメントのサンプリングをするためのサンプリング点を識別する
    ために、前記複数のデータ・ストロボ信号ラインに、互い違いに、またはオフセ
    ット配列で、複数のデータ・ストロボ信号を一時的に起動させることができる、
    マルチ・ポンプ信号モードを用いて、データ転送フェーズ中に、データを転送す
    ることができ;および 連続したバス・トランザクションのための対応するフェーズの開始の間の最小
    待ち時間は、前記フェーズの少なくとも一つに関する2バス・クロック・サイク
    ルであること を特徴とする、前記装置。
  25. 【請求項25】 請求項24に記載の装置であって: 連続したトランザクションの仲裁フェーズの開始の間の前記最小待ち時間は、
    2バス・クロック・サイクルであり; 連続したトランザクションの要求フェーズの開始の間の前記最小待ち時間は、
    2バス・クロック・サイクルであり; 連続したトランザクションのスヌープ・フェーズの開始の間の前記最小待ち時間
    は、2バス・クロック・サイクルであり;および 連続したトランザクションの応答フェーズの開始の間の前記最小待ち時間は、2
    バス・クロック・サイクルである ことを特徴とする、前記装置。
JP2001549206A 1999-12-29 2000-12-29 クアド・ポンプ・バス・アーキテクチャおよびプロトコル Expired - Fee Related JP4194274B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/474,058 US6609171B1 (en) 1999-12-29 1999-12-29 Quad pumped bus architecture and protocol
US09/474,058 1999-12-29
PCT/US2000/035520 WO2001048621A1 (en) 1999-12-29 2000-12-29 Quad pumped bus architecture and protocol

Publications (3)

Publication Number Publication Date
JP2003518693A true JP2003518693A (ja) 2003-06-10
JP2003518693A5 JP2003518693A5 (ja) 2006-10-12
JP4194274B2 JP4194274B2 (ja) 2008-12-10

Family

ID=23882019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001549206A Expired - Fee Related JP4194274B2 (ja) 1999-12-29 2000-12-29 クアド・ポンプ・バス・アーキテクチャおよびプロトコル

Country Status (16)

Country Link
US (6) US6609171B1 (ja)
EP (2) EP1881414A3 (ja)
JP (1) JP4194274B2 (ja)
KR (1) KR100565101B1 (ja)
CN (4) CN1815463B (ja)
AT (1) ATE377797T1 (ja)
AU (1) AU2463101A (ja)
BR (1) BRPI0016834B1 (ja)
DE (2) DE10085385B3 (ja)
GB (1) GB2374264B (ja)
HK (1) HK1046964B (ja)
RU (1) RU2271566C2 (ja)
SG (2) SG123610A1 (ja)
TW (1) TW559704B (ja)
WO (1) WO2001048621A1 (ja)
ZA (1) ZA200203946B (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6965648B1 (en) * 2000-05-04 2005-11-15 Sun Microsystems, Inc. Source synchronous link integrity validation
US6745268B1 (en) * 2000-08-11 2004-06-01 Micron Technology, Lnc. Capacitive multidrop bus compensation
US6678767B1 (en) * 2000-10-06 2004-01-13 Broadcom Corp Bus sampling on one edge of a clock signal and driving on another edge
US6816932B2 (en) * 2000-10-06 2004-11-09 Broadcom Corporation Bus precharge during a phase of a clock signal to eliminate idle clock cycle
US6901475B2 (en) * 2000-12-07 2005-05-31 Micron Technology, Inc. Link bus for a hub based computer architecture
US6993612B2 (en) * 2000-12-07 2006-01-31 Micron Technology, Inc. Arbitration method for a source strobed bus
US7676588B2 (en) * 2001-10-05 2010-03-09 International Business Machines Corporation Programmable network protocol handler architecture
DE50113128D1 (de) 2001-12-03 2007-11-22 Infineon Technologies Ag Datenübertragungseinrichtung
US7000065B2 (en) * 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US6983348B2 (en) * 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US7085889B2 (en) * 2002-03-22 2006-08-01 Intel Corporation Use of a context identifier in a cache memory
JP2005527030A (ja) * 2002-05-24 2005-09-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストール機能を有する疑似マルチポートデータメモリ
US7055116B2 (en) * 2002-05-28 2006-05-30 Cadence Design Systems, Inc. Assertion-based transaction recording
TWI282513B (en) * 2002-06-12 2007-06-11 Mediatek Inc A pre-fetch device of instruction for an embedded system
TW579467B (en) * 2002-07-24 2004-03-11 Via Tech Inc Method for blocking request to bus
US6956789B2 (en) * 2002-09-16 2005-10-18 Texas Instruments Incorporated Cycle ready circuit for self-clocking memory device
US7200730B2 (en) * 2002-09-16 2007-04-03 Texas Instruments Incorporated Method of operating a memory at high speed using a cycle ready status output signal
US7234034B2 (en) * 2002-09-16 2007-06-19 Texas Instruments Incorporated Self-clocking memory device
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7051229B2 (en) * 2002-12-03 2006-05-23 Alcatel Canada Inc. Logical bus overlay for increasing the existing system bus data rate
US7152167B2 (en) * 2002-12-11 2006-12-19 Intel Corporation Apparatus and method for data bus power control
US20040128416A1 (en) * 2002-12-11 2004-07-01 Tsvika Kurts Apparatus and method for address bus power control
US7216240B2 (en) * 2002-12-11 2007-05-08 Intel Corporation Apparatus and method for address bus power control
US20040117708A1 (en) * 2002-12-16 2004-06-17 Ellis David G. Pre-announce signaling for interconnect built-in self test
US6922769B2 (en) * 2002-12-23 2005-07-26 Intel Corporation Apparatus and method for reduction of power consumption in OS that use flat segmentation memory model
US20040153611A1 (en) * 2003-02-04 2004-08-05 Sujat Jamil Methods and apparatus for detecting an address conflict
US7054988B2 (en) * 2003-04-17 2006-05-30 Lsi Logic Corporation Bus interface for processor
US7478025B1 (en) * 2003-04-18 2009-01-13 Unisys Corporation System and method to support dynamic partitioning of units to a shared resource
US20040230188A1 (en) * 2003-05-12 2004-11-18 Iulian Cioanta Treatment catheters with thermally insulated regions
US7287126B2 (en) * 2003-07-30 2007-10-23 Intel Corporation Methods and apparatus for maintaining cache coherency
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US8504992B2 (en) * 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US7665069B2 (en) * 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US7113000B2 (en) * 2003-12-10 2006-09-26 Hewlett-Packard Development Company, L.P. Bus agent having multiple reference levels
US7178048B2 (en) * 2003-12-23 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for signal synchronization based on plural clock signals
US7057414B2 (en) * 2004-01-07 2006-06-06 International Business Machines Corporation Avoiding oscillation in self-synchronous bi-directional communication system
US20050262376A1 (en) * 2004-05-21 2005-11-24 Mcbain Richard A Method and apparatus for bussed communications
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
TWI304935B (en) * 2004-11-02 2009-01-01 Via Tech Inc Method for determining data transmission specification and combination of bridge chipset and memory used in the same
TWI268427B (en) * 2004-11-02 2006-12-11 Via Tech Inc Coordinating method of bus data transmission specification
TWI256558B (en) * 2004-11-02 2006-06-11 Via Tech Inc Method for coordinating bus data transmission specification and CPU and bridge chip used in the same
US20060161743A1 (en) * 2005-01-18 2006-07-20 Khaled Fekih-Romdhane Intelligent memory array switching logic
US20060171233A1 (en) * 2005-01-18 2006-08-03 Khaled Fekih-Romdhane Near pad ordering logic
US7340568B2 (en) * 2005-02-11 2008-03-04 International Business Machines Corporation Reducing number of rejected snoop requests by extending time to respond to snoop request
KR100606244B1 (ko) * 2005-02-11 2006-07-28 삼성전자주식회사 데이터 스트로브 신호에 동기 되어 전송되는 데이터의 캡쳐 방법 및 이를 위한 데이터 캡쳐 회로
US7529955B2 (en) * 2005-06-30 2009-05-05 Intel Corporation Dynamic bus parking
US7543094B2 (en) * 2005-07-05 2009-06-02 Via Technologies, Inc. Target readiness protocol for contiguous write
CN100461142C (zh) * 2005-07-05 2009-02-11 威盛电子股份有限公司 微处理器、处理器总线系统、及执行稀疏写入处理的方法
US7457901B2 (en) * 2005-07-05 2008-11-25 Via Technologies, Inc. Microprocessor apparatus and method for enabling variable width data transfers
US7441064B2 (en) * 2005-07-11 2008-10-21 Via Technologies, Inc. Flexible width data protocol
US7502880B2 (en) * 2005-07-11 2009-03-10 Via Technologies, Inc. Apparatus and method for quad-pumped address bus
US7590787B2 (en) * 2005-07-19 2009-09-15 Via Technologies, Inc. Apparatus and method for ordering transaction beats in a data transfer
US7444472B2 (en) * 2005-07-19 2008-10-28 Via Technologies, Inc. Apparatus and method for writing a sparsely populated cache line to memory
CN100435123C (zh) * 2005-07-19 2008-11-19 威盛电子股份有限公司 用于稀疏线写操作的装置和方法
US7444448B2 (en) 2005-08-03 2008-10-28 Via Technologies, Inc. Data bus mechanism for dynamic source synchronized sampling adjust
US7634609B2 (en) * 2005-09-29 2009-12-15 Via Technologies, Inc. Data transmission coordinating method
US20070073977A1 (en) * 2005-09-29 2007-03-29 Safranek Robert J Early global observation point for a uniprocessor system
US7757031B2 (en) * 2005-10-24 2010-07-13 Via Technologies, Inc. Data transmission coordinating method and system
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US20080062892A1 (en) * 2006-09-07 2008-03-13 Honeywell International Inc. High speed bus protocol with programmable scheduler
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US8868397B2 (en) * 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
KR100903381B1 (ko) * 2006-11-24 2009-06-23 주식회사 하이닉스반도체 반도체 메모리 장치 및 그의 구동 방법
KR20080047027A (ko) * 2006-11-24 2008-05-28 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 구동 방법
KR100915811B1 (ko) * 2006-12-07 2009-09-07 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 입출력 제어 신호 생성 회로
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US20090132747A1 (en) * 2007-11-19 2009-05-21 International Business Machines Corporation Structure for universal peripheral processor system for soc environments on an integrated circuit
US8139697B2 (en) * 2008-01-29 2012-03-20 United Microelectronics Corp. Sampling method and data recovery circuit using the same
US8020167B2 (en) * 2008-05-05 2011-09-13 Dell Products L.P. System and method for automatic throttling of resources in an information handling system chassis
KR101642833B1 (ko) * 2010-02-05 2016-07-26 삼성전자주식회사 클럭 임베디드 인터페이스 방법, 그 방법을 이용하는 송수신기 및 디스플레이 장치
JP5761331B2 (ja) * 2011-03-22 2015-08-12 富士通株式会社 入出力制御装置,情報処理システム,及びログ採取プログラム
US8312176B1 (en) * 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8683096B2 (en) * 2012-06-27 2014-03-25 Intel Corporation Configuration of data strobes
US20140233582A1 (en) * 2012-08-29 2014-08-21 Marvell World Trade Ltd. Semaphore soft and hard hybrid architecture
US9755818B2 (en) * 2013-10-03 2017-09-05 Qualcomm Incorporated Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes
CN105390982B (zh) * 2015-11-24 2018-07-17 国家电网公司 基于仿生视觉分析的输电设备总线型评价系统

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763243A (en) * 1984-06-21 1988-08-09 Honeywell Bull Inc. Resilient bus system
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
JPS62280948A (ja) * 1986-05-29 1987-12-05 Fanuc Ltd バス調停方式
US5341487A (en) * 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
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
US5469547A (en) * 1992-07-17 1995-11-21 Digital Equipment Corporation Asynchronous bus interface for generating individual handshake signal for each data transfer based on associated propagation delay within a transaction
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
TW255022B (ja) 1993-06-30 1995-08-21 Intel Corp
US5615343A (en) 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US5568620A (en) 1993-06-30 1996-10-22 Intel Corporation Method and apparatus for performing bus transactions in a computer system
TW400483B (en) 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
GB2326319B (en) 1994-03-01 1999-01-27 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
AU1973595A (en) 1994-03-01 1995-09-25 Intel Corporation Highly pipelined bus architecture
US5784579A (en) * 1994-03-01 1998-07-21 Intel Corporation Method and apparatus for dynamically controlling bus access from a bus agent based on bus pipeline depth
US5548733A (en) 1994-03-01 1996-08-20 Intel Corporation Method and apparatus for dynamically controlling the current maximum depth of a pipe lined computer bus system
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5550988A (en) * 1994-03-01 1996-08-27 Intel Corporation Apparatus and method for performing error correction in a multi-processor system
US5535340A (en) * 1994-05-20 1996-07-09 Intel Corporation Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US6029217A (en) * 1994-10-03 2000-02-22 International Business Machines Corporation Queued arbitration mechanism for data processing system
US5596729A (en) * 1995-03-03 1997-01-21 Compaq Computer Corporation First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US5710906A (en) * 1995-07-07 1998-01-20 Opti Inc. Predictive snooping of cache memory for master-initiated accesses
KR0164395B1 (ko) * 1995-09-11 1999-02-18 김광호 반도체 메모리 장치와 그 리이드 및 라이트 방법
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US5948094A (en) 1995-09-29 1999-09-07 Intel Corporation Method and apparatus for executing multiple transactions within a single arbitration cycle
US5812803A (en) * 1995-09-29 1998-09-22 Intel Corporation Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5838995A (en) * 1995-12-18 1998-11-17 International Business Machines Corporation System and method for high frequency operation of I/O bus
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
WO1997030399A1 (en) * 1996-02-20 1997-08-21 Intergraph Corporation High-availability super server
JP3643425B2 (ja) * 1996-02-29 2005-04-27 富士通株式会社 データ処理方法、データ処理装置及びインターフェイスコントローラ
WO1998010350A1 (en) * 1996-09-06 1998-03-12 Intel Corporation A data flow control mechanism for a bus supporting two-and three-agent transactions
US5867728A (en) * 1996-12-17 1999-02-02 Compaq Computer Corp. Preventing corruption in a multiple processor computer system during a peripheral device configuration cycle
US6012118A (en) 1996-12-30 2000-01-04 Intel Corporation Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5870567A (en) * 1996-12-31 1999-02-09 Compaq Computer Corporation Delayed transaction protocol for computer system bus
US6065101A (en) * 1997-06-12 2000-05-16 International Business Machines Corporation Pipelined snooping of multiple L1 cache lines
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
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
US5991855A (en) * 1997-07-02 1999-11-23 Micron Electronics, Inc. Low latency memory read with concurrent pipe lined snoops
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
US6260091B1 (en) * 1997-10-20 2001-07-10 Intel Corporation Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply
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 윤종용 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법
US6006291A (en) * 1997-12-31 1999-12-21 Intel Corporation High-throughput interface between a system memory controller and a peripheral device
US6041380A (en) * 1998-01-21 2000-03-21 Micron Electronics, Inc. Method for increasing the number of devices capable of being operably connected to a host bus
US6223238B1 (en) * 1998-03-31 2001-04-24 Micron Electronics, Inc. Method of peer-to-peer mastering over a computer bus
US6172937B1 (en) * 1998-05-13 2001-01-09 Intel Corporation Multiple synthesizer based timing signal generation scheme
US6108721A (en) * 1998-06-29 2000-08-22 Hewlett-Packard Company Method and apparatus for ensuring data consistency between an i/o channel and a processor
US6275890B1 (en) * 1998-08-19 2001-08-14 International Business Machines Corporation Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
US6205506B1 (en) * 1998-08-25 2001-03-20 Stmicroelectronics, Inc. Bus interface unit having multipurpose transaction buffer
US6449677B1 (en) * 1998-09-03 2002-09-10 Compaq Information Technologies Group, L.P. Method and apparatus for multiplexing and demultiplexing addresses of registered peripheral interconnect apparatus
US6102118A (en) 1998-12-30 2000-08-15 Moore; Curt A. Multi-purpose adjustable centralizer system with tool
TW514788B (en) * 1999-04-23 2002-12-21 Via Tech Inc Method of delayed transaction in bus system and device using the method
US6272604B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Contingent response apparatus and method for maintaining cache coherency
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
US6615323B1 (en) * 1999-09-02 2003-09-02 Thomas Albert Petersen Optimizing pipelined snoop processing
US6591321B1 (en) * 1999-11-09 2003-07-08 International Business Machines Corporation Multiprocessor system bus protocol with group addresses, responses, and priorities
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6681293B1 (en) * 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6901475B2 (en) * 2000-12-07 2005-05-31 Micron Technology, Inc. Link bus for a hub based computer architecture
US6651122B2 (en) * 2000-12-07 2003-11-18 Micron Technology, Inc. Method of detecting a source strobe event using change detection

Also Published As

Publication number Publication date
RU2271566C2 (ru) 2006-03-10
CN1900924B (zh) 2010-05-12
CN1815463A (zh) 2006-08-09
KR100565101B1 (ko) 2006-03-30
GB2374264B (en) 2004-04-07
SG123610A1 (en) 2006-07-26
DE10085385T1 (de) 2002-12-19
US20020147875A1 (en) 2002-10-10
EP1881414A3 (en) 2008-07-30
DE60037036D1 (de) 2007-12-20
BRPI0016834B1 (pt) 2015-08-11
GB2374264A (en) 2002-10-09
GB0216035D0 (en) 2002-08-21
US6804735B2 (en) 2004-10-12
US6807592B2 (en) 2004-10-19
RU2002120499A (ru) 2004-03-10
US20010037421A1 (en) 2001-11-01
CN1558337A (zh) 2004-12-29
WO2001048621A1 (en) 2001-07-05
CN1900924A (zh) 2007-01-24
EP1242898A1 (en) 2002-09-25
CN1815463B (zh) 2014-03-05
TW559704B (en) 2003-11-01
EP1242898B1 (en) 2007-11-07
HK1046964B (zh) 2004-07-23
US20020029307A1 (en) 2002-03-07
US20020038397A1 (en) 2002-03-28
US6880031B2 (en) 2005-04-12
CN1415095A (zh) 2003-04-30
CN1230762C (zh) 2005-12-07
DE60037036T2 (de) 2008-08-21
JP4194274B2 (ja) 2008-12-10
SG123609A1 (en) 2006-07-26
US6609171B1 (en) 2003-08-19
BR0016834A (pt) 2002-09-10
HK1046964A1 (en) 2003-01-30
AU2463101A (en) 2001-07-09
EP1881414A2 (en) 2008-01-23
ZA200203946B (en) 2003-01-02
US6601121B2 (en) 2003-07-29
ATE377797T1 (de) 2007-11-15
DE10085385B3 (de) 2011-12-08
KR20020089308A (ko) 2002-11-29
CN100375075C (zh) 2008-03-12
US6907487B2 (en) 2005-06-14
US20010037424A1 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
JP4194274B2 (ja) クアド・ポンプ・バス・アーキテクチャおよびプロトコル
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
US5870567A (en) Delayed transaction protocol for computer system bus
US6374317B1 (en) Method and apparatus for initializing a computer interface
US5463753A (en) Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5881253A (en) Computer system using posted memory write buffers in a bridge to implement system management mode
EP1046111B1 (en) Data transferring in source-synchronous and common clock protocols
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
WO1994008297A1 (en) Method and apparatus for concurrency of bus operations
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6970962B2 (en) Transfer request pipeline throttling
US5933612A (en) Deadlock avoidance in a split-bus computer system
US5832243A (en) Computer system implementing a stop clock acknowledge special cycle
US20070011376A1 (en) Target readiness protocol for contiguous write
WO1998010350A1 (en) A data flow control mechanism for a bus supporting two-and three-agent transactions
JPH1185674A (ja) Pciバス間におけるトランザクション通信方法及びコンピュータ・システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080317

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: 20080908

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: 20080922

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: 20111003

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees