JPH05342099A - バッファ記憶制御方式 - Google Patents
バッファ記憶制御方式Info
- Publication number
- JPH05342099A JPH05342099A JP4153497A JP15349792A JPH05342099A JP H05342099 A JPH05342099 A JP H05342099A JP 4153497 A JP4153497 A JP 4153497A JP 15349792 A JP15349792 A JP 15349792A JP H05342099 A JPH05342099 A JP H05342099A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- data block
- registration
- buffer storage
- 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.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 不要な無効化動作を抑止することにより、よ
り効率的なバッファ記憶排他制御を行い、その性能を向
上させること。 【構成】 処理装置1,1’と、記憶装置と、記憶装置
の一部のコピーを記憶するストアイン方式のバッファ記
憶2,2’を複数備えた情報処理システムにおいて、バ
ッファ記憶2,2’に登録されるデータ・ブロックの登
録エントリ毎に、同図(a)に示すような排他型と、同
図(b)に示すような共有型と、同図(c)に示すよう
に、データのフェッチのみが可能で、唯一のバッファ記
憶2のみにデータ・ブロックが存在していることを示す
単独型の属性を持たせる。バッファ記憶2,2’の登録
属性に単独型を設けたので、バッファ記憶間でストア要
求のあるデータ・ブロックが唯一存在している状態をよ
り正確に判断することができ、無駄な無効化動作を無く
すことができる。
り効率的なバッファ記憶排他制御を行い、その性能を向
上させること。 【構成】 処理装置1,1’と、記憶装置と、記憶装置
の一部のコピーを記憶するストアイン方式のバッファ記
憶2,2’を複数備えた情報処理システムにおいて、バ
ッファ記憶2,2’に登録されるデータ・ブロックの登
録エントリ毎に、同図(a)に示すような排他型と、同
図(b)に示すような共有型と、同図(c)に示すよう
に、データのフェッチのみが可能で、唯一のバッファ記
憶2のみにデータ・ブロックが存在していることを示す
単独型の属性を持たせる。バッファ記憶2,2’の登録
属性に単独型を設けたので、バッファ記憶間でストア要
求のあるデータ・ブロックが唯一存在している状態をよ
り正確に判断することができ、無駄な無効化動作を無く
すことができる。
Description
【0001】
【産業上の利用分野】本発明は、ストアイン方式により
制御される、複数のバッファ記憶装置間でのデータ・ブ
ロックの排他制御に関し、特に、本発明は、不要な無効
化動作を抑止することにより、効率的なバッファ記憶排
他制御を実現することができるバッファ記憶制御方式に
関するものである。
制御される、複数のバッファ記憶装置間でのデータ・ブ
ロックの排他制御に関し、特に、本発明は、不要な無効
化動作を抑止することにより、効率的なバッファ記憶排
他制御を実現することができるバッファ記憶制御方式に
関するものである。
【0002】
【従来の技術】情報処理システムにおいては、近年、ま
すますその処理能力の向上が求められている。そこで、
処理装置が主記憶装置に蓄えられたデータを処理し、再
び主記憶装置に格納する構造を持つ計算機システムにお
いては、システム内の処理速度においてボトル・ネック
となり易い主記憶装置アクセスのオーバー・ヘッドを軽
減する目的として、処理装置内に、主記憶装置の一部の
コピーを持つ高速バッファ記憶を有するものが多い。
すますその処理能力の向上が求められている。そこで、
処理装置が主記憶装置に蓄えられたデータを処理し、再
び主記憶装置に格納する構造を持つ計算機システムにお
いては、システム内の処理速度においてボトル・ネック
となり易い主記憶装置アクセスのオーバー・ヘッドを軽
減する目的として、処理装置内に、主記憶装置の一部の
コピーを持つ高速バッファ記憶を有するものが多い。
【0003】また、さらに性能を向上させるために、主
記憶装置のアクセス頻度を下げるべく、バッファ記憶の
制御をストア・イン方式で行うものがある。こうした、
システムにおいて、複数の処理装置を結合させて処理能
力を高める場合には、システム内に複数のバッファ記憶
が存在することになるが、この場合それらのバッファ記
憶間での、同一主記憶アドレスのデータ・ブロックにつ
いては常に一元性が保たれていなければならない。
記憶装置のアクセス頻度を下げるべく、バッファ記憶の
制御をストア・イン方式で行うものがある。こうした、
システムにおいて、複数の処理装置を結合させて処理能
力を高める場合には、システム内に複数のバッファ記憶
が存在することになるが、この場合それらのバッファ記
憶間での、同一主記憶アドレスのデータ・ブロックにつ
いては常に一元性が保たれていなければならない。
【0004】このためには、処理装置が自分のバッファ
記憶内のあるデータ・ブロックを更新する場合には、他
の処理装置に対しては更新後の値が反映されるように制
御する必要がある。実際的には、更新されるアドレスと
同一アドレスのデータを他の処理装置のバッファ記憶か
ら無くしておき、他の処理装置が再度そのデータを必要
とした場合は、更新後のデータをバッファ記憶に取り込
むように制御する。
記憶内のあるデータ・ブロックを更新する場合には、他
の処理装置に対しては更新後の値が反映されるように制
御する必要がある。実際的には、更新されるアドレスと
同一アドレスのデータを他の処理装置のバッファ記憶か
ら無くしておき、他の処理装置が再度そのデータを必要
とした場合は、更新後のデータをバッファ記憶に取り込
むように制御する。
【0005】しかし、処理装置がストア要求を行う度
に、毎回、他のバッファ記憶の対応する主記憶アドレス
のデータ・ブロックに対して無効化要求を発行すると、
要求アドレスに対応するデータ・ブロックが他のバッフ
ァ記憶に存在しない場合にさえも、無効化のための操作
を行うという不要な動作をする事となる。そこで、従来
は、バッファ記憶に登録されるデータ・ブロック毎のエ
ントリに排他ビットを設け、ストア処理によって他のバ
ッファ記憶を無効化した際には、このビットをセット
し、また、他の系のフェッチ要求のフェッチ処理により
他のバッファ記憶と共有される際にはこのビットをリセ
ットしていた。
に、毎回、他のバッファ記憶の対応する主記憶アドレス
のデータ・ブロックに対して無効化要求を発行すると、
要求アドレスに対応するデータ・ブロックが他のバッフ
ァ記憶に存在しない場合にさえも、無効化のための操作
を行うという不要な動作をする事となる。そこで、従来
は、バッファ記憶に登録されるデータ・ブロック毎のエ
ントリに排他ビットを設け、ストア処理によって他のバ
ッファ記憶を無効化した際には、このビットをセット
し、また、他の系のフェッチ要求のフェッチ処理により
他のバッファ記憶と共有される際にはこのビットをリセ
ットしていた。
【0006】そして、このビットを参照したとき、この
ビットがセットされている場合には、他のバッファ記憶
が同一アドレスデータを持っていないことがわかるの
で、ストア要求に際しては、このビットを参照して、こ
のビットがセットされている場合には、他のバッファ記
憶の同一のアドレス・データが既に無効化されていると
して、他のバッファ記憶への重複した無効化要求を起動
しない様にしていた。
ビットがセットされている場合には、他のバッファ記憶
が同一アドレスデータを持っていないことがわかるの
で、ストア要求に際しては、このビットを参照して、こ
のビットがセットされている場合には、他のバッファ記
憶の同一のアドレス・データが既に無効化されていると
して、他のバッファ記憶への重複した無効化要求を起動
しない様にしていた。
【0007】
【発明が解決しようとする課題】しかし、上記した方法
は必ずしも十分ではなかった。すなわち、次の場合に
は、排他ビットはセットされないため、ストア要求に際
して、他のバッファ記憶に同一アドレス・データが存在
していないことを識別することができず、不要な無効化
処理を必ずしも抑止することができなかった。 ある記憶装置からのフェッチによるムーブイン要求
の際に、全てのバッファ記憶にヒットせず、記憶装置か
らその処理装置内のバッファ記憶内に要求データ・ブロ
ックが登録された後、その同バッファ記憶の同一のデー
タ・ブロックに対する他系からの何らかの要求が行われ
る前に、その処理装置のストア処理が発生した場合。
は必ずしも十分ではなかった。すなわち、次の場合に
は、排他ビットはセットされないため、ストア要求に際
して、他のバッファ記憶に同一アドレス・データが存在
していないことを識別することができず、不要な無効化
処理を必ずしも抑止することができなかった。 ある記憶装置からのフェッチによるムーブイン要求
の際に、全てのバッファ記憶にヒットせず、記憶装置か
らその処理装置内のバッファ記憶内に要求データ・ブロ
ックが登録された後、その同バッファ記憶の同一のデー
タ・ブロックに対する他系からの何らかの要求が行われ
る前に、その処理装置のストア処理が発生した場合。
【0008】すなわち、この場合には、記憶装置からそ
の処理装置内のバッファ記憶内に要求データ・ブロック
が登録された際、他のバッファ記憶には同一のデータ・
ブロックが登録されていないにもかかわらず、その状態
が属性情報により示されず、また、ストア処理時、他バ
ッファ記憶に対する無効化処理が行なわれないので、そ
のバッファ記憶の該データ・ブロックには排他ビットが
セットされることがない。
の処理装置内のバッファ記憶内に要求データ・ブロック
が登録された際、他のバッファ記憶には同一のデータ・
ブロックが登録されていないにもかかわらず、その状態
が属性情報により示されず、また、ストア処理時、他バ
ッファ記憶に対する無効化処理が行なわれないので、そ
のバッファ記憶の該データ・ブロックには排他ビットが
セットされることがない。
【0009】したがって、ストア要求に際して、他のバ
ッファ記憶に同一アドレス・データが存在していないこ
とを識別することができず、不要な無効化処理を行うこ
ととなる。 複数の系でフェッチ処理による登録が行われ、その
後、何らかの理由(例えば、バッファ記憶のリプレース
などによる登録データ・ブロックの無効化など)によ
り、結果的に登録があるバッファ記憶が唯一となった場
合。
ッファ記憶に同一アドレス・データが存在していないこ
とを識別することができず、不要な無効化処理を行うこ
ととなる。 複数の系でフェッチ処理による登録が行われ、その
後、何らかの理由(例えば、バッファ記憶のリプレース
などによる登録データ・ブロックの無効化など)によ
り、結果的に登録があるバッファ記憶が唯一となった場
合。
【0010】以上のように、上記従来方式では、実際に
は他のバッファ記憶に無効化すべきデータが登録されて
いない場合にも、無効化の動作が起動されてしまう場合
があり、余分な処理が発生して性能低下を招いていた。
本発明は上記した従来技術の欠点に鑑みなされたもので
あって、処理装置からのフェッチ要求のために登録され
たデータ・ブロックが他のバッファ記憶に存在しないこ
とをより正確に判断できるようにし、ストア要求に際し
て、不要な無効化動作を抑止することにより、より効率
的なバッファ記憶排他制御を行い、その性能を向上させ
ることが可能なバッファ記憶制御方式を提供することを
目的とする。
は他のバッファ記憶に無効化すべきデータが登録されて
いない場合にも、無効化の動作が起動されてしまう場合
があり、余分な処理が発生して性能低下を招いていた。
本発明は上記した従来技術の欠点に鑑みなされたもので
あって、処理装置からのフェッチ要求のために登録され
たデータ・ブロックが他のバッファ記憶に存在しないこ
とをより正確に判断できるようにし、ストア要求に際し
て、不要な無効化動作を抑止することにより、より効率
的なバッファ記憶排他制御を行い、その性能を向上させ
ることが可能なバッファ記憶制御方式を提供することを
目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理を説
明する図である。本発明の請求項1の発明は、同図に示
すように、処理装置1,1’と、記憶装置と、記憶装置
の一部のコピーを記憶するストアイン方式のバッファ記
憶2,2’を複数備えた情報処理システムにおけるバッ
ファ記憶制御方式において、バッファ記憶に登録される
データ・ブロックの登録エントリ毎に、同図(a)に示
すように、処理装置がデータのフェッチ、ストアが可能
で、複数のバッファ記憶の内のただ一つのバッファ記憶
にしかデータ・ブロックの存在を許さない排他型と、同
図(b)に示すように、データのフェッチのみが可能で
複数のバッファ記憶に同一のデータ・ブロックが存在し
ていることを示す共有型と、同図(c)に示すように、
データのフェッチのみが可能でただ一つのバッファ記憶
に存在していることを示す単独型の属性を持たせたもの
である。
明する図である。本発明の請求項1の発明は、同図に示
すように、処理装置1,1’と、記憶装置と、記憶装置
の一部のコピーを記憶するストアイン方式のバッファ記
憶2,2’を複数備えた情報処理システムにおけるバッ
ファ記憶制御方式において、バッファ記憶に登録される
データ・ブロックの登録エントリ毎に、同図(a)に示
すように、処理装置がデータのフェッチ、ストアが可能
で、複数のバッファ記憶の内のただ一つのバッファ記憶
にしかデータ・ブロックの存在を許さない排他型と、同
図(b)に示すように、データのフェッチのみが可能で
複数のバッファ記憶に同一のデータ・ブロックが存在し
ていることを示す共有型と、同図(c)に示すように、
データのフェッチのみが可能でただ一つのバッファ記憶
に存在していることを示す単独型の属性を持たせたもの
である。
【0012】本発明の請求項2の発明は、請求項1の発
明において、共有型を、データのフェッチのみが可能
で、複数のバッファ記憶に同一のデータ・ブロックを共
有する可能性示し、一つのバッファ記憶にのみ存在する
ことをも許すように変更したものである。
明において、共有型を、データのフェッチのみが可能
で、複数のバッファ記憶に同一のデータ・ブロックを共
有する可能性示し、一つのバッファ記憶にのみ存在する
ことをも許すように変更したものである。
【0013】
【作用】本発明の請求項1の発明においては、処理装置
1がフェッチを要求したときに、要求するデータ・ブロ
ックが全てのバッファ記憶2,2’に存在せず、要求が
あった処理装置1内のバッファ記憶2に記憶装置からデ
ータ・ブロックが登録される場合に、その登録属性を図
1(c)に示す「単独型」に設定する。また、複数のバ
ッファ記憶2,2’に登録されていた図1(b)に示す
共有型のデータ・ブロックが、リプレースなどにより無
効化され、同一データの有効なブロックがただ一つのバ
ッファ記憶2に登録される状態になったと判定されたと
きにも、データ・ブロックの登録属性を「単独型」に設
定する。
1がフェッチを要求したときに、要求するデータ・ブロ
ックが全てのバッファ記憶2,2’に存在せず、要求が
あった処理装置1内のバッファ記憶2に記憶装置からデ
ータ・ブロックが登録される場合に、その登録属性を図
1(c)に示す「単独型」に設定する。また、複数のバ
ッファ記憶2,2’に登録されていた図1(b)に示す
共有型のデータ・ブロックが、リプレースなどにより無
効化され、同一データの有効なブロックがただ一つのバ
ッファ記憶2に登録される状態になったと判定されたと
きにも、データ・ブロックの登録属性を「単独型」に設
定する。
【0014】さらに、処理装置1がストア要求を行う
際、自分のバッファ記憶2にその要求アドレスに対応す
るデータ・ブロックが登録されておらず、他のいずれの
バッファ記憶2’にも該データ・ブロックが存在しない
場合、記憶装置からデータを読み出して自分のバッファ
記憶2に図1(a)に示す「排他型」で登録しストアを
行う。
際、自分のバッファ記憶2にその要求アドレスに対応す
るデータ・ブロックが登録されておらず、他のいずれの
バッファ記憶2’にも該データ・ブロックが存在しない
場合、記憶装置からデータを読み出して自分のバッファ
記憶2に図1(a)に示す「排他型」で登録しストアを
行う。
【0015】また、自分のバッファ記憶2にその要求ア
ドレスに対応するデータ・ブロックが登録されていない
が、他のバッファ記憶2’に該データ・ブロックが存在
する場合には、そのデータ・ブロックを他のバッファ記
憶2’からムーブアウトして自バッファ記憶2に「排他
型」で登録し、他バッファ記憶2’の同一データ・ブロ
ックを無効化したのち、ストアを行う。
ドレスに対応するデータ・ブロックが登録されていない
が、他のバッファ記憶2’に該データ・ブロックが存在
する場合には、そのデータ・ブロックを他のバッファ記
憶2’からムーブアウトして自バッファ記憶2に「排他
型」で登録し、他バッファ記憶2’の同一データ・ブロ
ックを無効化したのち、ストアを行う。
【0016】処理装置1がストア要求を行う際、自分の
バッファ記憶2にその要求アドレスに対応するデータ・
ブロックが登録されていた場合には、その登録属性を参
照して、「排他型」であれば、そのままバッファ記憶2
に対するストアを行う。また、図1(b)に示す「共有
型」であれば、他のバッファ記憶2’にも同一のデータ
が存在しているので、それら他のバッファ記憶2’の登
録を無効化する要求を発行したのち、無効化完了の応答
後に自バッファ記憶2内のそのデータ・ブロックの属性
を「排他型」に変更してストア・アクセスを行う。
バッファ記憶2にその要求アドレスに対応するデータ・
ブロックが登録されていた場合には、その登録属性を参
照して、「排他型」であれば、そのままバッファ記憶2
に対するストアを行う。また、図1(b)に示す「共有
型」であれば、他のバッファ記憶2’にも同一のデータ
が存在しているので、それら他のバッファ記憶2’の登
録を無効化する要求を発行したのち、無効化完了の応答
後に自バッファ記憶2内のそのデータ・ブロックの属性
を「排他型」に変更してストア・アクセスを行う。
【0017】さらに、「単独型」であれば、他のバッフ
ァ記憶2’には要求アドレスが示すデータ・ブロックは
登録されていないことを示すので、無効化要求は出す必
要はなく、属性を「単独型」から「排他型」に変更した
後、ストア・アクセスを行う。以上のように、バッファ
記憶2,2’の登録属性に「単独型」を設けたので、バ
ッファ記憶間でストア要求のあるデータ・ブロックが唯
一存在している状態をより正確に判断することができ、
無駄な無効化動作を無くすことができる。
ァ記憶2’には要求アドレスが示すデータ・ブロックは
登録されていないことを示すので、無効化要求は出す必
要はなく、属性を「単独型」から「排他型」に変更した
後、ストア・アクセスを行う。以上のように、バッファ
記憶2,2’の登録属性に「単独型」を設けたので、バ
ッファ記憶間でストア要求のあるデータ・ブロックが唯
一存在している状態をより正確に判断することができ、
無駄な無効化動作を無くすことができる。
【0018】また、本発明の請求項2の発明において
は、「共有型」から「単独型」への更新を必ずしも厳密
におこなわず、「共有型」の登録がリプレースにより無
効化され、結果的に唯一のバッファ記憶2に残った場合
にも、「単独型」への更新動作を省略して、「共有型」
のままでいることを許容することにより、装置およびそ
の制御の簡略化を図ったものである。
は、「共有型」から「単独型」への更新を必ずしも厳密
におこなわず、「共有型」の登録がリプレースにより無
効化され、結果的に唯一のバッファ記憶2に残った場合
にも、「単独型」への更新動作を省略して、「共有型」
のままでいることを許容することにより、装置およびそ
の制御の簡略化を図ったものである。
【0019】この場合においては、ストア要求の際、自
分のバッファ記憶2に要求データが「共有型」で登録さ
れていても、そのデータ・ブロックの登録が全バッファ
記憶2,2’内で唯一の登録である可能性も含んでいる
が、他バッファ記憶2’に共有型登録があるものと見な
して、そのデータ・ブロックの登録を無効化するように
制御する。
分のバッファ記憶2に要求データが「共有型」で登録さ
れていても、そのデータ・ブロックの登録が全バッファ
記憶2,2’内で唯一の登録である可能性も含んでいる
が、他バッファ記憶2’に共有型登録があるものと見な
して、そのデータ・ブロックの登録を無効化するように
制御する。
【0020】したがって、請求項1の発明と較べて、不
要な無効化処理が残り、性能的には不利であるが、従来
例に較べ不要な無効化処理を減少させることができる。
要な無効化処理が残り、性能的には不利であるが、従来
例に較べ不要な無効化処理を減少させることができる。
【0021】
【実施例】図2は本発明の1実施例を示す図であり、同
図は記憶装置の一部を示している。同図において、11
は処理装置(図示せず)からの要求信号を示し、(1
a),(1b)はその要求アドレスであり、(1a)は
処理要求アドレスにおけるTAGエントリ・アドレス比
較部、(1b)は処理要求アドレスにおけるTAG検索
ライン・アドレス部、(1c)は処理内容指示ビットで
あり、要求内容が「フェッチ」か「ストア」かを示す
(ストアの場合に「1」)。
図は記憶装置の一部を示している。同図において、11
は処理装置(図示せず)からの要求信号を示し、(1
a),(1b)はその要求アドレスであり、(1a)は
処理要求アドレスにおけるTAGエントリ・アドレス比
較部、(1b)は処理要求アドレスにおけるTAG検索
ライン・アドレス部、(1c)は処理内容指示ビットで
あり、要求内容が「フェッチ」か「ストア」かを示す
(ストアの場合に「1」)。
【0022】12はバッファ記憶のブロック・データの
アドレスおよび登録属性を保持するデータ・ブロック登
録エントリ記憶部(以下TAGという)、13はTAG
12から読みだされた内容を保持するデータ・ブロック
登録エントリ読み出しレジスタであり、(3a)はTA
G内登録アドレス、(3b)はデータ・ブロック登録の
属性、(3c)はバリッド・ビットを示す。
アドレスおよび登録属性を保持するデータ・ブロック登
録エントリ記憶部(以下TAGという)、13はTAG
12から読みだされた内容を保持するデータ・ブロック
登録エントリ読み出しレジスタであり、(3a)はTA
G内登録アドレス、(3b)はデータ・ブロック登録の
属性、(3c)はバリッド・ビットを示す。
【0023】14は要求アドレス(1a)とTAG内登
録アドレス(3a)とを比較する登録データ・ブロック
比較器、15はエントリ内に保持している属性を識別す
る処理要求データ・ブロック登録属性デコーダであり、
(5a)は排他型登録信号、(5b)は単独型登録信
号、(5c)は共有型登録信号を示す。15−1,15
−2は処理内容指示ビット(1c)、ハリッド・ビット
(3c)、登録データ・ブロック比較器14および処理
要求データ・ブロック登録属性デコーダ15の出力によ
り、登録属性更新回路18に対して排他型への更新要求
信号を出力するアンドゲートである。
録アドレス(3a)とを比較する登録データ・ブロック
比較器、15はエントリ内に保持している属性を識別す
る処理要求データ・ブロック登録属性デコーダであり、
(5a)は排他型登録信号、(5b)は単独型登録信
号、(5c)は共有型登録信号を示す。15−1,15
−2は処理内容指示ビット(1c)、ハリッド・ビット
(3c)、登録データ・ブロック比較器14および処理
要求データ・ブロック登録属性デコーダ15の出力によ
り、登録属性更新回路18に対して排他型への更新要求
信号を出力するアンドゲートである。
【0024】16は他バッファ記憶の無効化要求を発行
する他バッファ記憶無効化要求発生回路、17はバッフ
ァ記憶ミスヒット時、他バッファ記憶へデータの無効化
およびデータ・ブロックの転送を要求するデータ・ブロ
ック・ムーブイン要求発生回路、18はバッファ記憶の
ブロック登録属性を変更する登録属性更新回路、19は
ブロック・リプレース条件を検出し、ブロック・リプレ
ース通知信号を発生するリプレース条件検出/要求発生
回路であり、(9a)は他バッファ記憶へのブロック・
リプレース通知信号、(9b)はバッファ・ブロック登
録無効化処理要求信号を示す。
する他バッファ記憶無効化要求発生回路、17はバッフ
ァ記憶ミスヒット時、他バッファ記憶へデータの無効化
およびデータ・ブロックの転送を要求するデータ・ブロ
ック・ムーブイン要求発生回路、18はバッファ記憶の
ブロック登録属性を変更する登録属性更新回路、19は
ブロック・リプレース条件を検出し、ブロック・リプレ
ース通知信号を発生するリプレース条件検出/要求発生
回路であり、(9a)は他バッファ記憶へのブロック・
リプレース通知信号、(9b)はバッファ・ブロック登
録無効化処理要求信号を示す。
【0025】20は自バッファ記憶のブロックが単独型
になったことを検出して登録更新を要求する単独型登録
検出回路であり、(20a)は他バッファ記憶からのブ
ロック・リプレース通知信号を示す。21は他のバッフ
ァ記憶装置であり、22は無効化の要求があったブロッ
クを無効化する他バッファ記憶内に設けられたデータ・
ブロック登録無効化回路、23は転送要求のあったブロ
ックを送出する他バッファ記憶内要求データ送出処理回
路である。
になったことを検出して登録更新を要求する単独型登録
検出回路であり、(20a)は他バッファ記憶からのブ
ロック・リプレース通知信号を示す。21は他のバッフ
ァ記憶装置であり、22は無効化の要求があったブロッ
クを無効化する他バッファ記憶内に設けられたデータ・
ブロック登録無効化回路、23は転送要求のあったブロ
ックを送出する他バッファ記憶内要求データ送出処理回
路である。
【0026】24は記憶装置であり、25は記憶データ
の送出をする記憶装置内要求データ送出処理回路であ
る。次に図2の装置の動作を説明する。図示しない処理
装置より要求信号11が与えられると、要求信号11の
TAGエントリ・アドレス比較部(1a)とデータ・ブ
ロック登録エントリ読み出しレジスタ13のTAG内登
録アドレス(3a)が登録データ・ブロック比較器14
において比較される。そして、比較結果が不一致である
か、データ・ブロック登録エントリ読み出しレジスタ1
3のバリッド・ビット(3c)が「0」であり、当該エ
ントリの登録が無効である場合には、データ・ブロック
・ムーブイン要求発生回路17より要求データ・ブロッ
クのムーブ・イン動作が起動される。
の送出をする記憶装置内要求データ送出処理回路であ
る。次に図2の装置の動作を説明する。図示しない処理
装置より要求信号11が与えられると、要求信号11の
TAGエントリ・アドレス比較部(1a)とデータ・ブ
ロック登録エントリ読み出しレジスタ13のTAG内登
録アドレス(3a)が登録データ・ブロック比較器14
において比較される。そして、比較結果が不一致である
か、データ・ブロック登録エントリ読み出しレジスタ1
3のバリッド・ビット(3c)が「0」であり、当該エ
ントリの登録が無効である場合には、データ・ブロック
・ムーブイン要求発生回路17より要求データ・ブロッ
クのムーブ・イン動作が起動される。
【0027】その際、要求信号11の処理内容指示ビッ
ト(1c)が「0」でフェッチ要求であることを示して
おり、同一のデータが他のバッファ記憶に存在した場合
には、データ・ブロック・ムーブイン要求発生回路17
がフェッチ・ムーブイン要求を発生し、他バッファ記憶
装置21内の他バッファ記憶内要求データ送出処理回路
23からデータ・ブロックをムーブインする。また、他
バッファ記憶内要求データ送出処理回路23からの出力
により登録属性更新回路18はそのデータ・ブロックを
自バッファ記憶に共有型で登録する。
ト(1c)が「0」でフェッチ要求であることを示して
おり、同一のデータが他のバッファ記憶に存在した場合
には、データ・ブロック・ムーブイン要求発生回路17
がフェッチ・ムーブイン要求を発生し、他バッファ記憶
装置21内の他バッファ記憶内要求データ送出処理回路
23からデータ・ブロックをムーブインする。また、他
バッファ記憶内要求データ送出処理回路23からの出力
により登録属性更新回路18はそのデータ・ブロックを
自バッファ記憶に共有型で登録する。
【0028】同一のデータが他のバッファ記憶装置21
に存在しなかった場合には、記憶装置24内の記憶装置
内要求データ送出処理回路25からデータ・ブロックを
ムーブインする。また、記憶装置内要求データ送出処理
回路25からの出力により、登録属性更新回路18はそ
のデータ・ブロックを自バッファ記憶に単独型で登録す
る。
に存在しなかった場合には、記憶装置24内の記憶装置
内要求データ送出処理回路25からデータ・ブロックを
ムーブインする。また、記憶装置内要求データ送出処理
回路25からの出力により、登録属性更新回路18はそ
のデータ・ブロックを自バッファ記憶に単独型で登録す
る。
【0029】一方、要求信号11の処理内容指示ビット
(1c)が「1」でストア要求であることを示している
場合には、データ・ブロック・ムーブイン要求発生回路
17がストア・ムーブイン要求を発生し、ストア・ムー
ブインを行うとともに、ムーブイン元にかかわらず、登
録属性更新回路18は自バッファ記憶に排他型で登録す
る。また、その際、他バッファ記憶からのムーブインで
ある場合には、同時に、他バッファ記憶登録無効化要求
発生回路16より無効化要求信号を発生し、送出元の他
バッファ記憶装置21内のデータ・ブロック登録無効化
回路22により、他バッファ記憶装置21の登録を無効
化する。
(1c)が「1」でストア要求であることを示している
場合には、データ・ブロック・ムーブイン要求発生回路
17がストア・ムーブイン要求を発生し、ストア・ムー
ブインを行うとともに、ムーブイン元にかかわらず、登
録属性更新回路18は自バッファ記憶に排他型で登録す
る。また、その際、他バッファ記憶からのムーブインで
ある場合には、同時に、他バッファ記憶登録無効化要求
発生回路16より無効化要求信号を発生し、送出元の他
バッファ記憶装置21内のデータ・ブロック登録無効化
回路22により、他バッファ記憶装置21の登録を無効
化する。
【0030】ムーブインが必要であると同時に、バッフ
ァ記憶のブロックのリプレースが必要である場合には、
リプレース条件検出/要求発生回路19がブロック・リ
プレース通知信号(9a)を発行し、他バッファ記憶か
らの応答によりリプレース先を決定するとともに、バッ
ファ・ブロック登録無効化処理要求信号(9b)を発行
し、自バッファ記憶のリプレースされたブロック・デー
タの登録を無効化する。
ァ記憶のブロックのリプレースが必要である場合には、
リプレース条件検出/要求発生回路19がブロック・リ
プレース通知信号(9a)を発行し、他バッファ記憶か
らの応答によりリプレース先を決定するとともに、バッ
ファ・ブロック登録無効化処理要求信号(9b)を発行
し、自バッファ記憶のリプレースされたブロック・デー
タの登録を無効化する。
【0031】次に、図示しない処理装置より要求信号1
1が与えられたとき、登録データ・ブロック比較器14
におけるTAGエントリ・アドレス比較部(1a)とT
AG内登録アドレス(3a)の比較結果が一致し、TA
G検索ライン・アドレス(1b)に基づきTAG12よ
り登録エントリが読み出され、データ・ブロック登録エ
ントリ読み出しレジスタ13のバリッド・ビット(3
c)が登録有効を示す「1」であった場合には、次のよ
うに動作する。
1が与えられたとき、登録データ・ブロック比較器14
におけるTAGエントリ・アドレス比較部(1a)とT
AG内登録アドレス(3a)の比較結果が一致し、TA
G検索ライン・アドレス(1b)に基づきTAG12よ
り登録エントリが読み出され、データ・ブロック登録エ
ントリ読み出しレジスタ13のバリッド・ビット(3
c)が登録有効を示す「1」であった場合には、次のよ
うに動作する。
【0032】要求信号11の処理内容指示ビット(1
c)がフェッチ要求であることを示す「0」である場合
には、登録属性が排他型、共有型、単独型のいずれの場
合においても、バッファ無効化要求は発行されず、その
ときの属性を保ったまま、データ・アクセス動作に移
る。また、要求信号11の処理内容指示ビット(1c)
がストア要求であることを示す「1」である場合には、
登録属性により、その動作が異なる。
c)がフェッチ要求であることを示す「0」である場合
には、登録属性が排他型、共有型、単独型のいずれの場
合においても、バッファ無効化要求は発行されず、その
ときの属性を保ったまま、データ・アクセス動作に移
る。また、要求信号11の処理内容指示ビット(1c)
がストア要求であることを示す「1」である場合には、
登録属性により、その動作が異なる。
【0033】データ・ブロック登録エントリ読み出しレ
ジスタ13より読み出されたデータ・ブロック登録属性
(3b)が処理要求データ・ブロック登録属性デコーダ
15によりデコードされ、そのデコード結果が排他型登
録信号(5a)である場合には、すでに他のバッファ記
憶内の同一ブロックが無効化されていることを示してい
るので、登録属性更新回路18は登録更新せず、そのま
まストア・アクセスを行う。
ジスタ13より読み出されたデータ・ブロック登録属性
(3b)が処理要求データ・ブロック登録属性デコーダ
15によりデコードされ、そのデコード結果が排他型登
録信号(5a)である場合には、すでに他のバッファ記
憶内の同一ブロックが無効化されていることを示してい
るので、登録属性更新回路18は登録更新せず、そのま
まストア・アクセスを行う。
【0034】デコード結果が単独型登録信号(5b)で
ある場合には、ゲート15−1が出力を発生して、登録
属性更新回路18はそのデータ・ブロックを排他型に更
新する。また、この場合には、他のバッファ記憶に同一
ブロックが存在していないことを示しているので、他バ
ッファ記憶に対して無効化要求は発行する必要はなく、
排他型に属性を更新したのちに、ストア・アクセスを行
う。
ある場合には、ゲート15−1が出力を発生して、登録
属性更新回路18はそのデータ・ブロックを排他型に更
新する。また、この場合には、他のバッファ記憶に同一
ブロックが存在していないことを示しているので、他バ
ッファ記憶に対して無効化要求は発行する必要はなく、
排他型に属性を更新したのちに、ストア・アクセスを行
う。
【0035】デコード結果が共有型登録信号(5c)で
ある場合には、ゲート15−2が出力を発生して、登録
属性更新回路18はそのデータ・ブロックを排他型に更
新する。また、この場合には、他のバッファ記憶に同一
データ・ブロックの登録があることを示しているので、
他バッファ記憶無効化要求発生回路16よりデータ・ブ
ロック登録無効化回路22に、他バッファ記憶に対する
無効化を要求する出力を発生し、他のバッファ記憶全て
の無効化完了の応答後、ストア・アクセスを行う。
ある場合には、ゲート15−2が出力を発生して、登録
属性更新回路18はそのデータ・ブロックを排他型に更
新する。また、この場合には、他のバッファ記憶に同一
データ・ブロックの登録があることを示しているので、
他バッファ記憶無効化要求発生回路16よりデータ・ブ
ロック登録無効化回路22に、他バッファ記憶に対する
無効化を要求する出力を発生し、他のバッファ記憶全て
の無効化完了の応答後、ストア・アクセスを行う。
【0036】さらに、処理装置からの要求とは非同期
に、他バッファ記憶からのリプレースの通知信号(20
a)与えられ、自バッファ記憶内のある共有型のブロッ
クがすべてのバッファ記憶内で唯一の登録であることが
検出されたとき、あるいは、他バッファ記憶からのリプ
レース・ブロックを自バッファ記憶に登録した際には、
単独型登録検出回路20が出力を発生し、登録属性更新
回路18は、そのブロックを共有型から単独型への属性
変更、登録を行う。
に、他バッファ記憶からのリプレースの通知信号(20
a)与えられ、自バッファ記憶内のある共有型のブロッ
クがすべてのバッファ記憶内で唯一の登録であることが
検出されたとき、あるいは、他バッファ記憶からのリプ
レース・ブロックを自バッファ記憶に登録した際には、
単独型登録検出回路20が出力を発生し、登録属性更新
回路18は、そのブロックを共有型から単独型への属性
変更、登録を行う。
【0037】以上のように、本実施例においては、バッ
ファ記憶の登録属性情報として排他型に加え、単独型を
設け、フェッチ要求時に記憶装置からデータ・ブロック
をムーブインした場合、あるいは、何らかの理由によ
り、結果的に登録があるバッファ記憶が唯一となった場
合には、そのデータ・ブロックを単独型に設定するの
で、ストア要求時、バッファ記憶間でデータ・ブロック
が唯一存在している状態をより正確に判断することがで
き、無駄な無効化登録動作を無くすことができる。
ファ記憶の登録属性情報として排他型に加え、単独型を
設け、フェッチ要求時に記憶装置からデータ・ブロック
をムーブインした場合、あるいは、何らかの理由によ
り、結果的に登録があるバッファ記憶が唯一となった場
合には、そのデータ・ブロックを単独型に設定するの
で、ストア要求時、バッファ記憶間でデータ・ブロック
が唯一存在している状態をより正確に判断することがで
き、無駄な無効化登録動作を無くすことができる。
【0038】なお、上記した実施例においては、共有型
の登録ブロックがすべてのバッファ記憶内で唯一の存在
になった場合を検出して、単独型に更新しているが、こ
の動作を省略して、共有型の登録でも全てのバッファ記
憶内で唯一の存在であることを許容できるようにし、単
独型の設定はフェッチ要求時に記憶装置からデータ・ブ
ロックをムーブインした場合のみ限ることもできる。
の登録ブロックがすべてのバッファ記憶内で唯一の存在
になった場合を検出して、単独型に更新しているが、こ
の動作を省略して、共有型の登録でも全てのバッファ記
憶内で唯一の存在であることを許容できるようにし、単
独型の設定はフェッチ要求時に記憶装置からデータ・ブ
ロックをムーブインした場合のみ限ることもできる。
【0039】この方式では、ストア要求の際、自バッフ
ァ記憶に要求データが共有型で登録されている場合に
は、その登録が全バッファ記憶で唯一の登録である可能
性を含んでいるが、他バッファ記憶に共有型登録がある
ものと見なして、そのデータ・ブロックの登録を無効化
するように制御する。このため、厳密な制御を行う前記
した実施例のものと較べて不要な無効化処理が残るため
性能的には不利であるが、無駄な無効化処理を減少させ
ることができ、従来例のものと較べより性能を向上させ
ることができる。
ァ記憶に要求データが共有型で登録されている場合に
は、その登録が全バッファ記憶で唯一の登録である可能
性を含んでいるが、他バッファ記憶に共有型登録がある
ものと見なして、そのデータ・ブロックの登録を無効化
するように制御する。このため、厳密な制御を行う前記
した実施例のものと較べて不要な無効化処理が残るため
性能的には不利であるが、無駄な無効化処理を減少させ
ることができ、従来例のものと較べより性能を向上させ
ることができる。
【0040】
【発明の効果】以上説明したことから明らかなように、
本発明において、バッファ記憶に登録されるデータ・ブ
ロックの登録属性情報として、排他型に加え、単独型を
設けたので、登録されたデータ・ブロックが他のバッフ
ァ記憶に存在しないことをより正確に判断でき、ストア
要求に際して、不要な無効化動作を抑止することが可能
となる。
本発明において、バッファ記憶に登録されるデータ・ブ
ロックの登録属性情報として、排他型に加え、単独型を
設けたので、登録されたデータ・ブロックが他のバッフ
ァ記憶に存在しないことをより正確に判断でき、ストア
要求に際して、不要な無効化動作を抑止することが可能
となる。
【0041】したがって、処理時間を短縮することがで
き、情報処理システムの性能に寄与するところが大であ
る。
き、情報処理システムの性能に寄与するところが大であ
る。
【図1】本発明の原理を示す図である。
【図2】本発明の実施例を示す図である。
11 要求信号 12 データ・ブロック登録エントリ記憶部(TA
G) 13 データ・ブロック登録エントリ読み出しレジ
スタ 14 登録データ・ブロック比較器 15 処理要求データ・ブロック登録属性デコーダ 16 他バッファ記憶無効化要求発生回路 17 データ・ブロック・ムーブイン要求発生回路 18 登録属性更新回路 19 リプレース条件検出/要求発生回路 20 単独型登録検出回路 21 他のバッファ記憶装置 22 データ・ブロック登録無効化回路 23 要求データ送出処理回路 24 記憶装置 25 要求データ送出処理回路
G) 13 データ・ブロック登録エントリ読み出しレジ
スタ 14 登録データ・ブロック比較器 15 処理要求データ・ブロック登録属性デコーダ 16 他バッファ記憶無効化要求発生回路 17 データ・ブロック・ムーブイン要求発生回路 18 登録属性更新回路 19 リプレース条件検出/要求発生回路 20 単独型登録検出回路 21 他のバッファ記憶装置 22 データ・ブロック登録無効化回路 23 要求データ送出処理回路 24 記憶装置 25 要求データ送出処理回路
Claims (2)
- 【請求項1】 処理装置と、記憶装置と、記憶装置の一
部のコピーを記憶するストアイン方式のバッファ記憶を
複数備えた情報処理システムにおけるバッファ記憶制御
方式において、 バッファ記憶に登録されるデータ・ブロックの登録エン
トリ毎に、 処理装置がデータのフェッチ、ストアが可能で、複数の
バッファ記憶の内のただ一つのバッファ記憶にしかデー
タ・ブロックの存在を許さない排他型と、 データのフェッチのみが可能で複数のバッファ記憶に同
一のデータ・ブロックが存在していることを示す共有型
と、 データのフェッチのみが可能でただ一つのバッファ記憶
に存在していることを示す単独型の属性を持たせたこと
を特徴とするバッファ記憶制御方式。 - 【請求項2】 処理装置と、記憶装置と、記憶装置の一
部のコピーを記憶するストアイン方式のバッファ記憶を
複数備えた情報処理システムにおけるバッファ記憶制御
方式において、 バッファ記憶に登録されるデータ・ブロックの登録エン
トリ毎に、 処理装置がデータのフェッチ、ストアが可能で、複数の
バッファ記憶の内のただ一つのバッファ記憶にしかデー
タ・ブロックの存在を許さない排他型と、 データのフェッチのみが可能で、複数のバッファ記憶に
同一のデータ・ブロックを共有する可能性を示し、一つ
のバッファ記憶にのみ存在することをも許す共有型と、 データのフェッチのみが可能で、ただ一つのバッファ記
憶に存在していることを示す単独型の属性を持たせたこ
とを特徴とするバッファ記憶制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4153497A JPH05342099A (ja) | 1992-06-12 | 1992-06-12 | バッファ記憶制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4153497A JPH05342099A (ja) | 1992-06-12 | 1992-06-12 | バッファ記憶制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05342099A true JPH05342099A (ja) | 1993-12-24 |
Family
ID=15563857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4153497A Withdrawn JPH05342099A (ja) | 1992-06-12 | 1992-06-12 | バッファ記憶制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05342099A (ja) |
-
1992
- 1992-06-12 JP JP4153497A patent/JPH05342099A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5490261A (en) | Interlock for controlling processor ownership of pipelined data for a store in cache | |
US5539895A (en) | Hierarchical computer cache system | |
US4626988A (en) | Instruction fetch look-aside buffer with loop mode control | |
EP1399823B1 (en) | Using an l2 directory to facilitate speculative loads in a multiprocessor system | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
JPH0561770A (ja) | データ処理システムのコヒーレンス手段 | |
JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
JPH0743670B2 (ja) | ストアスルーキャッシュ管理システム | |
JP2000010860A (ja) | キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム | |
US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
US6496917B1 (en) | Method to reduce memory latencies by performing two levels of speculation | |
JPH04230549A (ja) | 多重レベル・キャッシュ | |
JP3732397B2 (ja) | キャッシュシステム | |
KR100380674B1 (ko) | 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템 | |
JP3626609B2 (ja) | マルチプロセッサシステム | |
JP3733604B2 (ja) | キャッシュメモリ | |
JPH05342099A (ja) | バッファ記憶制御方式 | |
US7519778B2 (en) | System and method for cache coherence | |
JPH03230238A (ja) | キャッシュメモリ制御方式 | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
JPH08263374A (ja) | キャッシュ制御方法およびそれを用いたマルチプロセッサシステム | |
JP3757768B2 (ja) | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 | |
JPH05342101A (ja) | 階層キャッシュ・メモリ | |
JPH10207773A (ja) | バス接続装置 | |
JPH08272687A (ja) | 入出力キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990831 |