(57)【要約】【課題】　キャッシュメモリを備えた情報処理装置において、メモリ容量を小さくしハード量を削減すること。【解決手段】　チャネル６からのコマンドによりリードモディファイライトを行う際、チャネル６からシステム制御装置７に対するコマンドはリードコマンドとライトコマンドの２回に分割して発行される情報処理装置において、システム制御装置７に、チャネル６からのコマンドを変換する変換回路７ｂを設ける。そして、チャネル６からのコマンドによりリードモディファイライト動作を行う際、変換回路７ｂにより、チャネル６からのリードコマンドをタグ部７ａ参照時にはライトインバリデートコマンドに変換し、タグ部７ａおよびプロセッサ１のキャッシュメモリの該当するブロックを無効化する。これによりチャネル用のタグ部が不用となる。【選択図】　　　　　図１
2004086920.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、主記憶装置と、システム制御装置、チャネルを備え、該プロセッサはキャッシュメモリを具備し、上記システム制御装置は、該プロセッサのキャッシュのタグのコピーを保持するタグ部を有し、
　上記プロセッサ、チャネルからのコマンド、アドレス信号が上記システム制御装置に入力され、
　上記システム制御装置は、上記プロセッサ、チャネルからのメモリアクセスコマンドを受けたとき、上記タグ部を参照して上記プロセッサ、チャネル、主記憶装置に対してデータの転送指示を行うとともに、データの移動による上記タグ部の更新を行い、
　上記チャネルからのコマンドによりリードモディファイライトを行う際、該チャネルから上記システム制御装置に対するコマンドはリードコマンドとライトコマンドの２回に分割して発行される情報処理装置において、
　上記システム制御装置に、上記チャネルからのコマンドを変換する変換回路を設け、
　チャネルからのコマンドによりリードモディファイライト動作を行う際、上記変換回路により、チャネルからのリードコマンドを上記タグ部参照時にはライトインバリデートコマンドに変換し、上記タグ部およびプロセッサのキャッシュメモリの該当するブロックを無効化する
ことを特徴とするキャッシュを備えた情報処理装置。
【請求項２】
チャネルからのコマンドによりリードモディファイライト動作を行う際、上記変換回路により、チャネルからのライトコマンドをノーオペレーション動作に変換する
ことを特徴とする請求項１のキャッシュを備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明はキャッシュメモリを備えた情報処理装置に関する。
【背景技術】
【０００２】
　従来から、キャッシュメモリを備えた情報処理装置が知られている（例えば特許文献１、特許文献２等参照）。
　図１５はキャッシュメモリを備えた情報処理装置の構成を示す図である。同図において、１０は主記憶装置であり、主記憶装置１０には共通バスを介して複数の処理装置１１−１〜１１−ｎが接続されており、主記憶装置は複数の処理装置１１−１〜１１−ｎにより共用される。処理装置１１−１〜１１−ｎはそれぞれ、主記憶制御装置１１ａ、キャッシュメモリ１１ｃ、プロセッサ１１ｂから構成される。
【０００３】
　以下、図１５に示したキャッシュメモリを備えた情報処理装置における従来技術について説明する。
（１）図１６は従来のキャッシュメモリ（以下キャッシュという）の構成を示す図である。
　同図において、２１はプロセッサ、２２は主記憶装置のアドレス情報を保持するタグ部（以下ＴＡＧという）であり、ＴＡＧ２２はタグデータの有効／無効を示すフラグを格納するフラグ部２２ａを備えている。
　また、２３はバッファメモリ、２４はヒット判定回路、２５はタグライト制御部である。
【０００４】
　メモリへのリード・アクセス時、プロセッサ２１がアドレス情報を送出すると下位アドレスによりＴＡＧ２２、バッファメモリ２３がアクセスされるとともに、上位アドレスとＴＡＧ２２の上位アドレスがヒット判定回路２４で比較される。比較結果が一致し有効／無効フラグが有効であると、有効なデータがキャッシュに存在するので、プロセッサ２１が送出する下位アドレスのデータがバッファメモリ２３から読み出され、プロセッサに送出される。また、比較結果が不一致であるか、有効／無効フラグが無効の場合には、図１５に示した主記憶装置１０がアクセスされ、リードデータがキャッシュ１１ｃに入力され、また、所望のデータがプロセッサ２１に送出される。
【０００５】
　上記のように、通常、キャッシュのＴＡＧには、有効／無効フラグを保持する領域が設けられており、キャッシュと主記憶が不一致になると、当該アドレスの有効／無効フラグを無効化していた。
　このため、従来のキャッシュにおいては、ＴＡＧデータの有効無効情報を保持する領域を設ける必要があり、その分記憶容量が増加した。
【０００６】
（２）前記図１５に示すキャッシュを持つ複数の処理装置が存在するシステムにおいては、通常、キャッシュの状態を処理装置が認識できるようにするため、各キャッシュ毎にこれらの状態を保持する領域が設けられる。
　例えば、Ｍ（モディファイ）、Ｏ（オナー）、Ｓ（シェア）、Ｉ（インバリッド）の４状態を認識するには、図１７（ａ）に示すように各キャッシュにＭＳビットとＳＳビットの２ビットを保持する領域を設ける必要があり、また、Ｍ、Ｏ、Ｅ（イクスクルーシブ）、Ｓ、Ｉの５状態を識別するには、図１７（ｂ）に示すようにＶＳ、ＭＳ、ＳＳの３ビットを保持する領域を必要とする。
　以上のように、従来のキャッシュにおいては、処理装置のキャッシュの状態を認識するためのフラグを保持する領域を設ける必要があり、その分記憶容量が増加した。
【０００７】
（３）キャッシュを持つプロセッサ３１とチャネル３２を備えた情報処理装置においては、図１８に示すようにプロセッサ３１、チャネル３２と主記憶装置３４の間にシステム制御装置３３が設けられ、システム制御装置３３内にプロセッサのキャッシュのＴＡＧのコピーを保持するＤＴＡＧ３３１と、チャネルが保持する情報のアドレスを保持するチャネル用ＤＴＡＧ３３２が設けられる。
　図１８において、３１はプロセッサ、３２はチャネルであり、プロセッサ３１はキャッシュを有し、チャネル３２はキャッシュを持たない。
【０００８】
　図１９は上記システム制御装置３３（以下ＳＣ３３という）の構成を示す図であり、ＳＣ３３はアドレス受信部３３ａと受信タイミング制御部３３ｂとコマンド受信部３３ｃとＤＴＡＧ制御部３３ｄと、主記憶装置３４との間でデータ転送を行うデータ転送指示制御部３３ｅから構成される。
　ＤＴＡＧ制御部３３ｄは、プロセッサのキャッシュのＴＡＧのコピーを保持するＤＴＡＧ３３１と、チャネルが保持する情報のアドレスを保持するチャネル用ＤＴＡＧ３３２と、ヒット判定を行うヒット判定回路３３３，３３４とＤＴＡＧ更新部３３５から構成される。
【０００９】
　同図において、ＳＣ３３がプロセッサ３１もしくはチャネル３２からメモリアクセスコマンドを受信すると、ＤＴＡＧ３３１、チャネル用ＤＴＡＧ３３２を参照して、その内容に応じてプロセッサ、主記憶装置にデータ転送を指示する。
　例えば、チャネル３２から専有しないリード・コマンド（通常のリードコマンド）が発生すると、ＤＴＡＧ３３２、チャネル用ＤＴＡＧ３３１を参照し、プロセッサ３１のキャッシュ、チャネル３２がリードデータを持っていなければ、主記憶装置３４に対してデータ転送指示を行う。また、プロセッサ３１のキャッシュがダーティ状態（メモリを書き換えた状態）で持っていれば、プロセッサ３１に対してデータ転送指示を行う。そして、データ転送後の状態にＤＴＡＧ３３１を更新する。
【００１０】
　また、ＳＣ３３が、チャネル３２からライトバックコマンドとペアで使用される専有するリードコマンドを受信すると、ＤＴＡＧ３３１、チャネル用ＤＴＡＧ３３２参照し、プロセッサ３１のキャッシュがリードデータを持っていなければ、主記憶装置３４に対してデータ転送指示を行い、また、プロセッサ３１のキャッシュがダーティ状態で持っていれば、プロセッサに対してデータ転送指示を行い、プロセッサのキャッシュを無効化する。また、チャネル用ＤＴＡＧにチャネルが保持するリードデータのアドレスを格納する。ついで、ライトバック時、ライトバックデータを主記憶装置３４に書き込み、チャネル用ＤＴＡＧを無効化する。
【００１１】
　また、上記専有するリード後であってライトバック前に、プロセッサ３１からのリードコマンドを受信すると、ＤＴＡＧ３３１、チャネル用ＤＴＡＧ３３２を参照する。そして、チャネル用ＤＴＡＧ３３２がヒットするとチャネル３２からプロセッサ３１への転送を指示する。
　以上のように従来のＳＣ３３においては、プロセッサのキャッシュのタグのコピーを保持するＤＴＡＧ３３１と、チャネル３２が保持するデータのアドレスを格納するチャネル用ＤＴＡＧ３３２を必要とした。
【００１２】
【特許文献１】特開平０３−２０２９３９号公報
【特許文献２】特開平０５−３４２１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
　以上のように、従来のキャッシュメモリを備えた情報処理装置においては、次のような問題があった。
（１）キャッシュにタグデータの有効／無効を示すフラグを保持する領域や、処理装置のキャッシュの状態を識別するための領域を設ける必要があり、その分、メモリを余分に必要とした。
（２）キャッシュを持たないチャネル用にもシステム制御装置にＤＴＡＧを設ける必要があった。このため、メモリを余分に必要とした。
　本発明は上記事情に鑑みなされたものであって、比較的少ないハード量の追加で、記憶容量を小さくし、ハード量を削減することができるキャッシュを備えた情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
　図１は本発明の原理構成図である。
　本発明の請求項１の発明は、図１に示すように、プロセッサ１と、主記憶装置４と、システム制御装置７と、チャネル６を備え、プロセッサ１はキャッシュメモリを具備し、上記システム制御装置７は、プロセッサ１のキャッシュのタグのコピーを保持するタグ部７ａを有し、プロセッサ１、チャネル６からのコマンド、アドレス信号が上記システム制御装置７に入力され、システム制御装置７は、プロセッサ１、チャネル６からのメモリアクセスコマンドを受けたとき、上記タグ部７ａを参照して上記プロセッサ１、チャネル６、主記憶装置４に対してデータの転送指示を行うとともに、データの移動による上記タグ部７ａの更新を行い、チャネル６からのコマンドによりリードモディファイライトを行う際、チャネル６からシステム制御装置７に対するコマンドはリードコマンドとライトコマンドの２回に分割して発行される情報処理装置において、システム制御装置７に、上記チャネルからのコマンドを変換する変換回路７ｂを設ける。そして、チャネル６からのコマンドによりリードモディファイライト動作を行う際、変換回路７ｂにより、チャネル６からのリードコマンドを上記タグ部７ａ参照時にはライトインバリデートコマンドに変換し、上記タグ部７ａおよびプロセッサ１のキャッシュメモリの該当するブロックを無効化する。
【００１５】
　本発明の請求項２の発明は、請求項１の発明において、チャネル６からのコマンドによりリードモディファイライト動作を行う際、上記変換回路７ｂにより、チャネル６からのライトコマンドをノーオペレーション動作に変換する。
　本発明の請求項１，２の発明においては、上記のように構成したのでシステム制御装置７にチャネル用のタグ部を設けることなく、タグ制御を行うことができる。このため、チャネル用のタグ部が不用となり、ハード量を減少させることができる。
【発明の効果】
【００１６】
　本発明においては、キャッシュメモリを具備するプロセッサと、主記憶装置と、プロセッサのキャッシュのタグのコピーを保持するタグ部を有するシステム制御装置を備え、リードモディファイライトを行う際、チャネルからシステム制御装置に対するコマンドはリードコマンドとライトコマンドの２回に分割して発行される情報処理装置において、システム制御装置に、上記チャネルからのコマンドを変換する変換回路を設け、該変換回路により、チャネルからの上記リードコマンドを上記タグ部参照時にはライトインバリデートコマンドに変換し、また、上記ライトコマンドをノーオペレーション動作に変換するようにしたので、システム制御装置にチャネル用のタグ部を設けることなくタグ制御を行うことができる。このため、チャネル用のタグ部が不用となり、ハード量を減少させることができる。
【発明を実施するための最良の形態】
【００１７】
　図２はＴＡＧデータの有効／無効を示すビットを不要にした構成例を示す図である。
　図２において、前記図１６に示したものと同一のものには同一の符号が付されており、本構成例においては、図１６に示した有効／無効フラグを保持するフラグ部２２ａが設けられておらず、タグライト制御部２５により切り換えられるセレクタ２６が設けられている。そして、セレクタ２６の一方の入力にはアドレスａ１１’１’（上位アドレス）が与えられ、他方の入力にプロセッサが出力する上位アドレスが与えられている。
　ここで、上記アドレスａ１１’１’のメモリ空間は図３のメモリマップに示すように未使用とされ、ソフトからのアクセスを禁止している。
【００１８】
　同図において、メモリへのリード・アクセス時、プロセッサ２１がアドレス情報を送出すると、下位アドレスによりＴＡＧ２２、バッファメモリ２３がアクセスされ、また、上位アドレスとＴＡＧ２２の上位アドレスがヒット判定回路２４で比較される。比較結果が一致すると、プロセッサ２１が送出する下位アドレスのデータがバッファメモリ２３から読み出され、プロセッサに送出される。
　また、比較結果が不一致であると、前記図１５に示した主記憶装置１０がアクセスされ、リードデータがキャッシュメモリに入力され、所望のデータがプロセッサに送出される。また、ＴＡＧ２２の更新時には、タグライト制御部２５により、プロセッサからの上位アドレスがＴＡＧ２２に書き込まれる。
　ここで、ＴＡＧ２２を無効化する場合には、タグライト制御部２５はセレクタ２６を切り換え、ＴＡＧ２２を未使用のアドレスａ１１’１’（上位アドレス）に更新する。
【００１９】
　そして、プロセッサ２１からのＴＡＧ２２の参照時、ＴＡＧ２２から上記アドレスａ１１’１’が読み出された場合、ソフトのアクセス制限によりプロセッサから送出される上位アドレスが上記アドレスａ１１’１’であることはないので、この場合には必ずミスヒットとなる。
　すなわち、ＴＡＧ２２の無効化更新時、未使用の上位アドレスをＴＡＧ２２に書き込むようにしており、これによりタグデータの有効／無効を示すフラグを設けることなく、ＴＡＧ制御を行うことができる。
　なお、ＴＡＧ２２を無効化する際、ＴＡＧ２２の更新アドレスをアドレスａ１１’１’としたが、このアドレスはソフトの取決めにより適宜選択することができ、上記アドレスに限定されない。
【００２０】
　図４は上記第１の構成において、ＴＡＧ２２を無効する際にＴＡＧ２２に書き込むアドレスをプロセッサ２１により設定できるようにしたものである。
　同図において、図２に示したものと同一のものには同一の符号が付されており、本構成例においては、プロセッサ２１から明示的にライトすることができる無効化データレジスタ２７が設けられている。
　そして、プロセッサ２１はシステム初期化時、上記無効化データレジスタ２７に図５のメモリマップに示す未使用の上位アドレスである無効化データを書き込む。
【００２１】
　ＴＡＧ２２を無効化する場合には、前記したようにタグライト制御部２５はセレクタ２６を切り換え、ＴＡＧ２２を上記無効化データレジスタ２７に保持された未使用のアドレスに更新する。
　したがって、ＴＡＧ２２を参照し、ＴＡＧ２２から上記未使用のアドレスが読み出された場合、必ずミスヒットとなる。すなわち、図２のものと同様、タグデータの有効／無効を示すフラグを設けることなく、ＴＡＧ制御を行うことができる。
　上記のように無効化データレジスタ２７を設け、プロセッサ２１から無効化データを書き込むことができるようにすることで、プログラム毎に無効化データを設定することができ、最適なＴＡＧ制御を実現することができる。
【００２２】
　図６、図７は、キャッシュを備えた処理装置が複数存在するシステムにおいて、各キャッシュ毎に他プロセッサのキャッシュの情報を持つことなく他プロセッサのキャッシュ状態を認識できるようにした構成例を示す図である。
【００２３】
　図６は、各プロセッサ毎に他のプロセッサのキャッシュ状態を認識する構成例を示しており、図６において、４１−１〜４１−ｎはプロセッサであり、各プロセッサは、キャッシュのタグ部４２と、ヒット判定回路４３と、キャッシュ状態認識回路４４を備えている。各プロセッサにおけるヒット情報、ＭＳ（モディファイ／シェア）ビットの状態は、相互に各プロセッサ４１−１〜４１−ｎのキャッシュ状態認識回路４４に送られる。
　図７は、キャッシュの状態を集中管理する構成例を示しており、４２は各プロセッサのキャッシュのタグ部、４３はヒット判定回路、４４はキャッシュ状態認識回路であり、各ヒット情報、ＭＳビットはキャッシュ状態認識回路４４に送られ集中管理される。
【００２４】
　図８、図９は、キャッシュの状態がＭ／Ｏ／Ｓ／Ｉの４状態である場合のキャッシュ状態認識回路４４の真理値表の一例であり、同図はプロセッサが３つの場合を示している。図８、図９において、Ｍ／Ｏ／Ｓ／Ｉはそれぞれ以下を意味する。
Ｍ：Ｍｏｄｉｆｙ（ダーティデータを唯一持っている）
Ｏ：Ｏｗｎｅｒ（ダーティデータを持っておりオーナーである）
Ｓ：Ｓｈａｒｅ（有効データを持っている）
Ｉ：Ｉｎｖａｌｉｄ（キャッシュデータ無効）
＝：あり得ない状態
【００２５】
　キャッシュ状態認識回路４４は自プロセッサと他プロセッサのヒット情報およびＭＳビットに基づき、図８、図９に示す真理値表により次のようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりＭＳビットに更新データをライトする。
ヒット＝０，ＭＳ＝０：Ｉｎｖａｌｉｄ
ヒット＝０，ＭＳ＝１：Ｉｎｖａｌｉｄ
ヒット＝１，ＭＳ＝０：Ｓｈａｒｅ
ヒット＝１，ＭＳ＝１：他のヒットキャッシュ有り→Ｏｗｎｅｒ
　　　　　　　　　　　他にヒットキャッシュ無し→Ｍｏｄｉｆｙ
【００２６】
　例えば、図８の第１行に示すように、各プロセッサのヒット情報、ＭＳビットが全て”０”の場合は、各プロセッサのキャッシュの状態はＩｎｖａｌｉｄであり、また、図９の第１行に示すように、プロセッサ０のヒット情報が”１”、ＭＳビットが”０”であり、他のプロセッサのヒット情報、ＭＳビットが”０”の場合は、プロセッサ０のキャッシュはＳｈａｒｅであり、他のプロセッサのキャッシュはＩｎｖａｌｉｄである。
　なお、図８、図９では、ヒット情報＝１でＭＳ＝１のキャッシュが複数あることはないことが前提となっている。
【００２７】
　図１０、図１１は、キャッシュの状態がＭ／Ｏ／Ｅ／Ｓ／Ｉの５状態である場合のキャッシュ状態認識回路４４の真理値表の一例であり、同図はプロセッサが３つの場合を示している。図１０、図１１において、Ｍ／Ｏ／Ｅ／Ｓ／Ｉはそれぞれ以下を意味する。
Ｍ：Ｍｏｄｉｆｙ（ダーティデータを唯一持っている）
Ｏ：Ｏｗｎｅｒ（ダーティデータを持っておりオーナーである）
Ｅ：Ｅｘｃｌｕｓｉｖｅ（クリーンデータを唯一持っている）
Ｓ：Ｓｈａｒｅ（有効データを持っている）
Ｉ：Ｉｎｖａｌｉｄ（キャッシュデータ無効）
＝：あり得ない状態
【００２８】
　キャッシュ状態認識回路４４は各プロセッサのヒット情報およびＭＳビットに基づき、図１０、図１１に示す真理値表により次にようにして各プロセッサのキャッシュの状態を認識する。そして、キャッシュ状態更新時には、上記真理値表によりＭＳビットに更新データをライトする。
ヒット＝０，ＭＳ＝０：Ｉｎｖａｌｉｄ
ヒット＝０，ＭＳ＝１：Ｉｎｖａｌｉｄ
ヒット＝１，ＭＳ＝０：他のヒットキャッシュ有り→Ｓｈａｒｅ
　　　　　　　　　　　他にヒットキャッシュ無し→Ｅｘｃｌｕｓｉｖｅ
ヒット＝１，ＭＳ＝１：他のヒットキャッシュ有り→Ｏｗｎｅｒ
　　　　　　　　　　　他にヒットキャッシュ無し→Ｍｏｄｉｆｙ
【００２９】
　なお、図１０、図１１では、ヒット情報＝１でＭＳ＝１のキャッシュが複数あることはないことが前提となっている。
　以上のように、キャッシュ状態認識回路４４を設け、各プロセッサのキャッシュのヒット情報とＭＳビットからキャッシュの状態を認識することで、各プロセッサのキャッシュに他プロセッサのキャッシュの状態を認識するための情報を持つ必要がなく、その分記憶容量を少なくすることができる。
【００３０】
　図１２は本発明の実施例のシステムの構成を示す図、図１３は本発明の実施例のシステム制御装置の構成を示す図であり、本実施例は、システム制御装置にチャネル用のＤＴＡＧを設ける必要がない実施例を示している。
　図１２において、３１はキャッシュを持つプロセッサ、３２はチャネル、３３はシステム制御装置、３４は主記憶装置であり、システム制御装置３３内にプロセッサのキャッシュのＴＡＧのコピーを保持するＤＴＡＧ３３１が設けられている。
【００３１】
　図１３は、図１２のシステム制御装置（ＳＣ）３３の構成を示しており、ＳＣ３３はアドレス受信部３３ａと、コマンド受信部３３ｃと、アドレス／コマンドの受信タイミングを制御する受信タイミング制御部３３ｂと、ＤＴＡＧ制御部３３ｄと、主記憶装置３４との間でデータ転送を行うデータ転送指示制御部３３ｅから構成され、コマンド受信部３３ｃには、チャネル３２から送られるコマンドを変換するコマンド変換回路３３１ｃが設けられている（コマンドの変換については後述する）。
　ＤＴＡＧ制御部３３ｄは、プロセッサのキャッシュのタグのコピーを保持するＤＴＡＧ３３１とヒット判定を行うヒット判定回路３３３とＤＴＡＧ更新部３３５から構成される。
　図１４は上記コマンド変換回路３３１ｃの変換動作を示す図であり、チャネル３２から同図の左欄のコマンドが入力されたとき、同図右欄のコマンドに変換する。
【００３２】
　図１３において、チャネル３２からのメモリアクセスコマンドを受信すると、ＳＣ３３内のＤＴＡＧ３３１を参照し、ＤＴＡＧ３３１の内容によりプロセッサ３１、主記憶装置３４に対してデータ転送を指示する。例えば、チャネル３２からのメモリリードコマンドが発生すると、ＤＴＡＧ３３１を参照しプロセッサ３１のキャッシュが持っていなければ、データ転送指示制御部３３ｅは主記憶装置３４にデータ転送指示を行う。また、チャネル３２からのメモリリードコマンドが発生したとき、プロセッサ３１のキャッシュがダーティ状態で持っていれば、プロセッサ３１に対してデータ転送指示を行う。そして、ＤＴＡＧ３３１を参照後、データ転送後の状態にＤＴＡＧを更新する。
【００３３】
　ここで、本実施例においては、チャネル３２がキャッシュを持たないため、チャネル３２からメモリアクセス時、次のように動作する。なお、チャネル３２からのリードコマンドは、専有するリードと専有しないリードがあり、専有しないリードコマンドは通常のリードであり、専有するリードコマンドは、ライトバックコマンドとペアで使用されるコマンドである。
　コマンド受信部３３ｃのコマンド変換回路３３１ｃは、チャネル３２から専有するリードコマンド、ライトバックコマンドを受信すると、受信したコマンドを図１４に示すように変換する。
　これにより、以下に説明するように、専有するリードコマンドが受信されたとき、ＤＴＡＧ３３１、プロセッサ内のキャッシュが無効化され（ライトインバリデートコマンドに変換されるため）、ライトバック時には、プロセッサ内のキャッシュ、ＤＴＡＧ３３１の状態は変更されない（ＮＯＰ動作となるため）。
【００３４】
　チャネルから各コマンドが受信されたときの動作は次のようになる。
（１）　リード（専有しない）
・ダーティキャッシュが無い場合
　→主記憶装置からデータをリード
・ダーティキャッシュがある場合
　→ダーティキャッシュからデータをリード→ＤＴＡＧ３３１の状態は変更しない
（２）　リード（専有する）
・ダーティキャッシュが無い場合
　→主記憶装置からデータをリード
・ダーティキャッシュがある場合
　→ダーティキャッシュからデータをリード
　該当ブロック保持キャッシュの状態を無効化
【００３５】
（３）　ライトインバリデート
・主記憶装置にデータをライト
　→該当ブロック保持キャッシュの状態を無効化
（４）　ライトバック
・主記憶装置にデータをライトバック、ＤＴＡＧ、プロセッサ内キャッシュに対してはＮＯＰ動作
　→キャッシュ状態変更なし
【００３６】
　すなわち、専有しないリードコマンドの場合は、ダーティキャッシュがない場合は、主記憶装置３４からリードし、ダーティキャッシュがある場合は、プロセッサのキャッシュからデータをリードする。そして、チャネル３２はキャッシュを持たないため、該リードコマンドによるキャッシュの状態は、プロセッサ内のキャッシュ、ＤＴＡＧ３３１とも更新しない。
　一方、専有するリードコマンドの場合は、リードモディファイライト動作（リード動作をしたのち、データを加工して主記憶装置３４にライトする）を行う場合に使用し、その時のリード動作は、専有しないリードコマンドと同じだが、この場合には、次に主記憶装置３４にライトするため、キャッシュ状態は、プロセッサ内のキャッシュ、および、ＤＴＡＧ３３１共に当該ブロックを無効化する必要がある。
【００３７】
　このため、図１４に示したように、コマンド変換回路３３１ｃは専有するリードコマンドをライトインバリデートコマンドに変換し、プロセッサ内のキャッシュ、および、ＤＴＡＧ３３１共に当該ブロックを無効化する。
　また、ライトインバリデートコマンドは、主記憶装置３４に対してブロックライトを行うコマンドである。このコマンドはブロック単位でライトをするため、キャッシュの状態は、プロセッサ内のキャッシュ及びＤＴＡＧ３３１共に、該当するブロックを保持している場合は、そのブロックを無効化する。
【００３８】
　チャネルからのライトバックは、前記したリードモディファイライト動作におけるライト時に行われ、前記したようにプロセッサ内のキャッシュ、ＤＴＡＧ３３１の状態は専有するリードコマンドの実行時に更新されているため、ライトバックコマンド時は、ＤＴＡＧ３３１、プロセッサ内のキャッシュに対してはＮＯＰ動作とする。すなわち、ライトバックコマンドを受信したとき、コマンド変換回路３３１ｃは図１４に示すようにＮＯＰ動作に変換する。これによりＤＴＡＧ３３１、プロセッサ内のキャッシュは共に変更されない。
【００３９】
　以上のように、本実施例においては、コマンド変換回路を設け、チャネルから専有するリードコマンドが受信されたとき、ライトインバリデートコマンドに変換して、プロセッサ内のキャッシュおよびシステム制御装置内のＤＴＡＧの当該ブロックを無効化し、また、ライトバックコマンドを受信したしたとき、ＮＯＰ動作に変換しているので、チャネル用ＤＴＡＧを設けることなく、ＴＡＧ制御を行うことができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の原理構成図である。
【図２】ＴＡＧデータの有効／無効を示すビットを不要にした構成例を示す図である。
【図３】図２の例におけるメモリマップである。
【図４】図２においてプロセッサから明示的にライトすることができる無効化データレジスタを設けた例を示す図である。
【図５】図４の例におけるメモリマップである。
【図６】各プロセッサ毎に他のプロセッサのキャッシュ状態を認識する構成例を示す図である。
【図７】キャッシュの状態を集中管理する構成例を示す図である。
【図８】キャッシュの状態が４状態の場合の真理値表の一例を示す図である。
【図９】キャッシュの状態が４状態の場合の真理値表の一例を示す図（続き）である。
【図１０】キャッシュの状態が５状態の場合の真理値表の一例を示す図である。
【図１１】キャッシュの状態が５状態の場合の真理値表の一例を示す図（続き）である。
【図１２】本発明の実施例のシステムの構成を示す図である。
【図１３】本発明の実施例のシステム制御装置の構成を示す図である。
【図１４】本発明の実施例におけるコマンド変換回路の変換動作を示す図である。
【図１５】キャッシュメモリを備えた情報処理装置の構成を示す図である。
【図１６】キャッシュメモリを備えた処理装置の従来例を示す図である。
【図１７】複数の処理装置を備えた情報処理装置におけるキャッシュ状態認識の従来例を示す図である。
【図１８】キャッシュを持つプロセッサとチャネルを備えたシステムの構成を示す図である。
【図１９】システム制御装置の従来例を示す図である。
【符号の説明】
【００４１】
　１，１−１〜１−ｎ　プロセッサ
　２ａ　　　　　　　　タグ部
　２ｂ　　　　　　　　データ部
　２ｃ　　　　　　　　ヒット判定回路
　３　　　　　　　　　レジスタ
　４　　　　　　　　　主記憶装置
　５　　　　　　　　　キャッシュ状態認識回路
　６　　　　　　　　　チャネル
　７　　　　　　　　　システム制御装置
　２１　　　　　　　　プロセッサ
　２２　　　　　　　　タグ部
　２２ｂ　　　　　　　フラグ部
　２３　　　　　　　　バッファメモリ
　２４　　　　　　　　タグライト制御部
　２５　　　　　　　　ヒット判定回路
　２７　　　　　　　　無効化データレジスタ
　３１　　　　　　　　プロセッサ
　３２　　　　　　　　チャネル
　３３　　　　　　　　システム制御装置（ＳＣ）
　３３ａ　　　　　　　アドレス受信部
　３３ｂ　　　　　　　受信タイミング制御部
　３３ｃ　　　　　　　コマンド受信部
　３３ｄ　　　　　　　ＤＴＡＧ制御部
　３３ｅ　　　　　　　データ転送指示制御部
　３３１　　　　　　　ＤＴＡＧ
　３３１ｃ　　　　　　コマンド変換回路
　３３３，３３４　　　ヒット判定回路
　３３５　　　　　　　ＤＴＡＧ更新部
　３４　　　　　　　　主記憶装置
　４１−１〜４１−ｎ　プロセッサ
　４２　　　　　　　　キャッシュ
　４３　　　　　　　　ヒット判定回路
　４４　　　　　　　　キャッシュ状態認識回路
【図１】
2004086920.tif 000003
【図２】
2004086920.tif 000004
【図３】
2004086920.tif 000005
【図４】
2004086920.tif 000006
【図５】
2004086920.tif 000007
【図６】
2004086920.tif 000008
【図７】
2004086920.tif 000009
【図８】
2004086920.tif 000010
【図９】
2004086920.tif 000011
【図１０】
2004086920.tif 000012
【図１１】
2004086920.tif 000013
【図１２】
2004086920.tif 000014
【図１３】
2004086920.tif 000015
【図１４】
2004086920.tif 000016
【図１５】
2004086920.tif 000017
【図１６】
2004086920.tif 000018
【図１７】
2004086920.tif 000019
【図１８】
2004086920.tif 000020
【図１９】
2004086920.tif 000021