JPH04337854A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH04337854A JPH04337854A JP3110218A JP11021891A JPH04337854A JP H04337854 A JPH04337854 A JP H04337854A JP 3110218 A JP3110218 A JP 3110218A JP 11021891 A JP11021891 A JP 11021891A JP H04337854 A JPH04337854 A JP H04337854A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- speed memory
- memory
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 abstract description 245
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、いわゆるキャッシュメ
モリを有するデータ処理装置に関し、更に詳述すれば、
中央処理装置と、中央処理装置が最近において使用した
データを一時的に保持する比較的小容量の高速メモリ装
置(キャッシュメモリ)とを一組として複数備え、各高
速メモリ装置がデータ転送バスを介して比較的大容量の
低速メモリ装置(主メモリ)に接続されているマルチプ
ロセッサシステム用のデータ処理装置に関する。
モリを有するデータ処理装置に関し、更に詳述すれば、
中央処理装置と、中央処理装置が最近において使用した
データを一時的に保持する比較的小容量の高速メモリ装
置(キャッシュメモリ)とを一組として複数備え、各高
速メモリ装置がデータ転送バスを介して比較的大容量の
低速メモリ装置(主メモリ)に接続されているマルチプ
ロセッサシステム用のデータ処理装置に関する。
【0002】
【従来の技術】図4はキャッシュメモリを有するマルチ
プロセッサシステム用の従来のデータ処理装置の構成例
を示すブロック図である。
プロセッサシステム用の従来のデータ処理装置の構成例
を示すブロック図である。
【0003】図4において、参照符号21は第1の中央
処理装置 (以下、第1CPUという) であり、31
は第1CPU21が最近において使用したデータを一時
的に保持する第1の高速メモリ装置 (以下、第1キャ
ッシュメモリという) である。また、参照符号22は
第2の中央処理装置 (以下、第2CPUという) で
あり、32は第2CPU22が最近において使用したデ
ータを一時的に保持する第2の高速メモリ装置 (以下
、第2キャッシュメモリという) である。両キャッシ
ュメモリ31, 32はデータ転送バス手段 (以下、
バスという) 6に接続されており、バス6にはシステ
ム全体の共有メモリである低速共有メモリ装置 (以下
、主メモリという) 1が接続されている。
処理装置 (以下、第1CPUという) であり、31
は第1CPU21が最近において使用したデータを一時
的に保持する第1の高速メモリ装置 (以下、第1キャ
ッシュメモリという) である。また、参照符号22は
第2の中央処理装置 (以下、第2CPUという) で
あり、32は第2CPU22が最近において使用したデ
ータを一時的に保持する第2の高速メモリ装置 (以下
、第2キャッシュメモリという) である。両キャッシ
ュメモリ31, 32はデータ転送バス手段 (以下、
バスという) 6に接続されており、バス6にはシステ
ム全体の共有メモリである低速共有メモリ装置 (以下
、主メモリという) 1が接続されている。
【0004】なお、両キャッシュメモリ31, 32は
高速ではあるが比較的小容量であり、主メモリ1は低速
ではあるが比較的大容量である。
高速ではあるが比較的小容量であり、主メモリ1は低速
ではあるが比較的大容量である。
【0005】図5は両キャッシュメモリ31, 32の
共通の構成を示す模式図である。両キャッシュメモリ3
1, 32は、データのディレクトリ情報を格納するデ
ィレクトリ部300 と、データそのものを格納するデ
ータメモリ部301 とで構成されている。
共通の構成を示す模式図である。両キャッシュメモリ3
1, 32は、データのディレクトリ情報を格納するデ
ィレクトリ部300 と、データそのものを格納するデ
ータメモリ部301 とで構成されている。
【0006】ディレクトリ部300 には、タグ情報部
302 と、バリッドビット部303 と、ダーティビ
ット部304 とが設けられており、それぞれがデータ
メモリ部301 に格納されているデータと1対1で対
応するタグ情報と、バリッドビットVと、ダーティビッ
トDとを格納する。タグ情報部302 に格納されるタ
グ情報は、データメモリ部301に格納されているデー
タが主メモリ1のいずれのアドレスに格納されているデ
ータと対応するかを示すブロック番号である。バリッド
ビット部303 に格納されるバリッドビットVは、タ
グ情報部302 の対応するタグ情報の有効性を示す情
報であり、”1” であれば有効を、”0” であれば
無効をそれぞれ示す。ダーティビット部304 に格納
されるダーティビットDは、タグ情報部302 の対応
するタグ情報の最新性を示す情報であり、”1” であ
れば最新であることを示す。これらの一組のタグ情報,
バリッドビットV及びダーティビットDとでデータメモ
リ部301 に格納されてる一つのデータのディレクト
リ情報を構成する。
302 と、バリッドビット部303 と、ダーティビ
ット部304 とが設けられており、それぞれがデータ
メモリ部301 に格納されているデータと1対1で対
応するタグ情報と、バリッドビットVと、ダーティビッ
トDとを格納する。タグ情報部302 に格納されるタ
グ情報は、データメモリ部301に格納されているデー
タが主メモリ1のいずれのアドレスに格納されているデ
ータと対応するかを示すブロック番号である。バリッド
ビット部303 に格納されるバリッドビットVは、タ
グ情報部302 の対応するタグ情報の有効性を示す情
報であり、”1” であれば有効を、”0” であれば
無効をそれぞれ示す。ダーティビット部304 に格納
されるダーティビットDは、タグ情報部302 の対応
するタグ情報の最新性を示す情報であり、”1” であ
れば最新であることを示す。これらの一組のタグ情報,
バリッドビットV及びダーティビットDとでデータメモ
リ部301 に格納されてる一つのデータのディレクト
リ情報を構成する。
【0007】なお、両ビットV,Dの値の組合わせによ
るデータメモリ部301 に格納されているデータの状
態は以下の(1), (2) 及び(3) のように
なる。
るデータメモリ部301 に格納されているデータの状
態は以下の(1), (2) 及び(3) のように
なる。
【0008】(1) バリッドビットVが”0” であ
る場合はダーティビットDの値のいかんに拘わらず、対
応するデータメモリ部301 のデータは無効である。 (2) バリッドビットVが”1” であり且つダーテ
ィビットDが”0” である場合は、対応するデータメ
モリ部301 のデータは有効であり且つ主メモリ1の
対応するアドレスに格納されているデータと一致してい
る。 (3) バリッドビットVが”1” であり且つダーテ
ィビットDが”1” である場合は、対応するデータメ
モリ部301 のデータは有効であるが主メモリ1の対
応するアドレスに格納されているデータとは一致してお
らず、データメモリ部301 に格納されているデータ
が主メモリ1に格納されているデータよりも新しい。
る場合はダーティビットDの値のいかんに拘わらず、対
応するデータメモリ部301 のデータは無効である。 (2) バリッドビットVが”1” であり且つダーテ
ィビットDが”0” である場合は、対応するデータメ
モリ部301 のデータは有効であり且つ主メモリ1の
対応するアドレスに格納されているデータと一致してい
る。 (3) バリッドビットVが”1” であり且つダーテ
ィビットDが”1” である場合は、対応するデータメ
モリ部301 のデータは有効であるが主メモリ1の対
応するアドレスに格納されているデータとは一致してお
らず、データメモリ部301 に格納されているデータ
が主メモリ1に格納されているデータよりも新しい。
【0009】次に、上述のような構成のキャッシュメモ
リを有する従来のマルチプロセッサシステム用のデータ
処理装置の動作について以下に説明する。
リを有する従来のマルチプロセッサシステム用のデータ
処理装置の動作について以下に説明する。
【0010】ここでは一例として、第1CPU21が第
1キャッシュメモリ31からデータを読出し、続いて第
2CPU22が第2キャッシュメモリ32から同一のデ
ータを読出す場合について説明する。図6はそのような
場合において、最新のデータが主メモリ1に存在する場
合の処理手順を示すフローチャートである。
1キャッシュメモリ31からデータを読出し、続いて第
2CPU22が第2キャッシュメモリ32から同一のデ
ータを読出す場合について説明する。図6はそのような
場合において、最新のデータが主メモリ1に存在する場
合の処理手順を示すフローチャートである。
【0011】まず、第1CPU21が第1キャッシュメ
モリ31に対してデータの読出しをそのデータのアドレ
スを第1キャッシュメモリ31へ与えることにより要求
する (ステップS1)。第1キャッシュメモリ31は
読出しを要求されているデータのアドレスが第1CPU
21から与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS2)。
モリ31に対してデータの読出しをそのデータのアドレ
スを第1キャッシュメモリ31へ与えることにより要求
する (ステップS1)。第1キャッシュメモリ31は
読出しを要求されているデータのアドレスが第1CPU
21から与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS2)。
【0012】この結果、第1CPU21から読出しが要
求されているデータのアドレスと一致するタグ情報がタ
グ情報部302 に存在し、且つそのバリッドビット部
303 の対応するバリッドビットVが”1” である
場合はヒットしたことになる。この場合には、第1キャ
ッシュメモリ31はデータメモリ部301 の該当する
データを第1CPU21へ出力する (ステップS3)
。
求されているデータのアドレスと一致するタグ情報がタ
グ情報部302 に存在し、且つそのバリッドビット部
303 の対応するバリッドビットVが”1” である
場合はヒットしたことになる。この場合には、第1キャ
ッシュメモリ31はデータメモリ部301 の該当する
データを第1CPU21へ出力する (ステップS3)
。
【0013】一方、上述の検索の結果、読出しが要求さ
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 の対応するバリッドビットVが”
0” である場合はミスしたことになる。この場合は、
第1キャッシュメモリ31には第1CPU21が読出し
を要求しているデータは格納されていないので、第1C
PU21は主メモリ1に対してデータの読出しを要求す
る (ステップS4)。第1CPU21が読出しを要求
しているデータが主メモリ1に存在している場合は、そ
のデータはバス6へ出力されて第1キャッシュメモリ3
1に読込まれる (ステップS5)。この際、第1キャ
ッシュメモリ31のバリッドビット部303 の対応す
るバリッドビットVは”1” に、ダーティビット部3
04 の対応するダーティビットDは”0” にそれぞ
れセットされる。
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 の対応するバリッドビットVが”
0” である場合はミスしたことになる。この場合は、
第1キャッシュメモリ31には第1CPU21が読出し
を要求しているデータは格納されていないので、第1C
PU21は主メモリ1に対してデータの読出しを要求す
る (ステップS4)。第1CPU21が読出しを要求
しているデータが主メモリ1に存在している場合は、そ
のデータはバス6へ出力されて第1キャッシュメモリ3
1に読込まれる (ステップS5)。この際、第1キャ
ッシュメモリ31のバリッドビット部303 の対応す
るバリッドビットVは”1” に、ダーティビット部3
04 の対応するダーティビットDは”0” にそれぞ
れセットされる。
【0014】このようにして、第1CPU21が読出し
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの読出しを要求す
る (ステップS1)。この時点では、第1CPU21
が読出しを要求しているデータは第1キャッシュメモリ
31に存在しているので、ヒットする。即ち、第1CP
U21は自身が読出しを要求しているデータを第1キャ
ッシュメモリ31から読込むことが出来る (ステップ
S2, S3)。
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの読出しを要求す
る (ステップS1)。この時点では、第1CPU21
が読出しを要求しているデータは第1キャッシュメモリ
31に存在しているので、ヒットする。即ち、第1CP
U21は自身が読出しを要求しているデータを第1キャ
ッシュメモリ31から読込むことが出来る (ステップ
S2, S3)。
【0015】続いて、第2CPU22が第2キャッシュ
メモリ32に対してデータの読出しをそのデータのアド
レスを第2キャッシュメモリ32へ与えることにより要
求する (ステップS6)。第2キャッシュメモリ32
は、第2CPU22が読出しを要求しているデータのア
ドレスが与えられると、上述の第1キャッシュメモリ3
1での場合と同様にしてデータの検索を行う (ステッ
プS7)。この結果、ヒットすれば第2キャッシュメモ
リ32は第2CPU22が読出しを要求しているデータ
をデータメモリ部301 から読出して第2CPU22
へ出力する (ステップS8)。ミスした場合は、上述
の第1キャッシュメモリ31での場合と同様に、主メモ
リ1からバス6を介して該当するデータを読出してデー
タメモリ部301 に格納し (ステップS10)、バ
リッドビット部303 の対応するバリッドビットVを
”1” に、ダーティビット部304 の対応するダー
ティビットDを”0” にそれぞれセットする。この後
、第2CPU22は自身が読出しを要求しているデータ
の読出しを再度第2キャッシュメモリ32に対して行う
(ステップS6)。この時点では、前述の第1CPU
21での場合と同様にヒットするので (ステップS7
)、第2キャッシュメモリ32は該当するデータをデー
タメモリ部301 から読出して第2CPU22へ出力
し、第2CPU22は読出しを要求しているデータを読
込むことが出来る (ステップS8)。
メモリ32に対してデータの読出しをそのデータのアド
レスを第2キャッシュメモリ32へ与えることにより要
求する (ステップS6)。第2キャッシュメモリ32
は、第2CPU22が読出しを要求しているデータのア
ドレスが与えられると、上述の第1キャッシュメモリ3
1での場合と同様にしてデータの検索を行う (ステッ
プS7)。この結果、ヒットすれば第2キャッシュメモ
リ32は第2CPU22が読出しを要求しているデータ
をデータメモリ部301 から読出して第2CPU22
へ出力する (ステップS8)。ミスした場合は、上述
の第1キャッシュメモリ31での場合と同様に、主メモ
リ1からバス6を介して該当するデータを読出してデー
タメモリ部301 に格納し (ステップS10)、バ
リッドビット部303 の対応するバリッドビットVを
”1” に、ダーティビット部304 の対応するダー
ティビットDを”0” にそれぞれセットする。この後
、第2CPU22は自身が読出しを要求しているデータ
の読出しを再度第2キャッシュメモリ32に対して行う
(ステップS6)。この時点では、前述の第1CPU
21での場合と同様にヒットするので (ステップS7
)、第2キャッシュメモリ32は該当するデータをデー
タメモリ部301 から読出して第2CPU22へ出力
し、第2CPU22は読出しを要求しているデータを読
込むことが出来る (ステップS8)。
【0016】ところで、上述の動作例では、主メモリ1
から第1キャッシュメモリ31へデータを読出す際のス
テップS5と、主メモリ1から第2キャッシュメモリ3
2へデータを読出す際のステップS10とでそれぞれバ
ス6を使用するため、バス6を2回使用することになる
。
から第1キャッシュメモリ31へデータを読出す際のス
テップS5と、主メモリ1から第2キャッシュメモリ3
2へデータを読出す際のステップS10とでそれぞれバ
ス6を使用するため、バス6を2回使用することになる
。
【0017】次に、第1CPU21が第1キャッシュメ
モリ31に対してデータの書込みを行い、その際に第2
キャッシュメモリ32の同一アドレスライン、即ちタグ
情報が共通なデータ群に対してデータの無効化を行う動
作について説明する。図7はそのような場合の、最新の
データが主メモリ1に存在する場合の処理手順を示すフ
ローチャートである。
モリ31に対してデータの書込みを行い、その際に第2
キャッシュメモリ32の同一アドレスライン、即ちタグ
情報が共通なデータ群に対してデータの無効化を行う動
作について説明する。図7はそのような場合の、最新の
データが主メモリ1に存在する場合の処理手順を示すフ
ローチャートである。
【0018】まず、第1CPU21が第1キャッシュメ
モリ31に対してデータの書込みをそのデータのアドレ
スを第1キャッシュメモリ31に与えることにより要求
する (ステップS11)。第1キャッシュメモリ31
は、第1CPU21が書込みを要求しているデータのア
ドレスが与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS12)。
モリ31に対してデータの書込みをそのデータのアドレ
スを第1キャッシュメモリ31に与えることにより要求
する (ステップS11)。第1キャッシュメモリ31
は、第1CPU21が書込みを要求しているデータのア
ドレスが与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS12)。
【0019】この結果、書込みが要求されているデータ
のアドレスと一致するタグ情報がタグ情報部302 に
存在し、且つそのバリッドビット部303 の対応する
バリッドビットVが”1” である場合はヒットしたこ
とになる。この場合には、第1キャッシュメモリ31は
データメモリ部301 の該当するデータを第1CPU
21が書込みを要求しているデータに書換えることによ
りデータの書込みを行う (ステップS13)。
のアドレスと一致するタグ情報がタグ情報部302 に
存在し、且つそのバリッドビット部303 の対応する
バリッドビットVが”1” である場合はヒットしたこ
とになる。この場合には、第1キャッシュメモリ31は
データメモリ部301 の該当するデータを第1CPU
21が書込みを要求しているデータに書換えることによ
りデータの書込みを行う (ステップS13)。
【0020】一方、上述の検索の結果、書込みが要求さ
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 のバリッドビットVが”0” で
ある場合はミスしたことになる。この場合は、第1キャ
ッシュメモリ31には第1CPU21が書込みを要求し
ているデータは格納されていないので、第1CPU21
は主メモリ1に対してデータの読出しを要求する (ス
テップS14)。第1CPU21が書込みを要求してい
るデータが主メモリ1に存在している場合は、そのデー
タはバス6へ出力されて第1キャッシュメモリ31に読
込まれる (ステップS15)。この際、第1キャッシ
ュメモリ31のバリッドビット部303の対応するバリ
ッドビットVは”1” に、ダーティビット部304
の対応するダーティビットDは”0” にそれぞれセッ
トされる。
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 のバリッドビットVが”0” で
ある場合はミスしたことになる。この場合は、第1キャ
ッシュメモリ31には第1CPU21が書込みを要求し
ているデータは格納されていないので、第1CPU21
は主メモリ1に対してデータの読出しを要求する (ス
テップS14)。第1CPU21が書込みを要求してい
るデータが主メモリ1に存在している場合は、そのデー
タはバス6へ出力されて第1キャッシュメモリ31に読
込まれる (ステップS15)。この際、第1キャッシ
ュメモリ31のバリッドビット部303の対応するバリ
ッドビットVは”1” に、ダーティビット部304
の対応するダーティビットDは”0” にそれぞれセッ
トされる。
【0021】このようにして、第1CPU21が書込み
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの書込みを要求す
る (ステップS11)。この時点では、第1CPU2
1が書込みを要求しているデータは第1キャッシュメモ
リ31に存在しているので、ヒットする。即ち、第1C
PU21は自身が書込みを要求しているデータを第1キ
ャッシュメモリ31に書込むことが出来る (ステップ
S12, S13)。
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの書込みを要求す
る (ステップS11)。この時点では、第1CPU2
1が書込みを要求しているデータは第1キャッシュメモ
リ31に存在しているので、ヒットする。即ち、第1C
PU21は自身が書込みを要求しているデータを第1キ
ャッシュメモリ31に書込むことが出来る (ステップ
S12, S13)。
【0022】ところで、上述のようにして第1CPU2
1により第1キャッシュメモリ31に書込まれたデータ
と同一のアドレスラインのが第2キャッシュメモリ32
に存在している場合 (第2キャッシュメモリ32のタ
グ情報部302 のタグ情報が一致していて且つバリッ
ドビット部303 の対応するバリッドビットVが”1
” である場合) 、そのアドレスラインのデータを無
効化する必要がある。このため、第1キャッシュメモリ
31はバス6に対してデータの無効化を要求する信号を
出力する。これにより、第2キャッシュメモリ32のバ
リッドビット部303 の対応するバリッドビットVが
”0” にセットされて無効化される (ステップS1
6)。
1により第1キャッシュメモリ31に書込まれたデータ
と同一のアドレスラインのが第2キャッシュメモリ32
に存在している場合 (第2キャッシュメモリ32のタ
グ情報部302 のタグ情報が一致していて且つバリッ
ドビット部303 の対応するバリッドビットVが”1
” である場合) 、そのアドレスラインのデータを無
効化する必要がある。このため、第1キャッシュメモリ
31はバス6に対してデータの無効化を要求する信号を
出力する。これにより、第2キャッシュメモリ32のバ
リッドビット部303 の対応するバリッドビットVが
”0” にセットされて無効化される (ステップS1
6)。
【0023】ところで、上述の動作例では、主メモリ1
から第1キャッシュメモリ31へデータを読込む際のス
テップS15と、第2キャッシュメモリ32のデータを
無効化する際のステップS16とでそれぞれバス6を使
用するため、バス6を2回使用することになる。
から第1キャッシュメモリ31へデータを読込む際のス
テップS15と、第2キャッシュメモリ32のデータを
無効化する際のステップS16とでそれぞれバス6を使
用するため、バス6を2回使用することになる。
【0024】
【発明が解決しようとする課題】キャッシュメモリを有
する従来のマルチプロセッサシステム用のデータ処理装
置は以上に説明したように構成され且つ動作するため、
複数のCPU(中央処理装置) が順次的にキャッシュ
メモリの同一アドレスラインからデータを読出す際に各
CPU がバスを順次的に複数回使用する。しかし、バ
スを一つのCPU が使用している間は他のCPU は
バスを使用することが出来ないため、バスの使用頻度が
高い場合にはデータ処理装置全体の処理効率が低下する
という問題がある。
する従来のマルチプロセッサシステム用のデータ処理装
置は以上に説明したように構成され且つ動作するため、
複数のCPU(中央処理装置) が順次的にキャッシュ
メモリの同一アドレスラインからデータを読出す際に各
CPU がバスを順次的に複数回使用する。しかし、バ
スを一つのCPU が使用している間は他のCPU は
バスを使用することが出来ないため、バスの使用頻度が
高い場合にはデータ処理装置全体の処理効率が低下する
という問題がある。
【0025】本発明はこのような事情に鑑みてなされた
ものであり、バスの使用率を削減して全体の処理効率を
向上させたデータ処理装置の提供を目的とする。
ものであり、バスの使用率を削減して全体の処理効率を
向上させたデータ処理装置の提供を目的とする。
【0026】
【課題を解決するための手段】本発明の第1の発明では
、1個のCPU(中央処理装置) がデータの読出しを
キャッシュメモリ (高速メモリ装置) に要求した場
合にキャッシュメモリがそのデータを保持していなけれ
ば、データを保持していないこと及びデータの読出しが
要求されたことを他の各キャッシュメモリに通知する手
段を有している。
、1個のCPU(中央処理装置) がデータの読出しを
キャッシュメモリ (高速メモリ装置) に要求した場
合にキャッシュメモリがそのデータを保持していなけれ
ば、データを保持していないこと及びデータの読出しが
要求されたことを他の各キャッシュメモリに通知する手
段を有している。
【0027】本発明の第2の発明では、1個のCPU(
中央処理装置) がデータの書込みをキャッシュメモリ
(高速メモリ装置) に要求した場合にキャッシュメ
モリがそのデータを保持していなければ、データを保持
していないこと及びデータの書込みが要求されたことを
他の各キャッシュメモリに通知する手段を有している。
中央処理装置) がデータの書込みをキャッシュメモリ
(高速メモリ装置) に要求した場合にキャッシュメ
モリがそのデータを保持していなければ、データを保持
していないこと及びデータの書込みが要求されたことを
他の各キャッシュメモリに通知する手段を有している。
【0028】
【作用】本発明の第1の発明では、1個の CPUがデ
ータの読出しをキャッシュメモリに要求した場合にキャ
ッシュメモリがそのデータを保持していなければ、デー
タを保持していないこと及びデータの読出しが要求され
たことが他の各キャッシュメモリに通知され、他のキャ
ッシュメモリではデータの読出しが要求されたキャッシ
ュメモリが当該データを含むデータ群を主メモリ (低
速メモリ装置) から読込む際に同時にそのデータ群を
読込むことにより、各キャッシュメモリの内容の一致が
維持されると共にデータの先取りが行われる。
ータの読出しをキャッシュメモリに要求した場合にキャ
ッシュメモリがそのデータを保持していなければ、デー
タを保持していないこと及びデータの読出しが要求され
たことが他の各キャッシュメモリに通知され、他のキャ
ッシュメモリではデータの読出しが要求されたキャッシ
ュメモリが当該データを含むデータ群を主メモリ (低
速メモリ装置) から読込む際に同時にそのデータ群を
読込むことにより、各キャッシュメモリの内容の一致が
維持されると共にデータの先取りが行われる。
【0029】本発明の第1の発明では、1個の CPU
がデータの書込みをキャッシュメモリに要求した場合に
キャッシュメモリがそのデータを保持していなければ、
データを保持していないこと及びデータの書込みが要求
されたことが他の各キャッシュメモリに通知され、他の
キャッシュメモリではデータの書込みが要求されたキャ
ッシュメモリが当該データを含むデータ群を主メモリ
(低速メモリ装置) から読込む際に、そのデータ群を
保持している場合には同時にそのデータ群を無効化する
ことにより、キャッシュメモリの内容の一致が維持され
る。
がデータの書込みをキャッシュメモリに要求した場合に
キャッシュメモリがそのデータを保持していなければ、
データを保持していないこと及びデータの書込みが要求
されたことが他の各キャッシュメモリに通知され、他の
キャッシュメモリではデータの書込みが要求されたキャ
ッシュメモリが当該データを含むデータ群を主メモリ
(低速メモリ装置) から読込む際に、そのデータ群を
保持している場合には同時にそのデータ群を無効化する
ことにより、キャッシュメモリの内容の一致が維持され
る。
【0030】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。
いて詳述する。
【0031】図1は本発明のキャッシュメモリを有する
マルチプロセッサシステム用のデータ処理装置の構成の
一実施例を示すブロック図である。なお、図1と従来例
の構成を示す図4とにおいて同一符号は同一、又は相当
部分を示す。
マルチプロセッサシステム用のデータ処理装置の構成の
一実施例を示すブロック図である。なお、図1と従来例
の構成を示す図4とにおいて同一符号は同一、又は相当
部分を示す。
【0032】図1において、参照符号21は第1の中央
処理装置 (以下、第1CPUという) であり、31
は第1CPU21が最近において使用したデータを一時
的に保持する第1の高速メモリ装置 (以下、第1キャ
ッシュメモリという) である。また、参照符号22は
第2の中央処理装置 (以下、第2CPUという) で
あり、32は第2CPU22が最近において使用したデ
ータを一時的に保持する第2の高速メモリ装置 (以下
、第2キャッシュメモリという) である。両キャッシ
ュメモリ31, 32はデータ転送バス手段 (以下、
バスという) 6に接続されており、バス6にはシステ
ム全体の共有メモリである低速共有メモリ装置 (以下
、主メモリという) 1が接続されている。
処理装置 (以下、第1CPUという) であり、31
は第1CPU21が最近において使用したデータを一時
的に保持する第1の高速メモリ装置 (以下、第1キャ
ッシュメモリという) である。また、参照符号22は
第2の中央処理装置 (以下、第2CPUという) で
あり、32は第2CPU22が最近において使用したデ
ータを一時的に保持する第2の高速メモリ装置 (以下
、第2キャッシュメモリという) である。両キャッシ
ュメモリ31, 32はデータ転送バス手段 (以下、
バスという) 6に接続されており、バス6にはシステ
ム全体の共有メモリである低速共有メモリ装置 (以下
、主メモリという) 1が接続されている。
【0033】またバス6には、データミスヒット通知用
信号線7と、ミスヒット属性通知用信号線8とが併せて
設けられており、それぞれの信号線7, 8は各キャッ
シュメモリ31, 32にも接続されている。データミ
スヒット通知用信号線7は第1キャッシュメモリ31ま
たは第2キャッシュメモリ32においてキャッシュミス
が発生した場合に他方の第2キャッシュメモリ32また
は第1キャッシュメモリ31へそれを通知するために使
用され、ミスヒット属性通知用信号線8は第1キャッシ
ュメモリ31または第2キャッシュメモリ32において
キャッシュミスが発生した場合に他方の第2キャッシュ
メモリ32または第1キャッシュメモリ31へデータの
読出し動作であるかまたは書込み動作であるかを通知す
るために使用される。
信号線7と、ミスヒット属性通知用信号線8とが併せて
設けられており、それぞれの信号線7, 8は各キャッ
シュメモリ31, 32にも接続されている。データミ
スヒット通知用信号線7は第1キャッシュメモリ31ま
たは第2キャッシュメモリ32においてキャッシュミス
が発生した場合に他方の第2キャッシュメモリ32また
は第1キャッシュメモリ31へそれを通知するために使
用され、ミスヒット属性通知用信号線8は第1キャッシ
ュメモリ31または第2キャッシュメモリ32において
キャッシュミスが発生した場合に他方の第2キャッシュ
メモリ32または第1キャッシュメモリ31へデータの
読出し動作であるかまたは書込み動作であるかを通知す
るために使用される。
【0034】なお、両キャッシュメモリ31, 32は
高速ではあるが比較的小容量であり、主メモリ1は低速
ではあるが比較的大容量である。また、両キャッシュメ
モリ31, 32の構成は前述の従来例と同様であり、
図5に示されている如くである。
高速ではあるが比較的小容量であり、主メモリ1は低速
ではあるが比較的大容量である。また、両キャッシュメ
モリ31, 32の構成は前述の従来例と同様であり、
図5に示されている如くである。
【0035】次に、上述のような構成の本発明のキャッ
シュメモリを有する本発明のマルチプロセッサシステム
用のデータ処理装置の動作について以下に説明する。こ
こでは一例として、第1CPU21が第1キャッシュメ
モリ31からデータを読出し、続いて第2CPU22が
第2キャッシュメモリ32から同一のデータを読出す場
合について説明する。但し、第1CPU21により第1
キャッシュメモリ31から読出される最新のデータが第
2キャッシュメモリ32には存在しないことを前提とす
る。図2はそのような場合において、最新のデータが主
メモリ1に存在する場合の処理手順を示すフローチャー
トである。
シュメモリを有する本発明のマルチプロセッサシステム
用のデータ処理装置の動作について以下に説明する。こ
こでは一例として、第1CPU21が第1キャッシュメ
モリ31からデータを読出し、続いて第2CPU22が
第2キャッシュメモリ32から同一のデータを読出す場
合について説明する。但し、第1CPU21により第1
キャッシュメモリ31から読出される最新のデータが第
2キャッシュメモリ32には存在しないことを前提とす
る。図2はそのような場合において、最新のデータが主
メモリ1に存在する場合の処理手順を示すフローチャー
トである。
【0036】まず、第1CPU21が第1キャッシュメ
モリ31に対してデータの読出しをそのデータのアドレ
スを第1キャッシュメモリ31へ与えることにより要求
する (ステップS21)。第1キャッシュメモリ31
は読出しを要求されているデータのアドレスが第1CP
U21から与えられると、該当するデータを格納してい
るか否かを調べるためにタグ情報部302 を検索する
(ステップS22)。
モリ31に対してデータの読出しをそのデータのアドレ
スを第1キャッシュメモリ31へ与えることにより要求
する (ステップS21)。第1キャッシュメモリ31
は読出しを要求されているデータのアドレスが第1CP
U21から与えられると、該当するデータを格納してい
るか否かを調べるためにタグ情報部302 を検索する
(ステップS22)。
【0037】この結果、第1CPU21から読出しが要
求されているデータのアドレスと一致するタグ情報がタ
グ情報部302 に存在し、且つそのバリッドビット部
303 の対応するバリッドビットVが”1” である
場合はヒットしたことになる。この場合には、第1キャ
ッシュメモリ31はデータメモリ部301 の該当する
データを第1CPU21へ出力する (ステップS23
)。
求されているデータのアドレスと一致するタグ情報がタ
グ情報部302 に存在し、且つそのバリッドビット部
303 の対応するバリッドビットVが”1” である
場合はヒットしたことになる。この場合には、第1キャ
ッシュメモリ31はデータメモリ部301 の該当する
データを第1CPU21へ出力する (ステップS23
)。
【0038】一方、上述の検索の結果、読出しが要求さ
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 の対応するバリッドビットVが”
0” である場合はミスしたことになる。この場合は、
第1キャッシュメモリ31には第1CPU21が読出し
を要求しているデータは格納されていないので、第1C
PU21は主メモリ1に対してデータの読出しを要求す
る (ステップS24)。また同時に、第1キャッシュ
メモリ31はデータミスヒット通知用信号線7を介して
キャッシュミスしたことをバス6へ通知すると共に、ミ
スヒット属性通知用信号線8を介してデータ読出し動作
であることを通知する(ステップS25)。
れているデータのアドレスと一致するタグ情報がタグ情
報部302 に存在しないか、あるいは存在してもバリ
ッドビット部303 の対応するバリッドビットVが”
0” である場合はミスしたことになる。この場合は、
第1キャッシュメモリ31には第1CPU21が読出し
を要求しているデータは格納されていないので、第1C
PU21は主メモリ1に対してデータの読出しを要求す
る (ステップS24)。また同時に、第1キャッシュ
メモリ31はデータミスヒット通知用信号線7を介して
キャッシュミスしたことをバス6へ通知すると共に、ミ
スヒット属性通知用信号線8を介してデータ読出し動作
であることを通知する(ステップS25)。
【0039】第1CPU21が読出しを要求しているデ
ータが主メモリ1に存在している場合は、そのデータは
バス6へ出力されて第1キャッシュメモリ31に読込ま
れる (ステップS26)。この際、第1キャッシュメ
モリ31のバリッドビット部303 の対応するバリッ
ドビットVは”1” に、ダーティビット部304 の
対応するダーティビットDは”0” にそれぞれセット
される。
ータが主メモリ1に存在している場合は、そのデータは
バス6へ出力されて第1キャッシュメモリ31に読込ま
れる (ステップS26)。この際、第1キャッシュメ
モリ31のバリッドビット部303 の対応するバリッ
ドビットVは”1” に、ダーティビット部304 の
対応するダーティビットDは”0” にそれぞれセット
される。
【0040】同時に、第2キャッシュメモリ32は、デ
ータミスヒット通知用信号線7及びミスヒット属性通知
用信号線8を監視しており、第1キャッシュメモリ31
において読出しミスが発生したと判断する。これにより
、第2キャッシュメモリ32は第1キャッシュメモリ3
1がミスしたアドレスと一致するタグ情報がタグ情報部
302 に存在し且つそのバリッドビット部303 の
対応するバリッドビットVが”1” であるか否かを調
べる。一致するタグ情報が存在し且つそのバリッドビッ
トVが”1” である場合には、主メモリ1からバス6
へ出力されたデータを第2キャッシュメモリ32も読込
み、バリッドビット部303 の対応するバリッドビッ
トVを”1” に、ダーティビット部304 の対応す
るダーティビットDを”0” にそれぞれセットする
(ステップS26)。
ータミスヒット通知用信号線7及びミスヒット属性通知
用信号線8を監視しており、第1キャッシュメモリ31
において読出しミスが発生したと判断する。これにより
、第2キャッシュメモリ32は第1キャッシュメモリ3
1がミスしたアドレスと一致するタグ情報がタグ情報部
302 に存在し且つそのバリッドビット部303 の
対応するバリッドビットVが”1” であるか否かを調
べる。一致するタグ情報が存在し且つそのバリッドビッ
トVが”1” である場合には、主メモリ1からバス6
へ出力されたデータを第2キャッシュメモリ32も読込
み、バリッドビット部303 の対応するバリッドビッ
トVを”1” に、ダーティビット部304 の対応す
るダーティビットDを”0” にそれぞれセットする
(ステップS26)。
【0041】このようにして、第1CPU21が読出し
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの読出しを要求す
る (ステップS21)。この時点では、第1CPU2
1が読出しを要求しているデータは第1キャッシュメモ
リ31に存在しているので、ヒットする。即ち、第1C
PU21は自身が読出しを要求しているデータを第1キ
ャッシュメモリ31から読込むことが出来る (ステッ
プS22, S23)。
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの読出しを要求す
る (ステップS21)。この時点では、第1CPU2
1が読出しを要求しているデータは第1キャッシュメモ
リ31に存在しているので、ヒットする。即ち、第1C
PU21は自身が読出しを要求しているデータを第1キ
ャッシュメモリ31から読込むことが出来る (ステッ
プS22, S23)。
【0042】続いて、第2CPU22が第2キャッシュ
メモリ32に対してデータの読出しをそのデータのアド
レスを第2キャッシュメモリ32へ与えることにより要
求する (ステップS27)。第2キャッシュメモリ3
2は、第2CPU22が読出しを要求しているデータの
アドレスが与えられると、上述の第1キャッシュメモリ
31での場合と同様にしてデータの検索を行う。しかし
この時点では、前述の第1CPU21がデータの読出し
を行った際に第2キャッシュメモリ32にもその同一の
データが格納されているため必ずヒットするので、第2
キャッシュメモリ32は該当するデータをデータメモリ
部301 から読出して第2CPU22へ出力し、第2
CPU22は読出しを要求しているデータを読込むこと
が出来る(ステップS28)。
メモリ32に対してデータの読出しをそのデータのアド
レスを第2キャッシュメモリ32へ与えることにより要
求する (ステップS27)。第2キャッシュメモリ3
2は、第2CPU22が読出しを要求しているデータの
アドレスが与えられると、上述の第1キャッシュメモリ
31での場合と同様にしてデータの検索を行う。しかし
この時点では、前述の第1CPU21がデータの読出し
を行った際に第2キャッシュメモリ32にもその同一の
データが格納されているため必ずヒットするので、第2
キャッシュメモリ32は該当するデータをデータメモリ
部301 から読出して第2CPU22へ出力し、第2
CPU22は読出しを要求しているデータを読込むこと
が出来る(ステップS28)。
【0043】ところで、上述の動作例では、主メモリ1
から第2キャッシュメモリ32へデータを読出す必要は
なく、主メモリ1から第1キャッシュメモリ31と第2
キャッシュメモリ32とへ同時にデータを読出す際にス
テップS26でバス6を1回使用するのみである。
から第2キャッシュメモリ32へデータを読出す必要は
なく、主メモリ1から第1キャッシュメモリ31と第2
キャッシュメモリ32とへ同時にデータを読出す際にス
テップS26でバス6を1回使用するのみである。
【0044】次に、第1CPU21が第1キャッシュメ
モリ31に対してデータの書込みを行い、その際に第2
キャッシュメモリ32の同一アドレスラインに対してデ
ータの無効化を行う動作について説明する。図3はその
ような場合の、最新のデータが主メモリ1に存在する場
合の処理手順を示すフローチャートである。
モリ31に対してデータの書込みを行い、その際に第2
キャッシュメモリ32の同一アドレスラインに対してデ
ータの無効化を行う動作について説明する。図3はその
ような場合の、最新のデータが主メモリ1に存在する場
合の処理手順を示すフローチャートである。
【0045】まず、第1CPU21が第1キャッシュメ
モリ31に対してデータの書込みをそのデータのアドレ
スを第1キャッシュメモリ31に与えることにより要求
する (ステップS31)。第1キャッシュメモリ31
は、第1CPU21が書込みを要求しているデータのア
ドレスが与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS32)。
モリ31に対してデータの書込みをそのデータのアドレ
スを第1キャッシュメモリ31に与えることにより要求
する (ステップS31)。第1キャッシュメモリ31
は、第1CPU21が書込みを要求しているデータのア
ドレスが与えられると、該当するデータを格納している
か否かを調べるためにタグ情報部302 を検索する
(ステップS32)。
【0046】この結果、書込みが要求されているデータ
のアドレスと一致するタグ情報がタグ情報部302 に
存在し、且つそのバリッドビット部303 の対応する
バリッドビットVが”1” である場合はヒットしたこ
とになる。この場合には、第1キャッシュメモリ31は
データメモリ部301 の該当するデータを第1CPU
21が書込みを要求しているデータに書換えることによ
りデータの書込みを行う (ステップS33)。
のアドレスと一致するタグ情報がタグ情報部302 に
存在し、且つそのバリッドビット部303 の対応する
バリッドビットVが”1” である場合はヒットしたこ
とになる。この場合には、第1キャッシュメモリ31は
データメモリ部301 の該当するデータを第1CPU
21が書込みを要求しているデータに書換えることによ
りデータの書込みを行う (ステップS33)。
【0047】なおこの場合、第2キャッシュメモリ32
は第1キャッシュメモリ31がヒットしたアドレスと一
致するタグ情報がタグ情報部302 に存在し且つその
バリッドビット部303 の対応するバリッドビットV
が”1” であるか否かを調べる。一致するタグ情報が
存在し且つそのバリッドビットVが”1” である場合
には、そのデータと同一アドレスラインのデータを無効
化する。 (ステップS34)。
は第1キャッシュメモリ31がヒットしたアドレスと一
致するタグ情報がタグ情報部302 に存在し且つその
バリッドビット部303 の対応するバリッドビットV
が”1” であるか否かを調べる。一致するタグ情報が
存在し且つそのバリッドビットVが”1” である場合
には、そのデータと同一アドレスラインのデータを無効
化する。 (ステップS34)。
【0048】一方、上述の検索の結果、第1CPU21
から書込みが要求されているデータのアドレスと一致す
るタグ情報がタグ情報部302 に存在しないか、ある
いは存在してもバリッドビット部303 の対応するバ
リッドビットVが”0” である場合は、ミスしたこと
になる。この場合は、第1キャッシュメモリ31には第
1CPU21が書込みを要求しているデータは格納され
ていないので、第1CPU21は主メモリ1に対してデ
ータの読出しを要求する (ステップS35)。また同
時に、第1キャッシュメモリ31はデータミスヒット通
知用信号線7を介してミスしたことをバス6へ通知する
と共に、ミスヒット属性通知用信号線8を介してデータ
書込み動作であることを通知する (ステップS36)
。
から書込みが要求されているデータのアドレスと一致す
るタグ情報がタグ情報部302 に存在しないか、ある
いは存在してもバリッドビット部303 の対応するバ
リッドビットVが”0” である場合は、ミスしたこと
になる。この場合は、第1キャッシュメモリ31には第
1CPU21が書込みを要求しているデータは格納され
ていないので、第1CPU21は主メモリ1に対してデ
ータの読出しを要求する (ステップS35)。また同
時に、第1キャッシュメモリ31はデータミスヒット通
知用信号線7を介してミスしたことをバス6へ通知する
と共に、ミスヒット属性通知用信号線8を介してデータ
書込み動作であることを通知する (ステップS36)
。
【0049】第1CPU21が書込みを要求しているデ
ータが主メモリ1に存在している場合は、そのデータは
バス6へ出力されて第1キャッシュメモリ31に読込ま
れる (ステップS37)。この際、第1キャッシュメ
モリ31のバリッドビット部303 の対応するバリッ
ドビットVは”1” に、ダーティビット部304 の
対応するダーティビットDは”0” にそれぞれセット
される。
ータが主メモリ1に存在している場合は、そのデータは
バス6へ出力されて第1キャッシュメモリ31に読込ま
れる (ステップS37)。この際、第1キャッシュメ
モリ31のバリッドビット部303 の対応するバリッ
ドビットVは”1” に、ダーティビット部304 の
対応するダーティビットDは”0” にそれぞれセット
される。
【0050】同時に、第2キャッシュメモリ32は、デ
ータミスヒット通知用信号線7及びミスヒット属性通知
用信号線8を監視しており、第1キャッシュメモリ31
において書込みミスが発生したと判断する。これにより
、第2キャッシュメモリ32は第1キャッシュメモリ3
1がミスしたアドレスと一致するタグ情報がタグ情報部
302 に存在し且つそのバリッドビット部303 の
対応するバリッドビットVが”1” であるか否かを調
べる。一致するタグ情報が存在し且つそのバリッドビッ
トVが”1” である場合には、そのデータと同一アド
レスラインのデータを無効化する。この無効化の動作は
、第1キャッシュメモリ31による主メモリ1からのデ
ータの読込みと同時に行われる (ステップS37)。 そして、第2キャッシュメモリ32のバリッドビット部
303 の対応するバリッドビットVは”0” にセッ
トされる。
ータミスヒット通知用信号線7及びミスヒット属性通知
用信号線8を監視しており、第1キャッシュメモリ31
において書込みミスが発生したと判断する。これにより
、第2キャッシュメモリ32は第1キャッシュメモリ3
1がミスしたアドレスと一致するタグ情報がタグ情報部
302 に存在し且つそのバリッドビット部303 の
対応するバリッドビットVが”1” であるか否かを調
べる。一致するタグ情報が存在し且つそのバリッドビッ
トVが”1” である場合には、そのデータと同一アド
レスラインのデータを無効化する。この無効化の動作は
、第1キャッシュメモリ31による主メモリ1からのデ
ータの読込みと同時に行われる (ステップS37)。 そして、第2キャッシュメモリ32のバリッドビット部
303 の対応するバリッドビットVは”0” にセッ
トされる。
【0051】このようにして、第1CPU21が書込み
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの書込みを要求す
る (ステップS31)。この時点では、第1CPU2
1が書込みを要求しているデータは第1キャッシュメモ
リ31に存在しているので、必ずヒットする。即ち、第
1CPU21は自身が書込みを要求しているデータを第
1キャッシュメモリ31に書込むことが出来る (ステ
ップS32, S33)。
を要求しているデータが主メモリ1から第1キャッシュ
メモリ31に読込まれると、第1CPU21は再度第1
キャッシュメモリ31に対してデータの書込みを要求す
る (ステップS31)。この時点では、第1CPU2
1が書込みを要求しているデータは第1キャッシュメモ
リ31に存在しているので、必ずヒットする。即ち、第
1CPU21は自身が書込みを要求しているデータを第
1キャッシュメモリ31に書込むことが出来る (ステ
ップS32, S33)。
【0052】ところで、上述の動作例では、主メモリ1
から第1キャッシュメモリ31へデータを読出す際にス
テップS37でバス6を1回使用するのみである。なお
上記実施例では、 CPUとキャッシュメモリとを二組
備えたシステムについて説明したが、任意の組数の C
PUとキャッシュメモリとに本発明は適用可能である。 また複数の CPU全てがキャッシュメモリを有してい
る必要はなく、少なくとも二つの CPUがそれぞれキ
ャッシュメモリを有していればよい。
から第1キャッシュメモリ31へデータを読出す際にス
テップS37でバス6を1回使用するのみである。なお
上記実施例では、 CPUとキャッシュメモリとを二組
備えたシステムについて説明したが、任意の組数の C
PUとキャッシュメモリとに本発明は適用可能である。 また複数の CPU全てがキャッシュメモリを有してい
る必要はなく、少なくとも二つの CPUがそれぞれキ
ャッシュメモリを有していればよい。
【0053】
【発明の効果】以上に詳述した如く本発明のデータ処理
装置の第1の発明によれば、データの読出しに際してキ
ャッシュミスした場合、データの読出しが要求されたキ
ャッシュメモリが主メモリから当該データを含むデータ
群を読込む際に他の各キャッシュメモリも同時にそのデ
ータ群を読込むので、バスは1回のみの使用で済む。従
って、バスの使用回数が削減され、装置全体の処理効率
が向上する。
装置の第1の発明によれば、データの読出しに際してキ
ャッシュミスした場合、データの読出しが要求されたキ
ャッシュメモリが主メモリから当該データを含むデータ
群を読込む際に他の各キャッシュメモリも同時にそのデ
ータ群を読込むので、バスは1回のみの使用で済む。従
って、バスの使用回数が削減され、装置全体の処理効率
が向上する。
【0054】また第2の発明によれば、データの書込に
際してキャッシュミスした場合、データの書込みが要求
されたキャッシュメモリが主メモリから当該データを含
むデータ群を読込む際に他の各キャッシュメモリはその
データ群を保持していれば同時にそのデータ群を無効化
するので、バスは1回のみの使用で済む。従って、バス
の使用回数が削減され、装置全体の処理効率が向上する
。
際してキャッシュミスした場合、データの書込みが要求
されたキャッシュメモリが主メモリから当該データを含
むデータ群を読込む際に他の各キャッシュメモリはその
データ群を保持していれば同時にそのデータ群を無効化
するので、バスは1回のみの使用で済む。従って、バス
の使用回数が削減され、装置全体の処理効率が向上する
。
【図1】本発明のキャッシュメモリを有するマルチプロ
セッサシステム用のデータ処理装置の構成の一実施例を
示すブロック図である。
セッサシステム用のデータ処理装置の構成の一実施例を
示すブロック図である。
【図2】第1CPUが第1キャッシュメモリからデータ
を読出し、続いて第2CPUが第2キャッシュメモリか
ら同一のデータを読出す場合の処理手順を示すフローチ
ャートである。
を読出し、続いて第2CPUが第2キャッシュメモリか
ら同一のデータを読出す場合の処理手順を示すフローチ
ャートである。
【図3】第1CPUが第1キャッシュメモリに対してデ
ータの書込みを行い、その際に第2キャッシュメモリの
同一アドレスラインに対してデータの無効化を行う動作
の処理手順を示すフローチャートである。
ータの書込みを行い、その際に第2キャッシュメモリの
同一アドレスラインに対してデータの無効化を行う動作
の処理手順を示すフローチャートである。
【図4】キャッシュメモリを有するマルチプロセッサシ
ステム用の従来のデータ処理装置の構成例を示すブロッ
ク図である。
ステム用の従来のデータ処理装置の構成例を示すブロッ
ク図である。
【図5】キャッシュメモリの構成を示す模式図である。
【図6】第1CPUが第1キャッシュメモリからデータ
を読出し、続いて第2CPUが第2キャッシュメモリか
ら同一のデータを読出す場合の処理手順を示すフローチ
ャートである。
を読出し、続いて第2CPUが第2キャッシュメモリか
ら同一のデータを読出す場合の処理手順を示すフローチ
ャートである。
【図7】第1CPUが第1キャッシュメモリに対してデ
ータの書込みを行い、その際に第2キャッシュメモリの
同一アドレスラインに対してデータの無効化を行う動作
の処理手順を示すフローチャートである。
ータの書込みを行い、その際に第2キャッシュメモリの
同一アドレスラインに対してデータの無効化を行う動作
の処理手順を示すフローチャートである。
1 主メモリ
6 バス
7 データミスヒット通知用信号線8 ミ
スヒット属性通知用信号線21 第1CPU 22 第2CPU 31 第1キャッシュメモリ 32 第2キャッシュメモリ
スヒット属性通知用信号線21 第1CPU 22 第2CPU 31 第1キャッシュメモリ 32 第2キャッシュメモリ
Claims (2)
- 【請求項1】 少なくとも2個の中央処理装置と、こ
れらの中央処理装置に共有される低速メモリ装置と、前
記各中央処理装置それぞれに備えられて前記低速メモリ
装置に格納されているデータの一部を一時的に保持する
高速メモリ装置とを備え、1個の中央処理装置がそれに
備えられている高速メモリ装置にこれが保持していない
データの読出しを要求した場合に、前記低速メモリ装置
から当該データを含むデータ群を前記高速メモリ装置へ
読出して保持した後に当該データを前記中央処理装置が
読出すべくなしたデータ処理装置において、前記各高速
メモリ装置に、それぞれが備えられている中央処理装置
から読出しを要求されたデータを保持していない場合に
、その旨を他の高速メモリ装置へ通知する第1の手段と
、データの読出しが要求された旨を他の高速メモリ装置
へ通知する第2の手段とを備え、他の高速メモリ装置は
、前記第1及び第2の手段による通知を受けて、前記高
速メモリ装置が前記低速メモリ装置から当該データを含
むデータ群を読出す際に同時にそのデータ群を読込むべ
くなしてあることを特徴とするデータ処理装置。 - 【請求項2】 少なくとも2個の中央処理装置と、こ
れらの中央処理装置に共有される低速メモリ装置と、前
記各中央処理装置それぞれに備えられて前記低速メモリ
装置に格納されているデータの一部を一時的に保持する
高速メモリ装置とを備え、1個の中央処理装置がそれに
備えられている高速メモリ装置ににこれが保持していな
いデータの書込みを要求した場合に、前記低速メモリ装
置から当該データを含むデータ群を前記高速メモリ装置
へ読出して保持した後に当該データを前記中央処理装置
が書込むべくなしたデータ処理装置において、前記各高
速メモリ装置に、それぞれが備えられている中央処理装
置から書込みを要求されたデータを保持していない場合
に、その旨を他の高速メモリ装置へ通知する第1の手段
と、データの書込みが要求された旨を他の高速メモリ装
置へ通知する第3の手段とを備え、他の高速メモリ装置
は、前記第1及び第3の手段による通知を受けて、前記
高速メモリ装置が前記低速メモリ装置から当該データを
含むデータ群を読出す際に当該データを含むデータ群を
保持している場合は同時にそのデータ群を無効化すべく
なしてあることを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3110218A JPH04337854A (ja) | 1991-05-15 | 1991-05-15 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3110218A JPH04337854A (ja) | 1991-05-15 | 1991-05-15 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04337854A true JPH04337854A (ja) | 1992-11-25 |
Family
ID=14530073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3110218A Pending JPH04337854A (ja) | 1991-05-15 | 1991-05-15 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04337854A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274415A (ja) * | 1993-03-17 | 1994-09-30 | Nec Corp | 共有メモリシステム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02238534A (ja) * | 1989-03-13 | 1990-09-20 | Nippon I B M Kk | マルチプロセツサ・システム |
JPH02253356A (ja) * | 1989-03-28 | 1990-10-12 | Toshiba Corp | 階層キャッシュメモリ装置とその制御方式 |
-
1991
- 1991-05-15 JP JP3110218A patent/JPH04337854A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02238534A (ja) * | 1989-03-13 | 1990-09-20 | Nippon I B M Kk | マルチプロセツサ・システム |
JPH02253356A (ja) * | 1989-03-28 | 1990-10-12 | Toshiba Corp | 階層キャッシュメモリ装置とその制御方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274415A (ja) * | 1993-03-17 | 1994-09-30 | Nec Corp | 共有メモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3888769B2 (ja) | データ供給方法及びコンピュータ・システム | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US5652859A (en) | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues | |
US7032074B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
KR100194253B1 (ko) | 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템 | |
EP0674267B1 (en) | Sub-line cache coherent write transactions | |
US5526509A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
US6658538B2 (en) | Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control | |
US6418515B1 (en) | Cache flush unit | |
US5379394A (en) | Microprocessor with two groups of internal buses | |
JPH11506852A (ja) | 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減 | |
JP2000010860A (ja) | キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム | |
US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
US7117312B1 (en) | Mechanism and method employing a plurality of hash functions for cache snoop filtering | |
US7325102B1 (en) | Mechanism and method for cache snoop filtering | |
JPH0532775B2 (ja) | ||
KR100322223B1 (ko) | 대기행렬및스누프테이블을갖는메모리제어기 | |
JPH0551937B2 (ja) | ||
US6813694B2 (en) | Local invalidation buses for a highly scalable shared cache memory hierarchy | |
JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
JPH02184946A (ja) | キヤツシユ・バイパス装置 | |
US6553462B2 (en) | Multiprocessor computer system with sectored cache line mechanism for load and store operations | |
US6826655B2 (en) | Apparatus for imprecisely tracking cache line inclusivity of a higher level cache | |
US6826654B2 (en) | Cache invalidation bus for a highly scalable shared cache memory hierarchy | |
JPH04337854A (ja) | データ処理装置 |