(58)【調査した分野】(Int.Cl.,DB名)
複数のコアであって、前記複数のコアの少なくとも1つは、命令を復号化するためのデコーダと、前記復号化された命令を実行する少なくとも1つの実行ユニットと、少なくとも1つのコアに含まれるキャッシュメモリとを有し、前記複数のコアの少なくとも1つはアウトオブオーダパイプラインを有する、複数のコアと、
共有キャッシュメモリと、
統合メモリコントローラと、
前記複数のコアの第1のコアへの電圧/周波数の提供を、前記複数のコアの少なくとも第2のコアへの電圧/周波数の提供と独立して制御する電力制御ロジックと、
を有するプロセッサであって、
前記第1のコア及び前記第2のコアは、非対称的なワークロードを実行し、
前記電力制御ロジックは、前記プロセッサのワークロード及び温度に少なくとも部分的に基づき前記第1のコアの電圧/周波数を更新するか判断し、前記判断に応答して、前記第1のコアに提供される前記電圧/周波数を更新し、
前記電力制御ロジックは、電圧レギュレータに前記更新された電圧を前記第1のコアに提供させるための制御信号を前記電圧レギュレータに送信するプロセッサ。
前記電力制御ロジックは、オペレーティングシステム(OS)から、OS処理中における前記複数のコアの1つ以上のコアの電圧/周波数の動的な更新に対するパフォーマンス状態変更リクエストを受信する、請求項1記載のプロセッサ。
前記電力制御ロジックは、前記複数のコアの少なくとも第2のコアへの電圧/周波数の提供と独立して、前記第1のコアへの電圧/周波数の提供を制御する、請求項1記載のプロセッサ。
前記アンコア回路は、第1のワークロードについて第1の電圧及び第1の周波数で動作し、第2のワークロードについて第2の電圧及び第2の周波数で動作する、請求項12記載のプロセッサ。
前記プロセッサは更に、前記外部の電圧レギュレータに結合され、前記複数のコアの少なくとも1つに独立した電圧を提供する複数の統合電圧レギュレータを含む、請求項16記載のプロセッサ。
前記電力制御ロジックは、前記プロセッサの熱設計電力(TDP)バジェットが維持されるように、第2のコアセットから独立して増加した電圧/周波数で実行するよう第1のコアセットを調整する、請求項1記載のプロセッサ。
前記少なくとも1つの実行ユニットは、SIMD(Single Instruction Multiple Data)ロジックユニットを含む、請求項1記載のプロセッサ。
前記複数のコアの少なくとも1つは、RISC(Reduced Instruction Set Computing)プロセッサを含む、請求項1記載のプロセッサ。
【発明を実施するための形態】
【0005】
各種実施例において、マルチコアアーキテクチャを有するプロセッサは、ACPI規格などによる電力パフォーマンス(P)状態のコア単位の制御を提供する。このようにして、より良好な電力消費及びパフォーマンスに対する制御が実現可能である。例えば、マルチコアプロセッサでは、少数のコアのみが熱制約環境においてより高いコア周波数により動作することが可能とされ、電力消費及び温度を低減しながら、所望のワークロードの実行を可能にする。
【0006】
従って、各種実施例では、プロセッサ内の複数のコアの各コアは、異なる電圧及び/又は周波数により動作するよう制御される。このようにして、非対称なワークロードが、決定的なパフォーマンスを提供するため複数のコア上で実行される。本発明の範囲はこれに限定されるものでないが、いくつかの実施例では、独立した電圧/周波数制御が、プロセッサ内の各コアが自らの電圧レギュレータを有するフル統合電圧レギュレータ(EIVR)を用いて実現されてもよい。すなわち、複数のコアを有する単一の半導体ダイはさらに、それぞれが所与のコアに関連付けされた複数の独立した電圧レギュレータを有してもよい。さらに、1以上の付加的な電圧レギュレータが、アンコアロジック又は非コアロジック(uncore logic)、メモリコントローラロジック、電力制御ユニットなどのプロセッサ内の他のコンポーネントにより利用するため提供されてもよい。もちろん、いくつかの実施例では、単一の電圧レギュレータが、プロセッサの1以上のコア及び/又は他のコンポーネントに関連付けされてもよい。一実施例では、専用の電圧レギュレータが、プロセッサのアンコア回路のために提供されてもよく、これは、アンコアが異なる電圧及び周波数により動作することを可能にする。計算中心のワークロードについて、アンコアは低電圧及び周波数により動作可能であり、ソケットレベルでより高いコア周波数に対する電力セービングを適用することになる。メモリ及びIO集中ワークロードについて、アンコアはより高い電圧及び周波数で動作可能である一方、コアはより低い電圧/周波数により動作可能であり、アンコアにおけるより高い電力を補償する。
【0007】
いくつかの実施例では、ACPIテーブルは、コア単位P状態制御を可能にするためこれら個々の統合された電圧レギュレータに関する情報を含むよう拡張されてもよい。例えば、4ビットフィールドがP状態情報をわたし、それを各レギュレータの電圧ロジックを制御するのに利用されてもよい。従って、本発明の実施例を利用して、各コアは、非対称なワークロードのために異なる周波数及び/又は電圧により動作するよう制御されてもよい。一例として、複数のコアの1つ又はいくつかが、より高い周波数及び/又は電圧により動作するよう制御可能である一方、残りのコアが、所与の熱設計電力(TDP)エンベロープ内に留まるようにより低い電圧/周波数の組み合わせにより動作するよう制御される。このようにして、決定的で最適なパフォーマンス能力選択が、所与のワークロードについて実現可能である。
【0008】
例えば、第1の方法によりデータを処理するため、より高いパフォーマンスレベルを求めるコアは、より高い電圧/周波数により動作可能であり(このようなコアは、データ複製サービス、データ解析、パリティ計算などのデータ処理利用などのタスクを実行するものであってもよい)、管理タスクなどを実行するコアは、TDP制約完了のため最適な合成を提供するより低い電圧/周波数により動作可能である。熱又はTDPバジェットが与えられると、(いわゆる、ターボモードにより)可能であるときはより高い周波数によりすべてのコアを日和見的(opportunistically)に動作させるのでなく、実施例は、個別コアベースにより決定的な動作を提供する。
【0009】
図1を参照して、本発明の実施例によるシステムの一部のブロック図が示される。
図1に示されるように、システム100は、図示されるように、マルチコアプロセッサであるプロセッサ110を含む各種コンポーネントを有してもよい。プロセッサ110は、メイン調整電圧をプロセッサ110に提供するため第1電圧変換を実行可能な外部の電圧レギュレータ160を介し電源150に接続される。
【0010】
図示されるように、プロセッサ110は、複数のコア120a〜120nを含む単一のダイプロセッサであってもよい。さらに、各コアは、個々の電圧レギュレータ125a〜125nに関連付けされてもよい。従って、フル統合電圧レギュレータ(FIVR)の実現形態が、各コアの電圧、電力及びパフォーマンスの詳細な制御を可能にするため提供されてもよい。
【0011】
図1をさらに参照して、入出力インタフェース132、他のインタフェース134及び統合メモリコントローラ136を含む追加的なコンポーネントが、プロセッサ内に存在してもよい。図示されるように、これらのコンポーネントのそれぞれは、他の統合電圧レギュレータ125xにより電力供給されてもよい。一実施例では、インタフェース132は、物理レイヤ、リンクレイヤ及びプロトコルレイヤを含む複数のレイヤを含むキャッシュコヒーラントプロトコルにおいてポイント・ツー・ポイント(PtP)リンクを提供するインテル(登録商標)のQuick Path Interconnect(QPI)プロトコルに従うものであってもよい。さらに、インタフェース134は、PCI Express
TM Specification Base Specification version 2.0(2007年1月17日に公開)などのPeripheral Component Interconnect Express(PCIe
TM)規格に従うものであってもよい。説明の簡単化のため図示されないが、アンコアロジック、電力制御ユニット、キャッシュメモリ階層の1以上のレベルなどの内部メモリなどの他のコンポーネント追加的なコンポーネントが、プロセッサ110内にあってもよい。さらに、統合電圧レギュレータを備えた
図1の実現形態が示されるが、実施例はこれに限定されるものでない。
【0012】
図2を参照して、本発明の一実施例による方法のフロー図が示される。方法200は、一実施例では、プロセッサの統合電力制御ユニット(PCU)などのコントローラにより実行されてもよい。しかしながら、本発明の範囲はこれに限定されず、方法200は、管理エンジンなどのシステム内の他のコントローラにより実行されてもよいことが理解されたい。
【0013】
図2を参照して、方法200は、PCUにおいてパフォーマンス状態変更要求を受信することによって開始される(ブロック210)。例えば、多数の実現形態において、当該要求はOA又はシステムソフトウェアから受信されてもよい。例えば、当該要求は、1以上のコアに対するP状態を変更するための要求に対応する。すなわち、このような実現形態では、OSは、本発明の実施例による提供されるコア単位P状態制御を認識している。他の実施例では、OS又はシステムソフトウェアが当該機能を認識していないときでさえ、パフォーマンス状態変更要求が、ここに開示されるように受信及び処理される。
【0014】
ダイヤモンド220において、パフォーマンスの増加が要求されているか判断される。すなわち、当該要求は、より高いパフォーマンスレベルの特定であってもよい(例えば、P1状態からP0状態に入るための要求など、現在のP状態より低いものに対応するなど)。また、当該判断は現在状態からP状態を変更することが可能であることを確認するものであってもよいことに留意されたい。パフォーマンスの増加が要求されている場合、制御はブロック230に移行する。ブロック230において、少なくとも他のコアから独立して電圧を増加するための1以上のコアの選択に関する判断が行われる。この判断の具体例として、PCUは、ダイ全体の電流、電力、温度及びマイクロアーキテクチャアクティビティ(ロード/ストアバッファ、スレッドスケジューラなど)などの各種ファクタに依存するTDPマージンに基づき、電圧及び関連する周波数を増加するよう決定してもよい。例えば、マルチコアプロセッサの一部がより冷たくなるよう(及びより低い電圧/周波数により動作するよう)決定された場合、当該部分内のコアが、増加した電圧及び周波数のために選択されてもよい。
【0015】
増加した電圧のため選択された1以上のコアが決定されると、制御はブロック240に移行し、選択されたコアについて新たな電圧及び周波数が計算される。このような計算は、プロセッサのためのTDP規格、Iccヘッドルームなどに少なくとも部分的に基づくものであってもよい。
【0016】
さらに
図2を参照して、制御は次にブロック250に移行し、新たな電圧のための制御信号が1以上のコアに関連する電圧レギュレータに送信される。例えば、当該制御信号は、電圧レギュレータに異なる電圧レベルへの変更を開始させるためのデジタル制御信号又はアナログ制御信号であってもよい。従って、コアに関連するFIVRは、更新された電圧をコアに出力するため調整されてもよい。従って、制御はブロック260に移行し、当該コアは選択された電圧により動作する。多数の実施例では、電圧レギュレータはプロセッサ内に統合されてもよいため、当該調整は、オフチップレギュレータと比較して低減された遅延により行われるようにしてもよい。
【0017】
他方、ダイヤモンド220において、パフォーマンスの低下が要求されたと判断された場合、制御はブロック270に移行する。ブロック270において、少なくとも他のコアから独立して、電圧を低下させるための1以上のコアの選択が判断される(ブロック270)。このような決定は、上述されたようなファクタに基づくものであってもよく、異なるP状態への移動が許容されるという判断を含むものであってもよい。
【0018】
電圧低下のため選択された1以上のコアが決定されると、制御はブロック275に移行し、選択されたコアについて新たな電圧及び周波数が計算される。制御は次にブロック280に移行し、新たな電圧のための制御信号が、コアに関連するFIVRに低下した電圧をコアに出力させるため、コアに関連する電圧レギュレータに送信される。従って、制御はブロック290に移行し、コアが選択された電圧で動作する。
図2の実施例における当該特定の実現形態より示されたが、本発明の範囲はこれに限定されるものでないことが理解されたい。例えば、上記説明は、PCUとコアとがマルチコアプロセッサなどの同一の半導体ダイの一部であることを仮定している。他の実施例では、コアは、独立したダイ上にあって、同一のマルチチップパッケージを有してもよい。さらなる実施例では、コアは、別々のパッケージにあるが、連動する電圧レギュレータなどを用いて電圧/周波数が共通に制御されてもよい。
【0019】
1つの他の実施例は、プロセッサが統合されたレギュレータを有しない実現形態である。このようなプロセッサでは、実施例は依然としてコア単位P状態制御を提供するよう収容可能である。このため、ブロック250又は280において、異なる電圧のための制御信号が、例えば、コアに直接提供可能であり、コアは受信した電圧に基づき電圧調整を提供することができる。さらなる実施例では、ブロック250及び280において、電圧変更のための制御信号が外部の電圧レギュレータにオフチップに提供可能である。この制御信号は、各ピンが外部の電圧レギュレータに複数の電圧の1つを提供させるため異なる電圧レベルと関連付けされる1以上のピンにより送信されてもよい。具体的には、このような実現形態では、外部の電圧レギュレータは、プロセッサに接続可能であり、さらに電力制御ユニットにより決定されるように対応するコアに選択された電圧が提供されるのを可能にするため、電圧制御ユニットから制御信号をさらに受信可能なプロセッサの電圧送信ロジックに接続可能な複数の電圧信号を出力するようにしてもよい。
【0020】
さらなる他の実施例では、例えば、いくつかのコアが1つのOSに専用とされ、異なる個数のコアが異なるOSに専用とされるマルチOSシステムでは、1つのOSドメインの各コアは固定的な(おそらく異なる)V/Fに静的に設定可能であり、他のOSドメインのコアは実行中に動的にV/Fを変更可能である。例えば、1つのOSドメインは、システムの管理処理などの決定的な処理に専用とされ、固定的なV/F制御に利用可能である。他方、各種ユーザレベルアプリケーションが実行されるOSドメインは、非決定的なワークロードを有し、本発明の実施例により動的な独立したV/F制御に利用されてもよい。
【0021】
いくつかの実施例では、コアV/Fの動的制御のため、PCUは、OSから独立してマイクロアーキテクチャアクティビティをモニタし、1以上のコアのV/Fが要求されるロード要求に依存して電力を増減するため動的に変更可能であるか判断することができる。
【0022】
図3を参照して、本発明の一実施例による方法のフロー図が示される。
図3に示されるように、方法300は、プロセッサの電力制御ユニットにより実行されてもよい。方法300は、OSが本発明の実施例により提供されるコア単位P状態機能を意識しない場合、適切なものであってもよい。さらなる実施例では、方法300は、コアP状態の動的制御を改善するため、OSがP状態機能を意識する状況において上述された方法200に関連して実行されてもよい。
【0023】
図3に示されるように、方法300は、1以上のコアのマイクロアーキテクチャアクティビティをモニタすることによって開始される(ブロック310)。本発明の範囲はこれに限定されるものでないが、このようなアクティビティは、タイムウィンドウにおいて実行される命令数、タイムウィンドウ毎のリタイアメントなどを決定することを含むものであってもよい。
【0024】
マイクロアーキテクチャアクティビティから取得された情報に応答して、電力制御ユニットにより解析が実行される。より詳細には、ブロック320において、電力制御ユニットは、プロセッサのロード要求と共にアクティビティを解析する。例えば、ロード要求は、コアにスケジューリングされるスレッドの個数と当該スレッドがスケジューリングされたプロセスのタイプとに関する情報に基づくものであってもよい。
【0025】
その後、制御はダイヤモンド330に移行し、電力制御ユニットは、1以上のコアの電圧/周波数の少なくとも1つの動的な調整が適切であるか判断してもよい。例えば、アクティビティ及びロード要求が、電力とパフォーマンスとの間の適切なトレードオフが行われていることを示す場合、電力制御ユニットは、何れかの電圧/周波数の組み合わせを動的に調整しないことを選択してもよい。このため、方法300は終了する。
【0026】
他方、所与のコアについて少なくとも1つの電圧/周波数ペアを調整することが決定される場合、制御はブロック340に移行する。そこでは、新たな電圧及び周波数ペアが選択されたコアについて選択されてもよい。
【0027】
図3をさらに参照して、制御は次にブロック350に移行し、新たな電圧のための制御信号が、新たな電圧により更新のため、1以上のコアに関連する電圧レギュレータに送信可能である。このように、コアに関連するFIVRは、更新された電圧をコアに出力するため調整されてもよい。従って、制御はブロック360に移行し、コアは選択された電圧により動作する。
図3の実施例では当該特定の実現形態により示されたが、本発明の範囲はこれに限定されるものでないことが理解されたい。
【0028】
例えば、他の実施例では、1以上のコアのV/Fが動的に変更可能であるだけでなく、アンコアの周波数及び電圧もまた要求されるコアのV/F要求をサポートするよう変更可能である。アンコア周波数は、OSにビジブル(visible)でないが、ダイ全体の電力セービングに寄与しうる。アンコア電力セービングは、コアパフォーマンスを増大させるコア電力に適用可能である。同様に、コアの電力セービングは、より高いアンコア周波数を要求するワークロードを収容するため、増加したアンコアの電圧/周波数に適用可能である。いくつかの実現形態では、この動的なアンコアの変更は、
図3の方法300を用いて実行可能である。
【0029】
図4を参照して、本発明の実施例によるプロセッサのブロック図が示される。
図4に示されるように、プロセッサ400は、複数のコア410a〜410bを含むマルチコアプロセッサであってもよい。一実施例では、このような各コアは、上述されるように、選択された電圧及び/又は周波数により動作するよう独立に制御されてもよい。このため、各コアは、対応する電圧レギュレータ412a〜412nに関連付けされてもよい。各種コアは、各種コンポーネントを含むアンコア420にインターコネクト415を介し接続されてもよい。図示されるように、アンコア420は、ラストレベルキャッシュであってもよい共有キャッシュ430を有してもよい。さらに、アンコアは、統合メモリコントローラ440、各種インタフェース450及び電力制御ユニット455を有してもよい。
【0030】
各種実施例では、電力制御ユニット455は、OS電力管理コードにより通信してもよい。例えば、OSから受信した要求とコアにより処理されるワークロードに関する情報とに基づき、電力制御ユニット455は、
図2に関して上述されたものなど、各コアを実行するための電圧及び周波数の適切な組み合わせを決定してもよい。例えば、電力制御ユニット455は、各コアが実行中の電圧及び周波数を各エントリが関連付けるエントリを有するテーブルを含むものであってもよい。さらに、ユニット455は、TDP又は他の熱バジェットに関する情報を有するストレージを有してもよい。これらすべての情報に基づき、電力制御ユニット455は、TDPバジェット内に留まりながら、さらに日和見的なターボモード処理を必要とすることなく、決定的な処理を可能にし、非対称なワークロードをコアに提供するため、1以上のコアに対する周波数及び/又は電圧を動的にかつ独立に制御可能である。従って、このような計算に応答して、電力制御ユニット455は、電圧レギュレータに対応するコアに提供される電圧を制御させるための複数の制御信号を生成する。
【0031】
さらに、電力制御ユニット455は、
図3に関して上述されるように、電圧/周波数の変更が1以上のコアについて適切であるか独立に判断してもよい。いくつかの実現形態では、電力制御ユニット455により実行される解析は、電力制御ユニットの一部であってもよいアクティビティモニタロジックにより決定される予測情報に少なくとも部分的に基づくものであってよい。このロジックは、動作中のコアに関連する情報を格納するためのバッファを有してもよい。アクティビティモニタは、現在のアクティビティレベルに関して各種コアからの入力データを受信する。アクティビティモニタのバッファは、各種方法により構成されてもよい。一実施例では、バッファは、各コアについて各電力状態変更イベントに関するタイムスタンプの表示を格納するよう構成されてもよい。アクティビティモニタは、コアが所与のアクティビティ状態に入出力するイベントを傍受及びタイムスタンプする。このモニタされたデータは、ストレージのインターバル中、各コアが所与の状態にどの程度の期間いたかを示すため、アクティビティ状態と共にタイムスタンプデータを含むものであってもよく、当該情報を利用してコアを動作させる独立した周波数及び/又は電圧の選択において利用可能な次のインターバルについて予測されたコア状態を決定する電力制御ユニットの予測手段などに提供されてもよい。
【0032】
図4をさらに参照して、プロセッサ400は、メモリバスなどを介しシステムメモリ460と通信する。さらに、インタフェース450によって、周辺装置、マスストレージなどの各種オフチップコンポーネントとの接続が可能である。
図4の実施例では当該特定の実現形態により示されたが、本発明の範囲はこれに限定されるものでない。
【0033】
図5を参照して、本発明の一実施例によるプロセッサコアのブロック図が示される。
図5に示されるように、プロセッサコア500は、マルチステージパイプラインアウトオブオーダプロセッサであってもよい。
図5に示されるように、コア500は、統合電圧レギュレータ509の結果として各種電圧及び周波数により動作してもよい。各種実施例では、このレギュレータは、外部の電圧レギュレータなどから入力電圧信号を受信し、コア500に接続されるアンコアロジックなどから1以上の制御信号をさらに受信してもよい。
【0034】
図5に示されるように、コア500は、フェッチ命令が実行され、プロセッサにおける以降の利用のためにそれらを準備するのに利用されるフロントエンドユニット510を有する。例えば、フロントエンドユニット510は、フェッチユニット501、命令キャッシュ503及び命令デコーダ505を有する。いくつかの実現形態では、フロントエンドユニット510はさらに、マイクロコードストレージと共にマイクロ処理ストレージと一緒にトレースキャッシュを含む。フェッチユニット501は、メモリ又は命令キャッシュ503などからマイクロ命令をフェッチし、それらをプリミティブ、すなわち、プロセッサによる実行用のマイクロ処理に復号化するため、命令デコーダ505にそれらを提供する。
【0035】
マイクロ命令を受信し、それらを実行用に準備するのに利用されるアウトオブオーダ(OOO)エンジン515が、フロントエンドユニット510と実行ユニット520との間に接続される。より詳細には、OOOエンジン515は、マイクロ命令フローをリオーダリングし、実行に必要な各種リソースを割当て、さらにレジスタファイル530及び拡張レジスタファイル535などの各種レジスタファイル内のストレージ位置に論理レジスタをリネーミングするための各種バッファを含むものであってもよい。レジスタファイル530は、整数及び浮動小数点演算のための別々のレジスタファイルを有してもよい。拡張レジスタファイル535は、レジスタ毎に256又は512ビットなどのベクトルサイズのユニットのためのストレージを提供してもよい。
【0036】
他の特殊なハードウェアのうち、例えば、各種の整数、浮動小数点及びSIMD(Single Instruction Multiple Data)ロジックユニットなどを含む各種リソースが、実行ユニット520にあってもよい。例えば、このような実行ユニットは、他のこのような実行ユニットのうち1以上のALU(Arithmetic Logic Unit)522を含む。
【0037】
実行ユニットからの結果は、リタイアメントロジック、すなわち、リオーダバッファ(ROB)540に提供されてもよい。より詳細には、ROB540は、実行される命令に関連する情報を受信するための各種アレイ及びロジックを含むものであってもよい。当該情報は、その後、ROB540により調べられ、命令が有効にリタイア可能であるか、及びプロセッサのアーキテクチャ状態にコミットされる結果データを決定するか、又は命令の適切なリタイアメントを防ぐ1以上の例外処理が実行されたか判断する。もちろん、ROB540は、リタイアメントに関連する他の処理を処理してもよい。
【0038】
図5に示されるように、ROB540は、本発明はこれに限定されるものでないが、一実施例では、低レベルキャッシュ(L1キャッシュなど)であってもよいキャッシュ550に接続される。また、実行ユニット520は、キャッシュ520に直接接続可能である。キャッシュ550から、よりハイレベルなキャッシュ、システムメモリなどとのデータ通信が実行されてもよい。
図5の実施例において当該ハイレベルなものにより示されたが、本発明の範囲はこれに限定されるものでないことが理解されたい。例えば、
図5の実現形態は、いわゆる、x86命令セットアーキテクチャ(ISA)のアウトオブオーダマシーンに関するものであるが、本発明の範囲はこれに限定されるものでない。すなわち、他の実施例は、インオーダプロセッサ、ARMベースプロセッサなどのRISC(Reduced Instruction Set Computing)プロセッサ、又はエミュレーションエンジン及び関連する論理回路を介し異なるISAの命令及び処理をエミュレート可能な他のタイプのISAのプロセッサにより実現されてもよい。
【0039】
各実施例は、多数の異なるシステムタイプにより実現されてもよい。
図6を参照して、本発明の実施例によるシステムのブロック図が示される。
図6に示されるように、マルチプロセッサシステム600は、ポイント・ツー・ポイントインターコネクトシステムであり、ポイント・ツー・ポイントインターコネクト650を介し接続される第1プロセッサ670及び第2プロセッサ680を有する。
図6に示されるように、プロセッサ670,680のそれぞれは、可能性としてはより多くのコアがプロセッサ内にあってもよいが、第1及び第2プロセッサコア(すなわち、プロセッサコア674a,674b及びプロセッサコア684a,684b)を含むマルチコアプロセッサであってもよい。各コアは、(
図6の実施例では簡単化のため図示せず)プロセッサ内にある複数の独立した電圧レギュレータを用いて、独立した電圧/周波数により動作してもよい。
【0040】
さらに
図6を参照して、第1プロセッサ670はさらに、メモリコントローラハブ(MCH)672とポイント・ツー・ポイント(P−P)インタフェース676,678とを有する。同様に、第2プロセッサ680は、MCH682とP−Pインタフェース686,688とを有する。
図6に示されるように、MCH672,682は、各プロセッサにローカルに付属されたシステムメモリ(DRAMなど)の一部であってもよい各メモリ、すなわち、メモリ632,634とプロセッサとを接続する。第1プロセッサ670と第2プロセッサ680とはそれぞれ、P−Pインターコネクト652,654を介しチップセット690に接続されてもよい。
図6に示されるように、チップセット690は、P−Pインタフェース694,698を有する。
【0041】
さらに、チップセット690は、P−Pインターコネクト639によりチップセット690とハイパフォーマンスグラフィックスエンジン638とを接続するためのインタフェース692を有する。さらに、チップセット690は、ストレージ619とインタフェースをとるためのストレージコントローラであってもよいインタフェース695を有してもよい。さらに、チップセット690は、インタフェース696を介し第1バス616に接続されてもよい。
図6に示されるように、各種入出力(I/O)装置614は、第1バス616と第2バス620とを接続するバスブリッジ618と共に、第1バス616に接続される。一実施例では、キーボード/マウス622、通信装置626、コード630を有するディスクドライブ又は他のマスストレージ装置などのデータストレージユニット628などを含む各種装置が、第2バス620に接続されてもよい。さらに、音声I/O624が第2バス620に接続されてもよい。各実施例は、スマートフォン、タブレットコンピュータ、ネットブックなどのモバイル装置を含む他のタイプのシステムに搭載されてもよい。
【0042】
各実施例は、コードにより実現され、命令を実行するようシステムをプログラムするのに利用可能な命令を格納した記憶媒体に格納されてもよい。記憶媒体は、以下に限定することなく、フロッピー(登録商標)ディスク、光ディスク、ソリッドステートドライブ(SSD)、CD−ROM(Compact Disk Read−Only Memory)、CD−RW(CD−Rewritable)、光磁気ディスクを含むディスク、ROM、DRAM、SRAM、EPROM、フラッシュメモリ、EEPROMなどのRAMなどの半導体装置、磁気若しくは光カード又は電子命令を格納するのに適した他の何れかのタイプの媒体などの何れかのタイプの非一時的な記憶媒体を含むものであってもよい。
【0043】
本発明が限定数の実施例により説明されたが、当業者は、多数の改良及び変形を理解するであろう。添付した請求項はこのようなすべての改良及び変形を本発明の真の趣旨及び範囲内に属するものとしてカバーすることが意図される。