JP5997029B2 - 機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム - Google Patents
機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム Download PDFInfo
- Publication number
- JP5997029B2 JP5997029B2 JP2012268484A JP2012268484A JP5997029B2 JP 5997029 B2 JP5997029 B2 JP 5997029B2 JP 2012268484 A JP2012268484 A JP 2012268484A JP 2012268484 A JP2012268484 A JP 2012268484A JP 5997029 B2 JP5997029 B2 JP 5997029B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- frequency
- functional block
- mode
- operating frequency
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/01—Shaping pulses
- H03K5/04—Shaping pulses by increasing duration; by decreasing duration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
- H03K19/0016—Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/08—Output circuits
- H03K21/10—Output circuits comprising logic circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/19—Monitoring patterns of pulse trains
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Manipulation Of Pulses (AREA)
Description
多数のIPは、その機能によって、それぞれ活性化モード(active)でもあり、非活性化モード(idle)でもある。何れか1つのIPが非活性化モードである時、他の1つのIPが活性化モードでもあり、少なくとも2つ以上のIPが同時に活性化モードまたは非活性化モードでもある。
多数のIPのうちの少なくとも何れか1つが、非活性化モードで動作を行わない時にも、非活性モードのIPに動作する時のような活性化モードの動作クロックを供給し続ければ、SoCは、不要な電力を消費する。このような電力浪費は、数百MHzないし数GHzの周波数を使うIPの場合、バッテリの寿命に大きな影響を与える。
前記動作周波数を減少させる段階は、前記少なくとも1つの機能ブロックの非活性化状態に対する分周比で前記SoCの基準クロックの周波数を分周する段階を含みうる。前記少なくとも1つの機能ブロックの動作周波数を、分周した周波数に減少させる。
前記SoCの動作方法は、前記少なくとも1つの機能ブロックが、前記非活性化状態から前記活性化状態に変化する動作状態に応答して、前記少なくとも1つの機能ブロックの前記動作周波数を増加させる段階をさらに含む。
前記クロックコントローラは、前記少なくとも1つの機能ブロックの動作周波数をセッティングするために、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路をさらに含む。
前記クロックコントローラは、前記少なくとも1つの機能ブロックが、前記非活性化状態から前記活性化状態に変わる動作状態に応答して、前記少なくとも1つの機能ブロックの前記動作周波数を増加させる。
前記クロックコントローラは、前記少なくとも1つの機能ブロックの動作状態を検出するモード検出部と、前記少なくとも1つの機能ブロックの検出された動作状態に基づいて、複数の分周比のうちの何れか1つの分周比を選択する選択回路と、を含み、前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングする。
前記クロックコントローラは、前記複数の分周比を保存するレジスタ回路をさらに含み、前記選択回路は、前記レジスタ回路から前記何れか1つの分周比を選択することができる。
前記クロックコントローラは、前記機能ブロックの動作周波数をセッティングするために、選択された分周比で基準クロックの周波数を分周する分周回路を含む。
前記モード検出部は、前記機能ブロックの検出された動作状態に基づく選択信号を生成し、前記選択回路は、前記選択信号に基づいて、前記レジスタ回路の複数の分周比のうちの何れか1つの分周比を選択することができる。
前記ルックアップテーブルは、検出された動作状態に基づいて、前記複数の分周比のうちの何れか1つを出力し、前記クロックコントローラは、出力された前記分周比に基づいて、前記少なくとも1つの機能ブロックの動作周波数をセッティングする。
前述した技術的課題を解決するために、本発明のさらに他の一実施形態による機能ブロックを含むSoCは、機能ブロックの動作状態の変化を検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、前記動作周波数セッティング回路は、前記選択信号が、前記機能ブロックが活性化状態から非活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を減少させ、前記選択信号が、前記機能ブロックが前記非活性化状態から前記活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を増加させ、前記減少させる動作周波数は、0より大きな周波数である。
前記動作周波数セッティング回路は、前記機能ブロックが、前記非活性化状態から前記活性化状態に変わった時点から第2タイム区間が経過すると、前記機能ブロックの動作周波数を前記第3周波数から第4周波数に増加させる。
前記動作周波数セッティング回路は、前記選択信号に基づいて、複数の分周比のうちの何れか1つを選択する選択回路をさらに含み、前記選択された分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路をさらに含む。
前記動作周波数セッティング回路は、複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか1つの分周比を出力するルックアップテーブルをさらに含み、出力された前記分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含む。
図1は、本発明の一実施形態によるSoCのブロック図である。図1を参照すると、SoC10は、クロック生成器110、クロックコントローラ100、及び機能ブロック120を含む。SoC10は、単一のチップとして製造されて、1つのパッケージとして具現可能である。図1では、説明の便宜上、クロック生成器110、クロックコントローラ100、及び1つの機能ブロック120を含むSoC10が示されているが、これに限定されるものではない。
クロック生成器110は、SoC10の動作に必要な基準周波数を有した基準クロックCLKinを生成させる。クロック生成器110は、基準クロックCLKinをクロックコントローラ100に出力する。
クロックコントローラ100は、機能ブロック120の動作状態が、活性化状態から非活性化状態(例えば、非活性化(idle)状態)に変わることを検出する。検出された変化によって、機能ブロック120の動作周波数を減少させる。この際、減少する動作周波数は、0以上の周波数である。クロックコントローラ100は、機能ブロック120の動作状態が、非活性化状態から活性化状態に変わることを検出する。検出された変化によって、機能ブロック120の動作周波数を増加させる。
クロックコントローラ100は、機能ブロック120の状態をモニタリングして、該モニタリングされた状態によって、動作クロック信号CLKoutの動作周波数をセッティングする。クロックコントローラ100は、機能ブロック120に動作クロック信号CLKoutを出力する。
クロックコントローラ100は、機能ブロック120の状態が非活性化モード時、基準周波数から既定の第1周波数(非活性化モード周波数)に動作周波数を変更する。
一例として、クロックコントローラ100は、機能ブロック120の状態が活性化モード時、基準周波数から既定の第2周波数(活性化モード周波数)に動作周波数を変更する。
一例として、クロックコントローラ100は、機能ブロック120の状態がウェークアップモード時、基準周波数から既定の少なくとも1つの第3周波数(ウェークアップモード周波数)に動作周波数を変更する。
クロックコントローラ100は、機能ブロック120の状態が当該モードに相応する動作周波数を有した動作クロックCLKoutを当該機能ブロックに出力する。第1周波数ないし第3周波数は、0より大きく、互いに異なる周波数であって、非活性化モードの第1周波数(または、非活性化モード周波数)、ウェークアップモードの第3周波数(または、ウェークアップモード周波数)、活性化モードの第2周波数(または、活性化モード周波数)に行くほど周波数がさらに大きくなる。すなわち、第1周波数ないし第3周波数は、0より大きく、互いに異なる値を有する。第2周波数は、第1周波数より大きく、前記第3周波数より小さい。
クロックコントローラ100は、分周器20、及び分周器コントローラ30を含む。
分周器コントローラ30は、機能ブロック120から出力される状態信号Stateをモニタリングすることができる。
機能ブロック120は、SoC10内のデータ処理動作を行う。図1には、1つの機能ブロックのみが示されているが、これに限定されず、SoC10は、多数の機能ブロックを含みうる。
図2を参照すると、分周器コントローラ30は、多数のレジスタを含んだレジスタブロック32、モード検出部35、及び選択器31を含む(nは、3以上の自然数)。
説明の便宜上、第1周波数、第3周波数、第2周波数に行くほど周波数の大きさは次第に大きくなり、これにより、既定の第1分周比、第3分周比、及び第2分周比は、次第に小さくなると仮定する。この際、第1分周比は非活性化モード分周比、第3分周比はウェークアップモード分周比、第2分周比は活性化モード分周比である。
すなわち、ウェークアップモード周波数は、非活性化モード周波数より大きく、活性化モード周波数は、ウェークアップモード周波数より大きい。ウェークアップモード分周比は、非活性化モード分周比より小さく、活性化モード分周比は、ウェークアップモード分周比より小さい。しかし、本発明の実施形態が、これに限定されず、実施形態によって、多様に具現可能である。
モード検出部35は、有限状態マシン(Finite State Machine;FSM)の形態で具現可能である。これについての具体的な説明は、後述する。例えば、モード検出部35は、機能ブロック120の状態をモニタリングする。一例として、機能ブロック120から出力される状態信号Stateを通じてモニタリングすることができる。モード検出部35は、モニタリングされた状態によって、複数の状態(例えば、非活性化モード、ウェークアップモード、活性化モード)のうちの何れか1つの状態に入り、選択器31に選択信号Selを出力する。選択器31は、選択信号Selによって、複数の分周比D0ないしDn−1のうちの1つの分周比Divを出力する。
機能ブロックが、活性化モードから非活性化モードになれば、動作クロックが、当該機能ブロックの状態に応答して、活性化モード周波数から非活性化モード周波数になるので、SoC内の浪費電力を減らしうる。
機能ブロック120が非活性化モードにあり、非活性化モードから活性化モードに遷移する時、状態信号Stateも遷移する(例えば、ロジックローからロジックハイに)。機能ブロック120の状態変化によって、モード検出部35は、少なくとも1つの第3選択信号Sel kを出力する。選択器31は、この少なくとも1つの第3選択信号Sel kによって、ウェークアップモード分周比Dkを出力する。この際、kは、1ないしn−2の間の自然数のうちの何れか1つであって、n−2は、Nであると言える。
動作クロックCLKoutの動作周波数は、機能ブロック120が非活性化状態から活性化状態に転換された時点から既定のカウントタイムが経過するまでウェークアップモード周波数に保持される。すなわち、例えば、動作クロックCLKoutは、モード検出部35がウェークアップモードから活性化モードに転換されると知らせるまでウェークアップモード周波数に保持される。
図3を参照すると、モード検出部35は、機能ブロック120のモードのそれぞれに相応して、当該分周比Divを選択するための選択信号Selを出力する。これを有限状態マシンで表すことができる。
有限状態マシンは、知られているように、有限数の状態のうちの何れか1つのみを取れるマシンである。マシンは、一回当り1つの状態しか取れず、この際、マシンが処した状態は、現在状態と呼ばれる。有限状態マシンは、トリガイベントまたは条件(condition)によって、1つの状態から他の状態に遷移することができる。1つの状態から他の状態への変化は、“トランジション(transition)”、すなわち、遷移とも呼ばれる。特別な有限状態マシンは、各現在状態から可能なトランジション状態及び各トランジションのためのトリガリング条件のリストによって定義されうる。有限状態マシンは、よく知られているように、本発明の属する技術分野の通常の知識を有した当業者が、理解可能な範囲で多様に応用され、理解されうる。
機能ブロック120の初期状態が、活性化モードとする。この際、モード検出部35は、活性化モード分周比Dn−1を選択するための第1選択信号Sel nを出力する。選択器41は、第1選択信号Sel nによって、レジスタn−1(Reg n−1)を選択して、活性化モード分周比Dn−1を分周器20に出力する。
モード検出部35は、機能ブロック120の状態が活性化状態から非活性化状態に変われば、非活性化モードと判断し、非活性化モード分周比D0を選択するための非活性化モード選択信号Sel 0を出力する。選択器31は、非活性化モード選択信号Sel0によって、レジスタ0(Reg 0)を選択して、非活性化モード分周比D0を分周器20に出力する。
モード検出部35は、少なくとも1つ以上のウェークアップモードwakeup 1ないしwakeup n−2を置くことができる。ウェークアップモードは、既定の順序により、既定の順序とは、ユーザの設定または設計工程上の必要に応じて変わり、例えば、非活性化モード周波数から活性化モード周波数までの周波数移送(transient)順序であり得る。それぞれのウェークアップモードごとに既定のそれぞれのカウントタイムcounter 1ないしconter n−2が存在する。
図4は、図2に示されたSoCの一実施形態を具体的に示すブロック図であり、図5は、図4に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。
図4及び図5を参照すると、まず、互いに異なる分周比が合計3個(すなわち、n=3)と仮定する。すなわち、基準クロックCLKinの基準周波数を分周する非活性化モード分周比R0、ウェークアップモード分周比R1、活性化モード分周比R2がある。
機能ブロック120の状態が非活性化モードと判断されれば、モード検出部45は、非活性化モード分周比R0を選択するための非活性化モード選択信号Sel 0を出力する。選択器41は、前記非活性化モード選択信号Sel 0によって、レジスタ0(Reg 0)を選択して、非活性化モード分周比R0を分周器20に出力する。
機能ブロック120の状態が非活性化モードから活性化モードに遷移して、ウェークアップモード(Wakeup)と判断されれば、モード検出部45は、ウェークアップモード分周比R1を選択するためのウェークアップモード選択信号Sel 1を出力する。選択器41は、ウェークアップモード選択信号Sel 1によって、レジスタ1(Reg 1)を選択して、ウェークアップモード分周比R1を分周器20に出力する。一例として、ウェークアップモード周波数は、活性化モード周波数の1/2倍であり得る。
図6を参照すると、機能ブロック120が活性化状態での動作クロック信号CLKoutの動作周波数は、機能ブロック120が非活性化状態での動作周波数より大きい。
クロックコントローラ100は、機能ブロック120から出力される状態State信号をモニタリングすることができる。一例として、状態信号がロジックハイであれば、機能ブロック120の状態を活性化モードと判断し、ロジックローであれば、機能ブロック120の状態を非活性化モードと判断することができる。機能ブロック120が活性化モードである時、クロックコントローラ100は、活性化モード周波数を動作周波数にセッティングし、機能ブロック120に活性化モード周波数の動作クロックCLKoutを印加する。
機能ブロック120が、再び活性化モードActiveに転換されれば、クロックコントローラ100は、非活性化モード周波数を活性化モード周波数として再び設定して、機能ブロック120に非活性化モード周波数の動作クロックで活性化モード周波数の動作クロックCLKoutを印加する。
その結果、機能ブロック120は、活性化モード周波数ではない非活性化モード周波数の動作クロックで動作して、浪費電力を減少させることができる。また、場合によっては、不可避に機能ブロック120の動作クロックCLKoutをゲーティングすることができない場合に、持続的に非活性化モード周波数の動作クロックを供給することによって、持続的に諸機能を行うように保持することができる。
図7を参照すると、機能ブロック120の活性化モードActive及び非活性化モードIdleである時、クロックコントローラ100の動作は、図6と同一である。説明の便宜上、図6との差異点を中心に説明する。機能ブロック120が、非活性化モードIdleから活性化モードActiveに転換される時、クロックコントローラ100は、図6と異なって、ウェークアップモードが追加される。
非活性化Idleモードの機能ブロック120に急に活性化モード周波数の動作クロックCLKoutが印加されれば、機能ブロック120に印加される電流が急に増加して、電圧降下が起こりうる。したがって、非活性化モード周波数と活性化モード周波数との中間段階である第3周波数を一定カウントタイムの間に印加する。その結果、機能ブロック120は、非活性化モード周波数から活性化モード周波数に突然の遷移によって起こる電圧降下なしで動作して、誤動作が防止される。
図8を参照すると、機能ブロック120の活性化モードActive及び非活性化モードIdleである時、クロックコントローラ100の動作は、図6及び図7と同一である。説明の便宜上、図7との差異点を中心に説明する。
機能ブロック120が、非活性化状態Idleから活性化状態Activeに転換される時、クロックコントローラ100は、図5と異なって、ウェークアップモードが、多数の段階で存在する。即ち、機能ブロック120は、図6と異なって、少なくとも2つ以上のウェークアップモードを有しうる。説明の便宜上、ウェークアップモード周波数は、少なくとも2つ以上のウェークアップモード周波数を含むとする。
第1カウントタイムWakeup 1が満了(expired)する時点から既定の第2カウントタイムWakeup 2の間は、クロックコントローラ100は、第2ウェークアップ周波数で動作クロックを印加する。この際、第1ウェークアップ周波数と第2ウェークアップ周波数とは、非活性化モード周波数ないし活性化モード周波数の範囲内であって、第1ウェークアップ周波数は、第2ウェークアップ周波数より小さいことがある。すなわち、モード検出部35によって少なくとも2つ以上の互いに異なるウェークアップ周波数が、それぞれのカウントタイムの間に設定される。
前記実施形態では、2つのウェークアップモード周波数のみを例示しているが、これに限定されるものではなく、多様な実施形態によって、2つ以上のウェークアップモード周波数で具現することができる。
図9を参照すると、クロックコントローラ100は、分周器コントローラ50、及び分周器20を含む。分周器コントローラ50は、モード検出部55、及びルックアップテーブル(LookUp Table;以下、LUTと称する)53を含む。
モード検出部55は、有限状態マシン(FSM)の形態で具現可能である。一例として、モード検出部55は、機能ブロックの状態Stateをモニタリングする。モード検出部55は、モニタリングされた状態に基づいて、複数の状態(非活性化モード、ウェークアップモード、活性化モード)のうちの何れか1つに該当する選択信号Dを出力する。すなわち、モード検出部55は、図2のモード検出部35と同様に動作する。
一例として、ルックアップテーブル53は、多数の分周比を保存し、選択信号Dによって、非活性化モード時、非活性化モード分周比を出力し、選択信号Dによって、活性化モード時、活性化モード分周比を出力し、ウェークアップモード時、少なくとも1つのウェークアップモード分周比を出力する。非活性化モード分周比ないし活性化モード分周比は、0ではない互いに異なる数であって、非活性化モード分周比は、ウェークアップモード分周比より大きく、ウェークアップモード分周比は、活性化モード分周比より大きい。
図10を参照すると、まず、モード検出部35は、機能ブロック120が非活性モードであるか否かをモニタリングする(ステップS10)。
もし、機能ブロック120が、非活性化状態であれば、モード検出部35は、機能ブロックが非活性化状態に留まっているか(ステップS11)、または非活性化状態から活性化状態に遷移される瞬間であるか否かを判断する(ステップS12)。機能ブロック120が、非活性化状態から活性化状態に遷移される瞬間ではなければ、モード検出部35は、非活性化モードと判断して、非活性化モード選択信号Sel 0を出力する(ステップS13)。そして、クロックコントローラ100は、非活性化モードに相応して基準クロックの周波数を非活性化モード分周比で分周する(ステップS14)。この際、クロックコントローラは、S14段階の非活性化モード周波数を動作周波数にセッティングし(ステップS15)、前記動作周波数を有した動作クロックを機能ブロック120に供給する(ステップS24)。
再びS11段階に戻って、機能ブロック120が非活性化状態であり、非活性化状態から活性化状態に転換された時点であれば(ステップS12)、モード検出部35は、ウェークアップモードと判断し(ステップS16)、ウェークアップモード選択信号を出力する。クロックコントローラ100は、カウンタ(図3に図示)のカウントタイムを初期化し(ステップS17)、モード検出部35は、ウェークアップモードに相応して基準クロックの周波数をウェークアップモード分周比で分周する(ステップS18)。クロックコントローラは、S18段階のウェークアップモード周波数を動作周波数にセッティングし(ステップS19)、既定のカウントタイムが経過するまで(ステップS20)、前記動作周波数を有した動作クロックを機能ブロック120に供給する(ステップS24)。前記カウントタイムが経過すれば、クロックコントローラ100は、基準クロックの周波数を活性化モード分周比で分周し(ステップS22)、活性化モード周波数を動作周波数にセッティングして(ステップS23)、機能ブロック120に供給する(ステップS24)。
再びS11段階に戻って、機能ブロック120が活性化状態であれば、モード検出部35は、活性化モードと判断する(ステップS21)。そして、活性化モードに相応して基準クロックの周波数を前記活性化モード分周比で分周する(ステップS22)。クロックコントローラ100は、S21段階から分周された結果である第2周波数を動作周波数として設定し(ステップS23)、前記動作周波数を有した動作クロックを機能ブロックに供給する(ステップS24)。
モード検出部35は、機能ブロックが、前記各動作クロックCLKoutによって動作しても、引き続き前記機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
図11を参照すると、SoC10″は、クロックコントローラ100′を含む。クロックコントローラ100′は、分周器コントローラ30′、及びクロック信号マルチプレクサ1120を含む。分周器コントローラ30′は、モード検出部35を含む。SoC10″は、また少なくとも1つの機能ブロック120、及び複数のクロック生成器110a、110b、110cを含む。モード検出部35は、図2に示されたモード検出部35と同一または類似しているので、説明の便宜上、具体的な説明は省略する。
図2のクロックコントローラ100のように、図11のクロックコントローラ100′は、機能ブロック120の状態をモニタリングし、機能ブロック120のモニタリングされた状態によって、動作クロックCLKoutの動作周波数をセッティングする。クロックコントローラ100′は、機能ブロック120にセッティングされた周波数の動作クロックCLKoutを出力する。
一例として、分周器コントローラ30′は、機能ブロック120から出力される状態信号Stateによって、機能ブロック120の状態をモニタリングすることができる。
図11のSoC10″は、複数のクロック信号生成器110aないし110cを含む。各クロック信号生成器は、複数のクロック信号CLOCK AないしCLOCK Cのうちの何れか1つのクロック信号のみを生成させる。それぞれのクロック信号生成器は、非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数のそれぞれに相応する周波数のクロック信号を生成させる。非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数は、図1ないし図10で説明した通りである。
図12を参照すると、分周器コントローラ30″は、レジスタブロック32、モード検出部35′、及び選択器31を含む。レジスタブロック32及び選択器31は、図2に示されたものと同一または類似しているので、以下、説明の便宜上、具体的な説明は省略する。
モード検出部35′は、図2に示されたモード検出部35と同じ原理で動作する。選択器31は、モード検出部35′の選択信号Selによって、複数の分周比D0ないしDn−1のうちの1つの分周比Divを出力する。
例えば、モード検出部35′が、機能ブロック120が非活性化モードであると判断した場合、モード検出部35′は、非活性化選択信号Sel 0を出力する。選択器31は、非活性化選択信号Sel 0によって、レジスタ0(Reg 0)から非活性化モード分周比D0を受信して出力する。分周器20は、非活性化モード分周比D0で基準クロックの周波数を分周して、非活性化モード周波数を機能ブロックの動作周波数CLKoutにセッティングする。
モード検出部35′が、機能ブロック120が活性化状態にあると判断すれば、モード検出部35′は、活性化モード選択信号Sel n−1を出力する。選択器31は、活性化モード選択信号Sel n−1に基づいて、レジスタn−1(Reg n−1)から受信した活性化モード分周比Dn−1を出力する。分周器20は、機能ブロックの動作クロックCLKoutの動作周波数に活性化モード周波数をセッティングする。活性化モード周波数は、基準周波数を活性化モード分周比で分周したものである。
図12の分周器コントローラ30″は、電圧検出器1231をさらに含みうる。電圧検出器1231は、機能ブロック120の電圧レベルをモニタする。動作クロックの動作周波数が、少なくとも1つのウェークアップモード周波数のうちの何れか1つにセッティングされた後、機能ブロックの電圧レベルが安定化すれば、電圧レベル安定性信号を出力する。電圧レベル安定性信号に応答して、モード検出部35′は、活性化モード(または、次のウェークアップモード段階)に遷移し、活性化モード選択信号Sel n−1を出力して、活性化モード周波数を動作クロックの動作周波数にセッティングする。
図13を参照すると、有限状態マシン(FSM)は、機能ブロックの状態に対する複数のモード(合計n−2、有限個)を含む。各モードは、ある条件によって互いに連結されている。有限状態マシンは、ハードウェア、ソフトウェアまたはその結合で具現可能である。
一例として、機能ブロック120の初期状態が活性化状態であれば、モード検出部35′は、活性化モード分周比Dn−1を選択するために、活性化モード選択信号を出力する。活性化モード選択信号によって、選択器31は、レジスタn−1(Reg n−1)を選択し、分周器20に活性化モード分周比Dn−1を出力する。
機能ブロック120が、非活性化状態から活性化状態に変化する時、モード検出部35′は、変化を検出してウェークアップモードと判断する。ウェークアップモードである間に、モード検出部35′は、少なくとも1つのウェークアップモード選択信号Selkを出力する。少なくとも1つのウェークアップモード選択信号Sel kによって、選択器31は、レジスタk(Reg k)を選択し、分周器20にウェークアップモード分周比Dkを出力する。この際、少なくとも1つのウェークアップモード選択信号Selkは、ウェークアップモード選択信号Sel 1ないしSel n−2のうちの1つであり得る(nは、分周比の個数を表わす整数であり、n−2は、ウェークアップモード内の段階(stage)の個数を表わす)。
一例として、モード検出部35′によるウェークアップモード段階の間の変化(transition)は、図12に示したように、電圧レベル検出部1231によってトリガされうる。モード検出部35′は、機能ブロック120の電圧レベルが安定化されるまでウェークアップモード周波数を動作周波数として印加する。すなわち、モード検出部35′は、SoC10の状態が変化するまで(例えば、安定化)、動作周波数として各ウェークアップモード段階に相応する周波数を印加する。モード検出部35′が、最後(final)のウェークアップモード段階に至って、機能ブロック120の電圧レベルが安定化すれば、モード検出部35′は、活性化モードに進入する。そして、モード検出部35′は、活性化モード選択信号Sel n−1を出力する。
図14を参照すると、クロックコントローラ100は、モード検出回路35と動作周波数セッティング回路60とを含む。モード検出回路35は、機能ブロック120の動作状態の変化を検出し、該検出された動作状態の変化によって、選択信号を生成させる。動作周波数セッティング回路60は、選択信号によって、機能ブロック120の動作周波数を設定する。
動作周波数セッティング回路60は、選択信号Selが活性化状態から非活性化状態に変われば、機能ブロック120の動作周波数を減少させる。この際、減少する動作周波数は、0より大きい。動作周波数セッティング回路60は、選択信号Selが非活性化状態から活性化状態に変われば、機能ブロック120の動作周波数を増加させる。
動作周波数セッティング回路60は、分周回路63、選択回路61、及びレジスタブロック62を含む。分周回路63、選択回路61、及びレジスタブロック62は、図2に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
図15を参照すると、ルックアップテーブル71は、複数の分周比を保存し、モード検出回路55の選択信号Dによって、複数の分周比のうちの何れか1つを出力する。モード検出回路55及び分周回路72は、図2に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
図16を参照すると、半導体システム1000は、携帯電話、スマートフォン、タブレットコンピュータ(tablet computer)、PDA、EDA(Enterprise Digital Assistant)、デジタルスチルカメラ(DigitalStill Camera)、デジタルビデオカメラ(Digital Video Camera)、PMP(Portable Multimedia Player)、PDN(Personal Navigation DeviceまたはPortable Navigation Device)、携帯用ゲームコンソール(Handheld Game Console)、または電子ブック(e−book)のように携帯用装置(Handheld Device)として具現可能である。
SoC200は、クロックコントローラ100、クロック生成器110、CPU120、GPU125、LCDコントローラ130、ROM(Read Only Memory)140、RAM(Random Access Memory)160、メモリコントローラ150、及びバスを含みうる。SoC200は、示した構成要素以外にも、他の構成要素、例えば、電源管理ユニット(power management unit)、TVプロセッサなどをさらに含みうる。機能ブロックは、CPU120、GPU125、メモリコントローラ150、及び周辺回路制御ユニット(図示せず)などを意味する。
CPU120は、マルチコアプロセッサ(multi−core processor)として具現可能である。前記マルチコアプロセッサは、2つまたはそれ以上の独立した実質的なプロセッサ(‘コア’と呼ばれる)を有する1つのコンピューティングコンポーネント(computing component)であり、プロセッサのそれぞれは、プログラム命令(program instructions)を読み取って実行することができる。マルチコアプロセッサは、多数の加速器を同時に駆動することができるので、マルチコアプロセッサを含むデータ処理システムは、マルチ加速(multi−acceleration)を行うことができる。
メモリ220に保存されたプログラム及び/またはデータは、必要に応じてCPU120またはGPU125内のメモリにロード(load)されうる。
ROM140は、永久的なプログラム及び/またはデータを保存することができる。ROM140は、EPROM(Erasable Programmable Read−Only Memory)またはEEPROM(Electrically Erasable Programmable Read−Only Memory)として具現可能である。
メモリコントローラ150は、外部メモリ装置220とインターフェースするためのブロックである。メモリコントローラ150は、メモリ装置220の動作を全般的に制御し、またホストとメモリ装置220との間の諸般のデータ交換を制御する。例えば、メモリコントローラ150は、ホストの要請に応じてメモリコントローラ150を制御して、データを書き込み/読み出す。
ここで、ホストは、CPU120、LCDコントローラ130のようなマスタ装置であり得る。
各構成要素は、システムバスを通じて互いに通信することができる。
ディスプレイデバイス230は、機能ブロック120にロードされたマルチメディアをディスプレイすることができる。本実施形態で、ディスプレイデバイス230は、LCDデバイスであるが、本発明の実施形態が、これに限定されるものではない。例えば、ディスプレイデバイスは、LED、OLEDデバイス、あるいは他種のデバイスであり得る。
ディスプレイデバイスコントローラ130は、ディスプレイデバイス230の動作を制御する。
図17を参照すると、半導体システム400は、図1に示されたSoC10、アンテナ401、無線送受信器403、入力装置405、及びディスプレイ407を含む。
無線送受信器403は、アンテナ401を通じて無線信号を送受信することができる。例えば、無線送受信器403は、アンテナ401を通じて受信された無線信号をSoC10で処理される信号に変更することができる。
したがって、SoC10は、無線送受信器403から出力された信号を処理し、該処理された信号をディスプレイ407に伝送しうる。また、無線送受信器403は、SoC10から出力された信号を無線信号に変更し、該変更された無線信号をアンテナ401を通じて外部装置に出力することができる。
入力装置405は、SoC10の動作を制御するための制御信号またはSoC10によって処理されるデータを入力することができる装置であって、タッチパッド(touchpad)とコンピュータマウス(computer mouse)のようなポインティング装置(pointing device)、キーパッド(keypad)、またはキーボードとして具現可能である。
コンピュータシステム500は、SoC10、メモリ装置501とメモリ装置501のデータ処理動作を制御することができるメモリコントローラ502、ディスプレイ503、及び入力装置504を含む。
SoC10は、入力装置504を通じて入力されたデータによって、メモリ装置501に保存されたデータをディスプレイ503を通じてディスプレイすることができる。例えば、入力装置504は、タッチパッドまたはコンピュータマウスのようなポインティング装置、キーパッド、またはキーボードとして具現可能である。SoC10は、コンピュータシステム500の全般的な動作を制御し、メモリコントローラ502の動作を制御することができる。
実施形態によって、メモリ装置501の動作を制御することができるメモリコントローラ502は、SoC10の一部として具現され、またSoC10と別途のチップとして具現可能である。
コンピュータシステム600は、SoC10、メモリ装置601とメモリ装置601のデータ処理動作、例えば、ライト動作またはリード動作を制御することができるメモリコントローラ602を含む。また、コンピュータシステム600は、イメージセンサ603、及びディスプレイ604をさらに含む。
コンピュータシステム600のイメージセンサ603は、光学イメージをデジタル信号に変換し、該変換されたデジタル信号は、SoC10またはメモリコントローラ602に伝送される。SoC10の制御によって、前記変換されたデジタル信号は、ディスプレイ604を通じてディスプレイされるか、またはメモリコントローラ602を通じてメモリ装置601に保存することができる。
また、メモリ装置601に保存されたデータは、SoC10またはメモリコントローラ602の制御によって、ディスプレイ604を通じてディスプレイされる。実施形態によって、メモリ装置601の動作を制御することができるメモリコントローラ602は、SOC10の一部として具現され、またSoC10と別個のチップとして具現可能である。
メモリシステム700は、多数のメモリ装置701、多数のメモリ装置701のそれぞれのデータ処理動作を制御することができるメモリコントローラ702、DRAMのような揮発性メモリ装置703、メモリコントローラ702とホスト704との間で送受信するデータを揮発性メモリ装置703に保存することを制御するSoC10を含みうる。
本発明は、またコンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがある。
また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行可能である。そして、本発明を具現するための機能的な(functional)プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマによって容易に推論されうる。
図21を参照すると、機能ブロック120の状態を考慮せずに動作クロックを印加した場合、電圧降下Aが見られる。しかし、図22に示したように、機能ブロック120が、非活性化モードから活性化モードに転換時、第3周波数の動作クロックを印加する場合、機能ブロック120に電流Vが徐々に印加されて、電圧降下Bの幅が減少する。
また、機能ブロックの状態を考慮せずに動作クロックを印加した場合、非活性化モード周波数で急に大きな活性化モード周波数の動作クロックが印加され、図16の電流Iスロープ(slope)が急上昇する。しかし、図22に示したように、機能ブロック120が、非活性化モードから活性化モードに転換時、ウェークアップモード周波数の動作クロックをカウントタイムの間に印加する場合、機能ブロック120に電流Iが徐々に印加されて、電流スロープが比較的緩やかに上昇する。その結果、機能ブロック120は、大きな電圧降下Aまたは電流スロープの急上昇による誤動作なしに動作することができる。
Claims (21)
- 少なくとも1つの機能ブロックを含むSoCの動作方法において、
前記少なくとも1つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、検出された動作状態が活性化状態から非活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を減少させる段階と、
検出された動作状態が非活性化状態から活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を増加させる段階と、を含み、
前記減少させる動作周波数は、0より大きな周波数であり、
検出された動作状態が遷移状態にあるときには、前記少なくとも1つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第1段階と、前記少なくとも1つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第2段階とからなることを特徴とするSoCの動作方法。 - 前記動作周波数を減少させる段階は、
前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比で前記SoCの基準クロックの周波数を分周する段階を含み、
前記少なくとも1つの機能ブロックの前記動作周波数を、前記分周した周波数に減少させることを特徴とする請求項1に記載のSoCの動作方法。 - 前記SoCの動作方法は、
前記少なくとも1つの機能ブロックの前記動作周波数を前記活性化モード動作周波数にセッティングする段階をさらに含み、
前記活性化モード動作周波数は、前記少なくとも1つの機能ブロックの前記活性化状態に関連した第1クロック周波数であり、
前記少なくとも1つの機能ブロックの前記動作周波数を、前記活性化モード動作周波数から前記非活性化モード動作周波数に減少させ、
前記非活性化モード動作周波数を、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した第2クロック周波数とすることを特徴とする請求項1に記載のSoCの動作方法。 - 機能ブロックを含むSoCの動作方法において、
前記機能ブロックの動作状態が、活性化状態、非活性化状態、または非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、
検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記機能ブロックの動作周波数を減少させる段階と、
検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記機能ブロックの動作周波数を増加させる段階と、
検出された動作状態が遷移状態にあるときには、前記機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第1段階と、前記機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第2段階と、を含み、
前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoCの動作方法。 - 少なくとも1つの機能ブロックと、前記少なくとも1つの機能ブロックの動作周波数を制御するクロックコントローラとを含むSoCにおいて、
前記クロックコントローラは、
前記少なくとも1つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれかであるかを検出し、
検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を減少させ、
検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を増加させ、
検出された動作状態が遷移状態にあるときには、前記少なくとも1つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させ、前記少なくとも1つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記少なくとも1つの機能ブロックの動作周波数を前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させるよう制御し、
前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoC。 - 前記クロックコントローラは、
前記少なくとも1つの機能ブロックの前記動作周波数をセッティングするために、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項5に記載のSoC。 - 前記クロックコントローラは、
前記少なくとも1つの機能ブロックの前記動作状態を検出するモード検出部と、
前記少なくとも1つの機能ブロックの検出された前記動作状態に基づいて、複数の分周比のうちの何れか1つの分周比を選択する選択回路と、を含み、
前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項5に記載のSoC。 - 前記モード検出部は、
前記少なくとも1つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
前記選択回路は、
前記選択信号に基づいて、前記複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項7に記載のSoC。 - 前記複数の分周比を保存するレジスタブロックをさらに含み、
前記選択回路は、
前記レジスタブロックから前記複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項7に記載のSoC。 - 前記クロックコントローラは、
前記少なくとも1つの機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項9に記載のSoC。 - 前記モード検出部は、
前記少なくとも1つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
前記選択回路は、
前記選択信号に基づいて、前記レジスタブロックの複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項9に記載のSoC。 - 前記少なくとも1つの機能ブロックの前記動作状態を検出するモード検出部と、
複数の分周比を保存するルックアップテーブルと、をさらに含み、
前記ルックアップテーブルは、
検出された前記動作状態に基づいて、前記複数の分周比のうちの何れか1つを出力し、
前記クロックコントローラは、
出力された前記分周比に基づいて、前記少なくとも1つの機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項5に記載のSoC。 - 機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、
前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、
前記動作周波数セッティング回路は、
前記選択信号が、活性化状態から非活性化状態への変化を示す場合、前記機能ブロックの動作周波数を減少させ、
前記選択信号が、非活性化状態から活性化状態への変化を示す場合、前記機能ブロックの動作周波数を増加させ、
前記選択信号が、遷移状態を示す場合、前記機能ブロックの動作周波数を非活性化モード動作周波数から第1ウェークアップモード動作周波数に増加させ、
前記機能ブロックの動作状態が、前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記第1ウェークアップモード動作周波数から活性化モード動作周波数に増加させ、
前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoC。 - 前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数を前記第1ウェークアップモード動作周波数から第2ウェークアップモード動作周波数に増加させ、
前記第1タイム区間が経過した後、
前記第2ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項13に記載のSoC。 - 前記動作周波数セッティング回路は、
前記機能ブロックの前記動作状態を前記非活性化状態から前記活性化状態に変化させた後、第2タイム区間が経過すると、
前記第1タイム区間が経過する前に、前記動作周波数を前記第1ウェークアップモード動作周波数から前記第2ウェークアップモード動作周波数に増加させ、
前記第1タイム区間が経過すると、前記動作周波数を前記第2ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項14に記載のSoC。 - 前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記機能ブロックの動作状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項13に記載のSoC。 - 前記動作周波数セッティング回路は、
前記選択信号に基づいて、複数の分周比のうちの何れか1つを選択する選択回路を含み、
前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項13に記載のSoC。 - 前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項17に記載のSoC。 - 前記動作周波数セッティング回路は、
前記複数の分周比を保存するレジスタブロックをさらに含み、
前記選択回路は、前記レジスタブロックの前記複数の分周比から何れか1つを選択することを特徴とする請求項17に記載のSoC。 - 複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか1つの分周比を出力するルックアップテーブルをさらに含み、
前記動作周波数セッティング回路は、選択された前記分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項13に記載のSoC。 - 前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含むことを特徴とする請求項20に記載のSoC。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110133195A KR101851614B1 (ko) | 2011-12-12 | 2011-12-12 | 기능블럭을 포함하는 SoC의 클락 제어 방법, 이를 구현한 SoC 및 이를 포함하는 반도체 시스템 |
KR10-2011-0133195 | 2011-12-12 | ||
US13/687,637 US8928385B2 (en) | 2011-12-12 | 2012-11-28 | Methods of controlling clocks in system on chip including function blocks, systems on chips and semiconductor systems including the same |
US13/687637 | 2012-11-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013122759A JP2013122759A (ja) | 2013-06-20 |
JP2013122759A5 JP2013122759A5 (ja) | 2015-11-19 |
JP5997029B2 true JP5997029B2 (ja) | 2016-09-21 |
Family
ID=48571413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012268484A Active JP5997029B2 (ja) | 2011-12-12 | 2012-12-07 | 機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム |
Country Status (5)
Country | Link |
---|---|
US (2) | US8928385B2 (ja) |
JP (1) | JP5997029B2 (ja) |
KR (1) | KR101851614B1 (ja) |
CN (1) | CN103163940B (ja) |
TW (1) | TWI564705B (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5613605B2 (ja) * | 2011-03-28 | 2014-10-29 | ルネサスエレクトロニクス株式会社 | クロック生成回路、それを用いたプロセッサシステム、及びクロック周波数制御方法 |
JP2013003911A (ja) | 2011-06-17 | 2013-01-07 | Sony Corp | 電子機器、電子機器の制御方法およびプログラム |
US9823990B2 (en) | 2012-09-05 | 2017-11-21 | Nvidia Corporation | System and process for accounting for aging effects in a computing device |
EP3053003A4 (en) | 2013-09-30 | 2017-05-24 | Intel Corporation | Early wake-warn for clock gating control |
US20150194951A1 (en) * | 2014-01-06 | 2015-07-09 | Nvidia Corporation | Toggling a clocked component using a slow clock to address bias temperature instability aging |
US9678556B2 (en) * | 2014-02-10 | 2017-06-13 | Qualcomm Incorporated | Dynamic clock and voltage scaling with low-latency switching |
KR102320399B1 (ko) | 2014-08-26 | 2021-11-03 | 삼성전자주식회사 | 전원 관리 칩, 그것을 포함하는 모바일 장치 및 그것의 클록 조절 방법 |
CN104216502B (zh) * | 2014-08-28 | 2017-02-15 | 华南理工大学 | 一种具有前瞻属性的SoC动态电压频率调节方法 |
KR102165265B1 (ko) * | 2014-09-02 | 2020-10-13 | 삼성전자 주식회사 | 하드웨어 전력 관리 유닛을 이용하여 클락 신호를 조절할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들 |
KR102325453B1 (ko) * | 2014-12-04 | 2021-11-11 | 삼성전자주식회사 | 반도체 장치의 동작 방법 |
FR3030177B1 (fr) * | 2014-12-16 | 2016-12-30 | Stmicroelectronics Rousset | Dispositif electronique comprenant un module de reveil d'un appareil electronique distinct d'un coeur de traitement |
US9413361B1 (en) | 2015-01-28 | 2016-08-09 | Apple Inc. | Closed loop clock signal generator with multiple reference clocks |
US10120408B2 (en) * | 2015-09-30 | 2018-11-06 | Texas Instruments Incorporated | Event controlled clock switching |
CN105892614A (zh) * | 2015-12-18 | 2016-08-24 | 乐视移动智能信息技术(北京)有限公司 | 一种智能终端的功耗管控方法及系统 |
US10139884B2 (en) * | 2015-12-23 | 2018-11-27 | Toshiba Memory Corporation | Power loss protection for solid state drives |
US10296076B2 (en) | 2016-05-16 | 2019-05-21 | Qualcomm Incorporated | Supply voltage droop management circuits for reducing or avoiding supply voltage droops |
US10061368B2 (en) * | 2016-05-26 | 2018-08-28 | International Business Machines Corporation | Enhancing performance of one or more slower partitions of an integrated circuit to improve performance of the integrated circuit |
US9628089B1 (en) * | 2016-06-24 | 2017-04-18 | Qualcomm Incorporated | Supply voltage tracking clock generator in adaptive clock distribution systems |
LU93286B1 (en) * | 2016-11-03 | 2018-05-14 | Iee Sa | Signal Generator Circuit |
CN108268117B (zh) * | 2017-01-03 | 2023-05-26 | 三星电子株式会社 | 半导体装置以及半导体系统 |
CN107179820B (zh) * | 2017-05-03 | 2020-08-07 | 珠海全志科技股份有限公司 | 处理装置运行的保护方法及设备 |
CN109426329A (zh) * | 2017-08-30 | 2019-03-05 | 比亚迪股份有限公司 | 片上系统及其时钟频率动态控制方法和装置 |
CN109698696B (zh) * | 2017-10-24 | 2021-06-18 | 比亚迪半导体股份有限公司 | 时钟分频方法、装置、系统、片上系统及存储介质 |
US10761581B2 (en) * | 2017-12-08 | 2020-09-01 | Smartech Worldwide Limited | Method and module for programmable power management, and system on chip |
US11144086B1 (en) * | 2018-01-22 | 2021-10-12 | Marvell Israel (M.I.S.L) Ltd. | Systems and methods for dynamic configuration of a device clock |
CN110502065A (zh) * | 2018-05-17 | 2019-11-26 | 瑞昱半导体股份有限公司 | 时钟管理电路及时钟管理方法 |
CN110888520B (zh) | 2018-08-21 | 2021-07-09 | 慧荣科技股份有限公司 | 操作频率调整方法及装置 |
TWI770516B (zh) * | 2018-08-21 | 2022-07-11 | 慧榮科技股份有限公司 | 操作頻率調整方法及電腦程式產品及裝置 |
TWI697839B (zh) * | 2018-08-21 | 2020-07-01 | 慧榮科技股份有限公司 | 操作頻率調整方法及電腦程式產品及裝置 |
KR20210045544A (ko) | 2019-10-16 | 2021-04-27 | 삼성전자주식회사 | 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩 |
US11251801B2 (en) * | 2019-11-11 | 2022-02-15 | Realtek Semiconductor Corporation | Frequency adjusting apparatus and frequency adjusting method |
JP6876113B2 (ja) * | 2019-11-13 | 2021-05-26 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置および制御方法 |
CN111541451B (zh) * | 2020-06-23 | 2021-10-29 | 深圳比特微电子科技有限公司 | 用于对时钟信号进行升频的方法和时钟电路 |
US11249530B1 (en) | 2020-11-25 | 2022-02-15 | Qualcomm Incorporated | Adaptive voltage controller |
TWI766514B (zh) * | 2020-12-30 | 2022-06-01 | 新唐科技股份有限公司 | 電子裝置及其供電方法 |
KR20220117999A (ko) | 2021-02-18 | 2022-08-25 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20230031295A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | Reduced power clock generator for low power devices |
US11971741B2 (en) * | 2021-08-06 | 2024-04-30 | Qualcomm Incorporated | Aging mitigation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63131616A (ja) * | 1986-11-20 | 1988-06-03 | Mitsubishi Electric Corp | プログラマブルクロツク分周器 |
DE4029598A1 (de) * | 1990-09-19 | 1992-03-26 | Philips Patentverwaltung | Schaltungsanordnung zur zeitweisen verzoegerung des programmablaufs in einem mikroprozessor |
IL110181A (en) * | 1994-06-30 | 1998-02-08 | Softchip Israel Ltd | Install microprocessor and peripherals |
JP4181317B2 (ja) * | 2000-10-26 | 2008-11-12 | 松下電器産業株式会社 | 集積回路の電力管理システム |
JP2002182776A (ja) * | 2000-12-18 | 2002-06-26 | Kenwood Corp | 動作周波数制御システム及び動作周波数制御方法 |
JP2003256065A (ja) * | 2002-02-26 | 2003-09-10 | Nec Corp | クロック制御方法、クロック制御回路及びデータ処理装置 |
US6922111B2 (en) * | 2002-12-20 | 2005-07-26 | Intel Corporation | Adaptive frequency clock signal |
JP2004206480A (ja) | 2002-12-25 | 2004-07-22 | Seiko Epson Corp | 半導体集積回路 |
US7171577B2 (en) * | 2003-10-06 | 2007-01-30 | Texas Instruments Incorporated | Methods and apparatus for a system clock divider |
BRPI0415422A (pt) * | 2003-10-15 | 2006-12-05 | Qualcomm Inc | controle de acesso a mìdia de alta velocidade com interoperabilidade de sistema legado |
US7176738B1 (en) * | 2003-11-20 | 2007-02-13 | Integrated Device Technology, Inc. | Method and apparatus for clock generation |
KR101136036B1 (ko) | 2003-12-24 | 2012-04-18 | 삼성전자주식회사 | 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법 |
JP4490298B2 (ja) * | 2004-03-02 | 2010-06-23 | 三菱電機株式会社 | プロセッサ電力制御装置及びプロセッサ電力制御方法 |
JP2005339310A (ja) * | 2004-05-28 | 2005-12-08 | Renesas Technology Corp | 半導体装置 |
US7522883B2 (en) * | 2004-12-14 | 2009-04-21 | Quellan, Inc. | Method and system for reducing signal interference |
KR100661174B1 (ko) * | 2005-09-23 | 2006-12-26 | 삼성전자주식회사 | 절전을 위한 클럭의 자동 온/오프가 가능한 모듈장치 및 그클럭 자동 온/오프방법 |
JP4402641B2 (ja) * | 2005-11-25 | 2010-01-20 | キヤノン株式会社 | クロック供給装置及びその制御方法 |
JP2008123402A (ja) | 2006-11-15 | 2008-05-29 | Yaskawa Electric Corp | 可変クロック発生回路および可変クロック発生回路を備えたサーボドライブ装置 |
KR20100114987A (ko) * | 2009-04-17 | 2010-10-27 | 삼성전자주식회사 | 클락 주파수를 조절할 수 있는 방법과 장치 |
US8726047B2 (en) * | 2010-05-07 | 2014-05-13 | Samsung Electronics Co., Ltd. | System on chip, devices having the same, and method for power control of the SOC |
-
2011
- 2011-12-12 KR KR1020110133195A patent/KR101851614B1/ko active IP Right Grant
-
2012
- 2012-11-28 US US13/687,637 patent/US8928385B2/en active Active
- 2012-12-07 JP JP2012268484A patent/JP5997029B2/ja active Active
- 2012-12-12 TW TW101146938A patent/TWI564705B/zh active
- 2012-12-12 CN CN201210535320.8A patent/CN103163940B/zh active Active
-
2014
- 2014-12-03 US US14/559,131 patent/US9054680B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI564705B (zh) | 2017-01-01 |
US9054680B2 (en) | 2015-06-09 |
TW201331748A (zh) | 2013-08-01 |
CN103163940A (zh) | 2013-06-19 |
JP2013122759A (ja) | 2013-06-20 |
CN103163940B (zh) | 2017-10-03 |
US20150084675A1 (en) | 2015-03-26 |
KR101851614B1 (ko) | 2018-06-12 |
KR20130066398A (ko) | 2013-06-20 |
US8928385B2 (en) | 2015-01-06 |
US20130147526A1 (en) | 2013-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5997029B2 (ja) | 機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム | |
US8959369B2 (en) | Hardware automatic performance state transitions in system on processor sleep and wake events | |
US8880924B2 (en) | Hot-plugging of multi-core processor | |
US9383789B2 (en) | Thermal control apparatus and methodology | |
US8468373B2 (en) | Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state | |
US10410688B2 (en) | Managing power state in one power domain based on power states in another power domain | |
US9411404B2 (en) | Coprocessor dynamic power gating for on-die leakage reduction | |
US8310291B2 (en) | DLL having a different training interval during a voltage change |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151001 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151001 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20151001 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20151027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160624 |
|
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: 20160726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5997029 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |