JP2007520008A - デジタル処理システムにおけるオーバークロックのための方法及び装置 - Google Patents
デジタル処理システムにおけるオーバークロックのための方法及び装置 Download PDFInfo
- Publication number
- JP2007520008A JP2007520008A JP2006550421A JP2006550421A JP2007520008A JP 2007520008 A JP2007520008 A JP 2007520008A JP 2006550421 A JP2006550421 A JP 2006550421A JP 2006550421 A JP2006550421 A JP 2006550421A JP 2007520008 A JP2007520008 A JP 2007520008A
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- clock
- maximum
- operate
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Electric Clocks (AREA)
Abstract
デジタル処理システムが動作可能な最大の最適なクロック周波数を決定するための方法であって、初期周波数でクロック信号を生成するステップと、上記システムが正確に動作しないクロック周波数が特定されるまで、上記周波数を段階的に増大させ、上記システムの動作を、選択された数の周波数のそれぞれに決定するステップと、上記システムが正確に動作可能な最大クロック周波数を特定するステップと、を含み、上記最大クロック周波数は、上記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、上記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、上記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタが設けられている、方法である。
Description
この発明は、デジタル処理システムをオーバークロックするための方法及び装置に関し、特に、デジタル処理システム又はその一部がプロセスの限界内においてそれら自体を自動的にオーバークロックすることができるようにするための方法及び装置に関する。
デジタル処理システムは、時間基準としての一つ以上のクロック信号に依存している。プロセッサチップの性能の良く知られた指標は、プロセッサチップが動作する周波数である。高いクロック周波数で動作するプロセッサチップは、低いクロック周波数で動作する等価なプロセッサチップよりも短い時間でより多くの情報を処理することができる。従って、内部遅延、プロセッサの熱破壊、熱的に引き起こされる自動停止による性能の劣化に起因してプロセッサを誤動作させることなく、プロセッサチップをその特定のプロセッサチップが動作できる最大周波数で実行することが望ましい。
どのプロセッサが動作する予定であるかに関するクロック信号の期間は、技術プロセスの点から想定される最悪の状況を考慮に入れて、プロセッサの設計時に決定される。その結果、多くの場合、プロセッサチップは、前述した故障や保護的な停止を示すことなくプロセッサが維持できる最大動作周波数よりもかなり低いクロック周波数で動作するようにコンピュータシステム内に実装される。これは多くの理由によって起こり得る。例えば、プロセッサチップは一般に二つ又は三つの処理速度カテゴリに分類されるため、標準的なクロック速度カテゴリよりも高いクロック速度で実際に実行できる多くのプロセッサチップは、特定のコンピュータのためのクロック速度カテゴリに従うために、低いクロック速度に簡単に設定される。これは「ビニング(binning)」として知られており、その結果、組立後に、システムが当初に設定されたクロック速度によって見込まれるよりも十分に高い周波数で実行できるという状況が生じる場合がある。
ビニングの欠点は、それが非常に高価であり静的であるという点である。即ち、システムは常に最大(設定)周波数で実行し、従って、最大のエネルギを消費する。
また、内蔵されたクロック発生ユニットがリングオシレータに基づいている電子システムにおいては、設計が実現されたプロセス及び動作状態にオシレータを調整するため、起動時に較正ステップが必要である。従来の技術においては、チップがパワーアップされる度にこの較正をオンラインで行うことができる。他の手法は、較正を1回行い、その後、システムがパワーアップされる度に外部不揮発性メモリから較正情報を検索することである。しかしながら、前者の場合には、システムがパワーアップされる度に較正が必要とされ、これに対し、後者の場合には、較正が静的でありシリコンの経年変化又は変動する動作状態を考慮に入れていない。
本発明の第一の態様によれば、デジタル処理システムが動作可能な最大の最適なクロック周波数を決定するための方法であって、
−初期周波数でクロック信号を生成するステップと、
−上記システムが正確に動作しないクロック周波数が特定されるまで、上記周波数を段階的に増大させ、上記システムの動作を、選択された数の周波数のそれぞれに決定するステップと、
−上記システムが正確に動作可能な最大クロック周波数を特定するステップと、
を含み、
−上記最大クロック周波数は、上記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−上記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、上記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタが設けられている、方法が提供される。
−初期周波数でクロック信号を生成するステップと、
−上記システムが正確に動作しないクロック周波数が特定されるまで、上記周波数を段階的に増大させ、上記システムの動作を、選択された数の周波数のそれぞれに決定するステップと、
−上記システムが正確に動作可能な最大クロック周波数を特定するステップと、
を含み、
−上記最大クロック周波数は、上記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−上記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、上記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタが設けられている、方法が提供される。
本発明は、さらに、デジタル処理システムが動作可能な最大の最適なクロック周波数を決定するための装置であって、
−初期周波数でクロック信号を生成するための手段と、
−上記システムが正確に動作しないクロック周波数が特定されるまで、上記周波数を段階的に増大させる手段、及び、上記システムの動作を、選択された数の周波数のそれぞれに決定する手段と、
−上記システムが正確に動作可能な最大クロック周波数を特定するための手段と、
を備え、
−上記最大クロック周波数は、上記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−上記システムの動作を決定するための上記手段は、上記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、上記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタを備えている、
ことを特徴とする装置に拡張される。
−初期周波数でクロック信号を生成するための手段と、
−上記システムが正確に動作しないクロック周波数が特定されるまで、上記周波数を段階的に増大させる手段、及び、上記システムの動作を、選択された数の周波数のそれぞれに決定する手段と、
−上記システムが正確に動作可能な最大クロック周波数を特定するための手段と、
を備え、
−上記最大クロック周波数は、上記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−上記システムの動作を決定するための上記手段は、上記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、上記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタを備えている、
ことを特徴とする装置に拡張される。
好適な実施の形態において、最大周波数は、メモリ内に記憶される。
本発明の一つの実施の形態では、前述した方法が定期的に行われ、クロック発生手段を較正するために出力周波数が使用される。
一つの実施の形態において、先に規定された方法は、デジタル処理システムが動作している周波数を選択的に変更する方法に関して使用される。
従って、本発明の第二の態様によれば、デジタル処理システムが動作している周波数を選択的に変化させる方法であって、
a)上記システムがリセットされるときに、上記システムがシステムタイミング制約の範囲内で動作できる最大クロック周波数を決定するとともに、上記最大周波数を記憶するステップと、
b)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、上記最大周波数よりも小さい公称周波数でクロック信号を生成するステップと、
c)上記信号の受信に応じて、必要な時間に亘って上記最大周波数でクロック信号を生成するステップと、
d)上記公称周波数でクロック信号を再び生成するステップと、
を含む方法が提供される。
a)上記システムがリセットされるときに、上記システムがシステムタイミング制約の範囲内で動作できる最大クロック周波数を決定するとともに、上記最大周波数を記憶するステップと、
b)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、上記最大周波数よりも小さい公称周波数でクロック信号を生成するステップと、
c)上記信号の受信に応じて、必要な時間に亘って上記最大周波数でクロック信号を生成するステップと、
d)上記公称周波数でクロック信号を再び生成するステップと、
を含む方法が提供される。
本発明の好適な実施の形態において、最大周波数を決定するステップは、初期周波数でクロック信号を生成し、上記クロック信号の周波数を増大し、好ましくは段階的に上記クロック信号の周波数を増大し、システムのタイミング制約が満たされないことが測定されるまで、選択された各周波数でシステムタイミング制約を監視し、システムタイミング制約が満たされた最後(最近)の周波数を上記最大周波数として記憶することを含む。
本発明は、さらに、デジタル処理システムが動作している周波数を選択的に変化させるための装置であって、
i.プログラマブル・クロック発生手段と、
ii.上記システムがリセットされるときに、上記システムがシステムタイミング制約の範囲内で動作可能な最大クロック周波数を決定するとともに、上記最大周波数を記憶するための手段と、
iii.上記クロック発生手段が、
a)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、上記最大周波数よりも小さい公称周波数でクロック信号を生成し、
b)上記信号の受信に応じて、必要な時間に亘って上記最大周波数でクロック信号を生成し、
c)上記公称周波数でクロック信号を再び生成する、
ようにさせる手段と、
を備える装置に拡張される。
i.プログラマブル・クロック発生手段と、
ii.上記システムがリセットされるときに、上記システムがシステムタイミング制約の範囲内で動作可能な最大クロック周波数を決定するとともに、上記最大周波数を記憶するための手段と、
iii.上記クロック発生手段が、
a)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、上記最大周波数よりも小さい公称周波数でクロック信号を生成し、
b)上記信号の受信に応じて、必要な時間に亘って上記最大周波数でクロック信号を生成し、
c)上記公称周波数でクロック信号を再び生成する、
ようにさせる手段と、
を備える装置に拡張される。
上記装置は、有益には、システムタイミング制約を監視するためのタイミングモニタを備えている。好適な実施の形態では、上記装置は、リセットにおいて、クロック信号の周波数を初期周波数から最大周波数まで増大させるための周波数ファインダを備えている。上記クロック発生手段は、プログラマブル・リングオシレータを含むものとするとよい。
一つの典型的な実施の形態において、上記装置は、リセットにおいて最大周波数を決定して、クロック周波数の増大の要求を受け取るとともに、上記要求が満了し又は取り消されるまで上記クロック発生手段にクロック信号を最大周波数で生成させるための周波数ファインダ・セレクタを備えている。
代替の典型的な実施の形態において、上記装置は、リセットにおいて上記最大周波数を決定し且つ上記クロック発生手段に上記最大周波数でクロック信号を生成させるための周波数ファインダと、上記公称周波数でクロック信号を生成するように配置されて構成される第2のクロック発生手段とを備え、上記第1及び第2のクロック発生手段の出力は、切り換え手段によってクロック出力に対して結合され、上記切り換え手段は、上記クロック周波数を増大するための要求が受け取られるまで上記第2のクロック発生手段を上記クロック出力に対して結合するように構成されており、上記要求に応じて、上記切り換え手段は、上記要求が満了し又は取り消されるまで、上記第1のクロック発生手段の出力が上記クロック出力に対して結合されるようにする。
上記要求が満了し又は取り消されるときに、上記第1のクロック発生手段を無効にするための手段を備えているものとするとよい。上記第2のクロック発生手段は、外部クロック発生手段を含むものとするとよい。
本発明のこれらの態様及び他の態様は、後述する実施の形態から明らかであり、これらの実施の形態を参照して上記態様について説明する。
ここで、添付図面を参照しながら単なる一例として本発明の実施の形態を説明する。
従って、本発明の一態様は、システム又はシステムの一部がプロセスの限界内においてそれら自体をオーバークロックすることができる機構を提供する。本発明は、システム(又はシステムの一部)が製造されたプロセスコーナ(process corner)を検出して、システム自体が実行できる最大周波数を決定する。この点において、本発明によれば、システムは、そのような周波数が許可され且つシステムの動作に役立つ度に、そのような周波数でそれ自体をオーバークロックすることができる。
米国特許第5,630,110号は、特定の最大電圧レベルを有する供給電圧を印加し、その後にクロック速度を初期周波数に設定することを含む、プロセッサ性能を向上させるための方法及び装置について記載している。次に、プロセッサがこの初期周波数で適切に動作しているかどうかが測定される。適切に動作していない場合、周波数は、プロセッサが正確に動作していることが測定されるレベルに達するまで段階的に減少させられる。しかしながら、プロセッサが初期周波数で適切に動作していることが測定される場合、周波数は、プロセッサが正確に動作する最大速度が見出されるまで増大させられる。
米国特許第6,076,171号は、システムクロック周波数を変化させることにより情報処理システムの電力消費量を制御するための装置について記載している。ユーザによって現在必要とされているCPU電力は、検出手段によって直接に検出され、また、検出結果に基づいてシステムクロック周波数が動的に変化させられ、それにより、与えられるCPU電力が所定の電力範囲内に入る。
米国特許出願第2002/0116650A1号は、コンピュータによって使用される電力を制御するための方法について記載しており、この方法は、コンピュータの中央プロセッサの動作特性を測定するステップと、中央プロセッサの動作特性が、行われるべき動作によって必要とされる動作特性と著しく異なる時期を決定するステップと、行われるべき動作に見合ったレベルに中央プロセッサの動作特性を変更するステップとを含んでいる。例えば、プロセッサがいわゆるコア周波数及び通常の電圧で動作し且つプロセッサが一つ以上のアイドルモードでのその動作の予め選択された増分よりも多くを費やしていることが測定される場合、電力は浪費されており、動作周波数及び電圧は減少され得る。一方、処理電力が非常に低いために、プロセッサによる実行のために与えられる一連のコマンドを処理することができないという意味において、非常に低い電圧及び周波数でプロセッサが動作していることが測定されることもあり、従って、その場合には、電圧及び周波数が増大され得る。
米国特許第5,774,704号は、動的な中央プロセッサのクロック調整のための装置を有するコンピュータシステムについて記載している。コントローラは、CPUの負荷が増大するときにクロック周波数が増大し且つCPUの負荷が減少するときにクロック周波数が減少するようにクロック周波数を調整する。
米国特許第5,189,314号は、チップがアイドル状態のときの発熱を低減するためにクロック周波数が減少させられる集積回路について記載している。チップがアイドル状態にある間に「節約された」熱は、発生する熱の総てがICパッケージの熱放散能力を超えないという条件で、クロック速度を通常よりも高く増大するその後の使用において利用できる。
米国特許第6,230,279号は、ユーザコマンドに応じてコンピュータの処理速度を動的に制御するためのシステム及び方法について記載している。ユーザが加速機能又は減速機能を動作させると、それに応じて、コンピュータの処理速度が増大又は減少させられ、結果として得られる処理速度は、現在実行されているアプリケーションプログラムと共に速度管理データとしてデータベースに記録される。従って、そのアプリケーションが再び実行されると、予め記憶された速度管理データに従って処理速度が適合させられる。
我々は、ここで、改良された構成を案出した。
本発明の一つの態様は、基本的には、システムが、有用であると思われるときだけ、より高い周波数で自動的に実行することができるものであって、それは、以下の二つのステップによるものである、という事実を使用する方法である。
−リセット時間に、システムがその最大許容クロック周波数(即ち、そのプロセスコーナ)を特定し、この周波数値が記憶される。
−実行時間(及び、有用であると思われるときだけ、例えば、システムの出力信号が不足している場合)に、より高い周波数が使用され、そうでなければ、公称周波数が使用される(例えば、システムが出力によってブロックされ、そのため、処理速度を増大することが、出力においてトラフィックを増大させることから、望ましい場合)。
−リセット時間に、システムがその最大許容クロック周波数(即ち、そのプロセスコーナ)を特定し、この周波数値が記憶される。
−実行時間(及び、有用であると思われるときだけ、例えば、システムの出力信号が不足している場合)に、より高い周波数が使用され、そうでなければ、公称周波数が使用される(例えば、システムが出力によってブロックされ、そのため、処理速度を増大することが、出力においてトラフィックを増大させることから、望ましい場合)。
プロセスコーナを検出して周波数間での切り換えを行うことができるようにするためには、システムはこれらの動作の両方を実行するための手段を必要とし、また、これをどのようにして達成できるのかを示すために、以下では、二つの典型的な実施の形態が与えられている。
図面の図1を参照すると、本発明の第1の典型的な実施の形態に係る装置は、プログラマブル・リングオシレータ10と、周波数ファインダ・セレクタ12と、タイミングモニタ14と、を備えている。
リングオシレータは、集積回路製造の分野において幅広く知られており、通常は、簡単な反転論理回路をステージ(段)として備えている。各ステージの電流出力は、その後のステージの入力キャパシタンスを閾値電圧まで充電及び放電するために特定の時間を要する。ステージは、縦列に接続されてカスケードループを形成しており、それにより、特定の周波数において、ループの周囲を通る信号に対して180°位相シフトが与えられる。ループ利得が十分に大きい場合には、信号が直ちに非線形となり、その結果、様々な目的で使用することができる、特にデジタル信号処理において使用することができる方形波振動が得られる。金属酸化物(MOS)集積回路において、リングオシレータは、チャージポンプ回路を駆動するために一般的に使用される。特に、リングオシレータは、BiCMOS又はバイポーラにおいて設けられるとともに、純粋なCMOS回路においても設けられる。リングオシレータの好ましい用途は、データリカバリ回路及びクロックリカバリ回路又はフェーズロック(位相同期)ループ(PLL)回路に設けることである。
本発明のこの典型的な実施の形態において使用されるプログラマブル・リングオシレータ10は、生成されるべき必要があるクロック信号のクロックサイクルを表すデータを受け取るように、従って、新たな必要とされる周波数が何であるべきかを示すように配置されて構成される可変プログラマブル遅延素子(図示せず)を有している。従って、図1に示される典型的な構成は、既知のプロセッサシステムにおける標準的なリングオシレータモジュールに取って代わり得る。
使用時には、更に図面の図2を参照すると、処理システムがリセットされるときに、周波数ファインダ・セレクタ12は、総てのタイミング制約が満たされていると仮定されている公称周波数でクロック信号を生成するようにプログラマブル・リングオシレータ10をプログラムし、それにより、タイミングモニタ14は、タイミング違反が起こり得ない信号を周波数ファインダ・セレクタ12に対して送信する。この時点で、周波数ファインダ・セレクタ12は、タイミング制約が満たされていないことをタイミングモニタ14が報告するまで(プログラマブル・リングオシレータ10を適宜に繰り返しプログラムすることにより)段階的に周波数を増大し始める。その後、周波数ファインダ・セレクタ12は、システムタイミング制約が違反されていることをタイミングモニタ14が測定しなかった直前の周波数を取得して、この周波数をシステムの最大の可能な実行周波数として記憶させる。
前述した周波数探索はリニアサーチである。しかしながら、探索プロセスをスピードアップさせることができる様々なアルゴリズム(例えば2分探索アルゴリズム)を使用でき、また、本発明はこの点に限定されることを意図していない。
プログラマブル・リングオシレータが技術的に知られていることは認識されるであろうし、また、この種の要素の一例は米国特許第6,208,182号において説明され且つ図示されている。当業者であれば分かるように、幾つかの異なるタイプ及び構成のプログラマブル・リングオシレータは本発明に係る装置での使用に適しており、また、本発明はこの点に限定されることを意図していない。この要素における唯一の制約は、図1に示される本発明の典型的な実施の形態に関して、公称周波数から例えば高速プロセスコーナ周波数に等しい最大値に至るプログラム可能な周波数(プログラマブル周波数)を有するクロック信号を生成できるということである。
同様に、タイミングモニタも技術的に知られている。例えば、システムタイミング制約違反を検出して報告するための方法及び装置は、米国特許第5,418,931号に記載されている。当業者であれば分かるように、図面の図1を参照して説明した典型的な構成における使用に適するタイミングモニタは、入力周波数がシステムタイミング制約に違反しているかどうかを検出するだけで済み、また、その実際の制約は特定の例に限定されることを意図していない。
図1の構成における周波数ファインダ・セレクタ12は、本発明を実施するための制御論理を備えている。
リセット後、実行時間中に、周波数ファインダ・セレクタ12は、スピードアップ信号が周波数ファインダ・セレクタ12によって受け取られるまで、公称周波数でクロック信号を生成するようにリングオシレータをプログラムし、スピードアップ信号に応答して、周波数ファインダ・セレクタ12は、スピードアップ要求が取り消されるまで(前述の決定された)最大周波数でクロック信号を生成するようにリングオシレータ10をプログラムする。
クロック信号の周波数を増大させることが必要となる場合がある多くの様々な状況が存在する。例えば、より一般的な状況(ストリーミングシステムにおける状況)のうちの一つは、出力が不足状態に陥る(即ち、出力データの準備が未だにできていない)一方で、入力がブロックされるような状況である(即ち、新たな入力データが、処理される現在のデータを待っている)。この場合、前述したオーバークロッキング技術が役に立つ。そのような状況を検出できる幾つかの様々な方法があり、例えば、それは、システムの状態又は(存在する場合には)I/O待ち行列の状態を知ることによって行うことができる。また、当業者であれば分かるように、本発明はこの点に限定されることを意図していない。
図面の図3を参照すると、本発明の第2の典型的な実施の形態に係る装置は、プログラマブル・リングオシレータ10と、周波数ファインダ16と、タイミングモニタ14と、クロックマルチプレクサ(Mux)18と、を備えている。この場合、外部ソースからシステムに対して公称クロック周波数が供給される。この構成も内部クロックオシレータ10を有しているが、単に最大周波数を生成するためだけのものである。従って、この場合には、内部クロックオシレータに関して最大システム動作周波数を見出すために周波数ファインダ16だけが(周波数ファインダ・セレクタとは対照的に)設けられる。ここで、「スピードアップ」信号20によって駆動されるクロックマルチプレクサ18は、どの周波数(即ち、外部クロック発生器によって発生される公称周波数、又は、内部プログラマブルリングオシレータ10からの高速周波数)でシステムを動作させる必要があるかを選択するためにプログラマブル・リングオシレータ10の後で使用される。
図3の構成の動作は、周波数ファインダ16が内部リングオシレータ10を介して最大周波数を決定するだけである点を除き、あらゆる点で図1の構成の動作と同様である。周波数ファインダ16は、公称周波数でクロック信号を生成するように内部プログラマブルリングオシレータ10をプログラムしない。その代わりに、この信号は外部構成要素によって生成される。また、この場合には、「スピードアップ」信号20がクロックマルチプレクサ18に対して印加され、それにより、クロックマルチプレクサ18は切り換わり、周波数ファインダ16によって決定され且つプログラマブルリングオシレータ10によって生成される最大周波数でクロック信号を出力させる。これに対し、図1の構成では、「スピードアップ」信号が周波数ファインダ・セレクタに対して印加され、周波数ファインダ・セレクタによりプログラマブル・リングオシレータがクロック信号を最大周波数で生成する。また、スピードアップ信号は、それが使用において必要とされないときに発振しないようにプログラマブル・リングオシレータ10へ送信することもでき、それにより電力を節約することもできる。
このように、本発明の前述した態様の方法及び装置は、多くの集積回路が公称周波数よりも十分に高い周波数で動作できるという事実をうまく利用するとともにこの事実の使用を最適化する自動的で且つ比較的安価な方法を提供する。周波数は、必要なときだけその最大値まで増大され、それにより、従来の技術の解決法と比べてエネルギ消耗が減少される。
本発明の他の態様は、リングオシレータの自動較正を定期的に行い、システムが実行しているときにシリコンの経年変化及び変化する動作状態を考慮するようにリングオシレータを適合させるという考えに基づいている。外部構成要素の必要性を避けるため、生成された較正データは、内蔵された不揮発性メモリ内に記憶され、そのため、初期較正ステップ又はデータ検索ステップを必要とすることなくシステムを直ちにパワーアップすることができる。
図面の図4を参照すると、本発明のこの態様の典型的な実施の形態に係る装置は、
−図5に記載されるような動作を正確に順序付けるためのコントローラ(図4のCTRLER)と、
−較正期間を決定するための非対称遅延線(図4のADel)と、
−較正データを決定するためのリング較正モジュール(図4のRCM)と、
−(例えば)磁気メモリセルから作られた不揮発性レジスタ(MCell)と、
−事象(例えば移行又はパルス)が存在する度に状態を変化させる(1から0へ、及び、逆もまた同様)不揮発性状態スイッチ(例えば、磁気メモリセルから作られている)(図4のMSwitch)と、
を備えている。
−図5に記載されるような動作を正確に順序付けるためのコントローラ(図4のCTRLER)と、
−較正期間を決定するための非対称遅延線(図4のADel)と、
−較正データを決定するためのリング較正モジュール(図4のRCM)と、
−(例えば)磁気メモリセルから作られた不揮発性レジスタ(MCell)と、
−事象(例えば移行又はパルス)が存在する度に状態を変化させる(1から0へ、及び、逆もまた同様)不揮発性状態スイッチ(例えば、磁気メモリセルから作られている)(図4のMSwitch)と、
を備えている。
本実施の形態は、図5に示されるように動作する。
リセット後、システムは、新たな較正を開始する前にK秒待たなければならない。この場合、CTRLERは、信号reqCを立ち上げて、askCが立ち上げられるのを待つ。これらの事象間の遅延は、ADelブロックにより決定される。
−この時点で、新たな較正が行われる。CTRLERは、go信号により新たな較正を行うようにRCMに命令し、また、RCMは、done信号によりその完了を信号で伝える。
−ここで、新たな較正データは、現在のところreqW/ackW信号対によって出力に接続されていないメモリセル内に記憶される。
−ここで、新たな較正データは、フリップ信号上の一つの偶数によってMSwitchの状態を反転させることにより送信される(RingW信号)。
−システムは最初の待ち状態に戻る。
−この時点で、新たな較正が行われる。CTRLERは、go信号により新たな較正を行うようにRCMに命令し、また、RCMは、done信号によりその完了を信号で伝える。
−ここで、新たな較正データは、現在のところreqW/ackW信号対によって出力に接続されていないメモリセル内に記憶される。
−ここで、新たな較正データは、フリップ信号上の一つの偶数によってMSwitchの状態を反転させることにより送信される(RingW信号)。
−システムは最初の待ち状態に戻る。
RCMモジュールの典型的な実施の形態が図6に示されている。基本的に、ユニットは、内部プログラマブル・リングオシレータ10(システムのためのクロックを生成するために使用されるもののコピー)と、タイミングクロージャモニタ14(信号の周波数がその入力で設計タイミング制約に違反しているかどうかをチェックする)と、周波数ファインダ12(正確なクロック周波数を見出すために繰り返す)と、を有している。動作形態は、簡単で且つ図3に関して説明した動作形態とほぼ同様であり、図6を参照して更に詳細に説明する。周波数ファインダ12は、他の二つのモジュールを使用して、タイミング制約によって許可される最大の可能な周波数を見出す(探索は、図6の場合のようにリニアであってもよく、あるいは、異なるアルゴリズムを使用することができる)。この情報は、その後に送信される較正データである。
本発明のこの態様の利点としては、以下のような事実を挙げることができる。
−外部構成要素を要せずして自動的であり、システムが既に実行している間に行われる。
−動作状態及びシリコンの経年変化に適応できる。
−外部構成要素を要せずして自動的であり、システムが既に実行している間に行われる。
−動作状態及びシリコンの経年変化に適応できる。
尚、前述した実施の形態は、例示的であり、本発明を限定するものではなく、また、当業者であれば添付の請求項により規定される本発明の範囲から逸脱することなく多くの他の実施の形態を考え出すことができる。請求項において、括弧内の任意の参照符号は、請求項を限定するものとして解釈されるべきではない。用語「備えている、含んでいる(comprising)」及び「備える、含む(comprises)」等は、任意の請求項又は明細書に全体として記載された要素又はステップ以外の要素又はステップの存在を排除するものではない。要素の単数の言及は、そのような要素の複数の言及を排除するものではなく、逆もまた同様である。本発明は、幾つかの別個の要素を備えるハードウェアによって実施されてもよく、また、適切にプログラムされたコンピュータによって実施されてもよい。幾つかの手段を列挙する装置の請求項においては、これらの手段のうちの幾つかがハードウェアの一つの同一のアイテム(項目)によって具現化されてもよい。特定の手段が互いに異なる従属請求項に記載されているという事実だけで、これらの手段の組み合わせを有利に使用できないということを示すものではない。
Claims (14)
- デジタル処理システムが動作可能な最大の最適なクロック周波数を決定するための方法であって、
−初期周波数でクロック信号を生成するステップと、
−前記システムが正確に動作しないクロック周波数が特定されるまで、前記周波数を段階的に増大させ、前記システムの動作を、選択された数の周波数のそれぞれに決定するステップと、
−前記システムが正確に動作可能な最大クロック周波数を特定するステップと、
を含み、
−前記最大クロック周波数は、前記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−前記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、前記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタが設けられている、
ことを特徴とする方法。 - 最大周波数をメモリ内に記憶するステップを含むことを特徴とする請求項1に記載の方法。
- デジタル処理システムにおいてクロック発生手段を較正する方法であって、システムが実行している間に請求項1又は2に記載の方法を定期的に実施するとともに、結果として得られる最大周波数を前記クロック発生手段に適用することを含むことを特徴とする方法。
- デジタル処理システムが動作可能な最大の最適なクロック周波数を決定するための装置であって、
−初期周波数でクロック信号を生成するための手段と、
−前記システムが正確に動作しないクロック周波数が特定されるまで、前記周波数を段階的に増大させる手段、及び、前記システムの動作を、選択された数の周波数のそれぞれに決定する手段と、
−前記システムが正確に動作可能な最大クロック周波数を特定するための手段と、
を備え、
−前記最大クロック周波数は、前記システムが正確に動作しない周波数であるとして特定された周波数の直前の周波数を含み、
−前記システムの動作を決定するための前記手段は、前記システムが各周波数においてシステムタイミング制約の範囲内で動作できるか否かを決定し、それにより、前記システムがそれぞれの周波数で正確に動作するか否かを示すためのタイミングモニタを備えている、
ことを特徴とする装置。 - デジタル処理システムが動作している周波数を選択的に変化させる方法であって、
a)前記システムがリセットされるときに、前記システムがシステムタイミング制約の範囲内で動作できる最大クロック周波数を決定するとともに、前記最大周波数を記憶するステップと、
b)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、前記最大周波数よりも小さい公称周波数でクロック信号を生成するステップと、
c)前記信号の受信に応じて、必要な時間に亘って前記最大周波数でクロック信号を生成するステップと、
d)前記公称周波数でクロック信号を再び生成するステップと、
を含むことを特徴とする方法。 - 前記最大周波数を決定する前記ステップは、請求項1又は2に記載の方法を含んでいることを特徴とする請求項5に記載の方法。
- デジタル処理システムが動作している周波数を選択的に変化させるための装置であって、
i.プログラマブル・クロック発生手段と、
ii.前記システムがリセットされるときに、前記システムがシステムタイミング制約の範囲内で動作可能な最大クロック周波数を決定するとともに、前記最大周波数を記憶するための手段と、
iii.前記クロック発生手段が、
a)リセット後に、クロック周波数の増大が必要とされていることを示す信号が受信されるまで、前記最大周波数よりも小さい公称周波数でクロック信号を生成し、
b)前記信号の受信に応じて、必要な時間に亘って前記最大周波数でクロック信号を生成し、
c)前記公称周波数でクロック信号を再び生成する、
ようにさせる手段と、
を備えることを特徴とする装置。 - システムタイミング制約を監視するためのタイミングモニタを備えていることを特徴とする請求項7に記載の装置。
- クロック信号の周波数を初期周波数から最大周波数まで増大させるための周波数ファインダを備えていることを特徴とする請求項4、7又は8に記載の装置。
- 前記クロック発生手段は、プログラマブル・リングオシレータを含むことを特徴とする請求項4又は7乃至9のいずれか一項に記載の装置。
- リセットにおいて最大周波数を決定して、クロック周波数の増大の要求を受け取るとともに、前記要求が満了し又は取り消されるまで前記クロック発生手段にクロック信号を最大周波数で生成させるための周波数ファインダ・セレクタを備えていることを特徴とする請求項7に記載の装置。
- リセットにおいて前記最大周波数を決定し且つ前記クロック発生手段に前記最大周波数でクロック信号を生成させるための周波数ファインダと、前記公称周波数でクロック信号を生成するように配置されて構成される第2のクロック発生手段とを備え、前記第1及び第2のクロック発生手段の出力は、切り換え手段によってクロック出力に対して結合され、前記切り換え手段は、前記クロック周波数を増大するための要求が受け取られるまで前記第2のクロック発生手段を前記クロック出力に対して結合するように構成されており、前記要求に応じて、前記切り換え手段は、前記要求が満了し又は取り消されるまで、前記第1のクロック発生手段の出力が前記クロック出力に対して結合されるようにすることを特徴とする請求項7に記載の装置。
- 前記要求が満了し又は取り消されるときに、前記第1のクロック発生手段を無効にするための手段を備えていることを特徴とする請求項12に記載の装置。
- 前記第2のクロック発生手段は、外部クロック発生手段を含むことを特徴とする請求項12又は13に記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP04100301 | 2004-01-28 | ||
| PCT/IB2005/050234 WO2005073828A2 (en) | 2004-01-28 | 2005-01-20 | Method and apparatus for over clocking in a digital processing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007520008A true JP2007520008A (ja) | 2007-07-19 |
Family
ID=34814362
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006550421A Withdrawn JP2007520008A (ja) | 2004-01-28 | 2005-01-20 | デジタル処理システムにおけるオーバークロックのための方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7536578B2 (ja) |
| EP (1) | EP1711878A2 (ja) |
| JP (1) | JP2007520008A (ja) |
| CN (1) | CN100504716C (ja) |
| WO (1) | WO2005073828A2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014142253A (ja) * | 2013-01-23 | 2014-08-07 | Fujitsu Semiconductor Ltd | 試験支援方法、試験支援プログラム、および試験支援装置 |
| CN114902340A (zh) * | 2019-12-30 | 2022-08-12 | 超威半导体公司 | 自动内存超频 |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7469355B1 (en) * | 2004-10-26 | 2008-12-23 | Nvidia Corporation | Auto tune dynamic over clocking |
| US8954773B2 (en) * | 2005-10-21 | 2015-02-10 | Freescale Semiconductor, Inc. | Electronic device and method for controlling current of a processor load by slewing clock frequency |
| US20090108817A1 (en) * | 2007-10-30 | 2009-04-30 | Topower Computer Industrial Co., Ltd. | Method for actuation by boosting power source voltage |
| US20090235108A1 (en) * | 2008-03-11 | 2009-09-17 | Gold Spencer M | Automatic processor overclocking |
| TWI364644B (en) | 2008-04-11 | 2012-05-21 | Asustek Comp Inc | Computer system and method for automatically overclocking |
| TWI391808B (zh) * | 2008-04-18 | 2013-04-01 | Asustek Comp Inc | 超頻模組及電腦系統及其超頻方法 |
| JP2010039791A (ja) * | 2008-08-05 | 2010-02-18 | Toshiba Corp | 携帯端末装置 |
| CN101676879A (zh) * | 2008-09-17 | 2010-03-24 | 鸿富锦精密工业(深圳)有限公司 | 超频能力测试系统及方法 |
| TWI398752B (zh) * | 2009-04-30 | 2013-06-11 | Asustek Comp Inc | 中央處理器的超頻控制方法和超頻控制程式 |
| TW201044136A (en) * | 2009-06-12 | 2010-12-16 | Micro Star Int Co Ltd | External frequency adjustment methods and systems, and computer program products thereof |
| US8885694B2 (en) * | 2009-09-09 | 2014-11-11 | Texas Instruments Incorporated | Changing an operating performance point |
| US8429441B2 (en) | 2010-04-19 | 2013-04-23 | International Business Machines Corporation | Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor |
| US8578388B2 (en) | 2010-10-25 | 2013-11-05 | International Business Machines Corporation | Optimizing the performance of hybrid CPU systems based upon the thread type of applications to be run on the CPUs |
| US8373482B2 (en) * | 2011-01-13 | 2013-02-12 | Texas Instruments Incorporated | Temperature sensor programmable ring oscillator, processor, and pulse width modulator |
| US8806176B2 (en) * | 2011-02-22 | 2014-08-12 | International Business Machines Corporation | Applying advanced energy manager in a distributed environment |
| CN104346270B (zh) * | 2013-07-23 | 2017-12-01 | 京微雅格(北京)科技有限公司 | 一种搜索fpga软件可运行到的最高频率的方法 |
| US10459477B2 (en) * | 2017-04-19 | 2019-10-29 | Seagate Technology Llc | Computing system with power variation attack countermeasures |
| CN108983069A (zh) * | 2018-05-28 | 2018-12-11 | 北京比特大陆科技有限公司 | 芯片扫频系统和方法 |
| US10852761B2 (en) * | 2018-12-13 | 2020-12-01 | Ati Technologies Ulc | Computing system with automated video memory overclocking |
| KR20220036232A (ko) * | 2020-09-15 | 2022-03-22 | 에스케이하이닉스 주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218705A (en) * | 1989-04-17 | 1993-06-08 | Motorola, Inc. | Pager receiver with selective operating voltage and reduced power consumption |
| US5189314A (en) | 1991-09-04 | 1993-02-23 | International Business Machines Corporation | Variable chip-clocking mechanism |
| US5418931A (en) | 1992-03-27 | 1995-05-23 | Cadence Design Systems, Inc. | Method and apparatus for detecting timing errors in digital circuit designs |
| US6311287B1 (en) * | 1994-10-11 | 2001-10-30 | Compaq Computer Corporation | Variable frequency clock control for microprocessor-based computer systems |
| US5572719A (en) * | 1994-11-22 | 1996-11-05 | Advanced Micro Devices | Clock control system for microprocessors including a delay sensing circuit |
| US6014033A (en) * | 1995-08-31 | 2000-01-11 | Texas Instruments Incorporated | Method of identifying the point at which an integrated circuit fails a functional test |
| US5630110A (en) * | 1996-03-01 | 1997-05-13 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of a processor |
| US5774704A (en) | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
| JPH10268963A (ja) | 1997-03-28 | 1998-10-09 | Mitsubishi Electric Corp | 情報処理装置 |
| JP3961619B2 (ja) | 1997-06-03 | 2007-08-22 | 株式会社東芝 | コンピュータシステムおよびその処理速度制御方法 |
| FR2770704B1 (fr) | 1997-11-03 | 2000-04-14 | Sgs Thomson Microelectronics | Circuit verrouille en phase |
| JPH11143573A (ja) * | 1997-11-10 | 1999-05-28 | Fujitsu Ltd | クロック供給方法及び情報処理装置 |
| US6324657B1 (en) * | 1998-06-11 | 2001-11-27 | Micron Technology, Inc. | On-clip testing circuit and method for improving testing of integrated circuits |
| US7100061B2 (en) | 2000-01-18 | 2006-08-29 | Transmeta Corporation | Adaptive power control |
| US6535986B1 (en) | 2000-03-14 | 2003-03-18 | International Business Machines Corporation | Optimizing performance of a clocked system by adjusting clock control settings and clock frequency |
| US6963992B1 (en) * | 2000-09-28 | 2005-11-08 | Cypress Semiconductor Corp. | Method and apparatus to generate clock and control signals for over-clocking recovery in a PLL |
| WO2002058143A2 (en) * | 2001-01-22 | 2002-07-25 | Morgan Chemical Products, Inc. | Cvd diamond enhanced microprocessor cooling system |
| US6813719B2 (en) * | 2001-11-16 | 2004-11-02 | Apple Computer, Inc. | Method and apparatus for increasing the operating frequency of an electronic circuit |
| US7043649B2 (en) * | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
| US7382366B1 (en) * | 2003-10-21 | 2008-06-03 | Nvidia Corporation | Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system |
| US7397877B2 (en) * | 2004-05-27 | 2008-07-08 | Intel Corporation | Clock drift compensation method for remote communications |
-
2005
- 2005-01-20 JP JP2006550421A patent/JP2007520008A/ja not_active Withdrawn
- 2005-01-20 CN CNB2005800033574A patent/CN100504716C/zh not_active Expired - Fee Related
- 2005-01-20 WO PCT/IB2005/050234 patent/WO2005073828A2/en not_active Ceased
- 2005-01-20 US US10/587,607 patent/US7536578B2/en not_active Expired - Lifetime
- 2005-01-20 EP EP05702729A patent/EP1711878A2/en not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014142253A (ja) * | 2013-01-23 | 2014-08-07 | Fujitsu Semiconductor Ltd | 試験支援方法、試験支援プログラム、および試験支援装置 |
| CN114902340A (zh) * | 2019-12-30 | 2022-08-12 | 超威半导体公司 | 自动内存超频 |
| JP2023508519A (ja) * | 2019-12-30 | 2023-03-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 自動メモリオーバークロック |
| JP7726887B2 (ja) | 2019-12-30 | 2025-08-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 自動メモリオーバークロック |
Also Published As
| Publication number | Publication date |
|---|---|
| US7536578B2 (en) | 2009-05-19 |
| CN1914577A (zh) | 2007-02-14 |
| WO2005073828A2 (en) | 2005-08-11 |
| US20070168686A1 (en) | 2007-07-19 |
| WO2005073828A3 (en) | 2006-04-06 |
| EP1711878A2 (en) | 2006-10-18 |
| CN100504716C (zh) | 2009-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7536578B2 (en) | Method and apparatus for over clocking in a digital processing system | |
| US5550489A (en) | Secondary clock source for low power, fast response clocking | |
| US8860502B2 (en) | Method and apparatus for monitoring timing of critical paths | |
| US7467318B2 (en) | Adaptive temperature dependent feedback clock control system and method | |
| US9714966B2 (en) | Circuit aging sensor | |
| US7657764B2 (en) | Method and apparatus for on-demand power management | |
| US7774627B2 (en) | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature | |
| CN101241392B (zh) | 根据工作温度的变化来动态改变功耗的微处理器及方法 | |
| US6974252B2 (en) | Failsafe mechanism for preventing an integrated circuit from overheating | |
| US20080263377A1 (en) | Method and apparatus for on-demand power management | |
| JPWO1998013742A1 (ja) | 周波数−電圧変換回路、遅延量判定回路、周波数−電圧変換回路を備えたシステム、周波数−電圧変換回路の入出力特性を調整する方法、および周波数−電圧変換回路の入出力特性を自動調整する装置 | |
| KR20040068938A (ko) | 열 관리가 조절된 운영 체계 | |
| US9459314B1 (en) | Circuit and method for real-time monitoring of process, temperature, and voltage variations | |
| CN1818688B (zh) | 包括运行速度检测装置的系统、运行速度检测装置及其方法 | |
| KR20180112771A (ko) | 동작 전압을 제어하는 시스템 및 방법 | |
| US6329642B1 (en) | Semiconductor device and semiconductor chip | |
| CN102099762A (zh) | 用于功率管理的系统和方法 | |
| US20070216376A1 (en) | Semiconductor integrated circuit and system guaranteeing proper operation under low-temperature condition | |
| JP2004280378A (ja) | 半導体装置 | |
| US6900701B2 (en) | Automatic detection, selection and configuration of clock oscillator circuitry | |
| US7579864B2 (en) | Logic block control system and logic block control method | |
| US8402288B2 (en) | Apparatus and method for controlling voltage and frequency using multiple reference circuits | |
| US6556057B2 (en) | Noise suppression circuitry and method | |
| CN116400754A (zh) | 电子装置及电子装置中控制温度的方法 | |
| CN114696809B (zh) | 信号产生电路及操作系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080118 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091013 |