(57)【特許請求の範囲】
【請求項１】
マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与える方法であって、
前記マルチプロセッサ・データ処理システムの動作の間に、第１キャッシュ・ラインに対するリクエストを要求元プロセッサ・コアが発生するステップと、
前記第１キャッシュ・ラインに対するリクエストを受け取ったことに応答して、前記要求された第１キャッシュ・ラインのコピーを記憶している複数のメモリ・ソースを中央のディレクトリィにおいて同定するステップと、
前記複数のメモリ・ソースのそれぞれに対するライン・ステート情報を温度値または電力消費値と共に前記中央のディレクトリィに維持するステップと、
前記要求された第１キャッシュ・ラインを与える第１メモリ・ソースを前記複数のメモリ・ソースから選択するステップであって、許容される温度値または電力消費値を有することに少なくとも基づいて前記第１メモリ・ソースが選択される前記ステップと、
前記要求された第１キャッシュ・ラインを与えることを前記第１メモリ・ソースに命令する選択メッセージを前記中央のディレクトリィから送り出すステップとを含む前記方法。
【請求項２】
前記第１メモリ・ソースを選択するステップが、第２メモリ・ソースに関連する第２の温度値または電力消費値よりも低い第１温度値または電力消費値を有する前記第１メモリ・ソースを選択するステップを含む、請求項１に記載の方法。
【請求項３】
前記第１メモリ・ソースを選択するステップが、前記第１メモリ・ソースに関連する第１温度値または電力消費値を１つ以上の他のメモリ・ソースに関連する１つ以上の他の温度値または電力消費値と比較することに少なくとも基づいてクール・メモリ・ソースを選択するステップを含む、請求項１に記載の方法。
【請求項４】
前記複数のメモリ・ソースが複数のキャッシュ・メモリからなる、請求項１に記載の方法。
【請求項５】
前記複数のメモリ・ソースのそれぞれが、該メモリ・ソースに関連する温度値または電力消費値を測定するセンサを備える、請求項１に記載の方法。
【請求項６】
前記第１メモリ・ソースを選択するステップが、もしも前記複数のメモリ・ソースのいずれもが許容される温度値または電力消費値を有さなければ、前記要求された第１キャッシュ・ラインを与えるために許容される温度値または電力消費値を有するメモリ・コントローラを選択するステップを含む、請求項４に記載の方法。
【請求項７】
前記ライン・ステート情報を温度値または電力消費値と共に前記中央のディレクトリィに維持するステップが、前記メモリ・ソースの温度値または電力消費値が予定の温度値または電力消費値を越えたか否かを示す信号を各メモリ・ソースから送るステップを含む、請求項１に記載の方法。
【請求項８】
要求元プロセッサ・コアからのリクエストが前記第１キャッシュ・ラインを排他的にアクセスするリクエストであるならば、前記複数のメモリ・ソースに対する前記中央のディレクトリィ内のライン・ステート情報を無効にするステップを含む、請求項１に記載の方法。
【請求項９】
マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与えるコンピュータ読み取り可能な記録媒体であって、コンピュータに、
前記マルチプロセッサ・データ処理システムの動作の間に、第１キャッシュ・ラインに対するリクエストを要求元プロセッサ・コアが発生する手順と、
前記第１キャッシュ・ラインに対するリクエストを受け取ったことに応答して、前記要求された第１キャッシュ・ラインのコピーを記憶している複数のメモリ・ソースを中央のディレクトリィにおいて同定する手順と、
前記複数のメモリ・ソースのそれぞれに対するライン・ステート情報を温度値または電力消費値と共に前記中央のディレクトリィに維持する手順と、
前記要求された第１キャッシュ・ラインを与える第１メモリ・ソースを前記複数のメモリ・ソースから選択する手順であって、許容される温度値または電力消費値を有することに少なくとも基づいて前記第１メモリ・ソースが選択される前記手順と、
前記要求された第１キャッシュ・ラインを与えることを前記第１メモリ・ソースに命令する選択メッセージを前記中央のディレクトリィから送り出す手順とを実行させるためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記第１メモリ・ソースを選択する手順が、第２メモリ・ソースに関連する第２の温度値または電力消費値よりも低い第１温度値または電力消費値を有する前記第１メモリ・ソースを選択する手順を含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記第１メモリ・ソースを選択する手順が、前記第１メモリ・ソースに関連する第１温度値または電力消費値を１つ以上の他のメモリ・ソースに関連する１つ以上の他の温度値または電力消費値と比較することに少なくとも基づいてクール・メモリ・ソースを選択する手順を含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記複数のメモリ・ソースが複数のキャッシュ・メモリからなる、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記複数のメモリ・ソースのそれぞれが、該メモリ・ソースに関連する温度値または電力消費値を測定するセンサを備える、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記第１メモリ・ソースを選択する手順が、もしも前記複数のメモリ・ソースのいずれもが許容される温度値または電力消費値を有さなければ、前記要求された第１キャッシュ・ラインを与えるために許容される温度値または電力消費値を有するメモリ・コントローラを選択する手順を含む、請求項１２に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記ライン・ステート情報を温度値または電力消費値と共に前記中央のディレクトリィに維持する手順が、前記メモリ・ソースの温度値または電力消費値が予定の温度値または
電力消費値を越えたか否かを示す信号を各メモリ・ソースから送る手順を含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
要求元プロセッサ・コアからのリクエストが前記第１キャッシュ・ラインを排他的にアクセスするリクエストであるならば、前記複数のメモリ・ソースに対する前記中央のディレクトリィ内のライン・ステート情報を無効にする手順を含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
それぞれが１つ以上のキャッシュ・メモリを有する複数のプロセッサと、
前記複数のプロセッサに結合されたデータ・バスと、
該データ・バスに結合され、マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与えるコンピュータ読み取り可能な記録媒体とを備え、
該コンピュータ読み取り可能な記録媒体が、コンピュータに、
前記マルチプロセッサ・データ処理システムの動作の間に、第１キャッシュ・ラインに対するリクエストを要求元プロセッサ・コアが発生する手順と、
前記第１キャッシュ・ラインに対するリクエストを受けとったことに応答して、前記要求された第１キャッシュ・ラインのコピーを記憶している複数のキャッシュ・メモリを中央のディレクトリィにおいて同定する手順と、
前記複数のキャッシュ・メモリのそれぞれに対するライン・ステート情報を温度値または電力消費値と共に前記中央のディレクトリィに維持する手順と、
前記要求された第１キャッシュ・ラインを与える第１キャッシュ・メモリを前記複数のキャッシュ・メモリから選択する手順であって、許容される温度値または電力消費値を有することに少なくとも基づいて前記第１キャッシュ・メモリが選択される前記手順と、
前記要求された第１キャッシュ・ラインを与えることを前記第１キャッシュ・メモリに命令する選択メッセージを前記中央のディレクトリィから送り出す手順とを実行させる、マルチプロセッサ・データ処理システム。
【請求項１８】
前記第１キャッシュ・メモリを選択するステップが、第２キャッシュ・メモリに関連する第２の温度値または電力消費値よりも低い第１温度値または電力消費値を有する前記第１キャッシュ・メモリを選択するステップを含む、請求項１７に記載のマルチプロセッサ・データ処理システム。
【請求項１９】
請求項１乃至８のいずれか一項に記載の方法の各ステップを、コンピュータに実行させる、マルチプロセッサ・データ処理システムにおいて共有キャッシュ・ラインを与えるためのコンピュータ・プログラム。
【請求項２０】
請求項１乃至８のいずれか一項に記載の方法の各ステップを実行するように適合された手段を備えるマルチプロセッサ・データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理・システムの分野に関する。一つの態様において、本発明は、マルチプロセッサ・システム内のキャッシュ・メモリの管理に関する。
【背景技術】
【０００２】
各プロセッサに１つ以上のレベルのキャッシュ・メモリを有するマルチプロセッサ・コンピュータ・システムにおいては、キャッシュ・コヒーレンシ（キャッシュの一貫性、ｃａｃｈｅ  ｃｏｈｅｒｅｎｃｙ）は、代表的には、スヌープ・プロトコル又はディレクトリィ・ベース・プロトコルを使用してこのようなシステムに亘って維持される。スヌープ・プロトコルが、現在のマルチプロセッサ・システムにキャッシュ・ライン（上位キャッシュ・メモリと下位キャッシュ・メモリとの間のデータ転送単位であってラインともいう）のシステム・コヒーレンシ（一貫性）を与えるために使用される場合には、或る場合には全ての要求の３０％にまで達する大量のキャッシュ・ラインの共有が生じる。これは、コヒーレンシを維持するためにスヌープ・プロトコルを使用する例えばＰＯＷＥＲ５／６のようなマルチコア・システムを参照することにより理解されるであろう。このようなシステムにおいては、第２コアにより（読み取り又は以前の書き込みのために）既にアクセスされている第１コアによる読み取り動作のために要求されるラインは、第２コアにおいて共有されるとしてマークされ、第１コアへ転送されるか又は与えられ、そして第１コアにおいて共有されるとしてマークされる。次いで、両コアは、更に、互いに連絡を行うことなく、共有されたラインを読み取りのために並列にアクセスする。このプロトコルにより、多数のコアは同じラインを共有し、その結果、他のコアが２つ以上のコアにより既に共有されているラインを（共有若しくは排他的な読み取りのために）アクセスしようとするとき、どちらのコアが共有されたコピーを与えるかについての選択がなされなければならない。代表的なキャッシュ割り当てモデルは、例えば、要求元のコアに物理的に最も近いコアがラインを与えることを決定するというように、或る集中管理する中央化された制御ヒューリスティクスに基づいてラインを与える。幾つかのインプリメンテーションにおいては、共有されるラインのある特定なコアのバージョンは、将来のリクエスト（要求）のために与えられる共有コピーとしてマークされ、これにより、このキャッシュ・ラインをアクセスする時間を減少する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
メモリのアクセス速度は歴史的にキーとなる設計目的であるが、今日のマルチプロセッサにおいては、電力消費は、考慮されるべきますます重要な設計の制約であり、特に、多数の異種のコア・システム内の各コアにおける電力消費が異なるとき、又は同種のコアが完全に対称的に利用されないときに、各コアにおける電力消費が異なるようになる。更に、キャッシュ階層の或るレベル（例えば、第１処理ユニットのＬ２キャッシュ）が、共有ラインを他のコアに又は他の処理ユニットのＬ２キャッシュに与えるまたは介入（ｉｎｔｅｒｖｅｎｅ）するためにアクセスされるとき、電力消費（従ってコアの温度）は増大する。明らかなように、このような電力消費は、制御装置またはキャッシュのサブ・アレイをパワー・アップするとき、キャッシュからラインを読みとるとき、そしてラインをバスを横切って要求元コアに転送するときに生じる。幾つかの場合には、１つ以上のコア及びこれらに関連するキャッシュ階層が著しい量の電力を消費し、そして全てのコアが著しい量の電力を消費するとき、全てのコアが“ホット”となり得る。
【０００４】
“ホット”コアの問題を解決するために、例えば“ホット”・コアの電力を低減すること、又は作業を“クール”コア（即ち、過大な電力を消費していないコア）へ移すことなどの試みがなされてきたが、このような解決策は、キャッシュ・ラインを要求元キャッシュへ一貫して与える機構をもたらさず、かえって“ホット”コアへの電力を減少することにより処理能力へ望ましくない制限を課すことになる。従って、キャッシュ・ラインを要求元コアへ効率的に且つ迅速に与えることにより、マルチプロセッサ・システムの電力消費の効果を制御するシステム及び方法が必要とされている。更に、個々のコアの電力消費状態を考慮して、キャッシュ・ライン・リクエストに対してシステム・コヒーレンシを与えるマルチコア・システム及び方法が必要とされている。当業者は、従来のキャッシュ附与に対する解決法の制限及び不利点を、図面を参照しながら本明細書の説明を読むことにより理解するであろう。
【課題を解決するための手段】
【０００５】
ディレクトリィ・ベースのコヒーレンシ・プロトコルを使用するマルチプロセッサ・システムのための省電力型のライン付与システム及び方法が提供され、ここで、各メモリ・ソースにおいて感知された温度または電力消費に基づいて複数のメモリ・ソースから与えられる。要求されたラインを共有する複数のメモリ・ソース（例えば、コア、キャッシュ・メモリ、メモリ・コントローラ等）のそれぞれに温度または電力消費センサを配置することにより、制御論理装置は、電力感知信号を使用して、許容される電力消費を示すメモリ・ソースだけに、ラインを要求元に与えることを示す信号を与えることにより、どのメモリ・ソースが要求元にラインを供給するかを決定することができる。選択された実施例において、特定なコアまたはメモリ・コントローラがラインを要求元コアに与えるに適任でないことを示す信号を制御ヒューリスティクスに与えるために、例えばダイオードのようなコアの温度を感知するセンサが、個々のメモリ・ソース内に一体的に位置決めされ、但し、高電力コアへの電力の低減を行わない。例えば、２つのコアのそれぞれが、それぞれのキャッシュ・メモリに要求されたラインを共有しているならば、要求元コアに物理的に近接しそして電力が最大の閾値に到達していないコアが、ラインのコピーを与える。さもなければ、ラインは他の共有コアまたはメモリ・コントローラのバッファにより与えられる。ディレクトリィ・ベースのコヒーレンシ・プロトコル・システムが、キャッシュ・コヒーレンシを維持するために使用されるとき、電力センサからの信号は、要求元コアが共有されたラインまたは排他的なラインを望んでいるか否かに係わらず使用される。ディレクトリィ・ベースのコヒーレンシ・プロトコルの選択された実装において、或るキャッシュ・ラインへ排他的にアクセスするリクエストは、中央の（集中管理される）ディレクトリィに送られてこのディレクトリィが高電力のコアにあるラインのコピーを無効にさせ、この結果、要求されたキャッシュ・ラインは、低電力消費のコアまたはメモリ・コントローラから与えられる。
【０００６】
種々な実施例に従うと、要求されるキャッシュ・ラインは、本明細書に記載する方法または装置あるいはこの両方を使用するソフトウエアの制御の元でマルチプロセッサ・データ処理システムにおいて与えられ、ここで、これらはコンピュータが実行可能な命令から成るコンピュータ・プログラム・コードを備えるデータ処理システムにおいて実装されることができる。どのような形で実装されたとしても、第１キャッシュ・ラインに対するリクエストは、マルチプロセッサ・データ処理システムの動作の間に発生される。これに応答して、この要求されたキャッシュ・ラインのコピーを記憶している１つ以上のメモリ・ソース（例えば、コア、キャッシュ・メモリ、メモリ・コントローラ等）が同定される。更に、例えば各メモリ・ソースの温度値または電力消費値を測定するためにメモリ・ソースに設けられたセンサを監視することにより、これら複数のメモリ・ソースのそれぞれの温度値または電力消費値が収集される。これら収集された温度値または電力消費値に基づいて、要求されたキャッシュ・ラインを与える第１メモリ・ソースが複数のメモリ・ソースの中から選択され、ここで、第１メモリ・ソースは、許容される温度値または電力消費値を有することに少なくとも基づいて選択される。例えば、第１メモリ・ソースは、他のメモリ・ソースに関連する第２温度値または電力消費値よりも低い第１温度値または電力消費値を有するメモリ・ソースを選択することにより選択されることができる。第１メモリ・ソースに関連する第１温度値または電力消費値を、他の１つ以上のメモリ・ソースに関連する１つ以上の温度値または電力消費値と比較することにより、クール状態にあるメモリ・ソースが選択される。他方、もしも複数のキャッシュ・メモリのいずれもが許容される温度値または電力消費値を有しないならば、許容される温度値または電力消費値を有するメモリ・コントローラが、要求されて第１キャッシュ・ラインを与えるために選択される。ディレクトリィ・ベースのプロトコルを実装するために第１メモリ・ソースは、複数のメモリ・ソースのそれぞれの温度値または電力消費値と共にライン・ステート情報を中央のディレクトリィに維持し、そして、要求された第１キャッシュ・ラインを与える第１メモリ・ソースを選択することにより選択され、ここで、第１メモリ・ソースは、許容される温度値または電力消費値を有することに少なくとも基づいて選択され、そして中央ディレクトリィからこの第１メモリ・ソースに、要求された第１キャッシュ・ラインを与えることを命令する選択メッセージを送る。
【発明を実施するための最良の形態】
【０００７】
各ソースにおいて感知された温度値または電力消費値信号に基づいて、或る要求されてキャッシュ・ラインをそれぞれが共有する複数のソースから、上記要求されたキャッシュ・ラインを要求元へコヒーレンシに（一貫性を保って）与え、この結果、許容される温度値または電力消費値を有するソースだけに、この要求されたキャッシュ・ラインを与えることを命令する信号が与えられる、ディレクトリィ・ベースのコヒーレンシ・プロトコル方法、システム及びプログラムを開示する。マルチ（複数）コア・チップの各コアにおける温度値または電力消費値を感知するために、温度センサとしてのダイオードがチップの各コアに設けられる。代表的な温度範囲である２０℃乃至１００℃に対するダイオードの出力電圧は、０．５Ｖ乃至１．０Ｖである場合、これの出力電圧が監視されそしてレジスタに記憶され、そして、複数のソース・コアの中から、予定の閾値よりも小さな温度値を有するソース・コアを選択するために制御ヒューリスティクスにより使用される。ここに開示する技術は、マルチプロセッサ・チップ上でキャッシュ・ラインを与えるディレクトリィ・ベースのコヒーレンシ・プロトコルに関連して使用されることができる。マルチプロセッサにおけるディレクトリィ・ベースのコヒーレンシ・プロトコルにおいては、或るコアからのリクエストは、通常メモリ・コントローラ近傍に配置され、ラインのコピー及びライン・ステートを有する全てのコアのリストを維持する中央のディレクトリィに送られる。中央のディレクトリィの論理装置は、各コアにおいて感知された温度値信号または電力消費値信号に基づいて、どのコアがラインを送り返すか（ｒｅｔｕｒｎ）を選択し、そしてこのコアにラインを要求元に与えることを指示する信号を与え、その結果、許容される温度値または電力消費値を有するコアだけが、要求されたラインを与えるように指示される。以下に詳細に説明するように、用語“コア”は、各プロセッサ・コアの論理回路、Ｌ１キャッシュ、Ｌ２キャッシュ、及びＬ３キャッシュを指す。
【０００８】
本発明の種々な例示的実施例を図面を参照して以下に説明する。フロー・チャート及びブロック・ダイアグラムは、或るマシンを与える汎用コンピュータ、専用コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサに与えられるコンピュータ・プログラム命令、ファームウエア、ハードウエア回路により全体的または部分的にインプリメントされることができ、その結果、命令（コンピュータまたは他のプログラム可能なデータ処理装置により実行される）は、フロー・チャート及びブロック・ダイアグラムで指定される機能を行うことは明らかである。以下に、図面を参照しながら、本発明の種々な例示的な実施例を説明する。
【０００９】
図１を参照すると、ここに示す回路図は、本発明の選択された実施例を具体化した対称的なマルチプロセッサ・コンピュータ・システムの例示的なアーキテクチャを示す。コンピュータ・システム１００は、１つ以上の処理グループ（プロセッシング・グループ）に配列された１つ以上の処理ユニットを有し、そして図示のように、処理グループ１０内に４つのプロセッサ即ち処理ユニット１１，２１，３１，及び４１を含む。処理ユニットはシステム・バスを介して、システム１００の他のコンポーネントと通信するシステム・バス５０は、１つ以上のサービス・プロセッサ６０Ａ及び６０Ｂ，システム・メモリ装置６１，メモリ制御装置６２、共有される即ちＬ３システム・キャッシュ６６または種々な周辺装置６９あるいはその両方に接続されている。プロセッサ・ブリッジ７０は、追加のプロセッサ・グループを相互接続するために使用される。図示してはいないが、コンピュータ・システム１００が、このコンピュータ・システムが最初にターン・オンされる（ブートされる）毎に、システムの基本的な入／出力ロジックを記憶し、そして周辺装置の１つからオペレーティング・システムを探し出して詰め込むファームウエアを含むことは当業者により理解されるであろう。
【００１０】
一端詰め込まれると、システム・メモリ装置６１（ランダム。アクセス・メモリ、即ちＲＡＭ）は、オペレーティング・システム６１Ａ及びアプリケーション・プログラム６１Ｂを含む、プロセッシングユニットにより使用されるプログラム命令及びオペランド・データを不揮発性状態で（一時的に）記憶する。更に、例えば周辺コンポーネント相互接続（ＰＣＩ）ホスト・ブリッジを使用するＰＣＩローカル・バスのような任意の所望のバス接続機構を使用して、任意の周辺装置６９が、システム・バス５０に接続されることができる。ＰＣＩブリッジは待ち時間の短いパスを与え、そしてこれを介して、処理ユニット１１，２１，３１及び４１は、バス・メモリまたはＩ／Ｏアドレス空間内の任意の場所にマップされているＰＣＩ装置をアクセスすることができる。又、周辺装置６９を相互接続するＰＣＩホスト・ブリッジは、ＰＣＩ装置にシステム・メモリ６１をアクセスさせる広帯域幅のパスを与える。このようなＰＣＩ装置は例えば、ネットワーク・アダプタ、永久記憶装置（即ち、ハードディスク）に対する相互接続を与える小型コンピュータ・システム・インターフェイス（ＳＣＳＩ）アダプタ、並びにキーボード、表示装置に接続されるグラッフィック・アダプタまたは表示装置と共に使用されるグラッフィック・ポインティング装置（例えば、マウス）あるいはこれらを含む入出力（Ｉ／Ｏ）装置へ接続される例えばインダストリィ・スタンダード・アキテクチャ（ＩＳＡ）のような拡張バス・ブリッジを含む。サービス・プロセッサ６０は、ダイレクト・メモリ・アクセス（ＤＭＡ）パスを含む修正されたＰＣＩスロット内に代わりとして入れられることができる。
【００１１】
対称的なマルチプロセッサ（ＳＭＰ）コンピュータにおいては、全ての処理ユニット１１，２１，３１及び４１は、一般的に同じである。即ち、これらの全ては、動作するために共通なセットまたはサブセットの命令及びプロトコルを使用し、そして一般的に同じアーキテクチャを有する。処理ユニット１１に関して示されているように、各処理ユニットは、コンピュータを動作させるためにプログラム命令を実行する１つ以上のプロセッサ・コア１６ａ及び１６ｂを含むことができる。プロセッシング・ユニットの例は、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ社により販売されているプロセッサ製品であり、これは、全て集積回路により形成された種々な実行ユニット、レジスタ、バッファ、メモリ及び他の機能ユニットを有する単一の集積回路スーパースカラー・マイクロプロセッサから成る。プロセッサ・コアは、縮小命令セットコンピュータ（ＲＩＳＣ）技法に従って動作し、そしてスーパースカラー・アーキテクチャのパフォーマンスを更に改善するように、パイプライン及び命令を順不同で実行することを使用することができる。
【００１２】
図示のように、各プロセッサ・コア１６ａ及び１６ｂは、高速メモリ装置で構成されるオン・ボード・キャッシュ・メモリ１８ａ及び１８ｂ（代表的には、分離された命令及びデータ・キャッシュ）を含む。一般的に、キャッシュは、システム・メモリ６１から値を詰め込む長いステップをなくすることによって処理速度を高くするためにプロセッサにより反復的にアクセスされる値を一時的に記憶するために使用される。処理ユニットは例えば第２レベル（Ｌ２）のキャッシュ１２のような他のキャッシュを含むことができ、これはキャッシュ・コントローラ１４と共に、それぞれコア１６ａ及び１６ｂの一部であるＬ１キャッシュ１８ａ及び１８ｂの両方をサポートする。システム・バス５０を介してアクセスされることができる例えばＬ３キャッシュ６６のような追加のキャッシュ・レベルが与えられることができる。最も高いＬ１から最も低いＬ１までの各キャッシュ・レベルに行くに従って、記憶容量が次第に増加し、但しアクセス時間が長くなる。例えば、プロセッサ・コア（例えば、１６ａ）のオン・ボードＬ１キャッシュ（例えば１８ａ）は１２８Ｋバイトの記憶容量を有し、Ｌ２キャッシュ１２は４Ｍバイトの記憶容量を有し、そしてＬ３キャッシュ６６は３２Ｍバイトの記憶容量を有する。欠陥が生じた処理ユニットのコンポーメントの修理／交換を容易にするために、各処理ユニット１１，２１，３１及び４１は、交換可能な回路ボード、プラグ式のモジュール、またはモジュール形式であってシステム１００から容易に取り外されて交換され、インストールされ、またはシステムから取り外されることができる他のフィールド交換型のユニット（ＦＲＵ）で構成されることができる。
【００１３】
この分野の当業者にとって明らかであるように、キャッシュ・メモリは、それぞれ種々な命令及びデータ値を記憶する複数個のメモリ・ブロックを有する。任意のキャッシュの複数ブロックは、セットまたは合同クラスと呼ばれるブロックのグループに分けられている。セットは、所定のメモリ・ブロックが存在するキャッシュ・ブロックの集合である。任意に与えられたメモリ・ブロックに対して、ブロックが予めセットされたマッピング機能に従ってマップされたユニークなセットがキャッシュ内にある。セット内のブロックの数をキャッシュのアソーシエーティブと呼ぶ。かくして、情報は、キャッシュ・ラインまたはブロックの形でキャッシュ・メモリ内に記憶され、ここで、例示的なキャッシュ・ライン（ブロック）は、アドレス・フィールド、ステート・ビット・フィールド、包含（ｉｎｃｌｕｓｉｖｉｔｙ）ビット・フィールド及び実際のプログラム命令またはオペランド・データを記憶するバリュー・フィールドを含む。ステート・ビット・フィールド及び包含ビット・フィールドは、キャッシュに記憶されている値の有効性を示すことによりマイクロプロセッサ・コンピュータ・システムにおけるキャッシュ・コヒーレンシ（一貫性）を維持するために使用される。アドレス・フィールドは、対応するメモリ・ブロックのフル・アドレスのサブセットである。入力アドレス・ビットとアドレス・フィールドの１つ（ステート・フィールド・ビットがこのラインが現在キャッシュ内で有効であることを示す）との比較が、キャッシュ“ヒット”を示す。キャッシュのアドレス・フィールドの全ての集合（或る場合には、ステート・ビット・フィールド及び包含ビット・フィールド）をディレクトリィと呼び、そしてバリュー・フィールドの全ての集合は、キャッシュ・エントリィ・アレイである。
【００１４】
図１に示されているように、コンピュータ・システム１００は、各コア（例えば、１６ａ，１６ｂ，４６ａ，４６ｂ）内のＬ１キャッシュ・メモリ（例えば、１８ａ、１８ｂ、４８ａ、４８ｂ）、各処理ユニット（例えば、１１，４１）内のＬ２キャッシュ・メモリ（例えば、１２，４２）、共有されるＬ３キャッシュ６６及びメモリ・コントローラ６２内のバッファ・メモリ６４を含む複数のメモリ・ソースを含む。或る共有キャッシュ・ラインを与える（ｓｏｕｒｃｅ）のに温度または電力消費を使用するために、各メモリ・ソースは、その温度及び電力ステータスを知らせるために使用される温度または電力消費センサを含む。かくして、電力／温度センサ（例えば１７ａ、４７ａ）が、各Ｌ１キャッシュ（例えば、１８ａ，４８ａ）にまたはこれらの内部に配置されている。更に、またはこれの代わりに、電力／温度センサ（例えば１３，４３）が、各Ｌ２キャッシュ（例えば、１２，４２）にまたはこれの内部に配置されており、電力／温度センサ（例えば、６７）が各Ｌ３キャッシュ６６内にまたはこれの内部に配置されており、そして、電力／温度センサ（例えば６３）が各メモリ・コントローラ６２にまたはこれらの内部に配置されている。例示的な実施例においては、各電力／温度センサは、メモリ・ソースの温度を感知するように配置されたダイオードとして形成されることができ、このダイオードの出力電圧は、２０℃乃至１００℃の代表的な温度範囲に対して、０．５Ｖ乃至１．０Ｖの間で変化する。或る与えられたメモリ・ソースの温度をモニタ（監視）するために、各メモリ・ソースは、ダイオードの出力電圧を記憶する記憶装置（例えば、レジスタ）を含むことができ、またはメモリ・ソースの温度または電力消費が温度または電力消費の閾値を横切ったか否かを中央の（集中化された）ディレクトリィ６５に知らせる（以下に説明する）。かくして、各コア（例えば、１６ａ、１６ｂ）は、これに関連する電力／温度センサ（例えば、１７ａ、１７ｂ）により与えられる電力または温度ステータス情報を監視する。更にまたはこれの代替として、各処理ユニット（例えば、１１，４１）は、Ｌ２キャッシュの電力／温度センサ（例えば、１３，４３）により与えられる電力または温度ステータス情報を監視し、Ｌ３キャッシュ６６は、Ｌ３キャッシュの電力／温度センサ６７により与えられる電力または温度ステータス情報を監視し、そして、メモリ・コントローラ６２は、このメモリ・コントローラの電力／温度センサ６３により与えられる電力または温度ステータス情報を監視する。
【００１５】
本発明の選択された実施例に従うと、電力消費または温度ステータス情報は、ディレクトリィ・ベースのコヒーレンシ・プロトコルをインプリメントするマルチプロセッサ・システムの或る共有されたキャッシュ。ラインを与えるまたは介入（ｉｎｔｅｒｖｅｎｅ）するために使用される。このために、コンピュータ・システム１００は、メモリ・コントローラ６２において集中化されたディレクトリィ６５を含み、このディレクトリィは、ラインのコピー及びライン・ステータスを有する全てのキャッシュ・メモリのリストを維持することによりキャッシュ・メモリ・アクセスを調整する。集中化されたディレクトリィ６５は、どのコアがラインを戻すかを選択し、そしてこのコアに、ラインを要求元に与えることを指示するディレクトリィ論理装置を含む。又、集中化されたディレクトリィ６５は、制御論理装置を含み、そしてこの装置は、各メモリ・ソースから得られた電力消費または温度ステータス情報を使用して、２つ以上のメモリ・ソースにより共有されている要求されたキャッシュ・ラインを与えるための“クール（冷却状態）”のメモリ・ソースを選択し、これにより、“オーバーヒートされた”メモリ・ソースを排除する。
【００１６】
電力消費または温度ステータス情報が、ディレクトリィ・ベースのコヒーレンシ・プロトコルをインプリメント（実装）するマルチプロセッサ・システムにおいて共有されるキャッシュ・ラインを与えるまたは介入するために使用される本発明の選択された実施例を更に示すために図２を参照する。図２は、キャッシュの一貫性（ｃｏｎｓｉｓｔｅｎｃｙ）のためにディレクトリィ・ベースのコヒーレンシ・プロトコルに省電力型のライン附与（ｐｏｗｅｒ  ａｗａｒｅ  ｌｉｎｅ  ｉｎｔｅｒｖｅｎｔｉｏｎ）を実装するマルチプロセッサ・システム２００の種々なコア相互間の例示的な信号の流れを示す。システム２００において、複数のコア２０１，２０２，２０３及び２０４は、メモリ・コントローラ２１１１に対して通信可能に結合されている。マルチプロセッサ内のディレクトリィ・ベースのコヒーレンシ・プロトコルにおいて、第１コア（例えば、２０１）からのキャッシュ・ラインに対する要求（リクエスト）は、メモリ・コントローラ２１１等に配置され集中化されたディレクトリィ２１０に送られる。集中化されたディレクトリィ構造２１０は、ラインのコピー及びライン・ステートを有する全てのコアのリストを維持している。更に、集中化されたディレクトリィ２１０は、各コアの電力消費及び温度ステータスを示す熱信号情報を、コア２０１，２０２，２０３及び２０４のそれぞれから集める。或るキャッシュ・ラインを要求するリクエストに応答して、集中化されたディレクトリィの論理装置は、“クール”コアまたはメモリ・コントローラをソースとして選択することによりこの要求されたキャッシュ・ラインに対するソースを選択するために、ディレクトリィ２１０からの熱信号情報及びライン・ステート情報を使用してどのコアがラインを戻すかを選択する。選択されたソースは要求されたラインを送るようにディレクトリィ２１０により命令され、そしてディレクトリィ及び関連するコア内の各ライン・ステート情報が更新される。
【００１７】
図２に示す例示的な信号の流れにおいては、第１のコア２０１が集中化されたディレクトリィ２１０に初期要求（リクエスト）２２１を送ることにより或るキャッシュ・ラインを要求する。この要求に開始することにおいて、この第１のコア２０１は、要求元コアとして扱われる。この初期要求２２１を受け取った時点で、集中化されたディレクトリィ２１０は、コア２０１，２０２，２０３及び２０４の各キャッシュ・メモリに対するライン・ディレクトリィ・ステート情報と、各コアの熱信号情報とを予め維持している。例えば、もしも第２のコア２０２が要求されたキャッシュ・ラインの無効または変更されたコピーを含んでいるならば、集中化されたディレクトリィ２１０は、この特定なコア及びこれのキャッシュ・ライン・ステータスを同定するステータス情報（例えば、“ｉ”または“ｍ”、ここで“ｉ”は“無効”を示し、そして“ｍ”は変更されたことを示す）を記憶する。同様に、もしも第３のコア２０３が、要求されたキャッシュ・ラインの共有コピーを含んでいるならば、集中化ディレクトリィ２１０は、この特定なコア及びこれのキャッシュ・ライン・ステータスを同定するステータス情報（例えば、コア  ２０３：ｓ、ここで“ｓ”は共有を示す）を記憶する。同様に、もしも第４のコア２０４が、要求されたキャッシュ・ラインの排他的または専用（ｅｘｃｌｕｓｉｖｅ）コピーを含むならば、集中化ディレクトリィ２１０は、この特定なコア及びこれのキャッシュ・ライン・ステータスを同定するステータス情報（例えば、コア  ２０４：ｅ、ここで“ｅ”は専用を示す）を記憶する。勿論、２つ以上のコア（例えばコア２０３及び２０４）が要求されたキャッシュ・ラインの共有コピーを含むことができ、この場合、集中化ディレクトリィ２１０は、共有即ち“ｓ”キャッシュ・ライン・ステータスを同定するステータス情報を記憶する。
【００１８】
上述のように、各コアは、例えば熱信号２２２乃至２２５を集中化ディレクトリィ２１０に送ることにより、これに関連するメモリ・ソースの熱信号情報（Ｔ）を集中化ディレクトリィ２１０に与える。更に、メモリ・コントローラ２１１は、これ自身の熱信号情報をディレクトリィ２１０に与える。例示的な実施例においては、マルチプロセッサの各コア２１０−２０４及びメモリ・コントローラ２１１は、これらが電力消費閾値を超えたか否かを連続的にまたは規則的にディレクトリィ２１０に知らせる。このことは、電力／熱ダイオード・センサからの出力電圧を予定の閾値と比較し２つのステート（即ち、Ｈ（高温度）及びＬ（低温度））のうちの１つのステートを検出するというような所望の監視及び報告方式を使用して行われる。この場合、熱信号情報を記憶するのに単一ビットが集中化ディレクトリィ２１０において使用され得るが、もしも追加の熱または電力消費レベル（例えば、非常にホット、ホット、暖かい及びクール）が要求されるならば、追加のビットを使用することができる。
【００１９】
キャッシュ・ライン要求（リクエスト）を例えばコア２０１から受け取ると、集中化ディレクトリィ２１０は制御論理装置を使用して、どのメモリ・ソース２０２，２０３，２０４及び２１１がこの要求されたラインを要求元コア２０１に与えるまたは介入することができるかを選択する。例えば、熱信号ビットが、集中化ディレクトリィ２１０の制御論理／等価（ｅｑｕａｔｉｏｎ）装置に送られ、この装置は、どの共有コアがこのラインを要求元マスター・コアに与えるかを決定する。もしも２つのコア（例えば、２０３，２０４）が、このラインを共有しておりそして一方が“クール”で他方が“ホット”であるならば、“クール”状態にあるコア（例えば、２０３）が、このラインのソース即ち送り元となる。１つのメモリ・ソースが選択されると、集中化ディレクトリィ２１０は、要求されたキャッシュ・ラインを要求元コアへ送るための命令を発生し、これと共にこの供給元コア及び要求元コアに対する新たなライン・ステート情報を、選択されたメモリ・ソースへ送る。要求されたキャッシュ・ラインが２つのコア（例えば、２０３及び２０４）により共有されている場合には、集中化ディレクトリィ２１０は、要求されたキャッシュ・ラインに対する新たなライン・ステート情報を含むデータ転送命令２２６を“クール”コア２０３に送る。これに応答して、供給元即ちソース・コア２０３は、要求されたキャッシュ・ライン（例えば、データ・メッセージ２２７）をディレクトリィ２１０に送り、そしてこれが要求されたキャッシュ・ライン・データ２２８を、この要求されたキャッシュ・ラインに対する新たなライン・ステート情報と共に要求元コア２１０に転送する。２２９及び２３０により示すように、他のコアも又命令及び転送データを受け取る。もしも或る共有ラインを与えることができる２つ以上の“クール”コアがあるならば、このキャッシュ・ラインのソース即ち供給元を選択するのに任意のタイ・ブレーク・ルールが使用され得る。もしも、全ての共有コアが“ホット”でありそしてデータがメモリ・コントローラ２１１のバッファ内にあるならば、メモリ・コントローラ２１１はこのラインを与える。
【００２０】
ディレクトリィ２１０からの応答命令２２６に応答して、供給元コアは、この要求されたキャッシュ・ラインに対するソースとして選択されたことにより生じたどのようなステータス変化をも反映するように、この要求されたキャッシュに対するこれのライン・ディレクトリィ・ステート（状態）を更新する。同様にして、要求元コアにおけるライン・ディレクトリィ・ステートも又、ディレクトリィのデータ転送メッセージ２２８に応答して更新される。例えば、もしも或るキャッシュ・ラインに対する読み取りリクエストが、現在このキャッシュ・ラインの無効なコピーを記憶しているメモリ・ソースにより受け取られると、このメモリ・ソースは、ソース即ち供給元として選択されず、そしてライン・ディレクトリィ・ステートは“無効”に留まる。これの代わりに、この要求されたキャッシュ・ラインがメモリ・コントローラから得られるならば、この場合、要求元コアに対するライン・ディレクトリィ・ステートは“排他的（ｅｘｃｌｕｓｉｖｅ）”として更新される。しかし、もしも或るキャッシュ・ラインに対する読み取りリクエストが、現在このキャッシュ・ラインの変更されたコピーを記憶しており、そしてこのメモリ・ソースが熱情報に基づいてキャッシュ・ラインを供給できるものとして選択されているならば、この供給元コアにおけるキャッシュ・ラインに対するライン・ディレクトリィ・ステートが“無効”として更新され、そして要求元コアに対するライン・ディレクトリィ・ステートが“変更”として更新される。そして、もしも或るキャッシュ・ラインに対する読み取りリクエストが、現在このキャッシュ・ラインの共有または排他的（専用）コピーを記憶しているメモリ・ソースにより受け取られ、そしてこのメモリ・ソースが熱情報に基づいてこのキャッシュ・ラインを与えるものとして選択されているならば、供給元コアにおけるこのキャッシュ・ラインに対するライン・ディレクトリィ・ステートは“共有”（または、これの代わりに“無効”）として更新され、そして要求元コアのライン・ディレクトリィ・ステートが、（もしも“共有”供給元コアから得られるならば）“共有”として更新され、または（もしも“排他的”供給元コアから得られるならば）“排他的（ｅｘｃｌｕｓｉｖｅ）”として更新される。
【００２１】
要求元コアに共有、排他的または変更の形でまだ記憶されていない或るキャッシュ・ラインを書き込むリクエストに対しては、データ転送メッセージに応答して、この供給元コアのこのキャッシュ・ラインに対するライン・ディレクトリィ・ステートが“無効”として更新され、一方、これが“変更”である供給元コアから得られない限り（この場合、この要求元コアのこのキャッシュ・ラインに対するライン・ディレクトリィ・ステートは“変更”として更新される）、この要求元コアのキャッシュ・ラインに対するライン・ディレクトリィ・ステートは、データ転送メッセージに応答して“排他的”として更新される。もしも書き込まれるべきラインが既に要求元コアにおいて“共有”されているならば、Ｄｃｌａｉｍがディレクトリィに出され、これは、他の共有ソースにおけるラインを無効にし、そしてこのラインは、要求元コア及びディレクトリィにおいて“変更”として更新される。もしもラインが要求元コアに“排他的”として存在するならば、これは、要求元コアにおいて“変更”に格上げされ、そしてディレクトリィがこれを知らされる。もしもラインが要求元コアにおいて“変更”とされているならば、Ｄｃｌａｉｍまたは格上げリクエストが出される必要がない。
【００２２】
上述のシグナリング方式の内容は、種々なコマンド構造及び制御ロジック等式と共に実装され、そしてキャッシュの一貫性を監視するディレクトリィ・ベースのコヒーレンシ・プロトコルにおける省電力型のライン付与という利点を与える。１つの例示的な実装として、図３は、本発明の選択されたディレクトリィ・ベースのコヒーレンス・プロトコルに、省電力型のライン付与を実装するマルチプロセッサ・システムにおいて要求元コアからの読み取りまたは書き込みリクエストに応答するディレクトリィのコアの要求元コア及び供給元コアに対する応答の例示的なテーブル・リスト３００を示す。表の第１欄において、キャッシュ・ラインのリクエストの型（例えば、読み込みまたは書き込み）が指定される。第２欄において、各メモリ・ソースにある要求されたキャッシュ・ラインの現在のステートが、無効（ｉ）、共有されている（ｓ）、変更されている（ｍ）または排他的（専用）（ｅ）として指定される。更に、第２欄は、各メモリ・ソースにおいて検出された現在の熱または電力消費ステータスを低温（Ｌ）または高温（Ｈ）として指定する。但し、他の温度条件も指定されることができる。第３欄において、第２欄に含まれている値に基づいて発生されるディレクトリィの応答が、要求されたデータを与えそして適切なライン・ディレクトリィ・ステート情報を更新するための命令として示されている。最後に、第５欄は、要求されたキャッシュ・ラインが与えられた後の供給元コア（Ｎ）に対する新たなライン・ディレクトリィ・ステート（ｉ，ｓ，ｍ，ｅ）を指定し、一方、第５欄は、要求されたキャッシュ・ラインが与えられた後の要求元コア（Ｒ）に対する新たなライン・ディレクトリィ・ステート（ｉ，ｓ，ｍ，ｅ）を指定する。
【００２３】
本発明の選択された実施例を更に示すために、図４は、メモリ資源に関連する電力または熱の状態に基づいて、マルチプロセッサ・システムの複数のメモリ・ソースから要求元コアへ或るキャッシュ・ラインを与えるために使用されるディレクトリィ・ベースのコヒーレンシ・プロトコル・ステップ４００の論理的なフロー・チャートである。ステップ４０１において、例えば、要求元コアまたはプロセッサがメモリからデータを要求するプログラムを実行しているときにプロセスが開始する。ステップ４０２において、メモリ・アクセスが要求されると、要求元コアまたはプロセッサが、メモリ・コントローラに配置されることができる中央ディレクトリィへ読み取りまたは書き込みリクエストを出す。これに応答して、中央ディレクトリィは、ステップ４０３において、熱信号情報（これは以前に他のコアから収集されている）及び各コアのライン・ステート情報を組み合わせて、そして“クール”コアの中から選択するのにこの熱信号情報を使用することにより、どの応答コアがこの要求されたキャッシュ・ラインを与えるかを選択する。例えば、ディレクトリィの応答は、例えば表のリスト３００の第３欄に記載されているようなディレクトリィ応答メッセージの形をとることができる。このディレクトリィの応答が受け取られると、選択された供給元コアは、要求されたキャッシュ・ラインを要求元コアに送り、そして各コアのディレクトリィ・ライン・ステートは、要求元コア、供給元コア及び中央ディレクトリィにおいて更新され（ステップ４０４）、そして他のメモリ・アクセスが要求されるまでプロセスは終了する（ステップ４０５）。
【００２４】
上述のように、低電力消費または“クール”メモリ・ソースから或る要求されたキャッシュ・ラインを供給するためのプログラム命令またはコードは、各コアで実行され、ここでメモリ・ソースは、例えばメモリ・コントローラのような中央の場所に配置される。例えば、マルチプロセッサ・システムの各キャッシュ・メモリ（例えばＬ１，Ｌ２，Ｌ３）及びメモリ・コントローラは、これ自身の熱または電力消費ステータスを監視するために、そしてこのステータス情報を適切な制御論理装置に送って要求されたデータを有する低電力消費のソースを選択させるために、メモリ・コンとローラ自身のプログラミング命令またはコードを有することができる。制御論理装置は、単一の場所（例えば中央のメモリ・コントローラ）に配置されることができ、またはこの制御論理装置が分散するようにマルチプロセッサ・システム内に亘って分散されることができる。
【００２５】
マルチプロセッサ・データ処理システムのための本明細書で開示した省電力型ライン付与技法は、各キャッシュ・メモリの温度または電力消費ステータスあるいはその両方に基づいて、キャッシュ・ラインを与えるためのディレクトリィ・ベースのコヒーレンシ・プロトコルを使用する。集中管理されるディレクトリィ・ベースのコヒーレンシ手法を使用することにより、省電力型ライン付与は、追加のプロセッサに対しても容易に適用され、そして狭いバンド幅を使用して、しかもスヌープ・コヒーレンシ・プロトコルで要求される追加のバス・ビットを必要とすることなく実装されることができる。
【００２６】
当業者により理解されるように、本発明は、方法、システムまたはコンピュータ・プログラム製品として実施されることができる。全体的にハードウエアである実施例、全体的にソフトウエアである実施例（フォームウエア、常駐ソフトウエア、マイクロコード等を含む）または本明細書で“回路”、“モジュール”若しくは“システム”として一般的に呼ぶソフトウエア及びハードウエア態様を組み合わせた実施例の形をとることができる。更に、本発明は、コンピュータが使用可能なプログラム・コードが媒体内に埋め込まれている、コンピュータ読み取り可能な記録媒体に記憶されたコンピュータ・プログラムの形で実施されることができる。例えば、複数のメモリ・ソースにより共有されている或る要求されたキャッシュ・ラインを与えるまたは介入する低電力消費または低温度メモリ・ソースを選択する機能は、各メモリ・ソースに記憶されているソフトウエアの形で実装されることができ、または単一の場所において記憶されることができる。
【００２７】
上記の説明は、本発明を説明するための目的で行われたものであり、本発明を例示した実施例に限定するものではない。上述の説明に基づいて多くの変更及び修正が可能である。
【図面の簡単な説明】
【００２８】
【図１】本発明の良好な実施例が実装される対称的なマルチ・プロセッサ・コンピュータ・アーキテクチャを示す図である。
【図２】キャッシュの一貫性を監視するためのディレクトリィ・ベースのコヒーレンシ・プロトコルにおいて省電力型のライン付与を行うマルチプロセッサ・システムにおける種々なコア相互間の信号の流れを単純化して示す図である。
【図３】本発明の実施例の選択されたディレクトリィ・ベースのコヒーレンシ・プロトコルの実施例において省電力型のライン付与を行うために、マルチプロセッサ・システムの要求元コアからの読み取りリクエストまたは書き込みリクエストに応答して要求元コア及び供給元コアに対するディレクトリィの応答を示す例示的な表のリストを示す図である。
【図４】メモリ資源に関連する電力消費または熱状態に基づいて、マルチプロセッサ・システムの複数のメモリ・ソースから要求元コアに或るキャッシュ・ラインを与えるために使用されるディレクトリィ・ベースのコヒーレンシ・プロトコル・ステップの論理的なフローチャートを示す図である。
【符号の説明】
【００２９】
１０  処理グループ
１１，２１，３１，４１  プロセッサ
１２  Ｌ２キャッシュ
１３  電力／温度センサ
１４  キャッシュ・コントローラ
１６ａ  コア１
１７ａ  電力／温度センサ
１８ａ  Ｌ１キャッシュ
１６ｂ  コア２
１７ｂ  電力／温度センサ
１８ｂ  Ｌ１キャッシュ
４２  Ｌ２キャッシュ
４３  電力／温度センサ
４４  キャッシュ・コントローラ
４６ａ  コア１
４７ａ  電力／温度センサ
４８ａ  Ｌ１キャッシュ
４６ｂ  コア２
４７ｂ  電力／温度センサ
４８ｂ  Ｌ１キャッシュ
５０  システム・バス
６０Ａ、６０Ｂ  サービス・プロセッサ
６１  システム・メモリ
６１Ａ  ＯＳ
６１Ｂ  アプリケーション
６２  メモリ・コントローラ
６３  電力／温度センサ
６４  バッファ
６５  ディレクトリィ
６６  Ｌ３キャッシュ
６７  電力／温度センサ
６９  周辺装置
７０  ブリッジ
【図１】
0005315017.tif 000002
【図２】
0005315017.tif 000003
【図３】
0005315017.tif 000004
【図４】
0005315017.tif 000005