JPH0863426A - バス・トランザクション実行の方法と装置 - Google Patents

バス・トランザクション実行の方法と装置

Info

Publication number
JPH0863426A
JPH0863426A JP20155394A JP20155394A JPH0863426A JP H0863426 A JPH0863426 A JP H0863426A JP 20155394 A JP20155394 A JP 20155394A JP 20155394 A JP20155394 A JP 20155394A JP H0863426 A JPH0863426 A JP H0863426A
Authority
JP
Japan
Prior art keywords
bus
agent
address
token
data
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
JP20155394A
Other languages
English (en)
Other versions
JP3441521B2 (ja
Inventor
V Sarangder Nitin
ニティン・ブイ・サラングダー
Konrad K Lai
コンラッド・ケイ・レイ
Singu Garbia
ガービア・シングー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to JP20155394A priority Critical patent/JP3441521B2/ja
Publication of JPH0863426A publication Critical patent/JPH0863426A/ja
Application granted granted Critical
Publication of JP3441521B2 publication Critical patent/JP3441521B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は、バス・トランザクションをコン
ピュータ・システムの外部バス上で実行する方法と装置
に関する。 【構成】 本発明は、順不同回答がパイプライン化バ
ス・システムにおいて処理されることを可能にする方法
と装置を含む。順不同応答は、専用のトークン・バスの
使用なしで、コンピュータ・システムにおける要求エー
ジェントと応答エージェント両者の間でのトークンの送
信を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ム・バスのためのプロトコルの分野に関するものであ
り、特に、分割/遅延/順不同トランザクションを実行
するバスのためのプロトコルに関するものである。
【0002】
【従来の技術】コンピュータ・システムにおいて一般に
プロセッサ、メモリ、入出力(I/O)装置およびその
他の周辺装置のような装置間の転送はプロトコルに従っ
て行われる。これらの装置は、一般に、エージェントと
呼ばれる。プロトコルは、転送に関係する各装置に他の
装置がどのように動作しているかあるいは実行している
かを知らせる転送中の装置間に発生する接続(ハンドシ
ェーキング)の方法である。
【0003】コンピュータ・システムにおけるデータと
情報の転送は、典型的には、複数のバスを使用して実行
される。これらのバスは、2つの装置だけの間の専用バ
スであるか、あるいは、数多くの装置またはバス・エー
ジェントによって使われる非専用バスである。さらに、
システムにおけるバスは、特定タイプの情報の転送専用
となる場合もある。例えば、アドレス・バスは、アドレ
スを転送するために使われ、一方、データ・バスはデー
タを転送するために使われる。
【0004】バス・トランザクションは、通常、要求装
置、要求データ、または、バス上の相手先エージェント
からの完了信号を含む。要求には、通常、望まれたデー
タまたは望まれた装置のアドレスを含む要求タイプを示
すいくつかの制御信号が含まれる。要求されたアドレス
を含むアドレス空間にマップされる装置は、必要に応じ
てデータと共に完了信号を送り出すことによって応答す
る。
【0005】一部のコンピュータ・システムでは、バス
・トランザクションは、パイプライン方式で実行され
る。バス・トランザクションがパイプライン化される場
合、多数のバス・エージェントからの要求が同時に未処
理状態に置かれる。これは、別々のデータとアドレス・
バスが使われるという事実のために可能である。パイプ
ライン化されたトランザクションにおいては、要求アド
レスがアドレス・バス上に送り出される間、以前に要求
された(アドレス・バス上の)アドレスに対応するデー
タまたは信号がデータ・バス上に戻されることがある。
例えば、3個の要求がアドレス・バスに送り出されるな
らば、3個の応答が、データ・バスに発生する。ある種
のパイプライン化されたステムでは、完了応答は、それ
らが要求されたと同じ順番で発生する。しかし、別のパ
イプライン化されたステムでは、完了応答は、その対応
する要求と必ずしも同じ順番で発生する必要はない。こ
のようなタイプのバス・システムは、一般に、分割トラ
ンザクション・バス・システムと呼ばれる。
【0006】分割トランザクション・バスにおいては、
バス・トランザクションは、コンピュータ・システムの
要求をエージェントの1つに発信することから始まる。
要求に対応する応答は、その要求と完全に関連づけを解
かれる。応答の準備ができると、応答はそれ自身で動作
を開始し、何らかの方法で要求エージェントに戻す。本
発明の一つの実施例では、要求エージェントが戻りの際
に識別できるように、要求にタブが付される。
【0007】
【発明が解決しようとする課題】従来技術のコンピュー
タ・システムにおいては、分割トランザクションを実現
するため、システムは、データ応答をそのアドレス(す
なわち、その要求)に関連づける機能を必要とした。典
型的には、2つの別々のトークン・バスが使用される。
要求を実行する時、アドレスがアドレス・バス上へ送り
出される。同時に、あるトークンが第1のトークン・バ
ス上に送り出される。このトークンは、アドレス要求に
関連づけられる。そのトークンは、アドレス要求に応答
すべきエージェント(すなわち、応答エージェント)に
よって、受け取られる。応答準備ができると、応答エー
ジェントは、必要に応じて、データ・バス上へデータを
送り出す。同時に、応答エージェントは、第2のトーク
ン・バス上に同じトークンを送り出す。要求エージェン
トは、そのトークンを、元の要求に関連したものと認識
し、データまたは信号をラッチして、バス・トランザク
ションを完了する。かくして、従来技術においては、1
つの独立したトークン・バスが要求経路に関連づけら
れ、別のもう1つのトークン・バスがバス・トランザク
ションの応答経路に関連づけられる。
【0008】上記のような2つのトークン・バスの使用
は、外部バスとインターフェースするために必要なピン
の数を増加させることとなる。従来技術のトークン・バ
スは通常8ビット幅である。従って、2つの別々のトー
クン・バスの使用は、コンピュータ・システムに16ピ
ンの追加と、トークン・バス用にコンピュータ基板に割
り当てられる追加のスペースとを要求することになる。
更に、トークン・バス用に使われるピンは、また、シス
テム中のあらゆるバス・エージェント・パッケージに加
えられなければならない。かくして、システム中のあら
ゆるパッケージの費用は増加する。一方、マルチプロセ
ッサ・システムにおいては、長い待ち時間トランザクシ
ョンをそれより後刻発せられる短い待ち時間トランザク
ションの後にその処理順序を変える機能を備えるため、
分割トランザクションを可能ならしめるためのバンド幅
の増加が必須となる。分割トランザクション・バス配置
を実施させながらなおかつ必要なピンの数を減少させる
ことによって、集積回路チップ・パッケージの費用を減
少させることが望まれている。
【0009】
【課題を解決するための手段】本発明は、そのようなバ
ス・プロトコルを実現するための方法と装置を提供す
る。本発明のプロトコルは、2つの別々のトークン・バ
スを使用せずかつそれらのバスに関連づけられるピン数
の増加なしに、外部コンピュータ・バス上で分割トラン
ザクション処理を実現するための方法と装置とを提供す
る。
【0010】バス・トランザクションをコンピュータ・
システムで実行するための方法と装置を以下に記述す
る。本発明のコンピュータ・システムは、バス・トラン
ザクションをパイプライン方式で処理できるようにする
ための別々のデータおよびアドレス・バスを含む。本発
明は、アドレスをアドレス・バス上に送り出すための方
法と装置を含む。アドレスは、装置またはエージェント
によって送り出され、アドレス・バス上で順番づけられ
た一連のアドレスの1つになる。本発明は、また、アド
レス要求に対応する応答/データが準備されていない場
合、要求に応答して第1のトークンをデータ・バスに送
り出すための方法と装置を含む。一連のアドレスに対応
する一連の応答の順番が、一連のアドレス要求と同じま
まであるような時にトークンがバス上に送り出される。
要求装置は、第1のトークンを受け取り、内部に記憶す
る。
【0011】データが準備できると、応答装置は、アド
レス・バス上に第2のトークンを送り出す。また、応答
装置は、元のアドレスに対応するデータ・バス上に必要
なデータを送り出す。要求装置は、第2のトークンを受
け取り、その第2のトークンをその前のアドレス要求に
対応する第1のトークンと比較する。比較の結果、合致
していると判断すると、要求装置はデータ・バスからデ
ータを受け取り、それにより、バス・トランザクション
を完了させる。
【0012】
【実施例】本発明は、以下に記載される詳細な記述と添
付の本発明の好ましい実施例の図面とによって明確に理
解されるであろうが、これら記述と図面とは、本発明の
説明と理解のためのものであって、本発明を特定の実施
に制限するためのものと理解されるべきではない。
【0013】コンピュータ・システムにおける分割トラ
ンザクションを実施するための方法と装置を以下記述す
る。本発明の完全な理解を得るため、以下の本発明の詳
細な記述において、トークン・サイズや待ち行列サイズ
その他多数の特定の詳細な説明がなされるが、本発明を
これらの特定の詳細説明なしに実践できることは当業者
には明白であろう。また、周知の方法、機能、構成要素
および手順は、本発明を不必要に不明にさせないため、
その詳細な記述は行なわない。
【0014】図1には、本発明のコンピュータ・システ
ムの概要が、ブロック図で示されている。図1は、本発
明のコンピュータ・システムの全体的記述を行うため役
立つが、数多くのシステムの詳細はそこに示されていな
い点理解されるべきである。本発明の開示に必要な限
り、この仕様を備える他の図を参照しながら一層詳細な
説明を行う。更に、好ましい実施例を参照しながら本発
明を記述する。
【0015】図1には、本発明の好ましい実施例によっ
て活用されるコンピュータ・システムが示されていて、
このコンピュータ・システムは、一般に、プロセッサ−
システム・バスまたはその他の通信手段101と、情報
を処理するためにプロセッサ−システム・バに接続され
たプロセッサ102とを含む。本発明において、プロセ
ッサ−システム・バス101はアドレス・バス、データ
・バスおよび制御バスを含む。本発明の好ましい実施例
では、プロセッサ102は、データと命令をチップ上に
一時的に記憶するためのレベル1(L1)キャッシュと
通常呼ばれる内部キャッシュ・メモリを含む。プロセッ
サ102による使用のためのデータと命令を一時的に記
憶するため、レベル2(L2)キャッシュ・メモリ10
4がプロセッサ102に接続される。本発明の好ましい
実施例において、キャッシュ・メモリ104は、プロセ
ッサ102と同じチップ・パッケージに含められる。
【0016】同様に、プロセッサ−システム・バス10
1に接続されるのは、プロセッサ102と連係して情報
を処理するプロセッサ103である。プロセッサ103
は、プロセッサ102に類似又は同じプロセッサのよう
な並列プロセッサか、または、デジタル信号処理プロセ
ッサのようなコプロセッサである場合もある。コンピュ
ータ・システムにおける他の装置(例えば、プロセッサ
102、プロセッサ103等)による使用のためのデー
タと命令を一時的に記憶するレベル3( L3)キャッ
シュ・メモリ111およびL3キャッシュ・メモリ11
1へのアクセスを制御するためL3キャッシュ・コント
ローラ110が、また、プロセッサ−システム・バス1
01に接続される。また、L3キャッシュ・コントロー
ラ110は、メモリ−システム・バス115にも接続さ
れる。
【0017】情報を通信するためのメモリ−システム・
バスまたは他の通信手段115は、コンピュータ・シス
テムにおけるプロセッサ102と他の装置にメモリと入
出力(I/0)サブシステムへのアクセスを与えるた
め、プロセッサ102に接続される。メモリ・コントロ
ーラ122は、プロセッサ102(およびプロセッサ1
03)用の情報と命令を記憶するのための(一般に主記
憶装置と呼ばれる)RAMまたは他のダイナミック記憶
装置121へのアクセスを制御するためメモリ−システ
ム・バス115に接続される。情報と命令を記憶するた
めの磁気ディスクおよびディスク駆動装置のような大容
量データ記憶装置125、および、コンピュータ・ユー
ザへ情報を表示するためのブラウン管(CRT)や液晶
表示(LCD)のような表示装置123が、メモリ−シ
ステム・バス115に接続される。
【0018】入出力(I/0)ブリッジ124が、メモ
リ−システム・バス115およびI/Oバス(システム
・バス)131に接続され、メモリ−システム・バス1
15あるいはI/Oバス131上の装置が他のバス上の
装置との間でデータを転送するための通信経路またはゲ
ートウエイを提供する。特に、ブリッジ124は、バイ
ト/ワード/倍ワード・データ転送トラフィックをI/
Oバス131からメモリ−システム・バス115へ向か
わせる機能を持つ。
【0019】I/Oバス131は、コンピュータ・シス
テムにおける装置間の情報を通信する。I/Oバス13
1に接続される装置には、ブラウン管や液晶表示のよう
な表示装置132、コンピュータ・システムにおけるそ
の他の装置(例えば、プロセッサ102)へ情報やコマ
ンド選択を通信するための英数字等のキーを持つ英数字
入力装置133、および、カーソルの動きを制御するた
めのカーソル・コントローラ134が含まれる。更に、
コンピュータ画像の視覚表示を提供するためのプロッタ
またはプリンタ等のハード・コピー装置135、情報と
命令を記憶するための磁気ディスクおよびディスク駆動
装置のような大容量記憶装置136も、また、システム
・バス131に接続される。
【0020】もちろん、本発明のある特定の実施例で
は、上記の構成装置のすべてを必要としないし、また含
めない場合もある。例えば、ある実施例では、L3キャ
ッシュ・コントローラとL3キャッシュ・メモリは必要
でないかもしれない。そのような例では、プロセッサ1
02と103は、メモリ−システム・バス115に直結
する。また、他の実施例では、情報を表示するための表
示装置を装備することは必要でないかもしれない。本発
明のある実施例では、上記以外の構成装置を含むことも
あり得る。
【0021】本発明のバス・プロトコル 本発明のコンピュータ・システムにおける装置は、要求
エージェントと応答エージェントという2つの役割を演
ずる。要求エージェントは、他の装置からデータまたは
完了信号を受け取るための動作を要求することができる
装置である。応答エージェントは、上記動作/要求に応
答してデータまたは必要な信号を送ることによって要求
エージェントに応答することができる装置である。以下
の記述において使われる「エージェント」と「装置」と
いう用語は、互いに同じ意味を持つ。
【0022】本発明において、バス・トランザクション
は、パイプライン方式のコンピュータ・システムのバス
上で発生する。すなわち、複数のバス・トランザクショ
ンが同時に処理仕掛かり(または未決)となり、各トラ
ンザクションは完全に完了しない状態となる。従って、
要求エージェントがアドレスをアドレス・バス上へ送り
出すことによってバス・トランザクションを開始する
時、そのバス・トランザクションは、現在未決の多くの
バス・トランザクションの1つとなる可能性がある。バ
ス・トランザクションはパイプライン化されていても、
本発明は、分割バス・トランザクションを実施するの
で、本発明の中のバス・トランザクションは必ずしもす
べて順番に完了する必要はない。従って、本発明では、
要求への完了回答は順不同でよい。
【0023】本発明は、1つのバス・トランザクション
を実質的に2つの独立したトランザクションへ分割する
分割トランザクションが組み込まれている。第1のトラ
ンザクションには、要求エージェントによるデータ要求
(または完了信号)および応答エージェントによる応答
が含まれる。上記要求には、アドレス・バス上における
アドレスの送信が含まれる。上記応答には、エージェン
トが応答の準備ができている場合の要求されたデータ
(または完了信号)の送信が含まれる。この場合、バス
・トランザクションは完了する。しかしながら、エージ
ェントが要求に応じる準備ができていない場合、上記応
答には、トークンの送信が含まれる。この場合、第2の
トランザクションには、応答エージェントによる要求エ
ージェントへの要求されたデータ(または完了信号)と
共にトークンの再送信が含められ、これにより、要求エ
ージェントは、初めに要求したデータを受け取り、トラ
ンザクションを完了する。本発明に従ったバス・トラン
ザクションが、図2の流れ図で示される。
【0024】図2で、要求エージェントが1つの要求バ
スの占用を求めることからバス・トランザクションは始
まる(処理ブロック201)。本発明において、要求エ
ージェントはアドレス/バイト使用可能とコマンド・バ
ス占用を求める。占用が認められると、要求エージェン
トは、当業者に周知の方法で、アドレス・バス上へアド
レス形式の要求を送り出す(処理ブロック201)。
【0025】要求が一旦バス上へ置かれると、どの装置
が応答エージェントとなるべきかの判断がなされる(処
理ブロック203)。この判断には、応答エージェント
によってアドレス・バス上へ送り出されたアドレスを認
識することが含まれる。本発明の1つの実施例では、応
答エージェントは、要求アドレスを含むアドレス空間に
マップされている装置である。
【0026】次に、応答エージェントは、応答する準備
ができているかどうか判断する(処理ブロック20
4)。本発明のある実施例では、応答エージェントは、
要求されたデータがあれば、応答する準備ができている
こととされる。データがあれば、応答装置は、「順序通
り」の完了応答識別信号を送り、適切な時間にデータ・
バス上にデータまたは必要な信号を送出し(処理ブロッ
ク205)、バス・トランザクションを完了する。
【0027】応答エージェントがバス・トランザクショ
ンを完了する準備ができていない場合(例えば、応答エ
ージェントが応答を要求されている時間までにデータが
準備できない場合)、応答エージェントは、遅延応答を
発し、その適切な応答時間にデータ・バス上へ第1のト
ークンを送出する(処理ブロック206)。
【0028】要求エージェントは、遅延応答と第1のト
ークンを受け取る(処理ブロック207)。遅延応答と
第1のトークンは、適切な時間にシステム・バスからの
情報をラッチすることによって受け取られる。適切な時
間は、そのシステム・バスのパイプラインの特性によっ
て定まる。応答はパイプライン化されているので、要求
エージェントは、正確な時間にデータ・バスからの要求
に対応したデータをラッチすることができる。トークン
は、当初の要求と関連づけできる標識(ID)を付せら
れて、未決または中断待ち行列と呼ばれる待ち行列に入
れられる。
【0029】要求エージェントが遅延応答とそれに関連
づけられたトークンを受け取ると、その要求が満たされ
るまでに、数多くの追加トランザクションがバス上に出
される可能性がある。応答エージェントが遅延されたバ
ス・トランザクションを完了する準備ができた時(例え
ば、要求されたデータが、応答エージェントにとって使
用可能となった時)、応答エージェントは、要求バスの
占用を要求する(処理ブロック208)。
【0030】要求されたバス占有が応答エージェントに
与えられると、応答エージェントは遅延回答を送り出す
(処理ブロック209)。延期回答には、アドレス・バ
ス上に送出される第2のトークンと、コマンド・バス上
に送出される遅延回答コマンドと、応答/データ・バス
上に送出される応答/データとが含まれる。本発明の好
ましい実施例では、第2のトークンは第1のトークンと
同じである。
【0031】要求エージェントは、アドレス・バスを監
視し、遅延回答の一部としてそのトークンを受け取る
(処理ブロック210)。本発明において、要求エージ
ェントは、第2のトークンをラッチする。次に、要求エ
ージェントは、応答エージェントから送り出された第2
のトークンが第1のトークンと一致するかを判断する
(処理ブロック211)。要求エージェントは、応答エ
ージェントから送り出された第2のトークンとトランザ
クション未決待ち行列中の第1のトークン(またはその
他のいかなるトークン)との間のトークン比較を実行す
る。本発明において、要求エージェントが、アドレスと
トークンのためのアドレス・バスを常に監視し、アドレ
ス・バス上の信号を比較して、信号がそのエージェント
にマップされたアドレスの範囲内のアドレスを表わして
いるか、あるいは、トークンを表しているか否かを判断
する点に留意されるべきである。
【0032】要求エージェントが応答エージェントから
の第2のトークンが第1のトークンと一致しないと判断
する場合、データ・バス上のデータ(または完了信号)
は無視され(処理ブロック212)、要求エージェント
は、アドレス・バスの監視を継続する(処理は処理ブロ
ック208で待機する)。要求エージェントが応答エー
ジェントからの第2のトークンと第1のトークンとが一
致すると判断する場合、データ・バス上のデータ(また
は完了信号)は、要求エージェントによって初めに要求
されたデータであり、要求エージェントはデータ・バス
上のデータをラッチする(処理ブロック213)。初め
の要求に対応するデータを受けた後、全体のバス動作は
終了する。かくして、応答エージェントから要求エージ
ェントへとデータの転送が実行され、初めの要求トラン
ザクションは消滅する。
【0033】図2で示されたバス・トランザクションの
間、どの装置が応答エージェントであるべきかについて
の判断には、新しい要求が、未決待ち行列中で現在遅延
されている要求のいずれかと衝突するか否かの識別が含
まれる。
【0034】一旦ある装置が応答エージェントであると
決まれば、その応答エージェントは該当するバスがパイ
プライン方式の特性を備えていることを確認する応答信
号を生成する責任を持つ。応答エージェントは、適切な
時間に要求されたバス・トランザクションを完了するこ
とができないかもしれない。例えば、要求されたデータ
が準備できないかもしれない。データは、多くの理由の
ために準備できなくなる。例えば、データは、特定の装
置の長いアクセス時間のために、準備ができないことも
ある。例えば、特定の装置の構造または特性のため、要
求を満たす応答の準備に、多くのサイクルを必要とする
場合がある。これは、全く通常のことであり、問題では
ない。しかし、本発明のシステム・バスは、パイプライ
ン化されているので、応答を準備するため(例えば、必
要なデータ得るため)比較的長い時間を必要とする装置
は、データ・バス上の応答が順番通りであることを確認
するための応答を適切な時間に応答することができない
ことがある。応答エージェントが適切な時間に要求され
たバス・トランザクションを完了することができない場
合、応答エージェントは、遅延応答とトークンを送り出
す。従って、応答エージェントは、適切な時間に、(応
答の準備ができている場合)、要求されたデータまたは
完了信号を送り出し、(要求されたデータを渡せない場
合)、延期応答とトークンとからなる完了遅延信号を送
り出す。
【0035】応答エージェントが応答を生成するための
適切な時間とは、その時間内に、応答エージェントがア
ドレス・バス上で発生する要求に対応するデータ・バス
上の応答の順番を保持し、それにより本発明のシステム
・バスのパイプライン特性を保証するように応答するこ
とができる時間として、定義される。バスがパイプライ
ン化状態にあることを確認するためには、データ・バス
上の応答の順番は、アドレス・バス上の対応する要求の
順番と同じでなければならない。従って,特定の要求へ
の応答は、アドレス・バスの上でその特定の要求に直前
に先行した要求に対する応答の後で、データ・バスに送
り出されなければならない。もしもいくつかのタイプの
応答が行われなければ、引き続く応答のすべては、それ
らを生成する責任を持つエージェントによって引き止め
られ、結果としてシステム・パフォーマンスが悪化す
る。
【0036】完了遅延信号を発してバス・サイクルを完
了次第、1つ以上の要求が未決であっても、応答エージ
ェントが複数の要求に適応できるためには、応答エージ
ェントは、特定の要求に関する後刻準備ができるデータ
を特定できる機能を備えていなければならない。例え
ば、データがキャッシュ・メモリ(例えばL3キャッシ
ュ・メモリ)から要求され、キャッシュ・コントローラ
が遅延応答を送り出すとき、このトランザクションが未
決の間、キャッシュ・メモリへの別のアクセスを可能に
するためには、応答エージェント(すなわち、キャッシ
ュ・コントローラ)は、準備ができたデータをそれを要
求した要求に合致させるメカニズムを含まなければなら
ない。本発明の1つの実施例では、応答エージェント
は、遅延された応答に関し送付されたトークンとそれに
対応する要求とを記憶するために使う待ち行列を備え持
つ。それにより、データが準備できた時、応答エージェ
ントは、データの行先を知ることができる。
【0037】遅延応答と共に応答エージェントによって
送り出されたトークンが、要求エージェントによってラ
ッチされ、将来の参照として要求エージェントによって
使われる。要求エージェントがトークンをラッチし、遅
延応答を受け取る時、要求エージェント内のハードウェ
アが、データ・バスから受け取ったたデータがトークン
であることを判断する。次に、トークンは、対応する要
求の識別符号(ID)と共に待ち行列中に記憶される。
応答エージェントがバス・トランザクションを完了する
準備ができた時、遅延応答を発した時に使われたトーク
ンと同じトークンがアドレス・バス上に送り出される。
本発明の1つの実施例においては、アドレス・バスがア
ドレスの代わりにトークンを持つということをバス上の
エージェントに示すため、特別のコマンドが使われる。
要求エージェントによって初めに要求された(データ・
バス上の)データは、この特別コマンドと関連づけられ
る。この様にして、引き続き送り出されるトークンが要
求エージェントとの連係を再構築する。
【0038】本発明の好ましい実施例におけるバス・ト
ランザクション 本発明の好ましい実施例では、バスは、要求バスとデー
タ・バスという2つの主要な子バスから構成される。要
求バスは、要求タイプとアドレスを転送するため、要求
の発動元(すなわち、要求エージェント)によって使わ
れる。同じバスが、発せられたトランザクションに関す
る状態または応答信号を転送するため、要求の監視者に
よって使われる。データ・バスは、読み出されるかある
いは書き込まれるデータを転送する。バス動作の間、こ
れら2つのバスは、各々別々の占用主張を持つ別々の資
源として扱われる。要求バスがアドレス・バスを含む点
注意されるべきである。
【0039】本発明の好ましい実施例では、バスの活動
は、動作、トランザクションおよびフェーズで階層的に
構成される。動作は、自然に整列したメモリ位置を読む
ことのような、ソフトウェアにとってアトミックに見え
るバス手順である。動作を実行するには、通常、1つの
トランザクションを必要とするが、(要求と回答が異な
るトランザクションである遅延回答の場合のよに)複数
のトランザクションを必要とすることもある。1つのト
ランザクションは、バス占用要求から、要求データがデ
ータバス上に転送される応答に至るまでの、単一要求に
関連した一連のバス活動である。本発明の好ましい実施
例では、1つのトランザクションは、バス占用要求から
要求データがデータバス上に転送される応答に至るまで
の、単一要求に関連した一連のバス活動と定義される。
【0040】1つのトランザクションは、最高7つの明
確なフェーズを含む。しかし、ある種のフェーズは、ト
ランザクションと応答のタイプによっては任意選択でき
る。1つのフェーズは、特定タイプの情報を伝えるため
特定の信号グループを使う。7つのフェーズのうち5つ
は、要求バスに関連するものである。これらフェーズ
は、要求/応答フェーズと呼ばれ、以下の通りである。 占用要求フェーズ(Request Arbitration Phase) 転送要求フェーズ(Request Transfer Phase) 要求エラー・フェーズ(Request Error Phase) スヌープ結果フェーズ(Snoop Result Phase) 応答フェーズ(Response Phase) 残りの2つのフェーズはデータ・バスに関連し、データ
・フェーズと呼ばれ、以下の通りである。 データ占用フェーズ(Data Arbitration Phase) データ転送フェーズ(Data Transfer Phase)
【0041】本発明の好ましい実施例では、データ・フ
ェーズは、任意選択であり、トランザクションがデータ
・バス上にデータを転送する場合に使われる。(例え
ば、書き込みトランザクションに関し)要求発動時点で
データが使用可能であれば、データ・フェーズは要求始
動型である。(例えば、読み取りトランザクションに関
し)トランザクション応答を生成する時点でデータが使
用可能であれば、データ・フェーズは応答始動型であ
る。ある1つのトランザクションは、要求始動型データ
転送と応答始動型データ転送とを含む。
【0042】異なるトランザクションからの異なるフェ
ーズは重なることができ、それによってバス使用をパイ
プライン化し、バス・パフォーマンスを向上させる。図
3は、2つのトランザクションに関する重ねられた要求
/応答フェーズを示す。図3で、どのトランザクション
も、要求バス上の占用要求(REQ−ARB)フェーズ
から始まり、そこで、要求エージェントが要求バス占用
者になる。要求バス上の第2のフェーズは、転送要求フ
ェーズ(REQ−TRF)であり、そこで、バス占用者
が要求バス上に要求とアドレス情報を送り出す。転送要
求フェーズの後、新しいトランザクションが、先入れ先
出し方式(FIFO)待ち行列である、図3のI−O−
Q(In−Order−Queueすなわち順番通りの待ち行列)に
入る。要求エージェントを含むすべてのバス・エージェ
ントは、全く同じI−O−Qを保持し、新しい要求各々
をそれら待ち行列に加える。例えば、図3において、要
求1が、時間T3で発せられ、時間T4で監視され、時
間T5でI−O−Qに入り始める。第3のトランザクシ
ョン・フェーズは、要求エラー・フェーズ(REQ−E
RR)で、これはREQ−TRFより2サイクル以上後
のフェーズである。要求エラー・フェーズは要求によっ
て引き起こされた即時的エラーを示す。第4のトランザ
クション・フェーズは、スヌープ結果フェーズ(REQ
−SNP)で、これはREQ−TRFより4サイクル以
上後のフェーズである。スヌープ結果フェーズは、トラ
ンザクション中でアクセスされたキャッシュ・ラインが
有効かまたはいずれかのエージェントのキャッシュで修
正されたものであるかを示す。スヌープ結果フェーズ
は、トランザクションが順番通り完了するかまたは遅延
されて順番通り完了できないこととなる可能性を示す。
【0043】トランザクションは、FIFOの順でI−
O−Qを介して処理が進められる。I−O−Qの最上部
のトランザクションが要求フェーズに入る。要求フェー
ズ(RSP−TRF)は、トランザクションが失敗した
か成功したか、応答が即刻出されるか遅延されるか、ま
た、トランザクションがデータ・フェーズを含むかどう
かを標示する。もしもトランザクションが応答始動型デ
ータ・フェーズを含むならば、トランザクションは、応
答フェーズと共にデータ占用フェーズ(DAT−AR
B)に入り、その要求フェーズと(オプションではある
が)要求始動型データ占用フェーズの完了時にI−O−
Qから取り除かれる。図3で示されるように、トランザ
クション1は、時間T14でI−O−Qから取り除かれ
ている。応答始動型データ転送フェーズ(DAT−TR
F)が、データ占用フェーズの完了時点で始まる。
【0044】遅延動作 もしも応答エージェントが、トランザクションの順番通
りの完了を保証することができないならば、応答エージ
ェントは、トランザクションのスヌープ結果フェーズで
DEFER#信号を発信し、トランザクションが遅延さ
れるか、あるいは、放棄される可能性のあることを示
す。DEFER#信号が、スヌープ結果フェーズで(キ
ャッシュでのヒットを示す)HITM#信号を発するも
う一つのキャッシュ・エージェントによって上重ねされ
ていなければ、アドレスがデコードされるエージェント
は、トランザクション応答を占用する。応答エージェン
トの応答は、その遅延された応答の基準によって定めら
れる。応答エージェントが遅延モードにおいてトランザ
クションを完了させ、遅延応答信号を生成することがで
きるならば、応答エージェントは、遅延応答を生成しな
ければならない。
【0045】図4は、対応する遅延読み取り回答(Defe
rred Read Reply)トランザクションが後に続く遅延応答
信号を、示す。図4で、時間T1で、要求エージェント
は、有効なバス定義とアドレスが要求バス上にあること
を示すADS#信号を発する。時間T1で同様に、要求
エージェントは、(要求)グループを送り出し、ライン
読み取り(Read Line)要求を行う。スヌープ結果フェー
ズにおいて、アドレスされたエージェントは、トランザ
クションが順番通り完了できないことを判断し、DEF
ER#信号を発生する。時間T5で、HITM#信号が
消滅するので、アドレスされたエージェントは、応答エ
ージェントになり、RDY#、RDREQ#、RS0#
およびRS1#信号を発して、遅延応答信号を戻す。R
DY#信号は、要求に応答する応答エージェントによっ
て起動させられる。RDREQ#、RS0#およびRS
1#信号は、遅延された応答を含む異なるタイプの応答
を符号化するために使われる。RDREQ#信号が活動
的である時、トークンがデータ・バス上にあることを示
す。時間T6で、応答エージェントは、データ・バス上
に遅延応答IDを送り出す。本発明において、DEFE
R#信号は、トランザクションのスヌープ結果フェーズ
において発せられる。
【0046】時間T0で要求エージェントは、遅延書き
込み回答(Deferred Read Reply)トランザクションを監
視する。要求エージェントは、遅延回答IDをそのトラ
ンザクション未決待ち行列中に初めの要求と共に記憶さ
れているIDと比較する。時間T6において、応答エー
ジェントは、バス上にデータと共に完了成功応答信号を
戻し、時間T17からT20の間にデータを転送する。
時間T21で全体の遅延動作が完了する。
【0047】本発明の好ましい実施例では、コンピュー
タ・システム中のメモリ・エージェントまたはI/0エ
ージェントは、バス・ロック要求、遅延回答、または明
示的書き戻しのために特定されるキャッシュ・ライン書
き込み以外のいかなる要求に対する「遅延された」応答
を戻すことが許される。
【0048】遅延応答を受け取ることは、I−O−Qか
らトランザクションを取り除くことになる。応答エージ
ェントは、トランザクションのデータ転送フェーズで遅
延回答IDを供給する責任を持つ。初めの要求を完了す
るために、応答エージェントはバス上に新しいトランザ
クションを開始する。このトランザクションは、遅延回
答(Deferred Reply)トランザクションとして定義され
る。トランザクションのデータ転送フェーズで戻された
遅延回答IDは、遅延回答トランザクションの要求転送
フェーズにおいてアドレスとして使われる。
【0049】遅延回答IDは2つの4ビット・フィール
ドに分割される8ビットからなる。遅延応答IDは、初
めのトランザクションのデータ転送フェーズにおいてD
[15:8]#上に戻される。D[15:12]#は、
すべての応答エージェントに独自の、応答エージェント
IDを含む。D[11:8]#は、応答が、その内部待
ち行列に基づき応答エージェントによって割り当てられ
た回答IDを含む。最高12の異なる応答エージェント
が、遅延応答を戻すことができる(本発明のプロセッサ
に関しエージェントIDの0から3が予約されているた
め最高12エージェントである)。上記12のエージェ
ントの各々に最高16の遅延回答が未決状態に置かれ
る。16以上の未決の遅延回答をサポートするエージェ
ントは、複数のエージェントIDを使用することができ
る。
【0050】遅延回答トランザクションの要求転送フェ
ーズにおいて、遅延回答IDが、A[15:8]#上に
送出される。応答フェーズの間、トランザクション完了
応答は、データ転送フェーズの間のすべてのデータとと
もに送り出される。
【0051】遅延エージェント実施例 本発明の好ましい実施例において、あるエージェント
は、遅延動作におけるメモリ・エージェントまたはI/
Oエージェントである。L3キャッシュ・コントローラ
110のようキャッシュ・メモリ・コントローラがコン
ピュータ・システムに存在するならば、読取りデータが
キャッシュ中に即刻準備できない場合、キャッシュ・コ
ントローラは、また、読取り動作上遅延応答とトークン
を生成する。次に、キャッシュ・コントローラは、キャ
ッシュ・メモリ中で利用可能なデータに対する後続の要
求を捌きながら、メイン・メモリ121のようなメモリ
からデータを獲得する処理を続ける。読取り応答が準備
ができると、キャッシュ・コントローラは、バスの占用
を求め、読取りデータを戻す。
【0052】もしもI/Oブリッジがコンピュータ・シ
ステムに存在するならば、I/Oブリッジはバス・トラ
ンザクションを分割する。このことが、典型的にはPC
IEISA、ISA、MCA、PCMCIA、VESA
等のI/0バス標準に従って実行される点留意されるべ
きである。一般的に、I/Oバス上にある装置へのアク
セスは、メモリ装置に出されるアクセスより長い時間を
要する。複数要求エージェントから生成された要求を伴
う高度にパイプライン化されたバスにおいては、I/O
動作とメモリ動作が混在する。引き続くメモリ・アクセ
スでの先行I/Oアクセスの失速影響を排除するため、
本発明のI/Oブリッジは、それ自身(およびI/Oバ
ス上の装置)へ向けられるアクセスに対し遅延化/順不
同応答信号を生成する。一つの実施例では、本発明のI
/Oブリッジは、最高4個のバス・トランザクションま
で遅延させるのに必要なハードウエアを備える。応答の
準備ができると、I/Oブリッジはバスの占用を求め、
遅延回答信号を発する。
【0053】トークン生成と認識ハードウェア 本発明において、要求および応答エージェントの各々
は、遅延化プロトコルを活用するための付加機能をサポ
ートする。本発明において、遅延応答エージェントは、
バス・マスタとして機能する。本発明に従ってバス・マ
スタであることは、バスの占用を要求する機能を持ち、
要求転送サイクルを実行することである。応答エージェ
ントによって出される遅延応答に続いてデータが準備で
きた時、バス・マスタである機能なしでは、応答エージ
ェントがバスの制御を獲得できないため、これが必要と
される。例えば、プロセッサは一般にバス・マスタであ
る。一方、メモリ・コントローラは、一般にバスマスタ
でなく、従って、本発明のトークン生成・認識ハードウ
ェアを利用する機能を持つ必要がある。
【0054】本発明の1つの実施例では、トークン生成
は応答エージェントの責任である。要求サイクルは、シ
ステム内で起きる。要求の所有者が定まると、トークン
は、(要求されたデータまたは完了信号が準備できてい
るかに依存して)要求されたサイクルに応答の一部とし
て戻される。
【0055】本発明のトークンの1つの実施例が図5で
示される。図5において、トークン501は、次の2つ
の構成要素に分けられた8ビットからなる。すなわち、
応答エージェントの内部待ち行列における応答の位置を
示すID502と、遅延回答元を示す応答エージェント
ID503と、である。応答エージェントIDは、4ビ
ットからなる。応答エージェントIDは、4ビット以上
または以下で構成することもできる。例えば、応答エー
ジェントIDは、3ビットIDとすることができる。応
答エージェントIDを表わすために使われるビットの数
は、遅延応答を生成するかもしれないコンピュータ・シ
ステムにおける応答エージェント数の最大値を示す。例
えば、IDのため4ビットを使うことによって、16の
遅延応答エージェントが、システム・バスに存在するこ
とができる。
【0056】図5で示されるように、応答エージェント
のトランザクション未決待ち行列中の要求位置を示すた
めに使われるビット数は、4ビットである。要求位置は
4ビット以上または以下を用いて記述されることができ
る。例えば、要求位置は2ビットでもよい。要求位置を
記述するために使われるビットの数は、トランザクショ
ン未決待ち行列のサイズを示す。例えば、要求位置に関
し4ビットを使用することは、トランザクション未決待
ち行列が別々にアドレス可能なエントリを最大16持つ
ことができることを示す。
【0057】遅延応答を出す応答エージェントは、最高
16のエントリを持つ遅延応答内部プールを保持する。
本発明では、比較ハードウェアが実際に遅延されるエン
トリだけをサポートすればよいため、(16以下の)小
さい待ち行列の深さで十分である。応答エージェントに
おけるトランザクション未決待ち行列の一つの実施例
が、図6で示される。図6で示されるトランザクション
未決待ち行列700は、各々が複数のフィールドを含む
複数のエントリを持っている。本発明の1つの実施例で
は、待ち行列600は16個のエントリを持つ待ち行列
である。本発明で、各エントリの行は、トークン・フィ
ールド601、要求(REQ)フィールド602、バイ
ト可能化(BE)フィールド603およびアドレス・フ
ィールド604とを有する。REQフィールド602、
BEフィールド603およびアドレス・フィールド60
4は、待ち行列600のトークン・フィールド601の
各トークンに対応するトランザクション情報を表わす。
REQフィールド602は、要求タイプを記憶する。B
Eフィールド603は、後刻要求に資格を与える際に使
用されるバイト可能化情報を記憶する。アドレス・フィ
ールド604は、アドレスを記憶する。ある実施例で
は、トークン・フィールド601は4ビット、REQフ
ィールド602は4ビット、BEフィールド603は4
ビット、アドレス・フィールド604は40ビットから
それぞれなる。
【0058】応答エージェントが遅延応答を発すること
を望む時、応答エージェントは、遅延応答プールにトラ
ンザクションに関するエントリを割り当て、データ・バ
ス上にトークンを戻す。待ち行列600の割り当てられ
たエントリにおいて、要求はREQ、BEおよびアドレ
スの各フィールドに記憶される。トランザクション完了
後、応答エージェントは、要求バス占用者になり、遅延
応答トランザクションを開始する。応答しているエージ
ェントは、また、遅延応答プールにおける未使用エント
リと未使用応答IDを再要求する。
【0059】本発明の応答エージェントは、トークン待
ち行列の管理とトークン生成のための論理機構を持つ。
本発明の1つの実施例では、応答エージェントは、中断
されたエントリが処理されている一方で、バスの新しい
要求に対し適切な処理を行うことができる。本発明にお
いて、応答エージェントは、新しい要求のアドレスをト
ランザクション未決待ち行列中の中断されたエントリの
アドレスと比較する機能を持つ。本発明の1つの実施例
では、各エージェントは、16×48ビットのラッチと
16×48ビットの比較器を有し、要求アドレスを応答
エージェントのトランザクション未決待ち行列に記憶さ
れているアドレスと比較する。アドレス中の下位ビット
のみが比較されればよい場合には、比較器のサイズを小
さくできる。比較の結果アドレスが一致すれば、応答エ
ージェントは、中断された要求との衝突を避けるため新
しい要求を放棄するかもしれない。
【0060】本発明において、要求エージェントは、遅
延応答を受け取り理解することができる(すなわち、遅
延要求とトークンの組み合わせと遅延回答とデータの組
み合わせとを処理できる)。本発明の要求エージェント
は、また、遅延応答に応答して適切な処理を行う機能を
備えている。この処理は、バス・トランザクションを一
時的に中断する機能を含む。
【0061】本発明の好ましい実施例においては、要求
エージェントは、要求転送フェーズにおけるあらゆる未
決トランザクションが遅延応答を受け取る可能性がある
と想定する。各要求エージェントは、中断された要求l
Dを一時的に記憶するため、1つの待ち行列を持つ。従
って、要求エージェントは、新しい要求をパイプライン
処理できるサイズの内部未決トランザクション待ち行列
を維持する。そのような未決トランザクション待ち行列
の1つの実施例が、図7で示される。図7で、待ち行列
700は、4つのエントリを持つ。各エントリは、11
ビットで、要求エージェントのトランザクションIDフ
ィールドおよび応答エージェントが生成したトークンの
ためのフィールド701からなる。IDを表わすために
使われるビットの数は、待ち行列700で指定されるエ
ントリの数を制限する。本発明の1つの実施例では、I
Dは3ビットからなるが、待ち行列700におけるエン
トリの総数をサポートするために必要なビット数とする
こともできる。生成されたトークン・フィールド702
は、データ・バスから受け取られたトークンを記憶する
ために8ビットで構成される。
【0062】遅延応答を監視するに当たって、要求エー
ジェントは、応答エージェントによって供給されるトー
クン(すなわち、遅延応答ID)を未決トランザクショ
ン待ち行列700の生成されたトークン・フィールド7
02に記憶する。要求エージェントはまた、順不同応答
を受け取ったあとバスをリリースする機能を持つ。
【0063】要求エージェントはまた、戻されるデータ
を、戻されるトークンを使用する該当する要求と突き合
わせるための比較ハードウェアを備え持つ。遅延応答ト
ランザクションの間、要求エージェントは、回答アドレ
スを未決トランザクション待ち行列中のすべての遅延回
答IDと突き合わせる。IDの合致があれば、要求エー
ジェントは、初めのトランザクションを未決トランザク
ション待ち行列から消去し、動作を完了する。
【0064】本発明の1つの実施例では、各要求エージ
ェントが、合致動作を実行するための比較器論理機構を
それぞれ備える。本発明の1つの実施例では、比較器論
理機構は、8ビットの比較器を持ち、合致を識別し、イ
ンタバル・タグを付して内部装置にデータを戻すための
比較および制御論理を実行する。比較ハードウェアの1
例が図8で示される。図8で、比較ハードウェア800
は、ラッチ801と、遅延応答として受け取ったトーク
ンを記憶するためのラッチ802〜805と、遅延応答
として受け取ったトークンを回答トークンと比較するた
めの比較器806〜809と、NORゲート論理810
とからなる。ラッチ801は、応答トークンを受け取る
ため接続される。ラッチ801の出力は、比較器806
〜809の各々の一つの入力に接続される。ラッチ80
2〜805の各々の他の入力はそれぞれ、ラッチ802
〜805の出力に接続される。比較器806〜809の
各々の出力は、NORゲート論理810の入力に接続さ
れる。
【0065】本発明の1つの実施例では、ラッチ801
は8ビット・ラッチであり、アドレス・バスから回答ト
ークンを受け取る。ラッチ801は回答トークンのビッ
ト数に応じた大きさにされる。ラッチ801は、回答ト
ークンを比較器806〜809の各々に供給する。要求
エージェントのトランザクション未決待ち行列に記憶さ
れるトークンの各々は、ラッチ802〜805を経由し
て、比較器806〜809に供給される。ラッチ802
〜805は、トークンのビットの数に応じた大きさにさ
れる。比較器806〜809の各々は、回答トークンと
記憶されたトークンの1つと比較する。回答トークンが
トランザクション未決待ち行列に記憶されたトークンの
1つと一致するならば、比較器806〜809の1つ
は、高レベルの出力を生成する。回答トークンがトラン
ザクション未決待ち行列に記憶されたトークンの1つと
一致しないと、比較器806〜809のいずれも高レベ
ルの出力を生成しない。比較器806〜809の出力の
いずれもが高レベルでない場合、NORゲート論理81
0の不一致出力が高くなり、それにより、回答トークン
が要求エージェントの中断された応答に対応しないこと
を示す。比較器806〜809からの一つの出力が高い
場合、NORゲート論理810の合致出力が高くなり、
回答トークンが要求エージェントの中断された応答に対
応することを示す。合致信号に応答して、要求エージェ
ントは、データ・バス上のデータをラッチするか、ある
いは完了信号を受け取る。オリジナル要求に対応する。
【0066】本発明の1つの実施例では、トークンは8
ビットであるが、本発明は要求アドレスをトークンの一
部またはすべてとして使用することもできる。アドレス
を使用するトークンの1つの実施例が、図9で示され
る。図9で、トークン900は、要求フィールド90
3、バイト可能化フィールド902およびアドレス・フ
ィールド901の3つのフィールドを持つ。本発明の1
つの実施例では、要求フィールド903は4ビット、バ
イト可能化フィールド902は4ビット、アドレス・フ
ィールド901は40ビットを含む。要求フィールド9
03は、要求エージェントによって出された要求を表わ
す。要求修正子フィールド902は、要求を修正する情
報を含む。アドレス・フィールド901は、要求のアド
レスを含む。応答エージェントは、図5で示されたトー
クンと同じ方法でトークン900を戻す。
【0067】この実施例の一つの利点は、いかなるトー
クン定義も、特定のアプリケーションの異なる要求事項
のために制約が多すぎるか、さもなければあまりに高価
となるという事実を認識した実施例であるという点であ
る。新しいトークン定義が作られる時、トークン定義の
ビットの数は、固定されなければならない。選択される
方式に基づけば、今度は、バス上にサポートされること
ができる要求/応答エージェントの数とエージェント当
たりのサポートされることができる要求の数が制約され
る。ある特定のアプリケーションに関し選択される方式
を無視すれば、過度に制約的ではなくなるかもしれな
い。かくして、トークンとしてアドレスを使用すること
は、不自然な制約が持ち込まれないことを意味する。第
2に、より高いパフォーマンスのためには、新しい要求
に関し中断された待ち行列のすべてのエントリとの完全
なアドレス比較が望ましいという事実を考慮に入れれ
ば、トークンを使用しないことになる。これは、トーク
ン突き合わせに追加して、順不同応答のため必要とされ
る。
【0068】トークンとしてアドレスを使用することに
よって、初めの要求エージェントは、単にアドレスをス
ヌープし、アドレスをその内部の中断されたエントリ待
ち行列と比較する。応答により始動されたサイクルは、
同じように実行されるが、コマンド・フィールドで、遅
延された応答からの戻りとしてアドレスに明確にマーク
を付ける点が例外である。これによって、通常要求と遅
延応答との適切な区別認識が可能となる。
【0069】応答エージェントは、図6で示されたもの
と同様の内部トランザクション待ち行列を保持する。ト
ランザクション未決待ち行列の1つの実施例が図10で
示される。図10で、待ち行列1000は、16個のエ
ントリを持ち、各エントリは、48ビットからなって、
要求(REQ)フィールド1001、バス可能化(B
E)フィールド1002およびアドレス・フィールド1
003を含む。本発明の1つの実施例では、REQフィ
ールドは4ビット、BEフィールドは4ビット、そし
て、アドレス・フィールドは40ビットである。待ち行
列1000は、図6の待ち行列と同じ情報を記憶する
が、アドレスがすでに記憶されているため、トークンに
対し別のフィールドは必要とされない点が例外である。
【0070】この実施例で、要求エージェントは遅延応
答の後バスをリリースする責任がある。トークンとして
アドレスを使用ながら、要求エージェントは、なお、新
しい要求をパイプライン処理できるサイズで内部未決ト
ランザクション待ち行列を維持する。トランザクション
未決待ち行列の1つの実施例が、図11で示される。図
11で、待ち行列1100は4つのエントリを持ち、各
エントリは、51ビットで、要求エージェント内部ID
1101と48ビットの要求フィールド1102とから
構成される。IDを表わすために使われるビットの数
は、待ち行列1100のエントリの数を制限する。1つ
の実施例では、ID(識別子)は3ビットからなるが、
待ち行列1100のエントリの総数をサポートするため
に必要な数とすることができる。生成されたトークン・
フィールド1102は、要求アドレスを含む48ビット
要求からなる。遅延応答を監視するに当たって、要求エ
ージェントは、応答エージェントによって供給されるト
ークン(すなわち、遅延応答ID)を、未決トランザク
ション待ち行列1100の48ビット要求フィールド1
102に記憶する。
【0071】要求エージェントは、また、戻されるデー
タを戻されるトークンを使用する適切な要求と突き合わ
せるための比較ハードウェアを備え持つ。遅延回答トラ
ンザクションの間、要求エージェントは、回答アドレス
を、その未決トランザクション待ち行列中のすべての遅
延回答lDと突き合わせる。IDが一致すれば、要求エ
ージェントは、その未決トランザクション待ち行列から
初めのトランザクションを消去し、動作を完了する。
【0072】この実施例で、要求エージェントは、48
ビットのラッチと突き合わせを行うためのラッチ当たり
48ビットの比較器を使用する。本発明の1つの実施例
では、比較器論理機構は、合致を識別し、インタバル・
タグを付して内部装置にデータを戻すための制御論理機
構を持つ。比較ハードウェアの1例が、図12で示され
る。図12で、比較ハードウェア1200は、ラッチ1
201と、遅延応答として受け取ったトークンを記憶す
るためのラッチ1202〜1205と、遅延応答として
受け取ったトークンを回答トークンと比較するための比
較器1206〜1209と、NORゲートークン121
0とを備え持つ。ラッチ1201は、応答トークンを受
け取るため接続される。ラッチ1201の出力は、比較
器1206〜1209の各々の一つの入力に接続され
る。ラッチ1206〜1209の各々の他の入力は、そ
れぞれ、ラッチ1202〜1205の出力に接続され
る。比較器1206〜1209の各々の出力は、NOR
ゲート論理1210の入力に接続される。
【0073】本発明の1つの実施例では、ラッチ120
1は、48ビット・ラッチであり、アドレス・バスから
回答アドレスを受け取る。ラッチ1201は、回答アド
レスのビット数に応じた大きさにされる。ラッチ120
1は、回答アドレスを比較器1206〜1209の各々
に供給する。要求エージェントのトランザクション未決
待ち行列に記憶される要求アドレスの各々は、ラッチ1
202〜1205を経由して、比較器1206〜120
9に供給される。ラッチ1202〜1205は、各要求
アドレスのビットの数に応じた大きさにされる。比較器
1206〜1209の各々は、回答アドレスと記憶され
たアドレスの1つと比較する。回答アドレスがトランザ
クション未決待ち行列に記憶された要求アドレスの1つ
と一致するならば、比較器1206〜1209の1つ
は、高レベルの出力を生成する。回答アドレスがトラン
ザクション未決待ち行列に記憶された要求アドレスの1
つと一致しないと、比較器1206〜1209のいずれ
も、高レベルの出力を生成しない。比較器1206〜1
209からの一つの出力が高い場合、NORゲート論理
1210の合致出力が高くなり、回答アドレスが要求エ
ージェントの中断された応答に対応することを示す。比
較器1206〜1209の出力のいずれもが高レベルで
ない場合、NORゲート論理1210の不一致出力が高
くなり、それにより、回答アドレスが要求エージェント
の中断された応答に対応しないことを示す。追加の制御
論理が、また、突き合わせに関し適切な動作をとるため
に使われる。
【0074】アドレスがトークンの一部として使われる
時、応答エージェントは、トークンを生成する必要なし
に遅延応答を生成する。回答フェーズの間、応答エージ
ェントは、バスの占用を要求し、要求されたデータと初
めのアドレスで1サイクルを実行する。本発明の1つの
実施例では、応答エージェントは、アドレスの送信を実
現するため48ビットのアドレス・バス・ドライバを備
える。
【0075】この実施例が新しいピンまたはトークン仕
様が必要でないという利点を持つ点留意されるべきであ
る。この実施例では、応答エージェントがなお全48ビ
ットのアドレス比較というオーバーヘッドを持つ点にま
た注意されたい。この論理オーバーヘッドは、既存のス
ヌープ論理を再利用できる場合にはプロセッサとキャッ
シングI/0ブリッジ両者に許容されるかもしれない。
【0076】本発明のトークン管理とプロセッサ 本発明のマイクロプロセサは、推論的であり、順不同の
実行を遂行する。このことは、プロセッサのマイクロ・
エンジンがデータ参照に失敗しても実行を継続すること
を意味する。あるアクセスがマイクロプロセサのキャッ
シュと後方キャッシュの範囲内で失敗と認識された後、
要求はシステム・バスに送り出される。分割サイクル応
答(すなわちトークン)をマイクロプロセッサに戻し、
マイクロプロセサ・バスを解放することによって、長い
待ち時間のアクセスも、最適に処理される。この方法
で、マイクロプロセサは追加のデータ転送を続けること
ができる。
【0077】システム・バスの分割サイクル応答機能
は、外部サブシステムによって実施することができる。
例えば、L3キャッシュは、キャッシュ失敗の際に順不
同の応答を戻し、キャッシュ・ヒットの際は順番通りに
正常の応答を戻すこともできる。L3キャッシュ・コン
トローラは、外部的にアクセスを継続し、データが受け
取られたあと分割トランザクションを完了する。暫定的
に、プロセッサからL3キャッシュへのデータ転送は継
続する。また、メモリ・コントローラは、全面的なRA
Sプレチャージ(precharge)サイクルを必要とするペー
ジ失敗の場合またはリフレッシュ・サイクル進行中に、
順不同の応答を戻し、これにより、ページ・ヒットの際
に、通常の順番通りの応答が即刻出されることができ
る。これによって、マイクロプロセサ・バスが解放さ
れ、マイクロプロセサと他のメモリ・コントローラの間
のデータ転送を継続し、キャッシュへの書き戻しを行う
ことができる。
【0078】本発明は、プロセッサからI/0ブリッジ
へのいかなるアクセスにとっても利点がある。プロセッ
サからI/0ブリッジへのアクセスは、プロセッサ・バ
ス上に直接常駐する他の記憶素子と比較し、長い待ち時
間を伴うため、プロセッサからI/0ブリッジへのすべ
てのアクセスには、遅延応答が発せられ、その結果、プ
ロセッサ・バンド幅利用性に関しの大幅な向上が見られ
る。
【0079】本発明は、また、本発明のプロセッサに対
する外部スヌープアクセスが可能となり、この結果、修
正されたデータのヒットの応答は順不同で出され、更な
るスヌープトラフィックのためプロセッサ・バスを解放
することができる。このことは、また、バスで共存する
他のプロセスをして、書き戻しの準備を行う一方で、そ
のバスの使用を継続することを可能とさせる。
【0080】本発明で、バス・トランザクションは、ア
ドレス・バス上へ送出されるアドレスとデータ・バスの
上に戻されるデータを用いて通常のパイプライン方式で
発生する。分割バス・トランザクションが発生する時、
遅延応答が生成される。本発明は、アクセスが遅延タイ
プのアクセスであることを示すため既存のバス・アーキ
テクチャを再利用する。言い換えれば、本発明におい
て、応答エージェントが、パイプライン方式でその要求
に応答することを好まない場合、遅延応答が作成され、
要求されたデータの代わりにトークンがデータ・バス上
に送り出される。この様にして、トークンは要求エージ
ェントと応答エージェントの間の関係を維持する。要求
エージェントが通常の応答を待っている時に、通常の応
答でなくトークンが戻されていることを要求エージェン
トは認識する。かくして、トークンがデータ・バス上に
送り出されることを許すことによって、(別のトークン
・バスのような)ハードウェアの追加は必要とされな
い。この様にして、本発明は、ピン数の増加なしで分割
トランザクションが発生することを可能とさせる。事
実、別のトークン・バスが要求と応答パスのため必要と
されないので、本発明は、分割バス・トランザクション
を実行するために各パッケージによって必要なピンの数
を減らすことができる。
【0081】本発明において、トークン管理の責任は、
応答エージェントにある。応答エージェントは、適切な
時点でトークンと遅延応答を供給することに対して責任
がある。本発明でトークンを使用するために設計された
装置(エージェント)だけがそれらトークンと遅延応答
を使用する。本発明のコンピュータ・システムは、順番
通りの応答のみを生成し、遅延応答を生成しない、メモ
リ・コントローラのような応答エージェントを含むこと
もできよう。これらの「順番通り」エージェントは、常
にパイプライン方式でデータを戻す。かくして、本発明
は、遅延応答を生成することができるエージェントと共
に、論理負荷の増加を伴わないより簡便な順番通りの応
答エージェントの設計をも可能とする。
【図面の簡単な説明】
【図1】 本発明のコンピュータ・システムの1つの実
施例のブロック図である。
【図2】 本発明に従ったバス・サイクルの流れ図であ
る。
【図3】 本発明の好ましい実施例におけるバス・トラ
ンザクションのタイミング図である。
【図4】 本発明に従った遅延応答を示すタイミング図
である。
【図5】 本発明の8ビット・トークンを示す図であ
る。
【図6】 受信エージェントにおける未決トランザクシ
ョン待ち行列の1つの実施例を示す図である。
【図7】 要求エージェントにおける未決トランザクシ
ョン待ち行列の1つの実施例を示す図である。
【図8】 要求エージェントのトークン比較ハードウエ
アの1つの実施例のブロック図である。
【図9】 トークンの一部として要求アドレスを使用す
るトークンの1つの実施例を示す図である。
【図10】 応答エージェントにおける未決トランザク
ション待ち行列の1つの実施例を示す図である。
【図11】 要求エージェントにおける未決トランザク
ション待ち行列の1つの実施例を示す図である。
【図12】 要求エージェントにおけるトークン比較ハ
ードウェアの1つの実施例を示す図である。
【符号の説明】
101…プロセッサ−システム・バス、102、103
…プロセッサ、104…L2キャッシュメモリ、11
0、111…L3キャッシュメモリ、115…メモリ−
システムバス、121…主メモリ、122…メモリコン
トローラ、124…ブリッジ、125…大容量記憶装
置、131…システム・バス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 コンラッド・ケイ・レイ アメリカ合衆国 97006 オレゴン州・ア ロハ・サウスウエスト サンドラ コー ト・20245 (72)発明者 ガービア・シングー アメリカ合衆国 97229 オレゴン州・ポ ートランド・ノースウエスト 195ティエ イチ・175

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のバス・トランザクションがパイプ
    ライン方式で実行されるアドレス・バスとデータ・バス
    とを具備するコンピュータ・システムでバス・トランザ
    クションを実行する方法において、 第1のエージェントが上記アドレス・バス上にアドレス
    を送り出すステップであって、上記送り出されたアドレ
    スが、上記アドレス・バス上に送り出された順番に配列
    されている上記アドレス・バス上の一連のアドレスの1
    つに加えられ、上記一連のアドレスの各々が複数のバス
    ・トランザクションの1つに対応するようにアドレスを
    上記アドレス・バス上に送り出すステップと、 上記アドレスに応答して第2のエージェントが上記デー
    タ・バス上に第1のトークンを送り出すステップであっ
    て、上記送り出された第1のトークンが、上記アドレス
    ・バス上の一連のアドレスと同じ順番に配列されている
    上記データ・バス上の一連の応答の1つに加えられるよ
    うに第1のトークンを上記データ・バス上に送り出すス
    テップと、 上記第1のエージェントが上記第1のトークンを上記デ
    ータ・バスから受け取るステップと、 上記第2のエージェントが上記アドレス・バス上に第2
    のトークンを送り出すステップと、 上記第1のエージェントによって送り出された上記アド
    レスに対応する遅延されたデータを上記第2のエージェ
    ントが上記データ・バス上に送り出すステップと、 上記第1のエージェントが上記第2のトークンを上記ア
    ドレス・バスから受け取り、その第2のトークンが上記
    アドレスに対応するものであることを識別するステップ
    と、 上記第2のトークンが上記アドレスに対応するものであ
    ることを識別した後、上記第1のエージェントが上記デ
    ータを上記データ・バスから受け取るステップと、 を含むバス・トランザクションを実行する方法。
  2. 【請求項2】 複数のバス・トランザクションがパイプ
    ライン方式で実行されるアドレス・バスとデータ・バス
    とを具備するコンピュータ・システムでバス・トランザ
    クションを実行する方法において、 第1のエージェントが上記アドレス・バス上にアドレス
    を送り出すステップであって、上記送り出されたアドレ
    スが、上記アドレス・バス上に送り出された順番に配列
    されている上記アドレス・バス上の一連のアドレスの1
    つに加えられ、上記一連のアドレスの各々が複数のバス
    ・トランザクションの1つに対応するようにアドレスを
    上記アドレス・バス上に送り出すステップと、 データ送り出しの準備ができていない場合、上記アドレ
    スに応答して第2のエージェントが上記データ・バス上
    に第1のトークンを送り出すステップであって、上記送
    り出された第1のトークンが上記一連のアドレスと同じ
    順番に配列されている上記データ・バス上の一連の応答
    の1つに加えられるように第1のトークンを上記データ
    ・バス上に送り出すステップと、 上記第1のエージェントが上記第1のトークンを上記デ
    ータ・バスから受け取るステップと、 上記第2のエージェントが上記アドレス・バス上に第2
    のトークンを送り出すステップと、 上記第1のエージェントによって送り出された上記アド
    レスに対応するデータを上記第2のエージェントが上記
    データ・バス上に送り出すステップと、 上記第1のエージェントが上記第2のトークンを上記ア
    ドレス・バスから受け取るステップと、 上記第2のトークンを上記第1のトークンと比較するス
    テップと、 上記第2のトークンと上記第1のトークンとが一致する
    場合、第1のエージェントが上記データ・バスからの上
    記データを受け取るためラッチし、そのバス・トランザ
    クションを完了するステップと、 を含むバス・トランザクションを実行する方法。
  3. 【請求項3】 アドレス情報を通信するための第1のバ
    ス手段と、 データ情報を通信するための第2のバス手段と、 上記第1のバス手段と上記第2のバス手段とに接続さ
    れ、バス・トランザクションを介してデータを要求する
    ことができる機能を備える少くとも1つの要求エージェ
    ントと、 上記第1のバス手段と上記第2のバス手段とに接続さ
    れ、上記少くとも1つの要求エージェントによる要求に
    応答してデータを上記第2のバス手段上に送り出すこと
    ができる機能を備える少くとも1つの応答エージェント
    と、 からなるコンピュータ・システム装置であって、 上記少くとも1つの応答エージェントが、データ・トラ
    ンザクションを完了する準備ができていない場合、その
    データ応答として上記第2のバス手段上に第1のトーク
    ンを送り出し、上記少くとも1つの要求エージェントが
    上記第1のトークンを上記第2のバス手段から受け取
    り、 データの送り出し準備ができた時、上記少くとも1つの
    応答エージェントが上記第1のバス手段上に第2のトー
    クンを、上記第2のバス手段上にデータをそれぞれ送り
    出し、上記少くとも1つの要求エージェントが上記第1
    のバス手段から上記第2のトークンを受け取り、上記第
    2のトークンが、当該バス・トランザクションに対応す
    るものと上記少くとも1つの要求エージェントによって
    識別され、その少なくとも1つの要求エージェントが、
    上記第2のバス手段上のデータをラッチして、当該バス
    ・トランザクションを完了する機能を備え持った、 コンピュータ・システム装置。
  4. 【請求項4】 複数のバス・トランザクションがパイプ
    ライン方式で実行されるアドレス・バスとデータ・バス
    とを具備するコンピュータ・システムでバス・トランザ
    クションを実行する方法において、 第1のエージェントが上記アドレス・バス上にアドレス
    を送り出すステップであって、上記送り出されたアドレ
    スが、上記アドレス・バス上に送り出された順番に配列
    されている上記アドレス・バス上の一連のアドレスの1
    つに加えられ、上記一連のアドレスの各々が複数のバス
    ・トランザクションの1つに対応するようにアドレスを
    上記アドレス・バス上に送り出すステップと、 上記アドレスに応答して第2のエージェントが遅延応答
    を送り出すステップであって、上記送り出された遅延応
    答が上記一連のアドレスと同じ順番に配列されている一
    連の応答の1つに加えられるように遅延応答を送り出す
    ステップと、 上記第1のエージェントが上記遅延応答を受け取るステ
    ップと、 上記第2のエージェントが遅延回答を送り出すステップ
    と、 上記第1のエージェントによって送り出された上記アド
    レスに対応するデータを上記第2のエージェントが上記
    データ・バス上に送り出すステップと、 上記第1のエージェントが上記遅延回答を受け取り、該
    遅延回答が上記アドレスに対応するものであることを識
    別するステップと、 上記遅延回答が上記アドレスに対応するものであること
    を識別した後、上記第1のエージェントが上記データを
    上記データ・バスから受け取るステップと、 を含むバス・トランザクションを実行する方法。
  5. 【請求項5】 複数のバス・トランザクションがパイプ
    ライン方式で実行されるアドレス・バスとデータ・バス
    とを具備するコンピュータ・システムでバス・トランザ
    クションを実行する方法において、 第1のエージェントが上記アドレス・バス上にアドレス
    を送り出すステップであって、上記送り出されたアドレ
    スが、上記アドレス・バス上に送り出された順番に配列
    されている上記アドレス・バス上の一連のアドレスの1
    つに加えられ、上記一連のアドレスの各々が複数のバス
    ・トランザクションの1つに対応するようにアドレスを
    上記アドレス・バス上に送り出すステップと、 上記アドレスに応答して第2のエージェントが第1のト
    ークンを上記データ・バス上に送り出すステップと、 上記アドレスに応答して第2のエージェントが遅延応答
    を送り出すステップであって、上記送り出された遅延応
    答と上記送り出された第1のトークンとが上記一連のア
    ドレスと同じ順番に配列されている一連の応答の1つに
    加えられるように遅延応答を送り出すステップと、 上記第1のエージェントが上記第1のトークンを上記デ
    ータ・バスから受け取るステップと、 上記第1のエージェントが上記遅延応答を受け取るステ
    ップと、 上記第2のエージェントが遅延回答を送り出すステップ
    と、 上記第2のエージェントが上記アドレス・バス上に第2
    のトークンを送り出すステップと、 上記第1のエージェントが送り出したアドレスに対応す
    る遅延したデータを上記第2のエージェントが上記デー
    タ・バス上に送り出すステップと、 上記第1のエージェントが上記遅延回答を受け取るステ
    ップと、 上記第1のエージェントが、上記第2のトークンを上記
    アドレス・バスから受け取り、その第2のトークンを上
    記アドレスに対応するものと識別するステップと、 上記第1のエージェントが、第2のトークンが上記アド
    レスに対応するものと識別した後、上記データを上記デ
    ータ・バスから受け取るステップと、 を含むバス・トランザクションを実行する方法。
JP20155394A 1994-08-04 1994-08-04 バス・トランザクション実行の方法と装置 Expired - Lifetime JP3441521B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20155394A JP3441521B2 (ja) 1994-08-04 1994-08-04 バス・トランザクション実行の方法と装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20155394A JP3441521B2 (ja) 1994-08-04 1994-08-04 バス・トランザクション実行の方法と装置

Publications (2)

Publication Number Publication Date
JPH0863426A true JPH0863426A (ja) 1996-03-08
JP3441521B2 JP3441521B2 (ja) 2003-09-02

Family

ID=16442959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20155394A Expired - Lifetime JP3441521B2 (ja) 1994-08-04 1994-08-04 バス・トランザクション実行の方法と装置

Country Status (1)

Country Link
JP (1) JP3441521B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120006146A (ko) * 2010-07-12 2012-01-18 삼성전자주식회사 고속 데이터 버스 시스템 및 이를 이용한 이미지 센서
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20120006146A (ko) * 2010-07-12 2012-01-18 삼성전자주식회사 고속 데이터 버스 시스템 및 이를 이용한 이미지 센서

Also Published As

Publication number Publication date
JP3441521B2 (ja) 2003-09-02

Similar Documents

Publication Publication Date Title
KR100253753B1 (ko) 지연 트랜잭션을 실행하기 위한 장치 및 방법
US5568620A (en) Method and apparatus for performing bus transactions in a computer system
CA2186598C (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5696910A (en) Method and apparatus for tracking transactions in a pipelined bus
US5068781A (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US4949239A (en) System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US5765196A (en) System and method for servicing copyback requests in a multiprocessor system with a shared memory
JPH0642225B2 (ja) Dma機能を有する計算機システム
US4941083A (en) Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
US5903738A (en) Method and apparatus for performing bus transactions in a computer system
US5822765A (en) System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system
US5249297A (en) Methods and apparatus for carrying out transactions in a computer system
US20030070018A1 (en) Delayed transaction method and device used in a PCI system
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
JP3441521B2 (ja) バス・トランザクション実行の方法と装置
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US5826045A (en) Arbitration parking apparatus and method for a split transaction bus in a multiprocessor computer system
US6694400B1 (en) PCI system controller capable of delayed transaction
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
WO1998010350A1 (en) A data flow control mechanism for a bus supporting two-and three-agent transactions

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20080620

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20090620

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20100620

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20120620

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20130620

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term