JP6905596B2 - クロック分周デバイス及びその方法 - Google Patents

クロック分周デバイス及びその方法 Download PDF

Info

Publication number
JP6905596B2
JP6905596B2 JP2019546135A JP2019546135A JP6905596B2 JP 6905596 B2 JP6905596 B2 JP 6905596B2 JP 2019546135 A JP2019546135 A JP 2019546135A JP 2019546135 A JP2019546135 A JP 2019546135A JP 6905596 B2 JP6905596 B2 JP 6905596B2
Authority
JP
Japan
Prior art keywords
clock
frequency
signal
core
stretch
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.)
Active
Application number
JP2019546135A
Other languages
English (en)
Other versions
JP2020510253A5 (ja
JP2020510253A (ja
Inventor
ジョン ディーペッシュ
ジョン ディーペッシュ
コムルシュ スティーブン
コムルシュ スティーブン
ミッタル ヴィーボル
ミッタル ヴィーボル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2020510253A publication Critical patent/JP2020510253A/ja
Publication of JP2020510253A5 publication Critical patent/JP2020510253A5/ja
Application granted granted Critical
Publication of JP6905596B2 publication Critical patent/JP6905596B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)

Description

集積回路(IC)マイクロプロセッサデバイス等のデータ処理デバイスは、単一の半導体ダイに製造された多数のデータサブシステムを含むことができる。例えば、ICマイクロプロセッサデバイスは、中央処理装置に加えて、メモリインタフェースサブシステムとグラフィックスアクセラレーションサブシステムとを含むことができる。各データサブシステムは、データプロセッサとして動作することができ、異なる動作周波数の制限を含むことができる。したがって、各データサブシステムが、別のデータサブシステムの周波数と異なり得る各々の周波数で動作するように構成されている場合には、マイクロプロセッサデバイスの計算性能は、通常、改善される。さらに、特定のデータサブシステムが動作を継続している間に当該特定のデータサブシステムの動作周波数を効率的に変更することができると有利である。例えば、マイクロプロセッサは、データサブシステムに提供されるクロック信号の周波数を変更することによって、アクティブ又は公称電力動作モードと低電力動作モードとの間でデータサブシステムを移行させることができる。
添付図面を参照することによって、本開示をより良く理解することができ、その多くの特徴及び利点が当業者に明らかになる。異なる図面における同一の符号の使用は、類似又は同一のアイテムを示す。
少なくともいくつかの実施形態による、クロック分周器を利用する処理システムのブロック図である。 いくつかの実施形態による、図1のプロセッサコアの一部のブロック図である。 いくつかの実施形態による、様々なクロック信号の波形図である。 いくつかの実施形態による、クロック信号を生成するために使用されるイネーブル信号を調整することによって、電圧ドループに応じてプロセッサでクロック信号を調整する方法のフロー図である。
図1〜図4は、例えば、プロセッサでの電力モードの変化に関連するクロックのランプアップ(ramp ups)及びダウンをサポートするためのクロック分周器を実装する技術を開示している。クロック分周器は、クロックのランプアップ/ダウン用の分周クロックを制御するマルチプレクサを備えたカスケードフリップフロップを使用して構成することができる。しかしながら、クロックパスにフロップを追加するとジッタが増大し、プロセッサの少なくとも1つのモジュールに適用され得る最大クロック周波数(Fmax)に影響が及ぶ。したがって、いくつかの実施形態では、クロック分周器回路は、クロック信号(ClkIn)が2つのイネーブル(CKGEN_EnableA及びCKGEN_EnableB)入力の何れかを選択する選択信号として機能するトランスミッションゲートマルチプレクサ(mux)を含む。クロック除数は、例えば、イネーブル入力に加えられるCKGEN_EnableA及びCKGEN_EnableBビットを変調することによって、0.5の除数増分(例えば、1.0、1.5、2.0、2.5等)で調整することができる。閾値粒度(例えば、0.5の除数増分)でクロック分周を行うことによって、クロック分周器は、CC6のエントリ/イグジット及びスキャンシフトリセットのエントリ/イグジットの間、より遅いクロックのランプアップ/ダウンをサポートする。クロック分周器によってイネーブルされるクロック周波数の遅いランプアップ/ダウンによって、本明細書でdi/dtと呼ばれる場合がある電源電流の急速な変化に関連する問題の緩和を提供する。
クロック分周器は、電源ドループを検出することによってトリガされるストレッチアサート信号(例えば、StretchEn)を受信すると、コアクロックイネーブル信号の既存の有効なストリームを変更することによって、レイテンシを減少させたクロックストレッチを可能にする。動作中に、CKGEN_EnableA及びCKGEN_EnableBビットは、クロック周波数のストレッチを強制するために、StrEnアサート(電源ドループによってトリガされる)によって上書きされてもよい。さらに、いくつかの実施形態では、クロック分周器は、デューティサイクルの調整を可能にするデューティサイクル調整器をマルチプレクサ内に含む。クロック分周器内にデューティサイクル調整器を設けることによって、デューティサイクルの調整をサポートするためのさらなるステージを追加することを回避し、これによってジッタが減少する。
図1は、少なくともいくつかの実施形態による、クロック分周器を利用する処理システム100のブロック図である。図示した例では、処理システム100は、コンピュートコンプレックス102(「コアコンプレックス」としても知られている)と、キャッシュ階層104と、メモリコントローラ106と、サウスブリッジ108と、を含む。コンピュートコンプレックス102は、図1の例に示す4つのプロセッサコア111,112,113,114等の複数のプロセッサコアを含む。プロセッサコアは、中央処理装置(CPU)コア、グラフィックス処理装置(GPU)コア、デジタル信号プロセッサ(DSP)コア、又は、これらの組み合わせを含むことができる。コンピュートコンプレックス102のプロセッサコアの数は、4つ未満であってもよいし、4つより多くてもよいことが理解されるであろう。
メモリコントローラ106は、キャッシュ階層104とシステムメモリ110との間のインタフェースとして動作する。したがって、キャッシュ階層104にキャッシュされるデータは、通常、「キャッシュライン」と呼ばれるデータのブロックとして操作され、システムメモリ110の物理アドレスを使用してメモリ階層にアドレス指定されるか配置される。キャッシュラインは、キャッシュ階層104からのメモリ要求に応じて、メモリコントローラ106によってシステムメモリ110からアクセスされる。同様に、変更されたデータを含むキャッシュラインがキャッシュ階層104からエビクトされ、システムメモリ110で更新される必要がある場合に、メモリコントローラ106は、このライトバックプロセスを管理する。サウスブリッジ108は、キャッシュ階層104と、メモリコントローラ106と、処理システム100の1つ以上の周辺機器(図示省略)(例えば、ネットワークインタフェース、キーボード、マウス、ディスプレイ、及び、他の入出力デバイス)との間のインタフェースとして動作する。
キャッシュ階層104は、2つ以上のレベルのキャッシュを含む。図示した例では、キャッシュ階層104は、3つのキャッシュレベル(すなわち、レベル1(L1)、レベル2(L2)及びレベル3(L3))を含む。L1に関して、コアコンプレックス102は、プロセッサコア毎に小さなプライベートキャッシュを実装しており、これらは、L1キャッシュ121,122,123,124として示されており、図1に示すように、対応するプロセッサコア111〜114に関連付けられている。L2に関して、コアコンプレックス102は、プロセッサコア毎により大きなプライベートキャッシュを実装しており、これらは、図1に同様に示すように、プロセッサコア111〜114にそれぞれ対応するL2キャッシュ131,132,133,134として示されている。L2キャッシュ131〜134の各々は、対応するプロセッサコアにとってプライベートであるが、キャッシュ階層104は、L2キャッシュ131〜134間のコヒーレンシを維持するように動作する。いくつかの実施形態では、L2キャッシュ131〜134は、ダイレクトマッピングされてもよいし、nウェイセットアソシアティブキャッシュであってもよい。L3キャッシュレベルに関して、キャッシュ階層104は、コアコンプレックス102のプロセッサコアによって共有され、これにより、少なくともL2キャッシュ131〜134によって共有されるL3キャッシュ140を実装する。L3キャッシュ140のコンポーネントは、少なくとも1つのレベルシフタ142を含むが、これに限定されない。図3に示すようないくつかの実施形態では、L3キャッシュ140は、プロセッサコア111〜114が異なる周波数及び/又は電圧を有する場合等に、プロセッサコア毎に1つのレベルシフタ142を含む。
図1に示すように、4つのプロセッサコア111,112,113,114の各々(例えば、プロセッサコア114)は、クロックメッシュ154(「メッシュクロック」又は「クロックツリー」としても知られる)と、デジタル周波数合成ロジック(DFS)164と、CKGENロジック174と、離散フーリエ変換(DFT)ロジック184と、を含む。プロセッサコア114は、一般に、命令セット(例えば、コンピュータプログラム)を実行して、電子デバイスのために動作を行うように構成されている。プロセッサコアは、命令セットを実行するために、フェッチステート、ディスパッチステージ、実行ユニット、メモリコントローラ、入出力インタフェース、キャッシュ等の1つ以上のモジュールを含む。これらのモジュールの各々は、同期ロジック素子、ロジックゲート及び他のコンポーネントから構成されている。プロセッサコア114は、1つ以上のクロック信号を用いて、これらのコンポーネントの動作を同期させる。いくつかの実施形態では、プロセッサコア114は、同期バージョンのクロック信号をL3キャッシュから受信し、クロックメッシュ154は、様々なバージョンのクロック信号をプロセッサコア114の様々なコンポーネントに分配する。
L3キャッシュ140のレベルシフタ142は、PステートクロックをCKGENロジック174に提供する。CKGENロジック174は、プロセッサコア114のクロックスピード及び電力モードの変化(例えば、Cステートの変化)に起因する電源電流の変化(すなわち、di/dtイベント)に関連する問題を管理する。いくつかの実施形態では、DFS164は、Cステート及びスキャンシフトリセットの挙動を管理するための2相DFSである。DFS164は、プロセッサコア114の様々なモジュールに対してクロック分周(Cステートのエントリ及びイグジットのためのクロックのランプアップ又はダウン、スキャンシフトリセットのためのクロック分周及びドループに対する2相ストレッチ等の動作を含む)を実行する。図2に関してさらに説明するように、各DFS164は、クロックのランプ、分周及びストレッチの個別制御を各プロセッサコアに提供するクロック分周器回路及びデューティサイクル調整器を含む。
少なくとも1つの実施形態では、プロセッサコア111,112,113,114は、クロック周波数を緩やかにランプさせて、スキャンシフトリセット中やCステートのエントリ及びイグジットの場合のdi/dt問題を抑制する。高周波に直接切り替えると、消費電力の変化が大きくなり、関連するdi/dtの問題が生じる。特に、プロセッサコア114を起動する場合、スキャンシフト周波数電力は、電力接続が緩やかになる(例えば、オフから最大電力まで100ns以上)ようにすべきである。例えば、CC6のイグジット(すなわち、所定の低電力モードからのイグジット)の間、コアクロックは、オフステートから最大周波数に切り替わる。DFS164内のクロック分周器回路は、大きな除数から開始し、除数を徐々に減少させることにより、クロック周波数を徐々にランプアップさせる。したがって、出力クロック信号の周波数は、除数によって変化する。同様に、CC6のエントリの間、DFS164は、小さい除数から開始し、除数を徐々にランプアップさせることにより、同様にコアクロックをランプさせる。他の実施形態では、スキャンシフトリセットへの切り替えは、CC6のエントリ及びイグジットと同様の方法でコアクロックをランプダウン/アップさせる。
いくつかの実施形態では、電源からの消費電力の変化によって生じる電源ドループによって、最大クロック周波数(Fmax)が低下し、又は、特定の周波数に必要なプロセッサ111,112,113,114を動作させるのに必要な電圧(例えば、電圧識別Vid)の上昇をもたらす。電源ドループの影響は、電源ドループの検出時にクロックをストレッチすることによって低減することができる。したがって、ストレッチ制御モジュール(図示省略)は、プロセッサコア114内の1つ以上の位置での電源電圧が指定された閾値量だけ低下したのを検出したことに応じて、クロック信号が「ストレッチされる」べきか(すなわち、電圧ドループに応じてクロック信号の周波数を減少させるべきか)を知らせるために、ストレッチ信号を生成する。例えば、ドループ検出器回路からストレッチアサート信号(すなわち、StretchEn)を受信すると、DFS164は、クロック信号をストレッチし、これにより、検出された電圧ドループに応じてクロック信号の周波数を変化させる。クロックの伸長を実行することによって消費電力が減少し、これにより、ドループが低減し、プロセッサ内のロジックを次のクロックエッジの前に安定させるための時間を長くかけることができる。クロックパス上のプロセス変動によって発生するデューティサイクルの圧縮は、Fmaxに影響を与える。したがって、位相タイミングパスは、クロックのデューティサイクルに影響される。いくつかの実施形態では、DFS164は、シリコン内のデューティサイクルを変調するヒューズ制御デューティサイクル調整器をさらに含む。
図2は、いくつかの実施形態による、図1のプロセッサコア114の一部200のブロック図である。この一部200は、クロック分周器回路202を含む。この回路は、デューティサイクル調整器204と、クロック信号(ClkIn)が2つのイネーブル入力のうち何れかを選択する選択信号として作用するトランスミッションゲートマルチプレクサ(mux)210と、を含む。クロック分周器回路202は、ラッチ212,222,232と、ORゲート242,252と、ANDゲート262,272と、デューティサイクル調整器204と、トランスミッションゲートマルチプレクサ(mux)210と、を含む。図1に関して上述したように、プロセッサコア114は、L3キャッシュ140のレベルシフタ142からPステートクロック周波数(例えば、ClkIn及びClkX)を受信する。コアクロック(CCLK)イネーブル信号(CKGEN_EnableA及びCKGEN_EnableB)は、DFS164内の立ち上がりエッジフロップへのセットアップ時間を満たすように、CKGEN(例えば、図1のCKGEN174)内の立ち上がりエッジフロップから駆動される。DFS164のラッチ206,208の各々は、CKGEN_EnableA及びCKGEN_EnableB信号を受信し、これらに対して動作する。ラッチ206は、イネーブル信号CKGEN_EnableAを受信するためのデータ入力と、クロック信号ClkXを受信するためのクロック入力と、出力と、を含む。ラッチ208は、イネーブル信号CKGEN_EnableBを受信するためのデータ入力と、クロック信号ClkXを受信するためのクロック入力と、出力と、を含む。
動作中、2つのストレッチイネーブルEN信号(すなわち、Str_ENA、Str_ENB)のうち何れかを選択するクロックストレッチを可能にするために、電源ドループが検出されるとストレッチアサート信号(すなわち、StretchEn)がアサートされる。0.5の増分(例えば、1.0、1.5、2.0、2.5等)でクロックを任意に分周することは、ENビットを変調することによって実施することができる。StretchEn信号を受信すると、StrEnのアサートによって、CKGEN_EnableAビット及びCKGEN_EnableBビットがオーバーライドされ、単一サイクルの100%ストレッチが強制的に行われる。システムは、StretchEnがハイになる場合、CKGEN_EnableA=1及びCKGEN_EnableB=0となるように設計されている。クロック分周器回路202は、0.5の粒度(1.0、1.5、2.0、2.5等)でクロック分周を行うことによって、CC6のエントリ/イグジット及びスキャンシフトのエントリ/イグジットの間、クロックのランプアップ/ランプダウンをサポートする。したがって、クロック分周器回路202は、クロック(すなわち、ClkX)が2つのEN入力(及び、2つのEN入力を制御する関連ロジック)のうち何れかを選択するセレクト(select)として作用するトランスミッションゲートマルチプレクサ210を構成する。クロック分周器回路202によって可能になるクロック周波数の遅いランプアップ/ダウンによって、di/dtの緩和が提供される。
また、クロック分周器回路202は、最終的なEN入力をマルチプレクサ210に提供するデューティサイクル調整器204を含む。送信ゲートを駆動するインバータのpチャネル電界効果トランジスタ(pFET)及びnチャネル電界効果トランジスタ(nFET)の強度を個別に変化させることによって、出力(すなわち、ClkOutX)における立ち上がり及び立ち下がりエッジレートを動作中に調整することができる。Fuse/JTAGビット(すなわち、ENN[6:0]、ENP[6:0])を使用してpFET及びnFETの強度を個別に制御することによって、シリコン周波数を改善するためのデューティサイクル変調、又は、シリコンにおける位相パスマージンをテストすることができる。デューティサイクル調整器204をクロック分周器回路202内に配置することによって、デューティサイクルの調整をサポートするためにステージを追加することが回避され、これによりジッタが減少する。
図3は、いくつかの実施形態による、様々なクロック信号の波形図300である。特に、波形図300は、1で分周された後にストレッチされたクロックの波形を示している。図示した例において、時間302と次の時間304との間でStrEn信号がネゲート状態にある。これは、プロセッサコア114で電圧ドループが検出されなかったことを示している。したがって、時間302と時間304との間では、クロック信号出力ClkOutXの周波数は、クロック分周器回路202のみによって決定される。この場合、クロック分周器回路は、入力クロック信号(すなわち、CLK)の周波数を1で分周した周波数と等しい周波数を有するClkOutXを生成する。
時間304において、プロセッサコア114での電圧ドループを示すStrEn信号がアサートされる。これに応じて、ClkOutXの周波数が、2つのイネーブル(EN)入力(すなわち、Str_ENA、Str_ENB)によって制御される。クロック分周器回路202は、ClkOutXの周波数を、時間304の前のその周波数と比較して100%減少させ、これにより電圧ドループに対して調整する。図3に示すClkOutXの減少した単一クロック周期の後、ClkOutXは、StrEnがハイのままであっても、CLKと同じの周波数に戻る。いくつかの実施形態では、StrEnがハイのままである場合、本開示に含まれない他の手段によってCLK入力がストレッチされる。このようにして、ClkOutXは、CLKをストレッチするシステムにおいて提供される場合よりも高速にストレッチされる。
図4は、少なくとも1つの実施形態による、プロセッサコアで電圧ドループを検出したことに応じてクロック信号の周波数を調整する方法400のフロー図である。説明のために、方法400は、図1のプロセッサコア114及び図2のクロック分周器回路202における例示的な実施態様に関して説明される。ブロック402において、L3キャッシュ140のレベルシフタ142は、公称周波数設定をクロック信号ClkXに適用する。ブロック404において、CKGEN174は、DFS164内の立ち上がりエッジフロップへのセットアップ時間を満たすように、CCLKイネーブル信号(CKGEN_EnableA及びCKGEN_EnableB)を駆動する。ブロック406において、ドループ検出器回路は、ClkXクロック信号を、その公称周波数と比較してより低い周波数に設定するように、ストレッチアサート信号StretchEnを生成する。
ブロック408において、ドループ検出器回路は、電圧ドループが存在するかどうかを識別するために、プロセッサコア114の1つ以上の位置で電圧を監視する。検出されない場合、ドループ検出器回路は、StretchEn信号をネゲート状態に維持する。これに応じて、方法フローはブロック410に進み、DFS164は、CCLKイネーブル信号(すなわち、CKGEN_EnableA及びCKGEN_EnableB)に基づいて、出力クロック信号を生成する。次に、方法フローは、ドループ検出器回路がプロセッサコア114における電圧を継続して監視するように、ブロック408に戻る。
ブロック408に戻ると、電圧ドループを検出したことに応じて、ドループ検出器回路は、StretchEn信号をアサートする。これに応じて、方法フローはブロック412に進み、クロック分周器回路202は、2つのストレッチイネーブルEN信号(すなわち、Str_ENA、Str_ENB)に基づいて出力クロック信号を生成し、これにより、より遅い周波数で出力クロック信号を生成する。ENビットを変調することによって、入力クロック信号を0.5の増分(例えば、1.0、1.5、2.0、2.5等)の粒度で分周することができる。一例では、StretchEnのアサートによって、ENビットがオーバーライドされ、単一のサイクルの100%ストレッチが強制的に行われる。したがって、クロック分周器回路202は、クロック(すなわち、ClkX)が2つのEN入力(及び、2つのEN入力を制御する関連ロジック)のうち何れかを選択するセレクトとして作用するトランスミッションゲートマルチプレクサとして動作する。クロック分周器回路202によって可能になるクロック周波数の遅いランプアップ/ダウンによって、dI/dTの緩和が提供される。
方法フローはブロック414,416に進み、ドループ検出器回路は、プロセッサコア114での電圧がその公称レベル又は範囲に戻ったかどうかを監視する。戻っていない場合、方法はブロック414に戻る。この場合、クロック分周器回路202は、出力クロック信号ClkOutをClkInの周波数(ClkInは、ブロック412からの最初のクロックストレッチが有効になった後に、クロック分周器回路202の外部のメカニズムによってストレッチされてもよい)に維持する。ブロック416で、ドループ検出器回路が、その公称レベル又は範囲に監視電圧が戻ったことを識別した場合、方法フローはブロック410に進む。ここで、ドループ検出器回路は、StretchEn信号をネゲートして、DFS164を、その公称入力周波数で出力クロック信号を生成するように戻す。
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、1つ以上のプロセッサによって実行されると、上記の技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。

Claims (18)

  1. コアクロックイネーブル信号のセットをクロック分周器回路に入力し、クロック信号を前記クロック分周回路のトランスミッションゲートマルチプレクサに入力することと、
    プロセッサコアでの電圧降下を検出したことに応じて、2つのストレッチイネーブル信号のうち何れかを選択するための選択信号として機能するように、入力クロック信号を送るストレッチアサート信号を前記クロック分周器回路に提供することと、
    選択されたストレッチイネーブル信号に基づいて出力クロック信号を生成することであって、前記選択されたストレッチイネーブル信号は、前記コアクロックイネーブル信号のセットをオーバーライドして、前記出力クロック信号のクロック周波数のストレッチを強制する、ことと、を含む、
    方法。
  2. 前記コアクロックイネーブル信号のセットを変更して前記ストレッチイネーブル信号を生成することを含む、
    請求項1の方法。
  3. 前記コアクロックイネーブル信号のセットを変更することは、
    前記コアクロックイネーブル信号のセットを前記クロック分周器回路内で論理的に組み合わせて前記ストレッチイネーブル信号を生成することを含む、
    請求項2の方法。
  4. 前記プロセッサコアでの電圧降下を検出した後に、前記プロセッサコアでの電圧上昇を検出したことに応じて、前記ストレッチアサート信号をデアサートして、前記コアクロックイネーブル信号のセットに基づいて前記出力クロック信号を生成することを含む、
    請求項2の方法。
  5. 前記出力クロック信号を生成することは、
    前記出力クロック信号の周波数を、第1周波数から前記第1周波数よりも小さい第2周波数に変更することを含む、
    請求項1の方法。
  6. 前記プロセッサコアでの電圧降下を検出した後に、前記プロセッサコアでの電圧上昇を検出したことに応じて、前記出力クロック信号を、前記第2周波数から前記第2周波数よりも大きい第3周波数に変更することを含む、
    請求項5の方法。
  7. コアクロックイネーブル信号のセットを生成することと、
    前記コアクロックイネーブル信号のセットをクロック分周器回路に入力することと、
    前記コアクロックイネーブル信号のセットに基づいて第1周波数の第1出力クロック信号を生成することと、
    ロセッサコアでの電圧降下を検出したことに応じて、2つのストレッチイネーブル信号のうち何れかを選択するための選択信号として機能するように、トランスミッションゲートマルチプレクサに入力クロック信号を送るストレッチアサート信号を提供することと、
    選択されたストレッチイネーブル信号に基づいて第2出力クロック信号を生成することであって、前記選択されたストレッチイネーブル信号は、前記コアクロックイネーブル信号のセットをオーバーライドして、前記第2出力クロック信号のクロック周波数のストレッチを強制する、ことと、を含む、
    方法。
  8. 前記コアクロックイネーブル信号のセットを変更してストレッチイネーブル信号を生成することを含む、
    請求項7の方法。
  9. 前記プロセッサコアでの電圧降下を検出したことに応じて、前記第2出力クロック信号の周波数を前記第1周波数から前記第1周波数よりも小さい第2周波数に変更することを含む、
    請求項7の方法。
  10. 前記電圧降下の後に、前記プロセッサコアでの電圧上昇を検出したことに応じて、前記第2出力クロック信号の周波数を前記第2周波数から前記第2周波数よりも大きい第3周波数に変更することを含む、
    請求項9の方法。
  11. 前記プロセッサコアでの電圧降下を検出した後に、前記プロセッサコアでの電圧上昇を検出したことに応じて、前記ストレッチアサート信号をデアサートして、前記コアクロックイネーブル信号のセットに基づいて前記第2出力クロック信号を生成することを含む、
    請求項7の方法。
  12. プロセッサコアと、
    前記プロセッサコアでの電圧降下を検出するドループ検出器回路と、
    コアクロックイネーブル信号のセットと入力クロック信号とを受信するクロック分周器回路であって、電圧降下を検出したことに応じて、2つのストレッチイネーブル信号のうち何れかを選択するための選択信号として機能するように、入力クロック信号を送るストレッチアサート信号を受信し、前記コアクロックイネーブル信号のセットをオーバーライドしてクロック周波数のストレッチを強制することによって、選択されたストレッチイネーブル信号に基づいて出力クロック信号を生成するクロック分周器回路と、を備える、
    プロセッサ。
  13. 前記クロック分周器回路は、前記2つのストレッチイネーブル信号のうち何れかを選択するためのトランスミッションゲートマルチプレクサを含む、
    請求項12のプロセッサ。
  14. 前記クロック分周器回路は、前記コアクロックイネーブル信号のセットを前記クロック分周器回路内で論理的に組み合わせて前記2つのストレッチイネーブル信号を生成する、
    請求項13のプロセッサ。
  15. 前記クロック分周器回路は、前記ドループ検出器回路が前記プロセッサコアでの電圧降下を検出したことに応じて、前記出力クロック信号の周波数を、第1周波数から前記第1周波数よりも小さい第2周波数に変更する、
    請求項12のプロセッサ。
  16. 前記クロック分周器回路は、前記ドループ検出器回路が電圧降下を検出した後に、前記プロセッサコアでの電圧上昇を検出したことに応じて、前記出力クロック信号を、前記第2周波数から前記第2周波数よりも大きい第3周波数に変更する、
    請求項15のプロセッサ。
  17. 前記クロック分周器回路は、
    前記出力クロック信号の立ち上がりエッジレート又は立ち下りエッジレートのうち少なくとも一方を変更するように構成されたデューティサイクル調整器を含む、
    請求項12のプロセッサ。
  18. 前記デューティサイクル調整器は、少なくとも1つの強度制御インバータ(strength-controller inverter)を含む、
    請求項17のプロセッサ。
JP2019546135A 2017-02-24 2018-02-20 クロック分周デバイス及びその方法 Active JP6905596B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/441,613 2017-02-24
US15/441,613 US10303200B2 (en) 2017-02-24 2017-02-24 Clock divider device and methods thereof
PCT/US2018/018718 WO2018156485A1 (en) 2017-02-24 2018-02-20 Clock divider device and methods thereof

Publications (3)

Publication Number Publication Date
JP2020510253A JP2020510253A (ja) 2020-04-02
JP2020510253A5 JP2020510253A5 (ja) 2021-03-25
JP6905596B2 true JP6905596B2 (ja) 2021-07-21

Family

ID=63246265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019546135A Active JP6905596B2 (ja) 2017-02-24 2018-02-20 クロック分周デバイス及びその方法

Country Status (6)

Country Link
US (1) US10303200B2 (ja)
EP (1) EP3586214B1 (ja)
JP (1) JP6905596B2 (ja)
KR (1) KR102306084B1 (ja)
CN (1) CN110226148B (ja)
WO (1) WO2018156485A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2590660B (en) * 2019-12-23 2022-01-05 Graphcore Ltd Reactive droop limiter
US11895588B2 (en) * 2020-08-05 2024-02-06 Analog Devices, Inc. Timing precision maintenance with reduced power during system sleep
US12019499B2 (en) 2021-12-16 2024-06-25 Advanced Micro Devices, Inc. System and method to reduce power down entry and exit latency
CN117409828A (zh) * 2022-07-08 2024-01-16 长鑫存储技术有限公司 一种存储器、控制装置、时钟处理方法和电子设备
US20240201768A1 (en) * 2022-12-15 2024-06-20 International Business Machines Corporation Voltage droop and overshoot management using non-linear slope detection

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959657B2 (ja) 1993-05-13 1999-10-06 キヤノン株式会社 電子機器
JP2000207381A (ja) 1999-01-20 2000-07-28 Mitsubishi Electric Corp マイクロコンピュ―タのリセット装置
US7114038B2 (en) 2001-12-28 2006-09-26 Intel Corporation Method and apparatus for communicating between integrated circuits in a low power mode
US6922111B2 (en) * 2002-12-20 2005-07-26 Intel Corporation Adaptive frequency clock signal
US6882238B2 (en) * 2003-03-21 2005-04-19 Intel Corporation Method and apparatus for detecting on-die voltage variations
US7007188B1 (en) 2003-04-29 2006-02-28 Advanced Micro Devices, Inc. Precision bypass clock for high speed testing of a data processor
US7225349B2 (en) 2003-07-25 2007-05-29 Intel Corporation Power supply voltage droop compensated clock modulation for microprocessors
US7076679B2 (en) 2003-10-06 2006-07-11 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple variable-frequency clock generators
DE10354215B4 (de) 2003-11-20 2010-02-25 Infineon Technologies Ag Taktregulierungsvorrichtung sowie Schaltungsanordnung
WO2006091826A2 (en) * 2005-02-23 2006-08-31 Multigig, Inc. Low noise divider
JP4492394B2 (ja) 2005-03-08 2010-06-30 株式会社デンソー マイクロコンピュータ
US8037340B2 (en) 2007-11-28 2011-10-11 International Business Machines Corporation Apparatus and method for micro performance tuning of a clocked digital system
US7570122B2 (en) * 2007-12-22 2009-08-04 Broadcom Corporation Low voltage LOGEN
DE102008061034B3 (de) 2008-12-08 2010-04-08 Fujitsu Siemens Computers Gmbh Anordnung umfassend wenigstens zwei Stromversorgungseinheiten und wenigstens eine Strom verbrauchende Komponente, Computersystem sowie Verfahren zur Steuerung einer Anordnung
US8433944B2 (en) * 2010-04-12 2013-04-30 Qualcomm Incorporated Clock divider system and method with incremental adjustment steps while controlling tolerance in clock duty cycle
US8384435B2 (en) * 2011-01-05 2013-02-26 Texas Instruments Incorporated Clock switching circuit with priority multiplexer
US20120187991A1 (en) * 2011-01-25 2012-07-26 Advanced Micro Devices, Inc. Clock stretcher for voltage droop mitigation
US8937511B2 (en) 2011-11-22 2015-01-20 Marvell World Trade Ltd. Frequency scaling of variable speed systems for fast response and power reduction
US9317342B2 (en) 2011-12-23 2016-04-19 Intel Corporation Characterization of within-die variations of many-core processors
US9065440B2 (en) * 2013-01-30 2015-06-23 Altera Corporation Bypassable clocked storage circuitry for dynamic voltage-frequency scaling
US10020931B2 (en) * 2013-03-07 2018-07-10 Intel Corporation Apparatus for dynamically adapting a clock generator with respect to changes in power supply
US8933737B1 (en) * 2013-06-28 2015-01-13 Stmicroelectronics International N.V. System and method for variable frequency clock generation
CN105375917B (zh) * 2013-12-13 2019-01-29 马维尔国际有限公司 分频器
US9753525B2 (en) 2014-12-23 2017-09-05 Intel Corporation Systems and methods for core droop mitigation based on license state
US9798376B2 (en) * 2015-08-03 2017-10-24 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation
US9778676B2 (en) 2015-08-03 2017-10-03 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation in dynamic frequency scaling
US9915968B2 (en) * 2016-04-19 2018-03-13 Qualcomm Incorporated Systems and methods for adaptive clock design
US10148258B2 (en) * 2016-09-28 2018-12-04 Mellanox Technologies, Ltd. Power supply voltage monitoring and high-resolution adaptive clock stretching circuit

Also Published As

Publication number Publication date
KR20190113809A (ko) 2019-10-08
EP3586214A1 (en) 2020-01-01
US10303200B2 (en) 2019-05-28
JP2020510253A (ja) 2020-04-02
CN110226148A (zh) 2019-09-10
EP3586214A4 (en) 2020-12-16
KR102306084B1 (ko) 2021-09-28
CN110226148B (zh) 2021-04-09
WO2018156485A1 (en) 2018-08-30
EP3586214B1 (en) 2023-05-31
US20180246557A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
JP6905596B2 (ja) クロック分周デバイス及びその方法
US9939839B2 (en) Low power automatic calibration method for high frequency oscillators
EP2879017B1 (en) Performing an operating frequency change using a dynamic clock control technique
US10642336B2 (en) Clock adjustment for voltage droop
US20140181537A1 (en) Guardband reduction for multi-core data processor
US7702944B2 (en) Dynamic frequency scaling sequence for multi-gigahertz microprocessors
US11119559B2 (en) Controlling a processor clock
US10410688B2 (en) Managing power state in one power domain based on power states in another power domain
WO2023121917A1 (en) Droop detection and control of digital frequency-locked loop
JP2007172583A (ja) 演算処理装置およびクロック制御方法
US20040260960A1 (en) Method for pulse train reduction of clocking power when switching between full clocking power and nap mode
US9465614B2 (en) Parallel execution of instructions in processing units and adjusting power mode based on monitored data dependency over a period of time
JP2017021513A (ja) マルチコアプロセッサ、マルチコアプロセッサのクロック制御方法およびクロック制御プログラム
US20240106438A1 (en) Droop detection and control of digital frequency-locked loop
US11575457B2 (en) Power-smart packet processing
EP3270257B1 (en) Clock adjustment for voltage droop
TW202038052A (zh) 具有延遲適應開關之功率鏈
EP2927806A1 (en) Integrated circuit, electronic device and ic operation method
BR112018005212B1 (pt) Gerenciamento de modos de desligamento
JP2015001832A (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210215

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210625

R150 Certificate of patent or registration of utility model

Ref document number: 6905596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250