第1プロセッサと、第2プロセッサと、第3プロセッサと、アドレスに関連付けてデータを格納する主記憶装置と、前記第1プロセッサ、前記第2プロセッサ、前記第3プロセッサ及び前記主記憶装置を接続する共有バスとを具備し、前記第1プロセッサは、前記共有バスを介して、前記アドレス及び前記データを受け取るアクセス制御部と、前記アドレス、前記データ、及び有効無効を示すフラグを含むキャッシュラインを保持するキャッシュメモリ部とを備え、前記キャッシュメモリ部は、前記共有バスを介した前記キャッシュラインを無効化する要求を受け取ると前記フラグを無効化し、前記アクセス制御部は、前記キャッシュラインの前記フラグが無効化されると、前記アドレスを監視対象として保持し、前記アクセス制御部は、無効化された第1キャッシュラインに含まれる第1アドレスを監視対象として保持している状態で、前記第2プロセッサの要求に応じて前記第3プロセッサが前記共有バスに出力した第2アドレスと第2データとを受け取ると、前記第1アドレスと前記第2アドレスとが一致するか否かを判定し、一致する場合に前記第1アドレスと前記第2データとを関連付けて保持するマルチプロセッサシステム。請求項1に記載のマルチプロセッサシステムであって、前記第1プロセッサは、前記キャッシュラインに含まれる前記データを用いて命令を実行する命令実行部を更に備え、前記命令実行部が、前記第1アドレスを指定して前記第1キャッシュラインに含まれる第1データを要求したとき、前記キャッシュメモリ部は、前記第1キャッシュラインが無効化されていることに基づいて、前記第1アドレスを前記アクセス制御部に提供し、前記アクセス制御部は、前記第1アドレスに関連づけられた前記第2データを、前記命令実行部及び前記キャッシュメモリ部に提供するマルチプロセッサシステム。第1プロセッサと、第2プロセッサと、第3プロセッサと、アドレスに関連付けてデータを格納する主記憶装置と、前記第1プロセッサ、前記第2プロセッサ、前記第3プロセッサ及び前記主記憶装置を接続する共有バスとを具備し、前記第1プロセッサは、前記共有バスを介して、前記アドレス及び前記データを受け取るアクセス制御部と、前記アドレス、前記データ、及び有効無効を示すフラグを含むキャッシュラインを保持するキャッシュメモリ部と、前記キャッシュラインに含まれる前記データを用いて命令を実行する命令実行部とを備え、前記キャッシュメモリ部は、前記共有バスを介した前記キャッシュラインを無効化する要求を受け取ると前記フラグを無効化し、前記アクセス制御部は、前記キャッシュラインの前記フラグが無効化されると、前記アドレスを監視対象として保持するマルチプロセッサシステムのマルチプロセッサ制御方法であって、前記アクセス制御部が、無効化された第1キャッシュラインに含まれる第1アドレスを監視対象として保持するステップと、前記第2プロセッサが、第2アドレスを指定して第2データを要求するステップと、前記第3プロセッサが、前記第2プロセッサの要求に応じて、前記第2アドレスと前記第2データと前記共有バスに出力するステップと、前記アクセス制御部が、前記共有バスを介して、前記第2アドレスと前記第2データとを受け取るステップと、前記アクセス制御部が、前記第1アドレスと前記第2アドレスとが一致するか否かを判定するステップと、前記アクセス制御部が、前記第1アドレスと前記第2アドレスとが一致する場合、前記第1アドレスと前記第2データとを関連付けて保持するステップとを具備するマルチプロセッサ制御方法。請求項3に記載のマルチプロセッサ制御方法であって、前記命令実行部が、前記第1アドレスを指定して前記第1キャッシュラインに含まれる第1データを要求するステップと、前記キャッシュメモリ部が、前記第1キャッシュラインが無効化されていることに基づいて、前記第1アドレスを前記アクセス制御部に提供するステップと、前記アクセス制御部が、前記第1アドレスに関連づけられた前記第2データを、前記命令実行部及び前記キャッシュメモリ部に提供するステップとを更に具備するマルチプロセッサ制御方法。共有バスを介して、主記憶装置に格納されたアドレス及びデータを受け取るアクセス制御部と、前記アドレス、前記データ、及び有効無効を示すフラグを含むキャッシュラインを保持するキャッシュメモリ部とを具備し、前記キャッシュメモリ部は、前記共有バスを介した前記キャッシュラインを無効化する要求を受け取ると前記フラグを無効化し、前記アクセス制御部は、前記キャッシュラインの前記フラグが無効化されると、前記アドレスを監視対象として保持し、前記アクセス制御部は、無効化された第1キャッシュラインに含まれる第1アドレスを監視対象として保持している状態で、前記共有バスに接続された第2プロセッサの要求に応じて、前記共有バスに接続された第3プロセッサが前記共有バスに出力した第2アドレスと第2データとを受け取ると、前記第1アドレスと前記第2アドレスとが一致するか否かを判定し、一致する場合に前記第1アドレスと前記第2データとを関連付けて保持するプロセッサ。請求項5に記載のプロセッサであって、前記プロセッサは、前記キャッシュラインに含まれる前記データを用いて命令を実行する命令実行部を更に具備し、前記命令実行部が、前記第1アドレスを指定して前記第1キャッシュラインに含まれる第1データを要求したとき、前記キャッシュメモリ部は、前記第1キャッシュラインが無効化されていることに基づいて、前記第1アドレスを前記アクセス制御部に提供し、前記アクセス制御部は、前記第1アドレスに関連づけられた前記第2データを、前記命令実行部及び前記キャッシュメモリ部に提供するプロセッサ。以下、添付図面を参照して本発明の実施の形態によるマルチプロセッサシステムを説明する。図7は、本発明のマルチプロセッサシステムの構成を示すブロック図である。図7を参照すると、本発明のマルチプロセッサシステム1は、複数のプロセッサ1010-1~10-nと、メモリ20と、共有バス30とを具備する。複数のプロセッサ1010-1~10-nと、メモリ20とは、共有バス30で接続される。本発明の実施の形態によるマルチプロセッサシステム1は、コンピュータシステムにおける主要な構成要素である。プロセッサ10は、メモリ20に格納されている本発明のマルチプロセッサシステム1に係る演算処理及び制御処理を行う。メモリ20は、情報の記録を行う主記憶装置であり、CD-ROMやDVD等のコンピュータ読み取り可能な記憶媒体から読み取られたプログラム、ネットワーク図示略を介してダウンロードされたプログラム、入力装置図示略から入力された信号やプログラム、及びプロセッサ10の処理結果などを格納する。複数のプロセッサ1010-1~10-nの各々の詳細を説明する。尚、複数のプロセッサ1010-1~10-nの各々は同様の構成であるため、プロセッサ10-1を参照して説明する。ここでは、プロセッサ10-1をプロセッサ10と称して説明し、その他のプロセッサ10を説明する必要があるときは他プロセッサ10と称して説明する。尚、説明するプロセッサ10の各部は、ハードウェアとソフトウェアとを単独又は組み合わせて実現することが出来る。プロセッサ10は、命令実行部11と、キャッシュメモリ部12と、アクセス制御部13とを備える。命令実行部11は、キャッシュメモリ部12及びアクセス制御部13を介して、メモリ20から実行すべき命令や、命令の実行に必要な数値などのデータを読み出す。そして、命令実行部11は、キャッシュメモリ部12キャッシュライン50に含まれるデータを用いて命令を実行する。キャッシュメモリ部12は、アドレス、データ、及び有効フラグを含む複数のキャッシュライン50を保持する。アドレスはメモリ20のアドレスを示し、有効フラグはキャッシュライン50の有効無効を示す。尚、プロセッサ10のキャッシュメモリ部12と、他プロセッサ10のキャッシュメモリ部とは、コヒーレンスプロトコルによって一貫性が保たれているとする。キャッシュメモリ部12は、命令実行部11からアドレスを指定したデータのアクセス要求を受け取ると、複数のキャッシュライン50を参照して、受け取ったアドレスが有効なキャッシュライン50に存在するか否かを判定する。データのアドレスが、有効なキャッシュライン50に存在する場合キャッシュヒット、キャッシュメモリ部12は命令実行部11にデータを提供する。一方、データのアドレスが有効なキャッシュライン50に存在しない場合キャッシュミス、キャッシュメモリ部12は、アクセス制御部13にアドレスを含むデータのアクセス要求を提供する。また、キャッシュメモリ部12は、共有バス30を介して、他プロセッサ10が出力したキャッシュライン50を無効化する要求を受け取ると、有効フラグを無効化する無効化処理。詳細には、キャッシュメモリ部12は、他プロセッサ10から出力された無効化要求に含まれるアドレスが複数のキャッシュライン50の何れかに存在する場合、該当するキャッシュライン50を無効化する。アクセス制御部13は、共有バス30を介して、メモリ20及び他プロセッサ10との間でアドレス及びデータの受け渡しを行う。アクセス制御部13は、共有データ監視部14と、共有バスアクセス制御部15とを含む。共有データ監視部14は、監視対象としての複数の監視データ60を有する。複数の監視データ60の各々は、アドレス有効フラグと、データ有効フラグと、アドレスと、データとを含む。共有データ監視部14は、キャッシュライン50の有効フラグが無効化されると、無効化されたキャッシュライン50のアドレスを監視対象として監視データ60のアドレスに保持する。共有データ監視部14は、無効化されたキャッシュライン50に含まれるアドレスを監視データ60に保持している状態で、他プロセッサ10の要求に応じて、更に別の他プロセッサ10が共有バス30に出力したアドレスとデータとを受け取ると、保持しているアドレスと受け取ったアドレスとが一致するか否かを判定する。そして、共有データ監視部14は、一致する場合に保持しているアドレスと受け取ったデータとを関連付けて保持する。また、共有データ監視部14は、キャッシュミスに基づくアクセス要求をキャッシュメモリ部12から受け取ると、アクセス要求のアドレスに対応する提供可能なデータが監視データ60に保持されているか否かを判定する。保持されている場合、共有データ監視部14は、アドレスに関連づけられたデータを命令実行部11及びキャッシュメモリ部12に提供する。保持されていない場合、共有データ監視部14は、そのアクセス要求を共有バス30に出力するために、共有バスアクセス制御部15に提供する。尚、これらの共有データ監視部14の詳細な動作は後述する。共有バスアクセス制御部15は、キャッシュミスに基づくアクセス要求をキャッシュメモリ部12から受け取ったとき、共有データ監視部14が提供可能なデータを保持しているときは、アクセス要求を共有バス30に出力せずプロセッサ10での処理を継続させる。一方、共有バスアクセス制御部15は、共有データ監視部14が提供可能なデータを保持していなければ、アクセス要求を共有バス30に出力する。本発明のマルチプロセッサシステム1の実施の形態による処理動作を説明する。図8は、本発明のマルチプロセッサシステム1の初期状態を示した図である。図8を参照すると、プロセッサ10-1~10-nの各々は、メモリ20のデータ70のコピーをそれぞれのキャッシュメモリ部12-1~12-nに保持して共有している。メモリ20に格納されたデータ70の初期値は斜線で表されている。データ70のコピーを含むキャッシュライン50-1~50-nの各々の有効フラグは有効に設定されている。尚、図8では簡易的に表示するために、キャッシュライン50-1~50-nに含まれるアドレス、監視データ60に含まれるアドレス、及び、監視データ60に含まれるアドレス有効フラグは省略されている。また、アクセス制御部13の共有データ監視部14及び共有バスアクセス制御部15も省略されている。<プロセッサ10-1の無効化要求とデータの変更>プロセッサ10-1において、命令実行部11-1が命令実行に伴ってメモリ20へのデータ書き込み操作が必要となった、つまり、キャッシュメモリ部12-1に保持されたデータ70を変更する処理を行うとする。まず、命令実行部11-1は、プロセッサ10-2~10-nの各々に保持されているそれぞれのデータ70を無効化する処理を行う。詳細には、命令実行部11-1は、データ70のアドレスを指定して、そのアドレスを含むキャッシュライン50-2~50-nの各々を無効化するための要求無効化要求を、キャッシュメモリ部12-1に提供する。キャッシュメモリ部12-1は、命令実行部11-1から無効化要求を受け取ると、共有バスアクセス制御部15-1に無効化要求を提供する。共有バスアクセス制御部15-1は、キャッシュメモリ部12-1から無効化要求を受け取ると、共有バス30に無効化要求を出力する。プロセッサ10-2~10-nの各々では、それぞれの共有バスアクセス制御部15-2~15-nが、プロセッサ10-1から出力された無効化要求を受け取り、それぞれのキャッシュメモリ部12-2~12-n、及び、それぞれの共有データ監視部14-2~14-nに提供する。プロセッサ10-1の無効化要求とデータの変更に関しては、プロセッサ10-2~10-nの各々は同様の動作をするため、プロセッサ10-nを代表として用いて動作を説明する。キャッシュメモリ部12-nは、プロセッサ10-1から出力された無効化要求に含まれるアドレスが複数のキャッシュライン50-nの何れかに存在する場合、該当するキャッシュライン50-nを無効化する無効化処理。詳細には、キャッシュメモリ部12-nは、保持している全てのキャッシュライン50-nのアドレスと、受け取ったアドレスとを比較し、一致するキャッシュライン50-nが存在するか否かを判定する。一致するキャッシュライン50-nが存在する場合、キャッシュメモリ部12-nは、一致したキャッシュライン50-nの有効フラグを無効に変更する。但し、キャッシュメモリ部12-nは、アドレスの値に基づいて保持するキャッシュライン50-nの範囲を予め限定している場合、一致する可能性のあるキャッシュライン50-nの範囲のみ比較してもよい。そして、キャッシュメモリ部12-nは、キャッシュライン50-nを無効化したことを示す信号スヌープヒット信号を共有データ監視部14-nに提供する。共有データ監視部14-nは、キャッシュライン50-nが無効化されると、他のプロセッサ10プロセッサ10-n以外で変更されたデータ70を受け取れるように、無効化されたアドレスを監視する。つまり、共有データ監視部14-nは、キャッシュライン50-nの有効フラグが無効化されると、無効化されたキャッシュライン50-nのアドレスを監視対象として監視データ60のアドレスに保持する。詳細には、共有データ監視部14-nは、共有バスアクセス制御部15-nから無効化要求を受け取っている状態で、キャッシュメモリ部12-nからスヌープヒット信号を受け取ると、無効化要求に含まれるアドレスを監視データ60-nのアドレスに設定する。そして、共有データ監視部14-nは、アドレスに対応するアドレス有効フラグを有効に設定する。これによって、共有データ監視部14-nは、キャッシュライン50-nで無効化されたアドレスを監視するように動作する。尚、共有データ監視部14-nは、監視データ60-nを参照したとき、無効化要求に含まれるアドレスに対応するデータ70のデータ有効フラグが有効である場合には、そのデータ70を使用しないように、データ70のデータ有効フラグを無効に設定する。図9は、プロセッサ10-2~10-nの各々が無効化処理を実行したことを示す図である。図9を参照すると、プロセッサ10-2~10-nの各々において、データ70を含むそれぞれのキャッシュライン50-2~50-nは、有効フラグが無効に設定されている。但し、図9は簡略化しているため、監視データ60-1~60-nの各々における、データ70のアドレスと、有効になったアドレス有効フラグとは省略されている。命令実行部11-1は、データ70を含む有効なキャッシュライン50有効に設定された有効フラグを含むキャッシュライン50を持つのがプロセッサ10-1のみとした後、データ70を変更する。図10は、命令実行部11-1がデータ70を変更したことを示す図である。変更されたデータ70の値は縦線で表されている。コヒーレンスプロトコルがコピーバック方式の場合、命令実行部11-1はキャッシュメモリ部12-1に対してのみデータ70の変更を行う。従って、命令実行部11-1がデータ70を変更した直後は、メモリ20のデータ70とプロセッサ10-1のデータ70とで値は異なることになる。尚、排他制御を実現するためのCAS命令による書き込みの場合、CAS命令実行前に無効化操作を行った後、キャッシュメモリ部12-1のデータに対して読み込みと書き込み操作を行うようになっている。<プロセッサ10-nのキャッシュミス>プロセッサ10-nが、データ70を必要になったとする。命令実行部11-nは、データ70のアドレスを含むデータ70のアクセス要求を、キャッシュメモリ部12-nに提供する。キャッシュメモリ部12-nは、命令実行部11-nからデータ70のアクセス要求を受け取ると、複数のキャッシュライン50-nを参照し、受け取ったアドレスが有効なキャッシュライン50-nに存在するか否かを判定する。データ70のアドレスが有効なキャッシュライン50-nに存在する場合キャッシュヒット、キャッシュメモリ部12-nは命令実行部11-nにデータ70を提供する。一方、データ70のアドレスが有効なキャッシュライン50-nに存在しない場合キャッシュミス、キャッシュメモリ部12-nは共有バスアクセス制御部15-n、及び、共有データ監視部14-nに対してデータ70のアクセス要求を提供する。共有データ監視部14-nは、キャッシュミスに基づくアクセス要求をキャッシュメモリ部12-nから受け取ると、アクセス要求のアドレスに対応する提供可能なデータ70が監視データ60-nに保持されているか否かを判定する。保持されている場合、共有データ監視部14-nは、アドレスに関連づけられたデータ70を命令実行部11-n及びキャッシュメモリ部12-nに提供する。保持されていない場合、共有データ監視部14-nは、そのアクセス要求を共有バス30に出力するために、共有バスアクセス制御部15-nに提供する。詳細には、共有データ監視部14-nは、データ70のアクセス要求に含まれるアドレスが、監視データ60-nのアドレスに含まれているか否かと、そのアドレスに対応するアドレス有効フラグが有効であるか否かと、そのアドレスに対応するデータ70のデータ有効フラグが有効であるか否かの3つを判定する。共有データ監視部14-nは、データ70のアクセス要求に含まれるアドレスが監視データ60-nのアドレスに含まれており、且つ、そのアドレスに対応するアドレス有効フラグが有効であり、且つ、そのアドレスに対応するデータ70のデータ有効フラグが有効であると判定した場合、提供可能な変更されたデータ70が保持されていると判定する。そして、共有データ監視部14-nは、提供可能な変更されたデータ70をキャッシュメモリ部12-nに提供し、更に、提供可能な変更されたデータ70が保持されていることを示す信号バッファヒット信号を、共有バスアクセス制御部15-nに提供する。尚、ここに記載した動作は、前述したプロセッサ10-1の無効化要求とデータの変更という操作の直後に、プロセッサ10-nがデータ70を必要になったときの動作であるので、ここでは提供可能な変更されたデータ70が保持されていない。従って、共有データ監視部14-nは、提供可能な変更されたデータ70が保持されていないと判定し、バッファヒット信号を提供しない。共有バスアクセス制御部15-nは、キャッシュミスに基づくアクセス要求をキャッシュメモリ部12-nから受け取ったとき、共有データ監視部14-nが提供可能なデータを保持しているときは、アクセス要求を共有バス30に出力せずプロセッサ10-nでの処理を継続させる。一方、共有バスアクセス制御部15-nは、共有データ監視部14-nが提供可能なデータを保持していなければ、アクセス要求を共有バス30に出力する。詳細には、共有バスアクセス制御部15-nは、キャッシュメモリ部12-nからデータ70のアクセス要求を受け取った状態で、共有データ監視部14-nからバッファヒット信号を受け取る場合、データ70のアクセス要求を共有バス30に出力せず、プロセッサ10-nでの処理を継続させる。一方、共有バスアクセス制御部15-nは、キャッシュメモリ部12-nからデータ70のアクセス要求を受け取った状態で、共有データ監視部14-nからバッファヒット信号を受け取らない場合、データ70のアクセス要求を共有バス30に出力する。即ち、共有バスアクセス制御部15-nは、共有バス30に接続された複数の他のプロセッサ1010-nを除くから、変更されたデータ70を取得するように動作する。ここでは、共有バスアクセス制御部15-nが、共有バス30にデータ70のアクセス要求を出力するように動作したとする。図11は、プロセッサ10-nがデータ70のアクセス要求を共有バス30に出力したことを示す図である。<プロセッサ10-nからのアクセス要求に対する応答>プロセッサ10-nを除く複数のプロセッサ10の各々では、それぞれの共有バスアクセス制御部1515-n以外がデータ70のアクセス要求を受け取り、それぞれのキャッシュメモリ部1212-n以外、及び、それぞれの共有データ監視部1414-n以外に提供する。ここでは、プロセッサ10-1が更新されたデータ70を保持しているため、プロセッサ10-1は変更されたデータ70とそのアドレスを含むデータ70の応答を共有バス30に出力する。このときのプロセッサ10-1の動作を説明する。共有バスアクセス制御部15-1は、データ70のアクセス要求に含まれるアドレスを、キャッシュメモリ部12-1に提供する。キャッシュメモリ部12-1は、変更されたデータ70を含む有効なキャッシュライン50-1が存在するか否かを判定する。キャッシュメモリ部12-1は、変更されたデータ70を含む有効なキャッシュライン50-1が存在していると判定し、変更されたデータ70を共有バスアクセス制御部15-1に提供する。共有バスアクセス制御部15-1は、データ70の応答を共有バス30に出力する。一方、プロセッサ10-1及びプロセッサ10-nを除く、その他のプロセッサ1010-2~10-n-1の動作を説明する。プロセッサ10-nからのアクセス要求に対する応答に関しては、プロセッサ10-2~10-n-1の各々は同様の動作をするためプロセッサ10-2を代表として説明する。共有バスアクセス制御部15-2は、データ70のアクセス要求に含まれるアドレスを、キャッシュメモリ部12-2に提供する。キャッシュメモリ部12-2は、変更されたデータ70を含む有効なキャッシュライン50-2が存在するか否かを判定する。キャッシュメモリ部12-2は、変更されたデータ70を含む有効なキャッシュライン50-2が存在していないと判定し、共有バスアクセス制御部15-2にデータ70の応答を提供しない。<プロセッサ10-nの応答処理>プロセッサ10-nの共有バスアクセス制御部15-nは、データ70の応答を取得する。共有バスアクセス制御部15-nはデータ70の応答を、キャッシュメモリ部12-n、及び命令実行部11-nに提供する。キャッシュメモリ部12-nは、データ70の応答に含まれるアドレス及び変更されたデータ70をキャッシュライン50-nに保持し、そのキャッシュライン50-nの有効フラグを有効に設定する。また、命令実行部11-nは、命令の実行を継続する。<プロセッサ10-2~10-n-1の応答処理>一方、プロセッサ10-2~10-n-1の各々では、プロセッサ10-1の無効化要求で説明したように、キャッシュライン50-2~50-n-1のそれぞれが無効化されたことで、他のプロセッサ10で変更されたデータ70を受け取れるように、無効化されたアドレスを監視している。プロセッサ10-2~10-n-1の応答処理に関しては、プロセッサ10-2~10-n-1の各々は同様の動作をするため、プロセッサ10-2を代表として用いて動作を説明する。プロセッサ10-2の共有バスアクセス制御部15-2は、データ70の応答を取得する。共有バスアクセス制御部15-2はデータ70の応答を、共有データ監視部14-2に提供する。共有データ監視部14-2は、データ70の応答が監視対象であるか否かを判定する。つまり、共有データ監視部14-2は、無効化されたキャッシュライン50-2に含まれるアドレスを監視データ60-2に保持している状態で、プロセッサ10-nの要求に応じてプロセッサ10-1が共有バス30に出力したアドレスとデータとを受け取ると、保持しているアドレスと受け取ったアドレスとが一致するか否かを判定する。そして、共有データ監視部14-2は、一致する場合に保持しているアドレスと受け取ったデータとを関連付けて保持する。詳細には、共有データ監視部14-2は、データ70の応答に含まれるアドレスが、監視データ60-2のアドレスに設定されたアドレスに一致するか否か、及び、そのアドレスに対応するアドレス有効フラグが有効であるか否かを判定する。データ70の応答が監視対象である場合、共有データ監視部14-2はその監視データ60-2に変更されたデータ70を保持し、変更されたデータ70に対応するデータ有効フラグを有効に設定する。図12は、プロセッサ10-2~10-n-1の各々で、それぞれの共有データ監視部14-2~14-n-1が、変更されたデータ70を保持したことを示す図である。このとき、メモリ20は共有バス30から変更されたデータ70を取得する。<プロセッサ10-2のキャッシュミス>ここで、プロセッサ10-2が、データ70を必要になったとする。命令実行部11-2は、データ70のアドレスを含むデータ70のアクセス要求を、キャッシュメモリ部12-2に提供する。キャッシュメモリ部12-2は、命令実行部11-2からデータ70のアクセス要求を受け取ると、複数のキャッシュライン50-2を参照し、受け取ったアドレスが有効なキャッシュライン50-2の何れかに存在するか否かを判定する。しかし、データ70のアドレスが有効なキャッシュライン50-2に存在しないためキャッシュミス、キャッシュメモリ部12-2は、共有データ監視部14-2、及び、共有バスアクセス制御部15-2に対してデータ70のアクセス要求を提供する。共有データ監視部14-2は、キャッシュメモリ部12-2からデータ70のアクセス要求を受け取ると、監視データ60-2を参照して、提供可能な変更されたデータ70が保持されているか否かを判定する。詳細には、共有データ監視部14-2は、データ70のアクセス要求に含まれるアドレスが、監視データ60-2のアドレスに含まれているか否かと、そのアドレスに対応するアドレス有効フラグが有効であるか否かと、そのアドレスに対応するデータ70のデータ有効フラグが有効であるか否かとの3つを判定する。共有データ監視部14-2は、データ70のアクセス要求に含まれるアドレスが監視データ60-2のアドレスに含まれており、且つ、そのアドレスに対応するアドレス有効フラグが有効であり、且つ、そのアドレスに対応するデータ70のデータ有効フラグが有効であると判定する。つまり、提供可能な変更されたデータ70が保持されていると判定する。そして、共有データ監視部14-2は、提供可能な変更されたデータ70をキャッシュメモリ部12-2に提供し、更に、提供可能な変更されたデータ70が保持されていることを示す信号バッファヒット信号を、共有バスアクセス制御部15-2に提供する。共有バスアクセス制御部15-2は、キャッシュメモリ部12-2からデータ70のアクセス要求を受け取った状態で、共有データ監視部14-2からバッファヒット信号を受け取るので、データ70のアクセス要求を共有バス30に出力せず、プロセッサ10-2での処理を継続させる。図13は、プロセッサ10-2において、共有データ監視部14-2からキャッシュメモリ部12-2へ、更新されたデータ70が提供されたことを示す図である。プロセッサ10-3~10-n-1がデータ70を必要になった場合も、プロセッサ10-2と同様に動作する。つまり、複数のプロセッサ1010-2~10-n-1が進入権を獲得する処理を同時に行う場合でも、共有バス30の待ち時間が抑えられる効果を奏している。以上のように、本発明のマルチプロセッサシステム1は、複数のスレッドが排他制御区間への進入権を獲得する処理を同時に行なう場合でも、共有バス30待ち時間の増加を抑えることができる。即ち、本発明のマルチプロセッサシステム1は、排他制御区間の状態を管理するデータに対する共有バス30経由のアクセスが集中しないように動作するため、プログラムの性能を向上させることができる。以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。この出願は、2011年1月18日に出願された日本出願特願2011-008120を基礎とする優先権を主張し、その開示の全てをここに取り込む。