(57)【特許請求の範囲】
【請求項１】
第１のプロセッサ及び第２のプロセッサと接続される共有キャッシュメモリ装置において、
下位記憶装置から読み出して各プロセッサに供給したデータ、又は、各プロセッサから下位記憶装置へ書き込むことが指示されたデータを記憶しておくための複数のデータ記憶領域を有するデータ記憶部と、
前記データ記憶部を利用して各プロセッサからのリード／ライト要求に応答する要求応答部であって、
前記データ記憶部の前記複数のデータ記憶領域の中に、第１のプロセッサが生成して第２プロセッサが利用するデータを記憶するための幾つかの監視対象記憶領域を確保する機能、
或る監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されてきたときに、その監視対象記憶領域に当該データを書き込むと共に、その監視対象記憶領域へのデータの書き込みが完了したことを記憶するライト要求応答機能、及び、
或る監視対象記憶領域上のデータを返送すべきリード要求が第２のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されくるのを待機した後に、当該リード要求に応答するリード要求応答機能
を有する要求応答部と、
を備えることを特徴とする共有キャッシュメモリ装置。
【請求項２】
前記要求応答部が有する前記リード要求応答機能が、
或る監視対象記憶領域上のデータを返送すべきリード要求が第２のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものでなかった場合、その監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されてきたときに、当該ライト要求で書き込むことが指示されているデータ自体を、前記当該リード要求に対する応答として第２のプロセッサに返送する機能である
ことを特徴とする請求項１に記載の共有キャッシュメモリ装置。
【請求項３】
前記要求応答部が、さらに、
第２のプロセッサによる或る監視対象記憶領域からのデータの読み出しが完了したときに、その監視対象記憶領域を、任意のプロセッサからのリード／ライト要求への応答に利用できるデータ記憶領域に戻す機能を有する
ことを特徴とする請求項１又は請求項２に記載の共有キャッシュメモリ装置。
【請求項４】
前記要求応答部が有する前記リード要求応答機能が、
データの書き込みが完了していない或る監視対象記憶領域上のデータを返送すべきリード要求を受信したため、その監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されてくるのを待機している最中に、次のリード要求を受信して処理できる機能である
ことを特徴とする請求項１乃至請求項３のいずれか一項に記載の共有キャッシュメモリ装置。
【請求項５】
前記データ記憶領域が複数の部分記憶領域に分割されており、
前記第１プロセッサが送信するライト要求が、或る監視対象記憶領域内の特定の部分記憶領域にデータの書き込みを要求するライト要求であり、
前記要求応答部が有する前記ライト要求応答機能が、
ライト要求を前記第１プロセッサから受信した際に、当該ライト要求で書き込みが指示されているデータを、当該ライト要求で書き込みが指示されている監視対象記憶領域内の特定の部分記憶領域に書き込むと共に、その監視対象記憶領域の当該特定の部分記憶領域へのデータの書き込みが完了したことを記憶する機能であり、
前記要求応答部が有する前記リード要求応答機能が、
或る監視対象記憶領域上のデータを返送すべきリード要求が第２のプロセッサから送信されてきたときに、その監視対象記憶領域が、全ての部分記憶領域にデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域の全ての部分記憶領域へのデータの書き込みが完了するの待機した後に、当該リード要求に応答する機能である
ことを特徴とする請求項１乃至請求項４のいずれか一項に記載の共有キャッシュメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサにより共有される共有キャッシュメモリ装置に関する。
【背景技術】
【０００２】
大量のデータに対して行われる情報処理の中には、中間的な処理結果を生成する前段処理と、前段処理の処理結果から最終的な処理結果を生成するための，前段処理と並行的に実行可能な後段処理とに分けられるものが存在している。なお、そのような情報処理としては、図１８に示したような内容の前段処理と後段処理とからなる情報処理（画像処理）を例示できる。
【０００３】
そして、そのような情報処理を前段処理と後段処理とに分けて、複数のプロセッサを備えた情報処理システム（コンピュータ）内の２プロセッサに実行させれば、前段処理及び後段処理を１プロセッサに実行させた場合よりも短時間で最終的な処理結果を得ることが出来る。そのため、情報処理を前段処理と後段処理とに分けて、前段処理を或るプロセッサ（以下、前段プロセッサと表記する）に実行させ、後段処理を他のプロセッサ（以下、後段プロセッサと表記する）に実行させることが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３７３１１５号公報
【特許文献２】特開昭６３−２２１４４１号公報
【特許文献３】特開２００４−３８６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の様な形での情報処理の実行時には、前段処理の処理結果が主記憶装置等の共有メモリを介して後段プロセッサに渡されているのであるが、後段処理は、或る量のデータの用意が完了しないと開始できない処理である。
【０００６】
そのため、上記の様な形での情報処理の実行時には、所定量のデータの用意（共有メモリ上にへの書き込み）が完了する度に、そのことを、割り込みや共有リソース上への所定情報の書き込みにより前段プロセッサから後段プロセッサに通知することが行われている。
【０００７】
具体的には、例えば、前段／後段処理が図１８に示した内容のものである場合、図１９に模式的に示してあるように、３ライン目以降の各１ライン分の前段処理が完了する度に、１ライン分の後段処理が開始できることになる。そのため、前段／後段処理が図１８に示した内容のものである場合、通常、前段プロセッサは、３ライン目以降の各１ライン分の処理が完了する度に状況通知用通信処理（割り込みを出力する処理、共有リソース上へ所定情報を書き込む処理等）を行うようにプログラミングされる。また、後段プロセッサは、定期的に状況通知用通信処理（共有リソース上へ所定情報が書き込まれたか否かを判定する処理等）を行うことによって、後段処理中の１ライン分の処理の開始タイミングを決定するようにプログラミングされる。
【０００８】
前段／後段プロセッサを上記のようにプログラミングすることにより、後段プロセッサに後段処理を問題なく実行させることは出来る。ただし、状況通知用通信処理を各プロセッサに行わせているということは、状況通知用通信処理の実行に要する時間分、処理（前
段処理及び前段処理）の完了に時間がかかっていると言うことである。
【０００９】
そこで、開示の技術の課題は、それを用いることにより、２個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる共有キャッシュメモリ装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、開示の技術の一態様の、第１のプロセッサ及び第２のプロセッサと接続される共有キャッシュメモリ装置は、下位記憶装置から読み出して各プロセッサに供給したデータ、又は、各プロセッサから下位記憶装置へ書き込むことが指示されたデータを記憶しておくための複数のデータ記憶領域を有するデータ記憶部と、データ記憶部を利用して各プロセッサからのリード／ライト要求に応答する要求応答部であって、データ記憶部の複数のデータ記憶領域の中に、第１のプロセッサが生成して第２プロセッサが利用するデータを記憶するための幾つかの監視対象記憶領域を確保する機能、或る監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されてきたときに、その監視対象記憶領域に当該データを書き込むと共に、その監視対象記憶領域へのデータの書き込みが完了したことを記憶するライト要求応答機能、及び、或る監視対象記憶領域上のデータを返送すべきリード要求が第２のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域に或るデータを書き込むべきライト要求が第１のプロセッサから送信されくるのを待機した後に、当該リード要求に応答するリード要求応答機能を有する要求応答部と、を備える。
【発明の効果】
【００１１】
上記構成を採用しておけば、それを用いることにより、２個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる共有キャッシュメモリ装置を実現できる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る共有キャッシュメモリ装置の概略構成及び使用形態の説明図。
【図２】第１実施形態に係る共有キャッシュメモリ装置の構成図。
【図３】フレームアドレス等の説明図。
【図４】前段プロセッサのプログラミング例の説明図。
【図５】後段プロセッサのプログラミング例の説明図。
【図６】監視対象記憶領域に関する管理情報記憶領域に設定される管理情報の説明図。
【図７】リード要求受信時における共有キャッシュメモリ装置の全体的な動作手順を示した流れ図。
【図８】ライト要求受信時における共有キャッシュメモリ装置の全体的な動作手順を示した流れ図。
【図９】第１実施形態に係る情報処理システム（第１実施形態に係る共有キャッシュメモリ装置が用いられたシステム）における前段／後段処理の進み方の説明図。
【図１０】第２実施形態に係る共有キャッシュメモリ装置のリード要求受信時における全体的な動作手順を示した流れ図。
【図１１】第３実施形態に係る共有キャッシュメモリ装置の構成図。
【図１２】第３実施形態に係る情報処理システムにおける前段／後段処理の進み方の説明図。
【図１３】第４実施形態に係る共有キャッシュメモリ装置の構成図。
【図１４】第４実施形態に係る情報処理システムの機能の説明に用いる前段／後段処理の内容の説明図。
【図１５】第４実施形態に係る情報処理システムにおける，図１４に示した内容の前段／後段処理の進み方の説明図。
【図１６】各実施形態に係る共有キャッシュメモリ装置の変形形態を説明するための図。
【図１７】各実施形態に係る共有キャッシュメモリ装置の変形形態における前段／後段処理の進み方の説明図。
【図１８】前段処理、後段処理の一例の説明図。
【図１９】前段処理及び後段処理の２プロセッサによる実行例の説明図。
【発明を実施するための形態】
【００１３】
以下、発明者らが開発した４タイプの共有キャッシュメモリ装置（以下、第１〜第４実施形態に係る共有キャッシュメモリ装置１０と表記する）について、図面を参照して詳細に説明する。
【００１４】
《第１実施形態》
図１に示してあるように、第１実施形態に係る共有キャッシュメモリ装置１０は、２個のプロセッサ１４と下位記憶階層１５とに接続されて使用される装置であり、２個のアクセス制御部１１、アクセス情報バス１２及び共有キャッシュメモリ１３を備えている。
【００１５】
この共有キャッシュメモリ装置１０に接続される下位記憶階層１５は、主記憶装置自体や、主記憶装置を含む記憶装置群（例えば、より下位のキャッシュメモリと主記憶装置）である。
【００１６】
各プロセッサ１４は、キャッシュメモリ（本実施形態では、ライトバック方式のもの）を内蔵した一般的なプロセッサである。なお、共有キャッシュメモリ装置１０は、通常は、これらのプロセッサ１４を備えたデバイスの一構成要素（２個のプロセッサ１４が実装されたチップ、パッケージ上の一回路）として製造されるものとなっている。
【００１７】
以下、図２を用いて、共有キャッシュメモリ装置１０の構成をさらに具体的に説明する。
【００１８】
共有キャッシュメモリ装置１０が備える各アクセス制御部１１、共有キャッシュメモリ１３は、図２に示した構成を有するユニット（回路）である。
【００１９】
すなわち、共有キャッシュメモリ１３は、キャッシュメモリ制御部３０と、キャッシュアクセス調停部３１と、ｎ（≧２）組のタグメモリ部３２及びデータメモリ部３３と、下位記憶階層インタフェース部３４とを、備えている。
【００２０】
キャッシュアクセス調停部３１は、各アクセス制御部１１からのアクセス要求（各プロセッサ１４からのリード／ライト要求）を調停するユニットである。下位記憶階層インタフェース部３４は、下位記憶階層１５と通信を行うためのユニット（インタフェース回路）である。
【００２１】
各データメモリ部３２は、所定長のデータを格納できるｎＬ個（例えば、ｎＬ＝２１１）のデータ記憶領域を備えたユニットである。各データメモリ部３２の各データ記憶領域は、各プロセッサ１４のキャッシュメモリ（以下、内蔵キャッシュと表記する）のライン（キャッシュライン／ブロック）と同サイズのものとなっている。
【００２２】
各タグメモリ部３３は、ｎＬ個（ｎＬ＝データメモリ部３２のデータ記憶領域数）の、Ｖフィールド、Ｍフィールド、Ｌフィールド、Ｗフィールド、ＳＰＩＤフィールド及びＡＤＤＲフィールドを有する管理情報記憶領域を備えたユニットである。
【００２３】
各タグメモリ部３３の各管理情報記憶領域は、組を成しているデータメモリ部３２の特定のデータ記憶領域の利用状況を示す情報（各フィールドの設定値からなる情報；以下、管理情報と表記する）を記憶しておくための領域である。
【００２４】
より具体的には、管理情報記憶領域のＶフィールドは、対応するデータ記憶領域が有効である（データの記憶に使用されている）か否かを“１”／“０”で示す１ビットデータ（以下、Ｖビットと表記する）が設定されるフィールドである。
【００２５】
Ｍフィールドは、対応するデータ記憶領域上のデータが更新されているか否かを“１”／“０”で示す１ビットデータ（以下、Ｍビットと表記する）が設定されるフィールドである。Ｌフィールドは、対応するデータ記憶領域がロックされている（対応するデータ記憶領域を別データの記憶に利用することが禁止されている）か否かを“１”／“０”で示す１ビットデータ（以下、Ｌビットと表記する）が設定されるフィールドである。
【００２６】
ＡＤＤＲフィールドは、対応するデータ記憶領域に記憶されているデータ（又は、その後、記憶されるデータ；詳細は後述）のフレームアドレスが設定されるフィールドである。なお、フレームアドレスとは、図３に示したように、アドレス（図では、３２ビットアドレス）の上位ｍビット（図では、ｍ＝１４）のことである。より具体的には、フレームアドレスとは、アドレスを、最下位ビット側から、データ記憶領域のサイズ（バイト数）に応じたビット数のインデックスアドレスと、ｎＬ（各データメモリ部３２のデータ記憶領域数）に応じたビット数のエントリアドレスと、残りの部分とに分けた場合における当該残りの部分のことである。
【００２７】
管理情報記憶領域のＳＰＩＤフィールド（図２）は、対応するデータ記憶領域が監視対象記憶領域である場合には、或るプロセッサ１４のプロセッサ識別情報（以下、ＰＩＤと表記する）が設定され、そうではない場合には、所定値が設定されるフィールドである。
【００２８】
ここで、監視対象記憶領域とは、前段処理により生成されて後段処理により利用されるデータ（図１９参照。）の一時記憶領域として使用されるデータ記憶領域のことである。この監視対象記憶領域の詳細については後述するが、対応するデータ記憶領域が監視対象記憶領域である場合、ＳＰＩＤフィールドには、前段プロセッサ１４（前段処理を実行するプロセッサ１４）のＰＩＤ（プロセッサ識別情報）が設定される。
【００２９】
Ｗフィールドは、対応する監視対象記憶領域へのデータの書き込みが完了しているか否かを、“０”／“１”で示す１ビットデータ（以下、Ｗビットと表記する）が設定されるフィールドである。このＷフィールドは、同じ監視対象記憶領域のＳＰＩＤフィールドにＰＩＤが設定されている場合（対応するデータ記憶領域が監視対象記憶領域である場合）にのみ、有効なフィールド（設定されている値が参照されるフィールド）となっている。
【００３０】
キャッシュメモリ制御部３０は、複数のアドレスデコーダ、複数の比較器、複数のセレクタ等からなる回路である。説明の便宜上、このキャッシュメモリ制御部３０の機能を説明する前に、共有キャッシュメモリ装置１０が備える各アクセス制御部１１の構成を説明することにする。
【００３１】
図２に示してあるように、各アクセス制御部１１は、プロセッサインタフェース部２０、制御部２１、保留アクセス記憶部２２、アクセス領域一致判定部２３、アクセス情報送
信部２４及びアクセス要求選択部２５を備えている。
【００３２】
プロセッサインタフェース部２０は、プロセッサ１４と通信を行うためのインタフェース回路である。このプロセッサインタフェース部２０は、自身に接続されているプロセッサ１４のＰＩＤ（プロセッサ１４から取得したもの又は自ユニット内に設定されているもの）を制御部２１に通知する機能や、プロセッサ１４から受信した領域確保コマンド／領域解放コマンドを制御部２１に通知する機能を有している。また、プロセッサインタフェース部２０は、受信したアクセス要求（リード要求及びライト要求）を、アクセス情報送信部２４、保留アクセス記憶部２２及びアクセス要求選択部２５に供給する機能も有している。さらに、プロセッサインタフェース部２０は、アクセス要求選択部２５に供給するライト要求に、ＰＩＤを付加する機能も有している。
【００３３】
保留アクセス記憶部２２は、プロセッサ１４から受信したが応答を保留している（実際の処理を行っていない）アクセス要求を記憶しておくためのユニットである。この保留アクセス記憶部２２は、各種制御（プロセッサインタフェース部２０からのアクセス要求を取り込むか否かについての制御等）が制御部２１によって行われるものとなっている。
【００３４】
アクセス情報送信部２４は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部２１から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス１２上に送出するユニットである。
【００３５】
アクセス領域一致判定部２３は、アクセス情報バス１２上に送出されたアクセス情報が示している領域と、保留アクセス記憶部２２に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、所定の第２書込完了通知を制御部２１に対して出力するユニットである。なお、このアクセス領域一致判定部２３が機能するのは、他アクセス制御部１１内のアクセス情報送信部２４によってアクセス情報バス１２上にアクセス情報が送出された場合だけである。
【００３６】
アクセス要求選択部２５は、制御部２１の制御下（制御部２１からの制御信号に従って）、保留アクセス記憶部２２上のアクセス要求、又は、プロセッサインタフェース部２０からのアクセス要求を、共有キャッシュメモリ１３に供給するユニットである。
【００３７】
制御部２１は、通常は、プロセッサインタフェース部２０により受信されたアクセス要求が共有キャッシュメモリ１３に供給されるように、且つ、当該アクセス要求で保留アクセス記憶部２２上のアクセス要求が更新されるように各部を制御しているユニットである。
【００３８】
この制御部２１は、保留要求通知（詳細は後述）がキャッシュメモリ制御部３０から入力された場合には、今回のアクセス要求（保留要求通知の送信原因となったアクセス要求）を保持し続けるように保留アクセス記憶部２２を制御する。また、制御部２１は、上記した第２書込完了通知がアクセス領域一致判定部２３から入力された際に、アクセス要求選択部２５に保留アクセス記憶部２２上のアクセス要求を共有キャッシュメモリ１３に供給させてから各部を通常の状態に戻す機能も有している。さらに、制御部２１は、第１書込完了通知（詳細は後述）がキャッシュメモリ制御部３０から入力された際に、アクセス情報送信部２４に対してアクセス情報出力指示を出力する機能等も有している。
【００３９】
以下、制御部２１の機能、キャッシュメモリ制御部３０の機能及び共有キャッシュメモリ装置１０の全体的な機能を、図１のシステム（以下、第１実施形態に係る情報処理システムと表記する）の利用法等と共に、より具体的に説明する。
【００４０】
或る処理を前段処理と後段処理とに分けて２つのプロセッサ１４に実行させる場合、前段プロセッサ１４は、図４に示した手順で動作するようにプログラミングされる。すなわち、前段プロセッサ１４は、前段処理の処理結果を記憶するための前段処理用領域を内蔵キャッシュに確保（ステップＳ１０１）し、領域確保コマンドを送信（ステップＳ１０２）してから、前段処理（ステップＳ１０３）を開始するように、プログラミングされる。なお、前段プロセッサ１４は、通常、前段処理の実行中に、時々、内蔵キャッシュ内のデータの掃き出し（主記憶装置への書き出し）を行うようにも、プログラミングされる。
【００４１】
一方、後段プロセッサ１４は、図５に示した示した手順で動作するようにプログラミングされる。すなわち、後段プロセッサ１４は、内蔵キャッシュの特定領域を無効化（ステップＳ２０１）してから、後段処理（ステップＳ２０２）を開始し、その完了後、領域解放コマンドを送信する（ステップＳ２０３）ように、プログラミングされる。なお、内蔵キャッシュの特定領域とは、後段処理を実行するために読み出したデータが記憶されることになる領域、又は、当該領域を含む領域（例えば、内蔵キャッシュの全領域）のことである。
【００４２】
また、後段プロセッサ１４は、この図５の処理を、前段プロセッサ１４による領域確保コマンドの送信完了後に開始するようにも、プログラミングされる。
【００４３】
領域確保コマンド（図４参照）は、前段処理により生成されるデータ群の主記憶装置における記憶位置を示す記憶位置情報（例えば、当該データ群が記憶される領域の先頭アドレスと当該データ群の総サイズ）と前段プロセッサ１４のＰＩＤとを含むコマンドである。
【００４４】
この領域確保コマンドを受信した場合、共有キャッシュメモリ装置１０内では、各部によって以下の処理が行われる。
【００４５】
各アクセス制御部１１内の制御部２１（図２）は、領域確保コマンドをプロセッサインタフェース部２０を介して受信した場合には、受信したコマンドを共通キャッシュメモリ１３に送信（転送）する。
【００４６】
共通キャッシュメモリ１３に送信された領域確保コマンドは、キャッシュアクセス調停部３１を介してキャッシュメモリ制御部３０に入力される。
【００４７】
キャッシュメモリ制御部３０は、領域確保コマンドが入力された場合には、その領域確保コマンド中の記憶位置情報に基づき、監視対象記憶領域とする幾つかのデータ記憶領域を特定する。より具体的には、キャッシュメモリ制御部３０は、領域確保コマンド中の記憶位置情報に基づき、前段処理の処理結果として前段プロセッサ１４から書き込みが要求されることになるデータ毎に、それに関するエントリアドレスから定まる各データメモリ部３２のデータ記憶領域の中から，監視対象記憶領域とする１つのデータ記憶領域を特定する。
【００４８】
そして、キャッシュメモリ制御部３０は、特定した各データ記憶領域に関する管理情報記憶領域に、図６に示したような管理情報を記憶する。すなわち、キャッシュメモリ制御部３０は、特定した各データ記憶領域に関する管理情報記憶領域のＶ〜Ｗフィールドにそれぞれ“１”を設定すると共に、領域確保コマンドに含まれるＰＩＤ（図では、ＰＩＤ１）を、特定した各データ記憶領域に関する管理情報記憶領域のＳＰＩＤフィールドに設定する。また、キャッシュメモリ制御部３０は、特定した各データ記憶領域に関する管理情報記憶領域のＡＤＤＲフィールドに、各データ記憶領域に記憶されるデータのフレームアドレス（図では、0x0800）を設定する。
【００４９】
なお、領域確保コマンドの入力時にキャッシュメモリ制御部３０が実際に行う処理は、監視対象記憶領域とするデータ記憶領域を特定する度に、上記内容の管理情報を、特定したデータ記憶領域に関する管理情報記憶領域に記憶（設定）する処理である、また、当該処理は、必要である場合には、監視対象記憶領域とするデータ記憶領域上のデータを主記憶装置に書き戻してから、当該データ記憶領域に関する管理情報記憶領域に、上記内容の管理情報を設定するものともなっている。
【００５０】
次に、リード要求受信時における共有キャッシュメモリ装置１０の動作を説明する。
【００５１】
既に説明したように、各アクセス制御部１１内の制御部２１（図２）は、通常は、アクセス要求選択部２５に、プロセッサインタフェース部２０からのアクセス要求を共有キャッシュメモリ１３に供給させている。
【００５２】
共有キャッシュメモリ１３に供給されたアクセス要求は、キャッシュアクセス調停部３１を介してキャッシュメモリ制御部３０に供給される。
【００５３】
キャッシュメモリ制御部３０は、リード要求が供給された場合には、各タグメモリ部３３を参照することにより、以下のいずれの条件が成立しているかを判断する。なお、以下の説明において、読出対象データとは、アクセス制御部１１から供給されたリード要求で読み出しが要求されているデータ（前段／後段プロセッサ１４が読み出しを要求している，データ記憶領域サイズのデータ）のことである。ＳＰＩＤ値とは、ＳＰＩＤフィールドの値（いずれかのプロセッサ１４のＰＩＤ、又は、所定値）のことである。
【００５４】
・Ｒ１：読出対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Ｖビット、ＳＰＩＤ値が、それぞれ、“１”、所定値となっている管理情報が存在する。
・Ｒ２：読出対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Ｖビット、Ｗビット、ＳＰＩＤ値が、それぞれ、“１”、“０”、ＰＩＤ（所定値ではない値）となっている管理情報が存在する。
・Ｒ３：読出対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Ｖビット、Ｗビット、ＳＰＩＤ値が、それぞれ、“１”、“１”、ＰＩＤとなっている管理情報が存在する。
・Ｒ４：Ｒ１〜Ｒ３のいずれの条件も成立していない。
【００５５】
換言すれば、キャッシュメモリ制御部３０は、以下のいずれの条件が成立しているかを判断する。
・読出対象データ用のデータ記憶領域（読出対象データ用のものとして確保されているデータ記憶領域；以下、同様）が存在していない（Ｒ４）。
・読出対象データ用の非監視対象記憶領域（読出対象データ用の、監視対象記憶領域ではないデータ記憶領域）が存在している（Ｒ１）。
・読出対象データ用の，データの書き込みが完了している監視対象記憶領域が存在している（Ｒ２）。
・読出対象データ用の，データの書き込みが完了していない監視対象記憶領域が存在している（Ｒ３）。
【００５６】
そして、キャッシュメモリ制御部３０は、読出対象データ用の非監視対象記憶領域が存在していた場合（条件Ｒ１が成立していた場合）には、当該非監視対象記憶領域上のデータ（読出対象データ）を、受信したリード要求の送信元プロセッサ１４に返送する処理を
行う。なお、この処理及び以下で説明する同様の処理（要求されたデータを返送する処理）は、いずれも、受信したリード要求の送信元プロセッサ１４と接続されているアクセス制御部１１（リード要求の転送元アクセス制御部１１）を介して、当該送信元プロセッサ１４にデータを返送する処理である。
【００５７】
キャッシュメモリ制御部３０は、読出対象データ用の，データの書き込みが完了している監視対象記憶領域が存在していた場合（条件Ｒ２が成立していた場合）には、当該監視対象記憶領域上のデータを、受信したリード要求の送信元プロセッサ１４に返送する処理を行う。
【００５８】
キャッシュメモリ制御部３０は、読出対象データ用のデータ記憶領域が存在していなかった場合（条件Ｒ４が成立していた場合）には、読出対象データを下位記憶階層１５から読み出し、読み出した読出対象データを、受信したリード要求の送信元プロセッサ１４に返送する処理を行う。また、この場合、キャッシュメモリ制御部３０は、下位記憶階層１５から読み出したデータを、キャッシュする処理（いずれかのデータメモリ部３２内の特定のデータ記憶領域に記憶すると共に、その管理情報を変更する処理）も行う。
【００５９】
キャッシュメモリ制御部３０は、読出対象データ用の，データの書き込みが完了している監視対象記憶領域が存在していた場合（条件Ｒ３が成立していた場合）には、『受信したアクセス要求（この場合、リード要求）に応答できない状況にある旨を示す保留要求通知』を、受信したリード要求の送信元アクセス制御部１１内の制御部２１に対して送信する。
【００６０】
要するに、本共有キャッシュメモリ装置１０は、リード要求を受信した場合、各部（主として、キャッシュメモリ制御部３０）により、図７に示した手順の処理が行われる装置として構成されている。
【００６１】
すなわち、リード要求を受信した場合、キャッシュメモリ制御部３０は、各タグメモリ部３２上の特定のｎ個の管理情報を参照することにより、読出対象データ用のデータ記憶領域（図７では、対応データ記憶領域）が存在するか否かを判断する（ステップＳ３０１）。そして、キャッシュメモリ制御部３０は、読出対象データ用のデータ記憶領域が存在していなかった場合（ステップＳ３０１；ＮＯ）には、ステップＳ３０４にて、読出対象データを下位記憶階層１５から読み出し、受信したリード要求の送信元プロセッサ１４に対して返送する処理等（図では、通常のリード要求用制御処理）を行う。すなわち、キャッシュメモリ制御部３０は、セットアソシエイティブ方式のキャッシュメモリ内の制御機構（キャッシュメモリ制御部３０に相当する部分；以下、既存制御機構と表記する）が、リード要求についてのキャッシュミス時に行うものと本質的には同内容の処理を、このステップＳ３０４にて行う。
【００６２】
また、キャッシュメモリ制御部３０は、読出対象データ用の非監視対象記憶領域が存在していた場合（ステップＳ３０１；ＹＥＳ，ステップＳ３０２；ＮＯ）には、ステップＳ３０４にて、当該非監視対象記憶領域から読出対象データを読み出して、受信したリード要求の送信元プロセッサ１４に返送する処理を行う。すなわち、この場合、キャッシュメモリ制御部３０は、既存制御機構がリード要求についてのキャッシュヒット時に行うものと本質的には同内容の処理を行う。
【００６３】
また、キャッシュメモリ制御部３０は、読出対象データ用の，データの書き込みが完了している（その管理情報中のＷビットが“０”となっている）監視対象記憶領域が存在していた場合（ステップＳ３０１；ＹＥＳ，ステップＳ３０２；ＹＥＳ、ステップＳ３０３；ＮＯ）にも、既存制御機構がリード要求についてのキャッシュヒット時に行うものと本
質的には同内容の処理をステップＳ３０４にて行う。
【００６４】
キャッシュメモリ制御部３０は、読出対象データ用の，データの書き込みが完了していない（その管理情報中のＷビットが“１”となっている）監視対象記憶領域が存在していた場合（ステップＳ３０１；ＹＥＳ，ステップＳ３０２；ＹＥＳ、ステップＳ３０３；ＹＥＳ）には、受信したリード要求の送信元アクセス制御部１１内の制御部２１に保留要求通知を送信する（図示略）。
【００６５】
既に説明したように、制御部２１は、保留要求通知がキャッシュメモリ制御部３０から入力された場合には、今回のアクセス要求（保留要求通知の送信原因となったアクセス要求）を保持し続けるように保留アクセス記憶部２２を制御する。従って、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のＷビットが“１”であった場合（ステップＳ３０３；ＹＥＳ）、今回のリード要求が、当該リード要求を受信したアクセス制御部１１内の保留アクセス記憶部２２に保存される（ステップＳ３０５）ことになる。
【００６６】
なお、或る監視対象記憶領域上のデータの読み出しを要求するのは、原則として（プログラミングを誤らない限り）、後段プロセッサ１４である。従って、ステップＳ３０５の処理が行われるのは、『後段プロセッサ１４が、前段処理の処理結果データを要求するリード要求を送信したが、当該処理結果データの前段プロセッサ１４による書き込みが完了していなかった場合』である。また、ステップＳ３０５の処理では、後段プロセッサ１４と接続されているアクセス制御部１１（以下、後段アクセス制御部１１と表記する）内の保留アクセス記憶部２２に、後段プロセッサ１４が送信したリード要求が保存されることになる。
【００６７】
次に、ライト要求に対する共有キャッシュメモリ装置１０の動作を説明する。
【００６８】
既に説明したように、プロセッサインタフェース部２０（図２）は、アクセス要求選択部２５に供給するライト要求に、ＰＩＤを付加する。そして、制御部２１は、通常は、アクセス要求選択部２５にプロセッサインタフェース部２０からのアクセス要求を共有キャッシュメモリ１３に供給させている。従って、各プロセッサ１４からのライト要求は、ＰＩＤが付加された形で、共有キャッシュメモリ１３に供給されることになる。
【００６９】
キャッシュメモリ制御部３０は、キャッシュアクセス調停部３１を介してライト要求及びＰＩＤ（以下、供給ＰＩＤと表記する）が供給された場合には、各タグメモリ部３３を参照することにより、以下の条件Ｗ１〜Ｗ４のいずれが成立しているかを判断する。なお、以下の説明において、書込対象データとは、アクセス制御部１１から供給されたライト要求で書き込みが要求されているデータ（前段処理／後段処理の処理結果データ等）のことである。
【００７０】
Ｗ１：書込対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレスが書込対象データのフレームアドレスと一致し、Ｖビット、ＳＰＩＤ値が、それぞれ、“１”、所定値となっている管理情報が存在する。
Ｗ２：書込対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレス、ＳＰＩＤ値が、それぞれ、書込対象データのフレームアドレス、供給ＰＩＤと一致し、Ｖビットが“１”となっている管理情報が存在する。
Ｗ３：書込対象データのエントリアドレスから定まるｎ個の管理情報の中に、フレームアドレスが書込対象データのフレームアドレスと一致し、Ｖビット、ＳＰＩＤ値が、それぞれ、“１”、“供給ＰＩＤと一致しないＰＩＤ”となっている管理情報が存在する。
・Ｗ４：Ｗ１〜Ｗ３のいずれの条件も成立していない。
【００７１】
換言すれば、キャッシュメモリ制御部３０は、以下のいずれの条件が成立しているかを判断する。
・書込対象データ用のデータ記憶領域が存在しない（Ｗ４）。
・書込対象データ用の非監視対象記憶領域が存在している（Ｗ１）。
・書込対象データ用の監視対象記憶領域が存在し、書き込みを要求したプロセッサ１４が前段プロセッサ１４である〔今回、受信したライト要求が、前段プロセッサ１４からの、前段処理の処理結果データの書き込みを要求するライト要求である〕（Ｗ２）。
・書込対象データ用の監視対象記憶領域が存在し、書き込みを要求したプロセッサ１４が後段プロセッサ１４である〔後段プロセッサ１４による監視対象記憶領域へのデータ書き込みが行われた〕（Ｗ３）。
【００７２】
そして、キャッシュメモリ制御部３０は、書込対象データ用のデータ記憶領域が存在していなかった場合（条件Ｗ４が成立していた場合）には、書込対象データを記憶するためのデータ記憶領域を確保し、そのデータ記憶領域に書込対象データを記憶する処理等を行う。また、キャッシュメモリ制御部３０は、書込対象データ用の非監視対象記憶領域が存在していた場合（条件Ｗ１が成立していた場合）には、当該非監視対象記憶領域に書込対象データを記憶すると共に、当該非監視対象記憶領域に関する管理情報中のＭビットの値を“１”に変更する処理を行う。
【００７３】
すなわち、図８に示したように、キャッシュメモリ制御部３０は、書込対象データ用のデータ記憶領域（図８では、対応データ記憶領域）が存在していなかった場合（ステップＳ４０１；ＮＯ）には、ステップＳ４０４にて、既存制御機構がライト要求についてのキャッシュミス時に行うものと本質的には同内容の制御（図では、“通常のライト要求用制御処理”）を行う。また、キャッシュメモリ制御部３０は、書込対象データ用の非監視対象記憶領域が存在していた場合（ステップＳ４０１；ＹＥＳ，ステップＳ４０２；ＮＯ）には、ステップＳ４０４にて、既存制御機構がライト要求についてのキャッシュヒット時に行うものと本質的には同内容の制御を行う。
【００７４】
キャッシュメモリ制御部３０は、後段プロセッサ１４による監視対象記憶領域へのデータ書き込みが行われた場合（条件Ｗ３が成立していた場合：ステップＳ４０１；ＹＥＳ，ステップＳ４０２；ＹＥＳ、ステップＳ４０３；ＮＯ）には、保留要求通知を、受信したライト要求の送信元アクセス制御部１１内の制御部２１に送信する（図示略）。
【００７５】
既に説明したように、制御部２１は、保留要求通知がキャッシュメモリ制御部３０から入力された場合、今回のアクセス要求を保持し続けるように保留アクセス記憶部２２を制御する。従って、この場合（ステップＳ４０３；ＮＯ）、今回、処理を試みたライト要求が、ライト要求の送信元（転送元）アクセス制御部１１内の保留アクセス記憶部２２に保存される（ステップＳ４０８）ことになる。なお、上記条件Ｗ３は、通常は、成立しない条件（プログラムミスをしない限り成立することがない条件）である。そのため、共有キャッシュメモリ装置１０は、保留アクセス記憶部２２にライト要求が記憶されること（図８のステップＳ４０８の処理が行われること）が実際上ない装置となっている。
【００７６】
キャッシュメモリ制御部３０は、今回、受信したライト要求が、前段プロセッサ１４からの、前段処理の処理結果データの書き込みを要求するライト要求であった場合（条件Ｗ２が成立していた場合：ステップＳ４０１；ＹＥＳ，ステップＳ４０２；ＹＥＳ、ステップＳ４０３；ＹＥＳ）には、書込対象データ用の監視対象記憶領域に書込対象データを記憶すると共に、当該監視対象記憶領域に関する管理情報中のＷビット値を“０”に変更する処理（ステップＳ４０５）を行う。
【００７７】
また、この場合、キャッシュメモリ制御部３０は、第１書込完了通知を送信することに
より、前段アクセス制御部１１内の制御部２１に、或る監視対象記憶領域へのデータの書き込みが完了したことを通知する（図示略）。そのため、条件Ｗ２の成立時（ステップＳ４０３；ＹＥＳ）に、今回の書込データを要求するリード要求が後段アクセス制御部１１内の保留アクセス記憶部２２に記憶されていた場合（ステップＳ４０６；ＹＥＳ）には、そのリード要求で要求されているデータを後段プロセッサ１４に返送する処理（ステップＳ４０７）も行われることになる。
【００７８】
具体的には、既に説明したように、制御部２１は、第１書込完了通知が入力された場合に、アクセス情報送信部２４に対してアクセス情報出力指示を出力するユニットであり、アクセス情報送信部２４は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部２１から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス１２上に送出するユニットである。また、アクセス領域一致判定部２３は、アクセス情報バス１２上に送出されたアクセス情報が示している領域と、保留アクセス記憶部２２に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、第２書込完了通知を制御部２１に対して出力するユニットである。そして、制御部２１は、第２書込完了通知が入力されたときに、アクセス要求選択部２５に、保留アクセス記憶部２２上のアクセス要求を共有キャッシュメモリ１３に供給させる機能を有している。
【００７９】
従って、第１書込完了通知が、前段アクセス制御部１１内の制御部２１に対して送信された場合、まず、前段アクセス制御部１１内のアクセス情報送信部２４が、今回、データが書き込まれた領域を示すアドレス情報をアドレス情報バス１２上に送出する。
【００８０】
次いで、そのアドレス情報を検知した，後段アクセス制御部１１内のアクセス領域一致判定部２３が、当該アクセス情報が示している領域と、自アクセス制御部１１内の保留アクセス記憶部２２に記憶されているリード要求にてアクセスが要求されている領域とが一致していているか否かを判断する。換言すれば、後段アクセス制御部１１内のアクセス領域一致判定部２３は、今回、書き込みが完了したデータを要求するリード要求が自アクセス制御部１１内の保留アクセス記憶部２２に記憶されているか否かを判断する（ステップＳ４０６）。
【００８１】
そして、アクセス領域一致判定部２３は、そのようなリード要求が保留アクセス記憶部２２に記憶されていた場合（ステップＳ４０６；ＹＥＳ）には、制御部２１に対して第２書込完了通知を出力する。その結果、第２書込完了通知が入力された制御部２１によりアクセス要求選択部２５が制御されて、保留アクセス記憶部２２上のリード要求が共有キャッシュメモリ１３に供給されることになる。
【００８２】
共有キャッシュメモリ１３に供給されたリード要求は、図７等を用いて既に説明した手順で処理されるが、第１書込完了通知が送信された結果として共有キャッシュメモリ１３に供給されるリード要求が要求するデータは、今回、書き込みが完了したデータ（対応する管理情報のＷビットが“０”となっているデータ）である。従って、第１書込完了通知が送信された結果としてリード要求が共有キャッシュメモリ１３に供給された場合、直前に書き込まれたデータがデータメモリ部３２から読み出され、後段アクセス制御部１１を介して後段プロセッサ１４に返送される（ステップＳ４０７）ことになる。
【００８３】
次に、領域解放コマンド受信時における共有キャッシュメモリ装置１０の動作を説明する。
【００８４】
後段プロセッサ１４が送信する領域解放コマンド（図５参照）は、特にオペランドを含まないコマンドである。この領域解放コマンドは、プロセッサインタフェース部２０、制
御部２１及びキャッシュアクセス調停部３１を介してキャッシュメモリ制御部３０に入力される。
【００８５】
そして、領域解放コマンドが入力された場合、キャッシュメモリ制御部３０は、各監視対象記憶領域上のデータを主記憶装置に書き戻すことなく、各監視対象記憶領域に関する管理情報記憶領域のＶフィールド、ＳＰＩＤフィールドに、それぞれ、“０”、所定値を設定する処理（他の各フィールドにも初期値をする処理）を行う。要するに、領域解放コマンドが入力された場合、キャッシュメモリ制御部３０は、前段処理及び後段処理用に確保した各監視対象記憶領域を、通常のデータ記憶領域に戻すための処理を行う。
【００８６】
なお、各監視対象記憶領域上のデータを主記憶装置に書き戻させていないのは、前段処理が、“後段処理以外の処理によりその処理結果が利用されない処理”であることを想定しているからである。従って、前段プロセッサ１４に、後段処理以外の処理によりその処理結果が利用される前段処理を実行させる場合には、キャッシュメモリ制御部３０を、領域確保コマンドの入力時に（又は、別タイミングで）、各監視対象記憶領域上のデータを主記憶装置に書き戻すユニットとしておくべきである。
【００８７】
以上、詳細に説明したように、本実施形態に係る情報処理システム（図１）は、後段処理（及び前段処理）が、例えば、図９に示したような形で進行するシステムとなっている。
【００８８】
すなわち、第１実施形態に係る情報処理システムの前段プロセッサ１４が前段処理を開始すると、バイト／ワード単位の各処理結果データが前段プロセッサ１４の内蔵キャッシュに一旦記憶される。そして、ラインの入れ替えが必要になった場合等に、ラインサイズのデータのライト要求が共有キャッシュメモリ装置１０（図では、共有キャッシュ）に対して出されることになる。
【００８９】
また、後段処理を開始した後段プロセッサ１４は、前段処理の進行状況とは全く無関係なタイミングで、前段処理の処理結果データの読み出しを要求するリード要求を共有キャッシュメモリ装置１０に対して送信することになる。
【００９０】
後段プロセッサ１４から受信したリード要求が、前段プロセッサ１４により未だ書き込まれていないデータを要求するものであった場合、共有キャッシュメモリ装置１０は、後段プロセッサ１４にデータを返送することなく、そのリード要求を保留する（そのリード要求を後段アクセス制御部１１内の保留アクセス記憶部２２に保存する；図７参照）。従って、後段プロセッサ１４は、要求したデータが共有キャッシュメモリ装置１０から返送されてくるのを待機することになる。
【００９１】
また、共有キャッシュメモリ装置１０は、前段プロセッサ１４からのライト要求に対しては、常に、応答する（図８参照）。そのため、しばらくすると、保留しているリード要求にて要求されているデータが前段プロセッサ１４により共有キャッシュメモリ装置１０内に書き込まれることになる。
【００９２】
そして、共有キャッシュメモリ装置１０は、保留しているリード要求にて要求されているデータが前段プロセッサ１４により共有キャッシュメモリ装置１０内に書き込まれたときに、保留しているリード要求に対する実際の処理を行う機能（図８：ステップＳ４０６，４０７）を有している。従って、送信したリード要求が共有キャッシュメモリ装置１０により保留された後段プロセッサ１４は、この機能によりデータが返送されてきたときに、中断していた後段処理を再開することになる。
【００９３】
このように、第１実施形態に係る情報処理システムは、前段処理／後段処理を前段／後段プロセッサ１４に実行させる際に、各プロセッサ１４に状況通知用通信処理（割り込みを出力する処理、共有リソース上へ所定情報を書き込む処理等）を行わせる必要が全くないシステムとなっている。そして、各プロセッサ１４に状況通知用通信処理を行わせる必要がなければ、その分、全処理の完了に要する時間を短くすることが出来るのであるから、第１実施形態に係る共有キャッシュメモリ装置１０は、それを用いることにより、『２個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる装置』となっていると言うことが出来る。
【００９４】
《第２実施形態》
第２実施形態に係る共有キャッシュメモリ装置１０は、後段処理として、『一度、共有キャッシュメモリ装置１０から読み出したデータを再度読み出すことがない処理』が実行されることを想定して開発した装置である。
【００９５】
第２実施形態に係る共有キャッシュメモリ装置１０は、キャッシュメモリ制御部３０の機能のみが、第１実施形態に係る共有キャッシュメモリ装置１０（図１参照）と異なる装置である。そして、第２実施形態に係る共有キャッシュメモリ装置１０を用いて構築されるシステム（以下、第２実施形態に情報処理システムと表記する）は、第１実施形態に係る情報処理システムとは利用法が若干異なるものとなっている。そのため、以下では、第２実施形態に係る共有キャッシュメモリ装置１０内のキャッシュメモリ制御部３０（以下、第２キャッシュメモリ制御部３０と表記する）の機能と、第２実施形態に係る情報処理システムの利用法のみを説明することにする。
【００９６】
第２キャッシュメモリ制御部３０は、ライト要求に対しては、第１実施形態に係る共有キャッシュメモリ装置１０内のキャッシュメモリ制御部３０（以下、第１キャッシュメモリ制御部３０と表記する）と同内容の処理を行うユニットである。ただし、第２キャッシュメモリ制御部３０は、共有キャッシュメモリ装置１０を、リード要求を図１０に示した手順で処理する装置として機能させるユニットとなっている。
【００９７】
この図１０におけるステップＳ５０１〜５０５の処理は、図８におけるステップＳ３０１〜３０５の処理と本質的には同じ処理である。すなわち、リード要求を受信した場合、第２キャッシュメモリ制御部３０は、各タグメモリ部３２上の特定のｎ個の管理情報を参照することにより、読出対象データ用のデータ記憶領域（図１０では、対応データ記憶領域）が存在するか否かを判断する（ステップＳ５０１）。そして、第２キャッシュメモリ制御部３０は、読出対象データ用のデータ記憶領域が存在していなかった場合（ステップＳ５０１；ＮＯ）には、ステップＳ５０４にて、読出対象データを下位記憶階層１５から読み出し、受信したリード要求の送信元プロセッサ１４に対して返送する処理等（図では、通常のリード要求用制御処理）を行う。
【００９８】
また、第２キャッシュメモリ制御部３０は、読出対象データ用の非監視対象記憶領域が存在していた場合（ステップＳ３０１；ＹＥＳ，ステップＳ５０２；ＮＯ）には、ステップＳ５０４にて、当該非監視対象記憶領域から読出対象データを読み出して、受信したリード要求の送信元プロセッサ１４に返送する処理を行う。
【００９９】
第２キャッシュメモリ制御部３０は、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のＷビットが“１”であった場合（ステップＳ５０１；ＹＥＳ，ステップＳ５０２；ＹＥＳ、ステップＳ５０３；ＹＥＳ）には、受信したリード要求の送信元アクセス制御部１１内の制御部２１に保留要求通知を送信する。そして、その結果として、今回の，応答できなかったリード要求が、当該リード要求を受信したアクセス制御部１１内の保留アクセス記憶部２２に保存される（ステップＳ５０５）ことになる。
【０１００】
第２キャッシュメモリ制御部３０は、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のＷビットが“０”であった場合（ステップＳ５０３；ＮＯ）、存在していた読出対象データ用の監視対象記憶領域（図では、対応監視対象記憶領域）上のデータをリード要求の送信元プロセッサ１４に返送する処理（ステップＳ５０６）を行う。また、このステップ５０６にて、第２キャッシュメモリ制御部３０は、当該監視対象記憶領域に関する管理情報記憶領域を初期化する処理（Ｖフィールド、ＳＰＩＤフィールドに、それぞれ、“０”、所定値を設定し、他の各フィールドにも初期値を設定する処理）も行う。
【０１０１】
要するに、後段処理が、一度読み出したデータを再度読み出さない処理である場合、データの読み出しが完了した監視対象記憶領域を、通常のデータ記憶領域に戻しても何ら問題は生じないことになる。そして、通常のデータ記憶領域（特に制限なく利用できるデータ記憶領域）が多い方が、キャッシュミスが発生し難くなるので、第２実施形態に係る共有キャッシュメモリ装置１０に上記構成を採用しているのである。
【０１０２】
最後に、第２実施形態に係る情報処理システムの利用法を簡単に説明しておくことにする。
【０１０３】
上記したように、第２実施形態に係る共有キャッシュメモリ装置１０は、或る監視対象記憶領域からのデータの読み出しが完了した際に、その監視対象記憶領域を通常のデータ記憶領域に戻す装置となっている。換言すれば、第２実施形態に係る情報処理システムは、後段処理の完了と同時に、共有キャッシュメモリ装置１０内の全てのデータ記憶領域が非監視対象記憶領域（通常のデータ記憶領域）となるシステムとなっている。
【０１０４】
そのため、第２実施形態に係る情報処理システムの各プロセッサ１４に前段処理及び後段処理を行わせる場合、後段プロセッサ１４は、領域解放コマンドを送信しないように（図５のステップＳ２０１及びＳ２０２の処理を行うように）、プログラミングされる。
【０１０５】
《第３実施形態》
図１１に、第３実施形態に係る共有キャッシュメモリ装置１０の構成を示す。
【０１０６】
この図１１に示してあるように、第３実施形態に係る共有キャッシュメモリ装置１０は、２個のアクセス制御部１１ａ、アクセス情報バス１２及び共有キャッシュメモリ１３を備えた装置である。なお、この共有キャッシュメモリ装置１０も、第１，第２実施形態に係る共有キャッシュメモリ装置１０と同様に、２個のプロセッサ１４と下位記憶階層１５（図１１には、未表記；図１参照。）とに接続される装置である。
【０１０７】
この共有キャッシュメモリ装置１０が備える共有キャッシュメモリ１３は、第１実施形態に係る共有キャッシュメモリ装置１０が備える共有キャッシュメモリ１３と同構成、同機能のユニットである。
【０１０８】
アクセス制御部１１ａは、図２等を用いて既に説明したアクセス制御部１１内のアクセス情報送信部２４、アクセス領域一致判定部２３、制御部２１を、それぞれ、アクセス情報送信部２４ａ、アクセス領域一致判定部２３ａ、制御部２１ａに置き換えたユニットである。
【０１０９】
アクセス情報送信部２４ａは、アクセス情報送信部２４と同様に、アクセス情報を、所定のアクセス情報出力指示が制御部２１ａから入力されたときに、アクセス情報バス１２上に送出するユニットである。ただし、このアクセス情報送信部２４ａは、アクセス要求
自体を、アクセス情報としてアクセス情報バス１２上に送出するユニットとなっている。
【０１１０】
アクセス領域一致判定部２３ａは、アクセス領域一致判定部２３と同様に、アクセス情報バス１２上に送出されたアクセス情報が示している領域と、保留アクセス記憶部２２に記憶されているアクセス要求にてアクセスが要求されている領域とが一致しているか否かを判定する機能を有するユニットである。また、アクセス領域一致判定部２３ａは、両領域が一致していた場合、第２書込完了通知を制御部２１に対して出力するユニットともなっている。
【０１１１】
ただし、アクセス領域一致判定部２３ａは、両領域が一致していた場合、アクセス情報バス１２上に送出されたアクセス情報中のデータ（ライト要求の書込対象データ）を、自アクセス制御部１１ａと接続されているプロセッサ１４に返送する処理も行うように、構成（改良）されている。
【０１１２】
そして、制御部２１ａは、第２書込完了通知が入力されたときに、各部を通常の状態に戻す制御のみを行うように（保留アクセス記憶部２２上のアクセス要求を共有キャッシュメモリ１３に供給しないように）、制御部２１を改良したユニットとなっている。
【０１１３】
要するに、本共有キャッシュメモリ装置１０は、図１２に模式的に示した如く、或るデータについてのリード要求を保留している状態で当該データについてのライト要求を受信した場合、そのライト要求の書込対象データ自体を後段プロセッサ１４に返送する装置として構成されている。
【０１１４】
従って、この共有キャッシュメモリ装置１０は、データメモリ部３２に書き込んだデータを読み出すことにより保留リード要求に応答する第１実施形態に係る共有キャッシュメモリ装置１０（図１０）よりも、保留リード要求に対する応答が早い装置となっていることになる。
【０１１５】
《第４実施形態》
図１３に、第４実施形態に係る共有キャッシュメモリ装置１０の構成を示す。
【０１１６】
この図１３に示してあるように、第４実施形態に係る共有キャッシュメモリ装置１０は、２個のアクセス制御部１１ｂ、アクセス情報バス１２及び共有キャッシュメモリ１３を備えた装置である。
【０１１７】
この共有キャッシュメモリ装置１０も、第１〜第３実施形態に係る共有キャッシュメモリ装置１０と同様に、２個のプロセッサ１４と下位記憶階層１５（図１３には、未表記；図１参照。）とに接続された状態で使用される装置である。ただし、第３実施形態に係る共有キャッシュメモリ装置１０は、或るリード要求に対する応答がなくても次のリード要求を出せるプロセッサが、後段プロセッサ１４として接続される装置となっている。
【０１１８】
本実施形態に係る共有キャッシュメモリ装置１０が備える共有キャッシュメモリ１３は、第１、第３実施形態に係る共有キャッシュメモリ装置１０が備える共有キャッシュメモリ１３と同構成、同機能のユニットである。
【０１１９】
各アクセス制御部１１ｂは、プロセッサインタフェース部２０、制御部２１ｂ、複数の保留アクセス記憶部２２、アクセス領域一致判定部２３ｂ、アクセス情報送信部２４及びアクセス要求選択部２５ｂを備えたユニットである。
【０１２０】
このアクセス制御部１１ｂ内のプロセッサインタフェース部２０、各保留アクセス記憶
部２２、アクセス情報送信部２４は、それぞれ、アクセス制御部１１（図２）内の同名のユニットと本質的には同機能のユニットである。
【０１２１】
アクセス要求選択部２５ｂは、制御部２１ｂの制御下、複数の保留アクセス記憶部２２の中のいずれかの保留アクセス記憶部２２上のアクセス要求、又は、プロセッサインタフェース部２０からのアクセス要求を、共有キャッシュメモリ１３に供給するユニットである。
【０１２２】
アクセス領域一致判定部２３ｂは、以下の機能を有するユニットである。アクセス領域一致判定部２３ｂは、通常は、アクセス情報バス１２上にアクセス情報が送出されるのを監視している。アクセス領域一致判定部２３ｂは、アクセス情報バス１２上にアクセス情報が送出されたことを検出した場合には、当該アクセス情報が示している領域と同じ領域に対するアクセスを要求しているアクセス要求がいずれかの各保留アクセス記憶部２２に記憶されているか否かを判断する。そして、アクセス領域一致判定部２３ｂは、そのようなアクセス要求が或る保留アクセス記憶部２２に記憶されていた場合には、当該保留アクセス記憶部２２の識別情報を含む記憶部通知情報を制御部２１ｂに対して送信する。
【０１２３】
制御部２１ｂは、以下の機能を有するユニットである。制御部２１ｂは、通常は、プロセッサインタフェース部２０により受信されたアクセス要求が共有キャッシュメモリ１３に供給されるように、アクセス要求選択部２５ｂを制御している。また、制御部２１ｂは、プロセッサインタフェース部２０により受信されたアクセス要求で、その時点において制御対象となっている保留アクセス記憶部２２（以下、制御対象記憶部２２と表記する）上のアクセス要求が更新されるように各部を制御している。
【０１２４】
そして、制御部２１ｂは、保留要求通知がキャッシュメモリ制御部３０から入力された場合には、今回のアクセス要求を保持し続けるように、制御対象記憶部２２を制御すると共に、制御対象記憶部２２を、未使用状態にある（保留したアクセス要求の記憶のために使用されていない）他の保留アクセス記憶部２２に変更する。
【０１２５】
制御部２１ｂは、第１書込完了通知がキャッシュメモリ制御部３０から入力された場合には、アクセス情報送信部２４に対してアクセス情報出力指示を出力する。また、制御部２１ｂは、上記した記憶部通知情報がアクセス領域一致判定部２３ｂから入力された場合には、その記憶部通知情報中の識別情報で識別される保留アクセス記憶部２２上のアクセス要求を、アクセス要求選択部２５に共有キャッシュメモリ１３に供給させてから、当該保留アクセス記憶部２２が未使用状態になったことを記憶する。
【０１２６】
以上の説明（及び第１実施形態に係る共有キャッシュメモリ装置１０についての説明）から明らかなように、この第４実施形態に係る共有キャッシュメモリ装置１０は、第１実施形態に係る共有キャッシュメモリ装置１０を、リード要求を複数個保留できるように（保留することが必要なリード要求が連続的に入力されても問題が生じないように）、改良したものとなっている。
【０１２７】
従って、この共有キャッシュメモリ装置１０に接続した後段プロセッサ１４に、図１４に示したような内容の後段処理、すなわち、第２入力画像データ（前段処理の入力画像データ自体等）と前段処理の処理結果とから出力画像データを生成する後段処理を実行させた場合、図１５に示したように、第２入力画像データを後段プロセッサ１４内に読み込む第２入力画像データ取得処理は、前段処理の進行状況に因らず（リード要求が保留中であっても）行えることになる。
【０１２８】
そして、第１実施形態に係る共有キャッシュメモリ装置１０を用いた場合、リード要求
の保留中に、この第２入力画像データ取得処理を行うことが出来ないのであるから、本実施形態に係る共有キャッシュメモリ装置１０は、第１実施形態に係る共有キャッシュメモリ装置１０よりも、処理性能が高い情報処理システムを構築できるものとなっていることになる。
【０１２９】
《変形形態》
上記した各実施形態に係る共有キャッシュメモリ装置１０については、各種の変形を行うことが出来る。
【０１３０】
例えば、各実施形態に係る共有キャッシュメモリ装置１０を、ライトスルー方式のキャッシュメモリを備えたプロセッサ１４と接続して使用するものに変形することが出来る。具体的には、共有キャッシュメモリ装置１０を、例えば、ラインサイズが６４バイトの，ライトスルー方式のキャッシュメモリを備えたプロセッサ１４と接続して使用するものに変形する場合には、図１６に示したように、タグメモリ部３２のＷフィールドを、６４個のＷビットを記憶できるものとしておく。また、キャッシュメモリ制御部３０を、領域確保コマンドの入力時に、監視対象記憶領域に関する管理情報記憶領域のＷフィールド内の全Ｗビットの値を“１”とし、１バイト単位のデータが前段プロセッサ１４により書き込まれる度に該当するＷビットを“０”に書き換えるユニットとしておく。さらに、キャッシュメモリ制御部３０を、後段プロセッサ１４からのリード要求には、管理情報中の全Ｗビットが“０”となっている場合にのみ応答するユニットともしておく。
【０１３１】
そのように共有キャッシュメモリ装置１０を変形しておけば、図１７に模式的に示したように、第１実施形態に係る情報処理システム等とは、前段プロセッサ１４（前段プロセッサ１４内の共有キャッシュ）から出されるライト要求の回数のみが異なる情報処理システムを実現できることになる。なお、上記場合、キャッシュメモリ制御部３０を、後段プロセッサ１４から１バイト単位のリード要求に応答できるユニットに変形しておくことも出来る。
【０１３２】
また、同様の構成を採用することによって、共有キャッシュメモリ装置１０を、各データ記憶領域のサイズが、内蔵キャッシュのラインサイズと整数倍である装置に変形することも出来る。
【０１３３】
第３、第４実施形態に係る共有キャッシュメモリ装置１０に、第２実施形態に係る共有キャッシュメモリ装置１０が備える機能（データの読み出しが完了した監視対象記憶霊異記を通常のデータ記憶領域に戻す機能）を付加しておくことも出来る。
【０１３４】
アクセス制御部１１を増やすことにより、各実施形態に係る共有キャッシュメモリ装置１０を、３個以上のプロセッサ１４と接続できる装置に変形することも出来る。また、各実施形態に係る共有キャッシュメモリ装置１０を、フルアソシエイティブ方式の装置に変形することも出来る。
【０１３５】
各実施形態に係る共有キャッシュメモリ装置１０を、各アクセス制御部１１が、タグメモリ部３２及びデータメモリ部３３を制御する装置（キャッシュメモリ制御部３０がない装置）や、キャッシュメモリ制御部３０がアクセス制御部１１としての機能も有する装置（アクセス制御部１１がない装置）に変形することも出来る。さらに、上記技術を、キャッシュメモリではない共有メモリに適用することも出来る。
【符号の説明】
【０１３６】
１０  共有キャッシュメモリ装置
１１、１１ａ、１１ｂ  アクセス制御部
１２  アクセス情報バス
１３  共有キャッシュメモリ
１４  プロセッサ
１５  下位記憶階層
２０  プロセッサインタフェース部
２１、２１ａ、２１ｂ  制御部
２２  保留アクセス記憶部
２３、２３ａ、２３ｂ  アクセス領域一致判定部
２４、２４ａ  アクセス情報送信部
２５、２５ｂ  アクセス要求選択部
３０  キャッシュメモリ制御部
３１  キャッシュアクセス調停部
３２  タグメモリ部
３３  データメモリ部
３４  下位記憶階層インタフェース部
【図１】
0005499987.tif 000002
【図２】
0005499987.tif 000003
【図３】
0005499987.tif 000004
【図４】
0005499987.tif 000005
【図５】
0005499987.tif 000006
【図６】
0005499987.tif 000007
【図７】
0005499987.tif 000008
【図８】
0005499987.tif 000009
【図９】
0005499987.tif 000010
【図１０】
0005499987.tif 000011
【図１１】
0005499987.tif 000012
【図１２】
0005499987.tif 000013
【図１３】
0005499987.tif 000014
【図１４】
0005499987.tif 000015
【図１５】
0005499987.tif 000016
【図１６】
0005499987.tif 000017
【図１７】
0005499987.tif 000018
【図１８】
0005499987.tif 000019
【図１９】
0005499987.tif 000020