JP2963257B2 - 処理装置 - Google Patents
処理装置Info
- Publication number
- JP2963257B2 JP2963257B2 JP3313293A JP31329391A JP2963257B2 JP 2963257 B2 JP2963257 B2 JP 2963257B2 JP 3313293 A JP3313293 A JP 3313293A JP 31329391 A JP31329391 A JP 31329391A JP 2963257 B2 JP2963257 B2 JP 2963257B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- storage device
- cache
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はキャッシュ無効化制御に
係わり、特に、複数階層のキャッシュの無効化制御を行
う処理装置に関する。
係わり、特に、複数階層のキャッシュの無効化制御を行
う処理装置に関する。
【0002】
【従来の技術】図3にキャッシュ無効化制御方式の従来
例を示す。同図において、21は主記憶装置、22は自
プロセッサ、23はキャッシュ、24もキャッシュ、2
5は他プロセッサ、26はメモリバスである。図3にお
けるメモリバス26には、複数のプロセッサ22,25
が接続されている。主記憶装置21には、上記各プロセ
ッサがアクセスする共有資源と、共有資源の排他制御を
行うためのセマフォ領域が設けられている。
例を示す。同図において、21は主記憶装置、22は自
プロセッサ、23はキャッシュ、24もキャッシュ、2
5は他プロセッサ、26はメモリバスである。図3にお
けるメモリバス26には、複数のプロセッサ22,25
が接続されている。主記憶装置21には、上記各プロセ
ッサがアクセスする共有資源と、共有資源の排他制御を
行うためのセマフォ領域が設けられている。
【0003】キャッシュ23,キャッシュ24はそれぞ
れ主記憶装置21への見掛け上のアクセス時間を高速化
するために設けられたバッファ・ストレージであり、主
記憶装置21と合わせて3階層メモリを構成する。な
お、3階層メモリ方式は例えば「日経エレクトロニクス
1981.10.26.P176−P199」などに記
載されているように従来から周知である。
れ主記憶装置21への見掛け上のアクセス時間を高速化
するために設けられたバッファ・ストレージであり、主
記憶装置21と合わせて3階層メモリを構成する。な
お、3階層メモリ方式は例えば「日経エレクトロニクス
1981.10.26.P176−P199」などに記
載されているように従来から周知である。
【0004】主記憶装置21に設けられたセマフォ領域
上には、共有資源に対するプロセッサの使用権を示す1
ビットのセマフォビットがあり、タスクチェンジに際し
各プロセッサ22,25は共有資源に対する自プロセッ
サの使用権を得るため上記セマフォビットが「1」か
「0」かをチェックし、セマフォビットが「0」なら、
自プロセッサに共有資源の使用権があるものとして、セ
マフォビットに「1」をライトし共有資源にアクセスす
る。そのプロセッサによる共有資源の使用が終わると、
上記セマフォビットに「0」をライトして、共有資源の
使用権を他のプロセッサに明け渡す。また、各プロセッ
サ22,25はセマフォビットが「1」の場合には、そ
のビットが「0」になるまで待たされる。
上には、共有資源に対するプロセッサの使用権を示す1
ビットのセマフォビットがあり、タスクチェンジに際し
各プロセッサ22,25は共有資源に対する自プロセッ
サの使用権を得るため上記セマフォビットが「1」か
「0」かをチェックし、セマフォビットが「0」なら、
自プロセッサに共有資源の使用権があるものとして、セ
マフォビットに「1」をライトし共有資源にアクセスす
る。そのプロセッサによる共有資源の使用が終わると、
上記セマフォビットに「0」をライトして、共有資源の
使用権を他のプロセッサに明け渡す。また、各プロセッ
サ22,25はセマフォビットが「1」の場合には、そ
のビットが「0」になるまで待たされる。
【0005】上記セマフォ制御は、共有資源に複数の装
置がアクセスする場合の排他制御として一般的に行われ
る手法であるが、図3に示す複数階層のキャッシュ2
3,キャッシュ24を持つシステムにおいては、セマフ
ォビットを含むブロックデータがキャッシュ23および
キャッシュ24に存在した場合に、以下に示すような問
題があった。他プロセッサ、例えばプロセッサ25が共
有資源を使用中に、自プロセッサ、例えばプロセッサ2
2が共有資源を使用したい場合、自プロセッサ22は前
記したセマフォビットが「0」になるまで待つ。
置がアクセスする場合の排他制御として一般的に行われ
る手法であるが、図3に示す複数階層のキャッシュ2
3,キャッシュ24を持つシステムにおいては、セマフ
ォビットを含むブロックデータがキャッシュ23および
キャッシュ24に存在した場合に、以下に示すような問
題があった。他プロセッサ、例えばプロセッサ25が共
有資源を使用中に、自プロセッサ、例えばプロセッサ2
2が共有資源を使用したい場合、自プロセッサ22は前
記したセマフォビットが「0」になるまで待つ。
【0006】その場合、図3に示すようにプロセッサ2
2のキャッシュ23内にセマフォビットを含むブロック
データがあれば、キャッシュリードヒットであるので、
プロセッサ22はメモリバス26までセマフォビットを
読みに行かずに、キャッシュ23のセマフォビットをリ
ードし、そのビットが「0」になるまで待つ。しばらく
して、他プロセッサ25が共有資源の使用を終了してセ
マフォビットに「0」をライトすると、自プロセッサ2
2のキャッシュ23はセマフォビットを監視し、キャッ
シュ23に格納されているセマフォビットを含むブロッ
クデータが他プロセッサにより変更されたためキャッシ
ュ23を無効化する。この際、キャッシュが複数階層設
けられている場合には、複数階層のキャッシュは、同様
の動作を行い、複数階層のキャッシュ23,キャッシュ
24をすべて無効化する。
2のキャッシュ23内にセマフォビットを含むブロック
データがあれば、キャッシュリードヒットであるので、
プロセッサ22はメモリバス26までセマフォビットを
読みに行かずに、キャッシュ23のセマフォビットをリ
ードし、そのビットが「0」になるまで待つ。しばらく
して、他プロセッサ25が共有資源の使用を終了してセ
マフォビットに「0」をライトすると、自プロセッサ2
2のキャッシュ23はセマフォビットを監視し、キャッ
シュ23に格納されているセマフォビットを含むブロッ
クデータが他プロセッサにより変更されたためキャッシ
ュ23を無効化する。この際、キャッシュが複数階層設
けられている場合には、複数階層のキャッシュは、同様
の動作を行い、複数階層のキャッシュ23,キャッシュ
24をすべて無効化する。
【0007】その間、自プロセッサ22はたえず、セマ
フォビットをリードしているため、キャッシュ23,キ
ャッシュ24が無効化されると、直ちにミスヒットリー
ドにより、主記憶装置21からブロックリードを行い、
キャッシュへブロックデータを補充する。その時、キャ
ッシュ23がキャッシュ24より先に無効化されると、
キャッシュ23はキャッシュ24よりそのブロックデー
タをリードしてくる。ところが、キャッシュ24がまだ
無効化されていないため、キャッシュ24内には無効化
前の古いデータがあり、キャッシュ23は無効化前の古
いデータをリードする。その後、キャッシュ24が無効
化されると、主記憶装置21のセマフォビットは「0」
であるにもかかわらず、キャッシュ23のセマフォビッ
トは「1」となり、自プロセッサ22は延々と他プロセ
ッサ25によりそのブロックにライトが行われるまで、
待たされることとなる。
フォビットをリードしているため、キャッシュ23,キ
ャッシュ24が無効化されると、直ちにミスヒットリー
ドにより、主記憶装置21からブロックリードを行い、
キャッシュへブロックデータを補充する。その時、キャ
ッシュ23がキャッシュ24より先に無効化されると、
キャッシュ23はキャッシュ24よりそのブロックデー
タをリードしてくる。ところが、キャッシュ24がまだ
無効化されていないため、キャッシュ24内には無効化
前の古いデータがあり、キャッシュ23は無効化前の古
いデータをリードする。その後、キャッシュ24が無効
化されると、主記憶装置21のセマフォビットは「0」
であるにもかかわらず、キャッシュ23のセマフォビッ
トは「1」となり、自プロセッサ22は延々と他プロセ
ッサ25によりそのブロックにライトが行われるまで、
待たされることとなる。
【0008】複数階層のメモリを持つプロセッサシステ
ムにおけるセマフォ制御は上記のような問題があるた
め、例えば、セマフォビットを含むブロックデータは、
キャッシュ内に取り込まない等の対策が必要であった。
しかしながら、このようにすると、セマフォビットをリ
ードする際、常にメモリバスにアクセスする必要がある
ため、リードレスポンスが悪くなり、また、メモリバス
の使用率が増え、システムの処理能力の低下につながる
といった問題があった。
ムにおけるセマフォ制御は上記のような問題があるた
め、例えば、セマフォビットを含むブロックデータは、
キャッシュ内に取り込まない等の対策が必要であった。
しかしながら、このようにすると、セマフォビットをリ
ードする際、常にメモリバスにアクセスする必要がある
ため、リードレスポンスが悪くなり、また、メモリバス
の使用率が増え、システムの処理能力の低下につながる
といった問題があった。
【0009】
【発明が解決しようとする課題】本発明は上記問題点を
解決するためになされたものであって、複数階層のメモ
リを持つプロセッサシステムにおいて、システムの処理
能力を低下させることなくセマフォ制御を行うことがで
きる処理装置を提供することを目的とする。
解決するためになされたものであって、複数階層のメモ
リを持つプロセッサシステムにおいて、システムの処理
能力を低下させることなくセマフォ制御を行うことがで
きる処理装置を提供することを目的とする。
【0010】
【課題を解決するための手段】上記課題を達成するた
め、本発明においては、図1に示すように、複数の装置
がアクセスする共有資源1bへのアクセスを排他制御す
るための管理情報を持つ記憶装置1に記憶されているデ
ータを保持する複数階層のメモリ3b,4bと、他の装
置がメモリ3b,4bに保持された各データに対応した
記憶装置1の領域にライトした際、メモリ3b,4bに
保持された各データを無効化する無効化制御部3c,4
cと、共有資源1bにアクセスする際、前記管理情報に
基づき自プロセッサ2に使用権があるか否かを判断する
とともに、リードすべきデータがメモリ3b,4bに保
持されている場合には、メモリ3b,4bよりデータを
リードし、リードすべきデータがメモリ3b,4bに保
持されていない場合には、前記記憶装置1にアクセスし
てデータをリードするとともにそのデータをメモリ3
b,4bに補充するプロセッサ2とを備えた複数階層の
メモリを持つ処理装置において、前記記憶装置1に近い
階層のメモリとプロセッサ2に近い階層のメモリの間
に、メモリに保持された各データを無効化するに際し、
当該記憶装置に近い階層のメモリに格納されたデータを
無効化した後にプロセッサ2に近い階層のメモリに格納
されたデータを無効化するために、当該記憶装置1に近
い階層のメモリに格納されたデータが無効化されるまで
に要する時間より長い遅延時間を持ち、前記他の装置が
ライトした前記記憶装置1のアドレス情報を記憶装置1
に近い階層のメモリからプロセッサ2に近い階層のメモ
リに伝達することを前記遅延時間だけ遅延させる遅延回
路を設けたものである。
め、本発明においては、図1に示すように、複数の装置
がアクセスする共有資源1bへのアクセスを排他制御す
るための管理情報を持つ記憶装置1に記憶されているデ
ータを保持する複数階層のメモリ3b,4bと、他の装
置がメモリ3b,4bに保持された各データに対応した
記憶装置1の領域にライトした際、メモリ3b,4bに
保持された各データを無効化する無効化制御部3c,4
cと、共有資源1bにアクセスする際、前記管理情報に
基づき自プロセッサ2に使用権があるか否かを判断する
とともに、リードすべきデータがメモリ3b,4bに保
持されている場合には、メモリ3b,4bよりデータを
リードし、リードすべきデータがメモリ3b,4bに保
持されていない場合には、前記記憶装置1にアクセスし
てデータをリードするとともにそのデータをメモリ3
b,4bに補充するプロセッサ2とを備えた複数階層の
メモリを持つ処理装置において、前記記憶装置1に近い
階層のメモリとプロセッサ2に近い階層のメモリの間
に、メモリに保持された各データを無効化するに際し、
当該記憶装置に近い階層のメモリに格納されたデータを
無効化した後にプロセッサ2に近い階層のメモリに格納
されたデータを無効化するために、当該記憶装置1に近
い階層のメモリに格納されたデータが無効化されるまで
に要する時間より長い遅延時間を持ち、前記他の装置が
ライトした前記記憶装置1のアドレス情報を記憶装置1
に近い階層のメモリからプロセッサ2に近い階層のメモ
リに伝達することを前記遅延時間だけ遅延させる遅延回
路を設けたものである。
【0011】
【作用】他プロセッサ5が記憶装置1に対して、ライト
アドレスを送出し、記憶装置1にライトすると、自プロ
セッサ2のキャッシュ4はそのアドレスに対応するデー
タがキャッシュ4内のメモリ4bに保持されているか否
かをチェックする。もし、上記データがメモリ4bに保
持されていると、無効化制御部4cはキャッシュ4のそ
のデータを無効化する。キャッシュ4のデータが無効化
されたのち、キャッシュ3はキャッシュ4と同様に上記
データがキャッシュ3内のメモリ3bに保持されている
か否かをチェックする。もし、メモリ3bに保持されて
いると、無効化制御部3cはキャッシュ3のデータを無
効化する。記憶装置1に近い階層のメモリ4bとプロセ
ッサ2に近いメモリ3bの間に、記憶装置1に近い階層
のデータが無効化されるまでに要する時間より長い遅延
時間を持ち、前記他の装置がライトした前記記憶装置1
のアドレス情報を記憶装置1に近い階層のメモリからプ
ロセッサ2に近い階層のメモリに伝達することを前記遅
延時間だけ遅延させる遅延回路を設け、キャッシュ4が
無効化されてから、キャッシュ3が無効化されるように
する。これにより、キャッシュ3がキャッシュ4の無効
化前の古いデータをリードすることがない。
アドレスを送出し、記憶装置1にライトすると、自プロ
セッサ2のキャッシュ4はそのアドレスに対応するデー
タがキャッシュ4内のメモリ4bに保持されているか否
かをチェックする。もし、上記データがメモリ4bに保
持されていると、無効化制御部4cはキャッシュ4のそ
のデータを無効化する。キャッシュ4のデータが無効化
されたのち、キャッシュ3はキャッシュ4と同様に上記
データがキャッシュ3内のメモリ3bに保持されている
か否かをチェックする。もし、メモリ3bに保持されて
いると、無効化制御部3cはキャッシュ3のデータを無
効化する。記憶装置1に近い階層のメモリ4bとプロセ
ッサ2に近いメモリ3bの間に、記憶装置1に近い階層
のデータが無効化されるまでに要する時間より長い遅延
時間を持ち、前記他の装置がライトした前記記憶装置1
のアドレス情報を記憶装置1に近い階層のメモリからプ
ロセッサ2に近い階層のメモリに伝達することを前記遅
延時間だけ遅延させる遅延回路を設け、キャッシュ4が
無効化されてから、キャッシュ3が無効化されるように
する。これにより、キャッシュ3がキャッシュ4の無効
化前の古いデータをリードすることがない。
【0012】
【実施例】図2は本発明の1実施例を示す図である。同
図において、31は主記憶装置、32は自プロセッサ、
33は自プロセッサのキャッシュ、34は自プロセッサ
のキャッシュ、35は他プロセッサ、36はメモリバ
ス、37はアドレスバッファ、38はキャッシュ34の
タグメモリ、39はキャッシュ34のバッファメモリ、
3Aはキャッシュ34のヒット判定回路、3Bはアンド
回路、3Cはキャッシュ34の無効化制御部、3Dは遅
延回路、47はライトアドレスバッファ、48はキャッ
シュ33のタグメモリ、49はキャッシュ33のバッフ
ァメモリ、4Aはキャッシュ33のヒット判定回路、4
Bはアンド回路、4Cはキャッシュ33の無効化制御部
である。
図において、31は主記憶装置、32は自プロセッサ、
33は自プロセッサのキャッシュ、34は自プロセッサ
のキャッシュ、35は他プロセッサ、36はメモリバ
ス、37はアドレスバッファ、38はキャッシュ34の
タグメモリ、39はキャッシュ34のバッファメモリ、
3Aはキャッシュ34のヒット判定回路、3Bはアンド
回路、3Cはキャッシュ34の無効化制御部、3Dは遅
延回路、47はライトアドレスバッファ、48はキャッ
シュ33のタグメモリ、49はキャッシュ33のバッフ
ァメモリ、4Aはキャッシュ33のヒット判定回路、4
Bはアンド回路、4Cはキャッシュ33の無効化制御部
である。
【0013】図2において、主記憶装置31には、従来
例のものと同様、各プロセッサ32,35がアクセスす
る共有資源と、共有資源の排他制御を行うためのセマフ
ォ領域が設けられている。キャッシュ33,キャッシュ
34は従来例のものと同様それぞれ主記憶装置31への
見掛け上のアクセス時間を高速化するために設けられた
バッファ・ストレージであり、主記憶装置31と合わせ
て3階層メモリを構成する。
例のものと同様、各プロセッサ32,35がアクセスす
る共有資源と、共有資源の排他制御を行うためのセマフ
ォ領域が設けられている。キャッシュ33,キャッシュ
34は従来例のものと同様それぞれ主記憶装置31への
見掛け上のアクセス時間を高速化するために設けられた
バッファ・ストレージであり、主記憶装置31と合わせ
て3階層メモリを構成する。
【0014】アドレスバッファ37はメモリバス36上
のアドレスを記憶するバッファであって、他プロセッサ
35等が主記憶装置31のアドレスにアクセスすると、
そのアドレスがセットされる。ライトアドレスバッファ
47はキャッシュ34から送られたメモリバス36上の
アドレスを記憶するバッファであって、アドレスバッフ
ァ37と同様、他プロセッサ35等が主記憶装置31の
アドレスにアクセスすると、そのアドレスがセットされ
る。
のアドレスを記憶するバッファであって、他プロセッサ
35等が主記憶装置31のアドレスにアクセスすると、
そのアドレスがセットされる。ライトアドレスバッファ
47はキャッシュ34から送られたメモリバス36上の
アドレスを記憶するバッファであって、アドレスバッフ
ァ37と同様、他プロセッサ35等が主記憶装置31の
アドレスにアクセスすると、そのアドレスがセットされ
る。
【0015】キャッシュ34のタグメモリ38はキャッ
シュ34のバッファメモリ39に保持されているブロッ
クデータの主記憶装置31上のアドレスを記憶するメモ
リであり、バッファメモリ39は自プロセッサ32によ
りリードされた主記憶装置31上のブロックデータを保
持するメモリである。
シュ34のバッファメモリ39に保持されているブロッ
クデータの主記憶装置31上のアドレスを記憶するメモ
リであり、バッファメモリ39は自プロセッサ32によ
りリードされた主記憶装置31上のブロックデータを保
持するメモリである。
【0016】ヒット判定回路3Aはタグメモリ38に保
持されているアドレスと、他プロセッサが主記憶装置3
1にアクセスした際にアドレスバッファ37に保持され
るアドレスを比較し、それらが一致したとき出力を発生
する回路である。アンド回路3Bは主記憶装置31への
ライト信号であるSSライトがあるときヒット判定回路
3Aの出力を無効化制御部3Cにあたえる。
持されているアドレスと、他プロセッサが主記憶装置3
1にアクセスした際にアドレスバッファ37に保持され
るアドレスを比較し、それらが一致したとき出力を発生
する回路である。アンド回路3Bは主記憶装置31への
ライト信号であるSSライトがあるときヒット判定回路
3Aの出力を無効化制御部3Cにあたえる。
【0017】無効化制御部3Cはアンド回路3Bが出力
を発生したとき、キャッシュ34のブロックデータを無
効化する。すなわち、キャッシュ34のタグメモリ38
に保持されているアドレスに対応した主記憶装置31上
のアドレスに他プロセッサがライトするとアンド回路3
Bが出力を発生し、無効化制御部3Cはキャッシュ34
のブロックデータを無効化する。
を発生したとき、キャッシュ34のブロックデータを無
効化する。すなわち、キャッシュ34のタグメモリ38
に保持されているアドレスに対応した主記憶装置31上
のアドレスに他プロセッサがライトするとアンド回路3
Bが出力を発生し、無効化制御部3Cはキャッシュ34
のブロックデータを無効化する。
【0018】キャッシュ33のタグメモリ48、バッフ
ァメモリ49、ヒット判定回路4A、アンド回路4B、
無効化制御部4Cについての動作も上記したキャッシュ
34と同様である。遅延回路3Dは主記憶装置31への
ライト信号があるとき、アドレスバッファ37に保持さ
れたアドレス情報を所定時間だけ遅延させる手段であっ
て、数段のバッファで構成されている。また、その遅延
時間は、アドレスバッファ37にアドレスがセットされ
てから、キャッシュ34において、上記アドレスに対応
するブロックデータが無効化されるまでに要する時間よ
り長く設定されている。
ァメモリ49、ヒット判定回路4A、アンド回路4B、
無効化制御部4Cについての動作も上記したキャッシュ
34と同様である。遅延回路3Dは主記憶装置31への
ライト信号があるとき、アドレスバッファ37に保持さ
れたアドレス情報を所定時間だけ遅延させる手段であっ
て、数段のバッファで構成されている。また、その遅延
時間は、アドレスバッファ37にアドレスがセットされ
てから、キャッシュ34において、上記アドレスに対応
するブロックデータが無効化されるまでに要する時間よ
り長く設定されている。
【0019】次に図2の実施例の動作を説明する。タス
クチェンジにおいて、他プロセッサ35が主記憶装置3
1に対して、ライトアドレスを送出し、主記憶装置31
にライトすると、自プロセッサ32のキャッシュ34は
そのアドレスをアドレスバッファ37にセットし、その
アドレスに対応するブロックデータがキャッシュ34内
のバッファメモリ39に保持されているか否かをヒット
判定回路3Aによりチェックする。もし、ヒット判定回
路3Aがヒット出力を発生すると、ヒット判定回路3A
の出力は、主記憶装置31へのライト時には開状態とな
るアンド回路3Bを介して、無効化制御部3Cに与えら
れキャッシュ34のそのブロックデータは無効化され
る。
クチェンジにおいて、他プロセッサ35が主記憶装置3
1に対して、ライトアドレスを送出し、主記憶装置31
にライトすると、自プロセッサ32のキャッシュ34は
そのアドレスをアドレスバッファ37にセットし、その
アドレスに対応するブロックデータがキャッシュ34内
のバッファメモリ39に保持されているか否かをヒット
判定回路3Aによりチェックする。もし、ヒット判定回
路3Aがヒット出力を発生すると、ヒット判定回路3A
の出力は、主記憶装置31へのライト時には開状態とな
るアンド回路3Bを介して、無効化制御部3Cに与えら
れキャッシュ34のそのブロックデータは無効化され
る。
【0020】また、キャッシュ34のアドレスバッファ
37に他プロセッサ35によるライトアドレスがセット
されると、そのアドレス情報は遅延回路3Dに与えられ
る。他プロセッサ35による主記憶装置31へのライト
時、上記アドレス情報は遅延回路3Dにより遅延され、
キャッシュ33のライトアドレスバッファ47に与えら
れ保持される。
37に他プロセッサ35によるライトアドレスがセット
されると、そのアドレス情報は遅延回路3Dに与えられ
る。他プロセッサ35による主記憶装置31へのライト
時、上記アドレス情報は遅延回路3Dにより遅延され、
キャッシュ33のライトアドレスバッファ47に与えら
れ保持される。
【0021】遅延回路3Dを介してキャッシュ33のラ
イトアドレスバッファ47に上記アドレス情報がセット
されると、キャッシュ33のヒット判定回路4Aはキャ
ッシュ34の場合と同様、そのアドレスに対応するブロ
ックデータがキャッシュ33内のバッファメモリ49に
保持されているか否かをチェックする。もし、ヒット判
定回路4Aがヒット出力を発生すると、その出力は、キ
ャッシュ34と同様、アンド回路4Bを介して無効化制
御部4Cに与えられ、キャッシュ33のブロックデータ
は無効化される。
イトアドレスバッファ47に上記アドレス情報がセット
されると、キャッシュ33のヒット判定回路4Aはキャ
ッシュ34の場合と同様、そのアドレスに対応するブロ
ックデータがキャッシュ33内のバッファメモリ49に
保持されているか否かをチェックする。もし、ヒット判
定回路4Aがヒット出力を発生すると、その出力は、キ
ャッシュ34と同様、アンド回路4Bを介して無効化制
御部4Cに与えられ、キャッシュ33のブロックデータ
は無効化される。
【0022】以上のように、本実施例のものにおいて
は、遅延回路の遅延時間をアドレスバッファ37にアド
レスがセットされてからキャッシュ34において、上記
アドレスに対応するブロックデータが無効化されるまで
に要する時間より長く設定しているので、同一のブロッ
クデータに対する無効化を主記憶装置31に近い階層の
キャッシュからプロセッサ32に近い階層のキャッシュ
へと順序づけて行うことができ、従来例において述べた
ような問題点が生ずることはない。
は、遅延回路の遅延時間をアドレスバッファ37にアド
レスがセットされてからキャッシュ34において、上記
アドレスに対応するブロックデータが無効化されるまで
に要する時間より長く設定しているので、同一のブロッ
クデータに対する無効化を主記憶装置31に近い階層の
キャッシュからプロセッサ32に近い階層のキャッシュ
へと順序づけて行うことができ、従来例において述べた
ような問題点が生ずることはない。
【0023】なお、以上では3階層メモリの無効化制御
についての実施例を示したが、本発明は3階層メモリに
限定されるものではなく、これ以上の多階層メモリに適
用できることは言うまでもない。また、上記実施例にお
いては、共有資源が主記憶装置上に設けられている例を
示したが、本発明は上記実施例に限定されるものではな
く、例えば、共有資源がI/Oなど他の資源でもよい。
についての実施例を示したが、本発明は3階層メモリに
限定されるものではなく、これ以上の多階層メモリに適
用できることは言うまでもない。また、上記実施例にお
いては、共有資源が主記憶装置上に設けられている例を
示したが、本発明は上記実施例に限定されるものではな
く、例えば、共有資源がI/Oなど他の資源でもよい。
【0024】
【発明の効果】以上説明したことから明らかなように、
本発明においては、複数階層のメモリを持つ処理装置に
おいて、記憶装置を他プロセッサが書き換えた際、記憶
装置に近いキャッシュの対応するデータを無効化してか
ら、プロセッサに近いキャッシュのデータを無効化する
ので、プロセッサに近いキャッシュが記憶装置に近いキ
ャッシュの無効化前のデータを読み込むことがなく、タ
スクチェンジ時におけるセマフォビットリードを階層キ
ャッシュを用いて行うことができる。従って、本発明に
よれば、従来のものと比して、リードレスポンスを飛躍
的に向上させることができるとともに、メモリバスの使
用率を減少させることができ、システムの性能を向上さ
せることができる。
本発明においては、複数階層のメモリを持つ処理装置に
おいて、記憶装置を他プロセッサが書き換えた際、記憶
装置に近いキャッシュの対応するデータを無効化してか
ら、プロセッサに近いキャッシュのデータを無効化する
ので、プロセッサに近いキャッシュが記憶装置に近いキ
ャッシュの無効化前のデータを読み込むことがなく、タ
スクチェンジ時におけるセマフォビットリードを階層キ
ャッシュを用いて行うことができる。従って、本発明に
よれば、従来のものと比して、リードレスポンスを飛躍
的に向上させることができるとともに、メモリバスの使
用率を減少させることができ、システムの性能を向上さ
せることができる。
【図1】本発明の原理ブロック図である。
【図2】本発明の実施例である。
【図3】従来例である。
1,31 主記憶装置 2,32 自プロセッサ 3,33 キャッシュ 4,34 キャッシュ 5,35 他プロセッサ 6,36 メモリバス 37 アドレスバッファ 4a,38 キャッシュのタグメモリ 4b,39 キャッシュのバッファメモリ 3A キャッシュのヒット判定回路 3B アンド回路 4c,3C キャッシュの無効化制御部 3D 遅延回路 47 ライトアドレスバッファ 3a,48 キャッシュのタグメモリ 3b,49 キャッシュのバッファメモリ 4A キャッシュのヒット判定回路 4B アンド回路 3c,4C キャッシュの無効化制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山口 達也 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 小田原 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 野中 巧 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 金谷 英治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平3−230238(JP,A) 特開 平1−96746(JP,A) 特開 昭63−8849(JP,A) 特開 平3−232051(JP,A) 特開 平3−271859(JP,A) 特開 平3−164963(JP,A) 特開 平2−240764(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 - 12/12 G06F 15/16 - 15/177
Claims (1)
- 【請求項1】 複数の装置がアクセスする共有資源への
アクセスを排他制御するための管理情報を持つ記憶装置
に記憶されているデータを保持する複数階層のメモリ
と、 他の装置がメモリに保持された各データに対応した前記
記憶装置の領域にライトした際、メモリに保持された各
データを無効化する無効化制御部と、 共有資源にアクセスする際、前記管理情報に基づき自プ
ロセッサに使用権があるか否かを判断するとともに、リ
ードすべきデータがメモリに保持されている場合には、
メモリよりデータをリードし、リードすべきデータがメ
モリに保持されていない場合には、前記記憶装置にアク
セスしてデータをリードするとともにそのデータをメモ
リに補充するプロセッサとを備えた複数階層のメモリを
持つ処理装置であって、前記 記憶装置に近い階層のメモリとプロセッサに近い階
層のメモリの間に、メモリに保持された各データを無効
化するに際し、当該記憶装置に近い階層のメモリに格納
されたデータを無効化した後にプロセッサに近い階層の
メモリに格納されたデータを無効化するために、当該記
憶装置に近い階層のメモリに格納されたデータが無効化
されるまでに要する時間より長い遅延時間を持ち、前記
他の装置がライトした前記記憶装置のアドレス情報を記
憶装置に近い階層のメモリからプロセッサの近い階層の
メモリに伝達することを前記遅延時間だけ遅延させる遅
延回路を設けることを特徴とする処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3313293A JP2963257B2 (ja) | 1991-11-01 | 1991-11-01 | 処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3313293A JP2963257B2 (ja) | 1991-11-01 | 1991-11-01 | 処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05127996A JPH05127996A (ja) | 1993-05-25 |
JP2963257B2 true JP2963257B2 (ja) | 1999-10-18 |
Family
ID=18039481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3313293A Expired - Fee Related JP2963257B2 (ja) | 1991-11-01 | 1991-11-01 | 処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2963257B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4376692B2 (ja) | 2004-04-30 | 2009-12-02 | 富士通株式会社 | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS638849A (ja) * | 1986-06-30 | 1988-01-14 | Fujitsu Ltd | キヤツシユメモリ制御方式 |
JPH0196746A (ja) * | 1987-10-09 | 1989-04-14 | Hitachi Ltd | キヤツシユ装置 |
JPH03230238A (ja) * | 1990-02-05 | 1991-10-14 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュメモリ制御方式 |
-
1991
- 1991-11-01 JP JP3313293A patent/JP2963257B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05127996A (ja) | 1993-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4410944A (en) | Apparatus and method for maintaining cache memory integrity in a shared memory environment | |
US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
US7305523B2 (en) | Cache memory direct intervention | |
EP0179811B1 (en) | Interleaved set-associative memory | |
US6192458B1 (en) | High performance cache directory addressing scheme for variable cache sizes utilizing associativity | |
US7281092B2 (en) | System and method of managing cache hierarchies with adaptive mechanisms | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
JPS6284350A (ja) | 階層キヤツシユメモリ装置および方法 | |
JPH07502356A (ja) | 主メモリに対するアクセスを減らすことによって電力消費を減少させるキャッシュメモリ階層 | |
US6915396B2 (en) | Fast priority determination circuit with rotating priority | |
US7325102B1 (en) | Mechanism and method for cache snoop filtering | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
US6950906B2 (en) | System for and method of operating a cache | |
US5694575A (en) | Direct I/O control system with processor, main memory, and cache employing data consistency retaining scheme | |
JP2963257B2 (ja) | 処理装置 | |
JPH07507174A (ja) | 情報システムにおけるメモリ管理方法、該方法を利用する情報システム | |
JPH0290259A (ja) | マルチプロセッサシステム | |
US5754814A (en) | Cache memory apparatus for reading data corresponding to input address information | |
JPH03230238A (ja) | キャッシュメモリ制御方式 | |
KR100546295B1 (ko) | 데이타 전송 시간을 줄인 2-레벨 캐쉬 메모리 시스템 | |
JPH0512109A (ja) | キヤツシユメモリ方式 | |
JPH10207773A (ja) | バス接続装置 | |
JPH05120139A (ja) | キヤツシユメモリ装置 | |
JPH0415495B2 (ja) |
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: 19990727 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |