(57)【要約】  複数のＣＰＵを接続したシステムコントローラがキャッシュ同期制御を行うシステムにおいて、ＣＰＵのスループットを向上する。システムコントローラ（１２）に異なるキャッシュメモリ容量の複数のＣＰＵユニット（１０−０〜１０−３）を接続し、キャッシュ同期制御を行うシステムにおいて、先発リクエストと後発リクエストとのアドレス競合を監視するキャッシュ同期部（５４）と、各ＣＰＵユニットのキャッシュメモリの容量毎に先発リクエストと後発リクエストの競合監視範囲を設定部（５６）を設けた。キャッシュ容量が異なるＣＰＵユニットが混在しても、キャッシュ容量の多いＣＰＵユニットのスループットを向上できる。
2011148482.tif 000002
【特許請求の範囲】
【請求項１】
第１のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、
第２のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットと、
前記第１及び第２のＣＰＵユニットに接続され、前記第１のＣＰＵと前記第２のＣＰＵとの前記第１及び第２のキャッシュメモリへのリクエストで、前記第１のキャッシュメモリのキャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと、前記第２のキャッシュメモリのキャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するシステムコントローラとを有し、
前記システムコントローラは、
先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に受けた、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを要求元のＣＰＵにリトライさせるキャッシュ同期部と、
前記第３のキャッシュタグメモリと前記第４のキャッシュタグメモリとで異なるビジー範囲をキャッシュ同期部に設定する設定部とを有する
ことを特徴とする情報処理システム。
【請求項２】
前記システムコントローラは更に、前記第１及び第２のＣＰＵから複数のリクエストを入力順に保持するパイプライン部を有し、
前記キャッシュ同期部は、前記パイプライン部に保持された先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視する
ことを特徴とする請求項１の情報処理システム。
【請求項３】
前記キャッシュ同期部は、前記先発リクエストと前記後発リクエストの要求物理アドレスの一部を設定されたビジー監視範囲で比較し、先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視する
ことを特徴とする請求項１の情報処理システム。
【請求項４】
前記キャッシュ同期部は、前記設定部から設定された第１のビジー監視範囲に応じて前記先発リクエストと前記後発リクエストの要求物理アドレスの第１の一部を比較し、前記設定部から設定された第２のビジー監視範囲に応じて前記先発リクエストと前記後発リクエストの要求物理アドレスの第２の一部を比較する
ことを特徴とする請求項１の情報処理システム。
【請求項５】
前記第１及び第２のＣＰＵユニットと前記システムコントローラとの状態監視及び設定を行うシステム管理装置を更に設け、
前記システム管理装置が前記システムコントローラの設定部に前記ビジー監視範囲を設定する
ことを特徴とする請求項１の情報処理システム。
【請求項６】
前記第１及び第２のＣＰＵユニットと前記システムコントローラとの状態監視及び設定を行うシステム管理装置を更に設け、
前記ビジー監視範囲の変更の要求を受けた前記システム管理装置は、前記システムコントローラの前記キャッシュ同期部が前記システムコントローラ内に、リクエストが存在しないことを検出した後、前記システムコントローラの設定部に前記ビジー監視範囲を設定する
ことを特徴とする請求項１の情報処理システム。
【請求項７】
前記キャッシュ同期部は、前記ＣＰＵユニットによるリクエストの処理完了まで、前記リクエストの物理アドレスを保持するロックレジスタ部を有する
ことを特徴とする請求項２の情報処理システム。
【請求項８】
前記システムコントローラは、前記第１のＣＰＵと前記第２のＣＰＵとからのリクエストを受け付け、前記受け付けたリクエストを前記パイプライン部に入力するコマンド制御部を更に有し、
前記コマンド制御部が前記キャッシュ同期部からの監視結果受け、要求元の前記ＣＰＵにリトライ要求を送信する
ことを特徴とする請求項２の情報処理システム。
【請求項９】
前記キャッシュ同期部は、
前記パイプライン部に保持された先発リクエストと後発リクエストが同一のキャッシュアドレスを要求していることを、設定されたビジー監視範囲で監視する第１の監視部と、
前記ロックレジスタ部に保持された先発リクエストと前記パイプライン部の後発リクエストが同一のキャッシュアドレスを要求していることを、設定されたビジー監視範囲で監視する第２の監視部とを有する
ことを特徴とする請求項７の情報処理システム。
【請求項１０】
第１のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、第２のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットとに接続されたシステムコントローラであって、
前記第１のＣＰＵと前記第２のＣＰＵとの前記第１及び第２のキャッシュメモリへのリクエストに応じて、前記第１のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと、前記第２のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するキャッシュタグ検索部と、
先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを受けた場合、要求元のＣＰＵに後発リクエストをリトライさせるキャッシュ同期部と、
前記第３のキャッシュメモリと前記第４のキャッシュメモリとで異なる前記ビジー範囲を前記キャッシュ同期部に設定する設定部とを有する
ことを特徴とするシステムコントローラ。
【請求項１１】
前記第１及び第２のＣＰＵから複数のリクエストを入力順に保持するパイプライン部を更に有し、
前記キャッシュ同期部は前記パイプライン部に保持された先発リクエストと後発リクエストが同一のキャッシュアドレスを要求していることを設定されたビジー監視範囲で監視する
ことを特徴とする請求項１０のシステムコントローラ。
【請求項１２】
前記キャッシュ同期部は前記先発リクエストと前記後発リクエストの要求物理アドレスの一部を設定されたビジー監視範囲で比較し、先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視する
ことを特徴とする請求項１０のシステムコントローラ。
【請求項１３】
前記キャッシュ同期部は前記設定部から設定された第１のビジー監視範囲の前記先発リクエストと前記後発リクエストの要求物理アドレスの第１の一部を比較し、前記設定部から設定された第２のビジー監視範囲の前記先発リクエストと前記後発リクエストの要求物理アドレスの第２の一部を比較する
ことを特徴とする請求項１０のシステムコントローラ。
【請求項１４】
前記設定部は前記第１及び第２のＣＰＵユニットと前記システムコントローラとの状態監視及び設定を行うシステム管理装置からの前記ビジー監視範囲を設定する
ことを特徴とする請求項１０のシステムコントローラ。
【請求項１５】
前記設定部は前記キャッシュ同期部が前記システムコントローラ内に前記リクエストが存在しないことを検出した後、前記第１及び第２のＣＰＵユニットと前記システムコントローラとの状態監視及び設定を行うシステム管理装置からの前記ビジー監視範囲を設定する
ことを特徴とする請求項１０のシステムコントローラ。
【請求項１６】
前記キャッシュ同期部は、前記ＣＰＵユニットの前記リクエストの処理完了まで、前記リクエストの物理アドレスを保持するロックレジスタ部を有する
ことを特徴とする請求項１１のシステムコントローラ。
【請求項１７】
前記システムコントローラは、前記第１のＣＰＵと前記第２のＣＰＵとの前記リクエストを受け付け、前記受け付けたリクエストを前記パイプライン部に入力するコマンド制御部を更に有し、
前記コマンド制御部が前記キャッシュ同期部からの監視結果受け、要求元の前記ＣＰＵにリトライ要求を送信する
ことを特徴とする請求項１１のシステムコントローラ。
【請求項１８】
前記キャッシュ同期部は、
前記パイプライン部に保持された先発リクエストと後発リクエストが同一のキャッシュアドレスを要求していることを設定されたビジー監視範囲で監視する第１の監視部と、
前記ロックレジスタ部に保持された先発リクエストと前記パイプライン部の後発リクエストが同一のキャッシュアドレスを要求していることを設定されたビジー監視範囲で監視する第２の監視部とを有する
ことを特徴とする請求項１６のシステムコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びシステムコントローラに関する。
【背景技術】
【０００２】
並列処理は情報処理システムの処理速度の向上に有効である。並列処理システムでは複数の演算処理装置（ＣＰＵ：Central  Processing  Unit）が処理を分担する。又、ＣＰＵの処理速度を向上させるため、キャッシュメモリ（Cache  Memory）がＣＰＵと主記憶装置との間に設けられる。キャッシュメモリは主記憶装置に格納されたデータの内、ＣＰＵがアクセスしたいデータやそのアドレス、状態などをコピーし、保持する高速小容量のメモリで構成される。キャッシュメモリは、ＣＰＵが本来アクセスすべき主記憶装置に代わってデータを入出力する。【０００３】
キャッシュメモリが自動的にデータ保存や主記憶装置の代替動作を行うため、ＣＰＵのプログラムはキャッシュメモリを意識する必要がない。近年、ＬＳＩ（Large  Scale  Integrated）素子の集積化の向上や要求速度の上昇により、キャッシュメモリがＣＰＵチップ内に設けられている。【０００４】
又、並列処理システムの内、ＳＭＰ（Symmetric  Multiprocessing)システムでは、一のＣＰＵが他のＣＰＵのキャッシュメモリの登録内容を検索するスヌープ（Snoop）を行う。このスヌープによるＣＰＵ間のキャッシュメモリの干渉を防止するため、ＣＰＵのキャッシュメモリの同期機構が設けられている。【０００５】
キャッシュメモリの同期機構は、同一キャッシュアドレスを要求する連続したリクエストを処理する際に、先発リクエストによるキャッシュ管理情報（ＴＡＧ)の更新完了前に到来した後続リクエストはリトライする。この制御はビジー（BUSY）制御と称される。ＳＭＰシステムは全ＣＰＵチップに対し、一律のビジー監視範囲を設定していた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１２３３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＣＰＵの性能向上のため、キャッシュメモリの容量が増えたＣＰＵチップが提供されている。既存の情報処理システムの性能の向上のため、ＣＰＵチップを追加することが有効である。例えば、既存のキャッシュメモリの容量の少ないＣＰＵチップで構成されたシステムに、キャッシュ容量の多いＣＰＵチップを追加する、又はキャッシュメモリ容量の多いＣＰＵチップで構成されたシステムに、キャッシュメモリ容量の少ないＣＰＵチップを追加する。このように、処理に必要なＣＰＵチップを追加して、無駄なコストを抑えてシステム運用する技術のニーズは高い。【０００８】
既存の情報処理システムに後からＣＰＵチップを追加した場合に、キャッシュメモリ容量が異なるＣＰＵチップが混在する可能性が出てくる。ＳＭＰ環境下では、複数のＣＰＵチップに接続されたシステムコントローラがキャッシュ同期機構を有する。一のシステムコントローラにキャッシュメモリ容量が異なる複数のＣＰＵチップを接続した場合、複数のＣＰＵ間でのＴＡＧの整合性をとるため、システムコントローラは複数のＣＰＵチップのビジー監視範囲を同一に設定していた。【０００９】
しかしながら、キャッシュ容量の異なるＣＰＵチップを混在させた場合、全ＣＰＵチップのビジー監視範囲を最もキャッシュメモリ容量が小さいＣＰＵチップに合わせて設定するため、キャッシュメモリ容量の多いＣＰＵチップの性能を十分に引き出せない問題があった。【００１０】
本発明の目的は、キャッシュメモリ容量が異なるＣＰＵチップを混在した情報処理システムにおいて、ＣＰＵチップの性能を向上する情報処理システム及びシステムコントローラを提供することにある。
【課題を解決するための手段】
【００１１】
この目的の達成のため、開示の情報処理システムは、第１のＣＰＵとキャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、第２のＣＰＵとキャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットと、前記第１及び第２のＣＰＵユニットに接続され、前記第１のＣＰＵと前記第２のＣＰＵとの前記第１及び第２のキャッシュメモリへのリクエストで、前記第１のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと前記第２のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するシステムコントローラとを有し、前記システムコントローラは、先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に受けた、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを要求元のＣＰＵにリトライさせるキャッシュ同期部と、前記第３のキャッシュタグメモリと前記第４のキャッシュタグメモリとで異なるビジー範囲を前記キャッシュ同期部に設定する設定部とを有する。【００１２】
又、開示のシステムコントローラは、第１のＣＰＵとキャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、第２のＣＰＵとキャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットとに接続されたシステムコントローラであって、前記第１のＣＰＵと前記第２のＣＰＵとからの前記第１及び第２のキャッシュメモリへのリクエストに応じて、前記第１のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと前記第２のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するキャッシュタグ検索部と、先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを受けた場合、要求元のＣＰＵにリトライさせるキャッシュ同期部と、前記第３のキャッシュメモリと前記第４のキャッシュメモリとで異なる前記ビジー範囲を前記キャッシュ同期部に設定する設定部とを有する。
【発明の効果】
【００１３】
システムコントローラに異なるキャッシュメモリ容量の複数のＣＰＵユニットを接続し、キャッシュ同期制御を行う際に、各ＣＰＵユニットのキャッシュメモリの容量毎に先発リクエストと後発リクエストの競合監視範囲を設定するため、キャッシュ容量の多いＣＰＵユニットのスループットを向上できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態の情報処理システムのブロック図である。
【図２】図１のシステムボードのブロック図である。
【図３】図２のシステムボードの構成の一例を示すブロック図である。
【図４】図２の主記憶装置のメモリアドレスの説明図である。
【図５】本実施の形態の図３の第１の容量のキャッシュメモリのビジー監視範囲の説明図である。
【図６】図５のビジー監視範囲を第２の容量のキャッシュメモリのビジー監視範囲に適用した比較例の説明図である。
【図７】本実施の形態の図３の第２の容量のキャッシュメモリのビジー監視動作の説明図である。
【図８】図２のシステムボードの構成の他の例を示すブロック図である。
【図９】図３のシステム構成の他の例を示すブロック図である。
【図１０】本実施の形態のシステムコントローラの構成を示すブロック図である。
【図１１】図１０のレジスタ部のビジー設定レジスタの説明図である。
【図１２】図１０のビジー制御部５６のアドレス競合検査部６のブロック図である。
【図１３】図１０のアドレスロックレジスタ部５４のアドレス競合検査部７のブロック図である。
【図１４】図１０及び図１２で説明したビジー制御部５６のアドレス競合検査の動作説明図である。
【図１５】図１０及び図１３で説明したアドレスロックレジスタ部５４のアドレス競合検査の動作説明図である。
【図１６】実施の形態のキャッシュ同期処理のフロー図である。
【図１７】他の実施の形態の動的キャッシュ同期処理のフロー図である。
【発明を実施するための形態】
【００１５】
以下、実施の形態の例を、情報処理システム、情報処理システムのキャッシュ同期制御、システムコントローラ、アドレス競合検査部、キャッシュ同期処理、動的キャッシュ同期処理、他の実施の形態の順で説明するが、情報処理システム、システムコントローラは、この実施の形態に限られない。
【００１６】
（情報処理システム）
図１は実施の形態の情報処理システムのブロック図である。図２は図１のシステムボードのブロック図である。図１の情報処理システムは、コンピュータをネットワークで接続したサーバーシステムを示す。図１において、サーバーシステム１は、処理装置としての複数のシステムボード（ＳＢ：System  Board）１Ａ〜１Ｐと、システム制御装置（ＳＶＰ：SerVice  Processor）としての管理ボード（ＭＭＢ:ManageMent  Board）２と、クロスバスイッチ（又はスイッチ）３０Ａ〜３０Ｄとを有する。
【００１７】
図１の実施の形態では、第１のスイッチボード３Ａは第１のクロスバスイッチ３０Ａと第２のクロスバスイッチ３０Ｂとを搭載する。第１のクロスバスイッチ３０Ａと第２のクロスバスイッチ３０ＢとはバスＬ１、Ｌ２で接続される。又、第２のスイッチボード３Ｂは第３のクロスバスイッチ３０Ｃと第４のクロスバスイッチ３０Ｄとを搭載する。第３のクロスバスイッチ３０Ｃと第４のクロスバスイッチ３０ＤとはバスＬ３、Ｌ４で接続される。
【００１８】
更に、第１のクロスバスイッチ３０Ａと第４のクロスバスイッチ３０ＤとはバスＬ９、Ｌ１０で接続される。第２のクロスバスイッチ３０Ｂと第３のクロスバスイッチ３０ＣとはバスＬ１１、Ｌ１２で接続される。
【００１９】
第１、第２、第３、第４のシステムボード１Ａ，１Ｂ，１Ｃ、１Ｄは、各々第１、第２、第３、第４のバスＬ２０、Ｌ２１、Ｌ２２、Ｌ２３により第１のクロスバスイッチ３０Ａに接続する。第５、第６、第７、第８のシステムボード１Ｅ，１Ｆ，１Ｇ、１Ｈは、各々第５、第６、第７、第８のバスＬ２４、Ｌ２５、Ｌ２６、Ｌ２７により第２のクロスバスイッチ３０Ｂに接続する。
【００２０】
第９、第１０、第１１、第１２のシステムボード１Ｉ，１Ｊ，１Ｋ、１Ｌは、各々第９、第１０、第１１、第１２のバスＬ２８、Ｌ２９、Ｌ３０、Ｌ３１により第３のクロスバスイッチ３０Ｃに接続する。第１３、第１４、第１５、第１６のシステムボード１Ｍ，１Ｎ，１Ｏ、１Ｐは、各々第１３、第１４、第１５、第１６のバスＬ３２、Ｌ３３、Ｌ３４、Ｌ３５により第４のクロスバスイッチ３０Ｄに接続する。
【００２１】
管理ボード（以下、ＭＭＢという）２は、内部バスＬ４０、Ｌ４２により各システムボード１Ａ〜１Ｐと接続する。ＭＭＢ２は、内部バスＬ４０，Ｌ４２を介し、各システムボード１Ａ〜１Ｐの状態監視、状態設定、起動、停止制御等を行う。
【００２２】
図１では、サーバーシステム１は１６台のシステムボード１Ａ〜１Ｐと４台のクロスバスイッチ３０Ａ〜３０Ｄとで構成された例で示したが、システムボードの台数及びクロスバスイッチの台数は１６台、４台に限られない。
【００２３】
図２を用いて、システムボード１Ａ〜１Ｐの構成を説明する。図２に示すように、各システムボード１Ａ（１Ｂ〜１Ｐ）は複数のＣＰＵチップ１０−０〜１０−３（図示「ＣＰＵ」）と、システムコントローラ（ＳＣ:System  Controller）１２と、主記憶装置（メモリ）１４とを有する。ＣＰＵチップ１０−０〜１０−３は、ＣＰＵ本体（図示せず）とキャッシュメモリ（ＣＭ）１６−０〜１６−３とキャッシュタグメモリ（ＴＡＧ）１８−０〜１８−３とを有する。キャッシュタグメモリ（ＣＰＵキャッシュタグメモリという）１８−０〜１８−３は、同じＣＰＵチップに搭載されたキャッシュメモリの状態を示すキャッシュタグ情報を保持する。
【００２４】
システムコントローラ１２は、バスＬＡ０〜ＬＡ３により各ＣＰＵチップ１０−０〜１０−３に接続する。又、システムコントローラ１２は、主記憶装置１４にメモリバスＬＭにより接続する。更に、システムコントローラ１２はクロスバスイッチ３０Ａ（３０Ｂ〜３０Ｄ）に接続する。そしてシステムコントローラ１２は、システムボード１０−０〜１０−３間の通信インタフェース制御を行い、且つ主記憶装置１４のアクセス及びクロスバスイッチを介し他のシステムボードとの通信インタフェース制御を行う。例えば、システムコントローラ１２はＬＳＩ回路で構成される。
【００２５】
システムコントローラ１２は、ＣＰＵチップ１０−０〜１０−３のＣＰＵキャッシュタグメモリ１８−０〜１８−３が保存するキャッシュタグ情報のコピーを格納するキャッシュタグメモリ（ＳＣキャッシュタグメモリという）２０−０〜２０−３を有する。システムコントローラ１２がＣＰＵキャッシュメモリのタグのコピーを持つため、ＳＭＰシステムにおけるスヌープによる高速なキャッシュアクセスが実現できる。
【００２６】
ＣＰＵキャッシュタグメモリ１８−０〜１８−３は、登録アドレス（フレームアドレス又はタグともいう）とキャッシュステータスとを格納する。キャッシュメモリのステータスはＭ（Modify）、Ｏ（Owner）、Ｓ（Share）、Ｉ（Invalid）の４状態である。キャッシュタグメモリの構造はセットアソシアティブ（Set  Associative）方式のデータ構造である。セットアソシアティブ方式は複数のタグにより構成されるデータ格納構造（連想度２以上）であり、同一のエントリに異なるフレームアドレスのデータを格納できる。又、キャッシュタグメモリ１８−０〜１８−３のアドレスには物理アドレス（ＰＡ：Physical  Address）)の一部を使用する。
【００２７】
この実施の形態では、システムコントローラ１２が最大４台のＣＰＵチップを接続できる例で示したが、システムコントローラ１２が少なくとも２台のＣＰＵチップを接続できる構成でも良い。又、システムボード１Ａ（１Ｂ〜１Ｐ）が４台のＣＰＵチップを搭載した例で説明したが、システムボード１Ａが少なくとも１台のＣＰＵチップを搭載する構成でも良い。
【００２８】
（情報処理システムのキャッシュ同期制御）
図３は、図２のシステムボードの構成の一例を示すブロック図である。図３において、図１及び図２で示したものと同一のものは同一の記号で示してある。図３において、システムボード１Ａは複数のＣＰＵチップ１０−０〜１０−３とシステムコントローラ１２とを有する。システムコントローラ１２にバスＬＡ０〜ＬＡ３で接続された複数のＣＰＵチップ１０−０〜１０−３は、同一のデイレクトリデータベースを共有するコンピュータ群（ドメイン（domain）という）である。
【００２９】
システムボード１Ｂは、複数のＣＰＵチップ１０−４〜１０−７とシステムコントローラ１２とを有する。システムコントローラ１２にバスＬＡ４〜ＬＡ７で接続された複数のＣＰＵチップ１０−４〜１０−７は、ＣＰＵチップ１０−０〜１０−３を含むドメインとは他のドメインである。尚、図２で説明した主記憶装置１４がシステムボード１Ａ、１Ｂに搭載されている。
【００３０】
システムボード１Ａには、キャッシュメモリ容量が異なる複数のＣＰＵチップ１０−０〜１０−３が搭載されている。システムボード１Ｂには、キャッシュメモリ容量が同一である複数のＣＰＵチップ１０−４〜１０−７が搭載されている。この実施の形態では、システムボード１ＡのＣＰＵチップ１０−０は第１の容量のキャッシュメモリを搭載し、システムボード１ＡのＣＰＵ１０−１〜１０−３は第１の容量の２倍の第２の容量のキャッシュメモリを搭載する。
【００３１】
このキャッシュメモリの容量の相違に従い、ＣＰＵチップ１０−０は第１の容量（例えば、２Ｋ−ＬＩＮＥ（２０００行））のＣＰＵキャッシュタグメモリ１８−０を有し、ＣＰＵ１０−１〜１０−３は第１の容量の２倍の第２の容量（例えば、４Ｋ−ＬＩＮＥ（４０００行））のＣＰＵキャッシュタグメモリ１８−１〜１８−３を有する。
【００３２】
システムコントローラ１２は、ＣＰＵチップ１０−０〜１０−３毎のＳＣキャッシュタグメモリ２０−０〜２０−３とキャッシュ同期制御部２２とを有する。
【００３３】
ＳＣキャッシュタグメモリ２０−０〜２０−３は、対応するＣＰＵキャッシュタグメモリ１８−０〜１８−３のコピーを格納する。各ＳＣキャッシュタグメモリ２０−０〜２０−３のメモリ容量は同一（２Ｋ，２Ｋで示す）である。
【００３４】
ＣＰＵチップ１０−０に対応するＳＣキャッシュタグメモリ２０−０は、ＳＣキャッシュタグメモリ２０−０の半分の領域２Ｋ（例えば、２Ｋ−ＬＩＮＥ）を、ＣＰＵキャッシュタグメモリ１８−０のコピー領域に使用する。ＣＰＵチップ１０−１〜１０−３に対応するＳＣキャッシュタグメモリ２０−１〜２０−３は、ＳＣキャッシュタグメモリ２０−０の全体の領域２Ｋ＋２Ｋ（例えば、４Ｋ−ＬＩＮＥ）を、ＣＰＵキャッシュタグメモリ１８−１〜１８−３のコピー領域に使用する。
【００３５】
キャッシュ同期制御部２２は、同一キャッシュアドレスを要求する連続したリクエストを処理する際に、先発リクエストによるキャッシュ管理情報（ＴＡＧ)の更新完了前に到来した後続リクエストはリトライするビジー制御を行う。
【００３６】
このキャッシュ同期制御部２２は、ＳＣキャッシュタグメモリ２０−０のビジー範囲を第１の範囲（ＢＵＳＹ２Ｋ）の設定値２２−０で監視し、ＳＣキャッシュタグメモリ２０−１〜２０−３のビジー範囲を第２の範囲（ＢＵＳＹ４Ｋ）の設定値２２−１〜２２−３で監視する。
【００３７】
このように、システムコントローラ１２が、ＣＰＵチップ毎に個別にビジー監視範囲設定を行うので、キャッシュメモリ容量が異なるＣＰＵチップを混在した情報処理システムにおいて、ＣＰＵチップの性能を向上することができる。特に、ＣＰＵ１０−０とＣＰＵ１０−１〜１０−３とがドメインで別れている場合に有効である。
【００３８】
更に詳細に、本実施の形態に係るシステムコントローラ内のキャッシュビジー制御について説明する。図４は、図２の主記憶装置のメモリアドレスマップの説明図である。主記憶装置１４の記憶領域が、例えば、２５６バイト（Ｂｙｔｅ）単位に物理アドレスＡ０〜Ａ２０４７、Ｂ０〜Ｂ２０４７が割り当てられたとする。又、ＣＰＵからの物理アドレスＰＡを３９ビットの［４１：３］とする。物理アドレスＰＡの一部である物理アドレスＰＡ［４１：８］の上位２３ビット［４１：１９］をフレームアドレス（又はタグ）とし、下位１１ビット［１８：８］をエントリアドレスと定義する。
【００３９】
図５及び図７に示すように、キャッシュタグメモリ２０−０〜２０−３は、２３ビットの登録アドレスと８ビットのキャッシュステータス(ＳＴＳ［７：０］)を格納する。この登録アドレスは、物理アドレスの上位２３ビットＰＡ［４１：１９］である。
【００４０】
キャッシュタグメモリ２０−０〜２０−３の構造は前述のセットアソシアティブ方式であるため、登録アドレス及びキャッシュステータスを格納するキャッシュタグメモリ２０−０〜２０−３のアドレスには物理アドレス（ＰＡ）の一部を使用する。
【００４１】
図５は、本実施の形態の、キャッシュメモリの容量が１倍のＣＰＵチップ１０−０のＳＣキャッシュタグメモリ２０−０の説明図である。図５は、インデックスとステータスと登録アドレスとメインメモリの物理アドレスの関係を示す。ＳＣキャッシュタグメモリ２０−０は２Ｋ−ＬＩＮＥ（登録行が２０００行）に設定されているため、１１ビットの物理アドレスＰＡ［１８：８］をインデックスに使用する。そして、ビジー監視範囲も２Ｋ−ＬＩＮＥの１１ビットの物理アドレスＰＡ［１８：８］に設定する。
【００４２】
この場合、登録アドレスに物理アドレスの上位２３ビットＰＡ［４１：１９］を使用しているため、メインメモリの物理アドレスＡ０とＢ０の登録アドレスは同一となる。同様に、メインメモリの物理アドレスＡ１とＢ１の登録アドレスは同一となる。従って、キャッシュメモリ１６−０では、物理アドレスＡ０のデータがロックされると、物理アドレスＢ０のデータもロックされる。
【００４３】
図６は、キャッシュメモリの容量が２倍のＣＰＵチップ１０−１〜１０−３のＳＣキャッシュタグメモリ２０−１〜２０−３に、図５と同じ２Ｋ−ＬＩＮＥ（登録行が２０００行）のビジー設定をした場合の説明図である。
【００４４】
即ち、図６に示すように、キャッシュ容量が倍になっているにもかかわらず、ビジー制御用のインデックスを、キャッシュ容量が１倍のものと同じ物理アドレスＰＡ［１８：８］を使用する。この場合、キャッシュ容量が倍でも、物理アドレスＡ０とＢ０の登録アドレスＰＡ［４１：１９］は同一のため、例えば、物理アドレスＡ０のデータがロックされていると、物理アドレスＢ０もロックされる。そのため、本来ロックをかける必要のない物理アドレスＢ０もビジー監視対象となり、不要なビジーによるリトライ処理が発生し、処理のスループットが低下する。
【００４５】
図７は、本実施の形態の、キャッシュ容量が２倍の場合のＳＣキャッシュタグメモリ２０−１〜２１−３におけるインデックスとステータスと登録アドレスとメインメモリの物理アドレスの関係を示す。ＳＣキャッシュタグメモリ２０−１〜２１−３は４Ｋ−ＬＩＮＥ（登録行が４０００行）に設定されているため、１２ビットの物理アドレスＰＡ［１９：８］をインデックスに使用する。そして、ビジー監視範囲も４Ｋ−ＬＩＮＥの１２ビットの物理アドレスＰＡ［１９：８］に設定する。
【００４６】
従って、ビジー制御用インデックスの最上位ビット「１９」によって、登録アドレスＡ０とＢ０とは別のエントリとして認識される。物理アドレスＡ０がロックされている場合、物理アドレスＡ０のみビジーとなり、物理アドレスＢ０はビジーと判定されない。そのため、図７のビジー範囲の設定方法は図６に比べ、ビジーの発生率は減少して、リトライ頻度が下がり、処理のスループットが向上する。このビジー範囲の設定は、図１のＭＭＢ２に実装されるファームウェアが行う。
【００４７】
図８は、図２のシステムボードの構成の他の例を示すブロック図である。図８において、図３で説明したものと同一のものは同一の記号で示してある。図８に示すように、キャッシュ同期制御部２２Ａは、ＳＣキャッシュタグメモリ２０−０のビジー範囲を第１の範囲（ＢＵＳＹ２Ｋ）の設定値２４Ａで監視し、ＳＣキャッシュタグメモリ２０−１〜２０−３のビジー範囲を第２の範囲（ＢＵＳＹ４Ｋ）の設定値２４Ｂで監視する。
【００４８】
この場合、図３のように、ＳＣキャッシュタグメモリ２０−０〜２０−３毎に設定レジスタを設ける代わりに、キャッシュ同期制御部２２Ａに２つの設定レジスタ２４Ａ，２４Ｂと、選択回路２８と、ＭＭＢ２からの選択指示を保持する選択指示レジスタ２６とを設ける。選択回路２８が選択指示レジスタ２８からの選択指示で設定レジスタ２４Ａ、２４Ｂのいずれかを選択し、ビジー範囲監視に使用する。
【００４９】
図９は、図３のシステム構成の他の例を示すブロック図である。図９において、図３で説明したものと同一のものは同一の記号で示してある。図９に示すように、各システムボード１Ａ〜１Ｈは１つのＣＰＵチップ１０−０〜１０−７を搭載する。この例でも、システムボード１ＡのＣＰＵチップ１０−０は第１の容量のキャッシュメモリを搭載し、システムボード１Ｂ〜１ＨのＣＰＵ１０−１〜１０−７は第１の容量の２倍の第２の容量のキャッシュメモリを搭載する。
【００５０】
このキャッシュメモリの容量の相違に従い、ＣＰＵチップ１０−０は第１の容量（例えば、２Ｋ−ＬＩＮＥ（２０００行））のＣＰＵキャッシュタグメモリ１８−０を有し、ＣＰＵ１０−１〜１０−７は第１の容量の２倍の第２の容量（例えば、４Ｋ−ＬＩＮＥ（４０００行））のＣＰＵキャッシュタグメモリ１８−１〜１８−７を有する。
【００５１】
一対のシステムコントローラ１２Ａ，１２Ｂは、システムボード１Ａ〜１Ｈとは別に設けられたボード（システムボードという）に設けられる。このシステムボード１２Ａ，１２Ｂに主記憶装置を設ける。システムコントローラ１２Ａ、１２Ｂは、ＣＰＵチップ１０−０〜１０−７毎のＳＣキャッシュタグメモリ２０−０〜２０−７とキャッシュ同期制御部２２とを有する。
【００５２】
ＳＣキャッシュタグメモリ２０−０〜２０−７は、ＣＰＵキャッシュタグメモリ１８−０〜１８−７のコピーを格納する。各ＳＣキャッシュタグメモリ２０−０〜２０−７のメモリ容量は同一である。図示「２Ｋ」はメモリ容量を示す。
【００５３】
ＣＰＵチップ１０−０に対応するＳＣキャッシュタグメモリ２０−０はＳＣキャッシュタグメモリ２０−０の半分の領域２Ｋ（例えば、２Ｋ−ＬＩＮＥ）をＣＰＵキャッシュタグメモリ１８−０のコピー領域に使用する。ＣＰＵチップ１０−１〜１０−７に対応するＳＣキャッシュタグメモリ２０−１〜２０−７は、ＳＣキャッシュタグメモリ２０−０の全体の領域２Ｋ＋２Ｋ（例えば、４Ｋ−ＬＩＮＥ）をＣＰＵキャッシュタグメモリ１８−１〜１８−７のコピー領域に使用する。
【００５４】
キャッシュ同期制御部２２Ａは、ＳＣキャッシュタグメモリ２０−０のビジー範囲を第１の範囲（ＢＵＳＹ２Ｋ）の設定値２２−０で監視し、ＳＣキャッシュタグメモリ２０−１〜２０−３のビジー範囲を第２の範囲（ＢＵＳＹ４Ｋ）の設定値２２−１〜２２−３で監視する。
【００５５】
キャッシュ同期制御部２２Ｂは、ＳＣキャッシュタグメモリ２０−４〜２０−７のビジー範囲を第２の範囲（ＢＵＳＹ４Ｋ）の設定値２２−４〜２２−７で監視する。
【００５６】
このようなシステムコントローラ１２Ａ，１２Ｂがシステムボード１Ａ〜１Ｈ外にあり、各システムボード１Ａ〜１Ｈがシステムコントローラ１２Ａ、１２Ｂに接続される構成においても、本実施の形態のビジー制御を適用できる。
【００５７】
（システムコントローラ）
図１０は、本実施の形態のシステムコントローラの構成を示すブロック図である。図１１は、図１０のレジスタ部のビジー設定レジスタの説明図である。図１０において、図１乃至図４で説明したものと同一のものは同一の記号で示してある。
【００５８】
図１０に示すように、システムコントローラ１２は、コマンド制御部４０と、結果確定部５２を含むパイプライン部４２と、各ＣＰＵチップ１０−０〜１０−３とのＣＰＵインタフェース部４４と、主記憶装置（メモリ）１４とのメモリインタフェース部４６と、ビジー制御部５６と、キャッシュタグメモリ制御部２１−０〜２１−３と、レジスタ部５８と、アドレスロックレジスタ部５４とを有する。キャッシュ同期機構２２は、ビジー制御部５６と、レジスタ部５８と、アドレスロックレジスタ部５４とを有する。
【００５９】
コマンド制御部４０は、各ＣＰＵチップ１０−０〜１０−３のＣＰＵから転送されるコマンドをコマンドキューに格納した後、コマンドの宛先を解析し、解析した宛先に応じてコマンドをクロスバスイッチ３０Ａ（図１参照）又はパイプライン部４２に出力する。この実施の形態では、コマンドはリクエストパケットで構成される。
【００６０】
リクエストパケットは、ＶＡＬビット（リクエスト有効を示すValid信号）と３９ビットのリクエストの物理アドレスＰＡ［４１：３］と４ビットのリクエスト要求元の ＣＰＵ番号とを含む。この物理アドレスの一部の１２ビット［１９：０８］をインデックスとする。又、４ビットｂｉｔ０〜３のリクエスト要求元のＣＰＵ番号では、bit0＝１がＣＰＵ０（１０−０）からのリクエスト、bit1＝１がＣＰＵ１（１０−１）からのリクエスト、bit2＝１がＣＰＵ２（１０−２）からのリクエスト、bit3＝１がＣＰＵ３（１０−３）からのリクエストとする。
【００６１】
パイプライン部４２は複数の直列接続されたＦＦ（Flip  Flop）回路５０−０〜５０−ｎを有し、キャッシュタグメモリ制御部２１−０〜２１−３の検索処理の待ち合わせのため、タイミング調整を行う。即ち、ＦＦ回路５０−０〜５０−ｎは、時刻ＴＰ毎にコマンドを後段のＦＦ回路５０−１〜５０−ｎにシフトする。コマンド制御部４０はコマンドをパイプライン部４２へ転送する。パイプライン部４２の初段目のＦＦ回路５０−０はコマンド制御部４０からのコマンドを受信する。パイプライン部４２の初段目のＦＦ回路５０−０のコマンドは、信号線Ｓ１を介しキャッシュタグメモリ制御部２１−０〜２１−３のＦＦ回路４８−１、アドレスロックレジスタ部５４のＦＦ回路４８−２に転送される。
【００６２】
キャッシュタグメモリ制御部２１−０〜２１−３は、各々ＣＰＵチップ１０−０〜１０−３のＳＣキャッシュタグメモリ２０−０〜２０−３を有する。又、キャッシュタグメモリ制御部２０−０〜２０−３は、ＴＡＧ更新ゲート２１０とキャッシュタグメモリ２０−０の検索部２１２と、ＦＦ回路２１３と、コマンドの物理アドレスの上位ビットＰＡ［４１：１９］を保持するＦＦ回路２１５と、タイミング調整用のＦＦ回路２１５と、比較回路２１６と、出力用ＦＦ回路２１７と、ＴＡＧ更新用ＦＦ回路２１８とを有する。
【００６３】
各キャッシュタグメモリ制御部２１−０〜２１−３では、検索部２１２がＦＦ回路４８−１からのコマンドを、ＴＡＧ更新ゲート２１０を介し受ける。検索部２１２は、コマンドに含まれるインデックスを抽出し、前述のインデックスでキャッシュタグメモリ２０−０〜２０−３を検索する。検索部２１２の検索結果はＦＦ回路２１３に保持される。
【００６４】
又、キャッシュタグメモリ制御部２１−０〜２１−３では、ＦＦ回路２１４がＦＦ回路４８−１の物理アドレスの上位ビットＰＡ［４１：１９］を保持し、タイミング調整用ＦＦ回路２１５を介し比較回路２１６へ出力する。比較回路２１６は、ＦＦ回路２１３の検索結果とＦＦ回路２１５の上位ビットＰＡ［４１：１９］とを比較し、キャッシュヒット又はミスヒットの判定結果を出力ＦＦ回路２１７に出力する。
【００６５】
アドレスロックレジスタ部５４は、アドレスロック部とアドレス競合検査部７とを有する。アドレスロック部は、ロックレジスタセットゲート５１２と、ＦＦ回路５１４と、コマンドの物理アドレスを保持するロックレジスタ５１６と、出力用ＦＦ回路５１８と、ロックレジスタセット／リセット信号を保持するＦＦ回路５００とを有する。又、アドレス競合検査部７は、図１３で詳述するように、コマンド内の物理アドレスからＦＵＬＬアドレス［４１：３］とインデックス［１９：８］を抽出し、レジスタ部５８から信号線Ｓ５を介し通知されたビジー範囲でアドレス競合検査を行う。そして、アドレス競合検査部７は、インデックスビジー又はフルアドレスビジーと判定すると、信号線Ｓ６を介しコマンド制御部４０にリトライ要求を出力する。
【００６６】
パイプライン部４２の結果確定部５２は、信号線Ｓ２及びタイミング調整用ＦＦ回路５１−０〜５１−ｍを介し、各キャッシュタグ制御部２１−０〜２１−３からのキャッシュ検索結果と他のシステムボードの状態を受信する。そして、結果確定部５２は、各キャッシュタグ制御部２１−０〜２１−３からのキャッシュ検索結果と他のシステムボードの状態からパイプライン部４２（最終段のＦＦ回路５０−ｎ）のコマンドの転送先を確定し、コマンドを信号線Ｓ３を介し該当のあて先へ転送する。
【００６７】
例えば、結果確定部５２は、ＣＰＵ１０−０〜１０−３のいずれかのキャッシュメモリ１６−０〜１６−１に当該コマンドのデータが存在した場合には、信号線Ｓ３及びＣＰＵインタフェース部４４を介し当該コマンドのデータの存在するＣＰＵ１０−０〜１０−３にコマンドを転送する。又、結果確定部５２は、ＣＰＵ１０−０〜１０−３のいずれのキャッシュメモリ１６−０〜１６−１に当該コマンドのデータが存在しない場合には、信号線Ｓ３及びメモリインタフェース部４６を介しメモリ１４にコマンドを転送する。
【００６８】
更に、結果確定部５２は、コマンドの転送先を確定した場合には、ＴＡＧ更新信号を信号線Ｓ３を介し各キャッシュタグ制御部２１−０〜２１−３のＴＡＧ更新用ＦＦ回路２１８に、ロックレジスタリセット信号を信号線Ｓ３を介しアドレスロックレジスタ部５４のＦＦ回路５００に出力する。各キャッシュタグ制御部２１−０〜２１−３では、ＴＡＧ更新ゲート２１０からＦＦ回路４８−１のコマンドが検索部２１２に入力することを許可される。又、アドレスロックレジスタ部５４では、アドレス更新ゲート５１２からＦＦ回路４８−２のコマンドがロックレジスタ５１６に入力することを許可される。
【００６９】
レジスタ部５８は、ビジー設定変更部２３とビジー設定レジスタ２２−０〜２２−３とを有する。ビジー設定変更部２３は、ＭＭＢ２から転送されたビジー範囲設定値をビジー設定レジスタ２２−０〜２２−３に設定する。図１１は、ビジー設定レジスタ２２−０〜２２−３におけるＣＰＵ０〜３（１０−０〜１０−３）毎に、ビジー範囲設定値（４Ｋ＿ＬＩＮＥ＿ＭＯＤＥ）とビジーモードを示す。この例では、ビジー範囲設定値は４Ｋ＿ＬＩＮＥ＿ＭＯＤＥが「０」の場合は、ビジーモードは「２Ｋ＿ＬＩＮＥ  ＢＵＳＹ」を示し、４Ｋ＿ＬＩＮＥ＿ＭＯＤＥが「１」の場合は、ビジーモードは「４Ｋ＿ＬＩＮＥ  ＢＵＳＹ」を示す。
【００７０】
ビジー制御部５６はアドレス競合検査部６を有する。後述するように、アドレス検査部６は、信号線Ｓ４を介し受けたパイプライン部４２の各ＦＦ回路５０−４〜５０−ｎ−１に保持されたコマンドのインデックスＰＡ［１９：８］の競合検査を、レジスタ部５８から信号線Ｓ５を介し受けたビジー範囲で実行する。そして、ビジー制御部５６は、インデックスビジーと判定すると、信号線Ｓ８を介し、コマンド制御部４０へコマンドリトライ要求を出力し、またコマンド制御部４０内のキューに蓄積されたコマンドをパイプライン部４２へ投入/抑止する。
【００７１】
この実施の形態では、後述する動的ビジー範囲変更制御のため、アドレスロックレジスタ部５４のアドレスロック状態が信号線Ｓ７でビジー制御部５６へ通知される。又、ビジー制御部５６から信号線Ｓ９でビジー範囲設定変更可能通知がレジスタ部５８に通知される。
【００７２】
（アドレス競合検査部）
次に、ビジー制御部５６のアドレス競合検査部６とアドレスロックレジスタ部５４のアドレス競合検査部７とを説明する。図１２は、ビジー制御部５６のアドレス競合検査部６のブロック図である。
【００７３】
アドレス競合検査部６はパイプライン部４２内のインデックスのアドレス競合検査を行うものである。アドレス競合検査部６は、キャッシュタグメモリ２０−０〜２０−３の更新先のアドレスが確定する前の期間の更新の可能性があるアドレスに対しアドレス競合検査を行い、且つインデックスが一致するアドレス全部を検査対象とする。これにより、今後更新される可能性のあるキャッシュタグメモリ２０−０〜２０−３のアドレスへ後発リクエストがアクセスすることを防ぐ。
【００７４】
図１２に示すように、アドレス競合検査部６は、２つの比較回路６０，６２と、２つのアンド（ＡＮＤ）回路６３，６４と、１つのオア（ＯＲ）回路６５と、選択回路６６とを有する。第１の比較回路６０は、ＦＦ回路５０−４（タイミングＴＰ０４）が保持するＴＰ０４＿インデックスＰＡ［１９：８］（第２のビジー範囲）と、ＦＦ回路５０−４以降に接続されたＦＦ回路５０−５〜５０−ｎ−１が保持するＴＰｘｘ＿インデックスＰＡ［１９：８］とを比較する。
【００７５】
第２の比較回路６２は、ＦＦ回路５０−４（タイミングＴＰ０４）が保持するＴＰ０４＿インデックスＰＡ［１８：８］（第１のビジー範囲）と、ＦＦ回路５０−４以降に接続されたＦＦ回路５０−５〜５０−ｎ−１が保持するＴＰｘｘ＿インデックスＰＡ［１８：８］とを比較する。即ち、検査タイミングがＴＰ０４であり、検査対象がＴＰ０４（ＦＦ回路５０−４）以降のステージに存在するリクエストである。
【００７６】
第１のアンド回路６３は、図１１で示した４ビットの４Ｋ＿ＬＩＮＥ＿ＭＯＤＥ信号（ビジー範囲設定値）と比較回路６０の比較結果（一致／不一致）とのアンド（論理積）を演算する。第２のアンド回路６４は、図１１で示した４ビットの４Ｋ＿ＬＩＮＥ＿ＭＯＤＥ信号（ビジー範囲設定値）の反転信号と比較回路６２の比較結果（一致／不一致）とのアンド（論理積）を演算する。
【００７７】
オア回路６５は、両アンド回路６３，６４の演算結果の論理和を演算する。選択回路６６は、ＦＦ回路５０−４からのＣＰＵ番号ＴＰ０４＿ＣＰＵ［３：０］により、オア回路６５の４ビットの演算結果のいずれかを選択する。
【００７８】
即ち、第１の比較回路６０で第２のビジー範囲の競合を検査し、第２の比較回路６２で第１のビジー範囲の競合を検査する。そして、第１のアンド回路６３で第２のビジー範囲の競合結果を、第２のアンド回路６４で第１のビジー範囲の競合結果を取り出す。選択回路６６は、オア回路６５を経由した第１、第２のビジー範囲の競合結果からリクエストに対応するＣＰＵの競合結果を選択する。
【００７９】
選択回路６６は、図１０の信号線Ｓ８を介しインデックスビジー信号をコマンド制御部４０に出力する。例えば、インデックスビジー信号が「１」の場合インデックスビジーであることを、「０」の場合インデックスビジーでないことを示す。ビジー制御部５６のアドレス競合検査の結果、パイプライン部４２内の先行リクエストにアドレス競合するものがあると判定された場合（インデックスビジーの場合）、ビジー制御部５６はコマンド制御部４０に対し、リクエストの再投入を要求する。
【００８０】
このようにして、アドレス競合検査部６はパイプライン部４２内の先行するリクエストとのアドレス競合検査を行い、コマンド制御部４０を制御する。
【００８１】
図１３は、アドレスロックレジスタ部５４のアドレス競合検査部７のブロック図である。図１３に示すように、アドレス競合検査部７は、インデックス競合検査部７Ａと、フルアドレス競合検査部７Ｂとを有する。
【００８２】
インデックス競合検査部７Ａは、検査タイミングＴＰ０１において、アドレスロックレジスタ５１６にセットされているリクエストを検査対象とし、アドレスキャッシュ管理情報（ＴＡＧ）更新先のアドレス確定後からＣＰＵ処理完了までの間、要求元のアドレスに対して競合検査を行う。他のＣＰＵから要求されたデータが自ＣＰＵに転送され、自ＣＰＵのキャッシュメモリに保存される際に、保存先アドレスはインデックスで特定されるので、後発リクエストがその保存されるアドレスにアクセスすることを防ぐことができる。
【００８３】
インデックス競合検査部７Ａは、２つの比較回路７０，７２と、２つのアンド（ＡＮＤ）回路７３，７４と、１つのオア（ＯＲ）回路７５と選択回路７６とを有する。
【００８４】
第１の比較回路７０は、ＦＦ回路５０−１（タイミングＴＰ０１）が保持するＴＰ０１＿インデックスＰＡ［１９：８］（第２のビジー範囲）とアドレスロックレジスタ５１６が保持するＲＥＧ＿ＡＤＲＳ［１９：８］とを比較する。第２の比較回路７２は、ＦＦ回路５０−１（タイミングＴＰ０１）が保持するＴＰ０１＿インデックスＰＡ［１８：８］（第１のビジー範囲）とアドレスロックレジスタ５１６が保持するＲＥＧ＿ＡＤＲＳ［１８：８］とを比較する。
【００８５】
即ち、検査タイミングがＴＰ０１であり、検査対象がＴＰ０１（ＦＦ回路５０−１）以降のリクエストである。
【００８６】
第１のアンド回路７３は、図１１で示した４ビットの４Ｋ＿ＬＩＮＥ＿ＭＯＤＥ信号（ビジー範囲設定値）と比較回路７０の比較結果（一致／不一致）とのアンド（論理積）を演算する。第２のアンド回路７４は、図１１で示した４ビットの４Ｋ＿ＬＩＮＥ＿ＭＯＤＥ信号（ビジー範囲設定値）の反転信号と比較回路７２の比較結果（一致／不一致）とのアンド（論理積）を演算する。
【００８７】
オア回路７５は、両アンド回路７３，７４の演算結果の論理和を演算する。選択回路７６は、ＦＦ回路５０−１からのＣＰＵ番号ＴＰ０１＿ＣＰＵ［３：０］により、オア回路７５の４ビットの演算結果のいずれかを選択する。
【００８８】
即ち、第１の比較回路７０で第２のビジー範囲の競合を検査し、第２の比較回路７２で第１のビジー範囲の競合を検査する。そして、第１のアンド回路７３で第２のビジー範囲の競合結果を、第２のアンド回路７４で第１のビジー範囲の競合結果を取り出す。選択回路７６はオア回路７５を経由した第１、第２のビジー範囲の競合結果からリクエストに対応するＣＰＵの競合結果を選択する。
【００８９】
選択回路７６は、図１０の信号線Ｓ６を介し、インデックスビジー信号をコマンド制御部４０に出力する。例えば、インデックスビジー信号が「１」の場合インデックスビジーであることを、「０」の場合インデックスビジーでないことを示す。アドレスロックレジスタ部５４のアドレス競合検査の結果、パイプライン部４２内の後発リクエストにアドレス競合するものがあると判定された場合（インデックスビジーの場合）、アドレスロックレジスタ部５４はコマンド制御部４０に対し、リクエストの再投入を要求する。
【００９０】
次に、フルアドレス競合検査部７Ｂは、後発リクエストとアドレスロックレジスタ５１６とのアドレスの競合検査を行う。フルアドレス競合検査部７Ｂは、キャッシュ管理情報（ＴＡＧ）更新先のアドレスが確定後からＣＰＵ処理完了までの間、更新の可能性があるアドレスに対し行う。更新先アドレスは特定されているので、そのアドレスをアドレスロックレジスタに保存し、後発リクエストがキャッシュタグメモリ処理中のアドレスにアクセスすることを防ぐ。
【００９１】
フルアドレス競合検査部７Ｂは、ＦＦ回路５０−１（タイミングＴＰ０１）が保持するフルアドレスＴＰ０１＿ＰＡ［４１：０］とアドレスロックレジスタ５１６が保持するフルアドレスＲＥＧ＿ＡＤＲＳ［４１：０］とを比較する比較回路７８を有する。
【００９２】
比較回路７８は、図１０の信号線Ｓ６を介し、フルアドレスビジー信号をコマンド制御部４０に出力する。アドレスロックレジスタ部５４のフルアドレス競合検査の結果、パイプライン部４２内の後発リクエストにアドレス競合するものがあると判定された場合（フルアドレスビジーの場合）、アドレスロックレジスタ部５４はコマンド制御部４０に対し、リクエストの再投入を要求する。
【００９３】
このようにして、アドレスロックレジスタ５１６にセットされているリクエストアドレスと後発リクエストとの競合検査を行う。
【００９４】
（キャッシュ同期処理）
図１４は、図１０及び図１２で説明したビジー制御部５６のアドレス競合検査の動作説明図である。図１５は、図１０及び図１３で説明したアドレスロックレジスタ部５４のアドレス競合検査の動作説明図である。尚、図１４及び図１５において、横軸が時刻、縦軸が検査対象のレジスタ及びＦＦ回路（ＴＰ０１〜ＴＰｎｎで示す）を示す。
【００９５】
以下、図１０乃至図１３の構成の動作を、図１４及び図１５を参照して説明する。先ず、ＭＭＢ２は、レジスタ部５８内のビジー設定レジスタ２２−０〜２２−３に各ＣＰＵのビジーモードを設定する（図１１参照）。図１１で説明したように、２Ｋ＿ＬＩＮＥ  ＢＵＳＹモードでは、４Ｋ＿ＬＩＮＥ＿ＭＯＤＥに「０」を設定し、４Ｋ＿ＬＩＮＥ  ＢＵＳＹモードでは、４Ｋ＿ＬＩＮＥ＿ＭＯＤＥに「１」を設定する。
【００９６】
コマンド制御部４０が、ＣＰＵ１０−０〜１０−３から受けたリクエストをパイプライン部４２へ投入する。投入されたリクエストは、キャッシュタグメモリ制御部２１−０〜２１−３、アドレスロックレジスタ部５４にも入力される。パイプライン部４２内のリクエストは結果確定部５２まで到達する。このリクエストは、ＶＡＬビット（リクエスト有効を示すValid信号）と、３９ビットのリクエストの物理アドレスＰＡ［４１：３］と、４ビットのリクエスト要求元の ＣＰＵ番号とを含む。この物理アドレスの一部の１２ビット［１９：０８］をインデックスとする。
【００９７】
ビジー制御部５６のインデックスアドレス競合検査部６は、パイプライン部４２内の一のリクエストとこれに先行するリクエストとのアドレス競合検査を行う。この場合、前述のように、ビジー範囲をキャッシュタグメモリ容量（ＣＰＵ）毎に変えて、ビジーチエックする。
【００９８】
ビジー制御部５６のアドレス競合検査の結果、パイプライン部４２内の先行リクエストにアドレス競合するものがあると判定された場合、ビジー制御部５６はコマンド制御部４０に対し、リクエストの再投入を要求する。又、リクエストがアドレス競合せず、結果確定部５３がＴＡＧ(キャッシュ管理情報)の更新が必要と判定した場合は、ＴＡＧ更新を行い、又処理対象リクエストのフルアドレスをロックレジスタ５１６にセットする。
【００９９】
図１４のパイプライン部４２内のインデックスアドレス競合検査のタイミングチャートで説明する。図１４において、実線が先発リクエストを示し、点線が後発リクエストを示す。図１４は、先発リクエスト（実線）がＴＰ０５（ＦＦ５０−５）以降にある状態で、後発リクエスト（点線）がＴＰ０４（ＦＦ５０−４）に到達した場合のアドレス競合例を示す。即ち、先発及び後発の両方のリクエストはインデックスが一致している例である。
【０１００】
後発リクエスト（点線）は、先発リクエスト（実線）とインデックスが一致するため、競合検査部６のパイプライン内インデックスアドレス競合検査により、インデックスビジーと判定される（図１４の点線丸円のＣＨＫで示す）。インデックスビジーの判定後に後発リクエスト（点線）はコマンド制御部４０よりリトライ処理される。
【０１０１】
又、インデックスビジーと判定された後発リクエストは、パイプライン部４２内で消去する。又は後発リクエストにビジーを示すフラグを付けて結果確定部５２まで転送し、結果確定部５２が消去しても良い。
【０１０２】
次に、アドレスロックレジスタ部５４のアドレス競合検査を説明する。図１５は、アドレスロックレジスタ５４内のフルアドレス/インデックス競合検査のタイミングチャートを示す。図１５において、実線が先発リクエストを、点線が後発リクエストを、太線がＣＰＵ処理完了リクエストを示す。
【０１０３】
先発リクエスト（実線）はＴＰnnのステージで、競合結果が確定し（競合なしの確定）、キャッシュタグ情報ＴＡＧの更新アドレスが確定する。その後、先発リクエストは、タイミングＴＰnn+2でキャッシュタグメモリのＴＡＧの更新とアドレスロックレジスタ部５４への更新アドレスのセットとが行われる。ＴＡＧ更新とアドレスロックレジスタ部５４への更新アドレスのセットとは、先発リクエストパケットに含まれる情報から必要な情報を抽出して行う。
【０１０４】
次に、後発リクエストがステージＴＰ01に到達したところで、前述のアドレスロックレジスタ部５４の競合検査部７がフルアドレスの競合検査を行う（図１５の点線丸円で示す）。この時、アドレスロックレジスタ５１６に保存されているアドレスと後発リクエストのフルアドレスとが一致する場合には、競合検査部７はフルアドレスビジーと判定する。この後に、後発リクエストはコマンド制御部４０よりリトライ処理される。
【０１０５】
競合検査部７は同様に、ステージＴＰ01でアドレスロックレジスタ５１６のリクエストと後発リクエストとのインデックス競合検査を行う。競合検査部７は、インデックスが一致した場合は、インデックスビジーと判定し、後発リクエストをリトライ処理する。
【０１０６】
尚、競合検査部７がインデックス、フルアドレスのどちらで競合検査を行う否かは、リクエストのコマンドに依存する。即ち、インデックス、フルアドレス競合検査の一方でも良く、又、両方で競合検査を行う場合もある。
【０１０７】
その後、要求元ＣＰＵの処理が完了して、ＣＰＵ処理完了通知リクエストがパイプライン部４２に投入された場合、結果確定部５２が当該リクエストをアドレスロックレジスタリセットと判定し、判定結果により、ステージＴＰnn+2でアドレスロックレジスタ５１６はリセットされる。
【０１０８】
（動的キャッシュ同期処理）
図１６は、実施の形態のキャッシュ同期処理のフロー図である。
【０１０９】
（Ｓ１０）ＭＭＢ２に搭載されるファームウェアは、情報処理システムの開始指示を受けると、一旦、システムのパワーをオフした後、システムのパワーをオンする。
【０１１０】
（Ｓ１２）ＭＭＢ２のファームウェアは、パワーオン後のシステムボード１Ａ（１Ｂ〜１Ｐ）の初期化処理を行う。この初期化処理において、ＭＭＢ２のファームウェアは、システムボード１Ａ（１Ｂ〜１Ｐ）に搭載されているＣＰＵ１０−０〜１０−３の仕様情報を取得し、仕様情報を元にシステムコントローラ１２のビジー範囲設定レジスタ２２−０〜２２−３のビジー範囲値の設定を行う。そして、ＭＭＢ２のファームウェアは、システムボード１Ａ（１Ｂ〜１Ｐ）の運用を許可する（図１６のモード１）
（Ｓ１４）この運用中に何らかの原因でリブート（Re-Boot）が発生した。
【０１１１】
（Ｓ１６）リブートが発生した場合も、ＭＭＢ２のファームウェアはリブート後のシステムボード１Ａ（１Ｂ〜１Ｐ）の初期化処理を行う。この初期化処理において、ＭＭＢ２のファームウェアは、システムボード１Ａ（１Ｂ〜１Ｐ）に搭載されているＣＰＵ１０−０〜１０−３の仕様情報を取得し、仕様情報を元にシステムコントローラ１２のビジー範囲設定レジスタ２２−０〜２２−３のビジー範囲値の設定を行う。そして、ＭＭＢ２のファームウェアはシステムボード１Ａ（１Ｂ〜１Ｐ）の運用を許可する（図１６のモード２）。
【０１１２】
（Ｓ１８）運用を終了すると、システム動作を終了する。
【０１１３】
このようにして、パワーオン後及びリブートにより、ＭＭＢ２のファームウェアがシステムボードの初期化処理中にビジー範囲設定レジスタのビジー範囲値の設定変更を行うことができる。
【０１１４】
次に、他の実施の形態として、動的ビジー範囲の設定処理を説明する。
【０１１５】
図１６の設定処理では、リブートが生じないと、ビジー範囲設定レジスタ２２−０〜２２−３のビジー範囲値は変更できない。即ち、システム稼働中においては、ビジー範囲値は次の設定変更まで変化することはない。
【０１１６】
一方、活性保守等においては、システム運用中に、新たなシステムボードやシステムボード内に新たなＣＰＵチップを情報処理システムに追加、接続することがある。又、障害の発生したシステムボードやＣＰＵチップを新たなシステムボードやＣＰＵチップに交換することがある。このような動的構成変更に応じて、システム運用中にビジー範囲値の設定変更が可能な環境が要求される。
【０１１７】
図１０で説明したように、動的構成変更（DR：Dynamic  Reconfiguration）に対応してビジー監視範囲を変更するため、ビジー制御部５６は次の条件（１）、（２）が成立することを確認して、ビジー範囲設定変更可能通知を信号線Ｓ９よりレジスタ部５８へ通知する。
【０１１８】
（１）アドレスロックレジスタ部５４のコマンドが全部処理済である。
【０１１９】
（２）パイプライン部４２内のコマンドが完了した。即ち、今後ロックレジスタ部５８をアクセスするTP00〜TP03ステージ（ＦＦ回路５０−０〜５０−３）にコマンドが無い事及び全ステージにコマンドが無い事。
【０１２０】
レジスタ部５８内のビジー設定変更部２３は、ビジー制御部５６からビジー範囲設定変更可能通知を受けてから、ＭＭＢ２からのビジー範囲設定変更要求をビジー設定レジスタ２２−０〜２２−３へ実行する。即ち、ビジー設定変更部２３は、アドレスロックレジスタ部５４内に処理中のコマンドが無い状態で、ビジー監視範囲の設定変更を行う。
【０１２１】
図１７は、他の実施の形態のビジー範囲設定変更処理フロー図である。
【０１２２】
（Ｓ２０）ＭＭＢ２に搭載されるファームウェアは、情報処理システムの開始指示を受けると、一旦、システムのパワーをオフした後、システムのパワーをオンする。
【０１２３】
（Ｓ２２）ＭＭＢ２のファームウェアは、パワーオン後のシステムボード１Ａ（１Ｂ〜１Ｐ）の初期化処理を行う。この初期化処理において、ＭＭＢ２のファームウェアは、システムボード１Ａ（１Ｂ〜１Ｐ）に搭載されているＣＰＵ１０−０〜１０−３の仕様情報を取得し、仕様情報を元にシステムコントローラ１２のビジー範囲設定レジスタ２２−０〜２２−３のビジー範囲値の設定を行う。そして、ＭＭＢ２のファームウェアは、システムボード１Ａ（１Ｂ〜１Ｐ）の運用を許可する。
【０１２４】
（Ｓ２４）ＭＭＢ２がこの運用中にビジー範囲の設定変更要求を受ける。
【０１２５】
（Ｓ２６）変更要求が動的構成変更の場合は、ＭＭＢ２のファームウェアは動的構成変更を行う。システムコントローラ１２のビジー制御部５６は、コマンド制御部４０に対しパイプライン部４２へのコマンド投入停止要求を出力する。システム１はサスペンド（SUSPEND）状態となる。
【０１２６】
（Ｓ２８）その間に、システムコントローラ１２のビジー制御部５６は、アドレスロックレジスタ部５４内の処理中コマンドの有無を信号線Ｓ７より監視する。
【０１２７】
（Ｓ３０）ビジー制御部５６が処理中コマンドが全て処理済になった事と、パイプライン部４２のTP00〜TP03ステージにコマンドが無い事を確認し、ビジー範囲設定変更可能通知をレジスタ部５８に通知する。レジスタ部５８のビジー設定変更部２３は、ＭＭＢ２からのビジー範囲設定変更要求をビジー設定レジスタ２２−０〜２２−３へ実行する。
【０１２８】
設定されたビジー範囲設定値はビジー制御部５６とアドレスロックレジスタ部５４に通知され、ビジー判定論理に使用される。ビジー範囲設定変更後、ビジー制御部５６はコマンド制御部４０に対しパイプライン部４２へのコマンド投入を再開する制御を行い、SUSPEND解除状態となる。その後、ＭＭＢ２のファームウェアの動的構成変更処理完了に伴い、サスペンド（SUSPEND）状態は解除され、動的設定変更処理は終了する。
【０１２９】
即ち、システムボード１Ａの初期化処理の中で設定されたビジー範囲値（モード１）は、システム稼動中に別の設定値（モード２）に変更することができる。
【０１３０】
（Ｓ３２）ＭＭＢ２のファームウェアによる動的構成変更処理を伴わない場合には、システムコントローラ１２のビジー制御部５６は、コマンド制御部４０に対しパイプライン部４２へのコマンド投入停止要求を出力する。システム１はサスペンド（SUSPEND）状態となる。
【０１３１】
（Ｓ３４）その間に、システムコントローラ１２のビジー制御部５６は、アドレスロックレジスタ部５４内の処理中コマンドの有無を信号線Ｓ７より監視する。
【０１３２】
（Ｓ３６）ビジー制御部５６が処理中コマンドが全て処理済になった事と、パイプライン部４２のTP00〜TP03ステージにコマンドが無い事を確認し、ビジー範囲設定変更可能通知をレジスタ部５８に通知する。レジスタ部５８のビジー設定変更部２３は、ＭＭＢ２からのビジー範囲設定変更要求をビジー設定レジスタ２２−０〜２２−３へ実行する。
【０１３３】
設定されたビジー範囲設定値は、ビジー制御部５６とアドレスロックレジスタ部５４に通知され、ビジー判定論理に使用される。ビジー範囲設定変更後、ビジー制御部５６はコマンド制御部４０に対しパイプライン部４２へのコマンド投入を再開する制御を行い、SUSPEND解除状態となる。
【０１３４】
即ち、システムボード１Ａの初期化処理の中で設定されたビジー範囲値（モード１）は、システム稼動中に別の設定値（モード２）に変更することができる。
【０１３５】
（Ｓ３８）ＭＭＢ２のファームウェアによる動的構成変更処理を伴わない及びサスペンドしない場合には、システムコントローラ１２のビジー制御部５６は、アドレスロックレジスタ部５４内の処理中コマンドの有無を信号線Ｓ７より監視する。
【０１３６】
（Ｓ４０）ビジー制御部５６が処理中コマンドが全て処理済になった事と、パイプライン部４２のTP00〜TP03ステージにコマンドが無い事を確認し、ビジー範囲設定変更可能通知をレジスタ部５８に通知する。レジスタ部５８のビジー設定変更部２３は、ＭＭＢ２からのビジー範囲設定変更要求をビジー設定レジスタ２２−０〜２２−３へ実行する。
【０１３７】
設定されたビジー範囲設定値は、ビジー制御部５６とアドレスロックレジスタ部５４に通知され、ビジー判定論理に使用される。
【０１３８】
このように、ビジー監視において、システムコントローラ１２内の処理中のインデックスで管理するコマンドなしという条件が満たされる時は、レジスタ２２−０〜２２−３の設定変更を行っても良い。
【０１３９】
（他の実施の形態）
前述の実施の形態では、キャッシュメモリの容量が１倍と２倍の例を示したが、キャッシュメモリの量を１倍とｎ倍（ｎ＞２）にしたＣＰＵの混在構成に適用しても良い。その場合、ビジーの発生率は１／ｎ倍に下がり、さらにスループットの向上が可能になる。
【０１４０】
システムコントローラを複数のＣＰＵチップが搭載されたシステムボードに設けた例で説明したが、システムコントローラを複数のシステムボードに接続されたコントローラボードに搭載することもできる。
【０１４１】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【産業上の利用可能性】
【０１４２】
システムコントローラに異なるキャッシュメモリ容量の複数のＣＰＵユニットを接続し、キャッシュ同期制御を行う際に、各ＣＰＵユニットのキャッシュメモリの容量毎に先発リクエストと後発リクエストの競合監視範囲を設定するため、キャッシュ容量の多いＣＰＵユニットのスループットを向上できる。
【符号の説明】
【０１４３】
１Ａ〜１Ｐ  システムボード（処理装置）
２  システム管理装置
３Ａ，３Ｂ  クロスバースイッチボード
１０−０〜１０−７  ＣＰＵユニット（チップ）
１２，１２Ａ，１２Ｂ  システムコントローラ
１４  主記憶装置
１６−０〜１６−３  キャッシュメモリ
１８−０〜１８−３  キャッシュタグメモリ
２０−０〜２０−７  ＳＣキャッシュタグメモリ
２２  キャッシュ同期回路
２２−０〜２２−７  ビジー監視範囲設定値
【図１】
2011148482.tif 000003
【図２】
2011148482.tif 000004
【図３】
2011148482.tif 000005
【図４】
2011148482.tif 000006
【図５】
2011148482.tif 000007
【図６】
2011148482.tif 000008
【図７】
2011148482.tif 000009
【図８】
2011148482.tif 000010
【図９】
2011148482.tif 000011
【図１０】
2011148482.tif 000012
【図１１】
2011148482.tif 000013
【図１２】
2011148482.tif 000014
【図１３】
2011148482.tif 000015
【図１４】
2011148482.tif 000016
【図１５】
2011148482.tif 000017
【図１６】
2011148482.tif 000018
【図１７】
2011148482.tif 000019
【手続補正書】
【提出日】平成24年12月14日(2012.12.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、
第２のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットと、
前記第１及び第２のＣＰＵユニットに接続され、前記第１のＣＰＵと前記第２のＣＰＵとの前記第１及び第２のキャッシュメモリへのリクエストで、前記第１のキャッシュメモリのキャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと、前記第２のキャッシュメモリのキャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するシステムコントローラとを有し、
前記システムコントローラは、
先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に受けた、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを要求元のＣＰＵにリトライさせるキャッシュ同期部と、
前記第３のキャッシュタグメモリと前記第４のキャッシュタグメモリとで異なるビジー監視範囲をキャッシュ同期部に設定する設定部とを有する
ことを特徴とする情報処理システム。
【請求項２】
前記システムコントローラは更に、前記第１及び第２のＣＰＵから複数のリクエストを入力順に保持するパイプライン部を有し、
前記キャッシュ同期部は、前記パイプライン部に保持された先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視する
ことを特徴とする請求項１の情報処理システム。
【請求項３】
前記第１及び第２のＣＰＵユニットと前記システムコントローラとの状態監視及び設定を行うシステム管理装置を更に設け、
前記ビジー監視範囲の変更の要求を受けた前記システム管理装置は、前記システムコントローラの前記キャッシュ同期部が前記システムコントローラ内に、リクエストが存在しないことを検出した後、前記システムコントローラの設定部に前記ビジー監視範囲を設定する
ことを特徴とする請求項１の情報処理システム。
【請求項４】
第１のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納する第１のキャッシュメモリとを有する第１のＣＰＵユニットと、第２のＣＰＵと、キャッシュタグ情報とキャッシュデータとを格納し前記第１のキャッシュメモリと異なる容量を持つ第２のキャッシュメモリとを有する第２のＣＰＵユニットとに接続されたシステムコントローラであって、
前記第１のＣＰＵと前記第２のＣＰＵとの前記第１及び第２のキャッシュメモリへのリクエストに応じて、前記第１のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第３のキャッシュタグメモリと、前記第２のキャッシュメモリの前記キャッシュタグ情報のコピーを格納する第４のキャッシュタグメモリとを検索するキャッシュタグ検索部と、
先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視し、前記先発リクエストによる前記キャッシュタグ情報のコピー完了前に、先発リクエストと同一のキャッシュアドレスを要求する後発リクエストを受けた場合、要求元のＣＰＵに後発リクエストをリトライさせるキャッシュ同期部と、
前記第３のキャッシュメモリと前記第４のキャッシュメモリとで異なる前記ビジー監視範囲を前記キャッシュ同期部に設定する設定部とを有する
ことを特徴とするシステムコントローラ。
【請求項５】
前記キャッシュ同期部は前記先発リクエストと前記後発リクエストの要求物理アドレスの一部を設定されたビジー監視範囲で比較し、先発リクエストと後発リクエストが同一のキャッシュアドレスを要求しているか否かを設定されたビジー監視範囲で監視する
ことを特徴とする請求項４のシステムコントローラ。
【国際調査報告】
2011148482.tif 000020
2011148482.tif 000021
2011148482.tif 000022
2011148482.tif 000023