JPH10505184A - 据置きトランザクションを実行するための方法および装置 - Google Patents

据置きトランザクションを実行するための方法および装置

Info

Publication number
JPH10505184A
JPH10505184A JP8509656A JP50965696A JPH10505184A JP H10505184 A JPH10505184 A JP H10505184A JP 8509656 A JP8509656 A JP 8509656A JP 50965696 A JP50965696 A JP 50965696A JP H10505184 A JPH10505184 A JP H10505184A
Authority
JP
Japan
Prior art keywords
bus
agent
token
response
address
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
JP8509656A
Other languages
English (en)
Other versions
JP3771260B2 (ja
Inventor
サランダー,ニティン・ヴィ
ライ,コンラッド・ケイ
シン,ガービル
マックウイリアムズ,ピーター・ディ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23168453&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH10505184(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH10505184A publication Critical patent/JPH10505184A/ja
Application granted granted Critical
Publication of JP3771260B2 publication Critical patent/JP3771260B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • 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/14Handling requests for interconnection or transfer
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 コンピュータ・システムのバス上でバス・トランザクションを実行するための方法および装置。本発明は、パイプライン化バス・システムで順不同応答を実行するための方法および装置を含む。順不同応答は、専用トークン・バスを使用せずに、コンピュータ・システム内の要求側エージェントと応答側エージェントとの間のトークンの送信(302)を含む。

Description

【発明の詳細な説明】 据置きトランザクションを実行するための方法および装置 本出願は、1993年6月30日に出願され、本出願の譲受人に譲渡された” Method and Apparatus for Performing Bus Transactlons in a Computer Syste m”という名称の米国特許出願第08/085541号の一部継続出願である。発明の分野 本発明は、コンピュータ・システム・バス用のプロトコルの分野に関し、具体 的には、本発明は、据置き/順不同トランザクションを実行するバス用のプロト コルに関する。発明の背景 コンピュータ・システムでは、プロセッサ、メモリ、入出力ユニット、その他 の周辺装置などの装置間の転送は、一般にプロトコルに応じて行われる。このよ うな装置は一般にエージェントと呼ばれる。プロトコルとは、転送中に装置間で 行われるハンドシェーキングの方法であって、転送に関わる各装置が他の装置が どのように動作または実行するかを把握できるようにするものである。 一般に、コンピュータ・システムでのデータおよび情報の転送は複数のバスを 使用して行われる。これらのバスは、2つの装置間だけで使用する専用バスであ る場合もあれば、複数のユニット、バス・エージェント、または装置が使用する 非専用バスである場合もある。しかも、システム内のバスは、特定のタイプの情 報の転送専用の場合もある。たとえば、アドレス・バスはアドレスの転送に使用 するが、データ・バスはデータの転送に使用する。 バス・トランザクションは、原則として、バス上の別のエージェントからデー タまたは完了信号を要求する要求側装置またはエージェントを含む。通常、要求 は、所望のデータまたは所望の装置のアドレスを伴う要求のタイプを示す、いく つかの制御信号を含む。要求されたアドレスを含むアドレス空間にマッピングさ れる装置は、必要なデータとともに完了信号を送信することによって応答する。 コンピュータ・システムによっては、パイプライン化方式でバス・トランザク ションが行われるものもある。バス・トランザクションがパイプライン化されて いる場合、多数のバス・エージェントからの要求は同時に保留される。別々のデ ータ・バスとアドレス・バスを使用するために、このような事態が起こりうる。 パイプライン化トランザクションでは、アドレス・バス上で要求のアドレスが送 信されている間に、(アドレス・バス上で)前に要求したアドレスに対応するデ ータまたは信号をデータ・バス上で返すことができる。所与のパイプライン化シ ステムでは、要求されたのと同じ順序で完了応答が行われる。しかし、他のパイ プライン化システムでは、完了応答の順序がそれに対応する要求と同じ順序であ る必要はない。このタイプのバス・システムは、一般に、分割トランザクション ・バス・システムと呼ばれる。 分割トランザクション・バスでは、コンピュータ・システム内のエージェント の1つへの第1のバス・トランザクションによって要求が開始される。この時点 で要求側エージェントがその要求への応答を提供できない場合、要求に対応する 応答は、その要求との関連が解除される可能性がある。最終的には、応答の準備 ができると、任意のデータを伴う応答が要求側エージェントに返される。返され たときに要求側エージェントによって識別できるように、その要求にタグを付け ることもできる。 分割トランザクションに対応するため、システムは、応答をそのアドレス(す なわち、その要求)に関連付けるための何らかの機能を必要とする。1つの手法 は、2つの別々のトークン・バスと1つの据置きバスを使用する方法である。要 求を実行する場合、アドレスがアドレス・バス上に励起される。同時に、トーク ンが第1のトークン・バス上に励起される。このトークンは、アドレス要求に関 連付けられている。トークンは、アドレス要求に応答する予定のエージェント( すなわち、応答側エージェント)によって受信される。この時点でエージェント が応答可能である場合、応答側エージェントは、第2のトークン・バス上にトー クンを励起し、データ・バス上に適切な応答を励起する。 2つのトークン・バスを使用すると、外部バスとのインタフェースを取るため に必要なピンの数が増加する。サイズが8ビットのトークンの場合、2つの別々 のトークン・バスを使用すると、そのトークン・バスのために追加の16ピンを コンピュータ・システムに追加すると同時に、コンピュータ・ボード上の追加の 空間を割り振る必要がある。しかも、システム内のすべてのバス・エージェント ・パッケージに対して、トークン・バスをサポートするために使用するピンも追 加しなければならない。ピン数が増加すると、パッケージのコストも同様に増加 する場合が多い。したがって、システム内の集積回路構成要素のコストも増加す る。これに対して、待ち時間が長いトランザクションを後で出された待ち時間の 短いトランザクションの後に再配置する能力のため、分割トランザクションを許 可することによる帯域幅の増加は相当なものになる。集積回路構成要素の変更や 必要なピン数の増加によるコストの増加の大部分を被らずに、分割バス・トラン ザクションをサポートすることが望ましい。 先行技術では、一部の応答側エージェントがバス・エージェントからの要求に 応答して再試行応答を出力する。この再試行応答は、応答側エージェントが応答 する準備ができておらず、後でもう一度その要求を試みる必要があることを、要 求を送信したバス・エージェントに示すものである。その場合、要求側エージェ ントは、それが転送に使用できるかどうかを示すために、応答側エージェントを 適宜、ポーリングする。再試行応答を出した後、応答側エージェントはその要求 の処理を続行することができる。トランザクションを完了する準備ができると、 それは要求側エージェントに完了応答を出し、ポーリングを終了する。このよう な方式の問題は、不必要なポーリングによってバス・トラフィックが増加するこ とである。再試行応答を出力するときにバス・トラフィックを削減することが望 ましい。ただし、分割トランザクションに対応できないバス・エージェント用の コストを最小限にすることも望ましいことに留意されたい。 本発明は、このようなバス・プロトコルを実施するための方法および装置を提 供する。本発明のプロトコルは、別々のトークン・バスを使用せず、それらに関 連するピン数の増加も伴わずに、分割トランザクションに対応するための方法お よび装置を提供する。発明の概要 コンピュータ・システム内で分割バス・トランザクションを実行するための方 法および装置について説明する。このコンピュータ・システムは、バス・トラン ザクションをパイプライン化方式で行えるようにするための別々のデータ・バス とアドレス・バスとを含む。本発明は、第1のバス・トランザクションを開始し 、要求アドレスをアドレス・バス上で励起するための方法および装置を含む。要 求アドレスは、要求側装置またはエージェントによって励起される。応答側エー ジェントは、この時点で応答ができなければ、据置き応答を励起する。本発明は 、その要求およびアドレスに関連するアドレス・バス上に要求側エージェントに よる第1のトークンを励起するための方法および装置も含む。要求アドレスは第 1のクロック中に共通多重アドレス・バス上で励起され、トークンは第2のクロ ック中に共通多重アドレス・バス上で励起される。応答側装置は第1のトークン を受信し、応答側装置がアドレス要求を満足する準備ができているかまたは満足 できる場合に、後で使用するためにそのトークンを内部に格納することができる 。格納すると、第1のバス・トランザクションは完了している。 応答側装置が要求を満足する準備ができているかまたは満足できる場合(たと えば、データの準備ができており、完了信号を送信できるなど)、応答側装置は 第2のバス・トランザクションを開始し、アドレス・バス上で第2のトークンを 励起する。また、応答側装置は、元のアドレス要求に対応するデータ・バス上に 必要なデータも励起する。一実施態様の第2のトークンは第1のトークンと同一 である。元の要求側装置は、第2のトークンを受信し、その元のアドレス要求に 対応する第1のトークンと第2のトークンとを比較する。一致が存在すると判定 すると、要求側装置は、完了信号を受信し、データがあればデータ・バスから受 信し、その結果、第2のバス・トランザクションが完了する。図面の簡単な説明 以下に示す本発明の様々な実施形態の詳細な説明と添付図面により、本発明を より完全に理解できるだろうが、これらは、本発明を特定の実施形態に限定する ものであると解釈すべきではなく、説明および理解のみを目的とするものである 。 第1図は、本発明のコンピュータ・システムの一実施形態のブロック図である 。 第2図は、現在の好ましい実施形態でのバス・トランザクションのタイミング 図である。 第3図は、本発明によるバス・サイクルの流れ図である。 第4図は、本発明による据置き応答を示すタイミング図である。 第5図は、本発明の8ビット・トークンを示す図である。 第6図は、受信側エージェント内のトランザクション保留待ち行列の一実施形 態を示す図である。 第7図は、要求側エージェント内のトランザクション保留待ち行列の一実施形 態を示す図である。 第8図は、要求側エージェントのトークン突合せハードウェアの一実施形態の ブロック図である。 第9図は、要求のアドレスをトークンの一部として使用するトークンの一実施 形態を示す図である。 第10図は、応答側エージェント内のトランザクション保留待ち行列の一実施 形態を示す図である。発明の詳細な説明 コンピュータ・システム内の分割トランザクションに対応するための方法およ び装置について説明する。以下に示す本発明の詳細な説明では、本発明を完全に 理解するために、トークン・サイズ、待ち行列サイズなどの、数多くの特定の詳 細データを示している。しかし、このような特定の詳細データがなくても本発明 を実施できることは、当業者には明らかであろう。その他の例では、本発明を不 明確にしないように、周知の方法、機能、構成要素、手順について詳しく説明し ていない。本発明のコンピュータ・システムの概要 まず第1図を参照すると、同図には、本発明のコンピュータ・システムの一実 施形態の概要がブロック図形式で示されている。第1図は本発明のコンピュータ ・システムの全体を説明するのに有用であるが、システムの詳細の一部は図示し ていないことに留意されたい。本発明の開示に必要なので、詳細については本明 細書に付属するその他の図に関連して示す。 第1図に示すように、この実施形態のコンピュータ・システムは、一般に、情 報をやりとりするためのプロセッサメモリ・バスまたはその他の通信手段101 と、情報を処理するためにプロセッサメモリ・バス101に結合されたプロセッ サ102とを含む。本発明のプロセッサメモリ・バス101は、補助的なアドレ ス・バス、データ・バス、制御バスを含む。プロセッサ102は、データと命令 をチップ上に一時的に格納するためのレベル1(L1)キャッシュ・メモリと一 般に呼ばれる内部キャッシュ・メモリを含んでいる。レベル2(L2)キャッシ ュ・メモリ104が、プロセッサ102が使用するためにデータと命令を一時的 に格納するためにプロセッサ102に結合されている。一実施形態のキャッシュ ・メモリ104は、プロセッサ102と同じチップ・パッケージ内に含まれてい る。 プロセッサメモリ・バス101には、コンピュータ・システム内の他の装置( たとえば、プロセッサ102など)が使用するためにデータと命令を一時的に格 納するためのレベル3(L3)キャッシュ・メモリ111と、L3キャッシュ・ メモリ111へのアクセスを制御するためのL3キャッシュ制御装置110も結 合されている。 メモリ制御装置122は、プロセッサ102用の情報と命令を格納するための ランダム・アクセス・メモリ(RAM)またはその他のダイナミック記憶装置1 21(一般にメイン・メモリと呼ばれる)へのアクセスを制御するためにプロセ ッサメモリ・バス101に結合されている。 入出力ブリッジ124は、プロセッサメモリ・バス101または入出力バス1 31のいずれか一方にある装置に通信経路またはゲートウェイを提供し、もう一 方のバス上の装置にアクセスするかまたはその装置間でデータを転送するために プロセッサメモリ・バス101および入出力バス131に結合されている。ブリ ッジ124は、入出力バス131からのバイト/ワード/ダブルワード・データ 転送トラフィックをプロセッサメモリ・バス101上のライン・サイズ・トラフ ィックに変更するなどの機能を実行する。 入出力バス131は、コンピュータ・システム内の装置間で情報をやりとりす るものである。入出力バス131に結合された装置としては、コンピュータ・ユ ーザに対して情報を表示するための陰極線管、液晶ディスプレイなどのディスプ レイ装置132、コンピュータ・システム内の他の装置(たとえば、プロセッサ 102)に情報やコマンド選択を連絡するための英数字キーおよびその他のキー を含む英数字入力装置133、カーソルの動きを制御するためのカーソル制御装 置134などがある。しかも、コンピュータ・イメージの視覚表現を出力するた めのプロッタまたはプリンタなどのハード・コピー装置135、情報と命令を格 納するための磁気ディスクおよびディスク・ドライブなどの大容量記憶装置13 6も入出力バス131に結合することができる。 当然のことながら、本発明の他の実施形態では上記の構成要素をすべて含む必 要はないが、実施形態によっては追加の構成要素を必要とするかまたは含むもの もある。たとえば、所与の実施形態では、L3キャッシュ制御装置110とL3 キャッシュ・メモリ111が必要ではない可能性がある。また、このコンピュー タ・システムは、プロセッサメモリ・バス101に結合された追加のプロセッサ を含むことができる。この追加のプロセッサは、プロセッサ102と同様または 同一のプロセッサなどの並列プロセッサを含むか、またはディジタル信号プロセ ッサなどの補助プロセッサを含むことができる。このような実施形態では、プロ セッサ102と追加のプロセッサ(複数も可)がプロセッサメモリ・バス101 上に直接存在する。その他の実施形態では、情報を表示するためにディスプレイ 装置を設ける必要がない場合もある。 本発明のバス・トランザクション 本発明では、コンピュータ・システム内の装置およびユニットがプロセッサメ モリ・バス上でバス・トランザクションを実行する。一実施形態では、プロセッ サメモリ・バスのうちのアドレス・バスと制御バスの一部分が相俟って、要求を 開始したり、要求に応答するための「要求」バスとして機能する。要求の開始側 (たとえば、要求側エージェント)は要求タイプとアドレスを転送するためにこ の「要求」バスを使用し、要求の監視側(たとえば、応答側エージェント)は出 されたトランザクションに関する自分の状況または応答を転送するために同じバ スを使用する。データ・バスは読取り中または書込み中のデータを転送するもの である。 一実施形態のバス活動は、操作別、トランザクション別、フェーズ別に階層的 に構成されている。操作とは、自然に位置合せされたメモリ位置の読取りなど、 ソフトウェアにとってアトミックと思われるバス手順である。1つの操作を実行 するには、通常、1つのトランザクションが必要であるが、要求と応答が別々の トランザクションになるような据置かれた応答の場合など、複数のトランザクシ ョンが必要な場合もある。1つのトランザクションは、データ・バス上での応答 開始型データ転送による要求バス・アービトレーションからの単一要求に関連す る1組のバス活動である。 1つのトランザクションは最高6つのフェーズを含む。しかし、所与のフェー ズは、トランザクションと応答タイプに基づく任意選択のものである。フェーズ は、特定の信号グループを使用して特定タイプの情報をやりとりする。一実施形 態の6つのフェーズは以下の通りである。 アービトレーション 要求 エラー スヌープ 応答 データ データ・フェーズは、任意選択のもので、トランザクションがデータ・バス上 でデータを転送する場合に使用する。データ・フェーズは、要求を開始した時点 でデータが使用可能になる場合(たとえば、書込みトランザクション)は要求開 始型であり、トランザクション応答を生成した時点でデータが使用可能になる場 合(たとえば、読取りトランザクション)は応答開始型である。 様々なトランザクションによる様々なフェーズはオーバラップさせることがで き、それにより、バスの使用法がパイプライン化され、バスのパフォーマンスが 改善される。第2図は、データ転送を伴う2つのトランザクション用のトランザ クション・フェーズを示すタイミング図である。第2図を参照すると、要求側エ ージェントがそのバスを所有していない場合、トランザクションはアービトレー ション・フェーズから始まり、そこで要求側エージェントがバスの所有者になる 。 要求側エージェントがバスの所有者になった後、トランザクションは要求フェ ーズに入り、そこでバスの所有者が要求とアドレス情報をバス上で励起する。要 求フェーズの持続期間は2クロック分である。第1のクロックでは、スヌープと メモリ・アクセスを開始するのに十分な情報とトランザクション・アドレスとと もに、ADS#信号が励起される。第2のクロックでは、その他のトランザクシ ョン情報とともに、要求の識別に使用する情報(たとえば、トークン)とトラン ザクションの長さに関する情報が励起される。 要求フェーズ後、新しいトランザクションは、先入れ先出し(FIFO)待ち 行列である順序通り待ち行列に入る。要求側エージェントを含むすべてのバス・ エージェントは、順序通り待ち行列を管理し、それぞれの新しい要求をこの待ち 行列に追加する。順序通り待ち行列の詳細については、1994年3月1日に出 願され、本発明の法人譲受人に譲渡され、参照により本明細書に組み込まれる、 ”Highly Pipelined Bus Architecture”と いう名称の米国特許出願第08/206382号を参照されたい。第2図では、 たとえば、要求1は、T3で励起され、T4で監視され、T5で始まる順序通り 待ち行列に入る。 あらゆるトランザクションの第3のフェーズは、要求フェーズの3サイクル後 のエラー・フェーズである。エラー・フェーズは、その要求によって引き起こさ れた即時(パリティ)エラーを示す。 エラー・フェーズで示されたエラーのためにトランザクションが取り消されな い場合、要求フェーズから4サイクル以上後のスヌープ・フェーズに入る。スヌ ープ・フェーズの結果は、トランザクションについて励起されたアドレスが任意 のバス・エージェントのキャッシュ内の有効または変更済み(汚れた)キャッシ ュ線を参照するかどうかを示す。また、スヌープ・フェーズの結果は、トランザ クションが順序通りに完了するか、または可能な順不同完了のために据え置かれ るかも示す。 トランザクションは、順序通り待ち行列全体にわたってFIFO順序で進行す る。順序通り待ち行列内の一番上のトランザクションは応答フェーズに入る。応 答フェーズは、トランザクションが失敗したかまたは成功したか、トランザクシ ョン完了が即時かまたは据置きか、トランザクションが回収されるかどうか、ト ランザクションがデータ・フェーズを含むかどうかを示す。 有効なトランザクション応答は、正常データ、暗黙書戻し、データなし、ハー ド障害、据置き、再試行である。 トランザクションがデータ・フェーズを備えていない場合、トランザクション は応答フェーズ後に完了する。要求エージェントが転送すべき書込みデータを備 えているか、または読取りデータを要求している場合、トランザクションは、応 答フェーズ後まで延長可能なデータ・フェーズを備えている。 一実施形態では、すべてのトランザクションがすべてのフェーズを含むわけで はなく、すべてのフェーズが順序通りに発生するわけではなく、一部のフェーズ はオーバラップする場合もある。エラー・フェーズで取り消されないすべてのト ランザクションは、要求フェーズと、エラー・フェーズと、スヌープ・フェーズ と、応答フェーズを備えている。また、次のトランザクションを励起するエージ ェントがすでにバスを所有していない場合にのみ、アービトレーション・フェー ズが発生すればよいので、アービトレーションは明示的な場合もあれば、暗黙の 場合もある。データ・フェーズは、トランザクションがデータ転送を必要とする 場合のみ発生する。データ・フェーズは、不在、応答開始型、要求開始型、スヌ ープ開始型、要求およびスヌープ開始型のいずれかになりうる。読取りトランザ クション(要求開始型データ転送またはスヌープ開始型データ転送)の場合、応 答フェーズはデータ・フェーズの先頭とオーバラップする。書込みトランザクシ ョン(要求開始型データ転送)の場合、要求フェーズがデータ・フェーズを引き 起こす。本発明のバス・プロトコル 本発明では、バス・プロトコルに応じてプロセッサメモリ・バス上で操作が行 われる。本発明のコンピュータ・システム内の装置およびユニットは、要求側エ ージェントと応答側エージェントの両方を表す。要求側エージェントは、1つま たは複数の完了信号と、任意で別の装置からのデータの受信を伴うバス操作を要 求できる装置である。応答側エージェントは、必要な信号と、任意で要求に応答 するデータを送信することによって要求に応答できる装置である。分割トランザ クションに対応できる応答側エージェントは本明細書では「スマート」応答側エ ージェントと呼ばれ、分割トランザクションに対応できない応答側エージェント は本明細書では「ダム」応答側エージェントと呼ばれる。ただし、以下の説明で は、「エージェント」という用語と「装置」という用語を取換え可能な使い方を する場合があることに留意されたい。 本発明では、バス・トランザクションは、パイプライン化方式でコンピュータ ・システム内のバス上で行われる。すなわち、複数のバス・トランザクションが 同時に保留になる場合があり、それぞれが完全に完了していない。したがって、 要求側エージェントがバス・トランザクションを開始すると、バス・トランザク ションだけが現在保留中のいくつかのバス・トランザクションの1つになる場合 がある。バス・トランザクションはパイプライン化されるが、本発明のバス・ト ランザクションは順序通りに完全に完了する必要はない。本発明では、据置きト ランザクションをサポートすることにより、要求に対する完了応答の一部を順不 同にすることができる。非分割トランザクションは順序通りに完了する。 本発明では、1つのバス操作を2つの独立バス・トランザクションに本質的に 分割することにより、据置きトランザクションに対応する。第1のバス・トラン ザクションは、要求側エージェントによる要求(データまたは完了信号を求める )と、応答側エージェントによる応答とを伴う。要求は、アドレス・バス上での アドレスの送信を含むこともできる。また、要求は、その要求を識別するために 要求側エージェントが使用するトークンの送信を含むこともできる。応答は、応 答側エージェントが応答する準備ができている場合に完了信号(およびおそらく データ)の送信を含むことができる。この場合、バス・トランザクションならび にバス操作が終了する。しかし、応答側エージェントが要求に対して応答する準 備ができていない(たとえば、完了信号または任意のデータあるいはその両方の 準 備ができていない)場合、応答は、要求に対するその応答が据え置かれることに なるという表示を要求側エージェントに対して出力することを含むことができる 。この表示は、本明細書では据置き応答と呼ぶことにする。 据置き応答の場合、バス操作は、要求側エージェントがトランザクションを完 了するように、応答側エージェントから要求側エージェントへ完了信号と要求さ れたデータ(ある場合)とを伴う据置かれた応答を送信することを含むような、 第2のトランザクションを含む。一実施形態の据置かれた応答は、完了信号(お よびおそらくデータ)と、比較要求識別情報とを含む。要求識別情報はトークン を含む。すなわち、要求側エージェントが据置かれた応答を元の要求に関連付け ることができるように、トークンは応答側エージェントによって要求側エージェ ントに再送信される。本発明の一実施形態による据置きおよび非据置きバス・ト ランザクションについては、第3図の流れ図に示す。 第3図を参照すると、要求側エージェントが要求を行うために使用するものと してアドレスおよび制御バスの所有権についてアービトレーションを行うと、据 置きであるか非据置きであるかを問わず、バス・トランザクションが始まる(処 理ブロック300)。ただし、制御バスはコマンドを指定するために一部が使用 されることに留意されたい。それらのコマンドは各バス・トランザクションを定 義する。本発明では、要求側エージェントは、アドレス・バスについてアービト レーションを行い、コマンドの指定に使用するアドレスおよび制御信号を励起す る。アービトレーションに勝つと、要求側エージェントは、アドレス・バス上に アドレスの形式で要求を励起し(処理ブロック301)、当技術分野で周知のや り方で必須制御信号を励起し、アドレス・バス上に第1のトークンを励起する( 処理ブロック302)。一実施形態では、2つの連続クロック中にアドレスと第 1のトークンがバス上に励起される。このトークンは、それが関連する要求の表 示とともに、保留要求待ち行列と呼ばれる待ち行列に格納される。 要求がバス上に置かれると、どの装置が応答側エージェントになるべきかとい う判定が行われる(処理ブロック303)。この判定は、アドレス・バス上に励 起されたアドレスを応答側エージェントが認識することを含む。一実施形態の応 答側エージェントは、要求のアドレスを含むアドレス空間にマッピングされる装 置である。 次に応答側エージェントは、それが応答する準備ができているかどうかを判定 する(処理ブロック304)。読取り操作の場合は、要求されたデータが使用可 能であれば、応答側エージェントは応答する準備ができている。書込み操作の場 合は、受信したときにそれが書込み操作の完了を開始すれば、応答側エージェン トは応答する準備ができており、ポスト書込みが可能であれば、応答側エージェ ントは、データとアドレスを受信後ただちに応答する準備ができている(データ の実際の書込みは後で終了する)。応答側エージェントが応答する準備ができて いる場合、応答側装置は「順序通り」完了応答表示を送信し、適切な時期にデー タ・バス上で必要な信号またはデータを励起し(処理ブロック205)、それに より、バス・トランザクションと、バス操作を非据置きとして終了する。 応答側エージェントがバス・トランザクションを完了する準備ができていない 場合、応答側エージェントはアドレス・バスから第1のトークンをラッチし、そ の適切な応答時期に据置き応答を送信する(処理ブロック306)。読取り操作 の場合に応答側エージェントが応答を要求されている時間までにデータの準備が できていない場合、応答側エージェントは応答する準備ができていない可能性が ある。入出力装置への書込みの場合などには、書込み操作が完全に終了するまで 、応答側エージェントは応答する準備ができていない可能性がある。 要求側エージェントは、適切な時期にバス上で据置き応答を受信する(処理ブ ロック307)。適切な時期はシステム・バスのパイプライン特性によって示さ れるが、これについては以下に詳述する。 応答側エージェントが最終的に要求を満足できるようになる前に要求側エージ ェントが据置き応答を受信した後、バス上でいくつかの追加バス・トランザクシ ョンを実行することができる。応答側エージェントが据置きバス操作を完了する 準備ができている(たとえば、データが応答側エージェントにとって使用可能に なる)と、応答側エージェントはアドレス・バスおよび制御バスの所有権につい てアービトレーションを行う(たとえば、制御バス(処理ブロック308))。 応答側エージェントに所有権が許諾されると、応答側エージェントは据置かれ た応答を送信する(処理ブロック309)。据置かれた応答の一部として、応答 側エージェントはアドレス・バス上で第2のトークンを送信し、制御バス上で据 置かれた応答信号(たとえば、コマンド)を送信し、データ・バス上で適切なデ ータを送信する。一実施形態では第2のトークンが第1のトークンと同じである が、他の実施形態では第1のトークンと第2のトークンが同じではなく、エージ ェントが互いに正しく関連付けを行えるようにするための固有の関係が存在する 場合もある。 要求側エージェントは、他のエージェントとともにアドレス・バスを監視し、 トークンを受け取る(処理ブロック310)。要求側エージェントは第2のトー クンをラッチする。次に要求側エージェントは、応答側エージェントから送られ た第2のトークンがその保留要求待ち行列内の未解決トークンの1つと一致する かどうかを判定する(処理ブロック311)。このような場合、要求側エージェ ントは、応答側エージェントから送られた第2のトークンと第1のトークン、ま たは要求側エージェントに格納されたその他のトークンとの間でトークンの突合 せを行う。ただし、本発明では、要求側エージェントがアドレスとエージェント IDについてアドレス・バスを必ず監視しており、アドレス・バス上の信号がエ ージェントにマッピングされたアドレス範囲内のアドレスを表しているかどうか 、またはその信号がトークンを表しているかどうかを絶えず判定することに留意 されたい。 応答側エージェントからの第2のトークンが第1のトークンと一致しないと要 求側エージェントが判定した場合、データ・バス上のデータと完了信号(複数も 可)は無視される(処理ブロック312)。応答側エージェントからの第2のト ークンが第1のトークンと一致すると要求側エージェントが判定した場合、デー タ・バス上の据置かれた応答データまたは完了信号あるいはその両方は、最初に 要求側エージェントによって要求されたデータまたは完了信号であり、要求側エ ージェントは完了信号を受信するか、データ・バス上でデータをラッチし(処理 ブロック313)、その結果、第2のバス・トランザクションを完了する。元の 要求に対応する完了信号またはデータあるいはその両方を受信後、バス操作全体 が終了する。したがって、バス・トランザクションは応答側エージェントと要求 側エージェントとの間で行われ、元のバス操作は完了する。 装置が応答側エージェントであると判定された後、応答側エージェントは、バ スがそのパイプライン特性を確実に維持できるようにするための応答の生成を担 当する。応答側エージェントは、適切な時期に要求されたバス・トランザクショ ンを完了できない場合がある。たとえば、要求されたデータが使用可能ではない 場合がある。データが使用可能ではない理由は多数ある。たとえば、特定の装置 のアクセス時間が長いためにデータが使用可能ではない場合がある。また、特定 の装置の構造または特性のために、要求を満足するための応答の準備が完了する までに多数のサイクルを必要とする場合もある。したがって、応答側エージェン トが適切な時期に要求されたバス・トランザクションを完了できない場合、応答 側エージェントは据置き応答を送信する。応答側エージェントは、要求されたデ ータまたは完了信号(応答する準備ができている場合)あるいは据置き応答を含 む据置き完了表示(要求された完了信号または要求されたデータを供給できない 場合)を適切な時期に送信する。 応答側エージェントが応答を生成するための適切な時期は、アドレス・バス上 で発生した要求とともにデータ・バス上での応答の順序を維持し、それにより、 本発明のバスのパイプライン特性を確実にするために、応答側エージェントが何 らかのタイプの応答で応答しなければならない時期として定義される。すなわち 、データ・バス上の「応答」の順序は、アドレス・バス上の「要求」と同じ順序 でなければならない。したがって、特定の要求に対する何らかのタイプの応答は 、アドレス・バス上の特定の要求の直前に行われた要求の応答後に、データ・バ ス上に現れなければならない。然るべき時間(たとえば、10バス・クロック) 内に何らかのタイプの応答が可能ではない場合、その生成を担当するエージェン トによって後続の応答がすべて停止され、システム・パフォーマンスが損なわれ る。ただし、応答自体も停止される可能性があることに留意されたい。 据置かれた応答を必要とする複数の保留要求に対応するため、据置き応答でバ ス・サイクルを完了すると、応答側エージェントは、1つまたは複数の要求が保 留の間に応答側エージェントが複数の要求に対応できる場合に特定の要求で据置 かれた応答を指定できなければならない。たとえば、データがキャッシュ・メモ リ(たとえば、L3キャッシュ・メモリ)から要求され、キャッシュ制御装置が 据置き応答を送信すると、この要求が保留の間にキャッシュ・メモリにアクセス する予定の場合、応答側エージェント(たとえば、キャッシュ制御装置)は、そ れを要求した要求にとって使用可能になっているデータを関連付けるための機構 を含む必要がある。一実施形態の処理ブロック306では、据置き応答が生成さ れる据置かれた要求(および関連トークン)を応答側エージェントが格納する。 データが使用可能になると、応答側エージェントは、格納したトークンと据置か れた要求を使用して、データの宛先を識別することができる。同一キャッシュ線 への複数の要求がある場合など、応答側エージェントが据置き応答を出力すると 、そのエージェントは一貫性の維持を担当する。 応答側エージェントによってラッチされたトークンは、応答側エージェントに よって行われたときに要求側エージェントへの応答を識別するために、要求側ま たは応答側エージェントとの間の今後の参照として使用される。要求側エージェ ントは、(それが関連付けられた要求の表示とともに)トランザクション保留待 ち行列に格納されたトークンを使用して、その要求への応答がないかどうか監視 する。応答側エージェントがバス・トランザクションを完了する準備ができてい ると、同じトークン(要求の送信時に使用)がアドレス・バス上で送信される。 一実施形態では、アドレス・バスがアドレスの代わりにトークンを有することを バス上のエージェントに示すために、特殊コマンドを使用する。要求側エージェ ントによって最初に要求されたデータが(データ・バス上に)ある場合、そのデ ータは特殊コマンド(たとえば、制御信号(複数も可))に関連付けられている 。このようにして、その後送信されるトークンによって、要求側エージェントと の接触が再確立される。据置き操作 バス・トランザクションの要求フェーズ中、エージェントは、トランザクショ ンに据置かれた応答を出すことができるかどうかを示すために据置きイネーブル (DEN#)信号をアサートすることができる。ただし、「#」という記号は、 その信号がアクティブ・ローであることを示すことに留意されたい。DEN#信 号がアサート解除されると、トランザクションは据置かれた応答を受信しないは ずである。一実施形態では、バスロック操作内のすべてのトランザクション、据 置き応答トランザクション、書戻しトランザクションは据え置くことができない 。また、トランザクション待ち時間感知エージェントも、DEN#信号機構を使 用して、限定待ち時間内のトランザクション完了を保証することができる。 HITM#信号とともにDEFER#信号は、応答を据え置くべき時期を決定 するために使用する。HITM#信号は、アサートされると、キャッシュ内の変 更済みデータの存在を示す。トランザクションの順序通りの完了は、アサート解 除されたDEFER#信号またはスヌープ・フェーズ中にアサートされたHIT M#信号と、その後の応答フェーズ中の通常完了または暗黙書戻し応答によって 示される。据置きイネーブル(DEN#)信号が非活動状態になる(そしてHI TM#信号がアサート解除される)と、トランザクションは順序通りに完了する ことができるか、または再試行できるが据え置くことができない。したがって、 据置かれた応答をサポートできないバス・エージェントは、互換性を保つために これを使用することができるが、トランザクションは前述のように順序通りに完 了するか、または再試行する必要がある。DEFER#信号がアサートされ、ス ヌープ・フェーズ中にHITM#信号が非アサートされ、その後、応答フェーズ 中に再試行応答が続くと、トランザクションを再試行することができる。すなわ ち、据置かれた応答をサポートできないバス・エージェントは、応答フェーズの 時点で必要な応答を出力できない場合、再試行応答を出力することになる。 据置きイネーブル(DEN#)がアサートされると、トランザクションは、順 序通りに完了するか、再試行するか、または据え置くことができる。トランザク ションが据置かれた応答を受信する予定であると、スヌープ・フェーズ中にDE FER#信号がアサートされ(HITM#信号はアサート解除される)、その後 、応答フェーズで据置き応答が続く。 DEFER#信号をアサートすることは、トランザクションによってアドレス 指定されたエージェントの責任である。他の実施形態では、その責任を第三者エ ージェントに与えることができ、そのエージェントはアドレス指定されたエージ ェントに代わってDEFER#信号をアサートすることができる。 本発明では、要求側エージェントは、アサートされた据置きイネーブル(DE N#)信号とともに要求フェーズで出されたすべての未解決トランザクションを 据置かれた応答で完了できると想定している。出された各トランザクションが据 置かれた応答を受信できる可能性を反映するため、要求側エージェントは、本明 細書で保留要求待ち行列と呼ばれる内部未解決トランザクション待ち行列を管理 する。待ち行列内の各項目にはIDが1つずつ付いている。待ち行列項目の数( およびIDの数)はエージェントが出して保留にすることができる要求の数と等 しい。第2のトランザクションの据置かれた応答中、要求側エージェントはアド レス・バス上で送信された応答をその保留要求待ち行列内のすべての据置きID と比較しなければならない。IDが一致すると、要求側エージェントは、その待 ち行列から元のトランザクションを回収し、操作を完了することができる。 応答側エージェントがトランザクションの順序通りの完了を保証できない場合 、応答側エージェントはそのトランザクションのスヌープ・フェーズでDEFE R#信号をアサートし、そのトランザクションが据置かれた応答を受信するかま たは打ち切られる予定であることを示す。別のキャッシュ・エージェントがスヌ ープ・フェーズでHITM#信号(キャッシュ内の変更済み行へのヒットを示す )をアサートすることによりDEFER#信号が指定変更されない場合、応答側 エージェントはトランザクション応答を所有する。応答側エージェントの応答は その応答方針によって決まる。応答側エージェントが後続の独立バス・トランザ クションで要求を完了することができ、それを望んでいる場合、そのエージェン トは据置き応答を生成する。 据置き応答を出した後、応答する準備ができると、応答側エージェントは、そ の応答が据え置かれた前の要求を完了するために第2の独立バス・トランザクシ ョンを出す。この第2のトランザクションは、前のトランザクションを完了する ためにデータを返す場合もあれば(たとえば、読取り操作の場合)、単に前のト ランザクションの完了を示すだけの場合もある(たとえば、書込み操作の場合) 。 第4図は、据置き応答と、その後に続く読取り操作に対する対応した据置かれ た応答とを示している。第4図を参照すると、T1で要求側エージェントはAD S#信号をアサートし、有効なバス定義とアドレスが制御バスとアドレス・バス 上にあることを示す。また、T1では、要求側エージェントが{REQUEST } グループを励起し、行読取り要求を出す。T2では、要求側エージェントがトー クンをアドレス・バスに励起する。アドレスとトークンはT2とT3でアドレス 指定されたエージェントによってそれぞれラッチされる。 スヌープ・フェーズでは、アドレス指定されたエージェントは、トランザクシ ョンを順序通りに完了できないことを判定し、そのため、T5でDEFER#信 号をアサートする。T6におけるHITM#信号のアサート解除状態のために、 アドレス指定されたエージェントはT7で応答側エージェントになる。応答側エ ージェントは、RS[2:0]#信号での適正な符号化をアサートすることによ り、T7で据置き応答を返す。RS[2:0]#信号は、据置き応答を含む、様 々なタイプの応答を符号化するために使用する。ただし、応答側エージェントは アドレス・バスからラッチされたトークンを格納することに留意されたい。 アドレス指定された応答側エージェントは、T9より前に、元の要求で要求さ れたデータを入手する。T9で応答側エージェントは、元のトランザクションか らのトークンをアドレスとして使用して第2のトランザクションを出す。T13 で応答エージェントは、HITM#信号とHIT#信号に関する有効な情報を励 起し、返された行の最終キャッシュ状態を示す。要求側エージェントはスヌープ 責任をピックアップする。T15で応答側エージェントは、正常完了応答を励起 し、必要であれば任意のデータ・フェーズを開始する。応答側エージェントは、 バス上のデータとともに正常完了応答を返し、T15〜T18中にデータを励起 し、それはT16〜T19中に受信される。T21では、第1および第2のトラ ンザクションを含むバス操作全体が完了する。 T10で要求側エージェントが第2のトランザクションを監視することに留意 されたい。要求側エージェントは、アドレス・バスから受信したトークンを元の 要求に対応するトークンと比較する。要求側エージェントは、T14で返された キャッシュ線の最終状態を監視する。T16で要求側エージェントは、据置かれ た応答を受信し、その保留要求待ち行列(および順序通り待ち行列)からそのト ランザクションを除去する。これでバス操作が完了する。 一実施形態では、コンピュータ・システム内のメモリ・エージェントまたは入 出力エージェントは、バス・ロック要求以外の要求、別の据置かれた応答トラン ザクション、または明示書戻しのために指定されたキャッシュ線書込みの際に応 答を据え置くことができる。 本発明の据置かれた応答は元のトランザクションを「覚醒」させる。すなわち 、元のトランザクションは、要求側エージェントがそのトランザクションを開始 した場合と同様に、続行し、完了する。たとえば、メモリ・エージェントがシス テム内のプロセッサに据置かれた応答を返す場合、メモリ制御装置はマスタでは なく、プロセッサはそれがトランザクションを開始した場合と同様に動作し、バ ス上のハンドシェーキングに応答する。 据置かれた応答を受信すると、順序通り待ち行列からトランザクションが除去 される。元の要求を完了するため、応答側エージェントはバス上で第2の独立ト ランザクションを開始する。元のトランザクション中にラッチされたトークン( たとえば、据置かれた応答ID)は、第2のトランザクションの要求フェーズで アドレスとして使用される。 一実施形態のトークン(たとえば、据置きID)は、2つの4ビット・フィー ルドに分割された8ビット、すなわち、DID[7:0]#を含む。トークンの 例は第5図に示す。このトークンは、元のトランザクションの要求フェーズの第 2のクロック中にA[23:16]#(DID[7:0]#を伝達する)上で転 送される。アドレス・バス線A[23:20]#は応答エージェントIDを含む が、これは応答側エージェントごとに固有のものである。アドレス・バス線A[ 19:16]#は、その内部待ち行列に基づいて要求エージェントによって割り 当てられた要求IDを含む。17個以上の未解決据置き要求をサポートするエー ジェントは複数のエージェントIDを使用することができる。一実施形態では、 コンピュータ・システムのプロセッサがサポートできるのは、4つの未解決据置 き要求だけである。 トランザクションを完了するため、アドレス・バスを使用してトークンを返す が、これはDID[7:0]#上で要求とともに送信されたものである。第2の トランザクションの要求フェースでは、要求フェーズの第1のクロックでA[2 3:16]#上でトークンが励起される。要求フェーズの第2のクロックでは、 応答側エージェントのIDとトランザクションIDが励起される(ただし、元の 要求側エージェントによって使用されることはない)。応答フェーズ中、据置か れた応答は、データ・フェーズ中のデータとともに励起される。応答側エージェ ントは、A[23:16]#上で返されたトークンをデコードし、それを前に据 え置かれた要求と比較する。要求側エージェントは、A[23:20]#をその エージェントIDと比較し、一致があるかどうかを確認する。一致している場合 、要求側エージェントはA[19:16]#をインデックスとして使用し、その 保留要求待ち行列内の適正項目を指し示す。(一致ハードウェアの例については 第6図に示す。)応答側エージェントの実施形態 本発明では、一部の応答側エージェントは一切要求を据え置かず、一部の応答 側エージェントは必ず要求を据え置き、一部の応答側エージェントは所与の操作 については要求を据え置き、他の操作については据え置かない。 上記の実施形態では、1つのエージェントが据置き操作のメモリ・エージェン トまたは入出力エージェントになることができる。 L3キャッシュ制御装置110などのキャッシュ・メモリ制御装置がコンピュ ータ・システム内ある場合、キャッシュ制御装置は、読取りデータがキャッシュ ・メモリ内でただちに使用可能ではないときに読取り操作時に据置かれた応答を 生成することもできる。その場合、L3キャッシュ制御装置は、メイン・メモリ 121などのメモリからデータを入手し始めると同時に、L3キャッシュ・メモ リ内で使用可能なデータに関する後続要求に対応する。読取り応答の準備ができ ると、L3キャッシュ制御装置はバスについてアービトレーションを行い、読取 りデータを返す。 入出力ブリッジがコンピュータ・システム内にある場合、入出力ブリッジはバ ス・トランザクションを据え置くことができる。ただし、通常、これは、PCI 、EISA、ISA、MCA、PCMCIA、VESA規格などの入出力バス規 格に応じて実行されることに留意されたい。一般に、入出力バス上に存在する装 置へのアクセスは、メモリ装置に出されたアクセスより完了までに要する時間が 長い。複数の要求側エージェントから生成された要求を含む高パイプライン化バ ス では、入出力操作とメモリ操作の混合が発生する。後続メモリ・アクセスでの入 出力アクセスの停止効果を解消するため、本発明の入出力ブリッジは、それ自体 (および入出力バス上の装置)に向けられたアクセスに対する据置かれた応答を 生成することができる。一実施形態では、本発明の入出力ブリッジは、複数のバ ス要求を据え置くのに必要なハードウェアを備えている。応答の準備ができると 、入出力ブリッジはバスについてアービトレーションを行い、据置かれた応答( 第2の独立トランザクション)を開始する。トークン生成と認識ハードウェア 本発明では、据置きプロトコルを使用するために、要求側エージェントと応答 側エージェントのそれぞれが追加の機能性をサポートしている。本発明では、据 置きおよび据置かれた応答が可能なエージェントはバス・マスタとして機能する 。本発明によるバス・マスタになるには、バスについてアービトレーションを行 い、要求転送サイクルを実行する能力を含む。このため、応答エージェントは、 応答側エージェントによる据置き応答の出力後に完了信号またはデータの準備が できると、第2のトランザクションを開始し、バスの制御権を獲得することがで きる。たとえば、プロセッサは一般にバス・マスタである。これに対して、メモ リ制御装置は一般にバス・マスタではないので、バス操作を完了するためにその 後のトランザクションを開始するこの能力を備える必要があるはずである。 図示の実施形態では、トークン生成は要求側エージェントの責任である。本発 明のトークンの一実施形態は第5図に示す。第5図を参照すると、トークン50 1は8ビットで構成され、要求側エージェントの内部保留要求待ち行列内の据置 き要求の位置を示す位置ID502と、トークンの発生源を示す要求側エージェ ントID503という2つの構成要素に分割されている。(保留要求待ち行列に ついては、以下に詳述する。)要求側エージェントID503は4ビットで構成 されている。要求側エージェントID503は、5ビット以上または4ビット未 満のいずれでも構成することができる。たとえば、要求側エージェントID50 3は3ビットIDにすることができる。要求側エージェントのIDを表すために 使用するビットの数は、据置かれた応答に対応可能なコンピュータ・システム内 の要求側エージェントの最大数を示す。たとえば、ID用に4ビットを使用する ことにより、据置き可能な応答を生成する16個の要求側エージェントがバス上 に存在することができる。 第5図に示すように、要求側エージェントの保留要求待ち行列内の要求の位置 を示すために使用するビットの数は、4ビットから構成される。要求の位置は、 5ビット以上または4ビット未満のいずれかを使用して記述することができる。 たとえば、要求位置は2ビットの数値にすることができる。要求の位置を記述す るために使用するビットの数は、要求待ち行列のサイズを示す。たとえば、位置 要求用に4ビットを使用することは、要求待ち行列が別々にアドレス可能な項目 を最高16個備えることができることを意味する。 据置かれた応答が可能な応答側エージェントは、据置き応答の出力時にアドレ ス・バスからラッチされたトークンを格納するために内部据置き要求待ち行列を 管理する。一実施形態では、この待ち行列は16個の項目を含むが、それより多 くても少なくてもよい(たとえば、2〜32個の項目)。本発明では、比較ハー ドウェアは実際に据え置かれる項目のみをサポートすればよいので、待ち行列の 深さが小さくても十分である。 応答側エージェント内の要求待ち行列の一実施形態は第6図に示す。第6図を 参照すると、要求待ち行列600は複数の項目を備え、各項目は複数のフィール ドを含むものとして示されている。一実施形態の待ち行列600は16項目待ち 行列である。本発明の各項目行は、トークン・フィールド601と、要求フィー ルド(REQ)602と、バイト・イネーブル(BE)フィールド603と、ア ドレス・フィールド604とを備えている。REQフィールド602とBEフィ ールド603とアドレス・フィールド604は、待ち行列600内のトークン・ フィールド601内の各トークンに対応するトランザクション情報を表す。RE Qフィールド602は、2つの要求フィールドを使用して、要求のタイプを格納 する。BEフィールド603は、要求をさらに修飾する際に使用するバイト・イ ネーブル情報を格納する。アドレス・フィールド604はアドレスを格納する。 一実施形態のトークン・フィールド601は4ビットを含み、インデックスを 表し、REQフィールド602は5ビット×2を含み、BEフィールド603は 8ビット多重化を含み、アドレス・フィールド604は36ビットを含む。トー クン・フィールド601は、ハードウェアでは暗黙のものにすることができるの で、ハードウェアで物理的に実現することができない。一実施形態のトークン・ フィールド601は、待ち行列内の項目の位置がトークン・フィールドの内容と 同じであるときにはハードウェアで実現されない。ただし、トークン・フィール ドのインデックスは無作為に生成した値にすることができることも留意されたい 。 また、第6図には、エージェントIDを表すトークン(たとえば、ラッチから のもの)のうちの4ビットを受け取り、それをエージェントのIDと比較して、 一致が存在するかどうかを確認するための比較論理回路も示されている。一致が 存在する場合、代表エージェントは残りの4ビットを待ち行列へのインデックス として使用する。 応答側エージェントが据置き応答の出力を希望する時点で、応答側エージェン トは、アドレス・バスからラッチしたトークンを格納するために据置き要求待ち 行列内のトランザクション用の項目を割り当てる。応答側エージェントの待ち行 列内の割当て済み項目は、そのトークンと、REQ、BE、アドレスの各フィー ルドを格納する。トランザクションの完了後、応答側エージェントは、要求バス の所有者になり、第2のバス・トランザクションを開始して据置かれた応答を出 力する。また、応答側エージェントは、据置き要求待ち行列内の空き待ち行列項 目も再利用する。 本発明の要求側エージェントは、要求保留待ち行列の管理とトークン生成のた めの論理回路を含む。上記の説明に基づくと、この論理回路は、十分当業者の能 力の範囲内のものなので、これ以上説明しない。また、応答側エージェントもそ の待ち行列を管理するための論理回路を備えている。応答側エージェントは、据 置き要求が処理されている間にバスの新しい要求に対して適切なアクションを行 えることが好ましい。応答側エージェントには、新しい要求のアドレスと据置き 要求待ち行列内の項目のアドレスとを比較するための機能がさらに設けられてい る。一実施形態の各エージェントは、新しい要求のアドレスを応答側エージェン トの据置き要求待ち行列に格納されたアドレスと比較するために、16個の31 ビット・ラッチと16個の31ビット比較器とを含んでいる。アドレス内の下位 ビットだけが比較されるように、比較器のサイズを低減することができる。肯定 的な一致の場合、応答側エージェントは、すでに据え置かれた要求との競合を回 避するために新しい要求を打ち切ることができる。 本発明の要求側エージェントは、据置かれた応答(たとえば、据置き応答と据 置かれた応答)を受け入れて理解することができる。本発明の要求側エージェン トは、このような応答に応じて適切なアクション(複数も可)を行うこともでき る。1つのアクションは、一時的に要求を中断することを含むことができる。 一実施形態の要求側エージェントは、要求フェーズで出されたすべての未解決 トランザクションが据置き応答を受け取ることができると想定している。各要求 側エージェントは、据置かれた要求(たとえば、トークンとそれに関連する要求 )を一時的に格納するための待ち行列を含む。したがって、要求側エージェント は、新しい要求を出すためのその能力と同じサイズの内部保留要求待ち行列を管 理する。保留要求待ち行列の一実施形態は第7図に示す。第7図を参照すると、 待ち行列700は、4つの項目を備え、各項目は要求側エージェントの要求ID フィールド701と要求側エージェントのID用のフィールド702とを含む8 ビットで構成されているものとして示されている。要求側エージェントID70 2は、特定の要求側エージェントの待ち行列内のすべての項目について同じであ る。IDを表すために使用するビットの数によって、待ち行列700内に設計さ れた項目の数が制限される。一実施形態では、IDは4ビットを含むが、待ち行 列700内の項目の総数をサポートするのに必要な数のビットを含むことができ る。エージェントIDフィールド702は、エージェントのIDを格納するため の4ビットで構成される。要求ID701とエージェントID702は相俟って トークンを形成する。 据置き応答の監視時には、要求側エージェントは、未解決トランザクション待 ち行列700内の生成トークン・フィールド702で要求が設けられたトークン のコピーを管理する。また、要求側エージェントは、それが据置き応答を受け取 った後でバスを解除するための能力も備えている。 一実施形態では、バス・エージェントがすでにレジスタ・ファイルまたは保留 中のバス・操作のリストを含む場合、別個の要求保留待ち行列は不要である。エ ージェントIDはすべての待ち行列項目に共通なので、保留トランザクションを 指定する記憶域だけが必要になる。そのバス用の操作のレコードを管理する順序 通り待ち行列またはその他のメモリ記憶域は、保留要求待ち行列として使用する ことができる。各トランザクションは、インデックス(たとえば、0、1、2、 3)を使用して識別される。一実施形態では、4通りの可能な保留トランザクシ ョン用のインデックス値をサポートするために2ビットしか使用していない。1 ビットまたはそれ以上用のフィールドを待ち行列に追加し、要求が据置き応答を 受け取ったかどうかを示すためにそのフィールドを使用することができる。した がって、別個の要求保留待ち行列は不要である。ただし、トークン生成論理回路 は、記憶位置からエージェントのIDを獲得し、それを要求ID(たとえば、バ ス待ち行列へのインデックス)と組み合わせてトークンを生成しなければならな いはずである。 要求側エージェントは、返されたトークンを使用して、後で返されたデータま たは完了信号を適切な要求と突き合わせるための突合せハードウェアも含んでい る。第2の独立トランザクション中、要求側エージェントは、再送されたトーク ンをその保留要求待ち行列内のすべての格納トークンと突き合わせる。IDが一 致する場合、要求側エージェントは、操作を完了し、中断された元の要求をその 保留要求待ち行列から廃棄することができる。 一実施形態の各要求側エージェントは、その突合せを実行するための比較器論 理回路を含んでいる。一実施形態の比較器論理回路は、その突合せを実行するた めの8ビット比較器と、一致を識別し、その間隔タグとともに内部ユニットにデ ータを返すための制御論理回路から構成される。他の実施形態では、別個のエー ジェントIDおよびトランザクションID(たとえば、インデックス)突合せ論 理回路を使用する。トランザクションIDを突き合わせるための突合せハードウ ェアの一実施形態は第8図に示す。ただし、第6図に示すようなエージェントI D突合せ論理回路も含むことができることに留意されたい。第8図を参照すると 、突合せハードウェア800は、ラッチ801と、据置かれた応答に関連するト ークン(またはその一部分)を格納するためのラッチ802〜805と、格納さ れた項目と再送されたトークンとを比較するための比較器806〜809と、N O Rゲート論理回路810とを含む。ラッチ801は応答トークンのうちの4ビッ トを受け取るように結合されている。ラッチ801の出力は、各比較器806〜 809の一方の入力に結合されている。各比較器806〜809のもう一方の入 力は、ラッチ802〜805の出力にそれそれ結合されている。各比較器806 〜809の出力はNORゲート論理回路810の入力に結合されている。 一実施形態のラッチ801は、再送されたトークンからのトランザクションI Dをアドレス・バスから受け取るための4ビット・ラッチを含む。ラッチ801 は、再送されたトークンのトランザクションID内のビット数に応じたサイズに なっている。ラッチ801は各比較器806〜809にトランザクションIDを 供給する。要求側エージェントの保留要求待ち行列に格納された各トークンは、 ラッチ802〜805を介して比較器806〜809に供給される。ラッチ80 2〜805は、トークンのトランザクションID内のビット数に応じたサイズに なっている。 エージェントID突合せの実行後、各比較器806〜809は、再送されたト ークンのトランザクションIDを格納されたトークンのトランザクションIDと 比較する。保留要求待ち行列に格納されたトークンとの一致が存在する場合、比 較器806〜809のうちの1つはハイの出力を出す。保留要求待ち行列に格納 されたトークンとの一致が存在しない場合、比較器806〜809のうちのいず れもハイの出力を出さない。比較器806〜809からの出力がいずれもハイで はない場合、NORゲート論理回路810の一致なし出力がハイになり、それに より、再送されたトークンが要求側エージェント内の中断された要求に対応しな いことを示す。比較器806〜809からの1つの出力がハイになる場合、NO Rゲート論理回路810の一致出力がハイになり、それにより、再送されたトー クンが要求側エージェント内の中断された要求に対応することを示す。一致して いる場合、要求側エージェントは、「覚醒」してデータ・バス上のデータ(任意 )をラッチし、元の要求に対応する完了信号を受け取る。 ただし、トークン全体を収容できるだけの十分な大きさのラッチと比較器(た とえば、8ビットの比較器、ラッチ)を使用できることに留意されたい。しかし 、再送されたトークンのエージェントID部分が必ず同じであることを考慮する と、 唯一のエージェントID比較に別々のトランザクションID比較を設けることに より、複雑さとコストを低減することができる。 別個の要求保留待ち行列が不要である(そして既存のバス待ち行列を使用する )場合、本発明の突合せ論理回路は、再送されたトークンのエージェントID部 分とそのIDとを突き合わせ、返されたトークンの残りの部分を待ち行列へのイ ンデックスとして使用する。 代替実施形態で本発明は、要求アドレスをトークンの一部または全部として使 用できるはずである。アドレスを使用するトークンの一実施形態は第9図に示す 。第9図を参照すると、トークン900は、要求903と、要求修飾子902と 、アドレス901という3つのフィールドを含んでいる。一実施形態では、要求 フィールド903は4ビットを含み、要求修飾子フィールド902は4ビットを 含み、アドレス・フィールド901は36ビットを含む。要求フィールド903 は、要求側エージェントによって出された要求を表す。要求修飾子フィールド9 02は要求を修飾する情報を含む。アドレス・フィールド901は要求のアドレ スを含む。応答側エージェントは、第5図に示すトークンと同じようにしてトー クン900を返す。 この実施形態の利点の1つは、特定のアプリケーションの要件が様々であるた めにトークン定義が制約が多すぎるか高価になりすぎる可能性があることをそれ が認識している点である。新しいトークン定義を行う場合、トークン定義内のビ ット数は一定しなければならない。これは、選択した方式に応じて、バス上でサ ポートできる要求/応答エージェントの数と、エージェント当たりサポートでき る要求の数の両方を制限するものである。特定のアプリケーションのために選択 した方式にかかわらず、これは制約が多すぎる可能性はない。したがって、アド レスをトークンとして使用することは、人工的な制限が一切設けられないことを 意味するはずである。第2に、トークンを一切使用しないということは、パフォ ーマンスを最高にするために、新しい要求について要求側エージェントの保留要 求待ち行列内のすべての項目による完全アドレス比較が必要であることを考慮し たものである。これは、トークンの突合せに加え、応答側エージェントによって 生成された据置かれた応答に必要なものである。この発明により複雑さが加えら れる。 アドレスをトークンとして使用することにより、元の要求側エージェントは単 にアドレス上でスヌープし、それをその内部保留要求待ち行列と比較するだけで ある。応答開始型バス・トランザクションも同じように実行されるが、ただし、 据置かれた応答から返されるものとしてアドレスに明確にマークが付けられる。 これにより、据置かれた応答と通常の応答とを適切に区別することができる。 応答側エージェントは、第6図に示すものと同様の内部の据置かれた要求待ち 行列を管理する。据置かれた要求待ち行列の一実施形態は第10図に示す。第1 0図を参照すると、待ち行列1000は、16個の項目を備え、各項目は要求( REQ)フィールド1001と、バイト・イネーブル(BE)フィールド100 2と、アドレス・フィールド1003とを含む54ビットで構成されているもの として示されている。一実施形態では、REQフィールドは10ビットを含み、 BEフィールドは8ビットを含み、アドレス・フィールドは36ビットを含む。 待ち行列1000は第6図に示す待ち行列と同じ情報を格納するが、ただし、ア ドレスはすでに格納されているのでトークン用の別個のフィールドは不要である 。 この実施形態の要求側エージェントは、据置き応答の受信後のバスの解除を担 当する。要求側エージェントは、アドレスをトークンとして使用して、新しい要 求を出すためのその能力と同じサイズの内部保留要求待ち行列を管理する。 また、要求側エージェントは、後で返されるアドレスを使用して、後で返され るデータまたは完了信号あるいはその両方を適切な要求と突き合わせるための突 合せハードウェアも含んでいる。第2の独立トランザクション中、要求側エージ ェントは、再送されたアドレス(たとえば、トークン)をその保留要求待ち行列 内のすべてのトークンと突き合わせる。アドレスが一致すると、要求側エージェ ントは、元の要求をその保留要求待ち行列から廃棄し、操作を完了することがで きる。この実施形態の要求側エージェントは、突合せを実行するために複数の5 4ビット・ラッチとラッチ当たり1つずつの54ビット比較器とを使用する。一 実施形態の比較器論理回路は、一致を識別し、その内部タグとともに内部ユニッ トにデータを返すための制御論理回路を含む。 アドレスをトークンとして使用すると、要求側エージェントはトークンを生成 する必要がない。応答側エージェントは、バスについてアービトレーションを行 い、要求されたデータと元のアドレスでバス・トランザクションを実行する。一 実施形態の応答側エージェントは、アドレスの送信を容易にするために、36ビ ット・アドレスと、10ビット要求バス・ドライバとを含む。 ただし、新しいピンやトークン指定が一切不要である点で、この実施形態は有 利であることに留意されたい。また、この実施形態の要求側エージェントには、 36ビットの完全なアドレスと10ビットの要求比較というオーバヘッドがある ことにも留意されたい。この論理オーバヘッドは、既存のスヌープ論理回路を再 使用できる場合には、プロセッサとキャッシュ入出力ブリッジのどちらにも受け 入れられる可能性がある。プロセッサおよび様々な制御装置による本発明の応用例 本発明のプロセッサは、推論実行と順不同実行を行う。これは、プロセッサの マイクロエンジンが欠落データの参照を越えて実行を続けることを意味する。プ ロセッサのキャッシュ・メモリと後方のキャッシュ・メモリ内でアクセスがミス として確認された後、要求はプロセッサメモリ・バスに送信される。待ち時間が 長いアクセスは、バスを解放するためにプロセッサに据置き応答を返すことによ り、最適に満足することができる。このようにして、プロセッサは追加のデータ 転送を続行することができる。 プロセッサメモリ・バスの据置きトランザクション機能は、外部サブシステム によって利用することもできる。たとえば、L3キャッシュは、キャッシュ・ミ スの場合に据置かれた応答を返し、キャッシュ・ヒットの場合に通常の順序通り 応答を返すことができる。L3キャッシュ制御装置は、外部アクセスを続行し、 データの受信後に第2の独立トランザクションによって要求を完了する。その間 に、プロセッサとL3キャッシュ・メモリとのデータ転送が続行される。したが って、本発明の据置き応答機構は、プロセッサとプロセッサメモリ(たとえば、 システム)バスとの間で実現すべき非ブロック化構成要素を考慮したものになっ ている。 また、本発明は、プロセッサから入出力ブリッジへのいかなるアクセスにも有 利である。プロセッサから入出力ブリッジへのアクセスは、システム・バス上に 直接存在する他のメモリ要素に比べ、待ち時間が長いはずなので、プロセッサか らのすべての入出力ブリッジ・アクセスに据置き応答を与えることができ、その 結果、使用可能なプロセッサ帯域幅が大幅に改善される。 本発明では、アドレス・バス上に励起されるアドレスと、データ・バス上で返 されるデータとにより、通常のパイプライン化方式でバス・トランザクションが 行われる。据置かれたバス・トランザクションが行われると、据置かれた応答を 生成することができる。本発明では、既存のバス・アーキテクチャを再使用して 、そのアクセスが据置きタイプのアクセスであることを示している。すなわち、 本発明では、応答側エージェントがパイプライン化方式でその要求に応答しない ことを選んだ場合、据置き応答が行われ、応答側エージェントは要求側エージェ ントによって送信されたトークンをラッチする。このようにして、トークンは要 求側エージェントと応答側エージェントとの関係を維持している。要求側エージ ェントが通常の応答を待っている場合、要求側エージェントは、応答側エージェ ントが通常の応答ではなく、据置き応答を返したことを認識している。したがっ て、アドレス・バス上でトークンを送信できるようにすることにより、別個のト ークン・バスなどの追加のハードウェアは一切不要になる。このため、本発明で は、ピン数を増加せずに据置きトランザクションを行うことを考慮している。実 際には、要求経路と応答経路用に別々のトークン・バスを用意する必要がないの で、本発明は、各パッケージが据置きバス・トランザクションを実行するのに必 要なピン数を削減する。 本発明では、トークン管理の責任が要求側エージェントと応答側エージェント の両方に課せられている。要求側エージェントはトークンの供給を担当し、応答 側エージェントは適切な時期の据置かれた応答の供給を担当する。本発明では、 トークンを使用するように設計されたユニットだけがトークンを使用する。コン ピュータ・システムは、メモリ制御装置など、順序通り応答だけを生成し、据置 かれた応答を生成しないような他の応答エージェントも含むはずである。このよ うな「順序通り」エージェントは、必ずパイプライン化方式で完了信号またはデ ータあるいはその両方を返す。したがって、本発明により、据置かれた応答を生 成可能な他のエージェントが存在する場合に論理的な負担がゼロでより単純な順 序通り応答エージェントの設計が可能になる。 上記の説明を読んだ後、当業者には本発明の多くの変更および修正が明らかに なるだろうが、例示のために図示し説明した特定の実施形態は限定的なものとみ なすべきではないことに留意されたい。したがって、好ましい実施形態の細部に 言及しても請求の範囲を限定するものではなく、請求の範囲では本発明にとって 不可欠と見なされる特徴のみを列挙する。 したがって、コンピュータ・システム内で据置きバス・トランザクションを実 行するための方法および装置について説明してきた。
【手続補正書】特許法第184条の8 【提出日】1996年6月17日 【補正内容】 補正請求の範囲 1.複数のバス・トランザクションをパイプライン化方式で実行できるように、 アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス操作 を実行するための方法において、この方法は、 アドレス・バス上で、第1のエージェントによって実行されるアドレスを励起 するステップを含む、バス操作の一部としてバス要求を開始するステップと、 アドレス後にアドレス・バス上で、第1のエージェントによって実行される第 1のトークンを励起するステップと、 第1のエージェントに第1の応答を出力し、第2のエージェントがアドレスに 応じて据置き応答を出力する予定であることを示すステップと、 第2のエージェントによって受信される、アドレス・バスから第1のトークン を受信するステップと、 第2のエージェントによって励起される、アドレス・バス上で第2のトークン を励起するテップと、 第2のエージェントから第1のエージェントへ据置かれた応答を送信するステ ップと、 第1のエージェントが第2のトークンをアドレスに対応するものとして識別す るように、アドレス・バスから第1のエージェントが第2のトークンを受信する ステップと、 第1のエージェントによる据置かれた応答を受信して、バス操作を完了するス テップと を含むことを特徴とする方法。 2.第1のトークンと第2のトークンを比較して、第1のトークンと第2のトー クンが同じであるかどうかを判定することにより、第1のエージェントが第2の トークンをアドレスに対応するものとして識別するように、第2のトークンが第 1のトークンと同じであることを特徴とする請求項1に記載の方法。 3.第1のトークンを励起するステップが、アドレスがアドレス・バス上に励起 された後で第1のトークンをアドレス・バス上に励起するステップを含むことを 特徴とする請求項1に記載の方法。 4.アドレスがアドレス・バス上に励起された直後のクロック中に第1のトーク ンがアドレス・バスに励起されることを特徴とする請求項3に記載の方法。 5.第2のトークンを励起するステップが、アドレス・バスがトークン情報を含 むことを示す少なくとも1つの信号をアサートするステップを含むことを特徴と する請求項1に記載の方法。 6.据置かれた応答を送信するステップが、少なくとも1つの完了信号を第1の エージェントに送信するステップを含むことを特徴とする請求項1に記載の方法 。 7.据置き応答を送信するステップが、データ・バス上でデータを励起するステ ップを含むことを特徴とする請求項1に記載の方法。 8.据置き応答を受信するステップが、据置き応答をバス要求に関連付けるため に第2のトークンを第1のトークンと突き合わせるステップを含むことを特徴と する請求項1に記載の方法。 9.複数のバス・トランザクションをパイプライン化方式で実行できるように、 アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス操作 を実行するための方法において、この方法が、 第1のエージェントによって実行される、アドレス・バス上でアドレスを励起 するステップと、 第1のエージェントによって実行される、アドレス後にアドレス・バス上で第 1のトークンを励起するステップと、 第1のエージェントに応答を出力し、そのアドレスが据置かれた応答を受信す る予定であることを示すステップと、 第2のエージェントがアドレス・バスから第1のトークンを受信するステップ と、 第2のエージェントによって、アドレス・バス上に第2のトークンを励起する ステップと、 第2のエージェントによって、アドレスに対応する据置かれた応答を送信する ステップと、 第1のエージェントが、アドレス・バスから第2のトークンを受信するステッ プと、 第2のトークンを第1のトークンと比較するステップと、 バス操作が完了するように、第2のトークンと第1のトークンが一致する場合 に据置かれた応答を受信するステップと を含むことを特徴とする方法。 10.第2のトークンを励起するステップが、アドレス・バスがトークン情報を 含むことを示す少なくとも1つの信号をアサートするステップを含むことを特徴 とする請求項9に記載の方法。 11.据置かれた応答を送信するステップが、少なくとも1つの完了信号を第1 のエージェントに送信するステップを含むことを特徴とする請求項9に記載の方 法。 12.据置かれた応答を送信するステップが、データ・バス上でデータを励起す るステップを含むことを特徴とする請求項9に記載の方法。 13.据置かれた応答を受信するステップが、据置かれた応答をバス要求に関連 付けるために第2のトークンを第1のトークンと突き合わせるステップを含むこ とを特徴とする請求項9に記載の方法。 14.アドレス情報を連絡するためのバス手段と、 バスに結合され、バス・トランザクションを開始するためのバス要求を生成す ることができるとともに、各要求とともにバス上で第1のトークンを出力する少 なくとも1つの要求側エージェントと、 バスに結合され、前記少なくとも1つの要求側エージェントからの要求に応答 することができる少なくとも1つの応答側エージェントと を含むコンピュータ・システムにおいて、 前記少なくとも1つの応答側エージェントが、第1のバス・トランザクション が完了するように前記少なくとも1つの応答側エージェントが要求を完了する準 備ができていないときに前記要求を満足するために据置き応答が前記少なくとも 1つの応答側エージェントによって行われる予定であることを示す応答を出力し 、前記少なくとも1つの応答側エージェントがバス手段から第1のトークンを受 信し、 前記少なくとも1つの応答側エージェントが、アドレス・バス上で第2のトー クンを励起し、準備ができているときに第2のバス・トランザクションとして据 置かれた応答を励起し、前記少なくとも1つの要求側エージェントがアドレス・ バスから第2のトークンを受信し、前記少なくとも1つの要求側エージェントが 据置かれた応答を受信し、第2のトランザクションをバス操作を完了するように 、前記少なくとも1つの要求側エージェントが第2のトークンを要求に対応する ものとして識別することを特徴とするコンピュータ・システム。 15.バス手段がアドレス・バスを含むことを特徴とする請求項14に記載のコ ンピュータ・システム。 16.複数の要求側ユニットのうちの1つからの要求に対応するデータが使用可 能ではないので、前記少なくとも1つの応答側エージェントが応答する準備がで きていないことを特徴とする請求項14に記載のコンピュータ・システム。 17.複数のバス・トランザクションをパイプライン化方式で実行できるように 、アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス・ トランザクションを実行するための方法において、この方法が、 第1のエージェントによって実行される、第1のバス・トランザクションを開 始するための要求の一部としてアドレス・バス上でアドレスと第1のトークンを 励起するステップと、 第2のエージェントによって実行され、要求に応じて第1のトークンをラッチ することを含む据置き応答を送信するステップと、 第1のエージェントによって受信される、第1のバス・トランザクションを完 了するために据置き応答を受信するステップと、 第2のエージェントによって第2のバス・トランザクションの一部として送信 され、アドレス・バス上で第2のトークンを送信することを含む、据置かれた応 答を送信するステップと、 要求が2つのバス・トランザクション中に完了するように、第1のエージェン トが第2のバス・トランザクションを完了するために、要求に対応する据置かれ た応答を識別するステップと、 を含むことを特徴とする方法。 18.識別するステップは、第1のトークンと第2のトークンとを比較し、第1 のトークンと第2のトークンが一致する場合に据置き応答を受信するステップを 含むことを特徴とする請求項17に記載の方法。 19.据置き応答を受信する際に参照として使用するためにアドレスと第1のト ークンをバッファするステップをさらに含むことを特徴とする請求項17に記載 の方法。 20.複数のバス・トランザクションをパイプライン化方式で実行できるように 、アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス・ トランザクションを実行するための方法において、この方法が、 第1のエージェントによって実行される、アドレス・バス上でアドレスを励起 するステップと、 第1のエージェントによって実行される、アドレス後にアドレス・バス上でト ークンを励起するステップと、 アドレス・バスからトークンを受信するステップと、 第2のエージェントによって実行される、アドレスに応じて据置き応答を励起 するステップと、 第1のバス・トランザクションを完了するように、第1のエージェントが据置 き応答を受信するステップと、 第2のバス・トランザクションの一部として第2エージェントから据置かれた 応答を送信するステップと、 第2エージェントからアドレス・バス上にトークンを再送信するステップと、 第1のエージェントがアドレス・バスからトークンを受信するステップと、 第2のバス・トランザクションを完了するために据置かれた応答を受信するス テップと を含むことを特徴とする方法。 21.第1のトークンがアドレスを含むことを特徴とする請求項14に記載の方 法。 22.アドレス・バスと、 データ・バスと、 制御バスと、 バス操作を実行するためにアドレス・バス、データ・バス、制御バスに結合さ れた第1のバス・エージェントとを含むコンピュータ・システムにおいて、第1 のバス・エージェントが、第1のクロック・サイクル中にアドレス・バス上に要 求の要求アドレスを励起し、第2のクロック・サイクル中に要求識別情報を励起 することにより、第1のバス・トランザクションを開始することによってバス操 作を開始し、要求を満足するための即時応答または要求に対する応答が据え置か れることを示す制御バス上での据置き応答表示を受信したときに第1のバス・ト ランザクションを終了することを特徴とするコンピュータ・システム。 23.第1のバス・エージェントに即時応答を出力するための第2のバス・エー ジェントをさらに含むことを特徴とする請求項22に記載のコンピュータ・シス テム。 24.第1のバス・エージェントに据置き応答を出力するための第2のバス・エ ージェントをさらに含むことを特徴とする請求項22に記載のコンピュータ・シ ステム。 25.第1のクロック・サイクルと第2のクロック・サイクルが連続するクロッ ク・サイクルであることを特徴とする請求項22に記載のコンピュータ・システ ム。 26.第2のバス・トランザクションを実行するために第2のバス・エージェン トがさらに使用され、第2のバス・エージェントが、アドレス・バス上の要求識 別情報と据置き応答を励起することにより、第2のバス・トランザクションを開 始することを特徴とする請求項24に記載のコンピュータ・システム。 27.第1のバス・エージェントが、要求識別情報据置き応答を受信し、バス操 作を完了するために据置き応答を第1のバス・トランザクションの要求に関連付 けることを特徴とする請求項26に記載のコンピュータ・システム。 28.第1のバス・エージェントが、要求識別情報を使用して、据置き応答を要 求に関連付けることを特徴とする請求項27に記載のコンピュータ・システム。 29.要求識別情報がトークンを含むことを特徴とする請求項22に記載のコン ピュータ・システム。 30.応答バスとアドレス・バスとデータ・バスとを含むバスにそれぞれが結合 された要求側エージェントと応答側エージェントを有するコンピュータ・システ ム内でバス・トランザクションを実行する方法において、各バス・トランザクシ ョンは所定の応答フェーズを有し、そのバス・トランザクションが要求されたの と同じ順序で完了するように、バスが順序付けられ、パイプライン化され、この 方法が、 第1のトランザクションの第1のクロック・サイクル中にアドレス・バス上に アドレスを出し、第1のトランザクションの第2のクロック・サイクル中にアド レス・バス上にトークンを出すことにより、要求側エージェントが第1のバス・ トランザクションを要求するステップと、 応答側エージェントが第1のバス・トランザクションを実行する準備ができて いる場合に、応答側エージェントが、第1のバス・トランザクションの応答フェ ーズ中に応答バス上に順序通り完了応答を励起するステップと、 応答側エージェントが第1のバス・トランザクションを実行する準備ができて いない場合に、 応答側エージェントが第1のバス・トランザクションの応答フェーズ中に応 答バス上に据置き応答を励起するステップであって、応答側エージェントが応答 する準備ができると、応答側エージェントが第2のバス・トランザクションを開 始し、第2のバス・トランザクションの応答フェーズ中にアドレス・バス上に据 置からた応答を、アドレス・バス上に第2のトークンを、データ・バス上に要求 されたデータを励起するステップとを含むことを特徴とする方法。 31.バスと、 バスに結合された要求側エージェントであって、第1のバス・トランザクショ ンの第1のクロック・サイクル中にバス上にアドレスを励起し、第1のバス・ト ランザクションの第2のクロック・サイクル中に要求識別情報を励起することに より、第1のバス・トランザクション中にバス上に要求を出すための要求側エー ジェントとを含むコンピュータ・システムにおいて、前記要求側エージェントが 、 保留データ要求を格納するための保留据置き待ち行列と、 第2のバス・トランザクション中のバス上の後続据置き応答を保留据置き待ち 行列内の応答に対応するものとして認識するための第1の論理回路とを含み、要 求側エージェントが、未据置きの場合とほぼ同様に要求に対する応答として据置 き応答を処理することを特徴とするコンピュータ・システム。 32.アドレス・バスと、 アドレス・バスに結合された要求側エージェントであって、 バス・トランザクションの一部として各バス要求ごとに連続するバス・サイク ル中にアドレス・バス上にトークンおよびアドレスを出すための手段を含む要求 側エージェントとを含むことを特徴とするコンピュータ・システム。 33.要求側エージェントが、 据え置かれていない場合と同様に、アドレス・バス上の据置き応答に応答する ための手段をさらに含むことを特徴とする請求項32に記載のコンピュータ・シ ステム。 34.アドレス・バスと、 応答バスと、 データ・バスとを含むバスと、 バスに結合された要求側エージェントであって、要求側エージェントが、各ア ドレス要求ごとにアドレス・バス上にトークンを出し、要求に応じて据置き応答 を処理し、据置かれた応答を受信するまで保留として要求を管理する要求側エー ジェントと、 バスに結合された応答側エージェントであって、応答側エージェントが、第1 のトランザクションの所定の期間中にトランザクションを完了できないときに据 置き応答を生成し、応答側エージェントが実質的にトランザクションを完了でき るときにトークンを含む据置かれた応答を生成する応答側エージェントとを含む ことを特徴とするコンピュータ・システム。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AT,AU,BB,BG,BR,BY,C A,CH,CN,CZ,CZ,DE,DE,DK,DK ,EE,ES,FI,FI,GB,GE,HU,IS, JP,KE,KG,KP,KR,KZ,LK,LR,L T,LU,LV,MD,MG,MK,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SK,TJ,TM,TT,UA,U G,UZ,VN (72)発明者 シン,ガービル アメリカ合衆国・97229・オレゴン州・ポ ートランド・ノースウエスト 95ティエイ チ アヴェニュ・175 (72)発明者 マックウイリアムズ,ピーター・ディ アメリカ合衆国・97007・オレゴン州・ア ロハ・サウスウエスト ナンシー レー ン・20145

Claims (1)

  1. 【特許請求の範囲】 1.複数のバス・トランザクションをパイプライン化方式で実行できるように、 アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス操作 を実行するための方法において、この方法が、 バス操作の一部としてバス要求を開始するステップであって、バス要求を開始 するステップがアドレス・バス上でアドレスを励起するステップを含み、アドレ スを励起するステップが第1のエージェントによって実行されるステップと、 アドレス後にアドレス・バス上で第1のトークンを励起するステップであって 、第1のトークンを励起するステップが第1のエージェントによって実行される ステップと、 第1のエージェントに第1の応答を出力し、第2のエージェントがアドレスに 応じて据置き応答を出力する予定であることを示すステップと、 アドレス・バスから第1のトークンを受信するステップであって、第1のトー クンが第2のエージェントによって受信されるステップと、 アドレス・バス上で第2のトークンを励起するステップであって、第2のトー クンが第2のエージェントによって励起されるステップと、 第1のエージェントに据置き応答を送信するステップであって、据置き応答が 第2のエージェントによって送信されるステップと、 アドレス・バスから第2のトークンを受信するステップであって、第1のエー ジェントが第2のトークンをアドレスに対応するものとして識別するように、第 2のトークンが第1のエージェントによって受信されるステップと、 第1のエージェントによる据置き応答を受信して、バス操作を完了するステッ プとを含むことを特徴とする方法。 2.第1のトークンと第2のトークンを比較して、第1のトークンと第2のトー クンが同じであるかどうかを判定することにより、第1のエージェントが第2の トークンをアドレスに対応するものとして識別するように、第2のトークンが第 1のトークンと同じであることを特徴とする請求項1に記載の方法。 3.第1のトークンを励起するステップが、アドレスがアドレス・バス上に励起 された後で第1のトークンをアドレス・バス上に励起するステップを含むことを 特徴とする請求項1に記載の方法。 4.アドレスがアドレス・バス上に励起された直後のクロック中に第1のトーク ンがアドレス・バスに励起されることを特徴とする請求項3に記載の方法。 5.第2のトークンを励起するステップが、アドレス・バスがトークン情報を含 むことを示す少なくとも1つの信号をアサートするステップを含むことを特徴と する請求項1に記載の方法。 6.据置き応答を送信するステップが、少なくとも1つの完了信号を第1のエー ジェントに送信するステップを含むことを特徴とする請求項1に記載の方法。 7.据置き応答を送信するステップが、データ・バス上でデータを励起するステ ップを含むことを特徴とする請求項1に記載の方法。 8.据置き応答を受信するステップが、据置き応答をバス要求に関連付けるため に第2のトークンを第1のトークンと突き合わせるステップを含むことを特徴と する請求項1に記載の方法。 9.複数のバス・トランザクションをパイプライン化方式で実行できるように、 アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス操作 を実行するための方法において、この方法が、 アドレス・バス上でアドレスを励起するステップであって、アドレスを励起す るステップが第1のエージェントによって実行されるステップと、 アドレス後にアドレス・バス上で第1のトークンを励起するステップであって 、第1のトークンを励起するステップが第1のエージェントによって実行される ステップと、 第1のエージェントに応答を出力し、そのアドレスが据置き応答を受信する予 定であることを示すステップと、 アドレス・バスから第1のトークンを受信するステップであって、第1のトー クンが第2のエージェントによって受信されるステップと、 アドレス・バス上で第2のトークンを励起するステップであって、第2のトー クンが第2のエージェントによって励起されるステップと、 アドレスに対応する据置き応答を送信するステップであって、据置き応答が第 2のエージェントによって送信されるステップと、 アドレス・バスから第2のトークンを受信するステップであって、第2のトー クンが第1のエージェントによって受信されるステップと、 第2のトークンを第1のトークンと比較するステップと、 バス操作が完了するように、第2のトークンと第1のトークンが一致する場合 に据置き応答を受信するステップとを含むことを特徴とする方法。 10.第2のトークンを励起するステップが、アドレス・バスがトークン情報を 含むことを示す少なくとも1つの信号をアサートするステップを含むことを特徴 とする請求項9に記載の方法。 11.据置き応答を送信するステップが、少なくとも1つの完了信号を第1のエ ージェントに送信するステップを含むことを特徴とする請求項9に記載の方法。 12.据置き応答を送信するステップが、データ・バス上でデータを励起するス テップを含むことを特徴とする請求項9に記載の方法。 13.据置き応答を受信するステップが、据置き応答をバス要求に関連付けるた めに第2のトークンを第1のトークンと突き合わせるステップを含むことを特徴 とする請求項9に記載の方法。 14.アドレス情報を連絡するためのバス手段と、 バスに結合された少なくとも1つの要求側エージェントであって、前記少なく とも1つの要求側エージェントが、第1のバス・トランザクションを開始するた めのバス要求を生成することができ、各要求とともに第1のバス上で第1のトー クンを出力する要求側エージェントと、 バスに結合された少なくとも1つの応答側エージェントであって、前記少なく とも1つの応答側エージェントが、前記少なくとも1つの要求側エージェントか らの要求に応答することができる応答側エージェントとを含むコンピュータ・シ ステムにおいて、 前記少なくとも1つの応答側エージェントが、第1のバス・トランザクション が完了するように前記少なくとも1つの応答側エージェントが要求を完了する準 備ができていないときに前記要求を満足するために据置き応答が前記少なくとも 1つの応答側エージェントによって行われる予定であることを示す応答を出力し 、 前記少なくとも1つの応答側エージェントがバス手段から第1のトークンを受信 し、 前記少なくとも1つの応答側エージェントが、アドレス・バス上で第2のトー クンを励起し、準備ができているときに第2のバス・トランザクションとして据 置き応答を励起し、前記少なくとも1つの要求側エージェントがアドレス・バス から第2のトークンを受信し、前記少なくとも1つの要求側エージェントが据置 き応答を受信し、第2のトランザクションをバス操作を完了するように、前記少 なくとも1つの要求側エージェントが第2のトークンを要求に対応するものとし て識別することを特徴とする、コンピュータ・システム。 15.バス手段がアドレス・バスを含むことを特徴とする請求項14に記載のコ ンピュータ・システム。 16.複数の要求側ユニットのうちの1つからの要求に対応するデータが使用可 能ではないので、前記少なくとも1つの応答側エージェントが応答する準備がで きていないことを特徴とする請求項14に記載のコンピュータ・システム。 17.複数のバス・トランザクションをパイプライン化方式で実行できるように 、アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス・ トランザクションを実行するための方法において、この方法が、 第1のバス・トランザクションを開始するための要求の一部としてアドレス・ バス上でアドレスと第1のトークンを励起するステップであって、アドレスを励 起するステップが第1のエージェントによって実行されるステップと、 要求に応じて据置き応答を送信するステップであって、据置き要求を送信する ステップが第2のエージェントによって実行され、据置き応答を送信するステッ プが第1のトークンをラッチすることを含むステップと、 第1のバス・トランザクションを完了するために据置き応答を受信するステッ プであって、据置き応答が第1のエージェントによって受信されるステップと、 第2のバス・トランザクションの一部として据置き応答を送信するステップで あって、据置き応答が第2のエージェントによって送信され、据置き応答を送信 するステップがアドレス・バス上で第2のトークンを送信することを含むステッ プと、 要求に対応する据置き応答を識別するステップであって、識別するステップは 、要求が2つのバス・トランザクション中に完了するように、第1のエージェン トが第2のバス・トランザクションを完了するために据置き応答を受信すること を含むステップとを含むことを特徴とする方法。 18.識別するステップは、第1のトークンと第2のトークンとを比較し、第1 のトークンと第2のトークンが一致する場合に据置き応答を受信するステップを 含むことを特徴とする請求項17に記載の方法。 19.据置き応答を受信する際に参照として使用するためにアドレスと第1のト ークンをバッファするステップをさらに含むことを特徴とする請求項17に記載 の方法。 20.複数のバス・トランザクションをパイプライン化方式で実行できるように 、アドレス・バスとデータ・バスとを有するコンピュータ・システム内でバス・ トランザクションを実行するための方法において、この方法が、 アドレス・バス上でアドレスを励起するステップであって、アドレスを励起す るステップが第1のエージェントによって実行されるステップと、 アドレス後にアドレス・バス上でトークンを励起するステップであって、励起 するステップが第1のエージェントによって実行されるステップと、 アドレス・バスからトークンを受信するステップと、 アドレスに応じて据置き応答を励起するステップであって、据置き応答を励起 するステップが第2のエージェントによって実行されるステップと、 据置き応答を受信するステップであって、第1のバス・トランザクションを完 了するために据置き応答が第1のエージェントによって受信されるステップと、 第2のバス・トランザクションの一部として据置き応答を送信するステップと 、 アドレス・バス上でトークンを再送信するステップであって、据置き応答とト ークンが第2のエージェントによって送信されるステップと、 アドレス・バスからトークンを受信するステップであって、トークンが第1の エージェントによって受信されるステップと、 第2のバス・トランザクションを完了するために据置き応答を受信するステッ プとを含むことを特徴とする方法。 21.第1のトークンがアドレスを含むことを特徴とする請求項14に記載の方 法。 22.アドレス・バスと、 データ・バスと、 制御バスと、 バス操作を実行するためにアドレス・バス、データ・バス、制御バスに結合さ れた第1のバス・エージェントとを含むコンピュータ・システムにおいて、第1 のバス・エージェントが、第1のクロック・サイクル中にアドレス・バス上に要 求の要求アドレスを励起し、第2のクロック・サイクル中に要求識別情報を励起 することにより、第1のバス・トランザクションを開始することによってバス操 作を開始し、要求を満足するための即時応答または要求に対する応答が据え置か れることを示す制御バス上での据置き応答表示を受信したときに第1のバス・ト ランザクションを終了することを特徴とする、コンピュータ・システム。 23.第1のバス・エージェントに即時応答を出力するための第2のバス・エー ジェントをさらに含むことを特徴とする請求項22に記載のコンピュータ・シス テム。 24.第1のバス・エージェントに据置き応答を出力するための第2のバス・エ ージェントをさらに含むことを特徴とする請求項22に記載のコンピュータ・シ ステム。 25.第1のクロック・サイクルと第2のクロック・サイクルが連続するクロッ ク・サイクルであることを特徴とする請求項22に記載のコンピュータ・システ ム。 26.第2のバス・トランザクションを実行するために第2のバス・エージェン トがさらに使用され、第2のバス・エージェントが、アドレス・バス上の要求識 別情報と据置き応答を励起することにより、第2のバス・トランザクションを開 始することを特徴とする請求項24に記載のコンピュータ・システム。 27.第1のバス・エージェントが、要求識別情報据置き応答を受信し、バス操 作を完了するために据置き応答を第1のバス・トランザクションの要求に関連付 けることを特徴とする請求項26に記載のコンピュータ・システム。 28.第1のバス・エージェントが、要求識別情報を使用して、据置き応答を要 求に関連付けることを特徴とする請求項27に記載のコンピュータ・システム。 29.要求識別情報がトークンを含むことを特徴とする請求項22に記載のコン ピュータ・システム。 30.応答バスとアドレス・バスとデータ・バスとを含むバスにそれぞれが結合 された要求側エージェントと応答側エージェントを有するコンピュータ・システ ム内でバス・トランザクションを実行する方法において、各バス・トランザクシ ョンが所定の応答フェーズを有し、そのバス・トランザクションが要求されたの と同じ順序で完了するように、バスが順序付けられ、パイプライン化され、この 方法が、 第1のトランザクションの第1のクロック・サイクル中にアドレス・バス上に アドレスを出し、第1のトランザクションの第2のクロック・サイクル中にアド レス・バス上にトークンを出すことにより、要求側エージェントが第1のバス・ トランザクションを要求するステップと、 応答側エージェントが第1のバス・トランザクションを実行する準備ができて いる場合に、応答側エージェントが、第1のバス・トランザクションの応答フェ ーズ中に応答バス上に順序通り完了応答を励起するステップと、 応答側エージェントが第1のバス・トランザクションを実行する準備ができて いない場合に、 応答側エージェントが第1のバス・トランザクションの応答フェーズ中に応 答バス上に据置き応答を励起するステップであって、応答側エージェントが応答 する準備ができると、応答側エージェントが第2のバス・トランザクションを開 始し、第2のバス・トランザクションの応答フェーズ中にアドレス・バス上に据 置き応答を、アドレス・バス上に第2のトークンを、データ・バス上に要求され たデータを励起するステップとを含むことを特徴とする方法。 31.バスと、 バスに結合され、第1のバス・トランザクション中にバス上に要求を出すため の要求側エージェントとを含むコンピュータ・システムにおいて、前記要求側エ ージェントが、 保留要求データを格納するための保留据置き待ち行列と、 第2のバス・トランザクション中のバス上の後続据置き応答を保留据置き待ち 行列内の応答に対応するものとして認識するための第1の論理回路とを含み、要 求側エージェントが、未据置きの場合とほぼ同様に要求に対する応答として据置 き応答を処理することを特徴とする、コンピュータ・システム。 32.アドレス・バスと、 アドレス・バスに結合された要求側エージェントであって、 アドレス・バスの介在クロック・サイクル中にアドレス・バス上にトークンを 出すための手段を含む要求側エージェントとを含むことを特徴とする、コンピュ ータ・システム。 33.要求側エージェントが、 据え置かれていない場合と同様に、アドレス・バス上の据置き応答に応答する ための手段をさらに含むことを特徴とする請求項32に記載のコンピュータ・シ ステム。 34.アドレス・バスと、 応答バスと、 データ・バスとを含むバスと、 バスに結合された要求側エージェントであって、要求側エージェントが、各ア ドレス要求ごとにアドレス・バス上にトークンを出し、要求に応じて据置き応答 を処理し、据置き応答を受信するまで保留として要求を管理する要求側エージェ ントと、 バスに結合された応答側エージェントであって、応答側エージェントが、第1 のトランザクションの所定の期間中にトランザクションを完了できないときに据 置き応答を生成し、応答側エージェントが実質的にトランザクションを完了でき るときにトークンを含む据置き応答を生成する応答側エージェントとを含むこと を特徴とする、コンピュータ・システム。
JP50965696A 1994-09-08 1995-09-08 据置きトランザクションを実行するための方法および装置 Expired - Lifetime JP3771260B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/302,600 US5615343A (en) 1993-06-30 1994-09-08 Method and apparatus for performing deferred transactions
US08/302,600 1994-09-08
PCT/US1995/011315 WO1996007970A1 (en) 1994-09-08 1995-09-08 Method and apparatus for performing deferred transactions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005343925A Division JP4157127B2 (ja) 1994-09-08 2005-11-29 据置きトランザクションを実行するための方法および装置

Publications (2)

Publication Number Publication Date
JPH10505184A true JPH10505184A (ja) 1998-05-19
JP3771260B2 JP3771260B2 (ja) 2006-04-26

Family

ID=23168453

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50965696A Expired - Lifetime JP3771260B2 (ja) 1994-09-08 1995-09-08 据置きトランザクションを実行するための方法および装置
JP2005343925A Expired - Lifetime JP4157127B2 (ja) 1994-09-08 2005-11-29 据置きトランザクションを実行するための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005343925A Expired - Lifetime JP4157127B2 (ja) 1994-09-08 2005-11-29 据置きトランザクションを実行するための方法および装置

Country Status (7)

Country Link
US (4) US5615343A (ja)
JP (2) JP3771260B2 (ja)
KR (1) KR100253753B1 (ja)
AU (1) AU3506295A (ja)
BR (1) BR9508906C1 (ja)
DE (1) DE19580990C2 (ja)
WO (1) WO1996007970A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097029A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited プロセッサ装置および命令処理方法
WO2007096980A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 記録制御装置および記録制御方法

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615343A (en) * 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
USRE38428E1 (en) 1995-05-02 2004-02-10 Apple Computer, Inc. Bus transaction reordering in a computer system having unordered slaves
US6108735A (en) * 1995-09-29 2000-08-22 Intel Corporation Method and apparatus for responding to unclaimed bus transactions
US5802055A (en) * 1996-04-22 1998-09-01 Apple Computer, Inc. Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads
KR100280285B1 (ko) 1996-08-19 2001-02-01 윤종용 멀티미디어 신호에 적합한 멀티미디어 프로세서
US5923857A (en) * 1996-09-06 1999-07-13 Intel Corporation Method and apparatus for ordering writeback data transfers on a bus
US5878235A (en) * 1996-10-03 1999-03-02 Micron Electronics, Inc. Method and system for concurrent computer transaction processing
US6173349B1 (en) * 1996-10-18 2001-01-09 Samsung Electronics Co., Ltd. Shared bus system with transaction and destination ID
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
US5930485A (en) * 1997-01-07 1999-07-27 Apple Computer, Inc. Deadlock avoidance in a computer system having unordered slaves
DE19712799A1 (de) 1997-03-26 1998-10-01 Siemens Nixdorf Inf Syst Abhängigkeitssteuerung für überlappende Speicherzugriffe
US6128677A (en) * 1997-10-15 2000-10-03 Intel Corporation System and method for improved transfer of data between multiple processors and I/O bridges
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
US6112270A (en) * 1997-10-31 2000-08-29 International Business Machines Corporation Method and system for high speed transferring of strictly ordered bus operations by reissuing bus operations in a multiprocessor system
US6145038A (en) * 1997-10-31 2000-11-07 International Business Machines Corporation Method and system for early slave forwarding of strictly ordered bus operations
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6195722B1 (en) * 1998-01-26 2001-02-27 Intel Corporation Method and apparatus for deferring transactions on a host bus having a third party agent
US6073198A (en) * 1998-03-31 2000-06-06 Micron Electronics, Inc. System for peer-to-peer mastering over a computer bus
US6223238B1 (en) 1998-03-31 2001-04-24 Micron Electronics, Inc. Method of peer-to-peer mastering over a computer bus
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
TW523672B (en) * 1999-04-23 2003-03-11 Via Tech Inc Bus system delayed transaction method and device applying the method
US6609171B1 (en) 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
US6813767B1 (en) * 2000-06-30 2004-11-02 Intel Corporation Prioritizing transaction requests with a delayed transaction reservation buffer
US6450882B1 (en) * 2000-08-30 2002-09-17 Liberty Diversified Industries, Inc. Precipitation resistant ridge vent
US6993663B1 (en) * 2000-08-31 2006-01-31 Microsoft Corporation Input buffer overrun checking and prevention
US20020087766A1 (en) * 2000-12-29 2002-07-04 Akhilesh Kumar Method and apparatus to implement a locked-bus transaction
US6742160B2 (en) 2001-02-14 2004-05-25 Intel Corporation Checkerboard parity techniques for a multi-pumped bus
US6968409B1 (en) * 2001-08-29 2005-11-22 Lsi Logic Corporation Method and apparatus of establishing a dynamically adjustable loop of delayed read commands for completion in a queue buffer
US6961800B2 (en) * 2001-09-28 2005-11-01 Hewlett-Packard Development Company, L.P. Method for improving processor performance
US6807593B1 (en) * 2001-11-01 2004-10-19 Lsi Logic Corporation Enhanced bus architecture for posted read operation between masters and slaves
US7085866B1 (en) * 2002-02-19 2006-08-01 Hobson Richard F Hierarchical bus structure and memory access protocol for multiprocessor systems
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
US7085889B2 (en) * 2002-03-22 2006-08-01 Intel Corporation Use of a context identifier in a cache memory
TWI282513B (en) * 2002-06-12 2007-06-11 Mediatek Inc A pre-fetch device of instruction for an embedded system
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7254658B2 (en) * 2004-06-08 2007-08-07 Arm Limited Write transaction interleaving
US7779188B2 (en) * 2005-03-22 2010-08-17 Intel Corporation System and method to reduce memory latency in microprocessor systems connected with a bus
US7386683B2 (en) * 2005-03-29 2008-06-10 International Business Machines Corporation Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture
US7373462B2 (en) 2005-03-29 2008-05-13 International Business Machines Corporation Snoop filter for filtering snoop requests
US20080282034A1 (en) * 2005-09-19 2008-11-13 Via Technologies, Inc. Memory Subsystem having a Multipurpose Cache for a Stream Graphics Multiprocessor
US20070067567A1 (en) * 2005-09-19 2007-03-22 Via Technologies, Inc. Merging entries in processor caches
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8250396B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8516484B2 (en) 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8732683B2 (en) 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8312458B2 (en) 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8171476B2 (en) 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8316218B2 (en) * 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8015379B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Wake-and-go mechanism with exclusive system bus response
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8225120B2 (en) 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8640141B2 (en) * 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8145849B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8788795B2 (en) * 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8880853B2 (en) 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US20090235083A1 (en) * 2008-02-20 2009-09-17 Micheal Bleahen System and method for preventing unauthorized access to information
US9443068B2 (en) 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
US8145805B2 (en) * 2008-06-09 2012-03-27 Emulex Design & Manufacturing Corporation Method for re-sequencing commands and data between a master and target devices utilizing parallel processing
US8145723B2 (en) * 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US8886919B2 (en) 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8082315B2 (en) * 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8230201B2 (en) * 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US9104581B2 (en) * 2010-06-24 2015-08-11 International Business Machines Corporation eDRAM refresh in a high performance cache architecture
WO2013070217A1 (en) * 2011-11-09 2013-05-16 Intel Corporation Method and apparatus for an agent interfacing with a pipelined backbone to locally handle transactions while obeying an ordering rule
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
WO2013095387A1 (en) 2011-12-20 2013-06-27 Intel Corporation Secure replay protected storage
US9122508B2 (en) 2012-06-15 2015-09-01 International Business Machines Corporation Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4181974A (en) * 1978-01-05 1980-01-01 Honeywell Information Systems, Inc. System providing multiple outstanding information requests
YU40357B (en) * 1978-01-05 1985-12-31 Honeywell Inf Systems System facilitating a higher number of contemporary information claims
US4488232A (en) * 1981-10-02 1984-12-11 Hughes Aircraft Company Self-adjusting, distributed control, access method for a multiplexed single-signal data bus
US4481625A (en) 1981-10-21 1984-11-06 Elxsi High speed data bus system
JPH0632056B2 (ja) * 1985-05-31 1994-04-27 松下電器産業株式会社 デ−タ処理装置
US4807118A (en) * 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
US5235684A (en) * 1988-06-30 1993-08-10 Wang Laboratories, Inc. System bus having multiplexed command/id and data
US5006982A (en) * 1988-10-21 1991-04-09 Siemens Ak. Method of increasing the bandwidth of a packet bus by reordering reply packets
US5197137A (en) * 1989-07-28 1993-03-23 International Business Machines Corporation Computer architecture for the concurrent execution of sequential programs
US5555425A (en) * 1990-03-07 1996-09-10 Dell Usa, L.P. Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
JP3524110B2 (ja) * 1992-11-06 2004-05-10 株式会社ルネサステクノロジ マイクロコンピュータシステム
US5528764A (en) 1992-12-24 1996-06-18 Ncr Corporation Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period
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
US5551005A (en) 1994-02-25 1996-08-27 Intel Corporation Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
BR9506997A (pt) 1994-03-01 1997-11-18 Intel Corp Arquitetura de barramento altamente canalizada
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
US5758106A (en) * 1994-06-30 1998-05-26 Digital Equipment Corporation Arbitration unit which requests control of the system bus prior to determining whether such control is required
US5699516A (en) * 1994-12-22 1997-12-16 Motorola, Inc. Method and apparatus for implementing a in-order termination bus protocol within a data processing system
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096980A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 記録制御装置および記録制御方法
US8176260B2 (en) 2006-02-24 2012-05-08 Fujitsu Limited Recording controller including snoop unit issuing invalidation request and response unit outputting notification indicating identification information for indentifying recording request and recording control method thereof
WO2007097029A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited プロセッサ装置および命令処理方法

Also Published As

Publication number Publication date
DE19580990T1 (de) 1997-08-21
DE19580990C2 (de) 1999-11-11
JP2006092575A (ja) 2006-04-06
BR9508906A (pt) 1997-10-28
JP4157127B2 (ja) 2008-09-24
JP3771260B2 (ja) 2006-04-26
KR970705792A (ko) 1997-10-09
US5937171A (en) 1999-08-10
KR100253753B1 (ko) 2000-04-15
US5615343A (en) 1997-03-25
US6405271B1 (en) 2002-06-11
AU3506295A (en) 1996-03-27
BR9508906C1 (pt) 2004-10-19
WO1996007970A1 (en) 1996-03-14
USRE38388E1 (en) 2004-01-13

Similar Documents

Publication Publication Date Title
JP3771260B2 (ja) 据置きトランザクションを実行するための方法および装置
US5568620A (en) Method and apparatus for performing bus transactions in a computer system
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US4949239A (en) System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US5068781A (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US4941083A (en) Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
JP2003518693A (ja) クアド・ポンプ・バス・アーキテクチャおよびプロトコル
CA2109043A1 (en) System and method for transferring data between multiple buses
JPH0473176B2 (ja)
US5903738A (en) Method and apparatus for performing bus transactions in a computer system
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
US6260091B1 (en) 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
US5923857A (en) Method and apparatus for ordering writeback data transfers on a bus
JP3602435B2 (ja) 制御チップセット間におけるデータトランザクション方法
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
JP3441521B2 (ja) バス・トランザクション実行の方法と装置
US20020169930A1 (en) Memory access control system, method thereof and host bridge
WO1998009221A1 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus
JP3404386B2 (ja) メモリアクセスレイテンシ増加回避方式
WO1998010350A1 (en) A data flow control mechanism for a bus supporting two-and three-agent transactions
US20020166039A1 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060209

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100217

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110217

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120217

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120217

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130217

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130217

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140217

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term