JPH05127996A - キヤツシユ無効化制御方式 - Google Patents
キヤツシユ無効化制御方式Info
- Publication number
- JPH05127996A JPH05127996A JP3313293A JP31329391A JPH05127996A JP H05127996 A JPH05127996 A JP H05127996A JP 3313293 A JP3313293 A JP 3313293A JP 31329391 A JP31329391 A JP 31329391A JP H05127996 A JPH05127996 A JP H05127996A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- block data
- processor
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 システムの処理能力を低下させることなくセ
マフォ制御を行うことができる複数階層のキャッシュ制
御方式を提供すること。 【構成】 他プロセッサ5が主記憶装置1にライトした
時、そのアドレスに対応したブロックデータがキャッシ
ュ4のバッファメモリ4bに保持されていると、無効化
制御部4cはそのブロックデータを無効化する。キャッ
シュ4のブロックデータが無効化されたのち、キャッシ
ュ3はキャッシュ4と同様にブロックデータを無効化す
る。キャッシュ4が無効化されてからキャッシュ3が無
効化されるので、キャッシュ3がキャッシュ4の無効化
前の古いデータをリードすることはなく、セマフォ制御
において、主記憶装置1のセマフォビットとキャッシュ
3のセマフォビットが不一致となることはない。
マフォ制御を行うことができる複数階層のキャッシュ制
御方式を提供すること。 【構成】 他プロセッサ5が主記憶装置1にライトした
時、そのアドレスに対応したブロックデータがキャッシ
ュ4のバッファメモリ4bに保持されていると、無効化
制御部4cはそのブロックデータを無効化する。キャッ
シュ4のブロックデータが無効化されたのち、キャッシ
ュ3はキャッシュ4と同様にブロックデータを無効化す
る。キャッシュ4が無効化されてからキャッシュ3が無
効化されるので、キャッシュ3がキャッシュ4の無効化
前の古いデータをリードすることはなく、セマフォ制御
において、主記憶装置1のセマフォビットとキャッシュ
3のセマフォビットが不一致となることはない。
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と、複数の装置2,5の共
有資源1bへのアクセスを排他制御するためのセマフォ
領域1aを持つ主記憶装置1と、主記憶装置1に記憶さ
れているブロックデータを保持する複数階層のバッファ
メモリ3b,4bと、各階層のバッファメモリ3b,4
bに保持された各ブロックデータの管理情報を保持する
タグメモリ3a,4aと、他の装置がバッファメモリ3
b,4bに保持された各ブロックデータに対応した主記
憶装置1の領域にライトした際、バッファメモリ3b,
4bに保持された各ブロックデータを無効化する無効化
制御部3c,4cと、共有資源1bにアクセスする際、
セマフォ領域1aをリードすることにより自プロセッサ
2に使用権があるか否かを判断するとともに、リードす
べきデータがバッファメモリ3b,4bに保持されてい
る場合には、バッファメモリ3b,4bよりデータをリ
ードし、リードすべきデータがバッファメモリ3b,4
bに保持されていない場合には、主記憶装置1にアクセ
スしてデータをリードするとともにそのデータを含むブ
ロックデータをバッファメモリ3b,4bに補充するプ
ロセッサ2とを備えたキャッシュ無効化制御方式におい
て、バッファメモリ3b,4bに保持された各ブロック
データを無効化するに際し、主記憶装置1に近い階層の
ブロックデータからプロセッサ2に近い階層のブロック
データへと順序付けて無効化を行う。
め、本発明においては、図1に示すように、複数の装置
がアクセスする共有資源1bと、複数の装置2,5の共
有資源1bへのアクセスを排他制御するためのセマフォ
領域1aを持つ主記憶装置1と、主記憶装置1に記憶さ
れているブロックデータを保持する複数階層のバッファ
メモリ3b,4bと、各階層のバッファメモリ3b,4
bに保持された各ブロックデータの管理情報を保持する
タグメモリ3a,4aと、他の装置がバッファメモリ3
b,4bに保持された各ブロックデータに対応した主記
憶装置1の領域にライトした際、バッファメモリ3b,
4bに保持された各ブロックデータを無効化する無効化
制御部3c,4cと、共有資源1bにアクセスする際、
セマフォ領域1aをリードすることにより自プロセッサ
2に使用権があるか否かを判断するとともに、リードす
べきデータがバッファメモリ3b,4bに保持されてい
る場合には、バッファメモリ3b,4bよりデータをリ
ードし、リードすべきデータがバッファメモリ3b,4
bに保持されていない場合には、主記憶装置1にアクセ
スしてデータをリードするとともにそのデータを含むブ
ロックデータをバッファメモリ3b,4bに補充するプ
ロセッサ2とを備えたキャッシュ無効化制御方式におい
て、バッファメモリ3b,4bに保持された各ブロック
データを無効化するに際し、主記憶装置1に近い階層の
ブロックデータからプロセッサ2に近い階層のブロック
データへと順序付けて無効化を行う。
【0011】
【作用】他プロセッサ5が主記憶装置1に対して、ライ
トアドレスを送出し、主記憶装置1にライトすると、自
プロセッサ2のキャッシュ4はそのアドレスに対応する
ブロックデータがキャッシュ4内のバッファメモリ4b
に保持されているか否かをチェックする。もし、上記ブ
ロックデータがバッファメモリ4bに保持されている
と、無効化制御部4cはキャッシュ4のそのブロックデ
ータを無効化する。キャッシュ4のブロックデータが無
効化されたのち、キャッシュ3はキャッシュ4と同様に
上記ブロックデータがキャッシュ3内のバッファメモリ
3bに保持されているか否かをチェックする。もし、バ
ッファメモリ3bに保持されていると、無効化制御部3
cはキャッシュ3のブロックデータを無効化する。キャ
ッシュ4が無効化されてからキャッシュ3が無効化され
るので、キャッシュ3がキャッシュ4の無効化前の古い
データをリードすることはなく、セマフォ制御におい
て、主記憶装置1のセマフォビットとキャッシュ3のセ
マフォビットが不一致となることはない。
トアドレスを送出し、主記憶装置1にライトすると、自
プロセッサ2のキャッシュ4はそのアドレスに対応する
ブロックデータがキャッシュ4内のバッファメモリ4b
に保持されているか否かをチェックする。もし、上記ブ
ロックデータがバッファメモリ4bに保持されている
と、無効化制御部4cはキャッシュ4のそのブロックデ
ータを無効化する。キャッシュ4のブロックデータが無
効化されたのち、キャッシュ3はキャッシュ4と同様に
上記ブロックデータがキャッシュ3内のバッファメモリ
3bに保持されているか否かをチェックする。もし、バ
ッファメモリ3bに保持されていると、無効化制御部3
cはキャッシュ3のブロックデータを無効化する。キャ
ッシュ4が無効化されてからキャッシュ3が無効化され
るので、キャッシュ3がキャッシュ4の無効化前の古い
データをリードすることはなく、セマフォ制御におい
て、主記憶装置1のセマフォビットとキャッシュ3のセ
マフォビットが不一致となることはない。
【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番地 富士通株式会社内
Claims (1)
- 【請求項1】複数の装置がアクセスする共有資源(1b)
と、 複数の装置(2,5) の共有資源(1b)へのアクセスを排他制
御するためのセマフォ領域(1a)を持つ主記憶装置(1)
と、 主記憶装置(1) に記憶されているブロックデータを保持
する複数階層のバッファメモリ(3b,4b) と、 各階層のバッファメモリ(3b,4b) に保持された各ブロッ
クデータの管理情報を保持するタグメモリ(3a,4a) と、 他の装置がバッファメモリ(3b,4b) に保持された各ブロ
ックデータに対応した主記憶装置(1) の領域にライトし
た際、バッファメモリ(3b,4b) に保持された各ブロック
データを無効化する無効化制御部(3c,4c) と、 共有資源(1b)にアクセスする際、セマフォ領域(1a)をリ
ードすることにより自プロセッサ(2) に使用権があるか
否かを判断するとともに、リードすべきデータがバッフ
ァメモリ(3b,4b) に保持されている場合には、バッファ
メモリ(3b,4b)よりデータをリードし、リードすべきデ
ータがバッファメモリ(3b,4b) に保持されていない場合
には、主記憶装置(1) にアクセスしてデータをリードす
るとともにそのデータを含むブロックデータをバッファ
メモリ(3b,4b) に補充するプロセッサ(2) とを備えたキ
ャッシュ無効化制御方式において、 バッファメモリ(3b,4b) に保持された各ブロックデータ
を無効化するに際し、主記憶装置(1) に近い階層のブロ
ックデータからプロセッサ(2) に近い階層のブロックデ
ータへと順序付けて無効化を行うことを特徴とするキャ
ッシュ無効化制御方式。
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 true JPH05127996A (ja) | 1993-05-25 |
| JP2963257B2 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) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7853756B2 (en) | 2004-04-30 | 2010-12-14 | Fujitsu Limited | Information processing device, processor, processor control method, information processing device control method and cache memory |
Citations (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
Patent Citations (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> | キャッシュメモリ制御方式 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7853756B2 (en) | 2004-04-30 | 2010-12-14 | Fujitsu Limited | Information processing device, processor, processor control method, information processing device control method and cache memory |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2963257B2 (ja) | 1999-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
| JPS5830319Y2 (ja) | コンピユ−タシステム | |
| US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
| US5537572A (en) | Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM) | |
| EP0349122B1 (en) | Method and apparatus for filtering invalidate requests | |
| US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
| US5261106A (en) | Semaphore bypass | |
| US20030135669A1 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
| JPH08272693A (ja) | 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置 | |
| JPS6284350A (ja) | 階層キヤツシユメモリ装置および方法 | |
| JPH07502356A (ja) | 主メモリに対するアクセスを減らすことによって電力消費を減少させるキャッシュメモリ階層 | |
| US20020188821A1 (en) | Fast priority determination circuit with rotating priority | |
| US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
| US5809526A (en) | Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation | |
| US7281092B2 (en) | System and method of managing cache hierarchies with adaptive mechanisms | |
| US6950906B2 (en) | System for and method of operating a cache | |
| US6138216A (en) | Microprocessor cache consistency | |
| US5749087A (en) | Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory | |
| US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
| JPH05127996A (ja) | キヤツシユ無効化制御方式 | |
| US20010034808A1 (en) | Cache memory device and information processing system | |
| TW202201387A (zh) | 神經網路計算裝置及其快取管理方法 | |
| JP2976980B2 (ja) | キャッシュ制御方式 | |
| JPH05342101A (ja) | 階層キャッシュ・メモリ | |
| KR100546295B1 (ko) | 데이타 전송 시간을 줄인 2-레벨 캐쉬 메모리 시스템 |
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 |