JP7199329B2 - 制御方法及び半導体集積回路 - Google Patents

制御方法及び半導体集積回路 Download PDF

Info

Publication number
JP7199329B2
JP7199329B2 JP2019170590A JP2019170590A JP7199329B2 JP 7199329 B2 JP7199329 B2 JP 7199329B2 JP 2019170590 A JP2019170590 A JP 2019170590A JP 2019170590 A JP2019170590 A JP 2019170590A JP 7199329 B2 JP7199329 B2 JP 7199329B2
Authority
JP
Japan
Prior art keywords
frequency
clock
period
control unit
dfs
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
JP2019170590A
Other languages
English (en)
Other versions
JP2021047707A (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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
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 Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2019170590A priority Critical patent/JP7199329B2/ja
Priority to US16/989,972 priority patent/US11177798B2/en
Publication of JP2021047707A publication Critical patent/JP2021047707A/ja
Priority to US17/499,906 priority patent/US11588475B2/en
Application granted granted Critical
Publication of JP7199329B2 publication Critical patent/JP7199329B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/00006Changing the frequency
    • 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/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
    • 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

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

本実施形態は、制御方法及び半導体集積回路に関する。
クロックを用いて動作する半導体集積回路では、クロックの周波数を動的に制御することがある。このとき、クロックの周波数を適切に制御することが望まれる。
特開2019-57281号公報
一つの実施形態は、クロックの周波数を適切に制御できる制御方法を提供することを目的とする。
一つの実施形態によれば、制御方法が提供される。制御方法では、クロックを生成するクロック制御部とクロックで動作する複数のブロックとを有する半導体集積回路におけるクロック制御部が、クロックの周波数を第1の周波数に制御する。制御方法では、クロック制御部が、クロックの周波数を第1の周波数から第2の周波数へ変更する。第2の周波数は、第1の周波数より低い周波数である。制御方法では、クロック制御部が、第2の周波数を継続すべき時間について統計的に予測する。制御方法では、クロック制御部が、第2の周波数への変更タイミングから第2の周波数を継続すべき時間が経過した後、クロックの周波数を第2の周波数から第1の周波数に変更する。制御方法では、クロック制御部が、第2の周波数から第1の周波数に変更された後、第1の周波数を継続すべき時間について統計的に予測する。制御方法では、クロック制御部が、第1の周波数を継続すべき時間と第2の周波数を継続すべき時間とに応じて、第2の周波数から間引かれた第3の周波数を求める。制御方法では、クロック制御部が、クロックの周波数を第1の周波数から第3の周波数へ変更する。
第1の実施形態にかかる制御方法を実行する半導体集積回路の構成図。 第1の実施形態におけるクロック制御部の構成図。 第1の実施形態にかかる制御方法を示すタイミングチャート。 第1の実施形態にかかる制御方法を示すタイミングチャート。 第1の実施形態にかかる制御方法を示すフローチャート。 第2の実施形態におけるクロック制御部の構成図。 第2の実施形態における分周比決定情報のデータ構造の一例を示す図。 第2の実施形態にかかる制御方法を示すタイミングチャート。 第2の実施形態にかかる制御方法を示すタイミングチャート。 第2の実施形態にかかる制御方法を示すフローチャート。 第3の実施形態におけるクロック制御部の構成図。 第3の実施形態にかかる制御方法を示すフローチャート。 第4の実施形態におけるクロック制御部の構成図。
以下に添付図面を参照して、実施形態にかかる制御方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
第1の実施形態にかかる制御方法は、クロックを用いて動作する半導体集積回路で実行される。この半導体集積回路では、クロックの周波数を動的に制御することがある。この制御は、DFS(Dynamic Frequency Scaling)制御と呼ばれる。DFS制御では、クロックの周波数を適切に制御することが望まれる。この制御方法を実行するシステムは、クロックを供給する回路を有し、低消費電力向けマイクロプロセッサ等の半導体集積回路へ適用され得る。
図1は、第1の実施形態にかかる制御方法を実行する半導体集積回路100の構成図である。半導体集積回路100は、クロック制御部10、バスブロックBB、複数のブロックB0,B1,B2,B3を有する。
クロック制御部10は、各部に供給すべきクロックを生成するクロック生成回路として機能する。ブロックB0~B3はそれぞれ、クロック制御部10から供給されるクロックを用いて動作する機能ブロックである。バスブロックBBは、クロック制御部10から供給されるクロックを用いて動作するバスを含む。
この半導体集積回路100には、必要に応じて、ある対象物の何らかの状態を検知するアクティビティモニタ(状態監視回路)が備えられる。例えば、アクティビティモニタは、バスブロックBBに備えられていてもよいし、ブロックの全てもしくはその一部に備えられていてもよい。図1では、バスブロックBB及びブロックB0,B2にアクティビティモニタAB,A0,A2が備えられている。
アクティビティモニタABは、例えば、バスブロックBBに対するブロックB0~B3のそれぞれのバスアクセス(トランザクション)の発生の有無などを監視するように構成されていてもよい。
アクティビティモニタA0,A2は、例えば、所定の装置にデータを送るFIFO等の記憶手段の空き容量を監視するように構成されていてもよいし、所定の場所の温度を監視するように構成されていてもよいし、消費電力の異なる複数の動作モード間の状態遷移を監視するように構成されていてもよい。
クロック制御部10は、PLL回路1、分周器2,3、複数のクロックゲーティング回路4、レジスタ5、及びコントローラ6を有する。但し、クロック制御部10の構成要素は、これらに限定されるものではない。分周器3は、分周器2で分周されたクロックを、各ブロックB0~B3の動作に適した周波数へと分周させることができる。複数のクロックゲーティング回路4は、複数のブロックB0~B3に対応している。各クロックゲーティング回路4は、分周器2,3からのクロックを対応するブロックへ転送する。クロック制御部10は、複数のクロックゲーティング回路4のうち一部を停止させて、クロック信号を供給するブロックを制限することができる。例えば、クロック制御部10は、クロック信号を供給するブロックをラウンドロビン方式で(時分割的に所定の時間周期で)切り替えて制限してもよい。
一部の構成要素、例えば分周器3の設置を省略するなど、適宜、構成を変更してもよい。例えば、クロック制御部10は、外部入力クロック、オシレータ等のクロックソースを有すれば、PLL回路1が省略された構成であってもよい。あるいは、例えば、分周器2単独でクロックを各ブロックB0~B3の動作に適した周波数へ分周させることが可能な場合、クロック制御部10は、分周器3が省略された構成であってもよい。クロック信号を供給するブロックを制限しない場合、クロック制御部10は、複数のクロックゲーティング回路4が省略された構成であってもよい。
PLL回路1は、位相の調整されたクロック信号を分周器2に出力する。分周器2,3は、クロック信号(ソースクロック)に対して周波数を低下させたクロック信号を出力する。クロックゲーティング回路4は、分周器3から供給されるクロック信号に対してクロックゲーティングを施し、出力する。
分周器2は、パルスマスク型であり、ソースクロックのパルス列の一部をマスクすることによって、当該ソースクロックよりも周波数の低い分周クロックを生成する機能を有する。具体的には、分周器2は、ソースクロックのパルス列の一部をマスクするビット列のパターン(以下、「クロックパルスパターン」と称す。)を使用することにより、当該ソースクロックよりも周波数の低い分周クロックを生成する機能を有する。クロックパルスパターンは、ソースクロックのパルス列をどのタイミングでマスクし、どのタイミングで出力するかを定義している。
また、分周器2は、所定のハードウェア(例えばコントローラ6)の制御によって、クロックパルスパターンを切り替え、分周クロックの周波数を切り替える機能を有する。より具体的には、分周器2は、予め用意されている複数のクロックパルスパターンのうちの1つを選択的に使用することによって、周波数の異なる分周クロックを生成する機能を有する。分周クロックの周波数は、低周波数(第2の周波数)と高周波数(第1の周波数)とを含む。
レジスタ5は、コントローラ6が分周器2を制御するために使用する各種の情報を記憶する。コントローラ6は、制御信号により分周器2を制御する。このコントローラ6は、例えば、半導体装置100に備えられるアクティビティモニタから得られる所定の対象物の状態に応じて、分周器2が生成する分周クロックの周波数を変化させることができる。分周器2から出力された分周クロックは、分周器3やクロックゲーティング回路4などを経由し、個々のブロックへと供給される。
DFS制御を行う半導体集積回路100は、DFS制御機構を有効にした後、各ブロックB0~B3からクロック制御部10にブロックの状態をDFS制御信号として通知するアーキテクチャ(DFS制御アーキテクチャ)を有する。DFS制御アーキテクチャにおいて、クロック制御部10は、DFS制御信号で各ブロックB0~B3の状態を判断し、ノンビジー状態のブロックに供給する分周クロックを低周波数にする制御を行う。この時の周波数はDFS制御機構を有効にする前に設定された分周比で一定である。また、ビジー状態に戻った時には、対応する分周クロックを高周波数に戻す。
DFS制御信号は、各ブロックB0~B3,BBからクロック制御部10に到達するまでに物理的な遅延とシステム的な遅延とを生じる。例えば、配線遅延やバッファによる素子遅延等である。また、クロック制御部10と各ブロックB0~B3の動作クロックは必ずしも同一周波数、同位相ではなく、非同期の関係になることがある。この場合、DFS制御信号がクロック制御部10に到達した後で同期化や判断処理での遅延が生じる。
例えば、各ブロックB0~B3のビジー状態、DFS制御信号、分周器イネーブルの関係について、DFS制御信号に対して遅延分だけ、分周器イネーブル信号がずれる。このため、ブロックB0~B3のビジー期間に低周波数クロックで動作する期間が存在することになる。半導体集積回路100では、このビジー期間での低速動作により、処理時間の遅延が発生し、性能が劣化する可能性がある。
そこで、本実施形態では、半導体集積回路100において、クロック周波数を高周波数から低周波数に変更した際に低周波数を継続すべき時間を統計的に予測する。本実施形態は、予測された時間の経過後に分周クロックを高周波数に戻すことで、性能劣化の抑制を図る。
具体的には、オーバーヘッドを相殺するため投機的に分周クロックを低周波数から復帰する。例えば、各ブロックB0~B3がノンビジー状態になると、半導体集積回路100は、クロックを高周波数から低周波数にし、現在のDFS有効期間(ノンビジー期間)の終了タイミングを過去のノンビジー期間から統計処理により予測し、任意の時間前(遅延時間に相当)にクロックを元の高周波数に復帰させる。すなわち、DFS制御信号の遅延による性能劣化を、遅延時間分前に投機的にクロックを復帰させることで抑制できる。ビジー期間とノンビジー期間の分布状態により適応的にクロックを分周することで、低消費電力化と性能維持を両立させることが可能である。なお、もし予測が実際のノンビジー状態の終了タイミングより遅くなる方向に外れた時は、実際の終了タイミングで復帰させて性能劣化が発生しないようにする。
なお、半導体集積回路100において、DFS有効期間(ノンビジー期間)の統計処理による予測を開始するタイミングは、任意であるが、半導体集積回路100の起動時における初期設定が完了したタイミングであってもよいし、ホスト(例えば、半導体集積回路100に接続されたコンピュータ等)から予測の開始を指示するコマンドを受信しそのコマンド処理を行うタイミングであってもよい。
図2は、コントローラ6の構成図である。コントローラ6は、制御部61、インターバルタイマー62、DFS有効期間数カウンタ63、及び統計処理部64を有する。
制御部61は、コントローラ6の各部を統括的に制御する。統計処理部64は、統計処理を行い、ノンビジー期間の予測値を算出して制御部61へ供給する。例えば、統計処理部64は、ノンビジー期間を複数の時間的な区間ごとにその頻度を集計し、集計結果を示すヒストグラムを生成する。統計処理部64は、ヒストグラムの最頻出値、ヒストグラムの平均値、あるいは、ヒストグラムの中央値を、予測値としてもよい。あるいは、統計処理部64は、ノンビジー期間の長さについて機械学習を行って生成された予測モデル(学習済みモデル)を用いて予測された値を、予測値としてもよい。以下では、ヒストグラムの最頻出値を予測値とする場合について例示する。
インターバルタイマー62は、統計処理期間を管理する。統計処理期間は、統計処理を行う単位期間である。インターバルタイマー62は、統計処理期間の完了タイミングに達したら制御部61へ通知する。これに応じて、統計処理部64は、完了した統計処理期間についての統計処理の結果を追加しヒストグラムの統計処理を更新する。カウンタ63は、DFS有効期間数をカウントし、カウント値を制御部61へ供給する。
制御部61は、統計処理期間閾値、統計処理期間選択信号、遅延時間をレジスタ5から受け、DFS制御信号を各ブロックB0~B3から受け、ノンビジー期間の予測値を統計処理部64から受ける。制御部61は、これらに応じて、分周器イネーブル信号を生成して分周器2へ供給する。これにより、コントローラ6は、分周器2による分周処理を制御する。
また、制御部61は、選択された期間で統計処理部64に統計処理を実施させる。統計処理部64は、処理後にノンビジー期間の予測値を出力する。制御部61は、DFS制御信号を監視し、ノンビジー状態になったら分周器イネーブル信号をアサートし、予測値に対して遅延時間前にデアサートする。なお、遅延DFS制御信号よりも先にDFS制御信号がビジー状態になったらDFS制御信号のビジー状態を優先して適用し、分周器イネーブル信号をデアサートする。
分周器2は、PLL回路1からソースクロックを受け、クロック制御部10から分周比を受け、制御部61から分周器イネーブル信号を受ける。分周器2は、分周比及び分周器イネーブル信号に応じて、ソースクロックを分周し、分周クロックを生成する。
次に、半導体集積回路100で実行される制御方法について図3及び図4を用いて説明する。図3、図4は、制御方法を示すタイミングチャートである。
図3において、DFS_control_sigは各ブロックB0~B3から出力されたDFS制御信号であり、DFS_control_sig_delayはクロック制御部10で受けるDFS制御信号である。DFS_control_sig_delayは、DFS_control_sigに対して物理的な遅延とシステム的な遅延とを有する(以下、遅延DFS制御信号と呼ぶ)。Predictive_control_sigは、クロック制御部10でのノンビジー期間の予測に基づいて生成されたDFS制御信号である(以下、予測DFS制御信号と呼ぶ)。DFS_divider_enableは、遅延DFS制御信号と予測DFS制御信号とをクロック制御部10でAND演算することにより生成された分周器イネーブル信号である。busyは、制御対象のブロックのビジー状態を示すビジー信号である。
制御対象のブロックは、ビジー状態からノンビジー状態になったタイミングt1でDFS制御信号を立ち上げるが、それから遅延したタイミングt2で遅延DFS制御信号が立ち上がる。図3では、ビジー信号に重ねて、ハッチングの濃い領域でクロックが高周波数であることを示し、ハッチングの薄い領域でクロックが低周波数(Low Freq Clk)であることを示している。
クロック制御部10は、遅延DFS制御信号の立ち上がりに同期して予測DFS制御信号を立ち上げ、予測した時間幅経過後に予測DFS制御信号を立ち下げる。クロック制御部10は、予測DFS制御信号の立ち上がりのタイミングt2に同期してクロックを高周波数から低周波数へ変更し、予測DFS制御信号の立下りのタイミングt3に同期してクロックを低周波数から高周波数へ変更する。このタイミングt3で制御対象のブロックがノンビジー状態からビジー状態になっている。その後のタイミングt4で遅延DFS制御信号が立ち下がる。
仮に、遅延DFS制御信号の立ち上がりでクロックを低周波数から高周波数へ変更し、立ち下がりでクロックを高周波数から低周波数へ変更するとする。この場合、タイミングt3~t4では、ブロックがビジー状態であるのにクロックが低周波数に維持され、性能劣化が発生する可能性がある。
それに対して、図3では、クロック制御部10がノンビジー期間(タイミングt2~t3)の予測に成功しているので、制御対象のブロックのビジー期間の開始タイミングt3でクロックを低周波数から高周波数に戻すことができ、性能劣化を回避することができる。すなわち、性能維持と低消費電力化とを両立できる。
なお、クロック制御部10がノンビジー期間の予測に失敗することもある。例えば、タイミングt5~t6の予測では、実際のノンビジー期間より短く、制御対象のブロックがノンビジー状態からビジー状態になる前にクロックを低周波数から高周波数に戻しているが、性能劣化を回避することができている。タイミングt7~t8の予測では、実際のノンビジー期間より長いが、遅延DFS制御信号の方が早く立ち下がっているため、分周器イネーブル信号がそのタイミングで立ち下がり、影響がない。タイミングt9~t10の予測では、実際のノンビジー期間より長いが、遅延DFS制御信号より早く立ち下がっているので、改善効果がみられる。
すなわち、予測失敗の場合で、予測期間が実際よりも短いケースでは性能は改善される。但し、外れの程度により低消費電力化の効果が薄れる可能性はある。予測期間が実際より長いケースでは、遅延DFS制御信号での制御と比較して、性能劣化、低消費電力化に対して効果は同等程度か改善効果がみられることがある。
図3に示す遅延DFS制御信号及び予測DFS制御信号を、より長い時間的なスパンで示すと図4のようになる。初回の統計処理期間において、予測DFS制御信号はアサート状態である。分周器イネーブル信号のアサート期間は、遅延DFS制御信号のアサート期間と同じになる。すなわち、初回の統計処理期間は、遅延DFS制御信号のアサート期間と同じになる。
次の統計処理期間では予測値がAとなり、予測DFS制御信号は、遅延DFS制御信号のアサート期間から設定された遅延時間(固定時間)nを引いたA-nの期間でアサートされる。同様にして、統計処理期間ごとに、予測値がB~Jとなり、予測DFS制御信号は、遅延DFS制御信号のアサート期間から設定された遅延時間(固定時間)nを引いたB-n~J-nの期間でアサートされる。この様に、初回以降は予測値に基づいた分周器イネーブル信号の制御が行われる。初回以降は、統計処理の解析結果に対して、遅延時間を減算した期間となる。なお、図4に示す各予測値A~Jの時系列的なパターンは、あくまで一例であり、実際には、各ブロックB0~B3の動作状態(ビジー状態、ノンビジー状態)に応じて動的に変わり得る。
次に、半導体集積回路100で実行される制御方法について図5を用いて説明する。図5は、制御方法を示すフローチャートである。
クロック制御部10は、統計処理期間の選択と決定とを行う(S1)。クロック制御部10は、統計処理期間を一定期間にするかDFS有効期間数にするかを選択し、閾値を決定する。次に、クロック制御部10は、予測有効期間から減算する遅延時間の決定を行う(S2)。
クロック制御部10は、現在が統計処理期間内であるか否か判定する(S3)。統計処理期間内であれば(S3、Yes)、DFS制御信号の有効期間長をカウントし、DFS有効期間長(パルス時間幅)を取得する(S4)。クロック制御部10は、DFS有効期間長の統計処理を行う(S5)。例えば、ヒストグラムを作成する。
クロック制御部10は、統計処理期間内でなければ(S3、No)、統計処理の結果からDFS有効期間の予測値の決定を行う(S6)。例えば、ヒストグラムの最頻出値が属する階級の最大数を予測値とする。クロック制御部10は、予測値に基づいたDFS有効期間の決定を行う(S7)。クロック制御部10は、DFS有効期間から遅延時間を減算し、減算結果を予測DFS有効期間とする。クロック制御部10は、処理をS3へ戻す。
一方、S1~S7と並行して、S8~S13の処理が行われる。クロック制御部10は、クロック分周比を取り得る任意の値でクロック分周比の決定を行う(S8)。クロック制御部10は、DFS制御信号がアサートされるまで(S9、No)待機する。
クロック制御部10は、DFS制御信号がアサートされると(S9Yes)、分周比に従いクロック分周を行う(S10)。クロック制御部10は、DFS制御信号がデアサートされていれば(S11、Yes)、クロック分周を終了し(S13)、処理をS9へ戻す。
クロック制御部10は、DFS制御信号がデアサートされていなければ(S11、No)、DFS予測有効期間が終了しているか判断する。クロック制御部10は、DFS予測有効期間が終了していなければ(S12、No)、処理をS10へ戻す。終了していれば(S12、Yes)、クロック分周を終了し(S13)、処理をS9へ戻す。
以上のように、本実施形態では、半導体集積回路100において、クロックを高周波数から低周波数に変更した際に低周波数を継続すべき時間を統計的に予測し、変更のタイミングから予測された時間が経過後にクロックを高周波数に戻す。これにより、性能劣化を抑制できる。
(第2の実施形態)
次に、第2の実施形態にかかる制御方法について説明する。以下では、第1の実施形態と異なる部分を中心に説明する。第2の実施形態では、DFS有効期間(ノンビジー期間)、DFS無効期間(ビジー期間)の長さに応じて、クロックを低周波数(第2の周波数)から適応的に間引いた周波数(第3の周波数)にする。すなわち、低周波数からの周波数の間引き率に相当するクロック分周比を適応的に調整する。
具体的には、現在のノンビジー期間とビジー期間を過去のビジー期間及びノンビジー期間の統計処理により、予測ノンビジー期間が長い場合、予測ビジー期間が短い程、分周比を小さくし性能劣化を抑える。予測ノンビジー期間が短い場合は、ビジー期間が短い程、1/1を含め更に分周比を小さくすることで性能劣化を抑える。このためケース毎にビジー期間と分周比の関係テーブルを持ち、予測ノンビジー期間と閾値とを比較した結果でテーブルを切り替える。各テーブルの分周比の割り当て範囲を変えることで、予測ノンビジー期間が長いケースは周波数低減幅を大きく、短い期間では周波数低減幅を小さくする。これにより、低消費電力化を維持でき、その中でビジー期間を考慮し分周比を決めることで性能劣化を抑制できる。すなわち、ビジー期間とノンビジー期間の分布状態により適応的にクロックを分周することで、低消費電力化と性能維持とを両立させる可能性を高めることが可能である。
図6は、第2の実施形態におけるクロック制御部の構成図である。クロック制御部10iは、第1の実施形態のコントローラ6に代えて、コントローラ6iを有する。コントローラ6iは、制御部61i、インターバルタイマー62、DFS有効無効期間数カウンタ63i、及び統計処理部64iを有する。
カウンタ63iは、DFS有効期間数およびDFS無効期間数をカウントし、各カウント値を制御部61iへ供給する。制御部61iは、統計処理期間選択、統計処理期間閾値、DFS有効期間閾値、分周比決定テーブルTB0、分周比決定テーブルTB1をレジスタ5から受け、DFS制御信号を各ブロックB0~B3から受け、ノンビジー期間の予測値及びビジー期間の予測値を統計処理部64iから受ける。制御部61iは、これらに応じて、分周比を生成して分周器2へ供給する。これにより、コントローラ6iは、分周器2による分周処理を制御する。なお、分周器2へ供給されるべき分周器イネーブル信号は、各ブロックB0~B3からのDFS制御信号が用いられ、ノンビジー期間にアサートされる。
また、制御部61iは、選択された期間で統計処理部64iに統計処理を実施させる。統計処理部64iは、処理後にノンビジー期間とビジー期間との予測値を生成してそれぞれ制御部61iへ供給する。制御部61iでの分周比生成は、ノンビジー期間の予測値に従い選択した分周比決定テーブルTB0またはTB1、及びビジー期間の予測値での分周比決定情報にて行う。分周比決定情報は、ビジー期間の予測値のレベルと分周比とが対応付けられた情報である。
図7は、分周比決定情報のデータ構造の一例を示す図である。図7(a)に示す分周比決定テーブルTB0は、ノンビジー期間の予測値がDFS有効期間閾値よりも大きいケースで使うテーブルとする。図7(b)に示す分周比決定テーブルTB1は、ノンビジー期間の予測値がDFS有効期間閾値よりも小さいケースで使うテーブルとする。各テーブルTB0,TB1の分周比の割り当ては、ビジー期間の予測値の範囲をレベルで分けたものに対して行う。レベルは、ビジー期間の予測値の長さが長いほど大きくなるように決められ得る。割り当ては、ビジー期間が小さいレベル程、分周比を1/1を含め小さくする。分周比決定テーブルTB0とTB1とに割り当てる分周比の範囲は、TB0の方を大きくする。
次に、第2の実施形態にかかる制御方法について図8及び図9を用いて説明する。図8、図9はそれぞれ、制御方法を示すタイミングチャートである。
図8において、DFS_control_sigは各ブロックからのDFS制御信号であり、DFS_control_sig_delayは遅延DFS制御信号であり、DFS_divider_enable(=DFS_control_sig_delay)は分周器イネーブル信号である。また、図9において、Inv_DFS_control_sig_delayはDFS_control_sig_delayの反転信号(遅延DFS反転制御信号)である。
図9に示すタイミングチャートにおいて、初回の統計処理期間では、初期設定値として分周比は1/1とする。次の統計処理期間では、予測ノンビジー期間がDFS有効期間閾値よりも小さく、分周比決定テーブルTB1を選択し、予測ビジー期間がレベル0で分周比を1/1と決定している。
この処理を統計処理期間毎に繰り返していくが、ビジー期間及びノンビジー期間の長さの傾向が変わる変化点では、直前の統計処理期間での結果により分周比が決まるので適切でない可能性がある。これは統計処理期間を調整することで影響を少なくできる。
図8(a)~図8(d)はそれぞれ、ノンビジー期間とビジー期間との長短について異なる種類の組み合わせでのビジー状態を示している。図8(a)~図8(d)ではいずれも、分周器イネーブル信号の立ち上がりでクロックを高周波数から低周波数にし、立ち下がりでクロックを低周波数から高周波数にする。すなわち、分周イネーブル信号のロウレベルの期間が高周波数での動作期間を示し、ハイレベルの期間が低周波数での動作期間を示している。
ノンビジー期間が長くビジー期間が長いケース(図8(a))では、遅延による性能劣化は小さく見えるので、分周比を大きくしても性能維持と低消費電力化との両立が可能である。ノンビジー期間が長くビジー期間が短いケース(図8(b))では、遅延による性能劣化は大きく見えるので、分周比を大きくすると性能劣化が顕著になる。但し、ノンビジー期間が長いので低消費電力化の効果は大きくなる。ノンビジー期間が短くビジー期間が短いケース(図8(c))では、遅延による性能劣化は大きく見える。分周比を大きくすると性能劣化は顕著になる。更にノンビジー期間が短いので低消費電力化の効果も薄い。ノンビジー期間が短くビジー期間が長いケース(図8(d))では、遅延による性能劣化は小さく見える。分周比を大きくしても性能維持はされるが、低消費電力化の効果は薄い。
これらを考慮して予測したノンビジー期間、ビジー期間を使い適切な分周比を決めることで、性能維持と低消費電力化とを両立できる可能性を高めることが出来る。また、テーブルTB0,TB1は自由に定義できるのでシステムや各ブロックの性質により、性能重視、低消費電力化重視等、柔軟なDFS制御も可能となる。
図10は、第2の実施形態にかかる制御方法を示すフローチャートである。クロック制御部10iは、S1の後に、分周比決定テーブルの選択のために、DFS有効期間の予測値に対する閾値を決定する(S21)。クロック制御部10iは、分周比テーブルの決定を行う(S22)。
クロック制御部10iは、現在が統計処理期間内であるか否か判定する(S3)。統計処理期間内であれば(S3、Yes)、DFS制御信号の無効期間長をカウントし、DFS無効期間長(パルス時間幅)を取得する(S23)。クロック制御部10iは、DFS無効期間長の統計処理を行う(S24)。例えば、ヒストグラムを作成する。
クロック制御部10iは、統計処理期間内でなければ(S3、No)、統計処理の結果からDFS無効・有効期間の予測値の決定を行う(S25)。例えば、ヒストグラムの最頻出値が属する階級の最大値を予測値とする。クロック制御部10iは、予測値に基づいた分周比の決定を行う(S26)。クロック制御部10iは、予測有効期間と閾値の大小関係を確認し分周比決定テーブルを選択する。クロック制御部10iは、予測有効期間が閾値より大きければ、分周比決定テーブルTB0を選択し、予測有効期間が閾値より小さければ、分周比決定テーブルTB1を選択する。クロック制御部10iは、選択した分周比決定テーブルから分周比を決める。クロック制御部10iは、処理をS3へ戻す。
一方、S1~S26と並行して、S9~S13の処理が行われる。すなわち、第2の実施形態においては、図5に示すS8~S13の処理に対して、S8,S12が省略されている。
以上のように、本実施形態では、DFS有効期間、DFS無効期間の長さに応じて、クロックを低周波数(第2の周波数)から適応的に間引いた周波数(第3の周波数)にする。すなわち、低周波数からの周波数の間引き率に相当するクロック分周比を適応的に調整する。これにより、低消費電力化の効果を維持しつつ性能劣化を抑制できる。
(第3の実施形態)
次に、第3の実施形態にかかる制御方法について説明する。以下では、第1及び第2の実施形態と異なる部分を中心に説明する。第3の実施形態では、第1及び第2の実施形態との制御方法を組み合わせる。図11は、第3の実施形態におけるクロック制御部の構成図である。クロック制御部10jは、第2の実施形態のコントローラ6iに代えて、コントローラ6jを有する。コントローラ6jは、第2の実施形態の制御部61iに代えて、制御部61jを有する。
制御部61jは、統計処理期間選択、統計処理期間閾値、遅延量、DFS有効期間閾値、分周比決定テーブルTB0、分周比決定テーブルTB1をレジスタ5から受け、DFS制御信号を各ブロックB0~B3から受け、ノンビジー期間の予測値及びビジー期間の予測値を統計処理部64iから受ける。制御部61jは、これらに応じて、分周比と分周器イネーブル信号とを生成して分周器2へ供給する。これにより、コントローラ6jは、分周器2による分周処理を制御する。なお、本構成では、分周比及び分周器イネーブル信号の生成で、統計処理期間が同じため、調整の自由度が制限され得る。
図12は、第3の実施形態にかかる制御方法を示すフローチャートである。クロック制御部10jは、S1,S21,S3を順に行う。クロック制御部10jは、統計処理期間内であれば(S3、Yes)、S4,S5の処理とS23,S24の処理とを並行して行い、処理をS3へ戻す。クロック制御部10jは、統計処理期間内でなければ(S3、No)、S6,S7の処理とS25,S26の処理とを並行して行い、処理をS3へ戻す。
一方、S1~S26と並行して、S9~S13の処理が行われる。すなわち、第3の実施形態においては、図5に示すS8~S13の処理に対して、S8が省略されている。
以上のように、本実施形態では、クロックを高周波数から低周波数に変更した際に低周波数を継続すべき時間を統計的に予測し、予測された時間の経過後にクロックを高周波数に戻す。また、DFS有効期間(ノンビジー期間)、DFS無効期間(ビジー期間)の長さに応じてクロック分周比を適応的に調整する。これにより、低消費電力化の効果を維持しつつ性能劣化を抑制できる。
(第4の実施形態)
次に、第4の実施形態にかかる制御方法について説明する。以下では、第1の実施形態から第3の実施形態と異なる部分を中心に説明する。第4の実施形態では、第1と第2の実施形態との制御方法を組み合わせるとともに、分周器イネーブル信号の生成と分周比の生成を行うコントローラを分離する。
図13は、第4の実施形態におけるクロック制御部の構成図である。クロック制御部10kは、第1の実施形態のコントローラ6に加えて、第2の実施形態のコントローラ6iを有する。
制御部61は、統計処理期間閾値、統計処理期間選択、遅延時間、DFS制御信号、ノンビジー期間の予測値に応じて、分周器イネーブルを生成して分周器2へ供給する。また、制御部61iは、統計処理期間選択、統計処理期間閾値、DFS有効期間閾値、分周比決定テーブルTB0、分周比決定テーブルTB1、DFS制御信号、ノンビジー期間の予測値及びビジー期間の予測値に応じて、分周比を生成して分周器2へ供給する。これにより、第4の実施形態のコントローラは、分周器2による分周処理を制御する。
本実施形態では、分周比生成、分周器イネーブル信号生成で、統計処理期間を異ならせることができるため、調整の自由度を向上できる。
以上のように、第4の実施形態では、半導体集積回路100kにおいて、分周器イネーブルを生成するコントローラ6と分周比を生成するコントローラ6iとを分離する。これにより、分周器イネーブル処理と分周比生成処理とが独立になるため、統計処理期間を別々に設定できる。この結果、調整の自由度を向上でき、第3の実施形態に対してより適切化が可能となる。
なお、上記では、1つのクロック制御部10が複数のブロックに対してクロックを供給する実施形態について説明したが、半導体集積回路100は、複数のクロック制御部10(複数のDFS制御アーキテクチャ)を備えていてもよい。複数のクロック制御部は、複数のブロックに対応して設けられた構成であってもよい。このとき、各クロック制御部10から対応するブロックへ供給されるクロックの周波数は、互いに異なっていてもよい。あるいは、半導体集積回路100は、クロック制御部10内に複数の分周器2,3が複数のブロックB0~B3に対応して設けられた構成であってもよい。このとき、各分周器2,3から対応するブロックへ供給されるクロックの周波数は、互いに異なっていてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10,10i,10j,10k クロック制御部、100,100i,100j,100k 半導体集積回路、B0~B3 ブロック。

Claims (3)

  1. クロックを生成するクロック制御部と前記クロックで動作する複数のブロックとを有する半導体集積回路における前記クロック制御部が、クロックの周波数を第1の周波数に制御することと、
    前記クロック制御部が、前記クロックの周波数を前記第1の周波数から前記第1の周波数より低い第2の周波数へ変更することと、
    前記クロック制御部が、前記第2の周波数を継続すべき時間について統計的に予測することと、
    前記第2の周波数への変更タイミングから前記第2の周波数を継続すべき時間が経過した後、前記クロック制御部が、前記クロックの周波数を前記第2の周波数から前記第1の周波数に変更することと、
    前記クロック制御部が、前記第2の周波数から前記第1の周波数に変更された後、前記第1の周波数を継続すべき時間について統計的に予測することと、
    前記クロック制御部が、前記第1の周波数を継続すべき時間と前記第2の周波数を継続すべき時間とに応じて、前記第2の周波数から間引かれた第3の周波数を求めることと、
    前記クロック制御部が、前記クロックの周波数を前記第1の周波数から前記第3の周波数へ変更することと、
    を備えた制御方法。
  2. 前記第1の周波数を継続すべき時間は、前記クロックが供給される回路ブロックが動作中であるビジー期間を含み、
    前記第2の周波数を継続すべき時間は、前記クロックが供給される回路ブロックが待機中であるノンビジー期間を含む
    請求項に記載の制御方法。
  3. クロックを生成するクロック制御部と、
    前記クロックで動作する複数のブロックと、
    を備え、
    前記クロック制御部は、前記クロックの周波数を第1の周波数に制御し、前記クロックの周波数を前記第1の周波数から第2の周波数へ変更し、前記第2の周波数への変更タイミングから前記第2の周波数を継続すべき時間について予測された時間が経過した後に、前記クロックの周波数を前記第2の周波数から前記第1の周波数へ変更する前記クロックを生成し、前記複数のブロックに供給し、前記第2の周波数から前記第1の周波数に変更された後、前記第1の周波数を継続すべき時間について統計的に予測し、前記第1の周波数を継続すべき時間と前記第2の周波数を継続すべき時間とに応じて、前記第2の周波数から間引かれた第3の周波数を求め、前記クロックの周波数を前記第1の周波数から前記第3の周波数へ変更する前記クロックを生成し、前記複数のブロックに供給する
    半導体集積回路。
JP2019170590A 2019-09-19 2019-09-19 制御方法及び半導体集積回路 Active JP7199329B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019170590A JP7199329B2 (ja) 2019-09-19 2019-09-19 制御方法及び半導体集積回路
US16/989,972 US11177798B2 (en) 2019-09-19 2020-08-11 Control method and semiconductor integrated circuit
US17/499,906 US11588475B2 (en) 2019-09-19 2021-10-13 Control method and semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019170590A JP7199329B2 (ja) 2019-09-19 2019-09-19 制御方法及び半導体集積回路

Publications (2)

Publication Number Publication Date
JP2021047707A JP2021047707A (ja) 2021-03-25
JP7199329B2 true JP7199329B2 (ja) 2023-01-05

Family

ID=74878520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019170590A Active JP7199329B2 (ja) 2019-09-19 2019-09-19 制御方法及び半導体集積回路

Country Status (2)

Country Link
US (2) US11177798B2 (ja)
JP (1) JP7199329B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761589B2 (en) * 2017-04-21 2020-09-01 Intel Corporation Interconnect fabric link width reduction to reduce instantaneous power consumption
KR102640922B1 (ko) * 2018-03-05 2024-02-27 삼성전자주식회사 동작 상태에 따라 기능 모듈들을 저전력 상태로 제어하는 집적 회로, 전자 장치 및 그 제어 방법
JP7199329B2 (ja) * 2019-09-19 2023-01-05 株式会社東芝 制御方法及び半導体集積回路
US11290095B1 (en) * 2021-05-25 2022-03-29 Xilinx, Inc. Programmable dynamic clock stretch for at-speed debugging of integrated circuits

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146280A (ja) 2008-12-18 2010-07-01 Nec Infrontia Corp コンピュータ装置、cpuクロック調整方法
JP2016506576A (ja) 2012-12-21 2016-03-03 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 集積回路のアイドルフェーズ予測
JP2019057281A (ja) 2017-09-20 2019-04-11 株式会社東芝 クロック生成回路およびクロック生成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3475510B2 (ja) * 1994-08-09 2003-12-08 ヤマハ株式会社 省電力機能付き集積回路
JP3884914B2 (ja) * 2001-01-30 2007-02-21 株式会社ルネサステクノロジ 半導体装置
JP2008141013A (ja) 2006-12-01 2008-06-19 Matsushita Electric Ind Co Ltd 半導体装置
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
KR101617377B1 (ko) * 2009-11-06 2016-05-02 삼성전자주식회사 동적 전압 주파수 스케일링 방법
US8650423B2 (en) * 2011-10-12 2014-02-11 Qualcomm Incorporated Dynamic voltage and clock scaling control based on running average, variant and trend
JP2017021539A (ja) 2015-07-09 2017-01-26 株式会社ソシオネクスト クロック制御回路及び半導体装置
JP2017027204A (ja) 2015-07-17 2017-02-02 富士通株式会社 半導体装置および半導体装置の制御方法
US10579093B2 (en) * 2018-03-01 2020-03-03 At&T Intellectual Property I, L.P. Workload prediction based CPU frequency scaling
JP7399622B2 (ja) 2019-03-20 2023-12-18 株式会社東芝 半導体装置及び半導体装置の制御方法
JP7199329B2 (ja) * 2019-09-19 2023-01-05 株式会社東芝 制御方法及び半導体集積回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146280A (ja) 2008-12-18 2010-07-01 Nec Infrontia Corp コンピュータ装置、cpuクロック調整方法
JP2016506576A (ja) 2012-12-21 2016-03-03 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 集積回路のアイドルフェーズ予測
JP2019057281A (ja) 2017-09-20 2019-04-11 株式会社東芝 クロック生成回路およびクロック生成方法

Also Published As

Publication number Publication date
US20220029612A1 (en) 2022-01-27
JP2021047707A (ja) 2021-03-25
US11588475B2 (en) 2023-02-21
US20210091756A1 (en) 2021-03-25
US11177798B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
JP7199329B2 (ja) 制御方法及び半導体集積回路
US9141165B2 (en) Method and system for controlling clock frequency for active power management
US5551044A (en) Method and apparatus for interrupt/SMI# ordering
WO2007148159A1 (en) A method and device for power management
JPH0720968A (ja) 電圧と周波数を動的に変更することによってコンピュータの消費電力を減少させる方法
CN108885486B (zh) 增强型动态时钟和电压缩放(dcvs)方案
US11340689B2 (en) Thermal mitigation in devices with multiple processing units
JP6905596B2 (ja) クロック分周デバイス及びその方法
CN106716390A (zh) 频率和功率管理
US20100295582A1 (en) Clock circuit for digital circuit
JP2019057281A (ja) クロック生成回路およびクロック生成方法
JP7408650B2 (ja) ダイナミックランダムアクセスメモリランクのパワーダウンモードの投機的な終了
JP2007065756A (ja) クロック制御回路、クロック制御方法、半導体集積回路装置、及び電子機器
US20040260960A1 (en) Method for pulse train reduction of clocking power when switching between full clocking power and nap mode
US8402288B2 (en) Apparatus and method for controlling voltage and frequency using multiple reference circuits
JP2011223179A (ja) クロック発生回路及びその制御方法
JP2017049972A (ja) 電子システム及び関連するクロック管理方法
JP3864859B2 (ja) 半導体装置または上記半導体装置の消費電力を削減するプログラム
US20070083688A1 (en) Common memory transfer control circuit and common memory transfer control system
JPH11327701A (ja) マイクロコンピュ−タ装置
JP4476039B2 (ja) データ受渡回路
JP2008527560A (ja) ディジタルシステムを調整するための方法及び装置
JP2002278643A (ja) データ処理装置及びその省電力化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220725

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: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221220

R150 Certificate of patent or registration of utility model

Ref document number: 7199329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150