JPH0962577A - Method and system for information processing - Google Patents

Method and system for information processing

Info

Publication number
JPH0962577A
JPH0962577A JP7213373A JP21337395A JPH0962577A JP H0962577 A JPH0962577 A JP H0962577A JP 7213373 A JP7213373 A JP 7213373A JP 21337395 A JP21337395 A JP 21337395A JP H0962577 A JPH0962577 A JP H0962577A
Authority
JP
Japan
Prior art keywords
cache
data block
main memory
memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP7213373A
Other languages
Japanese (ja)
Inventor
Shuichi Nakamura
秀一 中村
Kazumasa Hamaguchi
一正 濱口
Toshiyuki Fukui
俊之 福井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP7213373A priority Critical patent/JPH0962577A/en
Priority to US08/699,105 priority patent/US5860110A/en
Publication of JPH0962577A publication Critical patent/JPH0962577A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the processing capability of the whole of a system by reflecting a data block in a cache memory on a main memory at the time of attaining the prescribed processing stage of each processor in advance. SOLUTION: Cache units 11 and 21 update the data entries of data blocks in themselves or reflect them on a main storage unit 12 based on requests of processors 10 and 20 and snoop the address information or the like flowing on a local bus 15 to execute the cache maintenance. If the number of data blocks whose values are not reflected on the main storage exceeds a prescribed value after they are rewritten with latest values at the time other than the time of issue of a synchronizing instruction, a cache control sequencer which controls the consistency maintenance operation of caches writes back these data blocks of caches to the main storage unit by write-back processing and performs the consistency maintenance operation if necessary to distribute the traffic.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュを備え
た複数のプロセッサが同期を取って動作する情報処理装
置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus in which a plurality of processors having caches operate in synchronization with each other.

【0002】[0002]

【従来の技術】並列計算機システムにおいては、プロセ
ッサから発行される主記憶に対するアクセス要求に高速
に応じるため、及び相互結合網のトラフィックを減じる
ために、各プロセッサにキャッシュ・メモリを付随させ
ることが多い。各プロセッサから発行されるメモリ・ア
クセスはキャッシュ・メモリを介して行われ、キャッシ
ュ・メモリ中にはそれらメモリ・アクセス対象のデータ
・ブロックのコピーが置かれることになる。並列計算機
システムにおいては、複数あるキャッシュ・メモリ中に
同一データ・ブロックのコピーが各々存在する状況が生
じ得るが、それらコピー間の一貫性を保証するために、
従来様々な方法が考案/実現されている。
2. Description of the Related Art In a parallel computer system, a cache memory is often attached to each processor in order to respond to an access request issued from a processor to a main memory at high speed and to reduce traffic of an interconnection network. . The memory access issued from each processor is performed via the cache memory, and a copy of the data block to be the memory access target is placed in the cache memory. In a parallel computer system, a situation may occur in which multiple copies of the same data block exist in multiple cache memories, but in order to guarantee consistency among these copies,
Various methods have been devised / implemented in the past.

【0003】プロセッサ間やプロセッサ・主記憶間を相
互に接続する結合網に、全てのトランザクションが監視
可能であるバスのようなものを用いた並列計算機システ
ムにおいては、スヌープ方式が一般的である。スヌープ
方式は、キャッシュ・メモリが結合網上に発行される全
トランザクションを監視し、トランザクション対象のデ
ータ・ブロックのコピーが自キャッシュ・メモリ中に存
在していた場合は、必要な一貫性保持動作を施すもので
ある。
The snoop method is generally used in a parallel computer system that uses a bus such as a bus capable of monitoring all transactions in a connection network that interconnects processors and processors and main memory. In the snoop method, the cache memory monitors all transactions issued on the connection network, and if a copy of the data block to be transacted exists in its own cache memory, the necessary coherency maintenance operation is performed. It is something to give.

【0004】また、プロセッサ間やプロセッサ・主記憶
間を相互に接続する結合網に、全てのトランザクション
を監視することが困難なものを用いた並列計算機システ
ムにおいては、ディレクトリ方式が用いられる。ディレ
クトリ方式は、データ・ブロック単位、あるいはそれに
類する単位毎に、いずれのキャッシュ・メモリ中にその
コピーが存在するかというキャッシング情報を、ディレ
クトリと呼ばれる記憶装置に格納・管理しておき、プロ
セッサからのトランザクション発行時にはディレクトリ
から得られるキャッシング情報をもとにして、トランザ
クション対象データ・ブロックのコピーを有するキャッ
シュ・メモリにトランザクションの発生を通知し、コピ
ー間の一貫性保持を図るものである。
Further, a directory system is used in a parallel computer system using a coupled network that interconnects processors and a processor / main memory with each other, in which it is difficult to monitor all transactions. The directory method stores and manages, in a storage device called a directory, caching information indicating in which cache memory the copy exists in each data block unit or similar unit, and the cache information from the processor is stored. When a transaction is issued, the occurrence of a transaction is notified to the cache memory having a copy of the transaction target data block based on the caching information obtained from the directory, and the consistency is maintained between the copies.

【0005】[0005]

【発明が解決しようとする課題】従来、並列計算機シス
テムにおける複数キャッシュ・メモリ中に存在するコピ
ー間の一貫性をとるための動作は、上述の通りトランザ
クション毎に行われるものであった。しかしこれは、メ
モリに対するアクセス・レイテンシを抑えるために様々
考案/実現されている緩いメモリ・コンシステンシ・モ
デルにはそぐわないものである。一般に緩いメモリ・コ
ンシステンシ・モデルでは、処理の過程に同期ポイント
を定め、処理が同期ポイントに達した時点で、それまで
に発行したメモリ・トランザクションをシステム中に反
映させることを義務付けている。このことは、同期ポイ
ント以前には各メモリ・トランザクション結果を反映さ
せる必要がないことを意味する。即ち、緩いメモリ・コ
ンシステンシ・モデルを採る並列計算機システムにおい
て従来のキャッシュ一貫性保持手法を用いた場合、その
時点では不要な一貫性保持動作がトランザクション毎に
入ることとなり、そのオーバヘッドは、緩いメモリ・コ
ンシステンシ・モデルの目的に反し、不用意にメモリ・
アクセス・レイテンシを嵩ませていると言える。
Conventionally, the operation for maintaining the consistency among the copies existing in a plurality of cache memories in a parallel computer system has been performed for each transaction as described above. However, this is incompatible with the loose memory consistency model that has been devised / implemented in various ways to reduce the access latency to the memory. Generally, in the loose memory consistency model, a synchronization point is set in the course of processing, and when the processing reaches the synchronization point, it is obliged to reflect the memory transaction issued so far in the system. This means that it is not necessary to reflect the outcome of each memory transaction prior to the sync point. In other words, when a conventional cache coherency retention method is used in a parallel computer system that adopts a loose memory consistency model, an unnecessary coherency retention operation is entered in each transaction at that time, and the overhead is loose memory.・ Carefully against the purpose of the consistency model
It can be said that access latency is increased.

【0006】しかし、キャッシュの一貫性保持動作の実
施を、緩いメモリ・コンシステンシ・モデルでメモリ・
トランザクションを反映する必要が生じる同期ポイント
の時点にまで遅延させることによって、不要なキャッシ
ュ一貫性保持動作によるオーバーヘッドを削減するよう
なシステムにおいては、同期ポイントの時点において集
中的にキャッシュの一貫性保持動作が行われるため、同
期ポイントの時点で相互結合網上に集中的にトラフィッ
クが発生することになり、その結果、相互結合網の利用
効率が極端に低下する恐れがあった。
However, the implementation of the cache coherency operation is performed in a memory-consistent model with memory
In a system that reduces the overhead of unnecessary cache coherency behavior by delaying to the point of the sync point where it is necessary to reflect the transaction, the cache coherency behavior is intensive at the time of the sync point. Therefore, the traffic is intensively generated on the interconnection network at the time of the synchronization point, and as a result, the utilization efficiency of the interconnection network may be extremely reduced.

【0007】本発明は上記従来例に鑑みてなされたもの
で、キャッシュ・メモリ及びキャッシュ・メモリの一貫
性保持動作機構を提供し、同期ポイント時点に集中する
相互結合網上のトラフィックを分散させることで、相互
結合網の利用効率低下,及び同期動作に伴う処理のオー
バーヘッドを軽減することが可能であり、システム全体
の処理能力を向上させる、相互結合網で互いに結合され
た情報処理システム及び情報処理方法を提供することを
目的とする。
The present invention has been made in view of the above-mentioned conventional example, and provides a cache memory and a coherency maintaining operation mechanism of the cache memory, and distributes traffic on the interconnection network concentrated at the synchronization point. In this way, it is possible to reduce the utilization efficiency of the interconnection network and to reduce the processing overhead associated with the synchronous operation, and improve the processing capacity of the entire system. The purpose is to provide a method.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
に本発明の情報処理システムは次のような構成からな
る。すなわち、複数のプロセッサとそれぞれに付随する
キャッシュ・メモリと、主メモリ、及びキャッシュ・メ
モリと主メモリとを相互に接続する結合網を含む情報処
理システムにおいて、各プロセッサの処理が予め定めた
段階に達した場合、当該プロセッサに付随するキャッシ
ュ・メモリ中に存在するデータ・ブロックを主メモリに
反映し、当該データ・ブロックの内容の一貫性を保持す
る一貫性保持処理を実行する。
In order to achieve the above object, the information processing system of the present invention has the following configuration. That is, in an information processing system including a plurality of processors, a cache memory attached to each of them, a main memory, and a connection network interconnecting the cache memory and the main memory, the processing of each processor is at a predetermined stage. When it reaches, the data block existing in the cache memory attached to the processor is reflected in the main memory, and the coherency holding process for holding the consistency of the content of the data block is executed.

【0009】また、望ましくは、前記プロセッサによる
処理が前記予め定めた段階に達する以前において、キャ
ッシュ・メモリ中に存在するデータ・ブロックが所定の
条件を満たした場合には、当該キャッシュ・メモリ中に
存在するデータ・ブロックを主メモリに反映し、当該デ
ータ・ブロックの内容の一貫性を保持する一貫性保持処
理を実行することを特徴とする。
Preferably, if the data block existing in the cache memory satisfies a predetermined condition before the processing by the processor reaches the predetermined stage, the data is stored in the cache memory. The present invention is characterized in that an existing data block is reflected in the main memory, and a consistency maintaining process is executed to maintain the consistency of the contents of the data block.

【0010】更に望ましくは、前記所定の条件は、その
内容が主メモリに反映されていないデータ・ブロックの
数を、予め指定した値と比較することによって判定す
る。
More preferably, the predetermined condition is determined by comparing the number of data blocks whose contents are not reflected in the main memory with a prespecified value.

【0011】更に望ましくは、前記所定の条件は、前記
プロセッサが行ったデータの書き込みの回数を、予め指
定した値と比較することによって判定する。
More preferably, the predetermined condition is determined by comparing the number of times data has been written by the processor with a predetermined value.

【0012】更に望ましくは、前記情報処理システムは
緩いメモリ・コンシステンシ・モデルを採用したもので
ある。
More preferably, the information processing system employs a loose memory consistency model.

【0013】更に望ましくは、前記一貫性保持処理は、
ひとつのキャッシュ・メモリから主メモリに反映したデ
ータ・ブロックの、前記キャッシュ・メモリ以外のキャ
ッシュ・メモリに保持される複製を無効化する処理であ
る。
More preferably, the consistency maintaining process is
This is a process of invalidating a copy of a data block reflected in a main memory from one cache memory and held in a cache memory other than the cache memory.

【0014】更に望ましくは、前記主メモリは、前記複
数のプロセッサそれぞれと接続されており、プロセッサ
の1に付随するキャッシュ・メモリは、他のプロセッサ
のキャッシュ・メモリから、そこに格納されたデータ・
ブロックを主メモリに反映する処理が行われたことを前
記バスを介して検知し、当該キャッシュ・メモリに格納
されている該当するデータブロックの複製を無効化する
ことで前記一貫性保持処理を実行する。
More preferably, the main memory is connected to each of the plurality of processors, and the cache memory associated with one of the processors is a cache memory of another processor that stores data stored therein.
Detects via the bus that the process of reflecting the block in the main memory has been performed, and executes the consistency maintaining process by invalidating the copy of the corresponding data block stored in the cache memory. To do.

【0015】更に望ましくは、前記主メモリは、前記複
数のプロセッサごとに分散して接続されており、前記主
メモリは、その内容とするデータ・ブロックがキャッシ
ュ・メモリに複製されるごとに、その複製先を記録し、
前記複数のプロセッサの1のキャッシュ・メモリからそ
こに格納されたデータ・ブロックを主メモリに反映する
処理が行われた場合に、前記複製先の記録に基づいて該
当するデータブロックの複製を無効化することで前記一
貫性保持処理を実行する。
More preferably, the main memory is distributed and connected to each of the plurality of processors, and the main memory is connected to a cache memory each time a data block having its contents is copied. Record the copy destination,
When the process of reflecting the data block stored therein from the one cache memory of the plurality of processors to the main memory is performed, the duplication of the corresponding data block is invalidated based on the record of the duplication destination. By doing so, the consistency maintaining process is executed.

【0016】また、本発明の情報処理方法は次のような
構成からなるすなわち、複数の情報処理手段を接続して
成り、記憶手段から、各情報処理手段に付随するキャッ
シュ手段にデータを複製して前記記憶手段の内容を前記
複数の情報処理手段で共有する情報処理システムにおい
て、所定の段階においてキャッシュ手段の内容を一斉に
記憶手段に書き戻す情報処理方法であって、前記記憶手
段に記憶された、所望のデータブロックをキャッシュ手
段に読み込む読込み工程と、前記読込み工程によりキャ
ッシュ手段に読み込まれたデータブロックを更新するキ
ャッシュ更新工程と、前記キャッシュ更新工程により更
新されたデータブロック数を計数する計数工程と、前記
計数工程により計数されたデータブロック数と所定値と
を比較して、その比較結果に基づいて前記更新されたデ
ータブロックを、前記記憶手段に書き戻す書き戻し工程
とを備える。
Further, the information processing method of the present invention has the following configuration, that is, it is constituted by connecting a plurality of information processing means, and data is copied from the storage means to the cache means attached to each information processing means. In an information processing system in which the contents of the storage means are shared by the plurality of information processing means, an information processing method of simultaneously writing back the contents of the cache means to the storage means at a predetermined stage, wherein the contents are stored in the storage means Also, a reading step of reading a desired data block into the cache means, a cache updating step of updating the data block read into the cache means by the reading step, and a counting for counting the number of data blocks updated by the cache updating step. Comparing the number of data blocks counted by the step and the counting step with a predetermined value, The updated data block based on compare results, and a step writeback written back to the storage means.

【0017】また、望ましくは、書き戻されたキャッシ
ュ手段以外のキャッシュ手段により前記書き戻し工程に
よるデータブロックの記憶手段への書き戻しを検知し
て、前記キャッシュ手段に保持された、書き戻しの対象
となったデータブロックの複製を無効化する工程を更に
備える。
Preferably, the cache means other than the cache means that has been written back detects the write-back of the data block to the storage means by the write-back process, and the write-back target held in the cache means is detected. The method further comprises the step of invalidating the duplication of the data block.

【0018】また、望ましくは、前記読出し工程により
主記憶手段からキャッシュ手段に読み出されたデータブ
ロックごとに、読出された先を記録する記録工程と、前
記書き戻し工程により主記憶にデータブロックが書き戻
された場合、当該データブロックについて前記記録工程
により記録された読出し先のキャッシュ手段に格納され
たデータブロックの複製を無効化する工程を更に備え
る。
Preferably, a recording step of recording the read destination for each data block read from the main storage means to the cache means in the read step, and a data block in the main memory by the write-back step. When the data block is written back, the method further comprises the step of invalidating the duplication of the data block stored in the read destination cache means recorded by the recording step for the data block.

【0019】また、本発明のコンピュータ制御装置は次
のような構成からなる。すなわち、複数台接続された、
メモリ媒体から所定のプログラムを読み込んで制御する
複数のコンピュータ制御装置であって、前記記憶手段に
記憶された、所望のデータブロックをキャッシュ手段に
読み込む読込み工程のモジュールと、前記読込み工程に
よりキャッシュ手段に読み込まれたデータブロックを更
新するキャッシュ更新工程のモジュールと、前記キャッ
シュ更新工程により更新されたデータブロック数を計数
する計数工程のモジュールと、前記計数工程により計数
されたデータブロック数と所定値とを比較して、その比
較結果に基づいて前記更新されたデータブロックを、前
記記憶手段に書き戻す書き戻し工程のモジュールと、キ
ャッシュ手段の有する、更新されたデータブロックを一
斉に記憶手段に書き戻す一斉書き戻し工程のモジュール
とを備える。
The computer controller of the present invention has the following configuration. That is, multiple units were connected,
A plurality of computer control devices for reading and controlling a predetermined program from a memory medium, comprising a module of a reading step of reading a desired data block stored in the storage means into a cache means, and a cache means by the reading step. A module for a cache updating step for updating the read data block, a module for a counting step for counting the number of data blocks updated by the cache updating step, a number of data blocks counted by the counting step and a predetermined value. A module for a write-back step of comparing and writing back the updated data block to the storage means based on the comparison result, and a write-back process for writing back the updated data block of the cache means to the storage means all at once And a module for a write back process.

【0020】以上の構成により、一斉にキャッシュのデ
ータブロックを書き戻す以前でも、所定数のデータブロ
ックが更新された場合に書き戻しを行うため、データブ
ロックの書き戻しが集中することによる性能の低下がな
い。
With the above configuration, the write-back is performed when a predetermined number of data blocks are updated even before the cache data blocks are simultaneously written back. Therefore, the write-back of the data blocks is concentrated and the performance is degraded. There is no.

【0021】[0021]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態としてマルチプロセッサシステムを詳細に説明
する。 [第1の形態]図1は、本発明を実現するためシステム
の第1の実施の形態の構成を示すブロック図である。
BEST MODE FOR CARRYING OUT THE INVENTION A multiprocessor system will now be described in detail as an embodiment of the present invention with reference to the drawings. [First Embodiment] FIG. 1 is a block diagram showing a configuration of a first embodiment of a system for realizing the present invention.

【0022】図1中、10,20はプロセッサであり、
それぞれプロセッサバス14,24を介してキャッシュ
ユニット11,21に接続される。
In FIG. 1, 10 and 20 are processors,
The cache units 11 and 21 are connected via the processor buses 14 and 24, respectively.

【0023】図2において、プロセッサ10は、メモリ
・アクセスを多重発行することが可能であり、多重発行
されたメモリ・アクセスを緩いメモリ・コンシステンシ
・モデルによるデータ一貫性保証の下で完了させるため
の特別な命令(同期命令)を持つものとする。
In FIG. 2, the processor 10 is capable of issuing multiple memory accesses, and in order to complete the multiple issuing memory access under the data consistency guarantee based on the loose memory consistency model. Shall have a special command (synchronous command).

【0024】またキャッシュユニット11,21は、そ
れぞれローカルバス15を介して主記憶ユニット12及
び、バスアービタ16と接続される。またキャッシュユ
ニット11,21は、プロセッサの要求に基づいて、キ
ャッシュユニット11,21の内部のデータブロックの
データエントリの更新を行ったり、主記憶ユニット12
に反映させたり等すると共に、ローカルバス15上を流
れるアドレス情報等をスヌープしてキャッシュのメイン
テナンスを実施する。
The cache units 11 and 21 are connected to the main memory unit 12 and the bus arbiter 16 via the local bus 15, respectively. Further, the cache units 11 and 21 update the data entry of the data block inside the cache units 11 and 21 and / or the main storage unit 12 based on the request of the processor.
The cache information is reflected on the local bus 15, and the address information flowing on the local bus 15 is snooped to perform cache maintenance.

【0025】バスアービタ16はローカルバス15の利
用権を調停するためのものである。
The bus arbiter 16 is for arbitrating the right to use the local bus 15.

【0026】本実施例では、プロセッサから明示的に与
えられる同期命令発行時点でデータの一貫性が保証され
るような緩いメモリ・コンシステンシ・モデルを採用し
た一貫性制御が行われる図1に示すような構成の情報処
理システムにおいて、キャッシュの一貫性保持動作を制
御するキャッシュ制御シーケンサが、同期命令発行時以
外で最新の値で書き換えられた後、主記憶にその値を反
映していないデータ・ブロック(DIRTYブロック)
の数が既定値以上になった場合にも最新の値で書き換え
られた後,主記憶にその値を反映していない状態(DI
RTY状態)にあるキャッシュのデータブロックを、当
該主記憶ユニットに主記憶へのライトバック処理及び必
要ならば一貫性保持動作を実行することによって、同期
命令発行時点で集中的に発生する主記憶へのライトバッ
ク処理トラフィックや一貫性保持動作・トラフィックを
分散することを実現している。
In the present embodiment, the consistency control adopting a loose memory consistency model that guarantees data consistency at the time of issuing a synchronous instruction explicitly given from the processor is shown in FIG. In an information processing system having such a configuration, the cache control sequencer that controls the cache coherency operation is rewritten with the latest value except when the synchronous instruction is issued, and the data that does not reflect that value in the main memory Block (DIRTY block)
Even if the number of times exceeds the default value, it is rewritten with the latest value, and the value is not reflected in the main memory (DI
The data block of the cache in the RTY state) is written to the main memory unit in the main memory by performing write-back processing to the main memory and a coherency holding operation if necessary, to the main memory that occurs intensively at the time of issuing the synchronous instruction. It is possible to distribute the write-back processing traffic and the consistency maintenance operation / traffic.

【0027】図2は、本実施例の一部分であるキャッシ
ュユニットの構成を示す図である。図2においては、キ
ャッシュユニット11を例にあげているが、キャッシュ
ユニット21についても同様な構成をとる。
FIG. 2 is a diagram showing the configuration of a cache unit which is a part of this embodiment. Although the cache unit 11 is shown as an example in FIG. 2, the cache unit 21 also has a similar configuration.

【0028】図2中、144はプロセッサアドレスバス
141と接続するためのプロセッサアドレスバスインタ
フェースであり、145はプロセッサデータバス142
と接続するためのプロセッサデータバスインタフェース
であり、146はプロセッサコントロールバス143と
接続するためのプロセッサコントロールバスインタフェ
ースである。
In FIG. 2, 144 is a processor address bus interface for connecting to the processor address bus 141, and 145 is a processor data bus 142.
Is a processor data bus interface for connecting to the processor control bus 143, and 146 is a processor control bus interface for connecting to the processor control bus 143.

【0029】154はローカルアドレスバス151と接
続するためのローカルアドレスバスインタフェースであ
り、155はローカルデータバス152と接続するため
のローカルデータバスインタフェースであり、156は
ローカルコントロールバス153と接続するためのロー
カルコントロールバスインタフェースである。
Reference numeral 154 is a local address bus interface for connecting with the local address bus 151, 155 is a local data bus interface for connecting with the local data bus 152, and 156 is for connecting with the local control bus 153. It is a local control bus interface.

【0030】114はデータを保持するためのデータエ
ントリであり、112はデータエントリ114のアドレ
スを保持するためのアドレスタグであり、113はデー
タエントリ114の状態を保持するための状態フラグで
ある。これらの部分は例えばSRAMのような記憶素子
の集合であるとするが、これに制限されるものではな
い。
Reference numeral 114 is a data entry for holding data, 112 is an address tag for holding the address of the data entry 114, and 113 is a status flag for holding the status of the data entry 114. These parts are assumed to be a set of storage elements such as SRAM, but are not limited thereto.

【0031】115は、アドレスタグ112の内容とプ
ロセッサアドレスバス141,ローカルアドレスバス1
51上のアドレスを比較する比較器である。116は、
比較器115の比較結果からデータエントリ内のデータ
を選択する選択器である。
Reference numeral 115 denotes the contents of the address tag 112, the processor address bus 141, and the local address bus 1.
A comparator for comparing the address on 51. 116 is
It is a selector that selects the data in the data entry from the comparison result of the comparator 115.

【0032】111はキャッシュユニット内の各モジュ
ールを制御するキャッシュ制御シーケンサである。
Reference numeral 111 is a cache control sequencer for controlling each module in the cache unit.

【0033】本実施例では、キャッシュユニットは2ウ
ェイ・セット・アソシアティブの構成をとっているが、
この構成に制限されるものではない。 <LOAD命令の処理手順>図3は、上記の様に構成さ
れるキャッシュユニットにおいて、データをプロセッサ
にロードするLOAD命令実行の際の制御手順を示した
ものである。以下、LOAD命令がプロセッサ10から
発行されたものとして説明する。
In this embodiment, the cache unit has a two-way set associative structure.
It is not limited to this configuration. <Processing Procedure of LOAD Instruction> FIG. 3 shows a control procedure for executing a LOAD instruction for loading data into the processor in the cache unit configured as described above. Hereinafter, it will be described that the LOAD instruction is issued from the processor 10.

【0034】図3において、プロセッサ10から発行さ
れるLOAD命令に対してキャッシュ・リードヒットし
た場合(S301−YES)、キャッシュユニット11
は、プロセッサ10に対してデータブロックを供給する
(S306)。
In FIG. 3, when a cache read hit occurs for the LOAD instruction issued from the processor 10 (S301-YES), the cache unit 11
Supplies a data block to the processor 10 (S306).

【0035】また、プロセッサ10から発行されるLO
AD命令に対してキャッシュ・リードミスした場合(S
301−NO)、キャッシュユニット11は、ローカル
バス15に対してリード要求を発行する(S302)。
この場合、キャッシュ・リードミスしたデータブロック
がキャッシュユニット11に供給されるまで、キャッシ
ュユニット11はプロセッサ10に対して当該データブ
ロックの供給を行わない。
Further, the LO issued from the processor 10
When a cache read miss occurs for an AD instruction (S
301-NO), the cache unit 11 issues a read request to the local bus 15 (S302).
In this case, the cache unit 11 does not supply the data block to the processor 10 until the cache read missed data block is supplied to the cache unit 11.

【0036】キャッシュユニット11は、ローカルアド
レスバス151に対して当該リードアクセスのアドレス
を転送し、ローカルコントロールバス153に対してリ
ード要求を発行し、ローカルデータバス152にデータ
ブロックが供給されるまで実行を停止するものとする
が、これは本実施例に制限されるものではない。
The cache unit 11 transfers the address of the read access to the local address bus 151, issues a read request to the local control bus 153, and executes until a data block is supplied to the local data bus 152. However, this is not limited to the present embodiment.

【0037】主記憶ユニット12は、リード要求,及び
当該リードアクセスのアドレスを受け付けてローカルデ
ータバス152にデータブロックを供給し、キャッシュ
ユニット11はそれを受ける(S303)。
The main memory unit 12 receives the read request and the address of the read access, supplies the data block to the local data bus 152, and the cache unit 11 receives it (S303).

【0038】キャッシュユニット11は、ローカルデー
タバス152に供給されたデータブロックをキャッシュ
ユニット11内の当該データブロックのエントリにリプ
レースする(S304)。この処理は図7として後述す
る。
The cache unit 11 replaces the data block supplied to the local data bus 152 with the entry of the data block in the cache unit 11 (S304). This process will be described later with reference to FIG.

【0039】キャッシュユニット11は、プロセッサ1
0に対してデータブロックを供給する(S305)。
The cache unit 11 is the processor 1
A data block is supplied to 0 (S305).

【0040】以上のようにして、LOAD命令に対して
プロセッサにデータを供給する。 <STORE命令の処理手順>図4は、プロセッサから
データを書き出すSTORE命令実行の際のキャッシュ
ユニットによる制御手順を示したものである。以下、S
TORE命令がプロセッサ10から発行されたものとし
て説明する。
As described above, data is supplied to the processor in response to the LOAD instruction. <Processing Procedure of STORE Instruction> FIG. 4 shows a control procedure by the cache unit when executing the STORE instruction for writing data from the processor. Below, S
The TORE instruction will be described as issued from the processor 10.

【0041】図4において、プロセッサ10から発行さ
れるSTORE命令に対してキャッシュ・ライトヒット
した場合に、プロセッサからストアすべきデータを受け
(S403)、そのデータに対応する状態フラグを”D
IRTY”に設定する(S404)。それとともに、状
態フラグカウンタ117を1インクリメントする(S4
05)。
In FIG. 4, when a cache write hit occurs for the STORE instruction issued from the processor 10, the data to be stored is received from the processor (S403), and the status flag corresponding to the data is set to "D".
IRTY "(S404). At the same time, the status flag counter 117 is incremented by 1 (S4).
05).

【0042】キャッシュユニット11のDIRTYブロ
ックの数が状態フラグカウンタ117に設定されている
ある既定値以上に達した場合、DIRTYブロックの主
記憶へのライトバック処理を実行する(S407)。ラ
イトバックしたなら、状態フラグカウンタをリセットす
る(S408)。本実施例ではDIRTYブロックの主
記憶へのライトバック処理を実行するかどうかの判断基
準となる、キャッシュ内のDIRTYブロック数の既定
値は、状態フラグカウンタ117内の規定値メモリに予
め設定されるものとするが、その格納位置などはこれに
制限されるものではない。
When the number of DIRTY blocks in the cache unit 11 reaches or exceeds a predetermined value set in the status flag counter 117, write back processing of the DIRTY blocks to the main memory is executed (S407). After writing back, the state flag counter is reset (S408). In the present embodiment, the default value of the number of DIRTY blocks in the cache, which is a criterion for determining whether or not to execute the write-back process to the main memory of the DIRTY block, is preset in the specified value memory in the status flag counter 117. However, the storage position is not limited to this.

【0043】なお、ライトバック処理は、DIRTYブ
ロックを選び出し、それを対象として図6の処理を実行
することで行われる。
The write-back process is performed by selecting a DIRTY block and executing the process shown in FIG. 6 for it.

【0044】プロセッサ10から発行されるSTORE
命令に対してキャッシュ・ライトミスした場合、すなわ
ちキャッシュユニットのアドレスタグ内に該当するアド
レスがない場合には、キャッシュ・リードミス処理、す
なわち図3のステップS302以降の処理を行った後
(S402)、キャッシュ・ライトヒット処理を行うも
のとする。
STORE issued from the processor 10
When a cache write miss is made to the instruction, that is, when there is no corresponding address in the address tag of the cache unit, the cache read miss process, that is, the process after step S302 in FIG. 3 is performed (S402). Cache write hit processing shall be performed.

【0045】このようにして、データのSTORE処理
時には、STORE処理によってDIRTY状態となっ
たブロックの数が所定数を越えたならキャッシュ内のデ
ータブロックを主記憶ユニットにライトバックしてお
く。 <同期命令処理の手順>図5は、複数のプロセッサによ
ってアクセスされている可能性のあるデータブロックの
内容を主記憶にライトバックして、主記憶の内容とキャ
ッシュの内容とを一致させる同期命令実行の際の制御手
順を示したものである。以下、同期命令がプロセッサ1
0から発行されたものとして説明する。
In this way, at the time of STORE processing of data, if the number of blocks brought into the DIRTY state by the STORE processing exceeds a predetermined number, the data block in the cache is written back to the main storage unit. <Procedure of Synchronous Instruction Processing> FIG. 5 shows a synchronous instruction for writing back the contents of a data block which may be accessed by a plurality of processors to the main memory so as to match the contents of the main memory with the contents of the cache. The control procedure at the time of execution is shown. Hereinafter, the synchronization instruction is the processor 1
It will be described as being issued from 0.

【0046】図5において、プロセッサ10から同期命
令が発行された場合、キャッシュユニット11にDIR
TYブロックが1つ以上存在すると(S501−YE
S)、当該DIRTYブロックの主記憶へのライトバッ
ク処理を実行する(S502)。本実施例ではDIRT
Yブロックの主記憶へのライトバック処理はDIRTY
ブロックがなくなるまで繰り返し実行されるものとする
が、これに制限されるものではない。
In FIG. 5, when the processor 10 issues a synchronization instruction, the cache unit 11 receives the DIR.
If one or more TY blocks exist (S501-YE
S), write back processing to the main memory of the DIRTY block is executed (S502). In this embodiment, DIRT
The write-back process to the main memory of Y block is DIRTY
It is repeatedly executed until there are no more blocks, but it is not limited to this.

【0047】ライトバックしたなら、ライトバックされ
たデータブロックの状態フラグをCLEANとし(S5
03)、状態フラグカウンタをデクリメントする(S5
04)。
After writing back, the state flag of the written back data block is set to CLEAN (S5
03), the state flag counter is decremented (S5
04).

【0048】このようにして、DIRTY状態にあるブ
ロックをすべて主記憶にライトバックしてCLEANな
状態に戻すことができる。
In this way, all the blocks in the DIRTY state can be written back to the main memory and returned to the CLEAN state.

【0049】<ライトバック処理の手順>図6は、主記
憶へのライトバック処理実行の際の制御手順を示したも
のである。以下、主記憶へのライトバック処理がキャッ
シュユニット11から発行されたものとして説明する。
<Procedure of Write Back Processing> FIG. 6 shows a control procedure for executing the write back processing to the main memory. Hereinafter, it is assumed that the write-back process to the main memory is issued from the cache unit 11.

【0050】図6において、キャッシュユニット11
は、ローカルコントロールバス153に対してライトバ
ック要求元情報、及びローカルアドレスバス151に対
して当該ライトバックアクセスのアドレスを転送し、ロ
ーカルコントロールバス153に対してライトバック要
求を発行し、ローカルデータバス152にライトバック
するデータブロックを供給し、ライトバックしたデータ
ブロックが当該主記憶ユニットのエントリに供給され、
必要な一貫性保持動作が完了し、主記憶へのライトバッ
ク処理が完了するまで実行を停止する(S601)。完
了通知を受け取ると(S604)、ライトバック処理は
終了となる。
In FIG. 6, the cache unit 11
Transfers the write-back request source information to the local control bus 153 and the address of the write-back access to the local address bus 151, issues a write-back request to the local control bus 153, The data block to be written back to 152 is supplied, and the data block written back is supplied to the entry of the main storage unit,
Execution is stopped until the necessary consistency holding operation is completed and the write-back processing to the main memory is completed (S601). When the completion notification is received (S604), the write back process ends.

【0051】主記憶ユニット12は、リード要求、及び
当該ライトバックアクセスのアドレス及びローカルデー
タバス152に供給されているデータブロックを受け付
けて当該データブロックのエントリに書き込む(S60
2)。その後、完了を要求元に通知する(S603)。
The main memory unit 12 accepts the read request, the address of the write back access, and the data block supplied to the local data bus 152, and writes it in the entry of the data block (S60).
2). After that, the completion is notified to the request source (S603).

【0052】また、同時にキャッシュユニット11以外
のキャッシュユニットは、ローカルバス15に転送され
るアドレスをスヌープして(S605)、データのコピ
ーが有効状態(CLEAN状態,もしくはDIRTY状
態のいずれか)で保持されている場合は、キャッシュユ
ニットは有効状態で保持しているデータブロックに対し
て一貫性保持動作を実行する(S607)。本実施例で
は一貫性保持動作は、キャッシュに重複して有する、書
き戻したデータブロック以外のデータブロックを無効な
データとする無効化のトランザクションとするが、これ
に制限されるものではない。無効化は、状態フラグ13
を“INVALID”とすることで行われる。
At the same time, the cache units other than the cache unit 11 snoop the addresses transferred to the local bus 15 (S605) and hold the data copy in the valid state (either the CLEAN state or the DIRTY state). If so, the cache unit executes the coherency holding operation for the data block held in the valid state (S607). In the present embodiment, the coherency holding operation is an invalidation transaction in which a data block other than the written-back data block that is duplicated in the cache is invalid data, but the present invention is not limited to this. The invalidation is the status flag 13
Is set to "INVALID".

【0053】<リプレース処理の手順>図7は、データ
ブロックのリプレース実行の際の制御手順を示したもの
である。以下、キャッシュユニット11がデータブロッ
クのリプレースを実行するものとして説明する。
<Procedure of Replace Processing> FIG. 7 shows a control procedure at the time of replacing the data block. Hereinafter, it is assumed that the cache unit 11 executes the replacement of the data block.

【0054】図7において、キャッシュユニット11
は、データブロックのリプレース要求が発行された場
合、置換すべきデータブロックをLRU等のデータブロ
ック置換アルゴリズムにより、置換対象データブロック
を検出する(S701)。
In FIG. 7, the cache unit 11
When a data block replacement request is issued, the data block replacement algorithm detects a data block to be replaced by a data block replacement algorithm such as LRU (S701).

【0055】当該置換対象データブロックがDIRTY
状態の場合、DIRTYブロックの主記憶へのライトバ
ック処理を実行する(S704)。
The data block to be replaced is DIRTY.
In the case of the state, the write-back processing to the main memory of the DIRTY block is executed (S704).

【0056】当該置換対象データブロックがDIRTY
状態以外の場合や、当該置換対象データブロックがDI
RTY状態で主記憶へのライトバック処理が完了した場
合、当該データブロックのデータエントリにデータブロ
ックをリードする(S703,S705)。
The data block to be replaced is DIRTY.
If the data block is not in the state or the replacement target data block is DI
When the write-back process to the main memory is completed in the RTY state, the data block is read to the data entry of the data block (S703, S705).

【0057】キャッシュにデータブロックを読み込む場
合には、このリプレース処理を実行することで使用可能
な領域を確保し、そこにあらたなデータブロックを読み
込む。 <データブロックの状態遷移>図8は、各メモリトラン
ザクション実行時の状態フラグの状態遷移図を示したも
のである。以下、キャッシュユニット11の状態フラグ
として説明する。
When a data block is read into the cache, this replacement process is executed to secure a usable area, and a new data block is read there. <State Transition of Data Block> FIG. 8 is a state transition diagram of the state flag when each memory transaction is executed. Hereinafter, the state flag of the cache unit 11 will be described.

【0058】図8において、状態INVALIDは当該
状態フラグが管理するデータエントリが無効であること
を示す。状態CLEANは当該状態フラグが管理するデ
ータエントリが主記憶ユニットからリードされた後、1
回も書き換えられていないことを示す。当該データエン
トリには主記憶ユニットと同一の値が格納されている
が、他のキャッシュユニットのデータエントリには最新
の値が格納されているかもしれない。状態DIRTYは
当該状態フラグが管理するデータエントリが主記憶ユニ
ットからリードされた後、1回以上最新の値で書き換え
られ、かつ、主記憶にその値を反映していないことを示
す。当該データエントリには最新の値が格納されてい
る。
In FIG. 8, the status INVALID indicates that the data entry managed by the status flag is invalid. The status CLEAN is set to 1 after the data entry managed by the status flag is read from the main storage unit.
Indicates that it has not been rewritten even once. Although the same value as the main memory unit is stored in the data entry, the latest value may be stored in the data entry of another cache unit. The state DIRTY indicates that the data entry managed by the state flag has been read from the main memory unit and then rewritten with the latest value one or more times, and the value is not reflected in the main memory. The latest value is stored in the data entry.

【0059】各状態は次のように遷移する。 INVALID状態にあるデータブロックに対してプ
ロセッサ10からLOAD命令が発行された場合、状態
フラグはCLEANに遷移する。 INVALID状態にあるデータブロックに対してプ
ロセッサ10からSTORE命令が発行された場合、一
旦キャッシュ・リードミス処理が実行され、状態フラグ
がCLEAN に遷移した後、キャッシュ・ライトヒッ
ト処理が実行され、状態フラグはDIRTYに遷移す
る。 CLEAN状態にあるデータブロックに対してプロセ
ッサ10からLOAD命令が発行された場合、状態フラ
グはCLEANに遷移する。 CLEAN状態にあるデータブロックに対してプロセ
ッサ10からSTORE命令が発行された場合、状態フ
ラグはDIRTYに遷移する。 CLEAN状態にあるデータブロックに対して一貫性
保持動作が実行された場合、状態フラグはINVALI
Dに遷移する。 DIRTY状態にあるデータブロックに対してプロセ
ッサ10からLOAD命令が発行された場合、状態フラ
グはDIRTYに遷移する。 DIRTY状態にあるデータブロックに対してプロセ
ッサ10からSTORE命令が発行された場合、状態フ
ラグはDIRTYに遷移する。 DIRTY状態にあるデータブロックに対してプロセ
ッサ10から同期命令が発行された場合、状態フラグは
CLEAN に遷移する。 DIRTY状態にあるデータブロックに対して主記憶
へのライトバック処理が実行された場合、状態フラグは
CLEAN に遷移する。 (10)DIRTY状態にあるデータブロックに対して一貫
性保持動作が実行された場合、状態フラグはINVAL
IDに遷移する。
Each state transits as follows. When the LOAD instruction is issued from the processor 10 to the data block in the INVALID state, the state flag transits to CLEAN. When the STORE instruction is issued from the processor 10 to the data block in the INVALID state, the cache read miss process is once executed, the state flag transits to CLEAN, and the cache write hit process is then executed. Transition to DIRTY. When the LOAD instruction is issued from the processor 10 to the data block in the CLEAN state, the state flag transits to CLEAN. When the STORE instruction is issued from the processor 10 to the data block in the CLEAN state, the state flag transits to DIRTY. If a data integrity block operation in the CLEAN state is executed, the status flag is INVALI.
Transition to D. When the LOAD instruction is issued from the processor 10 to the data block in the DIRTY state, the state flag transits to DIRTY. When the STORE instruction is issued from the processor 10 to the data block in the DIRTY state, the state flag transits to DIRTY. When the processor 10 issues a synchronization instruction to a data block in the DIRTY state, the state flag transits to CLEAN. When the write-back process to the main memory is executed for the data block in the DIRTY state, the state flag transits to CLEAN. (10) When the consistency maintaining operation is executed for the data block in the DIRTY state, the state flag is INVAL
Transition to ID.

【0060】本発明に係る一貫性保持動作の理解のため
に、まず本システムの特長である同期命令発行時点まで
一貫性保持動作が延期される例を説明し、次にDIRT
Yブロックの数がある既定値以上になるまで一貫性保持
動作が延期される例を説明する。
In order to understand the consistency maintaining operation according to the present invention, an example in which the consistency maintaining operation is postponed until the synchronous command issuance, which is a feature of this system, will be described first, and then the DIRT.
An example will be described in which the consistency keeping operation is postponed until the number of Y blocks exceeds a predetermined value.

【0061】具体的には、例えばプロセッサ10,20
がアドレスf8000000番地に対してLOAD命令
を発行し、それぞれのLOAD命令が完了した後で、プ
ロセッサ10がアドレスf8000000番地に対して
STORE命令を発行した場合、STORE命令発行時
点ではキャッシュユニット21に対して一貫性保持動作
は発行されず、同期命令がプロセッサ10から発行され
た場合に、一貫性保持動作が実行されることをどのよう
にして実現するかを図9を参考にして説明する。
Specifically, for example, the processors 10 and 20
Issues a LOAD instruction to the address f8000000, and after each LOAD instruction is completed, when the processor 10 issues a STORE instruction to the address f8000000, the cache unit 21 is issued to the cache unit 21 when the STORE instruction is issued. How to realize the execution of the consistency maintaining operation when the consistency maintaining operation is not issued and the synchronization instruction is issued from the processor 10 will be described with reference to FIG.

【0062】また、同様にプロセッサ10,20がアド
レスf8000000番地に対してLOAD命令を発行
し、プロセッサ10がアドレスf8000000番地に
対してSTORE命令を発行した場合、STORE命令
発行時点ではノード間インタフェース13がキャッシュ
ユニット21に対して一貫性保持動作を発行せず、DI
RTYブロックの数がある既定値(この例では2)以上
になった場合に、一貫性保持動作が実行されることをキ
ャッシュユニット11,21の持つ機構でどのようにし
て実現するかを図10を参考にして説明する。 <一貫性の保持(同期命令による)>図9は、本実施例
の一貫性保持動作の一例を示すタイミングチャート図で
ある。
Similarly, when the processors 10 and 20 issue a LOAD instruction to the address f8000000 and the processor 10 issues a STORE instruction to the address f8000000, the inter-node interface 13 is issued when the STORE instruction is issued. DI is not issued to the cache unit 21
FIG. 10 shows how the mechanism of the cache units 11 and 21 realizes that the coherency hold operation is executed when the number of RTY blocks exceeds a predetermined value (2 in this example). Will be explained with reference to. <Maintaining Consistency (by Synchronous Command)> FIG. 9 is a timing chart showing an example of the consistency maintaining operation of this embodiment.

【0063】アドレスf8000000番地が主記憶ユ
ニット12に割り当てられているものとして説明する。
The description will be made assuming that the address f8000000 is assigned to the main memory unit 12.

【0064】時刻1では、プロセッサ10,20がアド
レスf8000000番地に対してLOAD命令を発行
し、それぞれが主記憶ユニット12からリードを完了し
ている。このとき、アドレスf8000000番地に対
応するキャッシュユニット11,21の内の状態フラグ
113,213は、それぞれCLEANである。
At time 1, the processors 10 and 20 issue the LOAD instruction to the address f8000000, and each of them has completed reading from the main memory unit 12. At this time, the state flags 113 and 213 in the cache units 11 and 21 corresponding to the address f8000000000 are CLEAN, respectively.

【0065】時刻2では、プロセッサ10がアドレスf
8000000番地に対してSTORE命令を発行し、
STORE命令が完了している。このとき、ローカルバ
スアクセス,及び一貫性保持動作は発生しない。キャッ
シュ11内の状態フラグ113はプロセッサ10の発行
したSTORE命令の結果、DIRTYに変更されてい
る。また、状態フラグカウンタ117をインクリメント
する。
At time 2, the processor 10 sends the address f
Issue a STORE command to the address 8000000,
The STORE command has been completed. At this time, the local bus access and the consistency holding operation do not occur. The status flag 113 in the cache 11 has been changed to DIRTY as a result of the STORE instruction issued by the processor 10. Further, the status flag counter 117 is incremented.

【0066】時刻3では、プロセッサ10が同期命令を
発行している。
At time 3, the processor 10 issues a synchronization instruction.

【0067】時刻4では、時刻3で発行されたプロセッ
サ10の同期命令により、キャッシュ11内にDIRT
Yで保持されているアドレスf8000000番地の主
記憶へのライトバック処理が生じている。
At time 4, the DIRT is stored in the cache 11 by the synchronization instruction issued by the processor 10 at time 3.
A write back process to the main memory at the address f8000000 held in Y occurs.

【0068】時刻5では、時刻4で生じたアドレスf8
000000番地の主記憶へのライトバック処理により
キャッシュユニット21のデータエントリが無効化され
ている。
At time 5, the address f8 generated at time 4
The data entry of the cache unit 21 is invalidated by the write-back process to the main memory at address 000000.

【0069】時刻6では、一貫性保持動作の完了を受け
付けて、主記憶へのライトバック処理が完了したキャッ
シュユニット11はプロセッサ10に同期命令の完了を
通達し、時刻3で発行された同期命令が完了している。
At time 6, the cache unit 11 which has accepted the completion of the coherency holding operation and completed the write-back processing to the main memory notifies the processor 10 of the completion of the synchronization instruction, and the synchronization instruction issued at time 3 is issued. Has been completed.

【0070】このように、DIRTYブロック数が2以
上になる以前に同期命令が出され、それによりライトバ
ックが行われている。 <一貫性の保持(DIRTYブロックの数をトリガとす
る)>図10は、本実施例の一貫性保持動作の一例を示
すタイミングチャート図である。
As described above, the sync command is issued before the number of DIRTY blocks becomes 2 or more, and the write back is performed by this. <Maintaining Consistency (Triggered by Number of DIRTY Blocks)> FIG. 10 is a timing chart showing an example of the consistency maintaining operation of this embodiment.

【0071】アドレスf8000000番地,及びアド
レスf8000001番地が主記憶ユニット12に割り
当てられているものとして説明する。
It is assumed that the address f8000000000 and the address f8000001 are assigned to the main memory unit 12.

【0072】時刻1では、プロセッサ10がアドレスf
8000000番地に対してLOAD命令を発行し、主
記憶ユニット12からリードを完了している。キャッシ
ュユニット11の内の状態フラグ113は、CLEAN
である。
At time 1, the processor 10 sends the address f
The LOAD instruction is issued to the address 8000000, and the reading from the main memory unit 12 is completed. The status flag 113 in the cache unit 11 is CLEAN.
It is.

【0073】時刻2では、プロセッサ10がアドレスf
8000000番地に対してSTORE命令を発行し、
STORE命令が完了している。このとき、一貫性保持
動作は発生しない。キャッシュ11内の状態フラグ11
3はプロセッサ10の発行したSTORE命令の結果、
DIRTYに変更されている。また、状態フラグカウン
タ117をインクリメントする。
At time 2, the processor 10 sends the address f
Issue a STORE command to the address 8000000,
The STORE command has been completed. At this time, the consistency maintaining operation does not occur. State flag 11 in cache 11
3 is the result of the STORE instruction issued by the processor 10,
It has been changed to DIRTY. Further, the status flag counter 117 is incremented.

【0074】時刻3では、プロセッサ20がアドレスf
8000000番地に対してLOAD命令を発行し、L
OAD命令を完了している。このときも、キャッシュユ
ニット21は主記憶ユニット12からデータブロックを
リードするだけで一貫性保持動作は発生しない。LOA
D命令の結果、キャッシュユニット21の内の状態フラ
グ213は、CLEANである。
At time 3, the processor 20 sends the address f
Issue a LOAD command to the address 8000000, and
The OAD instruction has been completed. Also at this time, the cache unit 21 only reads the data block from the main memory unit 12, and the coherency holding operation does not occur. LOA
As a result of the D instruction, the status flag 213 in the cache unit 21 is CLEAN.

【0075】時刻4では、プロセッサ10がアドレスf
8000001番地に対してSTORE命令を発行し、
STORE命令が完了している。状態フラグカウンタ1
17をインクリメントするとDIRTYブロックの数が
既定値(2)以上になったので、主記憶へのライトバッ
ク処理が生じている。
At time 4, the processor 10 sends the address f
Issue a STORE command to 8000001
The STORE command has been completed. Status flag counter 1
When 17 is incremented, the number of DIRTY blocks becomes equal to or larger than the predetermined value (2), so that write-back processing to the main memory is occurring.

【0076】時刻5では、時刻4で生じたアドレスf8
000000番地の主記憶へのライトバック処理により
キャッシュユニット21のデータエントリが無効化され
ている。
At time 5, the address f8 generated at time 4
The data entry of the cache unit 21 is invalidated by the write-back process to the main memory at address 000000.

【0077】時刻6では、アドレスf8000001番
地の主記憶へのライトバック処理が生じている。
At time 6, write-back processing to the main memory at address f8000001 occurs.

【0078】時刻7では、アドレスf8000001番
地の主記憶へのライトバック処理が完了している以上の
ように、DIRTY状態のデータブロックの数が所定値
(本例では2)以上となるとライトバックが実行される
ため、同期命令による一貫性保持動作が実行されても、
各キャッシュユニットには所定数以上のライトバックす
べきデータブロックが残っていないため、バスのトラフ
ィックの輻輳や同期動作に伴うオーバーヘッドを軽減す
ることができる。
At time 7, when the write-back process to the main memory at the address f8000001 is completed, the write-back is performed when the number of data blocks in the DIRTY state becomes a predetermined value (2 in this example) or more. Since it is executed, even if the consistency maintaining operation by the synchronization instruction is executed,
Since a predetermined number or more of data blocks to be written back do not remain in each cache unit, it is possible to reduce the congestion of the bus traffic and the overhead associated with the synchronization operation.

【0079】なお、上記装置の機能もしくは方法の機能
によって達成される本発明の目的は、前述の本発明を実
施した装置におけるプログラムを記憶させた記憶媒体に
よっても達成できる。すなわち、上記装置に、その記憶
媒体を装着し、その記憶媒体から読出したプログラム自
体が本発明の新規な機能を達成するからである。このた
めの、本発明に係るプログラムの構造的特徴は図18に
示す通りである。 [第2の形態]以下、図面を参照して本発明の実施例を
詳細に説明する。
The object of the present invention achieved by the function of the above apparatus or the function of the method can also be achieved by a storage medium storing the program in the above-mentioned apparatus for carrying out the present invention. That is, the storage medium is mounted on the device, and the program itself read from the storage medium achieves the novel function of the present invention. The structural characteristics of the program according to the present invention for this purpose are as shown in FIG. [Second Embodiment] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

【0080】図11は、本発明を実現するためシステム
の第2の実施例の構成を示すブロック図である。
FIG. 11 is a block diagram showing the configuration of the second embodiment of the system for realizing the present invention.

【0081】図11中、1,2,3は計算機ノードであ
る。10,20,30はプロセッサであり、それぞれプ
ロセッサバス14,24,34を介してキャッシュユニ
ット11,21,31に接続される。
In FIG. 11, reference numerals 1, 2, and 3 are computer nodes. Reference numerals 10, 20, 30 denote processors, which are connected to the cache units 11, 21, 31 via processor buses 14, 24, 34, respectively.

【0082】またキャッシュユニット11,21,31
は、それぞれローカルバス15,25,35を介して主
記憶ユニット12,22,32及び、ノード間インタフ
ェース13,23,33と接続される。4はグローバル
バスであり、ノード間インタフェース13,23,33
及び、グローバルバスアービタ5を接続する。
Further, the cache units 11, 21, 31
Are connected to the main storage units 12, 22, 32 and the inter-node interfaces 13, 23, 33 via the local buses 15, 25, 35, respectively. Reference numeral 4 denotes a global bus, which is an inter-node interface 13, 23, 33.
Also, the global bus arbiter 5 is connected.

【0083】図11では、接続されているの計算機ノー
ドの数は3であるが、この数に制限されるものではな
い。
In FIG. 11, the number of connected computer nodes is 3, but the number is not limited to this number.

【0084】本実施例では、プロセッサから明示的に与
えられる同期命令発行時点でデータの一貫性が保証され
るような緩いメモリ・コンシステンシ・モデルを採用し
た一貫性制御が行われる図11に示すような構成の情報
処理システムにおいて、キャッシュの一貫性保持動作を
制御するキャッシュ制御シーケンサが、同期命令発行時
以外でDIRTYブロックの数が既定値以上になった場
合にもDIRTY状態にあるキャッシュのデータブロッ
クを、当該主記憶ユニットに主記憶へのライトバック処
理及び必要ならば一貫性保持動作を実行することによっ
て、同期命令発行時点で集中的に発生する主記憶へのラ
イトバック処理トラフィックや一貫性保持動作・トラフ
ィックを分散することを実現している。
In the present embodiment, the consistency control adopting a loose memory consistency model that guarantees data consistency at the time of issuing a synchronous instruction explicitly given from the processor is shown in FIG. In an information processing system having such a configuration, the cache control sequencer that controls the cache coherency holding operation, when the number of DIRTY blocks exceeds the default value other than when the synchronous instruction is issued, cache data in the DIRTY state. By executing write-back processing to the main memory unit in the main memory unit and performing a coherency maintenance operation if necessary, a write-back processing traffic or consistency to the main memory that occurs intensively at the time of issuing a synchronous instruction It realizes holding operation and distributing traffic.

【0085】図12は、本実施例の一部分である計算機
ノードの内部構成を示す図である。図12においては、
計算機ノード1を例にあげているが、計算機ノード2,
3についても同様な構成をとる。
FIG. 12 is a diagram showing the internal structure of a computer node which is a part of this embodiment. In FIG.
Although the computer node 1 is taken as an example, the computer node 2,
The same configuration is adopted for 3.

【0086】図12において、プロセッサ10は、メモ
リ・アクセスを多重発行することが可能であり、多重発
行されたメモリ・アクセスを緩いメモリ・コンシステン
シ・モデルによるデータ一貫性保証の下で完了させるた
めの特別な命令(同期命令)を持つものとする。
In FIG. 12, the processor 10 can issue multiple memory accesses multiple times, and completes the multiple issued memory accesses under the data consistency guarantee by the loose memory consistency model. Shall have a special command (synchronous command).

【0087】図12中、11はキャッシュユニットであ
り、12は主記憶ユニットであり、15はローカルバス
であり、13はノード間インタフェースである。また、
主記憶ユニット12は、主記憶制御シーケンサ121,
メモリ123、及びディレクトリユニット122を含
む。141はプロセッサ10とキャッシュユニット11
を接続するプロセッサアドレスバスであり、142はプ
ロセッサ10とキャッシュユニット11を接続するプロ
セッサデータバスであり、143はプロセッサ10とキ
ャッシュユニット11を接続するプロセッサコントロー
ルバスである。
In FIG. 12, 11 is a cache unit, 12 is a main memory unit, 15 is a local bus, and 13 is an internode interface. Also,
The main memory unit 12 includes a main memory control sequencer 121,
The memory 123 and the directory unit 122 are included. 141 is a processor 10 and a cache unit 11
Is a processor address bus for connecting the processor 10 and the cache unit 11, 142 is a processor data bus for connecting the processor 10 and the cache unit 11, and 143 is a processor control bus for connecting the processor 10 and the cache unit 11.

【0088】プロセッサコントロールバス143にはプ
ロセッサ10が発行するメモリ・アクセス要求信号線、
及び当該メモリ・アクセス要求信号線の種別を示すメモ
リ・アクセス種別信号線群が含まれる。
A memory access request signal line issued by the processor 10 is connected to the processor control bus 143.
And a memory access type signal line group indicating the type of the memory access request signal line.

【0089】151はキャッシュユニット11とノード
間インタフェース13,主記憶ユニット12を接続する
ローカルアドレスバスであり、152はキャッシュユニ
ット11とノード間インタフェース13,主記憶ユニッ
ト12を接続するローカルデータバスであり、153は
キャッシュユニット11とノード間インタフェース1
3,主記憶ユニット12を接続するローカルコントロー
ルバスである。
Reference numeral 151 is a local address bus connecting the cache unit 11 to the inter-node interface 13 and the main memory unit 12, and 152 is a local data bus connecting the cache unit 11 to the inter-node interface 13 and the main memory unit 12. , 153 is the cache unit 11 and the inter-node interface 1
3. A local control bus for connecting the main memory unit 12.

【0090】ローカルコントロールバス153にはキャ
ッシュユニット11が発行するトランザクション要求信
号線、及び当該一貫性保持動作の種別を示すトランザク
ション種別信号線群が含まれる。
The local control bus 153 includes a transaction request signal line issued by the cache unit 11 and a transaction type signal line group indicating the type of the coherency holding operation.

【0091】43はノード間インタフェース13,2
3,33を接続するグローバルコントロールバスであ
り、41はノード間インタフェース13,23,33を
接続するグローバルアドレスバスであり、42はノード
間インタフェース13,23,33を接続するグローバ
ルデータバスである。
Reference numeral 43 is an inter-node interface 13, 2
Reference numeral 41 is a global control bus for connecting the nodes 3 and 33, 41 is a global address bus for connecting the inter-node interfaces 13, 23, 33, and 42 is a global data bus for connecting the inter-node interfaces 13, 23, 33.

【0092】グローバルコントロールバス43にはノー
ド間インタフェース13,23,33が発行するトラン
ザクション要求信号線、当該トランザクション要求信号
線の種別を示すトランザクション種別信号線群が含まれ
る。
The global control bus 43 includes a transaction request signal line issued by the inter-node interfaces 13, 23, 33 and a transaction type signal line group indicating the type of the transaction request signal line.

【0093】グローバルバスアービタ5はノード間イン
タフェースから発行されるトランザクション要求信号線
を受取り、グローバルバス4の使用権の調停を行う。
The global bus arbiter 5 receives the transaction request signal line issued from the inter-node interface and arbitrates the right to use the global bus 4.

【0094】キャッシュユニットについては実施例1と
同様の構成をとるため、説明は省略する。
Since the cache unit has the same structure as that of the first embodiment, its explanation is omitted.

【0095】図13は、本実施例の一部分である主記憶
ユニット12の構成を示す図である。
FIG. 13 is a diagram showing the configuration of the main memory unit 12 which is a part of this embodiment.

【0096】図13中、121は主記憶ユニット内の各
モジュールを制御する主記憶制御シーケンサである。1
24はキャッシュユニット11,21,31に保持され
るデータブロックの共有情報を保持するディレクトリフ
ラグである。122ディレクトリユニットはディレクト
リフラグを内部に保持するモジュールである。123は
データブロックを保持するメモリである。
In FIG. 13, reference numeral 121 is a main memory control sequencer for controlling each module in the main memory unit. 1
Reference numeral 24 is a directory flag for holding shared information of the data blocks held in the cache units 11, 21, 31. The 122 directory unit is a module that internally holds a directory flag. Reference numeral 123 is a memory that holds a data block.

【0097】157はローカルアドレスバス151と接
続するためのローカルアドレスバスインタフェースであ
り、158はローカルデータバス152と接続するため
のローカルデータバスインタフェースであり、159は
ローカルコントロールバス153と接続するためのロー
カルコントロールバスインタフェースである。 <LOAD命令の処理手順>図14は、上記のように構
成されるマルチプロセッサシステムの各ノードにおける
LOAD命令実行の際の制御手順を示したものである。
以下、LOAD命令がプロセッサ10から発行されたも
のとして説明する。なお、破線の矢印は制御がユニット
間で移行することを示している。
157 is a local address bus interface for connecting to the local address bus 151, 158 is a local data bus interface for connecting to the local data bus 152, and 159 is for connecting to the local control bus 153. It is a local control bus interface. <Processing Procedure of LOAD Instruction> FIG. 14 shows a control procedure for executing a LOAD instruction in each node of the multiprocessor system configured as described above.
Hereinafter, it will be described that the LOAD instruction is issued from the processor 10. It should be noted that the broken-line arrow indicates that control is transferred between units.

【0098】図14において、プロセッサ10から発行
されるLOAD命令に対して、アドレスタグ内にLOA
Dすべきアドレスがある場合、すなわちキャッシュ・リ
ードヒットした場合(S1401−YES)、キャッシ
ュユニット11は、プロセッサ10に対してデータブロ
ックを供給する(S1416)。
In FIG. 14, in response to the LOAD instruction issued from the processor 10, the LOAD
If there is an address to be D, that is, if there is a cache read hit (S1401-YES), the cache unit 11 supplies a data block to the processor 10 (S1416).

【0099】また、プロセッサ10から発行されるLO
AD命令に対してキャッシュ・リードミスした場合、キ
ャッシュユニット11は、ローカルバス15に対してリ
ード要求を発行する(S1402)。この場合、キャッ
シュ・リードミスしたデータブロックがキャッシュユニ
ット11に供給されるまで、キャッシュユニット11は
プロセッサ10に対してデータブロックの供給を行わな
い。
Further, the LO issued from the processor 10
When a cache read miss occurs for the AD instruction, the cache unit 11 issues a read request to the local bus 15 (S1402). In this case, the cache unit 11 does not supply the data block to the processor 10 until the cache read missed data block is supplied to the cache unit 11.

【0100】キャッシュユニット11は、ローカルコン
トロールバス153に対してリード要求元情報,及びロ
ーカルアドレスバス151に対して当該リードアクセス
のアドレスを転送し、ローカルコントロールバス153
に対してリード要求を発行し、ローカルデータバス15
2にデータブロックが供給されるまで待つ。
The cache unit 11 transfers the read request source information to the local control bus 153 and the address of the read access to the local address bus 151, and the local control bus 153.
Issue a read request to the local data bus 15
Wait until 2 is supplied with data block.

【0101】(1)キャッシュ・リードミスした場合
で、かつ、当該リードアクセスのアドレス(LOADす
るアドレス)が計算機ノード1内の主記憶ユニット12
に対するリードアクセスである場合(S1403−YE
S)、キャッシュユニットは主記憶ユニットにデータを
要求する(S1411)。この要求に対し、主記憶ユニ
ット12は、リード要求,及び当該リードアクセスのア
ドレスを受け付けてローカルデータバス152にデータ
ブロックを供給する。また、同時に主記憶ユニット12
内のディレクトリユニット122にリード要求元である
キャッシュユニット11に対応したディレクトリフラグ
を登録する(S1412,1413)。このステップ
は、キャッシュユニットでなく主記憶ユニットによる動
作である。
(1) When a cache read miss occurs and the address of the read access (the address to be LOADed) is the main storage unit 12 in the computer node 1.
Read access to (S1403-YE
S), the cache unit requests data from the main storage unit (S1411). In response to this request, the main memory unit 12 receives the read request and the address of the read access, and supplies the data block to the local data bus 152. At the same time, the main memory unit 12
A directory flag corresponding to the cache unit 11 which is the read request source is registered in the directory unit 122 therein (S1412, 1413). This step is an operation by the main memory unit, not the cache unit.

【0102】キャッシュユニット11は、主記憶ユニッ
トからデータを受けると、リプレース処理を行ってキャ
ッシュに使用可能な領域をつくった後(S1414)、
ローカルデータバス152に供給されたデータブロック
をキャッシュユニット11内の当該データブロックのエ
ントリに書き込む(S1415)。
When the cache unit 11 receives data from the main storage unit, it performs a replacement process to create a usable area in the cache (S1414),
The data block supplied to the local data bus 152 is written in the entry of the data block in the cache unit 11 (S1415).

【0103】(2)キャッシュ・リードミスした場合
で、かつ、当該リードアクセスのアドレスが計算機ノー
ド1外の主記憶ユニット(例えば主記憶ユニット22)
に対するリードアクセスである場合(S1403−N
O)、キャッシュユニットはグローバルバスにデータ要
求を発行する(S1404)。これを受けて、ノード間
インタフェース13は、リード要求、及び当該リードア
クセスのアドレスを受け付けてグローバルコントロール
バス43に対してリード要求元情報、及びグローバルア
ドレスバス41に対して当該リードアクセスのアドレス
を転送し、リモートノードのノード間インタフェース2
3に対してリード要求を発行し、グローバルデータバス
42にデータブロックが供給されるまで待つ。
(2) When a cache read miss occurs and the address of the read access is a main memory unit outside the computer node 1 (for example, main memory unit 22)
If the read access is to (S1403-N
O), the cache unit issues a data request to the global bus (S1404). In response to this, the inter-node interface 13 accepts the read request and the address of the read access and transfers the read request source information to the global control bus 43 and the address of the read access to the global address bus 41. And the internode interface 2 of the remote node
A read request is issued to No. 3, and waits until a data block is supplied to the global data bus 42.

【0104】ノード間インタフェース23は、リード要
求、及び当該リードアクセスのアドレスを受け付けてロ
ーカルコントロールバス253にに対してリード要求元
情報,及びローカルアドレスバス251に対して当該リ
ードアクセスのアドレスを転送し、ローカルコントロー
ルバス253に対してリード要求を発行し、ローカルデ
ータバス252にデータブロックが供給されるまで待
つ。このようにしてリモートノードの主記憶ユニットに
データ要求が行われる(S1405)。
The inter-node interface 23 receives the read request and the address of the read access and transfers the read request source information to the local control bus 253 and the address of the read access to the local address bus 251. , Issues a read request to the local control bus 253, and waits until a data block is supplied to the local data bus 252. In this way, a data request is made to the main storage unit of the remote node (S1405).

【0105】主記憶ユニット22は、リード要求,及び
当該リードアクセスのアドレスを受け付けてローカルデ
ータバス252にデータブロックを供給する。また、同
時に主記憶ユニット22内のディレクトリユニット22
2にリード要求元であるキャッシュユニット21に対応
したディレクトリフラグを登録する(S1406)。
The main memory unit 22 receives the read request and the address of the read access and supplies a data block to the local data bus 252. At the same time, the directory unit 22 in the main memory unit 22
A directory flag corresponding to the cache unit 21 that is the read request source is registered in 2 (S1406).

【0106】ノード間インタフェース23は、ローカル
データバス152に供給されたデータブロックをグロー
バルデータバス42に転送する(S1407)。
The inter-node interface 23 transfers the data block supplied to the local data bus 152 to the global data bus 42 (S1407).

【0107】ノード間インタフェース13は、グローバ
ルデータバス42に供給されたデータブロックをローカ
ルデータバス152に転送する(S1408)。
The inter-node interface 13 transfers the data block supplied to the global data bus 42 to the local data bus 152 (S1408).

【0108】ステップS1406〜S1408は、キャ
ッシュユニットによる処理ではなく、要求を受けた側の
処理である。
Steps S1406 to S1408 are not the processing by the cache unit but the processing on the side that receives the request.

【0109】キャッシュユニット11は、リプレース処
理により使用可能なデータブロックを確保し(S140
9)、ローカルデータバス152に供給されたデータブ
ロックをキャッシュユニット11内の当該データブロッ
クのエントリに読み込む。
The cache unit 11 secures a usable data block by the replacement process (S140).
9) Read the data block supplied to the local data bus 152 into the entry of the data block in the cache unit 11.

【0110】キャッシュユニット11は、プロセッサ1
0に対してデータブロックを供給する(S1410)。
The cache unit 11 is the processor 1
A data block is supplied to 0 (S1410).

【0111】このようにして、各ノードの主記憶ユニッ
トから所望のデータブロックをロードする。
In this way, the desired data block is loaded from the main memory unit of each node.

【0112】STORE命令実行の際の制御手順は第1
の形態と同様なので説明は省略する。また、同期命令実
行の際の制御手順も第1の形態と同様なので説明は省略
する。 <ライトバック処理の手順>図15は、主記憶へのライ
トバック処理実行の際の制御手順を示したものである。
以下、主記憶へのライトバック処理がキャッシュユニッ
ト11から発行されたものとして説明する。
The control procedure for executing the STORE instruction is the first
The description is omitted because it is the same as that of the above. Further, the control procedure at the time of executing the synchronous command is similar to that of the first embodiment, and therefore the description thereof is omitted. <Procedure of Write Back Process> FIG. 15 shows a control procedure when executing the write back process to the main memory.
Hereinafter, it is assumed that the write-back process to the main memory is issued from the cache unit 11.

【0113】図15において、キャッシュユニット11
は、ローカルコントロールバス153に対してライトバ
ック要求元情報、及びローカルアドレスバス151に対
して当該ライトバックアクセスのアドレスを転送し、ロ
ーカルコントロールバス153に対してライトバック要
求を発行し(S1501)、ローカルデータバス152
にライトバックするデータブロックを供給し、ライトバ
ックしたデータブロックが当該主記憶ユニットのエント
リに供給され,必要な一貫性保持動作が完了し,主記憶
へのライトバック処理が完了するまで待つ。
In FIG. 15, the cache unit 11
Transfers the write-back request source information to the local control bus 153 and the write-back access address to the local address bus 151, and issues a write-back request to the local control bus 153 (S1501). Local data bus 152
The data block to be written back to is supplied to the entry of the main memory unit concerned, the necessary consistency holding operation is completed, and the write-back processing to the main memory is completed.

【0114】(1)当該主記憶へのライトバック処理の
アドレスが計算機ノード1内の主記憶ユニット12に対
するライトバックアクセスである場合(S1502−Y
ES)、ローカルノードの主記憶ユニットに対してライ
トバック要求を発行する(S1510)。
(1) When the address of the write-back processing to the main memory is a write-back access to the main memory unit 12 in the computer node 1 (S1502-Y)
ES), and issues a write back request to the main storage unit of the local node (S1510).

【0115】主記憶ユニット12は、リード要求、及び
当該ライトバックアクセスのアドレス及びローカルデー
タバス152に供給されているデータブロックを受け付
けて主記憶ユニット12内のディレクトリユニット12
2を検索し、ライトバック要求元であるキャッシュユニ
ット11以外のディレクトリフラグが登録されているか
調べる(S1511)。キャッシュユニット11以外の
キャッシュユニットにもデータのコピーが有効状態で保
持されている場合は、有効状態で保持しているキャッシ
ュユニットデータブロックに対して一貫性保持動作を実
行する。この場合には、一貫性保持動作としてキャッシ
ュユニットに保有されたデータブロックのコピーを無効
化する処理を実行する(S1513)。
The main memory unit 12 receives the read request, the address of the write-back access and the data block supplied to the local data bus 152, and receives the directory unit 12 in the main memory unit 12.
2 is checked to see if a directory flag other than the cache unit 11 which is the write-back request source is registered (S1511). When a copy of data is also held in the valid state in a cache unit other than the cache unit 11, the coherency holding operation is executed for the cache unit data block held in the valid state. In this case, a process of invalidating the copy of the data block held in the cache unit is executed as the coherency holding operation (S1513).

【0116】本実施例では一貫性保持動作は無効化型の
トランザクションとするが、これは本実施例に制限され
るものではない。
In this embodiment, the consistency holding operation is an invalidation type transaction, but this is not limited to this embodiment.

【0117】一貫性保持動作完了後、主記憶ユニット
は、当該データブロックのエントリにライトバックデー
タを書き込む(S1514)。最後に、キャッシュユニ
ット11に主記憶へのライトバック処理完了を通達する
(S1515)。
After the consistency holding operation is completed, the main memory unit writes the write back data in the entry of the data block (S1514). Finally, the completion of write-back processing to the main memory is notified to the cache unit 11 (S1515).

【0118】(2)当該主記憶へのライトバック処理の
アドレスが計算機ノード1外の主記憶ユニット(例えば
主記憶ユニット22)に対するライトバックアクセスで
ある場合(S1502−NO)、キャッシュユニット1
1はノード間インターフェース13にライトバック要求
を出す。
(2) When the address of the write-back processing to the main memory is a write-back access to the main memory unit (for example, the main memory unit 22) outside the computer node 1 (S1502-NO), the cache unit 1
1 issues a write back request to the inter-node interface 13.

【0119】ノード間インタフェース13は、ライトバ
ック要求,及び当該ライトバックアクセスのアドレス,
ローカルデータバス152に供給されているデータブロ
ックを受け付けてグローバルコントロールバス43に対
してライトバック要求元情報,及びグローバルアドレス
バス41に対して当該ライトバックアクセスのアドレ
ス,グローバルデータバス42に対して当該ライトバッ
クアクセスのデータブロックを転送し、ノード間インタ
フェース23に対してライトバック要求を発行する(S
1503)。
The inter-node interface 13 uses the write-back request and the address of the write-back access,
The data block supplied to the local data bus 152 is accepted, the write-back request source information is sent to the global control bus 43, the write-back access address is sent to the global address bus 41, and the write-back access address is sent to the global data bus 42. A data block for write-back access is transferred, and a write-back request is issued to the inter-node interface 23 (S
1503).

【0120】ノード間インタフェース23は、ライトバ
ック要求、及び当該リードアクセスのアドレスを受け付
けてローカルコントロールバス253に対してライトバ
ック要求元情報,及びローカルアドレスバス251に対
して当該ライトバックアクセスのアドレス,ローカルデ
ータバス252に対して当該ライトバックアクセスのデ
ータブロックを転送し、ローカルコントロールバス25
3に対してライトバック要求を発行する。こうしてリモ
ートノードの主記憶ユニットについてライトバック要求
を発行する(S1504)。
The inter-node interface 23 accepts the write-back request and the address of the read access, and writes the write-back request source information to the local control bus 253 and the address of the write-back access to the local address bus 251. The data block of the write-back access is transferred to the local data bus 252, and the local control bus 25
Issue a write-back request to 3. In this way, the write back request is issued for the main storage unit of the remote node (S1504).

【0121】主記憶ユニット22は、主記憶ユニット2
2内のディレクトリユニット222を検索し、ライトバ
ック要求元であるキャッシュユニット11以外のディレ
クトリフラグが登録されているか調べる(S150
5)。キャッシュユニット11以外のキャッシュユニッ
トにもデータのコピーが有効状態で保持されている場合
は、有効状態で保持しているキャッシュユニットデータ
ブロックに対して一貫性保持動作を実行する。この場合
には、一貫性保持のために有効状態のコピーを無効化す
る。
The main memory unit 22 is the main memory unit 2
2 is searched for a directory flag other than the cache unit 11 which is the source of the write-back request (S150).
5). When a copy of data is also held in the valid state in a cache unit other than the cache unit 11, the coherency holding operation is executed for the cache unit data block held in the valid state. In this case, the copy in the valid state is invalidated for consistency.

【0122】一貫性保持動作完了後、主記憶ユニット2
2は、リード要求、及び当該ライトバックアクセスのア
ドレス及びローカルデータバス252に供給されている
データブロックを受け付けて当該データブロックのエン
トリに書き込む(S1508)。
After the consistency holding operation is completed, the main memory unit 2
2 receives the read request, the address of the write-back access, and the data block supplied to the local data bus 252, and writes it in the entry of the data block (S1508).

【0123】ノード間インタフェース23は、ノード間
インタフェース13に主記憶へのライトバック処理完了
を通達する。
The inter-node interface 23 notifies the inter-node interface 13 of the completion of write-back processing to the main memory.

【0124】ノード間インタフェース13は、キャッシ
ュユニット11に主記憶へのライトバック処理完了を通
達する(S1509)。
The inter-node interface 13 notifies the cache unit 11 of the completion of the write-back processing to the main memory (S1509).

【0125】上記手順のうち、ステップS1501〜S
1503,S1510はキャッシュユニットの処理であ
り、ステップS1504はノード間インターフェースの
処理で、それ以外のステップはライトバック要求を受け
たノードの主記憶による処理である。以上の手順で、デ
ィレクトリを参照して無効化を行い、ライトバックが実
行される。
Of the above procedure, steps S1501 to S1501.
1503 and S1510 are processes of the cache unit, step S1504 is a process of the inter-node interface, and other steps are processes by the main memory of the node that has received the write-back request. With the above procedure, the directory is referenced to invalidate, and write back is executed.

【0126】リプレース処理実行時の制御手順は第1の
実施形態と同様なので説明は省略する。
The control procedure at the time of execution of the replacement process is the same as that of the first embodiment, and therefore its explanation is omitted.

【0127】各メモリトランザクション実行時の状態フ
ラグの状態遷移も第1の実施形態と同様なので説明は省
略する。
The state transition of the state flag at the time of executing each memory transaction is also the same as that of the first embodiment, and the description thereof is omitted.

【0128】本手法による一貫性保持動作の手順の理解
のために、まず同期命令発行時点まで一貫性保持動作が
延期される例を説明し、次にDIRTYブロックの数が
ある既定値以上になった時点で一貫性保持動作が実行さ
れる例を説明する。
In order to understand the procedure of the consistency maintaining operation according to the present method, an example in which the consistency maintaining operation is postponed until the synchronous command is issued will be described first, and then the number of DIRTY blocks will exceed a predetermined value. An example will be described in which the consistency maintaining operation is executed at that time.

【0129】具体的には、例えばプロセッサ10,2
0,30がアドレスf8000000番地に対してLO
AD命令を発行し、それぞれのLOAD命令が完了した
後で、プロセッサ10がアドレスf8000000番地
に対してSTORE命令を発行した場合、STORE命
令発行時点ではキャッシュユニット21,31に対して
一貫性保持動作は発行されず、同期命令がプロセッサ1
0から発行された場合に、一貫性保持動作が発行される
ことをどのようにして実現するかを図16を参考にして
説明し、また、同様にプロセッサ10,20,30がア
ドレスf8000000番地に対してLOAD命令を発
行し、プロセッサ10がアドレスf8000000番地
に対してSTORE命令を発行した場合、STORE命
令発行時点ではノード間インタフェース13がキャッシ
ュユニット21,31に対して一貫性保持動作を発行せ
ず、DIRTYブロックの数がある既定値(この例では
2)以上になった場合に、一貫性保持動作が発行される
ことをノード間インタフェース13,23,33の持つ
機構でどのようにして実現するかを図16を参考にして
説明する。
Specifically, for example, the processors 10 and 2
0 and 30 are LO for the address f8000000
When the processor 10 issues a STORE instruction to the address f8000000 after issuing the AD instruction and completing each LOAD instruction, the coherency holding operation is not performed on the cache units 21 and 31 at the time of issuing the STORE instruction. Synchronous instructions not issued and processor 1
It will be described with reference to FIG. 16 how to realize that the consistency holding operation is issued when issued from 0. Similarly, the processors 10, 20, and 30 are set to the address f8000000. If the LOAD instruction is issued to the processor 10 and the STORE instruction is issued to the address f8000000, the inter-node interface 13 does not issue the coherency holding operation to the cache units 21 and 31 at the time of issuing the STORE instruction. , When the number of DIRTY blocks exceeds a predetermined value (2 in this example), how to implement the coherency maintaining operation is realized by the mechanism possessed by the inter-node interfaces 13, 23, 33. This will be described with reference to FIG.

【0130】図16は、本実施例の一貫性保持動作の一
例を示すタイミングチャート図である。アドレスf80
00000番地が計算機ノード1内の主記憶ユニット1
2に割り当てられているものとして説明する。
FIG. 16 is a timing chart showing an example of the consistency maintaining operation of this embodiment. Address f80
Main storage unit 1 in computer node 1 at address 00000
It will be described as being assigned to 2.

【0131】時刻1では、プロセッサ10,20,30
がアドレスf8000000番地に対してそれぞれLO
AD命令を発行し、それぞれが主記憶ユニット12から
ロードを完了している。このとき、アドレスf8000
000番地に対応するディレクトリフラグには、そのコ
ピーを保有するノードとしてキャッシュユニット11,
21,31が登録されている。
At time 1, the processors 10, 20, 30
Are LO for the address f8000000.
An AD instruction has been issued, and each has completed loading from the main memory unit 12. At this time, the address f8000
In the directory flag corresponding to address 000, the cache unit 11, which is the node holding the copy,
21 and 31 are registered.

【0132】時刻2では、プロセッサ10がアドレスf
8000000番地に対してSTORE命令を発行し、
STORE命令が完了している。このとき、一貫性保持
動作は発生しない。キャッシュ11内の状態フラグ11
3はプロセッサ10の発行したSTORE命令の結果、
その状態はDIRTYに変更されている。また、状態フ
ラグカウンタ117をインクリメントする。
At time 2, the processor 10 sends the address f
Issue a STORE command to the address 8000000,
The STORE command has been completed. At this time, the consistency maintaining operation does not occur. State flag 11 in cache 11
3 is the result of the STORE instruction issued by the processor 10,
The state has been changed to DIRTY. Further, the status flag counter 117 is incremented.

【0133】時刻3では、プロセッサ10が同期命令を
発行している。
At time 3, the processor 10 issues a synchronization instruction.

【0134】時刻4では、時刻3で発行されたプロセッ
サ10の同期命令により、キャッシュ11内にDIRT
Yで保持されているアドレスf8000000番地の主
記憶へのライトバック処理が生じている。
At time 4, the DIRT is stored in the cache 11 by the synchronization instruction of the processor 10 issued at time 3.
A write back process to the main memory at the address f8000000 held in Y occurs.

【0135】時刻5では、時刻4で生じたアドレスf8
000000番地の主記憶へのライトバック処理により
一貫性保持動作が生じている。
At time 5, the address f8 generated at time 4
A write-back process to the main memory at address 000000 causes a consistency holding operation.

【0136】時刻6では、時刻5で生じた一貫性保持動
作により、キャッシュユニット21,31が無効化され
ている。
At time 6, the cache units 21 and 31 are invalidated due to the consistency holding operation that occurred at time 5.

【0137】時刻7では、一貫性保持動作の完了を受け
付けて、主記憶へのライトバック処理が完了したキャッ
シュユニット11はプロセッサ10に同期命令の完了を
通達し、時刻3で発行された同期命令が完了している。
At time 7, the cache unit 11 which has accepted the completion of the coherency holding operation and completed the write-back processing to the main memory notifies the processor 10 of the completion of the synchronization instruction, and the synchronization instruction issued at time 3 is issued. Has been completed.

【0138】このように、いずれのキャッシュユニット
にも、所定のしきい値(この場合は2)以上のDIRT
Y状態のデータブロックが、予め定められた同期時期
(同期命令の発せられる時期)までに発生しないため、
同期命令によってライトバック及び一貫性保持動作(無
効化処理)が初めて行われる。
Thus, any cache unit has a DIRT equal to or higher than a predetermined threshold value (2 in this case).
Since the data block in the Y state does not occur by the predetermined synchronization time (time when the synchronization command is issued),
The write back and the consistency maintaining operation (invalidation processing) are performed for the first time by the synchronization instruction.

【0139】図17は、DIRTY状態のデータブロッ
ク数をトリガとして一貫性保持動作を起動する一例を示
すタイミングチャート図である。
FIG. 17 is a timing chart showing an example of activating the consistency maintaining operation triggered by the number of data blocks in the DIRTY state.

【0140】アドレスf8000000番地,及びアド
レスf8000001番地が計算機ノード1内の主記憶
ユニット12に割り当てられているものとして説明す
る。
It is assumed that the address f8000000 and the address f8000001 are assigned to the main storage unit 12 in the computer node 1.

【0141】時刻1では、プロセッサ10,20がアド
レスf8000000番地に対してLOAD命令を発行
し、それぞれが主記憶ユニット12からリードを完了し
ている。このとき、アドレスf8000000番地に対
応するディレクトリフラグにはキャッシュユニット1
1,21が登録されている。
At time 1, the processors 10 and 20 issue a LOAD instruction to the address f8000000, and the respective processors have completed reading from the main memory unit 12. At this time, the cache unit 1 is set in the directory flag corresponding to the address f8000000.
1, 21 are registered.

【0142】時刻2では、プロセッサ10がアドレスf
8000000番地に対してSTORE命令を発行し、
STORE命令が完了している。このとき、一貫性保持
動作は発生しない。キャッシュ11内の状態フラグ11
3はプロセッサ10の発行したSTORE命令の結果、
DIRTYに変更されている。また、状態フラグカウン
タ117をインクリメントする。
At time 2, the processor 10 sends the address f
Issue a STORE command to the address 8000000,
The STORE command has been completed. At this time, the consistency maintaining operation does not occur. State flag 11 in cache 11
3 is the result of the STORE instruction issued by the processor 10,
It has been changed to DIRTY. Further, the status flag counter 117 is incremented.

【0143】時刻3では、プロセッサ30がアドレスf
8000000番地に対してLOAD命令を発行し、L
OAD命令を完了している。このときも、キャッシュユ
ニット31は主記憶ユニット12からデータブロックを
リードするだけで一貫性保持動作は発生しない。LOA
D命令の結果、アドレスf8000000番地に対応す
るディレクトリフラグにはキャッシュユニット11,2
1,31が登録されている。
At time 3, the processor 30 sets the address f
Issue a LOAD command to the address 8000000, and
The OAD instruction has been completed. Also at this time, the cache unit 31 only reads the data block from the main memory unit 12, and the coherency holding operation does not occur. LOA
As a result of the D instruction, the cache unit 11 or 2 is added to the directory flag corresponding to the address f8000000.
1, 31 are registered.

【0144】時刻4では、プロセッサ10がアドレスf
8000001番地に対してSTORE命令を発行し、
STORE命令が完了している。状態フラグカウンタ1
17をインクリメントするとDIRTYブロックの数が
既定値である2以上になったので、主記憶へのライトバ
ック処理が生じている。
At time 4, the processor 10 sends the address f
Issue a STORE command to 8000001
The STORE command has been completed. Status flag counter 1
When 17 is incremented, the number of DIRTY blocks becomes 2 or more, which is the default value, so that the write-back process to the main memory occurs.

【0145】時刻5では、時刻4で生じたアドレスf8
000000番地の主記憶へのライトバック処理により
一貫性保持動作が生じている。
At time 5, the address f8 generated at time 4
A write-back process to the main memory at address 000000 causes a consistency holding operation.

【0146】時刻6では、時刻5で生じた一貫性保持動
作により、キャッシュユニット21,31が無効化され
ている。
At time 6, the cache units 21 and 31 are invalidated by the coherency holding operation that occurred at time 5.

【0147】時刻7では、アドレスf8000001番
地の主記憶へのライトバック処理が生じている。
At time 7, write-back processing to the main memory at address f8000001 occurs.

【0148】時刻8では、アドレスf8000001番
地の主記憶へのライトバック処理が完了している 以上のようにして、キャッシュ内のDIRTYなデータ
ブロックの数が予め定めておいた数以上となった場合
に、キャッシュ内のDIRTYブロックを主記憶にライ
トバック(及び一貫性保持処理)してしまうことで、次
の同期時期にライトバック及び一貫性保持処理を行うべ
きブロック数を予め設定した上限以下に抑制することが
できる。例えば、本例では、N個のノードからなるシス
テムで1ノードについてbブロック以上のDIRTYブ
ロックが発生したところでライトバックを行うとすれ
ば、同期命令によって一時にまとめてライトバック及び
同期保持処理が行われる対象となるデータブロック数
は、N×bを越えることはない。
At time 8, the write-back processing to the main memory at the address f8000001 is completed, and as described above, when the number of DIRTY data blocks in the cache exceeds the predetermined number. In addition, by writing back the DIRTY block in the cache to the main memory (and the consistency holding processing), the number of blocks to be written back and the consistency holding processing at the next synchronization time becomes less than the preset upper limit. Can be suppressed. For example, in the present example, in a system consisting of N nodes, if writeback is performed when b blocks or more DIRTY blocks occur for one node, writeback and synchronization holding processing are performed at once by a synchronization command. The number of data blocks to be covered does not exceed N × b.

【0149】このように、キャッシュ・メモリ及びキャ
ッシュ・メモリの一貫性保持動作機構を提供し、同期ポ
イント時点に集中する相互結合網上のトラフィックを分
散させることで、相互結合網の利用効率低下,及び同期
動作に伴う処理のオーバーヘッドを軽減することができ
る。
As described above, by providing the cache memory and the coherency maintaining operation mechanism of the cache memory and distributing the traffic on the interconnection network concentrated at the synchronization point, the utilization efficiency of the interconnection network is reduced. Also, the processing overhead associated with the synchronous operation can be reduced.

【0150】また、本発明は、システム或は装置にプロ
グラムを供給することによって達成される場合にも適用
できることはいうまでもない。この場合、本発明を達成
するためのソフトウェアによって表されるプログラムを
格納した記憶媒体から、該プログラムを該システム或は
装置に読み出すことによって、そのシステム或は装置
が、本発明の効果を享受することが可能となる。
It goes without saying that the present invention can also be applied to the case where it is achieved by supplying a program to a system or an apparatus. In this case, the system or device enjoys the effects of the present invention by reading the program into the system or device from a storage medium storing a program represented by software for achieving the present invention. It becomes possible.

【0151】[0151]

【発明の効果】以上説明したように、本発明によれば、
緩いメモリ・コンシステンシ・モデルを採用し、相互結
合網で互いに結合された並列計算機システムにおいて、
その性能をより向上させるためのキャッシュ・メモリ及
びキャッシュ・メモリの一貫性保持動作機構を提供し、
同期ポイント時点に集中する相互結合網上のトラフィッ
クを分散させることで、相互結合網の利用効率低下,及
び同期動作に伴う処理のオーバーヘッドを軽減すること
が可能であり、システム全体の処理能力を向上させると
いう効果がある。
As described above, according to the present invention,
In a parallel computer system that employs a loose memory consistency model and is connected to each other by an interconnection network,
Providing a cache memory and a coherency retention operation mechanism for the cache memory to further improve its performance,
By distributing the traffic on the interconnection network that concentrates at the synchronization point, it is possible to reduce the utilization efficiency of the interconnection network and reduce the processing overhead associated with the synchronization operation, improving the processing capacity of the entire system. It has the effect of

【0152】[0152]

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

【図1】第1の実施形態の情報処理システムの構成を示
す図である。
FIG. 1 is a diagram showing a configuration of an information processing system according to a first embodiment.

【図2】第1及び第2の実施形態のキャッシュユニット
の構成を示す図である。
FIG. 2 is a diagram showing a configuration of a cache unit of the first and second embodiments.

【図3】第1の実施形態においてキャッシュユニットが
LOAD命令命令実行時に行う処理のチャートである。
FIG. 3 is a chart of processing performed by a cache unit when a LOAD instruction is executed in the first embodiment.

【図4】第1及び第2の実施形態においてキャッュユニ
ットがSTORE命令命令実行時に行う処理のチャート
である。
FIG. 4 is a chart of processing performed by a cache unit when a STORE instruction is executed in the first and second embodiments.

【図5】第1及び第2の実施形態においてキャッシュユ
ニットが同期命令実行時に行う処理のチャートである。
FIG. 5 is a chart of processing performed by a cache unit when executing a synchronous instruction in the first and second embodiments.

【図6】第1の実施形態において主記憶へのライトバッ
ク処理実施時のチャートである。
FIG. 6 is a chart at the time of performing a write-back process to a main memory in the first embodiment.

【図7】第1の実施形態においてデータブロックの置換
時に行う処理のチャートである。
FIG. 7 is a chart of a process performed when replacing a data block in the first embodiment.

【図8】第1及び第2の実施形態の状態フラグの状態遷
移図である。
FIG. 8 is a state transition diagram of state flags of the first and second embodiments.

【図9】第1の実施形態において同期命令発行時点まで
一貫性保持動作が延期される例を示すチャートである。
FIG. 9 is a chart showing an example in which the consistency holding operation is postponed until the time when a synchronous instruction is issued in the first embodiment.

【図10】第1の実施形態においてDIRTYブロック
の数がある既定値以上になる時点まで一貫性保持動作が
延期される例を示すチャートである。
FIG. 10 is a chart showing an example in which the consistency maintaining operation is postponed until the number of DIRTY blocks exceeds a predetermined value in the first embodiment.

【図11】第2の実施形態の情報処理システムの構成を
示す図である。
FIG. 11 is a diagram showing a configuration of an information processing system according to a second embodiment.

【図12】第2の実施形態の計算機ノードの構成を示す
図である。
FIG. 12 is a diagram showing a configuration of a computer node according to the second embodiment.

【図13】第2の実施形態の主記憶ユニットの構成を示
す図である。
FIG. 13 is a diagram showing a configuration of a main memory unit of the second embodiment.

【図14】第2の実施形態においてキャッシュユニット
がLOAD命令命令実行時に行う処理のチャートであ
る。
FIG. 14 is a chart of processing performed by a cache unit when a LOAD instruction is executed in the second embodiment.

【図15】第2の実施形態において主記憶へのライトバ
ック処理時に行う処理のチャートである。
FIG. 15 is a chart of processing performed at the time of write-back processing to the main memory in the second embodiment.

【図16】第2の実施形態の同期命令発行時点まで一貫
性保持動作が延期される例を示すチャートである。
FIG. 16 is a chart showing an example in which the consistency holding operation is postponed until the synchronous command issuance time according to the second embodiment.

【図17】第2の実施形態のDIRTYブロックの数が
ある既定値以上になる時点まで一貫性保持動作が延期さ
れる例を示すチャートである。
FIG. 17 is a chart showing an example in which the consistency maintaining operation is postponed until the number of DIRTY blocks according to the second embodiment exceeds a predetermined value.

【図18】第1の実施形態を実現するためのプログラム
モジュールが記憶媒体に記録されるメモリマップを示す
図である。
FIG. 18 is a diagram showing a memory map in which program modules for realizing the first embodiment are recorded in a storage medium.

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

1,2,3 計算機ノード 4 グローバルバス 5 グローバルバスアービタ 10,20,30 プロセッサ 11,21,31キャッシュユニット 12,22,32 主記憶ユニット 13,23,33 ノード間インタフェース 14,24,34 プロセッサバス 15,25,35 ローカルバス 16 バスアービタ 41 グローバルアドレスバス 42 グローバルデータバス 43 グローバルコントロールバス 44 グローバルアドレスバスインタフェース 45 グローバルデータバスインタフェース 46 グローバルコントロールバスインタフェース 111 キャッシュ制御シーケンサ 112 アドレスタグ 113 状態フラグ 114 データエントリ 115 比較器 116 選択器 117 状態フラグカウンタ 121 主記憶制御シーケンサ 122,222,322 ディレクトリユニット 123,223,323 メモリ 124,224,324 ディレクトリフラグ 144,244,344 プロセッサアドレスバスイン
タフェース 145,245,345 プロセッサデータバスインタ
フェース 146,246,346 プロセッサコントロールバス
インタフェース 154,254,354,157 ローカルアドレスバ
スインタフェース 155,255,355,158 ローカルデータバス
インタフェース 156,256,356,159 ローカルコントロー
ルバスインタフェース 141,241,341 プロセッサアドレスバス 142,242,342 プロセッサデータバス 143,243,343 プロセッサコントロールバス 153,253,353 ローカルコントロールバス 151,251,351 ローカルアドレスバス 152,252,352 ローカルデータバス
1, 2, 3 Computer node 4 Global bus 5 Global bus arbiter 10, 20, 30 Processor 11, 21, 31 Cache unit 12, 22, 32 Main memory unit 13, 23, 33 Inter-node interface 14, 24, 34 Processor bus 15, 25, 35 Local Bus 16 Bus Arbiter 41 Global Address Bus 42 Global Data Bus 43 Global Control Bus 44 Global Address Bus Interface 45 Global Data Bus Interface 46 Global Control Bus Interface 111 Cache Control Sequencer 112 Address Tag 113 Status Flag 114 Data Entry 115 Comparator 116 Selector 117 Status flag counter 121 Main memory control sequencer 122, 2 2,322 directory unit 123,223,323 memory 124,224,324 directory flag 144,244,344 processor address bus interface 145,245,345 processor data bus interface 146,246,346 processor control bus interface 154,254,354 , 157 Local address bus interface 155, 255, 355, 158 Local data bus interface 156, 256, 356, 159 Local control bus interface 141, 241 and 341 Processor address bus 142, 242 and 342 Processor data bus 143, 243 and 343 Processor Control bus 153, 253, 353 Local control bus 51,251,351 local address bus 152,252,352 local data bus

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサとそれぞれに付随する
キャッシュ・メモリと、主メモリ、及びキャッシュ・メ
モリと主メモリとを相互に接続する結合網を含む情報処
理システムにおいて、 各プロセッサの処理が予め定めた段階に達した場合、当
該プロセッサに付随するキャッシュ・メモリ中に存在す
るデータ・ブロックを主メモリに反映し、当該データ・
ブロックの内容の一貫性を保持する一貫性保持処理を実
行することを特徴とする情報処理システム。
1. In an information processing system including a plurality of processors, a cache memory associated with each of them, a main memory, and a connection network interconnecting the cache memory and the main memory, the processing of each processor is predetermined. When reaching the stage, the data block existing in the cache memory attached to the processor is reflected in the main memory,
An information processing system characterized by executing a consistency maintaining process for maintaining consistency of block contents.
【請求項2】 前記プロセッサによる処理が前記予め定
めた段階に達する以前において、キャッシュ・メモリ中
に存在するデータ・ブロックが所定の条件を満たした場
合には、当該キャッシュ・メモリ中に存在するデータ・
ブロックを主メモリに反映し、当該データ・ブロックの
内容の一貫性を保持する一貫性保持処理を実行すること
を特徴とする請求項1記載の情報処理システム。
2. Data existing in the cache memory, if a data block existing in the cache memory satisfies a predetermined condition before the processing by the processor reaches the predetermined stage.・
2. The information processing system according to claim 1, wherein the block is reflected in the main memory, and a consistency maintaining process is executed to maintain the consistency of the contents of the data block.
【請求項3】 前記所定の条件は、その内容が主メモリ
に反映されていないデータ・ブロックの数を、予め指定
した値と比較することによって判定することを特徴とす
る請求項2記載の情報処理システム。
3. The information according to claim 2, wherein the predetermined condition is determined by comparing the number of data blocks whose contents are not reflected in the main memory with a predetermined value. Processing system.
【請求項4】 前記所定の条件は、前記プロセッサが行
ったデータの書き込みの回数を、予め指定した値と比較
することによって判定することを特徴とする請求項2記
載の情報処理システム。
4. The information processing system according to claim 2, wherein the predetermined condition is determined by comparing the number of times data is written by the processor with a predetermined value.
【請求項5】 前記情報処理システムは緩いメモリ・コ
ンシステンシ・モデルであることを特徴とする請求項1
乃至4のいずれかに記載の情報処理システム。
5. The information processing system is a loose memory consistency model.
5. The information processing system according to any one of 4 to 4.
【請求項6】 前記一貫性保持処理は、ひとつのキャッ
シュ・メモリから主メモリに反映したデータ・ブロック
の、前記キャッシュ・メモリ以外のキャッシュ・メモリ
に保持される複製を無効化する処理であることを特徴と
する請求項1乃至5に記載の情報処理システム。
6. The coherency maintaining process is a process of invalidating a copy of a data block reflected in a main memory from one cache memory and retained in a cache memory other than the cache memory. The information processing system according to claim 1, wherein:
【請求項7】 前記主メモリは、前記複数のプロセッサ
それぞれと接続されており、プロセッサの1に付随する
キャッシュ・メモリは、他のプロセッサのキャッシュ・
メモリから、そこに格納されたデータ・ブロックを主メ
モリに反映する処理が行われたことを前記バスを介して
検知し、当該キャッシュ・メモリに格納されている該当
するデータブロックの複製を無効化することで前記一貫
性保持処理を実行することを特徴とする請求項6に記載
の情報処理システム。
7. The main memory is connected to each of the plurality of processors, and a cache memory attached to one of the processors is a cache memory of another processor.
Detects from the memory that the process of reflecting the data block stored in it to the main memory has been performed and invalidates the duplication of the corresponding data block stored in the cache memory. The information processing system according to claim 6, wherein the consistency holding process is executed by performing the process.
【請求項8】 前記主メモリは、前記複数のプロセッサ
ごとに分散して接続されており、前記主メモリは、その
内容とするデータ・ブロックがキャッシュ・メモリに複
製されるごとに、その複製先を記録し、前記複数のプロ
セッサの1のキャッシュ・メモリからそこに格納された
データ・ブロックを主メモリに反映する処理が行われた
場合に、前記複製先の記録に基づいて該当するデータブ
ロックの複製を無効化することで前記一貫性保持処理を
実行することを特徴とする請求項6に記載の情報処理シ
ステム。
8. The main memory is connected to each of the plurality of processors in a distributed manner, and the main memory is copied to a cache memory every time a data block whose content is to be copied is copied to a cache memory. Is recorded and a process of reflecting the data block stored therein from the cache memory of one of the plurality of processors to the main memory is performed, the corresponding data block of the corresponding data block is recorded based on the record of the copy destination. The information processing system according to claim 6, wherein the consistency holding process is executed by invalidating the copy.
【請求項9】 複数の情報処理手段を接続して成り、記
憶手段から、各情報処理手段に付随するキャッシュ手段
にデータを複製して前記記憶手段の内容を前記複数の情
報処理手段で共有する情報処理システムにおいて、所定
の段階においてキャッシュ手段の内容を一斉に記憶手段
に書き戻す情報処理方法であって、 前記記憶手段に記憶された、所望のデータブロックをキ
ャッシュ手段に読み込む読込み工程と、 前記読込み工程によりキャッシュ手段に読み込まれたデ
ータブロックを更新するキャッシュ更新工程と、 前記キャッシュ更新工程により更新されたデータブロッ
ク数を計数する計数工程と、 前記計数工程により計数されたデータブロック数と所定
値とを比較して、その比較結果に基づいて前記更新され
たデータブロックを、前記記憶手段に書き戻す書き戻し
工程とを備えることを特徴とする情報処理方法。
9. A plurality of information processing means are connected to each other, data is copied from a storage means to a cache means attached to each information processing means, and the contents of the storage means are shared by the plurality of information processing means. In the information processing system, there is provided an information processing method of simultaneously writing back the contents of the cache means to the storage means at a predetermined stage, the reading step of reading a desired data block stored in the storage means into the cache means, A cache updating step of updating the data blocks read in the cache means by the reading step, a counting step of counting the number of data blocks updated by the cache updating step, a number of data blocks counted by the counting step and a predetermined value And the updated data block based on the comparison result. The information processing method characterized by comprising the steps writeback written back to the means.
【請求項10】 書き戻されたキャッシュ手段以外のキ
ャッシュ手段により前記書き戻し工程によるデータブロ
ックの記憶手段への書き戻しを検知して、前記キャッシ
ュ手段に保持された、書き戻しの対象となったデータブ
ロックの複製を無効化する工程を更に備えることを特徴
とする請求項9に記載の情報処理方法。
10. A cache means other than the cache means that has been written back detects the write-back of the data block to the storage means by the write-back process, and is the object of write-back held in the cache means. The information processing method according to claim 9, further comprising the step of invalidating the duplication of the data block.
【請求項11】 前記読出し工程により主記憶手段から
キャッシュ手段に読み出されたデータブロックごとに、
読出された先を記録する記録工程と、前記書き戻し工程
により主記憶にデータブロックが書き戻された場合、当
該データブロックについて前記記録工程により記録され
た読出し先のキャッシュ手段に格納されたデータブロッ
クの複製を無効化する工程を更に備えることを特徴とす
る請求項9に記載の情報処理方法。
11. For each data block read from the main storage means to the cache means in the reading step,
When a data block is written back to the main memory by the recording step of recording the read destination and the write back step, the data block stored in the cache means of the read destination recorded by the recording step for the data block. The information processing method according to claim 9, further comprising the step of invalidating the duplication of the.
【請求項12】 複数台接続された、メモリ媒体から所
定のプログラムを読み込んで制御する複数のコンピュー
タ制御装置であって、 前記記憶手段に記憶された、所望のデータブロックをキ
ャッシュ手段に読み込む読込み工程のモジュールと、 前記読込み工程によりキャッシュ手段に読み込まれたデ
ータブロックを更新するキャッシュ更新工程のモジュー
ルと、 前記キャッシュ更新工程により更新されたデータブロッ
ク数を計数する計数工程のモジュールと、 前記計数工程により計数されたデータブロック数と所定
値とを比較して、その比較結果に基づいて前記更新され
たデータブロックを、前記記憶手段に書き戻す書き戻し
工程のモジュールと、 キャッシュ手段の有する、更新されたデータブロックを
一斉に記憶手段に書き戻す一斉書き戻し工程のモジュー
ルとを備えることを特徴とするコンピュータ制御装置。
12. A plurality of computer control devices, which are connected to a plurality of devices and read a predetermined program from a memory medium to control the program, and read a desired data block stored in the storage means into a cache means. A module of a cache updating step of updating the data block read in the cache means by the reading step, a module of a counting step of counting the number of data blocks updated by the cache updating step, and a counting step of The number of data blocks counted is compared with a predetermined value, and based on the comparison result, the updated data block is written back to the storage means. Batch writing back all data blocks to storage means Computer controller, characterized in that it comprises a module step was.
JP7213373A 1995-08-22 1995-08-22 Method and system for information processing Withdrawn JPH0962577A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7213373A JPH0962577A (en) 1995-08-22 1995-08-22 Method and system for information processing
US08/699,105 US5860110A (en) 1995-08-22 1996-08-16 Conference maintenance method for cache memories in multi-processor system triggered by a predetermined synchronization point and a predetermined condition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7213373A JPH0962577A (en) 1995-08-22 1995-08-22 Method and system for information processing

Publications (1)

Publication Number Publication Date
JPH0962577A true JPH0962577A (en) 1997-03-07

Family

ID=16638121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7213373A Withdrawn JPH0962577A (en) 1995-08-22 1995-08-22 Method and system for information processing

Country Status (1)

Country Link
JP (1) JPH0962577A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140362A (en) * 2008-12-12 2010-06-24 Nec Corp Distributed cache system, method and program, and calculation node
JP2021505994A (en) * 2017-12-05 2021-02-18 エイアールエム リミテッド Equipment and methods for handling write operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140362A (en) * 2008-12-12 2010-06-24 Nec Corp Distributed cache system, method and program, and calculation node
JP2021505994A (en) * 2017-12-05 2021-02-18 エイアールエム リミテッド Equipment and methods for handling write operations

Similar Documents

Publication Publication Date Title
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
US5434993A (en) Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
JP2540517B2 (en) Hierarchical cache memory device and method
JP2662603B2 (en) Method and apparatus for filtering invalidation requests
US5822763A (en) Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
JP5714733B2 (en) Resolving cache conflicts
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
CN104106061B (en) Multi-processor data process system and method therein, cache memory and processing unit
US6202132B1 (en) Flexible cache-coherency mechanism
JP2000250812A (en) Memory cache system and managing method therefor
JPH11506852A (en) Reduction of cache snooping overhead in a multi-level cache system having a large number of bus masters and a shared level 2 cache
JP2008525901A (en) Early prediction of write-back of multiple owned cache blocks in a shared memory computer system
JPH0786849B2 (en) Multiprocessor computer system with shared memory and private cache memory
US6898676B2 (en) Computer system supporting both dirty-shared and non-dirty-shared data processing entities
JP2001522092A (en) System and method for providing speculative arbitration for transferring data
US6922755B1 (en) Directory tree multinode computer system
JPH10154100A (en) Information processing system, device and its controlling method
US5611070A (en) Methods and apparatus for performing a write/load cache protocol
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US20140229678A1 (en) Method and apparatus for accelerated shared data migration
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system
CN106201939A (en) Multinuclear catalogue concordance device towards GPDSP framework
JPH07152647A (en) Shared memory multiprocessor
WO1997004392A1 (en) Shared cache memory device
US6895476B2 (en) Retry-based late race resolution mechanism for a computer system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021105