JPH11167557A - Shared memory access sequence assurance method and multiprocessor system - Google Patents

Shared memory access sequence assurance method and multiprocessor system

Info

Publication number
JPH11167557A
JPH11167557A JP9331520A JP33152097A JPH11167557A JP H11167557 A JPH11167557 A JP H11167557A JP 9331520 A JP9331520 A JP 9331520A JP 33152097 A JP33152097 A JP 33152097A JP H11167557 A JPH11167557 A JP H11167557A
Authority
JP
Japan
Prior art keywords
request
store
processor
order
instruction
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
JP9331520A
Other languages
Japanese (ja)
Inventor
Yuuichi Saigan
裕一 西願
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9331520A priority Critical patent/JPH11167557A/en
Publication of JPH11167557A publication Critical patent/JPH11167557A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide the shared memory access sequence assurance control which has not to keep the subsequent instructions waiting for their execution in order to assure their store sequence in a multiprocessor system where a memory is shared by plural processors. SOLUTION: A synchronous state flag is prepared at a load sequence assurance control part 18 corresponding to a processor in a storage controller 3. The processors 1 and 2 issue the store and load sequence assurance instructions in the store and load sequence assurance modes respectively. The processor that executed a store sequence assurance instruction successively starts execution of the subsequent instructions. Then the synchronous state flag is set by the store sequence assurance request of the other processor and reset when all store processes preceding the request are finished. The processor that executed a load sequence assurance instruction starts execution of the subsequent instructions after the synchronous state flag is reset.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のプロセッサ
でメモリを共有するマルチプロセッサシステムにおける
共有メモリのアクセス順序保証に関し、特にスイッチ型
の記憶制御装置によって共有メモリを制御する構成のマ
ルチプロセッサシステムに好適な共有メモリアクセス順
序保証方法及びそのマルチプロセッサシステムに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to guaranteeing access order of a shared memory in a multiprocessor system in which a plurality of processors share a memory, and more particularly to a multiprocessor system having a configuration in which a shared memory is controlled by a switch-type storage controller. The present invention relates to a preferred shared memory access order guarantee method and a multiprocessor system thereof.

【0002】[0002]

【従来の技術】マルチプロセッサシステムでは、共有メ
モリに対してアドレスの異なる2つのストア命令を実行
した場合、これらのストアが共有メモリに反映される順
序は必ずしも実行した順序と同じになるとは限らない。
同様に、アドレスの異なる2つのロード命令を実行した
場合も、これらのロードが共有メモリのデータを読み出
す順序は必ずしも実行した順序と同じになるとは限らな
い。このため、メモリに対するアクセス順序を保証した
いときは、メモリアクセス命令間に適当な順序保証命令
を入れる必要がある。この種の命令としては、例えばS
YNC命令が良く知られている。
2. Description of the Related Art In a multiprocessor system, when two store instructions having different addresses are executed for a shared memory, the order in which these stores are reflected in the shared memory is not always the same as the order in which they are executed. .
Similarly, when two load instructions having different addresses are executed, the order in which these loads read data from the shared memory is not always the same as the order in which they were executed. Therefore, when it is desired to guarantee the access order to the memory, it is necessary to insert an appropriate order guarantee instruction between the memory access instructions. Such instructions include, for example, S
The YNC instruction is well known.

【0003】この順序保証命令でアクセス順序保証を実
現するには、ストアの場合であれば、該順序保証命令を
実行したとき、それ以前のストア命令が確実に完了する
まで後続のストア命令の実行を抑止するという方法が最
も単純で明解である。ここで、ストア命令が確実に完了
するということは、共有メモリにストアデータが書き込
まれ、かつ、他プロセッサが持つキャッシュに該ストア
命令が示すアドレスと同一のアドレスに対応するデータ
が存在する場合はそのデータが更新あるいは無効化され
ることを指す。このとき、どのプロセッサからのロード
リクエストによってもストアリクエストがこれ以上追い
越されることがないと保証できるのならば、その時点で
共有メモリへの書き込みは完了であるとみなすことがで
きる。またロードの場合も同様に、順序保証命令を実行
したとき、それ以前のロード命令が完了するまで後続の
ロード命令の実行を抑止すればよい。
In order to implement the access order assurance with this order assurance instruction, in the case of a store, when the order assurance instruction is executed, execution of a subsequent store instruction until the preceding store instruction is completely completed. Is the simplest and clearest way to deter. Here, the complete completion of the store instruction means that the store data is written to the shared memory and that the data corresponding to the same address as the address indicated by the store instruction exists in the cache of another processor. Indicates that the data is updated or invalidated. At this time, if it can be guaranteed that the store request will not be overtaken by the load request from any processor, the writing to the shared memory can be regarded as completed at that time. Similarly, in the case of loading, when the order guarantee instruction is executed, the execution of the subsequent load instruction may be suppressed until the previous load instruction is completed.

【0004】各プロセッサと共有メモリが、図5で示す
ように単一のバスによって接続されている場合は、順序
保証命令が実行されると、一旦後続の命令の実行を抑止
し、順序保証命令以前に実行したストアリクエストが全
てバスに送出された後に順序保証リクエストをバスに送
出し、他のプロセッサから該順序保証リクエスト以前の
ストアがそれぞれのキャッシュに反映し終わったことを
示す完了信号を受け取り、全ての他プロセッサから完了
信号を受け取った時点で順序保証命令の完了とし、後続
の命令実行を再開することができる。
When each processor and the shared memory are connected by a single bus as shown in FIG. 5, once an order guarantee instruction is executed, execution of a subsequent instruction is temporarily suppressed, and After all the previously executed store requests have been sent to the bus, the order guarantee request is sent to the bus, and a completion signal indicating that the store before the order guarantee request has been reflected in the respective caches has been received from another processor. When the completion signals are received from all the other processors, the order guarantee instruction is completed and the subsequent instruction execution can be resumed.

【0005】一方、各プロセッサと共有メモリが、図6
で示すように多段スイッチの記憶制御装置によって接続
されている場合は、各プロセッサでは他のプロセッサが
共有メモリに対してストアしたことを直接知ることはで
きないため、記憶制御装置において他プロセッサのスト
ア情報を各プロセッサに通知する必要がある。しかし、
最下位層のスイッチを通過しなければ共有メモリに対す
るストアの完了が保証できないため、前記ストア情報の
通知はこの後で行わなければならない。そして、全プロ
セッサからキャッシュへの反映が完了したことの報告を
受けることにより、順序保証命令の完了とする。
On the other hand, each processor and the shared memory are shown in FIG.
In the case of being connected by a storage controller of a multi-stage switch as shown by, since each processor cannot directly know that another processor has stored in the shared memory, the storage controller stores information of the other processor. Must be notified to each processor. But,
Since the completion of the store to the shared memory cannot be guaranteed unless it passes through the switch of the lowest layer, the notification of the store information must be performed after this. Then, the order guarantee instruction is completed by receiving reports from all the processors that the reflection to the cache is completed.

【0006】[0006]

【発明が解決しようとする課題】従来のマルチプロセッ
サシステムにおける共有メモリアクセス順序保証制御に
は次のような問題がある。
There is the following problem in the shared memory access order assurance control in the conventional multiprocessor system.

【0007】順序保証命令以前に実行された全てのスト
ア命令が完了することを待つために、後続の命令実行が
しばらく止まってしまう。特に、下位階層までリクエス
トが達しないと完了とみなすことができないスイッチ型
の主記憶制御装置においてこの問題は顕著になる。
[0007] In order to wait for all store instructions executed before the order guarantee instruction to complete, execution of subsequent instructions is stopped for a while. In particular, this problem becomes remarkable in a switch-type main memory control device that cannot be regarded as completed unless a request reaches a lower layer.

【0008】例えば、あるプロセッサからデータとその
データの読み出しを許可するためのフラグをストアする
場合、データとフラグの間には当然ながら順序保証命令
が必要であり、データのストアが後続のフラグのストア
を待たせてしまうために、他プロセッサからフラグを読
み出すタイミングも遅れることになり、共有データのス
トアからロードまでのレイテンシは順序保証のためにか
なりの部分を費やされてしまう。
For example, when storing data and a flag for permitting the reading of the data from a certain processor, an order guarantee instruction is naturally required between the data and the flag, and the storing of the data is performed by the following flag. Since the store is made to wait, the timing at which the flag is read from another processor is also delayed, and a considerable portion of latency from shared store to load of shared data is guaranteed for order.

【0009】レイテンシ削減のために、プロセッサ内で
後続の命令を抑止する代わりに、主記憶制御装置内にお
いて先行するストアリクエストが完了するまで後続のリ
クエストを抑止するという方法も考えられるが、レイテ
ンシ削減効果の高い下位階層である程、無関係なプロセ
ッサからのリクエストも抑止してしまう可能性が高くな
るという問題も発生する。
In order to reduce the latency, instead of suppressing the subsequent instruction in the processor, a method of suppressing the subsequent request until the preceding store request is completed in the main memory control device can be considered. There is also a problem that the lower the hierarchical level of the effect, the higher the possibility that requests from unrelated processors will be suppressed.

【0010】本発明の目的は、ストアの順序保証のため
に後続の命令実行を待たせる必要のない共有メモリアク
セス順序保証方法及びマルチプロセッサシステムを提供
することにある。
An object of the present invention is to provide a shared memory access order assurance method and a multiprocessor system which do not have to wait for the execution of a subsequent instruction to guarantee the order of stores.

【0011】本発明の他の目的は、順序保証に無関係な
プロセッサに影響を与えない共有メモリアクセス順序保
証方法及びマルチプロセッサシステムを提供することに
ある。
Another object of the present invention is to provide a shared memory access order assurance method and a multiprocessor system which do not affect processors unrelated to the order assurance.

【0012】[0012]

【課題を解決するための手段】本発明は、ストアの順序
保証時にはストア順序保証命令、ロードの順序保証時に
はロード順序保証命令というように、二種類の順序保証
命令を用意する。プロセッサがストア順序保証命令を実
行すると、先行のストア命令による全てのストアリクエ
ストを記憶制御装置に掃き出した後、ストア順序保証リ
クエストを記憶制御装置に対して送出する。プロセッサ
から見るとストア順序保証命令は記憶制御装置にリクエ
ストを送出した時点で完了となるので、後続の命令は待
たされることなく実行することができる。
According to the present invention, two types of order guarantee instructions are prepared, such as a store order guarantee instruction when guaranteeing the store order and a load order guarantee instruction when guaranteeing the load order. When the processor executes the store order guarantee instruction, all the store requests by the preceding store instruction are flushed to the storage controller, and then the store order guarantee request is sent to the storage controller. From the viewpoint of the processor, the store order assurance instruction is completed when the request is sent to the storage controller, so that subsequent instructions can be executed without waiting.

【0013】記憶制御装置にはプロセッサ対応に同期状
態フラグと呼ばれる同期の状態を表すレジスタを用意す
る。あるプロセッサからストア順序保証リクエストが発
行されたとき、該プロセッサ以外のプロセッサに対応す
る同期状態フラグを1にセットする。そして、ストア順
序保証リクエスト以前の全てのストアリクエストが共有
メモリに達し、さらに各プロセッサのキャッシュへの反
映が完了すると、該プロセッサに対応する同期状態フラ
グを0にリセットする。なお、同期状態フラグを1にセ
ットするタイミングは、順序保証が可能な範囲でできる
だけ遅い方が望ましい。
The storage controller is provided with a register for indicating a synchronization state called a synchronization state flag for each processor. When a store order guarantee request is issued from a certain processor, the synchronization state flag corresponding to a processor other than the processor is set to 1. Then, when all the store requests before the store order guarantee request reach the shared memory, and furthermore, the reflection to the cache of each processor is completed, the synchronization state flag corresponding to the processor is reset to 0. It is desirable that the timing of setting the synchronization status flag to 1 is as late as possible within a range where the order can be guaranteed.

【0014】一方、ロード順序保証命令は、先行するロ
ード命令の全てのリプライデータが戻ってきてから実行
され、記憶制御装置に対してロード順序保証リクエスト
が送出される。この時点で、後続の命令の実行は一旦抑
止する。記憶制御装置では、ロード順序保証リクエスト
を受け取った時点で該プロセッサに対応する同期状態フ
ラグが0であれば、その時点でロード順序保証リクエス
トの完了とし、同期状態フラグが1であれば、0になる
まで待ち、0になった時点でロード順序保証リクエスト
の完了として、プロセッサに完了報告を上げる。ロード
順序保証リクエストを発行したプロセッサでは、記憶制
御装置から完了報告を受け取ると、後続の命令実行を再
開する。
On the other hand, the load order guarantee instruction is executed after all reply data of the preceding load instruction has returned, and a load order guarantee request is sent to the storage controller. At this point, the execution of the subsequent instruction is temporarily suppressed. In the storage controller, if the synchronization status flag corresponding to the processor is 0 when the load order guarantee request is received, the load order guarantee request is completed at that time. If the synchronization status flag is 1, the storage controller resets the request to 0. Wait until it becomes 0, and when it becomes 0, complete the load order guarantee request and report the completion to the processor. Upon receiving the completion report from the storage controller, the processor that has issued the load order guarantee request restarts the execution of subsequent instructions.

【0015】このように、ストア順序保証命令とロード
順序保証命令を組み合わせて用いれば、ストア順序保証
命令を実行したプロセッサは、直ちに後続の命令を実行
できる。また、ロード順序保証命令を実行したプロセッ
サは、仮にストア順序保証命令以前のストアリクエスト
が完結していなくても、同期状態フラグが1となってい
るためにロード順序保証命令により後続のロード命令が
抑止され、正しい順序でロードが行われることになる。
As described above, if the store order guarantee instruction and the load order guarantee instruction are used in combination, the processor that has executed the store order guarantee instruction can immediately execute the subsequent instruction. Further, even if the store request before the store order assurance instruction is not completed, the processor that has executed the load order assurance instruction causes the subsequent load instruction to be executed by the load order assurance instruction because the synchronization state flag is 1. They will be suppressed and will be loaded in the correct order.

【0016】[0016]

【発明の実施の形態】以下、本発明の実施の形態を図面
により詳細に説明する。図1は、本発明の一実施例にか
かるマルチプロセッサシステムの全体構成図である。本
システムは、2つのプロセッサ1,2と、該プロセッサ
1,2で共有される2つのメモリA4とメモリB5、及
び、該メモリ4,5を制御するスイッチ型の記憶制御装
置3から構成される。各プロセッサ1,2はメモリ4,
5の一部コピーを格納するキャッシュを有するが、図2
では省略してある。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is an overall configuration diagram of a multiprocessor system according to one embodiment of the present invention. This system includes two processors 1 and 2, two memories A4 and B5 shared by the processors 1 and 2, and a switch-type storage control device 3 for controlling the memories 4 and 5. . Each processor 1, 2 has a memory 4,
5 has a cache for storing a partial copy of FIG.
Is omitted here.

【0017】図2に、図1における記憶制御装置3の詳
細構成図を示す。図2において、プロセッサリクエスト
キュー11、アドレスデコーダ12、キャッシュパージ
キュー17、ロード順序保証制御部18は、それぞれプ
ロセッサ対応に存在するものである。図3に、プロセッ
サ1対応のロード順序保証制御部18−1の構成例を示
す。プロセッサ2対応のロード順序保証制御部18−2
の構成もまったく同様である。
FIG. 2 shows a detailed configuration diagram of the storage control device 3 in FIG. In FIG. 2, a processor request queue 11, an address decoder 12, a cache purge queue 17, and a load order assurance control unit 18 are provided for each processor. FIG. 3 shows a configuration example of the load order guarantee control unit 18-1 corresponding to the processor 1. Load order guarantee controller 18-2 corresponding to processor 2
Is exactly the same.

【0018】図2において、プロセッサリクエストキュ
ー11は、対応するプロセッサから受け取ったメモリア
クセスリクエスト(ストアリクエスト、ロードリクエス
ト)をキューイングし、順次、アドレスデコーダ12に
送出する。アドレスデコーダ12では、プロセッサリク
エストキュー11からリクエストを1個受け取る毎に、
アドレスをデコードして、どちらのメモリに該リクエス
トを送るべきか判断し、対応するセレクト待ちキュー1
3へ該リクエストを送る。例えば、アドレスデコーダ1
2−1では、プロセッサ1対応のプロセッサリクエスト
キュー11−1からメモリアクセスリクエストを受け取
り、それがメモリAに対するリクエストであれば、該リ
クエストをセレクト待ちキュー13−1へ送り、メモリ
Bに対するリクエストであれば、セレクト待ちキュー1
3−3へ送る。同様に、アドレスデコーダ12−2で
は、プロセッサ2対応のプロセッサリクエストキュー1
1−1からメモリアクセスリクエストを受け取り、それ
がメモリAに対するリクエストであれば、該リクエスト
をセレクト待ちキュー13−2へ送り、メモリBに対す
るリクエストであれば、セレクト待ちキュー13−4へ
送る。
In FIG. 2, a processor request queue 11 queues memory access requests (store requests and load requests) received from corresponding processors, and sequentially sends them to an address decoder 12. In the address decoder 12, every time one request is received from the processor request queue 11,
The address is decoded to determine which memory the request should be sent to, and the corresponding select wait queue 1
Send the request to 3. For example, address decoder 1
In 2-1, a memory access request is received from the processor request queue 11-1 corresponding to the processor 1, and if it is a request for the memory A, the request is sent to the select waiting queue 13-1, and if it is a request for the memory B, For example, select wait queue 1
Send to 3-3. Similarly, in the address decoder 12-2, the processor request queue 1 for the processor 2
The memory access request is received from the memory 1-1, and if the request is for the memory A, the request is sent to the select wait queue 13-2. If the request is for the memory B, the request is sent to the select wait queue 13-4.

【0019】セレクト待ちキュー13に入ったリクエス
トは、セレクタ14を通り、メモリ対応のメモリリクエ
ストキュー15に送られるが、このとき、他プロセッサ
に対応するセレクト待ちキューにもリクエストが存在し
ていた場合、あらかじめ定めるなどした優先順位に従っ
てどちらか一方のリクエストがメモリリクエストキュー
15に送られ、他方はセレクト待ちキュー13内で待た
される。メモリリクエストキュー15では、セレクタ1
4から受け取ったリクエストを対応するメモリに送出す
る。リクエストを受け取ったメモリは、該当するアドレ
スに対してデータのストアあるいはロードを実行する。
なお、図2では、データ系に関係する構成は省略してあ
る。
The request that has entered the select wait queue 13 passes through the selector 14 and is sent to the memory request queue 15 corresponding to the memory. At this time, if the request also exists in the select wait queue corresponding to another processor. One of the requests is sent to the memory request queue 15 according to a predetermined priority or the like, and the other is waited in the select wait queue 13. In the memory request queue 15, the selector 1
4 is sent to the corresponding memory. The memory receiving the request stores or loads data at the corresponding address.
In FIG. 2, components relating to the data system are omitted.

【0020】上記セレクタ14からメモリリクエストキ
ュー15にリクエストが送られるとき、同時にキャッシ
ュ制御論理部16に対しても同じリクエストが送出され
る。キャッシュ制御論理部16では、各プロセッサにお
けるキャッシュの状態(キャッシュディレクトリ)を保
持しており、ロードリクエストによってメモリの一部が
キャッシュにコピーされるとき、該当するアドレスに対
して登録を行い、ストアリクエストによってキャッシュ
のパージが必要であると判断したとき、キャッシュパー
ジリクエストを対応するプロセッサのキャッシュパージ
キュー17に送出する。キャッシュパージキュー17
は、キャッシュ制御論理部16から送られてきたキャッ
シュパージリクエストを対応するプロセッサに対し発行
する。キャッシュパージリクエストを受け取ったプロセ
ッサでは、キャッシュの該当ブロックを無効化し、同リ
クエストの完了報告をキャッシュ制御論理部16に返
す。なお、図2では、これらに関係する構成は省略して
ある。
When a request is sent from the selector 14 to the memory request queue 15, the same request is sent to the cache control logic unit 16 at the same time. The cache control logic unit 16 holds the state of the cache (cache directory) in each processor. When a part of the memory is copied to the cache by the load request, the cache control logic unit 16 registers the corresponding address, When a cache purge request is determined to be necessary, a cache purge request is sent to the cache purge queue 17 of the corresponding processor. Cache purge queue 17
Issues a cache purge request sent from the cache control logic unit 16 to the corresponding processor. Upon receiving the cache purge request, the processor invalidates the corresponding block in the cache and returns a completion report of the request to the cache control logic unit 16. In FIG. 2, components relating to these are omitted.

【0021】以上の動作は従来と基本的に同じである。
以下に、本発明にかかる構成動作を説明する。ストアの
順序を保証するときは、本発明で新たに用意するストア
順序保証命令を被保証ストア命令間に入れる。該ストア
順序保証命令を実行したプロセッサは、まず、ストアバ
ッファに溜まっているストアリクエストを全て記憶制御
装置3に掃き出し、続けてストア順序保証リクエストを
記憶制御装置3に対して発行する。その後、後続の命令
を通常通り実行する。
The above operation is basically the same as the conventional one.
Hereinafter, the configuration operation according to the present invention will be described. To guarantee the store order, a store order guarantee instruction newly prepared in the present invention is inserted between guaranteed store instructions. The processor that has executed the store order assurance instruction first sweeps out all the store requests stored in the store buffer to the storage controller 3 and subsequently issues a store order assurance request to the storage controller 3. Thereafter, the subsequent instructions are executed as usual.

【0022】記憶制御装置3内において、ストア順序保
証リクエストは基本的にストアリクエストと同じパスを
通る。ただし、アドレスデコーダ12を通過する際、全
てのメモリに対応するセレクト待ちキュー13に対し、
該ストア順序保証リクエストが分配され、また、自プロ
セッサを除く他の全てのプロセッサに対応するロード順
序保証制御部18に対して、該ストア順序保証リクエス
トが送られる。例えば、アドレスデコーダ11−2で
は、プロセッサ2対応のプロセッサリクエストキュー1
1−2からストア順序保証リクエストを受け取ると、セ
レクト待ちキュー13−1と13−4に対して該リクエ
ストを送り、同時に、プロセッサ1に対応するロード順
序保証制御部18−1に対して該リクエストを送る。
In the storage controller 3, the store order guarantee request basically follows the same path as the store request. However, when passing through the address decoder 12, the select wait queues 13 corresponding to all memories are
The store order assurance request is distributed, and the store order assurance request is sent to the load order assurance control unit 18 corresponding to all processors except the own processor. For example, in the address decoder 11-2, the processor request queue 1 corresponding to the processor 2
When the store order assurance request is received from 1-2, the request is sent to the select wait queues 13-1 and 13-4, and at the same time, the request is sent to the load order assurance control unit 18-1 corresponding to the processor 1. Send.

【0023】ロード順序保証制御部18では、ストア順
序保証リクエストを受け取ると、一定時間後に同期状態
フラグ22を1にセットする。図3に示すように、例え
ばロード順序保証制御部18−1では、アドレスデコー
ダ12−2からストア順序保証リクエストを受け取る
と、ロード順序保証制御部23−1により、一定時間
後、同期状態フラグ22−1が1にセットされる。ここ
で、一定時間としては、ストア順序保証リクエスト後の
ストアリクエストによって変更されたメモリの内容が他
プロセッサによってロードされ、その直後のロード順序
保証リクエストが主記憶制御装置に発行されると仮定し
てときの最短時間を設定しておく。
Upon receiving the store order assurance request, the load order assurance control unit 18 sets the synchronization state flag 22 to 1 after a predetermined time. As shown in FIG. 3, for example, when the load order assurance control unit 18-1 receives a store order assurance request from the address decoder 12-2, the load order assurance control unit 23-1 causes the load state assurance control unit 23-1 to execute the synchronization state flag 22 -1 is set to one. Here, as the fixed time, it is assumed that the content of the memory changed by the store request after the store order guarantee request is loaded by another processor, and the load order guarantee request immediately after that is issued to the main storage control device. Set the minimum time for the time.

【0024】キャッシュ制御論理部16には、セレクト
待ちキュー13、セレクタ14を通って、各メモリ対応
に分配されたストア順序保証リクエストが集まる。キャ
ッシュ制御論理部16では、該ストア順序保証リクエス
トをカウントして、常に最後に到達したものを有効と
し、キャッシュパージキュー17に対して、該最後に到
達したストア順序保証リクエストのみ送出する。また、
ストア順序保証リクエストを発行したプロセッサに対応
するキャッシュパージキュー17へは、該ストア順序保
証リクエストは送らない。
The cache control logic unit 16 collects the store order guarantee requests distributed to each memory through the select wait queue 13 and the selector 14. The cache control logic unit 16 counts the store order assurance request, always validates the last one that has arrived, and sends only the last arrived store order assurance request to the cache purge queue 17. Also,
The store order guarantee request is not sent to the cache purge queue 17 corresponding to the processor that has issued the store order guarantee request.

【0025】キャッシュパージキュー17中のストア順
序保証リクエスト以前のキャッシュパージリクエストが
全てプロセッサに対して発行されると、ストア順序保証
リクエストがプロセッサに対して発行される。該ストア
順序保証リクエストを受け取ったプロセッサでは、それ
以前に受け取っているキャッシュパージリクエストが全
てキャッシュに反映されると、ストア順序保証リクエス
トの完了報告を記憶制御装置3に対して上げる。該完了
報告をプロセッサから受け取ったロード順序保証制御部
18は、同期状態フラグ22の値を0にリセットする。
例えば、図3において、ロード順序保証制御部18−1
では、プロセッサ1からストア順序保証リクエスト完了
報告を受け取ると、ロード順序保証制御部23−1によ
り、同期状態フラグ22−1が0にリセットされる。
When all the cache purge requests before the store order guarantee request in the cache purge queue 17 are issued to the processor, the store order guarantee request is issued to the processor. The processor that has received the store order assurance request sends a completion report of the store order assurance request to the storage controller 3 when all cache purge requests received before that are reflected in the cache. The load order assurance control unit 18 receiving the completion report from the processor resets the value of the synchronization state flag 22 to 0.
For example, in FIG. 3, the load order guarantee control unit 18-1
When the store order guarantee request completion report is received from the processor 1, the synchronization order flag 22-1 is reset to 0 by the load order guarantee controller 23-1.

【0026】ロードの順序を保証するときは、本発明で
新たに用意するロード順序保証命令を被保証ロード命令
間に入れる。該ロード順序保証命令は、プロセッサで先
行する全てのロード命令が完了した後実行され、ロード
順序保証リクエストが記憶制御装置3に対して発行され
る。このとき、当該プロセッサにおいて後続の命令実行
は一旦抑止される。
To guarantee the load order, a load order guarantee instruction newly prepared in the present invention is inserted between guaranteed load instructions. The load order guarantee instruction is executed after all preceding load instructions are completed by the processor, and a load order guarantee request is issued to the storage controller 3. At this time, the subsequent instruction execution is temporarily suppressed in the processor.

【0027】記憶制御装置3では、ロード順序保証リク
エストを受け取ると、プロセッサリクエストキュー11
を通して、対応するプロセッサのロード順序保証制御部
18に送られる。該ロード順序保証リクエストを受け取
ったロード順序保証制御部18では、同期状態フラグ2
2を見て、0ならば即完了報告をプロセッサへ上げ、1
ならば0になるのを待ち、0になった時点で完了報告を
プロセッサへ上げる。例えば、図3において、ロード順
序保証制御部18−1では、プロセッサリクエストキュ
ー11−1を通してロード順序保リクエストを受け取る
と、ロード順序保証制御部23−1にて同期状態フラグ
22−1の状態をチエックし、0ならば、直ちにロード
順序保証リクエスト完了報告をプロセッサ1へ上げ、1
ならば、0になるのを待って、同完了報告をプロセッサ
1へ上げる。ロード順序保証リクエスト完了報告を受け
取ったプロセッサは、その時点で、後続の命令実行を再
開する。
When the storage controller 3 receives the load order assurance request, the processor request queue 11
To the load order assurance control unit 18 of the corresponding processor. Upon receiving the load order assurance request, the load order assurance control unit 18 sets the synchronization state flag 2
Look at 2, if it is 0, immediately send a completion report to the processor, 1
If so, wait for it to become 0, and when it becomes 0, send a completion report to the processor. For example, in FIG. 3, when the load order assurance control unit 18-1 receives a load order assurance request through the processor request queue 11-1, the load order assurance control unit 23-1 changes the state of the synchronization status flag 22-1. Check, if it is 0, immediately send the completion report of the load order guarantee request to the processor 1;
If it is, it waits for it to become 0, and sends the completion report to the processor 1. The processor that has received the load order guarantee request completion report resumes the subsequent instruction execution at that time.

【0028】次に、図4のタイムチャートに基づいて、
具体例により本発明にかかる共有メモリアクセス順序保
証制御の動作を説明する。図4では、プロセッサ2がメ
モリAに対するストア命令(STA)101とストア順
序保証命令(SOE)102とメモリBに対するストア
命令(STB)103を実行している。このとき記憶制
御装置3に対しては、メモリAに対するストアリクエス
トSTA(104)、ストア順序保証リクエストSOE
(105)、メモリBに対するストアリクエストSTB
(106)の順でリクエストが発行される。
Next, based on the time chart of FIG.
The operation of the shared memory access order assurance control according to the present invention will be described with a specific example. In FIG. 4, the processor 2 executes a store instruction (STA) 101 for the memory A, a store order guarantee instruction (SOE) 102, and a store instruction (STB) 103 for the memory B. At this time, for the storage controller 3, a store request STA (104) for the memory A, a store order assurance request SOE
(105), Store request STB for memory B
Requests are issued in the order of (106).

【0029】記憶制御装置3では、これらのリクエスト
を一旦プロセッサ2対応のキュー11−2に積んだ後、
アドレスデコーダ12−2のデコード結果に従い、メモ
リAに対するストアリクエストSTAはセレクト待ちキ
ュー13−2に積み直し(107)、メモリBに対する
ストアリクエストSTBはセレクト待ちキュー13−4
に積み直す(109)。ストア順序保証リクエストSO
Eは、全メモリ対応のセレクト待ちキュー13−2、1
3−4および他プロセッサ1に対応するロード順序保証
制御論理部18−1に分配される(108−1,108
−2,108−3)。セレクト待ちキュー13−4に分
配されたストア順序保証リクエストSOEは、それ以前
のストアリクエストがキュー13−4に残っていないた
めすぐにキャッシュ制御論理部16に送られる(11
0)。キャッシュ制御論理部16ではストア順序保証リ
クエストSOEの数をカウントし(この時点では一
つ)、該送られてきたストア順序保証リクエストSOE
は最後に到達したものでないと判断されるため、キャッ
シュパージキュー17−1へは送らない。ストア順序保
証リクエストSOEを受け取ったロード順序保証制御部
18−1内のロード順序保証制御論理部23−1は、一
定時間後に同期状態フラグ22−1を1にセットする
(119)。
In the storage control device 3, after these requests are temporarily stored in the queue 11-2 corresponding to the processor 2,
According to the decoding result of the address decoder 12-2, the store request STA for the memory A is reloaded in the select wait queue 13-2 (107), and the store request STB for the memory B is transferred to the select wait queue 13-4.
(109). Store order assurance request SO
E is a select wait queue 13-2, 1 for all memories.
3-4 and distributed to the load order guarantee control logic unit 18-1 corresponding to the other processor 1 (108-1, 108).
-2, 108-3). The store order assurance request SOE distributed to the select wait queue 13-4 is immediately sent to the cache control logic unit 16 because no previous store request remains in the queue 13-4 (11).
0). The cache control logic unit 16 counts the number of store order assurance requests SOE (one at this time), and sends the received store order assurance request SOE.
Is not sent to the cache purge queue 17-1. The load order assurance control logic unit 23-1 in the load order assurance control unit 18-1 that has received the store order assurance request SOE sets the synchronization state flag 22-1 to 1 after a predetermined time (119).

【0030】ここで、メモリAに対するパスが何らかの
原因で詰まると、メモリAに対するストアリクエストS
TAはセレクト待ちキュー13−2に取り残され、後続
のストア順序保証リクエストSOEも同キュー13−2
に取り残される。一方、メモリBへのパスが空いていれ
ば、時間的には後で実行されたメモリBへのストアリク
エストSTBであっても、メモリAへのストアリクエス
トSTAを追い越し、セレクタ14−2を通ってメモリ
リクエストキュー15−2に積まれ(111−1)、メ
モリBに対するストア処理が行われる(112)。同時
に、該ストアリクエストSTBはキャッシュ論理部16
にも送られ(111−2)、キャッシュ制御論理部16
によってキャッシュのパージが必要と判断されれば、プ
ロセッサ1対応のキャッシュパージキュー17−1に同
ストアリクエストSTBが積まれる(111−2)。キ
ャッシュパージキュー17−1内の該ストアリクエスト
STBのキャッシュパージリクエストがプロセッサ1に
送られ(113)、プロセッサ1でキャッシュに反映さ
れる。
Here, if the path to the memory A is blocked for some reason, the store request S to the memory A
The TA is left in the select wait queue 13-2, and the subsequent store order assurance request SOE is also stored in the queue 13-2.
Left behind. On the other hand, if the path to the memory B is free, even if the store request STB to the memory B executed later in time passes the store request STA to the memory A, it passes through the selector 14-2. Then, the data is accumulated in the memory request queue 15-2 (111-1), and the store process for the memory B is performed (112). At the same time, the store request STB is
To the cache control logic unit 16 (111-2).
If it is determined that the cache needs to be purged, the store request STB is stacked in the cache purge queue 17-1 corresponding to the processor 1 (111-2). The cache purge request of the store request STB in the cache purge queue 17-1 is sent to the processor 1 (113), and is reflected in the cache by the processor 1.

【0031】しばらくしてメモリAに対するパスの詰ま
りが解け、メモリAへのストアリクエストSTAが流れ
て、メモリAに対するストア処理が再開される(114
−1,115)。同時に、ストアリクエストSTAはキ
ャッシュ制御論理部16に送られ(114−2)、キャ
ッシュのパージが必要と判断されればキャッシュパージ
キュー17−1に積まれて、該ストアリクエストSTA
のキャッシュパージリクエストがプロセッサ1に送られ
(116)、プロセッサ1でキャッシュに反映される。
After a while, the blockage of the path to the memory A is released, a store request STA to the memory A flows, and the store processing to the memory A is resumed (114).
-1, 115). At the same time, the store request STA is sent to the cache control logic unit 16 (114-2), and if it is determined that the cache needs to be purged, it is stored in the cache purge queue 17-1 and the store request STA is stored.
Is sent to the processor 1 (116), and the processor 1 reflects the request in the cache.

【0032】ストアリクエストSTAに続いてストア順
序保証リクエストSOEもキャッシュ制御論理部16に
送られる(117)。キャッシュ制御論理部16におい
てストア順序保証リクエストの数をカウントした結果、
全て(この場合は2つ)のストア順序保証リクエストが
到着したと判断されると、該ストア順序保証リクエスト
SOEはキャッシュパージキュー17−1を通ってプロ
セッサ1に発行される(118)。ストア順序保証リク
エストSOEを受け取ったプロセッサ1は、それ以前に
受け取ったキャッシュパージリクエストが全て完了した
ことをもって記憶制御装置3に対しストア順序保証リク
エストの完了報告を返す(120)。該ストア順序保証
リクエストの完了報告を受け取ったロード順序保証制御
部18−1内のロード順序保証制御論理部23−1は、
同期状態フラグ22−1を0にリセットする。
Following the store request STA, the store order assurance request SOE is also sent to the cache control logic 16 (117). As a result of counting the number of store order guarantee requests in the cache control logic unit 16,
If it is determined that all (two in this case) store order guarantee requests have arrived, the store order guarantee request SOE is issued to the processor 1 through the cache purge queue 17-1 (118). The processor 1 that has received the store order assurance request SOE returns a completion report of the store order assurance request to the storage controller 3 that all the cache purge requests received earlier have been completed (120). The load order assurance control logic unit 23-1 in the load order assurance control unit 18-1 which has received the completion report of the store order assurance request,
The synchronization status flag 22-1 is reset to 0.

【0033】一方、プロセッサ1はメモリBに対するロ
ード命令(LDB)121とロード順序保証命令(LO
E)122とメモリAに対するロード命令(LDA)1
23を実行している。ここで、ロード命令(LDA)1
23は、プロセッサ2のストア命令(STA)103に
によって変更されたメモリAの該当アドレスのよるスト
アデータをロードする命令と仮定している。
On the other hand, the processor 1 issues a load instruction (LDB) 121 for the memory B and a load order guarantee instruction (LO
E) Load instruction (LDA) 1 for 122 and memory A
23 is running. Here, the load instruction (LDA) 1
23 is assumed to be an instruction to load store data at the corresponding address of the memory A changed by the store instruction (STA) 103 of the processor 2.

【0034】ロード順序保証命令122の前後では、先
行する命令が完了するまで次の命令の実行が待たされ
る。すなわち、ロード命令121が完了するまで(12
4〜129)、ロード順序保証命令122は実行されな
い。図4のタイムチャートでは、プロセッサ2のストア
リクエストSTBがメモリBにストア動作(112)し
た直後に、プロセッサ1のロードリクエストSTBがメ
モリBの内容を読み出している(127,128,12
9)。
Before and after the load order guarantee instruction 122, execution of the next instruction is waited until the preceding instruction is completed. That is, until the load instruction 121 is completed (12
4-129), the load order guarantee instruction 122 is not executed. In the time chart of FIG. 4, immediately after the store request STB of the processor 2 performs the store operation (112) in the memory B, the load request STB of the processor 1 reads the contents of the memory B (127, 128, 12).
9).

【0035】プロセッサ1は続けてロード順序保証リク
エストLOEを発行する(130)。該ロード順序保証
リクエストLOEは、プロセッサリクエストキュー11
−1に積まれ、ロード順序保証制御部18−1に送られ
る(131)。該ロード順序保証リクエストLOEを受
け取ったロード順序保証制御部18−1内のロード順序
保証制御論理部23−1は、同期状態フラグ22−1を
見に行き、その値が1であるため、0になるまで待ち、
該同期状態フラグ22−1が0にリセットされた時点
で、ロード順序保証リクエストの完了報告をプロセッサ
1へ返す(132)。該ロード順序保証リクエストの完
了報告を受けて、後続のロード命令(LDA)123が
実行される(133〜138)。
The processor 1 subsequently issues a load order guarantee request LOE (130). The load order guarantee request LOE is sent to the processor request queue 11
-1 and sent to the load order assurance control unit 18-1 (131). The load order assurance control logic unit 23-1 in the load order assurance control unit 18-1 that has received the load order assurance request LOE goes to the synchronization status flag 22-1 and, since its value is 1, returns 0. Wait until
When the synchronization status flag 22-1 is reset to 0, a completion report of the load order guarantee request is returned to the processor 1 (132). In response to the completion report of the load order guarantee request, the subsequent load instruction (LDA) 123 is executed (133 to 138).

【0036】以上の動作により、たとえキャッシュに古
いデータが存在していても、パージリクエストによって
キャッシュとメモリのコヒーレンスがとれてからロード
命令が実行されるため、誤って古いデータをキャッシュ
からロードしてしまうことを防ぐことができる。
According to the above operation, even if old data exists in the cache, the load instruction is executed after the cache request and the cache are coherent by the purge request. Therefore, the old data is erroneously loaded from the cache. Can be prevented.

【0037】以上、2プロセッサのシステムの場合であ
ったが、それ以上のプロセッサを持つシステムの場合で
も、各プロセッサ対応に同期状態フラグを用意すること
により、同様の処理を行うことができる。
Although a system with two processors has been described above, the same processing can be performed in a system having more processors by preparing a synchronization state flag for each processor.

【0038】また、この機構を用いて、共有データの受
け渡しを行うことができる。まず、共有データを書き込
むプロセッサで共有データのストア、順序保証命令、読
み出し許可フラグのストアの順でプログラムを実行す
る。一方、共有データを読み出すプロセッサでは、読み
出し許可フラグのロード命令をフラグが立つまで繰り返
し、フラグが立っていることを確認できたらロード順序
保証命令と共有データのロード命令の順でプログラムを
実行する。このとき、共有データおよび読み出し許可フ
ラグのストアが既に完了していた場合、読み出し許可フ
ラグのロードの後のロード順序保証リクエストは同期状
態フラグが0であるためにすぐに完了し、共有データの
ロードを行うことができる。読み出し許可フラグのスト
アは完了しているが、共有データのストアが完了してい
ない場合、同期状態フラグの値は1となっているため、
ロード順序保証リクエストが完了せず、共有データの読
み出しは待たされる。共有データも読み出し許可フラグ
もストアが完了していない場合は、同期状態フラグの値
は0となっているが、読みだし許可フラグがストアされ
ていないためにフラグのロードが繰り返され、ロード順
序保証命令の実行が待たされる。いずれの場合でも、必
要とするデータのストアが完了しなければそのデータに
対するロードが待たされるため、古いデータを誤って読
み出すことはない。
Further, shared data can be transferred using this mechanism. First, the processor that writes the shared data executes the program in the order of storing the shared data, order guarantee instruction, and storing the read permission flag. On the other hand, the processor that reads out the shared data repeats the load instruction of the read permission flag until the flag is set, and when it is confirmed that the flag is set, executes the program in the order of the load order guarantee instruction and the load instruction of the shared data. At this time, if the storage of the shared data and the read permission flag has already been completed, the load order guarantee request after the loading of the read permission flag is completed immediately because the synchronization state flag is 0, and the load of the shared data is completed. It can be performed. If the storage of the read permission flag has been completed but the storage of the shared data has not been completed, the value of the synchronization state flag is 1, so that
The load order guarantee request is not completed, and the reading of the shared data is waited. When the storage of both the shared data and the read permission flag has not been completed, the value of the synchronization state flag is 0, but since the read permission flag is not stored, the loading of the flag is repeated, and the load order is assured. Execution of the instruction is waited. In any case, if the storing of the required data is not completed, the loading of the data is waited, so that the old data is not erroneously read.

【0039】[0039]

【発明の効果】以上述べたように、本発明によれば、ス
トアの順序を保証する方のプロセッサでも、ストア順序
保証同期命令を実行した後に続けて後続の命令を実行す
ることが可能となる。また、記憶制御装置でのリクエス
ト抑止は行わず、ロードの順序を保証したいプロセッサ
のみがロード順序保証リクエストによって後続の命令実
行を抑止するため、順序保証に無関係な他のプロセッサ
から見ても、リクエストが待たされるなどといった影響
がない。
As described above, according to the present invention, even the processor which guarantees the store order can execute the subsequent instruction after executing the store order guarantee synchronous instruction. . In addition, the request is not suppressed in the storage controller, and only the processor that wants to guarantee the load order suppresses the subsequent instruction execution by the load order guarantee request. There is no influence such as waiting.

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

【図1】本発明に係る一実施の形態のマルチプロセッサ
システムの構成図である。
FIG. 1 is a configuration diagram of a multiprocessor system according to an embodiment of the present invention.

【図2】図1における記憶制御装置の詳細構成図であ
る。
FIG. 2 is a detailed configuration diagram of a storage control device in FIG.

【図3】図2におけるロード順序保証制御部の詳細構成
図である。
FIG. 3 is a detailed configuration diagram of a load order assurance control unit in FIG. 2;

【図4】本発明による具体的処理の実施の形態を示すタ
イムチャートである。
FIG. 4 is a time chart showing an embodiment of a specific process according to the present invention.

【図5】バス結合によるマルチプロセッサシステムの構
成図である。
FIG. 5 is a configuration diagram of a multiprocessor system by bus connection.

【図6】スイッチ結合によるマルチプロセッサシステム
の構成図である。
FIG. 6 is a configuration diagram of a multiprocessor system by switch connection.

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

1,2 プロセッサ 3 記憶制御装置 4,5 メモリ 11 プロセッサリクエストキュー 12 アドレスデコーダ 13 セレクト待ちキュー 14 セレクタ 15 メモリリクエストキュー 16 キャッシュ制御論理部 17 キャッシュパージキュー 18 ロード順序保証制御部 101,103 ストア命令 102 ストア順序保証命令 121,123 ロード命令 122 ロード順序保証命令 1, 2 processor 3 storage controller 4, 5 memory 11 processor request queue 12 address decoder 13 select wait queue 14 selector 15 memory request queue 16 cache control logic unit 17 cache purge queue 18 load order assurance control unit 101, 103 store instruction 102 Store order guarantee instruction 121, 123 Load instruction 122 Load order guarantee instruction

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサでメモリを共有するマ
ルチプロセッサシステムにおける共有メモリアクセス順
序保証方法であって、 ストアの順序保証にはストア順序保証命令を発行し、ロ
ードの順序保証にはロード順序保証命令を発行し、 プロセッサはストア順序保証命令を実行すると、後続の
命令の実行を開始し、ロード順序保証命令を実行する
と、前記ストア順序保証命令に先行する全てのストア命
令の処理完了を待って後続の命令の実行を開始すること
を特徴とする共有メモリアクセス順序保証方法。
1. A shared memory access order guarantee method in a multiprocessor system in which a memory is shared by a plurality of processors, wherein a store order guarantee instruction is issued for store order guarantee, and a load order guarantee is issued for load order guarantee. When the processor executes the store order assurance instruction, the processor starts execution of the subsequent instruction. When the processor executes the load order assurance instruction, the processor waits for completion of processing of all store instructions preceding the store order assurance instruction. A method for guaranteeing a shared memory access order, comprising starting execution of a subsequent instruction.
【請求項2】 複数のプロセッサと該プロセッサで共有
されるメモリと該共有メモリを制御する記憶制御装置か
らなるマルチプロセッサシステムにおいて、 プロセッサは、ストア順序保証命令を実行することによ
りストア順序保証リクエストを記憶制御装置に対して送
出する手段を有し、 記憶制御装置は、前記順序保証リクエストを受け取ると
セットされ、該ストア順序保証リクエスト以前のストア
リクエストが処理完了するとリセットされる同期状態フ
ラグを有することを特徴とするマルチプロセッサシステ
ム。
2. A multiprocessor system comprising a plurality of processors, a memory shared by the processors, and a storage controller controlling the shared memory, wherein the processor executes a store order guarantee instruction to execute a store order guarantee request. Means for sending to the storage controller, the storage controller having a synchronization status flag which is set when the order guarantee request is received, and reset when a store request before the store order guarantee request is completed. A multiprocessor system characterized by the above.
【請求項3】 請求項2記載のマルチプロセッサシステ
ムにおいて、 プロセッサは、ロード順序保証命令を実行することによ
りロード順序保証リクエストを記憶制御装置に対して送
出し、記憶制御装置から該ロード順序保証リクエストの
完了報告を受け取るまで後続の命令の実行を抑止する手
段を有し、 記憶制御装置は、プロセッサからロード順序保証リクエ
ストを受け取ると、同期状態フラグをチェックし、リセ
ットされていれば直ちにプロセッサに対して完了報告を
送り、セットされていればリセットされるのを待って完
了報告を送る手段を有することを特徴とするマルチプロ
セッサシステム。
3. The multiprocessor system according to claim 2, wherein the processor sends a load order guarantee request to the storage controller by executing the load order guarantee instruction, and the processor issues the load order guarantee request from the storage controller. The storage controller checks the synchronization status flag upon receiving a load order assurance request from the processor, and immediately notifies the processor if reset, upon receipt of the load order guarantee request from the processor. A multi-processor system comprising means for sending a completion report to the user and, if set, sending a completion report after being reset.
JP9331520A 1997-12-02 1997-12-02 Shared memory access sequence assurance method and multiprocessor system Pending JPH11167557A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9331520A JPH11167557A (en) 1997-12-02 1997-12-02 Shared memory access sequence assurance method and multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9331520A JPH11167557A (en) 1997-12-02 1997-12-02 Shared memory access sequence assurance method and multiprocessor system

Publications (1)

Publication Number Publication Date
JPH11167557A true JPH11167557A (en) 1999-06-22

Family

ID=18244576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9331520A Pending JPH11167557A (en) 1997-12-02 1997-12-02 Shared memory access sequence assurance method and multiprocessor system

Country Status (1)

Country Link
JP (1) JPH11167557A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189629A (en) * 2000-08-23 2002-07-05 Nintendo Co Ltd Graphic processing system provided with function extension type memory controller
WO2006098135A1 (en) * 2005-03-14 2006-09-21 Matsushita Electric Industrial Co., Ltd. Bus controller
KR100708096B1 (en) * 2000-07-21 2007-04-16 삼성전자주식회사 Bus system and execution scheduling method for access commands thereof
JP2008512785A (en) * 2004-09-10 2008-04-24 カビウム・ネットワークス Ordering stored instructions for multi-core processors
JP2009529748A (en) * 2006-03-10 2009-08-20 クゥアルコム・インコーポレイテッド Efficient execution of memory barrier bus commands
JP2012164344A (en) * 2000-08-23 2012-08-30 Nintendo Co Ltd Method and device for accessing shared resources
JP2013137772A (en) * 2011-12-27 2013-07-11 Apple Inc High-performance ahci interface
JP2013242876A (en) * 2007-06-01 2013-12-05 Qualcomm Inc Device-directed memory barriers
US9026744B2 (en) 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
US11762774B2 (en) 2021-07-12 2023-09-19 Fujitsu Limited Arithmetic processor and method for operating arithmetic processor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708096B1 (en) * 2000-07-21 2007-04-16 삼성전자주식회사 Bus system and execution scheduling method for access commands thereof
JP2002189629A (en) * 2000-08-23 2002-07-05 Nintendo Co Ltd Graphic processing system provided with function extension type memory controller
JP2012089158A (en) * 2000-08-23 2012-05-10 Nintendo Co Ltd Graphics processing system provided with function extension type memory controller
JP2012164344A (en) * 2000-08-23 2012-08-30 Nintendo Co Ltd Method and device for accessing shared resources
JP2008512785A (en) * 2004-09-10 2008-04-24 カビウム・ネットワークス Ordering stored instructions for multi-core processors
WO2006098135A1 (en) * 2005-03-14 2006-09-21 Matsushita Electric Industrial Co., Ltd. Bus controller
US9026744B2 (en) 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
JP2009529748A (en) * 2006-03-10 2009-08-20 クゥアルコム・インコーポレイテッド Efficient execution of memory barrier bus commands
JP2013242876A (en) * 2007-06-01 2013-12-05 Qualcomm Inc Device-directed memory barriers
JP2013137772A (en) * 2011-12-27 2013-07-11 Apple Inc High-performance ahci interface
US8713204B2 (en) 2011-12-27 2014-04-29 Apple Inc. High-performance AHCI interface
US11762774B2 (en) 2021-07-12 2023-09-19 Fujitsu Limited Arithmetic processor and method for operating arithmetic processor

Similar Documents

Publication Publication Date Title
EP0514024B1 (en) Method and apparatus for an improved memory architecture
JP2566701B2 (en) Change ownership controller for data units in shared cache
US6466988B1 (en) Multiprocessor synchronization and coherency control system
US5598550A (en) Cache controller for processing simultaneous cache accesses
EP0432075B1 (en) Multiprocessor with relatively atomic instructions
JP4417715B2 (en) Method and apparatus for decoupling tag and data access in cache memory
US4876642A (en) Rules and apparatus for a loop capturing code buffer that prefetches instructions
US5202973A (en) Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
JPH11167557A (en) Shared memory access sequence assurance method and multiprocessor system
JP4173858B2 (en) Instruction cache and method for reducing memory contention
US5218688A (en) Data processing system with memory-access priority control
JPH06318178A (en) Cache tag controller for cache tag memory and control method therefor
JP3789937B2 (en) Chunk chain for vector processors
JP2000132531A (en) Multiprocessor
JP2000181891A (en) Shared memory access sequence assurance system
JPH07182170A (en) Microprocessor
JP2813182B2 (en) Multiprocessor computer multifunction device
JP3481425B2 (en) Cache device
JP4111645B2 (en) Memory bus access control method after cache miss
EP1237081A2 (en) Multi-processor system
JP2000181711A (en) System for canceling instruction fetching
JP3039391B2 (en) Memory system
JP3479246B2 (en) Overtaking circuit with pending instructions
JP3221409B2 (en) Cache control system, readout method therefor, and recording medium recording control program therefor
JPS601656B2 (en) buffer memory circuit