JP5997029B2 - 機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム - Google Patents

機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム Download PDF

Info

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
Application number
JP2012268484A
Other languages
English (en)
Other versions
JP2013122759A (ja
JP2013122759A5 (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013122759A publication Critical patent/JP2013122759A/ja
Publication of JP2013122759A5 publication Critical patent/JP2013122759A5/ja
Application granted granted Critical
Publication of JP5997029B2 publication Critical patent/JP5997029B2/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0016Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/08Output circuits
    • H03K21/10Output circuits comprising logic circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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

本発明は、SoC(System on Chip)に係り、より具体的には、SoC内の機能ブロックに供給される動作クロックを制御するクロック制御方法、それを具現したSoC、及びそれを含む半導体システムに関する。
SoCは、既存のさまざまな機能を有した複雑なシステムを1つのシステムとして具現した技術集約的半導体技術である。SoCは、システム全体を制御するプロセッサと、そのプロセッサによって制御される多様なIP(Intellectual Properties:以下、IPと称する)とで構成される。ここで、IPとは、SoCに集積されうる回路(circuit)、ロジック(logic)、またはこれらの組み合わせを意味する。また、前記回路または前記ロジックには、コード(code)が保存されうる。
一般的に、多様な多数のIPを含むSoCを備えたシステムは、バッテリによって動作するので、低電力設計が重要視される。PLL(Phase Locked Loop)などによって、基準クロックがSoCに供給されれば、多数のIPのそれぞれは、その機能によって、多様な周波数を有する動作クロックによって動作する。
多数のIPは、その機能によって、それぞれ活性化モード(active)でもあり、非活性化モード(idle)でもある。何れか1つのIPが非活性化モードである時、他の1つのIPが活性化モードでもあり、少なくとも2つ以上のIPが同時に活性化モードまたは非活性化モードでもある。
多数のIPのうちの少なくとも何れか1つが、非活性化モードで動作を行わない時にも、非活性モードのIPに動作する時のような活性化モードの動作クロックを供給し続ければ、SoCは、不要な電力を消費する。このような電力浪費は、数百MHzないし数GHzの周波数を使うIPの場合、バッテリの寿命に大きな影響を与える。
米国特許第7,171,577号公報 特開2008−123402号公報 特開2004−206480号公報 米国特許第7,594,126号公報
本発明が解決しようとする技術的課題は、 機能ブロックのそれぞれの状態によって不必要な電力を消費しない機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システムを提供することである。
前述した技術的課題を解決するために、少なくとも1つ以上の機能ブロックを含むSoCのクロック制御方法は、前記少なくとも1つの機能ブロックが、活性化モード(active mode)から非活性化モード(idle mode)に変わる動作状態(operating state)に基づいて、前記少なくとも1つの機能ブロックの動作周波数を減少させる段階を含む。減少させる動作周波数は、0より大きな周波数である。
前記動作周波数を減少させる段階は、前記少なくとも1つの機能ブロックの非活性化状態に対する分周比で前記SoCの基準クロックの周波数を分周する段階を含みうる。前記少なくとも1つの機能ブロックの動作周波数を、分周した周波数に減少させる。
前記SoCの動作方法は、前記少なくとも1つの機能ブロックの前記動作周波数を活性化モード動作周波数にセッティングする段階をさらに含み、前記活性化モード動作周波数は、前記少なくとも1つの機能ブロックの前記活性化状態に対する第1クロック周波数であり、前記少なくとも1つの機能ブロックの動作周波数を、前記活性化モード動作周波数から非活性化モード動作周波数に減少させ、前記非活性化モード動作周波数を、前記少なくとも1つの機能ブロックの前記非活性化状態に対する第2クロック周波数とする。
前記SoCの動作方法は、前記少なくとも1つの機能ブロックが、前記非活性化状態から前記活性化状態に変化する動作状態に応答して、前記少なくとも1つの機能ブロックの前記動作周波数を増加させる段階をさらに含む。
前述した技術的課題を解決するために、本発明の他の実施形態による機能ブロックを含むSoCの動作方法は、前記機能ブロックの動作状態が、活性化状態から非活性化状態に、第1変化するかを検出する段階と、検出された前記第1変化に応答して、前記機能ブロックの動作周波数を減少させる段階と、前記機能ブロックの動作状態が、前記非活性化状態から前記活性化状態に、第2変化するかを検出する段階と、検出された前記第2変化に応答して、前記機能ブロックの動作周波数を増加させる段階と、を含み、減少させる前記動作周波数は、0より大きな周波数である。
前述した技術的課題を解決するために、本発明のさらに他の実施形態によるSoCは、活性化状態から非活性化状態に、少なくとも1つの機能ブロックの動作状態が変化すると、前記少なくとも1つの機能ブロックの動作周波数を減少させるクロックコントローラを含み、減少させる前記動作周波数は、0より大きな周波数である。
前記クロックコントローラは、前記少なくとも1つの機能ブロックの動作周波数をセッティングするために、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路をさらに含む。
前記クロックコントローラは、前記少なくとも1つの機能ブロックが、前記非活性化状態から前記活性化状態に変わる動作状態に応答して、前記少なくとも1つの機能ブロックの前記動作周波数を増加させる。
前記動作周波数を、前記活性化状態に関連した動作周波数であるウェークアップモード動作周波数に増加させ、前記クロックコントローラは、前記少なくとも1つの機能ブロックが、前記非活性化状態から前記活性化状態に変化してから、既定の第1タイム区間が経過すると、前記少なくとも1つの機能ブロックの動作周波数を前記ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させる。
前記クロックコントローラは、前記少なくとも1つの機能ブロックの動作状態を検出するモード検出部と、前記少なくとも1つの機能ブロックの検出された動作状態に基づいて、複数の分周比のうちの何れか1つの分周比を選択する選択回路と、を含み、前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングする。
前記モード検出部は、前記少なくとも1つの機能ブロックの検出された動作状態に基づく選択信号を生成し、前記選択回路は、前記選択信号に基づいて、複数の分周比のうちの何れか1つの分周比を選択することができる。
前記クロックコントローラは、前記複数の分周比を保存するレジスタ回路をさらに含み、前記選択回路は、前記レジスタ回路から前記何れか1つの分周比を選択することができる。
前記クロックコントローラは、前記機能ブロックの動作周波数をセッティングするために、選択された分周比で基準クロックの周波数を分周する分周回路を含む。
前記モード検出部は、前記機能ブロックの検出された動作状態に基づく選択信号を生成し、前記選択回路は、前記選択信号に基づいて、前記レジスタ回路の複数の分周比のうちの何れか1つの分周比を選択することができる。
他の一例として、前記クロックコントローラは、前記少なくとも1つの機能ブロックの動作状態を検出するモード検出部と、複数の分周比を保存するルックアップテーブルと、を含みうる。
前記ルックアップテーブルは、検出された動作状態に基づいて、前記複数の分周比のうちの何れか1つを出力し、前記クロックコントローラは、出力された前記分周比に基づいて、前記少なくとも1つの機能ブロックの動作周波数をセッティングする。
前述した技術的課題を解決するために、本発明のさらに他の一実施形態による機能ブロックを含むSoCは、機能ブロックの動作状態の変化を検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、前記動作周波数セッティング回路は、前記選択信号が、前記機能ブロックが活性化状態から非活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を減少させ、前記選択信号が、前記機能ブロックが前記非活性化状態から前記活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を増加させ、前記減少させる動作周波数は、0より大きな周波数である。
前記動作周波数セッティング回路は、前記選択信号が、前記機能ブロックが前記非活性化状態から前記活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を第1周波数から第2周波数に増加させ、前記機能ブロックが、前記非活性化状態から前記活性化状態に変わった時点から第1タイム区間が経過すると、前記機能ブロックの動作周波数を前記第2周波数から第3周波数に増加させる。
前記動作周波数セッティング回路は、前記機能ブロックが、前記非活性化状態から前記活性化状態に変わった時点から第2タイム区間が経過すると、前記機能ブロックの動作周波数を前記第3周波数から第4周波数に増加させる。
前記動作周波数セッティング回路は、前記機能ブロックの動作周波数をセッティングするために、前記機能ブロックの動作状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路を含む。
前記動作周波数セッティング回路は、前記選択信号に基づいて、複数の分周比のうちの何れか1つを選択する選択回路をさらに含み、前記選択された分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路をさらに含む。
前記動作周波数セッティング回路は、前記複数の分周比を保存するレジスタ回路をさらに含み、前記選択回路は、前記レジスタ回路の前記複数の分周比から何れか1つを選択する。
前記動作周波数セッティング回路は、複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか1つの分周比を出力するルックアップテーブルをさらに含み、出力された前記分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含む。
本発明のSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システムによれば、多数の機能ブロックがある場合、機能ブロックのそれぞれの状態によって、各機能ブロックに供給される動作クロックを別途に制御することが出来るので、浪費電力を減少させることができる。また、機能ブロックが、非活性化状態から活性化状態に変わる時に起こりうる電圧降下による誤動作を防止することができる。
本発明の一実施形態によるSoCのブロック図。 図1に示されたSoCの一実施形態を具体的に示すブロック図。 図2に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。 図2に示されたSoCの一実施形態を具体的に示すブロック図。 図4に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。 本発明の一実施形態によるSoCの信号タイミング図。 本発明の他の実施形態によるSoCの信号タイミング図。 本発明のさらに他の一実施形態によるSoCの信号タイミング図。 図1に示されたSoCの他の一実施形態を具体的に示すブロック図。 本発明の一実施形態によるクロック制御方法を示すフローチャート。 図1に示されたSoCの他の一実施形態を具体的に示すブロック図。 図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図。 図12に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。 図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図。 図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図。 本発明の実施形態によるSoCを含んだ半導体システムのブロック図。 図1に示されたSoCを含む半導体システムの一実施形態を示す図。 図1に示されたSoCを含むコンピュータシステムの一実施形態を示す図。 図1に示されたSoCを含むコンピュータシステムの他の実施形態を示す図。 図1に示されたSoCを含むコンピュータシステムのさらに他の実施形態を示す図。 機能ブロックの状態を考慮せずに動作クロックを印加した場合の電流及び電圧グラフ。 機能ブロックの状態を考慮して動作クロックを印加した場合の電流及び電圧グラフ。
以下、添付した図面を参照して、本発明を詳しく説明する。
図1は、本発明の一実施形態によるSoCのブロック図である。図1を参照すると、SoC10は、クロック生成器110、クロックコントローラ100、及び機能ブロック120を含む。SoC10は、単一のチップとして製造されて、1つのパッケージとして具現可能である。図1では、説明の便宜上、クロック生成器110、クロックコントローラ100、及び1つの機能ブロック120を含むSoC10が示されているが、これに限定されるものではない。
クロック生成器110は、SoC10の動作に必要な基準周波数を有した基準クロックCLKinを生成させる。クロック生成器110は、基準クロックCLKinをクロックコントローラ100に出力する。
クロックコントローラ100は、活性化モードから非活性化モードに少なくとも1つの機能ブロック120の動作状態(state)が変化すれば、少なくとも1つの機能ブロック120の動作周波数を減少させる。
クロックコントローラ100は、機能ブロック120の動作状態が、活性化状態から非活性化状態(例えば、非活性化(idle)状態)に変わることを検出する。検出された変化によって、機能ブロック120の動作周波数を減少させる。この際、減少する動作周波数は、0以上の周波数である。クロックコントローラ100は、機能ブロック120の動作状態が、非活性化状態から活性化状態に変わることを検出する。検出された変化によって、機能ブロック120の動作周波数を増加させる。
クロックコントローラ100は、機能ブロック120の状態をモニタリングして、該モニタリングされた状態によって、動作クロック信号CLKoutの動作周波数をセッティングする。クロックコントローラ100は、機能ブロック120に動作クロック信号CLKoutを出力する。
クロックコントローラ100は、機能ブロック120の状態が非活性化モード時、基準周波数から既定の第1周波数(非活性化モード周波数)に動作周波数を変更する。
機能ブロック120が、非活性化状態から活性化状態に変わる時、クロックコントローラ100は、第2周波数(活性化モード周波数)または第3周波数(ウェークアップモード周波数)を有した動作クロック信号CLKoutを機能ブロック120に出力する。
一例として、クロックコントローラ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に分周比Divを出力する。分周器20は、出力された分周比Divによって、基準周波数を分周した動作周波数をセッティングして、この動作周波数を有した動作クロックCLKoutを出力する。
分周器コントローラ30は、機能ブロック120から出力される状態信号Stateをモニタリングすることができる。
機能ブロックの状態のモニタリングは、一例として、機能ブロック120から出力される状態信号が、ロジックハイ(high、または、‘1’)であれば、機能ブロック120の状態を活性化モードと判断し、ロジックロー(Low、または、‘0’)であれば、機能ブロック120の状態を非活性化モードと判断する。
機能ブロック120は、SoC10内のデータ処理動作を行う。図1には、1つの機能ブロックのみが示されているが、これに限定されず、SoC10は、多数の機能ブロックを含みうる。
機能ブロック120は、例えば、SoC10全体を制御するプロセッサまたはそのプロセッサによって制御される多様な機能素子のうちの何れか1つであり得る。機能素子は、例えば、CPU(Central Processing Unit)、CPUに含まれた複数のコア(cores)のそれぞれ、GPU(Graphic Processing Unit)、MFC(Multi−Format Codec)、ビデオモジュール(例えば、カメラインターフェース(Camera Interface)、JPEG(Joint Photographic Experts Group)プロセッサ、ビデオプロセッサ(Video Processor)、またはミキサ(Mixer)、など)、オーディオシステム(Audio System)、ドライバ(Driver)、ディスプレイドライバ(Display Driver)、揮発性メモリ(Volatile Memory Device)、不揮発性メモリ(Non−volatile Memory)、メモリコントローラ(Memory Controller)、キャッシュメモリ(Cache Memory)、シリアルポート(Serial Port)、システムタイマ(System Timer)、ウォッチドッグタイマ(Watch Dog Timer)、またはアナログ−デジタルコンバータ(Analog−to−Digital Converter)などを含みうる。各機能ブロック120は、互いに異なるクロック周波数(clock frequency)を有するために、1つのSoC10内には、多様な動作クロックCLKoutが使われる。
SoC10は、集積回路(integrated circuit)として具現可能である。また、SoC10は、携帯電話(mobile phone)、スマートフォン(smart phone)、タブレットPC(tablet Personal Computer)、またはPDA(Personal Digital Assistant)、MP3プレーヤ、ラップトップコンピュータのような移動通信装置内に内蔵されうる。実施形態によって、SoC10は、IT装置(Information Technology Device)または携帯用電子装置(Portable Electronic Device)に内蔵されうる。
図2は、図1に示されたSoCの一実施形態を具体的に示すブロック図である。
図2を参照すると、分周器コントローラ30は、多数のレジスタを含んだレジスタブロック32、モード検出部35、及び選択器31を含む(nは、3以上の自然数)。
説明の便宜上、第1周波数、第3周波数、第2周波数に行くほど周波数の大きさは次第に大きくなり、これにより、既定の第1分周比、第3分周比、及び第2分周比は、次第に小さくなると仮定する。この際、第1分周比は非活性化モード分周比、第3分周比はウェークアップモード分周比、第2分周比は活性化モード分周比である。
すなわち、ウェークアップモード周波数は、非活性化モード周波数より大きく、活性化モード周波数は、ウェークアップモード周波数より大きい。ウェークアップモード分周比は、非活性化モード分周比より小さく、活性化モード分周比は、ウェークアップモード分周比より小さい。しかし、本発明の実施形態が、これに限定されず、実施形態によって、多様に具現可能である。
多数のレジスタ32は、多数の分周比Divをそれぞれ保存する。一例として、n個の分周比Divがある場合、レジスタReg 0〜Reg n−1ごとに1つの分周比を保存することができる。
モード検出部35は、有限状態マシン(Finite State Machine;FSM)の形態で具現可能である。これについての具体的な説明は、後述する。例えば、モード検出部35は、機能ブロック120の状態をモニタリングする。一例として、機能ブロック120から出力される状態信号Stateを通じてモニタリングすることができる。モード検出部35は、モニタリングされた状態によって、複数の状態(例えば、非活性化モード、ウェークアップモード、活性化モード)のうちの何れか1つの状態に入り、選択器31に選択信号Selを出力する。選択器31は、選択信号Selによって、複数の分周比D0ないしDn−1のうちの1つの分周比Divを出力する。
一例として、モード検出部35は、機能ブロック120が非活性化モードにあるか(まだ非活性化モードではないが)、非活性化モードに変わっていると検出されれば、第1選択信号Sel 0を出力する。選択器31は、第1選択信号Sel 0に相応する非活性化モード分周比D0をレジスタ0(Reg 0)から出力する。分周器20は、非活性化モード分周比D0で基準周波数を分周した非活性化モード周波数を動作周波数として設定して、動作クロックCLKoutを出力する。
機能ブロックが、活性化モードから非活性化モードになれば、動作クロックが、当該機能ブロックの状態に応答して、活性化モード周波数から非活性化モード周波数になるので、SoC内の浪費電力を減らしうる。
一例として、機能ブロック120が活性化モードであれば、モード検出部35は、活性化モードと判断して、第2選択信号Sel n−1を出力する。選択器31は、第2選択信号Sel n−1に相応する活性化モード分周比Dn−1をレジスタn−1(Reg n−1)から出力する。分周器20は、活性化モード分周比Dn−1で基準周波数を分周した活性化モード周波数を動作周波数として設定して、動作クロックCLKoutを機能ブロック120に出力する。
機能ブロック120が非活性化モードにあり、非活性化モードから活性化モードに遷移する時、状態信号Stateも遷移する(例えば、ロジックローからロジックハイに)。機能ブロック120の状態変化によって、モード検出部35は、少なくとも1つの第3選択信号Sel kを出力する。選択器31は、この少なくとも1つの第3選択信号Sel kによって、ウェークアップモード分周比Dkを出力する。この際、kは、1ないしn−2の間の自然数のうちの何れか1つであって、n−2は、Nであると言える。
機能ブロック120が、非活性化状態から活性化状態に変わった時点から既定のカウントタイムが経過するまで少なくとも1つのウェークアップモードと判断して、少なくとも1つの第3選択信号Sel kを出力する。分周器20は、基準周波数をウェークアップ分周比Dkで分周したウェークアップモード周波数を動作周波数にセッティングして、動作クロックCLKoutを出力する。
動作クロックCLKoutの動作周波数は、機能ブロック120が非活性化状態から活性化状態に転換された時点から既定のカウントタイムが経過するまでウェークアップモード周波数に保持される。すなわち、例えば、動作クロックCLKoutは、モード検出部35がウェークアップモードから活性化モードに転換されると知らせるまでウェークアップモード周波数に保持される。
モード検出部35は、各ウェークアップモードごとにそれぞれあらかじめ設定される少なくとも1つのカウントタイムをカウントする少なくとも1つのカウンタを含みうる。カウントタイムがカウントされる間に少なくとも1つの各ウェークアップモード周波数を動作周波数として設定し、あらゆるカウントタイムが経過されれば、活性化モード周波数を動作周波数として設定することができる。その結果、機能ブロックが非活性化モードから再び活性化モードになる時、動作クロックが非活性化モード周波数から急に活性化モード周波数になると、突然の電圧降下(Voltage Drop)によって、SoC10が誤動作する場合がある。したがって、機能ブロック120は、ウェークアップモード時、一定カウントタイムの間はウェークアップモード周波数で動作し、電流が漸次的に大きくなるように印加されて、突然の電圧降下なしに動作する。
図3は、図2に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。
図3を参照すると、モード検出部35は、機能ブロック120のモードのそれぞれに相応して、当該分周比Divを選択するための選択信号Selを出力する。これを有限状態マシンで表すことができる。
有限状態マシンは、知られているように、有限数の状態のうちの何れか1つのみを取れるマシンである。マシンは、一回当り1つの状態しか取れず、この際、マシンが処した状態は、現在状態と呼ばれる。有限状態マシンは、トリガイベントまたは条件(condition)によって、1つの状態から他の状態に遷移することができる。1つの状態から他の状態への変化は、“トランジション(transition)”、すなわち、遷移とも呼ばれる。特別な有限状態マシンは、各現在状態から可能なトランジション状態及び各トランジションのためのトリガリング条件のリストによって定義されうる。有限状態マシンは、よく知られているように、本発明の属する技術分野の通常の知識を有した当業者が、理解可能な範囲で多様に応用され、理解されうる。
有限状態マシンは、機能ブロック120の多数個(例えば、n個)の制限されたモードが存在し、その状態が特定の条件に噛み合って、互いに連結されるものであって、ハードウェア、ソフトウェアまたはハードウェア及びソフトウェアの結合で具現可能である。
機能ブロック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に出力する。
機能ブロック120が、非活性化状態から活性化状態に変われば、モード検出部35は、変化を検出し、既定の時間の間にウェークアップモードに進入する。モード検出部35は、機能ブロック120が非活性化状態から活性化状態に転換される時点から、既定のカウントタイムが経過するまでウェークアップモードと判断する。モード検出部35は、ウェークアップモードでカウントタイムが経過するまでに少なくとも1つのウェークアップモード選択信号Sel kを出力する。選択器31は、ウェークアップモード選択信号Sel kによって、レジスタk(Reg k)を選択して、各ウェークアップモード分周比Dkを分周器20に出力する。
モード検出部35は、少なくとも1つ以上のウェークアップモードwakeup 1ないしwakeup n−2を置くことができる。ウェークアップモードは、既定の順序により、既定の順序とは、ユーザの設定または設計工程上の必要に応じて変わり、例えば、非活性化モード周波数から活性化モード周波数までの周波数移送(transient)順序であり得る。それぞれのウェークアップモードごとに既定のそれぞれのカウントタイムcounter 1ないしconter n−2が存在する。
モード検出部35は、少なくとも1つ以上の各ウェークアップモード周波数を既定の各カウントタイムの間にのみ動作周波数に印加する。カウントタイムがいずれも経過すれば、モード検出部35は、機能ブロック120の状態を活性化モードと判断して、活性化モード選択信号Sel n−1を出力する。
図4は、図2に示されたSoCの一実施形態を具体的に示すブロック図であり、図5は、図4に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。
図4及び図5を参照すると、まず、互いに異なる分周比が合計3個(すなわち、n=3)と仮定する。すなわち、基準クロックCLKinの基準周波数を分周する非活性化モード分周比R0、ウェークアップモード分周比R1、活性化モード分周比R2がある。
機能ブロック120の初期状態が活性化モードとする。この際、モード検出部45は、活性化モード分周比R2を選択するための活性化モード選択信号Sel 2を出力する。選択器41は、活性化モード選択信号Sel 2によって、レジスタ1(Reg 1)を選択して、活性化モード分周比R2を分周器20に出力する。
機能ブロック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は、本発明の一実施形態によるSoCの信号タイミング図である。
図6を参照すると、機能ブロック120が活性化状態での動作クロック信号CLKoutの動作周波数は、機能ブロック120が非活性化状態での動作周波数より大きい。
クロックコントローラ100は、機能ブロック120から出力される状態State信号をモニタリングすることができる。一例として、状態信号がロジックハイであれば、機能ブロック120の状態を活性化モードと判断し、ロジックローであれば、機能ブロック120の状態を非活性化モードと判断することができる。機能ブロック120が活性化モードである時、クロックコントローラ100は、活性化モード周波数を動作周波数にセッティングし、機能ブロック120に活性化モード周波数の動作クロックCLKoutを印加する。
機能ブロック120が、非活性化モードIdleに転換されれば、クロックコントローラ100は、非活性化モード周波数を動作周波数にセッティングし、機能ブロック120に非活性化モード周波数の動作クロックCLKoutを印加する。
機能ブロック120が、再び活性化モードActiveに転換されれば、クロックコントローラ100は、非活性化モード周波数を活性化モード周波数として再び設定して、機能ブロック120に非活性化モード周波数の動作クロックで活性化モード周波数の動作クロックCLKoutを印加する。
その結果、機能ブロック120は、活性化モード周波数ではない非活性化モード周波数の動作クロックで動作して、浪費電力を減少させることができる。また、場合によっては、不可避に機能ブロック120の動作クロックCLKoutをゲーティングすることができない場合に、持続的に非活性化モード周波数の動作クロックを供給することによって、持続的に諸機能を行うように保持することができる。
図7は、本発明の他の実施形態によるSoCの信号タイミング図である。
図7を参照すると、機能ブロック120の活性化モードActive及び非活性化モードIdleである時、クロックコントローラ100の動作は、図6と同一である。説明の便宜上、図6との差異点を中心に説明する。機能ブロック120が、非活性化モードIdleから活性化モードActiveに転換される時、クロックコントローラ100は、図6と異なって、ウェークアップモードが追加される。
ウェークアップモードとは、非活性化状態から活性化状態に転換される時点から、既定のカウントタイムの間のモードを言う。ウェークアップモードでは、ウェークアップモード周波数を非活性化モード周波数ないし活性化モード周波数範囲内の周波数を動作周波数として設定する。この際、ウェークアップモード周波数は、活性化モード周波数の1/2倍であり得るが、これに限定されず、多様な実施形態によって、レジスタから中間周波数に相応する分周比Divを選択して、多様に設定可能である。
非活性化Idleモードの機能ブロック120に急に活性化モード周波数の動作クロックCLKoutが印加されれば、機能ブロック120に印加される電流が急に増加して、電圧降下が起こりうる。したがって、非活性化モード周波数と活性化モード周波数との中間段階である第3周波数を一定カウントタイムの間に印加する。その結果、機能ブロック120は、非活性化モード周波数から活性化モード周波数に突然の遷移によって起こる電圧降下なしで動作して、誤動作が防止される。
図8は、本発明のさらに他の一実施形態によるSoCの信号タイミング図である。
図8を参照すると、機能ブロック120の活性化モードActive及び非活性化モードIdleである時、クロックコントローラ100の動作は、図6及び図7と同一である。説明の便宜上、図7との差異点を中心に説明する。
機能ブロック120が、非活性化状態Idleから活性化状態Activeに転換される時、クロックコントローラ100は、図5と異なって、ウェークアップモードが、多数の段階で存在する。即ち、機能ブロック120は、図6と異なって、少なくとも2つ以上のウェークアップモードを有しうる。説明の便宜上、ウェークアップモード周波数は、少なくとも2つ以上のウェークアップモード周波数を含むとする。
より具体的に説明すれば、機能ブロック120が、非活性化状態Idleから活性化状態Activeに転換される時点から既定の第1カウントタイムWakeup1の間は、クロックコントローラ100は、第1ウェークアップモード周波数で動作クロックを印加する。
第1カウントタイムWakeup 1が満了(expired)する時点から既定の第2カウントタイムWakeup 2の間は、クロックコントローラ100は、第2ウェークアップ周波数で動作クロックを印加する。この際、第1ウェークアップ周波数と第2ウェークアップ周波数とは、非活性化モード周波数ないし活性化モード周波数の範囲内であって、第1ウェークアップ周波数は、第2ウェークアップ周波数より小さいことがある。すなわち、モード検出部35によって少なくとも2つ以上の互いに異なるウェークアップ周波数が、それぞれのカウントタイムの間に設定される。
前記実施形態では、2つのウェークアップモード周波数のみを例示しているが、これに限定されるものではなく、多様な実施形態によって、2つ以上のウェークアップモード周波数で具現することができる。
図9は、図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図である。説明の便宜上、図2との差異点を中心に説明する。
図9を参照すると、クロックコントローラ100は、分周器コントローラ50、及び分周器20を含む。分周器コントローラ50は、モード検出部55、及びルックアップテーブル(LookUp Table;以下、LUTと称する)53を含む。
モード検出部55は、有限状態マシン(FSM)の形態で具現可能である。一例として、モード検出部55は、機能ブロックの状態Stateをモニタリングする。モード検出部55は、モニタリングされた状態に基づいて、複数の状態(非活性化モード、ウェークアップモード、活性化モード)のうちの何れか1つに該当する選択信号Dを出力する。すなわち、モード検出部55は、図2のモード検出部35と同様に動作する。
ルックアップテーブル(LUT)53は、多数の分周比を保存し、選択信号Sel Dによって、分周比のうちの何れか1つを出力する。
一例として、ルックアップテーブル53は、多数の分周比を保存し、選択信号Dによって、非活性化モード時、非活性化モード分周比を出力し、選択信号Dによって、活性化モード時、活性化モード分周比を出力し、ウェークアップモード時、少なくとも1つのウェークアップモード分周比を出力する。非活性化モード分周比ないし活性化モード分周比は、0ではない互いに異なる数であって、非活性化モード分周比は、ウェークアップモード分周比より大きく、ウェークアップモード分周比は、活性化モード分周比より大きい。
図10は、本発明の一実施形態によるクロック制御方法を示すフローチャートである。
図10を参照すると、まず、モード検出部35は、機能ブロック120が非活性モードであるか否かをモニタリングする(ステップS10)。
もし、機能ブロック120が、非活性化状態であれば、モード検出部35は、機能ブロックが非活性化状態に留まっているか(ステップS11)、または非活性化状態から活性化状態に遷移される瞬間であるか否かを判断する(ステップS12)。機能ブロック120が、非活性化状態から活性化状態に遷移される瞬間ではなければ、モード検出部35は、非活性化モードと判断して、非活性化モード選択信号Sel 0を出力する(ステップS13)。そして、クロックコントローラ100は、非活性化モードに相応して基準クロックの周波数を非活性化モード分周比で分周する(ステップS14)。この際、クロックコントローラは、S14段階の非活性化モード周波数を動作周波数にセッティングし(ステップS15)、前記動作周波数を有した動作クロックを機能ブロック120に供給する(ステップS24)。
モード検出部35は、機能ブロックが、前記各動作クロックCLKoutによって動作しても、引き続き機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
再びS11段階に戻って、機能ブロック120が非活性化状態であり、非活性化状態から活性化状態に転換された時点であれば(ステップS12)、モード検出部35は、ウェークアップモードと判断し(ステップS16)、ウェークアップモード選択信号を出力する。クロックコントローラ100は、カウンタ(図3に図示)のカウントタイムを初期化し(ステップS17)、モード検出部35は、ウェークアップモードに相応して基準クロックの周波数をウェークアップモード分周比で分周する(ステップS18)。クロックコントローラは、S18段階のウェークアップモード周波数を動作周波数にセッティングし(ステップS19)、既定のカウントタイムが経過するまで(ステップS20)、前記動作周波数を有した動作クロックを機能ブロック120に供給する(ステップS24)。前記カウントタイムが経過すれば、クロックコントローラ100は、基準クロックの周波数を活性化モード分周比で分周し(ステップS22)、活性化モード周波数を動作周波数にセッティングして(ステップS23)、機能ブロック120に供給する(ステップS24)。
モード検出部35は、機能ブロックが、前記各動作クロックCLKoutによって動作しても、引き続き前記機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
再びS11段階に戻って、機能ブロック120が活性化状態であれば、モード検出部35は、活性化モードと判断する(ステップS21)。そして、活性化モードに相応して基準クロックの周波数を前記活性化モード分周比で分周する(ステップS22)。クロックコントローラ100は、S21段階から分周された結果である第2周波数を動作周波数として設定し(ステップS23)、前記動作周波数を有した動作クロックを機能ブロックに供給する(ステップS24)。
モード検出部35は、機能ブロックが、前記各動作クロックCLKoutによって動作しても、引き続き前記機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
図11は、図1に示されたSoCの他の一実施形態を具体的に示すブロック図である。
図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を出力する。
前述したように、クロックコントローラ100′は、分周器コントローラ30′、及びクロック信号マルチプレクサ1120を含む。分周器コントローラ30′は、機能ブロックの状態をモニタリングし、該モニタリングされた状態に基づいた選択信号Selを出力する。クロック信号マルチプレクサ1120は、モード検出部35の選択信号Selに基づいて、複数のクロック信号CLOCK A、CLOCK B、CLOCK Cのうちの何れか1つを選択して、動作クロックCLKoutに出力する。
一例として、分周器コントローラ30′は、機能ブロック120から出力される状態信号Stateによって、機能ブロック120の状態をモニタリングすることができる。
もし、状態信号Stateがロジックハイ(または、‘1’)であれば、分周器コントローラ30′は、機能ブロック120が活性化モードであると判断する。しかし、もし、状態信号Stateがロジックロー(または、‘0’)であれば、分周器コントローラ30′は、機能ブロック120が非活性化モードであると判断する。
図11のSoC10″は、複数のクロック信号生成器110aないし110cを含む。各クロック信号生成器は、複数のクロック信号CLOCK AないしCLOCK Cのうちの何れか1つのクロック信号のみを生成させる。それぞれのクロック信号生成器は、非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数のそれぞれに相応する周波数のクロック信号を生成させる。非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数は、図1ないし図10で説明した通りである。
図12は、図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図である。図12は、図2のSoCと構成が類似しているが、電圧検出部31をさらに含む。
図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にセッティングする。
一例として、機能ブロック120が、活性化状態から非活性化状態に変われば、機能ブロックの動作周波数CLKoutも状態変化によって、活性化モード周波数から非活性化モード周波数に変わる。その結果、SoC10での浪費電力が減らしうる。
モード検出部35′が、機能ブロック120が活性化状態にあると判断すれば、モード検出部35′は、活性化モード選択信号Sel n−1を出力する。選択器31は、活性化モード選択信号Sel n−1に基づいて、レジスタn−1(Reg n−1)から受信した活性化モード分周比Dn−1を出力する。分周器20は、機能ブロックの動作クロックCLKoutの動作周波数に活性化モード周波数をセッティングする。活性化モード周波数は、基準周波数を活性化モード分周比で分周したものである。
機能ブロック120が、非活性化モードから活性化モードに変わる時、モード検出部35′は、ウェークアップモードと判断して、少なくとも1つのウェークアップモード選択信号Sel kを出力することができる。選択器31は、ウェークアップモード選択信号Sel kに基づいて、レジスタk(Reg k)から受信したウェークアップモード分周比Dkを出力することができる。分周器20は、機能ブロックの動作クロックCLKoutの動作周波数にウェークアップモード周波数をセッティングする。ウェークアップモード周波数は、基準周波数をウェークアップモード分周比で分周したものである。
図12の分周器コントローラ30″は、電圧検出器1231をさらに含みうる。電圧検出器1231は、機能ブロック120の電圧レベルをモニタする。動作クロックの動作周波数が、少なくとも1つのウェークアップモード周波数のうちの何れか1つにセッティングされた後、機能ブロックの電圧レベルが安定化すれば、電圧レベル安定性信号を出力する。電圧レベル安定性信号に応答して、モード検出部35′は、活性化モード(または、次のウェークアップモード段階)に遷移し、活性化モード選択信号Sel n−1を出力して、活性化モード周波数を動作クロックの動作周波数にセッティングする。
図13は、図12に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。モード検出部35′は、機能ブロックの現在状態によって分周比Divを選択するために、選択信号Selを出力する。
図13を参照すると、有限状態マシン(FSM)は、機能ブロックの状態に対する複数のモード(合計n−2、有限個)を含む。各モードは、ある条件によって互いに連結されている。有限状態マシンは、ハードウェア、ソフトウェアまたはその結合で具現可能である。
一例として、機能ブロック120の初期状態が活性化状態であれば、モード検出部35′は、活性化モード分周比Dn−1を選択するために、活性化モード選択信号を出力する。活性化モード選択信号によって、選択器31は、レジスタn−1(Reg n−1)を選択し、分周器20に活性化モード分周比Dn−1を出力する。
機能ブロック120が、活性化状態から非活性化状態に変化する時、モード検出部35′は、機能ブロック120が非活性化状態であることを検出し、非活性化モード分周比D0を選択するために、非活性化モード選択信号Sel 0を出力する。非活性化モード選択信号によって、選択器31は、レジスタ0(Reg 0)を選択し、分周器20に非活性化モード分周比D0を出力する。
機能ブロック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)の個数を表わす)。
ウェークアップモードは、1つまたはそれ以上Wakeup 1ないしWakeupn−2の段階を有する。ウェークアップモード段階の数は、あらかじめ設定されうる。順序(order)は、ユーザの設定またはデザインプロセッシング要求によって変わり、非活性化モード周波数から活性化モード周波数に変化する順序で具現可能である。
一例として、モード検出部35′によるウェークアップモード段階の間の変化(transition)は、図12に示したように、電圧レベル検出部1231によってトリガされうる。モード検出部35′は、機能ブロック120の電圧レベルが安定化されるまでウェークアップモード周波数を動作周波数として印加する。すなわち、モード検出部35′は、SoC10の状態が変化するまで(例えば、安定化)、動作周波数として各ウェークアップモード段階に相応する周波数を印加する。モード検出部35′が、最後(final)のウェークアップモード段階に至って、機能ブロック120の電圧レベルが安定化すれば、モード検出部35′は、活性化モードに進入する。そして、モード検出部35′は、活性化モード選択信号Sel n−1を出力する。
図14は、図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図である。図14のSoCは、図2のSoCと類似しているが、クロックコントローラ100は、動作周波数セッティング回路60を含む。
図14を参照すると、クロックコントローラ100は、モード検出回路35と動作周波数セッティング回路60とを含む。モード検出回路35は、機能ブロック120の動作状態の変化を検出し、該検出された動作状態の変化によって、選択信号を生成させる。動作周波数セッティング回路60は、選択信号によって、機能ブロック120の動作周波数を設定する。
動作周波数セッティング回路60は、選択信号Selが活性化状態から非活性化状態に変われば、機能ブロック120の動作周波数を減少させる。この際、減少する動作周波数は、0より大きい。動作周波数セッティング回路60は、選択信号Selが非活性化状態から活性化状態に変われば、機能ブロック120の動作周波数を増加させる。
他の一例として、選択信号Selが、非活性化状態から活性化状態に変われば、動作周波数セッティング回路60は、機能ブロック120の動作周波数を第1周波数から第2周波数に増加させる。選択信号Selが、非活性化状態から活性化状態に変わった時点から第1タイム区間が満了すれば、動作周波数セッティング回路60は、機能ブロック120の動作周波数を第2周波数から第3周波数に増加させる。動作周波数セッティング回路60は、選択信号Selが非活性化状態から活性化状態に変わった時点から第2タイム区間が満了すれば、機能ブロック120の動作周波数を前記第3周波数から第4周波数に増加させる。
動作周波数セッティング回路60は、分周回路63、選択回路61、及びレジスタブロック62を含む。分周回路63、選択回路61、及びレジスタブロック62は、図2に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
図15は、図1に示されたSoCのさらに他の一実施形態を具体的に示すブロック図である。図15に示されたSoCは、図14のSoCと類似しているが、動作周波数セッティング回路70が、ルックアップテーブル71を含む。
図15を参照すると、ルックアップテーブル71は、複数の分周比を保存し、モード検出回路55の選択信号Dによって、複数の分周比のうちの何れか1つを出力する。モード検出回路55及び分周回路72は、図2に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
図16は、本発明の実施形態によるSoCを含んだ半導体システムのブロック図である。
図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)として具現可能である。
半導体システム1000は、SoC200、オシレータ210、外部メモリ装置220、及びディスプレイデバイス230を含む。SoC200は、アプリケーションプロセッサ(Application Processor)であり得る。アプリケーションプロセッサは、半導体システム1000の動作を全般的に制御することができる。
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は、メモリ150または220に保存されたプログラム及び/またはデータを処理または実行することができる。例えば、CPU120は、クロックコントローラ100から出力された動作クロックに応答して、前記プログラム及び/または前記データを処理または実行することができる。
CPU120は、マルチコアプロセッサ(multi−core processor)として具現可能である。前記マルチコアプロセッサは、2つまたはそれ以上の独立した実質的なプロセッサ(‘コア’と呼ばれる)を有する1つのコンピューティングコンポーネント(computing component)であり、プロセッサのそれぞれは、プログラム命令(program instructions)を読み取って実行することができる。マルチコアプロセッサは、多数の加速器を同時に駆動することができるので、マルチコアプロセッサを含むデータ処理システムは、マルチ加速(multi−acceleration)を行うことができる。
GPU125は、CPU120の負荷を減少させ、グラフィック処理と関連したプログラム命令を読み取って行うことができる。GPU125は、メモリインターフェース(図示せず)を通じてメモリ220から出力されたデータを受信するか、GPU125によって処理されたデータをメモリ220に伝送する。例えば、GPU125は、クロックコントローラ100から出力された動作クロックに応答して、前記プログラム及び/またはデータを処理または実行することができる。
メモリ220に保存されたプログラム及び/またはデータは、必要に応じてCPU120またはGPU125内のメモリにロード(load)されうる。
ROM140は、永久的なプログラム及び/またはデータを保存することができる。ROM140は、EPROM(Erasable Programmable Read−Only Memory)またはEEPROM(Electrically Erasable Programmable Read−Only Memory)として具現可能である。
RAM160は、プログラム、データ、または命令(instructions)を一時的に保存することができる。例えば、メモリ220に保存されたプログラム及び/またはデータは、CPU120の制御またはROM140に保存されたブーティングコード(booting code)によって、RAM160に一時的に保存することができる。RAM160は、DRAM(dynamic RAM)またはSRAM(static RAM)として具現可能である。
メモリコントローラ150は、外部メモリ装置220とインターフェースするためのブロックである。メモリコントローラ150は、メモリ装置220の動作を全般的に制御し、またホストとメモリ装置220との間の諸般のデータ交換を制御する。例えば、メモリコントローラ150は、ホストの要請に応じてメモリコントローラ150を制御して、データを書き込み/読み出す。
ここで、ホストは、CPU120、LCDコントローラ130のようなマスタ装置であり得る。
メモリ装置220は、データを保存するための保存場所であって、OS(Operating System)、各種のプログラム、及び各種のデータを保存することができる。メモリ装置220は、DRAMであり得るが、これに限定されるものではない。例えば、メモリ装置220は、不揮発性メモリ装置(フラッシュメモリ、PRAM、MRAM、ReRAM、またはFeRAM装置)でもあり得る。本発明の他の実施形態では、メモリ装置220は、SoC200の内部に備えられる内蔵メモリであり得る。
各構成要素は、システムバスを通じて互いに通信することができる。
ディスプレイデバイス230は、機能ブロック120にロードされたマルチメディアをディスプレイすることができる。本実施形態で、ディスプレイデバイス230は、LCDデバイスであるが、本発明の実施形態が、これに限定されるものではない。例えば、ディスプレイデバイスは、LED、OLEDデバイス、あるいは他種のデバイスであり得る。
ディスプレイデバイスコントローラ130は、ディスプレイデバイス230の動作を制御する。
図17は、図1に示されたSoCを含む半導体システムの一実施形態を示す。
図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)、またはキーボードとして具現可能である。
図18は、図1に示されたSoCを含むコンピュータシステムの一実施形態を示す。図18を参照すると、図1に示されたSoC10を含むコンピュータシステム500は、PC(Personal Computer)、ネットワークサーバ(Network Server)、タブレット(tablet)PC、ネットブック(net−book)、eリーダ(e−reader)、PDA、PMP、MP3プレーヤ、またはMP4プレーヤとして具現可能である。
コンピュータシステム500は、SoC10、メモリ装置501とメモリ装置501のデータ処理動作を制御することができるメモリコントローラ502、ディスプレイ503、及び入力装置504を含む。
SoC10は、入力装置504を通じて入力されたデータによって、メモリ装置501に保存されたデータをディスプレイ503を通じてディスプレイすることができる。例えば、入力装置504は、タッチパッドまたはコンピュータマウスのようなポインティング装置、キーパッド、またはキーボードとして具現可能である。SoC10は、コンピュータシステム500の全般的な動作を制御し、メモリコントローラ502の動作を制御することができる。
実施形態によって、メモリ装置501の動作を制御することができるメモリコントローラ502は、SoC10の一部として具現され、またSoC10と別途のチップとして具現可能である。
図19は、図1に示されたSoCを含むコンピュータシステムの他の実施形態を示す。図19を参照すると、図1に示されたSoC10を含むコンピュータシステム600は、イメージ処理装置(image process device)、例えば、デジタルカメラまたはデジタルカメラ付き携帯電話またはスマートフォンとして具現可能である。
コンピュータシステム600は、SoC10、メモリ装置601とメモリ装置601のデータ処理動作、例えば、ライト動作またはリード動作を制御することができるメモリコントローラ602を含む。また、コンピュータシステム600は、イメージセンサ603、及びディスプレイ604をさらに含む。
コンピュータシステム600のイメージセンサ603は、光学イメージをデジタル信号に変換し、該変換されたデジタル信号は、SoC10またはメモリコントローラ602に伝送される。SoC10の制御によって、前記変換されたデジタル信号は、ディスプレイ604を通じてディスプレイされるか、またはメモリコントローラ602を通じてメモリ装置601に保存することができる。
また、メモリ装置601に保存されたデータは、SoC10またはメモリコントローラ602の制御によって、ディスプレイ604を通じてディスプレイされる。実施形態によって、メモリ装置601の動作を制御することができるメモリコントローラ602は、SOC10の一部として具現され、またSoC10と別個のチップとして具現可能である。
図20は、図1に示されたSoCを含むメモリシステムのさらに他の実施形態を示す。図20を参照すると、メモリシステム700は、SSD(Solid State Drive)のようなデータ処理装置として具現可能である。
メモリシステム700は、多数のメモリ装置701、多数のメモリ装置701のそれぞれのデータ処理動作を制御することができるメモリコントローラ702、DRAMのような揮発性メモリ装置703、メモリコントローラ702とホスト704との間で送受信するデータを揮発性メモリ装置703に保存することを制御するSoC10を含みうる。
本発明は、またコンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがある。
また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行可能である。そして、本発明を具現するための機能的な(functional)プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマによって容易に推論されうる。
図21は、機能ブロックの状態を考慮せずに動作クロックを印加した場合の電流及び電圧グラフであり、図22は、機能ブロックの状態を考慮して動作クロックを印加した場合の電流及び電圧グラフである。
図21を参照すると、機能ブロック120の状態を考慮せずに動作クロックを印加した場合、電圧降下Aが見られる。しかし、図22に示したように、機能ブロック120が、非活性化モードから活性化モードに転換時、第3周波数の動作クロックを印加する場合、機能ブロック120に電流Vが徐々に印加されて、電圧降下Bの幅が減少する。
また、機能ブロックの状態を考慮せずに動作クロックを印加した場合、非活性化モード周波数で急に大きな活性化モード周波数の動作クロックが印加され、図16の電流Iスロープ(slope)が急上昇する。しかし、図22に示したように、機能ブロック120が、非活性化モードから活性化モードに転換時、ウェークアップモード周波数の動作クロックをカウントタイムの間に印加する場合、機能ブロック120に電流Iが徐々に印加されて、電流スロープが比較的緩やかに上昇する。その結果、機能ブロック120は、大きな電圧降下Aまたは電流スロープの急上昇による誤動作なしに動作することができる。
本発明は、機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム関連の技術分野に適用可能である。

Claims (21)

  1. 少なくとも1つの機能ブロックを含むSoCの動作方法において、
    前記少なくとも1つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、検出された動作状態が活性化状態から非活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を減少させる段階と、
    検出された動作状態が非活性化状態から活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を増加させる段階と、を含み、
    前記減少させる動作周波数は、0より大きな周波数であり、
    検出された動作状態が遷移状態にあるときには、前記少なくとも1つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第1段階と、前記少なくとも1つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第2段階とからなることを特徴とするSoCの動作方法。
  2. 前記動作周波数を減少させる段階は、
    前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比で前記SoCの基準クロックの周波数を分周する段階を含み、
    前記少なくとも1つの機能ブロックの前記動作周波数を、前記分周した周波数に減少させることを特徴とする請求項1に記載のSoCの動作方法。
  3. 前記SoCの動作方法は、
    前記少なくとも1つの機能ブロックの前記動作周波数を前記活性化モード動作周波数にセッティングする段階をさらに含み、
    前記活性化モード動作周波数は、前記少なくとも1つの機能ブロックの前記活性化状態に関連した第1クロック周波数であり、
    前記少なくとも1つの機能ブロックの前記動作周波数を、前記活性化モード動作周波数から前記非活性化モード動作周波数に減少させ、
    前記非活性化モード動作周波数を、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した第2クロック周波数とすることを特徴とする請求項1に記載のSoCの動作方法。
  4. 機能ブロックを含むSoCの動作方法において、
    前記機能ブロックの動作状態が、活性化状態非活性化状態、または非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、
    検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記機能ブロックの動作周波数を減少させる段階と、
    検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記機能ブロックの動作周波数を増加させる段階と、
    検出された動作状態が遷移状態にあるときには、前記機能ブロックの動作周波数を非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第1段階と、前記機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第2段階と、を含み、
    前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoCの動作方法。
  5. 少なくとも1つの機能ブロックと、前記少なくとも1つの機能ブロックの動作周波数を制御するクロックコントローラとを含むSoCにおいて、
    前記クロックコントローラは、
    前記少なくとも1つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれかであるかを検出し、
    検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を減少させ、
    検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記少なくとも1つの機能ブロックの動作周波数を増加させ、
    検出された動作状態が遷移状態にあるときには、前記少なくとも1つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させ、前記少なくとも1つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記少なくとも1つの機能ブロックの動作周波数を前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させるよう制御し、
    前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoC。
  6. 前記クロックコントローラは、
    前記少なくとも1つの機能ブロックの前記動作周波数をセッティングするために、前記少なくとも1つの機能ブロックの前記非活性化状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項5に記載のSoC。
  7. 前記クロックコントローラは、
    前記少なくとも1つの機能ブロックの前記動作状態を検出するモード検出部と、
    前記少なくとも1つの機能ブロックの検出された前記動作状態に基づいて、複数の分周比のうちの何れか1つの分周比を選択する選択回路と、を含み、
    前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項5に記載のSoC。
  8. 前記モード検出部は、
    前記少なくとも1つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
    前記選択回路は、
    前記選択信号に基づいて、前記複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項7に記載のSoC。
  9. 前記複数の分周比を保存するレジスタブロックをさらに含み、
    前記選択回路は、
    前記レジスタブロックから前記複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項7に記載のSoC。
  10. 前記クロックコントローラは、
    前記少なくとも1つの機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項9に記載のSoC。
  11. 前記モード検出部は、
    前記少なくとも1つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
    前記選択回路は、
    前記選択信号に基づいて、前記レジスタブロックの複数の分周比のうちの何れか1つの分周比を選択することを特徴とする請求項9に記載のSoC。
  12. 前記少なくとも1つの機能ブロックの前記動作状態を検出するモード検出部と、
    複数の分周比を保存するルックアップテーブルと、をさらに含み、
    前記ルックアップテーブルは、
    検出された前記動作状態に基づいて、前記複数の分周比のうちの何れか1つを出力し、
    前記クロックコントローラは、
    出力された前記分周比に基づいて、前記少なくとも1つの機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項5に記載のSoC。
  13. 機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、
    前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、
    前記動作周波数セッティング回路は、
    前記選択信号が、活性化状態から非活性化状態への変化を示す場合、前記機能ブロックの動作周波数を減少させ、
    前記選択信号が、非活性化状態から活化状態への変化を示す場合、前記機能ブロックの動作周波数を増加させ、
    前記選択信号が、遷移状態を示す場合、前記機能ブロックの動作周波数を非活性化モード動作周波数から第1ウェークアップモード動作周波数に増加させ、
    前記機能ブロックの動作状態が、前記非活性化状態から前記活性化状態に変わった時点から、第1タイム区間が経過すると、前記第1ウェークアップモード動作周波数から活性化モード動作周波数に増加させ、
    前記減少させる動作周波数は、0より大きな周波数であることを特徴とするSoC。
  14. 前記動作周波数セッティング回路は、
    前記機能ブロックの前記動作周波数を前記第1ウェークアップモード動作周波数から第2ウェークアップモード動作周波数に増加させ、
    前記第1タイム区間が経過した後、
    前記第2ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項13に記載のSoC。
  15. 前記動作周波数セッティング回路は、
    前記機能ブロックの前記動作状態を前記非活性化状態から前記活性化状態に変化させた後、第2タイム区間が経過すると、
    前記第1タイム区間が経過する前に、前記動作周波数を前記第1ウェークアップモード動作周波数から前記第2ウェークアップモード動作周波数に増加させ、
    前記第1タイム区間が経過すると、前記動作周波数を前記第2ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項14に記載のSoC。
  16. 前記動作周波数セッティング回路は、
    前記機能ブロックの前記動作周波数をセッティングするために、前記機能ブロックの動作状態に関連した分周比によって、前記SoCの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項13に記載のSoC。
  17. 前記動作周波数セッティング回路は、
    前記選択信号に基づいて、複数の分周比のうちの何れか1つを選択する選択回路を含み、
    前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項13に記載のSoC。
  18. 前記動作周波数セッティング回路は、
    前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項17に記載のSoC。
  19. 前記動作周波数セッティング回路は、
    前記複数の分周比を保存するレジスタブロックをさらに含み、
    前記選択回路は、前記レジスタブロックの前記複数の分周比から何れか1つを選択することを特徴とする請求項17に記載のSoC。
  20. 複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか1つの分周比を出力するルックアップテーブルをさらに含み、
    前記動作周波数セッティング回路は、選択された前記分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項13に記載のSoC。
  21. 前記動作周波数セッティング回路は、
    前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含むことを特徴とする請求項20に記載のSoC。
JP2012268484A 2011-12-12 2012-12-07 機能ブロックを含むSoCのクロック制御方法、それを具現したSoC、及びそれを含む半導体システム Active JP5997029B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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