(57)【要約】      （修正有）【課題】キャッシュアクセスレイテンシやメモリアクセスレイテンシを短縮する。【解決手段】演算処理装置は，複数の演算処理部と，第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，コアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，第１及び第２のコアグループのキャッシュ間に対応して第１乃至第Ｎのコアグループ間バスとを有する。メモリの第１乃至第Ｎのメモリ空間のデータを個別に記憶した第１のコアグループの第１乃至第Ｎのキャッシュそれぞれは，メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，メモリの第Ｎ＋１乃至第２Ｎのメモリ空間のデータを個別に記憶した第２のコアグループの第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する。【選択図】図２
2015210616.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理部と，前記複数の演算処理部からのアクセス要求を処理する第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，前記複数の演算処理部のアクセス要求を前記第１乃至第Ｎのキャッシュに供給するコアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，
前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれと，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれとの間に対応して設けられた第１乃至第Ｎのコアグループ間バスとを有し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する演算処理装置。
【請求項２】
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶する請求項１に記載の演算処理装置。
【請求項３】
前記第１乃至第Ｎのキャッシュは，それぞれ，キャッシュタグとキャッシュメモリとを有し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更する請求項１または２に記載の演算処理装置。
【請求項４】
前記第１乃至第Ｎのキャッシュは，それぞれ，キャッシュタグとキャッシュメモリとを有し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし，前記ステータス情報を取得し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし，前記ステータス情報を取得する請求項１または２に記載の演算処理装置。
【請求項５】
前記ステータス情報は，前記キャッシュメモリにデータを記憶していない第１の状態と，前記メモリと同じデータを記憶している第２の状態と，前記メモリと異なる最新のデータを記憶している第３の状態とを少なくとも有する請求項３または４に記載の演算処理装置。
【請求項６】
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれが，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータを記憶しているか否かのディレクトリ情報を保持するディレクトリを有し，前記ディレクトリの前記ディレクトリ情報が最新のデータを記憶していることを示す場合に，前記コアグループ間バスを介して前記第２のコアグループの前記第１乃至第Ｎのキャッシュから前記最新データを取得する請求項１または２に記載の演算処理装置。
【請求項７】
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記ディレクトリの前記ディレクトリ情報が前記メモリと同じデータを記憶していることを示す場合に，前記メモリから前記キャッシュミスしたデータを取得する請求項６に記載の演算処理装置。
【請求項８】
前記第１，第２のコアグループが，第１乃至第Ｎの演算処理部を有し，
前記第１のコアグループ内の前記第１乃至第Ｎの演算処理部それぞれは，前記メモリの第１乃至第Ｎのメモリ空間から読み出したデータを，前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュに登録し，
前記第２のコアグループ内の前記第１乃至第Ｎの演算処理部それぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間から読み出したデータを，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュに登録する請求項１に記載の演算処理装置。
【請求項９】
複数の演算処理部と，前記複数の演算処理部からのアクセス要求を処理する第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，前記複数の演算処理部のアクセス要求を前記第１乃至第Ｎのキャッシュに供給するコアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，
前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれと，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれとの間に対応して設けられた第１乃至第Ｎのコアグループ間バスとを有する演算処理装置の制御方法であって，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，演算処理装置とその制御方法に関する。
【背景技術】
【０００２】
演算処理装置であるCPU（またはプロセッサ）は，複数のCPUコアと，CPUコア内に設けられ一次キャッシュ（以下，「L1キャッシュ」）と，CPUコア外に設けられ複数のCPUコアで共有される二次キャッシュ（以下，「L2キャッシュ」）とを有する。更に，CPUチップは，大容量のメインメモリへのアクセス要求を制御するメモリアクセスコントローラを有する。
【０００３】
CPUの性能向上のために，CPU内のCPUコアの数を増加させることが行われる。半導体の微細化技術の進歩によりCPUコアの数を増加させることができる一方で，性能向上のためにはL2キャッシュのメモリ容量も増加させることが必要になる。
【０００４】
半導体の微細化率に合わせてCPUコア数やキャッシュ容量を増やす場合は，CPUコアとキャッシュ間の距離に依存するレイテンシはそれほど長くなることはないが，性能向上の為に半導体の微細化率を超えてCPUコア数やキャッシュ容量を増やす場合には，CPUコアとキャッシュ間の距離が相対的に長くなりCPUコアとキャッシュ間のレイテンシが長くなり悪化する。さらに，CPUコアとメインメモリ間のレイテンシも同様である。そのため，CPUコア数を増やした結果，逆にキャッシュレイテンシやメモリレイテンシがボトルネックになりCPUの性能向上の足かせになっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００８−５２５９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マルチコア化によるキャッシュレイテンシやメモリレイテンシの悪化を防ぐ手段として，L1キャッシュとL2キャッシュとの間にさらに一階層キャッシュをCPUコアに追加することが提案されている。一階層キャッシュを追加してCPUコアでのキャッシュミス率をできるだけ減らすことが目的である。しかしながら，キャッシュ階層を増やすことはキャッシュパイプラインの増加を意味するため，CPUコアとメインメモリ間のレイテンシの悪化を招く。
【０００７】
そこで，本発明の目的は，キャッシュレイテンシやメモリレイテンシを短縮した演算処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本実施の形態の第１の側面は，複数の演算処理部と，前記複数の演算処理部からのアクセス要求を処理する第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，前記複数の演算処理部のアクセス要求を前記第１乃至第Ｎのキャッシュに供給するコアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，
前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれと，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれとの間に対応して設けられた第１乃至第Ｎのコアグループ間バスとを有し，
前記Ｎは複数であり，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する演算処理装置である。
【発明の効果】
【０００９】
第１の側面によれば，キャッシュレイテンシやメモリレイテンシを短くすることができる。
【図面の簡単な説明】
【００１０】
【図１】複数のCPUチップを組み合わせた演算処理装置の構成を示す図である。
【図２】本実施の形態における演算処理装置の構成を示す図である。
【図３】第１，第２のコアグループ内のL2キャッシュとメインメモリのメモリ空間との関係の一例を示す図である。
【図４】第１のコアグループCMG0の構成を示す図である。
【図５】第１，第２のコアグループCMG0,CMG1の構成とその間のコアグループ間バスの構成を示す図である。
【図６】本実施の形態におけるアクセス要求に対する動作のフローチャート図である。
【図７】アクセス要求Ｉの動作を示すシーケンス図である。
【図８】アクセス要求ＩＩの動作を示すシーケンス図である。
【図９】アクセス要求ＩＩＩの動作を示すシーケンス図である。
【図１０】アクセス要求ＩＶの動作を示すシーケンス図である。
【図１１】アクセス要求Ｖの動作を示すシーケンス図である。
【図１２】アクセス要求ＶＩの動作を示すシーケンス図である。
【図１３】アクセス要求ＶＩＩの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
図１は，２つのCPUチップを組み合わせた演算処理装置の構成を示す図である。図１の演算処理装置（またはプロセッサ）は，８個の演算処理部またはCPUコア（以下単にコアと称する）100-107と，８個の二次キャッシュ（以下，「L2キャッシュ」）SX00-SX11(CMG0内),SX00-SX11(CMG1内)と，８個のメモリアクセスコントローラMAC00-MAC03，MAC10-MAC13を有する。さらに，図１の演算処理装置は，メインメモリが８個のメモリ00-03，10-13で構成され，各メモリ00-03，10-13にメモリアクセスコントローラMAC00-MAC03，MAC10-MAC13それぞれを介してアクセス可能である。
【００１２】
８個のメモリ00-03，10-13で構成されるメインメモリのメモリ空間は，単一のOS（Operating System）から見ると，単一のメモリ空間であり，OSからはそのメモリ空間はフラットである。そして，メインメモリを構成するメモリ00-03，10-13内のデータは，８個のL2キャッシュのいずれにも登録可能であり，８個のコア100-107はいずれのL2キャッシュにもアクセス可能である。但し，コア100-107とL2キャッシュSX00-SX11が図１のようにレイアウトされている場合は，例えばコア100がメモリアクセスして読み出したデータのキャッシュラインは，コア100に近接するL2キャッシュSX00に登録されることが望ましい。
【００１３】
図１の演算処理装置は，コアとL2キャッシュとメモリアクセスコントローラとをそれぞれ有する論理グループCMG0，CMG1を有し，この論理グループCMG0,CMG1は，それぞれ異なるCPUチップで構成される。本明細書では，この論理グループをコアメモリグループまたはコアグループCMG(Core Memory Group)と称する。コアメモリグループまたはコアグループは，少なくとも複数のコアと複数のキャッシュメモリとを有する回路ブロックである。メモリアクセスコントローラMACはCPUチップ外に設けられてもよい。
【００１４】
コアグループCMG0内では，４個のコア100-103は，第１のバスB_0を介して４個のL2キャッシュSX00-SX11にリードまたは書き込みのアクセス要求を発行することができる。同様に，コアグループCMG1内では，４個のコア104-107は，第１のバスB_1を介して４個のL2キャッシュSX00-SX11にアクセス要求を発行することができる。
【００１５】
そして，２つのコアグループCMG0,CMG1間にルータ200が設けられ，コアグループ間のアクセス要求を調停する。ルータ200を設けたことにより，例えば，CMG0内のコア100がメモリ11内のアドレスBのデータにアクセス要求を発行することができる。さらに，ルータ200を設けたことにより，例えば，CMG0内のコア100がメモリ01内のアドレスAのデータにアクセス要求を発行した場合，CMG1内のL2キャッシュSX01内にそのデータが登録され，更新されているかをルータ200を介して問い合わせることができる。
【００１６】
図１の構成の演算処理装置の動作を簡単に説明する。CMG0内のコア100がメモリ01内のアドレスAに対するリード要求をL2キャッシュに発行したとする。
【００１７】
第一に，リード要求を受けたCMG0内のL2キャッシュSX01は，リード要求のデータがキャッシュに登録されていなければ，CMG1内のL2キャッシュに更新データが存在するか否かを，ルータ200に問い合わせを行う。ルータ200は，CMG1内のL2キャッシュのタグ情報を保持していて，そのタグ情報を検索してCMG1内のL2キャッシュ内に更新データが存在するかチェックする。
【００１８】
CMG0,CMG1内の両L2キャッシュSX01にデータが登録されていない場合，CMG0内のL2キャッシュSX01は，メモリコントローラMAC01にメモリ01へのメモリアクセス要求を行い，メモリ01内のアドレスAのデータを取得し，コア100にデータ応答する。
【００１９】
第二に，CMG0内のL2キャッシュSX01にデータが登録されているが最新データではない場合，CMG0内のL2キャッシュSX01は，ルータ200にCMG1内のL2キャッシュに更新データが存在するかの問い合わせを必ず行う。この場合，CMG1内のL2キャッシュに更新データ（すなわち最新データ）が登録されている場合，CMG0内のL2キャッシュSX01は，ルータ200を介してCMG1内のL2キャッシュにデータ要求を行い，更新データを取得し，コア100にデータ応答する。
【００２０】
上記のルータへの問い合わせの結果，CMG1内のL2キャッシュに更新データ（最新データ）が登録されていない場合，CMG0内のL2キャッシュSX01は，登録されているデータをコア100に応答する。
【００２１】
さらに，図１の演算処理装置の場合，CMG0内のコア100がメモリ11内のアドレスBに対するリード要求を発行すると，そのリード要求はルータ200を経由してCMG1内のL2キャッシュSX01に発行され，ルータ200を介してデータが応答される。
【００２２】
上記のように，単に２つのCMG0,CMG1をルータ200を介して接続した構成では，CMG0内のコア100からCMG1内のL2キャッシュとそのメモリにアクセス要求を発行すると，アクセス要求がルータを介して発行されるので，コアとL2キャッシュ間のレイテンシとコアとメモリ間のレイテンシが長くなる。さらに，CMG0内のコア100からCMG0内のL2キャッシュとそのメモリにアクセス要求を発行する場合も，CMG1内のL2キャッシュにデータが持ち出されて更新されているか否かをルータ200に問い合わせする必要があり，レイテンシが長くなる。
【００２３】
仮に，図１の２つのCMG0,CMG1を１つのCPUチップ内に設けたと仮定すると，コア数とL2キャッシュ容量は増大するが，CMG0,CMG1間にルータ200を設けたことでレイテンシが長くなる。
【００２４】
［本実施の形態］
図２は，本実施の形態における演算処理装置の構成を示す図である。本実施の形態では，１つのCPUチップが，複数の，例えば２つのコアメモリグループまたはコアグループCMG0,CMG1を有する。そして，CPUチップの外に設けられるメインメモリは，８つのメモリ00-03，10-13で構成される。８つのメモリ00-03，10-13は，例えば，メインメモリのメモリ空間の第１〜第８のメモリ空間のデータをそれぞれ記憶する。但し，本実施の形態はそれに限定されるものではない。
【００２５】
第１のコアグループCMG0は，４つの演算処理部であるコア100-103と，第１乃至第４のL2キャッシュSX00-SX11とを有する。第１のコアグループCMG0は，さらに，第１乃至第４のL2キャッシュSX00-SX11にそれぞれ対応するメモリアクセスコントローラMAC00-MAC03を有し，各メモリアクセスコントローラMAC00-MAC03は，メインメモリの第１乃至第４のメモリ空間を有する第１乃至第４のメモリ00-03へのメモリアクセスをそれぞれ制御する。
【００２６】
第１のコアグループCMG0は，更に，４つのコア100-103のアクセス要求を第１乃至第４のL2キャッシュSX00-SX11に供給するコアグループ内バスB_0を有する。そして，第１乃至第４のL2キャッシュSX00-SX11それぞれは，４つのコア100-103からコアグループ内バスB_0を介して発行されるアクセス要求を処理する。例えば，CMG0内のL2キャッシュSX00は，４つのコア100-103からコアグループ内バスB_0を介して発行されるアクセス要求を処理する。他のL2キャッシュSX01-SX11も同様である。
【００２７】
第２のコアグループCMG1も同様に，４つの演算処理部であるコア104-107と，第１乃至第４のL2キャッシュSX00-SX11とを有する。第２のコアグループCMG1は，さらに，第１乃至第４のL2キャッシュSX00-SX11にそれぞれ対応するメモリアクセスコントローラMAC10-MAC13を有し，各メモリアクセスコントローラMAC10-MAC13は，メインメモリの第５乃至第８のメモリ空間を有する第５乃至第８のメモリ10-13へのメモリアクセスをそれぞれ制御する。
【００２８】
第２のコアグループCMG1は，更に，４つのコア104-107のアクセス要求を第１乃至第４のL2キャッシュSX00-SX11に供給するコアグループ内バスB_1を有する。そして，第１乃至第４のL2キャッシュSX00-SX11それぞれは，４つのコア104-107からコアグループ内バスB_1を介して発行されるアクセス要求を処理する。例えば，CMG1内のL2キャッシュSX00は，４つのコア104-107からコアグループ内バスB_1を介して発行されるアクセス要求を処理する。他のL2キャッシュSX01-SX11も同様である。
【００２９】
そして，図２の演算処理装置は，第１のコアグループCMG0内の第１乃至第４のキャッシュSX00-SX11それぞれと，第２のコアグループCMG1内の第１乃至第４のキャッシュSX00-SX11それぞれとの間に,第１乃至第４のコアグループ間バスB_00,B_01,B_10,B_11を有する。すなわち，第１のコアグループ間バスB_00は，第１，第２コアグループ内の第１のキャッシュSX00間に設けられる。同様に，第２，第３，第４のコアグループ間バスB_01,B_10,B_11は，第１，第２コアグループ内の第２のキャッシュSX01間，第３のキャッシュSX10間，第４のキャッシュSX11間にそれぞれ設けられる。
【００３０】
第１乃至第４のコアグループ間バスB_00,B_01,B_10,B_11それぞれは，１対のバス，すなわち，第１のコアグループから第２のコアグループへの第１の方向のバスと，第２のコアグループから第１のコアグループへの第２の方向のバスとを有する。
【００３１】
［メモリ空間とL2キャッシュの関係］
図３は，第１，第２のコアグループ内のL2キャッシュとメインメモリのメモリ空間との関係の一例を示す図である。図３に示されるとおり，第１のコアグループCMG0の第１乃至第４のL2キャッシュSX00-SX11それぞれは，メインメモリの第１乃至第４のメモリ空間，すなわちメモリ00-03のメモリ空間それぞれのデータを個別にまたは別々に記憶する。同様に，第２のコアグループCMG1の第１乃至第４のキャッシュSX00-SX11それぞれは，メインメモリの第５乃至第８のメモリ空間，すなわちメモリ10-13のメモリ空間それぞれのデータを個別にまたは別々に記憶する。
【００３２】
そして，第１のコアグループCMG0の第１乃至第４のキャッシュSX00-SX11それぞれは，メインメモリの第５乃至第８のメモリ空間，すなわちメモリ10-13のメモリ空間それぞれのデータに，第１乃至第４のコアグループ間バスB_00,B_01,B_10,B_11を介してアクセスし，取得したデータを記憶する。例えば，CMG0内の第１のL2キャッシュSX00は，メインメモリの第５のメモリ空間，即ちメモリ10のメモリ空間のデータに，第１のコアグループ間バスB_00を介してアクセスし，取得したデータを記憶する。
【００３３】
同様に，第２のコアグループCMG1の第１乃至第４のキャッシュSX00-SX11それぞれは，メインメモリの第１乃至第４のメモリ空間，すなわちメモリ00-03のメモリ空間それぞれのデータに，第１乃至第４のコアグループ間バスB_00,B_01,B_10,B_11を介してアクセスし，取得したデータを記憶する。例えば，CMG1内の第１のL2キャッシュSX00は，メインメモリの第１のメモリ空間，即ちメモリ00のメモリ空間のデータに，第１のコアグループ間バスB_00を介してアクセスし，取得したデータを記憶する。
【００３４】
図３に示すように，第１のコアグループCMG0内の第１乃至第４のL2キャッシュSX00-SX11は，メモリ00-03内のデータをインタリーブで記憶する。具体的には，メモリ00-03のアドレスのうち，キャッシュラインを識別するアドレスの下位２ビットに基づいて，メモリ00-03内のデータがCMG0内の４つのL2キャッシュSX00-SX11内にインタリーブで記憶される。したがって，メモリ00-03内のデータは，CMG0内の４つのL2キャッシュSX00-SX11のいずれかに記憶される。
【００３５】
それに伴い，第１のコアグループCMG0内の４つのコア100-103は，コアグループ内バスB_0を介して，上記２ビットのアドレスに対応するL2キャッシュSX00-SX11のいずれかにアクセス要求を発行する。これにより，第１のコアグループCMG0内の４つのコア100-103は，メインメモリの第１乃至第４のメモリ空間のいずれにもアクセス可能である。
【００３６】
例えば，コア100がメモリ01のメモリ空間のデータにアクセスする場合は，コア100は，アクセス要求をコアグループ内バスB_0を介してCMG0内のL2キャッシュSX01に発行する。このアクセス要求に応答して，CMG0内のL2キャッシュSX01は，キャッシュヒットすればキャッシュメモリ内のデータにアクセスし，キャッシュミスすればメモリ01にアクセスする。ただし，後述するとおり，CMG0内のL2キャッシュSX01に対応する第２のコアグループCMG1内のL2キャッシュSX01がメモリ01のデータを持ち出して更新している場合は，CMG0内のL2キャッシュSX01は，CMG1内のL2キャッシュSX01にアクセス要求が発行して，コアグループ間バスを介して更新データを取得する。
【００３７】
上記と同様に，第２のコアグループCMG1内の第１乃至第４のL2キャッシュSX00-SX11は，メモリ10-13内のデータをインタリーブで記憶する。したがって，メモリ10-13内のデータは，それぞれ，CMG1内の４つのL2キャッシュSX00-SX11のいずれかに記憶される。それに伴い，第２のコアグループCMG1内の４つのコア104-107は，コアグループ内バスB_1を介して，インタリーブを制御する２ビットのアドレスに対応するL2キャッシュSX00-SX11のいずれかにアクセス要求を発行する。これにより，第２のコアグループCMG1内の４つのコア104-107は，メインメモリの第５乃至第８のメモリ空間のいずれにもアクセス可能である。
【００３８】
例えば，コア104がメモリ11のメモリ空間のデータにアクセスする場合は，コア104は，アクセス要求をコアグループ内バスB_1を介してCMG1内のL2キャッシュSX01に発行する。その場合のL2キャッシュSX01によるアクセス要求の処理は，前述と同様である。
【００３９】
図３によれば，一例として，第１のコアグループCMG0内の第１のL2キャッシュSX00は，メモリ00のメモリ空間のデータを記憶し，第２のL2キャッシュSX01は，メモリ01のメモリ空間のデータを記憶し，第３のL2キャッシュSX10は，メモリ10のメモリ空間のデータを記憶し，第４のL2キャッシュSX11は，メモリ11のメモリ空間のデータを記憶する。
【００４０】
そして，上記の一例の場合は，４つのメモリ00-03にも，上記の２ビットのアドレスに基づいてデータがインタリーブで記憶されている。
【００４１】
ただし，４つのコア100-103が４つのL2キャッシュSX00-SX11にアクセス要求を発行してメモリ00-03のデータにアクセス可能であれば良いので，図３に示した対応関係である必要はない。
【００４２】
［コアグループ間のアクセス要求］
図２に戻り，４つのコアグループ間バスB_00,B_01,B_10,B_11を設けたことにより，第１のコアグループCMG0内の４つのコア100-103は，第２のコアグループCMG1内の４つのL2キャッシュSX00-SX11を介して，メモリ10-13のメモリ空間のデータにアクセスすることができる。例えば，第１のコアグループCMG0内のコア100は，メモリ11内のアドレスＢにアクセス要求する場合は，まず，CMG0内のL2キャッシュSX01にアクセス要求を発行する。CMG0内のL2キャッシュはキャッシュミスし，コアグループ間バスB_01を介してCMG1内のL2キャッシュSX01にアクセス要求を発行する。CMG1内のL2キャッシュSX01がそのアクセス要求を処理して，例えば読み出しデータをコアグループ間バスB_01を介してCMG0内のL2キャッシュSX01に応答し，CMG0内のL2キャッシュSX01はその読み出しデータをキャッシュに登録し，コア100にデータ応答する。
【００４３】
逆に，４つのコアグループ間バスB_00,B_01,B_10,B_11を設けたことにより，第２のコアグループCMG1内の４つのコア104-107も，第１のコアグループCMG0内の４つのL2キャッシュSX00-SX11を介して，メモリ00-03のメモリ空間のデータにアクセスすることができる。
【００４４】
このように，本実施の形態による演算処理装置は，図１のようにコアグループ間にルータを有するのではなく，また８つのL2キャッシュ間全てにコアグループ間バスを有するものでもない。本実施の形態による演算処理装置は，第１，第２のコアグループCMG0,CMG1の第１のL2キャッシュSX00間と，第２のL2キャッシュSX01間と，第３のL2キャッシュSX10間と，第４のL2キャッシュSX11間にそれぞれ，コアグループ間バスB_00,B_01,B_10,B_11を有する。つまり，４つのコアグループ間バスは，限定的な数のバスにすぎない。
【００４５】
そして，本実施の形態の演算処理装置では，第１のコアグループCMG0内の４つのL2キャッシュSX00-SX11それぞれは，メモリ00-03のデータをインタリーブで記憶し，第２のコアグループCMG1内の４つのL2キャッシュSX00-SX11それぞれは，メモリ10-13のデータをインタリーブで記憶する。これにより，第１のコアグループCMG0内の４つのコア100-103は，第１のコアグループ内の近接する４つのL2キャッシュSX00-SX11と４つのメモリ00-03に,短いレイテンシでアクセスすることができる。同様に，第２のコアグループCMG1内の４つのコア104-107は，第２のコアグループ内の近接する４つのL2キャッシュSX00-SX11と４つのメモリ10-13に,短いレイテンシでアクセスすることができる。
【００４６】
しかも，４つのL2キャッシュSX00-SX11にインタリーブでデータを記憶するので，ある所定の範囲の連続するアドレス領域のデータの固まりにアクセスする場合，４つのL2キャッシュにデータ要求を並列に発行し並列に処理することができ，その結果レイテンシを短くできる。さらに，前述したようにメモリ00-03，メモリ10-13もインタリーブでデータを記憶すれば，メモリアクセスも並列に処理することができる。
【００４７】
また，本実施の形態の演算処理装置では，４つのL2キャッシュにインタリーブでデータを記憶することと，４つのコアグループ間バスB_00,B_01,B_10,B_11を有することとにより，８つのコア100-107は，８つのメモリ00-03,10-13の全てのメモリ空間のデータにアクセスすることができる。したがって，限られた数のコアグループ間バスではあるが，８つのコア100-107が全てのメモリ空間にアクセス可能であるので，全てのメモリ空間を有効に利用することができる。
【００４８】
本実施の形態の演算処理装置では，アプリケーションプログラムの複数のプロセスを，複数のコアが並列に処理するように制御し，第１のプロセスを第１のコアグループCMG0内のコア100-103で処理し，メモリ00-03にそのデータを記憶するように制御し，第２のプロセスを第２のコアグループCMG1内のコア104-107で処理し，メモリ10-13にそのデータを記憶するように制御することが望ましい。このように制御することで，第１のコアグループCMG0内のコア100-103は，その第１のコアグループCMG0内のL2キャッシュへのアクセス要求で所望のデータにアクセスすることができ，第２のコアグループCMG1内のL2キャッシュにアクセス要求する確率を低減することができる。同様に，第２のコアグループCMG1内のコア104-107は，その第２のコアグループCMG1内のL2キャッシュへのアクセス要求で所望のデータにアクセスすることができ，第１のコアグループCMG0内のL2キャッシュにアクセス要求する確率を低減することができる。この場合，４つのコアグループ間バスB_00,B_01,B_10,B_11という限られた数のバスを利用する頻度を抑制することができる。
【００４９】
［本実施の形態の詳細］
次に，本実施の形態の演算処理装置の詳細な構成例を説明する。図４は，第１のコアグループCMG0の構成を示す図である。図２と同様に，コアグループCMG0は，４つのCPUコア100-103を有し，４つのL2キャッシュSX00-SX11を有する。
【００５０】
第１のL2キャッシュSX00は，４つのコア100-103からコアグループ内バスB_0を介して発行されるアクセス要求を格納する要求入力ポートIN_Pと，コアグループ間バスB_00を介して入力されるアクセス要求を格納するリモート要求入力ポートR_IN__Pとを有する。
【００５１】
４つのコア100-103は，アクセス要求のアドレスに基づいてアクセス要求先のL2キャッシュを判定し，判定したL2キャッシュにアクセス要求をコアグループ内バスB_0を介して出力する。前述のとおり，４つのL2キャッシュSX00-SX11には，メインメモリのデータがインタリーブで記憶されるので，４つのコア100-103は，インタリーブを制御する２ビットのアドレスに基づいて，アクセス要求先のL2キャッシュを判定する。したがって，４つのコア100-103は，コアグループ内バスB_0を介して，メインメモリを構成するメモリ00-03のいずれのデータもL2キャッシュSX00-SX11を介してアクセスすることができ，キャッシュ登録することができる。
【００５２】
さらに，L2キャッシュSX00は，入力ポートIN_P，R_IN_Pに格納された要求を選択してL2キャッシュ制御部PIPEに投入する要求セレクタSELと，キャッシュパイプラインを構成するL2キャッシュ制御部PIPEと，キャッシュタグL2_TAGと，ディレクトリDIRと，キャッシュメモリCACHE_MEMとを有する。タグL2_TAGは，キャッシュメモリに登録しているデータのアドレス情報とそのデータのステータス情報とを格納する。ディレクトリDIRは，CMG0内のメモリのデータを持ち出して登録しているCMG1内のL2キャッシュのステータス情報を格納する。
【００５３】
ディレクトリDIRは，必ずしも設けられる必要はない。ただし，ディレクトリが設けられていれば，CMG0内のL2キャッシュでキャッシュミスになった場合に，CMG1内の対応するL2キャッシュでのデータのステータス情報，特にメインメモリと異なる更新データ（すなわち最新データ）か否かを参照することができる。
【００５４】
さらに，L2キャッシュSX00は，キャッシュ制御部PIPEからのメモリアクセス要求を格納するムーブインバッファMIBと，第２のコアグループCMG1内のL2キャッシュSX00へのアクセス要求を格納するリモート要求出力ポートR_OUTとを有する。ムーブインバッファMIB内のメモリアクセス要求はメモリアクセスコントローラMAC_00に入力され，メモリアクセスコントローラMAC_00が，メインメモリのメモリ00にメモリアクセスを実行する。そして，メモリアクセスがリード要求の場合は，読み出されたデータがメモリアクセスコントローラMAC_00からムーブインバッファMIBに返信され，要求セレクタSELを介して再度キャッシュ制御部PIPEに投入され，そのデータのキャッシュラインがキャッシュ登録される。また，キャッシュ制御部PIPEは，キャッシュメモリから読み出したデータを要求元のコアに応答する。
【００５５】
リモート要求出力ポートR_OUT内のアクセス要求は，第１のコアグループ間バスB_00を介して，図示しない第２のコアグループCMG1内の第１のL2キャッシュSX00に出力される。逆に，第２のコアグループCMG1内の第１のL2キャッシュSX00からのアクセス要求は，第１のコアグループ間バスB_00を介してリモート要求入力ポートR_IN_Pに格納され，第１のコアグループCMG0の第１のL2キャッシュSX00に投入される。つまり，第１のコアグループ間バスB_00は１対のバスで構成される。
【００５６】
第２，第３，第４のL2キャッシュSX01-SX11も，第１のL2キャッシュSX00と同様の構成である。但し，CMG0内の第２のL2キャッシュSX01は，図示しないCMG1内の第２のL2キャッシュへのアクセス要求をリモート要求出力ポートR_OUTに格納し，第２のコアグループ間バスB_01を介して，CMG1内の第２のL2キャッシュに出力する。また，CMG0内の第２のL2キャッシュSX01は，図示しないCMG1内の第２のL2キャッシュからのアクセス要求を，第２のコアグループ間バスB_01を介して，リモート要求入力ポートR_IN_Pに入力する。第３，第４のL2キャッシュSX10,SX11も同様である。
【００５７】
第２のコアグループCMG1の構成も，第１のコアグループCMG0の構成と同等である。
【００５８】
図５は，第１，第２のコアグループCMG0,CMG1の構成とその間のコアグループ間バスの構成を示す図である。図５には，第１のコアグループCMG0内の第１，第２のL2キャッシュSX00,SX01と，第２のコアグループCMG1内の第１のL2キャッシュSX00が示されている。これらのL2キャッシュの構成は，図４で説明したとおりである。CMG0内の図示しない第３，第４のL2キャッシュSX10，SX11も，CMG1内の図示しない第２〜第４のＬ２キャッシュSX01-SX11も，同様の構成である。
【００５９】
図５には，コアグループ間バスB_00の具体的な構成が示されている。第１のコアグループCMG0内の第１のL2キャッシュSX00のリモート要求出力ポートR_OUTと，第２のコアグループCMG1内の第１のL2キャッシュSX00のリモート要求入力ポートR_IN_Pとの間に，第１のコアグループ間バスB_00が設けられている。逆に，第２のコアグループCMG1内の第１のL2キャッシュSX00のリモート要求出力ポートR_OUTと，第1のコアグループCMG0内の第１のL2キャッシュSX00のリモート要求入力ポートR_IN_Pとの間に，逆方向の第１のコアグループ間バスB_00が設けられている。このように，第１のコアグループ間バスB_00は，１対のバスで構成される。
【００６０】
図５には明確に示されていないが，第１のコアグループCMG0内の第２のL2キャッシュSX01のリモート要求出力ポートR_OUTと，第２のコアグループCMG1内の第２のL2キャッシュSX01のリモート要求入力ポートR_IN_Pとの間に，第２のコアグループ間バスB_01が設けられている。逆に，第２のコアグループCMG1内の第２のL2キャッシュSX01のリモート要求出力ポートR_OUTと，第1のコアグループCMG0内の第２のL2キャッシュSX01のリモート要求入力ポートR_IN_Pとの間に，逆方向の第２のコアグループ間バスB_01が設けられている。第３，第４のコアグループ間バスB_10，B_11も同様の構成である。
【００６１】
［本実施の形態のアクセス要求の動作］
本実施の形態における演算処理装置のアクセス要求の動作について概略説明する。以下の説明では，例えば，メインメモリを構成するメモリ00，01，02，03には，メインメモリのデータがインタリーブで記憶され，第１のL2キャッシュSX00にはメモリ00のデータが登録され，以下同様に，第２，第３，第４のL2キャッシュSX01，SX10，SX11には，メモリ01，02，03のデータが登録されることを前提とする。
【００６２】
第１の動作として，第１のコアグループCMG0内の第１のコア100は，メモリ00のアドレスXのデータにアクセスする場合は，コアグループ内バスB_0を介して，第１のL2キャッシュSX00の要求入力ポートIN_Pにアクセス要求を出力する。このアクセス要求に応答して，第1のL2キャッシュSX00は，タグL2_TAGを検索してキャッシュヒットか否か判定し，キャッシュヒットならキャッシュメモリCACHE_MEMのデータにアクセスし，リード要求であれば読み出したデータを第１のコア100にデータ応答する。キャッシュミスなら，ムーブインバッファMIBとメモリアクセスコントローラMAC_00を介して，メモリ00のアドレスXのデータにアクセスし，リード要求であれば読み出したデータを第１のコア100にデータ応答する。
【００６３】
但し，図３で説明したとおり，第２のコアグループCMG1内の第1のL2キャッシュSX00が，メモリ00のデータを持ち出して記憶することがある。したがって，CMG1内のL2キャッシュSX00内に記憶されているデータが更新されて最新のデータの場合は，CMG0内のL2キャッシュSX00は，コアグループ間バスB_00を介して，CMG1内のL2キャッシュSX00に更新されたデータの要求を行い，コアグループ間バスB_00を介して更新データを取得する。この詳細な動作は，後述する。
【００６４】
このように，第１のコアグループCMG0内の第１のコア100は，アクセス先のアドレスに基づいて確定するアクセス要求先のL2キャッシュにアクセス要求を発行することで，メインメモリを構成するメモリ00-03内のデータにアクセスすることができる。第２，第３，第４のコア101-103も同様にして，メインメモリを構成するメモリ00-03内のデータにアクセスすることができる。
【００６５】
第２の動作として，第１のコアグループCMG0内の第１のコア100は，メモリ10のアドレスYのデータにアクセスする場合は，コアグループ内バスB_0を介して，CMG0内の第１のL2キャッシュSX00の要求入力ポートIN_Pにアクセス要求を出力する。このCMG0内の第１のL2キャッシュSX00がアクセス先であるメモリ10のデータを記憶していない場合は，第１のL2キャッシュSX00でのタグ検索でキャッシュミスとなり，第１のL2キャッシュSX00は，CMG1内の第１のL2キャッシュSX00宛のアクセス要求をリモート要求出力ポートR_OUTに格納する。リモート要求出力ポートR_OUTに格納されたアクセス要求は，コアグループ間バスB_00を介して，CMG1内の第１のL2キャッシュSX00のリモート要求入力ポートR_IN_Pに転送され，そのキャッシュ制御部PIPEに投入される。
【００６６】
CMG1内の第１のL2キャッシュSX00のキャッシュ制御部PIPEは，投入されたアクセス要求を処理して，キャッシュメモリCACHE_MEMまたはメモリ10にアクセスし，リード要求の場合はリードデータを，リモート要求出力ポートR_OUTに格納し，逆方向のコアグループ間バスB_00を介して，CMG0内の第１のL2キャッシュSX00のリモート要求入力ポートR_IN_Pに入力する。そして，CMG0内の第１のL2キャッシュSX00内のキャッシュ制御部PIPEは，応答されたリードデータをキャッシュ登録し，要求元のコア100にデータ応答する。
【００６７】
第３の動作として，前述の第１の動作において，第１のコアグループCMG0内の第１のコア100が，メモリ00のアドレスXのデータにアクセスする場合に，コアグループ内バスB_0を介して，第１のL2キャッシュSX00の要求入力ポートIN_Pにアクセス要求を出力した場合を想定する。第１のL2キャッシュSX00は，タグ検索の結果キャッシュミスの場合もキャッシュヒットの場合も，メモリ00のデータをCMG1内の第１のL2キャッシュSX00が持ち出して更新データを記憶しているか否かをチェックする。このチェックは，ディレクトリDIRを検索することで判定することもできるし，コアグループ間バスB_00を介して，CMG1内の第１のL2キャッシュSX00にタグ検索要求を出力することにより判定することもできる。このようなタグ検索要求を行う場合もコアグループ間バスB_00を利用することができる。
【００６８】
第４の動作として，前述の第１の動作において，第１のコアグループCMG0内の第１のコア100が，メモリ00のアドレスXのデータにアクセスする場合に，コアグループ内バスB_0を介して，第１のL2キャッシュSX00の要求入力ポートIN_Pにアクセス要求を出力した場合を想定する。第１のL2キャッシュSX00がタグ検索してキャッシュミスし，メモリ00からデータを取得し，一方，CMG1の第１のL2キャッシュSX00も同じデータを記憶している場合がある。その場合は，CMG0の第１のL2キャッシュSX00は，CMG1の第１のＬ２キャッシュSX00のタグのステータス情報を変更するために，タグ変更要求を，第１のコアグループ間バスB_00を利用して，CMG1の第１のL2キャッシュSX00に出力する。このようなタグ変更要求を行う場合も，コアグループ間バスB_00を利用することができる。
【００６９】
［本実施の形態の７つのアクセス要求の動作］
次に，本実施の形態の演算処理装置の７つのアクセス要求の動作について説明する。
【００７０】
以下の実施の形態において，キャッシュは５つの状態（ステータス情報）を持つ。第１に，キャッシュ内にデータが登録されていない状態（無効，Invalid)と，キャッシュ内にデータが登録されている状態（有効，Valid)とがある。第２に，有効状態の場合に，さらに，キャッシュ内のデータがメインメモリのデータと同じである状態（占有非更新状態，Clean）と，キャッシュのデータのみが更新されメインメモリのデータと不一致を起こしている状態（占有更新状態，Dirty）と，複数のキャッシュにメインメモリのあるアドレスのデータが登録されている状態（共有状態，Share)とがある。共有状態の場合，他のキャッシュのデータがCleanである保証はない。
【００７１】
要すれば，キャッシュのステータスは，無効（Invalid)，占有非更新（Clean)，占有更新（Dirty)，共有（Share)であり，無効以外の３つの状態は特に明記しなくとも有効（Valid)な状態になる。そして，このステータス情報は，キャッシュ内のタグに格納される。
【００７２】
また，以下の実施の形態において，一方のコアグループCMG内の各L2キャッシュSX00-SX11は，他のコアグループCMG内のペアを組んでいる各L2キャッシュが，一方のコアグループ側のメモリのデータを記憶しているか否か，つまりデータを持ち出しているか否かを示すディレクトリ情報を保持する。したがって，各L2キャッシュは，キャッシュタグを検索する際にこのディレクトリ情報を検索することで，他のコアグループ内のL2キャッシュにデータが記憶されているか否かを判別することができる。
【００７３】
ディレクトリ情報にも，キャッシュのステータス情報と同様に，無効（Invalid)，占有非更新（Clean)，占有更新（Dirty)，共有（Share)を有する。無効（Invalid)であれば，他のCMG内のL2キャッシュにはデータが記憶されておらず，占有非更新（Clean)，占有更新（Dirty)，共有（Share)であれば，他のCMG内のL2キャッシュにはデータが記憶されている。
【００７４】
L2キャッシュは，ディレクトリ情報を，他のCMG内のL2キャッシュの持ち出されたデータのステータスを高速にチェックするために保持する。したがって，L2キャッシュは，ディレクトリ情報を保持していない場合は，他のCMG内のL2キャッシュのタグ検索を実行すればよい。その場合の動作については，最後に説明する。
【００７５】
以下の動作において，各L2キャッシュは，タグ検索してキャッシュミスした場合にディレクトリDIRを検索するものとする。一方，タグ検索してキャッシュヒットした場合にはディレクトリDIRの検索は行わないものとする。ディレクトリDIR検索に要する消費電力を節約するためである。但し，キャッシュミス及びキャッシュヒットした場合のいずれでもディレクトリDIRの検索を行っても良い。
【００７６】
図６は，本実施の形態におけるアクセス要求に対する動作のフローチャート図である。図６には，以下に説明する７つのアクセス要求の動作のうち，第１のコアグループCMG0内のコア100(CORE_0)がメモリ01のアドレスAにアクセス要求，特にリード要求（ロード要求）した場合の６つの動作を示す。図６のフローチャート図も参照しながら，アクセス要求の動作を説明する。
【００７７】
［アクセス要求Ｉ］
アクセス要求Ｉの動作は，図６において，CMG0のSX01にキャッシュ登録されておらず（S1のNO)，CMG1のSX01にもキャッシュ登録されていない（S7のNO)場合に，メモリ01からデータが転送される（S10）動作である。工程S7の判定は，CMG0内Ｌ２キャッシュSX01内のディレクトリ情報を参照することで行われる。
【００７８】
図７は，アクセス要求Ｉの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は無効（Invalid)，CMG1内のL2キャッシュも無効（Invalid)である。
【００７９】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S11)。そのリード要求がL2キャッシュSX01に投入されると，L2キャッシュSX01は，そのリード要求の投入に応答して，タグ検索してキャッシュミスし，ディレクトリ検索して無効（Invalid)状態を検出する（S12)。
【００８０】
CMG0内L2キャッシュSX01，CMG1内L2キャッシュSX01のいずれにもデータが記憶されていないので，CMG0内のL2キャッシュSX01は，メモリアクセスコントローラMAC_01を介してメモリ01にアクセス要求（リード要求）を行い，メモリ01のアドレスAのデータを読み出す（S14)。そして，メモリアクセスコントローラMAC_01がデータ応答すると，CMG0内L2キャッシュSX01がデータをキャッシュに登録し，タグのステータス情報を無効（Invalid)から占有非更新（Clean)に変更し（S15)，要求元のコア100(CORE_0)にデータ応答する（S16)。L2キャッシュSX01によるデータとタグの登録は，ムーブインバッファMIBがキャッシュ登録要求をL2キャッシュSX01に投入することで行われる。
【００８１】
［アクセス要求ＩＩ］
アクセス要求ＩＩの動作は，図６において，CMG0のL2キャッシュSX01にキャッシュ登録されておらず（S1のNO)，CMG1のL2キャッシュSX01には占有更新（Dirty)でキャッシュ登録されている（S7のYES，S8のNO)場合に，CMG1のL2キャッシュSX01からデータが転送される（S9）動作である。工程S7の判定は，CMG0内Ｌ２キャッシュSX01のディレクトリ情報を参照して行われる。
【００８２】
図８は，アクセス要求ＩＩの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は無効（Invalid)，CMG1内のL2キャッシュは占有非更新（Clean)から占有更新（Dirty)に変更している。
【００８３】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S21)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索してキャッシュミスし，ディレクトリ検索して占有更新（Dirty)状態を検出する（S22)。
【００８４】
そこで，CMG0内L2キャッシュSX01は，リモート要求出力ポートR_OUTからコアグループ間バスB_01を介して，他方のコアグループCMG1内L2キャッシュSX01のリモート要求入力ポートR_IN_Pにリード要求を出力する（S23)。
【００８５】
CMG1内L2キャッシュSX01は，タグ検索してキャッシュヒットし，キャッシュメモリからデータを読み出し，タグのステータス情報を占有更新（Dirty)から共有（Share)に変更し（S24），逆方向のコアグループ間バスB_01を介して，CMG0内L2キャッシュSX01にデータ応答する（S25)。CMG0内L2キャッシュSX01は，データをキャッシュ登録し，タグのステータス情報を無効（Invalid)から共有（Share)に変更し，さらに，ディレクトリ情報を占有更新（Dirty)から共有（Share)に変更し（S26)，要求元のコア100（CORE_0)にデータ応答する（S27)。同時に，CMG0内L2キャッシュSX01は，ムーブアウト要求をメモリアクセスコントローラMAC_01に出力して，メモリ01にデータを書き戻し（ライト）させる（S29)。これにより，キャッシュとメモリ間のデータのコヒーレンシが保たれ，CMG0内L2キャッシュSX01内のデータは占有非更新（Clean)の状態になる。但し，この例ではタグのステータス情報は共有（Share)状態に変更される。
【００８６】
アクセス要求ＩＩの動作では，コアグループ間バスB_01を利用して，CMG0内L2キャッシュSX01がCMG1内L2キャッシュSX01にリード要求を出力し，データ応答を受信する。この処理において，図１のようにルータのパイプライン処理を経由する必要がない。
【００８７】
［アクセス要求ＩＩＩ］
アクセス要求ＩＩＩの動作は，図６において，CMG0のL2キャッシュSX01にキャッシュ登録されておらず（S1のNO)，CMG1のL2キャッシュSX01には占有非更新（Clean)でキャッシュ登録されている（S7のYES，S8のYES)場合に，CMG0のL2キャッシュSX01がメモリ01からデータを読み出して転送する（S10）動作である。工程S7の判定は，CMG0内Ｌ２キャッシュSX01のディレクトリ情報を参照して行われる。
【００８８】
図９は，アクセス要求ＩＩＩの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は無効（Invalid)，CMG1内のL2キャッシュは占有非更新（Clean)の状態である。後述するアクセス要求ＶＩＩが終了した状態であり，但しCMG0とCMG1とが逆の関係である。
【００８９】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S31)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索してキャッシュミスし，ディレクトリ検索して占有非更新（Clean)状態を検出する（S32)。
【００９０】
そこで，CMG0内L2キャッシュSX01は，MAC01を介してメモリ01にメモリアクセスしてデータを取得し（S36)，そのデータについてキャッシュ登録し，ディレクトリを占有非更新（Clean)から共有（Share)に変更し（S38)，要求元のコア100（CORE_0)にデータ応答する（S39)。同時に，CMG0のＬ２キャッシュSX01は，コアグループ間バスB_01を介して，CMG1のL2キャッシュSX01にタグのステータス情報を占有非更新（Clean)から共有（Share)に変更するようタグ変更要求を出力する（S33)。それに応答して，CMG1のL2キャッシュSX01は，タグのステータス情報を変更し（S34),タグ変更の応答をCMG0のＬ２キャッシュSX01に行う（S35)。CMG0のL2キャッシュSX01は，このタグ変更応答を待たずに，コア100（CORE_0)にデータ応答を行う（S39)。
【００９１】
上記のアクセス要求ＩＩＩの動作において，キャッシュミスしたCMG0のL2キャッシュSX01は，レイテンシが短い場合は，CMG1のL2キャッシュSX01からデータを取得してもよい。但し，CMG0のL2キャッシュSX01によるメモリ01へのアクセス要求は，事前のプリフェッチ要求によりレイテンシが短い場合がある。
【００９２】
［アクセス要求ＩＶ］
アクセス要求ＩＶの動作は，図６において，CMG0のL2キャッシュSX01にキャッシュ登録されていて（S1のYES)，CMG1のL2キャッシュSX01には占有更新（Dirty)で登録されている（S2のYES，S3のNO)場合に，CMG0のL2キャッシュSX01が，CMG1のL2キャッシュSX01からデータを転送する（S9）動作である。
【００９３】
図１０は，アクセス要求ＩＶの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は共有（Share)，CMG1のL2キャッシュSX01は共有（Share)から占有更新（Dirty)の状態である。
【００９４】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S41)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索しステータス情報が共有(Share）であるためキャッシュヒットする（S42)。この実施の形態では，L2キャッシュはキャッシュヒットした場合はディレクトリチェックを行わない。
【００９５】
そこで，ステータス情報が共有（Share)であるため，CMG0のL2キャッシュSX01は，コアグループ間バスB_01を介して，CMG1のL2キャッシュSX01にタグチェック要求を発行する（S43)。それに応答して，CMG1のL2キャッシュSX01は，タグ検索して占有更新（Dirty)であることを検出するため，キャッシュメモリ内のデータを読み出し且つタグのステータス情報を共有（Share)に変更し（S44)，CMG0のL2キャッシュSX01にコアグループ間バスB_01を介してデータ応答する（S45)。
【００９６】
そして，CMG0のL2キャッシュSX01は，データをキャッシュに登録し（S46)，コア100（CORE_0)にデータ応答する（S47)。それと共に，CMG0のL2キャッシュSX01は，MAC01にムーブアウト要求を発行し（S48)，メモリ01にデータを書き込む（S49)。これにより，キャッシュとメモリ間のデータのコヒーレンシが保たれる。
【００９７】
なお，この動作では，CMG0のL2キャッシュSX01はディレクトリを変更するメンテナンスは行わない。その後，キャッシュヒットしてディレクトリを参照することがないからである。但し，CMG0のL2キャッシュSX01に登録されているデータが他のデータに置き替えられてメモリ01にムーブアウトした場合は，その後キャッシュミスするので，ディレクトリのメンテナンスを行う。
【００９８】
［アクセス要求Ｖ］
アクセス要求Ｖの動作は，図６において，CMG0のL2キャッシュSX01にキャッシュ登録されていて（S1のYES)，CMG1のL2キャッシュSX01には共有（Share)で登録されている（S2のYES，S3のYES)場合に，CMG0のL2キャッシュSX01が，キャッシュ登録されているデータを転送する（S5)動作である。
【００９９】
図１１は，アクセス要求Ｖの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は共有（Share)，CMG1のL2キャッシュSX01も共有（Share)の状態である。
【０１００】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S51)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索しステータス情報が共有(Share）であるためキャッシュヒットする（S52)。アクセス要求ＩＶと同様にディレクトリチェックは行わない。
【０１０１】
そこで，ステータス情報が共有（Share)であるため，CMG0のL2キャッシュSX01は，コアグループ間バスB_01を介して，CMG1のL2キャッシュSX01にタグチェック要求を発行する（S53)。それに応答して，CMG1のL2キャッシュSX01は，タグ検索して共有（Share)であることを検出し（S54)，CMG0のL2キャッシュSX01にコアグループ間バスB_01を介してタグチェック結果（共有）を応答する（S55)。これに応答して，CMG0のL2キャッシュSX01は，コア100（CORE_0)に，キャッシュメモリ内のデータを応答する（S56)。
【０１０２】
この例では，両キャッシュのステータス情報の変更は生じない。
【０１０３】
［アクセス要求ＶＩ］
アクセス要求ＶＩの動作は，図６において，CMG0のL2キャッシュSX01にキャッシュ登録されていて（S1のYES)，CMG1のL2キャッシュSX01には登録されていない（S2のNO)場合に，CMG0のL2キャッシュSX01が，キャッシュ登録されているデータを転送する（S5)動作である。
【０１０４】
図１２は，アクセス要求ＶＩの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01は占有非更新または占有更新（Clean／Dirty)，CMG1のL2キャッシュSX01は無効（Invalid)の状態である。
【０１０５】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ01のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S61)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索しステータス情報が占有非更新または占有更新（Clean／Dirty)であるためキャッシュヒットする（S62)。
【０１０６】
ステータス情報が共有（Share)ではないので，CMG0のL2キャッシュSX01は，キャッシュメモリのデータを，コア10（CORE_0)にデータ応答する（S63)。
【０１０７】
この例では，両キャッシュのステータス情報の変更は生じない。
【０１０８】
［アクセス要求ＶＩＩ］
アクセス要求ＶＩＩは，CMG0内のコア100（CORE_0)がCNG1側のメモリ11のアドレスBにリード要求（ロード要求）を行う。アクセス要求ＶＩＩは，上記のアクセス要求Ｉ〜ＶＩのメモリ01のアドレスAにリード要求することとは，アクセス先が異なる。
【０１０９】
図１３は，アクセス要求ＶＩＩの動作を示すシーケンス図である。前提となるステータス情報は，CMG0内のL2キャッシュSX01もCMG1のL2キャッシュSX01も共に無効（Invalid)状態である。
【０１１０】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ11のアドレスAへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出力する（S71)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索しステータス情報が無効（Invalid)であるので，キャッシュミスし（S72)，コアグループ間バスB_01を利用して，CMG1のL2キャッシュSX11にリード要求を発行する（S73)。
【０１１１】
CMG1のL2キャッシュSX11は，タグを検索してキャッシュミスし（S74)，メモリアクセスコントローラMAC_11にメモリアクセス要求を発行し，メモリ11からデータを読み出す（S75)。CMG1のL2キャッシュSX11は，メモリ11のデータがCMG0のL2キャッシュSX01により持ち出されるので，ディレクトリを無効（Invalid)から占有非更新（Clean)に変更し（S76)，コアグループ間バスB_01を介してデータ応答する（S77)。
【０１１２】
一方，データ応答を受信したCMG0のL2キャッシュSX01は，データをキャッシュ登録し，タグを無効（Invalid)から占有非更新（Clean)に変更し（S78)，コア100（CORE_0)にデータ応答する（S79)。
【０１１３】
このアクセス要求ＶＩＩが終了した状態は，CMG0とCMG1の関係が逆ではあるが，前述のアクセス要求ＩＩＩの最初の状態と同じである。
【０１１４】
［ディレクトリを保持しない実施の形態］
L2キャッシュそれぞれが，自分のメモリのデータを他のL2キャッシュが持ち出しているか否かの情報を保持するディレクトリを保持しない実施例の場合は，次のような動作になる。
【０１１５】
すなわち，前述のアクセス要求Ｉ，ＩＩ，ＩＩＩの場合に，CMG0のL2キャッシュSX01がキャッシュミスをしたときに，ディレクトリをチェックする代わりに，コアグループ間バスを介してCMG1のL2キャッシュにタグのステータス情報のチェックを要求し，逆方向のコアグループ間バスを介してステータス情報を取得する。そして，そのステータス情報が占有更新（Dirty)の場合には，CMG1のL2キャッシュSX01からデータを取得する。
【０１１６】
以上のとおり，本実施の形態によれば，複数のコアとＮ（Ｎは複数）個のL2キャッシュを有する第１，第２のコアグループCMG0,CMG1との間に，Ｎ個のL2キャッシュそれぞれの間にＮ本のコアグループ間バスB_00〜B_11を設けることで，コアグループ間の少ないバス本数で，全てのコアが全てのメモリ空間にアクセス可能になると共に，異なるコアグループのメモリアクセスのレイテンシを短くすることができる。前述のとおり，コアグループ間バスは，接続されている対のL2キャッシュ間のデータ転送やタグ情報転送などに利用される。
【０１１７】
本実施の形態は，２つのコアグループの場合だけでなく，２つを越える個数，例えば４個，８個，１６個などの複数のコアグループの場合にも適用することができる。
【０１１８】
以上の実施の形態をまとめると，次の付記のとおりである。
【０１１９】
（付記１）
複数の演算処理部と，前記複数の演算処理部からのアクセス要求を処理する第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，前記複数の演算処理部のアクセス要求を前記第１乃至第Ｎのキャッシュに供給するコアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，
前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれと，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれとの間に対応して設けられた第１乃至第Ｎのコアグループ間バスとを有し，
前記Ｎは複数であり，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する演算処理装置。
【０１２０】
（付記２）
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶する付記１に記載の演算処理装置。
【０１２１】
（付記３）
前記第１乃至第Ｎのキャッシュは，それぞれ，キャッシュタグとキャッシュメモリとを有し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を変更する付記１または２に記載の演算処理装置。
【０１２２】
（付記４）
前記第１乃至第Ｎのキャッシュは，それぞれ，キャッシュタグとキャッシュメモリとを有し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし，前記ステータス情報を取得し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれの前記キャッシュタグ内のデータのステータス情報を問い合わせし，前記ステータス情報を取得する付記１または２に記載の演算処理装置。
【０１２３】
（付記５）
前記ステータス情報は，前記キャッシュメモリにデータを記憶していない第１の状態と，前記メモリと同じデータを記憶している第２の状態と，前記メモリと異なる最新のデータを記憶している第３の状態とを少なくとも有する付記３または４に記載の演算処理装置。
【０１２４】
（付記６）
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれが，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータを記憶しているか否かのディレクトリ情報を保持するディレクトリを有し，前記ディレクトリの前記ディレクトリ情報が最新のデータを記憶していることを示す場合に，前記コアグループ間バスを介して前記第２のコアグループの前記第１乃至第Ｎのキャッシュから前記最新データを取得する付記１または２に記載の演算処理装置。
【０１２５】
（付記７）
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記ディレクトリの前記ディレクトリ情報が前記メモリと同じデータを記憶していることを示す場合に，前記メモリから前記キャッシュミスしたデータを取得する付記６に記載の演算処理装置。
【０１２６】
（付記８）
前記第１，第２のコアグループが，第１乃至第Ｎの演算処理部を有し，
前記第１のコアグループ内の前記第１乃至第Ｎの演算処理部それぞれは，前記メモリの第１乃至第Ｎのメモリ空間から読み出したデータを，前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュに登録し，
前記第２のコアグループ内の前記第１乃至第Ｎの演算処理部それぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間から読み出したデータを，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュに登録する付記１に記載の演算処理装置。
【０１２７】
（付記９）
複数の演算処理部と，前記複数の演算処理部からのアクセス要求を処理する第１乃至第Ｎ（Ｎは正の整数）のキャッシュと，前記複数の演算処理部のアクセス要求を前記第１乃至第Ｎのキャッシュに供給するコアグループ内バスとをそれぞれ有する第１及び第２のコアグループと，
前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれと，前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれとの間に対応して設けられた第１乃至第Ｎのコアグループ間バスとを有し，
前記Ｎは複数である演算処理装置の制御方法であって，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，メモリの第１乃至第Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータを個別に記憶し，
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータに，前記第１乃至第Ｎのコアグループ間バスを介してアクセスし記憶する演算処理装置の制御方法。
【０１２８】
（付記１０）
前記第１のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第１乃至第Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第２のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶し，
前記第２のコアグループの前記第１乃至第Ｎのキャッシュそれぞれは，前記メモリの第Ｎ＋１乃至第２Ｎのメモリ空間それぞれのデータについて，最新データを記憶していない場合に，前記第１乃至第Ｎのコアグループ間バスを介して前記第１のコアグループ内の前記第１乃至第Ｎのキャッシュそれぞれから前記最新データを取得して記憶する
付記９に記載の演算処理装置の制御方法。
【符号の説明】
【０１２９】
100-107：CPUコア
SX00-SX11：L2キャッシュ
MAC00-MAC03，MAC10-MAC13：メモリアクセスコントローラ
00-03，10-13：メインメモリ
B_0，B_1：第１のバス
B_00-B11：第２のバス
IN_P：要求入力ポート
R_IN_P：リモート要求入力ポート
R_OUT：リモート要求出力ポート
PIPE：キャッシュ制御部，キャッシュパイプライン
【図１】
2015210616.tif 000003
【図２】
2015210616.tif 000004
【図３】
2015210616.tif 000005
【図４】
2015210616.tif 000006
【図５】
2015210616.tif 000007
【図６】
2015210616.tif 000008
【図７】
2015210616.tif 000009
【図８】
2015210616.tif 000010
【図９】
2015210616.tif 000011
【図１０】
2015210616.tif 000012
【図１１】
2015210616.tif 000013
【図１２】
2015210616.tif 000014
【図１３】
2015210616.tif 000015
【手続補正書】
【提出日】平成27年3月19日(2015.3.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
まず，第１のコアグループCMG0内のコア100(CORE_0)は，メモリ11のアドレスBへのリード要求を，コアグループ内バスB_0を介してL2キャッシュSX01の要求入力ポートIN_Pに出
力する（S71)。CMG0内L2キャッシュSX01は，そのリード要求に応答して，タグ検索しステータス情報が無効（Invalid)であるので，キャッシュミスし（S72)，コアグループ間バスB_01を利用して，CMG1のL2キャッシュSX01にリード要求を発行する（S73)。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
CMG1のL2キャッシュSX01は，タグを検索してキャッシュミスし（S74)，メモリアクセスコントローラMAC_11にメモリアクセス要求を発行し，メモリ11からデータを読み出す（S75)。CMG1のL2キャッシュSX01は，メモリ11のデータをキャッシュ登録せず，メモリ11のデータがCMG0のL2キャッシュSX01により持ち出されるので，タグのステータス情報は無効（Invalid）のまま変更せず，ディレクトリを無効（Invalid)から占有非更新（Clean)に変更し（S76)，コアグループ間バスB_01を介してデータ応答する（S77)。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2015210616.tif 000016