説明

マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム

【課題】 マルチコアプロセッサ化が進んではいるが、各コアは、アイドル又はアクティブステータスに関して、他のダイのステータスを容易に確認することができない。
【解決手段】 マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送するインターフェイスを使用する提案を記載する。これは、各コアのステータスを使用して性能及び周波数の最適設定を可能にして熱管理を容易にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、マイクロプロセッサの熱管理に係り、より具体的には、複数のダイ間でステートを複製するシリアルリンクを介するマルチダイマイクロプロセッサにおける周波数及び性能の最適化に係る。
【背景技術】
【0002】
マルチコアマイクロプロセッサにおいて、コアが利用可能なパワーヘッドルームを使用できるようにすることにより性能を最大限にすることが望ましい。この場合、コアは、製造業者により指定される周波数及び/又は電圧より上の周波数及び/又は電圧で動作しうる。その場合、サーマルスロットリングを用いて、ターゲット温度に到達又はターゲット温度を超過したときにコアの動作周波数及び/又は電圧を低減しうる。
【0003】
しかし、サーマルスロットリングは、周囲温度が十分に低い環境といった一部の環境では行われない場合がある。このような環境では、動作周波数及び/又は電圧を下げる機構がなく、プロセッサは、無期限に、製造業者により指定された周波数/電圧より大きい周波数/電圧で実行することが可能となってしまう。この場合、電力供給システムは、システムに必要な追加の電力を供給するために大型に設計される必要がある。
【0004】
マルチダイプロセッサ化が進んではいるが、各ダイは、アイドル又はアクティブステータスに関して、他のダイのステータスを容易に確認することができない。従って、このことは、マルチダイプロセッサに最適な周波数及び性能を設定することをできなくしてしまう。1つの非効率的な解決策としては、コアのパワーステータスを送受信する専用信号線を設けることがある。しかし、この解決策は、コア数及びコアのパワーステート数に正比例するコストがかかってしまう。
【図面の簡単な説明】
【0005】
以下の図面と合わせた以下の詳細な説明により、本発明をより良好に理解できよう。
【0006】
【図1】ある実施形態によるグラフである。
【0007】
【図2】ある実施形態によるグラフである。
【0008】
【図3】ある実施形態による装置を示す図である。
【0009】
【図4】ある実施形態による装置を示す図である。
【0010】
【図5】ある実施形態による装置を示す図である。
【0011】
【図6】ある実施形態によるシステムを示す図である。
【0012】
【図7】ある実施形態による方法を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下の記載において、説明目的として幾つかの詳細を記載し、本発明の実施形態の完全な理解を提供するものとする。しかし、当業者であれば明らかであるように、これらの具体的な詳細は、特許を請求する本発明の実施には必ずしも必要なわけではない。
【0014】
本発明の実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスの使用に関する。以下の説明は、デュアルコア及びクアッドコアプロセッサの実施形態を中心に行うが、当業者であれば、本発明は、異なる数のコアを有するマルチコアプロセッサ、及び、マイクロコントローラ、特殊用途向け集積回路(ASIC)等の複数の処理エレメント又はロジックエレメントを有する任意の集積チップをサポートして実施されうることは理解できよう。
【0015】
本発明は、先の出願からの実施形態に関連し且つそれらの実施形態を組み込むものとする。先の出願(代理人整理番号P23316)は、「A Method, Apparatus, and System for Increasing Single Core Performance in a Multi-core Microprocessor」なる名称の特許出願第XXXXXXX号である。
【0016】
本願にて用いるように、「シングルコア・ターボモード」とは、マルチコアマイクロプロセッサの1つの動作モードである。マルチコアマイクロプロセッサがシングルコア・ターボモードにある場合、マルチコアプロセッサは、高動作点で動作する。従って、少なくとも1つのコアは、少なくとも1つのコアがアイドルのままである限り、高い動作周波数及び/又は電圧で実行されうる。従って、シングルコア・ターボモードでは、1以上のアイドルコアのパワー及びサーマルヘッドルームを用いて、1以上のアイドルではないコアの動作周波数を増加することができる。
【0017】
図1は、ある実施形態によるグラフである。グラフ中、破線の水平線は許容される最大ダイ温度を示し、y軸はダイ温度を示し、x軸はアクティブステータスを有するコア数を示す。この具体的な実施形態では、プロセッサコアは、固定の最大周波数fにおいて動作する。アクティブステータスは、コアがあるオペレーションを処理中であり、従って、アイドルではないことを示す。一般に、プロセッサのアクティブコア数が増加すると、消費されるパワー範囲も大きくなる。
【0018】
グラフは、アクティブコア数が増加するに従って、サーマルヘッドルーム量が減少することを示す。反対に、サーマルヘッドルーム量は、アクティブコア数が減少するに従って増加する。1つ、2つ、及び3つのアクティブコアの例では、使用されていない許容可能なサーマルヘッドルームがある。
【0019】
図2は、ある実施形態によるグラフを示す。グラフ中、破線の水平線は許容される最大ダイ温度を示し、y軸はダイ温度を示し、x軸はアクティブステータスを有するコア数を示す。この特定の実施形態では、プロセッサコアは、f<f<f<fといった、アクティブコア数に少なくとも部分的に基づいた異なる周波数で動作する。例えば、周波数は、アクティブコア数が増加するに従って減少する。当然であるが、これは、サーマルヘッドルームがないことによりこのグラフは図1とは異なるので、性能の増加が可能である。
【0020】
アクティブステータスは、コアがあるオペレーションを処理中であり、従って、アイドルではないことを示す。一般に、プロセッサのアクティブコア数が増加すると、消費されるパワー範囲も大きくなる。
【0021】
グラフは、アクティブコア数が増加するに従って、サーマルヘッドルーム量が減少することを示す。反対に、サーマルヘッドルーム量は、アクティブコア数が減少するに従って増加する。
【0022】
上述したように、マルチダイプロセッサ化が進んではいるが、各ダイは、アイドル又はアクティブステータスに関して、他のダイのステータスを容易に確認することができない。従って、このことは、マルチダイプロセッサに最適な周波数及び性能を設定することをできなくしてしまう。1つの非効率的な解決策としては、コアパワーステータスを送受信する専用信号線を設けることがある。しかし、この解決策は、コア数及びコアのパワーステート数に正比例するコストがかかってしまう。
【0023】
本発明の実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスの使用に関する。以下に示す幾つかの実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスを有するマルチコアプロセッサについて説明する。
【0024】
図3は、ある実施形態による装置を示す図である。本実施形態では、2つのデュアルコアダイ304及び308を有するクアッドコアプロセッサ302を示す。専用シリアルリンクインターフェイス306は、2つのデュアルコアダイ、即ち、サイト304及び308が夫々のコアのパワーステータスを通信することを可能にし、それにより、2つのデュアルコアダイ間に最適な周波数を設定することが容易になる。更に、一実施形態では、各サイトのコアは、同一であり、それぞれ独自のクロック発生器、即ち、PLL(位相ロックループ)を有する。本実施形態では、コアが別個のダイ上にあっても、マルチコアプロセッサがその最大周波数を最適化することが可能となる。
【0025】
図4は、ある実施形態による装置を示す。本実施形態では、シングルコアダイ404及び408を有するデュアルコアプロセッサ402が示される。専用シリアルリンクインターフェイス406は、ダイが夫々のコアのパワーステータスを通信することを可能にし、それにより、2つのダイ間に最適な周波数を設定することが容易になる。更に、一実施形態では、各サイトのコアは、同一であり、それぞれ独自のクロック発生器、即ち、PLL(位相ロックループ)を有する。本実施形態では、コアが別個のダイ上にあっても、マルチコアプロセッサがその最大周波数を最適化することが可能となる。
【0026】
図5は、ある実施形態による装置を示す。本実施形態では、サイト501及び503は、インターフェイス502を介して通信する。一実施形態では、インターフェイス502は、シリアルインターフェイスである。別の実施形態では、シリアルインターフェイスは、送信用のワイヤと受信用のワイヤを有する2線式インターフェイスである。本実施形態では、シリアルインターフェイスは、ローカルコアのパワーステータス及びターボソフトウェアモードステータスを含むデータパケットを、シリアルストリームに変換し、それを、1つのサイトからもう1つのサイトに伝送する。受信側サイトの周波数/電圧ロジック(504又は505)は、ローカル及びリモートコアのパワーステータスとターボソフトウェアモードステータスとに少なくとも部分的に基づいて、両方のサイトのための動作周波数を決定する。一実施形態では、周波数/電圧ロジックは、図7に関連して説明するアルゴリズムを使用する。
【0027】
一実施形態では、周波数/電圧ロジックは、マルチサイトプロセッサの各サイトに駐在する。別の実施形態では、周波数/電圧ロジックは、チップセットに駐在する。更に別の実施形態では、周波数/電圧ロジックは、パワーコントローラチップに駐在する。
【0028】
図6は、ある実施形態によるシステムのブロック図を示す。システム(800)は、マルチコアプロセッサ又はCPU(801)と、メモリコントローラデバイス(806)、I/Oコントローラデバイス(818)、及び1以上のメモリデバイス(810)を、少なくとも含む。なお、一部の実施形態では、メモリコントローラデバイス、及び/又は、I/Oコントローラデバイスは、CPU/プロセッサ(801)に集積されてもよい。
【0029】
マルチコアプロセッサ(801)は、少なくとも2つのコア、即ち、コア0(802)とコア1(803)を含みうる。一部の実施形態では、プロセッサ(801)は、追加のコアを含んでよい。3以上のコアを含む実施形態では、少なくとも1つのコアがアイドルである間に1つのコアのみがターボモードで動作することが許可されるか、又は、複数のコアがアイドルのままである間に複数のコアがターボモードで動作することが許可されうる。
【0030】
プロセッサ(801)は、相互参照出願に関連して上述したターボモードロジック(804)も含み、プロセッサの少なくとも1つのコアが、プロセッサの少なくとも1つのコアがアイドルである間に、保証された周波数より高い周波数で動作することを可能にする。従って、利用可能なパワー及びサーマルヘッドルームは、1つのコアによって、別のコアがアイドルであるときに用いられて、システム全体の性能が増加又は最大限にされうる。
【0031】
システムは更に、ネットワークポート又はインターフェイス(820)を含んでよく、有線又は無線のネットワーク(830)に結合されうる。メモリコントローラデバイス(MCH)(806)は、バス(807)により、CPU(801)に結合される。メモリコントローラデバイス(806)は、CPU(801)に、1以上のメモリデバイス(810)へのアクセスを与える。メモリコントローラデバイス(806)は、メモリバス(808)を介して1以上のメモリデバイス(801)に結合される。
【0032】
グラフィクス処理ユニット(812)が、バス(814)を介してメモリコントローラデバイスに結合されてもよい。I/Oコントローラデバイス(818)は、バス(816)によりメモリコントローラデバイス(806)に結合されうる。I/Oコントローラデバイス(818)は、ネットワーク(830)に接続可能なネットワークポート(820)に結合されてもよい。I/Oコントローラデバイス(818)は更に、大容量記憶デバイス(822)及び/又は不揮発性メモリ(824)に結合されてもよい。電池又は他の電源(806)がシステムに電力を供給しうる。
【0033】
これらのコンポーネントは、全体として、CPU(801)による機械可読命令の実行と、メモリデバイス(810)内への命令を含むデータの記憶をサポート可能であるシステム(800)を形成する。
【0034】
図7は、ある実施形態による方法のフローチャートを示す。本実施形態では、かかる方法は、それぞれ2つのコアを有する2サイトプロセッサの周波数選択を説明する。しかし、発明の対象は、この実施形態に限定されない。図4に示すように、各サイトは、1つのコアしか有さない場合もある。更に、各サイトは、適用又は他の要因に依存して任意の数のコアを使用してよい。
【0035】
本実施形態では、アクティブコアの数は、インターフェイスを介して受信するローカルコアのパワーステータスとリモートコアのパワーステータスにより決定される。第1の判断ブロック702において、アクティブコア数が1である場合、全てのコアに対して選択される周波数はfである(ブロック703)。アクティブコア数が1ではない場合、第2の判断ブロック704が解析される。アクティブコア数が2である場合、全てのコアに対して選択される周波数はfである(ブロック705)。アクティブコア数が2ではない場合、判断ブロック706が解析される。
【0036】
アクティブコア数が3である場合、全てのコアに対して選択される周波数はfである(ブロック707)。アクティブコア数が3ではなく、4である場合、全てのコアに対して選択される周波数はfである(ブロック708)。本実施形態では、周波数fは周波数fより高く、周波数fは周波数fより高く、周波数fは周波数fより高い。
【0037】
従って、マルチダイマイクロプロセッサにおいて周波数及び性能を最適化するための方法、装置、及びシステムを開示した。上述の説明では、幾つかの具体的な詳細を記載した。しかし、実施形態は、これらの具体的な詳細なしでも実施しうることを理解すべきである。また、周知の回路、構造、及び技術は、本記載の理解を妨げることがないよう詳細に示していない。本発明は、その具体的な例示的な実施形態を参照して説明した。しかし、この開示内容を享受する当業者には、これらの実施形態に、様々な修正及び変更を本願に記載した実施形態の広い意義及び範囲から逸脱することなく行いうることは明らかであろう。従って、明細書及び図面は、限定的ではなく例示的であると解釈すべきである。
【符号の説明】
【0038】
402 シングルコアダイを有するデュアルコアプロセッサ
404 シングルコアダイ
406 シリアルリンクインターフェイス
408 シングルコアダイ
501 サイト
502 インターフェイス
503 サイト
504 周波数/電圧ロジック
505 周波数/電圧ロジック
800 システム
801 マルチコアプロセッサ又はCPU
802 コア0
803 コア1
804 ターボモードロジック
806 MCH
806 電源
807 バス
808 バス
810 メモリ
812 グラフィクス処理ユニット
814 バス
816 バス
818 ICH
820 ネットワークポート
822 大容量記憶装置
824 不揮発性メモリ
830 ネットワーク

【特許請求の範囲】
【請求項1】
第1のサイト及び第2のサイトを有するプロセッサであって、
前記第1のサイト及び前記第2のサイト上の各コアのパワーステータスを送受信するインターフェイスと、
前記インターフェイスに結合される前記第1のサイト内の周波数選択ロジックと、
を備え、
前記周波数選択ロジックは、前記第2のサイトから前記各コアのパワーステータスを受信し、前記第1のサイト及び前記第2のサイトの前記各コアのパワーステータスに少なくとも部分的に基づいて前記第1のサイト及び前記第2のサイトの各コアの動作周波数を決定する、プロセッサ。
【請求項2】
前記インターフェイスは、ターボモードステータスを伝送する、請求項1に記載のプロセッサ。
【請求項3】
各サイトは、単一のプロセッサコアを有する、請求項1または請求項2に記載のプロセッサ。
【請求項4】
各サイトは、2つのプロセッサコアを有する、請求項1または請求項2に記載のプロセッサ。
【請求項5】
各サイトに、各コアの前記パワーステータスを記憶するメモリを更に含む、請求項1から請求項4の何れかに記載のプロセッサ。
【請求項6】
前記インターフェイスは、シリアルインターフェイスである、請求項1から請求項5の何れかに記載のプロセッサ。
【請求項7】
前記シリアルインターフェイスは、2線式インターフェイスである、請求項6に記載のプロセッサ。
【請求項8】
前記2線式インターフェイスは、前記コアのパワーステータスのデータのシリアルストリームの送信用の第1のワイヤ及び受信用の第2のワイヤを有する、請求項7に記載のプロセッサ。
【請求項9】
前記2線式インターフェイスは、シリアルストリームに変換されるデータパケットを使用する、請求項7または請求項8に記載のプロセッサ。
【請求項10】
マルチサイトプロセッサから複数のコアのパワーステータスを受信するインターフェイスと、
各コアのパワーステータスに少なくとも部分的に基づいて前記マルチサイトプロセッサの各コアの動作周波数を決定する周波数選択ロジックと、
を備える装置。
【請求項11】
前記インターフェイスは、シリアルインターフェイスである、請求項10に記載の装置。
【請求項12】
前記シリアルインターフェイスは、2線式インターフェイスである、請求項11に記載の装置。
【請求項13】
前記2線式インターフェイスは、前記コアのパワーステータスのデータのシリアルストリームの送信用の第1のワイヤ及び受信用の第2のワイヤを有する、請求項12に記載の装置。
【請求項14】
前記2線式インターフェイスは、シリアルストリームに変換されるデータパケットを使用する、請求項13に記載の装置。
【請求項15】
各サイトは少なくとも1つのコアを有するマルチサイトプロセッサと、
前記マルチサイトプロセッサの各コアのパワーステータスを送受信するインターフェイスと、
前記マルチサイトプロセッサの少なくとも1つのサイト内にあり、前記インターフェイスに結合される周波数選択ロジックと、
を備え、
前記周波数選択ロジックは、他のサイトから各コアのパワーステータスを受信して、前記各コアのパワーステータスに少なくとも部分的に基づいて前記マルチサイトプロセッサの各コアの動作周波数を決定する、システム。
【請求項16】
各サイトに、前記各コアのパワーステータスを記憶するメモリを更に含む、請求項15に記載のシステム。
【請求項17】
前記インターフェイスは、シリアルインターフェイスである、請求項15または請求項16に記載のシステム。
【請求項18】
前記シリアルインターフェイスは、2線式インターフェイスである、請求項17に記載のシステム。
【請求項19】
前記2線式インターフェイスは、前記コアのパワーステータスのデータのシリアルストリームの送信用の第1のワイヤ及び受信用の第2のワイヤを有する、請求項18に記載のシステム。
【請求項20】
前記周波数選択ロジックは、前記マルチサイトプロセッサの全てのサイトからアクティブコアの数を解析し、前記マルチサイトプロセッサの全てのコアに対する動作周波数を選択する、請求項15から請求項19の何れかに記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−123215(P2009−123215A)
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−290587(P2008−290587)
【出願日】平成20年11月13日(2008.11.13)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】