JPH1049441A - Storage coincidence control method for cache memory and device therefor - Google Patents

Storage coincidence control method for cache memory and device therefor

Info

Publication number
JPH1049441A
JPH1049441A JP8198900A JP19890096A JPH1049441A JP H1049441 A JPH1049441 A JP H1049441A JP 8198900 A JP8198900 A JP 8198900A JP 19890096 A JP19890096 A JP 19890096A JP H1049441 A JPH1049441 A JP H1049441A
Authority
JP
Japan
Prior art keywords
cache
cache memory
write
data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8198900A
Other languages
Japanese (ja)
Other versions
JP3088293B2 (en
Inventor
Norihiko Sumiya
紀彦 炭屋
Tatsuhiko Matsumura
達彦 松村
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Solution Innovators Ltd 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

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress the useless transfer of data caused between cache memories by the storage coincidence processing of the cache memories and to improve the data transfer performance. SOLUTION: The processor number and the access address of a cache synchronous write mode are stored in a processor number storage area 10 and a write access address storage area 11 respectively. Then a coincidence processing decision mechanism 12 decides the overlap between the access address of a cache synchronous read instruction and a write access address storage area 11. When there is no overlap between the instruction and the area 11, the data are read out with no coincidence control. If the above overlap is detected, a cache memory control mechanism 13 transfers the data via a cache memory of the overlapping processor number and performs the storage coincidence processing.

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. 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 above-described conventional cache memory control method, an operation for determining whether or not there is access to the inter-processor shared area that requires cache coincidence 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 that the hardware independently performed for all memory accesses is performed only with memory access by instructions that access shared data, and normal memory access processing is speeded up. 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 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 occupation 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 directed to a cache memory storage coincidence control method in a multiprocessor system having a plurality of processors each having a cache memory and a main memory shared by the processors. The write access address indicating the update location of the cache synchronous write is set, the processor number for performing the cache synchronous write and the write access address are registered and held as a set, and the cache synchronous write operation performed by any of the processors performs the cache synchronous write operation. The registered write access address and its processor number that match the address are deleted, and the cache synchronous read operation executed by any of the processors causes the read address to overlap the registered write access address. And it is judged whether or not the are, if not overlap retrieve data in the main memory because the read data is not in the cache memory of all processors,
If there is an overlap, the processor of the corresponding registered processor number updates the data and holds the write data in its cache memory, so that the data is taken out from the cache memory corresponding to the coincident registered processor number. .

【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 the data sharing between CPUs (the software recognizes whether or not to consider it), the CPU sends an asynchronous read command or write command to the corresponding cache memory, and the data sharing between the CPUs is performed. 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. Since this data access operation is performed without data sharing, the cache memory control for determining whether a block corresponding to the cache memory connected to another CPU exists and for matching the memory when the block exists is performed. 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 stored in the cache memory corresponding to the cache memory corresponding to the requesting CPU (104). 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 registered access and the read request address from the write access address storage area 11 are compared by the matching processing determination mechanism 12 to determine whether or not they overlap (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からの一致検出信号に応答して、
RAM32から出力されたプロセッサ番号に対応するキ
ャッシュメモリの記憶内容を、同期読み出しプロセッサ
のキャッシュメモリにデータをコピーするキャッシュメ
モリ制御部35とから成る。
[Embodiment] FIG. 5 shows an embodiment of the storage control unit 5. The storage control unit 5 stores a random access memory (RAM) 32 for storing a write processor number for each cache synchronous write request, a random access memory 33 for storing a write access address, and specifying addresses of the RAM 32 and the RAM 33 and writing and reading. A RAM control unit 31 for controlling, a comparator 34 for judging the necessity of a cache coincidence process based on an overlap between a write access address of the RAM 33 and a cache synchronous read address at the time of cache synchronous read, and a coincidence detection signal from the comparator 34 In response to
A cache memory control unit 35 for copying data stored in the cache memory corresponding to the processor number output from the RAM 32 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 of 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

Claims (3)

【特許請求の範囲】[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 from 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 cache memory storage coincidence control method in a multiprocessor system including a plurality of processors each having a cache memory and a main memory shared by the processors, wherein the update location of data shared by the plurality of processors is determined. The write access address shown is set, and the processor number for performing the cache synchronous write and the write access address are registered and held as a set, and the cache synchronous write address executed by any of the processors matches the cache synchronous write address. Delete the registered write access address and its processor number,
The cache synchronous read operation executed by any of the processors determines whether or not the read address overlaps with the registered write access address, and if not, there is no read data in the cache memory of all processors. The data on the main memory is fetched, and if there is an overlap, the processor of the corresponding registered processor number updates the data and holds the write data in its cache memory. A storage consistency control method for a cache memory, characterized by extracting data.
【請求項3】 前記記憶制御ユニットから書き込みプロ
セッサ番号を保持し削除追加する機構を除去し、前記重
なりのあった場合には、前記キャッシュ制御機構が他の
全てのキャッシュメモリに要求アドレスを含むデータブ
ロックがあるかどうかを問い合わせるようにしたことを
特徴とする請求項1記載のキャッシュメモリの記憶一致
制御装置。
3. A mechanism for retaining, deleting and adding a write processor number from the storage control unit, and in the case of the overlap, the cache control mechanism stores data including a request address in all other cache memories. 2. The storage consistency control device for a cache memory according to claim 1, wherein an inquiry is made as to whether or not there is a block.
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 true JPH1049441A (en) 1998-02-20
JP3088293B2 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)

Also Published As

Publication number Publication date
JP3088293B2 (en) 2000-09-18

Similar Documents

Publication Publication Date Title
EP0062165A2 (en) Multiprocessors including private and shared caches
JPH0743670B2 (en) Store-through cache management system
EP1311956B1 (en) Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system
JPH0997214A (en) Information-processing system inclusive of address conversion for auxiliary processor
JPH1031625A (en) Write back buffer for improved copy back performance in multiprocessor system
US6345320B1 (en) DMA address buffer and cache-memory control system
JPH0285960A (en) Information processing system
US5987544A (en) System interface protocol with optional module cache
JPH10501914A (en) Shared cache memory device
US6477622B1 (en) Simplified writeback handling
JP3116215B2 (en) How to control double directory virtual cache
JP3626609B2 (en) Multiprocessor system
JP2002202960A (en) Data processing method and device
JPH0511337B2 (en)
JP2552704B2 (en) Data processing device
JP3088293B2 (en) Cache memory storage consistency control device and storage consistency control method
JPS60237553A (en) Cash coherence system
JPH0784879A (en) Cache memory device
JPH04305746A (en) Cache memory control device
JPH03230238A (en) Cache memory control system
JP3378270B2 (en) Multiprocessor system
JPH11212869A (en) Cache memory control method and multiprocessor system using the control method
JPH113288A (en) Cache memory device and fault control method for cache memory
JP2000259495A (en) Cache memory control method and multiprocessor system
JPH10320278A (en) Memory controller and computer system

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