JPH08202622A - 分散型メモリ構成のキャッシュ制御方法 - Google Patents
分散型メモリ構成のキャッシュ制御方法Info
- Publication number
- JPH08202622A JPH08202622A JP7013604A JP1360495A JPH08202622A JP H08202622 A JPH08202622 A JP H08202622A JP 7013604 A JP7013604 A JP 7013604A JP 1360495 A JP1360495 A JP 1360495A JP H08202622 A JPH08202622 A JP H08202622A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- memory area
- processor
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ローカルメモリ領域についてはアクセス競合
の低減化を、また共用メモリ領域についてはデータの最
新化を優先させるとともに、リードアクセスの際の同一
アドレスデータのコヒーレンシを確保することを目的と
する。 【構成】 ローカルメモリ領域と共用メモリ領域を有す
る分散型メモリ構成において、あるプロセッサからのラ
イト命令のアドレスがローカルメモリ領域アドレスの場
合には、ライト命令要求時に、要求元プロセッサのキャ
ッシュのみへの書込みを実行するとともに、同じローカ
ルメモリ領域を用いる他の各キャッシュの該当アドレス
の旧データを無効化し、また、前記ライト命令のアドレ
スが共用メモリ領域アドレスの場合には、ライト命令要
求時に、要求元プロセッサのキャッシュおよび前記共用
メモリ領域の両者への書込みを実行するとともに、他の
各キャッシュの該当アドレスの旧データを無効化する。
の低減化を、また共用メモリ領域についてはデータの最
新化を優先させるとともに、リードアクセスの際の同一
アドレスデータのコヒーレンシを確保することを目的と
する。 【構成】 ローカルメモリ領域と共用メモリ領域を有す
る分散型メモリ構成において、あるプロセッサからのラ
イト命令のアドレスがローカルメモリ領域アドレスの場
合には、ライト命令要求時に、要求元プロセッサのキャ
ッシュのみへの書込みを実行するとともに、同じローカ
ルメモリ領域を用いる他の各キャッシュの該当アドレス
の旧データを無効化し、また、前記ライト命令のアドレ
スが共用メモリ領域アドレスの場合には、ライト命令要
求時に、要求元プロセッサのキャッシュおよび前記共用
メモリ領域の両者への書込みを実行するとともに、他の
各キャッシュの該当アドレスの旧データを無効化する。
Description
【0001】
【産業上の利用分野】本発明は、分散型メモリ構成のキ
ャッシュ制御方法に関し、特にマルチプロセッサの一部
のプロセッサ単位ごとに対応したローカルメモリ領域と
マルチプロセッサのすべてのプロセッサに対応した共用
メモリ領域を有する分散型メモリ構成のキャッシュ制御
方法に関する。
ャッシュ制御方法に関し、特にマルチプロセッサの一部
のプロセッサ単位ごとに対応したローカルメモリ領域と
マルチプロセッサのすべてのプロセッサに対応した共用
メモリ領域を有する分散型メモリ構成のキャッシュ制御
方法に関する。
【0002】このような分散型メモリ構成を持つマルチ
プロセッサシステムのキャッシュ制御に際しては、ある
プロセッサやローカルメモリで故障が発生したときにそ
の影響がシステム全体に及ばないようにすることが要請
され、本発明はこのような要請に応えるものである。な
お、本明細書で用いる「プロセッサ」にはCPUやMP
Uなどが含まれる。
プロセッサシステムのキャッシュ制御に際しては、ある
プロセッサやローカルメモリで故障が発生したときにそ
の影響がシステム全体に及ばないようにすることが要請
され、本発明はこのような要請に応えるものである。な
お、本明細書で用いる「プロセッサ」にはCPUやMP
Uなどが含まれる。
【0003】
【従来の技術】図7は、従来の、分散型メモリ構成を持
つマルチプロセッサシステムにおけるキャッシュ制御方
法を示す説明図であり、41〜43はプロセッサ、44〜46は
各プロセッサのキャッシュ、47〜49は各プロセッサのロ
ーカルメモリ領域、50は共用メモリ領域をそれぞれ示し
ている。
つマルチプロセッサシステムにおけるキャッシュ制御方
法を示す説明図であり、41〜43はプロセッサ、44〜46は
各プロセッサのキャッシュ、47〜49は各プロセッサのロ
ーカルメモリ領域、50は共用メモリ領域をそれぞれ示し
ている。
【0004】ここで、ローカルメモリ領域のそれぞれは
対応するプロセッサから(例えばローカルメモリ領域47
はプロセッサ41から)個別にアクセスされるのに対し、
共用メモリ領域50はすべてのプロセッサ41〜43からアク
セスされる。
対応するプロセッサから(例えばローカルメモリ領域47
はプロセッサ41から)個別にアクセスされるのに対し、
共用メモリ領域50はすべてのプロセッサ41〜43からアク
セスされる。
【0005】ローカルメモリ領域および共用メモリ領域
へのライト命令の際には、・前者の場合、自キャッシュ
のデータ書込みを実行するだけで、自ローカルメモリ領
域のデータ書込みについてはその後で置き換えが必要と
なった時点などに実行し、・後者の場合、自キャッシュ
と共用メモリ領域の両者へのデータ書込みをライト命令
要求時に実行している。
へのライト命令の際には、・前者の場合、自キャッシュ
のデータ書込みを実行するだけで、自ローカルメモリ領
域のデータ書込みについてはその後で置き換えが必要と
なった時点などに実行し、・後者の場合、自キャッシュ
と共用メモリ領域の両者へのデータ書込みをライト命令
要求時に実行している。
【0006】本明細書では、ローカルメモリ領域への前
者のデータ書込み方式を「コピーバック方式」といい、
共用メモリ領域への後者のデータ書込み方式を「ライト
スルー方式」という。
者のデータ書込み方式を「コピーバック方式」といい、
共用メモリ領域への後者のデータ書込み方式を「ライト
スルー方式」という。
【0007】そして、このライトスルー方式とコピーバ
ック方式を併用することにより、共用メモリ領域50につ
いてはシステムの性能向上(アクセス競合の低減化)よ
りもシステムの高信頼性(データの最新化)を優先さ
せ、またローカルメモリ領域47〜49については逆にシス
テムの性能向上を優先させている。
ック方式を併用することにより、共用メモリ領域50につ
いてはシステムの性能向上(アクセス競合の低減化)よ
りもシステムの高信頼性(データの最新化)を優先さ
せ、またローカルメモリ領域47〜49については逆にシス
テムの性能向上を優先させている。
【0008】なお、ローカルメモリ領域へのライト命令
の対象キャッシュにそのアドレスがエントリーされてい
ないときにはキャッシュミスが発生し、この場合、ロー
カルメモリ領域から該当アドレス(ライト命令アドレ
ス)のデータを対象キャッシュにエントリーした後でこ
のキャッシュ領域への該当データの書込みがおこなわれ
る。
の対象キャッシュにそのアドレスがエントリーされてい
ないときにはキャッシュミスが発生し、この場合、ロー
カルメモリ領域から該当アドレス(ライト命令アドレ
ス)のデータを対象キャッシュにエントリーした後でこ
のキャッシュ領域への該当データの書込みがおこなわれ
る。
【0009】また、共用メモリ領域へのライト命令のさ
いのキャッシュミス発生時のキャッシュに対する処理方
式としては、 ・ローカルメモリ領域の場合と同様の手順で該当データ
の書込みをおこなう ・データ書込みのための処理は実行しない の両者がある。
いのキャッシュミス発生時のキャッシュに対する処理方
式としては、 ・ローカルメモリ領域の場合と同様の手順で該当データ
の書込みをおこなう ・データ書込みのための処理は実行しない の両者がある。
【0010】
【発明が解決しようとする課題】このように、従来の分
散型メモリ構成におけるキャッシュ制御方法では、ロー
カルメモリ領域と共用メモリ領域とのアクセス環境の違
いに基づきそれぞれのメモリ書込み方式を使い分けてい
るが、自キャッシュへの書込みの際に他キャッシュの同
一アドレス領域のデータについての無効化をおこなって
いないので、リード命令の際に旧データのままのキャッ
シュにヒットしてそれを用いてしまうことが生じる。
散型メモリ構成におけるキャッシュ制御方法では、ロー
カルメモリ領域と共用メモリ領域とのアクセス環境の違
いに基づきそれぞれのメモリ書込み方式を使い分けてい
るが、自キャッシュへの書込みの際に他キャッシュの同
一アドレス領域のデータについての無効化をおこなって
いないので、リード命令の際に旧データのままのキャッ
シュにヒットしてそれを用いてしまうことが生じる。
【0011】例えば、プロセッサ41からのライト命令に
より自らのキャッシュ44および共用メモリ領域50のある
アドレスA1 にデータD1が書き込まれた後で別のプロセ
ッサ42がこのアドレスA1 に対するリード命令を出した
場合、 ・プロセッサ42のキャッシュ45でキャッシュミスが発生
すると共用メモリ領域50の前記アドレスA1 の領域を必
ず参照するので本来の正しいデータが読み込まれるが、 ・プロセッサ42のキャッシュ45にヒットすると当該キャ
ッシュのアドレスA1 のデータ、すなわちプロセッサ41
からのライト命令により書き込まれた本来のデータD1で
はなく当該書込み前の旧データが読み込まれることにな
る。
より自らのキャッシュ44および共用メモリ領域50のある
アドレスA1 にデータD1が書き込まれた後で別のプロセ
ッサ42がこのアドレスA1 に対するリード命令を出した
場合、 ・プロセッサ42のキャッシュ45でキャッシュミスが発生
すると共用メモリ領域50の前記アドレスA1 の領域を必
ず参照するので本来の正しいデータが読み込まれるが、 ・プロセッサ42のキャッシュ45にヒットすると当該キャ
ッシュのアドレスA1 のデータ、すなわちプロセッサ41
からのライト命令により書き込まれた本来のデータD1で
はなく当該書込み前の旧データが読み込まれることにな
る。
【0012】このことは複数のプロセッサで共用される
かたちのローカルメモリ領域においても発生し、同一ア
ドレスに対する各キャッシュ間でのリードデータの一致
性が保証されないという問題点があった。
かたちのローカルメモリ領域においても発生し、同一ア
ドレスに対する各キャッシュ間でのリードデータの一致
性が保証されないという問題点があった。
【0013】そこで、本発明では、ローカルメモリ領域
および共用メモリ領域に対するデータ書込みを前述のよ
うに使い分けることに加えて、あるキャッシュへのデー
タ書込みのさいに他のキャッシュの該当アドレス(ライ
ト命令アドレスと同一アドレス)の旧データを無効化し
てしまうことにより、ライト命令ですでに更新されてい
るアドレスへのリード命令のときに旧データが読み出さ
れることのないようにすることを目的とする。
および共用メモリ領域に対するデータ書込みを前述のよ
うに使い分けることに加えて、あるキャッシュへのデー
タ書込みのさいに他のキャッシュの該当アドレス(ライ
ト命令アドレスと同一アドレス)の旧データを無効化し
てしまうことにより、ライト命令ですでに更新されてい
るアドレスへのリード命令のときに旧データが読み出さ
れることのないようにすることを目的とする。
【0014】
【課題を解決するための手段】図1は本発明の原理説明
図である。図において、1〜4はプロセッサ、5〜8は
キャッシュ、9および10はローカルメモリ領域、11は共
用メモリ領域をそれぞれ示している。
図である。図において、1〜4はプロセッサ、5〜8は
キャッシュ、9および10はローカルメモリ領域、11は共
用メモリ領域をそれぞれ示している。
【0015】また、キャッシュ5〜8のそれぞれはプロ
セッサ1〜4のそれぞれと対応し、 ・プロセッサ1、キャッシュ5、プロセッサ2、キャッ
シュ6およびローカルメモリ領域9で第一のグループを
形成し、 ・プロセッサ3、キャッシュ7、プロセッサ4、キャッ
シュ8およびローカルメモリ領域10で第二のグループを
形成している。
セッサ1〜4のそれぞれと対応し、 ・プロセッサ1、キャッシュ5、プロセッサ2、キャッ
シュ6およびローカルメモリ領域9で第一のグループを
形成し、 ・プロセッサ3、キャッシュ7、プロセッサ4、キャッ
シュ8およびローカルメモリ領域10で第二のグループを
形成している。
【0016】これら第一および第二のグループおよび共
用メモリ領域11からなる分散型メモリ構成やこれを利用
するマルチプロセッサシステム自体は従来のものと同様
であって、本発明の特徴は、任意のプロセッサがライト
命令を出したときのキャッシュに対する制御内容であ
る。
用メモリ領域11からなる分散型メモリ構成やこれを利用
するマルチプロセッサシステム自体は従来のものと同様
であって、本発明の特徴は、任意のプロセッサがライト
命令を出したときのキャッシュに対する制御内容であ
る。
【0017】すなわち、例えばプロセッサ1のライト命
令アドレスがローカルメモリ領域9のアドレスであって
キャッシュ5にヒットする場合には、 ・キャッシュ5の該当アドレス(ライト命令アドレス)
に新データを書き込むとともに、 ・第一のグループに属する他キャッシュ6に該当アドレ
スがエントリーされていればその領域の旧データを無効
化する。
令アドレスがローカルメモリ領域9のアドレスであって
キャッシュ5にヒットする場合には、 ・キャッシュ5の該当アドレス(ライト命令アドレス)
に新データを書き込むとともに、 ・第一のグループに属する他キャッシュ6に該当アドレ
スがエントリーされていればその領域の旧データを無効
化する。
【0018】この場合、キャッシュ5への書込みデータ
はコピーバック方式でローカルメモリ領域9に反映さ
れ、またキャッシュ5においてキャッシュミスが発生し
た場合は従来と同様の処理がおこなわれる。
はコピーバック方式でローカルメモリ領域9に反映さ
れ、またキャッシュ5においてキャッシュミスが発生し
た場合は従来と同様の処理がおこなわれる。
【0019】次に、プロセッサ1のライト命令アドレス
が共用メモリ領域11のアドレスであってキャッシュ5に
ヒットする場合には、 ・キャッシュ5および共用メモリ領域11の該当アドレス
に新データを書き込むとともに、 ・マルチプロセッサシステム全体の他キャッシュ6、7
および8に該当アドレスがエントリーされていればその
領域の旧データを無効化する。
が共用メモリ領域11のアドレスであってキャッシュ5に
ヒットする場合には、 ・キャッシュ5および共用メモリ領域11の該当アドレス
に新データを書き込むとともに、 ・マルチプロセッサシステム全体の他キャッシュ6、7
および8に該当アドレスがエントリーされていればその
領域の旧データを無効化する。
【0020】この場合、キャッシュ5への書込みデータ
はライトスルー方式で共用メモリ領域11に反映され、ま
たキャッシュ5においてキャッシュミスが発生した場合
は従来と同様の処理がおこなわれる。
はライトスルー方式で共用メモリ領域11に反映され、ま
たキャッシュ5においてキャッシュミスが発生した場合
は従来と同様の処理がおこなわれる。
【0021】なお、ローカルメモリ領域9、10および共
用メモリ領域11への書込み命令のときの他キャッシュに
該当アドレスがエントリーされているかどうかは、バス
中を流れているデータやアドレス情報を各キャッシュが
ウォッチすることにより求められる。
用メモリ領域11への書込み命令のときの他キャッシュに
該当アドレスがエントリーされているかどうかは、バス
中を流れているデータやアドレス情報を各キャッシュが
ウォッチすることにより求められる。
【0022】本発明の基本的構成は、「マルチプロセッ
サの一部のプロセッサ単位ごとに対応したローカルメモ
リ領域とマルチプロセッサのすべてのプロセッサに対応
した共用メモリ領域を有する分散型メモリ構成におい
て、あるプロセッサからのライト命令のアドレスがロー
カルメモリ領域アドレスの場合には、ライト命令要求時
に、要求元プロセッサのキャッシュのみへの書込みを実
行するとともに、同じローカルメモリ領域を用いる他の
各キャッシュの該当アドレスの旧データを無効化し、前
記ライト命令のアドレスが共用メモリ領域アドレスの場
合には、ライト命令要求時に、要求元プロセッサのキャ
ッシュおよび前記共用メモリ領域の両者への書込みを実
行するとともに、他の各キャッシュの該当アドレスの旧
データを無効化するようにしたことを特徴とする分散型
メモリ構成のキャッシュ制御方法」である。
サの一部のプロセッサ単位ごとに対応したローカルメモ
リ領域とマルチプロセッサのすべてのプロセッサに対応
した共用メモリ領域を有する分散型メモリ構成におい
て、あるプロセッサからのライト命令のアドレスがロー
カルメモリ領域アドレスの場合には、ライト命令要求時
に、要求元プロセッサのキャッシュのみへの書込みを実
行するとともに、同じローカルメモリ領域を用いる他の
各キャッシュの該当アドレスの旧データを無効化し、前
記ライト命令のアドレスが共用メモリ領域アドレスの場
合には、ライト命令要求時に、要求元プロセッサのキャ
ッシュおよび前記共用メモリ領域の両者への書込みを実
行するとともに、他の各キャッシュの該当アドレスの旧
データを無効化するようにしたことを特徴とする分散型
メモリ構成のキャッシュ制御方法」である。
【0023】
【作用】本発明は、このように、ローカルメモリ領域と
共用メモリ領域とを併用するマルチプロセッサの各キャ
ッシュの書込みデータをローカルメモリ領域および共用
メモリ領域へ反映する際に、前者に対してはコピーバッ
ク方式を用い、また後者に対してはライトスルー方式を
用いるとともに、ライト命令の発信元ではない各プロセ
ッサのキャッシュにライト命令アドレスと同一のアドレ
スがエントリーされている場合にはその領域の旧データ
を無効化するものである。
共用メモリ領域とを併用するマルチプロセッサの各キャ
ッシュの書込みデータをローカルメモリ領域および共用
メモリ領域へ反映する際に、前者に対してはコピーバッ
ク方式を用い、また後者に対してはライトスルー方式を
用いるとともに、ライト命令の発信元ではない各プロセ
ッサのキャッシュにライト命令アドレスと同一のアドレ
スがエントリーされている場合にはその領域の旧データ
を無効化するものである。
【0024】そのため、コピーバック方式とライトスル
ー方式との使い分けによりシステムの性能向上(アクセ
ス競合の低減化)とシステムの高信頼性(データの最新
化)とのいわば相反する要求を各メモリ領域の特性に合
致したかたちで満たすことに加え、リードアクセスの際
の同一アドレスデータのコヒーレンシを確保することが
できる。
ー方式との使い分けによりシステムの性能向上(アクセ
ス競合の低減化)とシステムの高信頼性(データの最新
化)とのいわば相反する要求を各メモリ領域の特性に合
致したかたちで満たすことに加え、リードアクセスの際
の同一アドレスデータのコヒーレンシを確保することが
できる。
【0025】すなわち、旧データが無効化されたアドレ
スに対するリード命令が出されたとしても、当該アドレ
スに旧データはもはや入っていないので従来のように旧
データがキャッシュから読み出されて使用されるような
ことはない。
スに対するリード命令が出されたとしても、当該アドレ
スに旧データはもはや入っていないので従来のように旧
データがキャッシュから読み出されて使用されるような
ことはない。
【0026】なお、「旧データの無効化」とは、旧デー
タが有効なかたちで読み出されないようにすることであ
り、 ・そのアドレス領域に無効フラグをたてること ・そのアドレス領域に新データをエントリーすること などの種々の方式が考えられる。
タが有効なかたちで読み出されないようにすることであ
り、 ・そのアドレス領域に無効フラグをたてること ・そのアドレス領域に新データをエントリーすること などの種々の方式が考えられる。
【0027】また、ローカルメモリ領域との間でグルー
プを構成するプロセッサの個数は複数の場合に限定され
るのではなく、単一プロセッサとそのローカルメモリ領
域とからなるグループに対しても本発明は適用できる。
プを構成するプロセッサの個数は複数の場合に限定され
るのではなく、単一プロセッサとそのローカルメモリ領
域とからなるグループに対しても本発明は適用できる。
【0028】また、共用メモリ領域には各プロセッサの
共用データや故障時のリカバリデータが格納され、プロ
セッサやキャッシュの故障の際にもこの共用メモリ領域
を参照することにより復旧することができる。
共用データや故障時のリカバリデータが格納され、プロ
セッサやキャッシュの故障の際にもこの共用メモリ領域
を参照することにより復旧することができる。
【0029】
【実施例】図2〜図6を参照して本発明の実施例を説明
する。図2は、本発明の前提となるマルチプロセッサ例
を示す説明図であり、 ・プロセッサ22,24、キャッシュ23,25、MC(メモリ
コントローラ)26およびローカルメモリ領域27でクラス
タ21を構成し、 ・プロセッサ32,34、キャッシュ33,35、MC(メモリ
コントローラ)36およびローカルメモリ領域37でクラス
タ31を構成し、 ・クラスタ21とクラスタ31とは共用メモリ領域38を共有
している。
する。図2は、本発明の前提となるマルチプロセッサ例
を示す説明図であり、 ・プロセッサ22,24、キャッシュ23,25、MC(メモリ
コントローラ)26およびローカルメモリ領域27でクラス
タ21を構成し、 ・プロセッサ32,34、キャッシュ33,35、MC(メモリ
コントローラ)36およびローカルメモリ領域37でクラス
タ31を構成し、 ・クラスタ21とクラスタ31とは共用メモリ領域38を共有
している。
【0030】ここで、各キャッシュの書込みデータのロ
ーカル/共用メモリ領域への書込みは、前記のように、 ・ローカルメモリ領域27および37に対してはコピーバッ
ク方式 ・共用メモリ領域38に対してはライトスルー方式 が用いられる。
ーカル/共用メモリ領域への書込みは、前記のように、 ・ローカルメモリ領域27および37に対してはコピーバッ
ク方式 ・共用メモリ領域38に対してはライトスルー方式 が用いられる。
【0031】また、これらのコピーバック方式およびラ
イトスルー方式の選択や他キャッシュの該当アドレス
(ライト命令アドレス)領域の旧データの無効化につい
ての処理はキャッシュやMCが担当する。
イトスルー方式の選択や他キャッシュの該当アドレス
(ライト命令アドレス)領域の旧データの無効化につい
ての処理はキャッシュやMCが担当する。
【0032】図3は、本発明の、あるプロセッサからリ
ード/ライト命令が発信されたときの自キャッシュにお
ける処理手順を示す説明図であり、その内容は次のよう
になっている。
ード/ライト命令が発信されたときの自キャッシュにお
ける処理手順を示す説明図であり、その内容は次のよう
になっている。
【0033】なお、図3および図4の説明では「あるプ
ロセッサ」としてプロセッサ22を用いる。したがって、
キャッシュ23が自キャッシュ、キャッシュ25、33、35が
他キャッシュ、ローカルメモリ領域27が自ローカルメモ
リ領域、ローカルメモリ領域37が他ローカルメモリ領域
となる。
ロセッサ」としてプロセッサ22を用いる。したがって、
キャッシュ23が自キャッシュ、キャッシュ25、33、35が
他キャッシュ、ローカルメモリ領域27が自ローカルメモ
リ領域、ローカルメモリ領域37が他ローカルメモリ領域
となる。
【0034】(1) プロセッサ22はキャッシュ(自キャッ
シュ)23にリード/ライト命令のアドレスおよびデータ
を送信して、次のステップに進む。 (2) 該当アドレス(受信アドレス)の値があらかじめ設
定した基準アドレス値よりも大きいかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(8) に進む。 (3) 命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(5) に進む。 (4) キャッシュ23および共用メモリ領域38の該当アドレ
ス領域にそれぞれデータを書き込んで一連の処理を終了
する。
シュ)23にリード/ライト命令のアドレスおよびデータ
を送信して、次のステップに進む。 (2) 該当アドレス(受信アドレス)の値があらかじめ設
定した基準アドレス値よりも大きいかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(8) に進む。 (3) 命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(5) に進む。 (4) キャッシュ23および共用メモリ領域38の該当アドレ
ス領域にそれぞれデータを書き込んで一連の処理を終了
する。
【0035】なお、ステップ(2) の各アドレス値の大小
関係と各メモリ領域との対応付けは任意であるが、ここ
では「YES」の場合のアドレス範囲に共用メモリ領域38
が割り当てられている。
関係と各メモリ領域との対応付けは任意であるが、ここ
では「YES」の場合のアドレス範囲に共用メモリ領域38
が割り当てられている。
【0036】(5) キャッシュ23にヒットするかどうかを
判断し、「YES」の場合は次のステップに進み、「NO」
の場合はステップ(7) に進む。 (6) キャッシュ23の該当アドレスのデータを要求元プロ
セッサ22に通知して一連の処理を終了する。 (7) 共用メモリ領域38の該当アドレスのデータを、要求
元プロセッサ22に通知するとともにキャッシュ23に書き
込んで一連の処理を終了する。
判断し、「YES」の場合は次のステップに進み、「NO」
の場合はステップ(7) に進む。 (6) キャッシュ23の該当アドレスのデータを要求元プロ
セッサ22に通知して一連の処理を終了する。 (7) 共用メモリ領域38の該当アドレスのデータを、要求
元プロセッサ22に通知するとともにキャッシュ23に書き
込んで一連の処理を終了する。
【0037】以上のステップ(3) 〜(7) は共用メモリ領
域38に対する処理であり、ローカルメモリ領域27に対す
る処理は以下のようになる。 (8) 命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(10)に進む。 (9) キャッシュ23の該当アドレス領域にデータを書き込
んで一連の処理を終了する。なお、キャッシュミスが発
生した場合には、前述のように、共用メモリ領域38の該
当アドレスのデータをキャッシュ23に書き込んでからこ
れを更新する。 (10)キャッシュ23にヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合はステ
ップ(12)に進む。 (11)キャッシュ23の該当アドレスのデータを要求元プロ
セッサ22に通知して一連の処理を終了する。 (12)ローカルメモリ領域27の該当アドレスのデータを、
要求元プロセッサ22に通知するとともにキャッシュ23に
書き込んで一連の処理を終了する。
域38に対する処理であり、ローカルメモリ領域27に対す
る処理は以下のようになる。 (8) 命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(10)に進む。 (9) キャッシュ23の該当アドレス領域にデータを書き込
んで一連の処理を終了する。なお、キャッシュミスが発
生した場合には、前述のように、共用メモリ領域38の該
当アドレスのデータをキャッシュ23に書き込んでからこ
れを更新する。 (10)キャッシュ23にヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合はステ
ップ(12)に進む。 (11)キャッシュ23の該当アドレスのデータを要求元プロ
セッサ22に通知して一連の処理を終了する。 (12)ローカルメモリ領域27の該当アドレスのデータを、
要求元プロセッサ22に通知するとともにキャッシュ23に
書き込んで一連の処理を終了する。
【0038】図4は、本発明の、あるプロセッサからリ
ード/ライト命令が発信されたときの他キャッシュにお
ける処理手順を示す説明図であり、その内容は次のよう
になっている。
ード/ライト命令が発信されたときの他キャッシュにお
ける処理手順を示す説明図であり、その内容は次のよう
になっている。
【0039】(21)プロセッサ22はキャッシュ23にリード
/ライト命令のアドレスおよびデータを送信して、次の
ステップに進む。 (22)該当アドレス(受信アドレス)の値があらかじめ設
定した基準アドレス値よりも大きいかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(26)に進む。 (23)命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
一連の処理を終了する。 (24)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (25)ヒットアドレスの旧データを無効化して一連の処理
を終了する。
/ライト命令のアドレスおよびデータを送信して、次の
ステップに進む。 (22)該当アドレス(受信アドレス)の値があらかじめ設
定した基準アドレス値よりも大きいかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(26)に進む。 (23)命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
一連の処理を終了する。 (24)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (25)ヒットアドレスの旧データを無効化して一連の処理
を終了する。
【0040】以上のステップ(23)〜(25)の処理は共用メ
モリ領域38に対する処理であり、ローカルメモリ領域37
に対する処理は以下のようになる。 (26)命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(29)に進む。 (27)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (28)ヒットアドレスの旧データを無効化して一連の処理
を終了する。 (29)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (30)ヒットアドレスのデータをローカルメモリ領域37に
反映させて一連の処理を終了する。
モリ領域38に対する処理であり、ローカルメモリ領域37
に対する処理は以下のようになる。 (26)命令の種別がライト命令であるかどうかを判断し、
「YES」の場合は次のステップに進み、「NO」の場合は
ステップ(29)に進む。 (27)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (28)ヒットアドレスの旧データを無効化して一連の処理
を終了する。 (29)他キャッシュにヒットするかどうかを判断し、「YE
S」の場合は次のステップに進み、「NO」の場合は一連
の処理を終了する。 (30)ヒットアドレスのデータをローカルメモリ領域37に
反映させて一連の処理を終了する。
【0041】ステップ(30)の処理はコピーバック方式に
よるデータ書込みの一態様であって、例えばプロセッサ
22からアドレスA1 に対するライト命令が出てキャッシ
ュ23のこのアドレスのデータが更新され、かつキャッシ
ュ25のアドレスA1 の旧データが無効化された後で、今
度はプロセッサ24からアドレスA1 に対するリード命令
が出てキャッシュ25のこのアドレスのデータを読み出そ
うとする場合に有効である。
よるデータ書込みの一態様であって、例えばプロセッサ
22からアドレスA1 に対するライト命令が出てキャッシ
ュ23のこのアドレスのデータが更新され、かつキャッシ
ュ25のアドレスA1 の旧データが無効化された後で、今
度はプロセッサ24からアドレスA1 に対するリード命令
が出てキャッシュ25のこのアドレスのデータを読み出そ
うとする場合に有効である。
【0042】すなわち、この場合、キャッシュ25のアド
レスA1 の領域は無効化されているので例えばMC26は
ローカルメモリ領域27のこのアドレスA1 のデータを読
み出してキャッシュ25に書き込むとともにプロセッサ24
に通知しようとするが、この際にキャッシュ23のアドレ
スA1 の新データがローカルメモリ領域に反映されてい
ればこの新データがプロセッサ24に通知されることにな
る。
レスA1 の領域は無効化されているので例えばMC26は
ローカルメモリ領域27のこのアドレスA1 のデータを読
み出してキャッシュ25に書き込むとともにプロセッサ24
に通知しようとするが、この際にキャッシュ23のアドレ
スA1 の新データがローカルメモリ領域に反映されてい
ればこの新データがプロセッサ24に通知されることにな
る。
【0043】図5は、本発明の、共用メモリ領域の情報
に基づいて再IPLを実行するときの処理手順を示す説
明図であり、その内容は次のようになっている。 (41)システム構成情報(クラスタ数など)やIPL情報
などを共用メモリ領域38に書き込んでおく。 (42)各プロセッサは自らの、また自キャッシュの故障や
異常を検出する。 (43)故障や異常を検出したプロセッサは自らが属してい
るクラスタを一時使用不可にする。そして、この一時使
用不可の状態で当該プロセッサの復旧処理がおこなわれ
る。 (44)別の正常クラスタのプロセッサから一時使用不可と
なっているクラスタのプロセッサにIPLを指示する。 (45)当該クラスタのプロセッサが復旧して一時使用不可
が解除されている場合には当該プロセッサのそれぞれは
再IPLを実行する。
に基づいて再IPLを実行するときの処理手順を示す説
明図であり、その内容は次のようになっている。 (41)システム構成情報(クラスタ数など)やIPL情報
などを共用メモリ領域38に書き込んでおく。 (42)各プロセッサは自らの、また自キャッシュの故障や
異常を検出する。 (43)故障や異常を検出したプロセッサは自らが属してい
るクラスタを一時使用不可にする。そして、この一時使
用不可の状態で当該プロセッサの復旧処理がおこなわれ
る。 (44)別の正常クラスタのプロセッサから一時使用不可と
なっているクラスタのプロセッサにIPLを指示する。 (45)当該クラスタのプロセッサが復旧して一時使用不可
が解除されている場合には当該プロセッサのそれぞれは
再IPLを実行する。
【0044】図6は、本発明の、一時使用不可となった
プロセッサが実行していた処理を、共用メモリ領域の情
報に基づいて別のクラスタのプロセッサで継続していく
ときの処理手順を示す説明図であり、その内容は次のよ
うになっている。 (51)各プロセッサは自ら処理している仕事のリカバリ情
報を共用メモリ領域38に書き込んでいく。 (52)各プロセッサは自らの、また自キャッシュの故障や
異常を検出する。 (53)故障や異常を検出したプロセッサは自らが属してい
るクラスタを一時使用不可にする。 (54)別の正常クラスタのプロセッサは共用メモリ領域38
に書き込まれた(一時使用不可のプロセッサについて
の)リカバリ情報を当該正常クラスタのローカルメモリ
領域に書き込む。 (55)当該正常クラスタのプロセッサはこのリカバリ情報
に基づいて一時使用不可プロセッサのそれまでの処理を
継続する。
プロセッサが実行していた処理を、共用メモリ領域の情
報に基づいて別のクラスタのプロセッサで継続していく
ときの処理手順を示す説明図であり、その内容は次のよ
うになっている。 (51)各プロセッサは自ら処理している仕事のリカバリ情
報を共用メモリ領域38に書き込んでいく。 (52)各プロセッサは自らの、また自キャッシュの故障や
異常を検出する。 (53)故障や異常を検出したプロセッサは自らが属してい
るクラスタを一時使用不可にする。 (54)別の正常クラスタのプロセッサは共用メモリ領域38
に書き込まれた(一時使用不可のプロセッサについて
の)リカバリ情報を当該正常クラスタのローカルメモリ
領域に書き込む。 (55)当該正常クラスタのプロセッサはこのリカバリ情報
に基づいて一時使用不可プロセッサのそれまでの処理を
継続する。
【0045】また、正常クラスタのプロセッサで継続さ
れる処理のリカバリ情報も共用メモリ領域38に書き込ま
れていくので、当初この処理を実行していたプロセッサ
はその復旧後に当該リカバリ情報に基づき当該処理を取
り戻すことができる。
れる処理のリカバリ情報も共用メモリ領域38に書き込ま
れていくので、当初この処理を実行していたプロセッサ
はその復旧後に当該リカバリ情報に基づき当該処理を取
り戻すことができる。
【0046】
【発明の効果】本発明は、このように、ローカルメモリ
領域と共用メモリ領域とを併用するマルチプロセッサの
各キャッシュの書込みデータをローカルメモリ領域およ
び共用メモリ領域へ反映する際に、前者に対してはコピ
ーバック方式を用い、また後者に対してはライトスルー
方式を用いるとともに、ライトアクセス対象外のキャッ
シュにライト命令アドレスと同一のアドレスがエントリ
ーされている場合にはその領域の旧データを無効化する
ようにしたものである。
領域と共用メモリ領域とを併用するマルチプロセッサの
各キャッシュの書込みデータをローカルメモリ領域およ
び共用メモリ領域へ反映する際に、前者に対してはコピ
ーバック方式を用い、また後者に対してはライトスルー
方式を用いるとともに、ライトアクセス対象外のキャッ
シュにライト命令アドレスと同一のアドレスがエントリ
ーされている場合にはその領域の旧データを無効化する
ようにしたものである。
【0047】そのため、ローカルメモリ領域に対する性
能向上(アクセス競合の低減化)と共用メモリ領域に対
する高信頼性(データの最新化)とを確保できることに
加え、同一アドレスへの各プロセッサのリード命令によ
り求められるデータのコヒーレンシを確保することがで
きる。
能向上(アクセス競合の低減化)と共用メモリ領域に対
する高信頼性(データの最新化)とを確保できることに
加え、同一アドレスへの各プロセッサのリード命令によ
り求められるデータのコヒーレンシを確保することがで
きる。
【図1】本発明の、原理説明図である。
【図2】本発明の、分散型メモリのマルチプロセッサシ
ステムを示す説明図である。
ステムを示す説明図である。
【図3】本発明の、あるプロセッサからリード/ライト
命令が発信されたときの自キャッシュにおける処理手順
を示す説明図である。
命令が発信されたときの自キャッシュにおける処理手順
を示す説明図である。
【図4】本発明の、あるプロセッサからリード/ライト
命令が発信されたときの他キャッシュにおける処理手順
を示す説明図である。
命令が発信されたときの他キャッシュにおける処理手順
を示す説明図である。
【図5】本発明の、共用メモリ領域の情報に基づいて再
IPLを実行するときの処理手順を示す説明図である。
IPLを実行するときの処理手順を示す説明図である。
【図6】本発明の、一時使用不可となったプロセッサが
実行していた処理を、共用メモリ領域の情報に基づいて
別のクラスタのプロセッサで継続していくときの処理手
順を示す説明図である。
実行していた処理を、共用メモリ領域の情報に基づいて
別のクラスタのプロセッサで継続していくときの処理手
順を示す説明図である。
【図7】従来の、キャッシュ制御方法を示す説明図であ
る。
る。
図1において、 1〜4・・・プロセッサ 5〜8・・・キャッシュ 9・・・ローカルメモリ領域 10・・・ローカルメモリ領域 11・・・共用メモリ領域
Claims (2)
- 【請求項1】 マルチプロセッサの一部のプロセッサ単
位ごとに対応したローカルメモリ領域とマルチプロセッ
サのすべてのプロセッサに対応した共用メモリ領域を有
する分散型メモリ構成において、 あるプロセッサからのライト命令のアドレスがローカル
メモリ領域アドレスの場合には、ライト命令要求時に、
要求元プロセッサのキャッシュのみへの書込みを実行す
るとともに、同じローカルメモリ領域を用いる他の各キ
ャッシュの該当アドレスの旧データを無効化し、 前記ライト命令のアドレスが共用メモリ領域アドレスの
場合には、ライト命令要求時に、要求元プロセッサのキ
ャッシュおよび前記共用メモリ領域の両者への書込みを
実行するとともに、他の各キャッシュの該当アドレスの
旧データを無効化するようにしたことを特徴とする分散
型メモリ構成のキャッシュ制御方法。 - 【請求項2】 前記プロセッサ単位が、複数のプロセッ
サからなるクラスタ構成となっていることを特徴とする
請求項1記載の分散型メモリ構成のキャッシュ制御方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7013604A JPH08202622A (ja) | 1995-01-31 | 1995-01-31 | 分散型メモリ構成のキャッシュ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7013604A JPH08202622A (ja) | 1995-01-31 | 1995-01-31 | 分散型メモリ構成のキャッシュ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08202622A true JPH08202622A (ja) | 1996-08-09 |
Family
ID=11837841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7013604A Pending JPH08202622A (ja) | 1995-01-31 | 1995-01-31 | 分散型メモリ構成のキャッシュ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08202622A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005149290A (ja) * | 2003-11-18 | 2005-06-09 | Seiko Epson Corp | 情報処理装置およびキャッシュメモリ制御方法 |
US6963953B2 (en) * | 2001-12-10 | 2005-11-08 | Renesas Technology Corp. | Cache device controlling a state of a corresponding cache memory according to a predetermined protocol |
JP2008522264A (ja) * | 2004-11-30 | 2008-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサの操作を管理する方法、システム、および製造物 |
-
1995
- 1995-01-31 JP JP7013604A patent/JPH08202622A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963953B2 (en) * | 2001-12-10 | 2005-11-08 | Renesas Technology Corp. | Cache device controlling a state of a corresponding cache memory according to a predetermined protocol |
JP2005149290A (ja) * | 2003-11-18 | 2005-06-09 | Seiko Epson Corp | 情報処理装置およびキャッシュメモリ制御方法 |
JP2008522264A (ja) * | 2004-11-30 | 2008-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサの操作を管理する方法、システム、および製造物 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2916420B2 (ja) | チェックポイント処理加速装置およびデータ処理方法 | |
US6199144B1 (en) | Method and apparatus for transferring data in a computer system | |
EP0735480B1 (en) | Cache coherent computer system that minimizes invalidation and copyback operations | |
US6148416A (en) | Memory update history storing apparatus and method for restoring contents of memory | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
US8924653B2 (en) | Transactional cache memory system | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US7003635B2 (en) | Generalized active inheritance consistency mechanism having linked writes | |
US5692149A (en) | Block replacement method in cache only memory architecture multiprocessor | |
US20050188159A1 (en) | Computer system supporting both dirty-shared and non dirty-shared data processing entities | |
JP4119380B2 (ja) | マルチプロセッサシステム | |
JPH02141845A (ja) | マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法 | |
WO1996039666A1 (en) | Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache | |
WO1996039665A1 (en) | Method and apparatus for reducing cache snooping overhead in a multilevel cache system | |
KR20070040340A (ko) | 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템 | |
JP4577729B2 (ja) | ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法 | |
US20040068616A1 (en) | System and method enabling efficient cache line reuse in a computer system | |
US5737568A (en) | Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory | |
JP5587539B2 (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
JP3550092B2 (ja) | キャッシュ装置及び制御方法 | |
JPH10501914A (ja) | 共用キャッシュ・メモリ装置 | |
JPH08202622A (ja) | 分散型メモリ構成のキャッシュ制御方法 | |
JP3320562B2 (ja) | キャッシュメモリを有する電子計算機 | |
JP3093609B2 (ja) | キャッシュメモリの記憶一致制御装置及び方法 | |
JP3083786B2 (ja) | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040524 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040524 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040622 |