説明

プロセッサ及びその直流電力の劣化に対する対応方法

【課題】直流電流の不良に関連するダメージを軽減する。
【解決手段】 直流電流供給器210から電圧を受け取るように構成されるプロセッサ200は、選択された電圧を供給するように直流電流供給器210を制御するように構成される電圧調整ロジック260と、プロセッサ200に関連するデータ項目を選択的に、第2の直流電流供給器から第2の電圧が供給される装置に与えるように構成される対応ロジック270と、電圧調整ロジック260および対応ロジック270に動作可能に接続される検出ロジック250であって、電圧を解析するように、かつ、電圧が、選択された電圧から、許容差を超える量分異なると判断されたことを受けて、対応ロジック270を選択的に制御するように構成される検出ロジック250と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、直流電力の劣化に対するプロセッサの対応技術に関する。
【背景技術】
【0002】
プロセッサは、大半の集積回路のように、動作に直流電流を必要とする。直流電流(DC)は、プロセッサが存在するシステムに繋がっている電源によって発生させることができる。電源は第1の電圧(たとえば、12V)の第1の直流電流を発生させることができ一方で、プロセッサは、これと異なる第2の電圧(たとえば、5V、2.5V、1.25V)の直流電流を必要とする場合がある。したがって、多くのコンピューティングシステムは、第1の直流電流から第2の直流電流を発生させるように構成されたDC−DC変換器を備える。
【発明の開示】
【発明が解決しようとする課題】
【0003】
プロセッサは所定の特性(たとえば、1.5V)を有する直流電流を必要とするが、「完璧な」電圧を実現することは不可能であり、かつ/または常に維持することは不可能である。したがって、プロセッサが許容することができる範囲内にある限り、プロセッサに供給される直流電流に様々な特性を許容することができる。たとえば、電圧1.5V±2%を有する直流電流を許容することができる。しかし、直流電流の電圧が許容範囲から逸脱する場合、プロセッサは正常な動作を続けることができなくなる。これはまさにプロセッサの停止に繋がる可能性があり、プロセッサの停止は、データ、状態の損失等に繋がる恐れがある。直流電流の電圧は、構成要素が摩耗しつつあること、電源が故障しつつあること等のような理由により、指定範囲から逸脱し得る。
【0004】
特定のタイプのプロセッサは、チャージレーションドプロセッサ(charge rationed processor)と呼ばれる。チャージレーションドプロセッサは、たとえば、周波数可変プロセッサである。こういった種類のプロセッサは、プロセッサの所望の動作特性に基づいて変化する特性を持った直流電流を必要とする場合がある。たとえば、チャージレーションドプロセッサは、第1の周波数で動作するには第1の電圧の直流電流を必要とする。チャージレーションドプロセッサは、第2の周波数で動作するには第2の電圧の直流電流を必要とする。一般に、動作周波数が高いほど高い電圧が必要であり、動作周波数が低いほど、低い電圧で足りる。チャージレーションドプロセッサに関連する電圧、電流、周波数等の間には、明確に定義することができる関係がある。たとえば、式
V=IR(V=電圧、I=電流、R=抵抗)
P=VI(P=電力)、および
P≒CfV2(f=周波数)
が、様々な特性間の関係の例を説明するために有用である。
【課題を解決するための手段】
【0005】
本発明によれば、直流電流供給器から電圧を受け取るように構成されるプロセッサにおいて、選択された電圧を供給するように前記直流電流供給器を制御するように構成される電圧調整ロジックと、前記プロセッサに関連するデータ項目を選択的に、第2の直流電流供給器から第2の電圧が供給される装置に与えるように構成される対応ロジックと、前記電圧調整ロジックおよび前記対応ロジックに動作可能に接続され、前記電圧を解析するように構成され、かつ、前記電圧が前記選択された電圧から許容差を超える量異なると判断されたことを受けて前記対応ロジックを選択的に制御するように構成される検出ロジックと、を備える
本明細書に組み込まれてその一部を成す添付図面に、本発明の各種システム、方法の例、および各種態様の他の実施形態を示す。図中に示す要素の境界(たとえば、枠、枠群、または他の形状)は、境界の一例を表すことが理解されよう。当業者は、1つの要素を複数の要素として設計してもよく、または複数の要素を1つの要素として設計してもよいことを理解しよう。別の要素の内部構成要素として示される要素を外部構成要素として実施してもよく、またこの逆も同様である。さらに、要素は一定の縮尺で描かれているわけではない。
【発明を実施するための最良の形態】
【0006】
周波数可変プロセッサは様々な周波数で動作することができる。周波数可変プロセッサが動作する周波数は、周波数可変プロセッサに供給される直流電流の電圧に関係する。たとえば、周波数が高いほど、高い電圧を必要とし、周波数が低いほど、低い電圧で足りる。周波数可変プロセッサは、所望の電圧の直流電流を与えるように直流電流供給器をプログラムするように構成することができる。したがって、周波数可変プロセッサは、直流電流供給器が供給する直流電流が、所望の電圧に対する許容範囲内にあるときを検出するように構成することもできる。周波数可変プロセッサは、例えば、供給される直流電流が許容範囲から逸脱した(たとえば、所望の電圧を、5%を超えて下回る)ことを検出した場合、データ損失の可能性を回避するために、アクションをとることができる。アクションとしては、たとえば、現在、プロセッサ内にあるデータ(たとえば、ダーティキャッシュライン)の保存、プロセッサに関連するプロセッサ状態(たとえば、構造状態)の保存、データおよび/または状態のプロセッサ間退避の開始、劣化しつつある直流電流への動作周波数のマッチング等を挙げることができる。したがって、従来のプロセッサのように振る舞い、供給電圧が所望の範囲から逸脱したときには単に故障するのではなく、周波数可変プロセッサは、劣化した電圧を検出してこれに対応することができるため、直流電流の不良に関連するダメージを軽減することができる可能性がある。
【0007】
以下に、本明細書において採用する、選択された用語の定義を含める。定義には、用語の範囲内に含まれ、実施態様に使用することができる構成要素の様々な例および/または形態が含まれる。例は限定を意図するものではない。用語の単数形および複数形の両方が定義内に存在することができる。
【0008】
本明細書において使用する「コンピュータ可読媒体」は、信号、命令、および/またはデータの提供に直接、または間接的に関わる媒体を指す。コンピュータ可読媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定されない形態をとることができる。不揮発性媒体としては、たとえば、光ディスクや磁気ディスク等を挙げることができる。揮発性媒体としては、たとえば、半導体メモリ、ダイナミックメモリ等を挙げることができる。伝送媒体としては、たとえば、同軸ケーブル、銅線、光ファイバケーブル等を挙げることができる。伝送媒体は、電波および赤外線データ通信中に生成されるように、電磁放射の形態をとることもでき、または1つまたは複数の信号群の形態をとることもできる。一般的な形態のコンピュータ可読媒体としては、フロッピーディスク(登録商標。以下同じ)、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、CD−ROM、DVD、他の光媒体、パンチカード、紙テープ、パターンになった穴を有する他の物理的な媒体、RAM、ROM、EPROM、フラッシュEPROM、他のメモリチップやカード、メモリスティック、搬送波/パルス、およびコンピュータ、プロセッサ、または他の電子装置が読み取り可能な他の媒体が挙げられるがこれらに限定されない。インターネットのようなネットワークを介して命令または他のソフトウェアを伝搬するために使用される信号は、「コンピュータ可読媒体」とみなすことができる。
【0009】
本明細書において使用する「データ記憶装置」は、データを記憶することができる物理的および/または論理的な要素を指す。データ記憶装置は、たとえば、データベース、テーブル、ファイル、リスト、キュー、ヒープ、メモリ、レジスタ等であることができる。データ記憶装置は、1つの論理的および/または物理的な要素に存在してもよく、かつ/または2つ以上の論理的および/または物理的な要素に分散してもよい。
【0010】
本明細書において使用する「ロジック」としては、機能またはアクションを実行し、かつ/または別のロジック、方法、および/またはシステムから機能あるいはアクションを実行させるハードウェア、ファームウェア、ソフトウェア、および/またはそれぞれの組み合わせが挙げられるがこれらに限定されない。たとえば、所望の用途または必要性に基づいて、ロジックとしては、ソフトウェア制御マイクロプロセッサ、特定用途向け集積回路(ASIC)のようなディスクリートロジック、アナログ回路、デジタル回路、プログラム論理回路、命令を含むメモリ装置等を挙げることができる。ロジックは、1つまたは複数のゲート、ゲートの組み合わせ、または他の回路構成要素を備えていてもよい。ロジックはまた、ソフトウェアとして完全に具現することもできる。複数の論理ロジックについて述べる場合、複数の論理ロジックを1つの物理ロジックに組み込んでもよい。同様に、単一の論理ロジックについて述べる場合、その単一の論理ロジックを複数の物理ロジックに分散させてもよい。
【0011】
「動作可能な接続」または要素を「動作可能に接続」する接続は、信号、物理的な通信、および/または論理的な通信を送信かつ/または受信することができる接続である。通常、動作可能な接続は、物理的なインタフェース、電気的なインタフェース、および/またはデータインタフェースを備えるが、動作可能な接続には、動作可能な制御に十分なこれらまたは他のタイプの接続の異なる組み合わせを含むことができることに留意されたい。たとえば、2つの要素は、直接、またはプロセッサ、オペレーティングシステム、ロジック、ソフトウェア、または他の要素のような1つまたは複数の中間要素を通して互いに通信可能である(信号をやりとりする)ことにより、動作可能に接続することができる。論理的および/または物理的な通信チャネルを、動作可能な接続の作成に使用することが可能である。
【0012】
本明細書において使用する「信号」としては、1つまたは複数の電気信号、光信号、アナログ信号、デジタル信号、データ、1つまたは複数のコンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、または受信、送信、および/または検出が可能な他の手段が挙げられるがこれらに限定されない。
【0013】
本明細書において使用する「ソフトウェア」としては、読み出し、解釈、コンパイル、および/または実行が可能であり、コンピュータ、プロセッサ、または他の電子装置に機能、アクション、および/または振る舞いを所望のように実行させる1つまたは複数のコンピュータ命令およびプロセッサ命令が挙げられるがこれらに限定されない。命令は、ルーチン、アルゴリズム、モジュール、メソッド、スレッド、および/またはダイナミックリンクライブラリからの別個のアプリケーションまたはコードを含むプログラムのような様々な形態で具現することができる。ソフトウェアはまた、様々な実行可能かつ/またはロード可能な形態で実施することも可能であり、スタンドアロンプログラム、関数呼び出し(ローカルおよび/またはリモート)、サーブレット、アプレット、メモリに記憶される命令、オペレーティングシステムの一部、または他のタイプの実行可能命令が挙げられるがこれらに限定されない。ソフトウェアの形態は、たとえば、所望の用途の要件、実行される環境、および/または設計者/プログラマの要望等に応じ得ることが当業者に理解されよう。コンピュータ可読かつ/または実行可能命令は、1つのロジックに配置されてもよく、かつ/または2つ以上の通信し、協働し、かつ/または並列処理するロジックに分散してもよく、したがって、直列、並列、大量並列、または他の様式でロードし、かつ/または実行することができることも理解されよう。
【0014】
本明細書において述べるシステムおよび方法の例の各種構成要素の実施に適したソフトウェアとしては、Java、Pascal、C#、C++、C、CGI、Perl、SQL、API、SDK、アセンブリ、ファームウェア、マイクロコード、および/または他の言語およびツールのようなプログラミング言語およびツールが挙げられる。ソフトウェアは、システム全体であるか、それともシステムの構成要素であるかに関わらず、製品として具現して保持し、または先に定義したコンピュータ可読媒体の一部として提供することができる。別の形態のソフトウェアとしては、ネットワークまたは他の通信媒体を介してソフトウェアのプログラムコードを受信側に送信する信号を挙げることができる。したがって、一例では、コンピュータ可読媒体は、ウェブサーバからユーザにダウンロード可能なような、ソフトウェア/ファームウェアを表す信号の形態を有する。別の例では、コンピュータ可読媒体は、ウェブサーバに保持されるようなソフトウェア/ファームウェアの形態を有する。他の形態を使用することも可能である。
【0015】
以下の詳細な説明の部分によっては、メモリ内のデータビットに対する演算のアルゴリズムおよび象徴的な表現に関して提示される。これらアルゴリズム的な説明および表現は、当業者が各自の研究の趣旨を他人に伝達するために用いる手段である。アルゴリズムは、本明細書では、また一般に、結果を生み出す一連の演算と考えられる。動作には、物理量の物理的な操作を含むことができる。通常、必ずしもそうとは限らないが、物理量は、ロジック等で記憶、転送、結合、比較、およびその他の様式での操作が可能な電気信号または磁気信号の形態をとる。
【0016】
主に、一般的な使用法であるという理由により、こういった信号をビット、値、要素、シンボル、キャラクタ、用語、数字等で呼ぶことが折に触れて都合のよいことが証明されている。しかし、これらおよび同様の用語は、適切な物理量に関連付けられるべきであり、単に、これら数量に貼られる都合のよいラベルにすぎないことを念頭に置かれたい。特記されない限り、説明全体を通して、処理、計算、算出、決定、表示等のような用語は、コンピュータシステム、ロジック、プロセッサ、または物理(電子)量として表されたデータを操作し変換する同様の電子装置のアクションおよびプロセスを指すものと理解される。
【0017】
図1に、DC−DC変換器120からDC電圧を受け取るように構成されるプロセッサの例100を示す。プロセッサ100は、メモリ110に動作可能に接続し、データ通信することができる。したがって、データ値をメモリ110からプロセッサ100に読み出すことができ、プロセッサ100において、データ値をキャッシュ(たとえば、L1キャッシュ102、L2キャッシュ104)に記憶することができる。データ値は、プロセッサ100によって実行される命令によって操作することもできる。命令は、たとえば、命令パイプライン108に並べることができる。プロセッサ100は、命令アドレス、分岐アドレス、メモリアドレス、制御情報、計算値等を記憶するレジスタ106も備えることができる。キャッシュ、レジスタ106、命令パイプライン108等のある時点の内容は、プロセッサ100の状態、またはプロセッサ100の状況と呼ぶことができる。
【0018】
プロセッサ100には、DC−DC変換器120のようなDC電圧源から直流電流の供給を受けることができる。そしてDC電圧源には、電源130から直流電流を供給することができる。電源130は、第1の電圧(たとえば、12V)の第1の直流電流をDC−DC変換器120に供給することができる。DC−DC変換器120は次いで、第2の電圧(たとえば、5V)の第2の直流電流をプロセッサ100に供給することができる。プロセッサ100は、例えば、周波数可変プロセッサであることができ、したがって、周波数変更をサポートするために、異なる電圧の異なる直流電流を異なる時間に供給するようにDC−DC変換器120を制御することができる。
【0019】
プロセッサ100は、同時に切り替え可能な多数のトランジスタを備える。したがって、電源130および/またはDC−DC変換器120を、大きな過渡電力要件を満たし、高速過渡中に安定した電圧供給を保つように設計することができる。プロセッサ100は、例えば、指定の電圧の直流電流を供給するようにDC−DC変換器120を制御するようにプログラムすることができる。様々な指定の電圧において、プロセッサ100は、動作可能な直流電流の電圧範囲を有することができる。しかし、プロセッサ100は、それよりも低くなると動作することができなくなる電圧下限を有する場合がある。したがって、プロセッサ100は、DC−DC変換器120が供給する直流電流の電圧を監視し、所望の特性を満たさない場合に対応するように構成することができる。DC−DC変換器120が供給する電圧が、所望の電圧範囲内にない(たとえば、電圧下限に近づいている)場合、従来のプロセッサは機能を停止し得る。
【0020】
プロセッサの例100は、DC−DC変換器120が供給する直流電流と所望の直流電流との間の不一致を検出するように構成することができる。不一致が特定の許容差を超える(たとえば、5%を超えて低い)場合、プロセッサ100はこれに対応して、プロセッサ100に関連する状態および/またはデータを保存しようとする。たとえば、プロセッサ100は、これに対応して、構造状態データ、ダーティキャッシュラインデータ、命令キューデータ等のようなデータを保存することができる。プロセッサ100は、このデータを、DC−DC変換器120によって供給される直流電流とは別の直流電流が供給されるロケーションに保存しようとするように構成することができる。例えば、プロセッサ100は、データを、システムバスによりプロセッサ100に動作可能に接続された遠隔バックアッププロセッサ、プロセッサ100に動作可能に接続された、独立したランダムアクセスメモリ(RAM)、およびプロセッサ100に関連するキャッシュメモリのような装置に与えるようにすることができる。さらに、プロセッサ100は、プロセッサ100が利用可能な論理プロセッサ退避関数を呼び出し、それによってプロセッサ100の内容を、異なる直流電流を利用することが可能な別のプロセッサに退避させるように構成することができる。一例では、プロセッサ100は、Itanium(登録商標)ファミリのプロセッサである。
【0021】
DC−DC変換器120が供給する電圧と所望の電圧との間の不一致の一例は、所望のレベル未満に下がった直流電流の電圧である。電圧は、電源130が故障していること、DC−DC変換器120が故障していること、各種要素の発熱により、直流電流が流れる各種構成要素の抵抗が上がったこと等により降下し得る。したがって、劣化は、瞬時に、徐々に、あるいは断続的に発生する可能性がある。劣化はまた、電源が故障し、直流電流の供給を停止した場合のように完全な劣化である場合もあれば、発熱が電圧供給要素の抵抗に影響を与える場合のように不完全な劣化である場合もある。プロセッサ100は、劣化を検出し、これに対応しようとすることができる。プロセッサ100の対応能力は、少なくとも部分的に、プロセッサ100に存在する静電容量、プロセッサ100を変換器120に接続しているパッケージング、および/またはDC−DC変換器120に依存する。こういった要素に存在する静電容量が多いほど、プロセッサ100は、劣化への対応に時間を長くかけることができる。プロセッサ100が利用可能な電圧が降下するレート(たとえば、電圧スルーレート)は、少なくとも部分的に、プロセッサ100の静電容量、パッケージ、および/またはDC−DC変換器120に依存し得る。プロセッサ100が対応することができる一方法は、利用可能な直流電流に基づいて、動作周波数を連続して低下させることである。電圧が降下するにつれて、プロセッサ100は、電圧低下に従うように周波数を操作することができる。したがって、単に停止するのではなく、プロセッサ100は、劣化中にいくつかの命令を実行し続けることができる。命令を使用して、状態、データの保存等を行うことができる。
【0022】
図2に、DC−DC変換器210のようなソースから直流電流を受け取り、劣化電圧に繋がる供給直流電流の劣化(たとえば、低下)を検出するように構成された、周波数可変プロセッサ200を示す。プロセッサ200は、選択された電圧を供給するように直流電流供給器210を制御するように構成された電圧調整ロジック260を備えることができる。たとえば、プロセッサ200は、チャージレーションドプロトコルを実施している周波数可変プロセッサである。したがって、プロセッサ200は、様々な要因(たとえば、負荷、温度)に対応して、時により異なる周波数で動作するようにプログラムすることができる。したがって、プロセッサ200は、異なる電圧の直流電流を異なる時間に供給するようにDC−DC変換器210を制御することができる。
【0023】
異なる周波数で命令を実行するプロセッサ200の能力により、プロセッサ200は低下しつつある電圧に対応することができる。電圧が降下すると、プロセッサ200は動作周波数を低下させ、DC−DC変換器210および/または電源(図示せず)が故障している間であっても命令を実行し続けることができる。命令は、たとえば、プロセッサ200に関連する状態および/またはデータの保存に関連することができる。したがって、プロセッサ200は、プロセッサ200に関連するデータ項目を選択的に、第2の直流電流供給器から第2の直流電流が供給される装置に与えるように構成された対応ロジック270を備えることができる。データ項目を、異なる直流電流が供給される装置に与えることにより、プロセッサ200に対する電圧損失に関連するダメージが軽減する。たとえば、十分な状態およびデータを、別の電圧を利用可能な別の装置に保存することができる場合、第2のプロセッサが、その状態およびデータを取得して、電圧損失が検出され、電圧損失に対応したときにプロセッサ200が中断したところに復帰することが可能である。
【0024】
プロセッサ200は、電圧調整ロジック260および対応ロジック270に動作可能に接続された検出ロジック250を備えることができる。検出ロジック250は、DC−DC変換器210のような電圧源によりプロセッサ200に供給される直流電流を解析するように構成することができる。検出ロジック250はまた、直流電流の電圧が許容差を超えた量分、あるべき値を下回ると判断されたことを受けて、対応ロジック270を選択的に制御するように構成することも可能である。選択的制御は、プロセッサ200に関連する状態および/またはデータを記憶するように対応ロジック270に通知することを含むことができる。選択的制御は、利用可能な直流電流の電圧の低下に比例して動作周波数を低下させるようにプロセッサ200を制御するように対応ロジック270に通知することを含むことができる。
【0025】
プロセッサ200は、プロセッサ200に電圧2.5Vを有する直流電流を供給するようにDC−DC変換器210をプログラムすることができる。検出ロジック250は、電圧が、たとえば、2.25Vしかないと判断した場合、状態およびデータを保存しようとするように対応ロジック270を制御することができる。一例では、検出ロジック250は、プログラムされた様々な電圧の許容値を列挙したテーブル(図示せず)を調べることができる。別の例では、検出ロジック250は、供給電圧がそれ以上降下すべきではない基準電圧の割合を計算することができる。テーブルおよびアルゴリズム的な手法について述べたが、検出ロジック250は、他の技法を使用してアクションをとるのに値する電圧降下を検出してもよいことを理解されたい。
【0026】
電圧の小さな変動が予想されるため、例によっては、検出ロジック250は、瞬間的な劣化ではなく、特定の持続時間を有する劣化が発生した後で対応ロジック270を制御するように構成することができる。別の例では、プロセッサ200および検出ロジック250は、実際の劣化が発生するのを待たずに、履歴データに基づいて劣化が発生する可能性が高いと予測することができる。たとえば、電圧データ、電流データ、および周波数データを、差し迫ったDC−DC変換器210の故障および/または電源の故障を示すパターンまたは傾向を求めて調べることができる。別の例では、検出ロジック250は、劣化が検出されたときの様々な状況に基づいて、異なる量および/またはタイプのデータを保存しようとするように対応ロジック270を制御することができる。例えば、プロセッサ200が第1の、より高い周波数で動作し、第1の、より高い電圧が供給されている間に劣化が検出される場合、プロセッサ200は、状態および/またはデータの保存に第1の、より長い量の時間を有することができる。これは、プロセッサ200が、電圧が動作下限に向かって降下しているとき、より多数の周波数セットを通してサイクルダウンすることが可能である場合があるためである。さらなる例示として、プロセッサ200が第2の、より低い周波数で動作し、第2の、より低い電圧が供給されている間に劣化が検出される場合、プロセッサ200は、状態および/またはデータの保存に第2の、より短い量の時間を有することができる。これは、プロセッサ200が、電圧が動作下限に向かって低下するときにより少数の周波数セットを通してしかサイクルダウンすることができない場合があるためである。
【0027】
電圧が降下する速度は、プロセッサ200および/またはDC−DC変換器210に存在する静電容量に依存し得る。一例では、検出ロジック250および/または対応ロジック270は、劣化後の電圧スルーレートを計算して、保存すべきデータのタイプおよび/または量を判断することができる。スルーレートが高速であるほど、必然的に保存されるデータは少なくなり、スルーレートが低速であるほど、より多くのデータを保存することができる。さらに、データの保存先を判断する際に、劣化時に存在する状況(たとえば、電圧、周波数)および/またはスルーレートを考慮することができる。スルーレートが高速であり、かつ電圧/周波数が低いほど、データを、より高速にアクセス可能な装置に保存する必要があり、スルーレートが低速であり、かつ電圧/周波数が高いほど、データを、アクセスにより時間を要する装置に保存することが可能であり得る。劣化に対応する時間を多くするために、プロセッサ200は、例によっては、検出ロジック250により制御可能な追加のキャパシタを備えることができる。追加のキャパシタは、一時的な直流電流を供給して、対応ロジック270が状態および/またはデータを保存できるようにすることができる。
【0028】
劣化が発生した、または劣化が発生しようとしていることの検出を容易にするために、かつ/または劣化への対応を容易にするために、検出ロジック250は、電圧監視ロジック220、電流監視ロジック230、および/または周波数監視ロジック240を備えることができる。電圧監視ロジック220は、DC−DC変換器が供給する直流電流の電圧を監視することができる。電圧調整ロジック260は、DC−DC変換器210を、所望の電圧の直流電流を供給させるようにプログラムすることを課せられるため、電圧監視ロジック220は、所望の電圧に関して電圧調整ロジック260と通信する。電流監視ロジック230は、プロセッサ200に流入する電流、および/またはプロセッサ200から流出する電流を監視することができる。同様に、周波数監視ロジック240は、プロセッサ200が動作している周波数を監視することができる。電圧、電流、および周波数は、プロセッサにおいて確定的な関係を有するため、検出ロジック250は、対応ロジック270を制御すべきか否かを判断する際に、電圧監視ロジック220、電流監視ロジック230、および周波数監視ロジック240のうちの1つ、2つ、および/または3つすべてを採用することができる。一例では、電圧監視ロジック220のような第1のロジックが、劣化が発生したことの第1の指示を与えることができる。次いで、検出ロジック250は、電流監視ロジック230からの入手可能なデータを調べることにより、電圧監視ロジック220からの指示を再確認することができる。
【0029】
図3に、周波数可変プロセッサに供給される直流電流の劣化を検出し、これに応答するように構成された周波数可変プロセッサに関連する各種要素の回路図を示す。プロセッサ300と記された図3の右側には、周波数可変プロセッサの一例に配置される要素を示し、DC−DC変換器340と記された図3の左側には、直流電流供給器の一例に配置される要素を示す。
【0030】
DC−DC変換器340の部分には、DC−DC変換器が受け取っている電圧Vinを有する直流電流を示し、その一方で、プロセッサ300の部分には、DC−DC変換器340が発生させる電圧との比較に利用することができ、プロセッサ300の部分の負荷(ダイ)に供給される電圧Vrefの直流電流を示す。プロセッサ300の部分は、DC−DC変換器340に電圧Vinの直流電流から所望の電圧Vrefの直流電流を発生させるようにDC−DC制御ロジック330を制御するように構成されたVID(電圧識別)制御ロジック320を備えることができる。一例では、VID制御ロジック320は、電圧識別コードをDC−DC制御ロジック330に与えることにより、DC−DC制御ロジック330を制御することができる。
【0031】
プロセッサ300の部分は、DC−DC変換器340が供給する直流電流の電圧を、負荷(ダイ)が望む電圧Vrefと比較するように構成された検出ロジック310を備えることもできる。検出ロジック310が、負荷に供給される電圧が、Vrefと比較した場合に許容パラメータ外であり、DC−DC変換器340の故障または電源の故障が発生している可能性があると判断する場合、検出ロジック310は、DC−DC制御ロジック330に、電圧を徐々に低くすることを通してサイクルダウンさせて、電源故障に対してグレースフルな対処を提供するようにVID制御ロジック320を制御することを含め、アクションをとることができる。グレースフルな対処は、状態および/またはデータをプロセッサに保存することを含むことができる。別法として、DC−DC変換器340がもはや制御可能ではない場合、プロセッサ300は、周波数を、たとえば、プロセッサ300および/またはDC−DC変換器340の静電容量により利用可能な電圧によってサポート可能なより低いレベルに切り替えることができる。
【0032】
一例では、グレースフルな対応を容易にするために、またプロセッサ300に、電源故障に対応するより多くの時間を提供するために、プロセッサ300には、直流電流をプロセッサ300に一時的に供給するように構成された劣化用キャパシタ(図示せず)を備えていても良い。
【0033】
方法の例については、図4、図5、および図6の流れ図を参照することでよりよく理解することができる。説明を簡易にするために、図示の方法は一連のブロックとして示され、説明されるが、方法はブロックの順序によって制限されず、ブロックによっては図示し説明する順序と異なる順序で行われてもよく、かつ/または他のブロックと同時に行われてもよいことを理解されたい。さらに、図示のブロックがすべて、方法を実施するために必要であるわけでない。ブロックは、結合することも可能であり、また複数の構成要素に分けることも可能である。さらに、追加および/または代替の方法が、図示していない追加のブロックを採用することも可能である。図には、各種アクションが連続して行われるものとして示すが、各種アクションは同時に行われてもよく、略同時に行われてもよく、かつ/または実質的に異なる時点で行われてもよいことを理解されたい。
【0034】
図示の要素は、ロジックに実装することができる「処理ブロック」を示す。一例では、処理ブロックは、アクションの実行、状態の変更、および/または判断を行わせるようコンピュータ、プロセッサ、および/または論理回路に対応させるための実行可能命令を表すことができる。したがって、説明する方法は、コンピュータ可読媒体によって提供されるプロセッサ実行可能命令および/または動作として実施することができる。別の例では、処理ブロックは、アナログ回路、デジタル信号プロセッサ回路、特定用途向け集積回路(ASIC)、または他の論理回路のような機能的に等価の回路によって行われる機能および/またはアクションを表すことができる。流れ図には、説明する例の実施態様を限定する意図はない。むしろ、図は、当業者が回路の設計/組み立て、ソフトウェアの生成、または図示の処理を行うようにハードウェアおよびソフトウェアの組み合わせの使用に使用することができる機能的な情報を示す。
【0035】
図4に、プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の例400を示す。方法400は、たとえば、周波数可変プロセッサで行うことが可能である。周波数可変プロセッサは、たとえば、電荷分配プロトコルを行って、消費電力および/または放熱問題に対処することができる。
【0036】
方法400は、410において、プロセッサが利用可能な直流電流の劣化を検出することを含むことができる。一例では、直流電流の劣化を検出することは、直流電流の電圧を、プログラムされた基準電圧と比較することを含むことができる。たとえば、プロセッサは、1.4V〜1.6Vの電圧の直流電流を要求するように構成することができる。プロセッサに供給される電圧が1.4Vよりも下がる場合、劣化を通知することができる。一例では、方法400は、プログラムされる基準電圧の直流電流を供給するように直流電流供給器をプログラムすることを含むことができるため、プロセッサはプログラムされる基準電圧についての情報を有することができる。直流電流供給器をプログラムするようにプロセッサを構成することにより、電源またはDC−DC変換器の故障中に電圧低下に従うようにプロセッサに動作周波数を再設定するのに役立つ。
【0037】
方法400は、420において、劣化に選択的に対応することを含むこともできる。従来のプロセッサのように単にクラッシュするのではなく、劣化に対応することにより、第2のプロセッサにおいて、周波数可変プロセッサの状態を再現するのに役立つことができる。たとえば電源故障前のプロセッサの状態を再現することは、第2のプロセッサが、この方法を使用しない場合ならば失われていたかもしれないデータ、状態、および/または完了されていなかったかもしれないプロセッサの進行中のタスクを完了させるのに役立つ。一例では、劣化に選択的に対応することは、第2のプロセッサにおいて、周波数可変プロセッサの状態を再現するのに役立つように構成された再現データを記憶することを含むことができる。再現データは、たとえば、プロセッサ内のレジスタからのデータ、プロセッサ内のキャッシュ(たとえば、L1、L2)内のデータ、命令キュー内のデータ(たとえば、命令)等を含むことができる。レジスタデータは、たとえば、命令レジスタ、分岐レジスタ、アドレスレジスタ、制御レジスタ等からのものであることができる。レジスタデータ、キャッシュデータ、および命令キューデータについて述べたが、プロセッサの状態の再現に関連する他のデータを保存することができることを理解されたい。同様に、キャッシュ内のデータについて述べたが、このデータは、たとえば、キャッシュ内の特定のラインのデータがダーティであるか否かに基づいて選択的に保存することができる。
【0038】
記憶すべきデータは、方法400を実行しているプロセッサとは異なるソースから直流電流が供給されている様々なロケーションを宛先とすることができる。たとえば、データは、方法400を実行しているプロセッサを含むマルチプロセッササーバ内の別のプロセッサを宛先とすることができる。したがって、方法400を実行しているプロセッサは、データを保存場所に送る権利を取得する必要がある。したがって、一例では、劣化に対応することは、再現データの書き込みに関わるパニックトランザクションを発行することなどによりバスを調停することを含むことができる。パニックトランザクションおよびバス調停について述べたが、データを第2の場所に記憶する権利を取得することに関わる他のアクションをとることもできることを理解されたい。
【0039】
劣化に対応すること(420)は、劣化した直流電流に基づいてより低い周波数で動作するようにプロセッサを再設定することを含むこともできる。電流が劣化し続けるにつれて、プロセッサを、さらに低い周波数で動作するように再設定することができる。もちろん、或る時点で、プロセッサをそれより下に再プログラムすることが可能ではない場合がある動作下限に達し得る。
【0040】
図4には、各種アクションが連続して行われるものとして示すが、図4に示す各種アクションは略同時に行ってもよいことを理解されたい。例えば、第1のプロセスが劣化を検出することができ、その間に、第2のプロセスが劣化に対応することができる。2つのプロセスについて述べたが、より多数および/または少数のプロセスを採用してもよく、軽量プロセス、通常プロセス、スレッド、および他の手法を採用してもよいことを理解されたい。
【0041】
図5に、プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の例500を示す。劣化は、たとえば、DC−DC変換器の故障による電圧降下である。方法500は、たとえば、周波数可変プロセッサによって行うことができる。
【0042】
方法500は、510において、指定の基準電圧の直流電流を供給するように直流電流供給器(たとえば、DC−DC変換器)をプログラムすることを含むことができる。一例では、直流電流供給器をプログラムすることは、周波数可変プロセッサから直流電流供給器に電圧識別コード(VID)を送ることを含むことができる。方法500を実行している装置は、直流電流供給器をプログラムすることに関わるため、方法500は、直流電流供給器が供給すべき所望の電圧について利用可能な情報を有することができる。
【0043】
方法500は、520において、直流電流供給器が供給する直流電流を監視することを含むこともできる。たとえば、所望の電圧に関する情報を、検出された電圧と比較することができる。したがって、530において、直流電圧が許容範囲内にあるか否かについて判断することができる。たとえば、直流電圧が、プログラムされた基準電圧よりも、所望量を超えた分、下回る場合、方法500は、540において、プロセッサの状態を保存すること、および550において、プロセッサのデータを保存することを含むことができる。所望量は、たとえば、固定量(たとえば、1V)、相対量(たとえば、2%)、テーブルから検索される量等であることができる。状態および/またはデータは、たとえば、第2の直流電流が供給される装置に記憶することができる。利用可能な第2の直流電流を有する装置を選択することは、単一故障点となるように配置された装置に依存することに関連するダメージを軽減することに役立つ。状態および/またはデータは、たとえば、レジスタデータ、キャッシュデータ、命令キューデータ等を含むことができる。
【0044】
一例では、状態および/またはデータを保存すること(たとえば、レジスタデータ、キャッシュデータ、および命令キューデータを記憶すること)は、システムバスを介してプロセッサに動作可能に接続された遠隔バックアッププロセッサにデータ項目を送らせるようなアクションを含むことができる。遠隔バックアッププロセッサは、利用可能な第2のDC−DC変換器を有することができる。電圧は、直流電流供給器によって供給される電圧と異なってもよい。同様に、状態および/またはデータを保存することは、プロセッサに動作可能に接続された、独立したランダムアクセスメモリ(RAM)にデータ項目を送らせる、またはプロセッサに関連するキャッシュメモリにデータ項目を記憶させるようなアクションを含むことができ、RAMおよびキャッシュメモリには、直流電流供給器により供給される直流電流とは異なる直流電流が供給されている。
【0045】
アクション540および550は、方法500を実行しているプロセッサが利用可能な直流電流が劣化し続けている間に行うことができることを理解されたい。したがって、方法500は、図示していないが、アクション540および550を実行しているプロセッサの動作周波数を低下させることを含むことができる。周波数および電圧は、少なくとも部分的に、直流電流の電圧および/または電圧スルーレートに基づいて低下させることができる。
【0046】
一例では、方法は、コンピュータ可読媒体に記憶されるプロセッサ実行可能命令および/または動作として実施される。したがって、一例では、コンピュータ可読媒体は、プログラムされた基準電圧の直流電流を供給するように直流電流供給器をプログラムすることを含む方法を実行するように動作可能なプロセッサ実行可能命令を記憶することができる。直流電流供給器をプログラムすることは、電圧識別コードを直流電流供給器に与えることを含むことができる。方法は、直流電流の電圧が、所望の基準電圧よりも、所望量を超えて下回ると判断されたことを受けて、プロセッサの状態および/またはプロセッサのデータを選択的に保存することを含むこともできる。上記方法について、コンピュータ可読媒体に記憶されるものとして述べたが、本明細書において述べる他の方法もコンピュータ可読媒体に記憶することができることを理解されたい。
【0047】
図6に、対応プロトコルを選択することを含む、プロセッサに供給される電圧の劣化を検出し、これに応答する方法の例600を示す。方法600は、たとえば、周波数可変プロセッサで行うことが可能である。方法600は、610において、所望の基準電圧の直流電流を供給するように直流電流源をプログラムすることを含むことができる。たとえば、12Vを有する直流電流を受け取るDC−DC変換器を、5Vを生成するようにプログラムすることができる。DC−DC変換器は、たとえば、1V〜5Vから或る範囲の電圧を生成するようにプログラムすることができる。
【0048】
方法600は、620において、DC−DC変換器が供給する直流電流を監視することを含むこともできる。たとえば、供給される直流電流の電圧を監視することができる。電圧を監視すること、および電圧を所望の基準電圧と比較することは、直流電流の劣化の検出に役立つ。電圧を監視することはまた、たとえば、アクション660中に、監視されている電圧にプロセッサの動作周波数をマッチングさせるのにも役立つ。例によっては、すべての劣化が、方法600による保存、対応に繋がるわけではない。例えば、方法600は、プロセッサ状態のバックアップが最近行われ、プロセッサの動作停止に繋がる電源故障によるデータ損失の可能性に、バックアップで対処することができるということが分かるであろう。さらに、プロセッサはいずれの有意な作業も実行しなくてもよく、したがって保存は保証されない。したがって、方法600は、630において、直流電流の劣化に対応すべきか否かを判断することを含むことができる。判断がNOである場合、処理は620に戻り、かつ/または単に停止することができる。しかし、判断がYESである場合、処理は640に進むことができる。
【0049】
640において、電圧、周波数等のプロセッサ動作パラメータを求めることができる。周波数可変プロセッサは、動作電圧を略常時、かつ/または常時監視することができる。同様に、周波数可変プロセッサは、動作している周波数に関するデータを記憶することができる。したがって、方法600は、プロセッサが利用可能な直流電流の電圧、プロセッサが動作している周波数等に関する情報を有することができる。こういったパラメータは、少なくとも部分的に、保存すべきデータのタイプ、保存すべきデータ量、およびデータの保存先のような決定を左右する。したがって、方法600は、650において、データのタイプ、量、および/または宛先を考慮に入れた保存プロトコルを選択することを含むことができる。
【0050】
プロトコルを選択した後、方法600は、660において、保存プロトコルを実行することに続くことができる。選択された保存プロトコルを実行することは、プロセッサの状態を選択的に保存する、プロセッサのデータを選択的に保存する等のようなアクションを含むことができる。保存された状態および/またはデータは、たとえば、レジスタデータ、キャッシュデータ、命令キューデータ等を含むことができる。選択された保存プロトコルを実行する間に、直流電流は引き続き劣化し得る。したがって、方法600は、665において、660におけるプロトコルの実行と同時に、プロセッサが利用可能な直流電流に基づいてプロセッサの動作周波数を変更することを含むことができることを理解されたい。
【0051】
670において、追加の命令を実行すべきか否かについて判断することができる。たとえば、利用可能なプロセッサ電圧および動作周波数を再び調べて、あといくつ(もしあれば)の命令を実行することができるかを判断することができる。
【0052】
図7に、本明細書において述べたシステムの例および方法の例、ならびに等価物が動作することができるコンピューティング装置の例を示す。コンピューティング装置の例は、バス708によって動作可能に接続されたプロセッサ702、メモリ704、および入出力ポート710を備えたコンピュータ700であることができる。一例では、コンピュータ700は、電圧劣化の検出および/または対応に役立つように構成された検出/対応ロジック730を備えることができる。したがって、検出/対応ロジック730は、ハードウェアで実施されるか、ファームウェアで実施されるか、ソフトウェアで実施されるか、それともこれらの組み合わせで実施されるかに関わらず、チャージレーションドプロセッサ702に所望の電圧を供給するようにDC−DC変換器を制御する手段を提供することができる。検出/対応ロジック730は、DC−DC変換器が供給する直流電流が、所望の電圧を所望の許容差以内で実現するか否かを判断する手段、およびチャージレーションドプロセッサ702に関連する情報を選択的に保存する手段を提供することもできる。検出/対応ロジック730は、コンピュータ700に永久的に、かつ/または取り外し可能に取り付けることができる。
【0053】
一例では、プロセッサ702は、2つのプロセッサコア、少なくとも20メガバイトのL3キャッシュ、および命令キューを有する90nmテクノロジ、64ビットの、周波数が電圧に伴って可変するプロセッサであることができる。単一のプロセッサ702をコンピュータ700内に示すが、プロセッサ702はマルチプロセッササーバ内の1つのプロセッサであってもよいことを理解されたい。
【0054】
同様に、検出/対応ロジック730は、バス708を介してプロセッサ702に動作可能に接続されて示されるが、一例では、プロセッサ702内に配置し、かつ/または介在するバス708なしでプロセッサ702に直接接続されてもよいことを理解されたい。したがって、一例では、プロセッサ702は、2つのプロセッサコアを有する、周波数が電圧に伴って可変する、90nmテクノロジ、64ビット集積回路であることができる。この集積回路は、マルチプロセッササーバ内の1つのプロセッサとして動作し、DC−DC変換器から直流電流を受け取るように構成することができる。
【0055】
プロセッサ702は、電圧識別コードを与えることにより、選択された電圧を供給するように直流電流供給器を制御するように構成された電圧調整ロジックを備えることができる。プロセッサ702は、構造状態データ、ダーティキャッシュラインデータ、および命令キューデータのようなデータを選択的に、第2の直流電流を利用可能な装置に与えるように構成された対応ロジックを備えることもできる。第2の装置は、たとえば、システムバスを介してプロセッサ702に動作可能に接続された遠隔バックアッププロセッサ712、プロセッサ702に動作可能に接続された、独立したRAM、およびプロセッサ702に関連するキャッシュメモリであることができる。プロセッサ702は、直流電流を解析するように、かつ、直流電流の電圧が、選択された電圧よりも5%を超えて下回ると判断されたことを受けて、応答ロジックを選択的に制御するように構成された検出ロジックを備えることもできる。5%を許容差として述べるが、他の許容差を採用してもよいことを理解されたい。
【0056】
コンピュータ700の構成の例について概説するが、プロセッサ702は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含め、多種多様な各種プロセッサであることができる。メモリ704は、不揮発性メモリおよび/または揮発性メモリを含むことができる。不揮発性メモリとしては、ROM、PROM、EPROM、EEPROM等が挙げられるがこれらに限定されない。揮発性メモリとしては、たとえば、RAM、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、およびダイレクトRAMバスRAM(DRRAM)を挙げることができる。
【0057】
コンピュータ700に、たとえば入出力インタフェース(たとえば、カード、デバイス)718および入出力ポート710を介して、ディスク706を動作可能に接続することができる。ディスク706としては、磁気ディスクドライブ、半導体ディスクドライブ、フロッピーディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、および/またはメモリスティックのような装置を挙げることができるがこれらに限定されない。さらに、ディスク706は、CD−ROM、CD記録可能ドライブ(CD−Rドライブ)、CD書き換え可能ドライブ(CD−RW)、および/またはデジタルビデオROMドライブ(DVD ROM)のような光学ドライブを挙げることもできる。メモリ704は、たとえば、プロセス714および/またはデータ716を記憶することができる。ディスク706および/またはメモリ704は、コンピュータ700の資源の制御および割り振りを行うオペレーティングシステムを記憶することができる。
【0058】
バス708は、単一の内部バス相互接続アーキテクチャおよび/または他のバスまたはメッシュアーキテクチャであることができる。単一のバスを示すが、コンピュータ700は、図示していない他のバス(たとえば、PCIE、SATA、インフィニバンド、1394、USB、イーサネット(登録商標。以下同じ))を使用して各種装置、ロジック、および周辺機器と通信することが可能であることを理解されたい。バス708は、メモリバス、メモリコントローラ、周辺機器バス、外部バス、クロスバースイッチ、および/またはローカルバスを含むがこれらに限定されない様々なタイプのものであることができる。ローカルバスは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MSA)バス、拡張ISA(EISA)バス、周辺機器相互接続(PCI)バス、ユニバーサルシリアル(USB)バス、および小型コンピュータシステムインタフェース(SCSI)バスを含むがこれらに限定されない様々なものであることができる。
【0059】
コンピュータ700は、I/Oインタフェース718および入出力ポート710を介して入出力装置と連係することができる。入出力装置としては、キーボード、マイクロフォン、ポインティングおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク706、ネットワーク装置720等を挙げることができるがこれらに限定されない。入出力ポート710としては、シリアルポート、パラレルポート、およびUSBポートを挙げることができるがこれらに限定されない。
【0060】
コンピュータ700は、ネットワーク環境において動作可能であり、したがって、I/O装置718および/またはI/Oポート710を介してネットワーク装置720に接続することができる。ネットワーク装置720を通して、コンピュータ700はネットワークと連係することができる。ネットワークを通して、コンピュータ700は、遠隔コンピュータに論理的に接続することができる。コンピュータ700が対話することができるネットワークとしては、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、および他のネットワークが挙げられるがこれらに限定されない。ネットワーク装置720は、FDDI(Fiber Distributed Data Interface)、CDDI(Copper Distributed Data Interface)、イーサネット(IEEE802.3)、トークンリング(IEEE802.5)、ワイヤレスコンピュータ通信(IEEE802.11)、ブルートゥース(IEEE802.15.1)等を含むがこれらに限定されないLANテクノロジに接続することができる。同様に、ネットワーク装置720も、ポイントツーポイントリンク、統合サービスデジタルネットワーク(ISDN)のような回線交換ネットワーク、パケット交換ネットワーク、およびデジタル加入者回線(DSL)を含むがこれらに限定されないWANテクノロジに接続することができる。
【0061】
図8に、本明細書において述べたシステムの例と同様の検出/対応ロジック810を備えた画像形成装置の例800を示す。検出/対応ロジック810は、本明細書において述べたような実行可能な方法を実行するように構成されたロジックを含むことができる。検出/対応ロジック810は、画像形成装置800に永久的に、かつ/または取り外し可能に取り付けることができる。検出/対応ロジック810は、プロセッサ850の外部に示されているが、例によっては、プロセッサ850の内部に配置されることを理解されたい。同様に、画像形成装置800は、単一のプロセッサ850を備えて示されるが、複数のプロセッサを有してもよいことを理解されたい。
【0062】
画像形成装置800は、レンダリングするプリントデータを受け取ることができる。したがって、画像形成装置800は、プリントデータを記憶するように、またはより一般には画像処理に使用されるように構成されたメモリ820も備えることができる。画像形成装置800は、プリントデータから、プリンタ使用可能な画像を生成するように構成されたレンダリングロジック830を備えることもできる。レンダリングは、関わるデータのフォーマットおよび撮像装置のタイプに基づいて様々である。一般に、レンダリングロジック830は、上位レベルデータを、表示またはプリントするグラフィカル画像(たとえば、プリントに使用可能な画像)に変換する。たとえば、一形態は、三次元オブジェクトまたはシーンの数学的モデルを受け取り、ビットマップ画像に変換するレイトレーシングである。別の例は、HTMLを表示/プリントする画像に変換するプロセスである。画像形成装置800は、レンダリングする必要がないプリンタ使用可能なデータを受け取ってもよく、したがって、画像形成装置によってはレンダリングロジック830がなくてもよいことを理解されたい。
【0063】
画像形成装置800は、プリントに使用可能な画像から画像を印字媒体上に生成するように構成された画像形成機構840を備えることもできる。画像形成機構840は、撮像装置800のタイプに基づいて様々であることができ、レーザ撮像機構、他のトナーベースの撮像機構、インクジェット機構、デジタル撮像機構、または他の撮像再現エンジンを挙げることができる。画像形成装置800の動作を制御するロジックが実装されたプロセッサ850を備えることができる。一例では、プロセッサ850は、Java(登録商標。以下同じ)命令を実行することが可能なロジックを備える。画像形成装置800の他の構成要素については本明細書において触れないが、これらとしては、媒体処理/収容機構、センサ、コントローラ、および撮像プロセスに関わる他の構成要素を挙げることができる。検出/対応ロジック810はプロセッサ850の外部に示されるが、例によっては、プロセッサ850は検出/対応ロジック810を組み込んでもよいことを理解されたい。
【0064】
システムの例、方法の例等について、例を説明することによって示し、例についてかなり詳細に説明したが、添付の特許請求の範囲をこのような詳細に制限する、またはいずれによっても限定することは出願人らの意図ではない。もちろん、本明細書において述べたシステム、方法等を説明するために、構成要素または方法に考えられるあらゆる組み合わせを説明することは可能ではない。さらなる利点および変更が当業者には容易に思いつくであろう。したがって、本発明は、図示し説明した特定の詳細、代表的な装置、および説明に役立つ実施例に限定されない。したがって、本願は、添付の特許請求の範囲内にある代替、変更、および変形の包含を意図する。さらに、先の説明は、本発明の範囲の限定を意味するものではない。より正確に言えば、本発明の範囲は、添付の特許請求の範囲およびその等価物によって決定されるべきである。
【0065】
「備える、含む」という語が詳細な説明あるいは特許請求の範囲において用いられる限り、包括的であるように解釈されることを意図する。さらに、「または(あるいは)」(たとえば、Aまたは(あるいは)B)という語が詳細な説明または特許請求の範囲において用いられる限り、「Aまたは(あるいは)Bまたは(あるいは)その両方」を意味することを意図する。本出願人らが「Aまたは(あるいは)Bのみであって両方ではない」ことを示す意図がある場合には、「Aまたは(あるいは)Bのみであって両方ではない」とう語が用いられる。したがって、本明細書における「または(あるいは)」という語の使用は、包括的であり、排他的には使用されない。
【図面の簡単な説明】
【0066】
【図1】DC−DC変換器から直流電流(DC)を受け取るように構成されるプロセッサの一例を示した図である。
【図2】供給される直流電流の劣化を検出するように構成された周波数可変プロセッサの一例を示した図である。
【図3】供給される直流電流の劣化を検出し、これに対応するように構成された周波数可変プロセッサの一例に関連する各種要素を示した図である。
【図4】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の一例を示した図である。
【図5】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の別の例を示した図である。
【図6】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の別の例を示した図である。
【図7】本明細書に示すシステムおよび方法の例が動作することができるコンピューティング環境の一例を示した図である。
【図8】本明細書に示すシステムおよび方法の例が動作することができる画像形成装置の一例を示した図である。
【符号の説明】
【0067】
200 プロセッサ
210 直流電流供給器
220 電圧監視ロジック
230 電流監視ロジック
240 周波数監視ロジック
250 検出ロジック
260 電圧調整ロジック
270 対応ロジック

【特許請求の範囲】
【請求項1】
直流電流供給器から電圧を受け取るように構成されるプロセッサにおいて、
選択された電圧を供給するように前記直流電流供給器を制御するように構成される電圧調整ロジックと、
前記プロセッサに関連するデータ項目を選択的に、第2の直流電流供給器から第2の電圧が供給される装置に与えるように構成される対応ロジックと、
前記電圧調整ロジックおよび前記対応ロジックに動作可能に接続され、前記電圧を解析するように構成され、かつ、前記電圧が前記選択された電圧から許容差を超える量異なると判断されたことを受けて前記対応ロジックを選択的に制御するように構成される検出ロジックと、
を備えることを特徴とするプロセッサ。
【請求項2】
前記電圧調整ロジックは、電圧識別コードを与えることによって前記直流電流供給器を制御するように構成されることを特徴とする請求項1記載のプロセッサ。
【請求項3】
前記検出ロジックは、
前記電圧を監視するように構成される電圧監視ロジックと、
前記直流電流供給器によって供給される前記電流を監視するように構成される電流監視ロジックと、
前記プロセッサが動作している周波数を監視するように構成される周波数監視ロジックと、
を備えることを特徴とする請求項1記載のプロセッサ。
【請求項4】
前記データ項目は、構造状態データ、ダーティキャッシュラインデータ、および命令キューデータのうちの1つまたは複数を含むことを特徴とする請求項1記載のプロセッサ。
【請求項5】
前記対応ロジックは、前記データ項目を、システムバスを介して前記プロセッサに動作可能に接続された遠隔バックアッププロセッサ、前記プロセッサに動作可能に接続された、独立したランダムアクセスメモリ(RAM)、および前記プロセッサに関連するキャッシュメモリのうちの1つまたは複数に与えるように構成されることを特徴とする請求項1記載のプロセッサ。
【請求項6】
前記対応ロジックは、前記直流電流供給器から利用可能な前記電圧に少なくとも部分的に基づいて、前記プロセッサの動作周波数を変更するように構成されることを特徴とする請求項1記載のプロセッサ。
【請求項7】
2つのプロセッサコア、少なくとも20メガバイトのL3キャッシュ、および命令キューが有する90nmテクノロジ、64ビットの、周波数が電圧に伴って可変であるプロセッサであることを特徴とする請求項1記載のプロセッサ。
【請求項8】
マルチプロセッササーバ内の1つのプロセッサであることを特徴とする請求項1記載のプロセッサ。
【請求項9】
周波数可変プロセッサおいて実行可能な方法であって、
前記周波数可変プロセッサが利用可能な直流電流の劣化を検出することであって、前記直流電流の電圧をプログラムされた基準電圧と比較することを含む、ことと、
第2のプロセッサにおいて前記周波数可変プロセッサの状態を再現するのを容易にするために前記劣化に対して選択的に対応することであって、前記第2のプロセッサにおいて前記周波数可変プロセッサの前記状態を再現するのを容易にするように構成された再現データを記憶することを含む、ことと、
を含むことを特徴とする方法。
【請求項10】
前記プログラムされた基準電圧の前記直流電流を供給するように直流電流供給器をプログラムすることを含み、
前記劣化に対して選択的に対応することは、前記周波数可変プロセッサが利用可能な前記直流電流の状態に少なくとも部分的に基づいて、前記周波数可変プロセッサの動作周波数を再設定することを含む、
ことを特徴とする請求項9記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−99762(P2006−99762A)
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2005−257936(P2005−257936)
【出願日】平成17年9月6日(2005.9.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.ブルートゥース
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】