(57)【特許請求の範囲】
【請求項１】
第１のサイト及び第２のサイトを有するプロセッサであって、
前記第１のサイト及び前記第２のサイト上の各コアのパワーステータスおよびターボモードステータスを送受信する専用シリアルインターフェイスと、
前記専用シリアルインターフェイスに結合される前記第１のサイト内の周波数選択ロジックと、
を備え、
前記周波数選択ロジックは、前記第２のサイトから前記各コアのパワーステータスおよびターボモードステータスを受信し、前記第１のサイト及び前記第２のサイトの前記各コアのパワーステータスおよびターボモードステータスに少なくとも部分的に基づいて前記第１のサイト及び前記第２のサイトの各コアの動作周波数を決定する、プロセッサ。
【請求項２】
少なくとも１つのコアは、少なくとも１つの他のコアがアイドルの場合に、ターボモードで動作することが許可される、請求項１に記載のプロセッサ。
【請求項３】
前記少なくとも１つのコアは、保証された周波数より高い周波数で動作する、請求項２に記載のプロセッサ。
【請求項４】
各サイトは、単一のプロセッサコアを有する、請求項１から請求項３の何れか一つに記載のプロセッサ。
【請求項５】
各サイトは、２つのプロセッサコアを有する、請求項１から請求項３の何れか一つに記載のプロセッサ。
【請求項６】
各サイトに、各コアの前記パワーステータスを記憶するメモリを更に含む、請求項１から請求項５の何れか一つに記載のプロセッサ。
【請求項７】
前記専用シリアルインターフェイスは、２線式インターフェイスである、請求項１から請求項６の何れか一つに記載のプロセッサ。
【請求項８】
前記２線式インターフェイスは、前記コアのパワーステータスおよびターボモードステータスのデータのシリアルストリームの送信用の第１のワイヤ及び受信用の第２のワイヤを有する、請求項７に記載のプロセッサ。
【請求項９】
前記２線式インターフェイスは、シリアルストリームに変換されるデータパケットを使用する、請求項７または請求項８に記載のプロセッサ。
【請求項１０】
前記周波数選択ロジックは、前記パワーステータスおよび前記ターボモードステータスに基づいてアクティブコア数を特定し、前記アクティブコア数に基づいて前記各コアの動作周波数を決定する、請求項１から請求項９の何れか一つに記載のプロセッサ。
【請求項１１】
第１のダイ上の第１のコアと、
第２のダイ上の第２のコアと、
前記第１のコアおよび前記第２のコアに接続され、前記第１のコアおよび前記第２のコアのパワーステータスおよびターボモードステータスを受信する専用シリアルインターフェイスと、
前記第１のコアおよび前記第２のコアのパワーステータスおよびターボモードステータスに少なくとも部分的に基づいて前記第１のコアおよび前記第２のコアの動作周波数を決定する前記第１のコアの周波数選択ロジックと、
を備え、
前記専用シリアルインターフェイスは、前記パワーステータスおよび前記ターボモードステータスのデータのシリアルストリームの送信用の第１のワイヤおよび受信用の第２のワイヤを有する２線式インターフェイスであり、前記２線式インターフェイスは、前記シリアルストリームに変換されるデータパケットを使用する、装置。
【請求項１２】
前記第１のコアは、前記第２のコアがアイドルの場合に、ターボモードで動作することを許可され、保証された周波数よりも高い周波数で動作する、請求項１１に記載の装置。
【請求項１３】
前記第１のコアの周波数選択ロジックは、前記パワーステータスおよび前記ターボモードステータスに基づいてアクティブコア数を特定し、前記アクティブコア数に基づいて前記第１のコアおよび前記第２のコアの動作周波数を決定する、請求項１１または請求項１２に記載の装置。
【請求項１４】
各サイトは少なくとも１つのコアを有するマルチサイトプロセッサと、
前記マルチサイトプロセッサの各コアのパワーステータスおよびターボモードステータスを送受信する専用シリアルインターフェイスと、
前記マルチサイトプロセッサの少なくとも１つのサイト内にあり、前記専用シリアルインターフェイスに結合される周波数選択ロジックと、
を備え、
前記周波数選択ロジックは、他のサイトから各コアのパワーステータスおよびターボモードステータスを受信して、前記各コアのパワーステータスおよびターボモードステータスに少なくとも部分的に基づいて前記マルチサイトプロセッサの各コアの動作周波数を決定する、システム。
【請求項１５】
各サイトに、前記各コアのパワーステータスを記憶するメモリを更に含む、請求項１４に記載のシステム。
【請求項１６】
前記専用シリアルインターフェイスは、２線式インターフェイスである、請求項１４または請求項１５に記載のシステム。
【請求項１７】
前記２線式インターフェイスは、前記コアのパワーステータスおよびターボモードステータスのデータのシリアルストリームの送信用の第１のワイヤ及び受信用の第２のワイヤを有する、請求項１６に記載のシステム。
【請求項１８】
前記周波数選択ロジックは、前記マルチサイトプロセッサの全てのサイトからアクティブコアの数を解析し、前記マルチサイトプロセッサの全てのコアに対する動作周波数を選択する、請求項１４から請求項１７の何れか一つに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、マイクロプロセッサの熱管理に係り、より具体的には、複数のダイ間でステートを複製するシリアルリンクを介するマルチダイマイクロプロセッサにおける周波数及び性能の最適化に係る。
【背景技術】
【０００２】
マルチコアマイクロプロセッサにおいて、コアが利用可能なパワーヘッドルームを使用できるようにすることにより性能を最大限にすることが望ましい。この場合、コアは、製造業者により指定される周波数及び／又は電圧より上の周波数及び／又は電圧で動作しうる。その場合、サーマルスロットリングを用いて、ターゲット温度に到達又はターゲット温度を超過したときにコアの動作周波数及び／又は電圧を低減しうる。
【０００３】
しかし、サーマルスロットリングは、周囲温度が十分に低い環境といった一部の環境では行われない場合がある。このような環境では、動作周波数及び／又は電圧を下げる機構がなく、プロセッサは、無期限に、製造業者により指定された周波数／電圧より大きい周波数／電圧で実行することが可能となってしまう。この場合、電力供給システムは、システムに必要な追加の電力を供給するために大型に設計される必要がある。
【０００４】
マルチダイプロセッサ化が進んではいるが、各ダイは、アイドル又はアクティブステータスに関して、他のダイのステータスを容易に確認することができない。従って、このことは、マルチダイプロセッサに最適な周波数及び性能を設定することをできなくしてしまう。１つの非効率的な解決策としては、コアのパワーステータスを送受信する専用信号線を設けることがある。しかし、この解決策は、コア数及びコアのパワーステート数に正比例するコストがかかってしまう。
【図面の簡単な説明】
【０００５】
以下の図面と合わせた以下の詳細な説明により、本発明をより良好に理解できよう。
【０００６】
【図１】ある実施形態によるグラフである。
【０００７】
【図２】ある実施形態によるグラフである。
【０００８】
【図３】ある実施形態による装置を示す図である。
【０００９】
【図４】ある実施形態による装置を示す図である。
【００１０】
【図５】ある実施形態による装置を示す図である。
【００１１】
【図６】ある実施形態によるシステムを示す図である。
【００１２】
【図７】ある実施形態による方法を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下の記載において、説明目的として幾つかの詳細を記載し、本発明の実施形態の完全な理解を提供するものとする。しかし、当業者であれば明らかであるように、これらの具体的な詳細は、特許を請求する本発明の実施には必ずしも必要なわけではない。
【００１４】
本発明の実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスの使用に関する。以下の説明は、デュアルコア及びクアッドコアプロセッサの実施形態を中心に行うが、当業者であれば、本発明は、異なる数のコアを有するマルチコアプロセッサ、及び、マイクロコントローラ、特殊用途向け集積回路（ＡＳＩＣ）等の複数の処理エレメント又はロジックエレメントを有する任意の集積チップをサポートして実施されうることは理解できよう。
【００１５】
本発明は、先の出願からの実施形態に関連し且つそれらの実施形態を組み込むものとする。先の出願（代理人整理番号Ｐ２３３１６）は、「A Method, Apparatus, and System for Increasing Single Core Performance in a Multi-core Microprocessor」なる名称の特許出願第ＸＸＸＸＸＸＸ号である。
【００１６】
本願にて用いるように、「シングルコア・ターボモード」とは、マルチコアマイクロプロセッサの１つの動作モードである。マルチコアマイクロプロセッサがシングルコア・ターボモードにある場合、マルチコアプロセッサは、高動作点で動作する。従って、少なくとも１つのコアは、少なくとも１つのコアがアイドルのままである限り、高い動作周波数及び／又は電圧で実行されうる。従って、シングルコア・ターボモードでは、１以上のアイドルコアのパワー及びサーマルヘッドルームを用いて、１以上のアイドルではないコアの動作周波数を増加することができる。
【００１７】
図１は、ある実施形態によるグラフである。グラフ中、破線の水平線は許容される最大ダイ温度を示し、ｙ軸はダイ温度を示し、ｘ軸はアクティブステータスを有するコア数を示す。この具体的な実施形態では、プロセッサコアは、固定の最大周波数ｆＡにおいて動作する。アクティブステータスは、コアがあるオペレーションを処理中であり、従って、アイドルではないことを示す。一般に、プロセッサのアクティブコア数が増加すると、消費されるパワー範囲も大きくなる。
【００１８】
グラフは、アクティブコア数が増加するに従って、サーマルヘッドルーム量が減少することを示す。反対に、サーマルヘッドルーム量は、アクティブコア数が減少するに従って増加する。１つ、２つ、及び３つのアクティブコアの例では、使用されていない許容可能なサーマルヘッドルームがある。
【００１９】
図２は、ある実施形態によるグラフを示す。グラフ中、破線の水平線は許容される最大ダイ温度を示し、ｙ軸はダイ温度を示し、ｘ軸はアクティブステータスを有するコア数を示す。この特定の実施形態では、プロセッサコアは、ｆＡ＜ｆＢ＜ｆＣ＜ｆＤといった、アクティブコア数に少なくとも部分的に基づいた異なる周波数で動作する。例えば、周波数は、アクティブコア数が増加するに従って減少する。当然であるが、これは、サーマルヘッドルームがないことによりこのグラフは図１とは異なるので、性能の増加が可能である。
【００２０】
アクティブステータスは、コアがあるオペレーションを処理中であり、従って、アイドルではないことを示す。一般に、プロセッサのアクティブコア数が増加すると、消費されるパワー範囲も大きくなる。
【００２１】
グラフは、アクティブコア数が増加するに従って、サーマルヘッドルーム量が減少することを示す。反対に、サーマルヘッドルーム量は、アクティブコア数が減少するに従って増加する。
【００２２】
上述したように、マルチダイプロセッサ化が進んではいるが、各ダイは、アイドル又はアクティブステータスに関して、他のダイのステータスを容易に確認することができない。従って、このことは、マルチダイプロセッサに最適な周波数及び性能を設定することをできなくしてしまう。１つの非効率的な解決策としては、コアパワーステータスを送受信する専用信号線を設けることがある。しかし、この解決策は、コア数及びコアのパワーステート数に正比例するコストがかかってしまう。
【００２３】
本発明の実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスの使用に関する。以下に示す幾つかの実施形態は、マルチダイマイクロプロセッサにおける複数のコア間でコアステータスを伝送する専用インターフェイスを有するマルチコアプロセッサについて説明する。
【００２４】
図３は、ある実施形態による装置を示す図である。本実施形態では、２つのデュアルコアダイ３０４及び３０８を有するクアッドコアプロセッサ３０２を示す。専用シリアルリンクインターフェイス３０６は、２つのデュアルコアダイ、即ち、サイト３０４及び３０８が夫々のコアのパワーステータスを通信することを可能にし、それにより、２つのデュアルコアダイ間に最適な周波数を設定することが容易になる。更に、一実施形態では、各サイトのコアは、同一であり、それぞれ独自のクロック発生器、即ち、ＰＬＬ（位相ロックループ）を有する。本実施形態では、コアが別個のダイ上にあっても、マルチコアプロセッサがその最大周波数を最適化することが可能となる。
【００２５】
図４は、ある実施形態による装置を示す。本実施形態では、シングルコアダイ４０４及び４０８を有するデュアルコアプロセッサ４０２が示される。専用シリアルリンクインターフェイス４０６は、ダイが夫々のコアのパワーステータスを通信することを可能にし、それにより、２つのダイ間に最適な周波数を設定することが容易になる。更に、一実施形態では、各サイトのコアは、同一であり、それぞれ独自のクロック発生器、即ち、ＰＬＬ（位相ロックループ）を有する。本実施形態では、コアが別個のダイ上にあっても、マルチコアプロセッサがその最大周波数を最適化することが可能となる。
【００２６】
図５は、ある実施形態による装置を示す。本実施形態では、サイト５０１及び５０３は、インターフェイス５０２を介して通信する。一実施形態では、インターフェイス５０２は、シリアルインターフェイスである。別の実施形態では、シリアルインターフェイスは、送信用のワイヤと受信用のワイヤを有する２線式インターフェイスである。本実施形態では、シリアルインターフェイスは、ローカルコアのパワーステータス及びターボソフトウェアモードステータスを含むデータパケットを、シリアルストリームに変換し、それを、１つのサイトからもう１つのサイトに伝送する。受信側サイトの周波数／電圧ロジック（５０４又は５０５）は、ローカル及びリモートコアのパワーステータスとターボソフトウェアモードステータスとに少なくとも部分的に基づいて、両方のサイトのための動作周波数を決定する。一実施形態では、周波数／電圧ロジックは、図７に関連して説明するアルゴリズムを使用する。
【００２７】
一実施形態では、周波数／電圧ロジックは、マルチサイトプロセッサの各サイトに駐在する。別の実施形態では、周波数／電圧ロジックは、チップセットに駐在する。更に別の実施形態では、周波数／電圧ロジックは、パワーコントローラチップに駐在する。
【００２８】
図６は、ある実施形態によるシステムのブロック図を示す。システム（８００）は、マルチコアプロセッサ又はＣＰＵ（８０１）と、メモリコントローラデバイス（８０６）、Ｉ／Ｏコントローラデバイス（８１８）、及び１以上のメモリデバイス（８１０）を、少なくとも含む。なお、一部の実施形態では、メモリコントローラデバイス、及び／又は、Ｉ／Ｏコントローラデバイスは、ＣＰＵ／プロセッサ（８０１）に集積されてもよい。
【００２９】
マルチコアプロセッサ（８０１）は、少なくとも２つのコア、即ち、コア０（８０２）とコア１（８０３）を含みうる。一部の実施形態では、プロセッサ（８０１）は、追加のコアを含んでよい。３以上のコアを含む実施形態では、少なくとも１つのコアがアイドルである間に１つのコアのみがターボモードで動作することが許可されるか、又は、複数のコアがアイドルのままである間に複数のコアがターボモードで動作することが許可されうる。
【００３０】
プロセッサ（８０１）は、相互参照出願に関連して上述したターボモードロジック（８０４）も含み、プロセッサの少なくとも１つのコアが、プロセッサの少なくとも１つのコアがアイドルである間に、保証された周波数より高い周波数で動作することを可能にする。従って、利用可能なパワー及びサーマルヘッドルームは、１つのコアによって、別のコアがアイドルであるときに用いられて、システム全体の性能が増加又は最大限にされうる。
【００３１】
システムは更に、ネットワークポート又はインターフェイス（８２０）を含んでよく、有線又は無線のネットワーク（８３０）に結合されうる。メモリコントローラデバイス（ＭＣＨ）（８０６）は、バス（８０７）により、ＣＰＵ（８０１）に結合される。メモリコントローラデバイス（８０６）は、ＣＰＵ（８０１）に、１以上のメモリデバイス（８１０）へのアクセスを与える。メモリコントローラデバイス（８０６）は、メモリバス（８０８）を介して１以上のメモリデバイス（８０１）に結合される。
【００３２】
グラフィクス処理ユニット（８１２）が、バス（８１４）を介してメモリコントローラデバイスに結合されてもよい。Ｉ／Ｏコントローラデバイス（８１８）は、バス（８１６）によりメモリコントローラデバイス（８０６）に結合されうる。Ｉ／Ｏコントローラデバイス（８１８）は、ネットワーク（８３０）に接続可能なネットワークポート（８２０）に結合されてもよい。Ｉ／Ｏコントローラデバイス（８１８）は更に、大容量記憶デバイス（８２２）及び／又は不揮発性メモリ（８２４）に結合されてもよい。電池又は他の電源（８０６）がシステムに電力を供給しうる。
【００３３】
これらのコンポーネントは、全体として、ＣＰＵ（８０１）による機械可読命令の実行と、メモリデバイス（８１０）内への命令を含むデータの記憶をサポート可能であるシステム（８００）を形成する。
【００３４】
図７は、ある実施形態による方法のフローチャートを示す。本実施形態では、かかる方法は、それぞれ２つのコアを有する２サイトプロセッサの周波数選択を説明する。しかし、発明の対象は、この実施形態に限定されない。図４に示すように、各サイトは、１つのコアしか有さない場合もある。更に、各サイトは、適用又は他の要因に依存して任意の数のコアを使用してよい。
【００３５】
本実施形態では、アクティブコアの数は、インターフェイスを介して受信するローカルコアのパワーステータスとリモートコアのパワーステータスにより決定される。第１の判断ブロック７０２において、アクティブコア数が１である場合、全てのコアに対して選択される周波数はｆＤである（ブロック７０３）。アクティブコア数が１ではない場合、第２の判断ブロック７０４が解析される。アクティブコア数が２である場合、全てのコアに対して選択される周波数はｆＣである（ブロック７０５）。アクティブコア数が２ではない場合、判断ブロック７０６が解析される。
【００３６】
アクティブコア数が３である場合、全てのコアに対して選択される周波数はｆＢである（ブロック７０７）。アクティブコア数が３ではなく、４である場合、全てのコアに対して選択される周波数はｆＡである（ブロック７０８）。本実施形態では、周波数ｆＤは周波数ｆＣより高く、周波数ｆＣは周波数ｆＢより高く、周波数ｆＢは周波数ｆＡより高い。
【００３７】
従って、マルチダイマイクロプロセッサにおいて周波数及び性能を最適化するための方法、装置、及びシステムを開示した。上述の説明では、幾つかの具体的な詳細を記載した。しかし、実施形態は、これらの具体的な詳細なしでも実施しうることを理解すべきである。また、周知の回路、構造、及び技術は、本記載の理解を妨げることがないよう詳細に示していない。本発明は、その具体的な例示的な実施形態を参照して説明した。しかし、この開示内容を享受する当業者には、これらの実施形態に、様々な修正及び変更を本願に記載した実施形態の広い意義及び範囲から逸脱することなく行いうることは明らかであろう。従って、明細書及び図面は、限定的ではなく例示的であると解釈すべきである。
【符号の説明】
【００３８】
４０２  シングルコアダイを有するデュアルコアプロセッサ
４０４  シングルコアダイ
４０６  シリアルリンクインターフェイス
４０８  シングルコアダイ
５０１  サイト
５０２  インターフェイス
５０３  サイト
５０４  周波数／電圧ロジック
５０５  周波数／電圧ロジック
８００  システム
８０１  マルチコアプロセッサ又はＣＰＵ
８０２  コア０
８０３  コア１
８０４  ターボモードロジック
８０６  ＭＣＨ
８０６  電源
８０７  バス
８０８  バス
８１０  メモリ
８１２  グラフィクス処理ユニット
８１４  バス
８１６  バス
８１８  ＩＣＨ
８２０  ネットワークポート
８２２  大容量記憶装置
８２４  不揮発性メモリ
８３０  ネットワーク
【図１】
0004702722.tif 000002
【図２】
0004702722.tif 000003
【図３】
0004702722.tif 000004
【図４】
0004702722.tif 000005
【図５】
0004702722.tif 000006
【図６】
0004702722.tif 000007
【図７】
0004702722.tif 000008