JPH0895862A - スヌープキャッシュを用いたデータ処理装置 - Google Patents
スヌープキャッシュを用いたデータ処理装置Info
- Publication number
- JPH0895862A JPH0895862A JP6232771A JP23277194A JPH0895862A JP H0895862 A JPH0895862 A JP H0895862A JP 6232771 A JP6232771 A JP 6232771A JP 23277194 A JP23277194 A JP 23277194A JP H0895862 A JPH0895862 A JP H0895862A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- local cache
- shared
- cache 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】スヌープキャッシュを用いた共有バス型並列プ
ロセッサシステムにおいて、スヌープキャッシュに格納
されるデータの信頼性を高める。 【構成】SM通常領域220のデータをSCa21に格
納する場合、CDM1a25にのみ格納する。内容一致制御は
無効化型を用いる。SM高信頼化領域210のデータを
SCa21に格納する場合、CDM1a25 に格納すると同時
に、異なるスヌープキャッシュ、例えばSCb211のCDM2b2
17にも格納する。内容一致制御は更新型を用いる。 【効果】特に高い信頼性を必要とするデータを必ず異な
る二つ以上のスヌープキャッシュに格納でき、さらに更
新型の一致制御を用いることで、データの多重化が実現
され、故障発生時のデータ消失を防止できる。
ロセッサシステムにおいて、スヌープキャッシュに格納
されるデータの信頼性を高める。 【構成】SM通常領域220のデータをSCa21に格
納する場合、CDM1a25にのみ格納する。内容一致制御は
無効化型を用いる。SM高信頼化領域210のデータを
SCa21に格納する場合、CDM1a25 に格納すると同時
に、異なるスヌープキャッシュ、例えばSCb211のCDM2b2
17にも格納する。内容一致制御は更新型を用いる。 【効果】特に高い信頼性を必要とするデータを必ず異な
る二つ以上のスヌープキャッシュに格納でき、さらに更
新型の一致制御を用いることで、データの多重化が実現
され、故障発生時のデータ消失を防止できる。
Description
【0001】
【産業上の利用分野】本発明はスヌープキャッシュを高
信頼化するための方法およびそれを用いたデータ処理装
置に係わり、とくにディスク制御装置のような高い信頼
性を必要とする制御装置に好適なスヌープキャッシュ高
信頼化方法およびデータ処理装置に関する。
信頼化するための方法およびそれを用いたデータ処理装
置に係わり、とくにディスク制御装置のような高い信頼
性を必要とする制御装置に好適なスヌープキャッシュ高
信頼化方法およびデータ処理装置に関する。
【0002】
【従来の技術】現状のコンピュータシステムでは、ホス
トプロセッサ(以下CPUとする)が必要とするデ−タ
の大部分は2次記憶装置に格納される。CPUは必要に
応じて2次記憶装置に対してデ−タの読み書きを行う。
2次記憶装置の記録媒体として、一般に不揮発媒体が使
用される。代表的なものとして磁気ディスクドライブ
(以下ドライブとする),光ディスクドライブ等が挙げ
られる。これらのドライブはディスク制御装置(以下D
KCとする)を介してCPUに接続される。DKCはC
PUから転送されたコマンドの解析や、ドライブとCP
U間のデータ転送を行う。
トプロセッサ(以下CPUとする)が必要とするデ−タ
の大部分は2次記憶装置に格納される。CPUは必要に
応じて2次記憶装置に対してデ−タの読み書きを行う。
2次記憶装置の記録媒体として、一般に不揮発媒体が使
用される。代表的なものとして磁気ディスクドライブ
(以下ドライブとする),光ディスクドライブ等が挙げ
られる。これらのドライブはディスク制御装置(以下D
KCとする)を介してCPUに接続される。DKCはC
PUから転送されたコマンドの解析や、ドライブとCP
U間のデータ転送を行う。
【0003】DKCの一構成例として日立製作所製のH
−6581−C3型機を図29を用いて説明する。チャ
ネルデータ転送回路CDC15はCPUとDKC11内
のデータキャッシュ(DataCache)110間のデータ転送
を行い、ドライブデータ転送回路DDC113はDataCache110
とドライブ112間のデータ転送を行う。DataCache制
御回路CMC113は、DataCache へのデータ格納や、CPU
より読み書き要求のあったデータがDataCache 内に存在
するか/しないかの判定等の処理を行う。CDC15,
DDC113,CMC115はデータ転送用共通バスDBS17に接
続する。各CDC15,DDC113の起動・停止といったタ
イミング制御は、マイクロプロセッサMP16によって
行われる。DKC11は、I/O処理性能を向上させる
ために、複数のMP16から構成されている。各MP1
6はDKC11の構成情報や、I/O要求の処理状況等
の制御情報の読み書きを繰り返し行いながらI/O処理
を実行する。これらの制御情報は、各MP16から共有
される情報であり、不整合を生じさせないために、共有
メモリ制御回路SMC116を介して、単一の共有メモリSM19
内に格納される。各MP16とSMC116は制御用共
通バスCBS18 に接続しており、共有バス型並列プロセッ
サを構成する。DKC11では、単一のSM19に集中格納
された制御情報の読み書きを行うために、SM19,C
BS18へのアクセスが数多く発生し、性能ネックの要
因となる。
−6581−C3型機を図29を用いて説明する。チャ
ネルデータ転送回路CDC15はCPUとDKC11内
のデータキャッシュ(DataCache)110間のデータ転送
を行い、ドライブデータ転送回路DDC113はDataCache110
とドライブ112間のデータ転送を行う。DataCache制
御回路CMC113は、DataCache へのデータ格納や、CPU
より読み書き要求のあったデータがDataCache 内に存在
するか/しないかの判定等の処理を行う。CDC15,
DDC113,CMC115はデータ転送用共通バスDBS17に接
続する。各CDC15,DDC113の起動・停止といったタ
イミング制御は、マイクロプロセッサMP16によって
行われる。DKC11は、I/O処理性能を向上させる
ために、複数のMP16から構成されている。各MP1
6はDKC11の構成情報や、I/O要求の処理状況等
の制御情報の読み書きを繰り返し行いながらI/O処理
を実行する。これらの制御情報は、各MP16から共有
される情報であり、不整合を生じさせないために、共有
メモリ制御回路SMC116を介して、単一の共有メモリSM19
内に格納される。各MP16とSMC116は制御用共
通バスCBS18 に接続しており、共有バス型並列プロセッ
サを構成する。DKC11では、単一のSM19に集中格納
された制御情報の読み書きを行うために、SM19,C
BS18へのアクセスが数多く発生し、性能ネックの要
因となる。
【0004】DKC11の様な共有バス型並列プロセッ
サシステムにおいて、共有メモリ,共有バスアクセスに
起因する性能ネックを解決するための、次の様な方法が
知られている。各MP16毎にローカルキャッシュメモ
リを設け、そこにSM19内の制御情報のコピーを分散
格納することで、SM19,CBS18へのアクセス回
数を軽減する方法である。各ローカルキャッシュメモリ
内の制御情報のコピーの内容一致制御を行う技術とし
て、スヌープキャッシュと呼ぶ技術がある。
サシステムにおいて、共有メモリ,共有バスアクセスに
起因する性能ネックを解決するための、次の様な方法が
知られている。各MP16毎にローカルキャッシュメモ
リを設け、そこにSM19内の制御情報のコピーを分散
格納することで、SM19,CBS18へのアクセス回
数を軽減する方法である。各ローカルキャッシュメモリ
内の制御情報のコピーの内容一致制御を行う技術とし
て、スヌープキャッシュと呼ぶ技術がある。
【0005】スヌープキャッシュの詳細を記述した文献
として、鈴木則久他:共有記憶型並列システムの実際、
コロナ社,1993,ヘネシー他(J.L.Hennessy&D.A.
Patterson)著、富田眞治他訳:コンピュータアーキ
テクチャ,日経BP社,1992などが挙げられる。これら
の文献によれば、スヌープキャッシュの一致制御法には
無効化型と更新型がある。無効化型では、あるMP16
が制御情報の書き換えを行った場合、他のローカルキャ
ッシュメモリ内の同一の制御情報を無効化する。無効化
型は、制御情報の書き換え直後に、ローカルキャッシュ
のいずれか一つに最新データが存在する方式である。一
方更新型では、他のローカルキャッシュメモリ内の同一
の制御情報も一緒に書き換える。更新型は、制御情報の
書き換え直後に、複数のローカルキャッシュに最新デー
タが存在する可能性のある方式である。
として、鈴木則久他:共有記憶型並列システムの実際、
コロナ社,1993,ヘネシー他(J.L.Hennessy&D.A.
Patterson)著、富田眞治他訳:コンピュータアーキ
テクチャ,日経BP社,1992などが挙げられる。これら
の文献によれば、スヌープキャッシュの一致制御法には
無効化型と更新型がある。無効化型では、あるMP16
が制御情報の書き換えを行った場合、他のローカルキャ
ッシュメモリ内の同一の制御情報を無効化する。無効化
型は、制御情報の書き換え直後に、ローカルキャッシュ
のいずれか一つに最新データが存在する方式である。一
方更新型では、他のローカルキャッシュメモリ内の同一
の制御情報も一緒に書き換える。更新型は、制御情報の
書き換え直後に、複数のローカルキャッシュに最新デー
タが存在する可能性のある方式である。
【0006】以下、DKC11の各MP16にローカル
キャッシュメモリを設け、一致制御法として無効化型あ
るいは更新型を適用した際の、CBS18へのアクセス
回数軽減の度合いを、その一致制御法の性能と見なす。
すなわちCBS18へのアクセス回数をより減らすこと
のできる一致制御法がより性能が高い一致制御法であ
る。無効化型・更新型の性能の優劣は、「各MP16が
どの制御情報にどの様な順番でアクセスするか」という
アクセスパターンに依存する。複数のMP16が同一の
制御情報に繰り返しアクセスする場合、各ローカルキャ
ッシュメモリ内に同一の制御情報が残る更新型の性能が
より高い。しかし一つのMP16が同一の制御情報に繰
り返しアクセスする場合、不要な更新処理を必要としな
い無効化型の性能がより高い。アクセスパターンに応じ
て、MP16毎に、より高い性能を得ることのできる一
致制御法に切り替える方法が特公平6−1463 号に記載さ
れている。
キャッシュメモリを設け、一致制御法として無効化型あ
るいは更新型を適用した際の、CBS18へのアクセス
回数軽減の度合いを、その一致制御法の性能と見なす。
すなわちCBS18へのアクセス回数をより減らすこと
のできる一致制御法がより性能が高い一致制御法であ
る。無効化型・更新型の性能の優劣は、「各MP16が
どの制御情報にどの様な順番でアクセスするか」という
アクセスパターンに依存する。複数のMP16が同一の
制御情報に繰り返しアクセスする場合、各ローカルキャ
ッシュメモリ内に同一の制御情報が残る更新型の性能が
より高い。しかし一つのMP16が同一の制御情報に繰
り返しアクセスする場合、不要な更新処理を必要としな
い無効化型の性能がより高い。アクセスパターンに応じ
て、MP16毎に、より高い性能を得ることのできる一
致制御法に切り替える方法が特公平6−1463 号に記載さ
れている。
【0007】
【発明が解決しようとする課題】DKC11では、高信
頼な制御を行う必要から、SM19は二重化・不揮発化
により高信頼化されている。DKC11に対し、特公平
6−1463号 に記載されている様な従来のスヌープキャッ
シュ技術を適用した場合、DKC11の信頼性が低下す
る問題がある。この理由は、更新型・無効化型いずれの
場合でも、制御情報が一つのローカルキャッシュメモリ
上にのみ、単独で存在する状態が発生し得るからであ
る。この状態でローカルキャッシュメモリの故障あるい
は電源遮断が起きると、単独で存在する制御情報は消失
し、制御の続行が不可能となる。これは高信頼な制御を
必要とするDKC11にとって好ましくない。特に無効
化型では、書き換え時に他を無効にするので、単独で存
在するケースが更新型の場合より多くなり、信頼性の低
下を招き易い。
頼な制御を行う必要から、SM19は二重化・不揮発化
により高信頼化されている。DKC11に対し、特公平
6−1463号 に記載されている様な従来のスヌープキャッ
シュ技術を適用した場合、DKC11の信頼性が低下す
る問題がある。この理由は、更新型・無効化型いずれの
場合でも、制御情報が一つのローカルキャッシュメモリ
上にのみ、単独で存在する状態が発生し得るからであ
る。この状態でローカルキャッシュメモリの故障あるい
は電源遮断が起きると、単独で存在する制御情報は消失
し、制御の続行が不可能となる。これは高信頼な制御を
必要とするDKC11にとって好ましくない。特に無効
化型では、書き換え時に他を無効にするので、単独で存
在するケースが更新型の場合より多くなり、信頼性の低
下を招き易い。
【0008】
【課題を解決するための手段】本発明においては、制御
情報のコピーをローカルキャッシュメモリ上に置く場
合、さほど信頼性を必要としない制御情報は無効化型の
一致制御法を用いる。また特に高い信頼性を必要とする
制御情報は更新型の一致制御法を用いる。さらに更新型
の場合、必ず二箇所以上のローカルキャッシュメモリ上
に制御情報のコピーが存在することを保証する。あるい
はローカルキャッシュメモリ上に置かれた全ての制御情
報のコピーに対して更新型の一致制御を用い、さらに必
ず二箇所以上のローカルキャッシュメモリ上に制御情報
のコピーが存在することを保証する。
情報のコピーをローカルキャッシュメモリ上に置く場
合、さほど信頼性を必要としない制御情報は無効化型の
一致制御法を用いる。また特に高い信頼性を必要とする
制御情報は更新型の一致制御法を用いる。さらに更新型
の場合、必ず二箇所以上のローカルキャッシュメモリ上
に制御情報のコピーが存在することを保証する。あるい
はローカルキャッシュメモリ上に置かれた全ての制御情
報のコピーに対して更新型の一致制御を用い、さらに必
ず二箇所以上のローカルキャッシュメモリ上に制御情報
のコピーが存在することを保証する。
【0009】
【作用】高い信頼性を必要とする制御情報に対し、更新
型の一致制御法を用い、さらに必ず二箇所以上のローカ
ルキャッシュメモリ上に存在させることで、制御情報の
多重化を実現できる。この結果、ローカルキャッシュメ
モリの故障や電源遮断等による制御情報の消失を防ぎ、
制御情報を高信頼化できる。
型の一致制御法を用い、さらに必ず二箇所以上のローカ
ルキャッシュメモリ上に存在させることで、制御情報の
多重化を実現できる。この結果、ローカルキャッシュメ
モリの故障や電源遮断等による制御情報の消失を防ぎ、
制御情報を高信頼化できる。
【0010】
【実施例】以下、図面を用い本発明によるスヌープキャ
ッシュ高信頼化方法およびそれを用いたデータ処理装置
について詳細に説明する。
ッシュ高信頼化方法およびそれを用いたデータ処理装置
について詳細に説明する。
【0011】最初に、本実施例の特徴を図30を用いて
説明する。本実施例の第一の特徴として、高い信頼性を
必要とする制御情報をスヌープキャッシュに格納する場
合、更新型の一致制御を用いる。また、さほど信頼性を
必要としない制御情報をスヌープキャッシュに格納する
場合、無効化型の一致制御を用いる。
説明する。本実施例の第一の特徴として、高い信頼性を
必要とする制御情報をスヌープキャッシュに格納する場
合、更新型の一致制御を用いる。また、さほど信頼性を
必要としない制御情報をスヌープキャッシュに格納する
場合、無効化型の一致制御を用いる。
【0012】無効化型の一致制御では、制御情報の変更
発生時に他のスヌープキャッシュ上の同一制御情報を無
効にする。一方、更新型の一致制御では、制御情報の変
更発生時に他のスヌープキャッシュ上の同一制御情報も
変更する。このため更新型の一致制御を用いると、複数
のスヌープキャッシュ上に同一制御情報が複数存在する
可能性が、無効化型の一致制御よりも高くなる。この結
果、制御情報の信頼性を高める効果を生む。
発生時に他のスヌープキャッシュ上の同一制御情報を無
効にする。一方、更新型の一致制御では、制御情報の変
更発生時に他のスヌープキャッシュ上の同一制御情報も
変更する。このため更新型の一致制御を用いると、複数
のスヌープキャッシュ上に同一制御情報が複数存在する
可能性が、無効化型の一致制御よりも高くなる。この結
果、制御情報の信頼性を高める効果を生む。
【0013】第一の特徴の実現方法について以下に簡単
にまとめる。マイクロプロセッサ1617または161
8から制御情報への変更要求が発生すると、スヌープキ
ャッシュ1615または1616は、変更要求のあった
アドレスをチェックする。そのアドレスが共有メモリ1
603の高信頼化領域1604に属していれば、スヌー
プキャッシュ1615,1616は更新型の一致制御を
行う。一方そのアドレスが通常領域1605に属してい
れば、無効化型の一致制御を行う。
にまとめる。マイクロプロセッサ1617または161
8から制御情報への変更要求が発生すると、スヌープキ
ャッシュ1615または1616は、変更要求のあった
アドレスをチェックする。そのアドレスが共有メモリ1
603の高信頼化領域1604に属していれば、スヌー
プキャッシュ1615,1616は更新型の一致制御を
行う。一方そのアドレスが通常領域1605に属してい
れば、無効化型の一致制御を行う。
【0014】本実施例の第二の特徴は、上記の更新型の
一致制御において、必ず二箇所以上のスヌープキャッシ
ュ上に同一制御情報が存在させることである。従来の更
新型では、共有メモリへの書き戻し等により、制御情報
が一つのスヌープキャッシュにのみ存在する場合が発生
し、制御情報の信頼性の低下を招く。そこで必ず二箇所
以上のスヌープキャッシュに同一制御情報を存在させる
ことで多重化を保証する。この結果、制御情報の信頼性
を従来の更新型を用いた場合よりさらに高める効果を生
む。
一致制御において、必ず二箇所以上のスヌープキャッシ
ュ上に同一制御情報が存在させることである。従来の更
新型では、共有メモリへの書き戻し等により、制御情報
が一つのスヌープキャッシュにのみ存在する場合が発生
し、制御情報の信頼性の低下を招く。そこで必ず二箇所
以上のスヌープキャッシュに同一制御情報を存在させる
ことで多重化を保証する。この結果、制御情報の信頼性
を従来の更新型を用いた場合よりさらに高める効果を生
む。
【0015】第二の特徴の実現方法について以下に簡単
にまとめる。スヌープキャッシュ1615および161
6のメモリを二重化する。以下それぞれをメモリa161
2,1611,メモリb1613,1610と呼ぶ。ス
ヌープキャッシュa1615のメモリa1612の対1
614として、異なるスヌープキャッシュB1616の
メモリb1610をあらかじめ定めておく。スヌープキ
ャッシュA1615のメモリa1612において、高信
頼化領域1604の制御情報の格納や一致制御等の処理
を行うと、必ずメモリb1610においても、同様の処
理を行い同一制御情報の多重化を実現する。そのため
に、スヌープキャッシュIDと呼ぶ各スヌープキャッシ
ュに固有な識別番号を用いる。メモリa1612のスヌ
ープキャッシュA1615において、高信頼化領域16
04の制御情報の処理を行う際、共有バス1606にメ
モリb1610のスヌープキャッシュID値=2を送出
する(1601)。メモリb1610のスヌープキャッ
シュB1616は共有バス1606に送出された自分の
IDより、対1614であることを確認し(1602)、ス
ヌープキャッシュA1615と同様の処理を行う。この
処理により、制御情報の多重化が可能である。
にまとめる。スヌープキャッシュ1615および161
6のメモリを二重化する。以下それぞれをメモリa161
2,1611,メモリb1613,1610と呼ぶ。ス
ヌープキャッシュa1615のメモリa1612の対1
614として、異なるスヌープキャッシュB1616の
メモリb1610をあらかじめ定めておく。スヌープキ
ャッシュA1615のメモリa1612において、高信
頼化領域1604の制御情報の格納や一致制御等の処理
を行うと、必ずメモリb1610においても、同様の処
理を行い同一制御情報の多重化を実現する。そのため
に、スヌープキャッシュIDと呼ぶ各スヌープキャッシ
ュに固有な識別番号を用いる。メモリa1612のスヌ
ープキャッシュA1615において、高信頼化領域16
04の制御情報の処理を行う際、共有バス1606にメ
モリb1610のスヌープキャッシュID値=2を送出
する(1601)。メモリb1610のスヌープキャッ
シュB1616は共有バス1606に送出された自分の
IDより、対1614であることを確認し(1602)、ス
ヌープキャッシュA1615と同様の処理を行う。この
処理により、制御情報の多重化が可能である。
【0016】以下、本発明における実施例1の詳細を説
明する。
明する。
【0017】図2に、本発明における実施例1の構成図
を示す。DKC11は実際にCPUとドライブ112間
でデータ転送を行うデータ転送系と、このデータ転送を
制御する制御系で構成される。
を示す。DKC11は実際にCPUとドライブ112間
でデータ転送を行うデータ転送系と、このデータ転送を
制御する制御系で構成される。
【0018】最初に、チャネルデータ制御回路CDC1
5が行うCPUとDKC11間のデータ転送について説
明する。チャネルパス13はCPUとDKC11内の二
つのチャネルスイッチ回路CSC14を接続する。CS
C14は4本以上のチャネルパス13の中から、最大4
本を選択する回路である。二つのCSC14には4個ず
つ合計8個のCDC15が接続される。CDC15はデ
ータ転送用共通バスDBS17に接続される。DBS1
7にはDataCache 制御回路CMC115も接続される。CPU
から転送されたデータはチャネルパス13,CSC1
4,CDC15,DBS17,CMC115を経由してDataCa
che110に格納される。また、DataCache110からCPUに
データを転送する場合は、逆にCMC115,DBS17,C
DC15,CSC14,チャネルパス13を経由する。
5が行うCPUとDKC11間のデータ転送について説
明する。チャネルパス13はCPUとDKC11内の二
つのチャネルスイッチ回路CSC14を接続する。CS
C14は4本以上のチャネルパス13の中から、最大4
本を選択する回路である。二つのCSC14には4個ず
つ合計8個のCDC15が接続される。CDC15はデ
ータ転送用共通バスDBS17に接続される。DBS1
7にはDataCache 制御回路CMC115も接続される。CPU
から転送されたデータはチャネルパス13,CSC1
4,CDC15,DBS17,CMC115を経由してDataCa
che110に格納される。また、DataCache110からCPUに
データを転送する場合は、逆にCMC115,DBS17,C
DC15,CSC14,チャネルパス13を経由する。
【0019】次に、ドライブデータ制御回路DDC113が行
うDKC11とドライブ112間のデータ転送について
説明する。DBS17にはCDC15,DataCache110以
外にも4個のDDC113が接続される。ドライブ112から
転送されたデータはドライブパス114,DDC113,DB
S17,CMC115を経由してDataCache110に格納される。
また、DataCache110からドライブ112にデータを格納
する場合は、逆にCMC115,DBS17,DDC113,ドライ
ブパス114を経由する。
うDKC11とドライブ112間のデータ転送について
説明する。DBS17にはCDC15,DataCache110以
外にも4個のDDC113が接続される。ドライブ112から
転送されたデータはドライブパス114,DDC113,DB
S17,CMC115を経由してDataCache110に格納される。
また、DataCache110からドライブ112にデータを格納
する場合は、逆にCMC115,DBS17,DDC113,ドライ
ブパス114を経由する。
【0020】次に、上記のデータ転送を制御する制御系
について説明する。DKC11には12個のマイクロプ
ロセッサMP16がある。MP16はそれぞれ制御を担
当するCDC15,DDC113が決まっている。各MP16
はスヌープキャッシュメモリSC111を介して制御用
共通バスCBS18に接続される。CBS18には共有
メモリ制御回路SMC116も接続される。
について説明する。DKC11には12個のマイクロプ
ロセッサMP16がある。MP16はそれぞれ制御を担
当するCDC15,DDC113が決まっている。各MP16
はスヌープキャッシュメモリSC111を介して制御用
共通バスCBS18に接続される。CBS18には共有
メモリ制御回路SMC116も接続される。
【0021】CPUとDataCache110間のデータ転送制御
について説明する。CDC15の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきCPUとDataCache1
10間のデータ転送を制御する。以下にこの詳細を説明す
る。
について説明する。CDC15の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきCPUとDataCache1
10間のデータ転送を制御する。以下にこの詳細を説明す
る。
【0022】DKC11内のCDC15の制御を担当す
るMP16に対し、CPUからデータ転送要求が送られ
る。要求を受けたMP16はDataCache110の使用状態を
記録する制御情報を読み出す。その結果DataCache110が
使用可能ならば、使用状態を表す制御情報を使用中に書
き換える。この後、MP16はCPUとCDC15に対
しデータ転送を許可する。そして前記のデータ転送系で
説明した経路を通って、CPUとDataCache110間のデー
タ転送が行われる。データ転送が終了すると、MP16
はDataCache110の使用状態を記録する制御情報を使用可
能に書き換える。
るMP16に対し、CPUからデータ転送要求が送られ
る。要求を受けたMP16はDataCache110の使用状態を
記録する制御情報を読み出す。その結果DataCache110が
使用可能ならば、使用状態を表す制御情報を使用中に書
き換える。この後、MP16はCPUとCDC15に対
しデータ転送を許可する。そして前記のデータ転送系で
説明した経路を通って、CPUとDataCache110間のデー
タ転送が行われる。データ転送が終了すると、MP16
はDataCache110の使用状態を記録する制御情報を使用可
能に書き換える。
【0023】DataCache110とドライブ112間のデータ
転送制御について説明する。DataCache110とドライブ1
12間のデータ転送が行われる場合、CDC15の制御
を担当するMP16からDDC113の制御を担当するMP1
6に制御権が移行する。DDC113の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきDataCache110とドラ
イブ112間のデータ転送を制御する。
転送制御について説明する。DataCache110とドライブ1
12間のデータ転送が行われる場合、CDC15の制御
を担当するMP16からDDC113の制御を担当するMP1
6に制御権が移行する。DDC113の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきDataCache110とドラ
イブ112間のデータ転送を制御する。
【0024】以下にこの詳細を説明する。制御権を受け
取ったMP16はドライブ112の使用状態を記録する
制御情報を読み出す。その結果ドライブ112が使用可
能ならば、使用状態を表す制御情報を使用中に書き換え
る。この後、MP16はDDC113に対しデータ転送を許可
する。そして前記のデータ転送系で説明した経路を通っ
て、DataCache110とドライブ112間でデータ転送が行
なわれる。データ転送が終了すると、MP16はドライ
ブ112の使用状態を記録する制御情報を使用可能に書
き換える。
取ったMP16はドライブ112の使用状態を記録する
制御情報を読み出す。その結果ドライブ112が使用可
能ならば、使用状態を表す制御情報を使用中に書き換え
る。この後、MP16はDDC113に対しデータ転送を許可
する。そして前記のデータ転送系で説明した経路を通っ
て、DataCache110とドライブ112間でデータ転送が行
なわれる。データ転送が終了すると、MP16はドライ
ブ112の使用状態を記録する制御情報を使用可能に書
き換える。
【0025】図1にDKC11の制御系の詳細を示す。
SCa21,SCb211 は図2のスヌープキャッシュSC111
に対応し、MPa22,MPb212は図2のマイクロプロセ
ッサMP16に対応する。SM19はSM高信頼化領域
210とSM通常領域220に分けられる。制御情報の
中で特に高い信頼性を必要とする制御情報はSM高信頼
化領域210に格納し、さほど信頼性を必要としない制
御情報はSM通常領域220に格納する。
SCa21,SCb211 は図2のスヌープキャッシュSC111
に対応し、MPa22,MPb212は図2のマイクロプロセ
ッサMP16に対応する。SM19はSM高信頼化領域
210とSM通常領域220に分けられる。制御情報の
中で特に高い信頼性を必要とする制御情報はSM高信頼
化領域210に格納し、さほど信頼性を必要としない制
御情報はSM通常領域220に格納する。
【0026】SCa21の詳細な構成を以下に説明す
る。SCb211はSCa21と同様の構成なので説明
は省略する。SCa21は、スヌープキャッシュコント
ローラSCCa23,二つのキャッシュタグメモリCTM1a24とC
TM2a26,制御情報のコピーを格納する二つのキャッシュ
データメモリCDM1a25とCDM2a27,アドレスチェッカーA
Ca28,スヌープキャッシュIDレジスタSCIDRa29
から構成される。 SCCa23にはCBS18,CTM1a2
4,CTM2a26,CDM1a25,CDM2a27,ACa28,SCIDRa2
9,MPa22が接続する。ACa28,SCIDRa29はM
Pa22にも接続する。
る。SCb211はSCa21と同様の構成なので説明
は省略する。SCa21は、スヌープキャッシュコント
ローラSCCa23,二つのキャッシュタグメモリCTM1a24とC
TM2a26,制御情報のコピーを格納する二つのキャッシュ
データメモリCDM1a25とCDM2a27,アドレスチェッカーA
Ca28,スヌープキャッシュIDレジスタSCIDRa29
から構成される。 SCCa23にはCBS18,CTM1a2
4,CTM2a26,CDM1a25,CDM2a27,ACa28,SCIDRa2
9,MPa22が接続する。ACa28,SCIDRa29はM
Pa22にも接続する。
【0027】SM高信頼化領域210内の制御情報のコ
ピーをSCa21に格納する場合、 CDM1a25 内に格納す
る他に、必ず異なるSCのCDM2内にも格納する。例
えばSCb211のCDM2b217に格納する。
ピーをSCa21に格納する場合、 CDM1a25 内に格納す
る他に、必ず異なるSCのCDM2内にも格納する。例
えばSCb211のCDM2b217に格納する。
【0028】次にACa28の動作を説明する。ACa
28はMPa22 から制御情報のアクセス要求が発生した場
合、アクセス要求のあった制御情報のアドレスを取得す
る。そして取得したアドレスが、SM高信頼化領域21
0のアドレスか、SM通常領域220のアドレスかを調
べ、その結果をSCCa23に知らせる。
28はMPa22 から制御情報のアクセス要求が発生した場
合、アクセス要求のあった制御情報のアドレスを取得す
る。そして取得したアドレスが、SM高信頼化領域21
0のアドレスか、SM通常領域220のアドレスかを調
べ、その結果をSCCa23に知らせる。
【0029】図3にCTM1a24,CDM1a25,CTM2a26,CDM2a
27,CTM1b214,CDM1b215,CTM2b216,CDM2b217の詳細を
示す。
27,CTM1b214,CDM1b215,CTM2b216,CDM2b217の詳細を
示す。
【0030】最初にCDM1a25の詳細な構成を説明する。C
DM2a27,CDM1b215,CDM2b217はCDM1a25と同様な構成な
ので説明を省略する。CDM1a25は一つ以上のキャッシュ
データブロック35から成る。キャッシュデータブロッ
クは1bit以上の長さを持ち、そこに制御情報のコピ
ーが格納される。
DM2a27,CDM1b215,CDM2b217はCDM1a25と同様な構成な
ので説明を省略する。CDM1a25は一つ以上のキャッシュ
データブロック35から成る。キャッシュデータブロッ
クは1bit以上の長さを持ち、そこに制御情報のコピ
ーが格納される。
【0031】次にCTM1a24の詳細な構成を説明する。CTM
2a26,CTM1b214,CTM2b216はCTM1a24と同様な構成なの
で説明を省略する。CTM1a24は一つ以上のキャッシュタ
グレコードから成る。CTM1a24の一つのキャッシュタグ
レコードが、CDM1a25の一つのキャッシュデータブロッ
ク35に対応する。キャッシュタグレコードは1bit
の有効フラグ31,1bitの共有フラグ32,1bi
tのオーナーフラグ33,長さ1bit以上のアドレス
タグ34から成る。
2a26,CTM1b214,CTM2b216はCTM1a24と同様な構成なの
で説明を省略する。CTM1a24は一つ以上のキャッシュタ
グレコードから成る。CTM1a24の一つのキャッシュタグ
レコードが、CDM1a25の一つのキャッシュデータブロッ
ク35に対応する。キャッシュタグレコードは1bit
の有効フラグ31,1bitの共有フラグ32,1bi
tのオーナーフラグ33,長さ1bit以上のアドレス
タグ34から成る。
【0032】以下にキャッシュタグレコードの各要素の
意味について説明する。有効フラグ31がOnの時、対
応するキャッシュデータブロック35に正しい制御情報
のコピーが存在していることを意味する。有効フラグ3
1がOffの時、対応するキャッシュデータブロック3
5が未使用であることを意味する。共有フラグ32がO
nの時、対応するキャッシュデータブロック35にある
制御情報のコピーと同じものが、CDM1a25 以外のキャッ
シュデータメモリ内に存在していることを意味する。共
有フラグ32がOffの時、対応するキャッシュデータ
ブロック35にある制御情報のコピーと同じものは、CD
M1a25 以外のキャッシュデータメモリ内に存在していな
いことを意味する。オーナーフラグ33がOnの時、対
応するキャッシュデータブロック35にはSM19に書
き戻しが必要な最新の制御情報が格納されていることを
意味する。障害が発生した場合や、キャッシュデータブ
ロックの置き換えが必要な場合に、キャッシュデータブ
ロックの書き戻しが必ず必要になる。オーナーフラグ3
3がOffの時、キャッシュデータブロック35に格納
されている制御情報はSM19に書き戻す必要がないこ
とを意味する。アドレスタグ34には対応するキャッシ
ュデータブロック35に格納された制御情報のコピーの
SM19内におけるアドレスが格納される。
意味について説明する。有効フラグ31がOnの時、対
応するキャッシュデータブロック35に正しい制御情報
のコピーが存在していることを意味する。有効フラグ3
1がOffの時、対応するキャッシュデータブロック3
5が未使用であることを意味する。共有フラグ32がO
nの時、対応するキャッシュデータブロック35にある
制御情報のコピーと同じものが、CDM1a25 以外のキャッ
シュデータメモリ内に存在していることを意味する。共
有フラグ32がOffの時、対応するキャッシュデータ
ブロック35にある制御情報のコピーと同じものは、CD
M1a25 以外のキャッシュデータメモリ内に存在していな
いことを意味する。オーナーフラグ33がOnの時、対
応するキャッシュデータブロック35にはSM19に書
き戻しが必要な最新の制御情報が格納されていることを
意味する。障害が発生した場合や、キャッシュデータブ
ロックの置き換えが必要な場合に、キャッシュデータブ
ロックの書き戻しが必ず必要になる。オーナーフラグ3
3がOffの時、キャッシュデータブロック35に格納
されている制御情報はSM19に書き戻す必要がないこ
とを意味する。アドレスタグ34には対応するキャッシ
ュデータブロック35に格納された制御情報のコピーの
SM19内におけるアドレスが格納される。
【0033】図4にSCIDRa29,SCIDRb219 の詳細を示
す。以下にSCIDRa29の詳細な構成を説明する。SCIDRb21
9はSCIDRa29と同様な構成なので説明を省略する。SCIDR
a29 には二つのスヌープキャッシュ識別番号SCID321 ,
322と障害発生状況を示す二つの1bitのフラグ3
23,324を保存する。SCIDはDKC11 内に存在す
る各スヌープキャッシュに固有な識別番号である。自SC
ID321はSCa21自身のSCIDである。相手SCID322 は、SM
高信頼化領域210の制御情報のコピーを対である別の
SCのCDM2に格納する場合の、対をなすスヌープキ
ャッシュのSCIDである。第1の障害発生フラグ323が
Onの時、CDM1a25 内の制御情報のコピーを対である別
のSCのCDM2に格納する場合の、対をなすSCに障
害が発生していることを意味する。第2の障害発生フラ
グ324がOnの時、CDM2a27 内の制御情報のコピーを
対である別のSCのCDM1に格納する場合の、対をな
すSCに障害が発生していることを意味する。障害発生
フラグ323と324はMPa22によってソフトウェ
ア的にセット・リセットされるか、障害検知回路によっ
てハードウェア的にセット・リセットされるか、その具
体的実施方法は自由である。
す。以下にSCIDRa29の詳細な構成を説明する。SCIDRb21
9はSCIDRa29と同様な構成なので説明を省略する。SCIDR
a29 には二つのスヌープキャッシュ識別番号SCID321 ,
322と障害発生状況を示す二つの1bitのフラグ3
23,324を保存する。SCIDはDKC11 内に存在す
る各スヌープキャッシュに固有な識別番号である。自SC
ID321はSCa21自身のSCIDである。相手SCID322 は、SM
高信頼化領域210の制御情報のコピーを対である別の
SCのCDM2に格納する場合の、対をなすスヌープキ
ャッシュのSCIDである。第1の障害発生フラグ323が
Onの時、CDM1a25 内の制御情報のコピーを対である別
のSCのCDM2に格納する場合の、対をなすSCに障
害が発生していることを意味する。第2の障害発生フラ
グ324がOnの時、CDM2a27 内の制御情報のコピーを
対である別のSCのCDM1に格納する場合の、対をな
すSCに障害が発生していることを意味する。障害発生
フラグ323と324はMPa22によってソフトウェ
ア的にセット・リセットされるか、障害検知回路によっ
てハードウェア的にセット・リセットされるか、その具
体的実施方法は自由である。
【0034】以下図1のSCCa23,SCCb213 の動作の詳細
を図5から図24までを用いて説明する。SCCa23,SCCb
213 の動作は、MPa22,MPb212からの制御情報アク
セス要求に基づく動作と、CBS18の監視結果に基づ
く動作に大別される。
を図5から図24までを用いて説明する。SCCa23,SCCb
213 の動作は、MPa22,MPb212からの制御情報アク
セス要求に基づく動作と、CBS18の監視結果に基づ
く動作に大別される。
【0035】最初にMPa22から制御情報アクセス要
求を受けた場合のSCCa23の動作を図5から図18までを
用いて説明する。次にCBS18の監視結果に基づくSC
Cb213の動作を図19から図24までを用いて説明す
る。
求を受けた場合のSCCa23の動作を図5から図18までを
用いて説明する。次にCBS18の監視結果に基づくSC
Cb213の動作を図19から図24までを用いて説明す
る。
【0036】図5にMPa22から制御情報アクセス要
求を受けた場合のSCCa23の動作のメインルーチン42を
示す。MPa22からSCCa23へ制御情報アクセス要求が
発生すると41,ACa28は要求された制御情報のア
ドレスが、SM高信頼化領域210のアドレスか、SM
通常領域220のアドレスかを調べる(43)。次にSC
Ca23はMPa22からの命令を調べ、制御情報の読み出
しか、書き込みかを調べる(44または45)。次にSC
Ca23はCTM1a24のアドレスタグ34とCTM2a26のアドレス
タグ39を検索し、CDM1a25あるいはCDM2a27内に求める
制御情報のコピーが存在するか否かを調べる(46,4
7,48,49)。以下、CDM1a25 あるいはCDM2a27 内
に求める制御情報のコピーが存在する場合をヒット,存
在しない場合をミスと呼ぶ。以上、高信頼化領域/通常
領域か,書き込み/読み出しか,ヒット/ミスかによっ
て、8通りの処理を行う。
求を受けた場合のSCCa23の動作のメインルーチン42を
示す。MPa22からSCCa23へ制御情報アクセス要求が
発生すると41,ACa28は要求された制御情報のア
ドレスが、SM高信頼化領域210のアドレスか、SM
通常領域220のアドレスかを調べる(43)。次にSC
Ca23はMPa22からの命令を調べ、制御情報の読み出
しか、書き込みかを調べる(44または45)。次にSC
Ca23はCTM1a24のアドレスタグ34とCTM2a26のアドレス
タグ39を検索し、CDM1a25あるいはCDM2a27内に求める
制御情報のコピーが存在するか否かを調べる(46,4
7,48,49)。以下、CDM1a25 あるいはCDM2a27 内
に求める制御情報のコピーが存在する場合をヒット,存
在しない場合をミスと呼ぶ。以上、高信頼化領域/通常
領域か,書き込み/読み出しか,ヒット/ミスかによっ
て、8通りの処理を行う。
【0037】高信頼化領域,読み出し,ヒットの場合、
サブルーチンSuba415 の処理を行う。CBS18へのア
クセスは不要である。
サブルーチンSuba415 の処理を行う。CBS18へのア
クセスは不要である。
【0038】高信頼化領域,読み出し,ミスの場合、C
BS18取得後410,サブルーチンSubb416 の処理を
行った後、CBS18を解放する(423)。
BS18取得後410,サブルーチンSubb416 の処理を
行った後、CBS18を解放する(423)。
【0039】高信頼化領域,書き込み,ヒットの場合、
CBS18取得後411,サブルーチSubc417の処理を
行った後、CBS18を解放する(424)。
CBS18取得後411,サブルーチSubc417の処理を
行った後、CBS18を解放する(424)。
【0040】高信頼化領域,書き込み,ミスの場合、C
BS18取得後412,サブルーチンSubd418の処理を
行った後、CBS18を解放する(425)。
BS18取得後412,サブルーチンSubd418の処理を
行った後、CBS18を解放する(425)。
【0041】通常領域,読み出し,ヒットの場合、サブ
ルーチンSuba419の処理を行う。 CBS18へのアク
セスは不要である。
ルーチンSuba419の処理を行う。 CBS18へのアク
セスは不要である。
【0042】通常領域,読み出し,ミスの場合、CBS
18取得後413,サブルーチンSube420の処理を行っ
た後、CBS18を解放する(426)。
18取得後413,サブルーチンSube420の処理を行っ
た後、CBS18を解放する(426)。
【0043】通常領域,書き込み,ヒットの場合、サブ
ルーチンSubf421の処理を行う。 CBS18へのアク
セスは必要な場合と不要な場合がある。
ルーチンSubf421の処理を行う。 CBS18へのアク
セスは必要な場合と不要な場合がある。
【0044】通常領域,書き込み,ミスの場合、CBS
18取得後414,サブルーチンSubg422の処理を行っ
た後、CBS18を解放する(427)。
18取得後414,サブルーチンSubg422の処理を行っ
た後、CBS18を解放する(427)。
【0045】図6にサブルーチンSuba処理の詳細を
示す。Suba52はSM通常領域220あるいはSM高信頼
化領域210に対する読み出し要求がMPa22から発
生し、ヒットした場合の処理である。本サブルーチンは
マイクロプロセッサからの読み出し要求に対して、該マ
イクロプロセッサに接続するスヌープキャッシュ上に要
求された制御情報が存在した場合の処理である。スヌー
プキャッシュコントローラは該スヌープキャッシュより
要求された制御情報を読み出してマイクロプロセッサへ
渡す。
示す。Suba52はSM通常領域220あるいはSM高信頼
化領域210に対する読み出し要求がMPa22から発
生し、ヒットした場合の処理である。本サブルーチンは
マイクロプロセッサからの読み出し要求に対して、該マ
イクロプロセッサに接続するスヌープキャッシュ上に要
求された制御情報が存在した場合の処理である。スヌー
プキャッシュコントローラは該スヌープキャッシュより
要求された制御情報を読み出してマイクロプロセッサへ
渡す。
【0046】処理ステップ51においてCDM1a25あるい
はCDM2a27より読み出しを行う。
はCDM2a27より読み出しを行う。
【0047】図7にサブルーチンSubbの処理の詳細
を示す。SubbはSM高信頼化領域210に対する読
み出し要求がMPa22から発生し、ミスした場合の処
理である。本サブルーチンは、マイクロプロセッサが共
有メモリの高信頼化領域の制御情報の読み出しを要求し
た際、該マイクロプロセッサに接続するスヌープキャッ
シュ上に要求された制御情報が存在しなかった場合の処
理である。高信頼化領域に対する読み込みの場合、自ス
ヌープキャッシュメモリと、対をなすスヌープキャッシ
ュメモリの両方に同一制御情報を読み込む。
を示す。SubbはSM高信頼化領域210に対する読
み出し要求がMPa22から発生し、ミスした場合の処
理である。本サブルーチンは、マイクロプロセッサが共
有メモリの高信頼化領域の制御情報の読み出しを要求し
た際、該マイクロプロセッサに接続するスヌープキャッ
シュ上に要求された制御情報が存在しなかった場合の処
理である。高信頼化領域に対する読み込みの場合、自ス
ヌープキャッシュメモリと、対をなすスヌープキャッシ
ュメモリの両方に同一制御情報を読み込む。
【0048】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。さらに、スヌ
ープキャッシュコントローラは、対をなすスヌープキャ
ッシュのスヌープキャッシュIDを共有バスに送出し、
対をなすスヌープキャッシュの同一制御情報の読み込み
を促す。
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。さらに、スヌ
ープキャッシュコントローラは、対をなすスヌープキャ
ッシュのスヌープキャッシュIDを共有バスに送出し、
対をなすスヌープキャッシュの同一制御情報の読み込み
を促す。
【0049】処理ステップ55においてCTM1a24 の有効
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ56へ進む。Offの場合処理ステップ58のサブ
ルーチンSubh58へ進む。サブルーチンSubh58はSM高信
頼化領域210からの読み出し処理である。SM高信頼
化領域210からの読み出し処理では、SCa21のCD
M1a25 の対である異なる一つのSCのCDM2内にも、
同じ制御情報のコピーが格納される。
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ56へ進む。Offの場合処理ステップ58のサブ
ルーチンSubh58へ進む。サブルーチンSubh58はSM高信
頼化領域210からの読み出し処理である。SM高信頼
化領域210からの読み出し処理では、SCa21のCD
M1a25 の対である異なる一つのSCのCDM2内にも、
同じ制御情報のコピーが格納される。
【0050】処理ステップ56においてCTM1a24 のオー
ナーフラグがOnかOffかを調べる。Onの場合処理
ステップ57のサブルーチンSubm57へ進む。サブルーチ
ンSubm57はSM19への書き戻し処理である。Offの
場合、処理ステップ58のサブルーチンSubh588 へ進
む。処理ステップ57のサブルーチンSubm終了後、
処理ステップ58のサブルーチンSubhへ進む。処理
ステップ59においてCDM1a25 のキャッシュデータブロ
ックを新しい内容に書き換える。処理ステップ510に
おいてCTM1a24 の有効フラグをOnにする。処理ステッ
プ511においてCTM1a24の共有フラグをOnにする。
処理ステップ512においてCTM1a24のオーナーフラグ
をOffにする。処理ステップ513においてCTM1a24
のアドレスタグを新しい内容に書き換える。
ナーフラグがOnかOffかを調べる。Onの場合処理
ステップ57のサブルーチンSubm57へ進む。サブルーチ
ンSubm57はSM19への書き戻し処理である。Offの
場合、処理ステップ58のサブルーチンSubh588 へ進
む。処理ステップ57のサブルーチンSubm終了後、
処理ステップ58のサブルーチンSubhへ進む。処理
ステップ59においてCDM1a25 のキャッシュデータブロ
ックを新しい内容に書き換える。処理ステップ510に
おいてCTM1a24 の有効フラグをOnにする。処理ステッ
プ511においてCTM1a24の共有フラグをOnにする。
処理ステップ512においてCTM1a24のオーナーフラグ
をOffにする。処理ステップ513においてCTM1a24
のアドレスタグを新しい内容に書き換える。
【0051】図8にサブルーチンSubcの処理の詳細
を示す。SubcはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ヒットした場合の
処理である。
を示す。SubcはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ヒットした場合の
処理である。
【0052】本サブルーチンは、マイクロプロセッサが
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在した場合の処理で
ある。
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在した場合の処理で
ある。
【0053】キャッシュデータメモリaに書き込みが起
きた場合、スヌープキャッシュコントローラは自スヌー
プキャッシュメモリaに書き込みを行う。さらに、スヌ
ープキャッシュIDを共有バスに送出することで、対を
なすスヌープキャッシュメモリbへの書き込みを促す。
きた場合、スヌープキャッシュコントローラは自スヌー
プキャッシュメモリaに書き込みを行う。さらに、スヌ
ープキャッシュIDを共有バスに送出することで、対を
なすスヌープキャッシュメモリbへの書き込みを促す。
【0054】上記対をなすキャッシュデータメモリbに
書き込みが起きた場合、スヌープキャッシュコントロー
ラは自スヌープキャッシュメモリbに書き込みを行う。
さらに、スヌープキャッシュIDを共有バスに送出する
ことで、対をなすスヌープキャッシュメモリaへの書き
込みを促す。
書き込みが起きた場合、スヌープキャッシュコントロー
ラは自スヌープキャッシュメモリbに書き込みを行う。
さらに、スヌープキャッシュIDを共有バスに送出する
ことで、対をなすスヌープキャッシュメモリaへの書き
込みを促す。
【0055】CDM1a25に対する書き込みか、CDM2a27に対
する書き込みか(517)によって処理が異なる。CDM1
a25 に対する書き込みの場合、処理ステップ518のサ
ブルーチンSublへ進む。サブルーチンSubl518 はC
TM2のオーナー権変更を行う更新処理である。CTM
2のオーナー権変更を行う更新処理では、対となる他S
CのCTM2のオーナーフラグがOnになる。CDM2a27
に対する書き込みの場合、処理ステップ521のサブル
ーチンSubkへ進む。サブルーチンSubk521はCTM
1のオーナー権変更を行う更新処理である。CTM1の
オーナー権変更を行う更新処理では、対となる他SCの
CTM1のオーナーフラグがOnになる。
する書き込みか(517)によって処理が異なる。CDM1
a25 に対する書き込みの場合、処理ステップ518のサ
ブルーチンSublへ進む。サブルーチンSubl518 はC
TM2のオーナー権変更を行う更新処理である。CTM
2のオーナー権変更を行う更新処理では、対となる他S
CのCTM2のオーナーフラグがOnになる。CDM2a27
に対する書き込みの場合、処理ステップ521のサブル
ーチンSubkへ進む。サブルーチンSubk521はCTM
1のオーナー権変更を行う更新処理である。CTM1の
オーナー権変更を行う更新処理では、対となる他SCの
CTM1のオーナーフラグがOnになる。
【0056】処理ステップ519においてCDM1a25 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ520においてCTM1a24 のオーナーフラグを
Onにする。処理ステップ522においてCDM2a27 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ523においてCTM2a26 のオーナーフラグを
Onにする。
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ520においてCTM1a24 のオーナーフラグを
Onにする。処理ステップ522においてCDM2a27 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ523においてCTM2a26 のオーナーフラグを
Onにする。
【0057】図9にサブルーチンSubdの処理の詳細
を示す。SubdはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ミスした場合の処
理である。
を示す。SubdはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ミスした場合の処
理である。
【0058】本サブルーチンは、マイクロプロセッサが
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在しなかった場合の
処理である。
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在しなかった場合の
処理である。
【0059】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
【0060】処理ステップ62,63,64,65は処
理ステップ55,56,57,58に同じなので説明を
省略する。処理ステップ66においてサブルーチンSu
blの処理を行う。処理ステップ67においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ68においてCTM1a24 の有効フラグを
Onにする。処理ステップ69においてCTM1a24 の共有
フラグをOnにする。処理ステップ610においてCTM1
a24 のオーナーフラグをOnにする。処理ステップ61
1においてCTM1a24のアドレスタグを新しい内容に書き
換える。
理ステップ55,56,57,58に同じなので説明を
省略する。処理ステップ66においてサブルーチンSu
blの処理を行う。処理ステップ67においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ68においてCTM1a24 の有効フラグを
Onにする。処理ステップ69においてCTM1a24 の共有
フラグをOnにする。処理ステップ610においてCTM1
a24 のオーナーフラグをOnにする。処理ステップ61
1においてCTM1a24のアドレスタグを新しい内容に書き
換える。
【0061】図10にサブルーチンSubeの処理の詳
細を示す。SubeはSM通常領域220に対する読み
出し要求がMPa22から発生し、ミスした場合の処理
である。
細を示す。SubeはSM通常領域220に対する読み
出し要求がMPa22から発生し、ミスした場合の処理
である。
【0062】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の読み出しを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。通常領域に対する読み込みの場合、自スヌープ
キャッシュメモリaに制御情報を読み込み、対をなすス
ヌープキャッシュメモリbの内容は無効化する。
共有メモリの通常領域の制御情報の読み出しを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。通常領域に対する読み込みの場合、自スヌープ
キャッシュメモリaに制御情報を読み込み、対をなすス
ヌープキャッシュメモリbの内容は無効化する。
【0063】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。スヌープキャ
ッシュコントローラは、対をなすスヌープキャッシュの
スヌープキャッシュIDを共有バスに送出し、対をなす
スヌープキャッシュの無効化処理を促す。
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。スヌープキャ
ッシュコントローラは、対をなすスヌープキャッシュの
スヌープキャッシュIDを共有バスに送出し、対をなす
スヌープキャッシュの無効化処理を促す。
【0064】処理ステップ615においてCTM1a24の有
効フラグがOnかOffかを調べる。Onの場合処理ステ
ップ616へ進む。Offの場合処理ステップ618の
サブルーチンSub9へ進む。サブルーチンSubiは
SM通常領域220からの読み出し処理である。
効フラグがOnかOffかを調べる。Onの場合処理ステ
ップ616へ進む。Offの場合処理ステップ618の
サブルーチンSub9へ進む。サブルーチンSubiは
SM通常領域220からの読み出し処理である。
【0065】処理ステップ616においてCTM1a24 のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ617のサブルーチンSubmへ進む。Offの
場合処理ステップ618のサブルーチンSub9へ進
む。処理ステップ617のサブルーチンSubm終了
後、処理ステップ618のサブルーチンSubiへ進
む。
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ617のサブルーチンSubmへ進む。Offの
場合処理ステップ618のサブルーチンSub9へ進
む。処理ステップ617のサブルーチンSubm終了
後、処理ステップ618のサブルーチンSubiへ進
む。
【0066】処理ステップ619においてCDM1a25 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ620においてCTM1a24 の有効フラグをOn
にする。処理ステップ621においてCTM1a24 の共有フ
ラグをOnにする。処理ステップ622においてCTM1a2
4 のオーナーフラグをOffにする。処理ステップ62
3においてCTM1a24のアドレスタグを新しい内容に書き
換える。
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ620においてCTM1a24 の有効フラグをOn
にする。処理ステップ621においてCTM1a24 の共有フ
ラグをOnにする。処理ステップ622においてCTM1a2
4 のオーナーフラグをOffにする。処理ステップ62
3においてCTM1a24のアドレスタグを新しい内容に書き
換える。
【0067】図11にサブルーチンSubfの処理の詳
細を示す。SubfはSM通常領域220に対する書き
込み要求がMPa22から発生し、ヒットした場合の処
理である。
細を示す。SubfはSM通常領域220に対する書き
込み要求がMPa22から発生し、ヒットした場合の処
理である。
【0068】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在した場合の処理であ
る。
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在した場合の処理であ
る。
【0069】通常領域に対する書き込みでは、無効化命
令を共有バスに送出することで、他スヌープキャッシュ
の同一制御情報を無効にする。しかし既に他スヌープキ
ャッシュに同一制御情報が存在していなかった場合、改
めて無効化命令を送出することはせず、共有バスアクセ
スは不要となる。他スヌープキャッシュに同一制御情報
が存在しないか否かは、対応するキャッシュタグメモリ
内の共有フラグを調べることでわかる。
令を共有バスに送出することで、他スヌープキャッシュ
の同一制御情報を無効にする。しかし既に他スヌープキ
ャッシュに同一制御情報が存在していなかった場合、改
めて無効化命令を送出することはせず、共有バスアクセ
スは不要となる。他スヌープキャッシュに同一制御情報
が存在しないか否かは、対応するキャッシュタグメモリ
内の共有フラグを調べることでわかる。
【0070】SM通常領域220に対する書き込みで
は、他のCDM1内に同一制御情報のコピーが存在しな
い共有フラグがOffの場合がある。この場合、制御用
共通バスCBS18へのアクセスは不要となる。
は、他のCDM1内に同一制御情報のコピーが存在しな
い共有フラグがOffの場合がある。この場合、制御用
共通バスCBS18へのアクセスは不要となる。
【0071】処理ステップ72においてCTM1a24 の共有
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ73へ進む。Offの場合処理ステップ79へ進
む。処理ステップ73から78は制御用共通バスCBS
18へのアクセスが必要な場合の処理である。処理ステ
ップ73において制御用共通バスCBS18を取得す
る。処理ステップ74においてサブルーチンSubjの
処理を行う。サブルーチンSubjは他のCDM1内の
同一制御情報のコピーを無効化する処理である。処理ス
テップ75においてCDM1a25 のキャッシュデータブロッ
クを新しい内容に書き換える。処理ステップ76におい
てCTM1a24 の共有フラグをOffにする。処理ステップ
77においてCTM1a24 のオーナーフラグをOnにする。
処理ステップ78において制御用共通バスCBS18を
解放する。処理ステップ79は制御用共通バスCBS1
8へのアクセスが不要な場合の処理である。処理ステッ
プ79においてCDM1a25 のキャッシュデータブロックを
新しい内容に書き換える。
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ73へ進む。Offの場合処理ステップ79へ進
む。処理ステップ73から78は制御用共通バスCBS
18へのアクセスが必要な場合の処理である。処理ステ
ップ73において制御用共通バスCBS18を取得す
る。処理ステップ74においてサブルーチンSubjの
処理を行う。サブルーチンSubjは他のCDM1内の
同一制御情報のコピーを無効化する処理である。処理ス
テップ75においてCDM1a25 のキャッシュデータブロッ
クを新しい内容に書き換える。処理ステップ76におい
てCTM1a24 の共有フラグをOffにする。処理ステップ
77においてCTM1a24 のオーナーフラグをOnにする。
処理ステップ78において制御用共通バスCBS18を
解放する。処理ステップ79は制御用共通バスCBS1
8へのアクセスが不要な場合の処理である。処理ステッ
プ79においてCDM1a25 のキャッシュデータブロックを
新しい内容に書き換える。
【0072】図12にサブルーチンSubgの処理の詳
細を示す。SubgはSM通常領域220に対する書き
込み要求がMPa22から発生し、ミスした場合の処理
である。
細を示す。SubgはSM通常領域220に対する書き
込み要求がMPa22から発生し、ミスした場合の処理
である。
【0073】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。
【0074】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
【0075】処理ステップ715,716,717,7
18は処理ステップ615,616,617,618に
同じなので説明を省略する。処理ステップ719におい
てサブルーチンSubjの処理を行う。処理ステップ7
20においてCDM1a25 のキャッシュデータブロックを新
しい内容に書き換える。処理ステップ721においてCT
M1a24の有効フラグをOnにする。処理ステップ722
においてCTM1a24の共有フラグをOffにする。処理ス
テップ723においてCTM1a24 のオーナーフラグをOn
にする。処理ステップ724においてCTM1a24 のアドレ
スタグを新しい内容に書き換える。
18は処理ステップ615,616,617,618に
同じなので説明を省略する。処理ステップ719におい
てサブルーチンSubjの処理を行う。処理ステップ7
20においてCDM1a25 のキャッシュデータブロックを新
しい内容に書き換える。処理ステップ721においてCT
M1a24の有効フラグをOnにする。処理ステップ722
においてCTM1a24の共有フラグをOffにする。処理ス
テップ723においてCTM1a24 のオーナーフラグをOn
にする。処理ステップ724においてCTM1a24 のアドレ
スタグを新しい内容に書き換える。
【0076】図13にサブルーチンSubh,図14に
サブルーチンSubi,図15にサブルーチンSub
j,図16にサブルーチンSubk,図17にサブルー
チンSubl,図18にサブルーチンSubmの処理の
詳細を示す。
サブルーチンSubi,図15にサブルーチンSub
j,図16にサブルーチンSubk,図17にサブルー
チンSubl,図18にサブルーチンSubmの処理の
詳細を示す。
【0077】Subh,Subi,Subj,Sub
k,Subl,SubmはCBS18に対する6種類の
アクセスを示す。6種類のアクセスのそれぞれに対し
て、高信頼化領域読み出し命令,通常領域読み出し命
令,無効化命令,CTM1のオーナー権変更を行う更新
命令,CTM2のオーナー権変更を行う更新命令,SM
書き戻し命令の6つの命令がある。
k,Subl,SubmはCBS18に対する6種類の
アクセスを示す。6種類のアクセスのそれぞれに対し
て、高信頼化領域読み出し命令,通常領域読み出し命
令,無効化命令,CTM1のオーナー権変更を行う更新
命令,CTM2のオーナー権変更を行う更新命令,SM
書き戻し命令の6つの命令がある。
【0078】図13について以下に説明する。サブルー
チンSubhはSM高信頼化領域210からの読み出し
処理である。本サブルーチンでは、ミスの起きたスヌー
プキャッシュメモリ1へ要求された制御情報を読み込む
と同時に、対をなすスヌープキャッシュメモリ2へ同一
制御情報を読み込ませる。
チンSubhはSM高信頼化領域210からの読み出し
処理である。本サブルーチンでは、ミスの起きたスヌー
プキャッシュメモリ1へ要求された制御情報を読み込む
と同時に、対をなすスヌープキャッシュメモリ2へ同一
制御情報を読み込ませる。
【0079】処理ステップ82においてアクセスするSM
19のアドレスをCBS18へ送出する。処理ステップ8
3において高信頼化領域読み出し命令をCBS18へ送
出する。処理ステップ84においてSCIDRa29の相手SCID
322 をCBS18へ送出する。処理ステップ85におい
てCBS18より読み出しデータを受け取る。相手SCID
322 に等しいSCIDを持つ他のSCでは、読み出しデ
ータがCDM2に格納される。
19のアドレスをCBS18へ送出する。処理ステップ8
3において高信頼化領域読み出し命令をCBS18へ送
出する。処理ステップ84においてSCIDRa29の相手SCID
322 をCBS18へ送出する。処理ステップ85におい
てCBS18より読み出しデータを受け取る。相手SCID
322 に等しいSCIDを持つ他のSCでは、読み出しデ
ータがCDM2に格納される。
【0080】図14について以下に説明する。サブルー
チンSubiはSM通常領域220からの読み出し処理
である。本サブルーチンでは、ミスの起きたスヌープキ
ャッシュメモリaへ要求された制御情報を読み込むと同
時に、対をなすスヌープキャッシュメモリbの内容を無
効化する。
チンSubiはSM通常領域220からの読み出し処理
である。本サブルーチンでは、ミスの起きたスヌープキ
ャッシュメモリaへ要求された制御情報を読み込むと同
時に、対をなすスヌープキャッシュメモリbの内容を無
効化する。
【0081】処理ステップ89においてアクセスするS
M19のアドレスをCBS18へ送出する。処理ステッ
プ810において通常領域読み出し命令をCBS18へ
送出する。処理ステップ811においてSCIDRa29の相手
SCID322 をCBS18へ送出する。処理ステップ812
においてCBS18より読み出しデータを受け取る。相
手SCID322に等しいSCIDを持つ他のSCでは、CT
M2の有効フラグがOffになり無効化される。
M19のアドレスをCBS18へ送出する。処理ステッ
プ810において通常領域読み出し命令をCBS18へ
送出する。処理ステップ811においてSCIDRa29の相手
SCID322 をCBS18へ送出する。処理ステップ812
においてCBS18より読み出しデータを受け取る。相
手SCID322に等しいSCIDを持つ他のSCでは、CT
M2の有効フラグがOffになり無効化される。
【0082】図15について以下に説明する。サブルー
チンSubjは他のCDM1内の同一制御情報のコピー
を全て無効化する処理である。処理ステップ816にお
いてアクセスするSM19のアドレスをCBS18へ送
出する。処理ステップ817において無効化命令をCB
S18へ送出する。
チンSubjは他のCDM1内の同一制御情報のコピー
を全て無効化する処理である。処理ステップ816にお
いてアクセスするSM19のアドレスをCBS18へ送
出する。処理ステップ817において無効化命令をCB
S18へ送出する。
【0083】図16について以下に説明する。サブルー
チンSubkはCTM1のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
2への書き込みが発生した場合の更新処理である。本実
施例のキャッシュ制御では、書き込みの発生したスヌー
プキャッシュの対をオーナーとする。オーナーとなった
スヌープキャッシュ対は、共有メモリへの最新制御情報
書き戻しの責任と、共有バスに送出された制御情報読み
出し要求に対して最新値を共有バスに送出する責任を負
う。本サブルーチンは、対をなすキャッシュデータメモ
リ1の内容を更新し、さらにそのオーナーフラグをOn
にする処理である。
チンSubkはCTM1のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
2への書き込みが発生した場合の更新処理である。本実
施例のキャッシュ制御では、書き込みの発生したスヌー
プキャッシュの対をオーナーとする。オーナーとなった
スヌープキャッシュ対は、共有メモリへの最新制御情報
書き戻しの責任と、共有バスに送出された制御情報読み
出し要求に対して最新値を共有バスに送出する責任を負
う。本サブルーチンは、対をなすキャッシュデータメモ
リ1の内容を更新し、さらにそのオーナーフラグをOn
にする処理である。
【0084】処理ステップ821においてアクセスする
SM19のアドレスをCBS18へ送出する。処理ステ
ップ822においてCTM1のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ823に
おいてSCIDRa29 の自SCID321をCBS18へ送出する。
処理ステップ824において更新データをCBS18へ
送出する。
SM19のアドレスをCBS18へ送出する。処理ステ
ップ822においてCTM1のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ823に
おいてSCIDRa29 の自SCID321をCBS18へ送出する。
処理ステップ824において更新データをCBS18へ
送出する。
【0085】相手SCIDとして、SCIDRa29の自SCID32
1 に等しいSCIDを持つ他のSCでは、CDM1のキ
ャッシュデータブロックを更新するとともにCTM1の
オーナーフラグをOnにする。
1 に等しいSCIDを持つ他のSCでは、CDM1のキ
ャッシュデータブロックを更新するとともにCTM1の
オーナーフラグをOnにする。
【0086】図17について以下に説明する。サブルー
チンSublはCTM2のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
1への書き込みが発生した場合の更新処理である。本サ
ブルーチンは、対をなすキャッシュデータメモリ2の内
容を更新し、さらにそのオーナーフラグをOnにする処
理である。
チンSublはCTM2のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
1への書き込みが発生した場合の更新処理である。本サ
ブルーチンは、対をなすキャッシュデータメモリ2の内
容を更新し、さらにそのオーナーフラグをOnにする処
理である。
【0087】処理ステップ828においてアクセスする
SM19のアドレスをCBS18へ送出する。処理ステ
ップ829においてCTM2のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ830に
おいてSCIDRa29の相手SCID322 をCBS18へ送出す
る。処理ステップ831において更新データをCBS1
8へ送出する。SCIDRa29 の相手SCID322に等しいSCI
Dを持つ他のSCでは、CDM2のキャッシュデータブロッ
クを更新するとともにCTM2のオーナーフラグをOn
にする。
SM19のアドレスをCBS18へ送出する。処理ステ
ップ829においてCTM2のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ830に
おいてSCIDRa29の相手SCID322 をCBS18へ送出す
る。処理ステップ831において更新データをCBS1
8へ送出する。SCIDRa29 の相手SCID322に等しいSCI
Dを持つ他のSCでは、CDM2のキャッシュデータブロッ
クを更新するとともにCTM2のオーナーフラグをOn
にする。
【0088】図18について以下に説明する。サブルー
チンSubmはSM19への書き戻し処理である。処理
ステップ835においてアクセスするSM19のアドレ
スをCBS18へ送出する。処理ステップ836におい
てSM書き戻し命令をCBS18へ送出する。処理ステップ
837において書き戻しデータをCBS18へ送出す
る。処理ステップ838において共有メモリ制御回路SM
C116より、書き戻し完了通知をCBS18を介して受け
取る。
チンSubmはSM19への書き戻し処理である。処理
ステップ835においてアクセスするSM19のアドレ
スをCBS18へ送出する。処理ステップ836におい
てSM書き戻し命令をCBS18へ送出する。処理ステップ
837において書き戻しデータをCBS18へ送出す
る。処理ステップ838において共有メモリ制御回路SM
C116より、書き戻し完了通知をCBS18を介して受け
取る。
【0089】図19にCBS18の監視結果に基づくSC
Cb213の動作のメインルーチン Main914 を示す。6
種類の共有バスアクセスの内、スヌープキャッシュコン
トローラが監視結果に基づいて処理を行う必要があるの
は、共有メモリ書き戻し以外の5種類のアクセスであ
る。各アクセス毎に処理が異なる。
Cb213の動作のメインルーチン Main914 を示す。6
種類の共有バスアクセスの内、スヌープキャッシュコン
トローラが監視結果に基づいて処理を行う必要があるの
は、共有メモリ書き戻し以外の5種類のアクセスであ
る。各アクセス毎に処理が異なる。
【0090】処理ステップ92において、SM19のア
ドレスをCBS18より取得する。処理ステップ93に
おいて、命令をCBS18より取得する。処理ステップ
94において、命令が高信頼化領域読み出し命令か否か
調べる。高信頼化領域読み出し命令ならば処理ステップ
95のサブルーチンSubnの処理を行う。そうでなけ
れば処理ステップ96へ進む。
ドレスをCBS18より取得する。処理ステップ93に
おいて、命令をCBS18より取得する。処理ステップ
94において、命令が高信頼化領域読み出し命令か否か
調べる。高信頼化領域読み出し命令ならば処理ステップ
95のサブルーチンSubnの処理を行う。そうでなけ
れば処理ステップ96へ進む。
【0091】処理ステップ96において、命令が通常領
域読み出し命令か否か調べる。通常領域読み出し命令な
らば処理ステップ97のサブルーチンSuboの処理を
行う。そうでなければ処理ステップ98へ進む。
域読み出し命令か否か調べる。通常領域読み出し命令な
らば処理ステップ97のサブルーチンSuboの処理を
行う。そうでなければ処理ステップ98へ進む。
【0092】処理ステップ98において、命令が無効化
命令か否か調べる。無効化命令ならば処理ステップ99
のサブルーチンSubpの処理を行う。そうでなければ
処理ステップ910へ進む。
命令か否か調べる。無効化命令ならば処理ステップ99
のサブルーチンSubpの処理を行う。そうでなければ
処理ステップ910へ進む。
【0093】処理ステップ910において、命令がCT
M1のオーナー権変更を行う更新命令か否か調べる。C
TM1のオーナー権変更を行う更新命令ならば処理ステ
ップ911のサブルーチンSubqの処理を行う。そう
でなければ処理ステップ912へ進む。
M1のオーナー権変更を行う更新命令か否か調べる。C
TM1のオーナー権変更を行う更新命令ならば処理ステ
ップ911のサブルーチンSubqの処理を行う。そう
でなければ処理ステップ912へ進む。
【0094】処理ステップ912において、命令がCT
M2のオーナー権変更を行う更新命令か否か調べる。C
TM2のオーナー権変更を行う更新命令ならば処理ステ
ップ913のサブルーチンSubrの処理を行う。そう
でなければ処理を終了する。図20にサブルーチンSu
bnの処理の詳細を示す。サブルーチンSubnはCB
S18の監視の結果、高信頼化領域読み出し命令を得た
場合の処理である。高信頼化領域に対する読み込みの場
合、自スヌープキャッシュメモリ1と、対をなすスヌー
プキャッシュメモリ2の両方に同一制御情報を読み込
む。
M2のオーナー権変更を行う更新命令か否か調べる。C
TM2のオーナー権変更を行う更新命令ならば処理ステ
ップ913のサブルーチンSubrの処理を行う。そう
でなければ処理を終了する。図20にサブルーチンSu
bnの処理の詳細を示す。サブルーチンSubnはCB
S18の監視の結果、高信頼化領域読み出し命令を得た
場合の処理である。高信頼化領域に対する読み込みの場
合、自スヌープキャッシュメモリ1と、対をなすスヌー
プキャッシュメモリ2の両方に同一制御情報を読み込
む。
【0095】スヌープキャッシュIDを共有バスより取
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリ1に高信頼
化領域の制御情報が読み込まれることを意味する。そこ
で自スヌープキャッシュメモリ2にも同一制御情報を読
み込んでくる。
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリ1に高信頼
化領域の制御情報が読み込まれることを意味する。そこ
で自スヌープキャッシュメモリ2にも同一制御情報を読
み込んでくる。
【0096】また読み出し要求のあったデータの最新の
値を自スヌープキャッシュが保持していた場合は、その
内容を共有バスに送出する。最新の値か否かは対応する
キャッシュタグメモリ内のオーナーフラグを調べること
でわかる。
値を自スヌープキャッシュが保持していた場合は、その
内容を共有バスに送出する。最新の値か否かは対応する
キャッシュタグメモリ内のオーナーフラグを調べること
でわかる。
【0097】処理ステップ102においてCBS18よ
りSCIDを取得する。処理ステップ103において取
得したSCIDがSCIDRb219の自SCID325に等しいか否か
調べる。等しい場合処理ステップ104に進む。等しく
ない場合処理ステップ105に進む。CBS18の監視
の結果取得したSCIDがSCIDRb219の自SCID325に等しい場
合、SM高信頼化領域210の制御情報のコピーを対で
あるCDM2b217に格納する必要がある。
りSCIDを取得する。処理ステップ103において取
得したSCIDがSCIDRb219の自SCID325に等しいか否か
調べる。等しい場合処理ステップ104に進む。等しく
ない場合処理ステップ105に進む。CBS18の監視
の結果取得したSCIDがSCIDRb219の自SCID325に等しい場
合、SM高信頼化領域210の制御情報のコピーを対で
あるCDM2b217に格納する必要がある。
【0098】処理ステップ104においてCTM1b214のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1012へ、Offの場合処理ステップ10
6へ進む。
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1012へ、Offの場合処理ステップ10
6へ進む。
【0099】処理ステップ105においてCTM1b214のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1018へ、Off の場合処理を終了す
る。
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1018へ、Off の場合処理を終了す
る。
【0100】CTM1b214のオーナーフラグがOnの場合、
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。オーナーフラグがOnのCTM1が存在しない場
合、読み出しデータはどのSCからも送出されない。こ
の場合、一定時間経過後、SMC116がオーナー不在と判断
し、読み出しデータはSMC116を介してSM19よりCB
S18へ送出される。
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。オーナーフラグがOnのCTM1が存在しない場
合、読み出しデータはどのSCからも送出されない。こ
の場合、一定時間経過後、SMC116がオーナー不在と判断
し、読み出しデータはSMC116を介してSM19よりCB
S18へ送出される。
【0101】処理ステップ1012から1017までは
CDM2b217へのデータ格納とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1012においてCDM2b217のキャッシュデータブロ
ックに、CDM1b215にある最新の制御情報を格納する。処
理ステップ1013においてCTM2b216の有効フラグをO
nにする。処理ステップ1014においてCTM2b216の共
有フラグをOnにする。処理ステップ1015において
CTM2b216のオーナーフラグをOffにする。処理ステッ
プ1016においてCTM2b216のアドレスタグを新しい内
容に書き換える。処理ステップ1017において読み出
しデータをCBS18に送出する。
CDM2b217へのデータ格納とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1012においてCDM2b217のキャッシュデータブロ
ックに、CDM1b215にある最新の制御情報を格納する。処
理ステップ1013においてCTM2b216の有効フラグをO
nにする。処理ステップ1014においてCTM2b216の共
有フラグをOnにする。処理ステップ1015において
CTM2b216のオーナーフラグをOffにする。処理ステッ
プ1016においてCTM2b216のアドレスタグを新しい内
容に書き換える。処理ステップ1017において読み出
しデータをCBS18に送出する。
【0102】処理ステップ106から1011まではCD
M2b217へのデータ格納処理のみが必要な場合である。処
理ステップ106においてCBS18より読み出しデー
タを取得する。読み出しデータは他SCあるいはSMC116
からCBS18へ送出されたデータである。処理ステッ
プ107においてCDM2b217のキャッシュデータブロック
を書き換える。処理ステップ108においてCTM2b216の
有効フラグをOnにする。処理ステップ109において
CTM2b216の共有フラグをOnにする。処理ステップ10
10においてCTM2b216のオーナーフラグをOffにす
る。処理ステップ1011においてCTM2b216のアドレス
タグを新しい内容に書き換える。
M2b217へのデータ格納処理のみが必要な場合である。処
理ステップ106においてCBS18より読み出しデー
タを取得する。読み出しデータは他SCあるいはSMC116
からCBS18へ送出されたデータである。処理ステッ
プ107においてCDM2b217のキャッシュデータブロック
を書き換える。処理ステップ108においてCTM2b216の
有効フラグをOnにする。処理ステップ109において
CTM2b216の共有フラグをOnにする。処理ステップ10
10においてCTM2b216のオーナーフラグをOffにす
る。処理ステップ1011においてCTM2b216のアドレス
タグを新しい内容に書き換える。
【0103】処理ステップ1018は、読み出しデータ
のCBS18への送出のみが必要な場合である。上述の
処理は、スヌープキャッシュメモリに障害が発生してい
ない場合の処理である。障害の発生していない状況下で
は、オーナーであるスヌープキャッシュメモリ1が高信
頼化領域の読み出しデータの送出を行う。
のCBS18への送出のみが必要な場合である。上述の
処理は、スヌープキャッシュメモリに障害が発生してい
ない場合の処理である。障害の発生していない状況下で
は、オーナーであるスヌープキャッシュメモリ1が高信
頼化領域の読み出しデータの送出を行う。
【0104】以下に、オーナーであるスヌープキャッシ
ュメモリ1に障害が発生し、高信頼化領域の読み出しデ
ータの送出が不可能となった場合の処理を説明する。こ
の場合、障害の発生したスヌープキャッシュメモリaと
対をなすスヌープキャッシュメモリbより読み出しデー
タの送出を行う。
ュメモリ1に障害が発生し、高信頼化領域の読み出しデ
ータの送出が不可能となった場合の処理を説明する。こ
の場合、障害の発生したスヌープキャッシュメモリaと
対をなすスヌープキャッシュメモリbより読み出しデー
タの送出を行う。
【0105】高信頼化領域の制御情報の読み出し時、SC
IDRb219 の障害発生フラグ2328がOnであり、二重
化してCDM2b217へ格納する場合の、対をなすスヌープキ
ャッシュメモリaに障害が発生している状況を仮定す
る。この様な状況では、スヌープキャッシュメモリaが
オーナーとなっていた高信頼化領域の読み出しデータの
送出が不可能である。そこでスヌープキャッシュメモリ
1の対であるCDM2b217が代わりに読み出しデータの送出
を行う。CTM2b216のアドレスタグがCBS18へ送出さ
れたアドレスに等しく、しかもオーナーフラグと有効フ
ラグがともにOnであった場合、対応するCDM2b217のキ
ャッシュデータブロックの内容をCBS18 に送出する。
IDRb219 の障害発生フラグ2328がOnであり、二重
化してCDM2b217へ格納する場合の、対をなすスヌープキ
ャッシュメモリaに障害が発生している状況を仮定す
る。この様な状況では、スヌープキャッシュメモリaが
オーナーとなっていた高信頼化領域の読み出しデータの
送出が不可能である。そこでスヌープキャッシュメモリ
1の対であるCDM2b217が代わりに読み出しデータの送出
を行う。CTM2b216のアドレスタグがCBS18へ送出さ
れたアドレスに等しく、しかもオーナーフラグと有効フ
ラグがともにOnであった場合、対応するCDM2b217のキ
ャッシュデータブロックの内容をCBS18 に送出する。
【0106】図21にサブルーチンSuboの処理の詳
細を示す。サブルーチンSuboはCBS18 の監視
の結果、通常領域読み出し命令を得た場合の処理であ
る。通常領域に対する読み込みの場合、自スヌープキャ
ッシュメモリaに制御情報を読み込み、対をなすスヌー
プキャッシュメモリbの内容は無効化する。
細を示す。サブルーチンSuboはCBS18 の監視
の結果、通常領域読み出し命令を得た場合の処理であ
る。通常領域に対する読み込みの場合、自スヌープキャ
ッシュメモリaに制御情報を読み込み、対をなすスヌー
プキャッシュメモリbの内容は無効化する。
【0107】スヌープキャッシュIDを共有バスより取
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリaに通常領
域の制御情報が読み込まれることを意味する。そこで自
スヌープキャッシュメモリbの内容を無効化する。また
読み出し要求のあったデータの最新の値を自スヌープキ
ャッシュが保持していた場合は、その内容を共有バスに
送出する。最新の値か否かは対応するキャッシュタグメ
モリ内のオーナーフラグを調べることでわかる。
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリaに通常領
域の制御情報が読み込まれることを意味する。そこで自
スヌープキャッシュメモリbの内容を無効化する。また
読み出し要求のあったデータの最新の値を自スヌープキ
ャッシュが保持していた場合は、その内容を共有バスに
送出する。最新の値か否かは対応するキャッシュタグメ
モリ内のオーナーフラグを調べることでわかる。
【0108】処理ステップ1102においてCBS18
よりSCIDを取得する。処理ステップ1103におい
て取得したSCIDがSCIDRb219の自SCID325に等しいか
否か調べる。等しい場合処理ステップ1104に進む。
等しくない場合処理ステップ1105に進む。
よりSCIDを取得する。処理ステップ1103におい
て取得したSCIDがSCIDRb219の自SCID325に等しいか
否か調べる。等しい場合処理ステップ1104に進む。
等しくない場合処理ステップ1105に進む。
【0109】通常領域の制御情報はCDM1にのみ保存
され、対となるCDM2のキャッシュデータブロックは
無効化される。CBS18の監視の結果取得したSCI
DがSCIDRb219の自SCID325に等しい場合、CDM2b217のキ
ャッシュデータブロックを無効化する必要がある。
され、対となるCDM2のキャッシュデータブロックは
無効化される。CBS18の監視の結果取得したSCI
DがSCIDRb219の自SCID325に等しい場合、CDM2b217のキ
ャッシュデータブロックを無効化する必要がある。
【0110】処理ステップ1104においてCTM1b214の
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1106へ、Offの場合処理ステップ11
07へ進む。
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1106へ、Offの場合処理ステップ11
07へ進む。
【0111】処理ステップ1105においてCTM1b214の
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1110へ、Offの場合処理を終了す
る。
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1110へ、Offの場合処理を終了す
る。
【0112】CTM1b214のオーナーフラグがOnの場合、
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。
【0113】処理ステップ1106,1108,110
9ではCDM2b217の無効化とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1106においてCTM2b216の有効フラグをOffに
する。処理ステップ1108においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1109において読み
出しデータをCBS18に送出する。処理ステップ11
07ではCDM2b217の無効化のみが必要な場合である。処
理ステップ1107においてCTM2b216の有効フラグをO
ffにする。
9ではCDM2b217の無効化とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1106においてCTM2b216の有効フラグをOffに
する。処理ステップ1108においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1109において読み
出しデータをCBS18に送出する。処理ステップ11
07ではCDM2b217の無効化のみが必要な場合である。処
理ステップ1107においてCTM2b216の有効フラグをO
ffにする。
【0114】処理ステップ1110,1111では、読
み出しデータのCBS18への送出のみが必要な場合で
ある。処理ステップ1110においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1111において読み
出しデータをCBS18に送出する。
み出しデータのCBS18への送出のみが必要な場合で
ある。処理ステップ1110においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1111において読み
出しデータをCBS18に送出する。
【0115】図22にサブルーチンSubpの処理の詳
細を示す。サブルーチンSubpはCBS18の監視の
結果、無効化命令を得た場合の処理である。無効化され
るべき制御情報が自スヌープキャッシュメモリ1に存在
するなら、対応する有効フラグをOffにすることで無
効にする。該当制御情報の存在の有無は、対応するアド
レスタグを共有バスに送出されたアドレスと比較するこ
とで調べる。
細を示す。サブルーチンSubpはCBS18の監視の
結果、無効化命令を得た場合の処理である。無効化され
るべき制御情報が自スヌープキャッシュメモリ1に存在
するなら、対応する有効フラグをOffにすることで無
効にする。該当制御情報の存在の有無は、対応するアド
レスタグを共有バスに送出されたアドレスと比較するこ
とで調べる。
【0116】処理ステップ1115において、CTM1b214
のアドレスタグと、図19のMain914 の処理ステップ9
2において、CBS18の監視の結果取得したSM19のア
ドレスとを比較する。処理ステップ1116において、
比較の結果等しいアドレスが存在するなら、処理ステッ
プ1117に進み、存在しないなら処理を終了する。処
理ステップ1117では、CTM1b214の有効フラグをOf
fにし、無効化を行う。
のアドレスタグと、図19のMain914 の処理ステップ9
2において、CBS18の監視の結果取得したSM19のア
ドレスとを比較する。処理ステップ1116において、
比較の結果等しいアドレスが存在するなら、処理ステッ
プ1117に進み、存在しないなら処理を終了する。処
理ステップ1117では、CTM1b214の有効フラグをOf
fにし、無効化を行う。
【0117】図23にサブルーチンSubqの処理の詳
細を示す。サブルーチンSubqはCBS18の監視の
結果、CTM1のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリ1あるいは2に存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリ1のオーナー
フラグをOnあるいはOffにする。
細を示す。サブルーチンSubqはCBS18の監視の
結果、CTM1のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリ1あるいは2に存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリ1のオーナー
フラグをOnあるいはOffにする。
【0118】処理ステップ122において、CTM1b214,
CTM2b216のアドレスタグと、図19のMain914 の処理ス
テップ92において、CBS18の監視の結果取得した
SM19のアドレスとを比較する。処理ステップ123にお
いて、比較の結果等しいアドレスが存在するなら、処理
ステップ124に進み、存在しないなら処理を終了す
る。
CTM2b216のアドレスタグと、図19のMain914 の処理ス
テップ92において、CBS18の監視の結果取得した
SM19のアドレスとを比較する。処理ステップ123にお
いて、比較の結果等しいアドレスが存在するなら、処理
ステップ124に進み、存在しないなら処理を終了す
る。
【0119】処理ステップ124において、CBS18
よりSCIDを取得する。処理ステップ125において、C
BS18より更新データを取得する。処理ステップ12
6において、CDM1b215,CDM2b217のキャッシュデータブ
ロックを新しい内容に書き換える。
よりSCIDを取得する。処理ステップ125において、C
BS18より更新データを取得する。処理ステップ12
6において、CDM1b215,CDM2b217のキャッシュデータブ
ロックを新しい内容に書き換える。
【0120】処理ステップ127において、取得したSC
IDが、SCIDRb219の相手SCID326に等しいか否か調べる。
等しい場合、処理ステップ128へ進み、等しくなけれ
ば処理ステップ129へ進む。
IDが、SCIDRb219の相手SCID326に等しいか否か調べる。
等しい場合、処理ステップ128へ進み、等しくなけれ
ば処理ステップ129へ進む。
【0121】処理ステップ128では、CDM1b215と対を
なす他SCのCDM2がオーナーとなったことを意味し
ている。そこでCDM1b215に有効な制御情報のコピーが存
在していた場合に限り、CTM1b214のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
なす他SCのCDM2がオーナーとなったことを意味し
ている。そこでCDM1b215に有効な制御情報のコピーが存
在していた場合に限り、CTM1b214のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
【0122】処理ステップ129では、CDM1b215と無関
係な他SCのCDM2がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
係な他SCのCDM2がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
【0123】図24にサブルーチンSubrの処理の詳
細を示す。サブルーチンSubrはCBS18の監視の
結果、CTM2のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリaあるいはbに存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリbのオーナー
フラグをOnあるいはOffにする。
細を示す。サブルーチンSubrはCBS18の監視の
結果、CTM2のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリaあるいはbに存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリbのオーナー
フラグをOnあるいはOffにする。
【0124】処理ステップ132から136までは、処
理ステップ122から126に同じなので説明を省略す
る。
理ステップ122から126に同じなので説明を省略す
る。
【0125】処理ステップ137において、取得したSC
IDが、SCIDRb219の自SCID325に等しいか否か調べる。等
しい場合、処理ステップ138へ進み、等しくなければ
処理ステップ139へ進む。
IDが、SCIDRb219の自SCID325に等しいか否か調べる。等
しい場合、処理ステップ138へ進み、等しくなければ
処理ステップ139へ進む。
【0126】処理ステップ138では、CDM2b217と対を
なす他SCのCDM1がオーナーとなったことを意味し
ている。そこでCDM2b217に有効な制御情報のコピーが存
在していた場合に限り、CTM2b216のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
なす他SCのCDM1がオーナーとなったことを意味し
ている。そこでCDM2b217に有効な制御情報のコピーが存
在していた場合に限り、CTM2b216のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
【0127】処理ステップ139では、CDM2b217と無関
係な他SCのCDM1がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
係な他SCのCDM1がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
【0128】図25,図26に障害発生時の、SM高信
頼化領域210に対する書き込み処理の詳細を示す。SC
IDRa29の障害発生フラグ1323あるいは障害発生フラ
グ2324がOnであり、二重化してCDM1a25あ
るいはCDM2a27へ格納する場合の、対をなすスヌープ
キャッシュに障害が発生している状況を仮定する。この
様な状況では、CDM1a25あるいはCDM2a27内の制御情報の
コピーの二重化が不可能である。そこで、書き込み発生
時に必ずSM19への書き戻しを行うことで信頼性を保
つ。
頼化領域210に対する書き込み処理の詳細を示す。SC
IDRa29の障害発生フラグ1323あるいは障害発生フラ
グ2324がOnであり、二重化してCDM1a25あ
るいはCDM2a27へ格納する場合の、対をなすスヌープ
キャッシュに障害が発生している状況を仮定する。この
様な状況では、CDM1a25あるいはCDM2a27内の制御情報の
コピーの二重化が不可能である。そこで、書き込み発生
時に必ずSM19への書き戻しを行うことで信頼性を保
つ。
【0129】高信頼化領域,書き込み,ヒットの場合、
CBS18取得後、図25のサブルーチンSubc′1412の
処理を行った後、CBS18を解放する。CDM1a25に対
する書き込みか、CDM2a27 に対する書き込みか142に
よって処理が異なる。CDM1a25に対する書き込みの場
合、処理ステップ143のサブルーチンSublへ進
む。処理ステップ144において、サブルーチンSub
mの処理を行う。処理ステップ145においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ146においてCTM1a24 のオーナーフ
ラグをOffにし、処理を終了する。
CBS18取得後、図25のサブルーチンSubc′1412の
処理を行った後、CBS18を解放する。CDM1a25に対
する書き込みか、CDM2a27 に対する書き込みか142に
よって処理が異なる。CDM1a25に対する書き込みの場
合、処理ステップ143のサブルーチンSublへ進
む。処理ステップ144において、サブルーチンSub
mの処理を行う。処理ステップ145においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ146においてCTM1a24 のオーナーフ
ラグをOffにし、処理を終了する。
【0130】CDM2a27 に対する書き込みの場合、処理ス
テップ147のサブルーチンSubkへ進む。処理ステップ
148において、サブルーチンSubmの処理を行う。
処理ステップ149においてCDM2a27のキャッシ
ュデータブロックを新しい内容に書き換える。処理ステ
ップ1410においてCTM2a26 のオーナーフラグをOf
fにし、処理を終了する。
テップ147のサブルーチンSubkへ進む。処理ステップ
148において、サブルーチンSubmの処理を行う。
処理ステップ149においてCDM2a27のキャッシ
ュデータブロックを新しい内容に書き換える。処理ステ
ップ1410においてCTM2a26 のオーナーフラグをOf
fにし、処理を終了する。
【0131】高信頼化領域,書き込み,ミスの場合、C
BS18取得後、図26のサブルーチンSubd′の処理を
行った後、CBS18を解放する。
BS18取得後、図26のサブルーチンSubd′の処理を
行った後、CBS18を解放する。
【0132】処理ステップ1414,1415,141
6,1417は処理ステップ55,56,57,58に
同じなので説明を省略する。処理ステップ1418にお
いてサブルーチンSublの処理を行う。処理ステップ
1419においてサブルーチンSubmの処理を行う。
処理ステップ1421においてCDM1a25 のキャッシュデ
ータブロックを新しい内容に書き換える。処理ステップ
1422においてCTM1a24 の有効フラグをOnにする。
処理ステップ1423においてCTM1a24 の共有フラグを
Onにする。処理ステップ1424においてCTM1a24 の
オーナーフラグをOffにする。処理ステップ1425
においてCTM1a24 のアドレスタグを新しい内容に書き換
え、処理を終了する。
6,1417は処理ステップ55,56,57,58に
同じなので説明を省略する。処理ステップ1418にお
いてサブルーチンSublの処理を行う。処理ステップ
1419においてサブルーチンSubmの処理を行う。
処理ステップ1421においてCDM1a25 のキャッシュデ
ータブロックを新しい内容に書き換える。処理ステップ
1422においてCTM1a24 の有効フラグをOnにする。
処理ステップ1423においてCTM1a24 の共有フラグを
Onにする。処理ステップ1424においてCTM1a24 の
オーナーフラグをOffにする。処理ステップ1425
においてCTM1a24 のアドレスタグを新しい内容に書き換
え、処理を終了する。
【0133】図27,図28に障害発生時の、SM19
への書き戻し処理の詳細を示す。
への書き戻し処理の詳細を示す。
【0134】図27のMain1519はCDM1a25内の制御情報
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ1323がOnであり、二重化してCDM1a25 へ格
納する場合の、対をなすスヌープキャッシュに障害が発
生している状況を仮定する。この様な状況では、CDM1a2
5 内の制御情報のコピーの二重化が不可能である。そこ
で、CDM1a25内にしか存在しない最新のCTM1a24のオーナ
ーフラグ33がOnの制御情報をSM19に書き戻すこ
とで信頼性を保つ。
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ1323がOnであり、二重化してCDM1a25 へ格
納する場合の、対をなすスヌープキャッシュに障害が発
生している状況を仮定する。この様な状況では、CDM1a2
5 内の制御情報のコピーの二重化が不可能である。そこ
で、CDM1a25内にしか存在しない最新のCTM1a24のオーナ
ーフラグ33がOnの制御情報をSM19に書き戻すこ
とで信頼性を保つ。
【0135】処理ステップ152において、CTM1a24の
全てのオーナーフラグがOnかOffかを調べる。全てO
ffなら処理を終了し、Onがあるなら処理ステップ1
53へ進む。処理ステップ153において、制御用共通
バスCBS18が空くまで待つ。処理ステップ154に
おいて、CBS18を取得する。処理ステップ155に
おいてサブルーチンSubmの処理を行う。処理ステップ1
56においてCTM1a24のオーナーフラグをOffにす
る。処理ステップ157において、CBS18を解放
し、再び処理ステップ152へ進む。
全てのオーナーフラグがOnかOffかを調べる。全てO
ffなら処理を終了し、Onがあるなら処理ステップ1
53へ進む。処理ステップ153において、制御用共通
バスCBS18が空くまで待つ。処理ステップ154に
おいて、CBS18を取得する。処理ステップ155に
おいてサブルーチンSubmの処理を行う。処理ステップ1
56においてCTM1a24のオーナーフラグをOffにす
る。処理ステップ157において、CBS18を解放
し、再び処理ステップ152へ進む。
【0136】図28のMain1530はCDM2a27内の制御情報
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ324がOnであり、二重化してCDM2a27 へ格納
する場合の、対をなすスヌープキャッシュに障害が発生
している状況を仮定する。この様な状況では、CDM2a27
内の制御情報のコピーの二重化が不可能である。そこ
で、CDM2a27 内にしか存在しない最新のCTM2a26のオ
ーナーフラグ38がOnの制御情報をSM192に書き
戻すことで信頼性を保つ。
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ324がOnであり、二重化してCDM2a27 へ格納
する場合の、対をなすスヌープキャッシュに障害が発生
している状況を仮定する。この様な状況では、CDM2a27
内の制御情報のコピーの二重化が不可能である。そこ
で、CDM2a27 内にしか存在しない最新のCTM2a26のオ
ーナーフラグ38がOnの制御情報をSM192に書き
戻すことで信頼性を保つ。
【0137】処理ステップ1512において、CTM2a26
の全てのオーナーフラグがOnかOffかを調べる。全
てOffなら処理を終了し、Onがあるなら処理ステッ
プ1513へ進む。処理ステップ1513において、制
御用共通バスCBS18が空くまで待つ。処理ステップ
1514において、CBS18を取得する。処理ステッ
プ1515においてサブルーチンSub13の処理を行
う。処理ステップ1516においてCTM2a26 のオーナー
フラグをOffにする。処理ステップ1517において、C
BS18を解放し、再び処理ステップ1512へ進む。
の全てのオーナーフラグがOnかOffかを調べる。全
てOffなら処理を終了し、Onがあるなら処理ステッ
プ1513へ進む。処理ステップ1513において、制
御用共通バスCBS18が空くまで待つ。処理ステップ
1514において、CBS18を取得する。処理ステッ
プ1515においてサブルーチンSub13の処理を行
う。処理ステップ1516においてCTM2a26 のオーナー
フラグをOffにする。処理ステップ1517において、C
BS18を解放し、再び処理ステップ1512へ進む。
【0138】本実施例では、データに要求される信頼性
の度合いによって、無効化型と更新型の一致制御方式を
切り替える。そして更新型の一致制御において、必ず二
箇所以上のローカルキャッシュメモリ上に同一データを
置く。
の度合いによって、無効化型と更新型の一致制御方式を
切り替える。そして更新型の一致制御において、必ず二
箇所以上のローカルキャッシュメモリ上に同一データを
置く。
【0139】一方、ローカルキャッシュメモリ上に存在
する全ての制御情報に対して、更新型の一致制御を用い
た場合でも、本実施例と同様の方法で、必ず二箇所以上
のローカルキャッシュメモリ上に同一データを置くこと
が可能である。
する全ての制御情報に対して、更新型の一致制御を用い
た場合でも、本実施例と同様の方法で、必ず二箇所以上
のローカルキャッシュメモリ上に同一データを置くこと
が可能である。
【0140】
【発明の効果】以上説明した様に、本発明によれば、ス
ヌープキャッシュを用いた共有バス型並列プロセッサシ
ステムにおいて、スヌープキャッシュに格納されるデー
タの信頼性を高め、スヌープキャッシュの故障・停電発
生時のデータ消失の可能性を大幅に低下できる。
ヌープキャッシュを用いた共有バス型並列プロセッサシ
ステムにおいて、スヌープキャッシュに格納されるデー
タの信頼性を高め、スヌープキャッシュの故障・停電発
生時のデータ消失の可能性を大幅に低下できる。
【図1】本発明の一実施例のスヌープキャッシュを用い
たデータ処理装置の制御系示すブロック図。
たデータ処理装置の制御系示すブロック図。
【図2】本発明の一実施例のスヌープキャッシュを用い
たデータ処理装置の構成を示すブロック図。
たデータ処理装置の構成を示すブロック図。
【図3】本発明の一実施例のキャッシュタグメモリとキ
ャッシュデータメモリの説明図。
ャッシュデータメモリの説明図。
【図4】本発明の一実施例のスヌープキャッシュIDレ
ジスタの説明図。
ジスタの説明図。
【図5】本発明の一実施例のメインルーチンを示すフロ
ーチャート。
ーチャート。
【図6】本発明の一実施例のサブルーチンを示すフロー
チャート。
チャート。
【図7】本発明の一実施例のサブルーチンを示すフロー
チャート。
チャート。
【図8】本発明の一実施例のサブルーチンを示すフロー
チャート。
チャート。
【図9】本発明の一実施例のサブルーチンを示すフロー
チャート。
チャート。
【図10】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図11】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図12】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図13】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図14】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図15】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図16】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図17】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図18】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図19】本発明の一実施例のメインルーチンを示すフ
ローチャート。
ローチャート。
【図20】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図21】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図22】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図23】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図24】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図25】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図26】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
ーチャート。
【図27】本発明の一実施例のメインルーチンを示すフ
ローチャート。
ローチャート。
【図28】本発明の一実施例のメインルーチンを示すフ
ローチャート。
ローチャート。
【図29】従来のデータ処理装置の構成を示すブロック
図。
図。
【図30】本発明の一実施例のデータ処理装置の動作の
特徴を示す説明図。
特徴を示す説明図。
18…制御用共通バス、19…共有メモリ、21…スヌ
ープキャッシュa、22…マイクロプロセッサa、23
…スヌープキャッシュ制御回路a、24…キャッシュタ
グメモリ1a、25…キャッシュデータメモリ1a、2
6…キャッシュタグメモリ2a、27…キャッシュデー
タメモリ2a、28…アドレスチェッカーa、29…ス
ヌープキャッシュIDレジスタa、116…共有メモリ
制御回路、210…共有メモリ高信頼化領域、211…
スヌープキャッシュb、212…マイクロプロセッサ
b、213…スヌープキャッシュ制御回路b、214…
キャッシュタグメモリ1b、215…キャッシュデータ
メモリ1b、216…キャッシュタグメモリ2b、21
7…キャッシュデータメモリ2b、218…アドレスチ
ェッカーb、219…スヌープキャッシュIDレジスタ
b、220…共有メモリ通常領域。
ープキャッシュa、22…マイクロプロセッサa、23
…スヌープキャッシュ制御回路a、24…キャッシュタ
グメモリ1a、25…キャッシュデータメモリ1a、2
6…キャッシュタグメモリ2a、27…キャッシュデー
タメモリ2a、28…アドレスチェッカーa、29…ス
ヌープキャッシュIDレジスタa、116…共有メモリ
制御回路、210…共有メモリ高信頼化領域、211…
スヌープキャッシュb、212…マイクロプロセッサ
b、213…スヌープキャッシュ制御回路b、214…
キャッシュタグメモリ1b、215…キャッシュデータ
メモリ1b、216…キャッシュタグメモリ2b、21
7…キャッシュデータメモリ2b、218…アドレスチ
ェッカーb、219…スヌープキャッシュIDレジスタ
b、220…共有メモリ通常領域。
Claims (7)
- 【請求項1】複数のプロセッサが、各々のローカルキャ
ッシュメモリと、ローカルキャッシュメモリ毎に設けら
れたキャッシュ制御装置を介して、共有バス及び共有メ
モリに接続され、各々のローカルキャッシュメモリには
共有メモリに格納されたデータの一部あるいは全体が格
納され、キャッシュ制御装置が共有バスに送出される信
号を常に監視し、監視結果及びキャッシュ制御装置に接
続するプロセッサからの要求に基づき、複数のローカル
キャッシュメモリ間で共有されるデータの内容が変更さ
れた場合、共有されるデータの内容の一致制御を行う共
有バス及び共有メモリを備えたデータ処理装置におい
て、前記共有メモリ領域をアドレスによって高信頼化領
域と通常領域とに分割し、前記ローカルキャッシュメモ
リ毎に設けられた前記キャッシュ制御装置において、前
記プロセッサから読み書き要求のあったデータが、前記
高信頼化領域に属するか前記通常領域に属するかを、前
記アドレスから判定する手段と、前記判定手段により、
前記共有メモリの前記高信頼化領域に属するデータへの
書き込みと判定された場合、全ての同じ共有されるデー
タも同じく変更する一致制御の手段と、前記判定手段に
より、前記共有メモリの前記通常領域に属するデータへ
の書き込みと判定された場合、全ての同じ共有されるデ
ータを無効にする一致制御の手段とを設けたことを特徴
とするデータ処理装置。 - 【請求項2】請求項1記載のデータ処理装置において、
前記ローカルキャッシュメモリ毎に固有な識別番号を定
め、ローカルキャッシュメモリAのキャッシュ制御装置
Aより、前記共有メモリのアドレス,前記ローカルキャ
ッシュメモリAに接続しているプロセッサAによって変
更された前記共有メモリのデータ,前記共有メモリに対
する命令,前記キャッシュ制御装置A以外のキャッシュ
制御装置に対する命令,前記ローカルキャッシュメモリ
Aと異なるローカルキャッシュメモリBの識別番号n,
前記ローカルキャッシュメモリAの識別番号mの内の一
部あるいは全てを前記共有バスに送出する手段と、前記
ローカルキャッシュメモリBのキャッシュ制御装置B
が、前記キャッシュ制御装置Aより前記共有バスに送出
された前記共有メモリのアドレス,前記ローカルキャッ
シュメモリAに接続しているプロセッサAによって変更
された前記共有メモリのデータ,前記共有メモリに対す
る命令,前記キャッシュ制御装置A以外のキャッシュ制
御装置に対する命令,前記ローカルキャッシュメモリA
と異なるローカルキャッシュメモリBの識別番号n,前
記ローカルキャッシュメモリAの識別番号mの内の一部
あるいは全てを確認する手段と、前記確認の結果、前記
キャッシュ制御装置Bが、前記ローカルキャッシュメモ
リBに対し、前記ローカルキャッシュメモリAと等しい
内容のデータの格納あるいは前記ローカルキャッシュメ
モリAの内容に対する変更と同様の変更あるいはデータ
の無効化を行う手段を設けることを特徴とするデータ処
理装置。 - 【請求項3】複数のプロセッサが、各々のローカルキャ
ッシュメモリと、ローカルキャッシュメモリ毎に設けら
れたキャッシュ制御装置を介して、共有バス及び共有メ
モリに接続され、各々のローカルキャッシュメモリには
共有メモリに格納されたデータの一部あるいは全体が格
納され、キャッシュ制御装置が共有バスに送出される信
号を常に監視し、監視結果及びキャッシュ制御装置に接
続するプロセッサからの要求に基づき、複数のローカル
キャッシュメモリ間で共有されるデータの内容が変更さ
れた場合、共有されるデータの内容の一致制御を行う共
有バス及び共有メモリを備えたデータ処理装置におい
て、前記ローカルキャッシュメモリのデータへ書き込み
が発生した場合、全ての同じ共有されるデータも同じく
変更する一致制御の手段と、前記ローカルキャッシュメ
モリ毎に固有な識別番号を定め、ローカルキャッシュメ
モリAのキャッシュ制御装置Aより、前記共有メモリの
アドレス、前記ローカルキャッシュメモリAに接続して
いるプロセッサAによって変更された前記共有メモリの
データ,前記共有メモリに対する命令,前記キャッシュ
制御装置A以外のキャッシュ制御装置に対する命令,前
記ローカルキャッシュメモリAと異なるローカルキャッ
シュメモリBの識別番号n,前記ローカルキャッシュメ
モリAの識別番号mの内の一部あるいは全てを前記共有
バスに送出する手段と、前記ローカルキャッシュメモリ
Bのキャッシュ制御装置Bが、前記キャッシュ制御装置
Aより前記共有バスに送出された、前記共有メモリのア
ドレス,前記ローカルキャッシュメモリAに接続してい
るプロセッサAによって変更された前記共有メモリのデ
ータ,前記共有メモリに対する命令,前記キャッシュ制
御装置A以外のキャッシュ制御装置に対する命令,前記
ローカルキャッシュメモリAと異なるローカルキャッシ
ュメモリBの識別番号n,前記ローカルキャッシュメモ
リAの識別番号mの内の一部あるいは全てを確認する手
段と、前記確認の結果、前記キャッシュ制御装置Bが、
前記ローカルキャッシュメモリBに対し、前記ローカル
キャッシュメモリAと等しい内容のデータの格納あるい
は前記ローカルキャッシュメモリAの内容に対する変更
と同様の変更を行う手段を設けることを特徴とするデー
タ処理装置。 - 【請求項4】請求項2または3記載のデータ処理装置に
おいて、前記ローカルキャッシュメモリを、メモリ1と
メモリ2に分割し、前記ローカルキャッシュメモリAに
属するメモリ1の対として、前記ローカルキャッシュメ
モリAとは異なる前記ローカルキャッシュメモリBに属
するメモリ2を定め、前記共有メモリのデータの書き込
み時に、前記ローカルキャッシュメモリAの前記メモリ
1と、対となる前記ローカルキャッシュメモリBの前記
メモリ2の両方に格納する手段を設けることを特徴とす
るデータ処理装置。 - 【請求項5】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリAと、
前記ローカルキャッシュメモリBの対の内の一方に障害
が発生し、データの格納が不可能となり、かつ残された
一方の前記ローカルキャッシュメモリに格納された前記
共有メモリのデータに対して、他のマイクロプロセッサ
より読み出し要求が発生した場合、残された一方の前記
ローカルキャッシュメモリの前記キャッシュ制御装置よ
り、前記データを前記共有バスに送出する手段を設ける
ことを特徴とするデータ処理装置。 - 【請求項6】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリAと、
前記ローカルキャッシュメモリBの対の内の一方に障害
が発生し、データの格納が不可能となり、かつ残された
一方の前記ローカルキャッシュメモリに格納された、前
記共有メモリのデータに変更が発生した場合、前記ロー
カルキャッシュメモリの前記キャッシュ制御装置より、
前記共有メモリへの書き戻し命令、及び変更内容を前記
共有バスに送出する手段を設けることにより、前記変更
内容を前記共有メモリへ書き戻すことを特徴とするデー
タ処理装置。 - 【請求項7】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリのデー
タ毎に、前記データが前記共有メモリの内容より新しい
か否かを示すオーナーフラグを設けることと、前記ロー
カルキャッシュメモリAの前記メモリ1と、前記ローカ
ルキャッシュメモリBの前記メモリ2の対の内の一方に
障害が発生し、データの格納が不可能となった場合、残
された一方の前記ローカルキャッシュメモリの前記キャ
ッシュ制御装置が、前記オーナーフラグをチェックし、
前記ローカルキャッシュメモリに格納された、前記共有
メモリのデータの内、前記共有メモリの内容より新しい
内容を持つデータを見つけ出す手段と、残された一方の
前記ローカルキャッシュメモリの前記キャッシュ制御装
置が、前記ローカルキャッシュメモリに格納された、前
記共有メモリのデータの内、前記共有メモリの内容より
新しい内容を持つ全てのデータを、前記ローカルキャッ
シュメモリの前記キャッシュ制御装置より、前記共有メ
モリへの書き戻し命令、及び変更内容を前記共有バスに
送出する手段を設けることにより、前記共有バスの空き
時間を利用して、前記共有メモリへ書き戻す手段を設け
ることを特徴とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6232771A JPH0895862A (ja) | 1994-09-28 | 1994-09-28 | スヌープキャッシュを用いたデータ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6232771A JPH0895862A (ja) | 1994-09-28 | 1994-09-28 | スヌープキャッシュを用いたデータ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0895862A true JPH0895862A (ja) | 1996-04-12 |
Family
ID=16944489
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6232771A Pending JPH0895862A (ja) | 1994-09-28 | 1994-09-28 | スヌープキャッシュを用いたデータ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0895862A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6484242B2 (en) | 2000-07-14 | 2002-11-19 | Hitachi, Ltd. | Cache access control system |
-
1994
- 1994-09-28 JP JP6232771A patent/JPH0895862A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6484242B2 (en) | 2000-07-14 | 2002-11-19 | Hitachi, Ltd. | Cache access control system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3888769B2 (ja) | データ供給方法及びコンピュータ・システム | |
| JP4050225B2 (ja) | マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置 | |
| US6990559B2 (en) | Mechanism for resolving ambiguous invalidates in a computer system | |
| US5652859A (en) | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues | |
| US6438659B1 (en) | Directory based cache coherency system supporting multiple instruction processor and input/output caches | |
| KR100293136B1 (ko) | Smp버스의최근판독상태에서의캐시라인들의공유개입방법 | |
| JP4050226B2 (ja) | マルチプロセッサシステムにおける推測的な格納を容易にするl2ディレクトリの利用 | |
| US6148416A (en) | Memory update history storing apparatus and method for restoring contents of memory | |
| EP1131715B1 (en) | Distributed transactional processing system and method | |
| CN101178692B (zh) | 用于提供事务处理存储器的高速缓冲存储器系统和方法 | |
| US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
| JPH04268649A (ja) | メモリへのデータブロックのエントリを制御する方法 | |
| JPH037978B2 (ja) | ||
| KR19980079662A (ko) | Smp 버스의 공유 상태에서의 캐시 라인들의 공유 개입 방법 | |
| US20090327600A1 (en) | Optimized cache coherency in a dual-controller storage array | |
| WO2024124977A1 (zh) | 缓存状态记录方法、数据访问方法及相关装置、设备 | |
| JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
| US6895476B2 (en) | Retry-based late race resolution mechanism for a computer system | |
| JPH0895862A (ja) | スヌープキャッシュを用いたデータ処理装置 | |
| JP3083786B2 (ja) | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 | |
| JP2707958B2 (ja) | キャッシュ一致処理制御装置 | |
| JPH07295883A (ja) | 情報処理装置 | |
| US8131939B2 (en) | Distributed shared I/O cache subsystem | |
| JP3833760B2 (ja) | 計算機システム及びメモリ状態復元装置 | |
| JP3566746B2 (ja) | 情報処理装置 |