JP2689899B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2689899B2
JP2689899B2 JP6079032A JP7903294A JP2689899B2 JP 2689899 B2 JP2689899 B2 JP 2689899B2 JP 6079032 A JP6079032 A JP 6079032A JP 7903294 A JP7903294 A JP 7903294A JP 2689899 B2 JP2689899 B2 JP 2689899B2
Authority
JP
Japan
Prior art keywords
processing device
cache
data
group
processing
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 - Lifetime
Application number
JP6079032A
Other languages
Japanese (ja)
Other versions
JPH07287670A (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 JP6079032A priority Critical patent/JP2689899B2/en
Publication of JPH07287670A publication Critical patent/JPH07287670A/en
Application granted granted Critical
Publication of JP2689899B2 publication Critical patent/JP2689899B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

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 particular, the present invention relates to an information processing device including a plurality of processing devices each having a cache memory.

【0002】[0002]

【従来の技術】キャッシュメモリを有する処理装置を複
数備える情報処理装置においては、各処理装置のキャッ
シュメモリ間で矛盾を生じないように制御する必要があ
る。このような制御の取り決めを一般にキャッシュ無矛
盾化プロトコル(もしくは、キャッシュコヒーレンシー
プロトコル、キャッシュコヒーレントプロトコル、キャ
ッシュ一致制御プロトコル、等)とよばれる。このキャ
ッシュ無矛盾化プロトコルは、ライトスループロトコル
とライトバックプロトコル(コピーバックプロトコルと
もいう)とに大別することができる。ライトスループロ
トコルとは、処理装置においてキャッシュメモリに対す
る書込みが発生した際には、常に主記憶も更新するよう
に制御するものをいう。ライトバックプロトコルとは、
処理装置においてキャッシュメモリに対する書込みが発
生した際には、当該キャッシュメモリにヒットしている
限りは主記憶の更新は行わないように制御するものをい
う。
2. Description of the Related Art In an information processing apparatus having a plurality of processing devices each having a cache memory, it is necessary to control the cache memories of the respective processing devices so that no contradiction occurs. Such a control agreement is generally called a cache consistency protocol (or cache coherency protocol, cache coherent protocol, cache coherency control protocol, etc.). The cache consistency control protocol can be roughly classified into a write-through protocol and a write-back protocol (also called a copy-back protocol). The write-through protocol is a protocol that controls so that the main memory is always updated when writing to the cache memory occurs in the processing device. What is write back protocol?
In the processing device, when writing to the cache memory occurs, the main memory is controlled not to be updated as long as the cache memory is hit.

【0003】ライトスループロトコルは実現が簡単であ
るが、主記憶に対するアクセスが頻繁に発生するため、
特に接続される処理装置の台数が増すと相互の競合によ
る性能の低下が問題となる。一方、ライトバックプロト
コルは性能面では有利なものの、制御が複雑となるた
め、さほど高い性能を望まない処理装置においては採用
し難いという問題がある。したがって、機能分散型のマ
ルチプロセッサシステムにおいて、複数種類の処理装置
を接続するような場合には、両プロトコルの混在を許
し、最適なシステム構成を選択できるようにすべきであ
る。
The write-through protocol is easy to implement, but since the main memory is frequently accessed,
In particular, when the number of connected processing devices increases, there is a problem that performance deteriorates due to mutual competition. On the other hand, although the write-back protocol is advantageous in terms of performance, it has a problem that it is difficult to adopt it in a processing device that does not require high performance because control is complicated. Therefore, in a function-distributed multiprocessor system, when a plurality of types of processing devices are to be connected, it is necessary to allow both protocols to be mixed and to select an optimum system configuration.

【0004】たとえば、特開平1−266643号公報
には、アクセスされるメモリ領域によって、ライトスル
ープロトコルまたはライトバックプロトコルを使い分け
るキャッシュ制御方式の技術が記載されている。この技
術では、各処理装置から共通にアクセスされキャッシュ
メモリと主記憶との内容が常に一致していることを要求
される共通メモリ領域ではライトスループロトコルを使
用し、各プロセッサで個別にアクセスされデータ更新の
同時性を必要としない個別メモリ領域にはライトバック
プロトコルを使用している。
For example, Japanese Unexamined Patent Publication No. 1-266643 discloses a technique of a cache control system in which a write-through protocol or a write-back protocol is selectively used depending on a memory area to be accessed. In this technology, the write-through protocol is used in the common memory area that is commonly accessed by each processing device and the contents of the cache memory and main memory are required to always match, and data is accessed individually by each processor. The write-back protocol is used for the individual memory areas that do not require the simultaneity of updates.

【0005】[0005]

【発明が解決しようとする課題】上述の従来技術では、
各処理装置から共通にアクセスされるメモリ領域をライ
トスループロトコルで扱い、各処理装置で個別にアクセ
スされるメモリ領域のみをライトバックプロトコルで扱
っている。この技術では、共通にアクセスされるメモリ
領域はライトスループロトコルを使用するため、処理装
置間でデータを共有して処理を行うような場合には必ず
ライトスループロトコルを使用することになり、性能が
向上しないという問題がある。
In the above-mentioned prior art,
A memory area commonly accessed by each processing device is handled by a write-through protocol, and only a memory area individually accessed by each processing device is handled by a write-back protocol. In this technology, the commonly accessed memory area uses the write-through protocol, so the write-through protocol must be used when processing is performed by sharing data between processing devices, and performance is improved. There is a problem that it does not improve.

【0006】本発明の目的は、アクセスされるメモリ領
域を分けることなくライトスループロトコルおよびライ
トバックプロトコルとを混在できる情報処理システムを
提供することにある。
An object of the present invention is to provide an information processing system capable of coexisting a write-through protocol and a write-back protocol without dividing the accessed memory area.

【0007】[0007]

【課題を解決するための手段】上記課題を解決するため
に本発明の情報処理装置は、主記憶と、各々がキャッシ
ュ記憶を接続する複数の処理装置からなる第一の処理装
置群と、これら第一の処理装置群を接続しこれら処理装
置間の情報を伝達する第一の情報伝達手段と、各々がキ
ャッシュ記憶を接続する複数の処理装置からなる第二の
処理装置群と、これら第一の処理装置群を接続しこれら
処理装置間の情報を伝達する第二の情報伝達手段と、前
記第一の情報伝達手段と前記第二の情報伝達手段とを接
続し前記第一の処理装置群または前記第二の処理装置群
からの前記主記憶へのアクセスを行うとともに前記第一
の処理装置群と前記第二の処理装置群との間の情報を伝
達する主記憶制御手段とを含み、前記第一の処理装置群
同士はキャッシュ無矛盾化プロトコルとしてライトバッ
クプロトコルを使用し、前記第二の処理装置群同士はキ
ャッシュ無矛盾化プロトコルとしてライトスループロト
コルを使用し、前記第一の処理装置群のいずれかの処理
装置においてその処理装置が含むキャッシュ記憶または
前記主記憶に対して書込みアクセスが発行された場合に
は前記第二の処理装置群に対して前記第二の処理装置群
のキャッシュ記憶の無効化が指示され、前記第二の処理
装置群のいずれかの処理装置において前記主記憶に対し
て書込みアクセスが発行された場合には前記第一の処理
装置群に対して前記第一の処理装置群のキャッシュ記憶
の無効化が指示される。
In order to solve the above-mentioned problems, an information processing apparatus of the present invention comprises a main memory and a first processor group consisting of a plurality of processors each connecting a cache memory, A first information transmission means for connecting the first processing device group and for transmitting information between these processing devices; a second processing device group consisting of a plurality of processing devices each for connecting a cache memory; Second information transmission means for connecting the processing device groups of No. 1 and transmitting information between these processing devices, and the first processing device group for connecting the first information transmission means and the second information transmission means. Or including a main memory control means for accessing the main memory from the second processing device group and transmitting information between the first processing device group and the second processing device group, The first processing unit group is a cache A write-back protocol is used as a contradiction protocol, the second processing device group uses a write-through protocol as a cache non-contradiction protocol, and the processing device in any of the processing devices of the first processing device group is When a write access is issued to the containing cache memory or the main memory, the second processor group is instructed to invalidate the cache memory of the second processor group, and the second processor group is instructed to invalidate the second processor group. When a write access is issued to the main memory in any of the processing devices of the processing device group, the first processing device group is instructed to invalidate the cache storage of the first processing device group. To be done.

【0008】前記第一の処理装置群は、前記処理装置の
各々が前記キャッシュ記憶を含んでもよい。前記第二の
処理装置群は、前記処理装置の各々が前記キャッシュ記
憶を含んでもよい。
In the first processing device group, each of the processing devices may include the cache storage. In the second processing device group, each of the processing devices may include the cache storage.

【0009】前記第一の処理装置群は、前記処理装置の
各々が前記第一の情報伝達手段と接続し、前記キャッシ
ュ記憶の各々は前記処理装置を介して前記第一の情報伝
達手段と接続するように構成してもよい。前記第二の処
理装置群は、前記処理装置の各々が前記第二の情報伝達
手段と接続し、前記キャッシュ記憶の各々は前記処理装
置を介して前記第二の情報伝達手段と接続するように構
成してもよい。
In the first processing device group, each of the processing devices is connected to the first information transmission means, and each of the cache memories is connected to the first information transmission means via the processing device. It may be configured to do so. In the second processing device group, each of the processing devices is connected to the second information transmission unit, and each of the cache storages is connected to the second information transmission unit via the processing device. You may comprise.

【0010】[0010]

【実施例】次に本願発明の情報処理装置の一実施例につ
いて図面を参照して詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of the information processing apparatus of the present invention will be described in detail with reference to the drawings.

【0011】図1を参照すると、本発明の一実施例であ
る情報処理装置は、主記憶400と、この主記憶400
を制御する主記憶制御部300と、ライトバックプロト
コルにより制御されるライトバックバス100と、この
ライトバックバス100に接続しキャッシュメモリ12
1〜12nを含むライトバック側処理装置111〜11
nと、ライトスルーにより制御されるライトスルーバス
200と、このライトスルーバス200に接続しキャッ
シュメモリ221〜22mを含むライトスルー側処理装
置211〜21mとを含んでいる。
Referring to FIG. 1, an information processing apparatus according to an embodiment of the present invention includes a main memory 400 and the main memory 400.
A main memory control unit 300 for controlling the write back bus 100, a write back bus 100 controlled by a write back protocol, and a cache memory 12 connected to the write back bus 100.
Write-back side processing devices 111 to 11 including 1 to 12n
n, a write-through bus 200 controlled by write-through, and write-through side processors 211 to 21m connected to the write-through bus 200 and including cache memories 221 to 22m.

【0012】主記憶400は、主記憶制御部300を介
してライトバックバス100およびライトスルーバス2
00に接続しており、両バスからのアクセスを受け付け
る。
The main memory 400 has a write-back bus 100 and a write-through bus 2 via the main memory controller 300.
00, and accepts access from both buses.

【0013】主記憶制御部300は、ライトバックバス
100およびライトスルーバス200から主記憶アクセ
スを受け取り、主記憶へのアクセスおよび両バス相互間
の制御を行う。
The main memory controller 300 receives main memory access from the write-back bus 100 and the write-through bus 200, and performs access to the main memory and control between both buses.

【0014】ライトバックバス100側では、ライトバ
ック側処理装置111〜11n同士はライトバックプロ
トコルにより動作する。すなわち、各処理装置111〜
11nにおいてキャッシュメモリ121〜12nに対す
る書込みが発生した際には、原則として主記憶の更新を
行わない。
On the write back bus 100 side, the write back side processing devices 111 to 11n operate according to the write back protocol. That is, each processing device 111 to
In principle, when writing to the cache memories 121 to 12n occurs in 11n, the main memory is not updated.

【0015】一方、ライトスルーバス200側では、ラ
イトスルー側処理装置211〜21m同士はライトスル
ープロトコルにより動作する。すなわち、各処理装置2
11〜21mにおいてキャッシュメモリ221〜22m
に対する書込みが発生した際には、常に主記憶も更新す
る。
On the other hand, on the write-through bus 200 side, the write-through side processing devices 211 to 21m operate according to the write-through protocol. That is, each processing device 2
In 11 to 21 m, cache memories 221 to 22 m
When a write to is generated, the main memory is always updated.

【0016】本発明の情報処理装置では、ライトバック
バス100側とライトスルーバス200側とで同一のメ
モリ領域をアクセスする可能性があるため、これらのア
クセスに際して互いに矛盾が発生しないようにキャッシ
ュ無矛盾化プロトコルを定める必要がある。本発明の上
記一実施例の動作を説明するにあたって、その前提条件
を以下に説明する。
In the information processing apparatus of the present invention, the same memory area may be accessed on the write-back bus 100 side and the write-through bus 200 side, so that no cache contradiction occurs so that no contradiction occurs during these accesses. It is necessary to define the optimization protocol. In describing the operation of the above-described embodiment of the present invention, the preconditions thereof will be described below.

【0017】ライトスルー側キャッシュメモリ221〜
22mは、ある定められたブロックとよぶ単位ごとに管
理される。キャッシュメモリ221〜22m内の各デー
タはブロックごとに主記憶とやりとりされる。そして、
ライトスルー側キャッシュメモリ221〜22mでは、
ブロックごとの状態(以下、ブロック状態という)とし
て、”I”または”V”の状態をとることとする。ここ
で、”I”とは、インバリッドの意であり、そのキャッ
シュのブロックは無効状態であることを意味する。ま
た、”V”とは、バリッドの意であり、そのキャッシュ
のブロックは主記憶と一致し、有効な状態であることを
意味する。
Write through cache memory 221 ...
The 22 m is managed for each unit called a predetermined block. Each data in the cache memories 221 to 22m is exchanged with the main memory block by block. And
In the write through cache memories 221 to 22m,
The state of each block (hereinafter referred to as a block state) is assumed to be "I" or "V". Here, "I" means invalid and means that the block of the cache is in an invalid state. Further, "V" means valid, and the block of the cache matches the main memory and is in a valid state.

【0018】ライトバック側キャッシュメモリ121〜
12nは、ライトスルー側キャッシュメモリ221〜2
2mと同様に、ある定められたブロックとよぶ単位ごと
に管理され、各データはブロックごとに主記憶とやりと
りされる。そして、ライトバック側キャッシュメモリ1
21〜12nでは、ブロック状態として、”I”,”C
S”,”CE”または”DE”の4通りの状態をとるこ
ととする。ここで、”I”とは、ライトスルー側キャッ
シュメモリ221〜22mの場合と同様に、そのキャッ
シュのブロックは無効状態であることを意味する。”C
S”とは、クリーンシェアードの意であり、そのブロッ
クのデータが主記憶と一致しており、かつ、ライトバッ
クバス100上の他のキャッシュメモリがそのブロック
を持っていることを意味する。”CE”とは、クリーン
エクスクルーシブの意であり、そのブロックのデータが
主記憶と一致しており、かつ、ライトバックバス100
上の他のキャッシュメモリのいずれもそのブロックのデ
ータを持っていないことを意味する。また、”DE”と
は、ダーティーエクスクルーシブの意であり、そのブロ
ックのデータが主記憶と一致せず、かつ、ライトバック
バス100上の他のキャッシュメモリのいずれもそのブ
ロックのデータを持っていないことを意味する。
Write-back side cache memories 121 to
12n is the write-through cache memory 221-2
Similar to 2 m, it is managed in a unit called a predetermined block, and each data is exchanged with the main memory for each block. Then, the write-back side cache memory 1
In 21 to 12n, the block states are "I" and "C".
There are four states of S "," CE ", or" DE ". Here," I "means that the block of the cache is invalid as in the case of the write-through side cache memories 221 to 22m. It means that it is in a state. ”C
“S” means clean shared, meaning that the data in the block matches the main memory, and that another cache memory on the write-back bus 100 has the block. ” “CE” means clean exclusive, the data in the block matches the main memory, and the write-back bus 100
It means that none of the other cache memories above have that block of data. Further, "DE" means dirty exclusive, the data of the block does not match the main memory, and neither of the other cache memories on the write-back bus 100 has the data of the block. Means that.

【0019】次に、上記ブロック状態に基づき、本発明
の上記一実施例の動作について図面を参照して説明す
る。
Next, the operation of the above-described embodiment of the present invention will be described with reference to the drawings based on the block state.

【0020】図2を参照すると、ライトバックバス10
0側の処理装置111〜11nによる書込みアクセス
が、ライトバック側キャッシュメモリ121〜12nに
おいてヒットした場合には、まずライトバックバス10
0側のその処理装置のキャッシュメモリのブロックにお
いて書込みデータが書き込まれる(ステップ151)。
Referring to FIG. 2, the write back bus 10 is shown.
When the write access by the 0-side processing devices 111 to 11n hits the write-back side cache memories 121 to 12n, first, the write-back bus 10
Write data is written in the block of the cache memory of the processor on the 0 side (step 151).

【0021】そして、そのキャッシュメモリのそのブロ
ックのブロック状態を調べ(ステップ152)、シェア
ード状態、すなわち、”CS”であればライトバックバ
ス100上の他のキャッシュメモリの無効化処理を行う
(ステップ153)。この場合、ライトバックバス10
0に当該書込みに係るアドレスが流され、ライトバック
バス100上の各処理装置はそのアドレスに該当するキ
ャッシュメモリのブロックのブロック状態を”I”にす
る。ステップ152において、エクスクルーシブ状態、
すなわち、”CE”または”DE”であればライトバッ
クバス100上の他のキャッシュメモリの無効化処理は
しない。エクスクルーシブ状態であるから、ライトバッ
クバス100上の他のキャッシュメモリには該当するブ
ロックが存在しないことがわかっているからである。
Then, the block state of the block of the cache memory is checked (step 152), and if it is the shared state, that is, "CS", the invalidation processing of the other cache memory on the write-back bus 100 is performed (step). 153). In this case, the light back bus 10
The address related to the write is sent to 0, and each processing device on the write-back bus 100 sets the block state of the block of the cache memory corresponding to the address to "I". In step 152, the exclusive state,
That is, if it is “CE” or “DE”, invalidation processing of other cache memories on the write-back bus 100 is not performed. Because it is in the exclusive state, it is known that the corresponding block does not exist in the other cache memory on the write-back bus 100.

【0022】そして、ステップ151でデータを書き込
まれたキャッシュメモリのブロック状態を”DE”にす
る(ステップ154)。ここでは書込みデータを主記憶
に反映させないため、主記憶と一致しないからである。
Then, the block state of the cache memory in which the data has been written in step 151 is set to "DE" (step 154). This is because the write data is not reflected here in the main memory and does not match the main memory.

【0023】また、ライトスルーバス200側のキャッ
シュメモリ221〜22mに対して無効化処理が行われ
る(ステップ155)。この場合、ライトスルーバス2
00に当該書込みに係るアドレスが流され、ライトスル
ーバス200上の各処理装置はそのアドレスに該当する
キャッシュメモリのブロックのブロック状態を”I”に
する。
Further, invalidation processing is performed on the cache memories 221 to 22m on the write through bus 200 side (step 155). In this case, write-through bus 2
The address related to the write is sent to 00, and each processing unit on the write-through bus 200 sets the block state of the block of the cache memory corresponding to the address to "I".

【0024】なお、ライトバックバス100側の処理装
置111〜11nによる読出しアクセスが、ライトバッ
ク側キャッシュメモリ121〜12nにおいてヒットし
た場合には、そのキャッシュメモリから読み出すだけで
処理を完了する。この場合、ライトバックバス100お
よびライトスルーバス200は使用しない。
When the read access by the processing units 111 to 11n on the write-back bus 100 side hits in the write-back side cache memories 121 to 12n, the process is completed only by reading from the cache memory. In this case, the write back bus 100 and the write through bus 200 are not used.

【0025】図3を参照すると、ライトバックバス10
0側の処理装置111〜11nによる読出しアクセス
が、ライトバック側キャッシュメモリ121〜12nに
おいてミスヒットした場合には、ライトバックバス10
0側の他のキャッシュメモリのブロック状態がチェック
される(ステップ161)。この結果、その読出しに係
るアドレスのブロック状態が”DE”のキャッシュメモ
リが存在すると(ステップ162)、そのブロックのデ
ータがライトバックバス100を介して読出しアクセス
を出した処理装置に送られる(ステップ163)。そし
て、そのブロックのデータは主記憶制御部300により
主記憶400にも書き戻される(ステップ164)。こ
の場合、読出しアクセスを出した処理装置のキャッシュ
メモリおよび”DE”状態のブロックを有するキャッシ
ュメモリの当該ブロック状態は”CS”に設定される
(ステップ165)。ライトバックバス100上の2つ
のキャッシュメモリにより同一データが共有され、か
つ、主記憶と一致しているからである。また、ライトス
ルーバス200側のキャッシュメモリ221〜22mに
対して無効化処理が行われる(ステップ166)。この
場合、ライトスルーバス200に当該書込みに係るアド
レスが流され、ライトスルーバス200上の各処理装置
はそのアドレスに該当するキャッシュメモリのブロック
のブロック状態を”I”にする。
Referring to FIG. 3, the write back bus 10 is shown.
When the read access by the processing units 111 to 11n on the 0 side causes a mishit in the write back side cache memories 121 to 12n, the write back bus 10
The block state of the other cache memory on the 0 side is checked (step 161). As a result, if there is a cache memory in which the block state of the address related to the read is "DE" (step 162), the data of the block is sent to the processing device that issued the read access via the write-back bus 100 (step). 163). Then, the data of the block is written back to the main memory 400 by the main memory control unit 300 (step 164). In this case, the block state of the cache memory of the processing device which issued the read access and the cache memory having the block in the "DE" state are set to "CS" (step 165). This is because the two cache memories on the write-back bus 100 share the same data and match the main memory. Further, the invalidation processing is performed on the cache memories 221 to 22m on the write through bus 200 side (step 166). In this case, the address related to the write is passed to the write-through bus 200, and each processing device on the write-through bus 200 sets the block state of the block of the cache memory corresponding to the address to "I".

【0026】上記ステップ161のチェックの結果、そ
の読出しに係るアドレスのブロック状態が”CS”また
は”CE”のキャッシュメモリが存在すると(ステップ
167)、そのブロックのデータがライトバックバス1
00を介して読出しアクセスを出した処理装置に送られ
る(ステップ168)。この場合、読出しアクセスを出
した処理装置のキャッシュメモリおよび”CS”また
は”CE”状態のブロックを有するキャッシュメモリの
当該ブロック状態は”CS”に設定される(ステップ1
69)。なお、ステップ168においては、データを主
記憶400から読み出すようにしてもよい。
As a result of the check in step 161, if there is a cache memory in which the block state of the address related to the read is "CS" or "CE" (step 167), the data of the block is written in the write-back bus 1.
Sent via 00 to the processing device that issued the read access (step 168). In this case, the block state of the cache memory of the processing device that issued the read access and the cache memory having the block in the "CS" or "CE" state is set to "CS" (step 1).
69). In step 168, the data may be read from the main memory 400.

【0027】上記ステップ161のチェックの結果、そ
の読出しに係るアドレスのブロック状態が”CS”また
は”CE”であるキャッシュメモリが存在しないと(ス
テップ167)、そのブロックのデータが主記憶400
から読み出され、ライトバックバス100を介して読出
しアクセスを出した処理装置に送られる(ステップ17
1)。この場合、読出しアクセスを出した処理装置のキ
ャッシュメモリの当該ブロック状態は”CE”に設定さ
れる(ステップ172)。
As a result of the check in step 161, if there is no cache memory in which the block state of the address related to the read is "CS" or "CE" (step 167), the data in the block is stored in the main memory 400.
Read from the processor and sent via the write-back bus 100 to the processor that issued the read access (step 17).
1). In this case, the block state of the cache memory of the processing device that issued the read access is set to "CE" (step 172).

【0028】なお、ライトバックバス100側の処理装
置111〜11nによる書込みアクセスが、ライトバッ
ク側キャッシュメモリ121〜12nにおいてミスヒッ
トした場合には、まず上述の図3の読出しミスヒットの
処理を行い、続いて上述の図2の書込みヒットの処理を
行う。ブロックの一部分に書き込む場合があり得るた
め、一旦当該ブロックを読み出した後、そのブロックに
対して書き込む必要があるからである。
When a write access by the processing units 111 to 11n on the write back bus 100 side causes a mishit in the write back side cache memories 121 to 12n, the read mishit process shown in FIG. 3 is first performed. Then, the above-described write hit processing of FIG. 2 is performed. This is because it may be necessary to write to a part of the block, and it is necessary to read the block once and then write to the block.

【0029】図4を参照すると、ライトスルーバス20
0側の処理装置211〜21nから読出しアクセスが発
行された場合には、ライトバックバス100側の他のキ
ャッシュメモリのブロック状態がチェックされる(ステ
ップ251)。この結果、その読出しに係るアドレスの
ブロック状態が”DE”のキャッシュメモリが存在する
と(ステップ252)、そのブロックのデータがライト
バックバス100、主記憶制御部300およびライトス
ルーバス200を介して読出しアクセスを出した処理装
置に送られる(ステップ253)。そして、そのブロッ
クのデータは主記憶制御部300により主記憶400に
も書き戻される(ステップ254)。この場合、”D
E”状態のブロックを有するキャッシュメモリの当該ブ
ロック状態は”CE”に設定される(ステップ26
5)。
Referring to FIG. 4, the write-through bus 20
When a read access is issued from the 0-side processing units 211 to 21n, the block state of the other cache memory on the write-back bus 100 side is checked (step 251). As a result, if there is a cache memory in which the block state of the address related to the read is "DE" (step 252), the data in the block is read via the write back bus 100, the main memory control unit 300, and the write through bus 200. It is sent to the processing device that issued the access (step 253). Then, the data of the block is written back to the main memory 400 by the main memory control unit 300 (step 254). In this case, "D
The block state of the cache memory having the block in the E "state is set to" CE "(step 26).
5).

【0030】上記ステップ251のチェックの結果、そ
の読出しに係るアドレスのブロック状態が”CS”また
は”CE”のキャッシュメモリが存在すると(ステップ
256)、そのブロックのデータがライトバックバス1
00、主記憶制御部300およびライトスルーバス20
0を介して読出しアクセスを出した処理装置に送られる
(ステップ257)。なお、このステップ257におい
ては、データを主記憶400から読み出すようにしても
よい。
As a result of the check in step 251, if there is a cache memory in which the block state of the address related to the read is "CS" or "CE" (step 256), the data in the block is written in the write-back bus 1.
00, main memory controller 300 and write-through bus 20
It is sent via 0 to the processing device which issued the read access (step 257). In this step 257, the data may be read from the main memory 400.

【0031】上記ステップ251のチェックの結果、そ
の読出しに係るアドレスのブロック状態が”CS”また
は”CE”であるキャッシュメモリが存在しないと(ス
テップ256)、そのブロックのデータが主記憶400
から読み出され、ライトスルーバス200を介して読出
しアクセスを出した処理装置に送られる(ステップ25
8)。
As a result of the check in step 251, if there is no cache memory in which the block state of the read address is "CS" or "CE" (step 256), the data in the block is stored in the main memory 400.
Read from the processor and sent via the write-through bus 200 to the processor that issued the read access (step 25).
8).

【0032】これらの読出しアクセスの場合、読出しア
クセスを出した処理装置のキャッシュメモリの当該ブロ
ック状態は”V”に設定される(ステップ259)。
In the case of these read accesses, the block state of the cache memory of the processing device which issued the read access is set to "V" (step 259).

【0033】図5を参照すると、ライトスルーバス20
0側の処理装置211〜21nから書込みアクセスが発
行された場合には、まず、図4の読出しアクセスの場合
と同様の処理が行われる(ステップ271)。その書込
みがブロックの一部分に対する書込みである場合には、
ライトバックバス100側のブロックを一旦受け取らな
いと矛盾が発生してしまうからである。このステップ2
71の処理により、書込みアクセスを発行した処理装置
のキャッシュメモリのブロックに最新のデータが書き込
まれる。
Referring to FIG. 5, the write-through bus 20
When a write access is issued from the processing units 211 to 21n on the 0 side, first, the same processing as in the case of the read access of FIG. 4 is performed (step 271). If the write is for a portion of the block,
This is because a contradiction occurs if the block on the write-back bus 100 side is not received once. This step 2
By the processing of 71, the latest data is written in the block of the cache memory of the processing device that issued the write access.

【0034】そして、ライトスルーバス200側のその
処理装置のキャッシュメモリのブロックにおいて書込み
データが書き込まれる(ステップ272)。また、その
ブロックのデータは主記憶制御部300により主記憶4
00にも書き戻される(ステップ273)。この場合、
ライトバックバス100側のキャッシュメモリ121〜
12mに対して無効化処理が行われる(ステップ27
4)。すなわち、ライトバックバス100に当該書込み
に係るアドレスが流され、ライトバックバス100上の
各処理装置はそのアドレスに該当するキャッシュメモリ
のブロックのブロック状態を”I”にする。
Then, the write data is written in the block of the cache memory of the processing device on the write through bus 200 side (step 272). The data of the block is stored in the main memory 4 by the main memory control unit 300.
It is also written back to 00 (step 273). in this case,
The cache memory 121 to the write back bus 100 side
Invalidation processing is performed on 12 m (step 27).
4). That is, an address related to the write is sent to the write-back bus 100, and each processing device on the write-back bus 100 sets the block state of the block of the cache memory corresponding to the address to "I".

【0035】このように、本発明の一実施例である情報
処理装置によれば、ライトバックプロトコルにより動作
するライトバックバス100に接続される処理装置11
1〜11nと、ライトスループロトコルにより動作する
ライトスルーバス200に接続される処理装置211〜
21nとを共存させることができる。
As described above, according to the information processing apparatus of the embodiment of the present invention, the processing unit 11 connected to the write-back bus 100 which operates according to the write-back protocol.
1 to 11n and processing devices 211 to 211 connected to the write-through bus 200 that operates according to the write-through protocol.
21n can coexist.

【0036】なお、上記一実施例では、各処理装置がキ
ャッシュメモリを含む構成について説明したが、処理装
置の外部にキャッシュメモリを設けて、バス100また
は200に処理装置を接続してその各処理装置にキャッ
シュメモリを接続するように構成してもよい。また、処
理装置の外部にキャッシュメモリを設けて、バス100
または200に各キャッシュメモリを接続してその各キ
ャッシュメモリに処理装置を接続するように構成しても
よい。これらの構成は処理装置やキャッシュメモリの実
装に際して適した構成を採用できる。
In the above embodiment, each processing device has been described as including a cache memory. However, a cache memory is provided outside the processing device, and the processing device is connected to the bus 100 or 200 to perform each processing. A cache memory may be connected to the device. In addition, a cache memory is provided outside the processing device so that the bus 100
Alternatively, each cache memory may be connected to 200, and the processing device may be connected to each cache memory. As these configurations, configurations suitable for mounting the processing device and the cache memory can be adopted.

【0037】[0037]

【発明の効果】以上の説明で明らかなように、本発明に
よると、ライトバックプロトコルにより動作する処理装
置と、ライトスループロトコルにより動作する処理装置
とを同一の情報処理装置内に混在させることができる。
これにより、各処理装置に適した構成をとることがで
き、機能分散型構成による情報処理装置をバランス良く
構築することができる。
As is apparent from the above description, according to the present invention, a processing device that operates according to the write-back protocol and a processing device that operates according to the write-through protocol can be mixed in the same information processing device. it can.
As a result, a configuration suitable for each processing device can be adopted, and an information processing device having a function-distributed configuration can be constructed in a well-balanced manner.

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

【図1】本発明の情報処理装置の一実施例の構成を示す
ブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an embodiment of an information processing apparatus according to the present invention.

【図2】本発明の一実施例のライトバック側処理装置に
おける書込みヒットの動作を表す図である。
FIG. 2 is a diagram showing a write hit operation in the write-back side processing device of one embodiment of the present invention.

【図3】本発明の一実施例のライトバック側処理装置に
おける読出しミスヒットの動作を表す図である。
FIG. 3 is a diagram showing a read mishit operation in the write-back side processing device of one embodiment of the present invention.

【図4】本発明の一実施例のライトスルー側処理装置に
おける読出し処理の動作を表す図である。
FIG. 4 is a diagram showing an operation of read processing in the write-through processing device according to the embodiment of the present invention.

【図5】本発明の一実施例のライトスルー側処理装置に
おける書込み処理の動作を表す図である。
FIG. 5 is a diagram showing an operation of a writing process in the write-through processing device according to the embodiment of the present invention.

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

100 ライトバックバス 111〜11n ライトバック側処理装置 121〜12n ライトバック側キャッシュメモリ 200 ライトスルーバス 211〜21m ライトスルー側処理装置 221〜22m ライトスルー側キャッシュメモリ 300 主記憶制御部 400 主記憶 100 write-back bus 111-11n write-back side processing device 121-12n write-back side cache memory 200 write-through bus 211-21m write-through side processing device 221-22m write-through side cache memory 300 main memory control unit 400 main memory

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 主記憶と、 各々がキャッシュ記憶を接続する複数の処理装置からな
る第一の処理装置群と、 これら第一の処理装置群を接続しこれら処理装置間の情
報を伝達する第一の情報伝達手段と、 各々がキャッシュ記憶を接続する複数の処理装置からな
る第二の処理装置群と、 これら第一の処理装置群を接続しこれら処理装置間の情
報を伝達する第二の情報伝達手段と、 前記第一の情報伝達手段と前記第二の情報伝達手段とを
接続し前記第一の処理装置群または前記第二の処理装置
群からの前記主記憶へのアクセスを行うとともに前記第
一の処理装置群と前記第二の処理装置群との間の情報を
伝達する主記憶制御手段とを含み、 前記第一の処理装置群同士はキャッシュ無矛盾化プロト
コルとしてライトバックプロトコルを使用し、 前記第二の処理装置群同士はキャッシュ無矛盾化プロト
コルとしてライトスループロトコルを使用し、 前記第一の処理装置群のいずれか一つのキャッシュ記憶
のみに含まれるデータに対して書込みが発生した場合ま
たは前記第一の処理装置群のいずれか一つのキャッシュ
記憶のみに含まれるデータが主記憶に書き込まれた場合
には、第二の処理装置群の各キャッシュ記憶に該データ
を含むものがあればそのデータを無効化し、 前記第二の処理装置群のいずれかの処理装置において書
込みアクセスまたは読出しアクセスが発行された場合に
該当データが前記第一の処理装置群のキャッシュ記憶
に存在すれば前記第一の処理装置群のキャッシュ記憶か
ら前記第二の処理装置群のうち前記アクセスを発行した
処理装置に対して直接該データが転送され、 前記第二の処理装置群のいずれかの処理装置において前
記主記憶に対して書込みアクセスが発行された場合には
前記第一の処理装置群に対して前記第一の処理装置群の
キャッシュ記憶の無効化が指示されることを特徴とする
情報処理装置。
1. A first processing device group comprising a main memory, a plurality of processing devices each connecting a cache memory, and a first processing device group for connecting the first processing device group and transmitting information between these processing devices. One information transmission means, a second processing device group consisting of a plurality of processing devices each connecting a cache memory, and a second processing device group for connecting the first processing device group and transmitting information between these processing devices. While connecting the information transmitting means, the first information transmitting means and the second information transmitting means to access the main memory from the first processing device group or the second processing device group Main memory control means for transmitting information between the first processing device group and the second processing device group, wherein the first processing device group uses a write-back protocol as a cache-consistent protocol And before The second processing unit group uses a write-through protocol as a cache consistency protocol, and when a write occurs in data included in only one cache storage of the first processing unit group, or When data included in only one cache memory of one processing unit group is written to the main memory, if there is a data containing the data in each cache memory of the second processing unit group, the data is If the write access or the read access is issued by any of the processing units of the second processing unit group that is invalidated, the corresponding data is stored in the cache of the first processing unit group.
If it exists in the cache, is it the cache memory of the first processing unit group?
Issued the access from the second processing device group
When the data is directly transferred to the processing device and a write access is issued to the main memory in any one of the processing devices of the second processing device group , the data is transferred to the first processing device group. The information processing apparatus is instructed to invalidate the cache storage of the first processing apparatus group.
【請求項2】 主記憶と、各々がキャッシュ記憶を接続
する複数の処理装置からなる第一の処理装置群と、各々
がキャッシュ記憶を接続する複数の処理装置からなる第
二の処理装置群とを含む情報処理装置において、 前記第一の処理装置群の処理装置において読出しアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれていた場合には、該キャッシュ記憶から
データが読み出され、 前記第一の処理装置群の処理装置において書込みアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれていた場合には、該キャッシュ記憶のデ
ータを更新し、前記第一の処理装置群または前記第二の
処理装置群の各キャッシュ記憶に該データを含むものが
あればそのデータを無効化し、 前記第一の処理装置群の処理装置において読出しアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれず、かつ、前記第一の処理装置群の各キ
ャッシュ記憶のいずれか一つのみに主記憶の内容と異な
る該データが含まれている場合は、該データがそのキャ
ッシュ記憶から読み出され、 前記第一の処理装置群の処理装置において読出しアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれず、かつ、前記第一の処理装置群の各キ
ャッシュ記憶のいずれか一つのみに主記憶の内容と異な
る該データが含まれている場合において、前記第二の処
理装置群の各キャッシュ記憶に該データを含むものがあ
ればそのデータを無効化し、 前記第一の処理装置群の処理装置において読出しアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれず、かつ、前記第一の処理装置群の各キ
ャッシュ記憶のいずれかが主記憶と一致する該データを
含む場合は、該データがそのキャッシュ記憶から読み出
され、 前記第一の処理装置群の処理装置において読出しアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれず、かつ、前記第一の処理装置群の各キ
ャッシュ記憶のいずれかもが該データを含まない場合
は、該データが主記憶から読み出され、 前記第一の処理装置群の処理装置において書込みアクセ
スの目的とするデータが該処理装置に接続するキャッシ
ュ記憶に含まれていない場合には、前記第一の処理装置
群の処理装置において読出しアクセスの目的とするデー
タが該処理装置に接続するキャッシュ記憶に含まれてい
ない場合の処理を行った後、前記第一の処理装置群の処
理装置において書込みアクセスの目的とするデータが該
処理装置に接続するキャッシュ記憶に含まれていた場合
の処理を行い、 前記第一の処理装置群の各キャッシュ記憶のいずれか一
つのみに含まれて主記憶の内容と異なるデータに、前記
第二の処理装置群の処理装置から読出しアクセスがあっ
た場合、該データがそのキャッシュ記憶から読み出さ
れ、 前記第一の処理装置群の各キャッシュ記憶のいずれかに
含まれて主記憶の内容と一致するデータに、前記第二の
処理装置群の処理装置から読出しアクセスがあった場
合、該データがそのキャッシュ記憶から読み出され、 前記第一の処理装置群の各キャッシュ記憶のいずれにも
含まれないデータに、前記第二の処理装置群の処理装置
から読出しアクセスがあった場合、該データが主記憶か
ら読み出され、 前記第二の処理装置群の処理装置において書込みアクセ
スがあった場合、前記第二の処理装置群の処理装置にお
いて読出しアクセスがあった場合の処理を行った後、書
込みデータをその処理装置に接続されるキャッシュ記憶
と前記主記憶に書き込むとともに、前記第一の処理装置
群の各キャッシュ記憶に該データを含むものがあればそ
のデータを無効化することを特徴とする情報処理装置。
2. A main memory and a cache memory connected to each other
A first processing device group consisting of a plurality of processing devices,
Comprises a plurality of processing units connecting cache storage
An information processing device including a second processing device group, a read access in the processing device of the first processing device group.
The cache that the target data of the server connects to the processing device.
If it is included in the cache memory,
The data is read and the write access is performed in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
If it is included in the cache memory, the cache memory
Data to update the first processing device group or the second processing device group.
The one that contains the data in each cache memory of the processor group
If so, the data is invalidated, and the read access is performed in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
Memory, and each key of the first processing unit group
Only one of the cache memories differs from the contents of the main memory.
If the data is included in the
Read from the cache memory and read in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
Memory, and each key of the first processing unit group
Only one of the cache memories differs from the contents of the main memory.
If the data is included in
Each cache memory of the processing device group contains the data.
If so, the data is invalidated, and the read access is performed in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
Memory, and each key of the first processing unit group
Cache data that matches one of the main memories
If so, the data is read from its cache store
Read access in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
Memory, and each key of the first processing unit group
If any of the cached memories do not contain the data
The data is read from the main memory, and the write access is performed in the processing unit of the first processing unit group.
The cache that the target data of the server connects to the processing device.
If not included in the memory, the first processing device
Data targeted for read access in the group of processors.
Data is included in the cache memory connected to the processor.
After performing the processing for the case where there is no
If the data targeted for write access is
If it is included in the cache memory connected to the processing unit
Processing is performed, and one of the cache memories of the first processing device group is
Data included in only one
Read access from a processor in the second processor group
If the data is read from its cache store,
And  Any one of the cache memories of the first processing unit group
The data that is included in the main memory and matches the contents of the second
If there is a read access from the processing device of the processing device group.
If the data is read from its cache store,  In each of the cache memories of the first processing unit group
The data not included in the processing devices of the second processing device group
If there is a read access from the
Read from  In the processing unit of the second processing unit group, write access
If there is a gap in the processing device of the second processing device group,
Access and read access, and then write
Cache storage of embedded data connected to its processor
And write to the main memory and the first processing device
If each cache store in the group contains the data,
An information processing device characterized by invalidating the data of the.
JP6079032A 1994-04-18 1994-04-18 Information processing device Expired - Lifetime JP2689899B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6079032A JP2689899B2 (en) 1994-04-18 1994-04-18 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6079032A JP2689899B2 (en) 1994-04-18 1994-04-18 Information processing device

Publications (2)

Publication Number Publication Date
JPH07287670A JPH07287670A (en) 1995-10-31
JP2689899B2 true JP2689899B2 (en) 1997-12-10

Family

ID=13678595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6079032A Expired - Lifetime JP2689899B2 (en) 1994-04-18 1994-04-18 Information processing device

Country Status (1)

Country Link
JP (1) JP2689899B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04123151A (en) * 1990-09-13 1992-04-23 Fujitsu Ltd System bus

Also Published As

Publication number Publication date
JPH07287670A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
CA1306312C (en) Write-shared cache circuit for multiprocessor system
US4445174A (en) Multiprocessing system including a shared cache
US7814279B2 (en) Low-cost cache coherency for accelerators
US7017011B2 (en) Coherence controller for a multiprocessor system, module, and multiprocessor system with a multimodule architecture incorporating such a controller
US6519685B1 (en) Cache states for multiprocessor cache coherency protocols
US5706463A (en) Cache coherent computer system that minimizes invalidation and copyback operations
KR101497002B1 (en) Snoop filtering mechanism
US6640289B2 (en) Software controlled cache line ownership affinity enhancements in a multiprocessor environment
EP0743601A2 (en) A system and method for improving cache performance in a multiprocessing system
US6772298B2 (en) Method and apparatus for invalidating a cache line without data return in a multi-node architecture
JPH09259036A (en) Write-back cache and method for maintaining consistency in write-back cache
JPH09223118A (en) Snoop cache memory control system
US6587922B2 (en) Multiprocessor system
JPH0950400A (en) Multiprocessor system
JP3009430B2 (en) Processor and cache memory control method thereof
JPH04230549A (en) Multilevel cache
JP2689899B2 (en) Information processing device
JP2002268943A (en) Cache memory device
JPH06187239A (en) Data coincidence control system for multi-layered cache memory
JPH11102321A (en) Cache coherency control system of decentralized common memory parallel computer
JP3365488B2 (en) Memory sharing type multiprocessor system
JP2852247B2 (en) Shared memory multiprocessor system
KR0145454B1 (en) Multi-processor having distributed shared memory
JPH11212869A (en) Cache memory control method and multiprocessor system using the control method
JPH11212868A (en) Snoop cash memory control 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: 19970729