(57)【要約】【課題】本発明の課題は、ＣＵにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化を効果的に実現するプロセッサ、方法及びシステムを提供することである。【解決手段】本発明は、アーキテクチャイベントがコア内で発生したか検出するバスと、前記アーキテクチャイベントの発生に応答して、電力シーケンスを実行させる電力ユニットとを有するプロセッサを提供する。【選択図】図３
2011233158.tif 000002
【特許請求の範囲】
【請求項１】
各アーキテクチャイベントがプログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能である複数のアーキテクチャイベントの１つがプロセッサコア内で発生したか検出する論理回路と、
前記プロセッサコアの熱データを提供する前記プロセッサコアの複数の熱センサと、
各カウンタが前記アーキテクチャイベントの１つの発生回数をカウントする前記プロセッサコアの複数のカウンタと、
前記プロセッサコアにおいて前記複数のカウンタを接続し、前記プロセッサコアにおいて前記複数の熱センサを接続するバスと、
前記アーキテクチャイベントの１つの発生に応答して、電力シーケンスを実行させる電力ユニットと、
を有するプロセッサであって、
前記電力ユニットは、前記複数のカウンタの少なくとも一部の値に基づき前記プロセッサコアの電力状態を変更するか判断するプロセッサ。
【請求項２】
前記アーキテクチャイベントは、１以上のカウンタに対応し、
各カウンタは、ある期間中に発生したイベントの回数を示す、請求項１記載のプロセッサ。
【請求項３】
前記電力ユニットは、前記プロセッサコアの熱及び電力イベントを管理する電力制御ユニットである、請求項１記載のプロセッサ。
【請求項４】
前記バスは、各種ブランチを有し、
各ブランチは、１つのプロセッサコアを該プロセッサコアのすべてのアーキテクチャイベントによりモニタする、請求項１記載のプロセッサ。
【請求項５】
前記バスは、前記アーキテクチャイベントから収集されるすべてのデータを前記電力ユニットに送信する、請求項４記載のプロセッサ。
【請求項６】
共有ＬＬＣ（Ｌａｓｔ  Ｌｅｖｅｌ  Ｃａｃｈｅ）をさらに有する、請求項１記載のプロセッサ。
【請求項７】
前記電力ユニットに結合される機能ユニットをさらに有し、
前記機能ユニットに対応するカウンタは、ある期間中に発生したイベントの回数を示す、請求項１記載のプロセッサ。
【請求項８】
バス、電力ユニット、複数のプロセッサコア又はＬＬＣは、同一の集積回路ダイにある、請求項１記載のプロセッサ。
【請求項９】
プロセッサコアにおいて、プログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能であるアーキテクチャイベントの発生を示す信号を生成するステップと、
電力ユニットにおいて、前記アーキテクチャイベントの発生に基づき、電力シーケンスを実行させるステップと、
を有する方法であって、
前記電力ユニットは、各カウンタがアーキテクチャイベントに対応する複数のカウンタの値に基づき前記プロセッサコアの電力状態を変更するか判断し、
前記複数のカウンタは、サイクル毎にリタイアされる命令の個数を示すカウンタと、前記プロセッサコアにおけるある期間中のブランチ予測ミスの個数を示すカウンタと、前記プロセッサコアにおけるある期間中のＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）ミスの個数を示すカウンタと、前記プロセッサコアにおけるある期間中のキャッシュミスの個数を示すカウンタとを含む方法。
【請求項１０】
前記電力シーケンスを実行させるステップは、リザーブ電力が利用可能である場合、前記プロセッサコアを電力アップする、請求項９記載の方法。
【請求項１１】
前記電力シーケンスを実行させるステップは、リザーブ電力が利用不可である場合、アイドル状態を維持する、請求項９記載の方法。
【請求項１２】
前記電力シーケンスを実行させるステップは、前記プロセッサコアを電力ダウンする、請求項９記載の方法。
【請求項１３】
前記信号を生成するステップは、すべてのプロセッサコアについて行われる、請求項９記載の方法。
【請求項１４】
モニタ対象となる１以上のイベントに対応するアーキテクチャイベントデータを格納するメモリと、
アーキテクチャイベントがプロセッサコア内に発生したか検出する論理回路と、
前記プロセッサコアの熱データを提供する前記プロセッサコアの複数の熱センサと、
各カウンタが前記アーキテクチャイベントの１つの発生回数をカウントする前記プロセッサコアの複数のカウンタと、
前記プロセッサコアにおいて前記複数のカウンタを接続し、前記プロセッサコアにおいて前記複数の熱センサを接続するバスと、
前記アーキテクチャイベントの１つの発生に応答して、電力シーケンスを実行させる電力ユニットと、
を有するシステムであって、
前記アーキテクチャイベントは、プログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能であり、
前記電力ユニットは、前記複数のカウンタの少なくとも一部の値に基づき前記プロセッサコアの電力状態を変更するか判断するシステム。
【請求項１５】
前記アーキテクチャイベントは、１以上のカウンタに対応し、
各カウンタは、ある期間中に発生したイベントの回数を示す、請求項１４記載のシステム。
【請求項１６】
前記電力ユニットは、前記プロセッサコアの熱及び電力イベントを管理する電力制御ユニットである、請求項１４記載のシステム。
【請求項１７】
前記バスは、各種ブランチを有し、
各ブランチは、１つのプロセッサコアを該プロセッサコアのすべてのアーキテクチャイベントによりモニタする、請求項１４記載のシステム。
【請求項１８】
前記バスは、前記アーキテクチャイベントから収集されるすべてのデータを前記電力ユニットに送信する、請求項１７記載のシステム。
【請求項１９】
共有ＬＬＣ（Ｌａｓｔ  Ｌｅｖｅｌ  Ｃａｃｈｅ）をさらに有する、請求項１４記載のシステム。
【請求項２０】
前記電力ユニットに結合される機能ユニットをさらに有する、請求項１４記載のシステム。
【請求項２１】
バス、電力ユニット、複数のプロセッサコア又はＬＬＣは、同一の集積回路ダイにある、請求項１４記載のシステム。
【請求項２２】
前記メモリに結合されるオーディオ装置をさらに有する、請求項１４記載のシステム。
【請求項２３】
前記プロセッサコア内におけるある期間中のＩｎｓｔｒｕｃｔｉｏｎ  Ｒｅｔｉｒｅｄ、Ｂｒａｎｃｈ  Ｍｉｓｐｒｅｄｉｃｔｉｏｎ及びＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）ミスの１以上の発生回数を示す、前記アーキテクチャイベントに対応するカウンタをさらに有する、請求項１記載のプロセッサ。
【請求項２４】
前記電力ユニットは、前記複数のカウンタのそれぞれが対応するカウント閾値以下である場合、前記プロセッサコアの周波数を増加させる、請求項１記載のプロセッサ。
【請求項２５】
前記電力ユニットは、キャッシュミスに対応する前記複数のカウンタの１つが対応するカウント閾値を超える場合、前記プロセッサコアの周波数を減少させる、請求項１記載のプロセッサ。
【請求項２６】
前記電力ユニットは、前記複数のカウンタと前記複数の熱センサとの間でコヒーレントに前記プロセッサコアの電力制御判定を実行する、請求項１記載のプロセッサ。
【請求項２７】
前記バスは、複数のブランチを有し、
各ブランチは、指定されたタイムスロットにおいて前記複数のカウンタのそれぞれをモニタする、請求項１４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＵ（Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）にプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化する技術に関する。
【背景技術】
【０００２】
近年、プロセッサの電力消費が主要な問題となってきている。マルチコアアーキテクチャに対するプロセッサ設計の現在の傾向は、電力消費に対する圧力を軽減するものである。しかしながら、依然として電力消費は、設計されるコアの個数にリニアに増大する。
【０００３】
最近の技術の進歩は、電力消費をさらに最適化するための新たな機会を提供してきた。しかしながら、これらの技術は依然としていくつかのマイナス面を有している。具体的には、新たな技術においては、ＯＳは、そのワークロードがハードウェア及び当該ハードウェアにおける関連する電力コストにおいてどの程度効率的に実行されているか理解していない。第２に、ＯＳインタラクションは応答が極めて遅い。第３に、現在のＯＳは、コア毎のパフォーマンス電力状態を制御していない。最後に、ターボモードは熱センサフィードバックしか取得せず、コアのより高いパフォーマンス要求を考慮している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、上記問題を解消することであり、ＰＣＵにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化を効果的に実現するプロセッサ、方法及びシステムを提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、アーキテクチャイベントがコア内で発生したか検出するバスと、前記アーキテクチャイベントの発生に応答して、電力シーケンスを実行させる電力ユニットとを有するプロセッサが提供される。
【０００６】
さらに、アーキテクチャイベントの発生を示す信号を生成するステップと、前記アーキテクチャイベントの発生に基づき、電力シーケンスを実行させるステップとを有する方法が提供される。
【０００７】
また、モニタ対象となる１以上のイベントに対応するアーキテクチャイベントデータを格納するメモリと、アーキテクチャイベントがコア内に発生したか検出するバスと、前記アーキテクチャイベントの発生に応答して、電力シーケンスを実行させる電力ユニットとを有するシステムが提供される。
【発明の効果】
【０００８】
本発明によると、ＣＵにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化を効果的に実現するプロセッサ、方法及びシステムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施例によるＰＣＵとの熱センサ及びアーキテクチャイベント接続の図を示す。
【図２】図２は、本発明の一実施例によるアーキテクチャイベント電力コントローラのための方法のフローチャートを示す。
【図３】図３は、本発明の一実施例によるコンピュータシステムのブロック図である。
【図４】図４は、本発明の一実施例によるポイント・ツー・ポイントコンフィギュレーションにより構成される計算システムのブロック図である。
【発明を実施するための形態】
【００１０】
以下の説明では、限定することなく説明のため、特定の構成、アーキテクチャ、インタフェース、技術などの具体的な詳細が、本発明の各種特徴の完全な理解を提供するために提供される。しかしながら、本発明の各種特徴がこれら具体的詳細から逸脱した他の具体例により実現可能であるということは、本開示を利用した当業者に明らかとなるであろう。特定の例では、不必要な詳細により本発明の記載を不明りょうにしないように、周知の装置、回路及び方法の説明は省略される。
【００１１】
ここに記載される実施例の一部は、イベントハンドリング処理を実行するのに利用されるかもしれない。ある実施例では、“イベント”は、あるアクションがロジックによってなされることを要求する又は要求しない状態を表す。さらに、なされるアクションに基づき、イベントは各種タイプに分類されるかもしれない。
【００１２】
一実施例では、“アーキテクチャイベント”は、モニタリングされるイベント又は状態を表す（例えば、アーキテクチャイベントに対応する情報をある状態にプログラムすることによって）。ある実施例では、ソフトウェアは、ソフトウェア及び／又はハードウェアにより観察不可なアーキテクチャイベントをモニタするためのチャネルを構成するかもしれない。ある実施例では、アーキテクチャイベントは、一般にプロセッサと同じ集積回路チップ上の処理リソース又は他のロジックの内部で発生するイベント又は状態を表すかもしれない。
【００１３】
ある実施例では、アーキテクチャイベントは、電力管理の決定を行うための１つのファクタである。アーキテクチャイベントは、ソフトウェアパフォーマンスの最適化について広く使用される。電力管理の決定を行うためにアーキテクチャイベントを考慮することによって、実施例は、ＯＳとターボモードの何れも現在検出できていないコア実行状態を効果的に検出するかもしれない。
【００１４】
一実施例は、既存のデザインを使用して適切な電力を決定するため、追加的な値を電力制御ユニット（ＰＣＵ）に提供する。ＰＣＵは、熱イベントを処理し、コア毎の周波数の増減をスケジューリング又は管理する。当該実施例では、ＰＣＵにロジックが追加される。このとき、ＰＣＵは、あるコアをスケールアップする決定を行うのに利用するため、カウンタからフィードバックを取得する。
【００１５】
プロセッサ内部のアーキテクチャイベントは、通常はプロセッサの各エリアに実現される物理的なカウンタ系列によって検出される。これらのカウンタは、ＥＭＯＮカウンタと呼ばれるかもしれない。ＥＭＯＮカウンタは、ある期間中に発生した特定のイベントの個数をカウントする各機能ユニット内にあるパフォーマンスモニタリングカウンタである。
【００１６】
ＥＭＯＮカウンタには、パブリックＥＭＯＮカウンタとプライベートＥＭＯＮカウンタがある。パブリックＥＭＯＮカウンタは、ベンダとユーザによりアクセス可能なものであり、プライベートＥＭＯＮカウンタは、デバッグ処理のため内部的に利用される。パブリック及びプライベートＥＭＯＮカウンタは共に、ソフトウェア及びハードウェアチューニングのため使用されるかもしれない。ＥＭＯＮカウンタは、アプリケーション動作と、現在のアプリケーションがプロセッサ内部でどの程度効果的に実行されているか理解するための大変有用なツールである。
【００１７】
ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｔｉｒｅｄは、ＥＭＯＮカウンタの１つのタイプである。サイクル毎のｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｔｉｒｅｄを知ることによって、システムは、プロセッサ内において現在のアプリケーションがどの程度速く実行しているか知ることとなる。サイクル毎のｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｔｉｒｅｄが多くなるに従って、アプリケーションはより良好なパフォーマンスを獲得する。
【００１８】
他のタイプのＥＭＯＮカウンタは、ＭＬＣ／ＬＬＣキャッシュミスである。プログラムが多くのＭＬＣ／ＬＬＣキャッシュミスを受けているということは、通常はより高度なＢＷとシステムとの相互接続を要求することを意味する。それはまた、大部分の時間がデータリターンの待機のため問題が失速されるため、プログラムが命令を効果的に実行していないことを意味する。
【００１９】
ｂｒａｎｃｈ  ｍｉｓｐｒｅｄｉｃｔｉｏｎもまた、ＥＭＯＮカウンタの１つのタイプである。これは、コアが命令ストリームの間違ったブランチにおいて作業しているため、“有用な”作業の多くを実行していないことを示すための良好な指標となる。
【００２０】
ＴＬＢミスはまた、ＥＭＯＮカウンタの１つのタイプである。ＭＬＣ／ＬＬＣミスと同様に、ＴＬＢミスは通常は、データがリターンされるまでコアを失速させることを意味する。
【００２１】
プロセッサ内には、より多数のカウンタが定義されている。例えば、インテルのＰ４プロセッサは、２００以上のカウンタを有している。これらのカウンタの一部はパフォーマンス調整のためであり、他のものはデバッグ／検証用のものである。上述した４つのカウンタであるｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｔｉｒｅｄ、ＭＬＣ／ＬＬＣキャッシュミス、ｂｒａｎｃｈ  ｍｉｓｐｒｅｄｉｃｔｉｏｎ及びＴＬＢミスは、ここに記載される電力管理にとって重要なものである。
【００２２】
しかしながら、本開示は上記カウンタに限定されるものでないことに留意すべきである。本開示は、必要に応じた数のアーキテクチャイベントをとりうる。本システムは、高帯域幅又は高リフレッシュレートを必要としないため、同一バス上にすべてのカウンタを直列的に接続可能なプッシュバス機構を利用する。
【００２３】
図１は、本発明の一実施例によるＰＣＵと熱センサ及びアーキテクチャイベント接続１００の図を示す。８つのコア１０５と４つの共有されたラストレベルキャッシュ（ＬＬＣ）１０７を有するプロセッサを示す。これら８つのコアと４つの共有ＬＬＣとは単なる例示のため示されていることに留意すべきである。本実施例について、何れの個数のコア又はＬＬＣも利用可能である。機能ユニット１１０は、コア１０５の間で共有されている。ＰＣＵ１１５は、コア１０５により共有されるユニットの１つである。
【００２４】
コア１０５内の実線により接続された正方形は、熱センサ１２０を表している。コア１０５は、コア１０５の過熱を防ぐため、熱センサ１２０を有している。シリアルプッシュバス１２５は、すべてのセンサ１２０を接続している。プッシュバス１２５は、様々なブランチを有するかもしれない。プッシュバス１２５の第１ブランチ１２７は、９６個までのタイムスロットを占有可能であり、各タイムスロットは熱センサ１２０の１つについて確保されている。各コア１０５には、プッシュバス１２５の少なくとも１つのブランチ１２７が存在する。プッシュバス１０５の各ブランチ１２７は、すべての熱センサ１２０により１つのコア１０５をモニタリングするかもしれない。その後、プッシュバス１２５により熱センサ１２０から収集されたすべてのデータが、ＰＣＵ１１５に送信される。
【００２５】
各カウンタを同一のシリアルプッシュバス機構とリンクさせ、各カウンタが指定されたタイムスロットを有することによって、アーキテクチャイベントをモニタするため、同様のアプローチがなされる。破線により接続された正方形は、ＥＭＯＮカウンタ１３０である。この破線１３５は、シリアルプッシュバスのもう１つのブランチである。プッシュバス１２５の第２ブランチ１３５は、９６個までのタイムスロットを占有可能であり、各タイムスロットは、ＥＭＯＮカウンタの１つについて確保される。各コア１２５には、プッシュバス１２５の少なくとも１つのブランチ１３５が存在する。プッシュバス１２５の各ブランチ１３５は、すべてのＥＭＯＮカウンタ１３０により１つのコア１０５をモニタするかもしれない。その後、プッシュバス１２５によりＥＭＯＮカウンタ１３０から収集されるすべてのデータが、ＰＣＵ１１５に送信される。
【００２６】
ＰＣＵ１１５は、プッシュバス１２５から情報を抽出するため、極めて低いサンプリングレートしか有さず、これがすべてのセンサがナローバスを共有する１つの理由となっている。シリアルプッシュバス１２５は、１０ビット長以下であるかもしれず、低サンプリングレートにより実行する。このため、これらのイベントをモニタするため、高帯域要求はない。１０００サイクル毎にカウンタをサンプリングすれば十分であるかもしれない。ＰＣＵ１１５の決定がアーキテクチャイベント１３０と熱センサ１２０との間で整合したものとなるように、サンプリング周波数が熱センサにより調整されるべきである。
【００２７】
図２は、本発明の一実施例によるアーキテクチャイベント電力コントローラのための方法２００のフローチャートを示す。方法２００は、システムがアイドルモード２０５にあるとき開始される。各タイマーインターバルに到達すると、アーキテクチャイベント電力最適化ロジック（ＡＥＰＯＬ）がカウントを調べ、電力アップ又は電力ダウンシーケンスが開始されるべきか判断する（２１０）。
【００２８】
電力アップシーケンスに対して、ＡＥＰＯＬは、ＰＣＵ１１５に問い合わせ、ターボモードが利用可能であるか判断する（２１５）。ターボモードが利用不可である場合、すなわち、リザーブ電力が利用不可である場合、ＡＥＰＯＬは、次のタイマーインターバルが到来するまでアイドルモード２０５に戻る。ターボモードが利用可能である場合、ＡＥＰＯＬは電力アップシーケンス２２０を開始する。電力アップシーケンスが終了すると、ＡＥＰＯＬは、次のタイマーインターバルまでアイドルモード２０５に移行する。
【００２９】
電力ダウンシーケンスに対して、ＡＥＰＯＬは電力ダウンシーケンス２２５を開始するようＰＣＵ１１５に通知する。電力ダウンシーケンスが完了すると、ＡＥＰＯＬは、次のタイマーインターバルまでアイドルモード２０５に移行する。
【００３０】
図において参照されるＡＥＰＯＬは、コア毎に実現される。当該ロジックは、各コアがそれの最適な電力／パフォーマンス状態により実行されていることを保証するため、常時アーキテクチャイベントをモニタするかもしれない。
【００３１】
一実施例では、対象となるアーキテクチャイベントカウントがカウントされ、ＰＣＵ１１５に送信される。その後、ＰＣＵ１１５は、各カウンタから受け取ったカウントを解析し、特定のコア１０５を電力アップ又は電力ダウンすべきか判断する。一実施例では、システムインターコネクト（共有キャッシュ、バス制御ロジック、オンダイメモリコントロールなど）がまた電力スケーリングをサポートとする場合、同じ機構がシステムインターコネクトロジックをスケーリングするのに利用可能である。
【００３２】
ある実施例では、モニタされるすべてのＥＭＯＮカウンタ１３０が、ＡＥＰＯＬの動作をより良く理解するため、一緒に参照されるべきである。例えば、低いＩＰＣ（Ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｔｉｒｅｄ  Ｐｅｒ  Ｃｙｃｌｅ）カウントは、コアが高いキャッシュミス又は高いブランチ予測ミスを受けていることを知らない場合に、コアが効果的に実行していないことを意味するものでない。
【００３３】
テーブル１に示されるように、対象となるアーキテクチャイベントは決定を行うためグループ化される。各アーキテクチャイベントカウンタの閾値カウントがまた定義される。この閾値は、パフォーマンスがシステムのアーキテクチャに応じて異なるため、特定のアーキテクチャに対するパフォーマンス調査に基づき定義される。テーブル１では、すべての関連するアーキテクチャカウンタが低い場合、このことは、システムがシステムバウンドアクションを受けていないことを示唆する。従って、コアにおける周波数をスケーリングアップすることは、アプリケーションのパフォーマンスを向上させるのに役立つ。他方、コアがやや高いＭＬＣ／ＬＬＣミスを受けている場合、パフォーマンスがアクセス遅延によりオフチップコンポーネントにバウンドされるため、コア周波数を増大する効果はない。この状況では、システムは、コア周波数をスケーリングダウンし、有用な作業を実行している可能性がある他のコアに節約した電力を振り向けるべきである。
【００３４】
従って、ＡＥＰＯＬは、パフォーマンスが向上し観察可能となるターボをオンする時点についてインテリジェント決定することを可能にし、命令を失速させているコアのパフォーマンス電力状態を微調整することにより電力消費を低下させる。
【００３５】
【表１】
2011233158.tif 000003
コアの電力使用のより精密なゲイン制御を実行可能にするシナリオ又は他の有用なアーキテクチャイベントカウンタはより多くすることが可能であり、ＡＥＰＯＬロジックは、これらすべての状況に適用可能である。
【００３６】
ＡＥＰＯＬの最適化によって、システムは、プロセッサへの利用可能な電力を利用するよりスマートな方法が与えられる。電力認識アーキテクチャが基板上に存在する必要がある将来のプロセッサ設計では、ＡＥＰＯＬは、不要なときにはエネルギーを保存する方法を提供するだけでなく、同じ電力バジェット内でさらにパフォーマンスを最適化する機会を提供する。この機構は、より精密なハードウェア調整のための新たな機会全体を開く。
【００３７】
図３は、本発明の実施例による計算システム３００のブロック図を示す。計算システム３００は、インターコネクトネットワーク（又はバス）４９を介し通信する１以上の中央処理ユニット（ＣＰＵ）３１又はプロセッサを有する。プロセッサ３１は、（コンピュータネットワーク４８を介し通信されるデータを処理する）汎用コンピュータやネットワークプロセッサなどの何れかのタイプのプロセッサ、又はＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサ若しくはＣＩＳＣ（Ｃｏｍｐｌｅｘ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサを含む他のタイプのプロセッサであってもよい。さらに、プロセッサ３１は、シングル又はマルチコア設計を有してもよい。マルチコア設計によるプロセッサ３１は、同一の集積回路（ＩＣ）ダイ上に各種タイプのプロセッサコアを統合するかもしれない。また、プロセッサ３１は、図１及び２を参照して説明される実施例を利用してもよい。例えば、プロセッサ３１の１以上が１以上のプロセッサコア３２を有してもよい。また、図１及び２を参照して説明される処理は、システム３００の１以上のコンポーネントによって実行されてもよい。
【００３８】
チップセット３３はまた、インターコネクトネットワーク４９と通信するかもしれない。チップセット３３は、メモリコントロールハブ（ＭＣＨ）３４を有する。ＭＣＨ３４は、メモリ４１と通信するメモリコントローラ３６を有する。メモリ４１は、ＣＰＵ３１又は計算システム３００に含まれる他の何れかの装置により実行される命令シーケンス及びデータを格納する。本発明の一実施例では、メモリ４１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）などの１以上の揮発性記憶（又はメモリ）装置を有する。ハードディスクなどの不揮発性メモリもまた利用可能である。複数のＣＰＵ及び／又は複数のシステムメモリなどのさらなる装置が、インターコネクトネットワーク４９を介し通信可能である。
【００３９】
ＭＣＨ３４はまた、グラフィックアクセラレータ４２と通信するグラフィックインタフェース３７を有する。本発明の一実施例では、グラフィックインタフェース３７は、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介しグラフィックアクセラレータ４２と通信可能である。本発明の実施例では、ビデオメモリやシステムメモリなどの記憶装置に格納されている画像のデジタル表現をディスプレイにより解釈及び表示される表示信号に変換する信号コンバータなどを介し、ディスプレイ（フラットパネルディスプレイなど）はグラフィックインタフェース３７と通信可能である。表示装置により生成される表示信号は、ディスプレイにより解釈され、その後に表示される前に、各種制御装置を通過するようにしてもよい。
【００４０】
ハブインタフェース５１は、ＭＣＨ３４が入出力コントロールハブ（ＩＣＨ）３８と通信することを可能にする。ＩＣＨ３８は、計算システム３００の各コンポーネントと通信するＩ／Ｏ装置とのインタフェースを提供する。ＩＣＨ３８は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）ブリッジ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラなどの周辺ブリッジ（又はコントローラ）３９を介しバス４７と通信可能である。ブリッジ３９は、ＣＰＵ３１と周辺装置との間のデータパスを提供する。他のタイプのトポロジーもまた利用可能である。また、複数のバスが、複数のブリッジ又はコントローラなどを介しＩＣＨ３８と通信可能である。さらに本発明の各種実施例では、ＩＣＨ３８と通信する他の周辺装置として、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）若しくはＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ハードドライブ、ＵＳＢポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー（登録商標）ディスクドライブ、デジタル出力サポート（ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ）など）があげられる。
【００４１】
バス４７は、オーディオ装置４３、１以上のディスクドライブ４４及びネットワークインタフェース装置４６（コンピュータネットワーク４８と通信する）と通信可能である。他の装置がまた、バス４７と通信可能である。また、本発明の一部の実施例では、各種コンポーネント（ネットワークインタフェース装置４６など）がＭＣＨ３４と通信可能である。さらに、プロセッサ３１とＭＣＨ３４は、単一のチップを形成するよう合成されてもよい。さらに、本発明の他の実施例では、グラフィックアクセラレータ４２がＭＣＨ３４に含まれてもよい。
【００４２】
さらに、計算システム３００は、揮発性及び／又は不揮発性メモリ（又はストレージ）を有してもよい。例えば、不揮発性メモリは、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）、ディスクドライブ（４４など）、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−ＲＯＭ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリ、光磁気ディスク、電子命令及び／又はデータを格納可能な他のタイプの不揮発性機械可読媒体を含むものであってもよい。
【００４３】
図４は、本発明の実施例によるポイント・ツー・ポイント（ＰｔＰ）コンフィギュレーションにより構成される計算システム４００を示す。特に、図４は、プロセッサ、メモリ及び入出力装置がいくつかのＰｔＰインタフェースにより相互接続されるシステムを示す。図１〜３を参照して説明される処理は、システム４００の１以上のコンポーネントによって実行可能である。
【００４４】
図４に示されるように、システム４００は、簡単化のため２つのプロセッサ５、１０しか示されていないが、複数のプロセッサを有するものであってもよい。各プロセッサ５、１０は、メモリ１５、２０との通信を可能にするため、ローカルメモリコントローラハブ（ＭＣＨ）１５、２０を有するようにしてもよい。メモリ１５及び／又は２０は、メモリ５１２を参照して説明されるように、各種データを格納してもよい。
【００４５】
プロセッサ５、１０は、図３のプロセッサ３１を参照して説明されるように、何れかのタイプのプロセッサであってもよい。プロセッサ５、１０はそれぞれ、ＰｔＰインタフェース回路４０と４５を利用してＰｔＰインタフェース９３を介しデータを交換するようにしてもよい。各プロセッサ５、１０は、ＰｔＰインタフェース回路６５、７０、７５、８０を使用して、各ＰｔＰインタフェース５５、６０を介しチップセット５０によりデータをやりとりするようにしてもよい。チップセット５０はまた、ＰｔＰインタフェース回路９０を使用して、ハイパフォーマンスグラフィックインタフェース９７を介しハイパフォーマンスグラフィック回路３７とデータをやりとりするようにしてもよい。
【００４６】
本発明の少なくとも１つの実施例は、プロセッサ５、１０の内部に提供されてもよい。例えば、１以上のプロセッサコア３２がプロセッサ５、１０の内部に配設されてもよい。しかしながら、本発明の他の実施例は、図６のシステムによる他の回路、ロジックユニット又は装置に存在するようにしてもよい。さらに、本発明の他の実施例は、図４に示される複数の回路、ロジックユニット又は装置に分散されてもよい。
【００４７】
チップセット５０は、ＰｔＰインタフェース回路９５を使用して、バス１６と通信可能である。バス１６は、バスブリッジ１８及びＩ／Ｏ装置１４など、それと通信する１以上の装置を有する。バス２０を介し、バスブリッジ１４は、キーボード／マウス２２、通信装置（コンピュータネットワーク４８と通信可能なモデム、ネットワークインタフェース装置など）、オーディオＩ／Ｏ装置、及び／又はデータ記憶装置２８などの他の装置と通信可能である。データ記憶装置２８は、プロセッサ５及び／又は１０により実行可能なコード３０を格納してもよい。
【００４８】
本発明の各種実施例では、図１〜４を参照して説明される処理は、ここに記載される方法を実行するようコンピュータをプログラムするのに使用される命令を格納した機械可読又はコンピュータ可読媒体などを含むコンピュータプログラムプロダクトとして提供可能なハードウェア（回路など）、ソフトウェア、ファームウェア、マイクロコード又は上記の組み合わせにより実現可能である。また、“ロジック”という用語は、例えば、ソフトウェア、ハードウェア又はソフトウェアとハードウェアの組み合わせを含むものであってもよい。機械可読媒体は、図１〜４に関して説明されるような記憶装置を含むかもしれない。
【００４９】
さらに、このようなコンピュータ可読媒体はコンピュータプログラムプロダクトとしてダウンロードされてもよく、そこでは、通信リンク（バス、モデム、ネットワーク接続など）を介し搬送波又は他の伝搬媒体により実現されるデータ信号を介し、リモートコンピュータ（サーバなど）から要求元コンピュータ（クライアントなど）にプログラムが転送される。従って、搬送波は、機械可読媒体を有するものとしてみなされる。
【００５０】
明細書において、“一実施例”又は“ある実施例”という表現は、当該実施例に関して説明される特定の機能、構成又は特徴が少なくとも１つの実現形態に含まれることを意味する。明細書の各箇所における“一実施例では”という表現は、すべてが同一の実施例を参照しているかもしれないし、そうでないかもしれない。
【００５１】
また、明細書及び請求項において、その派生語と共に“結合される”又は“接続される”という表現が使用されるかもしれない。本発明の一部の実施例では、“接続される”という表現は、２以上の要素が互いに直接物理的又は電気的に接触していることを示すのに使用されるかもしれない。“結合される”という用語は、２以上の要素が互いに直接的に接触していないかもしれないが、依然として互いに協働又は相互作用することを意味する。
【００５２】
このため、構造的特徴及び／又は方法ステップに固有の記載により実施例は説明されたが、請求された事項が記載された特定の構成又はステップに限定されるものでないということが理解されるべきである。むしろ、特定の構成及びステップは請求される事項を実現するサンプル的な形態として開示されている。
【符号の説明】
【００５３】
１０５  コア
１０７  ＬＬＣ
１１５  ＰＣＵ
１２０  熱センサ
１２５  バス
１３０  ＥＭＯＮカウンタ
３００  計算システム
【図１】
2011233158.tif 000004
【図２】
2011233158.tif 000005
【図３】
2011233158.tif 000006
【図４】
2011233158.tif 000007