(57)【要約】【課題】  コンピュータシステムのシステム・コントローラＬＳＩ等のメモリ制御層において、複数の記憶装置に分散されたブロックデータへのリードアクセスを効率良く行うこと。【解決手段】  本発明は、サーバ等のチップセットを構成し、ＣＰＵ内部の２次キャッシュメモリとの間でデータ共有を行う３次キャッシュメモリを有するシステム・コントローラ等のメモリ制御装置において、ＣＰＵからのリード要求に対する応答として、前記３次キャッシュメモリ及びメインメモリ並びに他のＣＰＵに内蔵される２次キャッシュメモリ等の複数の記憶装置からデータブロックを同時に受信して１つのデータエントリにマージすることにより、一度のアクセスで必要なデータをＣＰＵの２次キャッシュメモリに格納する効率的なメモリ制御装置及び制御方法を実現し、合わせてメモリ・レイテンシによる性能劣化及びバス・スループットの圧迫という問題を回避することを目的とする。【選択図】図１６
2006079218.tif 000002
【特許請求の範囲】
【請求項１】
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され、いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記リード要求対象のデータブロックの格納場所及び前記データブロックが属するエントリに含まれるその他のデータブロックの格納場所に対して、それぞれリード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【請求項２】
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【請求項３】
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記ＣＰＵが有する第１のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第１のタグメモリと、
前記第２のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第２のタグメモリとを有し、
前記第1及び第２のタグメモリの内容と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【請求項４】
前記制御部は、
前記複数の格納場所からそれぞれ送出される複数のデータブロックを受信し、前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置。
【請求項５】
前記メモリ制御装置は、
直接接続されるＣＰＵから発行されるリード要求に対応するデータブロックが属するエントリに含まれるその他のデータブロックのうち、すくなくとも１つのデータブロックが前記第２のキャッシュメモリに格納されているときには，前記データブロックを前記複数の格納場所から送出されたデータブロックとを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置。
【請求項６】
情報処理装置において、
少なくとも１つのＣＰＵと、
前記ＣＰＵに設けられ、複数のデータブロックから構成される複数のエントリを有する第１のキャッシュメモリと、
メインメモリと、
前記ＣＰＵからのリード要求を処理する少なくとも１つのメモリ制御装置と、
前記メモリ制御装置に設けられ、複数のデータブロックから構成される複数のエントリを有する第２のキャッシュメモリとを有し、
前記メモリ制御装置は、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれる他のデータブロックが、複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とする情報処理装置。
【請求項７】
前記情報処理装置は、
複数のメモリ制御装置を有し、
一のメモリ制御装置は、
他のメモリ制御装置に接続されるＣＰＵからのリード要求が発行された場合には、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と前記他のメモリ制御装置に接続されるＣＰＵからのリード要求とを比較することにより、当該要求に対応するデータブロックの格納場所の検査を行い、
前記検査の結果、前記データブロック及び前記データブロックが属するエントリに含まれるその他のデータブロックのうち、少なくとも１つのデータブロックが前記メモリ制御装置に接続されたＣＰＵに設けられた第１のキャッシュメモリ又は前記メモリ制御装置に設けられた第２のキャッシュメモリに格納されているときには、前記データブロックを前記他のメモリ制御装置に送出することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記情報処理装置は、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを前記メモリ制御装置が受信し、前記受信した複数のデータブロックを、前記メモリ制御装置が１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項６記載の情報処理装置。
【請求項９】
少なくとも１つのＣＰＵからのリード要求を実行するメモリ制御装置のメモリ制御方法において、
いずれかのＣＰＵから発行されるリード要求を受信し、
前記ＣＰＵ内のキャッシュメモリに含まれるデータブロックの有効状態及び前記メモリ制御装置内のキャッシュメモリに含まれるデータブロックの有効状態と、前記リード要求とを比較し、
前記比較の結果、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とするメモリ制御方法。
【請求項１０】
前記メモリ制御方法はさらに、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを受信し、
前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを有する特徴とする請求項９記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバやＰＣ等のチップセットを構成し、ＣＰＵ内部の2次キャッシュメモリとの間でデータ共有を行う３次キャッシュメモリを有するシステム・コントローラＬＳＩ等のメモリ制御装置において、ＣＰＵからのリード要求に対する応答として、前記３次キャッシュメモリ及びメインメモリ並びに他のＣＰＵに内蔵される2次キャッシュメモリ等の複数の記憶装置からデータブロックを同時に受信して１つのデータエントリにマージすることにより、一度のアクセスで必要なデータをＣＰＵの2次キャッシュメモリに格納する際におけるメモリ制御装置及び制御方法に関するものである。
【背景技術】
【０００２】
従来、コンピュータシステムにおいて、ＣＰＵ内部のキャッシュメモリ及びメインメモリを含むメモリ階層構造は、ＣＰＵに内蔵される１次キャッシュメモリ及びＣＰＵ外付けの２次キャッシュメモリ並びにメインメモリの三階層からなる構成が主流であった。
【０００３】
その後、半導体テクノロジの進歩によるＬＳＩの高密度実装が可能になり、ＬＳＩ上に実装できるトランジスタ数が飛躍的に向上し、ＣＰＵに２次キャッシュメモリを内蔵することが可能になるとともに、メモリ制御装置にも３次キャッシュメモリを内蔵することが可能になった。特に企業の基幹業務など特に高い処理能力を要求されるサーバ等のコンピュータシステムにおいては、大規模ＳＭＰ(Symmetrical Multi-Processor:対称型マルチプロセサ)構成等の高性能コンピュータシステムが実現されることにより、３次キャッシュメモリを複数のプロセサから共有してメモリアクセス時間を短縮することにより、処理能力の向上を図るようになった。
【０００４】
かかる大規模ＳＭＰ構成等の高性能コンピュータシステムにおいて、ＣＰＵやＩ／Ｏ装置からメインメモリに対するリード要求が発生した場合に、現実にリード要求があったデータブロックと、そのデータブロックに隣接するデータブロックとを一括してリード要求を行うことは、メモリアクセスにおけるプログラム及びデータの局所性という特徴により、性能向上に効果的であることは知られている。一般的にプログラムのメモリへの格納イメージは、プログラムの実行順又はデータのアクセス順となっており、すなわちそのままＣＰＵの実行順にもなっていることが多いからである。
【０００５】
従って、コンピュータ・アーキテクチャの進展とともに、キャッシュメモリ内のデータ管理において、１データエントリをデータブロックサイズのｎ倍の大きさとして、リード要求に対する応答データのサイズをキャッシュメモリの登録状態により決定する方式が高性能コンピュータシステムに採用されるようになった。
【０００６】
図１にデータブロックのサイズが６４Ｂｙｔｅであり、キャッシュメモリタグ部における登録データとして１データエントリを２５６Ｂｙｔｅ、つまりデータブロックの４倍のサイズにより管理を行うＣＰＵ内の２次キャッシュメモリにおけるキャッシュメモリタグの構成例を示す。例えば、キャッシュメモリブロック１０１を例に挙げると、キャッシュメモリブロック１０１はアドレスフィールド１０２及びデータブロック−０用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−０  ＶＡＬＩＤ）１０３、データブロック−１用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−１  ＶＡＬＩＤ）１０４、データブロック−２用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−２  ＶＡＬＩＤ）１０５、データブロック−３用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−３  ＶＡＬＩＤ）１０６から構成される。ここで、データブロック−０用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−０  ＶＡＬＩＤ）１０３は、アドレス０ｘ１００番地からの６４Ｂｙｔｅデータブロックに対するＴＡＧ  ＶＡＬＩＤである。同様に、データブロック−１用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−１  ＶＡＬＩＤ）１０４は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックに対するＴＡＧ  ＶＡＬＩＤであり、また、データブロック−２用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−２  ＶＡＬＩＤ）１０５は、アドレス０ｘ１８０番地からの６４Ｂｙｔｅデータブロックに対するＴＡＧ  ＶＡＬＩＤであり、さらに、データブロック−３用ＴＡＧ  ＶＡＬＩＤ（ＢＬＯＣＫ−３  ＶＡＬＩＤ）１０６は、アドレス０ｘ１Ｃ０番地からの６４Ｂｙｔｅデータブロックに対するＴＡＧ  ＶＡＬＩＤである。そして、本構成ではＣＰＵ内の２次キャッシュメモリからシステム・コントローラＬＳＩに対するリード要求への応答データの転送サイズは６４Ｂｙｔｅ単位である。
【０００７】
また、任意のＣＰＵが自分自身の２次キャッシュメモリにおいて、ミスヒットしたためにメモリ制御装置であるシステム・コントローラＬＳＩに対して、メインメモリへのリード要求を発行した場合、前記システム・コントローラＬＳＩはコンピュータシステム上の全てのＣＰＵ内における２次キャッシュメモリのタグ内容を検査し、メインメモリへのリード要求に対する応答データのサイズとして、２５６Ｂｙｔｅ又は６４Ｂｙｔｅのいずれかを選択する。この場合において、ＣＰＵは自分自身の２次キャッシュメモリに、応答データが２５６Ｂｙｔｅサイズの場合には６４Ｂｙｔｅ×４からなる２５６Ｂｙｔｅのブロックサイズで登録を行い、又は応答データが６４Ｂｙｔｅサイズの場合には６４Ｂｙｔｅのブロックサイズで登録を行う。以下、各図面を用いて、上述した従来例における各応答データの発生条件及び動作の説明を行う。
（従来例において２５６Ｂｙｔｅデータブロックで応答する場合）
図２に、従来例において２５６Ｂｙｔｅデータブロックにより応答データを行う場合を示す。システムボード−０（ＳＢ−０）上に実装されるシステム・コントローラＬＳＩ−０（ＳＣ−０）２０５は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）２５１を内蔵し、それぞれ２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２１１を内蔵するＣＰＵ−０  ２０１及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２２１を内蔵するＣＰＵ−１  ２０２及びメインメモリ−０（ＭＥＭ−０）２０７が接続される。なお、特許請求の範囲における「制御部」は、本実施例におけるデータ応答制御部のことである。
【０００８】
同様に、システムボード−１（ＳＢ−１）上に実装されるシステム・コントローラＬＳＩ−１（ＳＣ−１）２０６は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）２６１を内蔵し、それぞれ２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２３１を内蔵するＣＰＵ−２  ２０３及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２４１を内蔵するＣＰＬ３  ２０４及びメインメモリ−１（ＭＥＭ−１）２０８が接続される。また、システム・コントローラＬＳＩ−０（ＳＣ−０）２０５とシステム・コントローラＬＳＩ−１（ＳＣ−１）２０６との間は、クロスバ・スイッチ（ＸＢ）により接続されているが、本図では簡単化のために省略されている。
【０００９】
ここで図２において、リード・アクセス発生前の各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）２１１、２２１、２３１、２４１は全て無効ステータス（Ｉステータス）を保持しており、ＣＰＵ−０  ２０１からのリード要求の対象であるアドレス０ｘ１００番地からの６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータブロックのうち、どの６４Ｂｙｔｅデータブロックも全ての２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在しない場合を表す。
【００１０】
この場合には、ＣＰＵ−０  ２０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２１１からのアドレス０ｘ１００番地に対するリード要求２９１を受信したシステムコントローラ−０（ＳＣ−０）２０５は、メインメモリ−０（ＭＥＭ−０）２０７に向けて、それぞれアドレス０ｘ１００番地、０ｘ１４０番地、０ｘ１８０番地、０ｘ１Ｃ０番地に対するリード要求２９３を生成し、メインメモリ−０（ＭＥＭ−０）２０７は前記リード要求アドレスに対して６４Ｂｙｔｅ×４からなる２５６Ｂｙｔｅデータブロックによる応答データ２９４を送信する。さらに、システム・コントローラＬＳＩ（ＳＣ−０）２０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）２５１は、前記６４Ｂｙｔｅ×４からなる２５６Ｂｙｔｅデータブロックを含む応答データ２９５をＣＰＵ−０  ２０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２１１へ送信することにより、リード・アクセスを完了する。
【００１１】
ここで、リード・アクセス完了後の各２次キャッシュメモリに内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）２１３、２２３、２３３、２４３はＣＰＵ−０  ２０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）２１１のタグ・ステータス（ＴＡＧ−Ｓ２）２１３のみが全ビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他のＣＰＵに内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）２２３、２３３、２４３はいずれもリード・アクセス発生前の状態から変化しない。
（従来例において６４Ｂｙｔｅデータブロックで応答する場合その１）
図３に、従来例において６４Ｂｙｔｅデータブロックにより応答データを行う場合その１を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図２と同様である。
【００１２】
ここで図３において、リード・アクセス発生前のＣＰＵ−１  ３０２に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）３２１のタグ・ステータス（ＴＡＧ−Ｓ１）３２２は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックに対するビットのみが有効ステータス（Ｖステータス）を保持し、また、タグ・ステータス（ＴＡＧ−Ｓ１）３２２の他のビット及び他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ１）３１２、３３２、３４２は全て無効ステータス（Ｉステータス）を保持し、さらに、ＣＰＵ−０  ３０１からのリード要求の対象であるアドレス０ｘ１４０番地からの６４ＢｙｔｅデータブロックがＣＰＵ−１  ３０２に有効に存在する場合を表す。
【００１３】
この場合には、ＣＰＵ−０  ３０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）３１１からのアドレス０ｘ１４０番地に対するリード要求３９１を受信したシステムコントローラ−０（ＳＣ−０）３０５は、ＣＰＵ−１  ３０２に向けて、アドレス０ｘ１４０番地に対するリード要求３９２を生成し、ＣＰＵ−１  ３０２は前記リード要求アドレスに対して６４Ｂｙｔｅデータブロックによる応答データ３９３を送信する。さらに、システム・コントローラＬＳＩ（ＳＣ−０）３０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）３５１は、前記６４Ｂｙｔｅデータブロックを含む応答データ３９４をＣＰＵ−０  ３０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）３１１へ送信することにより、リード・アクセスを完了する。
【００１４】
ここで、リード・アクセス完了後の各２次キャッシュメモリに内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）３１３、３２３、３３３、３４３はＣＰＵ−０  ３０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）３１１のタグ・ステータス（ＴＡＧ−Ｓ２）３１３のみがアドレス０ｘ１４０番地に対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他のＣＰＵに内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）３２３、３３３、３４３はいずれもリード・アクセス発生前の状態から変化しない。
（従来例において６４Ｂｙｔｅデータブロックで応答する場合その２）
図４に、従来例において６４Ｂｙｔｅデータブロックにより応答データを行う場合その２を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図２及び図３と同様である。
【００１５】
ここで図４において、リード・アクセス発生前のＣＰＵ−０  ４０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）４１１のタグ・ステータス（ＴＡＧ−Ｓ１）４１２は全てのビットが無効ステータス（Ｉステータス）を保持し、また、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ１）４２２、４３２、４４２は、リード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックは存在しないが、同一２５６Ｂｙｔｅデータエントリの他のいずれかの６４Ｂｙｔｅデータブロックが有効に存在する場合を表す。
【００１６】
この場合には、ＣＰＵ−０  ４０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）４１１からのアドレス０ｘ１４０番地に対するリード要求４９１を受信したシステムコントローラ−０（ＳＣ−０）４０５は、メインメモリ−０（ＭＥＭ−０）に向けて、アドレス０ｘ１４０番地に対するリード要求４９２を生成し、メインメモリ−０（ＭＥＭ−０）は前記リード要求アドレスに対して６４Ｂｙｔｅデータブロックによる応答データ４９３を送信する。さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）４０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）４５１は、前記６４Ｂｙｔｅデータブロックを含む応答データ４９４をＣＰＵ−０  ４０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）４１１へ送信することにより、リード・アクセスを完了する。
【００１７】
ここで、リード・アクセス完了後の各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）４１３、４２３、４３３、４４３はＣＰＵ−０  ３０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）４１１のタグ・ステータス（ＴＡＧ−Ｓ２）４１３のみがアドレス０ｘ１４０番地に対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他のＣＰＵに内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）４２３、４３３、４４３はいずれもリード・アクセス発生前の状態から変化しない。
【００１８】
このように、大規模ＳＭＰ構成等の高性能コンピュータシステムにおいて、キャッシュメモリ内のデータブロック管理において、１つのデータエントリを複数のデータブロックにより構成し、リード要求に対する応答データのサイズをキャッシュメモリの登録状態により決定を行う従来のシステム・コントローラＬＳＩ（ＳＣ）においては、システム・コントローラ（ＳＣ）内に３次キャッシュメモリを有していなかったため、ＣＰＵからのリード要求に対する応答データはメインメモリ（ＭＥＭ）又は他のＣＰＵ内の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のみに存在するため、システム・コントローラＬＳＩ（ＳＣ）のキャッシュメモリ制御は比較的容易であった。
【００１９】
しかし、半導体テクノロジの進歩により、メモリ制御装置であるシステム・コントローラ（ＳＣ）内に３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）を内蔵することが可能になると、ＣＰＵからのリード要求に対する応答データがメインメモリ（ＭＥＭ）及び他のＣＰＵ内の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）だけではなく、リード・アクセスを中継するシステム・コントローラ（ＳＣ）並びに他のシステムボード（ＳＢ）上のシステム・コントローラ（ＳＣ）内の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在する可能性が有るため、システム・コントローラ（ＳＣ）のキャッシュメモリ制御は複雑化する。特に、キャッシュメモリ内のデータブロック管理において、１データエントリを複数データブロックにより構成するため、１データエントリ内の複数のブロックが全て有効ではなく、部分的に有効である場合は、有効ステータスのブロックを保持しているのにも関わらず、当該データエントリの全ブロックをメインメモリ（ＭＥＭ）等からリードしていた。つまり、従来のシステム・コントローラ（ＳＣ）においては、効率的なキャッシュメモリ制御を行っているとはいえなかった。
【００２０】
特許文献１には、データ処理装置においてＣＰＵやチャネル・プロセッサがメインメモリを共通に使用する場合において、スワップ方式（リードスルー方式及びライトスルー方式を採用するキャッシュメモリの制御方式）を採用するメモリ制御装置内に中間バッファメモリを設け、メインメモリにアクセスするときにこの中間バッファメモリに必要なデータが存在するか否かを管理テーブルで索引してその有無を調査する制御機構を有し、ＣＰＵからメインメモリに対するブロック・ストアを実行する際に、中間バッファメモリに対応するアドレスが存在しない場合であって、メインメモリに返送すべきデータが存在しない場合には、メインメモリから当該アドレスに対応するデータが中間バッファメモリに読み出されるのを待たずに、中間バッファメモリ又はメインメモリのいずれかのメモリに新しいデータを書き込むと同時に、メモリのアクセス時間をオペレーションに基づいて制御できるようにしたメモリアクセス制御方式が開示されている。しかし、特許文献１で開示しているのは、スワップ方式を採用するメモリ制御装置におけるブロック・ストアの制御方式であり、スワップ方式等のキャッシュメモリの更新制御方式に限定されないリード・アクセスの制御装置及び制御方法を開示する本発明とは異なる。例えば、本発明は何らの変更も無しに、スワップ方式ではないライトバック方式のメモリ制御装置に適用することも可能である。
【００２１】
特許文献２には、ＭＥＳＩプロトコルに代表されるディレクトリプロトコルを使用するディレクトリベースのメモリおよび第３レベルの非包含的キャッシュメモリを使用するコヒーレンスシステムにおいて、キャッシュメモリのコヒーレンシを維持するためのシステム及び方法が開示されている。しかし、特許文献２で開示しているのは、ディレクトリプロトコル及び非包含的キャッシュメモリを採用するシステムに限定されており、ディレクトリプロトコルの採用に限定されず、また包含的キャッシュメモリを採用するシステムを前提条件とする本発明とは異なる。
【００２２】
特許文献３には、複数階層のキャッシュメモリを有するデータ処理システムにおいて、非包含的キャッシュメモリを実現するためのシステムが開示されている。しかし、特許文献３で開示しているのは、非包含的キャッシュメモリを採用するシステムに限定されており、包含的キャッシュメモリを採用するシステムを前提条件とする本発明とは異なる。
【００２３】
特許文献４には、高速  複数階層のキャッシュメモリを有するデータ処理システムにおいて、非包含的キャッシュメモリを実現するためのシステムが開示されている。しかし、特許文献３及び特許文献４で開示しているのは、非包含的キャッシュメモリを採用するシステムに限定されており、包含的キャッシュメモリを採用するシステムを前提条件とする本発明とは異なる。
【００２４】
従って、特許文献１乃至４に開示されている技術的範囲は、リード要求に対する応答データの制御方法に関しては、効率的なキャッシュメモリ制御方法を何ら開示していないため、従来技術の域を出ていない。
【特許文献１】特開昭５７−３３４７２号公報
【特許文献２】特表２００１−５２２０９０号公報
【特許文献３】特開平０６−２５０９２６号公報
【特許文献４】特開平１１−２５９３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
従来の技術では、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）を有し、データのアクセス制御を複数のデータブロックから構成されるデータエントリの単位で行うシステム・コントローラ（ＳＣ）等のメモリ制御装置において、ＣＰＵからのリード要求に対して応答すべきデータエントリの応答データのうち、データブロックの一部がメインメモリ（ＭＥＭ）や他のＣＰＵの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）等に分散して保持されている場合において、有効ステータスのデータブロックを一部において保持しているのにも関わらず、データエントリに含まれる全てのデータブロックのリード要求に対する応答データをメインメモリ（ＭＥＭ）からリードしていたため、メモリ・レイテンシによる性能劣化及びバス・スループットの圧迫という問題が発生していた。そこで、ＣＰＵからのリード要求を受信したシステム・コントローラ（ＳＣ）は、他システムボード（ＳＢ）上のシステム・コントローラ（ＳＣ）内蔵の３次キャッシュメモリ（Ｌ３−ＣＡＣＨ）及び自システムボード（ＳＢ）上のＣＰＵ内蔵の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）等に対しては必要最小限のリード要求を発行し、自システム・コントローラ（ＳＣ）が保持している有効ステータスのデータブロックとマージを行うという方法が考えられる。この方法によれば、自システム・コントローラが保持している有効ステータスのデータブロックを無駄する必要が無いため、メインメモリ（ＭＥＭ）への無駄なアクセスの発生を抑止することにより、メモリ・レイテンシによる性能劣化及びバス・スループットの圧迫という問題を回避することができるということを意味する。
【００２６】
本発明は、システム・コントローラ（ＳＣ）がＣＰＵからのリード要求に対して応答すべきデータエントリの応答データのうち、データブロックの一部が無効ステータスである場合に、無効ステータスのデータブロックについてのみリード要求を発行し、前記リー−ド要求に対する応答データと自システム・コントローラ（ＳＣ）が保持する有効ステータスのデータブロックとをマージするメモリ制御装置及び制御方法を提供する。
【課題を解決するための手段】
【００２７】
上記目的を達成するために本発明は、第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され、いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記リード要求対象のデータブロックの格納場所及び前記データブロックが属するエントリに含まれるその他のデータブロックの格納場所に対して、それぞれリード要求を発行する制御部とを有することを特徴とするメモリ制御装置であることを特徴とする。
上記目的を達成するために本発明は、第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置であることを特徴とする。
【００２８】
上記目的を達成するために本発明は、第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記ＣＰＵが有する第１のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第１のタグメモリと、
前記第２のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第２のタグメモリとを有し、
前記第1及び第２のタグメモリの内容と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置であることを特徴とする。
【００２９】
上記目的を達成するために本発明における前記制御部は、
前記複数の格納場所からそれぞれ送出される複数のデータブロックを受信し、前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置であることを特徴とする。
【００３０】
上記目的を達成するために本発明における前記メモリ制御装置は、
直接接続されるＣＰＵから発行されるリード要求に対応するデータブロックが属するエントリに含まれるその他のデータブロックのうち、すくなくとも１つのデータブロックが前記第２のキャッシュメモリに格納されているときには，前記データブロックを前記複数の格納場所から送出されたデータブロックとを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置であることを特徴とする。
【００３１】
上記目的を達成するために本発明は、情報処理装置において、
少なくとも１つのＣＰＵと、
前記ＣＰＵに設けられ、複数のデータブロックから構成される複数のエントリを有する第１のキャッシュメモリと、
メインメモリと、
前記ＣＰＵからのリード要求を処理する少なくとも１つのメモリ制御装置と、
前記メモリ制御装置に設けられ、複数のデータブロックから構成される複数のエントリを有する第２のキャッシュメモリとを有し、
前記メモリ制御装置は、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれる他のデータブロックが、複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とする情報処理装置であることを特徴とする。
【００３２】
上記目的を達成するために本発明における前記情報処理装置は、
複数のメモリ制御装置を有し、
一のメモリ制御装置は、
他のメモリ制御装置に接続されるＣＰＵからのリード要求が発行された場合には、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と前記他のメモリ制御装置に接続されるＣＰＵからのリード要求とを比較することにより、当該要求に対応するデータブロックの格納場所の検査を行い、
前記検査の結果、前記データブロック及び前記データブロックが属するエントリに含まれるその他のデータブロックのうち、少なくとも１つのデータブロックが前記メモリ制御装置に接続されたＣＰＵに設けられた第１のキャッシュメモリ又は前記メモリ制御装置に設けられた第２のキャッシュメモリに格納されているときには、前記データブロックを前記他のメモリ制御装置に送出することを特徴とする請求項６記載の情報処理装置であることを特徴とする。
【００３３】
上記目的を達成するために本発明における前記情報処理装置は、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを前記メモリ制御装置が受信し、前記受信した複数のデータブロックを、前記メモリ制御装置が１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項６記載の情報処理装置であることを特徴とする。
【００３４】
上記目的を達成するために本発明は、少なくとも１つのＣＰＵからのリード要求を実行するメモリ制御装置のメモリ制御方法において、
いずれかのＣＰＵから発行されるリード要求を受信し、
前記ＣＰＵ内のキャッシュメモリに含まれるデータブロックの有効状態及び前記メモリ制御装置内のキャッシュメモリに含まれるデータブロックの有効状態と、前記リード要求とを比較し、
前記比較の結果、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とするメモリ制御方法であることを特徴とする。
【００３５】
上記目的を達成するために本発明における前記メモリ制御方法はさらに、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを受信し、
前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを有する特徴とする請求項９記載のメモリ制御方法であることを特徴とする。
（本発明の実施の形態）
図５に本発明の適用製品分野となるクロスバ・スイッチＬＳＩ（ＸＢ）及びシステム・コントローラＬＳＩ（ＳＣ）及びＩ／Ｏシステム・コントローラＬＳＩ（ＩＯＳＣ）を使用したコンピュータシステムの全体ハードウェア構成の一例を示す。
【００３６】
バックプレーン（ＢＰ）５０１は、複数個のクロスバ・スイッチＬＳＩ（ＸＢ）５１１〜５１４を実装しており、コネクタ５６１〜５６４を経由して、システムボード（ＳＢ）５０２、５０３及びＩ／Ｏボード（ＩＯＢ）５０４、５０５とのインタフェースを有することにより、システム全体の接続を制御する。システムボード（ＳＢ）５０２、５０３は、それぞれ複数個のシステム・コントローラＬＳＩ（ＳＣ）５２１〜５２４、５３１〜５３４及び複数個のＣＰＵ及びメインメモリを制御するメモリ・コントローラＬＳＩ（ＭＡＣ）を実装する（図中ではＣＰＵ及びメモリ・コントローラＬＳＩ（ＭＡＣ）等のＬＳＩを省略している）。前記システム・コントローラＬＳＩ（ＳＣ）は、システムボード（ＳＢ）上に実装された他のシステム・コントローラＬＳＩ（ＳＣ）及び複数のＣＰＵ及びメモリ・コントローラＬＳＩ（ＭＡＣ）とのインタフェースを有する（詳細は後述する）。従って、システムボード（ＳＢ）５０２、５０３は、当該コンピュータシステムにおける処理能力の増設単位となるものである。Ｉ／Ｏボード（ＩＯＢ）５０４、５０５は、それぞれ複数個のＩ／Ｏシステム・コントローラＬＳＩ（ＩＯＳＣ）５４１〜５４４、５５１〜５５４及びＰＣＩスロット等を実装する（図中ではＰＣＩスロット等を省略している）。従って、Ｉ／Ｏボード（ＩＯＢ）５０４、５０５は、当該コンピュータシステムにおけるＩ／Ｏの増設単位となるものである。
【００３７】
また、図６にシステム・コントローラＬＳＩ（ＳＣ）を実装するシステムボード（ＳＢ）のハードウェア構成の一例を示す。
【００３８】
システムボード（ＳＢ）６０１は、複数個のシステム・コントローラＬＳＩ（ＳＣ）６１１〜６１４、複数個のＣＰＵ６２１〜６２４、複数個のメモリ・コントローラＬＳＩ（ＭＡＣ）６３１〜６３４、複数個のメモリ・モジュール（ＤＩＭＭ）６４１〜６４４及び複数個のコネクタ６５１〜６５４を実装している。
【００３９】
ここで、システム・コントローラＬＳＩ（ＳＣ）６１１を例に説明を行う。システム・コントローラＬＳＩ（ＳＣ）６１１は、他のシステム・コントローラＬＳＩ（ＳＣ）６１２〜６１４及び複数のＣＰＵ６２１〜６２４及び複数のメモリ・コントローラＬＳＩ（ＭＡＣ）６３１、６３２と接続される。さらに、システム・コントローラＬＳＩ（ＳＣ）６１１は、コネクタ６５１を通して、バックプレーンに実装されたクロスバ・スイッチＬＳＩ（ＸＢ）ともインタフェースを有する。従って、システム・コントローラＬＳＩ（ＳＣ）６１１は複数のインタフェースを有することにより、システム・コントローラＬＳＩ（ＳＣ）に接続されたＣＰＵ及びメモリ・コントローラ（ＭＡＣ）との間のデータの送受信を行う。
【００４０】
システム・コントローラＬＳＩ（ＳＣ）６１１とＣＰＵ６２１〜６２４との間は、ＣＰＵローカルバス形式のインタフェースにより接続され、メモリ・コントローラＬＳＩ６３１、６３２との間は、メモリ・バス形式のインタフェースにより接続され、システム・コントローラＬＳＩ（ＳＣ）６１１と他のシステム・コントローラＬＳＩ（ＳＣ）６１２〜６１４との間は、インタコネクト形式のインタフェースにより接続される。さらに、システム・コントローラＬＳＩ（ＳＣ）６１１とクロスバ・スイッチＬＳＩ（ＸＢ）との間も、インタコネクト形式のインタフェースにより接続され、一般にはシステム・コントローラＬＳＩ（ＳＣ）間のインタコネクトと同様のインタフェースにより接続される。
【００４１】
さらに、図７にシステム・コントローラＬＳＩ（ＳＣ）のハードウェア構成の一例を示す。
【００４２】
システム・コントローラＬＳＩ（ＳＣ）７０１は、図６で説明したようにそれぞれ、一つのクロスバ・スイッチＬＳＩ（ＸＢ）、複数のシステム・コントローラＬＳＩ（ＳＣ）、複数のＣＰＵ、複数のメモリ・コントローラＬＳＩ（ＭＡＣ）とのインタフェースを有し、データ応答制御部７０２を有する。前記データ応答制御部７０２は、ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）７２２、自システムボードに実装される各ＣＰＵの２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）７２３、３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）７２４、グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）７２５から構成される。
【００４３】
まず、当該システム・コントローラＬＳＩ（ＳＣ）７０１が実装された自システムボード（ＳＢ）上のＣＰＵ−０〜３からのリード要求等のアクセスはそれぞれ、リクエスト・ポート−０〜３（ＲＱＰＴ−０〜３）７１１〜７１４にキューイングされる。当該アクセスが他のシステムボード（ＳＢ）に対するアクセスである場合には、クロスバ・リクエスト・キュー（ＸＢＲＱ）７２１及びマルチプレクサ７６１を通過し、クロスバ・スイッチＬＳＩ（ＸＢ）を通して他のシステムボード（ＳＢ）に対するアクセスが行われる。
【００４４】
次に、自システムボード（ＳＢ）上のＣＰＵ０〜３又は共有３次キャッシュメモリ（Ｌ３−ＤＡＴＡ）７５４に対するアクセスである場合には、ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）７２２によるパイプライン制御が行われ、ＣＰＵ−０〜３が有する２次キャッシュ・タグのコピー（Ｌ２  ＴＡＧ２）７２３及び３次キャッシュメモリ・タグ（Ｌ３−ＴＡＧ）７２４にアクセスを行うことにより、アクセスすべきデータの場所の検索をおこなう。検索の結果、アクセスすべきデータがＣＰＵ−０〜３内に存在する場合にはそれぞれ、オーダ・キュー（ＯＤＲＱ−０〜３）７３１〜７３４及びマルチプレクサ７６２〜７６５を通じて、ＣＰＵ−０〜３に対してロード要求を発行する。また、アクセスすべきデータが３次キャッシュメモリ（Ｌ３−ＤＡＴＡ）７５４に存在する場合には、ロード・キュー（ＬＯＡＤＱ）７３５及びリード・ポート（ＲＤＰＴ）７５１及び３次キャッシュメモリ・アクセス・パイプライン（Ｌ３ＤＴ−ＰＩＰＥ）７５２によるパイプライン制御が行われ、３次キャッシュメモリ（Ｌ３−ＤＡＴＡ）７５４に対するアクセスが行われる。
【００４５】
また、ＣＰＵ−０〜３からのフェッチ要求に対する応答データである場合にはそれぞれ、メモリ・ストレージ・キュー（ＭＳＱ−０〜３）７４１〜７４４及びムーブイン・データ・キュー（ＭＩＤＱ）７５６並びにマルチプレクサ７６２〜７６５を通じて、ＣＰＵ−０〜３にフェッチ・データがロードされる。
【００４６】
さらに、他システムボード（ＳＢ−０〜１）上のクロスバ・スイッチＬＳＩ（ＸＢ）からのアクセスである場合にはそれぞれ、システムボード・ポート（ＳＢＰＴ−０〜１）７１６〜７１７及びマルチプレクサ７１８を通じて、グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）７２５によるパイプライン制御が行われる。グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）７２５以降のアクセス経路は、上述したローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）７２２と同様である。
【００４７】
次に、図８にデータ応答制御部のハードウェア構成の一例を示す。ステージング・ラッチ８１１〜８１５は、ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）を構成し、ステージング・ラッチ８５１〜８５６は、グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）を構成する。
【００４８】
まず、ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）の動作を説明する。自システムボード（ＳＢ）上のＣＰＵ０〜３からのリード・アクセスである場合には、ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）を構成するステージング・ラッチ８１１〜８１５をアクセス・コマンドが流れ、前記コマンドに付随するアドレス情報がマルチプレクサ８２１及び８３１を通過し、２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）８２１及び３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）８３３のそれぞれのリード・ポート８２２及び８３２に入力されることにより、それぞれのタグメモリの索引が行われる。それぞれのタグメモリの索引結果はそれぞれの出力レジスタ８２７及び８３６に出力され、さらには、前記ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）を構成するステージング・ラッチ８１１〜８１３を流れてきたアクセス・コマンドに付随するコピーレンシ情報とそれぞれマルチプレクサ８２６及び９２７の入力がローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）側に切り替わることにより、それぞれコンパレータ８２７及び８３７において比較が行われる。コンパレータ８２７及び８３７の出力はそれぞれ、デコーダ８２９に入力されることにより、自システムボード（ＳＢ）上に実装される各ＣＰＵからのリード要求に対して、各ＣＰＵに内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）及びシステム・コントローラ（ＳＣ）に内蔵される３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に保持されている各データエントリの有効／無効ステータス及びデータの包含情報等の索引情報がステージング・ラッチ８１５に出力される。さらに、前記デコーダ８２９の出力の結果により、ＣＰＵリクエスト制御部（ＣＰＵ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）８４１から自システムボード（ＳＢ）上に実装される各ＣＰＵに対するリード要求等が発行され、又は、メモリリクエスト制御部（ＭＥＭ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）８４２から自システムボードに実装されるメインメモリに対するリード要求が発行され、若しくは、タグ制御部（ＴＡＧ  ＣＯＮＴＲＯＬ）８４３から２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）８２３及び３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）８３３のタグ・ステータスの反映が行われる。
【００４９】
次に、グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）の動作を説明する。他のシステムボード（ＳＢ）上のＣＰＵ０〜３からのリード・アクセスである場合には、グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）を構成するステージング・ラッチ８５１〜８５６をリード・コマンドが流れ、前記コマンドに付随するアドレス情報がマルチプレクサ８２１及び８３１を通過し、２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）８２１及び３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）８３３のそれぞれのリード・ポート８２２及び８３２に入力されることにより、それぞれのタグメモリの索引が行われる。それぞれのタグメモリの索引結果はそれぞれの出力レジスタ８２７及び８３６に出力され、さらには、前記グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）を構成するステージング・ラッチ８５１〜８５３を流れてきたアクセス・コマンドに付随するコピーレンシ情報とそれぞれマルチプレクサ８２６及び９２７の入力がグローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）側に切り替わることにより、それぞれコンパレータ８２７及び８３７において比較が行われる。コンパレータ８２７及び８３７の出力はそれぞれ、デコーダ８３９に入力されることにより、他のシステムボード（ＳＢ）上に実装される各ＣＰＵからのリード要求に対して、自システムボード（ＳＢ）上の各ＣＰＵに内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）及びシステム・コントローラ（ＳＣ）に内蔵される３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に保持されている各データエントリの有効／無効ステータス及びデータの包含情報等の索引情報がリード・アクセスを発行した他のシステムボード（ＳＢ）上のＣＰＵにクロスバ・スイッチＬＳＩ（ＸＢ）を経由して出力される。さらに、前記クロスバ・スイッチＬＳＩ（ＸＢ）を経由して、他のシステムボード（ＳＢ）へ出力された索引情報は、当該システムボード（ＳＢ）における索引情報と合わせて処理された情報がステージング／ラッチ８５６に戻されることにより、ＣＰＵリクエスト制御部（ＣＰＵ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）８４７から自システムボード条に実装される各ＣＰＵに対するリード要求等が発行され、又は、メモリリクエスト制御部（ＭＥＭ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）８４８から自システムボードに実装されるメインメモリに対するリード要求が発行され、若しくは、タグ制御部（ＴＡＧ  ＣＯＮＴＲＯＬ）８４６から２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）８２３及び３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）８３３のタグ・ステータスの反映が行われる。
（本発明の実施の形態における２５６Ｂｙｔｅデータブロック応答の通常動作その１）
図９は、本発明の構成において２５６Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その１を示す。システムボード−０（ＳＢ−０）上に実装されるシステム・コントローラＬＳＩ−０（ＳＣ−０）９０５は、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）９５１及びデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）９５２を内蔵し、それぞれ２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９１１を内蔵するＣＰＵ−０  ９０１及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９２１を内蔵するＣＰＵ−１  ９１１及びメインメモリ−０（ＭＥＭ−０）９０７が接続される。同様に、システムボード−１（ＳＢ−１）上に実装されるシステム・コントローラＬＳＩ−１（ＳＣ−１）９０６は、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）９６１及びデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）９６２を内蔵し、それぞれ２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９３１を内蔵するＣＰＵ−２  ９０３及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９４１を内蔵するＣＰＬ３  ９０４及びメインメモリ−１（ＭＥＭ−１）９０８が接続される。また、システム・コントローラＬＳＩ−０（ＳＣ−０）９０５とシステム・コントローラＬＳＩ−１（ＳＣ−１）９０６との間は、クロスバ・スイッチ（ＸＢ）により接続されているが、本図では簡単化のために省略されている。
【００５０】
ここで図９において、リード・アクセス発生前の各３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）９５１、９６１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）９５３、９５４、及び、各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）９１１、９２１、９３１、９４１は全て無効ステータス（Ｉステータス）を保持しており、ＣＰＵ−０  ９０１からのリード要求の対象であるアドレス０ｘ１００番地からの６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータブロックのうち、どの６４Ｂｙｔｅデータブロックも全ての３次キャッシュメモリ及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在しない場合を表す。
【００５１】
この場合には、ＣＰＵ−０  ９０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９１１からのアドレス０ｘ１４０番地に対するリード要求９９１を受信したシステムコントローラ−０（ＳＣ−０）９０５は、メインメモリ−０（ＭＥＭ−０）９０７に向けて、アドレス０ｘ１００番地に対する２５６Ｂｙｔｅサイズのリード要求９９３を生成し、メインメモリ−０（ＭＥＭ−０）は前記リード要求アドレスに対して２５６Ｂｙｔｅデータブロックによる応答データ９９４を送信する。さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）９０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）９５２は、前記６４Ｂｙｔｅデータブロックを含む応答データ９９５をＣＰＵ−０  ９０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９１１へ送信することにより、リード・アクセスを完了する。
【００５２】
ここで、リード・アクセス完了後の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）９５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）９１３及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）９１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）９５４は、アドレス０ｘ１００番地から始まる２５６Ｂｙｔｅデータブロックに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）９６４、及び、２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）９２３、９３３、９４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における２５６Ｂｙｔｅデータブロック応答の通常動作その２）
図１０は、本発明の構成において２５６Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その２を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９と同様である。
【００５３】
ここで図１０において、リード・アクセス発生前の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１０５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１０５３は全てのビットにおいて有効ステータス（Ｖステータス）を保持し、さらに、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１０６１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１０６３、及び、各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１０１２、１０２２、１０３２、１０４２は全て無効ステータス（Ｉステータス）を保持しており、ＣＰＵ−０  １００１からのリード要求の対象であるアドレス０ｘ１００番地からの６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１０５１のみに有効に存在する場合を表す。
【００５４】
この場合には、ＣＰＵ−０  １００１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１０１１からのアドレス０ｘ１４０番地に対するリード要求１０９１を受信したシステムコントローラ−０（ＳＣ−０）１００５は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１０５２に向けて、アドレス０ｘ１００番地から始まる２５６Ｂｙｔｅデータブロック１０９２による応答データを送信する。さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１００５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１０５２は、前記２５６Ｂｙｔｅデータブロックによる応答データ１０９５をＣＰＵ−０  １００１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１０１１へ送信することにより、リード・アクセスを完了する。
【００５５】
ここで、リード・アクセス完了後の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１０１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１０１３は、アドレス０ｘ１００番地からの２５６Ｂｙｔｅに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１０５４、１０６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１０２３、１０３３、１０４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における６４Ｂｙｔｅデータブロック応答の通常動作その１）
図１１は、本発明の構成において６４Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その１を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９及び図１０と同様である。
【００５６】
ここで図１１は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックが他ＣＰＵの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在する場合を表す。
【００５７】
この場合には、ＣＰＵ−０  １１０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１１１１からのアドレス０ｘ１４０番地に対するリード要求１１９１を受信したシステムコントローラ−０（ＳＣ−０）１１０５は、アドレス０ｘ１４０から始まる有効な６４Ｂｙｔｅデータブロックを保持しているＣＰＵ−１１０２が内蔵している２次キャッシュ（Ｌ２−ＣＡＣＨＥ）１１２１に対するリード要求１１９２を発行し、前記リード要求１１９２に対応する６４Ｂｙｔｅデータブロックによる応答データ１１９３をデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１１５２が受信する。さらに、前記データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１１５２は、前記６４Ｂｙｔｅデータブロック１１９４により、ＣＰＵ−０  １１０１に内蔵されている２次キャッシュ（Ｌ２−ＣＡＣＨＥ）１１１１へ送信することにより、リード・アクセスを完了する。
【００５８】
ここで、リード・アクセス完了後の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１１１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１１１２は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１１５４、１１６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１０６１のタグ・ステータス（ＴＡＧ−Ｓ２）１１２３、１１３３、１１４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における６４Ｂｙｔｅデータブロック応答の通常動作その２）
図１２は、本発明の構成において６４Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その２を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１１と同様である。
【００５９】
ここで図１２は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックがどの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内にも存在しないが、他の６４Ｂｙｔｅデータブロックのいずれかが２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在し、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内に有効に存在する場合を表す。
【００６０】
この場合には、ＣＰＵ−０  １２０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１２１１からのアドレス０ｘ１４０番地に対するリード要求１２９１を受信したシステムコントローラ−０（ＳＣ−０）１２０５は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１２５２に向けて、アドレス０ｘ１４０番地から始まる６４Ｂｙｔｅデータブロック１２９２による応答データを送信する。さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１２０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１２５２は、前記６４Ｂｙｔｅデータブロックによる応答データ１２９３をＣＰＵ−０  １２０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１２１１へ送信することにより、リード・アクセスを完了する。
【００６１】
ここで、リード・アクセス完了後の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１２１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１２１２は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１２５４、１２６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１２２３、１２３３、１２４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における６４Ｂｙｔｅデータブロック応答の通常動作その３）
図１３は、本発明の構成において６４Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その３を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１２と同様である。
【００６２】
ここで図１３は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックがどの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内及び３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内にも存在しないが、他の６４Ｂｙｔｅデータブロックのいずれかが２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在する場合を表す。
【００６３】
この場合には、ＣＰＵ−０  １３０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１３１１からのアドレス０ｘ１４０番地に対するリード要求１３９１を受信したシステムコントローラ−０（ＳＣ−０）１３０５は、メインメモリ−０（ＭＥＭ−０）１３０７に向けて、アドレス０ｘ１４０番地に対する６４Ｂｙｔｅサイズのリード要求１３９２を生成し、メインメモリ−０（ＭＥＭ−０）は前記リード要求アドレスに対して６４Ｂｙｔｅデータブロックによる応答データ１３９３を送信する。
【００６４】
さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１３０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１３５２は、前記６４Ｂｙｔｅデータブロックによる応答データ１３９４をＣＰＵ−０  １３０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１３１１へ送信することにより、リード・アクセスを完了する。
【００６５】
ここで、リード・アクセス完了後の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１３５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１３１３及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１３１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１３５４は、アドレス０ｘ１４０番地から始まる６４Ｂｙｔｅデータブロックに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１３６４、及び、２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１３２３、１３３３、１３４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における６４Ｂｙｔｅデータブロック応答の通常動作その４）
図１４は、本発明の構成において６４Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その４を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１３と同様である。
【００６６】
ここで図１４は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在しないが、リード要求の対象である６４Ｂｙｔｅデータブロック及び他のいずれかの６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合を表す。
【００６７】
この場合には、ＣＰＵ−０  １４０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１４１１からのアドレス０ｘ１４０番地に対するリード要求１４９１を受信したシステムコントローラ−０（ＳＣ−０）１４０５は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１４５２に向けて、アドレス０ｘ１４０番地から始まる６４Ｂｙｔｅデータブロック１４９２による応答データを送信する。さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１４０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１４５２は、前記６４Ｂｙｔｅデータブロックによる応答データ１４９３をＣＰＵ−０  １４０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１４１１へ送信することにより、リード・アクセスを完了する。
【００６８】
ここで、リード・アクセス完了後の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１４１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１４１２は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１４５４、１４６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１４２３、１４３３、１４４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における６４Ｂｙｔｅデータブロック応答の通常動作その５）
図１５は、本発明の構成において６４Ｂｙｔｅデータブロックにより応答データを行う場合の通常動作その３を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１４と同様である。
【００６９】
ここで図１５は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックも３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、他の６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合を表す。
【００７０】
この場合には、ＣＰＵ−０  １５０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１５１１からのアドレス０ｘ１４０番地に対するリード要求１５９１を受信したシステムコントローラ−０（ＳＣ−０）１５０５は、メインメモリ−０（ＭＥＭ−０）１５０７に向けて、アドレス０ｘ１４０番地に対する６４Ｂｙｔｅサイズのリード要求１５９２を生成し、メインメモリ−０（ＭＥＭ−０）は前記リード要求アドレスに対して６４Ｂｙｔｅデータブロックによる応答データ１５９３を送信する。
【００７１】
さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１５０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１５５２は、前記６４Ｂｙｔｅデータブロックによる応答データ１５９４をＣＰＵ−０  １５０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１５１１へ送信することにより、リード・アクセスを完了する。
【００７２】
ここで、リード・アクセス完了後の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１５５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１５１３及び２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１５１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１５５４は、アドレス０ｘ１４０番地から始まる６４Ｂｙｔｅデータブロックに対応するビットにおいて、無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、他の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１５６４、及び、２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１５２３、１５３３、１５４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における２５６Ｂｙｔｅデータブロック応答のマージ動作その１）
図１６は、本発明の構成において２５６Ｂｙｔｅデータブロックにより応答データを行う場合の特殊動作その１を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１５と同様である。
【００７３】
図１６は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、他の６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【００７４】
ここで図１６において、リード・アクセス発生前の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１６５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１６５３は、ＣＰＵ−０  １６０１からのリード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータブロックのうち、リード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックは無効ステータス（Ｉステータス）を保持するが、いずれかの他の６４Ｂｙｔｅデータブロックに対するビットが有効ステータス（Ｖステータス）を保持し、さらに３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１６６１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１６６３、及び、各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１６１２、１６２２、１６３２、１６４２が全て無効ステータス（Ｉステータス）を保持しており、ＣＰＵ−０  １６０１からのリード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックがメインメモリ−０（ＭＥＭ−０）１６０７のみに有効に存在する場合を表す。
【００７５】
この場合には、ＣＰＵ−０  １６０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１６１１からのアドレス０ｘ１４０番地に対するリード要求１６９１を受信したシステムコントローラ−０（ＳＣ−０）１６０５に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１６５１は、データ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１６５２に向けて、アドレス０ｘ１００番地から始まる６４Ｂｙｔｅデータブロック及びアドレス０ｘ１Ｃ０番地から始まる６４Ｂｙｔｅデータブロックから構成される１２８Ｂｙｔｅデータブロック１６９２による応答データを発行し、さらに、アドレス０ｘ１４０から始まる６４Ｂｙｔｅデータブロック及びアドレス０ｘ１８０から始まる６４Ｂｙｔｅデータブロックに対するリード要求１６９３をメインメモリ−０（ＭＥＭ−０）１６０７に対して発行するとともに、対応する１２８Ｂｙｔｅデータブロックから構成される応答データ１６９４を受信する。
【００７６】
さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１６０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１６５２は、前記Ｌ３キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１６５１から送出される１２８Ｂｙｔｅデータブロックによる応答データ１６９２及び前記メインメモリ−０（ＭＥＭ−０）から送出される１２８Ｂｙｔｅデータブロックによる応答データ１６９４のマージを行い、２５６Ｂｙｔｅデータブロックから構成される応答データ１６９５として、ＣＰＵ−０  １６０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１６１１へ送信することにより、リード・アクセスを完了する。
【００７７】
ここで、リード・アクセス完了後の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１６５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１６５４は、全てのビットにおいて無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、また、２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１６１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１６１３は、全てのビットにおいて無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、さらには、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１６６１のタグ・ステータス（ＴＡＧ−Ｓ２）１６６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１６２３、１６３３、１６４３はいずれもリード・アクセス発生前の状態から変化しない。
（本発明の実施の形態における２５６Ｂｙｔｅデータブロック応答のマージ動作その２）
図１７は、本発明の構成において２５６Ｂｙｔｅデータブロックにより応答データを行う場合の特殊動作その２を示す。システムボード−０（ＳＢ−０）及びシステムボード−１（ＳＢ−１）上に実装される各ＬＳＩの構成は、図９乃至図１６と同様である。
【００７８】
図１７は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、同一の２５６Ｂｙｔｅデータエントリにおける他の６４Ｂｙｔｅデータブロックが他のシステム・コントローラ（ＳＣ）内の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【００７９】
ここで図１７において、リード・アクセス発生前の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１７５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１７５３は、ＣＰＵ−０  １７０１からのリード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータブロックのうち、リード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックは無効ステータス（Ｉステータス）を保持するが、いずれかの他の６４Ｂｙｔｅデータブロックに対するビットが有効ステータス（Ｖステータス）を保持し、さらに３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１７６１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１７６３、及び、各２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ１）１７１２、１７２２、１７３２、１７４２が全て無効ステータス（Ｉステータス）を保持しており、ＣＰＵ−０  １７０１からのリード要求の対象であるアドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロックがメインメモリ−０（ＭＥＭ−０）１７０７のみに有効に存在する場合を表す。
【００８０】
この場合には、ＣＰＵ−０  １７０１に内蔵される２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１７１１からのアドレス０ｘ１４０番地に対するリード要求１７９１を受信したシステムコントローラ−０（ＳＣ−０）１７０５は、システムコントローラ−１（ＳＣ−１）に向けて、アドレス０ｘ１００番地から始まる６４Ｂｙｔｅデータブロック及びアドレス０ｘ１Ｃ０番地から始まる６４Ｂｙｔｅデータブロックから構成される１２８Ｂｙｔｅデータブロック１７９２に対するリード要求１７９２を発行し、前記リード要求１７９２に対応する１２８Ｂｙｔｅデータブロックから構成される応答データを受信し、さらには、アドレス０ｘ１４０から始まる６４Ｂｙｔｅデータブロック及びアドレス０ｘ１８０から始まる６４Ｂｙｔｅデータブロックに対するリード要求１７９４をメインメモリ−０（ＭＥＭ−０）１７０７に対して発行し、対応する１２８Ｂｙｔｅデータブロックから構成される応答データ１７９５を受信する。
【００８１】
さらに、システム・コントローラＬＳＩ−０（ＳＣ−０）１７０５に内蔵されるデータ応答制御部（ＤＡＴＡ−ＲＥＰＬＹ  ＣＯＮＴＲＯＬ  ＢＬＯＣＫ）１７５２は、前記Ｌ３キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１７６１から送出される１２８Ｂｙｔｅデータブロックによる応答データ１７９３及び前記メインメモリ−０（ＭＥＭ−０）から送出される１２８Ｂｙｔｅデータブロックによる応答データ１７９５のマージを行い、２５６Ｂｙｔｅデータブロックから構成される応答データ１７９６として、ＣＰＵ−０  １７０１に内蔵されている２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１７１１へ送信することにより、リード・アクセスを完了する。
【００８２】
ここで、リード・アクセス完了後の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１７５１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１７５４は、アドレス０ｘ１４０番地からの６４Ｂｙｔｅデータブロック及びアドレス０ｘ１８０番地からの６４Ｂｙｔｅデータブロックに対応するビットにおいて無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、また、２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）１７１１に内蔵されるタグ・ステータス（ＴＡＧ−Ｓ２）１７１３は、全てのビットにおいて無効ステータス（Ｉステータス）から有効ステータス（Ｖステータス）へと変化し、さらに、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）１７６１のタグ・ステータス（ＴＡＧ−Ｓ２）１７６４、及び、他の２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）のタグ・ステータス（ＴＡＧ−Ｓ２）１７２３、１７３３、１７４３はいずれもリード・アクセス発生前の状態から変化しない。
【００８３】
以上、図１６及び図１７の動作説明により、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）を内蔵するメモリ制御装置において、ＣＰＵから自システムボード（ＳＢ）内のシステム・コントローラ（ＳＣ）に発行したリード要求に対する応答データがメインメモリ（ＭＥＭ）及び他のシステムボード（ＳＢ）上のシステム・コントローラ（ＳＣ）内の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）等に分散して存在している場合に、ＣＰＵからのリード要求に対する応答として、３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）及びメインメモリ等の複数の記憶装置からデータを同時に受信してマージすることにより、一度のアクセスで必要なデータをＣＰＵの2次キャッシュメモリに格納を行うことができ、無駄なアクセスが発生しないことが明確である。
【００８４】
以上、本発明にかかる実施の形態及びその動作について図面を参照して説明して詳述してきたが、具体的な構成例はこれら実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【００８５】
以下に本発明を付記する。
【００８６】
（付記１）
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され、いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記リード要求対象のデータブロックの格納場所及び前記データブロックが属するエントリに含まれるその他のデータブロックの格納場所に対して、それぞれリード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【００８７】
（付記２）
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【００８８】
（付記３）
第１のキャッシュメモリを有する少なくとも１つのＣＰＵと、メインメモリとに接続され，いずれかのＣＰＵからのリード要求に対する処理を行うメモリ制御装置であって、
第２のキャッシュメモリと、
前記ＣＰＵが有する第１のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第１のタグメモリと、
前記第２のキャッシュメモリ内に含まれる各データブロックの有効状態を記憶する第２のタグメモリとを有し、
前記第1及び第２のタグメモリの内容と、前記いずれかのＣＰＵからのリード要求とを比較し、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、前記それぞれの格納場所に対して、リード要求を発行する制御部とを有することを特徴とするメモリ制御装置。
【００８９】
（付記４）
前記制御部は、
前記複数の格納場所からそれぞれ送出される複数のデータブロックを受信し、前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置。
【００９０】
（付記５）
前記メモリ制御装置は、
直接接続されるＣＰＵから発行されるリード要求に対応するデータブロックが属するエントリに含まれるその他のデータブロックのうち、すくなくとも１つのデータブロックが前記第２のキャッシュメモリに格納されているときには，前記データブロックを前記複数の格納場所から送出されたデータブロックとを１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項１記載のメモリ制御装置。
【００９１】
（付記６）
情報処理装置において、
少なくとも１つのＣＰＵと、
前記ＣＰＵに設けられ、複数のデータブロックから構成される複数のエントリを有する第１のキャッシュメモリと、
メインメモリと、
前記ＣＰＵからのリード要求を処理する少なくとも１つのメモリ制御装置と、
前記メモリ制御装置に設けられ、複数のデータブロックから構成される複数のエントリを有する第２のキャッシュメモリとを有し、
前記メモリ制御装置は、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれる他のデータブロックが、複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とする情報処理装置。
【００９２】
（付記７）
前記情報処理装置は、
複数のメモリ制御装置を有し、
一のメモリ制御装置は、
他のメモリ制御装置に接続されるＣＰＵからのリード要求が発行された場合には、
前記第１及び第２のキャッシュメモリにおけるデータブロックの有効状態と前記他のメモリ制御装置に接続されるＣＰＵからのリード要求とを比較することにより、当該要求に対応するデータブロックの格納場所の検査を行い、
前記検査の結果、前記データブロック及び前記データブロックが属するエントリに含まれるその他のデータブロックのうち、少なくとも１つのデータブロックが前記メモリ制御装置に接続されたＣＰＵに設けられた第１のキャッシュメモリ又は前記メモリ制御装置に設けられた第２のキャッシュメモリに格納されているときには、前記データブロックを前記他のメモリ制御装置に送出することを特徴とする請求項６記載の情報処理装置。
【００９３】
（付記８）
前記情報処理装置は、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを前記メモリ制御装置が受信し、前記受信した複数のデータブロックを、前記メモリ制御装置が１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項６記載の情報処理装置。
【００９４】
（付記９）
少なくとも１つのＣＰＵからのリード要求を実行するメモリ制御装置のメモリ制御方法において、
いずれかのＣＰＵから発行されるリード要求を受信し、
前記ＣＰＵ内のキャッシュメモリに含まれるデータブロックの有効状態及び前記メモリ制御装置内のキャッシュメモリに含まれるデータブロックの有効状態と、前記リード要求とを比較し、
前記比較の結果、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とするメモリ制御方法。
【００９５】
（付記１０）
前記メモリ制御方法はさらに、
前記複数の格納場所からそれぞれ送出され、前記メモリ制御装置が発行したリード要求に対応するデータブロックを受信し、
前記受信した複数のデータブロックを１つのエントリにマージして前記ＣＰＵに送出することを有する特徴とする請求項９記載のメモリ制御方法。
【００９６】
（付記１１）
前記情報処理装置は、
前記メモリ制御装置に直接接続されるＣＰＵから発行されるリード要求に対応する有効データのうち、すくなくとも１つのデータブロックがメモリ制御装置の有するキャッシュメモリに格納されているときには，前記データブロックを前記複数の格納場所から送出されたデータブロックとを、前記メモリ制御装置が１つのエントリにマージして前記ＣＰＵに送出することを特徴とする請求項５又は６記載の情報処理装置。
【００９７】
（付記１２）
前記情報処理装置は、
前記第1及び第２のタグメモリの内容と前記データ伝送路を介して他のメモリ制御装置に直接接続されるＣＰＵから発行されるリード要求とを比較することにより、前記リード要求に対応する有効データの格納場所の検査を行う第２のパイプラインを前記メモリ制御装置に有し、
前記検査の結果、前記リード要求に対応する有効データのうち、少なくとも１つのデータブロックが自メモリ制御装置の有するキャッシュメモリに格納されているときには、前記メモリ制御装置が前記データブロックを前記他のメモリ制御装置に送出することを特徴とする請求項５乃至７記載の情報処理装置。
【００９８】
（付記１３）
少なくとも１つのＣＰＵ及びメインメモリに直接接続されるととともにデータ伝送路を介して他のメモリ制御装置に接続され、エントリが複数のデータブロックから構成される第１のキャッシュメモリ及び前記データブロックの有効フラグを保持する第１のタグメモリを有し、前記データブロック又はエントリの単位により前記ＣＰＵからのリード要求を実行するメモリ制御装置において、
前記メモリ制御装置は、
前記直接接続される全てのＣＰＵが有するタグメモリの内容をコピーして保持するものである第２のタグメモリと、
前記第1及び第２のタグメモリの内容と前記直接接続されるいずれかのＣＰＵから発行されるリード要求とを比較することにより、前記リード要求に対応する有効データの格納場所の検査を行う第１のパイプラインとを有し、
前記検査の結果、前記リード要求に対応するデータブロック及び当該データブロックが属するエントリに含まれるその他のデータブロックが複数の格納場所に分散して格納されているときには、それぞれの格納場所に対してリード要求の発行を行うことを特徴とするメモリ制御装置。
【図面の簡単な説明】
【００９９】
【図１】図１は、１データエントリが複数のデータブロックから構成されるキャッシュメモリのデータ格納例を示す図である。
【図２】図２は、３次キャッシュメモリを有しない従来構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも全ての２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在しない場合のリード・アクセス動作を示す図である。
【図３】図3は、３次キャッシュメモリを有しない従来構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックが他ＣＰＵの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在する場合のリード・アクセス動作を示す図である。
【図４】図４は、３次キャッシュメモリを有しない従来構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックがどの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）にも存在しないが、同一２５６Ｂｙｔｅデータエントリの他の６４Ｂｙｔｅデータブロックがいずれかの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在する場合のリード・アクセス動作を示す図である。
【図５】図５は、クロスバ・スイッチＬＳＩ（ＸＢ）及びシステム・コントローラＬＳＩ（ＳＣ）及びＩ／Ｏシステム・コントローラＬＳＩ（ＩＯＳＣ）を使用したコンピュータシステムの全体ハードウェア構成例を示す図である。
【図６】図６は、システム・コントローラＬＳＩ（ＳＣ）を実装するシステムボード（ＳＢ）のハードウェア構成例を示す図である。
【図７】図７は、システム・コントローラＬＳＩ（ＳＣ）のブロック図を示す図である。
【図８】図８は、システム・コントローラＬＳＩ（ＳＣ）に内蔵されるデータ応答制御部のブロック図を示す図である。
【図９】図９は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも全ての３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内及び全ての２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在しない場合のリード・アクセス動作を示す図である。
【図１０】図１０は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも全ての２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に存在せず、全ての６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内に有効に存在する場合のリード・アクセス動作を示す図である。
【図１１】図１１は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックが他ＣＰＵの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内に有効に存在する場合のアクセス動作を示す図である。
【図１２】図１２は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックがどの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内にも存在しないが、他の６４Ｂｙｔｅデータブロックのいずれかが２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在し、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内に有効に存在する場合のアクセス動作を示す図である。
【図１３】図１３は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、リード要求の対象である６４Ｂｙｔｅデータブロックがどの２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）内及び３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）内にも存在しないが、他の６４Ｂｙｔｅデータブロックのいずれかが２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【図１４】図１４は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在しないが、リード要求の対象である６４Ｂｙｔｅデータブロック及び他のいずれかの６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【図１５】図１５は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックも３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、他の６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【図１６】図１６は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、他の６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【図１７】図１７は、本発明の構成において、ＣＰＵからのリード要求の対象である６４Ｂｙｔｅデータブロックを含む２５６Ｂｙｔｅデータエントリのうち、どの６４Ｂｙｔｅデータブロックも２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）に存在せず、リード要求の対象である６４Ｂｙｔｅデータブロックが３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に存在しないが、他の６４Ｂｙｔｅデータブロックが他のシステム・コントローラ（ＳＣ）内の３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）に有効に存在する場合のアクセス動作を示す図である。
【符号の説明】
【０１００】
１０１  キャッシュメモリエントリ
１０２  アドレスブロック
１０３  ６４ＢｙｔｅデータブロックのタグＶＡＬＩＤ
２０１  ＣＰＵ−０
２０５  システム・コントローラ−０（ＳＣ−０）
２０７  メインメモリ（ＭＥＭ）
２１１  ２次キャッシュメモリ（Ｌ２−ＣＡＣＨＥ）
２１２  ２５６ＢｙｔｅデータエントリのタグＶＡＬＩＤ（リード要求実行前）
２１３  ２５６ＢｙｔｅデータエントリのタグＶＡＬＩＤ（リード要求実行後）
２５１  データ応答制御部
２９１  ＣＰＵ発行のリード要求
２９３  システム・コントローラ（ＳＣ）発行のリード要求
２９４  メインメモリ（ＭＥＭ）送出の応答データ
２９５  システム・コントローラ（ＳＣ）送出の応答データ
５０１  バックプレーン（ＢＰ）
５０２  システムボード（ＳＢ）
５０４  Ｉ／Ｏボード（ＩＯＢ）
５１１  クロスバ・スイッチＬＳＩ（ＸＢ）
５２１  システム・コントローラＬＳＩ（ＳＣ）
５４１  Ｉ／Ｏシステム・コントローラＬＳＩ（ＩＯＳＣ）
５６１  コネクタ
６２１  ＣＰＵ
６３１  メモリ・コントローラＬＳＩ（ＭＡＣ）
６４１  メモリ・モジュール（ＤＩＭＭ）
７０２  データ応答制御部
７１１  リクエスト・ポート−０（ＲＱＰＴ−０）
７１５  マルチプレクサ
７１６  システムボード・ポート−０（ＳＢＰＴ−０）
７２１  クロスバ・リクエスト・バッファ（ＸＢＲＱ）
７２２  ローカル・アクセス・パイプライン（ＬＯＣＡＬ−ＰＩＰＥＬＩＮＥ）
７２１  ２次キャッシュ・タグメモリのコピー（Ｌ２−ＴＡＧ２）
７２４  ３次キャッシュ・タグメモリ（Ｌ３−ＴＡＧ）
７２５  グローバル・アクセス・パイプライン（ＧＬＯＢＡＬ−ＰＩＰＥＬＩＮＥ）
７３１  オーダ・キュー−０（ＯＤＲＱ−０）
７３５  ロード・キュー（ＬＯＡＤＱ）
７４１  メモリ・ストレージ・キュー−０（ＭＳＱ−０）
７５１  リード・ポート（ＲＤＰＴ）
７５２  ３次キャッシュメモリ・パイプライン（Ｌ３ＤＴ−ＰＩＰＥ）
７５４  ３次キャッシュメモリ
７５６  ムーブ・イン・データ・キュー（ＭＩＤＱ）
８１１  ステージング・ラッチ
８２２  リード・ポート（ＲＤ−ＰＯＲＴ）
８２４  ライト・ポート（ＷＲ−ＰＯＲＴ）
８２５  出力レジスタ
８２７  コンパレータ（ＣＯＭＰＡＲＥ）
８２９  デコーダ（ＤＥＣＯＤＥ）
８４１  ＣＰＵリクエスト制御部（ＣＰＵ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）
８４２  メモリリクエスト制御部（ＭＥＭ  ＲＥＱＵＥＳＴ  ＣＯＮＴＲＯＬ）
８４３  タグメモリ制御部
９５１  ３次キャッシュメモリ（Ｌ３−ＣＡＣＨＥ）
１０９２  ３次キャッシュメモリ送出の応答データ
【図１】
2006079218.tif 000003
【図２】
2006079218.tif 000004
【図３】
2006079218.tif 000005
【図４】
2006079218.tif 000006
【図５】
2006079218.tif 000007
【図６】
2006079218.tif 000008
【図７】
2006079218.tif 000009
【図８】
2006079218.tif 000010
【図９】
2006079218.tif 000011
【図１０】
2006079218.tif 000012
【図１１】
2006079218.tif 000013
【図１２】
2006079218.tif 000014
【図１３】
2006079218.tif 000015
【図１４】
2006079218.tif 000016
【図１５】
2006079218.tif 000017
【図１６】
2006079218.tif 000018
【図１７】
2006079218.tif 000019