(57)【要約】【課題】直流電流の不良に関連するダメージを軽減する。【解決手段】  直流電流供給器２１０から電圧を受け取るように構成されるプロセッサ２００は、選択された電圧を供給するように直流電流供給器２１０を制御するように構成される電圧調整ロジック２６０と、プロセッサ２００に関連するデータ項目を選択的に、第２の直流電流供給器から第２の電圧が供給される装置に与えるように構成される対応ロジック２７０と、電圧調整ロジック２６０および対応ロジック２７０に動作可能に接続される検出ロジック２５０であって、電圧を解析するように、かつ、電圧が、選択された電圧から、許容差を超える量分異なると判断されたことを受けて、対応ロジック２７０を選択的に制御するように構成される検出ロジック２５０と、を備える。【選択図】      図１
2006099762.tif 000002
【特許請求の範囲】
【請求項１】
直流電流供給器から電圧を受け取るように構成されるプロセッサにおいて、
選択された電圧を供給するように前記直流電流供給器を制御するように構成される電圧調整ロジックと、
前記プロセッサに関連するデータ項目を選択的に、第２の直流電流供給器から第２の電圧が供給される装置に与えるように構成される対応ロジックと、
前記電圧調整ロジックおよび前記対応ロジックに動作可能に接続され、前記電圧を解析するように構成され、かつ、前記電圧が前記選択された電圧から許容差を超える量異なると判断されたことを受けて前記対応ロジックを選択的に制御するように構成される検出ロジックと、
を備えることを特徴とするプロセッサ。
【請求項２】
前記電圧調整ロジックは、電圧識別コードを与えることによって前記直流電流供給器を制御するように構成されることを特徴とする請求項１記載のプロセッサ。
【請求項３】
前記検出ロジックは、
前記電圧を監視するように構成される電圧監視ロジックと、
前記直流電流供給器によって供給される前記電流を監視するように構成される電流監視ロジックと、
前記プロセッサが動作している周波数を監視するように構成される周波数監視ロジックと、
を備えることを特徴とする請求項１記載のプロセッサ。
【請求項４】
前記データ項目は、構造状態データ、ダーティキャッシュラインデータ、および命令キューデータのうちの１つまたは複数を含むことを特徴とする請求項１記載のプロセッサ。
【請求項５】
前記対応ロジックは、前記データ項目を、システムバスを介して前記プロセッサに動作可能に接続された遠隔バックアッププロセッサ、前記プロセッサに動作可能に接続された、独立したランダムアクセスメモリ（ＲＡＭ）、および前記プロセッサに関連するキャッシュメモリのうちの１つまたは複数に与えるように構成されることを特徴とする請求項１記載のプロセッサ。
【請求項６】
前記対応ロジックは、前記直流電流供給器から利用可能な前記電圧に少なくとも部分的に基づいて、前記プロセッサの動作周波数を変更するように構成されることを特徴とする請求項１記載のプロセッサ。
【請求項７】
２つのプロセッサコア、少なくとも２０メガバイトのＬ３キャッシュ、および命令キューが有する９０ｎｍテクノロジ、６４ビットの、周波数が電圧に伴って可変であるプロセッサであることを特徴とする請求項１記載のプロセッサ。
【請求項８】
マルチプロセッササーバ内の１つのプロセッサであることを特徴とする請求項１記載のプロセッサ。
【請求項９】
周波数可変プロセッサおいて実行可能な方法であって、
前記周波数可変プロセッサが利用可能な直流電流の劣化を検出することであって、前記直流電流の電圧をプログラムされた基準電圧と比較することを含む、ことと、
第２のプロセッサにおいて前記周波数可変プロセッサの状態を再現するのを容易にするために前記劣化に対して選択的に対応することであって、前記第２のプロセッサにおいて前記周波数可変プロセッサの前記状態を再現するのを容易にするように構成された再現データを記憶することを含む、ことと、
を含むことを特徴とする方法。
【請求項１０】
前記プログラムされた基準電圧の前記直流電流を供給するように直流電流供給器をプログラムすることを含み、
前記劣化に対して選択的に対応することは、前記周波数可変プロセッサが利用可能な前記直流電流の状態に少なくとも部分的に基づいて、前記周波数可変プロセッサの動作周波数を再設定することを含む、
ことを特徴とする請求項９記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直流電力の劣化に対するプロセッサの対応技術に関する。
【背景技術】
【０００２】
プロセッサは、大半の集積回路のように、動作に直流電流を必要とする。直流電流（ＤＣ）は、プロセッサが存在するシステムに繋がっている電源によって発生させることができる。電源は第１の電圧（たとえば、１２Ｖ）の第１の直流電流を発生させることができ一方で、プロセッサは、これと異なる第２の電圧（たとえば、５Ｖ、２．５Ｖ、１．２５Ｖ）の直流電流を必要とする場合がある。したがって、多くのコンピューティングシステムは、第１の直流電流から第２の直流電流を発生させるように構成されたＤＣ−ＤＣ変換器を備える。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
プロセッサは所定の特性（たとえば、１．５Ｖ）を有する直流電流を必要とするが、「完璧な」電圧を実現することは不可能であり、かつ／または常に維持することは不可能である。したがって、プロセッサが許容することができる範囲内にある限り、プロセッサに供給される直流電流に様々な特性を許容することができる。たとえば、電圧１．５Ｖ±２％を有する直流電流を許容することができる。しかし、直流電流の電圧が許容範囲から逸脱する場合、プロセッサは正常な動作を続けることができなくなる。これはまさにプロセッサの停止に繋がる可能性があり、プロセッサの停止は、データ、状態の損失等に繋がる恐れがある。直流電流の電圧は、構成要素が摩耗しつつあること、電源が故障しつつあること等のような理由により、指定範囲から逸脱し得る。
【０００４】
特定のタイプのプロセッサは、チャージレーションドプロセッサ(charge rationed processor)と呼ばれる。チャージレーションドプロセッサは、たとえば、周波数可変プロセッサである。こういった種類のプロセッサは、プロセッサの所望の動作特性に基づいて変化する特性を持った直流電流を必要とする場合がある。たとえば、チャージレーションドプロセッサは、第１の周波数で動作するには第１の電圧の直流電流を必要とする。チャージレーションドプロセッサは、第２の周波数で動作するには第２の電圧の直流電流を必要とする。一般に、動作周波数が高いほど高い電圧が必要であり、動作周波数が低いほど、低い電圧で足りる。チャージレーションドプロセッサに関連する電圧、電流、周波数等の間には、明確に定義することができる関係がある。たとえば、式
Ｖ＝ＩＲ（Ｖ＝電圧、Ｉ＝電流、Ｒ＝抵抗）
Ｐ＝ＶＩ（Ｐ＝電力）、および
Ｐ≒ＣｆＶ2（ｆ＝周波数）
が、様々な特性間の関係の例を説明するために有用である。
【課題を解決するための手段】
【０００５】
本発明によれば、直流電流供給器から電圧を受け取るように構成されるプロセッサにおいて、選択された電圧を供給するように前記直流電流供給器を制御するように構成される電圧調整ロジックと、前記プロセッサに関連するデータ項目を選択的に、第２の直流電流供給器から第２の電圧が供給される装置に与えるように構成される対応ロジックと、前記電圧調整ロジックおよび前記対応ロジックに動作可能に接続され、前記電圧を解析するように構成され、かつ、前記電圧が前記選択された電圧から許容差を超える量異なると判断されたことを受けて前記対応ロジックを選択的に制御するように構成される検出ロジックと、を備える
本明細書に組み込まれてその一部を成す添付図面に、本発明の各種システム、方法の例、および各種態様の他の実施形態を示す。図中に示す要素の境界（たとえば、枠、枠群、または他の形状）は、境界の一例を表すことが理解されよう。当業者は、１つの要素を複数の要素として設計してもよく、または複数の要素を１つの要素として設計してもよいことを理解しよう。別の要素の内部構成要素として示される要素を外部構成要素として実施してもよく、またこの逆も同様である。さらに、要素は一定の縮尺で描かれているわけではない。
【発明を実施するための最良の形態】
【０００６】
周波数可変プロセッサは様々な周波数で動作することができる。周波数可変プロセッサが動作する周波数は、周波数可変プロセッサに供給される直流電流の電圧に関係する。たとえば、周波数が高いほど、高い電圧を必要とし、周波数が低いほど、低い電圧で足りる。周波数可変プロセッサは、所望の電圧の直流電流を与えるように直流電流供給器をプログラムするように構成することができる。したがって、周波数可変プロセッサは、直流電流供給器が供給する直流電流が、所望の電圧に対する許容範囲内にあるときを検出するように構成することもできる。周波数可変プロセッサは、例えば、供給される直流電流が許容範囲から逸脱した（たとえば、所望の電圧を、５％を超えて下回る）ことを検出した場合、データ損失の可能性を回避するために、アクションをとることができる。アクションとしては、たとえば、現在、プロセッサ内にあるデータ（たとえば、ダーティキャッシュライン）の保存、プロセッサに関連するプロセッサ状態（たとえば、構造状態）の保存、データおよび／または状態のプロセッサ間退避の開始、劣化しつつある直流電流への動作周波数のマッチング等を挙げることができる。したがって、従来のプロセッサのように振る舞い、供給電圧が所望の範囲から逸脱したときには単に故障するのではなく、周波数可変プロセッサは、劣化した電圧を検出してこれに対応することができるため、直流電流の不良に関連するダメージを軽減することができる可能性がある。
【０００７】
以下に、本明細書において採用する、選択された用語の定義を含める。定義には、用語の範囲内に含まれ、実施態様に使用することができる構成要素の様々な例および／または形態が含まれる。例は限定を意図するものではない。用語の単数形および複数形の両方が定義内に存在することができる。
【０００８】
本明細書において使用する「コンピュータ可読媒体」は、信号、命令、および／またはデータの提供に直接、または間接的に関わる媒体を指す。コンピュータ可読媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定されない形態をとることができる。不揮発性媒体としては、たとえば、光ディスクや磁気ディスク等を挙げることができる。揮発性媒体としては、たとえば、半導体メモリ、ダイナミックメモリ等を挙げることができる。伝送媒体としては、たとえば、同軸ケーブル、銅線、光ファイバケーブル等を挙げることができる。伝送媒体は、電波および赤外線データ通信中に生成されるように、電磁放射の形態をとることもでき、または１つまたは複数の信号群の形態をとることもできる。一般的な形態のコンピュータ可読媒体としては、フロッピーディスク（登録商標。以下同じ）、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、他の光媒体、パンチカード、紙テープ、パターンになった穴を有する他の物理的な媒体、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、他のメモリチップやカード、メモリスティック、搬送波／パルス、およびコンピュータ、プロセッサ、または他の電子装置が読み取り可能な他の媒体が挙げられるがこれらに限定されない。インターネットのようなネットワークを介して命令または他のソフトウェアを伝搬するために使用される信号は、「コンピュータ可読媒体」とみなすことができる。
【０００９】
本明細書において使用する「データ記憶装置」は、データを記憶することができる物理的および／または論理的な要素を指す。データ記憶装置は、たとえば、データベース、テーブル、ファイル、リスト、キュー、ヒープ、メモリ、レジスタ等であることができる。データ記憶装置は、１つの論理的および／または物理的な要素に存在してもよく、かつ／または２つ以上の論理的および／または物理的な要素に分散してもよい。
【００１０】
本明細書において使用する「ロジック」としては、機能またはアクションを実行し、かつ／または別のロジック、方法、および／またはシステムから機能あるいはアクションを実行させるハードウェア、ファームウェア、ソフトウェア、および／またはそれぞれの組み合わせが挙げられるがこれらに限定されない。たとえば、所望の用途または必要性に基づいて、ロジックとしては、ソフトウェア制御マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）のようなディスクリートロジック、アナログ回路、デジタル回路、プログラム論理回路、命令を含むメモリ装置等を挙げることができる。ロジックは、１つまたは複数のゲート、ゲートの組み合わせ、または他の回路構成要素を備えていてもよい。ロジックはまた、ソフトウェアとして完全に具現することもできる。複数の論理ロジックについて述べる場合、複数の論理ロジックを１つの物理ロジックに組み込んでもよい。同様に、単一の論理ロジックについて述べる場合、その単一の論理ロジックを複数の物理ロジックに分散させてもよい。
【００１１】
「動作可能な接続」または要素を「動作可能に接続」する接続は、信号、物理的な通信、および／または論理的な通信を送信かつ／または受信することができる接続である。通常、動作可能な接続は、物理的なインタフェース、電気的なインタフェース、および／またはデータインタフェースを備えるが、動作可能な接続には、動作可能な制御に十分なこれらまたは他のタイプの接続の異なる組み合わせを含むことができることに留意されたい。たとえば、２つの要素は、直接、またはプロセッサ、オペレーティングシステム、ロジック、ソフトウェア、または他の要素のような１つまたは複数の中間要素を通して互いに通信可能である（信号をやりとりする）ことにより、動作可能に接続することができる。論理的および／または物理的な通信チャネルを、動作可能な接続の作成に使用することが可能である。
【００１２】
本明細書において使用する「信号」としては、１つまたは複数の電気信号、光信号、アナログ信号、デジタル信号、データ、１つまたは複数のコンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、または受信、送信、および／または検出が可能な他の手段が挙げられるがこれらに限定されない。
【００１３】
本明細書において使用する「ソフトウェア」としては、読み出し、解釈、コンパイル、および／または実行が可能であり、コンピュータ、プロセッサ、または他の電子装置に機能、アクション、および／または振る舞いを所望のように実行させる１つまたは複数のコンピュータ命令およびプロセッサ命令が挙げられるがこれらに限定されない。命令は、ルーチン、アルゴリズム、モジュール、メソッド、スレッド、および／またはダイナミックリンクライブラリからの別個のアプリケーションまたはコードを含むプログラムのような様々な形態で具現することができる。ソフトウェアはまた、様々な実行可能かつ／またはロード可能な形態で実施することも可能であり、スタンドアロンプログラム、関数呼び出し（ローカルおよび／またはリモート）、サーブレット、アプレット、メモリに記憶される命令、オペレーティングシステムの一部、または他のタイプの実行可能命令が挙げられるがこれらに限定されない。ソフトウェアの形態は、たとえば、所望の用途の要件、実行される環境、および／または設計者／プログラマの要望等に応じ得ることが当業者に理解されよう。コンピュータ可読かつ／または実行可能命令は、１つのロジックに配置されてもよく、かつ／または２つ以上の通信し、協働し、かつ／または並列処理するロジックに分散してもよく、したがって、直列、並列、大量並列、または他の様式でロードし、かつ／または実行することができることも理解されよう。
【００１４】
本明細書において述べるシステムおよび方法の例の各種構成要素の実施に適したソフトウェアとしては、Ｊａｖａ、Ｐａｓｃａｌ、Ｃ＃、Ｃ＋＋、Ｃ、ＣＧＩ、Ｐｅｒｌ、ＳＱＬ、ＡＰＩ、ＳＤＫ、アセンブリ、ファームウェア、マイクロコード、および／または他の言語およびツールのようなプログラミング言語およびツールが挙げられる。ソフトウェアは、システム全体であるか、それともシステムの構成要素であるかに関わらず、製品として具現して保持し、または先に定義したコンピュータ可読媒体の一部として提供することができる。別の形態のソフトウェアとしては、ネットワークまたは他の通信媒体を介してソフトウェアのプログラムコードを受信側に送信する信号を挙げることができる。したがって、一例では、コンピュータ可読媒体は、ウェブサーバからユーザにダウンロード可能なような、ソフトウェア／ファームウェアを表す信号の形態を有する。別の例では、コンピュータ可読媒体は、ウェブサーバに保持されるようなソフトウェア／ファームウェアの形態を有する。他の形態を使用することも可能である。
【００１５】
以下の詳細な説明の部分によっては、メモリ内のデータビットに対する演算のアルゴリズムおよび象徴的な表現に関して提示される。これらアルゴリズム的な説明および表現は、当業者が各自の研究の趣旨を他人に伝達するために用いる手段である。アルゴリズムは、本明細書では、また一般に、結果を生み出す一連の演算と考えられる。動作には、物理量の物理的な操作を含むことができる。通常、必ずしもそうとは限らないが、物理量は、ロジック等で記憶、転送、結合、比較、およびその他の様式での操作が可能な電気信号または磁気信号の形態をとる。
【００１６】
主に、一般的な使用法であるという理由により、こういった信号をビット、値、要素、シンボル、キャラクタ、用語、数字等で呼ぶことが折に触れて都合のよいことが証明されている。しかし、これらおよび同様の用語は、適切な物理量に関連付けられるべきであり、単に、これら数量に貼られる都合のよいラベルにすぎないことを念頭に置かれたい。特記されない限り、説明全体を通して、処理、計算、算出、決定、表示等のような用語は、コンピュータシステム、ロジック、プロセッサ、または物理（電子）量として表されたデータを操作し変換する同様の電子装置のアクションおよびプロセスを指すものと理解される。
【００１７】
図１に、ＤＣ−ＤＣ変換器１２０からＤＣ電圧を受け取るように構成されるプロセッサの例１００を示す。プロセッサ１００は、メモリ１１０に動作可能に接続し、データ通信することができる。したがって、データ値をメモリ１１０からプロセッサ１００に読み出すことができ、プロセッサ１００において、データ値をキャッシュ（たとえば、Ｌ１キャッシュ１０２、Ｌ２キャッシュ１０４）に記憶することができる。データ値は、プロセッサ１００によって実行される命令によって操作することもできる。命令は、たとえば、命令パイプライン１０８に並べることができる。プロセッサ１００は、命令アドレス、分岐アドレス、メモリアドレス、制御情報、計算値等を記憶するレジスタ１０６も備えることができる。キャッシュ、レジスタ１０６、命令パイプライン１０８等のある時点の内容は、プロセッサ１００の状態、またはプロセッサ１００の状況と呼ぶことができる。
【００１８】
プロセッサ１００には、ＤＣ−ＤＣ変換器１２０のようなＤＣ電圧源から直流電流の供給を受けることができる。そしてＤＣ電圧源には、電源１３０から直流電流を供給することができる。電源１３０は、第１の電圧（たとえば、１２Ｖ）の第１の直流電流をＤＣ−ＤＣ変換器１２０に供給することができる。ＤＣ−ＤＣ変換器１２０は次いで、第２の電圧（たとえば、５Ｖ）の第２の直流電流をプロセッサ１００に供給することができる。プロセッサ１００は、例えば、周波数可変プロセッサであることができ、したがって、周波数変更をサポートするために、異なる電圧の異なる直流電流を異なる時間に供給するようにＤＣ−ＤＣ変換器１２０を制御することができる。
【００１９】
プロセッサ１００は、同時に切り替え可能な多数のトランジスタを備える。したがって、電源１３０および／またはＤＣ−ＤＣ変換器１２０を、大きな過渡電力要件を満たし、高速過渡中に安定した電圧供給を保つように設計することができる。プロセッサ１００は、例えば、指定の電圧の直流電流を供給するようにＤＣ−ＤＣ変換器１２０を制御するようにプログラムすることができる。様々な指定の電圧において、プロセッサ１００は、動作可能な直流電流の電圧範囲を有することができる。しかし、プロセッサ１００は、それよりも低くなると動作することができなくなる電圧下限を有する場合がある。したがって、プロセッサ１００は、ＤＣ−ＤＣ変換器１２０が供給する直流電流の電圧を監視し、所望の特性を満たさない場合に対応するように構成することができる。ＤＣ−ＤＣ変換器１２０が供給する電圧が、所望の電圧範囲内にない（たとえば、電圧下限に近づいている）場合、従来のプロセッサは機能を停止し得る。
【００２０】
プロセッサの例１００は、ＤＣ−ＤＣ変換器１２０が供給する直流電流と所望の直流電流との間の不一致を検出するように構成することができる。不一致が特定の許容差を超える（たとえば、５％を超えて低い）場合、プロセッサ１００はこれに対応して、プロセッサ１００に関連する状態および／またはデータを保存しようとする。たとえば、プロセッサ１００は、これに対応して、構造状態データ、ダーティキャッシュラインデータ、命令キューデータ等のようなデータを保存することができる。プロセッサ１００は、このデータを、ＤＣ−ＤＣ変換器１２０によって供給される直流電流とは別の直流電流が供給されるロケーションに保存しようとするように構成することができる。例えば、プロセッサ１００は、データを、システムバスによりプロセッサ１００に動作可能に接続された遠隔バックアッププロセッサ、プロセッサ１００に動作可能に接続された、独立したランダムアクセスメモリ（ＲＡＭ）、およびプロセッサ１００に関連するキャッシュメモリのような装置に与えるようにすることができる。さらに、プロセッサ１００は、プロセッサ１００が利用可能な論理プロセッサ退避関数を呼び出し、それによってプロセッサ１００の内容を、異なる直流電流を利用することが可能な別のプロセッサに退避させるように構成することができる。一例では、プロセッサ１００は、Ｉｔａｎｉｕｍ（登録商標）ファミリのプロセッサである。
【００２１】
ＤＣ−ＤＣ変換器１２０が供給する電圧と所望の電圧との間の不一致の一例は、所望のレベル未満に下がった直流電流の電圧である。電圧は、電源１３０が故障していること、ＤＣ−ＤＣ変換器１２０が故障していること、各種要素の発熱により、直流電流が流れる各種構成要素の抵抗が上がったこと等により降下し得る。したがって、劣化は、瞬時に、徐々に、あるいは断続的に発生する可能性がある。劣化はまた、電源が故障し、直流電流の供給を停止した場合のように完全な劣化である場合もあれば、発熱が電圧供給要素の抵抗に影響を与える場合のように不完全な劣化である場合もある。プロセッサ１００は、劣化を検出し、これに対応しようとすることができる。プロセッサ１００の対応能力は、少なくとも部分的に、プロセッサ１００に存在する静電容量、プロセッサ１００を変換器１２０に接続しているパッケージング、および／またはＤＣ−ＤＣ変換器１２０に依存する。こういった要素に存在する静電容量が多いほど、プロセッサ１００は、劣化への対応に時間を長くかけることができる。プロセッサ１００が利用可能な電圧が降下するレート（たとえば、電圧スルーレート）は、少なくとも部分的に、プロセッサ１００の静電容量、パッケージ、および／またはＤＣ−ＤＣ変換器１２０に依存し得る。プロセッサ１００が対応することができる一方法は、利用可能な直流電流に基づいて、動作周波数を連続して低下させることである。電圧が降下するにつれて、プロセッサ１００は、電圧低下に従うように周波数を操作することができる。したがって、単に停止するのではなく、プロセッサ１００は、劣化中にいくつかの命令を実行し続けることができる。命令を使用して、状態、データの保存等を行うことができる。
【００２２】
図２に、ＤＣ−ＤＣ変換器２１０のようなソースから直流電流を受け取り、劣化電圧に繋がる供給直流電流の劣化（たとえば、低下）を検出するように構成された、周波数可変プロセッサ２００を示す。プロセッサ２００は、選択された電圧を供給するように直流電流供給器２１０を制御するように構成された電圧調整ロジック２６０を備えることができる。たとえば、プロセッサ２００は、チャージレーションドプロトコルを実施している周波数可変プロセッサである。したがって、プロセッサ２００は、様々な要因（たとえば、負荷、温度）に対応して、時により異なる周波数で動作するようにプログラムすることができる。したがって、プロセッサ２００は、異なる電圧の直流電流を異なる時間に供給するようにＤＣ−ＤＣ変換器２１０を制御することができる。
【００２３】
異なる周波数で命令を実行するプロセッサ２００の能力により、プロセッサ２００は低下しつつある電圧に対応することができる。電圧が降下すると、プロセッサ２００は動作周波数を低下させ、ＤＣ−ＤＣ変換器２１０および／または電源（図示せず）が故障している間であっても命令を実行し続けることができる。命令は、たとえば、プロセッサ２００に関連する状態および／またはデータの保存に関連することができる。したがって、プロセッサ２００は、プロセッサ２００に関連するデータ項目を選択的に、第２の直流電流供給器から第２の直流電流が供給される装置に与えるように構成された対応ロジック２７０を備えることができる。データ項目を、異なる直流電流が供給される装置に与えることにより、プロセッサ２００に対する電圧損失に関連するダメージが軽減する。たとえば、十分な状態およびデータを、別の電圧を利用可能な別の装置に保存することができる場合、第２のプロセッサが、その状態およびデータを取得して、電圧損失が検出され、電圧損失に対応したときにプロセッサ２００が中断したところに復帰することが可能である。
【００２４】
プロセッサ２００は、電圧調整ロジック２６０および対応ロジック２７０に動作可能に接続された検出ロジック２５０を備えることができる。検出ロジック２５０は、ＤＣ−ＤＣ変換器２１０のような電圧源によりプロセッサ２００に供給される直流電流を解析するように構成することができる。検出ロジック２５０はまた、直流電流の電圧が許容差を超えた量分、あるべき値を下回ると判断されたことを受けて、対応ロジック２７０を選択的に制御するように構成することも可能である。選択的制御は、プロセッサ２００に関連する状態および／またはデータを記憶するように対応ロジック２７０に通知することを含むことができる。選択的制御は、利用可能な直流電流の電圧の低下に比例して動作周波数を低下させるようにプロセッサ２００を制御するように対応ロジック２７０に通知することを含むことができる。
【００２５】
プロセッサ２００は、プロセッサ２００に電圧２．５Ｖを有する直流電流を供給するようにＤＣ−ＤＣ変換器２１０をプログラムすることができる。検出ロジック２５０は、電圧が、たとえば、２．２５Ｖしかないと判断した場合、状態およびデータを保存しようとするように対応ロジック２７０を制御することができる。一例では、検出ロジック２５０は、プログラムされた様々な電圧の許容値を列挙したテーブル（図示せず）を調べることができる。別の例では、検出ロジック２５０は、供給電圧がそれ以上降下すべきではない基準電圧の割合を計算することができる。テーブルおよびアルゴリズム的な手法について述べたが、検出ロジック２５０は、他の技法を使用してアクションをとるのに値する電圧降下を検出してもよいことを理解されたい。
【００２６】
電圧の小さな変動が予想されるため、例によっては、検出ロジック２５０は、瞬間的な劣化ではなく、特定の持続時間を有する劣化が発生した後で対応ロジック２７０を制御するように構成することができる。別の例では、プロセッサ２００および検出ロジック２５０は、実際の劣化が発生するのを待たずに、履歴データに基づいて劣化が発生する可能性が高いと予測することができる。たとえば、電圧データ、電流データ、および周波数データを、差し迫ったＤＣ−ＤＣ変換器２１０の故障および／または電源の故障を示すパターンまたは傾向を求めて調べることができる。別の例では、検出ロジック２５０は、劣化が検出されたときの様々な状況に基づいて、異なる量および／またはタイプのデータを保存しようとするように対応ロジック２７０を制御することができる。例えば、プロセッサ２００が第１の、より高い周波数で動作し、第１の、より高い電圧が供給されている間に劣化が検出される場合、プロセッサ２００は、状態および／またはデータの保存に第１の、より長い量の時間を有することができる。これは、プロセッサ２００が、電圧が動作下限に向かって降下しているとき、より多数の周波数セットを通してサイクルダウンすることが可能である場合があるためである。さらなる例示として、プロセッサ２００が第２の、より低い周波数で動作し、第２の、より低い電圧が供給されている間に劣化が検出される場合、プロセッサ２００は、状態および／またはデータの保存に第２の、より短い量の時間を有することができる。これは、プロセッサ２００が、電圧が動作下限に向かって低下するときにより少数の周波数セットを通してしかサイクルダウンすることができない場合があるためである。
【００２７】
電圧が降下する速度は、プロセッサ２００および／またはＤＣ−ＤＣ変換器２１０に存在する静電容量に依存し得る。一例では、検出ロジック２５０および／または対応ロジック２７０は、劣化後の電圧スルーレートを計算して、保存すべきデータのタイプおよび／または量を判断することができる。スルーレートが高速であるほど、必然的に保存されるデータは少なくなり、スルーレートが低速であるほど、より多くのデータを保存することができる。さらに、データの保存先を判断する際に、劣化時に存在する状況（たとえば、電圧、周波数）および／またはスルーレートを考慮することができる。スルーレートが高速であり、かつ電圧／周波数が低いほど、データを、より高速にアクセス可能な装置に保存する必要があり、スルーレートが低速であり、かつ電圧／周波数が高いほど、データを、アクセスにより時間を要する装置に保存することが可能であり得る。劣化に対応する時間を多くするために、プロセッサ２００は、例によっては、検出ロジック２５０により制御可能な追加のキャパシタを備えることができる。追加のキャパシタは、一時的な直流電流を供給して、対応ロジック２７０が状態および／またはデータを保存できるようにすることができる。
【００２８】
劣化が発生した、または劣化が発生しようとしていることの検出を容易にするために、かつ／または劣化への対応を容易にするために、検出ロジック２５０は、電圧監視ロジック２２０、電流監視ロジック２３０、および／または周波数監視ロジック２４０を備えることができる。電圧監視ロジック２２０は、ＤＣ−ＤＣ変換器が供給する直流電流の電圧を監視することができる。電圧調整ロジック２６０は、ＤＣ−ＤＣ変換器２１０を、所望の電圧の直流電流を供給させるようにプログラムすることを課せられるため、電圧監視ロジック２２０は、所望の電圧に関して電圧調整ロジック２６０と通信する。電流監視ロジック２３０は、プロセッサ２００に流入する電流、および／またはプロセッサ２００から流出する電流を監視することができる。同様に、周波数監視ロジック２４０は、プロセッサ２００が動作している周波数を監視することができる。電圧、電流、および周波数は、プロセッサにおいて確定的な関係を有するため、検出ロジック２５０は、対応ロジック２７０を制御すべきか否かを判断する際に、電圧監視ロジック２２０、電流監視ロジック２３０、および周波数監視ロジック２４０のうちの１つ、２つ、および／または３つすべてを採用することができる。一例では、電圧監視ロジック２２０のような第１のロジックが、劣化が発生したことの第１の指示を与えることができる。次いで、検出ロジック２５０は、電流監視ロジック２３０からの入手可能なデータを調べることにより、電圧監視ロジック２２０からの指示を再確認することができる。
【００２９】
図３に、周波数可変プロセッサに供給される直流電流の劣化を検出し、これに応答するように構成された周波数可変プロセッサに関連する各種要素の回路図を示す。プロセッサ３００と記された図３の右側には、周波数可変プロセッサの一例に配置される要素を示し、ＤＣ−ＤＣ変換器３４０と記された図３の左側には、直流電流供給器の一例に配置される要素を示す。
【００３０】
ＤＣ−ＤＣ変換器３４０の部分には、ＤＣ−ＤＣ変換器が受け取っている電圧Ｖinを有する直流電流を示し、その一方で、プロセッサ３００の部分には、ＤＣ−ＤＣ変換器３４０が発生させる電圧との比較に利用することができ、プロセッサ３００の部分の負荷（ダイ）に供給される電圧Ｖrefの直流電流を示す。プロセッサ３００の部分は、ＤＣ−ＤＣ変換器３４０に電圧Ｖinの直流電流から所望の電圧Ｖrefの直流電流を発生させるようにＤＣ−ＤＣ制御ロジック３３０を制御するように構成されたＶＩＤ（電圧識別）制御ロジック３２０を備えることができる。一例では、ＶＩＤ制御ロジック３２０は、電圧識別コードをＤＣ−ＤＣ制御ロジック３３０に与えることにより、ＤＣ−ＤＣ制御ロジック３３０を制御することができる。
【００３１】
プロセッサ３００の部分は、ＤＣ−ＤＣ変換器３４０が供給する直流電流の電圧を、負荷（ダイ）が望む電圧Ｖrefと比較するように構成された検出ロジック３１０を備えることもできる。検出ロジック３１０が、負荷に供給される電圧が、Ｖrefと比較した場合に許容パラメータ外であり、ＤＣ−ＤＣ変換器３４０の故障または電源の故障が発生している可能性があると判断する場合、検出ロジック３１０は、ＤＣ−ＤＣ制御ロジック３３０に、電圧を徐々に低くすることを通してサイクルダウンさせて、電源故障に対してグレースフルな対処を提供するようにＶＩＤ制御ロジック３２０を制御することを含め、アクションをとることができる。グレースフルな対処は、状態および／またはデータをプロセッサに保存することを含むことができる。別法として、ＤＣ−ＤＣ変換器３４０がもはや制御可能ではない場合、プロセッサ３００は、周波数を、たとえば、プロセッサ３００および／またはＤＣ−ＤＣ変換器３４０の静電容量により利用可能な電圧によってサポート可能なより低いレベルに切り替えることができる。
【００３２】
一例では、グレースフルな対応を容易にするために、またプロセッサ３００に、電源故障に対応するより多くの時間を提供するために、プロセッサ３００には、直流電流をプロセッサ３００に一時的に供給するように構成された劣化用キャパシタ（図示せず）を備えていても良い。
【００３３】
方法の例については、図４、図５、および図６の流れ図を参照することでよりよく理解することができる。説明を簡易にするために、図示の方法は一連のブロックとして示され、説明されるが、方法はブロックの順序によって制限されず、ブロックによっては図示し説明する順序と異なる順序で行われてもよく、かつ／または他のブロックと同時に行われてもよいことを理解されたい。さらに、図示のブロックがすべて、方法を実施するために必要であるわけでない。ブロックは、結合することも可能であり、また複数の構成要素に分けることも可能である。さらに、追加および／または代替の方法が、図示していない追加のブロックを採用することも可能である。図には、各種アクションが連続して行われるものとして示すが、各種アクションは同時に行われてもよく、略同時に行われてもよく、かつ／または実質的に異なる時点で行われてもよいことを理解されたい。
【００３４】
図示の要素は、ロジックに実装することができる「処理ブロック」を示す。一例では、処理ブロックは、アクションの実行、状態の変更、および／または判断を行わせるようコンピュータ、プロセッサ、および／または論理回路に対応させるための実行可能命令を表すことができる。したがって、説明する方法は、コンピュータ可読媒体によって提供されるプロセッサ実行可能命令および／または動作として実施することができる。別の例では、処理ブロックは、アナログ回路、デジタル信号プロセッサ回路、特定用途向け集積回路（ＡＳＩＣ）、または他の論理回路のような機能的に等価の回路によって行われる機能および／またはアクションを表すことができる。流れ図には、説明する例の実施態様を限定する意図はない。むしろ、図は、当業者が回路の設計／組み立て、ソフトウェアの生成、または図示の処理を行うようにハードウェアおよびソフトウェアの組み合わせの使用に使用することができる機能的な情報を示す。
【００３５】
図４に、プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の例４００を示す。方法４００は、たとえば、周波数可変プロセッサで行うことが可能である。周波数可変プロセッサは、たとえば、電荷分配プロトコルを行って、消費電力および／または放熱問題に対処することができる。
【００３６】
方法４００は、４１０において、プロセッサが利用可能な直流電流の劣化を検出することを含むことができる。一例では、直流電流の劣化を検出することは、直流電流の電圧を、プログラムされた基準電圧と比較することを含むことができる。たとえば、プロセッサは、１．４Ｖ〜１．６Ｖの電圧の直流電流を要求するように構成することができる。プロセッサに供給される電圧が１．４Ｖよりも下がる場合、劣化を通知することができる。一例では、方法４００は、プログラムされる基準電圧の直流電流を供給するように直流電流供給器をプログラムすることを含むことができるため、プロセッサはプログラムされる基準電圧についての情報を有することができる。直流電流供給器をプログラムするようにプロセッサを構成することにより、電源またはＤＣ−ＤＣ変換器の故障中に電圧低下に従うようにプロセッサに動作周波数を再設定するのに役立つ。
【００３７】
方法４００は、４２０において、劣化に選択的に対応することを含むこともできる。従来のプロセッサのように単にクラッシュするのではなく、劣化に対応することにより、第２のプロセッサにおいて、周波数可変プロセッサの状態を再現するのに役立つことができる。たとえば電源故障前のプロセッサの状態を再現することは、第２のプロセッサが、この方法を使用しない場合ならば失われていたかもしれないデータ、状態、および／または完了されていなかったかもしれないプロセッサの進行中のタスクを完了させるのに役立つ。一例では、劣化に選択的に対応することは、第２のプロセッサにおいて、周波数可変プロセッサの状態を再現するのに役立つように構成された再現データを記憶することを含むことができる。再現データは、たとえば、プロセッサ内のレジスタからのデータ、プロセッサ内のキャッシュ（たとえば、Ｌ１、Ｌ２）内のデータ、命令キュー内のデータ（たとえば、命令）等を含むことができる。レジスタデータは、たとえば、命令レジスタ、分岐レジスタ、アドレスレジスタ、制御レジスタ等からのものであることができる。レジスタデータ、キャッシュデータ、および命令キューデータについて述べたが、プロセッサの状態の再現に関連する他のデータを保存することができることを理解されたい。同様に、キャッシュ内のデータについて述べたが、このデータは、たとえば、キャッシュ内の特定のラインのデータがダーティであるか否かに基づいて選択的に保存することができる。
【００３８】
記憶すべきデータは、方法４００を実行しているプロセッサとは異なるソースから直流電流が供給されている様々なロケーションを宛先とすることができる。たとえば、データは、方法４００を実行しているプロセッサを含むマルチプロセッササーバ内の別のプロセッサを宛先とすることができる。したがって、方法４００を実行しているプロセッサは、データを保存場所に送る権利を取得する必要がある。したがって、一例では、劣化に対応することは、再現データの書き込みに関わるパニックトランザクションを発行することなどによりバスを調停することを含むことができる。パニックトランザクションおよびバス調停について述べたが、データを第２の場所に記憶する権利を取得することに関わる他のアクションをとることもできることを理解されたい。
【００３９】
劣化に対応すること（４２０）は、劣化した直流電流に基づいてより低い周波数で動作するようにプロセッサを再設定することを含むこともできる。電流が劣化し続けるにつれて、プロセッサを、さらに低い周波数で動作するように再設定することができる。もちろん、或る時点で、プロセッサをそれより下に再プログラムすることが可能ではない場合がある動作下限に達し得る。
【００４０】
図４には、各種アクションが連続して行われるものとして示すが、図４に示す各種アクションは略同時に行ってもよいことを理解されたい。例えば、第１のプロセスが劣化を検出することができ、その間に、第２のプロセスが劣化に対応することができる。２つのプロセスについて述べたが、より多数および／または少数のプロセスを採用してもよく、軽量プロセス、通常プロセス、スレッド、および他の手法を採用してもよいことを理解されたい。
【００４１】
図５に、プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の例５００を示す。劣化は、たとえば、ＤＣ−ＤＣ変換器の故障による電圧降下である。方法５００は、たとえば、周波数可変プロセッサによって行うことができる。
【００４２】
方法５００は、５１０において、指定の基準電圧の直流電流を供給するように直流電流供給器（たとえば、ＤＣ−ＤＣ変換器）をプログラムすることを含むことができる。一例では、直流電流供給器をプログラムすることは、周波数可変プロセッサから直流電流供給器に電圧識別コード（ＶＩＤ）を送ることを含むことができる。方法５００を実行している装置は、直流電流供給器をプログラムすることに関わるため、方法５００は、直流電流供給器が供給すべき所望の電圧について利用可能な情報を有することができる。
【００４３】
方法５００は、５２０において、直流電流供給器が供給する直流電流を監視することを含むこともできる。たとえば、所望の電圧に関する情報を、検出された電圧と比較することができる。したがって、５３０において、直流電圧が許容範囲内にあるか否かについて判断することができる。たとえば、直流電圧が、プログラムされた基準電圧よりも、所望量を超えた分、下回る場合、方法５００は、５４０において、プロセッサの状態を保存すること、および５５０において、プロセッサのデータを保存することを含むことができる。所望量は、たとえば、固定量（たとえば、１Ｖ）、相対量（たとえば、２％）、テーブルから検索される量等であることができる。状態および／またはデータは、たとえば、第２の直流電流が供給される装置に記憶することができる。利用可能な第２の直流電流を有する装置を選択することは、単一故障点となるように配置された装置に依存することに関連するダメージを軽減することに役立つ。状態および／またはデータは、たとえば、レジスタデータ、キャッシュデータ、命令キューデータ等を含むことができる。
【００４４】
一例では、状態および／またはデータを保存すること（たとえば、レジスタデータ、キャッシュデータ、および命令キューデータを記憶すること）は、システムバスを介してプロセッサに動作可能に接続された遠隔バックアッププロセッサにデータ項目を送らせるようなアクションを含むことができる。遠隔バックアッププロセッサは、利用可能な第２のＤＣ−ＤＣ変換器を有することができる。電圧は、直流電流供給器によって供給される電圧と異なってもよい。同様に、状態および／またはデータを保存することは、プロセッサに動作可能に接続された、独立したランダムアクセスメモリ（ＲＡＭ）にデータ項目を送らせる、またはプロセッサに関連するキャッシュメモリにデータ項目を記憶させるようなアクションを含むことができ、ＲＡＭおよびキャッシュメモリには、直流電流供給器により供給される直流電流とは異なる直流電流が供給されている。
【００４５】
アクション５４０および５５０は、方法５００を実行しているプロセッサが利用可能な直流電流が劣化し続けている間に行うことができることを理解されたい。したがって、方法５００は、図示していないが、アクション５４０および５５０を実行しているプロセッサの動作周波数を低下させることを含むことができる。周波数および電圧は、少なくとも部分的に、直流電流の電圧および／または電圧スルーレートに基づいて低下させることができる。
【００４６】
一例では、方法は、コンピュータ可読媒体に記憶されるプロセッサ実行可能命令および／または動作として実施される。したがって、一例では、コンピュータ可読媒体は、プログラムされた基準電圧の直流電流を供給するように直流電流供給器をプログラムすることを含む方法を実行するように動作可能なプロセッサ実行可能命令を記憶することができる。直流電流供給器をプログラムすることは、電圧識別コードを直流電流供給器に与えることを含むことができる。方法は、直流電流の電圧が、所望の基準電圧よりも、所望量を超えて下回ると判断されたことを受けて、プロセッサの状態および／またはプロセッサのデータを選択的に保存することを含むこともできる。上記方法について、コンピュータ可読媒体に記憶されるものとして述べたが、本明細書において述べる他の方法もコンピュータ可読媒体に記憶することができることを理解されたい。
【００４７】
図６に、対応プロトコルを選択することを含む、プロセッサに供給される電圧の劣化を検出し、これに応答する方法の例６００を示す。方法６００は、たとえば、周波数可変プロセッサで行うことが可能である。方法６００は、６１０において、所望の基準電圧の直流電流を供給するように直流電流源をプログラムすることを含むことができる。たとえば、１２Ｖを有する直流電流を受け取るＤＣ−ＤＣ変換器を、５Ｖを生成するようにプログラムすることができる。ＤＣ−ＤＣ変換器は、たとえば、１Ｖ〜５Ｖから或る範囲の電圧を生成するようにプログラムすることができる。
【００４８】
方法６００は、６２０において、ＤＣ−ＤＣ変換器が供給する直流電流を監視することを含むこともできる。たとえば、供給される直流電流の電圧を監視することができる。電圧を監視すること、および電圧を所望の基準電圧と比較することは、直流電流の劣化の検出に役立つ。電圧を監視することはまた、たとえば、アクション６６０中に、監視されている電圧にプロセッサの動作周波数をマッチングさせるのにも役立つ。例によっては、すべての劣化が、方法６００による保存、対応に繋がるわけではない。例えば、方法６００は、プロセッサ状態のバックアップが最近行われ、プロセッサの動作停止に繋がる電源故障によるデータ損失の可能性に、バックアップで対処することができるということが分かるであろう。さらに、プロセッサはいずれの有意な作業も実行しなくてもよく、したがって保存は保証されない。したがって、方法６００は、６３０において、直流電流の劣化に対応すべきか否かを判断することを含むことができる。判断がＮＯである場合、処理は６２０に戻り、かつ／または単に停止することができる。しかし、判断がＹＥＳである場合、処理は６４０に進むことができる。
【００４９】
６４０において、電圧、周波数等のプロセッサ動作パラメータを求めることができる。周波数可変プロセッサは、動作電圧を略常時、かつ／または常時監視することができる。同様に、周波数可変プロセッサは、動作している周波数に関するデータを記憶することができる。したがって、方法６００は、プロセッサが利用可能な直流電流の電圧、プロセッサが動作している周波数等に関する情報を有することができる。こういったパラメータは、少なくとも部分的に、保存すべきデータのタイプ、保存すべきデータ量、およびデータの保存先のような決定を左右する。したがって、方法６００は、６５０において、データのタイプ、量、および／または宛先を考慮に入れた保存プロトコルを選択することを含むことができる。
【００５０】
プロトコルを選択した後、方法６００は、６６０において、保存プロトコルを実行することに続くことができる。選択された保存プロトコルを実行することは、プロセッサの状態を選択的に保存する、プロセッサのデータを選択的に保存する等のようなアクションを含むことができる。保存された状態および／またはデータは、たとえば、レジスタデータ、キャッシュデータ、命令キューデータ等を含むことができる。選択された保存プロトコルを実行する間に、直流電流は引き続き劣化し得る。したがって、方法６００は、６６５において、６６０におけるプロトコルの実行と同時に、プロセッサが利用可能な直流電流に基づいてプロセッサの動作周波数を変更することを含むことができることを理解されたい。
【００５１】
６７０において、追加の命令を実行すべきか否かについて判断することができる。たとえば、利用可能なプロセッサ電圧および動作周波数を再び調べて、あといくつ（もしあれば）の命令を実行することができるかを判断することができる。
【００５２】
図７に、本明細書において述べたシステムの例および方法の例、ならびに等価物が動作することができるコンピューティング装置の例を示す。コンピューティング装置の例は、バス７０８によって動作可能に接続されたプロセッサ７０２、メモリ７０４、および入出力ポート７１０を備えたコンピュータ７００であることができる。一例では、コンピュータ７００は、電圧劣化の検出および／または対応に役立つように構成された検出／対応ロジック７３０を備えることができる。したがって、検出／対応ロジック７３０は、ハードウェアで実施されるか、ファームウェアで実施されるか、ソフトウェアで実施されるか、それともこれらの組み合わせで実施されるかに関わらず、チャージレーションドプロセッサ７０２に所望の電圧を供給するようにＤＣ−ＤＣ変換器を制御する手段を提供することができる。検出／対応ロジック７３０は、ＤＣ−ＤＣ変換器が供給する直流電流が、所望の電圧を所望の許容差以内で実現するか否かを判断する手段、およびチャージレーションドプロセッサ７０２に関連する情報を選択的に保存する手段を提供することもできる。検出／対応ロジック７３０は、コンピュータ７００に永久的に、かつ／または取り外し可能に取り付けることができる。
【００５３】
一例では、プロセッサ７０２は、２つのプロセッサコア、少なくとも２０メガバイトのＬ３キャッシュ、および命令キューを有する９０ｎｍテクノロジ、６４ビットの、周波数が電圧に伴って可変するプロセッサであることができる。単一のプロセッサ７０２をコンピュータ７００内に示すが、プロセッサ７０２はマルチプロセッササーバ内の１つのプロセッサであってもよいことを理解されたい。
【００５４】
同様に、検出／対応ロジック７３０は、バス７０８を介してプロセッサ７０２に動作可能に接続されて示されるが、一例では、プロセッサ７０２内に配置し、かつ／または介在するバス７０８なしでプロセッサ７０２に直接接続されてもよいことを理解されたい。したがって、一例では、プロセッサ７０２は、２つのプロセッサコアを有する、周波数が電圧に伴って可変する、９０ｎｍテクノロジ、６４ビット集積回路であることができる。この集積回路は、マルチプロセッササーバ内の１つのプロセッサとして動作し、ＤＣ−ＤＣ変換器から直流電流を受け取るように構成することができる。
【００５５】
プロセッサ７０２は、電圧識別コードを与えることにより、選択された電圧を供給するように直流電流供給器を制御するように構成された電圧調整ロジックを備えることができる。プロセッサ７０２は、構造状態データ、ダーティキャッシュラインデータ、および命令キューデータのようなデータを選択的に、第２の直流電流を利用可能な装置に与えるように構成された対応ロジックを備えることもできる。第２の装置は、たとえば、システムバスを介してプロセッサ７０２に動作可能に接続された遠隔バックアッププロセッサ７１２、プロセッサ７０２に動作可能に接続された、独立したＲＡＭ、およびプロセッサ７０２に関連するキャッシュメモリであることができる。プロセッサ７０２は、直流電流を解析するように、かつ、直流電流の電圧が、選択された電圧よりも５％を超えて下回ると判断されたことを受けて、応答ロジックを選択的に制御するように構成された検出ロジックを備えることもできる。５％を許容差として述べるが、他の許容差を採用してもよいことを理解されたい。
【００５６】
コンピュータ７００の構成の例について概説するが、プロセッサ７０２は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含め、多種多様な各種プロセッサであることができる。メモリ７０４は、不揮発性メモリおよび／または揮発性メモリを含むことができる。不揮発性メモリとしては、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等が挙げられるがこれらに限定されない。揮発性メモリとしては、たとえば、ＲＡＭ、同期ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、およびダイレクトＲＡＭバスＲＡＭ（ＤＲＲＡＭ）を挙げることができる。
【００５７】
コンピュータ７００に、たとえば入出力インタフェース（たとえば、カード、デバイス）７１８および入出力ポート７１０を介して、ディスク７０６を動作可能に接続することができる。ディスク７０６としては、磁気ディスクドライブ、半導体ディスクドライブ、フロッピーディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、および／またはメモリスティックのような装置を挙げることができるがこれらに限定されない。さらに、ディスク７０６は、ＣＤ−ＲＯＭ、ＣＤ記録可能ドライブ（ＣＤ−Ｒドライブ）、ＣＤ書き換え可能ドライブ（ＣＤ−ＲＷ）、および／またはデジタルビデオＲＯＭドライブ（ＤＶＤ  ＲＯＭ）のような光学ドライブを挙げることもできる。メモリ７０４は、たとえば、プロセス７１４および／またはデータ７１６を記憶することができる。ディスク７０６および／またはメモリ７０４は、コンピュータ７００の資源の制御および割り振りを行うオペレーティングシステムを記憶することができる。
【００５８】
バス７０８は、単一の内部バス相互接続アーキテクチャおよび／または他のバスまたはメッシュアーキテクチャであることができる。単一のバスを示すが、コンピュータ７００は、図示していない他のバス（たとえば、ＰＣＩＥ、ＳＡＴＡ、インフィニバンド、１３９４、ＵＳＢ、イーサネット（登録商標。以下同じ））を使用して各種装置、ロジック、および周辺機器と通信することが可能であることを理解されたい。バス７０８は、メモリバス、メモリコントローラ、周辺機器バス、外部バス、クロスバースイッチ、および／またはローカルバスを含むがこれらに限定されない様々なタイプのものであることができる。ローカルバスは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＳＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、周辺機器相互接続（ＰＣＩ）バス、ユニバーサルシリアル（ＵＳＢ）バス、および小型コンピュータシステムインタフェース（ＳＣＳＩ）バスを含むがこれらに限定されない様々なものであることができる。
【００５９】
コンピュータ７００は、Ｉ／Ｏインタフェース７１８および入出力ポート７１０を介して入出力装置と連係することができる。入出力装置としては、キーボード、マイクロフォン、ポインティングおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク７０６、ネットワーク装置７２０等を挙げることができるがこれらに限定されない。入出力ポート７１０としては、シリアルポート、パラレルポート、およびＵＳＢポートを挙げることができるがこれらに限定されない。
【００６０】
コンピュータ７００は、ネットワーク環境において動作可能であり、したがって、Ｉ／Ｏ装置７１８および／またはＩ／Ｏポート７１０を介してネットワーク装置７２０に接続することができる。ネットワーク装置７２０を通して、コンピュータ７００はネットワークと連係することができる。ネットワークを通して、コンピュータ７００は、遠隔コンピュータに論理的に接続することができる。コンピュータ７００が対話することができるネットワークとしては、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、および他のネットワークが挙げられるがこれらに限定されない。ネットワーク装置７２０は、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、ＣＤＤＩ（Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、イーサネット（ＩＥＥＥ８０２．３）、トークンリング（ＩＥＥＥ８０２．５）、ワイヤレスコンピュータ通信（ＩＥＥＥ８０２．１１）、ブルートゥース（ＩＥＥＥ８０２．１５．１）等を含むがこれらに限定されないＬＡＮテクノロジに接続することができる。同様に、ネットワーク装置７２０も、ポイントツーポイントリンク、統合サービスデジタルネットワーク（ＩＳＤＮ）のような回線交換ネットワーク、パケット交換ネットワーク、およびデジタル加入者回線（ＤＳＬ）を含むがこれらに限定されないＷＡＮテクノロジに接続することができる。
【００６１】
図８に、本明細書において述べたシステムの例と同様の検出／対応ロジック８１０を備えた画像形成装置の例８００を示す。検出／対応ロジック８１０は、本明細書において述べたような実行可能な方法を実行するように構成されたロジックを含むことができる。検出／対応ロジック８１０は、画像形成装置８００に永久的に、かつ／または取り外し可能に取り付けることができる。検出／対応ロジック８１０は、プロセッサ８５０の外部に示されているが、例によっては、プロセッサ８５０の内部に配置されることを理解されたい。同様に、画像形成装置８００は、単一のプロセッサ８５０を備えて示されるが、複数のプロセッサを有してもよいことを理解されたい。
【００６２】
画像形成装置８００は、レンダリングするプリントデータを受け取ることができる。したがって、画像形成装置８００は、プリントデータを記憶するように、またはより一般には画像処理に使用されるように構成されたメモリ８２０も備えることができる。画像形成装置８００は、プリントデータから、プリンタ使用可能な画像を生成するように構成されたレンダリングロジック８３０を備えることもできる。レンダリングは、関わるデータのフォーマットおよび撮像装置のタイプに基づいて様々である。一般に、レンダリングロジック８３０は、上位レベルデータを、表示またはプリントするグラフィカル画像（たとえば、プリントに使用可能な画像）に変換する。たとえば、一形態は、三次元オブジェクトまたはシーンの数学的モデルを受け取り、ビットマップ画像に変換するレイトレーシングである。別の例は、ＨＴＭＬを表示／プリントする画像に変換するプロセスである。画像形成装置８００は、レンダリングする必要がないプリンタ使用可能なデータを受け取ってもよく、したがって、画像形成装置によってはレンダリングロジック８３０がなくてもよいことを理解されたい。
【００６３】
画像形成装置８００は、プリントに使用可能な画像から画像を印字媒体上に生成するように構成された画像形成機構８４０を備えることもできる。画像形成機構８４０は、撮像装置８００のタイプに基づいて様々であることができ、レーザ撮像機構、他のトナーベースの撮像機構、インクジェット機構、デジタル撮像機構、または他の撮像再現エンジンを挙げることができる。画像形成装置８００の動作を制御するロジックが実装されたプロセッサ８５０を備えることができる。一例では、プロセッサ８５０は、Ｊａｖａ（登録商標。以下同じ）命令を実行することが可能なロジックを備える。画像形成装置８００の他の構成要素については本明細書において触れないが、これらとしては、媒体処理／収容機構、センサ、コントローラ、および撮像プロセスに関わる他の構成要素を挙げることができる。検出／対応ロジック８１０はプロセッサ８５０の外部に示されるが、例によっては、プロセッサ８５０は検出／対応ロジック８１０を組み込んでもよいことを理解されたい。
【００６４】
システムの例、方法の例等について、例を説明することによって示し、例についてかなり詳細に説明したが、添付の特許請求の範囲をこのような詳細に制限する、またはいずれによっても限定することは出願人らの意図ではない。もちろん、本明細書において述べたシステム、方法等を説明するために、構成要素または方法に考えられるあらゆる組み合わせを説明することは可能ではない。さらなる利点および変更が当業者には容易に思いつくであろう。したがって、本発明は、図示し説明した特定の詳細、代表的な装置、および説明に役立つ実施例に限定されない。したがって、本願は、添付の特許請求の範囲内にある代替、変更、および変形の包含を意図する。さらに、先の説明は、本発明の範囲の限定を意味するものではない。より正確に言えば、本発明の範囲は、添付の特許請求の範囲およびその等価物によって決定されるべきである。
【００６５】
「備える、含む」という語が詳細な説明あるいは特許請求の範囲において用いられる限り、包括的であるように解釈されることを意図する。さらに、「または（あるいは）」（たとえば、Ａまたは（あるいは）Ｂ）という語が詳細な説明または特許請求の範囲において用いられる限り、「Ａまたは（あるいは）Ｂまたは（あるいは）その両方」を意味することを意図する。本出願人らが「Ａまたは（あるいは）Ｂのみであって両方ではない」ことを示す意図がある場合には、「Ａまたは（あるいは）Ｂのみであって両方ではない」とう語が用いられる。したがって、本明細書における「または（あるいは）」という語の使用は、包括的であり、排他的には使用されない。
【図面の簡単な説明】
【００６６】
【図１】ＤＣ−ＤＣ変換器から直流電流（ＤＣ）を受け取るように構成されるプロセッサの一例を示した図である。
【図２】供給される直流電流の劣化を検出するように構成された周波数可変プロセッサの一例を示した図である。
【図３】供給される直流電流の劣化を検出し、これに対応するように構成された周波数可変プロセッサの一例に関連する各種要素を示した図である。
【図４】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の一例を示した図である。
【図５】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の別の例を示した図である。
【図６】プロセッサに供給される直流電流の劣化を検出し、これに対応する方法の別の例を示した図である。
【図７】本明細書に示すシステムおよび方法の例が動作することができるコンピューティング環境の一例を示した図である。
【図８】本明細書に示すシステムおよび方法の例が動作することができる画像形成装置の一例を示した図である。
【符号の説明】
【００６７】
２００  プロセッサ
２１０  直流電流供給器
２２０  電圧監視ロジック
２３０  電流監視ロジック
２４０  周波数監視ロジック
２５０  検出ロジック
２６０  電圧調整ロジック
２７０  対応ロジック
【図１】
2006099762.tif 000003
【図２】
2006099762.tif 000004
【図３】
2006099762.tif 000005
【図４】
2006099762.tif 000006
【図５】
2006099762.tif 000007
【図６】
2006099762.tif 000008
【図７】
2006099762.tif 000009
【図８】
2006099762.tif 000010