JP3088293B2 - Cache memory storage consistency control device and storage consistency control method - Google Patents

Cache memory storage consistency control device and storage consistency control method

Info

Publication number
JP3088293B2
JP3088293B2 JP08198900A JP19890096A JP3088293B2 JP 3088293 B2 JP3088293 B2 JP 3088293B2 JP 08198900 A JP08198900 A JP 08198900A JP 19890096 A JP19890096 A JP 19890096A JP 3088293 B2 JP3088293 B2 JP 3088293B2
Authority
JP
Japan
Prior art keywords
cache
cache memory
data
memory
write
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.)
Expired - Fee Related
Application number
JP08198900A
Other languages
Japanese (ja)
Other versions
JPH1049441A (en
Inventor
紀彦 炭屋
達彦 松村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP08198900A priority Critical patent/JP3088293B2/en
Publication of JPH1049441A publication Critical patent/JPH1049441A/en
Application granted granted Critical
Publication of JP3088293B2 publication Critical patent/JP3088293B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、それぞれがキャッ
シュメモリを備えた複数のプロセッサから構成されるマ
ルチプロセッサシステムにおけるキャッシュメモリの記
憶一致制御装置及び方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory storage consistency control apparatus and method in a multiprocessor system each including a plurality of processors each having a cache memory.

【0002】[0002]

【従来の技術】従来、この種のキャッシュメモリ制御方
式は、マルチプロセッサシステムにおける各プロセッサ
のキャッシュメモリ間及び主記憶との間のデータ一致を
図りながら共通バスの稼働率を低減しシステムの性能向
上を目的として用いられている。
2. Description of the Related Art Conventionally, this type of cache memory control system reduces the operation rate of a common bus while improving data matching between cache memories and main memories of each processor in a multiprocessor system, thereby improving system performance. It is used for the purpose.

【0003】たとえば、特開平2−226449号公報
に示されるように、主記憶領域をプロセッサ固有の使用
領域と共有領域に分離し、プロセッサからのライトアク
セス要求先が主記憶の共有領域でない場合には、ライト
スルー方式からライトバック方式のキャッシュメモリ制
御に切り換えることにより、主記憶へのライト動作や他
のプロセッサのタグチェックが不必要に発生するのを防
止するようにしている。
For example, as disclosed in Japanese Patent Application Laid-Open No. 2-226449, a main storage area is divided into a processor-specific use area and a shared area, and when a write access request destination from the processor is not the main storage shared area, Switches from write-through cache memory control to write-back cache memory to prevent unnecessary write operations to the main memory and unnecessary tag checks of other processors.

【0004】また、特開平4−291642公報に示さ
れるように、主記憶と接続される共通バスとは別に独立
のキャッシュメモリ専用のバスを設定し、自己のキャッ
シュメモリ上に存在しないデータが他のキャッシュメモ
リ上に存在するときは、キャッシュ専用バスを通じて他
のキャッシュメモリから該当データを読み出すようにし
ている。
Further, as shown in Japanese Patent Application Laid-Open No. Hei 4-291642, an independent bus dedicated to a cache memory is set separately from a common bus connected to a main memory, and data which does not exist in its own cache memory is stored in another bus. , The relevant data is read from another cache memory through a cache dedicated bus.

【0005】[0005]

【発明が解決しようとする課題】上述した従来のキャッ
シュメモリ制御方式では、キャッシュ一致制御を必要と
するプロセッサ間共有領域へのアスセスか否かを判定す
るための動作が全てのメモリアクセスで必要となり、ま
た、自己のキャッシュメモリに存在しないデータが他の
キャッシュメモリに存在するかどうかを確認する動作が
必要となるため、マルチプロセッサシステムのメモリア
クセス動作が、単一プロセッサシステムの場合よりも遅
くなるという第1の問題点がある。
In the conventional cache memory control system described above, an operation for determining whether or not there is an access to the inter-processor shared area that requires the cache coherence control is required for every memory access. In addition, since it is necessary to perform an operation of checking whether or not data that does not exist in its own cache memory exists in another cache memory, the memory access operation of the multiprocessor system is slower than that of the uniprocessor system. There is a first problem.

【0006】さらに、キャッシュ一致制御を必要とする
プロセッサ間共有領域へのメモリアクセスへの場合、全
プロセッサと主記憶を接続する共通バスを使用して他の
キャッシュメモリに使用するデータが存在するかどうか
問い合わせ、また、キャッシュ専用のバスを設けた場合
でも各キャッシュメモリによる他キャッシュメモリへの
データ要求が重なりキャッシュ専用バスの稼働率が高く
なるため、主記憶と各プロセッサを接続する共通バスの
稼働率が高く、メモリアクセスに時間がかかり、接続プ
ロセッサ台数に比例した性能が得られないという第2の
問題点がある。
Further, in the case of memory access to an inter-processor shared area requiring cache coherence control, is there data to be used in another cache memory using a common bus connecting all processors and main memory? Even if a cache-only bus is provided, the data request from each cache memory to another cache memory overlaps and the operation rate of the cache-only bus increases, so the operation of the common bus that connects the main memory and each processor There is a second problem that the rate is high, memory access takes time, and performance in proportion to the number of connected processors cannot be obtained.

【0007】本発明の目的は、非共有データにアクセス
する命令と共有データにアクセスする命令とを分離設定
し、非共有データにアクセスする命令の場合は、キャッ
シュ一致の処理を省くことにより、従来ハードウエアが
独自に全てのメモリアクセスで行っていたキャッシュ一
致判定動作を共有データにアクセスする命令によるメモ
リアクセスのみで行い、通常のメモリアクセス処理の高
速化を図り、また、あるプロセッサで共有データに書き
込みを行う場合に、そのプロセッサ番号と書き込みアド
レスを記録し、共有データの読み出しを行う場合に、記
録されている書き込みアドレスとの間で重なりがあるか
どうかを判定し、重なりがない場合は主記憶からデータ
を読み出し、重なりがある場合は重なりのあったプロセ
ッサ番号のプロセッサに対応するキャッシュメモリ上か
らデータを読み出すことにより、バスを使用した他の全
キャッシュメモリへの問い合わせが無くキャッシュ一致
処理のためのバスの占有使用を押さえ、通常のメモリア
クセスによるバスの使用を妨げず高速化が図られるキャ
ッシュの記憶一致制御装置の記憶一致制御方法を提供す
ることにある。
SUMMARY OF THE INVENTION It is an object of the present invention to separately set an instruction for accessing non-shared data and an instruction for accessing shared data, and to omit a cache matching process for an instruction for accessing non-shared data. The cache match judgment operation, which the hardware independently performed for all memory accesses, is performed only for the memory access by the instruction for accessing the shared data, thereby speeding up the normal memory access processing. When writing, the processor number and write address are recorded.When reading shared data, it is determined whether or not there is an overlap with the recorded write address. Data is read from the memory, and if there is an overlap, the processor number of the overlapped processor number is read. By reading data from the cache memory corresponding to the cache memory, there is no inquiry to all other cache memories that use the bus, suppressing the occupancy of the bus for cache matching processing, and using the bus for normal memory access. It is an object of the present invention to provide a storage consistency control method of a cache storage consistency control device that can achieve high speed without hindrance.

【0008】[0008]

【課題を解決するための手段】本発明の装置は、各々が
キャッシュメモリを有する複数のプロセッサと、該プロ
セッサによって共有される主記憶を備えるマルチプロセ
ッサシステムにおけるキャッシュメモリの記憶一致制御
装置において、前記キャッシュメモリが全て接続された
記憶制御ユニットを備え、該記憶制御ユニットは、キャ
ッシュ同期書き込みリクエスト単位に、書き込みプロセ
ッサ番号と書き込みアクセスアドレスを保持し削減追加
する機構と、キャッシュ同期読み出し時に、前記保持さ
れた書き込みアクセスアドレスと同期読み出しアドレス
の重なりからキャッシュ一致処理の要不要を判定する一
致処理判定機構と、該一致処理判定結果に応答して、該
書き込みプロセッサ番号からキャッシュ同期読みだしの
データの読み出し元キャッシュメモリを決定し読み出し
プロセッサ上のキャッシュメモリにデータをコピーする
キャッシュメモリ制御機構を有することを特徴とする。
According to the present invention, there is provided a memory coherence control apparatus for a cache memory in a multiprocessor system including a plurality of processors each having a cache memory and a main memory shared by the processors. A storage control unit to which all the cache memories are connected, wherein the storage control unit holds and reduces and adds a write processor number and a write access address in units of a cache synchronous write request; A match processing determining mechanism for determining whether cache matching processing is necessary or not based on the overlap between the write access address and the synchronous read address, and reading cache synchronous read data from the write processor number in response to the match processing determination result Characterized by having a cache memory controller to copy the data into the cache memory on the read processor determines the cache memory.

【0009】本発明の方法は、各々がキャッシュメモリ
を有する複数のプロセッサと、該プロセッサによって共
有される主記憶を備えるマルチプロセッサシステムであ
って、該キャッシュメモリが全て接続されたキャッシュ
メモリ記憶一致制御機構を設けたシステムにおけるキャ
ッシュメモリ記憶一致制御方法において、前記複数のプ
ロセッサで共有するデータの更新を行うためプロセッサ
がキャッシュ同期書き込み命令を実行する際に、キャシ
ュメモリを通じて送出するリクエストに対し、キャッシ
ュメモリ記憶一致制御機構はキャッシュ同期書き込みを
行うプロセッサ番号と書き込みアクセスアドレスを一組
として登録保持し、いずれかのプロセッサで実行される
キャッシュ同期書き込み命令による前記キャッシュメモ
リからのリクエストに対しキャッシュ同期書き込みのア
クセスアドレスと一致した登録済み該書き込みアクセス
アドレスと登録済みプロセッサ番号を削除し、いずれか
のプロセッサで実行されるキャッシュ同期読み出し命令
によるキャッシュメモリからのリクエストに対しその読
み出しアクセスアドレスが登録済み該書き込みアクセス
アドレスと重なっているか否かを判定し、重なっていな
い場合は読み出しデータとして主記憶上のデータを取り
出し、重なりがある場合は対応する登録済みプロセッサ
番号のプロセッサに属するキャッシュメモリより該当デ
ータを読み出しデータとして取り出すことを特徴とす
る。
A method according to the present invention is a multiprocessor system comprising a plurality of processors each having a cache memory and a main memory shared by the processors, wherein the cache memories are all connected. In the cache memory storage consistency control method in a system provided with a mechanism, when a processor executes a cache synchronous write instruction to update data shared by the plurality of processors, a request transmitted through the cache memory is storage coherency control mechanism registers hold the processor number and write access address for performing cache synchronous writes as a set, requests from the key Yasshi Yumemori cash synchronous write command to be executed by any of the processors The read access to the relative cache deletes the synchronous write access address matching registered the write access address and the registered processor number, any requests from key Yasshi Yumemori Cash synchronous read instructions to be executed by processor It is determined whether or not the address overlaps with the registered write access address. If the address does not overlap, the data on the main memory is fetched as read data, and if there is an overlap, the cache belonging to the processor of the corresponding registered processor number It is characterized in that the relevant data is taken out as read data from the memory.

【0010】[0010]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0011】図2に本発明が適用されるマルチプロセッ
サシステムの一例を示す。このマルチプロセッサシステ
ムは、2つのCPU1,2と、CPU1,2対応のキャ
ッシュメモリ3,4と、記憶制御ユニット5と、主記憶
6とから構成され、キャッシュメモリ3,4と、記憶制
御ユニット5と、主記憶6とはシステムバス7で結合さ
れている。
FIG. 2 shows an example of a multiprocessor system to which the present invention is applied. The multiprocessor system includes two CPUs 1 and 2, cache memories 3 and 4 corresponding to the CPUs 1 and 2, a storage control unit 5, and a main memory 6, and the cache memories 3 and 4 and the storage control unit 5 And the main memory 6 are connected by a system bus 7.

【0012】CPU1,2はキャッシュ同期読み出し、
キャッシュ同期書き込み、キャッシュ非同期読み出し及
びキャッシュ非同期書き込みの各命令を実行し、メモリ
アクセス要求をキャッシュメモリ3,4を経由し主記憶
6、記憶制御ユニット5に送出する。キャッシュメモリ
3,4は、CPU1,2からのメモリアクセス要求を受
け、キャッシュ非同期読み出し又はキャッシュ非同期書
き込みの場合は、自キャッシュメモリ内の制御のみでデ
ータ移送を行い、キャッシュ同期読み出し又はキャッシ
ュ同期書き込みの場合は、記憶制御ユニット5にメモリ
アクセス要求を送出する。記憶制御ユニット5は、キャ
ッシュメモリ3,4から、これらキャッシュ同期のメモ
リアクセス要求を受け付ける。また、主記憶6は、キャ
ッシュ同期,非同期を問わずキャッシュメモリ3,4か
らのメモリアクせス要求を受け付ける。
CPUs 1 and 2 perform cache synchronous reading,
Each instruction of cache synchronous write, cache asynchronous read and cache asynchronous write is executed, and a memory access request is sent to the main memory 6 and the storage control unit 5 via the cache memories 3 and 4. The cache memories 3 and 4 receive a memory access request from the CPUs 1 and 2, and in the case of cache asynchronous read or cache asynchronous write, perform data transfer only by control in their own cache memory, and perform cache synchronous read or cache synchronous write. In this case, a memory access request is sent to the storage control unit 5. The storage control unit 5 receives these cache synchronous memory access requests from the cache memories 3 and 4. The main memory 6 receives a memory access request from the cache memories 3 and 4 regardless of whether the cache is synchronous or asynchronous.

【0013】図1に記憶制御ユニット5の詳細を示す。
記憶制御ユニット5は、キャッシュ同期書き込みリクエ
スト単位に、書き込みプロセッサ番号を保持するプロセ
ッサ番号格納域10と書き込みアクセスアドレスをセッ
トで保持する書き込みアクセス格納域11、を有し、さ
らに、キャッシュ同期読み出し時に、書き込みアクセス
アドレス格納域11の書き込みアクセスアドレスとキャ
ッシュ同期読み出しアドレスの間の重なりによりキャッ
シュ一致処理の要不要を判定する一致処理判定機構12
と、一致判定結果により、書き込みプロセッサ番号格納
域10のプロセッサ番号に対応するキャッシュメモリの
記憶内容をキャッシュ同期読み出しプロセッサのキャッ
シュメモリにコピーするキャッシュメモリ制御機構13
を有している。
FIG. 1 shows the details of the storage control unit 5.
The storage control unit 5 has, for each cache synchronous write request, a processor number storage area 10 for storing a write processor number and a write access storage area 11 for holding a write access address as a set. Matching processing determining mechanism 12 that determines whether cache matching processing is necessary or not based on the overlap between the write access address in the write access address storage area 11 and the cache synchronous read address.
And a cache memory control mechanism 13 for copying the storage contents of the cache memory corresponding to the processor number in the write processor number storage area 10 to the cache memory of the cache synchronous read processor according to the match determination result.
have.

【0014】次に、本実施の形態の動作について、図3
を参照して詳細に説明する。CPUは、CPU間のデー
タ共有を考慮しない(考慮すべきか否かはソフトウェア
が認識している)データアクセス時には、非同期の読み
出し命令または書き込み命令を、対応するキャッシュメ
モリに送り、CPU間のデータ共有を考慮するデータア
クセス時には、キャッシュ同期読み出しまたはキャッシ
ュ同期書き込み命令を、対応するキャッシュメモリに送
る。
Next, the operation of this embodiment will be described with reference to FIG.
This will be described in detail with reference to FIG. At the time of data access that does not consider data sharing between CPUs (software recognizes whether or not to consider it), the CPU sends an asynchronous read instruction or write instruction to the corresponding cache memory, and the CPU shares data. At the time of data access taking into account the above, a cache synchronous read or cache synchronous write instruction is sent to the corresponding cache memory.

【0015】非共有データの場合、要求されたデータが
キャッシュメモリ上にあればそのキャッシュメモリから
データを取り出し、またはそのキャッシュメモリにデー
タを格納する。しかし、要求されたデータがキャッシュ
メモリにない場合にはキャッシュミスが生じる。そのと
きには、要求されたデータを含むブロックを、主記憶か
らキャッシュメモリへ転送する。その後は、キャッシュ
メモリにデータが存在した場合と同様に動作する。この
データアクセス動作ではデータの共有なしで動作してい
るので、他CPUに接続されているキャッシュメモリに
対応するブロック存在しているかどうかの判定及び存在
した場合の記憶一致のためのキャッシュメモリ制御は行
われない。
In the case of non-shared data, if the requested data is in the cache memory, the data is fetched from the cache memory or the data is stored in the cache memory. However, if the requested data is not in the cache memory, a cache miss occurs. At that time, the block containing the requested data is transferred from the main memory to the cache memory. Thereafter, the operation is performed in the same manner as when data exists in the cache memory. In this data access operation, the operation is performed without data sharing. Therefore, it is necessary to determine whether a block corresponding to the cache memory connected to another CPU exists and to control the cache memory for matching the memory when the block exists. Not done.

【0016】これに対して、CPU間のデータ共有を考
慮する場合には、キャッシュ同期書き込み命令において
その命令をキャッシュメモリを通して記憶制御ユニット
5へ送る。記憶制御ユニット5では、書き込み要求した
アドレスと書き込み要求したプロセッサ番号を書き込み
アクセスアドレス格納域11とプロセッサ番号格納域1
0に登録する。このとき同一アドレスですでに格納され
ている項目がある場合はそれを削除し(図3の100,
101)、最新の書き込みプロセッサ番号が登録される
(102,103)。書き込みデータは、要求CPUに
対応するキャッシュメモリに格納する(104)。また
キャッシュ同期読み出し指令において、その指令をキャ
ッシュメモリを通して記憶制御ユニット5へ送る。記憶
制御ユニット5では、書き込みアクセスアドレス格納域
11からの登録済みアドレスと読み出し要求アドレスを
一致処理判定機構12で比較し重なっているか否かを判
定する(図4の110)。
On the other hand, when data sharing between CPUs is taken into consideration, a cache synchronous write command is sent to the storage control unit 5 through the cache memory. The storage control unit 5 stores the write requested address and the requested processor number in the write access address storage area 11 and the processor number storage area 1.
Register to 0. At this time, if there is an item already stored at the same address, it is deleted (100, 100 in FIG. 3).
101), the latest write processor number is registered (102, 103). The write data is store in the cache memory corresponding to the request CPU (104). In the cache synchronous read command, the command is sent to the storage control unit 5 through the cache memory. The storage control unit 5 determines whether overlaps comparing registered Rokuzumi A Dore scan and read request address of the write access address vault 11 or al a match processing determination mechanism 12 (110 in FIG. 4).

【0017】判定結果はキャッシュメモリ制御機構13
に入力され、重なりがない場合は非共有データの場合の
キャッシュミスと同様に、要求されたデータを含むブロ
ックを主記憶からキャッシュメモリへ転送する(11
1)。その後はキャッシュメモリにデータが存在した場
合と同様に動作する。
The judgment result is the cache memory control mechanism 13
When there is no overlap, the block containing the requested data is transferred from the main memory to the cache memory, similarly to the cache miss in the case of non-shared data (11).
1). Thereafter, the operation is the same as when data exists in the cache memory.

【0018】重なりがある場合は、重なりを検出した書
き込みアクセスアドレスに対応したプロセッサ番号をプ
ロセッサ番号格納域10から取り出し、キャッシュメモ
リ制御機構13に入力される。キャッシュメモリ制御機
構13では、入力されたプロセッサ番号に対応するキャ
ッシュメモリから要求されたデータを含むブロックを取
り出し読み出し先のキャッシュメモリへ転送する(11
2)。その後はキャッシュメモリにデータが存在した場
合と同様に動作する。
If there is an overlap, the processor number corresponding to the write access address where the overlap is detected is taken out from the processor number storage area 10 and inputted to the cache memory control mechanism 13. The cache memory control mechanism 13 retrieves a block containing the requested data from the cache memory corresponding to the input processor number and transfers it to the cache memory of the read destination (11).
2). Thereafter, the operation is the same as when data exists in the cache memory.

【0019】重なりを検出したプロセッサ番号とキャッ
シュ同期読み出し命令実行プロセッサ番号が同一の時
は、キャッシュヒットとしてキャッシュメモリ間のデー
タ転送無しで動作する。プロセッサ番号格納域10及び
書き込みアクセスアドレス格納域11に空きが無くなっ
た場合、登録済みの項目を一つ削除し新規の登録を行う
(103)。削除情報はキャッシュメモリ制御機構13
に入力され、削除項目に対応するプロセッサ番号のキャ
ッシュメモリのデータブロックを主記憶に戻す。
When the processor number for which the overlap is detected is the same as the processor number for executing the cache synchronous read instruction, the operation is performed without a data transfer between cache memories as a cache hit. When the processor number storage area 10 and the write access address storage area 11 are full, one registered item is deleted and new registration is performed (103). The deletion information is stored in the cache memory control mechanism 13
And the data block of the cache memory of the processor number corresponding to the deleted item is returned to the main memory.

【0020】図5に記憶制御ユニット5の一実施例を示
す。本記憶制御ユニット5は、キャッシュ同期書き込み
リクエスト単位に書き込みプロセッサ番号を保持するラ
ンダムアクセスメモリ(RAM)32と、書き込みアク
セスアドレスを保持するランダムアクセスメモリ33
と、RAM32とRAM33のアドレス指定と書き込み
読み出しを制御するRAM制御部31と、キャッシュ同
期読み出し時にRAM33の書き込みアクセスアドレス
とキャッシュ同期読み出しアドレスの間の重なりにより
キャッシュ一致の処理の要不要を判定する比較器34
と、比較器34からの一致検出信号に応答して、RAM
32から出力されたプロセッサ番号に対応するキャッシ
ュメモリの記憶内容を、同期読み出しプロセッサのキャ
ッシュメモリにデータをコピーするキャッシュメモリ制
御部35とから成る。
FIG. 5 shows an embodiment of the storage control unit 5. The storage control unit 5 includes a random access memory (RAM) 32 for storing a write processor number for each cache synchronous write request, and a random access memory 33 for storing a write access address.
And a RAM control unit 31 for controlling address designation and writing / reading of the RAM 32 and the RAM 33, and a comparison for judging the necessity of the cache matching process due to the overlap between the write access address of the RAM 33 and the cache synchronous reading address at the time of cache synchronous reading Container 34
In response to the match detection signal from the comparator 34,
And a cache memory control unit for copying data stored in the cache memory corresponding to the processor number output from the cache memory to the cache memory of the synchronous read processor.

【0021】CPUは、CPU間のデータ共有を考慮し
ない(考慮すべきか否かはソフトウェアが認識してい
る)データアクセスに通常の読み出し命令または書き込
み命令を対応するキャッシュメモリに送り、CPU間の
データ共有を考慮するデータアクセス時にキャッシュ同
期読み出しまたはキャッシュ同期書き込み命令を対応す
るキャッシュメモリに送る。
The CPU sends a normal read command or a write command to the corresponding cache memory for data access that does not consider data sharing between the CPUs (the software recognizes whether or not to consider the data sharing). A cache synchronous read or cache synchronous write command is sent to the corresponding cache memory when data is considered for sharing.

【0022】CPU間のデータ共有を考慮する場合に
は、キャッシュ同期書き込み命令においてその命令をキ
ャッシュメモリを通して記憶制御ユニット5へ送る。記
憶制御ユニット5では、RAM制御部31により書き込
み要求したアドレスと書き込み要求したプロセッサ番号
をRAM33とRAM32の空きエリアに登録する。
When data sharing between CPUs is considered, a cache synchronous write command is sent to the storage control unit 5 through the cache memory. The storage control unit 5 registers the address requested to be written by the RAM control unit 31 and the processor number requested to be written in the free areas of the RAM 33 and the RAM 32.

【0023】このとき、RAM制御部31により同一ア
ドレスですでに格納されている項目がある場合はそれを
削除し、最新の書き込みプロセッサ番号が登録される。
書き込みデータは、要求CPUに対応するキャッシュメ
モリに格納する。またキャッシュ同期読み出し指令にお
いて、その指令をキャッシュメモりを通して記憶制御ユ
ニット5へ送る。記憶制御ユニット5では、RAM33
から登録済みアドレスト読み出し要求アドレスを比較器
34で比較し重なっているか否かを判定する。
At this time, if there is an item already stored at the same address by the RAM control unit 31, it is deleted and the latest write processor number is registered.
The write data is stored in the cache memory corresponding to the request CPU. In the cache synchronous read command, the command is sent to the storage control unit 5 through the cache memory. In the storage control unit 5, the RAM 33
The comparator 34 compares the registered address and the read request address with each other to determine whether or not they overlap.

【0024】RAM制御部31の制御により、この判定
動作をRAM33の全登録エントりに対して行う。一致
検出信号はキャッシュメモリ制御部35に入力され、重
なりがない場合は非共有データの場合のキャッシュミス
と同様に、要求されたデータを含むブロックを主記憶か
らキャッシュメモリへ転送する。その後はキャッシュメ
モリにデータが存在した場合と同様に動作する。重なり
がある場合は重なりを検出した更新アクセスアドレスに
対応したプロセッサ番号をRAM32から取り出したキ
ャッシュメモリ制御部35に入力される。
Under the control of the RAM control unit 31, this determination operation is performed for all registered entries in the RAM 33. The coincidence detection signal is input to the cache memory control unit 35, and when there is no overlap, similarly to a cache miss in the case of non-shared data, a block containing requested data is transferred from the main memory to the cache memory. Thereafter, the operation is the same as when data exists in the cache memory. If there is an overlap, the processor number corresponding to the updated access address where the overlap is detected is input to the cache memory control unit 35 extracted from the RAM 32.

【0025】キャッシュメモリ制御部35では、入力さ
れたプロセッサ番号に対応するキャッシュメモリから要
求されたデータを含むブロックを取り出し、読み出し先
のキャッシュメモリへ転送する。その後はキャッシュメ
モリにデータが存在した場合と同様に動作する。重なり
を検出したプロセッサ番号とキャッシュ同期読み出し命
令実行プロセッサ番号が同一のときは、キャッシュヒッ
トとしてキャッシュメモリの間のデータ転送無しで動作
する。
The cache memory control unit 35 fetches a block containing the requested data from the cache memory corresponding to the input processor number, and transfers the block to the read-destination cache memory. Thereafter, the operation is the same as when data exists in the cache memory. When the processor number for which the overlap is detected is the same as the processor number for executing the cache synchronous read instruction, the operation is performed without a data transfer between the cache memories as a cache hit.

【0026】プロセッサ番号を格納するRAM32及び
更新アクセスアドレスを格納するRAM33に空きが無
くなった場合、登録済みの項目を一つ削除し新規の登録
を行う。削除情報はキャッシュメモリ制御部35に入力
され、削除項目に対応するプロセッサ番号のキャッシュ
メモリのデータブロックを主記憶に戻す。
When the RAM 32 for storing the processor number and the RAM 33 for storing the updated access address run out, one registered item is deleted and new registration is performed. The deletion information is input to the cache memory control unit 35, and the cache memory data block of the processor number corresponding to the deletion item is returned to the main memory.

【0027】さらに本発明の第2の実施の形態をを図6
に示す。本形態は、第1の実施の形態から記憶制御ユニ
ット5中のプロセッサ番号格納域10を省略したもので
ある。キャッシュ同期書き込みでは、プロセッサ番号格
納域への書き込み要求元プロセッサ番号の登録がなくな
った以外は第一の実施の形態と同様に動作する。
FIG. 6 shows a second embodiment of the present invention.
Shown in In this embodiment, the processor number storage area 10 in the storage control unit 5 is omitted from the first embodiment. The cache synchronous write operates in the same manner as the first embodiment except that the registration of the write requesting processor number in the processor number storage area is no longer performed.

【0028】キャッシュ同期読み出しでは、一致処理判
定機構52が書き込みアクセスアドレス格納域51の書
き込みアクセスアドレスと読み出しアドレスの間の重な
りを判定し、重なりがない場合は第1の実施の形態と同
様の動作をし、重なりがある場合重なりのあったプロセ
ッサ番号が特定できないため、キャッシュメモリ制御機
構53が他の全てのキャッシュメモリに要求アドレスを
含むデータブロックがあるかどうかを問い合わせ、最新
データを保持するキャッシュメモリが判明した後、その
キャッシュメモリから要求元のキャッシュメモリへデー
タブロックを転送する。その他は第1の実施の形態と同
様の動作をする。
In the cache synchronous reading, the coincidence processing judging mechanism 52 judges the overlap between the write access address and the read address in the write access address storage area 51. If there is no overlap, the same operation as in the first embodiment is performed. When there is an overlap, the processor number of the overlap cannot be identified. Therefore, the cache memory control mechanism 53 inquires whether or not there is a data block including the requested address in all the other cache memories. After the memory is determined, the data block is transferred from the cache memory to the requesting cache memory. The other operations are the same as those in the first embodiment.

【0029】以上のように制御を行う手段を設けること
により、記憶一致制御を行うことができる。この第2の
実施の形態は、非同期のメモリアクセスは第1の実施の
形態と同様に高速化されるうえに、第1の実施の形態か
ら一部機能を省くことによりハードウェア量を押さえる
ことができるという効果を有する。
By providing the means for controlling as described above, the memory matching control can be performed. In the second embodiment, the speed of the asynchronous memory access is increased as in the first embodiment, and the amount of hardware is reduced by eliminating some functions from the first embodiment. It has the effect that can be done.

【0030】[0030]

【発明の効果】本発明の第1の効果は、マルチプロセッ
サシステムのメモリアクセス動作が、単一プロセッサシ
ステムの場合と同様に早くなったことである。その理由
は、本発明では、キャッシュ一致制御を必要とするプロ
セッサ間共有領域へのアクセスか否かを判定するための
動作を特定のメモリアクセス命令でのみ行うようにした
ためである。また、自己のキャッシュメモリに存在しな
いデータが他のキャッシュメモリに存在するかどうかを
他のキャッシュメモリそれぞれに確認する動作が必要無
くなったことも理由である。
A first effect of the present invention is that the memory access operation of the multiprocessor system is faster as in the case of the single processor system. The reason is that, in the present invention, an operation for determining whether or not an access is made to an inter-processor shared area that requires cache coherence control is performed only by a specific memory access instruction. Another reason is that it is no longer necessary to perform an operation of checking each of the other cache memories whether data that does not exist in its own cache memory exists in another cache memory.

【0031】さらに、第2の効果は、マルチプロセッサ
システムにおける主記憶と各プロセッサを接続する共通
バスの稼働率を下げメモリアクセスの時間を短縮し、接
続プロセッサ台数に比例した性能を得られるようになっ
たことである。その理由は、本発明ではキャッシュ一致
制御を必要とするプロセッサ間共有領域へのメモリアク
セスにて、全プロセッサと主記憶を接続する共通バスを
使用して他の全てのキャッシュメモリに使用するデータ
が存在するかどうか問い合わせする必要がなく、記憶制
御ユニットが一括して一致判定を行うからである。
A second effect is that the operating rate of the common bus connecting the main memory and each processor in the multiprocessor system is reduced, the time for memory access is shortened, and a performance proportional to the number of connected processors can be obtained. It has become. The reason is that, in the present invention, in a memory access to an inter-processor shared area that requires cache coherency control, data used for all other cache memories is shared using a common bus connecting all processors and main memory. This is because there is no need to inquire whether or not the storage exists, and the storage control unit performs the coincidence determination collectively.

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

【図1】本発明における記憶制御ユニットの実施の形態
を示す図である。
FIG. 1 is a diagram showing an embodiment of a storage control unit according to the present invention.

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

【図3】本発明におけるキャッシュ同期書き込み時の動
作示すフローチャートであるである。
FIG. 3 is a flowchart showing an operation at the time of cache synchronous writing in the present invention.

【図4】本発明におけるキャッシュ同期読み出し時の動
作を示すフローチャートである。
FIG. 4 is a flowchart showing an operation at the time of cache synchronous reading in the present invention.

【図5】本発明における記憶制御ユニットの一実施の例
を示す図である。
FIG. 5 is a diagram showing an embodiment of a storage control unit according to the present invention.

【図6】本発明における記憶制御ユニットの他の実施の
形態を示す図である。
FIG. 6 is a diagram showing another embodiment of the storage control unit according to the present invention.

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

1,2 CPU 3,4 キャッシュメモリ 5 記憶制御ユニット 6 主記憶 7 システムバス 10 プロセッサ番号格納域 11 書き込みアクセスアドレス格納域 12 一致処理判定機構 13 キャッシュメモリ制御機構 31 RAM制御部 32 ランダムアクセスメモリ 33 ランダムアクセスメモリ 34 比較器 35 キャッシュメモリ制御部 51 書き込みアクセスアドレス格納域 52 一致処理判定機構 53 キャッシュメモリ制御機構 1, 2 CPU 3, 4 Cache memory 5 Storage control unit 6 Main memory 7 System bus 10 Processor number storage area 11 Write access address storage area 12 Matching processing determination mechanism 13 Cache memory control mechanism 31 RAM control unit 32 Random access memory 33 Random Access memory 34 Comparator 35 Cache memory control unit 51 Write access address storage area 52 Matching processing determination mechanism 53 Cache memory control mechanism

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−6855(JP,A) 特開 平6−44136(JP,A) 特開 平5−108578(JP,A) 特開 平4−245350(JP,A) Ben Catanzazo著,「S PARC マルチプロセッサアーキテク チャ」,初版,株式会社アスキー,1995 年5月1日,p.173−178 高橋義造編,「並列処理機構」,丸善 株式会社,平成元年8月25日,p.186 −199 (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 ──────────────────────────────────────────────────続 き Continued from the front page (56) References JP-A-8-6855 (JP, A) JP-A-6-44136 (JP, A) JP-A-5-108578 (JP, A) JP-A-4- 245350 (JP, A) Ben Catanzazzo, "SPARC Multiprocessor Architecture", First Edition, ASCII, May 1, 1995, p. 173-178 Yoshizo Takahashi, "Parallel Processing Mechanism", Maruzen Co., Ltd., August 25, 1989, p. 186 -199 (58) Field surveyed (Int.Cl. 7 , DB name) G06F 12/08-12/12

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 各々がキャッシュメモリを有する複数の
プロセッサと、該プロセッサによって共有される主記憶
を備えるマルチプロセッサシステムにおけるキャッシュ
メモリの記憶一致制御装置において、 前記キャッシュメモリが全て接続された記憶制御ユニッ
トを備え、 該記憶制御ユニットは、キャッシュ同期書き込みリクエ
スト単位に、書き込みプロセッサ番号と書き込みアクセ
スアドレスを保持し削減追加する機構と、キャッシュ同
期読み出し時に、前記保持された書き込みアクセスアド
レスと同期読み出しアドレスの重なりからキャッシュ一
致処理の要不要を判定する一致処理判定機構と、該一致
処理判定結果に応答して、該書き込みプロセッサ番号か
らキャッシュ同期読みだしのデータの読み出し元キャッ
シュメモリを決定し読み出しプロセッサ上のキャッシュ
メモリにデータをコピーするキャッシュメモリ制御機構
を有することを特徴とするキャッシュメモリの記憶一致
制御装置。
1. A storage control unit for a cache memory in a multiprocessor system including a plurality of processors each having a cache memory and a main memory shared by the processors, wherein the storage control unit is connected to all the cache memories. The storage control unit comprises: a mechanism for holding and reducing and adding a write processor number and a write access address for each cache synchronous write request; and an overlap between the held write access address and the synchronous read address at the time of cache synchronous read. A matching processing determining mechanism for determining whether or not cache matching processing is necessary, and in response to the matching processing determination result, determining a cache memory from which the cache synchronous read data is to be read based on the write processor number and reading the cache memory. Storage coherency control unit in the cache memory, characterized in that it comprises a cache memory controller to copy the data into the cache memory on the processor and.
【請求項2】 各々がキャッシュメモリを有する複数の
プロセッサと、該プロセッサによって共有される主記憶
を備えるマルチプロセッサシステムであって、該キャッ
シュメモリが全て接続されたキャッシュメモリ記憶一致
制御機構を設けたシステムにおけるキャッシュメモリ記
憶一致制御方法において、 前記複数のプロセッサで共有するデータの更新を行うた
めプロセッサがキャッシュ同期書き込み命令を実行する
際に、キャシュメモリを通じて送出するリクエストに対
し、キャッシュメモリ記憶一致制御機構はキャッシュ同
期書き込みを行うプロセッサ番号と書き込みアクセスア
ドレスを一組として登録保持し、いずれかのプロセッサ
で実行されるキャッシュ同期書き込み命令による前記キ
ャッシュメモリからのリクエストに対しキャッシュ同期
書き込みのアクセスアドレスと一致した登録済み該書き
込みアクセスアドレスと登録済みプロセッサ番号を削除
し、いずれかのプロセッサで実行されるキャッシュ同期
読み出し命令によるキャッシュメモリからのリクエスト
に対しその読み出しアクセスアドレスが登録済み該書き
込みアクセスアドレスと重なっているか否かを判定し、
重なっていない場合は読み出しデータとして主記憶上の
データを取り出し、重なりがある場合は対応する登録済
みプロセッサ番号のプロセッサに属するキャッシュメモ
リより該当データを読み出しデータとして取り出すこと
を特徴とするキャッシュメモリの記憶一致制御方法。
2. A multiprocessor system comprising a plurality of processors each having a cache memory and a main memory shared by the processors, wherein a cache memory storage consistency control mechanism to which all the cache memories are connected is provided. A cache memory storage consistency control method in a system, comprising: a cache memory storage consistency control mechanism for a request transmitted through a cache memory when a processor executes a cache synchronous write instruction to update data shared by a plurality of processors. Registers and holds a processor number and a write access address that perform cache synchronous writing as a set, and stores the key by a cache synchronous write instruction executed by any of the processors.
Remove the registered processor number and registered the write access address matches the cache synchronization write access address to request from Yasshi Yumemori, requests from key Yasshi Yumemori Cash synchronized reading instructions executed by any of the processors To determine whether the read access address overlaps with the registered write access address,
If the data does not overlap, the data on the main memory is taken out as read data. If there is an overlap, the data is taken out as read data from the cache memory belonging to the processor of the corresponding registered processor number. Match control method.
【請求項3】 各々がキャッシュメモリを有する複数の
プロセッサと、該プロセッサによって共有される主記憶
を備えるマルチプロセッサシステムにおけるキャッシュ
メモリの記憶一致制御装置において、前記キャッシュメ
モリがすべて接続された記憶制御ユニットを備え、該記
憶制御ユニットは、キャッシュ同期書き込みリクエスト
単位に、書き込みアクセスアドレスを保持し削除追加す
る機構と、キャッシュ同期読み出し時に、保持された前
記書き込みアクセスアドレスと同期読み出しアクセスア
ドレスの重なりからキャッシュ一致処理の要不要を判定
する一致処理判定機構を備え、前記一致処理判定の結果
重なりのあった場合には、他のすべてのキャッシュメモ
リに読み出し要求アクセスアドレスのデータを含むデー
タブロックがあるかどうかを問い合わせ、該当データが
存在する場合には該当データをキャッシュ同期読み出し
の読み出しデータとして取り出すことを特徴とするキャ
ッシュメモリの記憶一致制御装置。
3. A storage control unit for a cache memory in a multiprocessor system having a plurality of processors each having a cache memory and a main storage shared by the processors, wherein the cache memories are all connected. The storage control unit includes a mechanism for holding, deleting, and adding a write access address in units of cache synchronous write requests, and a cache match based on an overlap between the held write access address and the synchronous read access address during cache synchronous read. or comprising a matching process determination mechanism determines Yes No processing, when there overlapping said a match processing determination result, there is a data block including the read request access address data to all other cache memory A storage consistency control device for a cache memory, which inquires whether the data is present and, if the data is present, retrieves the data as read data for cache synchronous reading.
JP08198900A 1996-07-29 1996-07-29 Cache memory storage consistency control device and storage consistency control method Expired - Fee Related JP3088293B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08198900A JP3088293B2 (en) 1996-07-29 1996-07-29 Cache memory storage consistency control device and storage consistency control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08198900A JP3088293B2 (en) 1996-07-29 1996-07-29 Cache memory storage consistency control device and storage consistency control method

Publications (2)

Publication Number Publication Date
JPH1049441A JPH1049441A (en) 1998-02-20
JP3088293B2 true JP3088293B2 (en) 2000-09-18

Family

ID=16398815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08198900A Expired - Fee Related JP3088293B2 (en) 1996-07-29 1996-07-29 Cache memory storage consistency control device and storage consistency control method

Country Status (1)

Country Link
JP (1) JP3088293B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ben Catanzazo著,「SPARC マルチプロセッサアーキテクチャ」,初版,株式会社アスキー,1995年5月1日,p.173−178
高橋義造編,「並列処理機構」,丸善株式会社,平成元年8月25日,p.186−199

Also Published As

Publication number Publication date
JPH1049441A (en) 1998-02-20

Similar Documents

Publication Publication Date Title
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
JPH0743670B2 (en) Store-through cache management system
EP0062165A2 (en) Multiprocessors including private and shared caches
EP1311956B1 (en) Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system
JPH1031625A (en) Write back buffer for improved copy back performance in multiprocessor system
JP2007533014A (en) System and method for canceling write back processing when snoop push processing and snoop kill processing occur simultaneously in write back cache
WO1997004392A1 (en) Shared cache memory device
JP3814521B2 (en) Data processing method and apparatus
JP3116215B2 (en) How to control double directory virtual cache
JP3088293B2 (en) Cache memory storage consistency control device and storage consistency control method
JPS63253448A (en) Multi-computer device
JPS60237553A (en) Cash coherence system
JP2552704B2 (en) Data processing device
JPH0784879A (en) Cache memory device
JPH04305746A (en) Cache memory control device
JPH03230238A (en) Cache memory control system
JP3298504B2 (en) Memory controller
JPH10232831A (en) Cache tag maintaining device
JPS63247852A (en) Cache memory control method
JP2982197B2 (en) Bus monitor circuit for cache
JPH113288A (en) Cache memory device and fault control method for cache memory
JPH01266643A (en) Cache control system
JPH057740B2 (en)
JPH0628303A (en) Communication processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000627

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070714

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080714

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090714

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees