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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus 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
Description
アーキテクチャ(quad pumped bus architecture)およびプロトコルに関する。
るため、向上したスループットおよび帯域幅を供給するためのプロセッサに対す
る需要がある。入力/出力(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バイト毎秒のデ
ータ転送速度は、多くのアプリケーションでは十分であるが、向上したデータ転
送速度または帯域幅を供給するプロセッサ・バスに対する必要性が存在する。
ング・エージェント(driving agent)から一つ以上の受信エージェントに情報
を送信するための方法が提供される。共通バス・クロックは、ドライビング・エ
ージェントおよび受信エージェントの両方に供給される。バス・トランザクショ
ンは、前記ドライビング・エージェントから前記一つ以上の受信エージェントに
発行され:1)前記ドライビング・エージェントは、前記バス・クロックの周波
数の倍数である速度で、アドレス・バスへ、要求のための複数の情報エレメント
を送り;および2)前記ドライビング・エージェントは、いつ前記受信エージェ
ントが、前記アドレス・バスに送られた前記情報エレメントをサンプリングする
べきかを識別するための第一のストロボ信号を起動させることを含む。前記方法
は、前記ドライビング・エージェントから前記一つ以上の受信エージェントへデ
ータを転送することも含み:1)前記ドライビング・エージェントは、前記バス
・クロックの周波数の異なる倍数である速度で、データ・バスへ複数の情報エレ
メントを送り;および2)前記ドライビング・エージェントは、いつ、前記一つ
以上の受信エージェントが、前記データ・バスへ送られた前記情報エレメントを
サンプリングすべきかを識別するための第二のストロボを起動させることを含む
。
示的実施例の詳細な説明および特許請求の範囲から明らかになり、そのすべては
本発明の開示の一部を形成する。前述の、および以下に書かれた、ならびに説明
された開示内容は、本発明の例示的実施例を開示することに焦点が絞られている
一方で、それは説明および例示の目的のみであり、それに制約されないことが、
明確に理解されるべきである。本発明の精神および範囲は、付属の特許請求の範
囲の条件によってのみ制約される。
る。ある種類の信号が、共通クロック信号モードを用いて送信される一方で、他
の種類の信号は、マルチ・ポンプ信号モードを用いて送信されるので、前記バス
はスケーラブル(scalable)である。
・クロックの周波数と実質的に同じである速度で、前記バスへと送られうる。こ
のモードで、前記バス・クロックのエッジは、前記バスへ送られる信号をサンプ
リングするための点を識別する。
倍数である速度で、ドライビング・エージェントによって前記バスへと送られる
マルチ・ポンプ信号モードで、前記バスを操作することによって増やすことがで
きる。前記ドライビング・エージェントは、マルチ・ポンプ信号モードで送られ
る前記情報エレメントのためのサンプリング点を識別するためのストロボ信号の
、一時的な起動もさせる。要求のための情報エレメントは、例えば、二つの情報
エレメントが、1バス・クロック・サイクル中に送られる、ダブル・ポンプ信号
モードを用いて送られうる。データ・ライン転送のためのデータ・エレメントは
、例えば、4つのデータ・エレメントが、1バス・クロック・サイクル中に送ら
れる、クアド・ポンプ信号モードを用いて送られうる。複数のストロボ信号は、
前記ストロボ信号の周波数を減らすために、オフセットまたは互い違いの配列で
、一時的に起動されうる。サンプリング・シンメトリ(sampling symmetry)は
、サンプリング点を識別するためのストロボ信号の一種類のみのエッジ(例えば
、立ち上がりエッジまたは立ち下がりエッジのいずれか)を用いて、改善されう
る。さらに、トランザクション・フェーズの間の最小待ち時間は、マルチ・ポン
プ信号モードで動作するバスの最大スピードにより近く合うように変更されうる
。
。前記コンピュータは、プロセッサ110、プロセッサ112およびプロセッサ
114を含む一つ以上のプロセッサを含む。各プロセッサは、内部キャッシュ(
図示されていない)も含む。
・サイド・バスとして知られる)に接続もされる。図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は、それぞれ、好ましくは、マルチドロップ双方向バスである。
実施例に従って、“マルチドロップ”という用語は、二つのバス・エージェント
の間のみで接続されるポイント・ツウ・ポイント・バスとは反対に、前記バスが
、三つ以上のバス・エージェントに接続されることを意味する。
に、システム・インターフェース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バスでもよい。
ッサ・バス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]を用いてコントロール・バスへ応答を送る。
レーション、トランザクション、およびフェーズへと、階層的に編成される。
フトウェアには微小である(例えば、不可視であるか、または一度に生じるよう
に見える)ように見えるバス・プロシージャである。オペレーションは、単一の
バス・トランザクションを含んでもよいが、時には、複数のバス・トランザクシ
ョンまたは複数のデータ転送を伴う単一のトランザクションを含んでもよい。例
は、リード・オペレーション(read operation)、ライト・オペレーション(wr
ite operation)、ロックされたリード・モディファイ・ライト・オペレーショ
ン(locked read-modify-write operation)およびデファード・オペレーション
を含む。
トである。トランザクションはバス仲裁、および(アドレスが送られていること
を示す)ADS#信号ならびにトランザクション・アドレスのアサート(assert
ion)で始まる。トランザクションは、例えば、データを転送し、変更したキャ
ッシュ状態に関して問い合わせ、または前記システムに情報を供給するために送
られる。
する。前記フェーズは:仲裁、要求、スヌープ、応答およびデータを含みうる。
すべてのトランザクションが、すべてのフェーズを含むわけではなく、いくつか
のフェーズは重複しうる。仲裁フェーズでは、バス・エージェントが、誰が次の
バス・オーナー(bus owner)であるかを決める(エージェントは、トランザク
ションを発行する前に、バスを所有しなければならない)。要求フェーズは、ト
ランザクションがバスに発行されるフェーズである。スヌープ・フェーズは、キ
ャッシュ・コヒーレンシーが強化されるフェーズである。応答フェーズは、アド
レスまたはターゲット・エージェントが、前記バスにトランザクション応答を送
るフェーズである。データ・フェーズにおいては、要求または応答またはスヌー
プエージェントが、トランザクション・データを送り、または受ける。プロセッ
サ・バス117を介して送信される4つのコントロール信号は、バス・クロック
BCLK[1:0]、初期化信号INIT#およびリセット信号RESET#を
含む。バス・クロックBCLK[1:0]は、微分バス・クロック(differenti
al bus clock)であり、クロック・チップまたはクロック回路によって生成され
てもよい。二つのバス・クロック信号、BCLK[1:0]は、論理的には同一
であり、物理的には、タイミング・スキュー(timing skew)を減らすために、
二つの個別の信号として送られる。実施例に従って、すべてのエージェントは、
それらの共通クロック出力を送り、およびバス・クロックの立ち上がりエッジに
共通クロック入力をラッチする(latch)。各プロセッサは、一つの数または複
数の数で、バス・クロック周波数を乗じ、および/または除することによって、
前記バス・クロックBCLK信号からその内部クロックを抽出する。
知の状態にリセットし、および内部キャッシュを無効にする。変更された、また
はダーティな(dirty)キャッシュ・ライン・コンテンツは失われる。RESE
T#がディアサートされた(deasserted)後、各プロセッサは、コンフィギュレ
ーション中に定義されたパワー・オン・リセット・ベクトル(power on reset v
ector)での実行を始める。
らの浮動小数点レジスタに影響を与えることなく、すべてのプロセッサをリセッ
トする。各プロセッサは、コンフィギュレーション中に定義されたパワー・オン
・リセット・ベクトルでの実行を始める。
・トランザクション・フェーズ関係を示すタイミング図である。バス・クロック
(BCLK[1:0])のサイクル(1,2,3,4,...17)は、最上部
に示されている。数字1を有する四角形は、トランザクション1のための様々な
フェーズを示す一方で、数字2を有する四角形は、トランザクション2のための
フェーズを示す。図3からわかるとおり、トランザクションは、パイプライン方
式で供給される。例えば、トランザクション1に関して、バス・クロック・サイ
クル1および2において仲裁が生じ、サイクル3および4において要求が生じ、
サイクル6および7においてスヌープが生じ、およびサイクル13および14に
おいて応答ならびにデータ転送が生じる。このように、応答およびデータ転送は
、本来の要求フェーズから、いくつものバス・クロック・サイクルののちに生じ
てもよいことがわかる。また、異なるトランザクションのフェーズ間で重複が存
在しうる。例えば、トランザクション2の仲裁フェーズは、トランザクション1
の要求フェーズとほぼ同時に生じる。
の信号モードをサポートする。第一は、すべての信号起動およびサンプリングま
たはラッチ点が、すべてのエージェントの間に連続的に供給される共通バス・ク
ロック(BCLK#)に関して生じる、共通クロック信号モードである。前記バ
ス・クロックは、通常、マザーボードに供給されるクロック・チップまたはクロ
ック回路によって生成され、およびコンピュータにおけるすべてのプロセッサま
たはエージェントに共通である。共通バス・クロックに関する信号クロッキング
(signal clocking)は、共通クロック(1X)信号モードと称される。実施例
に従って、コントロール・バスを介して供給される多くのコントロール信号は、
共通クロック(1X)信号モードを用いて送信される。
度の倍数である情報転送速度を可能にする、マルチ・ポンプ信号モードである。
このように実施例に従って、マルチ・ポンプ信号モードは、共通(すなわち、シ
ステム)バス・クロックの周波数の倍数である速度で、エージェント間のプロセ
ッサ・バス117を介した情報転送をサポートすることができる。例えば、マル
チ・ポンプ信号モードは、例えば、情報(例えば、データ、アドレス、または他
の情報)が、共通クロック周波数の速度の2倍(2X)で転送されうるようにす
るダブル・ポンプ信号モードを供給してもよく、またはバス・クロック周波数の
4倍(4X)での情報転送を手配するクアド・ポンプ信号モードを供給してもよ
い。共通バス・クロックよりも大きい速度または周波数での情報の転送を容易に
するために、ドライビング・エージェントは、マルチ・ポンプ情報を捕獲または
ラッチするための基準として、レシーバによって使用されるタイミング“ストロ
ボ”として知られる同伴信号(companion signal)の発行または供給もする。
ve level)にされる(すなわち、アクティブ・ロー信号に関してはゼロにされる
)ことを意味し、およびディアサート(deasserted)という用語は、信号が、そ
のインアクティブ(inactive)・レベルにされることを意味する。正方形、円形
または三角形の記号は、特定の信号が送られ、またはサンプリングされる時を示
すために、後述されるいくつかのタイミング図において使用される。正方形は、
前記クロック・サイクルで信号が送られる(アサートされる、開始される)こと
を示す。円形は、信号が前記クロック・サイクルでサンプリングされる(観察さ
れる、ラッチされる)ことを示す。円形は通常、共通クロック(1X)信号モー
ドにおいて、バス・クロック(BCLK)の立ち上がり(または立ち下がり)エ
ッジに基づいて、サンプリング点を示すために使用される。三角形は、信号が、
“ストロボ”と称される、同伴信号の立ち上がりまたは立ち下がりエッジに基づ
いて、サンプリングされまたは捕獲されることを示す。前記ストロボは、好まし
くは、通常マルチ・ポンプ・モードで、プロセッサ・バスを介した情報(例えば
、データ、アドレス、他の情報)の送信中にのみ、オンにされ、または起動され
てもよい。
におけるすべてのエージェントは、それらのアクティブな出力を送り、および要
求される入力をサンプリングすることを要求される。実施例に従って、すべての
入力は、バス・クロックの立ち上がりエッジにおいて、有効なサンプリング・イ
ンターバル中にサンプリングされるべきであり、およびその効果または結果は、
次の立ち上がりバス・クロック・エッジの直後に、前記バス117へと送られる
べきである。この例のアプローチによって、コンポーネント間通信(信号送信な
らびに伝播)のための1のフル・バス・クロック・サイクル、およびレシーバに
おける少なくとも1のフル・バス・クロック・サイクルは、前記信号を翻訳し、
ならびに応答を算出し、出力することができる。その結果、エージェントがデー
タを、1以上のバス・クロック・サイクルで、プロセッサ・バスに送った後、他
のエージェントがプロセッサ・バス117を駆動することができる前に、1バス
・クロック・サイクルのポーズ(pause)(例えば、デッド・サイクル(dead cy
cle)またはインアクティブ・サイクル)がある。
ションを示す例示的タイミング図である。前記信号は、それらがプロセッサ・バ
ス117に現れるように示されている。バス・クロック(BCLK)の4サイク
ルが示されている。A#およびB#を含む、二つの追加的例示的信号も示されて
おり、それらはあらゆる種類の信号でよい。例えば、A#は、第一のエージェン
トからの第一のコントロール信号でもよい一方で、B#は、第二のエージェント
からの第二の信号でもよい。第一および第二のコントロール信号は、例えば、ハ
ンドシェーク(handshake)またはバス・プロトコルの一部として供給されても
よい。
おいて送られ(またはアサートされ)(A#における正方形で示されている)、
およびバス・クロック・サイクル2の開始における立ち上がりエッジにおいて、
レシーバでラッチされる(A#に関する円形で示されている)。このように、ク
ロック・サイクル1は、信号伝播のために供給される。A#が、サイクル1の開
始においてアサートされる一方で、それは、サイクル2の開始までバスにおいて
は観察されない。(論理遅延のため、および信号を翻訳するためのレシーバのた
めのバス・クロック・サイクル2の間)ポーズまたはインアクティブ・クロック
・サイクルがある。レシーバは、バス・クロック・サイクル3の開始において、
B#信号を送り、またはアサートし(B#に関する正方形によって示されている
)、それはサイクル4の開始において、他のエージェントによって観察され、お
よび捕獲される(B#に関する円形によって示されている)。
いて使用される32バイト・キャッシュ・ラインの代わりに)64バイト・キャ
ッシュ・ラインを含む。そのため、データが共通クロック(1X)信号モードお
よび64データ・バス・ラインを用いて転送される場合、64バイト(1キャッ
シュ・ライン)のデータが、8バス・クロック・サイクルで送られ、または送信
されうる。しかしながら、多くのアプリケーションにおいて、より速いデータ転
送速度、またはより大きな帯域幅を供給することが望まれるかもしれない。
信号伝播の待ち時間を含む)は、プロセッサ・バス周波数を上げることを妨げる
かもしれない。そのため、実施例に従って、プロセッサ・バス・クロック周波数
を上げるよりも、マルチ・ポンプ信号プロトコルは、バス・クロック(BCLK
)の周波数の倍数で、適切なバス信号グループ(例えば、アドレス・バスまたは
データ・バス)を操作することによって、(共通クロック信号モードに対して)
データ転送速度を上げる。
ック(BCLK)の周波数の4倍(4X)で操作される。すなわち、クアド・ポ
ンプ信号モードにおいては、(情報の一つのエレメントを共通クロックまたは1
X信号モードで送るのにかかるであろう時間である)1バス・クロック・サイク
ルで、情報の4つのエレメントがプロセッサ・バス117に送られる。
を示すタイミング図である。クアド・ポンプ信号モードは、あらゆる種類の信号
に使用することができるが、クアド・ポンプ信号プロトコルは、例示的実施例に
従ってデータを送信するために使用される。2バス・クロック・サイクルおよび
第三のバス・クロック・サイクルの一部が、図5に記載されている。プロセッサ
・バス117へのフライト時間(flight time)(または信号伝播時間)の最悪
の場合は、第一の情報エレメントが、レシーバ(受信エージェント)においてラ
ッチされる前に、第二の情報エレメントが、ドライバ(すなわち、プロセッサ・
バスへ情報を送るエージェント)において、プロセッサ・バス117に送られる
かもしれない場合である。
ち上がりエッジで、およびバス・クロック(BCLK)サイクルの25%,50
%,および75%の点で、新しい情報エレメントを送信し、または送る。
データ・ストロボ信号として知られる同伴タイミング信号も送信する。ストロボ
信号は、好ましくは、情報がマルチ・ポンプ信号モードを用いて送信される時に
のみ、送信され、または送られる(起動される)。
ので、データおよびストロボは、同じパス(path)を有するであろう。その結果
、ストロボ信号およびデータ信号は、同じパスを有し、それゆえにおよそ同じ遅
延を有するであろう。そのため、ストロボおよびデータの両方を送信するドライ
バまたはソースによって達成される効果は、データ信号およびストロボ信号が、
バス117における各エージェントに、一致して(すなわち同期して)到着する
ことである。こうして、データおよびタイミング・ストロボ信号の両方を送信す
るドライバのこの技術は、ソース同期転送(source synchronous transfer)と
称されうる。クアド・ポンプ信号モードにおいて、4つのデータ・エレメントの
各々に対して一つ、各バス・クロック・サイクルにおいて、各々が情報サンプリ
ングまたは捕獲ポイントを識別する4つのデータ・ストロボ(例えば、4つのタ
イミング・ストロボ・エッジ)があるであろう。残念なことに、ストロボ信号を
比較的高い周波数で生成することについて、問題が生じるかもしれない。高いク
ロック・スピードでは、立ち上がりエッジ速度と立ち下がりエッジ速度との間の
差は、顕著になりうる。さらに、50%デューティー・サイクルを有するクロッ
ク信号またはストロボ信号を供給することは難しいかもしれない。その結果、い
くつかの高いクロック周波数において、ストロボ信号の立ち上がりエッジと立ち
下がりエッジの両方は、これが非対称性を作り、またはある程度のタイミングの
不確定性を導入するかもしれないので、サンプリング点を識別するための使用さ
れるべきでない。むしろ、より対称的な、あるいは均一なストロボ・タイミング
またはサンプリング・インターバルを得るために、ストロボの二つのエッジのう
ち一つのみを使用する(すなわち、クアド・ポンプ・データをサンプリングし、
または捕獲するためのストロボ信号の立ち上がりエッジのみ、または立ち下がり
エッジのみを使用する)ことが効果的であるかもしれない。
ロック周波数の倍数であるクロック周波数を必要とするであろう。クアド・ポン
プ・データ(1バス・クロック・サイクルにつき、4のデータ・エレメント)の
場合、ストロボ信号周波数は、一つのエッジのみがタイミングに使用される場合
、バス・クロック周波数の4倍であろう。
場合、これは、(この例においては)400MHzであるストロボ信号周波数を
必要とするであろう。しかしながら、バス・クロック周波数の4倍であるストロ
ボ信号周波数は、送信されたデータまたは情報とは異なる遅延に遭遇するかもし
れず、それはレシーバにおけるデータおよびストロボの整列に影響を与えうる。
そのような、送信されたストロボ信号と送信されたデータとの間の整列不良(mi
salignment)は、レシーバに、悪い、または正しくないデータを捕獲させるかも
しれない。さらに、信号減衰は、大変高い周波数(例えば、400MHz)では
、顕著にもっと高くなりうる。
ロボ周波数を使用せずに、1バス・クロック・サイクル当たり、4つのストロボ
を供給するために複数のデータ・ストロボ信号が使用される。実施例に従って、
二つのデータ・ストロボ信号(DSTBp#およびDSTBn#)が、バス・ク
ロックの周波数の2倍で、それぞれ供給される。こうして、バス・クロック周波
数が100MHzである場合、二つのデータ・ストロボ信号は、それぞれ、ドラ
イバ(すなわち、ドライビング・エージェント)によって起動され、または生成
される時、200MHzの周波数を有する。代替的に、4つのデータ・ストロボ
信号が、(それぞれ、起動される時のバス・クロックと同じ周波数で)使用され
、それぞれ1バス・クロック・サイクル当たり、1つのストロボまたは立ち下が
りエッジを供給する。
はデータ・エレメントを、立ち上がりエッジにおいて、およびバス・クロック・
サイクル1の25%、50%、および75%の点において送信し、または送る。
データ・エレメントは、この例における4つのデータ・エレメントに関して、D
1、D2、D3およびD4とラベルを付けられる。この実施例は、DSTBp#
およびDSTBn#を含む、二つのデータ・ストロボ信号も使用する。実施例に
従って、二つのデータ・ストロボ信号は、互いに同調しないで(すなわち、互い
違いあるいはオフセット配列で)生成される。これによって、ストロボ信号の一
つは、奇数データ・エレメント(例えば、D1,D3,D5,...)のための
サンプリング点を識別でき、および他のストロボ信号は、偶数のデータ・エレメ
ント(例えば、D2,D4,D6...)に関して使用されうる。
データのためのサンプリング点を識別するために、あらゆる数のストロボ信号が
使用されうる。上述の通り、ストロボ信号の二つのエッジのうち、一つだけが、
サンプリング点(またはストロボ)を識別するために使用されうる一方で、スト
ロボ信号の周波数を下げるように、複数のストロボ信号を供給することが、特に
効果的であろう。例えば、(クアド・ポンプの代わりに)6Xポンプ・プロトコ
ルが使用される場合、三つのストロボ信号が使用され、その場合、ストロボ1が
データ・エレメントD1およびD4のために、ストロボ2がデータ・エレメント
D2およびD5のために、およびストロボ3がデータ・エレメントD3およびD
6のため等に使用されるように、3つすべてのストロボ信号は同様にオフセット
または互い違いである。
サンプリング点を識別し、または同期させるために使用される。この特定の実施
例において、二つのデータ・ストロボ信号の立ち下がりエッジのみが、情報また
はデータをサンプリングするための点を識別するために使用される。データ・ス
トロボ(または、データ・ストロボ信号の立ち下がりエッジ)は、4つの情報ま
たはデータ・エレメントの各々に中心を合わせられる。このように、データ・ス
トロボ信号の4つの立ち下がりエッジ(またはストロボ)は、バス・クロック(
BCLK)サイクルの12.5%、37.5%、62.5%および87.5%で
生じる。そのために、二つのストロボ信号は、等しい間隔のストロボまたは立ち
下がりエッジを供給する。
て、バス117に送られる(DRDY#に関する正方形によって示されている)
。DRDY#は、有効なデータがプロセッサ・バス117に配置され、およびサ
ンプリングされ、または捕獲されなければならないことを示す。第一のデータ・
エレメント(D1)は、(D#(@ドライバ)に関する第一の四角形で示された
とおり)バス・クロック・サイクル1の立ち上がりエッジにおいて、プロセッサ
・バス117へと、ドライバによって送られる。第一のデータ・ストロボ信号(
DSTBp#)はそれから、DSTBp#(@ドライバ)における第一の正方形
によって示されている通り、第一のバス・クロック・サイクルの12.5%の点
において、ドライバによって起動される。このように第一のデータ・エレメント
(D1)に関するストロボ(または立ち下がりエッジ)は、第一のデータ・エレ
メントに中心を合わせられる。ストロボ信号が起動され、またはオンにされると
、それは通常、データがバスへと送られるまで起動され続ける。
形によって示される通り、バス・クロック・サイクル1の25%の点において、
ドライバによって送られる。第二のデータ・ストロボ信号(DSTBn#)は、
バス・クロック・サイクル1の37.5%の点において起動され、および第二の
データ・エレメント(D2)に中心が合わされる立ち下がりエッジ(またはスト
ロボ)を供給する。
は、バス・クロック・サイクル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つのストロボまたは立ち下がりエッジを供給する一方で、各ストロボの周
波数を下げる。さらに、同じエッジ(この場合は、立ち下がりエッジ)が、各デ
ータ・ストロボ信号においてストロボとして使用されるので、タイミングおよび
回路は、単純化される。
エージェントからあらゆるレシーバへの情報転送の待ち時間は、1バス・クロッ
クから入力ラッチ・セットアップ時間(input latch setup time)を引いたもの
より短いか、または等しいであろう。これは、レシーバが、次のフェーズの間、
バス・オーナー(bus owner)になる場合、続いてのデータ・フェーズのための
データ・ラインにおけるコンテンション(contention)を回避する。
ストロボ)が、ドライバによって送られた後、これらの信号は、プロセッサ・バ
ス117を下って伝播し、ターゲットまたはレシーバに到着する。第一のデータ
・エレメントは、D#(@レシーバ)信号によって示される通り、レシーバにお
いて受信される。第一のデータ・エレメント(D1)は、第一のストロボでサン
プリングされ、または捕獲され、それはは、DSTBp#(@レシーバ)の第一
の立ち下がりエッジである。DSTBp#(@レシーバ)に関する第一の三角形
は、第一のデータ・エレメントをサンプリングし、または捕獲するためのストロ
ボまたは点を識別し、およびDSTBp#(@レシーバ)に関する第二の三角形
は、レシーバにおいて第三のデータ・エレメントをサンプリングするための点ま
たはストロボを識別する。同様に、第二のデータ・ストロボ信号(DSTBn#
(@レシーバ))に関する二つの三角形は、レシーバが、第二のおよび第四のデ
ータ・エレメント(D2,D4)をサンプリングし、または捕獲するための点を
識別する。
ける立ち上がりエッジの後、およびクロック・サイクル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倍である。
DSTBn#)の各々の、複数のコピーを運ぶために、複数のラインが使用され
る。実施例に従って、以下の表に表されている通り、4つのDSTBn#信号お
よび4つのDSTBp#信号がある。
であるが、データ・ストロボ信号の各々は、データとデータ・ストロボ信号との
間のタイミング・スキューまたは整列不良を減らすために、要求信号のサブセッ
ト(すなわち、データ・ラインのサブセット)とともに、物理的に送られる。
ック図である。第一のバス・エージェント802は、第二のバス・エージェント
832に接続される。第一のバス・エージェント802は、第一の双方向データ
・ストロボ信号ライン820を介して、第一のデータ・ストロボ信号(例えば、
DSTBp#)を生成するため、ならびに受信するためのデータ・ストロボ生成
装置1/レシーバ1を含み、および第二の双方向データ・ストロボ信号ライン8
22を介して、第二のデータ・ストロボ信号(例えば、DSTBn#)を生成す
るため、ならびに受信するためのデータ・ストロボ生成装置2/レシーバ2を含
む。バス・エージェント802は、データ・バスまたはデータ信号ライン826
へとデータ信号を送信し、または送るための送信回路と、およびデータ信号ライ
ン826を介して受信されたデータ信号を受信するための受信回路も含む。第二
のバス・エージェント832は、同様に、それぞれデータ・ストロボ信号ライン
820および822へと二つのデータ・ストロボ信号を生成するためのデータ・
ストロボ生成装置1およびデータ・ストロボ生成装置2を含む。共通(またはシ
ステム)バス・クロック生成装置810は、バス・エージェント802および8
32に、共通またはシステム・バス・クロックを供給する。
いくつかのPentiumプロセッサにおけるキャッシュ・ライン・サイズは、
32バイトである)。このように、クアド・ポンプ信号プロトコルおよび64デ
ータ・ラインのデータ・バス幅を用いて、キャッシュ・ライン(または64バイ
ト)は、2バス・クロック・サイクルで送信され、または転送されうる: 64バイト=(2サイクル)×(4ポンプ/サイクル)(8バイト毎ポンプ)。
レスを含む)は、3バス・クロック・サイクルで転送される。いくつかの Pentiumプロセッサに関する要求フェーズのための3バス・クロック・サ
イクルは、以下のものを含む: サイクル1−サブ・フェーズa−アドレス(アドレス・バスを介して供給され
る)、および1種類の要求(例えば、リード(read)、ライト(write))。 サイクル2−サブ・フェーズb−バイト・イネーブル(byte enables)、長さ
、等を含む、要求に関する補助的詳細(アドレス・ラインまたはアドレス・バス
を介して居給される)。 サイクル3−他のエージェントにバスを送らせるために、バス上の信号が、利
得を下げる(quiet down)ようにする、デッド・サイクルまたはターンアラウン
ド・サイクル。
クルで、データ・バスを介して転送されうる。しかしながら、いくつかのPen
tiumプロセッサにおいて、アドレスおよび要求タイミングは、一つの要求を
転送するために、3バス・クロック・サイクルを必要とする。このように、いく
つかのPentiumプロセッサにおいて、アドレス・バス・タイミングまたは
帯域幅は、上述の実施例(図5参照)で説明されたように、向上したクアド・ポ
ンプ・データ・バスのスピードに合わない。より珍しく、価値のあるリソースの
一つは、データ・バス幅およびデータ・バス帯域幅である。このように、実施例
に従って、データ・バス帯域幅は、アドレス・バス帯域幅ではなく、プロセッサ
・バスを圧迫し、または制約することが好ましいかもしれない。そのため、アド
レス・バスが、プロセッサ・バスを遅くしないように、または圧迫しないように
するために、(この例においては、データ・バスでの一つのキャッシュ・ライン
の送信に関する)少なくともデータ・バスの帯域幅またはスピードを合うように
、アドレス・バス上のアドレスおよび要求タイミングを調整することが望ましい
。
のタイミングおよびスピードは、データ・バスの全体のスピードに合うように調
節された。デッド・サイクルまたはターンアラウンド・サイクルを維持すること
が望ましい。このように、例示的実施例に従って、アドレス・バスは、1バス・
クロック・サイクルで2の情報エレメント(要求のサブ・フェーズaおよびサブ
・フェーズb)を供給するためにダブル・ポンプされた。
BCLK)の周波数の2倍(2X)で、適切なバス信号グループを操作する。図
6は、実施例に従った、例示的ダブル・ポンプ信号モードのオペレーションを示
すタイミング図である。あらゆる信号がダブル・ポンプされてもよい一方で、こ
の例では、アドレス・バスがダブル・ポンプされている。
ブル・ポンプ信号モードにおいて、共通クロック信号モードを用いて一つのエレ
メントを送るのにかかる時間で(すなわち、1バス・クロック・サイクル中)、
情報の二つのエレメントがバスに送られる。フライト・タイム(すなわち、プロ
セッサ・バス117での信号伝播時間)によって、第二の信号グループまたは情
報エレメントは、第一のエレメントがレシーバにおいてラッチされる前に、ドラ
イバで送られてもよい。実施例に従って、ドライバは、バス・クロック・サイク
ルの立ち上がりエッジおよび50%の点において、新しい情報エレメントを送信
する。
ーズa(Aa)が、バス・クロック・サイクル1の開始における立ち下がりエッ
ジで始まるバス・クロック・サイクル1の第一の半分で送信される。トランザク
ションに関するいくつかの補助的詳細を供給する要求のサブ・フェーズb(Ab
)は、バス・クロック・サイクル1の50%の点において始まるバス・クロック
・サイクル1の第二の半分で送信される。これら二つの情報エレメントは、A#
(@ドライバ)ラインのためのAaおよびAbに関する二つの四角形として、図
6に記載されている。(Aaは、アドレス・ラインを介して供給される要求のサ
ブ・フェーズaを示す一方で、Abは、アドレス・ラインを介して供給される要
求のサブ・フェーズbを示す)。こうして、二つの情報エレメント(Aaおよび
Ab)は、1バス・クロック・サイクル中に転送され、または送信されるので、
アドレス・バスはダブル・ポンプされる。
イクルにつき二つの情報エレメント)を用いて送信されるので、前記情報は、好
ましくは、ソース同期転送として送信される。このように、二つの情報エレメン
トに加え、ドライバは、(起動された時に)1バス・クロック・サイクルにつき
、二つのアドレス・ストロボを供給するために、アドレス・ストロボ信号を送り
、または起動させることもする。アドレス・ストロボは、アドレス・バスで送信
される二つの情報エレメント(AaおよびAb)をサンプリングするための点を
供給し、または識別する。
ストロボ信号(ADSTB#)が使用される。しかしながら、1バス・クロック
・サイクル中に、2つのストロボを供給するために、アドレス・ストロボ信号の
立ち下がりエッジおよび立ち上がりエッジの両方は、ストロボとして、またはア
ドレス・バスを介して供給される二つの情報エレメントのためのサンプリング点
を識別するために使用される。図6に記載の通り、ドライバは、情報エレメント
1(Aa)の中心である、バス・クロック・サイクル1の25%点で、アドレス
・ストロボ信号(ADSTB#)を起動する。実施例に従って、第一の情報エレ
メント(Aaまたは要求のサブ・フェーズa)のためのアドレス・ストロボは、
ADSTB#信号の立ち下がりエッジとして供給される(バス・クロック・サイ
クル1の25%点において送られる)一方で、第二の情報エレメント(Abまた
は要求のサブ・フェーズb)のためのアドレス・ストロボは、ADSTB#信号
の立ち上がりエッジとして供給される(バス・クロック・サイクル1の75%点
において送られる)。
バス・クロック信号は、適切な時に、立ち上がりおよび立ち下がりエッジを供給
しないので、バス・クロックは、情報エレメントに関するストロボ信号として使
用されるべきではない。さらに、(ソース同期転送中のみ起動されるストロボ信
号とは対照的に)、バス・クロック信号は、常に起動される。アドレス・ストロ
ボ信号は、バス・クロックの状態またはフェーズに関わらず、起動され(オンに
され)および非活動化され(オフにされ)ることができるので、二つの情報エレ
メントに関するストロボまたはサンプリング点を供給するために、アドレス・ス
トロボ信号が使用される。ストロボを、情報と同じソースから送られるようにす
ることによって、ストロボにおける遅延は、情報における遅延に適合し、よって
1以上のビットが、一つのワイヤ上に同時にあるようにする。
ッサ・バス117に沿って伝播し、およびバス・クロック・サイクル2の開始に
おいて、レシーバに到着する。図6に記載の通り、ADSTB#(@レシーバ)
信号上の二つの三角形で示されるように、第一の情報エレメント(Aa)は、A
DSTB#(@レシーバ)信号の立ち下がりエッジで捕獲され、またはサンプリ
ングされ、および第二の情報エレメントは、ADSTB#(@レシーバ)信号の
立ち上がりエッジで捕獲され、またはサンプリングされる。このように、レシー
バは、データが有効である(および捕獲されるべきである)時の、ドライバから
の表示に基づいて、データまたは情報を決定的に捕獲することがわかる。
タ転送の待ち時間は、1バス・クロック・サイクルから入力ラッチ・セットアッ
プ時間を引いたものより小さいか、またはそれに等しくあるべきである。これは
、レシーバが次のフェーズのオーナーになる場合、第二のあるいは次のフェーズ
のためのアドレス・ライン(またはアドレス・バス)および他のラインでのコン
テンションを避けるであろう。最終的結果は、コンピュータまたはレシーバの中
にラッチされている第一の信号グループのための待ち時間を加える結果を伴う、
共通クロック信号モードの帯域幅の2倍である。
される4つの情報エレメントを記憶するための4つのエレメントFIFOバッフ
ァを含む。これにより、1の要求のサブ・フェーズaおよびサブ・フェーズbか
らのエレメントは、FIFOにおいて受信され、および捕獲されうる一方で、同
時に、前の要求のサブ・フェーズaおよびサブ・フェーズbからのエレメントが
、FIFOから読み取られ、およびレシーバにおいてラッチされるようにする。
エレメントのためにストロボを供給するために、バス・クロックと同じ周波数で
、単一のアドレス・ストロボ信号が使用される。アドレス・ストロボに関するこ
れらの周波数(バス・クロック信号と同じ周波数)において、信号減弱は問題で
はない。さらに、1バス・クロック・サイクル当たり、たった二つの情報エレメ
ントだけが送信されるので、ストロボ・デューティー・サイクルにおける非対称
性は問題を提起しない。このように、立ち下がりエッジおよび立ち上がりエッジ
の両方が、ストロボとして使用されるバス・クロックと同じ周波数での、単一の
アドレス・ストロボは、アドレス・ストロボ信号のために使用されうる。
ができ、各アドレス・ストロボ信号のエッジのうち、一つのみがストロボとして
使用される。例えば、サイクル1の25%点において起動される(立ち下がりエ
ッジを有する)第一のアドレス・ストロボ信号と、およびサイクル1の75%点
において起動される(立ち下がりエッジを有する)第二のアドレス・ストロボ信
号が使用されうる。こうして、二つのアドレス・ストロボ信号の起動点は、オフ
セット、または互い違いであろう。1バス・クロック・サイクル中、たった二つ
のエレメントしか送られないので、アドレス・ストロボ信号の周波数は、バス・
クロック周波数、または他の周波数と同じになるように選ばれうる。
ロック図である。第一のバス・エージェント802は、第二のバス・エージェン
ト832に接続される。第一のバス・エージェント802は、双方向アドレス・
ストロボ信号ライン920へ、アドレス・ストロボ信号(例えば、ADSTB#
)を生成するための、アドレス・ストロボ生成装置940を含む。バス・エージ
ェント802は、アドレス・バスまたはアドレス信号ライン926へとアドレス
および他の信号を送信し、または送るための送信回路と、およびアドレス信号ラ
イン926を介して受信される信号を受信するための受信回路とを含む、バス・
トランシーバ906も含む。第二のバス・エージェント832は同様に、双方向
アドレス・ストロボ信号ライン920へアドレス・ストロボ信号を生成するため
のアドレス・ストロボ生成装置942を含む。第二のバス・エージェント832
も、アドレス信号ライン926を介して、それぞれ信号を送信し、および受信す
るための受信回路および送信回路を含むバス・トランシーバ936を含む。
モードを用いて、2バス・クロック・サイクルで送信されることができ、および
アドレス要求は、ダブル・ポンプ信号モードを用いて、2バス・クロック・サイ
クルで送信されうる。このように、アドレス・バスおよびデータ・バスの両方が
、同じピーク・スループットを有し、それは均衡の取れたプロセッサ・バスを供
給する。他の記述がされていない限り、すべてではないとしても、ほとんどの残
りの信号は、共通クロック(1X)信号モードを用いて送信される。 7.バス・プロトコルを、2クロック・サイクルの新しいビート・レートに合わ
せる。
通して、向上した要求およびデータ帯域幅を供給する。(アドレス・バス上の)
要求帯域幅および(データ・バス上の)データ帯域幅におけるこの向上は、デー
タ・バス幅(64ライン)を増やすことなく、高価なクロッキングまたはルーテ
ィング形態を使用することなく、およびPentiumプロセッサのいくつかに
おいて使用されるのと同じ、基本的な種類のバス・プロトコルを維持しつつ、実
行される。
、1バス・クロック・サイクル当たり8バイトのデータを送信するために、共通
クロック信号モードが使用され、それにより32バイトのキャッシュ・ラインが
4バス・クロック・サイクルで送信されうる。本発明の実施例に従って、キャッ
シュ・ラインは64バイトに増やされ、クアド・ポンプ信号モード(1バス・ク
ロック・サイクルにつき32バイトを送信する)は、2バス・クロック・サイク
ルで64バイトのキャッシュ・ラインを送信するために使用されうる。さらに、
いくつかのPentiumプロセッサにおいて、バス・クロック・サイクル1に
おけるサブ・フェーズa、サイクル2におけるサブ・フェーズb、およびサイク
ル3に関するターンアラウンド・サイクル(またはデッド・サイクル)を含む3
バス・クロック・サイクルで、要求が転送される。本発明の実施例に従って、単
一のバス・クロック・サイクルにおける要求のサブ・フェーズaおよびbの両方
を転送または送信するために、ダブル・ポンプ信号モードがアドレス・バスにお
いて使用される。これは、要求フェーズの長さを、2バス・クロック・サイクル
に減らし、それはキャッシュ・ライン転送の長さに(2バス・クロック・サイク
ルにも)適合する。要求フェーズは、2バス・クロック・サイクルの長さを有し
、およびキャッシュ・ライン転送は2バス・クロック・サイクルを必要とするの
で、プロセッサ・バスのビート・レートまたはビート周波数は、一般的に、2バ
ス・クロック・サイクルであると考えられるかもしれない。
の待ち時間または遅延を、プロセッサ・バスに関する2バス・クロック・サイク
ルの新しいビート周波数により近く合うように調整するために、合わされ、また
は変更された。図7は、(仲裁、要求、スヌープおよび応答フェーズを含む)ト
ランザクション・フェーズの間の最小の待ち時間または遅延を示す図である。仲
裁(Arb)、要求(Req)、スヌープおよび応答(Resp)フェーズは、
二つのトランザクション(トランザクション1およびトランザクション2)に関
して示されている。数字は、フェーズ間の待ち時間または遅延を示すように表示
されている。第一の数字は、いくつかのPentiumプロセッサに実装されて
いるように、フェーズの開始の間の、バス・クロック・サイクルの最小数を示し
、(括弧の中の)第二の数字は、2バス・クロック・サイクルの新しいビート周
波数により近く合うように、バス・プロトコルが調整され、または合わせられた
後の、フェーズ間の新しい最小待ち時間を示す。数字が一つだけ表示されている
場合、これは、いくつかのPentiumプロセッサと本発明の実施例との間の
ように、フェーズ間の遅延または待ち時間の変化がないことを示す。
ロック・サイクルである。図7を参照すると、一つのトランザクション(例えば
、トランザクション1)に関する仲裁フェーズの開始と、要求フェーズの開始と
の間の最小待ち時間は、2バス・クロック・サイクルで変化しない。一つのトラ
ンザクションの、要求フェーズの開始からスヌープ・フェーズの開始までの最小
待ち時間は、4バス・クロック・サイクルから3サイクルに減らされている。ス
ヌープ・フェーズの開始から応答フェーズの開始まで間の最小待ち時間は、2バ
ス・クロック・サイクルで変化しない。要求フェーズの開始と、ターゲット・エ
ージェントがTRDY#信号をアサートすることができる時との間の最小待ち時
間は、3から2バス・クロック・サイクルへと減らされている。TRDY#信号
のアサートから、応答フェーズの開始までの最小待ち時間は、2バス・クロック
・サイクルで変化しない。
間の最小待ち時間は、2クロック・サイクルのビート周波数により近く合うよう
に変更されている。再度図7を参照すると、連続した仲裁フェーズの間の最小待
ち時間(例えば、トランザクション1の仲裁フェーズの開始と、トランザクショ
ン2の仲裁フェーズの開始との間の最小待ち時間)は、3バス・クロック・サイ
クルから2サイクルに減らされている。連続した要求フェーズの間の最小待ち時
間は、3バス・クロック・サイクルから2へと減らされている。連続したスヌー
プ・フェーズの間の最小待ち時間は、3バス・クロック・サイクルから2へと減
らされている。そして、連続した応答フェーズの間の最小待ち時間は、3バス・
クロック・サイクルから2へと減らされている。
る減少の一因となった、フェーズに関するバス・プロトコルへの、いくつかの変
化または変更の簡単な説明とともに説明されるであろう。
要求しているエージェントがバス・オーナーになる仲裁フェーズで始まる。要求
しているエージェントがバス・オーナーになった後、トランザクションは要求フ
ェーズに入る。要求フェーズの第一のサブ・フェーズ(サブ・フェーズa)にお
いて、ADS#信号(有効なアドレスを示す)が、スヌープおよびメモリ・アク
セスを開始するためのトランザクション・アドレスおよび十分な情報とともに送
られる。要求フェーズの第二のサブ・フェーズ(サブ・フェーズb)において、
バイト・イネーブル(どのデータ・バイトがデータ・ラインで供給されるかを示
す)、デファードID、トランザクション長、および他のトランザクション情報
を含む、要求に関する様々な補助的情報が、バス117へと送られる。第一のお
よび第二のサブ・フェーズは、1バス・クロック・サイクル中に送られる。その
結果、実施例に従って、要求情報(例えば、どれが多く、アドレス・バスを介し
て供給されるか)は、2Xデータ転送速度を有すると言われている。
スヌープ・フェーズからのスヌープ結果は、トランザクションのために送られた
アドレスが、あらゆるバス・エージェントのキャッシュにおける有効な、または
変更された(ダーティな)キャッシュ・ラインを参照するかどうかを示す。スヌ
ープ結果は、トランザクションが順番に完了するか、または可能性のある、順を
追わない完成のために遅らされるかもしれないか、ということも示す。エージェ
ントは、スヌープ停止(snoop stall)を用いて、スヌープ・フェーズを延ばす
ことによって、スヌープの準備ができていない場合、トランザクションを遅らせ
ることができる。
時間を減らすために実行される差を強調している。
まで、トランザクションは発行されることができない。トランザクションをプロ
セッサ117に送りたいエージェントが、もうバス117を有していない場合、
トランザクションは、このフェーズを有するだけでよい。実施例に従って、2ク
ラスのバス・エージェント:対称エージェントおよび優先エージェント(priori
ty agent)をサポートするバス仲裁プロトコルが供給される。バス117のプロ
セッサは通常、対称エージェントとして仲裁する。優先エージェント(例えば、
システム・インターフェース116)は通常、I/Oサブシステム(I/Oブリ
ッジ124またはI/Oエージェント)およびメモリ・サブシステム(メイン・
メモリ・サブシステム122に配置されたメモリ・エージェント)のために仲裁
する。
示されている(ここで使用されるように、#記号はアクティブ・ロー信号を示す
)。
に関して仲裁することができる。対称エージェントは、ラウンド・ロビン循環優
先体系(round robin rotating priority scheme)に基づいて、バス117に関
して仲裁する。前記仲裁体系は、すべての対称エージェントに関する要求フェー
ズへの公正なアクセスを保証する。各対称エージェントは、リセットに割り当て
られた独自のエージェントID(例えば、エージェント0,1,2,3)を有し
、循環する順番(circular order)で仲裁が生じる。リセットの後、エージェン
ト0は最高の優先順位を有し、その後にエージェント1、2、および3が続く。
各対称エージェントは、最も最近のバス・オーナーの対称エージェントIDを反
映する共通循環IDを維持する。すべての仲裁イベントにおいて、最高の優先順
位を有する対称エージェントは、オーナーになり、バスの使用を妨げる、より高
い優先順位の他のアクションが他にない場合、要求フェーズに入ってもよい。優
先エージェントは、対称オーナーよりも優先順位が高い。
スを要求する。BREQ[3:0]でサンプリングされた値および最後の対称バ
ス・オーナーに基づいて、すべてのエージェントは同時に次の対称バス・オーナ
ーを決定することができる。優先エージェントは、BPRI#をアサートするこ
とによってバスを要求し、それは、BPRI#がインアクティブでサンプリング
されるまで、別のロックされていないバス・トランザクションを発行する他の対
称エージェントがないので、一時的に仲裁体系に優先する。優先エージェントは
、常に次のバス・オーナーである。さらなるトランザクションがバス(通常は、
バッファ等のシステム・リソースが満たされ、他のトランザクションに対処でき
ない時に使用される)に発行されるのを阻止するために、BNR#信号は、あら
ゆるバス・エージェントによってアサートされうる。LOCK#信号のアサート
は、バス・エージェントが、介入されてはならないバス・トランザクションのア
トミック・シーケンス(atomic sequence)を実行していることを示す。
I#をディアサートし、バス所有権を解放することができる。いくつかのPen
tiumプロセッサにおいて、BPRI#信号がアサートされた後、BPRI#
信号は、最小の2バス・クロック・サイクルでディアサートされなければならな
い。これは、(いくつかのPentiumプロセッサにおける)古い3バス・ク
ロック・サイクル速度に匹敵し、対称エージェントと優先エージェントの均衡が
取れたアクセスをバスに供給した。実施例に従って、プロトコルは、アサートさ
れた後に、最小の1バス・クロック・サイクルのみで、BPRI#信号がディア
サートされることを求めるように変更された。この現在の実施例における変更は
、2バス・クロック・サイクル・ビート・レート、アサートのための1バス・ク
ロック・サイクル、およびディアサートのための1サイクルをサポートする。
をサポートするための十分なリソースを有しない時、さらなる要求を遅らせるた
めに使用されうる。実施例に従って、要求停止(request stall)プロトコルが
実行され、3つの状態に基づいて決定される: 1)フリー:この状態において、エージェントの、要求を発行する能力は
、BNR#要求停止プロトコルによっては制約されないが、それのバスの所有権
によって、および要求速度によってのみ制約される。いくつかのPentium
プロセッサにおいて、フリー状態でのBNR#サンプリング点は、ADS#がア
サートでサンプリングされた後、3クロック・サイクルで生じる。実施例に従っ
て、BNR#サンプリング点は、ADS#信号がアサートでサンプリングされた
後、(3よりもむしろ)2クロック・サイクルで生じるように調整された。エー
ジェントが、フリー状態で新しい要求生成を停止するつもりである時、エージェ
ントは、ADS#からの有効なBNR#サンプリング点の前に、クロック・サイ
クルでBNR#をアクティブにする。次のクロック・サイクルでは、すべてのエ
ージェントが、BNR#サンプリング点でのアクティブなBNR#を観察し、お
よび停止した状態へ移行する。
最大ADS#要求速度が維持されると、この状態で一つの要求を発行してもよい
。BNR#サンプリング点は、スロットル状態の第一のクロック・サイクルにあ
る。スロットル状態にある時、BNR#がBNR#サンプリング点において、ア
クティブでサンプリングされる場合、状態は、停止状態に移行する。BNR#は
、BNR#サンプリング点において、インアクティブでサンプリングされる場合
、状態はフリー状態に移行する。
サンプリングされたBNR#が、インアクティブになるまで、エージェントは要
求を発行してはならない。停止状態に入り、BNR#と同じ長さの、一つおきの
続きのクロック・サイクルが、そのサンプリング点においてアクティブでサンプ
リングされる時、BNR#サンプリング点は、バス・クロック・サイクルで始ま
る。要求停止状態は常に、リセット・イベント(INIT#またはRESET#
のいずれか)の後、停止状態に初期化される。エージェントは、2クロック・サ
イクルごとに(有効サンプリング点の前に)BNR#をアサートすることによっ
て、停止状態を延長することができる。BNR#が、停止状態で、アクティブと
してサンプリングされない場合、要求停止状態は、スロットル状態に移行する。
・サイクルだけ、BPRI#信号がディアサートされるよう要求し、および ADS#信号がアサートでサンプリングされた後、(3よりもむしろ)2クロッ
ク・サイクルで生じるように、フリー状態におけるBNR#サンプリング点を調
整することは、連続した仲裁フェーズの開始の間の最小待ち時間を、3バス・ク
ロック・サイクルから2バス・クロック・サイクルへ減らす。
され、または送られるフェーズである。実施例に従って、要求フェーズは、持続
期間が1共通バス・クロック・サイクルである。要求フェーズは、サブ・フェー
ズa(要求フェーズの第一の半分の間)およびサブ・フェーズb(要求フェーズ
の第二のサブ・フェーズの間)を含む、二つのサブ・フェーズを含む。要求情報
は、要求フェーズの間に送信され、トランザクション・アドレスを含む。要求フ
ェーズは、ADS#信号、アドレス・ストロボ信号のアサートで始まる。ここに
要求を送信するために使用されうる信号の例示的グループがある。
a)中に表示されたピンで送られる。 b.これらの信号は、要求フェーズの第二のサブ・フェーズ(サブ・フェーズ
b)中に送られる。
この場合“A”は、アドレス・ラインまたはアドレス・バス204を示し、“a
”は、サブ・フェーズa中に送信される信号を示す)、トランザクションを記述
する追加情報(例えば、バイト・イネーブル、属性、拡張機能)は、Ab[35
:3]で送信される(“b”は、サブ・フェーズb中に、アドレス・ラインを介
して、追加情報が送信されることを示す)。ADS#のアサートは、要求フェー
ズの開始を定義する。ADSTB[1:0]#は、好ましくは、ADS#がアサ
ートされるバス・クロック・サイクルごとに一回トグルし、他のサイクルではし
ない。REQa[4:0]#およびREQb[4:0]#は、トランザクション
・タイプを識別する。
ク後;および 3)BNR#がインアクティブであると観察される、および 4)LOCK#は、このエージェントによって起動されない場合、インアク
ティブであると観察される。
る前に、前のトランザクションのADS#のアサートの後、3クロック・サイク
ルの最小の遅延を必要とした。連続したトランザクションの要求フェーズの間の
最小待ち時間を、3クロック・サイクルから2クロック・サイクルへと減らすた
めに、エージェントは、実施例に従って、前のトランザクションのADS#信号
のアサートの後、2バス・クロック・サイクルだけ後に、バスへ要求を送っても
よい。上述の通り、ADS#信号は、要求フェーズの開始を識別し、および要求
のサブ・フェーズaが、プロセッサ・バスへ送られており、(アドレス・バスを
介して供給される)アドレスおよび(REQ#[4:0]ラインを介して供給さ
れる)要求を含むことを示す。
ャッシング・エージェントに関するキャッシュ・コヒーレンシーをサポートする
。コヒーレンシーン(すなわちデータ一貫性)は、複数のレベルのキャッシュな
らびにメモリおよび複数のキャッシング・エージェントを伴うシステムまたはコ
ンピュータが、好ましくは陳腐な(stale)(または正しくない)データを読み
取るエージェントがなく、必要に応じてアクションが直列にされうる共有メモリ
・モデルを与えることを確証する。ラインは、キャッシング・エージェントにお
けるキャッシングのユニットである。実施例に従って、キャッシュ・ラインは6
4バイトであるが、他のサイズのキャッシュ・ラインを使用することができる。
配する規則を定義する。各ラインは、各キャッシュに一つの状態を有する。実施
例に従って、4のライン状態があり、以下のものを含む:M(Modified
)は、ラインがこのキャッシュにあり、およびメモリにおけるよりも、より最近
のラインの値を含み、および前記ラインはすべての他のエージェントでは無効で
あることを示す;E(Exclusive)は、ラインがこのキャッシュにあり
、およびメモリと同じ値であり、およびすべての他のエージェントにおいて無効
であることを示す;S(Shared)は、ラインがこのキャッシュにあり、メ
モリと同じ値を含み、および他のエージェントにあるかもしれないことを示す;
およびI(Invalid)は、ラインがこのキャッシュにはなく、他のキャッ
シュまたはエージェントから取ってこられるべきであることを示す。
ある。以下の内容は、スヌープ・フェーズ中に使用されうるスヌープ信号の例示
的リストである:
のスヌープ結果を送り、およびキャッシュ・コヒーレンシー分解(cache cohere
ncy resolution)に参加する。前記エージェントは、それ自身のものではない、
ほぼすべてのメモリ・トランザクションに関する内部スヌープ結果を生成する。
すべてのキャッシング・エージェント(スヌープ・エージェント)は、HIT#
およびHITM#信号を用いて、このフェーズにおいてバスへと自らのスヌープ
結果を送る。要求されたデータを含むキャッシュ・ラインのコピーが、このイン
ターフェースにおける他のエージェントのキャッシュに存在することを示すため
に、HIT#は、スヌープ・フェーズ中にアサートされる。要求されたデータを
含むキャッシュ・ラインの変更されたコピーが、このインターフェースにおける
他のエージェントのキャッシュに存在することを示すために、HITM#が、ス
ヌープ・フェーズ中にアサートされる。HIT#およびHITM#が、同時に、
スヌープ・フェーズ中にエージェントによってアサートされる場合、スヌープ停
止が生じ、現在のスヌープ・フェーズは延長されるであろう。DEFER#は、
現在のトランザクションが完了することを保証されないことを示すために、スヌ
ープ・フェーズ中にアサートされる。
号がアサートされた後、4クロック・サイクルで、および前のトランザクション
のスヌープ・フェーズから、少なくとも3クロック・サイクルで送られる。しか
しながら、実施例に従って、これらの最小待ち時間は、プロセッサ・バスの新し
いビート周波数により近く合うように変更された。実施例に従って、スヌープ結
果は、ADS#がアサートされた後、3クロック・サイクルで(すなわち、要求
フェーズの開始の後、3バス・クロック・サイクル)、および前のトランザクシ
ョンのスヌープ・フェーズの後、少なくとも2クロック・サイクルで(すなわち
、スヌープ結果が、前のトランザクションに関して、バスへと送られた後、少な
くとも2クロック・サイクルで)、送られうる。HIT#/HITM#/DEF
ER#信号(スヌープ結果)に関する最大起動速度は、3バス・クロック・サイ
クルごとに1回から、2バス・クロック・サイクルごとに一回へと変更された。
要求フェーズの終わり(サブ・フェーズB)からスヌープ・フェーズまでの待ち
時間は、要求フェーズが1サイクル短くなったので、同じままであることが注目
される。
バスへ、トランザクション応答を送る。要求フェーズにおいて始められた要求は
、すべてのバス・エージェントによって維持されている順番通りの待ち行列に入
る。応答しているエージェントは、順番通りの待ち行列の一番上にあるトランザ
クションを完了させることを担当するエージェントである。応答しているエージ
ェントは、要求フェーズ中に、トランザクションによってアドレス指定された装
置またはエージェントである。応答フェーズにおいて使用されうる信号の例示的
グループが下に示されている:
ある応答の例は:通常データ応答(応答しているエージェントは、応答とともに
、リード・データを転送することを求められる)、リトライ応答(retry respon
se)(DEFER#がスヌープ・フェーズ中にアサートされる時、トランザクシ
ョンが再試行されなければならないことを示す)、デファード応答(応答エージ
ェントまたは応答しているエージェントは、デファード応答トランザクションを
用いて、将来、トランザクションを完了させることを約束する)、ノー・データ
応答(アドレス指定されたエージェントによって戻されるデータはない)等を含
む。TRDY#は、ライトまたはライトバック・データ等を受け入れる準備がで
きていることを示すために、応答しているエージェントによってアサートされる
。RSP#信号は、RS信号のためにパリティ(parity)を供給する。
ンの応答フェーズの後、最小の3バス・クロック・サイクルの後に送られうる。
実施例に従って、連続したトランザクションの応答フェーズ間の、この最小待ち
時間は、プロセッサ・バスの新しいビート周波数により近く合うように調整され
た。実施例に従って、応答は、前のトランザクションの応答の後、最小の2バス
・クロック・サイクル後に送られうる。この最小待ち時間は通常、この待ち時間
を延長するかもしれない他の制約を受ける。要求信号のために使用されるダブル
・ポンプ信号モードによって、(いくつかのPentiumプロセッサに関する
、3バス・クロック・サイクルごとに1回と比較して)2バス・クロック・サイ
クルごとに一回、応答が送られうる。
ジェントが転送すべきライト・データを有しているトランザクションである。ア
ドレス指定されたエージェントは、ライト・オペレーションを実行するつもりで
ある要求エージェントからデータを受信する能力を示すために、TRDY#をア
サートする。いくつかのPentiumプロセッサにおいて、TRDY#信号は
、同じトランザクションに関するADS#信号のアサートの後、最小の3バス・
クロック・サイクルの後にアサートされうる。通常、この待ち時間を延ばしうる
他の制約がある。この待ち時間は、プロセッサ・バスの新しいビート周波数によ
り近く合うように、変更された。実施例に従って、アドレス指定されたエージェ
ントは、同じトランザクションに関するADS#信号のアサートの後、最小の2
バス・クロック・サイクルの後に、TRDY#信号をアサートすることができる
。要求フェーズの終わりからTRDY#までの待ち時間は、変わらないままであ
る。
・バス117を介して、異なるバス・エージェントの間で転送される。要求フェ
ーズに基づいて、トランザクションは、“要求開始(request-initiated)”(
ライト)データ転送、“応答開始(response-initiated)”(リード)データ転
送、またはノー・データ転送のいずれかを含む。データ・フェーズは、1つのト
ランザクションに関する要求フェーズと重複するかもしれない。
いる:
ればならないことを示す。データ・バス・オーナーは、有効データが転送される
べき各バス・クロック・サイクルに関して、DRDY#をアサートする。DRD
Y#は、データ・フェーズにおいて、待ち状態を挿入するために、ディアサート
されうる。DBSY#は、第一のDRDY#アサートの前、および複数のバス・
クロック・データ転送に関するその後のDRDY#アサートの間に、データ・バ
スを保持するために使用されうる。DINV[3:0]#は、データ・ソースに
よってデータ・ビットが反転されたことを示すために使用される。
ェント間に64ビット・データ・パスを供給する。I/OリードおよびI/Oラ
イト・トランザクションを含む、部分的転送のために、バイト・イネーブル信号
(BE[7:0]#)は、データ・バスのどのバイトが有効データを含むかを決
定する。DP信号は、データ信号のためにパリティを供給するために使用されう
る。
・エレメントを送信するために、データ信号D[63:0]#が使用される、ク
アド・ポンプ(すなわち4X)ソース同期ラッチ・プロトコルを使用して、デー
タが転送されてもよい。(バースト・オーダーで)最初の8バイトは、バス・ク
ロックの最初の4分の1で送信され、バス・クロックの第二の4分の1において
第二の8バイト・エレメントが送信され、バス・クロックの第三の4分の1にお
いて第三の8バイト・エレメントが送信され、バス・クロックの第四の4分の1
において、第四の8バイト・エレメントが送信される。転送されるべきデータが
、1乃至8バイト長である場合、前記データはバス・クロックの最初の4分の1
で転送されることができ、データが9乃至16バイト長である場合は、データは
、バス・クロックの最初の二つの4分の1で転送されうる。
れている。しかしながら、本発明の変更および変形が、本発明の精神および意図
された範囲から逸脱することなく、上述の教示によって、および添付の特許請求
の範囲による範囲内に網羅されることが理解されるであろう。
る。
ス・トランザクション・フェーズ関係を示すタイミング図(timing diagram)で
ある。
を説明する例示的タイミング図である。
を示すタイミング図である。
を示すタイミング図である。
である。
ク図である。
ロック図である。
Claims (25)
- 【請求項1】 マルチドロップ・バスを介して、ドライビング・エージェン
トから、一つ以上の受信エージェントに情報を送信する方法であって: 共通バス・クロックを、前記ドライビング・エージェントおよび前記一つ以上
の受信エージェントの両方に供給するステップと; 前記ドライビング・エージェントから前記一つ以上の受信エージェントに、バ
ス・トランザクションを発行するステップであって: 前記ドライビング・エージェントは、要求のための複数の情報エレメントを
、前記バス・クロックの周波数の倍数である速度で、アドレス・バスへと送り; 前記ドライビング・エージェントは、いつ、前記一つ以上の受信エージェン
トが、前記アドレス・バスで送られた前記情報エレメントをサンプリングするべ
きかを識別するための、第一のストロボ信号を起動させる前記ステップと;およ
び 前記ドライビング・エージェントから、前記一つ以上の受信バスにデータを転
送するステップであって: 前記ドライビング・エージェントは、複数の情報エレメントを、前記バス・
クロックの周波数の異なる倍数である速度で、データ・バスへ送り;および 前記ドライビング・エージェントは、いつ、前記一つ以上の受信エージェン
トが、前記データ・バスに送られた前記情報エレメントをサンプリングするべき
かを識別するための第二のストロボを起動することを含む前記ステップと を具備する前記方法。 - 【請求項2】 請求項1に記載の方法であって、前記ドライビング・エージ
ェントが、要求のための複数の情報エレメントをアドレスに送ることは、前記ド
ライビング・エージェントが、前記バス・クロックの周波数の少なくとも2倍で
ある速度で、要求のための少なくとも二つの情報エレメントをアドレス・バスに
送ることを含むことを特徴とする、前記方法。 - 【請求項3】 請求項2に記載の方法であって、前記ドライビング・エージ
ェントが、要求のための複数の情報エレメントをアドレスに送ることは、前記ド
ライビング・エージェントが、前記バス・クロックの周波数の2倍である速度で
、要求のための二つの情報エレメントをアドレス・バスに送ることを含むことを
特徴とする、前記方法。 - 【請求項4】 請求項3に記載の方法であって、前記ドライビング・エージ
ェントが、複数の情報エレメントをデータ・バスに送ることは、前記ドライビン
グ・エージェントが、前記バス・クロックの周波数の少なくとも4倍である速度
で、少なくとも4つの情報エレメントをデータ・バスに送ることを含むことを特
徴とする、前記方法。 - 【請求項5】 請求項4に記載の方法であって、前記ドライビング・エージ
ェントが、複数の情報エレメントをデータ・バスに送ることは、前記ドライビン
グ・エージェントが、前記バス・クロックの周波数の4倍である速度で、4つの
情報エレメントをデータ・バスに送ることを含むことを特徴とする、前記方法。 - 【請求項6】 請求項1に記載の方法であって、前記ドライビング・エージ
ェントが第二のストロボを起動させることは、いつ前記受信エージェントが前記
データ・バスに送られた前記情報エレメントをサンプリングするべきかを識別す
るためのフェーズ・ストロボのうち少なくとも二つを、前記ドライビング・エー
ジェントが起動することを含むことを特徴とする、前記方法。 - 【請求項7】 請求項6に記載の方法であって、いつ、前記受信エージェン
トが、前記データ・バスに送られた前記情報エレメントをサンプリングすべきか
を識別するために、一種類のみの前記ストロボのエッジが使用されることを特徴
とする、前記方法。 - 【請求項8】 異なる種類の信号のための二つの信号モードでバスを操作す
る方法であって、前記バスは、すべてのバス・エージェント、マルチドロップ双
方向アドレス・バス、およびマルチドロップ双方向データ・バスに供給される共
通バス・クロックを含み、前記信号モードは: 前記バス・クロックの周波数と実質的に同じである速度で、信号が前記バスに
送られる共通クロック信号モードであって、前記バス・クロックは、前記共通ク
ロック信号モードで送られる前記情報エレメントをサンプリングするための点を
識別する、前記共通クロック信号モードと;および 前記バス・クロックの周波数の倍数である速度で、情報エレメントが、前記ア
ドレス・バスまたは前記データ・バスのうち、少なくとも一つへ、ドライビング
・エージェントによって送られうる、および一つ以上のストロボ信号が、マルチ
ポンプ信号モード(multi pumped signaling mode)で送られる前記情報エレメ
ントのためのサンプリング点を識別するために、前記ドライビング・エージェン
トによって起動される、マルチポンプ信号モードと を具備する前記方法。 - 【請求項9】 請求項8に記載の方法であって、一種類のみの、前記一つ以
上のストロボ信号のエッジが、前記情報エレメントのためのサンプリング点を識
別するために使用されることを特徴とする、前記方法。 - 【請求項10】 請求項8に記載の方法であって、前記一つ以上のストロボ
信号は、複数のストロボ信号を具備し、前記複数のストロボ信号は、同期せずに
、または互い違いの配列で起動されることを特徴とする、前記方法。 - 【請求項11】 請求項8に記載の方法であって、前記一つ以上のストロボ
信号は、実質的に前記情報エレメントの各々に中心があるサンプリング点を識別
するためのものであることを特徴とする、前記方法。 - 【請求項12】 バス・バランス(bus balancing)の方法であって: 第一の最小待ち時間で実行されうる、バスを介したトランザクションのデータ
転送部分を供給するステップと; 第二の最小待ち時間で実行されうる、バス・トランザクションの要求部分を供
給するステップと; 連続するバスの対応するフェーズの開始の間の最小待ち時間を、前記第一およ
び第二の最小待ち時間のうちの一つ以上に、実質的に合わせるステップと; を具備する前記方法。 - 【請求項13】 請求項12に記載の方法であって、前記第一および第二の
待ち時間は、実質的に等しいことを特徴とする、前記方法。 - 【請求項14】 複数のバス・エージェントに接続されたバスであって: 共通バス・クロック、アドレス・ストロボ信号、およびデータ・ストロボ信号
を含む、複数のコントロール信号を供給するための、マルチドロップ双方向コン
トロール・バスと; ドライビング・エージェントに、前記バス・クロックの周波数の倍数である周
波数で、前記データ・バスへ情報エレメントを送らせるための、マルチドロップ
双方向データ・バスと;および ドライビング・エージェントに、前記バス・クロックの周波数の倍数である周
波数で、前記アドレス・バスへ情報エレメントを送らせるための、マルチドロッ
プ双方向アドレス・バスとを具備し; 前記ドライビング・エージェントは、前記データ・バスへと送られた前記情報
エレメントをサンプリングするための点を識別するための前記データ・ストロボ
信号を起動させ;および 前記ドライビング・エージェントは、前記アドレス・バスへと送られた前記情
報エレメントをサンプリングするための点を識別するための前記アドレス・スト
ロボ信号を起動させること を特徴とする、前記バス。 - 【請求項15】 情報を転送するための装置であって: 複数のエージェントであって、前記エージェントの少なくとも一つは、ドライ
ビング・エージェントとして動作する、前記複数のエージェントと; 前記エージェントに接続されたマルチドロップ双方向バスであって、前記バス
は、コントロール・バス、アドレス・バス、およびデータ・バスを含み、前記コ
ントロール・バスは、すべてのエージェント、アドレス・ストロボ信号ライン、
および複数のデータ・ストロボ信号ラインに、共通バス・クロックを供給するた
めの共通バス・クロック・ラインを含む、前記マルチドロップ双方向バスと; を具備し、 ドライビング・エージェントは、要求の情報エレメントが、前記バス・クロッ
クの周波数の倍数である速度で送信され、および前記ドライビング・エージェン
トが、前記アドレス・バスへ送られた前記情報エレメントのためのサンプリング
点を識別するために、前記アドレス・ストロボ信号ラインでアドレス・ストロボ
信号を一時的に起動させることができる、マルチ・ポンプ信号モードを用いて、
前記アドレス・バスに前記要求を送ることができ;および ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
の前記周波数の倍数である速度で、前記データ・バスへドライビング・エージェ
ントによって送られ、および前記ドライビング・エージェントが、前記データ・
エレメントをサンプリングするためのサンプリング点を識別するために、複数の
データ・ストロボ信号ラインへ、互い違いの、またはオフセットの配列で前記複
数のデータ・ストロボ信号を一時的に起動させることもできる、マルチポンプ信
号モードを用いて、データを転送することができる ことを特徴とする、前記装置。 - 【請求項16】 請求項15に記載の装置であって、前記データ・ストロボ
信号の一つだけのエッジが、前記データ・エレメントをサンプリングするための
サンプリング点を識別するために使用されることを特徴とする、前記装置。 - 【請求項17】 請求項16に記載の装置であって、前記データ・エレメン
トのためのサンプリング点を識別するための前記データ・ストロボ信号の前記一
つのエッジは、前記データ・ストロボ信号の立ち上がりエッジのみを含むことを
特徴とする、前記装置。 - 【請求項18】 請求項16に記載の装置であって、前記データ・エレメン
トのためのサンプリング点を識別するための前記データ・ストロボ信号の前記一
つのエッジは、前記データ・ストロボ信号の立ち下りエッジのみを含むことを特
徴とする、前記装置。 - 【請求項19】 情報を転送するための装置であって: 複数のエージェントであって、前記エージェントの少なくとも一つは、ドライ
ビング・エージェントとして動作する、前記複数のエージェントと; 前記エージェントに接続された双方向バスであって、前記エージェントは、前
記バスを通してバス・トランザクションを実行し、各トランザクションは、仲裁
フェーズ、要求フェーズ、スヌープ・フェーズ、応答フェーズ、およびデータ転
送フェーズのうち、少なくともいくつかを含む複数のフェーズを具備し、前記バ
スは: コントロール・バスであって、すべてのエージェント、アドレス・ストロボ
信号ライン、および複数のデータ・ストロボ信号ラインに、共通バス・クロック
を供給するための共通バス・クロック・ラインを含む前記コントロール・バスと
; 前記バス・クロックの前記周波数の少なくとも2倍である速度で、要求フェ
ーズのための情報エレメントを転送するためのアドレス・バスと; 前記バス・クロックの前記周波数の少なくとも4倍である速度で、データ転
送フェーズにおけるデータ・エレメントを転送するためのデータ・バスと; を含む前記双方向バスとを具備し、 連続したバス・トランザクションのための対応するフェーズの開始の間の最小
待ち時間は、前記フェーズの少なくとも一つに関する2バス・クロック・サイク
ルであることを特徴とする、前記装置。 - 【請求項20】 請求項19に記載の装置であって: 連続したトランザクションの仲裁フェーズの開始の間の前記最小の待ち時間は
、2バス・クロック・サイクルであり; 連続したトランザクションの要求フェーズの開始の間の前記最小の待ち時間は
、2バス・クロック・サイクルであり; 連続したトランザクションのスヌープ・フェーズの開始の間の前記最小の待ち時
間は、2バス・クロック・サイクルであり; 連続したトランザクションの応答フェーズの開始の間の前記最小の待ち時間は、
2バス・クロック・サイクルである ことを特徴とする、前記装置。 - 【請求項21】 請求項19に記載の装置であって、要求フェーズの開始と
、スヌープ・フェーズの開始との間の最小待ち時間は、3バス・クロック・サイ
クルであることを特徴とする、前記装置。 - 【請求項22】 請求項19に記載の装置であって、要求フェーズの開始と
、ターゲットとなる、またはアドレス指定されるエージェントが、データを受け
る準備ができていることを示す信号を送ることができる時との間の最小の待ち時
間は、2バス・クロック・サイクルであることを特徴とする、前記装置。 - 【請求項23】 情報を転送するための装置であって: 複数のエージェントであって、その少なくとも一つはドライビング・エージェ
ントとして動作する前記複数のエージェントと; 前記エージェントに接続された双方向マルチドロップ・バスであって、前記バ
スは、コントロール・バス、アドレス・バス、およびデータ・バスを含み、前記
コントロール・バスは、すべてのエージェントに共通バス・クロックを供給する
ためのバス・クロック・ラインと、および複数のデータ・ストロボ信号ラインと
を含む前記双方向マルチドロップ・バスと を具備し、 ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
の前記周波数の少なくとも4倍である速度で、前記データ・バスに、ドライビン
グ・エージェントによって送られ、および前記ドライビング・エージェントが、
前記データ・エレメントをサンプリングするためのサンプリング点を識別するた
めに、前記複数のデータ・ストロボ信号ラインに、互い違いの、またはオフセッ
トの配列で、複数のデータ・ストロボ信号を一時的に起動することもできるマル
チ・ポンプ信号モードを用いて、データを転送するためのものであることを特徴
とする、前記装置。 - 【請求項24】 情報を転送するための装置であって: 複数のエージェントであって、その少なくとも一つはドライビング・エージェ
ントとして動作する前記エージェントと; 前記エージェントに接続されたバスであって、前記バスは、コントロール・バ
ス、アドレス・バス、およびデータ・バスを含み、前記コントロール・バスは、
すべてのエージェントに共通バス・クロックを供給するための共通バス・クロッ
ク・ラインを含み、前記コントロール・バスは、アドレス・ストロボ信号ライン
および複数のデータ・ストロボ信号ラインも含む前記バスと; を具備し、 バス・トランザクションは、前記バスを介してエージェントの間で実行される
ことができ、各バス・トランザクションは、仲裁フェーズ、要求フェーズ、スヌ
ープ・フェーズ、応答フェーズおよびデータ転送フェーズのうち、少なくともい
くつかを含む複数のフェーズを具備し; ドライビング・エージェントは、前記要求フェーズの情報エレメントが、前記
共通バス・クロックの前記周波数の少なくとも2倍である速度で送られ、および
前記ドライビング・エージェントが、前記アドレス・バスに送られた前記情報エ
レメントのためのサンプリング点を識別するために、前記アドレス・ストロボ信
号ラインでアドレス・ストロボ信号を一時的に起動させることができるマルチ・
ポンプ信号モードを用いて、前記アドレス・バスへ要求を送ることができ; ドライビング・エージェントは、データ・エレメントが、前記バス・クロック
の前記周波数の少なくとも4倍である速度で、前記データ・バスへ、ドライビン
グ・エージェントによって送られ、および前記ドライビング・エージェントが、
前記データ・エレメントのサンプリングをするためのサンプリング点を識別する
ために、前記複数のデータ・ストロボ信号ラインに、互い違いに、またはオフセ
ット配列で、複数のデータ・ストロボ信号を一時的に起動させることができる、
マルチ・ポンプ信号モードを用いて、データ転送フェーズ中に、データを転送す
ることができ;および 連続したバス・トランザクションのための対応するフェーズの開始の間の最小
待ち時間は、前記フェーズの少なくとも一つに関する2バス・クロック・サイク
ルであること を特徴とする、前記装置。 - 【請求項25】 請求項24に記載の装置であって: 連続したトランザクションの仲裁フェーズの開始の間の前記最小待ち時間は、
2バス・クロック・サイクルであり; 連続したトランザクションの要求フェーズの開始の間の前記最小待ち時間は、
2バス・クロック・サイクルであり; 連続したトランザクションのスヌープ・フェーズの開始の間の前記最小待ち時間
は、2バス・クロック・サイクルであり;および 連続したトランザクションの応答フェーズの開始の間の前記最小待ち時間は、2
バス・クロック・サイクルである ことを特徴とする、前記装置。
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)
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)
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 |
-
1999
- 1999-12-29 US US09/474,058 patent/US6609171B1/en not_active Expired - Lifetime
-
2000
- 2000-12-29 BR BRPI0016834-3A patent/BRPI0016834B1/pt not_active IP Right Cessation
- 2000-12-29 CN CN200410061754.4A patent/CN1815463B/zh not_active Expired - Fee Related
- 2000-12-29 SG SG200404258A patent/SG123610A1/en unknown
- 2000-12-29 AT AT00988421T patent/ATE377797T1/de not_active IP Right Cessation
- 2000-12-29 GB GB0216035A patent/GB2374264B/en not_active Expired - Fee Related
- 2000-12-29 EP EP07115696A patent/EP1881414A3/en not_active Withdrawn
- 2000-12-29 CN CN2006100996516A patent/CN1900924B/zh not_active Expired - Fee Related
- 2000-12-29 SG SG200404257A patent/SG123609A1/en unknown
- 2000-12-29 KR KR1020027007528A patent/KR100565101B1/ko not_active IP Right Cessation
- 2000-12-29 EP EP00988421A patent/EP1242898B1/en not_active Expired - Lifetime
- 2000-12-29 RU RU2002120499/09A patent/RU2271566C2/ru not_active IP Right Cessation
- 2000-12-29 WO PCT/US2000/035520 patent/WO2001048621A1/en active IP Right Grant
- 2000-12-29 AU AU24631/01A patent/AU2463101A/en not_active Abandoned
- 2000-12-29 JP JP2001549206A patent/JP4194274B2/ja not_active Expired - Fee Related
- 2000-12-29 DE DE10085385T patent/DE10085385B3/de not_active Expired - Fee Related
- 2000-12-29 DE DE60037036T patent/DE60037036T2/de not_active Expired - Lifetime
- 2000-12-29 CN CNB200410061753XA patent/CN100375075C/zh not_active Expired - Fee Related
- 2000-12-29 CN CNB008179840A patent/CN1230762C/zh not_active Expired - Fee Related
-
2001
- 2001-02-14 US US09/783,784 patent/US6880031B2/en not_active Expired - Lifetime
- 2001-02-14 US US09/783,852 patent/US6907487B2/en not_active Expired - Fee Related
- 2001-02-14 US US09/784,244 patent/US6804735B2/en not_active Expired - Fee Related
- 2001-04-18 TW TW089128315A patent/TW559704B/zh not_active IP Right Cessation
- 2001-08-10 US US09/925,692 patent/US6601121B2/en not_active Expired - Fee Related
- 2001-08-10 US US09/925,691 patent/US6807592B2/en not_active Expired - Fee Related
-
2002
- 2002-05-17 ZA ZA200203946A patent/ZA200203946B/en unknown
- 2002-10-28 HK HK02107799.6A patent/HK1046964B/zh not_active IP Right Cessation
Also Published As
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 |