JPS58118083A - 多重処理システムにおけるキヤツシユ制御機構 - Google Patents
多重処理システムにおけるキヤツシユ制御機構Info
- Publication number
- JPS58118083A JPS58118083A JP57200528A JP20052882A JPS58118083A JP S58118083 A JPS58118083 A JP S58118083A JP 57200528 A JP57200528 A JP 57200528A JP 20052882 A JP20052882 A JP 20052882A JP S58118083 A JPS58118083 A JP S58118083A
- Authority
- JP
- Japan
- Prior art keywords
- line
- cache
- shared
- write
- flag
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔技術分野〕
本発明は、各々が専用のキャッシュを持った複数の中火
プロセッサと、これらの中央プロセッサによって共有さ
れろ主記憶装置とを含む多重処理システムに関する。
プロセッサと、これらの中央プロセッサによって共有さ
れろ主記憶装置とを含む多重処理システムに関する。
高性能の中央プロセッサ(CP)は、主記憶装置(MS
)の見かけ上のアクセス時間を短くするために、ハード
ウェアによって管理される高速のバッファ・メモリ或い
はキャッシュを備えているのが普通である。キャッシュ
がハードウェアによって管理されているとプログラマか
らは見え々い(アクセスできない)。この状態は「トラ
ンスベ(3) アレント」と呼ばれる。共有のMSを有する多重処理(
MP)システムにおいて(は、各CPが使用するデータ
は最新のものでなければならない。
)の見かけ上のアクセス時間を短くするために、ハード
ウェアによって管理される高速のバッファ・メモリ或い
はキャッシュを備えているのが普通である。キャッシュ
がハードウェアによって管理されているとプログラマか
らは見え々い(アクセスできない)。この状態は「トラ
ンスベ(3) アレント」と呼ばれる。共有のMSを有する多重処理(
MP)システムにおいて(は、各CPが使用するデータ
は最新のものでなければならない。
キャッシュの代表的なアクセス方式としてはストア・ス
ルー(ST)方式及びストア・イン・キャッシュ(SI
C)方式が知ら旭ている。STキャッシュを有するCP
は、データを変更するときには常にM Sをアクセスす
る。STキャッシュは現在市販されている殆んどの大7
!!ICPに備えられている。しかしながら、すべての
書込み要求がMSへ送られるので、STキャッシュを備
えたCPケ用いてMPシステムを構成でる場合にid、
M、Sへの梵、込みによる性能低下を避けるために、M
S帯域幅をかなり大きくする必要がある。CPの台数が
多くなると、帯域幅もそれに伴って大きくしなければな
ら々いが、それには限度がある。
ルー(ST)方式及びストア・イン・キャッシュ(SI
C)方式が知ら旭ている。STキャッシュを有するCP
は、データを変更するときには常にM Sをアクセスす
る。STキャッシュは現在市販されている殆んどの大7
!!ICPに備えられている。しかしながら、すべての
書込み要求がMSへ送られるので、STキャッシュを備
えたCPケ用いてMPシステムを構成でる場合にid、
M、Sへの梵、込みによる性能低下を避けるために、M
S帯域幅をかなり大きくする必要がある。CPの台数が
多くなると、帯域幅もそれに伴って大きくしなければな
ら々いが、それには限度がある。
MS帯域幅をそれ程大きくできない場合には、米国特許
第3735360号及び同第2771137号に記載の
如きSTCキャッシュを用いるのが望せしい。SICキ
ャッシュ1は書込みも読出しく4) も同じ様に扱う。即ち、書込み又は読出しが行々われる
べきライン(ブロックとも云う)は必ずSICキャッシ
ュになければならない。これに対して、STキャッシュ
の場合は、書込みが行なわれるべきラインはSTキャッ
シュになくてもよい。
第3735360号及び同第2771137号に記載の
如きSTCキャッシュを用いるのが望せしい。SICキ
ャッシュ1は書込みも読出しく4) も同じ様に扱う。即ち、書込み又は読出しが行々われる
べきライン(ブロックとも云う)は必ずSICキャッシ
ュになければならない。これに対して、STキャッシュ
の場合は、書込みが行なわれるべきラインはSTキャッ
シュになくてもよい。
特開昭57−109180号公報には、特別のフラグ(
E X/ROフラグ)を用いてSICキャッシュ中のラ
インの書込み及び読出しを制御する技術が開示さねてい
る。
E X/ROフラグ)を用いてSICキャッシュ中のラ
インの書込み及び読出しを制御する技術が開示さねてい
る。
よく知られているように、要求されたライン或はブロッ
クがキャッシュになければキャッシュ・ミスが生じる。
クがキャッシュになければキャッシュ・ミスが生じる。
SICキャッシュにおいては、書込み要求及び読出し要
求のいずれによってもキャッシュ・ミスが生じ得るが、
STキャッシュにおいては、書込み要求によるキャッシ
ュ・ミス即ち書込みミスは生じ力い。いずれにしても、
キャッシュ・ミスが生じた場合には、要求されたライン
をMSから取出してキャッシュへ転送する必要がある。
求のいずれによってもキャッシュ・ミスが生じ得るが、
STキャッシュにおいては、書込み要求によるキャッシ
ュ・ミス即ち書込みミスは生じ力い。いずれにしても、
キャッシュ・ミスが生じた場合には、要求されたライン
をMSから取出してキャッシュへ転送する必要がある。
SICキャッシュはCPからの書込み要求なすべて処理
するので、STキャッシュの場合に比べてMSのアクセ
ス回数が減り、従って帯域幅も小さくてよい。
するので、STキャッシュの場合に比べてMSのアクセ
ス回数が減り、従って帯域幅も小さくてよい。
MPシステムにおいてSICキャッシュを用いることの
問題は、書込みがSICキャッシュでのみ行われるため
、MSKあるデータが必ずしも最新のものではないとい
う点にある。従って、各CPが最新のデータをアクセス
できるようKするため、成るCPKよって要求されたラ
インがその専用のキャッシュに々いことがわかると、す
べてのキャッシュ・ディレクトリの相互照会が行われ、
要求されたラインが他のCPのキャッシュ(リモート・
キャッシュ)Kあって変更されているか否かが調べられ
る。要求されたラインがリモート・キャッシュになけれ
ば、それはλ4Sから取出されて、要求?出したCPの
キャッシュへ転送される。
問題は、書込みがSICキャッシュでのみ行われるため
、MSKあるデータが必ずしも最新のものではないとい
う点にある。従って、各CPが最新のデータをアクセス
できるようKするため、成るCPKよって要求されたラ
インがその専用のキャッシュに々いことがわかると、す
べてのキャッシュ・ディレクトリの相互照会が行われ、
要求されたラインが他のCPのキャッシュ(リモート・
キャッシュ)Kあって変更されているか否かが調べられ
る。要求されたラインがリモート・キャッシュになけれ
ば、それはλ4Sから取出されて、要求?出したCPの
キャッシュへ転送される。
要求されたラインがリモート・キャッシュにあっても壕
だ変更されていなければ、同様な取出し及び転送が行わ
れる。その際、リモート・キャッシュにおいて当該ライ
ンが無効化される。要求されたラインがリモート・キャ
ッシュにあって変更されていると、1ず該ラインがリモ
ート・キャッシュからM Sへ書戻され(この動作を「
吐出し」と云う)、次いでリモート・キャッシュにおい
て無効化される。然る後、要求を出したCPは変更され
たラインをMSから自身のキャッシュ(ローカル・キャ
ッシュ)へ取出し、それに対して書込み又は読出しを行
う。
だ変更されていなければ、同様な取出し及び転送が行わ
れる。その際、リモート・キャッシュにおいて当該ライ
ンが無効化される。要求されたラインがリモート・キャ
ッシュにあって変更されていると、1ず該ラインがリモ
ート・キャッシュからM Sへ書戻され(この動作を「
吐出し」と云う)、次いでリモート・キャッシュにおい
て無効化される。然る後、要求を出したCPは変更され
たラインをMSから自身のキャッシュ(ローカル・キャ
ッシュ)へ取出し、それに対して書込み又は読出しを行
う。
上述のように、要求されたラインがリモート・キャッシ
ュにあって変更されていると、リモートキャッシュから
MSへの吐出し及びMSからローカル・キャッシュへの
取出しを行わねげなら々いので、かなりのオーバーヘッ
ドが生じ、MPシステムの処理効率が低下する。
ュにあって変更されていると、リモートキャッシュから
MSへの吐出し及びMSからローカル・キャッシュへの
取出しを行わねげなら々いので、かなりのオーバーヘッ
ドが生じ、MPシステムの処理効率が低下する。
本発明はMPシステムにおいてノ・イブリッド・キャッ
シュ制御を実現させるものである。ノ・イブリッド・キ
ャッシュ制御は、SICキャッシュ及びSTキャッシュ
の特長を選択的に組合わせ、そ(7) れによりいずれか一方のキャッシュしか使用しないシス
テムよりも性能を向上させる。
シュ制御を実現させるものである。ノ・イブリッド・キ
ャッシュ制御は、SICキャッシュ及びSTキャッシュ
の特長を選択的に組合わせ、そ(7) れによりいずれか一方のキャッシュしか使用しないシス
テムよりも性能を向上させる。
本発明においては、各キャッシュ・ディレクトリの各エ
ントリ中に、対応するラインがSICラインかSTライ
ンかを示す共有フラグが設けられる。ハイブリッド・キ
ャッシュ中の各ラインはSICライン又はSTラインと
して働く。普通は、大部分のライン1dSICラインと
して働き、s’rラインとして働くのは平均して全体の
10係乃至20チに過ぎない。
ントリ中に、対応するラインがSICラインかSTライ
ンかを示す共有フラグが設けられる。ハイブリッド・キ
ャッシュ中の各ラインはSICライン又はSTラインと
して働く。普通は、大部分のライン1dSICラインと
して働き、s’rラインとして働くのは平均して全体の
10係乃至20チに過ぎない。
電源オン、マイクロプログラム・ロード、初期プログラ
ム・ロードなどの初期設定時には、すべての共有フラグ
は非共有状態即ちSIC状態に設定される。キャッシュ
・ミスが生じたために、新たなラインがMSから取出さ
れてキャッシュへ転送された場合にも、対応する共有フ
ラグは非共有状態に設定される。共有フラグは、相互照
会(「XIjと略称することがある)により次のように
して共有状態即ちST状態に設定されることかを・る。
ム・ロードなどの初期設定時には、すべての共有フラグ
は非共有状態即ちSIC状態に設定される。キャッシュ
・ミスが生じたために、新たなラインがMSから取出さ
れてキャッシュへ転送された場合にも、対応する共有フ
ラグは非共有状態に設定される。共有フラグは、相互照
会(「XIjと略称することがある)により次のように
して共有状態即ちST状態に設定されることかを・る。
(8)
まず、いずれかのキャッシュでキャッシュ・ミス(書込
みミス又は読出しミス)が生じると、すべてのリモート
・キャッシュ・ディレクトリの相互照会が開始される。
みミス又は読出しミス)が生じると、すべてのリモート
・キャッシュ・ディレクトリの相互照会が開始される。
相互照会の結果、要求されたラインがどのリモート・キ
ャッシュにもないことがわかると(この状態をrXIミ
ス」という)、ローカル・キャッシュ中の対応する共有
フラグは非共有状態に保たれ、ラインはSICラインと
して扱われる。
ャッシュにもないことがわかると(この状態をrXIミ
ス」という)、ローカル・キャッシュ中の対応する共有
フラグは非共有状態に保たれ、ラインはSICラインと
して扱われる。
要求されたラインがいずれかのリモート・キャッシュに
をると(この状態を「X■ヒツト」という)、そのリモ
ート・キャッシュ中の対応するライフ11丁「競合ライ
ン」として識別される。競合ラインは、もし変更されて
いれば、リモート・キャッシュからMSへ吐出さなけれ
ばならない。リモート・キャッシュ・ディレクトリにお
ける対応する共有フラグの設定は、ローカル・キャッシ
ュでのキャッシュ・ミスが書込みミスであったか読出し
ミスであったかに依存する。
をると(この状態を「X■ヒツト」という)、そのリモ
ート・キャッシュ中の対応するライフ11丁「競合ライ
ン」として識別される。競合ラインは、もし変更されて
いれば、リモート・キャッシュからMSへ吐出さなけれ
ばならない。リモート・キャッシュ・ディレクトリにお
ける対応する共有フラグの設定は、ローカル・キャッシ
ュでのキャッシュ・ミスが書込みミスであったか読出し
ミスであったかに依存する。
ローカル・キャッシュで書込みミスが生じていれば、書
込み要求を出したCPは要求したラインをローカル・キ
ャッシュに受取った後に該ラインへの書込みを行うので
あるから、そねによりラインが変更されることになるた
め、リモート・キャッシュ中の競合ラインは常に無効化
される。これは、同じラインについて各々異なったデー
タが2つのキャッシュに存在するのを避けるためでおる
。
込み要求を出したCPは要求したラインをローカル・キ
ャッシュに受取った後に該ラインへの書込みを行うので
あるから、そねによりラインが変更されることになるた
め、リモート・キャッシュ中の競合ラインは常に無効化
される。これは、同じラインについて各々異なったデー
タが2つのキャッシュに存在するのを避けるためでおる
。
リモート・キャッシュ中の競合ラインが変更されている
か否かは変更フラグによって示される。対応する変更フ
ラグがオンであれば、競合ラインは変更されており、従
ってMSへ吐出される。この吐出しは、上述の無効化の
前に実行される。
か否かは変更フラグによって示される。対応する変更フ
ラグがオンであれば、競合ラインは変更されており、従
ってMSへ吐出される。この吐出しは、上述の無効化の
前に実行される。
ローカル・キャッシュでのキャッシュ・ミスが読出しミ
スであった場合には、要求されたラインがローカル・キ
ャッシュに持ってこられても、それが変更されることは
ないから、1)モート・キャッシュ中の競合ラインに対
応する共有フラグは共有状態に設定され、競合ラインは
無効化されない。
スであった場合には、要求されたラインがローカル・キ
ャッシュに持ってこられても、それが変更されることは
ないから、1)モート・キャッシュ中の競合ラインに対
応する共有フラグは共有状態に設定され、競合ラインは
無効化されない。
2以上のキャッシュに同じラインが々・つて、それらの
共有フラグが共有状態に設定されていると、もしいずれ
かのCPが自身のキャッシュにあるそのラインへの書込
みを要求した場合には、要求したCPのローカル・キャ
ッシュ及びMSへの書込みが直ちに実行される。ライン
がローカル・キャッシュになければ、書込みミスが生じ
て該ラインがローカル・キャッシュへ転送され、然る後
ローカル・キャッシュ及びMSへの書込みが実行される
。書込みミスが生じたときの相互照会においては、他の
キャッシュにある競合ラインはすべて無効化される。ロ
ーカル・キャッシュへ転送されたライン(ローカル・ラ
イン)の共有フラグは例え七のラインがローカル・キャ
ッシュにしかなくても、共有状態にされる。これは、M
S中の対応するラインがローカル・ラインと同時に更新
され得ろ事を意味する。従って、他のCPがこのライン
を要求した場合、MSへの吐出しは不要である。
共有フラグが共有状態に設定されていると、もしいずれ
かのCPが自身のキャッシュにあるそのラインへの書込
みを要求した場合には、要求したCPのローカル・キャ
ッシュ及びMSへの書込みが直ちに実行される。ライン
がローカル・キャッシュになければ、書込みミスが生じ
て該ラインがローカル・キャッシュへ転送され、然る後
ローカル・キャッシュ及びMSへの書込みが実行される
。書込みミスが生じたときの相互照会においては、他の
キャッシュにある競合ラインはすべて無効化される。ロ
ーカル・キャッシュへ転送されたライン(ローカル・ラ
イン)の共有フラグは例え七のラインがローカル・キャ
ッシュにしかなくても、共有状態にされる。これは、M
S中の対応するラインがローカル・ラインと同時に更新
され得ろ事を意味する。従って、他のCPがこのライン
を要求した場合、MSへの吐出しは不要である。
共有フラグの設定は・・−ドウエアによって自動的に制
御され、従ってMPシステムのユーザに対してはトラン
スペアレントである。
御され、従ってMPシステムのユーザに対してはトラン
スペアレントである。
共有フラグは、〔本発明の背景〕の項で説明したEX/
ROフラグに代って使用され得るが、両者の間には次の
如き相違点がある。
ROフラグに代って使用され得るが、両者の間には次の
如き相違点がある。
従来のEX/ROフラグはIE指令によってEX状態又
はRO状態に設定されるが、本発明における共有フラグ
は、2以上のキャッシュに同じラインがあるときにハー
ドウェアによって自動的に共有状態に設定される。
はRO状態に設定されるが、本発明における共有フラグ
は、2以上のキャッシュに同じラインがあるときにハー
ドウェアによって自動的に共有状態に設定される。
共有状轢け、共有可曲な読出し専用状態7表わすRO状
態と同じではない。というのは、共有状態に象るライン
を自身のキャッシュに持っているCPは該ラインへの書
込みを直ちに開始できる力へ従来のE X/ROフラグ
を用い1こ場合には、そのラインをMSから再び取出す
ことによってRO状悪からEX状態への切換え乞行つ1
こ後でなければ、書込みを開始できないからである。
態と同じではない。というのは、共有状態に象るライン
を自身のキャッシュに持っているCPは該ラインへの書
込みを直ちに開始できる力へ従来のE X/ROフラグ
を用い1こ場合には、そのラインをMSから再び取出す
ことによってRO状悪からEX状態への切換え乞行つ1
こ後でなければ、書込みを開始できないからである。
ローカル・キャッシュに関する限りは、本発明における
非共有状態は従来のEX状態と同じように機能する。即
ち、非共有状態にあるラインな自身のキャッシュに持っ
ているCPは、該ラインを排他的に支配して、SIC方
式で読出し又は曹込みを行う。ただし、従来のEX/R
Oフラグを用いた場合には、ラインがEX状態にあると
きにしか書込みを行えないが、本発明に従えば、ライン
が共有状態及び非共有状態のいずれであっても書込みを
行える。
非共有状態は従来のEX状態と同じように機能する。即
ち、非共有状態にあるラインな自身のキャッシュに持っ
ているCPは、該ラインを排他的に支配して、SIC方
式で読出し又は曹込みを行う。ただし、従来のEX/R
Oフラグを用いた場合には、ラインがEX状態にあると
きにしか書込みを行えないが、本発明に従えば、ライン
が共有状態及び非共有状態のいずれであっても書込みを
行える。
以上のように、本発明の共有フラグによるキャッシュ制
御は、従来のEX/ROフラグによるものとは明らかに
異なっており、例えば共有状態は読出し専用ではなく、
書込みも行える。また、読出し要求だけか出されている
限り、同じラインが複数のキャッシュにあってもよい。
御は、従来のEX/ROフラグによるものとは明らかに
異なっており、例えば共有状態は読出し専用ではなく、
書込みも行える。また、読出し要求だけか出されている
限り、同じラインが複数のキャッシュにあってもよい。
いずれかのCPかこのラインに対する最初の書込み要求
乞出すと、他のCPのキャッシュにある同じラインがす
べて無効化され、書込み要求2出したCPのローカル・
キャッシュだけがこのラインを排他的に保持する。書込
み要求の結果としてキャッシュ・ミスが生じることはな
く、また共有状態が変更されることもない。従来は、R
O状態にあるラインに対して書込み要求が出されると、
キャッシュ・ミスが生じ、MSからのライン取出しが行
われていた。本発明に従えば、共有フラグが共有状態に
設定されていても、キャッシュの動作速度で(例工ば1
マシン・サイクルで)書込み乞行うことができ、キャッ
シュ・ミスによって書込みが中断されることは〃い。
乞出すと、他のCPのキャッシュにある同じラインがす
べて無効化され、書込み要求2出したCPのローカル・
キャッシュだけがこのラインを排他的に保持する。書込
み要求の結果としてキャッシュ・ミスが生じることはな
く、また共有状態が変更されることもない。従来は、R
O状態にあるラインに対して書込み要求が出されると、
キャッシュ・ミスが生じ、MSからのライン取出しが行
われていた。本発明に従えば、共有フラグが共有状態に
設定されていても、キャッシュの動作速度で(例工ば1
マシン・サイクルで)書込み乞行うことができ、キャッ
シュ・ミスによって書込みが中断されることは〃い。
一例として、2台のCPが共有状態にある同じラインに
対して交互に書込みを繰返す場合を考えてみる。本発明
においては、最初の書込み要求時にリモート・キャッシ
ュからMSへの吐出しか1回行われるだけTあるが、E
X/ROフラグを用いた場合には、書込み要求の度に吐
出しを行う必要がある。本発明において吐出しか1回で
よいのは、共有状態にあるラインに関しては、MSにも
薔込みが行われるためである。書込み要求に基〈相互照
会の度に各CPで交互に実行されろのは、リモート・キ
ャッシュにある競合ラインの無効化及びlVi’ Sか
らローカル・キャッシュへのライン取出したけてあり、
リモート・キャッシュからM、Sへの吐出しか交互に実
行されることはない。
対して交互に書込みを繰返す場合を考えてみる。本発明
においては、最初の書込み要求時にリモート・キャッシ
ュからMSへの吐出しか1回行われるだけTあるが、E
X/ROフラグを用いた場合には、書込み要求の度に吐
出しを行う必要がある。本発明において吐出しか1回で
よいのは、共有状態にあるラインに関しては、MSにも
薔込みが行われるためである。書込み要求に基〈相互照
会の度に各CPで交互に実行されろのは、リモート・キ
ャッシュにある競合ラインの無効化及びlVi’ Sか
らローカル・キャッシュへのライン取出したけてあり、
リモート・キャッシュからM、Sへの吐出しか交互に実
行されることはない。
本発明に従うハイブリッド・キャッシュ制御は、STキ
ャッシュを用いた場合に比べて、書込み要求がMSへ送
られる頻度は少ないから(例えば従来の約25係にしか
過ぎない)、MS帯域幅を小さくできる。
ャッシュを用いた場合に比べて、書込み要求がMSへ送
られる頻度は少ないから(例えば従来の約25係にしか
過ぎない)、MS帯域幅を小さくできる。
オた、SICキャッシュを用いた場合と比べてみても、
上述のように吐出しによるオーバーヘッドがかなり減少
されるので、本発明の方が優れている。
上述のように吐出しによるオーバーヘッドがかなり減少
されるので、本発明の方が優れている。
以上から明らか々ように、本発明の基礎となる考え方は
、MSにあるラインは、特別の場合即ち該ラインか共有
さね且つ変更される場合を除いて、必らずしも最新のも
のでなくてもよいという点にある。これら2つの条件の
うちのいずれ〃・が欠けていると、MSKあるラインを
継続的に更新する必要はない。MSにあるラインに対し
てストア・スル一方式での書込みが行われるのは、該ラ
インか共有状態にあり且つ書込みが要求された場合だけ
である。
、MSにあるラインは、特別の場合即ち該ラインか共有
さね且つ変更される場合を除いて、必らずしも最新のも
のでなくてもよいという点にある。これら2つの条件の
うちのいずれ〃・が欠けていると、MSKあるラインを
継続的に更新する必要はない。MSにあるラインに対し
てストア・スル一方式での書込みが行われるのは、該ラ
インか共有状態にあり且つ書込みが要求された場合だけ
である。
第1図は4台のCPを含むMPシステムの一構成例を示
したものであるが、CPの台数は妥当な範囲内で変える
ことができる。各cpば、命令を解読して実行する命令
要素(IE)と、専用のキャッシュ、ディレクトリおよ
びそれらの制御回路を含むバッファ制御要素< BCE
)とを具備しており、更ニジステム・コントローラ(S
、C)を介して共有のMSをアクセスする。MSは、複
数のM 本記憶モジュール・コントローラ(BS、C)
および各ESCに2台ずつ接続された基本記憶モジュー
ル(BSM)で構成されている。本発明に関する限り、
MSはすべてのCPによって共有される第2レベルのキ
ャッシュであってもよい。その場合は、第2レベルのキ
ャッシュがMSをアクセスすることになる。システム全
体の監視はサービス・プロセッサ(SvP)が受持つ。
したものであるが、CPの台数は妥当な範囲内で変える
ことができる。各cpば、命令を解読して実行する命令
要素(IE)と、専用のキャッシュ、ディレクトリおよ
びそれらの制御回路を含むバッファ制御要素< BCE
)とを具備しており、更ニジステム・コントローラ(S
、C)を介して共有のMSをアクセスする。MSは、複
数のM 本記憶モジュール・コントローラ(BS、C)
および各ESCに2台ずつ接続された基本記憶モジュー
ル(BSM)で構成されている。本発明に関する限り、
MSはすべてのCPによって共有される第2レベルのキ
ャッシュであってもよい。その場合は、第2レベルのキ
ャッシュがMSをアクセスすることになる。システム全
体の監視はサービス・プロセッサ(SvP)が受持つ。
BCEは、第2図に示したように4ウエイのセット・ア
ソシアティブ式のキャッシュ10、ディレクトリ11、
並びに置換アレイ12及び更新/置換論理回路16を含
む周知の置換選択回路を含んでいる。この構成は特開昭
57−109180号公報のものと大体同じであるが、
ディレクトリ11の各エントリがE X/ROフラグの
代りに共有フラグ(SH)を含んでいる点が異なってい
る(第11図参照)。また、上記公開公報の発明と同じ
く、各SCには刀しディレクトリが設けられているが、
ここでもEX/ROフラグに代って共有フラグ(SH)
が使用される(第12図参照)。
ソシアティブ式のキャッシュ10、ディレクトリ11、
並びに置換アレイ12及び更新/置換論理回路16を含
む周知の置換選択回路を含んでいる。この構成は特開昭
57−109180号公報のものと大体同じであるが、
ディレクトリ11の各エントリがE X/ROフラグの
代りに共有フラグ(SH)を含んでいる点が異なってい
る(第11図参照)。また、上記公開公報の発明と同じ
く、各SCには刀しディレクトリが設けられているが、
ここでもEX/ROフラグに代って共有フラグ(SH)
が使用される(第12図参照)。
勿論、各ディレクトリの制御方式も上記公開公報のもの
とは異なっている。々お、第2図中のディレクトリ11
をSCにおける対応する写しディレクトリから区別する
ため、前者を「CPディレクトリ」と呼ぶことにする。
とは異なっている。々お、第2図中のディレクトリ11
をSCにおける対応する写しディレクトリから区別する
ため、前者を「CPディレクトリ」と呼ぶことにする。
本発明の根本は共有フラグ(SH)及び変更フラグ(C
H)の制御にある。この制御は、キャッシュ・ミスを生
ぜしめた読出し/書込み要求、リモート・キャッシュの
写しディレクトリでの相互照会、リモート・キャッシュ
の写しディレクトリ及びCPディレクトリにおけるエン
トリ無効化、並びにキャッシュ又idMsへの書込み、
に関係している。
H)の制御にある。この制御は、キャッシュ・ミスを生
ぜしめた読出し/書込み要求、リモート・キャッシュの
写しディレクトリでの相互照会、リモート・キャッシュ
の写しディレクトリ及びCPディレクトリにおけるエン
トリ無効化、並びにキャッシュ又idMsへの書込み、
に関係している。
従来のSTキャッシュにおいては、書込み要求u−tへ
てMSK送られ、リモート・キャッシュへの相互照会は
無効化のときにのみなされる(吐出しがないため)。書
込み要求を出したCPのSTキャッシュに対して書込み
が行われるのは、要求ラインがSTキャッシュにあると
きだけである。
てMSK送られ、リモート・キャッシュへの相互照会は
無効化のときにのみなされる(吐出しがないため)。書
込み要求を出したCPのSTキャッシュに対して書込み
が行われるのは、要求ラインがSTキャッシュにあると
きだけである。
従って、STキャッシュでは書込みミスは起こり得ない
。米ぼ1特許第d 142234号には、STキャッシ
ュを用いたMPシステムにおける相互無効化技術が開示
されている。
。米ぼ1特許第d 142234号には、STキャッシ
ュを用いたMPシステムにおける相互無効化技術が開示
されている。
特開昭57−109180号公報に記載の如き従来のS
ICキャッシュにおいては、読出しミスの他に書込みミ
スも生じることかあり、またCPからの書込み要求によ
ってMSへの直接菩込みが行われることはない。SIC
キャッシュからkr’ Sへの書込みが行われるのは吐
出しのときだけである。
ICキャッシュにおいては、読出しミスの他に書込みミ
スも生じることかあり、またCPからの書込み要求によ
ってMSへの直接菩込みが行われることはない。SIC
キャッシュからkr’ Sへの書込みが行われるのは吐
出しのときだけである。
前述のように、ローカルSICキャッシュでキャッシュ
・ミスが生じると、リモー)SICキャッシュに対して
相互照会が行われる。そのとき、リモー)SICキャッ
シュに競合ラインがあり(X■ヒツト)且つそのライン
が変更されていると、(CH=1)ローカルSICキャ
ッシュに最新のライン・データを転送し得るようにする
ため、競合ラインの変更された内容がリモー)SICキ
ャッシュからMSへ吐出され、然る後リモー)SICキ
ャッシュにおいて競合ラインが無効化される。
・ミスが生じると、リモー)SICキャッシュに対して
相互照会が行われる。そのとき、リモー)SICキャッ
シュに競合ラインがあり(X■ヒツト)且つそのライン
が変更されていると、(CH=1)ローカルSICキャ
ッシュに最新のライン・データを転送し得るようにする
ため、競合ラインの変更された内容がリモー)SICキ
ャッシュからMSへ吐出され、然る後リモー)SICキ
ャッシュにおいて競合ラインが無効化される。
本発明のハイブリッド・キャッシュ制御においては、書
込みミスによる相互照会の結果、どのリモート・キャッ
シュにも競合ラインがないことがワカると、従来のSI
Cキャッシュの場合と同じく、ライン取出し後にローカ
ル・キャッシュへの書込みが行われる。しかしながら、
いずれかのリモート・キャッシュに競合ラインがあった
場合(では、その競合ライン即ちリモート・ラインはM
Sへの吐出し後に無効化され(吐出しか行われるのは
リモート・ラインが変更されていた場合だけである)、
MSからローカル・キャッシュへ取出されたラインに共
有状態(SH−1)に設定される。
込みミスによる相互照会の結果、どのリモート・キャッ
シュにも競合ラインがないことがワカると、従来のSI
Cキャッシュの場合と同じく、ライン取出し後にローカ
ル・キャッシュへの書込みが行われる。しかしながら、
いずれかのリモート・キャッシュに競合ラインがあった
場合(では、その競合ライン即ちリモート・ラインはM
Sへの吐出し後に無効化され(吐出しか行われるのは
リモート・ラインが変更されていた場合だけである)、
MSからローカル・キャッシュへ取出されたラインに共
有状態(SH−1)に設定される。
この結果、当該ラインに対する現書込み要求及び後続の
書込み要求は、MS及びローカル・キャッシュの双方へ
送られ、従ってローカル・キャッシュ中のラインは常に
MS中の対応するラインと同じ内容に々る。このライン
に対して別のCPが書込みを要求した場合、後者のcp
は関連するSC中の写しディレクトリで相互照会を行わ
せ、要求したラインを持っている他のCPのキャッシュ
においてそのライン乞無効化させる。このように、共有
状m(SH=1)Kあるラインへの書込みを要求したC
Pは相互照会7行い、リモート・キャッシュ1である当
該ラインの写しケ無効化する。
書込み要求は、MS及びローカル・キャッシュの双方へ
送られ、従ってローカル・キャッシュ中のラインは常に
MS中の対応するラインと同じ内容に々る。このライン
に対して別のCPが書込みを要求した場合、後者のcp
は関連するSC中の写しディレクトリで相互照会を行わ
せ、要求したラインを持っている他のCPのキャッシュ
においてそのライン乞無効化させる。このように、共有
状m(SH=1)Kあるラインへの書込みを要求したC
Pは相互照会7行い、リモート・キャッシュ1である当
該ラインの写しケ無効化する。
本発明のハイブリッド・キャッシュ制御においては、最
初の書込み要求が出される寸では、STキャッシュと同
様に複数のキャッシュが同じラインを保持し得るが、こ
の特長はり数の02間で命令を共有する場合に特に重要
である。命令ラインへの書込み&″i捷れであり、また
オペランド要求の約15チは書込み要求である。
初の書込み要求が出される寸では、STキャッシュと同
様に複数のキャッシュが同じラインを保持し得るが、こ
の特長はり数の02間で命令を共有する場合に特に重要
である。命令ラインへの書込み&″i捷れであり、また
オペランド要求の約15チは書込み要求である。
成るCPでキャッシュ・ミスが生じた場合には、要求さ
れたラインがMSからキャッシュへ取出されるが、その
とき置換選択回路によってキャッシュ中の置換えられる
べきライン(普通は最も長い間使用されていないライン
)が選択される。置換選択回路は、選択したラインに対
応するCPディレクトリ・エントリ中の有効フラグ(ロ
)を無効状a(V=0)KL、、変更フラグ(CH)を
未変更状態(CH=O)にし、共有フラグ(S H)を
非共有状態(SH−〇)にする。次いで、新しいライン
がMSから取出されて、キャッシュ中の選択された記憶
位置に置かれる。このときCPディレクトリ中の対応す
る有効フラグは有効状態(V−1)に切換えられる。X
Iヒツトが生じていなければ、競合ラインが存在してい
ないので、ローカル・キャッシュのディレクトリ中の共
有フラグは非共有状態(SH=0)に保たれ、また変更
フラグは未変更状態(CU=O)に保たれる。勿論、こ
れらのフラグはあとで反対の状態に切換えられることが
ある。
れたラインがMSからキャッシュへ取出されるが、その
とき置換選択回路によってキャッシュ中の置換えられる
べきライン(普通は最も長い間使用されていないライン
)が選択される。置換選択回路は、選択したラインに対
応するCPディレクトリ・エントリ中の有効フラグ(ロ
)を無効状a(V=0)KL、、変更フラグ(CH)を
未変更状態(CH=O)にし、共有フラグ(S H)を
非共有状態(SH−〇)にする。次いで、新しいライン
がMSから取出されて、キャッシュ中の選択された記憶
位置に置かれる。このときCPディレクトリ中の対応す
る有効フラグは有効状態(V−1)に切換えられる。X
Iヒツトが生じていなければ、競合ラインが存在してい
ないので、ローカル・キャッシュのディレクトリ中の共
有フラグは非共有状態(SH=0)に保たれ、また変更
フラグは未変更状態(CU=O)に保たれる。勿論、こ
れらのフラグはあとで反対の状態に切換えられることが
ある。
本発明において、もし読出しミスに基く相互照会の結果
XIヒツトが生じ且つ競合ラインがリモート・キャッシ
ュで変更されていた場合には、競合ラインはMSへ吐出
され、更に読出し要求を出したCPのキャッシュへ取出
されるが、書込み要求のときとは異なり、リモート・キ
ャッシュにおいて無効化されることはない。その代りに
、当該ラインのための共有フラグが、ローカル・キャッ
シュ及びリモート・キャッシュの双方のディレクトリに
おいてターン・オン(SH=1)される。
XIヒツトが生じ且つ競合ラインがリモート・キャッシ
ュで変更されていた場合には、競合ラインはMSへ吐出
され、更に読出し要求を出したCPのキャッシュへ取出
されるが、書込み要求のときとは異なり、リモート・キ
ャッシュにおいて無効化されることはない。その代りに
、当該ラインのための共有フラグが、ローカル・キャッ
シュ及びリモート・キャッシュの双方のディレクトリに
おいてターン・オン(SH=1)される。
かくして、いずれかのキャッシュでこのラインへの書込
みが行われるまで、同じラインが2つのキャッシュに存
在している。最初の書込み要求が出されたときの動作は
既に述べたとおりである。即ち、ローカル・キャッシュ
及びMSの双方に書込みが行われ、更KXIヒツトによ
ってリモート・キャッシュ中の競合ラインが無効化され
る。
みが行われるまで、同じラインが2つのキャッシュに存
在している。最初の書込み要求が出されたときの動作は
既に述べたとおりである。即ち、ローカル・キャッシュ
及びMSの双方に書込みが行われ、更KXIヒツトによ
ってリモート・キャッシュ中の競合ラインが無効化され
る。
同様に、ローカル・キャッシュで書込みミスが生じ且つ
リモート・キャッシュでXIヒツトが生じた場合にも、
競合ラインはリモート・キャッシュで無効化され且つ対
応する共有フラグはローカル・キャッシュのディレクト
リで共有状態(SH=1)に設定されろ。ただし、リモ
ート・キャッシュ中の競合ラインが変更されていると、
無効化の前にMSへの吐出しを行う必要がある。キーポ
イントは、このラインが共有状態にある限り、MS及び
ローカル・キャッシュの双方で書込みが行われろため、
ローカル・キャッシュからMSへの吐出しか不要な点に
ある。
リモート・キャッシュでXIヒツトが生じた場合にも、
競合ラインはリモート・キャッシュで無効化され且つ対
応する共有フラグはローカル・キャッシュのディレクト
リで共有状態(SH=1)に設定されろ。ただし、リモ
ート・キャッシュ中の競合ラインが変更されていると、
無効化の前にMSへの吐出しを行う必要がある。キーポ
イントは、このラインが共有状態にある限り、MS及び
ローカル・キャッシュの双方で書込みが行われろため、
ローカル・キャッシュからMSへの吐出しか不要な点に
ある。
下記の表は、すべての場合における共有フラグ(S H
)及び変更フラグ(CH)の設定の様子をまとめたもの
である。表中のノ・イフン「−」は、相互照会の間フラ
グの状態乞無視できることを示す。
)及び変更フラグ(CH)の設定の様子をまとめたもの
である。表中のノ・イフン「−」は、相互照会の間フラ
グの状態乞無視できることを示す。
第3図及び第4図は、成るCPで読出し要求及び書込み
要求が出されたときのノ・イブリッド・キャッシュ制御
の流れを示したものであるが、これらの流れ図の内容に
ついては、これまでの説明から明らかであろう。
要求が出されたときのノ・イブリッド・キャッシュ制御
の流れを示したものであるが、これらの流れ図の内容に
ついては、これまでの説明から明らかであろう。
第1図に示されているSCは、各CPからの相互照会要
求を処理し、要求されたラインが他のCPのキャッシュ
にあるかどうか乞調べる。これは、各SCに備えられて
いる他のCP用の写しディレクトリを相互照会すること
によって行われる。第5図に示したように、各SCは、
接続されている2台のcp(以下、CP−A及びCP−
Bという)のための写しブイレフ) !J 31 A及
び31 Byc持っている。CP−Aでのキャッシュ・
ミスはCP−B用の写しディレクトリ31B′f!0:
相互照会し、CP−Bでのキャッシュ・ミスはCP−A
用の写しディレクトリろ1A乞相互照会する。相互照会
要求(はXI母線を介して他方のSCにも送られ(第1
図参照)、各々の写しディレクトリが相互照会される。
求を処理し、要求されたラインが他のCPのキャッシュ
にあるかどうか乞調べる。これは、各SCに備えられて
いる他のCP用の写しディレクトリを相互照会すること
によって行われる。第5図に示したように、各SCは、
接続されている2台のcp(以下、CP−A及びCP−
Bという)のための写しブイレフ) !J 31 A及
び31 Byc持っている。CP−Aでのキャッシュ・
ミスはCP−B用の写しディレクトリ31B′f!0:
相互照会し、CP−Bでのキャッシュ・ミスはCP−A
用の写しディレクトリろ1A乞相互照会する。相互照会
要求(はXI母線を介して他方のSCにも送られ(第1
図参照)、各々の写しディレクトリが相互照会される。
(25)
写しディレクトリ31A及び31Bの各エントリの形式
は第12図のようになっている。CPディレクトリのエ
ントリ(第11図)とは異なり、変更フラグ(CH)は
含まれていない。
は第12図のようになっている。CPディレクトリのエ
ントリ(第11図)とは異なり、変更フラグ(CH)は
含まれていない。
第5図において、優先順位回路36は、cp−Aからの
要求(線41)、CP−Bからの要求(線42)及びリ
モートSCからの要求(線40)のうちのどれか次のS
Cサイクルで処理されるかを決めるもので、例えは特開
昭57−109180号公報のものと同じでもよい。優
先順位回路36は、どの要求を選択したかに応じて線4
6(CP−A)、線44(CP−B)及び線45(リモ
−1SC)のうちの1本だけを付勢する。第5図にけ線
45の接続先が示されていないが、リモー−)SCから
の要求(XI要求)が選択されると、写しディレクトリ
31A及び31Bが両方共調べられ、もしXIヒツトが
見つかると、その旨がリモー)SCに知らされろ。競合
ライン7持っているCP−A又はCP−Hにも信号が送
られる。
要求(線41)、CP−Bからの要求(線42)及びリ
モートSCからの要求(線40)のうちのどれか次のS
Cサイクルで処理されるかを決めるもので、例えは特開
昭57−109180号公報のものと同じでもよい。優
先順位回路36は、どの要求を選択したかに応じて線4
6(CP−A)、線44(CP−B)及び線45(リモ
−1SC)のうちの1本だけを付勢する。第5図にけ線
45の接続先が示されていないが、リモー−)SCから
の要求(XI要求)が選択されると、写しディレクトリ
31A及び31Bが両方共調べられ、もしXIヒツトが
見つかると、その旨がリモー)SCに知らされろ。競合
ライン7持っているCP−A又はCP−Hにも信号が送
られる。
CP−Aが読出しのために自身のキャッシュなアクスス
しようとしたとき眞読出しミスが生じたとする。CP−
AのBCEは、関連するscのアンド・ゲート37に接
続されたCP−A MSアドレス入力母線51にミス
信号を出力し、更に線41に要求信号を出力する。この
とき優先順位回路ろ口VCよってCP−Aの要求が選択
されると、線4ろ上のCP−A選択信号によりアンド・
ゲート67が条件付けられ、CP−Aがらの要求アドレ
スが母線56を介してMS、写しディレクトリ31B及
びアンド・ゲート68へ供給される。
しようとしたとき眞読出しミスが生じたとする。CP−
AのBCEは、関連するscのアンド・ゲート37に接
続されたCP−A MSアドレス入力母線51にミス
信号を出力し、更に線41に要求信号を出力する。この
とき優先順位回路ろ口VCよってCP−Aの要求が選択
されると、線4ろ上のCP−A選択信号によりアンド・
ゲート67が条件付けられ、CP−Aがらの要求アドレ
スが母線56を介してMS、写しディレクトリ31B及
びアンド・ゲート68へ供給される。
要求アドレスに対応するエン11がCP−B用の写しデ
ィレクトリ31BKなければ、X■ミスであるから、線
57は付勢されず、アンド・ゲートろ8は条件付けられ
々い。
ィレクトリ31BKなければ、X■ミスであるから、線
57は付勢されず、アンド・ゲートろ8は条件付けられ
々い。
これに対し、要求アドレスが写しディレクトリ31BK
あれば、線57にXIヒツト信号が発生され、それによ
りアンド・ゲート68が条件付けられて、母線56上の
要求アドレス即ちCP−Bのキャッシュにある競合ライ
ンのアドレスヲCP−B MSアドレス出力母線52
へ通過させる。
あれば、線57にXIヒツト信号が発生され、それによ
りアンド・ゲート68が条件付けられて、母線56上の
要求アドレス即ちCP−Bのキャッシュにある競合ライ
ンのアドレスヲCP−B MSアドレス出力母線52
へ通過させる。
線57上のXIヒツト信号は、アンド・ゲート55及び
第8図のSC指令回路にも供給される。アンド・ゲート
55はm57の他に線41にも接続されており、従って
XIヒツト信号及びCP−A要求信号の双方が発生され
た場合にのみ条件付けられて、SH設定信号をCP−A
のBCEへ送る。
第8図のSC指令回路にも供給される。アンド・ゲート
55はm57の他に線41にも接続されており、従って
XIヒツト信号及びCP−A要求信号の双方が発生され
た場合にのみ条件付けられて、SH設定信号をCP−A
のBCEへ送る。
このSH設定信号は、CP−Aによって要求されたライ
ンに対応するディレクトリ・エントリ中の共有フラグを
ターン・オン(SH二1)するのに用いられる。アンド
・ゲー)60はCP−Bに対して同様々動作を行う。
ンに対応するディレクトリ・エントリ中の共有フラグを
ターン・オン(SH二1)するのに用いられる。アンド
・ゲー)60はCP−Bに対して同様々動作を行う。
第6図はSCを介するデータの流れを概略的に示してい
る。CP−Aは線61ヘアドレスを供給し、線62ヘデ
ータを供給し、また線62からデータを受は取る。紛6
1に接続されたアドレス論理回路66はMSアドレス母
線67ヘアドレス信号を供給する。データ・ゲート制御
回路64は、線68上のアドレス・ゲート情報に応答し
て、線62とMSデータ母線70との間でのデータの授
受を制御する。
る。CP−Aは線61ヘアドレスを供給し、線62ヘデ
ータを供給し、また線62からデータを受は取る。紛6
1に接続されたアドレス論理回路66はMSアドレス母
線67ヘアドレス信号を供給する。データ・ゲート制御
回路64は、線68上のアドレス・ゲート情報に応答し
て、線62とMSデータ母線70との間でのデータの授
受を制御する。
CP−BK対しても同様なアドレス論理回路76及びデ
ータ・ゲート制御回路74が設けられている。CP−B
は母線71ヘアドレスン供給し、母線72ヘデータを供
給し、また母線72からデータを受取る。
ータ・ゲート制御回路74が設けられている。CP−B
は母線71ヘアドレスン供給し、母線72ヘデータを供
給し、また母線72からデータを受取る。
第7図は、各コングルエンス・クラスに4つのエントリ
A−Dが含まれているCPディレクトリの出力側の詳細
を示したものである。CPディレクトリの選択されたコ
ングルエンス・クラスから読出された4つのエントリA
〜Dは出力レジスタ81ヘロードされる。々お第7図に
おいては、各エントリの内容は本発明に関係するものし
Z・示されていない。排他的オア回路8ろA〜86DK
、よって構成されているアドレス比較回路は、出力レジ
スタ81中の絶対アドレスとIEから母線82へ供給さ
れた要求アドレスとを比較し、もし一致すれば対応する
アンド・ゲート84A〜e、aD*条件付ける。アンド
・ゲート84A〜B4rnrs各エントリ中の有効フラ
グ(V)”a’受取り、従ってアドレスが一致し且つエ
ントリが有効(V=1)であれば出力信号を発生する。
A−Dが含まれているCPディレクトリの出力側の詳細
を示したものである。CPディレクトリの選択されたコ
ングルエンス・クラスから読出された4つのエントリA
〜Dは出力レジスタ81ヘロードされる。々お第7図に
おいては、各エントリの内容は本発明に関係するものし
Z・示されていない。排他的オア回路8ろA〜86DK
、よって構成されているアドレス比較回路は、出力レジ
スタ81中の絶対アドレスとIEから母線82へ供給さ
れた要求アドレスとを比較し、もし一致すれば対応する
アンド・ゲート84A〜e、aD*条件付ける。アンド
・ゲート84A〜B4rnrs各エントリ中の有効フラ
グ(V)”a’受取り、従ってアドレスが一致し且つエ
ントリが有効(V=1)であれば出力信号を発生する。
これはキャッシュ・ヒツトを表わし、オア回路86を介
してキャッシュ・ヒツト信号として線87へ出力される
。アンド・ゲート84A〜84Dのいずれもが出力信号
を発生し々ければ、オア回路86の出力側に接続された
反転器89の働きにより線88が付勢される。こればキ
ャッシュ・ミスを表わす。
してキャッシュ・ヒツト信号として線87へ出力される
。アンド・ゲート84A〜84Dのいずれもが出力信号
を発生し々ければ、オア回路86の出力側に接続された
反転器89の働きにより線88が付勢される。こればキ
ャッシュ・ミスを表わす。
CP−A及びCP−BのBCE!である各CPデイレク
) IJの構成及び制御方式は同一である。SCにある
写しディレクトリろ1A及び61Bの構成も大体CPデ
ィレクトリと同じであるが、既に述べたように、変更フ
ラグ(C)I)を含んでいない点が異なっている。SC
は相互照会によって、どの写しディレクトリに’l求さ
ねたラインに対応するエントリがあるかを調べることが
できる。XIミスであれば、SCはどのCPにも信号ケ
送ら々い。しかし々がらXIヒツトの場合は、SCは関
連するcpディレクトリへ無効化指令及び競合ラインの
アドレスを送る。無効化指令を受取ったCPディレクト
11は才ず競合ラインの変更フラグを調べる。もし変更
フラグがオン(CH=1)であれば、無効化の前に競合
ラインをMSへ吐出さなければならない。変更フラグが
オフ(CH=0)であれば、有効フラグをオフ(V=O
)Kすることによって競合ラインが無効化される。
) IJの構成及び制御方式は同一である。SCにある
写しディレクトリろ1A及び61Bの構成も大体CPデ
ィレクトリと同じであるが、既に述べたように、変更フ
ラグ(C)I)を含んでいない点が異なっている。SC
は相互照会によって、どの写しディレクトリに’l求さ
ねたラインに対応するエントリがあるかを調べることが
できる。XIミスであれば、SCはどのCPにも信号ケ
送ら々い。しかし々がらXIヒツトの場合は、SCは関
連するcpディレクトリへ無効化指令及び競合ラインの
アドレスを送る。無効化指令を受取ったCPディレクト
11は才ず競合ラインの変更フラグを調べる。もし変更
フラグがオン(CH=1)であれば、無効化の前に競合
ラインをMSへ吐出さなければならない。変更フラグが
オフ(CH=0)であれば、有効フラグをオフ(V=O
)Kすることによって競合ラインが無効化される。
第9図は、各BCEにおいて、関連するIEからのキャ
ッシュ要求、即ち誓込み要求又は読出し要求眞応答して
、その要求が自身のキャッシュで処理できるか、又はラ
イン取出し要求をSCへ送らねばなら々いかを決定する
論理回路を示している。書込み要求がきたときに線87
上にキャッシュ・ヒツト信号が発生されると、アンド・
ゲート206が条件付けられ、このとき共有フラグがオ
ン(SR=1)であればアンド・ゲート206が条件付
けられる。この結果、ローカル・キャッシュへの書込み
′!!ll−要求するキャッシュ書込み要求信号が線2
16に発生され、MSへの書込みを要求するMS書込み
要求信号が線214に発生される。
ッシュ要求、即ち誓込み要求又は読出し要求眞応答して
、その要求が自身のキャッシュで処理できるか、又はラ
イン取出し要求をSCへ送らねばなら々いかを決定する
論理回路を示している。書込み要求がきたときに線87
上にキャッシュ・ヒツト信号が発生されると、アンド・
ゲート206が条件付けられ、このとき共有フラグがオ
ン(SR=1)であればアンド・ゲート206が条件付
けられる。この結果、ローカル・キャッシュへの書込み
′!!ll−要求するキャッシュ書込み要求信号が線2
16に発生され、MSへの書込みを要求するMS書込み
要求信号が線214に発生される。
CPディレクトリ中の変更フラグ(CH)は線212上
の信号如よってターン・オンされる。ローカル・キャッ
シュからの読出しは線211上の読出しヒツト信号によ
って制御される。アンド・ゲート207及び208は、
キャッシュ・ミスが生じたときに、ライン取出しくLF
)のための要求を各々線216及び217を介してSC
へ送る。
の信号如よってターン・オンされる。ローカル・キャッ
シュからの読出しは線211上の読出しヒツト信号によ
って制御される。アンド・ゲート207及び208は、
キャッシュ・ミスが生じたときに、ライン取出しくLF
)のための要求を各々線216及び217を介してSC
へ送る。
線214.216及び217上の各要求信号は、第8図
に示したSC指令回路へ供給される。第8図のSC指令
回路は、CP−A又はCP−Bからのライン取出しくL
F)要求又はMS書込み要求に応答して、適切な競合信
号を第10図のBCE指令応答回路へ供給する。
に示したSC指令回路へ供給される。第8図のSC指令
回路は、CP−A又はCP−Bからのライン取出しくL
F)要求又はMS書込み要求に応答して、適切な競合信
号を第10図のBCE指令応答回路へ供給する。
後で述べる様に、後者の回路は、必要に応じて競合ライ
ンの吐出しを行わせた後、競合ラインを無効化する。第
8図の回路はSC中の写しブイレフ) l)毎に設けら
れる。例えは、CP−BのBCEが線216B上に書込
みライン取出しくLF)要求を出し、このときCP−A
用の写しディレクトリ61A(第5図)でXIヒツトが
生じたことを示す信号が線59に発生されると、アンド
・ゲート262が条件付けられて、線242を付勢する
。これは、CP−Bの書込み要求に係る競合ラインがC
P−Aのキャッシュにあることを示す。
ンの吐出しを行わせた後、競合ラインを無効化する。第
8図の回路はSC中の写しブイレフ) l)毎に設けら
れる。例えは、CP−BのBCEが線216B上に書込
みライン取出しくLF)要求を出し、このときCP−A
用の写しディレクトリ61A(第5図)でXIヒツトが
生じたことを示す信号が線59に発生されると、アンド
・ゲート262が条件付けられて、線242を付勢する
。これは、CP−Bの書込み要求に係る競合ラインがC
P−Aのキャッシュにあることを示す。
どのSCでもXIヒツトが生じなければ、CP−Bから
の書込みライン取出し要求は第6図の回路によってMS
へ送られる。このとき各CPはどのような競合信号も受
取らない。第8図をみれば、種々の競合信号が如何にし
て線241〜247に発生されるかは明らかである。う
。
の書込みライン取出し要求は第6図の回路によってMS
へ送られる。このとき各CPはどのような競合信号も受
取らない。第8図をみれば、種々の競合信号が如何にし
て線241〜247に発生されるかは明らかである。う
。
線241〜246はCP−AのBCE指令応答回路に接
続され、線244〜247はCP−BのBCE指令応答
回路に接続される。第10図はCp−AのBCE指令応
答回路を示したものであるが、他のCPのBCE指令応
答回路もこれと同じである。
続され、線244〜247はCP−BのBCE指令応答
回路に接続される。第10図はCp−AのBCE指令応
答回路を示したものであるが、他のCPのBCE指令応
答回路もこれと同じである。
SCから特定のBCE、例えばCP−AのBCEへ競合
信号が送られてくると、該BCEは自身のCPディレク
トリをアクセスし、競合ラインの変更フラグ(CH)及
び共有フラグ(SH)の状況を指令応答回路のアンド・
ゲート251及び252で調べる。CPディレクトリの
アクセスは、線241〜246に接続されたオア回路2
58から線268へ出力される信号によって行われる。
信号が送られてくると、該BCEは自身のCPディレク
トリをアクセスし、競合ラインの変更フラグ(CH)及
び共有フラグ(SH)の状況を指令応答回路のアンド・
ゲート251及び252で調べる。CPディレクトリの
アクセスは、線241〜246に接続されたオア回路2
58から線268へ出力される信号によって行われる。
例えば、CP−Bからの読出し要求に係る競合ラインが
CP−Aのキャッシュにあることを示すCP−A読出し
競合信号が線241に発生され、且つCP−AのCPデ
ィレクトリにある競合ラインの共有フラグがオフ(SH
=0)であることを示す信号が線92に発生されると、
アンド・ゲート251が条件付けられ、その共有フラグ
をターンオンして競合ラインを共有状態にするための信
号を線261に発生する。このとき線93上の信号によ
って競合ラインの変更フラグがオン(CH=1)である
ことが示されていると、アンド・ゲ−) 252が条件
付けられ、その結果オア回路256は競合ラインをキャ
ッシュからMSへ吐出すための信号を線266に発生す
る。線242及び243が共に付勢されていないので、
オア回路254は線264に有効フラグ(V)をターン
オフする信号を発生せず、従って、競合ラインは吐出し
後も有効な1才に保たれる。かくして、読出し要求を出
したCP−Hのキャッシュは、MSへ吐出された競合ラ
インを取出すことができろ。その際、cp−’にのCP
ディレクトリにおいては、第5図に示されているアンド
・ゲート60からの信号によって、関連する共有フラグ
がターンオンされる。
CP−Aのキャッシュにあることを示すCP−A読出し
競合信号が線241に発生され、且つCP−AのCPデ
ィレクトリにある競合ラインの共有フラグがオフ(SH
=0)であることを示す信号が線92に発生されると、
アンド・ゲート251が条件付けられ、その共有フラグ
をターンオンして競合ラインを共有状態にするための信
号を線261に発生する。このとき線93上の信号によ
って競合ラインの変更フラグがオン(CH=1)である
ことが示されていると、アンド・ゲ−) 252が条件
付けられ、その結果オア回路256は競合ラインをキャ
ッシュからMSへ吐出すための信号を線266に発生す
る。線242及び243が共に付勢されていないので、
オア回路254は線264に有効フラグ(V)をターン
オフする信号を発生せず、従って、競合ラインは吐出し
後も有効な1才に保たれる。かくして、読出し要求を出
したCP−Hのキャッシュは、MSへ吐出された競合ラ
インを取出すことができろ。その際、cp−’にのCP
ディレクトリにおいては、第5図に示されているアンド
・ゲート60からの信号によって、関連する共有フラグ
がターンオンされる。
書込み要求に関する競合があって線242又は243が
付勢されると、オア回路254は競合ラインを無効化す
るために、有効フラグ(V)ターンオフ信号を@26d
に発生する。この信号はCPディレクトリへ送られる。
付勢されると、オア回路254は競合ラインを無効化す
るために、有効フラグ(V)ターンオフ信号を@26d
に発生する。この信号はCPディレクトリへ送られる。
埼242が付勢され且つ競合ラインの変更フラグがオン
(CH=1)であれば、アンド・ゲート256が条件付
けられ、それにより競合ラインをMSへ吐出すだめの信
号がオア回路25ろから線263に発生される。
(CH=1)であれば、アンド・ゲート256が条件付
けられ、それにより競合ラインをMSへ吐出すだめの信
号がオア回路25ろから線263に発生される。
任意の書込み要求についてXIヒツトが生じた場合には
、競合ラインは常に線264上の信号によって無効化さ
れる。
、競合ラインは常に線264上の信号によって無効化さ
れる。
MS書込み要求は、CPが共有状態(SH=1)にある
ラインへの貞:込みを要求したときに、第9図のアンド
・ゲート2o6から発生され、第8図のアンド・ゲート
23ろ又は267へ供給される。
ラインへの貞:込みを要求したときに、第9図のアンド
・ゲート2o6から発生され、第8図のアンド・ゲート
23ろ又は267へ供給される。
このとき他方のCPのキャッシュに競合ラインがあれけ
線57又け59が付勢され、MS書込み競合信号が線2
43又は247を介して他方のCPへ供給される。第1
0図において、線243上のMS書込み競合信号はオア
回路254を通って、CP −A17)キャッシュにあ
る競合ラインの有効フラグをターン・オフさせる。捷だ
第5図に示されているアンド・ゲート6oは、CP−H
のキャッシュ姥ある要求ラインの共有フラグをターンオ
ンさせる。
線57又け59が付勢され、MS書込み競合信号が線2
43又は247を介して他方のCPへ供給される。第1
0図において、線243上のMS書込み競合信号はオア
回路254を通って、CP −A17)キャッシュにあ
る競合ラインの有効フラグをターン・オフさせる。捷だ
第5図に示されているアンド・ゲート6oは、CP−H
のキャッシュ姥ある要求ラインの共有フラグをターンオ
ンさせる。
共有フラグがオンのときには変更フラグは常にオフ(C
H=0)でなければなら々い。従って、例えば線246
にMS書込み競合信号が発生されたときに変更フラグが
オン(CH=1 )であれば、アンド・ゲート257は
線267を介して関連するCPへマシン・チェックを知
らせる。
H=0)でなければなら々い。従って、例えば線246
にMS書込み競合信号が発生されたときに変更フラグが
オン(CH=1 )であれば、アンド・ゲート257は
線267を介して関連するCPへマシン・チェックを知
らせる。
競合ラインに関するXI動作が完了すると、CPはその
旨をSCK知らせる。
旨をSCK知らせる。
第1図は本発明を実施し得るMPシステムの一例を示す
ブロック図、第2図は各BCEに含まれるキャッシュ及
びCPディレクトリを示すブロック図、第3図は読出し
要求時の動作の流れを示す流れ図、第4図は書込み要求
時の動作の流れを示す流れ図、第5図は各SCに含まれ
ろ写しディレクトリを示すブロック図、第6図はSCを
介するアドレス及びデータの流れを示すブロック図、第
7図はCPディレクトリの出力部を示すブロック図、第
8図はSCのXI制御回路を示す論理回路図、第9図及
び第10図はBCE制御回路を示す論理回路図、第11
図はCPディレクトリのエントリの形式を示すブロック
図、第12図は写しディレクトリのエントリの形式を示
すブロック図である。
ブロック図、第2図は各BCEに含まれるキャッシュ及
びCPディレクトリを示すブロック図、第3図は読出し
要求時の動作の流れを示す流れ図、第4図は書込み要求
時の動作の流れを示す流れ図、第5図は各SCに含まれ
ろ写しディレクトリを示すブロック図、第6図はSCを
介するアドレス及びデータの流れを示すブロック図、第
7図はCPディレクトリの出力部を示すブロック図、第
8図はSCのXI制御回路を示す論理回路図、第9図及
び第10図はBCE制御回路を示す論理回路図、第11
図はCPディレクトリのエントリの形式を示すブロック
図、第12図は写しディレクトリのエントリの形式を示
すブロック図である。
Claims (1)
- 【特許請求の範囲】 各々が専用のキャッシュ及び該キャッシュをアクセスす
るためのディレクトリを有する複数のプロセッサと、該
複数のプロセッサによって共有される主記憶装置とを具
備し、いずれかのプロセッサでキャッシュ・ミスが生じ
ると前記主記憶装置から該プロセッサのキャッシュへの
ライン取出し後に書込み又は読出しが行われる多重処理
システムにおいて、 各プロセッサのキャッシュに含まれるラインが共有状態
にあるか非共有状態にあるかを示す共有フラグをディレ
クトリの各エントリに設けておき、成るプロセッサから
の書込み要求に応答して核プロセッサのキャッシュ中の
選択されたラインに書込みを行い、該ラインに対応する
ディレクトリ・エン) IJ中の共有フラグが前記共有
状態に設定されていると、前記主記憶装置にもストア、
スル一方式で書込みを行つ書込み手段と、 いずれかのプロセッサでキャッシュ・ミスが生じるか又
は前記ストア・スル一方式での書込みが行われる場合に
、要求されたラインが他のプロセッサのキャッシュにあ
るか否かを調べ、もしあればXIヒツト信号を発生する
相互照会手段と、前記XIヒツト信号が発生されると前
記ラインを要求したプロセッサのディレクトリにおいて
対応する共有フラグを前記共有状態に設定すると共に、
読出し要求によって前記キャッシュ・ミスが生じた場合
には前記他のプロセッサのディレクトリにおいても対応
する共有フラグ?前記共有状態に設定し、前記キャッシ
ュ・ミスが生じても前記XIヒツト信号が発生されなけ
れば前記ラインを要求したプロセッサのディレクトリに
おいて対応する共有フラグを前記非共有状態に設定する
共有フラグ設定手段と、 書込み要求によって前記キャッシュ・ミスか生じるか又
は前記ストア・スル一方式での書込みが行われる場合に
、前記側のプロセッサのキャッシュにおいて前記要求さ
れたラインを無効化する無効化手段と、 を具備するキャッシュ制御機構。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US335971 | 1981-12-30 | ||
| US06/335,971 US4484267A (en) | 1981-12-30 | 1981-12-30 | Cache sharing control in a multiprocessor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58118083A true JPS58118083A (ja) | 1983-07-13 |
| JPS6042503B2 JPS6042503B2 (ja) | 1985-09-24 |
Family
ID=23314023
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57200528A Expired JPS6042503B2 (ja) | 1981-12-30 | 1982-11-17 | 多重処理システムにおけるキヤツシユ制御機構 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4484267A (ja) |
| EP (1) | EP0082949B1 (ja) |
| JP (1) | JPS6042503B2 (ja) |
| DE (1) | DE3278863D1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010086496A (ja) * | 2008-10-03 | 2010-04-15 | Nec Corp | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
Families Citing this family (57)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5856277A (ja) * | 1981-09-29 | 1983-04-02 | Toshiba Corp | 情報処理装置ならびに方法 |
| JPS60138653A (ja) * | 1983-12-27 | 1985-07-23 | Hitachi Ltd | 階層記憶制御方式 |
| US4827401A (en) * | 1984-10-24 | 1989-05-02 | International Business Machines Corporation | Method and apparatus for synchronizing clocks prior to the execution of a flush operation |
| US4847804A (en) * | 1985-02-05 | 1989-07-11 | Digital Equipment Corporation | Apparatus and method for data copy consistency in a multi-cache data processing unit |
| US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
| US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
| US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
| US4853846A (en) * | 1986-07-29 | 1989-08-01 | Intel Corporation | Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors |
| US4843542A (en) * | 1986-11-12 | 1989-06-27 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
| US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
| JPS63257853A (ja) * | 1987-04-03 | 1988-10-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | キヤツシユ・メモリ・システム |
| US4991090A (en) * | 1987-05-18 | 1991-02-05 | International Business Machines Corporation | Posting out-of-sequence fetches |
| US4959777A (en) * | 1987-07-27 | 1990-09-25 | Motorola Computer X | Write-shared cache circuit for multiprocessor system |
| US4974153A (en) * | 1987-09-04 | 1990-11-27 | Digital Equipment Corporation | Repeater interlock scheme for transactions between two buses including transaction and interlock buffers |
| DE68917326T2 (de) * | 1988-01-20 | 1995-03-02 | Advanced Micro Devices Inc | Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen. |
| EP0325422B1 (en) * | 1988-01-20 | 1996-05-15 | Advanced Micro Devices, Inc. | Integrated cache unit |
| US5023776A (en) * | 1988-02-22 | 1991-06-11 | International Business Machines Corp. | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
| GB8808353D0 (en) * | 1988-04-09 | 1988-05-11 | Int Computers Ltd | Data processing system |
| EP0343567A3 (en) * | 1988-05-25 | 1991-01-09 | Hitachi, Ltd. | Multi-processing system and cache apparatus for use in the same |
| EP0348628A3 (en) * | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache storage system |
| US5317716A (en) * | 1988-08-16 | 1994-05-31 | International Business Machines Corporation | Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line |
| US5043886A (en) * | 1988-09-16 | 1991-08-27 | Digital Equipment Corporation | Load/store with write-intent for write-back caches |
| US5016168A (en) * | 1988-12-23 | 1991-05-14 | International Business Machines Corporation | Method for storing into non-exclusive cache lines in multiprocessor systems |
| US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
| DE68923863T2 (de) * | 1989-01-13 | 1996-03-28 | Ibm | Ein-/Ausgabecachespeicherung. |
| US5404476A (en) * | 1989-02-10 | 1995-04-04 | Nec Corporation | Multiprocessing system having a single translation lookaside buffer with reduced processor overhead |
| US5130922A (en) * | 1989-05-17 | 1992-07-14 | International Business Machines Corporation | Multiprocessor cache memory system using temporary access states and method for operating such a memory |
| JPH0340046A (ja) * | 1989-07-06 | 1991-02-20 | Hitachi Ltd | キャッシュメモリ制御方式および情報処理装置 |
| US5230070A (en) * | 1989-09-08 | 1993-07-20 | International Business Machines Corporation | Access authorization table for multi-processor caches |
| JP3102495B2 (ja) * | 1989-12-28 | 2000-10-23 | 株式会社日立製作所 | 仮想記憶管理方法 |
| US5206941A (en) * | 1990-01-22 | 1993-04-27 | International Business Machines Corporation | Fast store-through cache memory |
| JPH03117506U (ja) * | 1990-03-15 | 1991-12-04 | ||
| US5197139A (en) * | 1990-04-05 | 1993-03-23 | International Business Machines Corporation | Cache management for multi-processor systems utilizing bulk cross-invalidate |
| US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
| US5291442A (en) * | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
| US5313609A (en) * | 1991-05-23 | 1994-05-17 | International Business Machines Corporation | Optimum write-back strategy for directory-based cache coherence protocols |
| US5301298A (en) * | 1991-10-11 | 1994-04-05 | Intel Corporation | Processor for multiple cache coherent protocols |
| GB2260429B (en) * | 1991-10-11 | 1995-05-24 | Intel Corp | Versatile cache memory |
| JP3309425B2 (ja) * | 1992-05-22 | 2002-07-29 | 松下電器産業株式会社 | キャッシュ制御装置 |
| US5809525A (en) * | 1993-09-17 | 1998-09-15 | International Business Machines Corporation | Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories |
| US5590309A (en) * | 1994-04-01 | 1996-12-31 | International Business Machines Corporation | Storage protection cache and backing storage having system control element data cache pipeline and storage protection bits in a stack array with a stack directory for the stack array |
| US5539895A (en) * | 1994-05-12 | 1996-07-23 | International Business Machines Corporation | Hierarchical computer cache system |
| JP2634147B2 (ja) * | 1994-09-16 | 1997-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステム、キャッシュヒットの判定方法 |
| USRE38514E1 (en) | 1994-11-18 | 2004-05-11 | Apple Computer, Inc. | System for and method of efficiently controlling memory accesses in a multiprocessor computer system |
| US5895496A (en) * | 1994-11-18 | 1999-04-20 | Apple Computer, Inc. | System for an method of efficiently controlling memory accesses in a multiprocessor computer system |
| US5544344A (en) * | 1994-12-06 | 1996-08-06 | Digital Equipment Corporation | Apparatus for caching smram in an intel processor based computer system employing system management mode |
| US5655103A (en) * | 1995-02-13 | 1997-08-05 | International Business Machines Corporation | System and method for handling stale data in a multiprocessor system |
| US6374329B1 (en) * | 1996-02-20 | 2002-04-16 | Intergraph Corporation | High-availability super server |
| US7283991B1 (en) * | 1999-03-11 | 2007-10-16 | Microsoft Corporation | Caching system for path search optimization |
| JP2003076592A (ja) * | 2001-09-04 | 2003-03-14 | Hitachi Ltd | データ格納システム |
| US6792512B2 (en) * | 2002-08-06 | 2004-09-14 | International Business Machines Corporation | Method and system for organizing coherence directories in shared memory systems |
| US7991966B2 (en) * | 2004-12-29 | 2011-08-02 | Intel Corporation | Efficient usage of last level caches in a MCMP system using application level configuration |
| US8683139B2 (en) * | 2006-10-31 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Cache and method for cache bypass functionality |
| CN101751245B (zh) * | 2010-01-18 | 2013-05-15 | 龙芯中科技术有限公司 | 基于访存历史学习的处理器Cache写失效处理方法 |
| US8516197B2 (en) * | 2011-02-11 | 2013-08-20 | International Business Machines Corporation | Write-through cache optimized for dependence-free parallel regions |
| US9208036B2 (en) | 2011-04-19 | 2015-12-08 | Freescale Semiconductor, Inc. | Dynamic lockstep cache memory replacement logic |
| US9086977B2 (en) | 2011-04-19 | 2015-07-21 | Freescale Semiconductor, Inc. | Cache memory with dynamic lockstep support |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4142234A (en) * | 1977-11-28 | 1979-02-27 | International Business Machines Corporation | Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system |
| US4399506A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Store-in-cache processor means for clearing main storage |
| US4400770A (en) * | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
| US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
| DE3177181D1 (de) * | 1980-11-10 | 1990-06-21 | Ibm | Anordnung zur erkennung und verarbeitung von synonymen in cache-speichern. |
| US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
| US4445174A (en) * | 1981-03-31 | 1984-04-24 | International Business Machines Corporation | Multiprocessing system including a shared cache |
| US4410946A (en) * | 1981-06-15 | 1983-10-18 | International Business Machines Corporation | Cache extension to processor local storage |
-
1981
- 1981-12-30 US US06/335,971 patent/US4484267A/en not_active Expired - Lifetime
-
1982
- 1982-11-16 DE DE8282110566T patent/DE3278863D1/de not_active Expired
- 1982-11-16 EP EP82110566A patent/EP0082949B1/en not_active Expired
- 1982-11-17 JP JP57200528A patent/JPS6042503B2/ja not_active Expired
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010086496A (ja) * | 2008-10-03 | 2010-04-15 | Nec Corp | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
| US8151058B2 (en) | 2008-10-03 | 2012-04-03 | Nec Corporation | Vector computer system with cache memory and operation method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0082949A2 (en) | 1983-07-06 |
| DE3278863D1 (en) | 1988-09-08 |
| JPS6042503B2 (ja) | 1985-09-24 |
| EP0082949A3 (en) | 1986-06-11 |
| US4484267A (en) | 1984-11-20 |
| EP0082949B1 (en) | 1988-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS58118083A (ja) | 多重処理システムにおけるキヤツシユ制御機構 | |
| JP3888769B2 (ja) | データ供給方法及びコンピュータ・システム | |
| KR100274771B1 (ko) | Smp 버스의 공유 상태에서의 캐시 라인들의 공유 개입 방법 | |
| US7032074B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
| US7305522B2 (en) | Victim cache using direct intervention | |
| KR101497002B1 (ko) | 스누프 필터링 메커니즘 | |
| KR100293136B1 (ko) | Smp버스의최근판독상태에서의캐시라인들의공유개입방법 | |
| US5706463A (en) | Cache coherent computer system that minimizes invalidation and copyback operations | |
| US5325504A (en) | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system | |
| US7469321B2 (en) | Software process migration between coherency regions without cache purges | |
| US6981106B1 (en) | System and method for accelerating ownership within a directory-based memory system | |
| JP3007872B2 (ja) | マルチプロセッサ・データ処理システム内でキャッシュ・コヒーレンシを維持するキャッシュ・コヒーレンシ・プロトコルを提供する方法及び装置 | |
| US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
| US7305523B2 (en) | Cache memory direct intervention | |
| US6718839B2 (en) | Method and apparatus for facilitating speculative loads in a multiprocessor system | |
| KR20040012812A (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치 | |
| JPH0743670B2 (ja) | ストアスルーキャッシュ管理システム | |
| EP1399823A2 (en) | Using an l2 directory to facilitate speculative loads in a multiprocessor system | |
| US7360031B2 (en) | Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces | |
| JPH10289157A (ja) | Smpバスの共用介入優先方法及びシステム | |
| JPH09167116A (ja) | コンピュータキャッシュシステム | |
| US5717894A (en) | Method and apparatus for reducing write cycle wait states in a non-zero wait state cache system | |
| US6976128B1 (en) | Cache flush system and method | |
| JPH11328018A (ja) | スヌ―プ・ポ―トを用いるプリフェッチ・キャッシュ問い合わせのための方法及びシステム | |
| WO1997004392A1 (en) | Shared cache memory device |