JPH11175459A - Bus operation transfer method, system therefor and computer readable medium - Google Patents

Bus operation transfer method, system therefor and computer readable medium

Info

Publication number
JPH11175459A
JPH11175459A JP10093336A JP9333698A JPH11175459A JP H11175459 A JPH11175459 A JP H11175459A JP 10093336 A JP10093336 A JP 10093336A JP 9333698 A JP9333698 A JP 9333698A JP H11175459 A JPH11175459 A JP H11175459A
Authority
JP
Japan
Prior art keywords
bus operation
bus
processor
response
issuing
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.)
Pending
Application number
JP10093336A
Other languages
Japanese (ja)
Inventor
Don Lewis Jerry
ジェリー・ドン・ルイス
Stephen Doddson John
ジョン・スティーブン・ドットソン
Kumer Armiri Ravi
ラヴィ・クメール・アルミリ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11175459A publication Critical patent/JPH11175459A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform fast transfer of a bus operation that is strictly ordered by deciding whether or not at least one processor receives the 1st response to the 1st bus operation. SOLUTION: Plural bus operation, e.g. storage elements are issued from processors 102a to 102c. When the 1st response which shown that one of the bus operations should be issued again is received by the processor 102a to 102c and when it shows that one of issued bus operations is issued again, 2nd response which shows that at least another of the issued bus operations is issued again is issued from the processors 102a to 102c. The 2nd response is called self-retrial response. The processor 102a to 102c provide self-retrial response to all of bus operation requests that are issued after bus operation requests which are issued after a bus operation request that receives the first retrial response.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、処理システムにお
ける情報の転送に関し、より詳細には、厳格に順序付け
されていることが好ましいバス・オペレーションを迅速
に転送するためのシステムおよび方法に関する。
FIELD OF THE INVENTION The present invention relates to the transfer of information in a processing system, and more particularly, to a system and method for rapidly transferring bus operations, which are preferably strictly ordered.

【0002】[0002]

【従来の技術】今や、マルチプロセッサ・システムがビ
ジネスや研究などの環境で普通に使用されている。マル
チプロセッサ・システム中のあるプロセッサがメモリに
対するアクセスを要求すると、どのデータ要求を許可
し、どのような順序で許可するのかを決定するのために
通常はアービタが用いられる。プロセッサからのこれら
の要求およびアービタからの許可は通常、システム・バ
スによって運ばれる。
2. Description of the Related Art Multiprocessor systems are now commonly used in business and research environments. When a processor in a multiprocessor system requests access to memory, an arbiter is typically used to determine which data requests are granted and in what order. These requests from the processor and grants from the arbiter are usually carried by the system bus.

【0003】情報は通常、「キャッシュ可能」、「キャ
ッシュ禁止」または「ライトスルー」のいずれかでマー
クされている。情報がキャッシュ可能とマークされてい
るならば、そのデータを、システム・メモリに転送する
必要なく、キャッシュに記憶することができる。しか
し、情報がキャッシュ禁止とマークされているならば、
そのデータはキャッシュに入ることができず、どこか他
の場所、たとえばシステム・メモリに転送されなければ
ならない。キャッシュ禁止記憶命令を頻繁に使用するア
プリケーションの例はグラフィックス・アプリケーショ
ンである。情報がライトスルーとマークされているなら
ば、その情報は、キャッシュだけでなく、その宛先に行
く。キャッシュ禁止またはライトスルー情報のいくつか
は通常、厳格に順序付けられたバス・オペレーションで
ある。
[0003] Information is usually marked with either "cacheable", "cache prohibited" or "write-through". If the information is marked as cacheable, the data can be stored in cache without having to transfer it to system memory. However, if the information is marked as non-cacheable,
The data cannot enter the cache and must be transferred somewhere else, for example, to system memory. An example of an application that frequently uses cache-inhibited store instructions is a graphics application. If the information is marked write-through, the information goes to its destination as well as the cache. Some of the cache inhibit or write-through information is usually a strictly ordered bus operation.

【0004】PowerPC(商標)プロセッサを使用するコ
ンピュータ・システムは、厳格に順序付けされたバス・
オペレーションが、プロセッサから実行される場合と全
く同じ順序で受け側装置に発されることを保証しなけれ
ばならない。Amazon PowerPC(商標)を使用するコン
ピュータ・システムは、すべてのオペレーションの厳格
な順序付けを要するかもしれない。
[0004] Computer systems that use the PowerPC ™ processor employ a strictly ordered bus architecture.
It must be ensured that the operations are issued to the receiving device in exactly the same order as they are performed from the processor. Computer systems using Amazon PowerPC ™ may require a strict ordering of all operations.

【0005】典型的なバス・インタフェース装置(BI
U)設計は、厳格に順序付けされたバス・オペレーショ
ン、たとえばキャッシュ禁止記憶を列に並べ、アドレス
およびデータ転送のためのバスを要求し、バスを与えら
れると第一のバス・オペレーションを発し、応答を待
つ。アドレスが受け入れられ(再試行されず)、データ
がすでに転送されたならば、BIUが、次の順番のバス
・オペレーションのためのバスを要求する。BIUが応
答を待たなければならないサイクルの数は通常、システ
ム依存性である。しかし、順序付けされたバス・オペレ
ーションの転送の間の遅延が、最適には満たない性能に
そのまま反映される。さらには、システムが、順序付け
されたバス・オペレーションの良好な処理能力を達成す
ることができるならば、そのシステムは、より高い工業
規格ベンチマークを達成することができる。
A typical bus interface device (BI)
U) The design queues strictly ordered bus operations, such as cache-inhibited storage, requests buses for address and data transfers, issues a first bus operation when given a bus, and responds. Wait for. If the address is accepted (not retried) and the data has been transferred, the BIU requests the bus for the next sequential bus operation. The number of cycles that the BIU must wait for a response is usually system dependent. However, the delay between transfers of ordered bus operations is directly reflected in sub-optimal performance. Furthermore, if the system can achieve good throughput of ordered bus operations, the system can achieve higher industry standard benchmarks.

【0006】[0006]

【発明が解決しようとする課題】したがって、必要とさ
れるものは、厳格に順序付けされたバス・オペレーショ
ンを高速転送するためのシステムおよび方法である。本
発明は、そのような必要性に対処する。
Therefore, what is needed is a system and method for high speed transfer of strictly ordered bus operations. The present invention addresses such a need.

【0007】[0007]

【課題を解決するための手段】処理システムにおいて厳
格に順序付けされていることが好ましいバス・オペレー
ションを高速転送するためのシステムおよび方法が提供
される。本発明のシステムおよび方法は、プロセッサに
よって複数のバス・オペレーションを発することと、複
数のバス・オペレーション要求の一つを再び発するべき
であることを示す第一の応答が同じプロセッサによって
受けられたかどうかを判断することとを含む。そして、
第一の応答が受けられたならば、プロセッサは、発され
たバス・オペレーション要求の少なくとも別の一つを再
び発するべきであることを示す第二の応答を発する。
SUMMARY OF THE INVENTION A system and method are provided for high speed transfer of bus operations, which are preferably strictly ordered in a processing system. The system and method of the present invention provide for issuing multiple bus operations by a processor and determining whether a first response indicating that one of the multiple bus operation requests should be reissued is received by the same processor. Judge. And
If the first response is received, the processor issues a second response indicating that at least another one of the issued bus operation requests should be reissued.

【0008】本発明のもう一つの態様では、処理システ
ムにおいてバスを使用してバス・オペレーションを転送
するためのシステムおよび方法は、バスの制御を得るこ
とができる少なくとも1個のプロセッサを含む。本発明
のシステムおよび方法は、少なくとも1個のプロセッサ
によって複数のバス・オペレーション要求を発するステ
ップと、バス・オペレーションを発するステップと、発
されたバス・オペレーションを再び発するべきであるこ
とを示す応答が少なくとも1個のプロセッサによって受
けられたかどうかを判断するステップと、少なくとも1
個のプロセッサによってバスの制御を保持し、バス・オ
ペレーションが再び発されることを示す応答が受けられ
たならば、バス・オペレーションを再び発するステップ
とを含む。
[0008] In another aspect of the invention, a system and method for transferring bus operations using a bus in a processing system includes at least one processor capable of gaining control of the bus. The system and method of the present invention include issuing a plurality of bus operation requests by at least one processor, issuing a bus operation, and providing a response indicating that the issued bus operation should be reissued. Determining whether it has been received by at least one processor;
Holding control of the bus by the plurality of processors and, if a response is received indicating that the bus operation is to be reissued, reissuing the bus operation.

【0009】本発明のさらに別の態様では、少なくとも
1個のプロセッサを含む処理システムにおいてバス・オ
ペレーションを転送するためのシステムおよび方法は、
少なくとも1個のプロセッサにより、第一のバス・オペ
レーションおよび第二のバス・オペレーションを含む複
数の順序付けされたバス・オペレーションを、第一のバ
ス・オペレーションを発したのち第二のバス・オペレー
ションを発するようにして発することを含む。これはま
た、第二のバス・オペレーションを発する前に、第一の
バス・オペレーションを転送することができることを示
す、第一のバス・オペレーションに対する第一の応答が
少なくとも1個のプロセッサによって受けられたかどう
かを判断する。第二のバス・オペレーションを発する前
に第一のバス・オペレーションに対する第一の応答が少
なくとも1個のプロセッサによって受けられるならば、
第二のバス・オペレーションとともに信号が発され、信
号が、プロセッサが第二のバス・オペレーションに対し
て第二の応答を発さないことを示し、第二の応答が、第
二のバス・オペレーションを再び発するべきであること
を示す。
In yet another aspect of the present invention, a system and method for transferring bus operations in a processing system including at least one processor includes:
The at least one processor issues a plurality of ordered bus operations including a first bus operation and a second bus operation, issues a first bus operation, and then issues a second bus operation. Including emitting in this manner. This also indicates that a first response to the first bus operation is received by the at least one processor, indicating that the first bus operation can be transferred before issuing the second bus operation. Judge whether or not. If a first response to the first bus operation is received by at least one processor before issuing the second bus operation,
A signal is issued with the second bus operation, wherein the signal indicates that the processor does not issue a second response to the second bus operation, and the second response is a second bus operation. Should be reissued.

【0010】本発明のシステムおよび方法は、バス・オ
ペレーション性能を有意に改善する。
[0010] The systems and methods of the present invention significantly improve bus operation performance.

【0011】[0011]

【発明の実施の形態】本発明は、処理システムにおいて
バス・オペレーション、好ましくは厳格に順序付けされ
たバス・オペレーションを高速転送するためのシステム
および方法に関する。以下の説明は、当業者が本発明を
構成し、使用することができるように提示し、特許出願
およびその要件に関連して提供するものである。当業者
には、好ましい実施態様に対する種々の変更が容易に理
解され、本明細書に開示する一般原理は、他の実施態様
にも適用することができる。したがって、本発明は、こ
こに示す実施態様に限定されるものではなく、本明細書
に記載する原理および特徴と合致するもっとも広い範囲
で適用されるものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a system and method for high-speed transfer of bus operations, preferably strictly ordered bus operations, in a processing system. The following description is presented to enable one of ordinary skill in the art to make and use the invention, and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art, and the general principles disclosed herein may be applied to other embodiments. Accordingly, the present invention is not limited to the embodiments shown, but has the broadest application consistent with the principles and features described herein.

【0012】説明のため、本発明の開示内容は、厳格に
順序付けされたバス・オペレーションの例として、キャ
ッシュ禁止記憶オペレーションを参照する。しかし、キ
ャッシュ禁止記憶オペレーションに関する論述は、本発
明の方法およびシステムの一例に過ぎず、本明細書に記
載する方法およびシステムが厳格に順序付けされたバス
・オペレーション全般に当てはまることが理解されよ
う。
For purposes of illustration, the present disclosure will refer to a cache-inhibited store operation as an example of a strictly ordered bus operation. It will be understood, however, that the discussion of cache-inhibited store operations is merely an example of the method and system of the present invention, and that the methods and systems described herein apply generally to strictly ordered bus operations.

【0013】図1は、本発明が適用されるマルチプロセ
ッサ・システムのブロック図である。システム100
は、それぞれキャッシュを含むプロセッサ(以下、プロ
セッサ102a〜102cと呼ぶ)、システム・バス1
04、メモリ制御装置106、アービタ108およびメ
モリ110を含む。
FIG. 1 is a block diagram of a multiprocessor system to which the present invention is applied. System 100
Are processors each including a cache (hereinafter referred to as processors 102a to 102c), a system bus 1
04, a memory controller 106, an arbiter 108, and a memory 110.

【0014】複数のプロセッサ102a〜102cを用
いるコンピュータ・システムは、しばしば、ロードの重
いアドレス・バス104を介してメモリ制御装置106
に取り付けられた、プロセッサ102a〜102cであ
ってもよい多数のバス・マスタを用いて設計される。各
バス・マスタは、一つのプロセッサ102a〜102c
であってもよいし、メモリ・リソースに関してアービト
レーションを下さなければならない、アービタ108と
も呼ばれるバス・インタフェース装置を介してメモリ制
御装置106と通信するプロセッサ102とキャッシュ
との組み合わせであってもよい。アービタ108は、メ
モリ制御装置106に対して内部的でもよいし外部的で
もよい。メモリ制御装置はネットワークに結合すること
ができる。
Computer systems using multiple processors 102a-102c often have a memory controller 106 via a heavily loaded address bus 104.
, And is designed with a number of bus masters, which may be processors 102a-102c. Each bus master has one processor 102a-102c
Or a combination of the processor 102 and a cache that must communicate with the memory controller 106 via a bus interface device, also called an arbiter 108, which must be arbitrated for memory resources. The arbiter 108 may be internal or external to the memory controller 106. The memory controller can be coupled to a network.

【0015】図1に示すシステム100は、図2に示す
流れ図を検討しながら参照することができる。図2は、
キャッシュ禁止記憶命令を転送する従来方法の流れ図で
ある。まず、ステップ200でアドレス要求がプロセッ
サから発される。しばらくして、ステップ202でプロ
セッサがアドレス許可を受ける。すると、ステップ20
4でプロセッサがアドレスを発し、ステップ206でア
ドレス応答を受けるまで待つ。キャッシュ禁止記憶のア
ドレス応答は通常、「クリーン」または「再試行」のい
ずれかである。「クリーン」応答は、バス・オペレーシ
ョンを転送することができることを示す。「再試行」応
答は、バス・オペレーションを再び発するべきであるこ
とを示す。
The system 100 shown in FIG. 1 can be referred to while considering the flowchart shown in FIG. FIG.
4 is a flowchart of a conventional method for transferring a cache-inhibit storage instruction. First, in step 200, an address request is issued from the processor. Some time later, at step 202, the processor receives address permission. Then, step 20
The processor issues an address at 4 and waits until an address response is received at step 206. Address responses for cache-inhibited storage are typically either "clean" or "retry". A "clean" response indicates that the bus operation can be transferred. A "retry" response indicates that the bus operation should be reissued.

【0016】そして、ステップ208で、アドレス応答
が「クリーン」であるかどうか判断される。応答が「ク
リーン」ではないならば、ステップ210で、プロセッ
サはアドレスの発送を再試行する。しかし、ステップ2
08で応答が「クリーン」であるならば、ステップ21
2で、アドレスに対するデータが発されたかどうかが判
断される。ステップ212で、アドレスに対するデータ
がまだ発されていないならば、システムは、それが発さ
れるまで待つ。アドレスに対するデータが発されると、
ステップ214で、次のアドレス要求を発することがで
きる。
Then, in step 208, it is determined whether the address response is "clean". If the response is not "clean", at step 210, the processor retries sending the address. But step 2
If the response is "clean" at 08, step 21
At 2, it is determined whether data for the address has been issued. At step 212, if data for the address has not yet been issued, the system waits until it has been issued. When data for an address is issued,
At step 214, a next address request can be issued.

【0017】図3は、図2に示す従来方法のタイミング
図である。プロセッサが、信号300によって示すよう
にアドレス要求を発する。しばらくして、信号302を
介してアドレス許可を受ける。そして、信号304を介
してアドレスを発する。しばらくして、アドレス応答が
発送側プロセッサによって受けられる。この例では、信
号312を介して「クリーン」応答が受けられる。
FIG. 3 is a timing chart of the conventional method shown in FIG. The processor issues an address request as indicated by signal 300. After a while, address permission is received via signal 302. Then, an address is issued via a signal 304. After some time, an address response is received by the sending processor. In this example, a "clean" response is received via signal 312.

【0018】プロセッサにより、アドレス要求と同時に
またはその後で、信号306を介してデータ要求を発す
ることができる。後で、ステップ308でデータ許可が
受けられ、プロセッサにより、信号310を介してデー
タが発される。データ310および「クリーン」アドレ
ス応答312がプロセッサによって受けられてはじめ
て、次のアドレス要求を信号314を介して発すること
ができる。
The processor may issue a data request via signal 306 either simultaneously with or after the address request. Later, at step 308, a data permission is received and the processor emits the data via signal 310. Only after the data 310 and the "clean" address response 312 have been received by the processor can the next address request be issued via signal 314.

【0019】先に述べたように、この遅延は、最適に満
たない性能にそのまま反映される。求められるものは、
処理システムにおいて順序付けされたバス・オペレーシ
ョン、たとえばキャッシュ禁止記憶命令を高速転送する
ためのシステムおよび方法である。本発明はそのような
必要性に対応する。
As mentioned earlier, this delay is directly reflected in sub-optimal performance. What is required is
A system and method for high-speed transfer of ordered bus operations in a processing system, such as cache-inhibited store instructions. The present invention addresses such a need.

【0020】図4は、本発明の方法の流れ図である。ス
テップ400で、複数のバス・オペレーション、たとえ
ば記憶要求がプロセッサによって発される。先に論じた
ように、バス・オペレーション、たとえばキャッシュ禁
止記憶命令は、厳格に順序付けされていることが好まし
い。そして、ステップ402で、複数の発されたバス・
オペレーションの一つを再び発するべきであることを示
す第一の応答がプロセッサによって受けられたかどうか
が判断される。第一の応答が受けられて、発されたバス
・オペレーションの一つを再び発するべきであることを
示すならば、ステップ404で、発されたバス・オペレ
ーションの少なくとも別の一つを再び発するべきである
ことを示す第二の応答がプロセッサから発される。発さ
れたバス・オペレーションの少なくとも別の一つを再び
発するべきであることを示すプロセッサからのこの第二
の応答を、本明細書中、「自己再試行」応答と呼ぶ。好
ましくは、プロセッサは、最初の「再試行」応答を受け
たバス・オペレーション要求の後で発されるバス・オペ
レーション要求のすべてに対して「自己再試行」応答を
提供する。本発明の方法は、キャッシュ禁止記憶命令と
の使用に関して特に有用である。
FIG. 4 is a flow chart of the method of the present invention. At step 400, a plurality of bus operations, such as a storage request, are issued by a processor. As discussed above, bus operations, eg, store-inhibit cache instructions, are preferably strictly ordered. Then, at step 402, the plurality of buses
It is determined whether a first response has been received by the processor indicating that one of the operations should be reissued. If the first response is received indicating that one of the issued bus operations should be reissued, then at step 404, at least another one of the issued bus operations should be reissued. A second response is issued from the processor indicating that This second response from the processor indicating that at least another one of the issued bus operations should be reissued is referred to herein as a "self retry" response. Preferably, the processor provides a "self retry" response for all bus operation requests issued after the first "retry" response received bus operation request. The method of the present invention is particularly useful for use with cache-inhibited store instructions.

【0021】図5は、本発明の方法のタイミング図であ
る。処理システム中のプロセッサがアドレス要求500
a〜500bを絶えず発する。そして、そのプロセッサ
はアドレス許可500a〜500bを受ける。その後、
プロセッサはアドレス500a〜500bを発する。
FIG. 5 is a timing diagram of the method of the present invention. The processor in the processing system receives an address request 500
a to 500b constantly emitted. The processor then receives address permissions 500a-500b. afterwards,
The processor issues addresses 500a-500b.

【0022】図5のタイミング図に示す例では、「クリ
ーン」アドレス応答506aが、アドレス要求500c
が発されるのとほぼ同時にプロセッサによって受けられ
る。しかし、アドレス要求500dが発されるのと同時
に「再試行」のアドレス応答506bが受けられる。ひ
とたび「再試行」応答506bが受けられると、次のア
ドレス要求500b′が再び提供される。要求500
b′は、最初の「再試行」応答506bを受けたものと
同じアドレスに対応する。換言するならば、同じアドレ
スが信号504b′によって再び発される。さらには、
発送側プロセッサはまた、発送側プロセッサが受けた最
初の「再試行」応答506bの前またはそれとほぼ同時
に発された他のアドレスについて「自己再試行」応答5
08bを提供する。発送側プロセッサそのものがそれ自
体の「自己再試行」応答508aを供給することが注目
される。
In the example shown in the timing diagram of FIG. 5, a "clean" address response 506a is
Is received by the processor at about the same time that is issued. However, at the same time that the address request 500d is issued, a "retry" address response 506b is received. Once the "retry" response 506b is received, the next address request 500b 'is again provided. Request 500
b 'corresponds to the same address that received the first "retry" response 506b. In other words, the same address is emitted again by signal 504b '. Furthermore,
The sending processor may also receive a "self retry" response 5 for any other address issued before or at about the same time as the first "retry" response 506b received by the sending processor.
08b. It is noted that the sending processor itself provides its own "self retry" response 508a.

【0023】発送側プロセッサは、アドレス504b′
を再び発したのち、最初の「再試行」応答506bを受
ける前またはそれとほぼ同時に発された他のアドレスを
再び発する。したがって、アドレス504c′および5
04d′は、好ましくはそれが発された最初の順序で再
び発される。
The sending processor sends the address 504b '
Again, then re-issue another address that was issued before or at about the same time as receiving the first "retry" response 506b. Therefore, addresses 504c 'and 5
04d 'is reissued, preferably in the first order in which it was issued.

【0024】ひとたびクリーンな応答506cが受けら
れると、次のアドレス要求500eが発される。
Once a clean response 506c is received, a next address request 500e is issued.

【0025】データ要求510は、アドレス要求500
と同時またはそれよりも後に発される。データ許可51
2は、それらの対応する要求510が発されたのちに受
けられる。その後、データ514を発することができ
る。
The data request 510 is an address request 500
Issued at the same time or later. Data permission 51
2 are received after their corresponding request 510 has been issued. Thereafter, data 514 can be emitted.

【0026】「自己再試行」応答508a〜508bに
よってアドレスの順序付けおよびデータが完全なまま維
持されることが注目されよう。対照的に、従来方法は、
「クリーン」応答とデータ転送の両方が起こらないうち
は新たなアドレスを提示しないことによって順序付けを
維持する。
It will be noted that the "self-retry" responses 508a-508b maintain address ordering and data integrity. In contrast, the conventional method
Ordering is maintained by not presenting a new address until both a "clean" response and a data transfer have occurred.

【0027】本発明のこのシステムおよび方法は、順序
付けされたバス・オペレーション性能、たとえばキャッ
シュ禁止記憶性能を大幅に改善しながらも、バス・オペ
レーション順序付けを維持する。ポインタを使用する
と、バス・インタフェース装置がオペレーション、たと
えばアドレス記録およびデータ記憶を、独立して、バス
・プロトコルが許す限りの速さで発することを可能にす
る。「再試行」が起こるならば、ポインタがリセットし
て、再試行された記憶アドレスおよびデータ・エントリ
に戻り、やり直す。そして、BIUが、最初の「再試
行」が受けられたのち、それが発したアドレスを自己再
試行する。
The system and method of the present invention maintains bus operation ordering while significantly improving ordered bus operation performance, eg, cache-inhibited storage performance. The use of pointers allows the bus interface device to issue operations, such as address recording and data storage, independently and as quickly as the bus protocol allows. If a "retry" occurs, the pointer resets and returns to the retried storage address and data entry and starts over. Then, after the first "retry" has been received, the BIU will retry the address it originated.

【0028】図6は、本発明の第二の実施態様の流れ図
である。第二の実施態様は、バス・オペレーションを発
するバス・マスタ、たとえばプロセッサが、放棄するま
で、バスの制御を保持することを許すように設計された
タイプのバス、たとえば60Xバスとともに動作するシ
ステムおよび方法である。他のタイプのバス、たとえば
6xxバスは通常、バス・マスタがバスの使用を、限ら
れた期間、たとえば1サイクルの期間だけ保持すること
を許す。
FIG. 6 is a flowchart of the second embodiment of the present invention. A second embodiment is a system that operates with a bus master, such as a processor, that issues a bus operation, such as a 60X bus, of a type designed to allow a processor to retain control of the bus until it abandons. Is the way. Other types of buses, such as the 6xx bus, typically allow a bus master to hold use of the bus for a limited period of time, for example, one cycle.

【0029】第二の実施態様によると、バス・マスタ、
たとえば要求側プロセッサは、現在のアドレスの要求な
らびに発すべき待ち行列にある次のアドレスの要求を発
する。そして、プロセッサが応答を受けるまでバスの制
御を保持する。応答が受けられるまでに、次のアドレス
の要求がすでに発されているはずであり、アドレスは、
その許可が発されているか、すでに発されている最中に
あるかのいずれかである。このようにして、第二の実施
態様のシステムおよび方法は、バス・オペレーション転
送性能を改善する。
According to a second embodiment, a bus master,
For example, the requesting processor issues a request for the current address as well as a request for the next address in the queue to issue. The bus control is maintained until the processor receives a response. By the time the response is received, a request for the next address should have already been issued and the address is
Either the permit has been issued or it is already being issued. In this way, the system and method of the second embodiment improves bus operation transfer performance.

【0030】図6の流れ図に示すように、ステップ60
0で、第一および第二のバス・オペレーション要求がプ
ロセッサによって発される。そして、ステップ602で
第一のバス・オペレーションが発される。そして、ステ
ップ604で、応答がプロセッサによって受けられたか
どうかが判断され、応答を受ける前に、もう一つのバス
・オペレーションを発するためにバスの制御を得る処理
が始まる。
As shown in the flowchart of FIG.
At 0, first and second bus operation requests are issued by the processor. Then, in step 602, a first bus operation is issued. Then, in step 604, it is determined whether a response has been received by the processor, and the process of obtaining control of the bus to initiate another bus operation begins prior to receiving the response.

【0031】図7は、本発明の第二の実施態様を説明す
るタイミング図である。タイミング図によって示すよう
に、二つのアドレス要求が順次に発され、図示するよう
に、アドレス許可が順次に受けられる。アドレスAが発
され、バス・マスタ、この例では、発送側プロセッサ
が、アドレスAの応答、この例では「クリーン」応答を
受けるまで、バスの制御を保持する。
FIG. 7 is a timing chart for explaining the second embodiment of the present invention. As shown by the timing diagram, two address requests are issued sequentially, and as shown, address grants are received sequentially. Address A is issued and the bus master, in this example, the sending processor, retains control of the bus until it receives a response to address A, in this example, a "clean" response.

【0032】要求側プロセッサがアドレスAのアドレス
要求700aを発してからアドレスAの応答702aが
受けられるまでの間に、次のアドレス要求700bが発
されている。この例ではまた、応答702aが受けられ
るまでにアドレス要求700bの仮のアドレス許可70
4が受けられている。その結果、要求側プロセッサは、
アドレスBのバスの制御を速やかに得ることができる。
The next address request 700b is issued between the time when the requesting processor issues the address request 700a for the address A and the time when the response 702a for the address A is received. In this example, the provisional address permission 70 of the address request 700b is not received until the response 702a is received.
4 have been received. As a result, the requesting processor
Control of the bus of the address B can be promptly obtained.

【0033】アドレスBの応答702bが受けられるま
でに、もう一つの要求700cが発されている。アドレ
スBの応答は「再試行」であるため、アドレスBが再び
発され、次の応答702cが受けられるまでバスの制御
が保持される。
Another request 700c has been issued before the response 702b of the address B is received. Since the response of address B is "retry", control of the bus is held until address B is issued again and the next response 702c is received.

【0034】待ち行列中の最後のアドレスが発されるま
でこのプロセスが継続する。この例では、最後のアドレ
スが指定される。アドレスDのアドレス要求が発された
のち、別のアドレスが発すべき待ち行列に加わるか、ア
ドレスDが「再試行」応答を受けない限り、さらなる要
求は発されない。
This process continues until the last address in the queue has been issued. In this example, the last address is specified. After an address request for address D is issued, no further requests are issued unless another address is enqueued to issue or address D receives a "retry" response.

【0035】図8は、本発明の第三の実施態様の流れ図
である。この第三の実施態様は、図4および5に示す第
一の実施態様とともに働く。要求アドレスが発されたの
ち、図1のメモリ制御装置106が、可能な限り速やか
に、たとえばネットワークにアドレスを送出することが
できる。しかし、図4および5に示す第一の実施態様に
したがって、アドレスが発送側プロセッサによって「自
己再試行」される機会がある。メモリ制御装置がアドレ
スを転送したのちアドレスが「自己再試行」されるなら
ば、アドレスの順序付けに関して問題が生じるかもしれ
ない。
FIG. 8 is a flowchart of the third embodiment of the present invention. This third embodiment works with the first embodiment shown in FIGS. After the requested address has been issued, the memory controller 106 of FIG. 1 can send the address as soon as possible, for example to a network. However, according to the first embodiment shown in FIGS. 4 and 5, there is an opportunity for the address to be "self-retrialed" by the sending processor. If the address is "self-retried" after the memory controller has transferred the address, problems may arise with regard to address ordering.

【0036】本発明の第三の実施態様は、選択されたア
ドレスに信号を付加して、メモリ制御装置に対し、選択
されたアドレスが「自己再試行」されないことを示すこ
とによってこの問題を回避する。したがって、メモリ制
御装置は、選択されたバス・オペレーションをできるだ
け速やかに転送することができる。選択されたアドレス
に関してメモリ制御装置が「再試行」応答を発送側プロ
セッサに送ることができるままであることが注目されよ
う。この方法で、順序付けされたバス・オペレーション
を速やかに転送しながらも、厳格な順序付けを維持する
ことができる。
A third embodiment of the present invention avoids this problem by adding a signal to the selected address to indicate to the memory controller that the selected address is not "self retried". I do. Therefore, the memory controller can transfer the selected bus operation as quickly as possible. It will be noted that the memory controller can still send a "retry" response to the sending processor for the selected address. In this manner, strict ordering can be maintained while transferring ordered bus operations quickly.

【0037】図8に示すように、ステップ800で、複
数のバス・オペレーションがバス・マスタ、この例では
プロセッサによって発される。他の実施態様と同様に、
バス・オペレーションは、厳格に順序付けされているこ
とが好ましい。複数の順序付けされたバス・オペレーシ
ョンは、第一および第二のバス・オペレーションを含
み、第一のバス・オペレーションが発された次に第二の
バス・オペレーションが発される。そして、ステップ8
02で、第二のバス・オペレーションを発する前に、第
一のバス・オペレーションの「クリーン」応答がプロセ
ッサによって受けられ、認識されるかどうかが判断され
る。「認識する」とは、プロセッサが、それが「クリー
ン」応答を受けたことを記すのに十分な時間を有し、さ
らなアドレスのさらなる発送を停止することができるこ
とをいう。第二のバス・オペレーションを発する前に、
第一のバス・オペレーションの「クリーン」応答がプロ
セッサによって受けられ、認識されたならば、ステップ
804で、第二のバス・オペレーションとともに信号が
発される。信号は、プロセッサが第二のバス・オペレー
ションに対して「自己再試行」を発しないことを示す。
As shown in FIG. 8, at step 800, a plurality of bus operations are issued by a bus master, in this example, a processor. As in other embodiments,
The bus operations are preferably strictly ordered. The plurality of ordered bus operations includes first and second bus operations, where a first bus operation is issued followed by a second bus operation. And step 8
At 02, before issuing a second bus operation, it is determined whether a "clean" response of the first bus operation has been received and recognized by the processor. "Recognize" means that the processor has enough time to note that it has received a "clean" response and can stop further dispatching of further addresses. Before issuing the second bus operation,
If a "clean" response for the first bus operation has been received and recognized by the processor, a signal is issued at step 804 along with the second bus operation. The signal indicates that the processor does not issue a "self retry" for the second bus operation.

【0038】図9は、図8に示す第三の実施態様のタイ
ミング図である。アドレスAに関して、アドレス要求が
発され、アドレス許可が発される。そして、「クリー
ン」アドレス応答が受けられる。「クリーン」応答がプ
ロセッサによって受けられ、認識されたのち、アドレス
Bに関するアドレス要求およびアドレス許可がプロセッ
サによって発される。そして、アドレスBとともに信号
900を送出して、マスタ制御装置に対し、アドレスB
が「自己再試行」されないことを示すことができる。信
号900は、次のアドレスを発する前に「クリーン」応
答がプロセッサによって受けられ、認識された場合にの
み、アドレスとともに送出されることが好ましい。その
後、アドレスC、DおよびEがプロセッサによって発さ
れ、アドレスCの「再試行」応答により、再び発され
る。次のアドレスを発する前にプロセッサによって受け
られ、認識される「クリーン」応答がないため、アドレ
スC、DおよびEは、これらのアドレスが「自己再試
行」されないことを示す信号を伴わないに注目するこ
と。このように、「自己再試行」応答が発されないこと
を示す信号は発されず、「クリーン」応答を受け、認識
するのに十分な時間が経過したのち発されるアドレスだ
けに伴うことが好ましい。
FIG. 9 is a timing chart of the third embodiment shown in FIG. For address A, an address request is issued and an address grant is issued. Then, a "clean" address response is received. After a "clean" response is received and recognized by the processor, an address request and an address grant for address B are issued by the processor. Then, a signal 900 is transmitted together with the address B, and the master controller issues an address B
May not be "self retried". Signal 900 is preferably sent with an address only if a "clean" response has been received and recognized by the processor before issuing the next address. Thereafter, addresses C, D and E are issued by the processor and again with a "retry" response for address C. Note that because there is no "clean" response received and recognized by the processor before issuing the next address, addresses C, D and E are not accompanied by a signal indicating that these addresses are not "self-retried". To do. Thus, a signal indicating that a "self retry" response will not be issued is preferably not issued, but only associated with an address that is issued after a sufficient time to receive and recognize a "clean" response. .

【0039】順序付けされたバス・オペレーションを高
速転送するためのシステムおよび方法を開示した。本発
明にしたがって書かれたソフトウェアは、何らかの形態
のコンピュータ読み取り可能な媒体、たとえばメモリま
たはCD−ROMに記憶されるか、ネットワークを介し
て伝送され、プロセッサによって実行される。
A system and method for high-speed transfer of ordered bus operations has been disclosed. Software written in accordance with the present invention may be stored on some form of computer readable medium, such as a memory or CD-ROM, or transmitted over a network and executed by a processor.

【0040】図示する実施態様にしたがって本発明を説
明したが、当業者であれば、実施態様に対する変形が可
能であり、そのような変形が本発明の真髄および範囲に
入るということを容易に認識するであろう。したがっ
て、請求の範囲の真髄および範囲を逸することなく、当
業者により、数多くの変更を加えることができる。
Although the invention has been described with reference to the illustrated embodiments, those skilled in the art will readily recognize that modifications to the embodiments are possible and that such modifications fall within the spirit and scope of the invention. Will do. Accordingly, many modifications may be made by one skilled in the art without departing from the spirit and scope of the appended claims.

【0041】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)少なくとも1個のプロセッサを含む処理システム
においてバス・オペレーションを転送する方法であっ
て、(a)前記少なくとも1個のプロセッサにより、第
一のバス・オペレーションおよび第二のバス・オペレー
ションを含む複数の順序付けされたバス・オペレーショ
ンを、前記第一のバス・オペレーションを発したのち前
記第二のバス・オペレーションを発するようにして発す
るステップと、(b)前記第二のバス・オペレーション
を発する前に、前記第一のバス・オペレーションを転送
することができることを示す、前記第一のバス・オペレ
ーションに対する第一の応答が前記少なくとも1個のプ
ロセッサによって受けられたかどうかを判断するステッ
プと、(c)前記第二のバス・オペレーションとともに
信号を発するステップと、を含み、前記信号が、前記プ
ロセッサが前記第二のバス・オペレーションに対して第
二の応答を発さないことを示し、前記第二の応答が、前
記第二のバス・オペレーションを再び発するべきである
ことを示し、前記第二のバス・オペレーションを発する
前に前記第一のバス・オペレーションに対する前記第一
の応答が前記少なくとも1個のプロセッサによって受け
られるならば、前記信号を提供する方法。 (2)前記複数のバス・オペレーションが厳格に順序付
けされている上記(1)記載の方法。 (3)前記バス・オペレーションが記憶オペレーション
である上記(1)記載の方法。 (4)前記バス・オペレーションがキャッシュ禁止記憶
オペレーションである上記(1)記載の方法。 (5)少なくとも1個のプロセッサを含む処理システム
においてバス・オペレーションを転送するためのプログ
ラム命令を含むコンピュータ読み取り可能な媒体であっ
て、前記プログラム命令は、前記処理システムを、
(a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
手段と、(b)前記第二のバス・オペレーションを発す
る前に、前記第一のバス・オペレーションを転送するこ
とができることを示す、前記第一のバス・オペレーショ
ンに対する第一の応答が前記少なくとも1個のプロセッ
サによって受けられたかどうかを判断する手段と、
(c)前記第二のバス・オペレーションとともに信号を
発する手段と、として機能させるものであり、、前記信
号が、前記プロセッサが前記第二のバス・オペレーショ
ンに対して第二の応答を発さないことを示し、前記第二
の応答が、前記第二のバス・オペレーションを再び発す
るべきであることを示し、前記第二のバス・オペレーシ
ョンを発する前に前記第一のバス・オペレーションに対
する前記第一の応答が前記少なくとも1個のプロセッサ
によって受けられるならば、前記信号を提供するコンピ
ュータ読み取り可能な媒体。 (6)少なくとも1個のプロセッサを含む処理システム
においてバス・オペレーションを転送するためのシステ
ムであって、前記少なくとも1個のプロセッサにより、
第一のバス・オペレーションおよび第二のバス・オペレ
ーションを含む複数の順序付けされたバス・オペレーシ
ョンを、前記第一のバス・オペレーションを発したのち
前記第二のバス・オペレーションを発するようにして発
するための手段と、前記第二のバス・オペレーションを
発する前に、前記第一のバス・オペレーションを転送す
ることができることを示す、前記第一のバス・オペレー
ションに対する第一の応答が前記少なくとも1個のプロ
セッサによって受けられたかどうかを判断するための、
前記発するための手段に結合された手段と、前記第二の
バス・オペレーションとともに信号を発するための手段
と、を含み、前記信号が、前記プロセッサが前記第二の
バス・オペレーションに対して第二の応答を発さないこ
とを示し、前記第二の応答が、前記第二のバス・オペレ
ーションを再び発するべきであることを示し、前記第二
のバス・オペレーションを発する前に前記第一のバス・
オペレーションに対する前記第一の応答が前記少なくと
も1個のプロセッサによって受けられるならば、前記信
号が提供され、前記発信手段が前記判断手段に結合され
ているとするシステム。 (7)少なくとも1個のプロセッサを含む処理システム
においてバス・オペレーションを転送する方法であっ
て、(a)前記少なくとも1個のプロセッサにより、第
一のバス・オペレーションおよび第二のバス・オペレー
ションを含む複数の順序付けされたバス・オペレーショ
ンを、前記第一のバス・オペレーションを発したのち前
記第二のバス・オペレーションを発するようにして発す
るステップと、(b)前記複数のバス・オペレーション
の一つを再び発するべきであることを示す第一の応答が
前記少なくとも1個のプロセッサによって受けられたか
どうかを判断するステップと、(c)前記第一の応答が
受けられたならば、前記発されたバス・オペレーション
の少なくとも別の一つを再び発するべきであることを示
す第二の応答を前記少なくとも1個のプロセッサから発
するステップと、(d)前記第二のバス・オペレーショ
ンを発する前に、前記第一のバス・オペレーションを転
送することができることを示す、前記第一のバス・オペ
レーションに対する第三の応答が前記少なくとも1個の
プロセッサによって受けられたかどうかを判断するステ
ップと、(e)前記第二のバス・オペレーションととも
に信号を発するステップと、を含み、前記信号が、前記
少なくとも1個のプロセッサが前記第二のバス・オペレ
ーションに対して前記第二の応答を発さないことを示
し、前記第二のバス・オペレーションを発する前に前記
第一のバス・オペレーションに対する前記応答が前記少
なくとも1個のプロセッサによって受けられるならば、
前記信号を提供する方法。 (8)少なくとも1個のプロセッサを含む処理システム
においてバス・オペレーションを転送するためのプログ
ラム命令を含むコンピュータ読み取り可能な媒体であっ
て、前記プログラム命令は、前記処理システムを、
(a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
手段と、(b)前記複数のバス・オペレーションの一つ
を再び発するべきであることを示す第一の応答が前記少
なくとも1個のプロセッサによって受けられたかどうか
を判断する手段と、(c)前記第一の応答が受けられた
ならば、前記発されたバス・オペレーションの少なくと
も別の一つを再び発するべきであることを示す第二の応
答を前記少なくとも1個のプロセッサから発する手段
と、(d)前記第二のバス・オペレーションを発する前
に、前記第一のバス・オペレーションを転送することが
できることを示す、前記第一のバス・オペレーションに
対する第三の応答が前記少なくとも1個のプロセッサに
よって受けられたかどうかを判断する手段と、(e)前
記第二のバス・オペレーションとともに信号を発する手
段と、として機能させるものであり、前記信号が、前記
少なくとも1個のプロセッサが前記第二のバス・オペレ
ーションに対して前記第二の応答を発さないことを示
し、前記第二のバス・オペレーションを発する前に前記
第一のバス・オペレーションに対する前記応答が前記少
なくとも1個のプロセッサによって受けられるならば、
前記信号を提供するコンピュータ読み取り可能な媒体。
In summary, the following matters are disclosed regarding the configuration of the present invention. (1) A method for transferring a bus operation in a processing system including at least one processor, the method comprising: (a) including, by the at least one processor, a first bus operation and a second bus operation. Issuing a plurality of ordered bus operations such that the first bus operation is issued and then the second bus operation; and (b) prior to issuing the second bus operation. Determining whether a first response to the first bus operation has been received by the at least one processor, indicating that the first bus operation can be transferred; (c) ) A step for signaling with said second bus operation; Wherein the signal indicates that the processor does not issue a second response to the second bus operation, and the second response re-initiates the second bus operation. Indicating that a signal should be issued and providing the signal if the first response to the first bus operation is received by the at least one processor before issuing the second bus operation. Method. (2) The method of (1), wherein the plurality of bus operations are strictly ordered. (3) The method according to (1), wherein said bus operation is a store operation. (4) The method according to (1), wherein the bus operation is a cache-inhibited storage operation. (5) A computer-readable medium containing program instructions for transferring bus operations in a processing system including at least one processor, the program instructions comprising:
(A) generating, by the at least one processor, a plurality of ordered bus operations including a first bus operation and a second bus operation, the second bus operation after issuing the first bus operation; Means for issuing such a bus operation; and (b) said first bus operation indicating that said first bus operation can be transferred prior to issuing said second bus operation. Means for determining whether a first response to an operation has been received by the at least one processor;
(C) means for issuing a signal with the second bus operation, wherein the signal does not cause the processor to emit a second response to the second bus operation. The second response indicates that the second bus operation should be reissued, and the first response to the first bus operation prior to issuing the second bus operation. A computer readable medium providing said signal if said response is received by said at least one processor. (6) A system for transferring bus operations in a processing system including at least one processor, the system comprising:
For issuing a plurality of ordered bus operations, including a first bus operation and a second bus operation, such that the first bus operation is issued and then the second bus operation is issued. Means for transmitting the first bus operation prior to issuing the second bus operation, wherein the first response to the first bus operation indicates that the at least one bus operation can be transferred. To determine if it was received by the processor,
Means coupled to the means for issuing, and means for emitting a signal with the second bus operation, wherein the signal is transmitted to the processor by the processor for a second signal to the second bus operation. And the second response indicates that the second bus operation should be reissued, and the first bus before issuing the second bus operation.・
If the first response to an operation is received by the at least one processor, the signal is provided and the originating means is coupled to the determining means. (7) A method for transferring a bus operation in a processing system including at least one processor, the method comprising: (a) including, by the at least one processor, a first bus operation and a second bus operation. Issuing a plurality of ordered bus operations such that the first bus operation is issued and then the second bus operation; and (b) one of the plurality of bus operations is issued. Determining if a first response indicating that it should be reissued has been received by the at least one processor; and (c) if the first response has been received, the issued bus A second response indicating that at least another one of the operations should be reissued; Issuing from at least one processor; and (d) for said first bus operation indicating that said first bus operation can be transferred prior to issuing said second bus operation. Determining whether a third response has been received by the at least one processor; and (e) issuing a signal with the second bus operation, wherein the signal is transmitted by the at least one processor. Indicating that the processor does not issue the second response to the second bus operation, and the response to the first bus operation is less than the at least If received by one processor,
A method for providing the signal. (8) A computer-readable medium including program instructions for transferring bus operations in a processing system including at least one processor, the program instructions comprising:
(A) generating, by the at least one processor, a plurality of ordered bus operations including a first bus operation and a second bus operation, the second bus operation after issuing the first bus operation; Means for issuing such a bus operation; and (b) whether a first response indicating that one of said plurality of bus operations should be issued again is received by said at least one processor. Means for determining if the first response has been received, the second response indicating that at least another one of the issued bus operations should be reissued. Means for issuing from one processor; and (d) prior to issuing said second bus operation, said first bus. Means for determining whether a third response to the first bus operation has been received by the at least one processor, indicating that the operation can be transferred; and (e) the second bus. Means for issuing a signal with operation, said signal indicating that said at least one processor does not emit said second response to said second bus operation, If the response to the first bus operation is received by the at least one processor before issuing a second bus operation,
A computer readable medium providing the signal.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明が適用されるマルチプロセッサ・システ
ムのブロック図である。
FIG. 1 is a block diagram of a multiprocessor system to which the present invention is applied.

【図2】従来のバス・オペレーション転送方法の流れ図
である。
FIG. 2 is a flowchart of a conventional bus operation transfer method.

【図3】図2に示す従来方法のタイミング図である。FIG. 3 is a timing chart of the conventional method shown in FIG. 2;

【図4】順序付けされたバス・オペレーションを高速転
送するための本発明の方法の流れ図である。
FIG. 4 is a flow chart of the method of the present invention for high-speed transfer of ordered bus operations.

【図5】本発明の方法のタイミング図である。FIG. 5 is a timing diagram of the method of the present invention.

【図6】本発明の第二の実施態様の流れ図である。FIG. 6 is a flowchart of a second embodiment of the present invention.

【図7】本発明の第二の実施態様のタイミング図であ
る。
FIG. 7 is a timing chart of the second embodiment of the present invention.

【図8】本発明の第三の実施態様の流れ図である。FIG. 8 is a flowchart of a third embodiment of the present invention.

【図9】本発明の第三の実施態様のタイミング図であ
る。
FIG. 9 is a timing chart of the third embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100 システム 102a〜102c プロセッサ 104 システム・バス 106 メモリ制御装置 108 アービタ108 110 メモリ Reference Signs List 100 system 102a to 102c processor 104 system bus 106 memory controller 108 arbiter 108 110 memory

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 15/16 360 G06F 15/16 360Z (72)発明者 ジョン・スティーブン・ドットソン アメリカ合衆国78660、 テキサス州フラ ッガーヴィル ベル・ロック・サークル 1205 (72)発明者 ラヴィ・クメール・アルミリ アメリカ合衆国78759、 テキサス州オー スティン スパイスブラッシュ・ドライブ 9221──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification FI G06F 15/16 360 G06F 15/16 360Z (72) Inventor John Stephen Dotson United States 78660 USA Fraggerville Bell Rock, TX Circle 1205 (72) Inventor Ravi Khmer Al-Milli, United States 78759, Austin, TX Spicebrush Drive 9221

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】少なくとも1個のプロセッサを含む処理シ
ステムにおいてバス・オペレーションを転送する方法で
あって、 (a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
ステップと、 (b)前記第二のバス・オペレーションを発する前に、
前記第一のバス・オペレーションを転送することができ
ることを示す、前記第一のバス・オペレーションに対す
る第一の応答が前記少なくとも1個のプロセッサによっ
て受けられたかどうかを判断するステップと、 (c)前記第二のバス・オペレーションとともに信号を
発するステップと、を含み、前記信号が、前記プロセッ
サが前記第二のバス・オペレーションに対して第二の応
答を発さないことを示し、前記第二の応答が、前記第二
のバス・オペレーションを再び発するべきであることを
示し、前記第二のバス・オペレーションを発する前に前
記第一のバス・オペレーションに対する前記第一の応答
が前記少なくとも1個のプロセッサによって受けられる
ならば、前記信号を提供する方法。
1. A method for transferring a bus operation in a processing system including at least one processor, comprising: (a) a first bus operation and a second bus operation by the at least one processor; Issuing a plurality of ordered bus operations including issuing the first bus operation and then issuing the second bus operation; and (b) issuing the second bus operation. Before firing
Determining whether a first response to the first bus operation has been received by the at least one processor, indicating that the first bus operation can be transferred; and Issuing a signal with a second bus operation, the signal indicating that the processor does not issue a second response to the second bus operation; Indicates that the second bus operation should be reissued, and the first response to the first bus operation is prior to issuing the second bus operation. Providing the signal if received by
【請求項2】前記複数のバス・オペレーションが厳格に
順序付けされている請求項1記載の方法。
2. The method of claim 1, wherein said plurality of bus operations are strictly ordered.
【請求項3】前記バス・オペレーションが記憶オペレー
ションである請求項1記載の方法。
3. The method of claim 1, wherein said bus operation is a store operation.
【請求項4】前記バス・オペレーションがキャッシュ禁
止記憶オペレーションである請求項1記載の方法。
4. The method of claim 1, wherein said bus operation is a cache inhibited store operation.
【請求項5】少なくとも1個のプロセッサを含む処理シ
ステムにおいてバス・オペレーションを転送するための
プログラム命令を含むコンピュータ読み取り可能な媒体
であって、前記プログラム命令は、前記処理システム
を、 (a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
手段と、 (b)前記第二のバス・オペレーションを発する前に、
前記第一のバス・オペレーションを転送することができ
ることを示す、前記第一のバス・オペレーションに対す
る第一の応答が前記少なくとも1個のプロセッサによっ
て受けられたかどうかを判断する手段と、 (c)前記第二のバス・オペレーションとともに信号を
発する手段と、として機能させるものであり、、前記信
号が、前記プロセッサが前記第二のバス・オペレーショ
ンに対して第二の応答を発さないことを示し、前記第二
の応答が、前記第二のバス・オペレーションを再び発す
るべきであることを示し、前記第二のバス・オペレーシ
ョンを発する前に前記第一のバス・オペレーションに対
する前記第一の応答が前記少なくとも1個のプロセッサ
によって受けられるならば、前記信号を提供するコンピ
ュータ読み取り可能な媒体。
5. A computer readable medium containing program instructions for transferring bus operations in a processing system including at least one processor, the program instructions comprising: (a) A plurality of ordered bus operations, including a first bus operation and a second bus operation, are issued by the at least one processor to the second bus operation after issuing the first bus operation. Means for issuing in such a manner that: (b) prior to issuing said second bus operation,
Means for determining whether a first response to the first bus operation has been received by the at least one processor, indicating that the first bus operation can be transferred; and (c) Means for issuing a signal with a second bus operation, the signal indicating that the processor does not emit a second response to the second bus operation; The second response indicates that the second bus operation should be reissued, and the first response to the first bus operation is prior to issuing the second bus operation. A computer-readable medium that provides the signal if received by at least one processor.
【請求項6】少なくとも1個のプロセッサを含む処理シ
ステムにおいてバス・オペレーションを転送するための
システムであって、 前記少なくとも1個のプロセッサにより、第一のバス・
オペレーションおよび第二のバス・オペレーションを含
む複数の順序付けされたバス・オペレーションを、前記
第一のバス・オペレーションを発したのち前記第二のバ
ス・オペレーションを発するようにして発するための手
段と、 前記第二のバス・オペレーションを発する前に、前記第
一のバス・オペレーションを転送することができること
を示す、前記第一のバス・オペレーションに対する第一
の応答が前記少なくとも1個のプロセッサによって受け
られたかどうかを判断するための、前記発するための手
段に結合された手段と、 前記第二のバス・オペレーションとともに信号を発する
ための手段と、を含み、前記信号が、前記プロセッサが
前記第二のバス・オペレーションに対して第二の応答を
発さないことを示し、前記第二の応答が、前記第二のバ
ス・オペレーションを再び発するべきであることを示
し、前記第二のバス・オペレーションを発する前に前記
第一のバス・オペレーションに対する前記第一の応答が
前記少なくとも1個のプロセッサによって受けられるな
らば、前記信号が提供され、前記発信手段が前記判断手
段に結合されているとするシステム。
6. A system for transferring bus operations in a processing system including at least one processor, wherein the at least one processor causes a first bus to be transferred.
Means for issuing a plurality of ordered bus operations including an operation and a second bus operation, such that the first bus operation is issued and then the second bus operation is issued; and Whether a first response to the first bus operation was received by the at least one processor indicating that the first bus operation can be transferred before issuing a second bus operation Means for determining whether to issue a signal in conjunction with the means for emitting; and means for emitting a signal with the second bus operation, wherein the signal is transmitted by the processor to the second bus. Indicating that a second response is not issued to the operation, wherein the second response is Indicating that the second bus operation should be reissued, wherein the first response to the first bus operation is received by the at least one processor before issuing the second bus operation. If so, the signal is provided and the transmitting means is coupled to the determining means.
【請求項7】少なくとも1個のプロセッサを含む処理シ
ステムにおいてバス・オペレーションを転送する方法で
あって、 (a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
ステップと、 (b)前記複数のバス・オペレーションの一つを再び発
するべきであることを示す第一の応答が前記少なくとも
1個のプロセッサによって受けられたかどうかを判断す
るステップと、 (c)前記第一の応答が受けられたならば、前記発され
たバス・オペレーションの少なくとも別の一つを再び発
するべきであることを示す第二の応答を前記少なくとも
1個のプロセッサから発するステップと、 (d)前記第二のバス・オペレーションを発する前に、
前記第一のバス・オペレーションを転送することができ
ることを示す、前記第一のバス・オペレーションに対す
る第三の応答が前記少なくとも1個のプロセッサによっ
て受けられたかどうかを判断するステップと、 (e)前記第二のバス・オペレーションとともに信号を
発するステップと、を含み、前記信号が、前記少なくと
も1個のプロセッサが前記第二のバス・オペレーション
に対して前記第二の応答を発さないことを示し、前記第
二のバス・オペレーションを発する前に前記第一のバス
・オペレーションに対する前記応答が前記少なくとも1
個のプロセッサによって受けられるならば、前記信号を
提供する方法。
7. A method for transferring a bus operation in a processing system including at least one processor, comprising: (a) a first bus operation and a second bus operation by the at least one processor. Issuing a plurality of ordered bus operations including issuing the first bus operation and then issuing the second bus operation; and (b) one of the plurality of bus operations. Determining whether a first response indicating that one should be reissued has been received by the at least one processor; and (c) if the first response has been received, issuing the first response. A second response indicating that at least another one of the failed bus operations should be reissued. A step of emitting from the at least one processor, prior to issuing (d) is the second bus operation,
Determining whether a third response to the first bus operation has been received by the at least one processor indicating that the first bus operation can be transferred; and Issuing a signal with a second bus operation, the signal indicating that the at least one processor does not emit the second response to the second bus operation; Prior to issuing the second bus operation, the response to the first bus operation may be
Providing the signal if received by a plurality of processors.
【請求項8】少なくとも1個のプロセッサを含む処理シ
ステムにおいてバス・オペレーションを転送するための
プログラム命令を含むコンピュータ読み取り可能な媒体
であって、前記プログラム命令は、前記処理システム
を、 (a)前記少なくとも1個のプロセッサにより、第一の
バス・オペレーションおよび第二のバス・オペレーショ
ンを含む複数の順序付けされたバス・オペレーション
を、前記第一のバス・オペレーションを発したのち前記
第二のバス・オペレーションを発するようにして発する
手段と、 (b)前記複数のバス・オペレーションの一つを再び発
するべきであることを示す第一の応答が前記少なくとも
1個のプロセッサによって受けられたかどうかを判断す
る手段と、 (c)前記第一の応答が受けられたならば、前記発され
たバス・オペレーションの少なくとも別の一つを再び発
するべきであることを示す第二の応答を前記少なくとも
1個のプロセッサから発する手段と、 (d)前記第二のバス・オペレーションを発する前に、
前記第一のバス・オペレーションを転送することができ
ることを示す、前記第一のバス・オペレーションに対す
る第三の応答が前記少なくとも1個のプロセッサによっ
て受けられたかどうかを判断する手段と、 (e)前記第二のバス・オペレーションとともに信号を
発する手段と、として機能させるものであり、前記信号
が、前記少なくとも1個のプロセッサが前記第二のバス
・オペレーションに対して前記第二の応答を発さないこ
とを示し、前記第二のバス・オペレーションを発する前
に前記第一のバス・オペレーションに対する前記応答が
前記少なくとも1個のプロセッサによって受けられるな
らば、前記信号を提供するコンピュータ読み取り可能な
媒体。
8. A computer-readable medium containing program instructions for transferring bus operations in a processing system including at least one processor, the program instructions comprising: (a) A plurality of ordered bus operations, including a first bus operation and a second bus operation, are issued by the at least one processor to the second bus operation after issuing the first bus operation. And (b) determining whether a first response indicating that one of the plurality of bus operations should be reissued has been received by the at least one processor. (C) if the first response is received, the Means for issuing from the at least one processor a second response indicating that at least another one of the selected bus operations should be reissued; and (d) prior to issuing the second bus operation. ,
Means for determining whether a third response to the first bus operation has been received by the at least one processor, indicating that the first bus operation can be transferred; and (e) Means for issuing a signal with a second bus operation, said signal not causing said at least one processor to emit said second response to said second bus operation. A computer readable medium for providing the signal if the response to the first bus operation is received by the at least one processor prior to issuing the second bus operation.
JP10093336A 1997-10-31 1998-04-06 Bus operation transfer method, system therefor and computer readable medium Pending JPH11175459A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/833,228 US6145038A (en) 1997-10-31 1997-10-31 Method and system for early slave forwarding of strictly ordered bus operations
US08/833228 1997-10-31

Publications (1)

Publication Number Publication Date
JPH11175459A true JPH11175459A (en) 1999-07-02

Family

ID=25263803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10093336A Pending JPH11175459A (en) 1997-10-31 1998-04-06 Bus operation transfer method, system therefor and computer readable medium

Country Status (3)

Country Link
US (1) US6145038A (en)
JP (1) JPH11175459A (en)
CN (1) CN1167019C (en)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179663A (en) * 1988-02-19 1993-01-12 Hitachi, Ltd. Data transfer controller
US5067069A (en) * 1989-02-03 1991-11-19 Digital Equipment Corporation Control of multiple functional units with parallel operation in a microcoded execution unit
US5109495A (en) * 1989-02-03 1992-04-28 Digital Equipment Corp. Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
DE69130138T2 (en) * 1990-06-29 1999-05-06 Digital Equipment Corp Jump prediction unit for high-performance processor
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
EP0468831B1 (en) * 1990-06-29 1997-10-15 Digital Equipment Corporation Bus protocol for write-back cache processor
CA2045798A1 (en) * 1990-06-29 1991-12-30 Rebecca L. Stamm Conversion of internal processor register commands to i/o space addresses
US5271020A (en) * 1990-12-21 1993-12-14 Intel Corporation Bus stretching protocol for handling invalid data
US5371893A (en) * 1991-12-27 1994-12-06 International Business Machines Corporation Look-ahead priority arbitration system and method
JPH05324544A (en) * 1992-05-15 1993-12-07 Hitachi Ltd Bus control method
US5542058A (en) * 1992-07-06 1996-07-30 Digital Equipment Corporation Pipelined computer with operand context queue to simplify context-dependent execution flow
JP2931490B2 (en) * 1992-12-18 1999-08-09 富士通株式会社 Parallel processing method
US5375223A (en) * 1993-01-07 1994-12-20 International Business Machines Corporation Single register arbiter circuit
DE69434311D1 (en) * 1993-02-01 2005-04-28 Sun Microsystems Inc ARCHIVING FILES SYSTEM FOR DATA PROVIDERS IN A DISTRIBUTED NETWORK ENVIRONMENT
CA2116826C (en) * 1993-03-11 1998-11-24 Timothy J. Sullivan Data processing system using a non-multiplexed, asynchronous address/data bus system
US5615343A (en) * 1993-06-30 1997-03-25 Intel Corporation Method and apparatus for performing deferred transactions
US5513368A (en) * 1993-07-16 1996-04-30 International Business Machines Corporation Computer I/O adapters for programmably varying states of peripheral devices without interfering with central processor operations
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
WO1995020191A1 (en) * 1994-01-25 1995-07-27 Apple Computer, Inc. System and method for coordinating access to a bus
US5577211A (en) * 1994-05-11 1996-11-19 Ibm Corporation System and method using chained structure queues for ordering of message delivery between connected nodes wherein unsuccessful message portion is skipped and retried
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5592631A (en) * 1995-05-02 1997-01-07 Apple Computer, Inc. Bus transaction reordering using side-band information signals
US5717872A (en) * 1996-01-11 1998-02-10 Unisys Corporation Flexible, soft, random-like counter system for bus protocol waiting periods
US5835741A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Bus-to-bus bridge in computer system, with fast burst memory range

Also Published As

Publication number Publication date
CN1225477A (en) 1999-08-11
US6145038A (en) 2000-11-07
CN1167019C (en) 2004-09-15

Similar Documents

Publication Publication Date Title
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US5282272A (en) Interrupt distribution scheme for a computer bus
US5649157A (en) Memory controller with priority queues
US5261109A (en) Distributed arbitration method and apparatus for a computer bus using arbitration groups
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US4744023A (en) Processor access control arrangement in a multiprocessor system
EP2377026B1 (en) Resolving contention between data bursts
EP0358716A1 (en) Node for servicing interrupt request messages on a pended bus.
KR20180071967A (en) Data processing
CA2447973A1 (en) Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system
JP6129976B2 (en) Method and apparatus using high efficiency atomic operations
JPH10320282A (en) Method and device for controlling virtual cache
US5708784A (en) Dual bus computer architecture utilizing distributed arbitrators and method of using same
JP2002041449A (en) Bus system and method for controlling execution sequence of the bus system
JPH05274252A (en) Transaction execution method for computer system
CN112612725A (en) Apparatus and method for processing cache maintenance operations
JPH08161254A (en) Information processing system and bus arbitration system therefor
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
JPH11175459A (en) Bus operation transfer method, system therefor and computer readable medium
JP2007102447A (en) Arithmetic processor
JPH0844662A (en) Information processor
US8239652B2 (en) Data processing system
US6625678B1 (en) Livelock avoidance method
JPH0844661A (en) Information processor