(57)【要約】【課題】キャッシュを有するＣＰＵと、そのキャッシュのタグのコピー（スヌープタグ）を有するシステムコントローラを搭載し、かつキャッシュタグのリプレース情報の発行がないＣＰＵを持つ情報処理システムにおいて、ＣＰＵ内のキャッシュタグの過剰なリプレースを抑制することにより、キャッシュミス率を減らし、性能低下を抑えることを目的とする。【解決手段】システムコントローラ内のスヌープタグのＷＡＹを、ＣＰＵ内のキャッシュタグのＷＡＹ数よりも多くした情報処理システムにより、上記課題の解決を図る。【選択図】図１
2008046902.tif 000002
【特許請求の範囲】
【請求項１】
複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令の実行及びデータの処理を行う１つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグを有し、前記スヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多いプロセッサ制御装置と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記プロセッサにおいてキャッシュミスが生じたときに、前記プロセッサから前記プロセッサ制御装置に対してデータの読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする請求項１に記載の情報処理システム。
【請求項６】
キャッシュタグとキャッシュデータ領域からなる複数ウェイのキャッシュメモリを有し、命令を実行及びデータを処理する１つ以上のプロセッサと、前記プロセッサからの要求に基づいて該プロセッサへ情報を送信するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法であって、
キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とするキャッシュタグ及びスヌープタグの更新方法。
【請求項７】
前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする請求項６に記載のキャッシュタグ及びスヌープタグの更新方法。
【請求項８】
キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知する
ことを特徴とする請求項６に記載のキャッシュタグ及びスヌープタグの更新方法。
【請求項９】
前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする請求項６に記載のキャッシュタグ及びスヌープタグの更新方法。
【請求項１０】
複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する１つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、
を備えることを特徴とする情報処理基板。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサバス上に複数のＣＰＵコアを持ち、ＣＰＵ内キャッシュのコピーであるスヌープタグをシステムコントローラが持つシステムのタグ構成に関する。
【背景技術】
【０００２】
一般に、ＣＰＵよりも低速な主記憶装置へのアクセスのスループットを向上させる手段として、キャッシュメモリが使用されている。キャッシュメモリは、通常、ＣＰＵと主記憶装置との間に配置され、ＣＰＵ内に設けられることが一般的である。
【０００３】
キャッシュメモリと主記憶装置で使用される記憶装置（外部メモリ）とを比較すると、キャッシュメモリの方がアクセス速度は高速であるが、記憶容量が小さい。したがって、キャッシュメモリに格納されるデータは、外部メモリに展開された全データの一部である。
【０００４】
キャッシュメモリに読み出し対象のデータが存在すれば、高速でそのデータを読み出すことができる。しかし、キャッシュメモリに読み出し対象のデータが存在しなければ、主記憶装置へアクセスして読み出し対象となるデータを読み出すことになり、読み出し速度は低下することになる。
【０００５】
キャッシュメモリは、通常、主記憶装置に保持されているデータの一部を格納するキャッシュ（データ領域。または、キャッシュデータという）と、キャッシュに格納されているデータのアドレスの一部（タグ）を格納するタグメモリ（タグ領域、またはキャッシュタグという）とで構成される。
【０００６】
プロセッサは、実行に必要なデータがキャッシュに存在するか否かを、当該データのアドレスとタグメモリ中のタグとを比較することにより知る。必要なデータがキャッシュ 中に存在しない場合、当該データが主メモリからキャッシュにロードされ、当該データのアドレスの一部が新しいタグとしてタグメモリにロードされる。この新しいタグをタグメモリにロードするため、タグメモリから不要な、あるいは不要と思われるタグを追い出す必要がある。
【０００７】
タグメモリは、複数のウェイ（ＷＡＹ）からなる。新しいタグのロードに先立って追い出すタグを決定する（タグの更新を行う）ために、タグに予めＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）情報が付加される。
【０００８】
例えば、ＬＲＵ情報生成回路は、どのタグを次に置き換えるべきかを示すＬＲＵ情報をタグの書き込み時に生成し、当該タグに対応させてタグメモリに書き込む。従って、タグメモリの読み出し／書き込みの単位である１ラインにはタグとそのＬＲＵ情報とが格納される。新しいタグをタグメモリにロードする時に、補充先ウェイ情報生成回路が当該タグをどのウェイに補充するかをタグの各々に付加されたＬＲＵ情報を用いて判定する。
【０００９】
マッチ判定回路はプロセッサが必要とするデータのアドレス（の一部）とタグメモリに格納している所定のタグとの比較を行い、当該データがキャッシュ中に存在するか否かを判定する。
【００１０】
この判定の後、タグメモリから読み出されたタグ（のライン）は、再びタグメモリに書き込まれる。即ち、当該判定の後にタグの書き戻しサイクルが実行される。これは、タグの当該ラインのＬＲＵ情報をタグメモリに書き戻さなければ、ＬＲＵ情報が当該判定の結果を反映した正しいＬＲＵ情報であるとは言えなくなるためである。そこで、当該ラインのヒット／ミスヒットの結果に基づいて、ＬＲＵ情報生成回路が新たなＬＲＵ情報を生成してこれをタグメモリに格納する。これにより、ＬＲＵ情報を用いた新たなタグの書き込みのＬＲＵ制御が行われる。
【００１１】
図６は、一般的なマルチプロセッサ構成を備える情報処理システムの全体図（チップセット）を示す。同図において情報処理システムは、主としてシステムボード１０、入出力制御ユニット１５、データクロスバー１７、アドレスクロスバー１６から構成される。システムボード１０は、システムコントローラ１、ファームウェアハブ１１、ＣＰＵ２、メモリコントローラ１２、メモリ１３、ＣＰＵバス６、ファームウェアハブバス７から構成される。
【００１２】
ＣＰＵバス６は、システムコントローラ１とＣＰＵ２とを接続するものである。ファームウェアハブバス７は、システムコントローラ１とファームウェアバブ７とを接続するものである。データクロスバー１７は、システムボード１０間のデータを送受するバスである。アドレスクロスバー１６は、システムボード１０間のアドレスを送受するバスである。
【００１３】
システムコントローラ１は、ＣＰＵ２−メモリ１３間のデータの送受を制御するための装置である。ファームウェアハブ１１には、ファームウェアが格納されている。メモリコントローラ１２は、メモリ１３の動作を制御するものである。
【００１４】
図７は、情報処理システムにおけるタグを示す。図７において、システムコントローラ１は、ＣＰＵバス６ａ，６ｂ，６ｃ，６ｄによりＣＰＵ２ａ，２ｂ，２ｃ，２ｄと接続されている。各ＣＰＵ２（２ａ，２ｂ，２ｃ，２ｄ）はそれぞれキャッシュメモリを備えている。各ＣＰＵ２のキャッシュメモリはそれぞれ、キャッシュタグ３（３ａ，３ｂ，３ｃ，３ｄ）とキャッシュデータ４（４ａ，４ｂ，４ｃ，４ｄ）により構成される。
【００１５】
また、システムコントローラ１内には各キャッシュタグ３（３ａ，３ｂ，３ｃ，３ｄ）に対応したスヌープタグ５（５ａ，５ｂ，５ｃ，５ｄ）を備える。
システムコントローラ１は、例えばキャッシュミス発生時にＣＰＵ２ａからリード要求があれば、そのリード要求の対象となるデータが他のスヌープタグ５ｂ，５ｃ，５ｄで保持されているかを確認する。そのリード要求の対象となるデータが他のスヌープタグ５ｂ，５ｃ，５ｄで保持されている場合、システムコントローラ１は、そのタグが保持されたスヌープタグ５からそのリード要求に対応するリプレース情報を取得して、ＣＰＵ２ａに渡す。しかし、いずれのスヌープタグ５にもそのリード要求の対象となるデータが保持されていなければ、システムコントローラ１は、主記憶装置よりそのリード要求に対応するリプレース情報を取得して、ＣＰＵ２ａに渡す。
【００１６】
図８は、従来におけるタグの構成例である。同図におけるＣＰＵ２ａに着目して説明する。ＣＰＵ２ａ内のキャッシュタグ３ａは、例えば４つのＷＡＹ（３ａ−０，３ａ−１，３ａ−２，３ａ−３）からなる。
【００１７】
一方、キャッシュタグ３ａに対応するシステムコントロール１のスヌープタグ５ａも、同様に４つのＷＡＹ（５ａ−０，５ａ−１，５ａ−２，５ａ−３）からなる。
このように、従来の構成では、ＣＰＵ２のキャッシュタグ３と、システムコントローラ１のスヌープタグ５のＷＡＹ数は同じである。このような場合には、次の事象が起こり得る。
【００１８】
まず、ＣＰＵ２からシステムコントローラ１へキャッシュミスによるリード要求が発行（６ａ−Ａａ）されたときに、キャッシュタグ３がＦＵＬＬ（すなわち、キャッシュタグを構成する全てのＷＡＹが書き込み状態）である場合、ＣＰＵ２はキャッシュタグ３を構成するいずれかのＷＡＹからアドレスを追い出して、リード要求の対象となるデータのアドレスに置き換える（リプレース情報）。
【００１９】
このようなシステムにおいては、どのＷＡＹのアドレスを追い出すかのリプレース情報をＣＰＵ２からシステムコントローラ１に知らせる手段が無いか、またはそのような手段があっても確実にそのリプレース情報が通知されるとは限らない。
【００２０】
よって、そのリプレース情報をＣＰＵ２からシステムコントローラ１に知らせる手段が無いか、またはそのような手段があっても確実にその削除情報が通知されるとは限らないプロトコルを前提する方式を採用しているシステムでは、システムコントローラ１側でスヌープタグのリプレース対象を独自に決定している。
【特許文献１】特開平５−２０４８６９号公報
【特許文献２】特開平７−３１１７１１号公報
【特許文献３】特開平１０−２１４２２２号公報
【特許文献４】特開平５−２６５９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
図９Ａ及び図９Ｂは、従来におけるキャッシュミス発生時のタグの更新例を示す。ＣＰＵ２ａ内キャッシュタグ３ａを構成する４つのＷＡＹ（３ａ−０，３ａ−１，３ａ−２，３ａ−３）にはそれぞれ、アドレス（０，１，２，３）が格納されているとする（ＣＰＵ２ａ内キャッシュタグ３ａがＦＵＬＬの状態）。
【００２２】
まず、ＣＰＵ２ａにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス５についてのリード要求が発生する（ステップ１０１。以下、ステップを「Ｓ」と称する）。
【００２３】
そうすると、ＣＰＵ２ａは、例えばキャッシュタグ３ａのＷＡＹ［３ａ−０］をリプレース対象に決定し、ＷＡＹ［３ａ−０］に格納されているアドレス情報（アドレス０）を削除する（Ｓ１０２）。
【００２４】
ＣＰＵ２ａは、Ｓ１０１で発生したアドレス情報（アドレス５）についてのリード要求をシステムコントローラ１に対して行う（Ｓ１０３）。
スヌープタグ５ａの全てのＷＡＹはアドレスが書き込まれているため（ＦＵＬＬ状態）、いずれかのＷＡＹをリプレース対象として削除する必要がある。
【００２５】
しかしながら、ＣＰＵ２ａからリプレース要求がないシステムにおいては、システムコントローラ１側で、スヌープタグのどのＷＡＹについてのアドレスを置換対象とするかを勝手に決定せざるを得ない。
【００２６】
そこで、システムコントローラ１は、例えばリプレース対象としてＷＡＹ［５ａ−２］を決定し、そのＷＡＹ［５ａ−２］に格納されているアドレス情報（アドレス２）を削除する。
【００２７】
リプレース対象となったＷＡＹ［５ａ−２］に格納されたアドレスは、ＣＰＵ２ａ内のキャッシュタグ３ａにおいてもリプレース対象となる。よって、システムコントローラ１は、リプレース対象となったアドレス（アドレス２）の削除をＣＰＵ２ａへ要求する（Ｅｖｉｃｔｉｏｎ要求）（Ｓ１０４）。
【００２８】
Ｅｖｉｃｔｉｏｎ要求を受け取ったＣＰＵ２ａは、そのコマンドを解析し、キャッシュタグ３ａのＷＡＹ［３ａ−２］のアドレス情報（アドレス２）を削除する（Ｓ１０５）。
システムコントローラ１は、スヌープタグ５ａのＷＡＹ［５ａ−２］を更新する（ＷＡＹ［５ａ−２］にアドレス５が格納される）。そして、システムコントローラ１は、そのアドレス情報に対応するデータをＣＰＵ２ａに送信する（Ｓ１０６）。
【００２９】
ＣＰＵ２ａは、システムコントローラ１からのデータを受信してキャッシュデータ４ａに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ３ａのＷＡＹ［３ａ−０］を更新する（Ｓ１０７）。
【００３０】
再度、ＣＰＵ２ａにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス６についてのリード要求が発生する（Ｓ１０８）。このとき、キャッシュタグ３（ＷＡＹ［３ａ−２］）には空きがあるので、Ｓ１０２で述べた削除処理は行われず、ＣＰＵ２ａはシステムコントローラ１へアドレス６についてのリード要求を行う（Ｓ１０９）。
【００３１】
そうすると、スヌープタグ５ａがＦＵＬＬであるため、システムコントローラ１は、例えばＷＡＹ［５ａ−１］をリプレース対象に決定すると、そのＷＡＹ［５ａ−１］に格納されたアドレス情報（アドレス１）を削除する。
【００３２】
リプレース対象となったＷＡＹ［５ａ−１］に格納されたアドレスは、キャッシュタグ３ａにおいてもリプレース対象となる。よって、システムコントローラ１は、リプレース対象となったアドレス（アドレス１）の削除をＣＰＵ２ａへ要求する（Ｅｖｉｃｔｉｏｎ要求）（Ｓ１１０）。
【００３３】
Ｅｖｉｃｔｉｏｎ要求を受け取ったＣＰＵ２ａは、そのコマンドを解析し、キャッシュタグ３ａのＷＡＹ［３ａ−１］に格納されたアドレス情報（アドレス１）を削除する（Ｓ１１１）。
【００３４】
システムコントローラ１は、スヌープタグ５ａのＷＡＹ［５ａ−１］を更新する（ＷＡＹ［５ａ−１］にアドレス６が格納される）。そして、システムコントローラ１は、そのアドレスに対応するデータをＣＰＵ２ａに送信する（Ｓ１１２）。
【００３５】
ＣＰＵ２ａは、システムコントローラ１からのデータを受信してキャッシュデータ４ａに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ３ａのＷＡＹ［３ａ−０］を更新する（Ｓ１１３）。
【００３６】
このように従来の構成では、ＣＰＵ２とシステムコントローラ１のリプレース対象が必ずしも一致しないため、ＣＰＵ２で余分なリプレースが生じてしまう。その結果、空きＷＡＹの数も複数個生じることになる。そうすると、キャッシュミス率も増大することになる。
【００３７】
上記の課題に鑑み、本発明では、ＣＰＵからシステムコントローラへどのＷＡＹに格納された情報を追い出すかという情報が通知されない情報処理システムにおいて、ＣＰＵ内のキャッシュタグの過剰なリプレースを抑制することにより、キャッシュミス率を減らし、性能低下を抑えることを目的とする。
【課題を解決するための手段】
【００３８】
本発明にかかる情報処理システムは、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する１つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備えることを特徴とする。
【００３９】
このように構成することにより、キャッシュミス率の低減させることができる。
前記情報処理システムにおいて、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信することを特徴とする。
【００４０】
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
前記情報処理システムにおいて、前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされないことを特徴とする。
【００４１】
このように構成することにより、Ｅｖｉｃｔｉｏｎ要求がＣＰＵに通知されないために、ＣＰＵ側のキャッシュタグのＷＡＹの不要な削除を抑制することができる。
前記情報処理システムにおいて、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知することを特徴とする。
【００４２】
このように構成することにより、スヌープタグのＷＡＹ数がキャッシュタグのＷＡＹ数より多いので、スヌープタグが更新されるにつれて、スヌープタグとキャッシュタグのアドレスの格納内容が大きく乖離し、両者には同一のアドレスが存在する可能性は、従来例に比べ低くなる。
【００４３】
前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられていることを特徴とする。
【００４４】
このように構成することにより、当該方式において余分な空きＷＡＹが生じてしまうという現象を抑制することができる。
本発明は、このような方式を前提とするものである。
【００４５】
本発明にかかる、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する１つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法は、キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信することを特徴とする。
【００４６】
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
前記キャッシュタグ及びスヌープタグの更新方法において、前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされないことを特徴とする。
【００４７】
このように構成することにより、Ｅｖｉｃｔｉｏｎ要求がＣＰＵに通知されないために、ＣＰＵ側のキャッシュタグのＷＡＹの不要な削除を抑制することができる。
前記キャッシュタグ及びスヌープタグの更新方法において、キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知することを特徴とする。
【００４８】
このように構成することにより、スヌープタグのＷＡＹ数がキャッシュタグのＷＡＹ数より多いので、スヌープタグが更新されるにつれて、スヌープタグとキャッシュタグのアドレスの格納内容が大きく乖離し、両者には同一のアドレスが存在する可能性は、従来例に比べ低くなる。
【００４９】
前記キャッシュタグ及びスヌープタグの更新方法において、前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられていることを特徴とする。
【００５０】
このように構成することにより、当該方式において余分な空きＷＡＹが生じてしまうという現象を抑制することができる。
本発明にかかる情報処理基板は、複数ウェイからなるキャッシュタグとキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する１つ以上のプロセッサと、前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備えることを特徴とする。
【００５１】
このように構成することにより、スヌープタグのリプレースを減少させることができるので、キャッシュミス率の低減させることができる。
【発明の効果】
【００５２】
本発明により、システムコントローラ１内のスヌープタグ５のリプレースを減少させることができる。したがって、ＣＰＵ２内のキャッシュタグ３がＦＵＬＬの場合に生じる過剰なリプレースの減少が可能となる。その結果、キャッシュミス率を低減させることができる。
【発明を実施するための最良の形態】
【００５３】
本発明では、システムコントローラ内スヌープタグに収容できるＷＡＹ数を、ＣＰＵキャッシュ内のＷＡＹ数よりも多くする情報処理システムを提供する。これにより、過剰なＣＰＵ内タグのリプレースを防ぐことができる。
【００５４】
図１は、本発明の一実施形態にかかる情報処理システムの構成概念図を示す。本実施形態は、キャッシュを有するＣＰＵと、そのキャッシュのタグのコピー（以下、スヌープタグと称する）を有するシステムコントローラを搭載したチップセットを有する情報処理システムで、キャッシュタグのリプレース情報の発行がないＣＰＵを持つ情報処理システムが前提である。
【００５５】
本実施形態にかかる情報処理システム１００は、１つ以上のプロセッサ１０４と、プロセッサ制御装置１０１を備える。
プロセッサ１０４は、複数ウェイ１０６からなるキャッシュタグ１０５とキャッシュデータを含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理するものである。
【００５６】
プロセッサ制御装置１０１は、プロセッサ１０４からの読み出し要求に基づいてプロセッサ１０４へ応答する装置である。プロセッサ制御装置１０１は、各プロセッサ１０４のキャッシュタグ１０５に対応するタグ情報であるスヌープタグ１０２を有する。スヌープタグ１０２のウェイ１０３の数（ｍ個：任意の整数）が前記プロセッサ１０４のキャッシュタグ１０５のウェイ１０６の数（ｎ個：任意の整数）よりも多い（ｍ＞ｎ）。
【００５７】
キャッシュミス時にプロセッサ１０４から読み出し要求があった場合、プロセッサ制御装置１０１はスヌープタグ１０２のウェイ１０３に空きがあれば、空きウェイを読み出し要求の対象となるデータのアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサ１０４へ送信することができる。
【００５８】
この空きウェイ更新時には、キャッシュタグ１０５のウェイ１０６のうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がプロセッサ制御装置１０１からプロセッサ１０４に対してなされない。
【００５９】
これにより、スヌープタグ１０２のリプレースを減少させることができるので、キャッシュミス率の低減させることができる。また、Ｅｖｉｃｔｉｏｎ要求がＣＰＵに通知されないために、ＣＰＵ側のキャッシュタグのＷＡＹの不要な削除を抑制することができる。
【００６０】
また、キャッシュミス時にプロセッサ１０４から読み出し要求があった場合、スヌープタグ１０２のウェイ１０３に空きがなければ、プロセッサ制御装置１０１はスヌープタグ１０２のウェイ１０３に格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨（Ｅｖｉｃｔｉｏｎ要求）をプロセッサ１０４へ通知する。
【００６１】
本発明では、スヌープタグはキャッシュタグの内容と同じ内容が格納されているが、スヌープタグのＷＡＹ数が、キャッシュタグのＷＡＹ数よりも多いために、既にキャッシュでは保持されていないアドレスをも保持している。よって、スヌープタグがＦＵＬＬの場合、任意に選択したＷＡＹが、キャッシュ側で保持していないアドレスである可能性が高くなる。したがって、システムコントローラからのＥｖｉｃｔｉｏｎ要求が発生した場合、キャッシュ側ではそのＥｖｉｃｔｉｏｎ要求で指定されたアドレスを保持している可能性が低くなるため、キャッシュタグのＷＡＹのアドレス削除処理が発生する可能性が低くなる。その結果、キャッシュタグの空きＷＡＹが存在する可能性が低くなり、キャッシュミス率を低減させることができる。
【００６２】
それでは、以下に本発明の実施形態について詳述する。
図２は、本実施形態における情報処理システムのタグの構成図を示す。図８と比べて、図２ではシステムコントローラ1内スヌープタグ５ａ，５ｂのＷＡＹ数が、対応するＣＰＵ２ａ，２ｂ内のキャッシュタグ３ａ，３ｂのＷＡＹ数より１つ多い。すなわち、本実施形態では、ＣＰＵ２ａ，２ｂ内キャッシュタグ３ａ，３ｂのＷＡＹ数が４であるのに対し、システムコントローラ１内スヌープタグ５ａ，５ｂのＷＡＹ数は５としている。
【００６３】
図２において、６ａ−Ａａ，６ａ−Ａｂは、ＣＰＵ２ａ，２ｂからのキャッシュＲＥＡＤ要求を示す。６ａ−Ｂａ，６ａ−Ｂｂは、システムコントローラからのＥｖｉｃｔｉｏｎ要求を示す。６ａ−Ｃａ，６ａ−Ｃｂは、ＣＰＵ２ａ，２ｂから送信されるキャッシュデータを示す。
【００６４】
図３は、キャッシュＲＥＡＤ要求、Ｅｖｉｃｔｉｏｎ要求、及びキャッシュデータのパケット形式を示す。図３（ａ）は、ＣＰＵからのキャッシュＲＥＡＤ要求６ａ−Ａａ，６ａ−Ａｂのパケット形式を示す。キャッシュＲＥＡＤ要求は、「ＩＤ」フィールド、「ＯＰＣ」フィールド、「アドレス」フィールドから構成される。「ＩＤ」フィールドは、いずれのＣＰＵからのＲＥＡＤ要求であるかを識別する情報が格納されている。「ＯＰＣ」フィールドには、ＲＥＡＤ命令が格納されている。「アドレス」フィールドには、読み出し要求対象のデータが格納される主メモリのアドレスが格納されている。
【００６５】
図３（ｂ）は、システムコントローラからのＥｖｉｃｔｉｏｎ要求６ａ−Ｂａ，６ａ−Ｂｂのパケット形式を示す。Ｅｖｉｃｔｉｏｎ要求は、「ＯＰＣ」フィールド、「アドレス」フィールドから構成される。「ＯＰＣ」フィールドには、Ｅｖｉｃｔｉｏｎ命令が格納されている。「アドレス」フィールドには、リプレース対象となったスヌープタグのＷＡＹに格納されたアドレスと同一のアドレスが格納されている。
【００６６】
図３（ｃ）は、システムコントローラからＣＰＵへ送信されるキャッシュデータ６ａ−Ｃａ，６ａ−Ｃｂのパケット形式を示す。キャッシュデータは、「ＩＤ」フィールド、「データ」フィールドから構成される。「データ」フィールドには、データが格納されている。
【００６７】
図４Ａ及び図４Ｂは、本実施形態におけるキャッシュミス発生時のタグの更新例を示す。以下では、説明の便宜上、キャッシュタグ３ａ及びそのキャッシュタグ３ａに対応するスヌープタグ５ａに着目して説明する。
【００６８】
まず、ＣＰＵ２ａ内キャッシュタグ３ａは４ＷＡＹで構成され、各ＷＡＹ（３ａ−０，３ａ−１，３ａ−２，３ａ−３）にはそれぞれ、アドレス（０，１，２，３）が格納されている（ＣＰＵ２ａ内キャッシュタグ３ａがＦＵＬＬの状態）。
【００６９】
一方、システムコントローラ内スヌープタグ５ａは５ＷＡＹで構成され、そのうち４つのＷＡＹ（５ａ−０，５ａ−１，５ａ−２，５ａ−３）にはそれぞれ、アドレス（０，１，２，３）が格納されている。スヌープタグ５ａのＷＡＹ［５ａ−４］は空である。
【００７０】
まず、ＣＰＵ２ａにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス５に対応するデータついてのリード要求が発生する（Ｓ１）。
そうすると、ＣＰＵ２ａは、例えばキャッシュタグ３ａのＷＡＹ［３ａ−０］をリプレース対象に決定し、ＷＡＹ［３ａ−０］に格納されているアドレス情報（アドレス０）を削除する（Ｓ２）。
【００７１】
ＣＰＵ２ａは、Ｓ１で発生したアドレス情報（アドレス５）についてのリード要求をシステムコントローラ１に対して行う（Ｓ３）。
ここで、本実施形態によるシステムが、ＣＰＵ２ａからリプレース要求がないシステムであるとする。この場合、スヌープタグ５ａがＦＵＬＬの場合には、システムコントローラはスヌープタグにおける任意のＷＡＹのアドレス情報を削除する必要がある。しかしながら、Ｓ３の状態ではスヌープタグ５ａのＷＡＹ［５ａ−４］は空いているため、スヌープタグ５ａのＷＡＹの情報を削除する処理が発生しない。したがって、その削除処理に付随するＣＰＵ２ａに対するＥｖｉｃｔｉｏｎ要求も発生しない。
【００７２】
そうすると、システムコントローラ１は、スヌープタグ５ａのＷＡＹ［５ａ−４］を更新し、アドレス５がＷＡＹ［５ａ−４］に格納される。さらに、システムコントローラ１は、そのアドレスに対応するリード要求の対象データをＣＰＵ２ａへ送信する（Ｓ４）。
【００７３】
ＣＰＵ２ａは、システムコントローラ１からのデータを受信してキャッシュデータ４ａに書き込むとともに、そのデータに対応するアドレス（アドレス５）によりキャッシュタグ３ａのＷＡＹ［３ａ−０］を更新する（Ｓ５）。
【００７４】
再度、ＣＰＵ２ａにおいて、キャッシュミスによるリード要求が発生する。例えば、アドレス６についてのリード要求が発生する（Ｓ６）。このとき、キャッシュタグ３ａがＦＵＬＬであるため、ＣＰＵ２ａは、例えばキャッシュタグ３ａのＷＡＹ［３ａ−１］をリプレース対象に決定し、ＷＡＹ［３ａ−１］に格納されているアドレス情報（アドレス１）を削除する（Ｓ７）。
【００７５】
それから、ＣＰＵ２ａはシステムコントローラ１へアドレス６に対応するデータのリード要求を行う（Ｓ８）。
Ｓ８の状態ではスヌープタグ５ａがＦＵＬＬであるため、システムコントローラ１は、例えばＷＡＹ［５ａ−１］をリプレース対象に決定し、そのＷＡＹ［５ａ−１］に格納されているアドレス情報（アドレス１）を削除する。
【００７６】
リプレース対象となったＷＡＹ［５ａ−１］に格納されたアドレス情報は、キャッシュタグ３ａにおいてもリプレース対象となる。よって、システムコントローラ１は、リプレース対象となったアドレス（アドレス１）の削除をＣＰＵ２ａへ要求する（Ｅｖｉｃｔｉｏｎ要求）（Ｓ９）。
【００７７】
ＣＰＵ２ａは、Ｅｖｉｃｔｉｏｎ要求を受け取る。しかしながら、ＣＰＵ２ａは、Ｅｖｉｃｔｉｏｎ要求の対象アドレスを保持していないので、Ｅｖｉｃｔｉｏｎ処理は発生しない。すると、システムコントローラ１は、スヌープタグ５ａのＷＡＹ［５ａ−１］を更新し、アドレス６がスヌープタグ５ａのＷＡＹ［５ａ−１］に格納される。さらに、システムコントローラ１は、そのアドレスに対応するリード要求の対象データをＣＰＵ２ａへ送信する（Ｓ１０）。
【００７８】
ＣＰＵ２ａは、システムコントローラ１からのデータを受信してキャッシュデータ４ａに書き込むとともに、そのデータに対応するアドレスによりキャッシュタグ３ａのＷＡＹ［３ａ−０］を更新し、アドレス６がキャッシュタグ３ａのＷＡＹ［３ａ−２］が格納される（Ｓ１１）。
【００７９】
このように、キャッシュタグ３ａがＦＵＬＬのときにキャッシュミスが発生した場合、キャッシュタグ３ａのリプレースは、キャッシュミスによるリード要求発生直後に生じるのみとなる。すなわち、キャッシュタグ３ａには、タグの更新時において、生じる空きＷＡＹは１つのみとなり、２つ以上の空きＷＡＹが生じず、余分なリプレースは発生しない。図４Ａ及び図４Ｂで説明したことを、図５を用いて説明する。
【００８０】
図５は、本実施形態におけるキャッシュミス発生時のタグの更新のフローを示す。まず、ＣＰＵ２において、キャッシュミスによるリード要求が発生する（Ｓ２１）。そうすると、ＣＰＵ２はキャッシュタグ３がＦＵＬＬか否かを判断する（Ｓ２２）。
【００８１】
キャッシュタグ３がＦＵＬＬでない場合、すなわち、キャッシュタグ３に空きＷＡＹがある場合（Ｓ２２で「ＮＯ」へ進む）、Ｓ２４へ進む。
キャッシュタグ３がＦＵＬＬの場合、すなわちキャッシュタグ３に空きＷＡＹがない場合（Ｓ２２で「ＹＥＳ」へ進む）、キャッシュタグ３から任意のＷＡＹを削除する（Ｓ２３）。このとき、ＷＡＹの削除には、例えば、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）方式やその他の公知の方法で削除することができる。
【００８２】
次に、ＣＰＵ２はシステムコントローラ１に対してＲＥＡＤ要求を行う（Ｓ２４）。システムコントローラ１は、ＲＥＡＤ要求を行ったＣＰＵ２に対応するスヌープタグ５がＦＵＬＬか否かを判断する（Ｓ２５）。
【００８３】
スヌープタグ５がＦＵＬＬでない場合、すなわち、スヌープタグ５に空きＷＡＹがある場合（Ｓ２５で「ＮＯ」へ進む）、システムコントロール１はその空きＷＡＹを更新し、ＲＥＡＤ要求されたアドレスがその空きＷＡＹに格納される（Ｓ２９）。
【００８４】
スヌープタグ５がＦＵＬＬの場合、すなわち、スヌープタグ５に空きＷＡＹがない場合（Ｓ２５で「ＹＥＳ」へ進む）、システムコントロール１はスヌープタグ５内のＷＡＹをランダムに選択し、選択したＷＡＹに格納されているアドレスを削除する。さらに、システムコントローラ１は、ＲＥＡＤ要求を行ったＣＰＵ２へＥｖｉｃｔｉｏｎ要求を発行する（Ｓ２６）。
【００８５】
そうすると、ＣＰＵ２は、Ｅｖｉｃｔｉｏｎ要求されたアドレスをキャッシュタグ３内に保持しているか否かを判断する（Ｓ２７）。
Ｅｖｉｃｔｉｏｎ要求されたアドレスがキャッシュタグ３内に保持されていない場合（Ｓ２７で「ＮＯ」へ進む）、Ｓ３０へ進む。
【００８６】
Ｅｖｉｃｔｉｏｎ要求されたアドレスがキャッシュタグ３内に保持されている場合（Ｓ２７で「ＹＥＳ」へ進む）、ＣＰＵ２は、Ｅｖｉｃｔｉｏｎ要求されたアドレスが格納されているキャッシュタグ３のＷＡＹのアドレスを削除する（Ｓ２８）。それから、システムコントローラ１は、Ｓ２６で削除したスヌープタグ５のＷＡＹを更新する（Ｓ２９）。
【００８７】
その後、システムコントローラ１はリード要求されたデータを、ＲＥＡＤ要求を行ったＣＰＵ２に送信し（Ｓ３０）、さらに送信したデータに対応するアドレスでキャッシュタグ３のＷＡＹを更新する（Ｓ３１）。
【００８８】
なお、本実施形態では、システムコントローラ１内スヌープタグ５のＷＡＹ数をＣＰＵ２内キャッシュタグ３のＷＡＹ数より１だけ多くしたが、ＷＡＹ数の関係はこれに限定されない。すなわち、スヌープタグ５のＷＡＹ数がキャッシュタグ３のＷＡＹ数より多ければよい。
【００８９】
また、本発明では、スヌープタグはキャッシュタグの内容と同じ内容が格納されているが、スヌープタグのＷＡＹ数が、キャッシュタグのＷＡＹ数よりも多いために、既にキャッシュでは保持されていないアドレスをも保持している。よって、スヌープタグがＦＵＬＬの場合、任意に選択したＷＡＹが、キャッシュ側で保持していないアドレスである可能性が高くなる。したがって、システムコントローラからのＥｖｉｃｔｉｏｎ要求が発生した場合、キャッシュ側ではそのＥｖｉｃｔｉｏｎ要求で指定されたアドレスを保持している可能性が低くなるため、キャッシュタグのＷＡＹのアドレス削除処理が発生する可能性が低くなる。その結果、キャッシュタグの空きＷＡＹが存在する可能性が低くなり、キャッシュミス率を低減させることができる。
【００９０】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または態様を採ることができる。
本発明により、システムコントローラ１内のスヌープタグ５のリプレースを減少させることができる。したがって、ＣＰＵ２内のキャッシュタグ３がＦＵＬＬの場合に生じる過剰なリプレースの減少が可能となる。その結果、キャッシュミス率の増大を防ぐことができる。
【００９１】
（付記１）  複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令の実行及びデータの処理を行う１つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグを有し、前記スヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多いプロセッサ制御装置と、
を備えることを特徴とする情報処理システム。
【００９２】
（付記２）  前記プロセッサにおいてキャッシュミスが生じたときに、前記プロセッサから前記プロセッサ制御装置に対してデータの読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とする付記１に記載の情報処理システム。
【００９３】
（付記３）  前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記２に記載の情報処理システム。
【００９４】
（付記４）  キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
ことを特徴とする付記１に記載の情報処理システム。
【００９５】
（付記５）  前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記１に記載の情報処理システム。
【００９６】
（付記６）  キャッシュタグとキャッシュデータ領域からなる複数ウェイのキャッシュメモリを有し、命令を実行及びデータを処理する１つ以上のプロセッサと、前記プロセッサからの要求に基づいて該プロセッサへ情報を送信するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、を備える情報処理システムのキャッシュタグ及びスヌープタグの更新方法であって、
キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがあれば、前記プロセッサ制御装置は該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とするキャッシュタグ及びスヌープタグの更新方法。
【００９７】
（付記７）  前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記６に記載のキャッシュタグ及びスヌープタグの更新方法。
【００９８】
（付記８）  キャッシュミス時に前記プロセッサから情報の読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレスを削除する旨を前記プロセッサへ通知する
ことを特徴とする付記６に記載のキャッシュタグ及びスヌープタグの更新方法。
【００９９】
（付記９）  前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかを追い出す旨の情報を前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記６に記載のキャッシュタグ及びスヌープタグの更新方法。
【０１００】
（付記１０）  複数ウェイからなるキャッシュタグとキャッシュデータ領域を含むキャッシュメモリを有し、外部から受け取った命令を実行及びデータを処理する１つ以上のプロセッサと、
前記プロセッサからの読み出し要求に基づいて該プロセッサへ応答するプロセッサ制御装置であって、該各プロセッサのキャッシュタグに対応するタグ情報であるスヌープタグのウェイ数が前記プロセッサのキャッシュタグのウェイ数よりも多い該スヌープタグを有する該プロセッサ制御装置と、
を備えることを特徴とする情報処理基板。
【０１０１】
（付記１１）  キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記プロセッサ制御装置は前記スヌープタグのウェイに空きがあれば、該空きウェイを該読み出し要求の対象となるアドレス情報で更新して、該アドレス情報に対応するデータを前記プロセッサへ送信する
ことを特徴とする付記１０に記載の情報処理基板。
【０１０２】
（付記１２）  前記空きウェイ更新時には、前記プロセッサ制御装置から前記プロセッサへ前記キャッシュタグのウェイのうち所定のアドレス情報が格納されたウェイから該アドレス情報を削除する旨の要求がなされない
ことを特徴とする付記１１に記載の情報処理基板。
【０１０３】
（付記１３）  キャッシュミス時に前記プロセッサから読み出し要求があった場合、前記スヌープタグのウェイに空きがなければ、前記プロセッサ制御装置は前記スヌープタグのウェイに格納されたアドレス情報のいずれかを削除し、該アドレス情報を削除する旨を前記プロセッサへ通知する
ことを特徴とする付記１０に記載の情報処理基板。
【０１０４】
（付記１４）  前記情報処理システムには、キャッシュミス時に前記キャッシュタグのいずれかのウェイに格納されたアドレス情報を追い出す旨の情報を前記プロセッサから前記プロセッサ制御装置へ通知しない方式が用いられている
ことを特徴とする付記１０に記載の情報処理基板。
【図面の簡単な説明】
【０１０５】
【図１】本発明の一実施形態にかかる情報処理システムの構成概念図を示す。
【図２】本発明の一実施形態における情報処理システムのタグの構成図を示す。
【図３】キャッシュＲＥＡＤ要求、Ｅｖｉｃｔｉｏｎ要求、及びキャッシュデータのパケット形式を示す。
【図４Ａ】本発明の一実施形態におけるキャッシュミス発生時のタグの更新例（その１）を示す。
【図４Ｂ】本発明の一実施形態におけるキャッシュミス発生時のタグの更新例（その２）を示す。
【図５】本発明の一実施形態におけるキャッシュミス発生時のタグの更新のフローを示す。
【図６】一般的なマルチプロセッサ構成を備える情報処理システムの全体図（チップセット）を示す。
【図７】情報処理システムにおけるタグを示す。
【図８】従来におけるタグの構成例である。
【図９Ａ】従来におけるキャッシュミス発生時のタグの更新例（その１）を示す。
【図９Ｂ】従来におけるキャッシュミス発生時のタグの更新例（その２）を示す。
【符号の説明】
【０１０６】
１００      情報処理システム
１０１      プロセッサ制御装置
１０２      スヌープタグ
１０３      ウェイ
１０４      プロセッサ
１０５      キャッシュタグ
１０６      ウェイ
１      システムコントローラ
２（２ａ，２ｂ，２ｃ，２ｄ）      ＣＰＵ
３（３ａ，３ｂ，３ｃ，３ｄ）      キャッシュタグ
４（４ａ，４ｂ，４ｃ，４ｄ）      キャッシュデータ
５（５ａ，５ｂ，５ｃ，５ｄ）      スヌープタグ
６（６ａ，６ｂ，６ｃ，６ｄ）      ＣＰＵバス
【図１】
2008046902.tif 000003
【図２】
2008046902.tif 000004
【図３】
2008046902.tif 000005
【図４Ａ】
2008046902.tif 000006
【図４Ｂ】
2008046902.tif 000007
【図５】
2008046902.tif 000008
【図６】
2008046902.tif 000009
【図７】
2008046902.tif 000010
【図８】
2008046902.tif 000011
【図９Ａ】
2008046902.tif 000012
【図９Ｂ】
2008046902.tif 000013