(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-10
(54)【発明の名称】反応的低下リミッタ
(51)【国際特許分類】
G06F 1/04 20060101AFI20221102BHJP
【FI】
G06F1/04 570
G06F1/04 510
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022513445
(86)(22)【出願日】2020-11-10
(85)【翻訳文提出日】2022-02-28
(86)【国際出願番号】 EP2020081632
(87)【国際公開番号】W WO2021129974
(87)【国際公開日】2021-07-01
(32)【優先日】2019-12-23
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】518371892
【氏名又は名称】グラフコアー リミテッド
【氏名又は名称原語表記】Graphcore Limited
【住所又は居所原語表記】11-19 Wine Street,Bristol,BS1 2PH,United Kingdom
(74)【代理人】
【識別番号】100169904
【氏名又は名称】村井 康司
(74)【代理人】
【識別番号】100221372
【氏名又は名称】岡崎 信治
(72)【発明者】
【氏名】スティーブン フィリクス
(72)【発明者】
【氏名】ダニエル ジョン ペラム ウィルキンソン
(57)【要約】
プロセッサの通常動作の間に電圧低下が生じる可能性があり、したがって、回路のタイミング不良の確率を低減するべくこの低下に迅速に対処するための技法が必要である。この問題は、低下を検出し、低下を軽減するよう反応するように構成された装置が提供されることによって対処される。装置は、クロック信号発生器(4)(例えば、位相ロックループ)の出力(Fin)を受信し、クロック信号発生器の出力内のクロックパルスの既定の部分が出力信号から除去された出力信号(Fout)を生成するように構成された分周器(21)を含む。クロック信号の周波数をこのように低減することによって、VDDが増大させられ、それゆえ、電圧低下を軽減する。この技法は、プロセッサ間の過度のVDD低下を防止する高速な絞り機構を提供する。
【特許請求の範囲】
【請求項1】
プロセッサのためのクロック信号の周波数を制御する方法であって、前記方法が、
クロック発生器から、プロセッサに供給するための第1の周波数を有する第1のプロセッサクロック信号を受信することと、
前記プロセッサに供給される電圧における電圧低下の指示を受信することと、
前記電圧低下の指示に応じて、前記第1のプロセッサクロック信号の既定数のクロックパルスの間、前記第1のプロセッサクロック信号が前記プロセッサに供給されるのを阻止することと、
その後、前記電圧低下の指示に応じて、前記第1のプロセッサクロック信号からクロックパルスの一部を除去し、前記第1の周波数よりも低い第2の周波数を有する第2のプロセッサクロック信号を発生することと、
前記第2のプロセッサクロック信号を前記プロセッサに提供することと、
を含む方法。
【請求項2】
前記電圧低下の指示に応じて、前記クロックパルスの一部を除去するステップは、
前記電圧低下の指示から、前記電圧低下が既定の閾値を超えたと決定することと、
前記電圧低下が前記既定の閾値を超えたことに応じて、前記クロックパルスの一部の除去を実行すること、
を含む、請求項1に記載の方法。
【請求項3】
前記方法が、前記クロックパルスの一部を前記第1のプロセッサクロック信号から除去するステップに続き、前記第1のプロセッサクロック信号から除去するクロックパルスの割合を減少させることで、前記第2の周波数を増大させるよう前記第2のプロセッサクロック信号を調整することを含む、調整することを含む、請求項1又は2に記載の方法。
【請求項4】
前記クロックパルスの割合は、前記プロセッサに供給される前記電圧における電圧低下の指示に包含される前記電圧低下の大きさに依存する、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記方法が、前記電圧低下の指示を生成するために供給電圧を測定することを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記供給電圧を測定するステップは、アナログ-デジタル変換器を用いて前記供給電圧を測定することを含む、請求項5に記載の方法。
【請求項7】
前記方法は、タップサンプリング遅延線を用いて前記タップサンプリング遅延線内の第1のクロック信号のクロックエッジ位置の変化を測定し、供給電圧における電圧低下を検出することによって、前記電圧低下の指示を生成することを含み、前記タップサンプリング遅延線は、前記電圧を前記プロセッサに供給する同じ電源によって給電される、請求項1~4のいずれか一項に記載の方法。
【請求項8】
前記タップサンプリング遅延線内の前記第1のクロック信号は、前記第1のプロセッサクロック信号と同じである、請求項7に記載の方法。
【請求項9】
電圧低下を検出するステップは、
前記第1のクロック信号を前記タップサンプリング遅延線内の2つの異なる経路に沿って分割することと、
前記2つの異なる経路の各々に沿って、サンプルクロック信号のエッジの受信時に、それぞれの経路内のタップのセットの各々において前記第1のクロック信号をサンプリングすることによって、前記第1のクロック信号のサンプルのセットを生成することであって、それぞれの経路内の前記タップの各々が少なくとも2つのインバータ遅延分だけ分離されており、これにより、サンプルのセットが、前記サンプルの間の前記第1のクロック信号の反転を伴うことなく、単一のインバータ遅延分各々分離された前記第1のクロック信号のサンプル値を表現することと、
サンプルのセットから、前記第1のクロック信号のクロックエッジ位置の変化を測定することによって、前記電圧低下の大きさを決定すること、
を含み、
前記サンプルクロック信号は、前記第1のクロック信号と同じ周波数を有する、請求項7又は8に記載の方法。
【請求項10】
前記第1のクロック信号は、サンプルクロック信号を遅延させたものである、請求項7~9のいずれか一項に記載の方法。
【請求項11】
前記タップサンプリング遅延線において受信される前記第1のクロック信号がさらなる遅延線から受信され、前記さらなる遅延線は、前記タップサンプリング遅延線よりも粗い遅延段を有する、請求項10に記載の方法。
【請求項12】
前記タップサンプリング遅延線は、2つの異なる経路の間の前記第1のクロック信号のドリフトを抑制するための2つの異なる経路の間の複数の接続を含み、前記接続の各々は、少なくとも1つのインバータを含む、請求項9に従属するときの請求項9~11のいずれか一項に記載の方法。
【請求項13】
タップのセットの各々がフリップフロップの対を含み、フリップフロップの各対は、
前記第1のクロック信号をサンプリングし、前記サンプルクロック信号のエッジの受信に応じて値をラッチするための第1のフリップフロップと、
前記サンプルクロック信号の後続のエッジの受信に応じて前記第1のフリップフロップの出力としての値をサンプリングするための第2のフリップフロップと、
を含む、請求項7~12のいずれか一項に記載の方法。
【請求項14】
前記フリップフロップの各々は、超低電圧閾値トランジスタを含む、請求項13に記載の方法。
【請求項15】
前記電圧低下を検出するステップは、
前記タップサンプリング遅延線内の前記第1のクロック信号のための平均クロックエッジ位置を決定することと、
前記平均クロックエッジ位置からの前記クロックエッジ位置の逸脱を決定することと、
を含む、請求項7~14のいずれか一項に記載の方法。
【請求項16】
前記プロセッサにおいて前記第2のプロセッサクロック信号を受信することと、
前記プロセッサの1つ以上の構成要素をクロック制御するために前記第2のプロセッサクロック信号を前記プロセッサの銅線に沿って伝搬することと、
を含む、請求項1~15のいずれか一項に記載の方法。
【請求項17】
前記銅線が、0.2マイクロメートルよりも大きい厚さを有する、請求項16に記載の方法。
【請求項18】
前記プロセッサの前記1つ以上の構成要素が複数の処理ユニットを含む、請求項16又は17に記載の方法。
【請求項19】
コントローラ回路機構及びクロック信号変更回路機構を含む、低下軽減回路機構を備えるコンピュータシステムであって、
前記クロック信号変更回路機構は、クロック発生器から、プロセッサに供給するための第1の周波数を有する第1のプロセッサクロック信号を受信するように構成され、
前記コントローラ回路機構は、前記プロセッサに供給される電圧における電圧低下の指示を受信するように構成され、
前記クロック信号変更回路機構は、
前記コントローラ回路機構において受信された前記電圧低下の指示に応じて、前記第1のプロセッサクロック信号の既定数のクロックパルスの間、前記第1のプロセッサクロック信号が前記プロセッサに供給されるのを阻止することと、
その後、前記コントローラ回路機構において受信された前記電圧低下の指示に応じて、クロックパルスの一部を前記第1のプロセッサクロック信号から除去して、前記第1の周波数よりも低い第2の周波数を有する第2のプロセッサクロック信号を発生することと、
前記第2のプロセッサクロック信号を前記プロセッサに提供することと、
を実行するように構成されている、コンピュータシステム。
【請求項20】
前記コントローラ回路機構は、
前記電圧低下の指示から、前記電圧低下が既定の閾値を超えたと決定することと、
前記閾値を超えたとの決定に応じて、前記閾値を超えたとの指示を前記クロック信号変更回路機構に提供することと、
を実行するように構成されており、
前記コントローラ回路機構において受信された前記電圧低下の指示に応じて、前記クロックパルスの一部を除去するステップは、前記クロック信号変更回路機構が、前記閾値を超えたとの受信された指示に応じて前記クロックパルスの一部を除去することを含む、請求項19に記載のコンピュータシステム。
【請求項21】
前記閾値を超えたとの指示がクロックパルスの割合の指示を含む、請求項19又は20に記載のコンピュータシステム。
【請求項22】
前記コンピュータシステムは、前記電圧低下の指示を生成するために供給電圧を測定するように構成された低下検出器を備える、請求項19~21のいずれか一項に記載のコンピュータシステム。
【請求項23】
前記低下検出器は、前記供給電圧の低下を測定するように構成された1つ以上のアナログ-デジタル変換器を含む、請求項22に記載のコンピュータシステム。
【請求項24】
前記低下検出器は、タップサンプリング遅延線内の第1のクロック信号のクロックエッジ位置の変化を測定することによって前記電圧低下を測定するように構成されたタップサンプリング遅延線を含み、前記タップサンプリング遅延線は、前記電圧を前記プロセッサに供給する同じ電源によって給電される、請求項22に記載のコンピュータシステム。
【請求項25】
前記タップサンプリング遅延線は、
前記タップサンプリング遅延線において前記第1のクロック信号を受信するための入力と、
前記第1のクロック信号を伝搬するように各々構成された2つの異なるクロック経路と、
前記タップサンプリング遅延線内の2つの異なる経路の各々に沿って配列された複数のタップであって、前記複数のタップが、サンプルクロック信号のエッジの受信時に、前記タップの各々において前記第1のクロック信号をサンプリングすることによって、前記クロック信号のサンプルのセットを生成するように構成されており、前記異なる経路の各々において、それぞれの経路内の前記タップの各々が少なくとも2つのインバータ遅延分だけ分離されており、これにより、サンプルの前記セットが前記第1のクロック信号のサンプル値を表現し、前記タップの各々が、前記タップの間の前記クロック信号の反転を伴うことなく、単一のインバータ遅延分だけ分離されている、複数のタップと、
サンプルのセットから、前記第1のクロック信号の前記クロックエッジ位置の変化を測定することによって、前記電圧低下の大きさを決定するように構成された回路機構と、
を含み、
前記サンプルクロック信号が前記第1のクロック信号と同じ周波数を有する、請求項24に記載のコンピュータシステム。
【請求項26】
前記第2のプロセッサクロック信号を受信することと、
前記プロセッサの1つ以上の構成要素をクロック制御するために前記第2のプロセッサクロック信号を前記プロセッサの銅線に沿って伝搬することと、
を実行するように構成された前記プロセッサを備える、請求項19~25のいずれか一項に記載のコンピュータシステム。
【請求項27】
前記低下軽減回路機構は、前記プロセッサへの前記第2のプロセッサクロック信号の入口点に配置されている、請求項19~26のいずれか一項に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電圧低下(droop)を反応的に抑制するための方法及び装置に関する。
【背景技術】
【0002】
動作中、プロセッサには、プロセッサ内の論理回路の動作に給電するための供給電圧が印加される。プロセッサ間に供給される電圧はV
DDと称される。1つ以上のアプリケーションをプロセッサ上で実行する際には、動作中にプロセッサによって引き出される電圧に影響を及ぼし得る異なる変数が存在する。このような因子は、プロセッサの実効スイッチトキャパシタンス(switched capacitance)、及びプロセッサがクロック制御される周波数を含む。具体的には、プロセッサのインピーダンスZは、次式によって実効スイッチトキャパシタンスC
s及びプロセッサクロック周波数fに関係することが理解される。
【数1】
【0003】
電源及びプロセッサを含む回路内において、プロセッサは唯一のインピーダンス源ではない。プロセッサは、例えば、電源の内部抵抗の結果生じるインピーダンスなどの他のインピーダンス源とも直列になっている。したがって、プロセッサは、プロセッサ間の電圧VDDがプロセッサのインピーダンスにより増大する分圧器の一部である。
【0004】
したがって、式1から、VDDは、プロセッサの実効スイッチトキャパシタンス及びクロック周波数の変化と共に上昇又は下降することになることが理解される。これらの変数は、通常、プロセッサの動作中に一定のままとどまることはない。したがって、電力供給電圧が補償のために調整されなければ、VDDはプロセッサの動作中に変化することになる。Cs及びfの変化がゆっくりと生じるときには、VDDを最小要求レベルより高く維持するよう電源の出力を調整することが可能である。しかし、CS又はfの突然の増大は、VDDを突然低下させ得る。このような電圧低下は、プロセッサでタイミング不良をもたらす可能性があり、プロセッサの動作にとって致命的となる可能性がある。
【0005】
プロセッサクロック周波数の突然の増大は、例えば、低速位相ロックループ(PLL:phase locked loop)の使用から高速位相ロックループ(PLL)の使用へのスイッチによって生じ得る。このようなスイッチは、例えば、アプリケーションをより高速に実行し、その出力をより高速に送出することを可能にするために実行され得る。しかし、VDDとクロック周波数との反比例関係のゆえに、クロック周波数の突然の増大はVDDを突然低下させ得る。
【0006】
実効スイッチトキャパシタンスの突然の増大は、アプリケーションの挙動の変化によって生じ得る。これは、特に、多数の実行ユニットを有するプロセッサにおいて、異なるユニットに関連付けられたメモリ間でデータを同期するといったあるイベントが発生した結果、ユニットにより計算密度が大きいコードが実行される場合に見られる。実行するコードの計算密度の増加は、クロックサイクルごとにスイッチングされるプロセッサ内のスイッチング要素の数の増大をもたらす。スイッチング量のこの増大は、実効スイッチングキャパシタンスを増大させ、VDDの減少を生じさせる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
以上において述べた理由のために、プロセッサの通常動作の間に、電圧低下が生じる可能性がある。この低下の影響は回路のタイミング不良を生じさせ得る。さらに、場合によっては、この低下は、回路のタイミング不良を防止するためにVDDを上昇させることが必要となることによって、電力効率(ひいては、性能)を低下させ得る。
【0008】
電圧の全低下は300nsのうちに起こり得る。この時間の間に、電圧を供給する電力コントローラは、低下を軽減するためにその出力電圧を増大させることによって低下に応答し得る。電力コントローラは、VDDを上昇させることによって低下に応答することができる時間によって制限されるため、残りの低下の大部分(およそ70%)は、電力コントローラが応答できるより早い最初の15ns内に生じ得る。この早期の低下に迅速に対処する解決策が必要である。
【課題を解決するための手段】
【0009】
第1の態様によれば、プロセッサのためのクロック信号の周波数を制御する方法であって、該方法は、クロック発生器から、プロセッサに供給するための第1の周波数を有する第1のプロセッサクロック信号を受信することと、プロセッサに供給される電圧における電圧低下の指示を受信することと、電圧低下の指示に応じて、クロックパルスの一部を第1のプロセッサクロック信号から除去し、第1の周波数よりも低い第2の周波数を有する第2のプロセッサクロック信号を発生することと、第2のプロセッサクロック信号をプロセッサに提供することと、を含む方法が提供される。
【0010】
実施形態は、低下を検出し、低下を軽減するよう反応するように構成された装置が提供されることによってこの問題に対処する。装置は、クロック信号発生器(例えば、位相ロックループ)の出力を受信し、クロック信号発生器の出力内の所定の比率のクロックパルスが出力信号から除去された出力信号を生成するように構成された分周器を含む。クロック信号の周波数をこのように低減することによって、VDDが増大させられ、それゆえ、電圧低下を軽減する。この技法は、プロセッサ間の過度のVDD低下を防止する高速な絞り機構を提供する。
【0011】
いくつかの実施形態では、供給電圧における電圧低下を検出するステップは、タップサンプリング遅延線を用いてタップサンプリング遅延線内のクロック信号のクロックエッジ位置の変化を測定することを含み、タップサンプリング遅延線は、電圧をプロセッサに供給する同じ電源によって給電される。これは、電圧低下を検出するための低コストの技法を提供する。
【0012】
いくつかの実施形態では、電圧低下の指示に応じて、クロックパルスの一部を除去するステップは、電圧低下の指示から、電圧低下が既定の閾値を超えたと決定し、電圧低下が既定の閾値を超えたことに応じて、クロックパルスの一部の除去を実行することを含む。
【0013】
いくつかの実施形態では、本方法は、クロックパルスの一部を第1のプロセッサクロック信号から除去するステップに続き、第1のプロセッサクロック信号から除去されるクロックパルスの割合を減少させることで、第2の周波数を増大させるよう第2のプロセッサクロック信号を調整することを含む。
【0014】
いくつかの実施形態では、クロックパルスの割合は、プロセッサに供給される電圧における電圧低下の指示に包含される電圧低下の大きさに依存する。
【0015】
いくつかの実施形態では、本方法は、電圧低下の指示に応じて、クロックパルスの一部を除去するステップの前に、第1のプロセッサクロック信号の既定数のクロックパルスの間、第1のプロセッサクロック信号がプロセッサに供給されるのを阻止することを含む。
【0016】
いくつかの実施形態では、本方法は、電圧低下の指示を生成するために供給電圧を測定することを含む。
【0017】
いくつかの実施形態では、供給電圧を測定するステップは、アナログ-デジタル変換器を用いて供給電圧を測定することを含む。
【0018】
いくつかの実施形態では、本方法は、タップサンプリング遅延線を用いてタップサンプリング遅延線内の第1のクロック信号のクロックエッジ位置の変化を測定し、供給電圧における電圧低下を検出することによって、電圧低下の指示を生成することを含み、タップサンプリング遅延線は、電圧をプロセッサに供給する同じ電源によって給電される。
【0019】
いくつかの実施形態では、タップサンプリング遅延線内の第1のクロック信号はプロセッサクロック信号と同じである。
【0020】
いくつかの実施形態では、電圧低下を検出するステップは、第1のクロック信号をタップサンプリング遅延線内の2つの異なる経路に沿って分割することと、2つの異なる経路の各々に沿って、サンプルクロック信号のエッジの受信時に、それぞれの経路内のタップのセットの各々において第1のクロック信号をサンプリングすることによって、第1のクロック信号のサンプルのセットを生成することであって、それぞれの経路内のタップの各々が少なくとも2つのインバータ遅延分だけ分離されており、これにより、サンプルのセットが、サンプルの間の第1のクロック信号の反転を伴うことなく、単一のインバータ遅延分だけ分離された第1のクロック信号のサンプル値を表現することと、サンプルのセットから、第1のクロック信号のクロックエッジ位置の変化を測定することによって、電圧低下の大きさを決定することと、を含み、サンプルクロック信号は、第1のクロック信号と同じ周波数を有する。
【0021】
いくつかの実施形態では、第1のクロック信号及びサンプルクロック信号は同じクロック源から得られる。
【0022】
いくつかの実施形態では、第1のクロック信号はサンプルクロック信号の遅延バージョンである。
【0023】
いくつかの実施形態では、タップサンプリング遅延線において受信される第1のクロック信号は、さらなる遅延線から受信され、さらなる遅延線は、タップサンプリング遅延線よりも粗い遅延段を有する。
【0024】
いくつかの実施形態では、タップサンプリング遅延線は、2つの異なる経路の間の第1のクロック信号のドリフトを抑制するための2つの異なる経路の間の複数の接続を含み、接続の各々は少なくとも1つのインバータを含む。
【0025】
いくつかの実施形態では、タップのセットの各々は、フリップフロップの対を含み、フリップフロップの各対は、第1のクロック信号をサンプリングし、サンプルクロック信号のエッジの受信に応じて値をラッチするための第1のフリップフロップと、サンプルクロック信号の後続のエッジの受信に応じて第1のフリップフロップの出力としての値をサンプリングするための第2のフリップフロップと、を含む。
【0026】
いくつかの実施形態では、フリップフロップの各々は、超低電圧閾値トランジスタを含む。
【0027】
いくつかの実施形態では、電圧低下を検出するステップは、タップサンプリング遅延線内の第1のクロック信号のための平均クロックエッジ位置を決定することと、平均クロックエッジ位置からのクロックエッジ位置の逸脱を決定することと、を含む。
【0028】
いくつかの実施形態では、本方法は、プロセッサにおいて第2のプロセッサクロック信号を受信することと、プロセッサの1つ以上の構成要素をクロック制御するために第2のプロセッサクロック信号をプロセッサの銅線に沿って伝搬することと、を含む。
【0029】
いくつかの実施形態では、銅線は、0.2マイクロメートルよりも大きい厚さを有する。
【0030】
いくつかの実施形態では、プロセッサの1つ以上の構成要素は、複数の処理ユニットを含む。
【0031】
第2の態様によれば、コントローラ回路機構及びクロック信号変更回路機構を含む、低下軽減回路機構を備えるコンピュータシステムであって、クロック信号変更回路機構は、クロック発生器から、プロセッサに供給するための第1の周波数を有する第1のプロセッサクロック信号を受信するように構成され、コントローラ回路機構は、プロセッサに供給される電圧における電圧低下の指示を受信するように構成され、クロック信号変更回路機構は、コントローラ回路機構において受信された電圧低下の指示に応じて、クロックパルスの一部を第1のプロセッサクロック信号から除去し、第1周波数よりも低い第2の周波数を有する第2のプロセッサクロック信号を発生することと、第2のプロセッサクロック信号をプロセッサに提供することと、を実行するように構成されている、コンピュータシステムが提供される。
【0032】
いくつかの実施形態では、コントローラ回路機構は、電圧低下の指示から、電圧低下が既定の閾値を超えたと決定することと、閾値を超えたとの決定に応じて、閾値を超えたとの指示をクロック信号変更回路機構に提供することと、を実行するように構成されており、コントローラ回路機構において受信された電圧低下の指示に応じて、クロックパルスの一部を除去するステップは、クロック信号変更回路機構が、閾値を超えたとの受信された指示に応じてクロックパルスの一部を除去することを含む。
【0033】
いくつかの実施形態では、閾値を超えたとの指示はクロックパルスの割合の指示を含む。
【0034】
いくつかの実施形態では、コンピュータシステムは、電圧低下の指示を生成するために供給電圧を測定するように構成された低下検出器を備える。
【0035】
いくつかの実施形態では、低下検出器は、供給電圧の低下を測定するように構成された1つ以上のアナログ-デジタル変換器を含む。
【0036】
いくつかの実施形態では、低下検出器は、タップサンプリング遅延線内の第1のクロック信号のクロックエッジ位置の変化を測定することによって電圧低下を測定するように構成されたタップサンプリング遅延線を含み、タップサンプリング遅延線は、電圧をプロセッサに供給する同じ電源によって給電される。
【0037】
いくつかの実施形態では、タップサンプリング遅延線は、タップサンプリング遅延線において第1のクロック信号を受信するための入力、第1のクロック信号を伝搬するように各々構成された2つの異なるクロック経路、タップサンプリング遅延線内の2つの異なる経路の各々に沿って配列された複数のタップであって、複数のタップが、サンプルクロック信号のエッジの受信時に、タップの各々において第1のクロック信号をサンプリングすることによって、クロック信号のサンプルのセットを生成するように構成されており、異なる経路の各々において、それぞれの経路内のタップの各々が少なくとも2つのインバータ遅延分だけ分離されており、これにより、サンプルのセットが第1のクロック信号のサンプル値を表現し、タップの各々が、タップの間のクロック信号の反転を伴うことなく、単一のインバータ遅延分だけ分離されている、複数のタップと、サンプルのセットから、第1のクロック信号のクロックエッジ位置の変化を測定することによって、電圧低下の大きさを決定するように構成された回路機構と、を含み、サンプルクロック信号は、第1のクロック信号と同じ周波数を有する。
【0038】
いくつかの実施形態では、コンピュータシステムは、第2のプロセッサクロック信号を受信することと、プロセッサの1つ以上の構成要素をクロック制御するために第2のプロセッサクロック信号をプロセッサの銅線に沿って伝搬することと、を実行するように構成されたプロセッサを備える。
【0039】
いくつかの実施形態では、低下軽減回路機構は、プロセッサへの第2のプロセッサクロック信号の入口点に配置されている。
【0040】
本発明のより深い理解のため、及びそれがどのように実施され得るのかを示すために、これより、添付の図面が参照される。
【図面の簡単な説明】
【0041】
【
図1】
図1は、低下を軽減するためのクロック制御システムを有するプロセッサの概略図を提供する。
【
図2】
図2は、クロック信号エッジの位置の変化を測定することによって低下が検出される低下検出及び軽減回路機構の概略図を提供する。
【
図3】
図3は、電圧を直接測定することによって低下が検出される低下検出及び軽減回路機構の概略図を提供する。
【
図4】
図4は、周波数を低減するためにクロック信号に対して行われる例示的な変更を示す。
【
図5】
図5は、クロック信号エッジの位置の変化を測定することによって低下を検出するための低下検出器の一例を示す。
【
図6】
図6は、クロック信号エッジの位置を検出するための精細タップサンプリング遅延線の単純化された例を示す。
【
図7】
図7は、クロック信号エッジの位置を検出するための精細タップサンプリング遅延線の一例を示す。
【
図8】
図8は、本出願の実施形態に係る方法の一例を示す。
【発明を実施するための形態】
【0042】
電圧低下に対処するための提案は、2つのカテゴリ、予防的なものと、反応的なものとに分けることができる。予防的方法は、プロセッサが高電力状態に過剰に急速に入るのを防止する試みを含む。1つの予防的提案は、マルチコアチップ上のコアが、様々なより高い電力状態に入るための要求をチップの中央コントローラに送ることを必要とする。中央コントローラは、生じる電流ステップの急激性を抑制するために、コアに、時間をずらす方法でそれらの状態に入る許可を与え得る。電流ステップがあまり急激でなくなるため、電力マネージャは、発生した電圧低下を抑制するために、その供給電圧を、変化する条件に適応するよう上昇させる余地がある。しかし、コアにとって、それらの将来の電力消費を正確、確実に予測することは簡単でなく、また、コントローラへの低遅延の相互接続を構築することも簡単でない。
【0043】
反応的方法は、負荷ステップが生じることを可能にするが、その後、電圧低下を検出し、削減することを含む。これは、負荷予測機構を全く必要としないという利点を有し、低下を削減する必要があるときにのみ実行することができる。課題は、低下が生じたときに、どのようにしてそれに対して非常に迅速に応答するかである。非常に短い時間フレーム(例えば、15ns)のうちに低下の大部分が生じるため、低下をできるだけ迅速に削減することが望まれる。
【0044】
実施形態は、電圧低下を迅速に削減するための反応的方法を提供する。
【0045】
図1は、例えば、複数の処理ユニット(タイル)3を含むシングルチッププロセッサであり得るプロセッサ2を備える、コンピュータシステムの概略ブロック図である。プロセッサ2は、ホスト8によってそれに割り振られた作業負荷を処理するために用いられるアクセラレータであり得る。ホスト8は、インターフェース10を介して作業負荷データをプロセッサ2に供給することができる。単一のプロセッサ2、或いはラック内のカード及び複数のカード上で接続された複数のプロセッサが存在し得る。プロセッサ2は、人工知能又は機械学習の技術分野において作業負荷を扱うために設計された、知能プロセッサユニット(IPU:intelligence processor unit)として知られた種類のものであり得る。
【0046】
タイル3は、本例において、列状に配列されて示されている。タイル3の各々は、クロック信号をタイル3の各々に提供する銅線12に接続されている。銅線12は、プロセッサ2のためのクロックツリーを提供する。銅線12は、厚さが0.2マイクロメートル~2マイクロメートルになるように選択される。銅線12は、例えば、厚さ1マイクロメートルであり得る。銅線12は幅0.5マイクロメートルであり得る。銅線12の厚さを大きくすることで、クロック信号の挿入遅延を低減し、クロック信号がタイル3の各々へ非常に迅速に伝搬することを可能にする。低い挿入遅延は、クロック信号の周波数に対して行われた変更が受信側タイル3において効力を生じることになるまでの時間量を低減するため、低い挿入遅延を有することは、低下を軽減するようクロック信号を変更するときに有利である。このようなプロセッサ2のための挿入遅延はおよそ3ナノ秒であり得る。
【0047】
さらに、銅線12の厚さは、プロセッサ2のための構造支持を提供する追加的機能を提供することを可能にする。それゆえ、厚い銅線12は、クロック信号を伝搬すること、及び構造支持を提供することの二重機能を有する。
【0048】
プロセッサ2はマルチタイルプロセッサとして示されているが、他の実施形態では、プロセッサ2は異なる形態を取り得る。プロセッサ2内に示されるタイル3は、個々の処理ユニットである代わりに、クロック信号によってクロック制御される他の種類の構成要素とすることができる。
【0049】
プロセッサ2のためのクロック信号は、第1の周波数のクロック信号をプロセッサ2に提供するクロック源4によって提供される。このクロック信号は「第1のプロセッサクロック信号」と呼ばれる。クロック源4は、第1のプロセッサクロック信号を提供する1つ以上の位相ロックループ(phase locked loop)(PLL)を含む。1つ以上の位相ロックループは、複数、例えば、2つのPLLを含み得る。クロック源4は、第1のプロセッサクロック信号として、(より高いクロック速度のクロック信号を提供する)第1のPLLの出力と、(より低いクロック速度のクロック信号を提供する)第2のPLLの出力と、を交互に提供するように構成され得る。プロセッサ2に提供される第1のプロセッサクロック信号は、プロセッサ2だけでなく、追加のプロセッサにも提供され得る。クロックがカードコネクタ又は同様のものを介して供給されることに対する代替策として、オンボードクロック源が存在してもよい。すなわち、クロック4は、プロセッサ2内に実装されてもよい。
【0050】
クロック源4は、第1のプロセッサクロック信号を低下軽減回路11に提供する。通常動作中のときには、低下軽減回路11は、第1のプロセッサクロック信号を、周波数を変更することなくプロセッサ2へ通過させる。低下が生じたときには、低下軽減回路11は、第1のプロセッサクロック信号を変更し、異なる周波数を有する第2のプロセッサクロック信号を生成する。第1のプロセッサクロック信号は、クロックパルスの一部(例えば、3つのうち1つ)を除去して第2のプロセッサクロック信号を生成することによって変更される。すなわち、低下軽減回路11は、第1のプロセッサクロック信号のクロックパルスの一部を「食べて」第2のプロセッサクロック信号を生成する。
【0051】
低下軽減回路11は、低下検出器13から電圧低下の指示を受信するように構成されている。低下軽減回路機構11は、第1のプロセッサクロック信号を変更し、第2のプロセッサクロック信号を生成することによって、電圧低下のこの指示に応答する。低下検出器13が低下を検出するためにどのように動作するかに関しては、異なる可能性が存在する。低下検出器13は、電力供給電圧を直接測定することによって動作し得る。代替的に、低下検出器13は、検出装置において(第1のプロセッサクロック信号であり得る)クロック信号のエッジの位置の変化を測定することによって動作し得る。エッジの位置の変化は電圧低下の結果生じ、したがって、電圧低下の指示を提供する。
【0052】
電力管理集積回路(PMIC:power management integrated circuit)7は、供給レールを通じて電力をプロセッサ2に提供する。プロセッサ2において提供される供給電圧はVDDと標識される。PMIC7はまた、VDDの低下をPMIC7に指示する低下検出器13からの入力を受信し得る。場合によっては、PMIC7は、VDDを増大させるようその出力電圧を上昇させることによってこの指示に応答する。これは、低下軽減回路11によって実行されるクロックパルス除去プロセスよりもゆっくりと低下を軽減し、さらに、電力効率を低下させ得る。しかし、PMIC7がその出力電圧を増大させる場合には、これは、VDDを依然として許容可能レベルより高く維持しつつ、プロセッサの実行速度を増大させるためにクロック信号の周波数が再び上昇させられることを可能にし得る。
【0053】
低下軽減回路11及び低下検出器13をより詳細に示す、
図2を参照する。本例では、低下検出器13は、クロック信号(本明細書において「第1のクロック信号」と称される)を用いて、第1のクロック信号のクロックエッジ位置の変化を測定することによって低下を検出する。
図2に示される例では、クロックエッジ位置が測定される第1のクロック信号は、プロセッサ2をクロック制御するために用いられる第1のプロセッサクロック信号と同じである。しかし、他の実施形態では、異なるクロック信号がこれらの目的のために用いられてもよい。
【0054】
低下軽減回路機構11は、停止及びランプロジック20と、回路機構21と、を含む。回路機構21は、クロックパルスの一部が第1のプロセッサクロック信号から除去されるフラクショナル分周機能(fractional dividing function)と、第1のプロセッサクロック信号を既定数のクロックパルスの間阻止するクロックゲーティング機能と、を提供する。停止及びランプロジック20は、その他、「コントローラ」と称され得る。回路機構21は、「クロック信号変更回路機構」と称され得る。
【0055】
低下が閾値レベルより高く上昇するのを検出する以前の通常動作の間には、第1のプロセッサクロック信号は、回路機構21を通過し、回路機構21による変更を伴わずにプロセッサ2に提供される。通常動作時には、したがって、第2のプロセッサクロック信号は第1のプロセッサクロック信号と同じ周波数を有する。
【0056】
低下検出器13は、低下の指示を停止及びランプロジック20へ発行する。停止及びランプロジック20は、この低下が閾値を超えたかどうかを決定する。停止及びランプロジック20は、検出された低下のレベルが閾値を超えると決定した場合には、回路機構21へ信号で通知し、回路機構21は、軽減アクションを実行することによって応答する。
【0057】
最初の任意の軽減ステップとして、停止及びランプロジック20は、停止信号を回路機構21へ発行する。回路機構21は、停止信号に応じて、第1のプロセッサクロック信号がプロセッサ2へ送られるのを阻止する。第1のプロセッサクロック信号は、既定数のクロックパルスの間阻止される。既定数のクロックパルスは、プロセッサ2の挿入遅延に依存する。回路機構21は、プロセッサ2の挿入遅延におおよそ一致する時間第1のプロセッサクロック信号を阻止する。プロセッサ2の挿入遅延をこのように一致させることは、クロックを停止することによって提供された低下軽減が効力を生じ始めたときにクロックを再開させることを可能にする。クロックを停止することは、プロセッサ2のインピーダンスを上昇させ、それによりプロセッサ2間の電位差VDDを増大させることによって、低下を軽減する。クロックが既定数のパルスの間阻止された後に、停止及びランプロジック20は停止信号を撤回し、回路機構21は、それに応じて第1のプロセッサクロック信号の阻止を解除し、これにより、クロックパルスはプロセッサ2に再び提供される。
【0058】
停止及びランプロジック20は、第2のプロセッサクロック信号を生成するために第1のプロセッサクロック信号から除去されるべきクロックパルスの割合の指示を回路機構21に提供する。回路機構21は、除去されるべきクロック信号の割合の指示に応じて、第1の信号内のクロックパルスの一部を除去し、より低い周波数の第2のプロセッサクロック信号を生成する。したがって、第1のプロセッサクロック信号が最初のステップの後に阻止を解除されたとき、阻止を解除されたクロック信号は、より低い周波数で提供される。
【0059】
第1のプロセッサクロック信号から除去されるべきクロック信号の割合の指示は、
図2においてN(8)と示される8ビットの数を含む。この数Nは、次式のように、クロック信号の一部が除去されるべきであることを指示する。
【数2】
ここで、F
outは第2のプロセッサクロック信号の周波数であり、F
inは第1のプロセッサクロック信号の周波数である。除去されるべきクロックパルスの割合の指示は、例えば、3つのクロックパルスごとに1つが回路機構21によって除去されるというものであり得る。
【0060】
第2のプロセッサクロック信号が第1のプロセッサクロック信号にどのように関係し得るのかを示す、
図4を参照する。
図4に示されるように、回路機構21による変更後に、第1のプロセッサクロック信号のクロックパルスの3つに1つが除去された第2のプロセッサクロック信号が生成される。図から理解されるように、クロックパルスの除去は、除去されたクロックパルスの時間においては、信号が低いまま(すなわち、0のまま)であることを意味する。
【0061】
低下検出器13によって提供される低下の指示は、低下の大きさの指示を含む。低下の大きさのこの指示は、停止及びランプロジック20に提供される。停止及びランプロジック20は、低下の大きさの指示を受信し、低下の大きさに応じて、第1のプロセッサクロック信号から除去されるべきクロックパルスの割合を決定する。除去されるべきクロックパルスの割合は、検出された低下の大きさに比例するように選択される。
【0062】
クロックパルスの一部を第1のプロセッサクロック信号から除去するための回路機構21の設定に従って、低下軽減回路機構11は、第1のプロセッサクロック信号から除去されるクロックパルスの割合を減少させ始める。換言すれば、第2のプロセッサクロック信号の周波数は、徐々に増大させられる。これは、停止及びランプロジック20が、回路機構21へ信号で通知されるNの値を徐々に増大させ、これにより、回路機構21が、第1のプロセッサクロック信号から除去するクロック信号の割合を徐々に小さくするようにすることによって、実行される。周波数をこのように上昇させることは、プロセッサ2上で実行するアプリケーションがより高速に実行することを可能にするために望ましい。
【0063】
周波数の上昇は、低下検出器13によって低下の大きさに関して実施された、更新された測定に応じて実施され得る。低下の大きさの指示は、低下検出器13によって停止及びランプロジック20に定期的に提供され得る。
【0064】
回路機構21が低下の検出に従って第2のプロセッサクロック信号の周波数を最初に低減したとき、第2のプロセッサクロック信号の周波数は、低下検出器13が、停止及びランプロジック20によって定義された閾値を超えない低下の大きさを指示するまで、この低いレベルに保持され得る。低下が閾値を超えないとの決定に応じて、停止及びランプロジック20は、次に、第1のプロセッサクロック信号から除去されるクロックパルスの割合を低減し始める。停止及びランプロジック20は、低下の大きさが閾値より高いままである限り、第1のプロセッサクロック信号から除去されるクロックパルスの割合を低減し続ける。それゆえ、周波数は、低下が閾値レベル未満のままである限り、より高いレベルに徐々に増大させられる。停止及びランプロジック20は、変数Nの更新値を回路機構21へ送ることによって、第1のプロセッサクロック信号から除去されるクロックパルスの割合を低減する。回路機構21は、第1のプロセッサクロック信号から除去するクロックパルスの割合をより小さくすることによって応答する。最終的に、低下が閾値より高いままである場合には、第2のプロセッサクロック信号の周波数は第1のプロセッサクロック信号の周波数と等しくなることになる。
【0065】
停止及びランプロジック20内には、低下を制御する際のその動作に影響を及ぼす異なる変数が記憶されて存在する。これらの変数は、必要に応じて調整可能である。1つのこのような変数は、低下閾値である。低下がこの閾値より高く上昇した場合には、低下軽減アクションが実施されることになる。低下がこの閾値より低く下降した場合には、低下が閾値未満のままである限り、除去されるクロックパルスの割合が低減されることになる。変数の別のものは、上述された第1の軽減アクションを取る際に阻止されるべきクロックパルスの数である。変数の別のものは、軽減アクションに続いてクロック周波数が増大させられる(すなわち、除去されるクロックパルスの数を低減することによって増大させられる)速度である。
【0066】
低下検出器13及び低下軽減回路機構11は、クロック信号を受信するプロセッサ2の入口点25に位置付けられている。検出器13及び回路機構11を入口点25に位置させることによって、変更されたクロック信号がプロセッサ2の構成要素の全てに適用され、その一方で、また、信号が変更されてから変更された信号がプロセッサ構成要素に到達するまでの時間も最小化することを確実に実現できる。
【0067】
異なる種類の低下検出器13を用いる低下軽減装置を示す、
図3を参照する。本例では、低下検出器13は、プロセッサ2に提供される電圧を直接測定する。この低下検出器13は、電圧の測定を生成し、これらの測定を停止及びランプロジック20に報告する1つ以上のアナログ-デジタル変換器を含む。アナログ-デジタル変換器は、タップサンプリング遅延線のように、低下の迅速な検出を提供する。しかし、タップサンプリング遅延線が、低下を検出するためのより安価な代替策である。
図3に示される残りの要素は、以上において
図2を参照して説明されたのと同じ方法で動作することになる。
【0068】
電圧低下を検出するための遅延線を含む低下検出器13の一例を示す、
図5を参照する。この低下検出器13は、タップサンプリング遅延線52内のクロックパルスのエッジの位置の変化を測定することによって、低下を測定する。検出器13は、精細タップサンプリング遅延線52に加えて、粗遅延線51を含む。これらの遅延線51、52は、本明細書において「第1のクロック信号」と称される、クロック信号のエッジの位置を測定するために連携して動作する。粗遅延線51及び精細タップサンプリング遅延線52は両方とも、プロセッサ2に印加される同じ電圧源を用いて給電される。したがって、プロセッサ2におけるV
DDの変化は、粗遅延線51及び精細タップサンプリング遅延線52に印加される電圧の変化と符合することになる。遅延線51、52は、信号が各段を通って伝搬するのに要する時間(すなわち、各段に関連付けられた遅延)が、それらに供給される電圧に依存するようになっている。遅延線51、52に供給される電圧が低いほど、遅延線51、52の各段に関連付けられた遅延は長くなる。したがって、各段に関連付けられた遅延は供給電圧に依存するため、第1のクロック信号のエッジは電圧の変化に応じて移動することになる。第1のクロック信号のエッジの位置を測定し、それを平均位置と比較することによって、第1のクロック信号のエッジの位置の変化が検出され得る。第1のクロック信号のエッジの位置の変化はV
DDの変化を指示する。
【0069】
粗遅延線51は、遅延を特定の量だけ第1のクロック信号に導入するように構成されている。粗遅延線51は、各々が、遅延を信号に適用するようアクティベートされるか、又はこのような遅延を信号に適用しないようアクティベートされないかのどちらかとなる複数の段を含む。例えば、粗遅延線は、各々がおよそ40ピコ秒の遅延を第1のクロック信号に導入する32個の段を含み得る。しかし、遅延の精密な量は、粗遅延線51に供給される電圧に依存する。各段が遅延を導入することを可能又は不可能にされるか否かは、遅延を信号に導入するためにアクティベート状態になるべき粗遅延線51内の段の数の指示を出力する校正コントローラ53によって制御される。この指示は、図において5ビット値「RDL_Coarse[4:0]」として示される。
【0070】
精細タップサンプリング遅延線52は、各々が遅延を第1のクロック信号に導入する複数の段を含む。第1のクロック信号は各段において精細タップサンプリング遅延線52から抽出され、これにより、第1のクロック信号の異なる位相における第1のクロック信号の異なるサンプルが抽出される。クロックエッジ位置の変化を測定するために用いることができるタップサンプリング遅延線52の簡略図である、
図6を参照する。タップサンプリング遅延線52は、各々が既定の大きさの遅延を第1のクロック信号に導入する一連の段61を含む。段61の各々は、第1のクロック信号を受信し、受信時に第1のクロック信号の値を一時的に保持し、受信後に既定の遅延をもって第1のクロック信号を出力するように構成された1つ以上のフリップフロップの形態のタップを含み得る。サンプル信号を用いて、遅延線52内のタップの各々に、それらのそれぞれの段61における第1のクロック信号の値をラッチさせ、これにより、信号内の異なる点における第1のクロック信号のサンプルが生成される。
【0071】
第1のクロック信号をサンプリングするために用いられるサンプル信号は、サンプリングされる第1のクロック信号と同じであるが、粗遅延線51及び精細タップサンプリング遅延線52によって導入される遅延を有しない。換言すれば、第1のクロック信号は、同じクロック源から得られたサンプルクロック信号の遅延させられた形態を表現する。第1のクロック信号及びサンプルクロック信号は同じ周波数を有するが、サンプルクロック信号が、第1のクロック信号の立ち上がりエッジの位置のためにサンプリングするべく用いられることを可能にするために、遅延線によって互いに位相が十分にオフセットされている。粗遅延線51は、サンプルクロック信号の立ち上がりエッジが精細タップサンプリング遅延線52に到来し、その結果、精細タップサンプリング遅延線52が各タップにおいてサンプリングされる際に、同じクロック信号の以前の立ち上がりエッジが精細タップサンプリング遅延線52内に位置するようにする量だけ第1のクロック信号を遅延させるために用いられる。このように、サンプリングが実行されたときに、立ち上がりクロックエッジの位置が検出され得、電圧の変化に伴う位置変化が測定され得る。
【0072】
粗遅延線51は、精細タップサンプル遅延線52がより短く、及び/又はより細かく作られることを可能にするために有用である。いくつかの実施形態では、粗遅延線51は、低下検出器13から省略されてもよく、クロック信号の以前の立ち上がりエッジを検出するために必要とされる遅延の全ては精細タップサンプリング遅延線52によって導入される。しかし、これは、クロック信号の前の立ち上がりエッジが、後続の立ち上がりエッジが受信された際に精細タップサンプリング遅延線52内に存在するよう、必要とされる遅延を導入するのに足るだけ、精細タップサンプリング遅延線52が十分に長く、及び/又は粗く作られることを必要とする。
【0073】
精細タップサンプリング遅延線52がどのように動作し得るのかに関する一例をより詳細に示す、
図7を参照する。図示のように、精細タップサンプリング遅延線52は、第1のクロック信号を遅延させるために用いられる複数のインバータを含む。
図7において、1つのこのようなインバータがインバータ71として標識されている。各々のこのようなインバータは、およそ10psの遅延を第1のクロック信号に導入し得る。第1のクロック信号を遅延させるために用いられるインバータに加えて、精細タップサンプリング遅延線52は、第1のクロック信号をサンプリングするために用いられる複数のフリップフロップを含む。
図7において、1つのこのようなフリップフロップがフリップフロップ72として標識されている。各フリップフロップは、第1のクロック信号及びサンプルクロック信号を受信するように構成されている。フリップフロップは、サンプルクロック信号の立ち上がりエッジの受信に応じて第1のクロック信号の値をラッチすることになる。図示のように、第1のクロック信号がサンプリングされる各点において、2つのフリップフロップが存在する。後により詳細に説明されるように、2つのフリップフロップの存在は、クロックエッジ位置の高頻度の測定が行われることを可能にするのと同時に、準安定性が解決されることを可能にする。
【0074】
インバータの各々は、時間遅延を導入することに加えて、第1のクロック信号の反転を生じさせる。インバータの単一の連鎖が用いられ、各インバータの後にサンプルが取得される場合には、サンプルの半分は立ち上がりエッジのために、及び半分は立ち下がりエッジのためにサンプリングしていることになる。フリップフロップの間のサンプリングの差を考慮するために、サンプルタップ遅延が追加の回路機構を用いて実施され得るが、この構成はサンプリングのタイミングに影響を及ぼし得、クロックエッジが検出され得る精度を低化させ得る。
【0075】
実施形態において、精細タップサンプリング遅延線52内で、第1のクロック信号は2つの異なる経路に沿って分割される。第1の経路は、その経路内の第1のクロック信号の第1のインスタンスをサンプリングするためのフリップフロップの第1のセットに関連付けられており、その一方で、第2の経路は、その経路内の第1のクロック信号の第2のインスタンスをサンプリングするためのフリップフロップの第2のセットに関連付けられている。第1の経路内のクロック信号は第2の経路内のクロック信号と比べて反転している。第1の経路に沿って、サンプルが、経路に沿った2つのインバータごとに取得される。第2の経路に沿って、サンプルが、同じく、経路に沿った2つのインバータごとに取得される。その結果、精細タップサンプリング遅延線52内で取得された各サンプルは単一のインバータ遅延分離れており、その一方で、同時に、各タップは正のエッジのためにサンプリングしているということになる。
【0076】
図7に示されるように、例では、上述されたように粗遅延線51から受信される第1のクロック信号は、精細タップサンプリング遅延線52のスプリッタ段において受信される。この段において、クロック信号は、2つの差動経路に沿って分割される。これらの経路のうちの第1のものは3つのインバータをスプリッタ段の部分として含み、その一方で、経路のうちの第2のものは2つのインバータをスプリッタ段の部分として含む。その結果、第1の経路内の第1のクロック信号のインスタンスは第2の経路内の第1のクロック信号のインスタンスに対して反転している。
【0077】
第1の遅延段において、第2の経路に沿ったクロック信号は、第2の経路に接続された入力を有するフリップフロップの対73bのうちの一方によってサンプリングされる。同様に、第1の経路に沿ったクロック信号は、第1の経路に接続された入力を有するフリップフロップの対73aのうちの一方によってサンプリングされる。図示された次の段において、第1の経路に沿ったクロック信号はフリップフロップの対73cのうちの一方によってサンプリングされる。また、この段において、第2の経路に沿ったクロック信号はフリップフロップの対73dのうちの一方によってサンプリングされる。フリップフロップの対73cは、フリップフロップの対73aから2つのインバータ遅延分だけ分離されている。同様に、フリップフロップの対73dはフリップフロップの対73bから2つのインバータ遅延分だけ分離されている。したがって、線の各々に沿って、2つのインバータ遅延が、サンプルクロック信号の立ち上がりエッジが受信された際に測定が実行されるタップ(すなわち、フリップフロップの対)の各々を分離している。しかし、2本の線に沿った差動クロック信号の測定の実行の組み合わせは、各サンプルが単一のインバータ遅延分のみ分離されているサンプルのセットが提供されることを可能にする。
【0078】
図7に示されるように、第1のクロック経路及び第2のクロック経路は、繰り返される点においてインバータの対によって接続されている。これらのインバータは背中合わせに配置されており、第1のクロック経路上で伝搬する信号を、第2のクロック経路上のものと一致するよう変換するため、及びその逆のために用いられる。これは、2つのクロック経路に沿って伝搬するクロック信号を差動状態に維持し、2つのクロック経路上の2つの信号がドリフトして離れていくのを防止する。
【0079】
すでに説明されたように、精細タップサンプリング遅延線52内の各タップにおいては、単一のフリップフロップでなく、フリップフロップの対が設けられている。これは、検出器13のサンプリング速度を低下させることなく、準安定性が解決されることを可能にする。準安定性は、フリップフロップにおいて、そのフリップフロップがクロックエッジ上で第1のクロック信号をサンプリングする場合に生じ得る。この場合には、第1のクロック信号は、サンプリングされる際に、高くも低くもなく、両者の間にある中間レベルを有する。フリップフロップは、双安定性を有するように、すなわち、高又は低のどちらかの値を記憶するときに安定であるように構成されているため、フリップフロップは、中間レベルを表現する値をいつまでも記憶することができない。したがって、第1のクロック信号がクロックエッジ上でサンプリングされたとき、フリップフロップは一時的に準安定状態に入る。準安定状態になっている際にフリップフロップが読み取られた場合には、それが読み込まれたロジックは、相反する、又は矛盾する結果を生成し得るであろう。
【0080】
特定の期間の後に、フリップフロップは2つの安定状態のうちの一方に入ることになる。精細タップサンプリング遅延線51から読み取られる結果が、2つの安定状態のうちの1つに入っていない準安定状態のフリップフロップから読み取られる確率を低減するために、フリップフロップの第2のセットが、サンプルクロックサイクルの次の立ち上がりエッジ上でフリップフロップの第1のセット内にラッチされた値をサンプリングするために用いられる。この手順に従うことによって、フリップフロップの第2のセットが読み取られる時間までに十分な時間が経過していることになり、これにより、第2のセットのフリップフロップの全てが、それらの2つの安定状態のうちの一方に入っていることになる。
【0081】
例えば、フリップフロップ72a、72bを考える。サンプルクロック信号の立ち上がりエッジがフリップフロップ72aにおいて受信された際に、フリップフロップ72aは、それが接続されたクロック経路上の点における第1のクロック信号の入力値をラッチする。サンプリングが行われた際に、第1のクロック信号がフリップフロップ72aへの入力において立ち上がりエッジを有する場合には、フリップフロップ72aは準安定状態に入り得る。サンプルクロック信号の次の立ち上がりエッジがフリップフロップ72bにおいて受信された際に、フリップフロップ72aの出力がフリップフロップ72b内にラッチされる。フリップフロップ72aは、その間、第1のクロック信号の次のサンプル値をラッチする。第1のクロック信号が以前にサンプリングされてから、それぞれのサンプル値がフリップフロップ72b内にラッチされるまでに1つのクロックサイクルが経過するため、余分のクロックサイクルが、準安定性を解決するために提供される。フリップフロップ72bが、遅延線52から出力されるサンプルのうちの1つを提供するために読み取られる際には、準安定性が解決されており、フリップフロップ72bの出力が2つの安定状態のうちの一方(すなわち、高又は低のどちらか)になっていると見込まれる。
【0082】
フリップフロップ72a、72bに関して説明された準安定性を解決するための同じ技法が精細タップサンプリング遅延線52内のフリップフロップの残りの対のために適用される。
【0083】
フリップフロップ内の正のフィードバックを増大させ、これにより、フリップフロップが準安定状態から2つの安定状態のうちの一方に入る速度を増大させるために、フリップフロップの各々は、超低VT(voltage threshold(電圧閾値))トランジスタを含む。このようなトランジスタを有するフリップフロップを構築することによって、トランジスタの正のフィードバックが増大させられ、フリップフロップが安定状態に達するために要する時間量を低減する。
【0084】
図5を再び参照すると、精細タップサンプリング遅延線52内のタップから出力されたサンプルは符号器54に提供され、符号器54は、精細タップサンプリング遅延線52の出力に基づいてクロックエッジの位置を決定するように構成されている。クロックエッジの位置は、精細タップサンプリング遅延線52の出力から、サンプルを調べ、2つのサンプルのうちのいずれの間で、高(すなわち、1)と低(すなわち、0)との間の遷移が信号内で生じたかを決定することによって決定される。次に、クロックエッジは、これらの2つの点の間にあると決定される。符号器54の出力(RDL_FINE[5:0]と示される)は、クロックエッジの位置を指示する。精細タップサンプリング遅延線52は、64個のサンプルを出力するため、出力は6ビットを包含し、これらのビットは、2つのサンプルの間のどの間隙内でクロックエッジが生じたのかを指示する。
【0085】
クロックエッジの位置を指示する出力は精細平均フィルタ55に提供される。精細平均フィルタ55は符号器54からの異なる出力値を受信し、これらの値を時間的に平均し、クロックエッジの検出された位置のための平均値(RDL_FINE_AVG[5:0]と示される)を生成する。フィルタによって出力される平均値は、新たなクロックエッジ位置の値が符号器54によって出力されるたびに更新される。フィルタ55によって出力された平均値は差算出回路機構56に提供され、差算出回路機構56はクロックエッジ位置と平均クロックエッジ位置との差を決定する。この差は、低下の大きさによって生じたクロックエッジの移動を表現する。差は低下の大きさを指示する。
【0086】
この低下の指示は、
図2に示されるように、低下検出器によって停止及びランプロジック20に提供される。
【0087】
例示的な実施形態に係る方法800を示す、
図8を参照する。
【0088】
S810において、低下軽減回路機構がクロック信号発生器から第1のプロセッサクロック信号を受信する。
【0089】
S820において、低下検出器が、タップサンプリング遅延線を用いてタップサンプリング遅延線内の第1のクロック信号のクロックエッジ位置の変化を測定することによって、電圧低下を検出する。
【0090】
S830において、低下軽減回路機構が低下検出器からVDDにおける電圧低下の指示を受信する。
【0091】
S840において、電圧低下の指示に応じて、低下軽減回路機構が、電圧低下の指示に応じて、第1のプロセッサクロック信号の既定数のクロックパルスの間、第1のプロセッサクロック信号がプロセッサに供給されるのを阻止する。
【0092】
S850において、電圧低下の指示に応じて、低下軽減回路機構が、クロックパルスの一部を第1のプロセッサクロック信号から除去し、第2のプロセッサクロック信号を発生する。
【0093】
S860において、低下軽減回路機構が、第2のプロセッサクロック信号をプロセッサに提供する。
【0094】
特定の実施形態が説明されたが、本明細書における開示を与えられれば、当業者には本開示の技法の他の適用及び変形が明らかになるであろう。
【国際調査報告】