(57)【特許請求の範囲】
【請求項１】
少なくとも１つの機能ブロックを含むＳｏＣの動作方法において、
前記少なくとも１つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、検出された動作状態が活性化状態から非活性化状態に変化した場合には、前記少なくとも１つの機能ブロックの動作周波数を減少させる段階と、
検出された動作状態が非活性化状態から活性化状態に変化した場合には、前記少なくとも１つの機能ブロックの動作周波数を増加させる段階と、を含み、
前記減少させる動作周波数は、０より大きな周波数であり、
検出された動作状態が遷移状態にあるときには、前記少なくとも１つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第１段階と、前記少なくとも１つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第１タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第２段階とからなることを特徴とするＳｏＣの動作方法。
【請求項２】
前記動作周波数を減少させる段階は、
前記少なくとも１つの機能ブロックの前記非活性化状態に関連した分周比で前記ＳｏＣの基準クロックの周波数を分周する段階を含み、
前記少なくとも１つの機能ブロックの前記動作周波数を、前記分周した周波数に減少させることを特徴とする請求項１に記載のＳｏＣの動作方法。
【請求項３】
前記ＳｏＣの動作方法は、
前記少なくとも１つの機能ブロックの前記動作周波数を前記活性化モード動作周波数にセッティングする段階をさらに含み、
前記活性化モード動作周波数は、前記少なくとも１つの機能ブロックの前記活性化状態に関連した第１クロック周波数であり、
前記少なくとも１つの機能ブロックの前記動作周波数を、前記活性化モード動作周波数から前記非活性化モード動作周波数に減少させ、
前記非活性化モード動作周波数を、前記少なくとも１つの機能ブロックの前記非活性化状態に関連した第２クロック周波数とすることを特徴とする請求項１に記載のＳｏＣの動作方法。
【請求項４】
機能ブロックを含むＳｏＣの動作方法において、
前記機能ブロックの動作状態が、活性化状態、非活性化状態、または非活性化状態から活性化状態への遷移状態のいずれであるかを検出する段階と、
検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記機能ブロックの動作周波数を減少させる段階と、
検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記機能ブロックの動作周波数を増加させる段階と、
検出された動作状態が遷移状態にあるときには、前記機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させる第１段階と、前記機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第１タイム区間が経過すると、前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させる第２段階と、を含み、
前記減少させる動作周波数は、０より大きな周波数であることを特徴とするＳｏＣの動作方法。
【請求項５】
少なくとも１つの機能ブロックと、前記少なくとも１つの機能ブロックの動作周波数を制御するクロックコントローラとを含むＳｏＣにおいて、
前記クロックコントローラは、
前記少なくとも１つの機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれかであるかを検出し、
検出された動作状態が、活性化状態から非活性化状態に変化した場合には、前記少なくとも１つの機能ブロックの動作周波数を減少させ、
検出された動作状態が、非活性化状態から活性化状態に変化した場合には、前記少なくとも１つの機能ブロックの動作周波数を増加させ、
検出された動作状態が遷移状態にあるときには、前記少なくとも１つの機能ブロックの動作周波数を、非活性化モード動作周波数からウェークアップモード動作周波数に増加させ、前記少なくとも１つの機能ブロックの動作状態が前記非活性化状態から前記活性化状態に変わった時点から、第１タイム区間が経過すると、前記少なくとも１つの機能ブロックの動作周波数を前記ウェークアップモード動作周波数から活性化モード動作周波数に増加させるよう制御し、
前記減少させる動作周波数は、０より大きな周波数であることを特徴とするＳｏＣ。
【請求項６】
前記クロックコントローラは、
前記少なくとも１つの機能ブロックの前記動作周波数をセッティングするために、前記少なくとも１つの機能ブロックの前記非活性化状態に関連した分周比によって、前記ＳｏＣの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項５に記載のＳｏＣ。
【請求項７】
前記クロックコントローラは、
前記少なくとも１つの機能ブロックの前記動作状態を検出するモード検出部と、
前記少なくとも１つの機能ブロックの検出された前記動作状態に基づいて、複数の分周比のうちの何れか１つの分周比を選択する選択回路と、を含み、
前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項５に記載のＳｏＣ。
【請求項８】
前記モード検出部は、
前記少なくとも１つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
前記選択回路は、
前記選択信号に基づいて、前記複数の分周比のうちの何れか１つの分周比を選択することを特徴とする請求項７に記載のＳｏＣ。
【請求項９】
前記複数の分周比を保存するレジスタブロックをさらに含み、
前記選択回路は、
前記レジスタブロックから前記複数の分周比のうちの何れか１つの分周比を選択することを特徴とする請求項７に記載のＳｏＣ。
【請求項１０】
前記クロックコントローラは、
前記少なくとも１つの機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項９に記載のＳｏＣ。
【請求項１１】
前記モード検出部は、
前記少なくとも１つの機能ブロックの検出された前記動作状態に基づく選択信号を生成し、
前記選択回路は、
前記選択信号に基づいて、前記レジスタブロックの複数の分周比のうちの何れか１つの分周比を選択することを特徴とする請求項９に記載のＳｏＣ。
【請求項１２】
前記少なくとも１つの機能ブロックの前記動作状態を検出するモード検出部と、
複数の分周比を保存するルックアップテーブルと、をさらに含み、
前記ルックアップテーブルは、
検出された前記動作状態に基づいて、前記複数の分周比のうちの何れか１つを出力し、
前記クロックコントローラは、
出力された前記分周比に基づいて、前記少なくとも１つの機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項５に記載のＳｏＣ。
【請求項１３】
機能ブロックの動作状態が、活性化状態、非活性化状態、または、非活性化状態から活性化状態への遷移状態のいずれであるかを検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、
前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、
前記動作周波数セッティング回路は、
前記選択信号が、活性化状態から非活性化状態への変化を示す場合、前記機能ブロックの動作周波数を減少させ、
前記選択信号が、非活性化状態から活性化状態への変化を示す場合、前記機能ブロックの動作周波数を増加させ、
前記選択信号が、遷移状態を示す場合、前記機能ブロックの動作周波数を非活性化モード動作周波数から第１ウェークアップモード動作周波数に増加させ、
前記機能ブロックの動作状態が、前記非活性化状態から前記活性化状態に変わった時点から、第１タイム区間が経過すると、前記第１ウェークアップモード動作周波数から活性化モード動作周波数に増加させ、
前記減少させる動作周波数は、０より大きな周波数であることを特徴とするＳｏＣ。
【請求項１４】
前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数を前記第１ウェークアップモード動作周波数から第２ウェークアップモード動作周波数に増加させ、
前記第１タイム区間が経過した後、
前記第２ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項１３に記載のＳｏＣ。
【請求項１５】
前記動作周波数セッティング回路は、
前記機能ブロックの前記動作状態を前記非活性化状態から前記活性化状態に変化させた後、第２タイム区間が経過すると、
前記第１タイム区間が経過する前に、前記動作周波数を前記第１ウェークアップモード動作周波数から前記第２ウェークアップモード動作周波数に増加させ、
前記第１タイム区間が経過すると、前記動作周波数を前記第２ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させることを特徴とする請求項１４に記載のＳｏＣ。
【請求項１６】
前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記機能ブロックの動作状態に関連した分周比によって、前記ＳｏＣの基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項１３に記載のＳｏＣ。
【請求項１７】
前記動作周波数セッティング回路は、
前記選択信号に基づいて、複数の分周比のうちの何れか１つを選択する選択回路を含み、
前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項１３に記載のＳｏＣ。
【請求項１８】
前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路を含むことを特徴とする請求項１７に記載のＳｏＣ。
【請求項１９】
前記動作周波数セッティング回路は、
前記複数の分周比を保存するレジスタブロックをさらに含み、
前記選択回路は、前記レジスタブロックの前記複数の分周比から何れか１つを選択することを特徴とする請求項１７に記載のＳｏＣ。
【請求項２０】
複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか１つの分周比を出力するルックアップテーブルをさらに含み、
前記動作周波数セッティング回路は、選択された前記分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングすることを特徴とする請求項１３に記載のＳｏＣ。
【請求項２１】
前記動作周波数セッティング回路は、
前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含むことを特徴とする請求項２０に記載のＳｏＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）に係り、より具体的には、ＳｏＣ内の機能ブロックに供給される動作クロックを制御するクロック制御方法、それを具現したＳｏＣ、及びそれを含む半導体システムに関する。
【背景技術】
【０００２】
ＳｏＣは、既存のさまざまな機能を有した複雑なシステムを１つのシステムとして具現した技術集約的半導体技術である。ＳｏＣは、システム全体を制御するプロセッサと、そのプロセッサによって制御される多様なＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｉｅｓ：以下、ＩＰと称する）とで構成される。ここで、ＩＰとは、ＳｏＣに集積されうる回路（ｃｉｒｃｕｉｔ）、ロジック（ｌｏｇｉｃ）、またはこれらの組み合わせを意味する。また、前記回路または前記ロジックには、コード（ｃｏｄｅ）が保存されうる。
【０００３】
一般的に、多様な多数のＩＰを含むＳｏＣを備えたシステムは、バッテリによって動作するので、低電力設計が重要視される。ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）などによって、基準クロックがＳｏＣに供給されれば、多数のＩＰのそれぞれは、その機能によって、多様な周波数を有する動作クロックによって動作する。
多数のＩＰは、その機能によって、それぞれ活性化モード（ａｃｔｉｖｅ）でもあり、非活性化モード（ｉｄｌｅ）でもある。何れか１つのＩＰが非活性化モードである時、他の１つのＩＰが活性化モードでもあり、少なくとも２つ以上のＩＰが同時に活性化モードまたは非活性化モードでもある。
多数のＩＰのうちの少なくとも何れか１つが、非活性化モードで動作を行わない時にも、非活性モードのＩＰに動作する時のような活性化モードの動作クロックを供給し続ければ、ＳｏＣは、不要な電力を消費する。このような電力浪費は、数百ＭＨｚないし数ＧＨｚの周波数を使うＩＰの場合、バッテリの寿命に大きな影響を与える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７，１７１，５７７号公報
【特許文献２】特開２００８−１２３４０２号公報
【特許文献３】特開２００４−２０６４８０号公報
【特許文献４】米国特許第７，５９４，１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的課題は、 機能ブロックのそれぞれの状態によって不必要な電力を消費しない機能ブロックを含むＳｏＣのクロック制御方法、それを具現したＳｏＣ、及びそれを含む半導体システムを提供することである。
【課題を解決するための手段】
【０００６】
前述した技術的課題を解決するために、少なくとも１つ以上の機能ブロックを含むＳｏＣのクロック制御方法は、前記少なくとも１つの機能ブロックが、活性化モード（ａｃｔｉｖｅ  ｍｏｄｅ）から非活性化モード（ｉｄｌｅ  ｍｏｄｅ）に変わる動作状態（ｏｐｅｒａｔｉｎｇ  ｓｔａｔｅ）に基づいて、前記少なくとも１つの機能ブロックの動作周波数を減少させる段階を含む。減少させる動作周波数は、０より大きな周波数である。
前記動作周波数を減少させる段階は、前記少なくとも１つの機能ブロックの非活性化状態に対する分周比で前記ＳｏＣの基準クロックの周波数を分周する段階を含みうる。前記少なくとも１つの機能ブロックの動作周波数を、分周した周波数に減少させる。
【０００７】
前記ＳｏＣの動作方法は、前記少なくとも１つの機能ブロックの前記動作周波数を活性化モード動作周波数にセッティングする段階をさらに含み、前記活性化モード動作周波数は、前記少なくとも１つの機能ブロックの前記活性化状態に対する第１クロック周波数であり、前記少なくとも１つの機能ブロックの動作周波数を、前記活性化モード動作周波数から非活性化モード動作周波数に減少させ、前記非活性化モード動作周波数を、前記少なくとも１つの機能ブロックの前記非活性化状態に対する第２クロック周波数とする。
前記ＳｏＣの動作方法は、前記少なくとも１つの機能ブロックが、前記非活性化状態から前記活性化状態に変化する動作状態に応答して、前記少なくとも１つの機能ブロックの前記動作周波数を増加させる段階をさらに含む。
【０００８】
前述した技術的課題を解決するために、本発明の他の実施形態による機能ブロックを含むＳｏＣの動作方法は、前記機能ブロックの動作状態が、活性化状態から非活性化状態に、第１変化するかを検出する段階と、検出された前記第１変化に応答して、前記機能ブロックの動作周波数を減少させる段階と、前記機能ブロックの動作状態が、前記非活性化状態から前記活性化状態に、第２変化するかを検出する段階と、検出された前記第２変化に応答して、前記機能ブロックの動作周波数を増加させる段階と、を含み、減少させる前記動作周波数は、０より大きな周波数である。
【０００９】
前述した技術的課題を解決するために、本発明のさらに他の実施形態によるＳｏＣは、活性化状態から非活性化状態に、少なくとも１つの機能ブロックの動作状態が変化すると、前記少なくとも１つの機能ブロックの動作周波数を減少させるクロックコントローラを含み、減少させる前記動作周波数は、０より大きな周波数である。
前記クロックコントローラは、前記少なくとも１つの機能ブロックの動作周波数をセッティングするために、前記少なくとも１つの機能ブロックの前記非活性化状態に関連した分周比によって、前記ＳｏＣの基準クロックの周波数を分周する分周回路をさらに含む。
前記クロックコントローラは、前記少なくとも１つの機能ブロックが、前記非活性化状態から前記活性化状態に変わる動作状態に応答して、前記少なくとも１つの機能ブロックの前記動作周波数を増加させる。
【００１０】
前記動作周波数を、前記活性化状態に関連した動作周波数であるウェークアップモード動作周波数に増加させ、前記クロックコントローラは、前記少なくとも１つの機能ブロックが、前記非活性化状態から前記活性化状態に変化してから、既定の第１タイム区間が経過すると、前記少なくとも１つの機能ブロックの動作周波数を前記ウェークアップモード動作周波数から前記活性化モード動作周波数に増加させる。
前記クロックコントローラは、前記少なくとも１つの機能ブロックの動作状態を検出するモード検出部と、前記少なくとも１つの機能ブロックの検出された動作状態に基づいて、複数の分周比のうちの何れか１つの分周比を選択する選択回路と、を含み、前記選択された分周比に基づいて、前記機能ブロックの前記動作周波数をセッティングする。
【００１１】
前記モード検出部は、前記少なくとも１つの機能ブロックの検出された動作状態に基づく選択信号を生成し、前記選択回路は、前記選択信号に基づいて、複数の分周比のうちの何れか１つの分周比を選択することができる。
前記クロックコントローラは、前記複数の分周比を保存するレジスタ回路をさらに含み、前記選択回路は、前記レジスタ回路から前記何れか１つの分周比を選択することができる。
前記クロックコントローラは、前記機能ブロックの動作周波数をセッティングするために、選択された分周比で基準クロックの周波数を分周する分周回路を含む。
前記モード検出部は、前記機能ブロックの検出された動作状態に基づく選択信号を生成し、前記選択回路は、前記選択信号に基づいて、前記レジスタ回路の複数の分周比のうちの何れか１つの分周比を選択することができる。
【００１２】
他の一例として、前記クロックコントローラは、前記少なくとも１つの機能ブロックの動作状態を検出するモード検出部と、複数の分周比を保存するルックアップテーブルと、を含みうる。
前記ルックアップテーブルは、検出された動作状態に基づいて、前記複数の分周比のうちの何れか１つを出力し、前記クロックコントローラは、出力された前記分周比に基づいて、前記少なくとも１つの機能ブロックの動作周波数をセッティングする。
前述した技術的課題を解決するために、本発明のさらに他の一実施形態による機能ブロックを含むＳｏＣは、機能ブロックの動作状態の変化を検出し、検出された動作状態に基づいて、選択信号を生成させるモード検出回路と、前記モード検出回路の前記選択信号によって、前記機能ブロックの動作周波数をセッティングする動作周波数セッティング回路と、を含み、前記動作周波数セッティング回路は、前記選択信号が、前記機能ブロックが活性化状態から非活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を減少させ、前記選択信号が、前記機能ブロックが前記非活性化状態から前記活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を増加させ、前記減少させる動作周波数は、０より大きな周波数である。
【００１３】
前記動作周波数セッティング回路は、前記選択信号が、前記機能ブロックが前記非活性化状態から前記活性化状態に変わることを知らせれば、前記機能ブロックの動作周波数を第１周波数から第２周波数に増加させ、前記機能ブロックが、前記非活性化状態から前記活性化状態に変わった時点から第１タイム区間が経過すると、前記機能ブロックの動作周波数を前記第２周波数から第３周波数に増加させる。
前記動作周波数セッティング回路は、前記機能ブロックが、前記非活性化状態から前記活性化状態に変わった時点から第２タイム区間が経過すると、前記機能ブロックの動作周波数を前記第３周波数から第４周波数に増加させる。
【００１４】
前記動作周波数セッティング回路は、前記機能ブロックの動作周波数をセッティングするために、前記機能ブロックの動作状態に関連した分周比によって、前記ＳｏＣの基準クロックの周波数を分周する分周回路を含む。
前記動作周波数セッティング回路は、前記選択信号に基づいて、複数の分周比のうちの何れか１つを選択する選択回路をさらに含み、前記選択された分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの前記動作周波数をセッティングするために、前記選択された分周比で基準クロックの周波数を分周する分周回路をさらに含む。
【００１５】
前記動作周波数セッティング回路は、前記複数の分周比を保存するレジスタ回路をさらに含み、前記選択回路は、前記レジスタ回路の前記複数の分周比から何れか１つを選択する。
前記動作周波数セッティング回路は、複数の分周比を保存し、前記複数の分周比のうち、前記選択信号に応答して選択した何れか１つの分周比を出力するルックアップテーブルをさらに含み、出力された前記分周比に基づいて、前記機能ブロックの動作周波数をセッティングする。
前記動作周波数セッティング回路は、前記機能ブロックの動作周波数をセッティングするために、前記選択された分周比に基づいて、基準クロックの周波数を分周する分周回路をさらに含む。
【発明の効果】
【００１６】
本発明のＳｏＣのクロック制御方法、それを具現したＳｏＣ、及びそれを含む半導体システムによれば、多数の機能ブロックがある場合、機能ブロックのそれぞれの状態によって、各機能ブロックに供給される動作クロックを別途に制御することが出来るので、浪費電力を減少させることができる。また、機能ブロックが、非活性化状態から活性化状態に変わる時に起こりうる電圧降下による誤動作を防止することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態によるＳｏＣのブロック図。
【図２】図１に示されたＳｏＣの一実施形態を具体的に示すブロック図。
【図３】図２に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。
【図４】図２に示されたＳｏＣの一実施形態を具体的に示すブロック図。
【図５】図４に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。
【図６】本発明の一実施形態によるＳｏＣの信号タイミング図。
【図７】本発明の他の実施形態によるＳｏＣの信号タイミング図。
【図８】本発明のさらに他の一実施形態によるＳｏＣの信号タイミング図。
【図９】図１に示されたＳｏＣの他の一実施形態を具体的に示すブロック図。
【図１０】本発明の一実施形態によるクロック制御方法を示すフローチャート。
【図１１】図１に示されたＳｏＣの他の一実施形態を具体的に示すブロック図。
【図１２】図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図。
【図１３】図１２に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラム。
【図１４】図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図。
【図１５】図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図。
【図１６】本発明の実施形態によるＳｏＣを含んだ半導体システムのブロック図。
【図１７】図１に示されたＳｏＣを含む半導体システムの一実施形態を示す図。
【図１８】図１に示されたＳｏＣを含むコンピュータシステムの一実施形態を示す図。
【図１９】図１に示されたＳｏＣを含むコンピュータシステムの他の実施形態を示す図。
【図２０】図１に示されたＳｏＣを含むコンピュータシステムのさらに他の実施形態を示す図。
【図２１】機能ブロックの状態を考慮せずに動作クロックを印加した場合の電流及び電圧グラフ。
【図２２】機能ブロックの状態を考慮して動作クロックを印加した場合の電流及び電圧グラフ。
【発明を実施するための形態】
【００１８】
以下、添付した図面を参照して、本発明を詳しく説明する。
図１は、本発明の一実施形態によるＳｏＣのブロック図である。図１を参照すると、ＳｏＣ１０は、クロック生成器１１０、クロックコントローラ１００、及び機能ブロック１２０を含む。ＳｏＣ１０は、単一のチップとして製造されて、１つのパッケージとして具現可能である。図１では、説明の便宜上、クロック生成器１１０、クロックコントローラ１００、及び１つの機能ブロック１２０を含むＳｏＣ１０が示されているが、これに限定されるものではない。
クロック生成器１１０は、ＳｏＣ１０の動作に必要な基準周波数を有した基準クロックＣＬＫｉｎを生成させる。クロック生成器１１０は、基準クロックＣＬＫｉｎをクロックコントローラ１００に出力する。
【００１９】
クロックコントローラ１００は、活性化モードから非活性化モードに少なくとも１つの機能ブロック１２０の動作状態（ｓｔａｔｅ）が変化すれば、少なくとも１つの機能ブロック１２０の動作周波数を減少させる。
クロックコントローラ１００は、機能ブロック１２０の動作状態が、活性化状態から非活性化状態（例えば、非活性化（ｉｄｌｅ）状態）に変わることを検出する。検出された変化によって、機能ブロック１２０の動作周波数を減少させる。この際、減少する動作周波数は、０以上の周波数である。クロックコントローラ１００は、機能ブロック１２０の動作状態が、非活性化状態から活性化状態に変わることを検出する。検出された変化によって、機能ブロック１２０の動作周波数を増加させる。
クロックコントローラ１００は、機能ブロック１２０の状態をモニタリングして、該モニタリングされた状態によって、動作クロック信号ＣＬＫｏｕｔの動作周波数をセッティングする。クロックコントローラ１００は、機能ブロック１２０に動作クロック信号ＣＬＫｏｕｔを出力する。
クロックコントローラ１００は、機能ブロック１２０の状態が非活性化モード時、基準周波数から既定の第１周波数（非活性化モード周波数）に動作周波数を変更する。
【００２０】
機能ブロック１２０が、非活性化状態から活性化状態に変わる時、クロックコントローラ１００は、第２周波数（活性化モード周波数）または第３周波数（ウェークアップモード周波数）を有した動作クロック信号ＣＬＫｏｕｔを機能ブロック１２０に出力する。
一例として、クロックコントローラ１００は、機能ブロック１２０の状態が活性化モード時、基準周波数から既定の第２周波数（活性化モード周波数）に動作周波数を変更する。
一例として、クロックコントローラ１００は、機能ブロック１２０の状態がウェークアップモード時、基準周波数から既定の少なくとも１つの第３周波数（ウェークアップモード周波数）に動作周波数を変更する。
クロックコントローラ１００は、機能ブロック１２０の状態が当該モードに相応する動作周波数を有した動作クロックＣＬＫｏｕｔを当該機能ブロックに出力する。第１周波数ないし第３周波数は、０より大きく、互いに異なる周波数であって、非活性化モードの第１周波数（または、非活性化モード周波数）、ウェークアップモードの第３周波数（または、ウェークアップモード周波数）、活性化モードの第２周波数（または、活性化モード周波数）に行くほど周波数がさらに大きくなる。すなわち、第１周波数ないし第３周波数は、０より大きく、互いに異なる値を有する。第２周波数は、第１周波数より大きく、前記第３周波数より小さい。
クロックコントローラ１００は、分周器２０、及び分周器コントローラ３０を含む。
【００２１】
分周器コントローラ３０は、機能ブロック１２０の状態（Ｓｔａｔｅ）をモニタリングして、該モニタリングされた状態によって、機能ブロック１２０に分周比Ｄｉｖを出力する。分周器２０は、出力された分周比Ｄｉｖによって、基準周波数を分周した動作周波数をセッティングして、この動作周波数を有した動作クロックＣＬＫｏｕｔを出力する。
分周器コントローラ３０は、機能ブロック１２０から出力される状態信号Ｓｔａｔｅをモニタリングすることができる。
【００２２】
機能ブロックの状態のモニタリングは、一例として、機能ブロック１２０から出力される状態信号が、ロジックハイ（ｈｉｇｈ、または、‘１’）であれば、機能ブロック１２０の状態を活性化モードと判断し、ロジックロー（Ｌｏｗ、または、‘０’）であれば、機能ブロック１２０の状態を非活性化モードと判断する。
機能ブロック１２０は、ＳｏＣ１０内のデータ処理動作を行う。図１には、１つの機能ブロックのみが示されているが、これに限定されず、ＳｏＣ１０は、多数の機能ブロックを含みうる。
【００２３】
機能ブロック１２０は、例えば、ＳｏＣ１０全体を制御するプロセッサまたはそのプロセッサによって制御される多様な機能素子のうちの何れか１つであり得る。機能素子は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＣＰＵに含まれた複数のコア（ｃｏｒｅｓ）のそれぞれ、ＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＦＣ（Ｍｕｌｔｉ−Ｆｏｒｍａｔ  Ｃｏｄｅｃ）、ビデオモジュール（例えば、カメラインターフェース（Ｃａｍｅｒａ  Ｉｎｔｅｒｆａｃｅ）、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）プロセッサ、ビデオプロセッサ（Ｖｉｄｅｏ  Ｐｒｏｃｅｓｓｏｒ）、またはミキサ（Ｍｉｘｅｒ）、など）、オーディオシステム（Ａｕｄｉｏ  Ｓｙｓｔｅｍ）、ドライバ（Ｄｒｉｖｅｒ）、ディスプレイドライバ（Ｄｉｓｐｌａｙ  Ｄｒｉｖｅｒ）、揮発性メモリ（Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）、不揮発性メモリ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）、メモリコントローラ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）、キャッシュメモリ（Ｃａｃｈｅ  Ｍｅｍｏｒｙ）、シリアルポート（Ｓｅｒｉａｌ  Ｐｏｒｔ）、システムタイマ（Ｓｙｓｔｅｍ  Ｔｉｍｅｒ）、ウォッチドッグタイマ（Ｗａｔｃｈ  Ｄｏｇ  Ｔｉｍｅｒ）、またはアナログ−デジタルコンバータ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）などを含みうる。各機能ブロック１２０は、互いに異なるクロック周波数（ｃｌｏｃｋ  ｆｒｅｑｕｅｎｃｙ）を有するために、１つのＳｏＣ１０内には、多様な動作クロックＣＬＫｏｕｔが使われる。
【００２４】
ＳｏＣ１０は、集積回路（ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）として具現可能である。また、ＳｏＣ１０は、携帯電話（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、タブレットＰＣ（ｔａｂｌｅｔ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、またはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＭＰ３プレーヤ、ラップトップコンピュータのような移動通信装置内に内蔵されうる。実施形態によって、ＳｏＣ１０は、ＩＴ装置（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｄｅｖｉｃｅ）または携帯用電子装置（Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ）に内蔵されうる。
【００２５】
図２は、図１に示されたＳｏＣの一実施形態を具体的に示すブロック図である。
図２を参照すると、分周器コントローラ３０は、多数のレジスタを含んだレジスタブロック３２、モード検出部３５、及び選択器３１を含む（ｎは、３以上の自然数）。
説明の便宜上、第１周波数、第３周波数、第２周波数に行くほど周波数の大きさは次第に大きくなり、これにより、既定の第１分周比、第３分周比、及び第２分周比は、次第に小さくなると仮定する。この際、第１分周比は非活性化モード分周比、第３分周比はウェークアップモード分周比、第２分周比は活性化モード分周比である。
すなわち、ウェークアップモード周波数は、非活性化モード周波数より大きく、活性化モード周波数は、ウェークアップモード周波数より大きい。ウェークアップモード分周比は、非活性化モード分周比より小さく、活性化モード分周比は、ウェークアップモード分周比より小さい。しかし、本発明の実施形態が、これに限定されず、実施形態によって、多様に具現可能である。
【００２６】
多数のレジスタ３２は、多数の分周比Ｄｉｖをそれぞれ保存する。一例として、ｎ個の分周比Ｄｉｖがある場合、レジスタＲｅｇ  ０〜Ｒｅｇ  ｎ−１ごとに１つの分周比を保存することができる。
モード検出部３５は、有限状態マシン（Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ；ＦＳＭ）の形態で具現可能である。これについての具体的な説明は、後述する。例えば、モード検出部３５は、機能ブロック１２０の状態をモニタリングする。一例として、機能ブロック１２０から出力される状態信号Ｓｔａｔｅを通じてモニタリングすることができる。モード検出部３５は、モニタリングされた状態によって、複数の状態（例えば、非活性化モード、ウェークアップモード、活性化モード）のうちの何れか１つの状態に入り、選択器３１に選択信号Ｓｅｌを出力する。選択器３１は、選択信号Ｓｅｌによって、複数の分周比Ｄ０ないしＤｎ−１のうちの１つの分周比Ｄｉｖを出力する。
【００２７】
一例として、モード検出部３５は、機能ブロック１２０が非活性化モードにあるか（まだ非活性化モードではないが）、非活性化モードに変わっていると検出されれば、第１選択信号Ｓｅｌ  ０を出力する。選択器３１は、第１選択信号Ｓｅｌ  ０に相応する非活性化モード分周比Ｄ０をレジスタ０（Ｒｅｇ  ０）から出力する。分周器２０は、非活性化モード分周比Ｄ０で基準周波数を分周した非活性化モード周波数を動作周波数として設定して、動作クロックＣＬＫｏｕｔを出力する。
機能ブロックが、活性化モードから非活性化モードになれば、動作クロックが、当該機能ブロックの状態に応答して、活性化モード周波数から非活性化モード周波数になるので、ＳｏＣ内の浪費電力を減らしうる。
【００２８】
一例として、機能ブロック１２０が活性化モードであれば、モード検出部３５は、活性化モードと判断して、第２選択信号Ｓｅｌ  ｎ−１を出力する。選択器３１は、第２選択信号Ｓｅｌ  ｎ−１に相応する活性化モード分周比Ｄｎ−１をレジスタｎ−１（Ｒｅｇ  ｎ−１）から出力する。分周器２０は、活性化モード分周比Ｄｎ−１で基準周波数を分周した活性化モード周波数を動作周波数として設定して、動作クロックＣＬＫｏｕｔを機能ブロック１２０に出力する。
機能ブロック１２０が非活性化モードにあり、非活性化モードから活性化モードに遷移する時、状態信号Ｓｔａｔｅも遷移する（例えば、ロジックローからロジックハイに）。機能ブロック１２０の状態変化によって、モード検出部３５は、少なくとも１つの第３選択信号Ｓｅｌ  ｋを出力する。選択器３１は、この少なくとも１つの第３選択信号Ｓｅｌ  ｋによって、ウェークアップモード分周比Ｄｋを出力する。この際、ｋは、１ないしｎ−２の間の自然数のうちの何れか１つであって、ｎ−２は、Ｎであると言える。
【００２９】
機能ブロック１２０が、非活性化状態から活性化状態に変わった時点から既定のカウントタイムが経過するまで少なくとも１つのウェークアップモードと判断して、少なくとも１つの第３選択信号Ｓｅｌ  ｋを出力する。分周器２０は、基準周波数をウェークアップ分周比Ｄｋで分周したウェークアップモード周波数を動作周波数にセッティングして、動作クロックＣＬＫｏｕｔを出力する。
動作クロックＣＬＫｏｕｔの動作周波数は、機能ブロック１２０が非活性化状態から活性化状態に転換された時点から既定のカウントタイムが経過するまでウェークアップモード周波数に保持される。すなわち、例えば、動作クロックＣＬＫｏｕｔは、モード検出部３５がウェークアップモードから活性化モードに転換されると知らせるまでウェークアップモード周波数に保持される。
【００３０】
モード検出部３５は、各ウェークアップモードごとにそれぞれあらかじめ設定される少なくとも１つのカウントタイムをカウントする少なくとも１つのカウンタを含みうる。カウントタイムがカウントされる間に少なくとも１つの各ウェークアップモード周波数を動作周波数として設定し、あらゆるカウントタイムが経過されれば、活性化モード周波数を動作周波数として設定することができる。その結果、機能ブロックが非活性化モードから再び活性化モードになる時、動作クロックが非活性化モード周波数から急に活性化モード周波数になると、突然の電圧降下（Ｖｏｌｔａｇｅ  Ｄｒｏｐ）によって、ＳｏＣ１０が誤動作する場合がある。したがって、機能ブロック１２０は、ウェークアップモード時、一定カウントタイムの間はウェークアップモード周波数で動作し、電流が漸次的に大きくなるように印加されて、突然の電圧降下なしに動作する。
【００３１】
図３は、図２に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。
図３を参照すると、モード検出部３５は、機能ブロック１２０のモードのそれぞれに相応して、当該分周比Ｄｉｖを選択するための選択信号Ｓｅｌを出力する。これを有限状態マシンで表すことができる。
有限状態マシンは、知られているように、有限数の状態のうちの何れか１つのみを取れるマシンである。マシンは、一回当り１つの状態しか取れず、この際、マシンが処した状態は、現在状態と呼ばれる。有限状態マシンは、トリガイベントまたは条件（ｃｏｎｄｉｔｉｏｎ）によって、１つの状態から他の状態に遷移することができる。１つの状態から他の状態への変化は、“トランジション（ｔｒａｎｓｉｔｉｏｎ）”、すなわち、遷移とも呼ばれる。特別な有限状態マシンは、各現在状態から可能なトランジション状態及び各トランジションのためのトリガリング条件のリストによって定義されうる。有限状態マシンは、よく知られているように、本発明の属する技術分野の通常の知識を有した当業者が、理解可能な範囲で多様に応用され、理解されうる。
【００３２】
有限状態マシンは、機能ブロック１２０の多数個（例えば、ｎ個）の制限されたモードが存在し、その状態が特定の条件に噛み合って、互いに連結されるものであって、ハードウェア、ソフトウェアまたはハードウェア及びソフトウェアの結合で具現可能である。
機能ブロック１２０の初期状態が、活性化モードとする。この際、モード検出部３５は、活性化モード分周比Ｄｎ−１を選択するための第１選択信号Ｓｅｌ  ｎを出力する。選択器４１は、第１選択信号Ｓｅｌ  ｎによって、レジスタｎ−１（Ｒｅｇ  ｎ−１）を選択して、活性化モード分周比Ｄｎ−１を分周器２０に出力する。
モード検出部３５は、機能ブロック１２０の状態が活性化状態から非活性化状態に変われば、非活性化モードと判断し、非活性化モード分周比Ｄ０を選択するための非活性化モード選択信号Ｓｅｌ  ０を出力する。選択器３１は、非活性化モード選択信号Ｓｅｌ０によって、レジスタ０（Ｒｅｇ  ０）を選択して、非活性化モード分周比Ｄ０を分周器２０に出力する。
【００３３】
機能ブロック１２０が、非活性化状態から活性化状態に変われば、モード検出部３５は、変化を検出し、既定の時間の間にウェークアップモードに進入する。モード検出部３５は、機能ブロック１２０が非活性化状態から活性化状態に転換される時点から、既定のカウントタイムが経過するまでウェークアップモードと判断する。モード検出部３５は、ウェークアップモードでカウントタイムが経過するまでに少なくとも１つのウェークアップモード選択信号Ｓｅｌ  ｋを出力する。選択器３１は、ウェークアップモード選択信号Ｓｅｌ  ｋによって、レジスタｋ（Ｒｅｇ  ｋ）を選択して、各ウェークアップモード分周比Ｄｋを分周器２０に出力する。
モード検出部３５は、少なくとも１つ以上のウェークアップモードｗａｋｅｕｐ  １ないしｗａｋｅｕｐ  ｎ−２を置くことができる。ウェークアップモードは、既定の順序により、既定の順序とは、ユーザの設定または設計工程上の必要に応じて変わり、例えば、非活性化モード周波数から活性化モード周波数までの周波数移送（ｔｒａｎｓｉｅｎｔ）順序であり得る。それぞれのウェークアップモードごとに既定のそれぞれのカウントタイムｃｏｕｎｔｅｒ  １ないしｃｏｎｔｅｒ  ｎ−２が存在する。
【００３４】
モード検出部３５は、少なくとも１つ以上の各ウェークアップモード周波数を既定の各カウントタイムの間にのみ動作周波数に印加する。カウントタイムがいずれも経過すれば、モード検出部３５は、機能ブロック１２０の状態を活性化モードと判断して、活性化モード選択信号Ｓｅｌ  ｎ−１を出力する。
図４は、図２に示されたＳｏＣの一実施形態を具体的に示すブロック図であり、図５は、図４に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。
図４及び図５を参照すると、まず、互いに異なる分周比が合計３個（すなわち、ｎ＝３）と仮定する。すなわち、基準クロックＣＬＫｉｎの基準周波数を分周する非活性化モード分周比Ｒ０、ウェークアップモード分周比Ｒ１、活性化モード分周比Ｒ２がある。
【００３５】
機能ブロック１２０の初期状態が活性化モードとする。この際、モード検出部４５は、活性化モード分周比Ｒ２を選択するための活性化モード選択信号Ｓｅｌ  ２を出力する。選択器４１は、活性化モード選択信号Ｓｅｌ  ２によって、レジスタ１（Ｒｅｇ  １）を選択して、活性化モード分周比Ｒ２を分周器２０に出力する。
機能ブロック１２０の状態が非活性化モードと判断されれば、モード検出部４５は、非活性化モード分周比Ｒ０を選択するための非活性化モード選択信号Ｓｅｌ  ０を出力する。選択器４１は、前記非活性化モード選択信号Ｓｅｌ  ０によって、レジスタ０（Ｒｅｇ  ０）を選択して、非活性化モード分周比Ｒ０を分周器２０に出力する。
機能ブロック１２０の状態が非活性化モードから活性化モードに遷移して、ウェークアップモード（Ｗａｋｅｕｐ）と判断されれば、モード検出部４５は、ウェークアップモード分周比Ｒ１を選択するためのウェークアップモード選択信号Ｓｅｌ  １を出力する。選択器４１は、ウェークアップモード選択信号Ｓｅｌ  １によって、レジスタ１（Ｒｅｇ  １）を選択して、ウェークアップモード分周比Ｒ１を分周器２０に出力する。一例として、ウェークアップモード周波数は、活性化モード周波数の１／２倍であり得る。
【００３６】
図６は、本発明の一実施形態によるＳｏＣの信号タイミング図である。
図６を参照すると、機能ブロック１２０が活性化状態での動作クロック信号ＣＬＫｏｕｔの動作周波数は、機能ブロック１２０が非活性化状態での動作周波数より大きい。
クロックコントローラ１００は、機能ブロック１２０から出力される状態Ｓｔａｔｅ信号をモニタリングすることができる。一例として、状態信号がロジックハイであれば、機能ブロック１２０の状態を活性化モードと判断し、ロジックローであれば、機能ブロック１２０の状態を非活性化モードと判断することができる。機能ブロック１２０が活性化モードである時、クロックコントローラ１００は、活性化モード周波数を動作周波数にセッティングし、機能ブロック１２０に活性化モード周波数の動作クロックＣＬＫｏｕｔを印加する。
【００３７】
機能ブロック１２０が、非活性化モードＩｄｌｅに転換されれば、クロックコントローラ１００は、非活性化モード周波数を動作周波数にセッティングし、機能ブロック１２０に非活性化モード周波数の動作クロックＣＬＫｏｕｔを印加する。
機能ブロック１２０が、再び活性化モードＡｃｔｉｖｅに転換されれば、クロックコントローラ１００は、非活性化モード周波数を活性化モード周波数として再び設定して、機能ブロック１２０に非活性化モード周波数の動作クロックで活性化モード周波数の動作クロックＣＬＫｏｕｔを印加する。
その結果、機能ブロック１２０は、活性化モード周波数ではない非活性化モード周波数の動作クロックで動作して、浪費電力を減少させることができる。また、場合によっては、不可避に機能ブロック１２０の動作クロックＣＬＫｏｕｔをゲーティングすることができない場合に、持続的に非活性化モード周波数の動作クロックを供給することによって、持続的に諸機能を行うように保持することができる。
【００３８】
図７は、本発明の他の実施形態によるＳｏＣの信号タイミング図である。
図７を参照すると、機能ブロック１２０の活性化モードＡｃｔｉｖｅ及び非活性化モードＩｄｌｅである時、クロックコントローラ１００の動作は、図６と同一である。説明の便宜上、図６との差異点を中心に説明する。機能ブロック１２０が、非活性化モードＩｄｌｅから活性化モードＡｃｔｉｖｅに転換される時、クロックコントローラ１００は、図６と異なって、ウェークアップモードが追加される。
【００３９】
ウェークアップモードとは、非活性化状態から活性化状態に転換される時点から、既定のカウントタイムの間のモードを言う。ウェークアップモードでは、ウェークアップモード周波数を非活性化モード周波数ないし活性化モード周波数範囲内の周波数を動作周波数として設定する。この際、ウェークアップモード周波数は、活性化モード周波数の１／２倍であり得るが、これに限定されず、多様な実施形態によって、レジスタから中間周波数に相応する分周比Ｄｉｖを選択して、多様に設定可能である。
非活性化Ｉｄｌｅモードの機能ブロック１２０に急に活性化モード周波数の動作クロックＣＬＫｏｕｔが印加されれば、機能ブロック１２０に印加される電流が急に増加して、電圧降下が起こりうる。したがって、非活性化モード周波数と活性化モード周波数との中間段階である第３周波数を一定カウントタイムの間に印加する。その結果、機能ブロック１２０は、非活性化モード周波数から活性化モード周波数に突然の遷移によって起こる電圧降下なしで動作して、誤動作が防止される。
【００４０】
図８は、本発明のさらに他の一実施形態によるＳｏＣの信号タイミング図である。
図８を参照すると、機能ブロック１２０の活性化モードＡｃｔｉｖｅ及び非活性化モードＩｄｌｅである時、クロックコントローラ１００の動作は、図６及び図７と同一である。説明の便宜上、図７との差異点を中心に説明する。
機能ブロック１２０が、非活性化状態Ｉｄｌｅから活性化状態Ａｃｔｉｖｅに転換される時、クロックコントローラ１００は、図５と異なって、ウェークアップモードが、多数の段階で存在する。即ち、機能ブロック１２０は、図６と異なって、少なくとも２つ以上のウェークアップモードを有しうる。説明の便宜上、ウェークアップモード周波数は、少なくとも２つ以上のウェークアップモード周波数を含むとする。
【００４１】
より具体的に説明すれば、機能ブロック１２０が、非活性化状態Ｉｄｌｅから活性化状態Ａｃｔｉｖｅに転換される時点から既定の第１カウントタイムＷａｋｅｕｐ１の間は、クロックコントローラ１００は、第１ウェークアップモード周波数で動作クロックを印加する。
第１カウントタイムＷａｋｅｕｐ  １が満了（ｅｘｐｉｒｅｄ）する時点から既定の第２カウントタイムＷａｋｅｕｐ  ２の間は、クロックコントローラ１００は、第２ウェークアップ周波数で動作クロックを印加する。この際、第１ウェークアップ周波数と第２ウェークアップ周波数とは、非活性化モード周波数ないし活性化モード周波数の範囲内であって、第１ウェークアップ周波数は、第２ウェークアップ周波数より小さいことがある。すなわち、モード検出部３５によって少なくとも２つ以上の互いに異なるウェークアップ周波数が、それぞれのカウントタイムの間に設定される。
前記実施形態では、２つのウェークアップモード周波数のみを例示しているが、これに限定されるものではなく、多様な実施形態によって、２つ以上のウェークアップモード周波数で具現することができる。
【００４２】
図９は、図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図である。説明の便宜上、図２との差異点を中心に説明する。
図９を参照すると、クロックコントローラ１００は、分周器コントローラ５０、及び分周器２０を含む。分周器コントローラ５０は、モード検出部５５、及びルックアップテーブル（ＬｏｏｋＵｐ  Ｔａｂｌｅ；以下、ＬＵＴと称する）５３を含む。
モード検出部５５は、有限状態マシン（ＦＳＭ）の形態で具現可能である。一例として、モード検出部５５は、機能ブロックの状態Ｓｔａｔｅをモニタリングする。モード検出部５５は、モニタリングされた状態に基づいて、複数の状態（非活性化モード、ウェークアップモード、活性化モード）のうちの何れか１つに該当する選択信号Ｄを出力する。すなわち、モード検出部５５は、図２のモード検出部３５と同様に動作する。
【００４３】
ルックアップテーブル（ＬＵＴ）５３は、多数の分周比を保存し、選択信号Ｓｅｌ  Ｄによって、分周比のうちの何れか１つを出力する。
一例として、ルックアップテーブル５３は、多数の分周比を保存し、選択信号Ｄによって、非活性化モード時、非活性化モード分周比を出力し、選択信号Ｄによって、活性化モード時、活性化モード分周比を出力し、ウェークアップモード時、少なくとも１つのウェークアップモード分周比を出力する。非活性化モード分周比ないし活性化モード分周比は、０ではない互いに異なる数であって、非活性化モード分周比は、ウェークアップモード分周比より大きく、ウェークアップモード分周比は、活性化モード分周比より大きい。
【００４４】
図１０は、本発明の一実施形態によるクロック制御方法を示すフローチャートである。
図１０を参照すると、まず、モード検出部３５は、機能ブロック１２０が非活性モードであるか否かをモニタリングする（ステップＳ１０）。
もし、機能ブロック１２０が、非活性化状態であれば、モード検出部３５は、機能ブロックが非活性化状態に留まっているか（ステップＳ１１）、または非活性化状態から活性化状態に遷移される瞬間であるか否かを判断する（ステップＳ１２）。機能ブロック１２０が、非活性化状態から活性化状態に遷移される瞬間ではなければ、モード検出部３５は、非活性化モードと判断して、非活性化モード選択信号Ｓｅｌ  ０を出力する（ステップＳ１３）。そして、クロックコントローラ１００は、非活性化モードに相応して基準クロックの周波数を非活性化モード分周比で分周する（ステップＳ１４）。この際、クロックコントローラは、Ｓ１４段階の非活性化モード周波数を動作周波数にセッティングし（ステップＳ１５）、前記動作周波数を有した動作クロックを機能ブロック１２０に供給する（ステップＳ２４）。
【００４５】
モード検出部３５は、機能ブロックが、前記各動作クロックＣＬＫｏｕｔによって動作しても、引き続き機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
再びＳ１１段階に戻って、機能ブロック１２０が非活性化状態であり、非活性化状態から活性化状態に転換された時点であれば（ステップＳ１２）、モード検出部３５は、ウェークアップモードと判断し（ステップＳ１６）、ウェークアップモード選択信号を出力する。クロックコントローラ１００は、カウンタ（図３に図示）のカウントタイムを初期化し（ステップＳ１７）、モード検出部３５は、ウェークアップモードに相応して基準クロックの周波数をウェークアップモード分周比で分周する（ステップＳ１８）。クロックコントローラは、Ｓ１８段階のウェークアップモード周波数を動作周波数にセッティングし（ステップＳ１９）、既定のカウントタイムが経過するまで（ステップＳ２０）、前記動作周波数を有した動作クロックを機能ブロック１２０に供給する（ステップＳ２４）。前記カウントタイムが経過すれば、クロックコントローラ１００は、基準クロックの周波数を活性化モード分周比で分周し（ステップＳ２２）、活性化モード周波数を動作周波数にセッティングして（ステップＳ２３）、機能ブロック１２０に供給する（ステップＳ２４）。
【００４６】
モード検出部３５は、機能ブロックが、前記各動作クロックＣＬＫｏｕｔによって動作しても、引き続き前記機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
再びＳ１１段階に戻って、機能ブロック１２０が活性化状態であれば、モード検出部３５は、活性化モードと判断する（ステップＳ２１）。そして、活性化モードに相応して基準クロックの周波数を前記活性化モード分周比で分周する（ステップＳ２２）。クロックコントローラ１００は、Ｓ２１段階から分周された結果である第２周波数を動作周波数として設定し（ステップＳ２３）、前記動作周波数を有した動作クロックを機能ブロックに供給する（ステップＳ２４）。
モード検出部３５は、機能ブロックが、前記各動作クロックＣＬＫｏｕｔによって動作しても、引き続き前記機能ブロックの状態をモニタリングして、その状態による動作クロックを供給できるように制御する。
【００４７】
図１１は、図１に示されたＳｏＣの他の一実施形態を具体的に示すブロック図である。
図１１を参照すると、ＳｏＣ１０″は、クロックコントローラ１００′を含む。クロックコントローラ１００′は、分周器コントローラ３０′、及びクロック信号マルチプレクサ１１２０を含む。分周器コントローラ３０′は、モード検出部３５を含む。ＳｏＣ１０″は、また少なくとも１つの機能ブロック１２０、及び複数のクロック生成器１１０ａ、１１０ｂ、１１０ｃを含む。モード検出部３５は、図２に示されたモード検出部３５と同一または類似しているので、説明の便宜上、具体的な説明は省略する。
図２のクロックコントローラ１００のように、図１１のクロックコントローラ１００′は、機能ブロック１２０の状態をモニタリングし、機能ブロック１２０のモニタリングされた状態によって、動作クロックＣＬＫｏｕｔの動作周波数をセッティングする。クロックコントローラ１００′は、機能ブロック１２０にセッティングされた周波数の動作クロックＣＬＫｏｕｔを出力する。
【００４８】
前述したように、クロックコントローラ１００′は、分周器コントローラ３０′、及びクロック信号マルチプレクサ１１２０を含む。分周器コントローラ３０′は、機能ブロックの状態をモニタリングし、該モニタリングされた状態に基づいた選択信号Ｓｅｌを出力する。クロック信号マルチプレクサ１１２０は、モード検出部３５の選択信号Ｓｅｌに基づいて、複数のクロック信号ＣＬＯＣＫ  Ａ、ＣＬＯＣＫ  Ｂ、ＣＬＯＣＫ  Ｃのうちの何れか１つを選択して、動作クロックＣＬＫｏｕｔに出力する。
一例として、分周器コントローラ３０′は、機能ブロック１２０から出力される状態信号Ｓｔａｔｅによって、機能ブロック１２０の状態をモニタリングすることができる。
【００４９】
もし、状態信号Ｓｔａｔｅがロジックハイ（または、‘１’）であれば、分周器コントローラ３０′は、機能ブロック１２０が活性化モードであると判断する。しかし、もし、状態信号Ｓｔａｔｅがロジックロー（または、‘０’）であれば、分周器コントローラ３０′は、機能ブロック１２０が非活性化モードであると判断する。
図１１のＳｏＣ１０″は、複数のクロック信号生成器１１０ａないし１１０ｃを含む。各クロック信号生成器は、複数のクロック信号ＣＬＯＣＫ  ＡないしＣＬＯＣＫ  Ｃのうちの何れか１つのクロック信号のみを生成させる。それぞれのクロック信号生成器は、非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数のそれぞれに相応する周波数のクロック信号を生成させる。非活性化モード周波数、活性化モード周波数、及びウェークアップモード周波数は、図１ないし図１０で説明した通りである。
【００５０】
図１２は、図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図である。図１２は、図２のＳｏＣと構成が類似しているが、電圧検出部３１をさらに含む。
図１２を参照すると、分周器コントローラ３０″は、レジスタブロック３２、モード検出部３５′、及び選択器３１を含む。レジスタブロック３２及び選択器３１は、図２に示されたものと同一または類似しているので、以下、説明の便宜上、具体的な説明は省略する。
モード検出部３５′は、図２に示されたモード検出部３５と同じ原理で動作する。選択器３１は、モード検出部３５′の選択信号Ｓｅｌによって、複数の分周比Ｄ０ないしＤｎ−１のうちの１つの分周比Ｄｉｖを出力する。
例えば、モード検出部３５′が、機能ブロック１２０が非活性化モードであると判断した場合、モード検出部３５′は、非活性化選択信号Ｓｅｌ  ０を出力する。選択器３１は、非活性化選択信号Ｓｅｌ  ０によって、レジスタ０（Ｒｅｇ  ０）から非活性化モード分周比Ｄ０を受信して出力する。分周器２０は、非活性化モード分周比Ｄ０で基準クロックの周波数を分周して、非活性化モード周波数を機能ブロックの動作周波数ＣＬＫｏｕｔにセッティングする。
【００５１】
一例として、機能ブロック１２０が、活性化状態から非活性化状態に変われば、機能ブロックの動作周波数ＣＬＫｏｕｔも状態変化によって、活性化モード周波数から非活性化モード周波数に変わる。その結果、ＳｏＣ１０での浪費電力が減らしうる。
モード検出部３５′が、機能ブロック１２０が活性化状態にあると判断すれば、モード検出部３５′は、活性化モード選択信号Ｓｅｌ  ｎ−１を出力する。選択器３１は、活性化モード選択信号Ｓｅｌ  ｎ−１に基づいて、レジスタｎ−１（Ｒｅｇ  ｎ−１）から受信した活性化モード分周比Ｄｎ−１を出力する。分周器２０は、機能ブロックの動作クロックＣＬＫｏｕｔの動作周波数に活性化モード周波数をセッティングする。活性化モード周波数は、基準周波数を活性化モード分周比で分周したものである。
【００５２】
機能ブロック１２０が、非活性化モードから活性化モードに変わる時、モード検出部３５′は、ウェークアップモードと判断して、少なくとも１つのウェークアップモード選択信号Ｓｅｌ  ｋを出力することができる。選択器３１は、ウェークアップモード選択信号Ｓｅｌ  ｋに基づいて、レジスタｋ（Ｒｅｇ  ｋ）から受信したウェークアップモード分周比Ｄｋを出力することができる。分周器２０は、機能ブロックの動作クロックＣＬＫｏｕｔの動作周波数にウェークアップモード周波数をセッティングする。ウェークアップモード周波数は、基準周波数をウェークアップモード分周比で分周したものである。
図１２の分周器コントローラ３０″は、電圧検出器１２３１をさらに含みうる。電圧検出器１２３１は、機能ブロック１２０の電圧レベルをモニタする。動作クロックの動作周波数が、少なくとも１つのウェークアップモード周波数のうちの何れか１つにセッティングされた後、機能ブロックの電圧レベルが安定化すれば、電圧レベル安定性信号を出力する。電圧レベル安定性信号に応答して、モード検出部３５′は、活性化モード（または、次のウェークアップモード段階）に遷移し、活性化モード選択信号Ｓｅｌ  ｎ−１を出力して、活性化モード周波数を動作クロックの動作周波数にセッティングする。
【００５３】
図１３は、図１２に示されたモード検出部の動作モードを有限状態マシンで示すダイヤグラムである。モード検出部３５′は、機能ブロックの現在状態によって分周比Ｄｉｖを選択するために、選択信号Ｓｅｌを出力する。
図１３を参照すると、有限状態マシン（ＦＳＭ）は、機能ブロックの状態に対する複数のモード（合計ｎ−２、有限個）を含む。各モードは、ある条件によって互いに連結されている。有限状態マシンは、ハードウェア、ソフトウェアまたはその結合で具現可能である。
一例として、機能ブロック１２０の初期状態が活性化状態であれば、モード検出部３５′は、活性化モード分周比Ｄｎ−１を選択するために、活性化モード選択信号を出力する。活性化モード選択信号によって、選択器３１は、レジスタｎ−１（Ｒｅｇ  ｎ−１）を選択し、分周器２０に活性化モード分周比Ｄｎ−１を出力する。
【００５４】
機能ブロック１２０が、活性化状態から非活性化状態に変化する時、モード検出部３５′は、機能ブロック１２０が非活性化状態であることを検出し、非活性化モード分周比Ｄ０を選択するために、非活性化モード選択信号Ｓｅｌ  ０を出力する。非活性化モード選択信号によって、選択器３１は、レジスタ０（Ｒｅｇ  ０）を選択し、分周器２０に非活性化モード分周比Ｄ０を出力する。
機能ブロック１２０が、非活性化状態から活性化状態に変化する時、モード検出部３５′は、変化を検出してウェークアップモードと判断する。ウェークアップモードである間に、モード検出部３５′は、少なくとも１つのウェークアップモード選択信号Ｓｅｌｋを出力する。少なくとも１つのウェークアップモード選択信号Ｓｅｌ  ｋによって、選択器３１は、レジスタｋ（Ｒｅｇ  ｋ）を選択し、分周器２０にウェークアップモード分周比Ｄｋを出力する。この際、少なくとも１つのウェークアップモード選択信号Ｓｅｌｋは、ウェークアップモード選択信号Ｓｅｌ  １ないしＳｅｌ  ｎ−２のうちの１つであり得る（ｎは、分周比の個数を表わす整数であり、ｎ−２は、ウェークアップモード内の段階（ｓｔａｇｅ）の個数を表わす）。
【００５５】
ウェークアップモードは、１つまたはそれ以上Ｗａｋｅｕｐ  １ないしＷａｋｅｕｐｎ−２の段階を有する。ウェークアップモード段階の数は、あらかじめ設定されうる。順序（ｏｒｄｅｒ）は、ユーザの設定またはデザインプロセッシング要求によって変わり、非活性化モード周波数から活性化モード周波数に変化する順序で具現可能である。
一例として、モード検出部３５′によるウェークアップモード段階の間の変化（ｔｒａｎｓｉｔｉｏｎ）は、図１２に示したように、電圧レベル検出部１２３１によってトリガされうる。モード検出部３５′は、機能ブロック１２０の電圧レベルが安定化されるまでウェークアップモード周波数を動作周波数として印加する。すなわち、モード検出部３５′は、ＳｏＣ１０の状態が変化するまで（例えば、安定化）、動作周波数として各ウェークアップモード段階に相応する周波数を印加する。モード検出部３５′が、最後（ｆｉｎａｌ）のウェークアップモード段階に至って、機能ブロック１２０の電圧レベルが安定化すれば、モード検出部３５′は、活性化モードに進入する。そして、モード検出部３５′は、活性化モード選択信号Ｓｅｌ  ｎ−１を出力する。
【００５６】
図１４は、図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図である。図１４のＳｏＣは、図２のＳｏＣと類似しているが、クロックコントローラ１００は、動作周波数セッティング回路６０を含む。
図１４を参照すると、クロックコントローラ１００は、モード検出回路３５と動作周波数セッティング回路６０とを含む。モード検出回路３５は、機能ブロック１２０の動作状態の変化を検出し、該検出された動作状態の変化によって、選択信号を生成させる。動作周波数セッティング回路６０は、選択信号によって、機能ブロック１２０の動作周波数を設定する。
動作周波数セッティング回路６０は、選択信号Ｓｅｌが活性化状態から非活性化状態に変われば、機能ブロック１２０の動作周波数を減少させる。この際、減少する動作周波数は、０より大きい。動作周波数セッティング回路６０は、選択信号Ｓｅｌが非活性化状態から活性化状態に変われば、機能ブロック１２０の動作周波数を増加させる。
【００５７】
他の一例として、選択信号Ｓｅｌが、非活性化状態から活性化状態に変われば、動作周波数セッティング回路６０は、機能ブロック１２０の動作周波数を第１周波数から第２周波数に増加させる。選択信号Ｓｅｌが、非活性化状態から活性化状態に変わった時点から第１タイム区間が満了すれば、動作周波数セッティング回路６０は、機能ブロック１２０の動作周波数を第２周波数から第３周波数に増加させる。動作周波数セッティング回路６０は、選択信号Ｓｅｌが非活性化状態から活性化状態に変わった時点から第２タイム区間が満了すれば、機能ブロック１２０の動作周波数を前記第３周波数から第４周波数に増加させる。
動作周波数セッティング回路６０は、分周回路６３、選択回路６１、及びレジスタブロック６２を含む。分周回路６３、選択回路６１、及びレジスタブロック６２は、図２に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
【００５８】
図１５は、図１に示されたＳｏＣのさらに他の一実施形態を具体的に示すブロック図である。図１５に示されたＳｏＣは、図１４のＳｏＣと類似しているが、動作周波数セッティング回路７０が、ルックアップテーブル７１を含む。
図１５を参照すると、ルックアップテーブル７１は、複数の分周比を保存し、モード検出回路５５の選択信号Ｄによって、複数の分周比のうちの何れか１つを出力する。モード検出回路５５及び分周回路７２は、図２に示されたものと同一であるか、同様に動作を行うので、説明の便宜上、具体的な説明は省略する。
【００５９】
図１６は、本発明の実施形態によるＳｏＣを含んだ半導体システムのブロック図である。
図１６を参照すると、半導体システム１０００は、携帯電話、スマートフォン、タブレットコンピュータ（ｔａｂｌｅｔ  ｃｏｍｐｕｔｅｒ）、ＰＤＡ、ＥＤＡ（Ｅｎｔｅｒｐｒｉｓｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルスチルカメラ（ＤｉｇｉｔａｌＳｔｉｌｌ  Ｃａｍｅｒａ）、デジタルビデオカメラ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｃａｍｅｒａ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＰＤＮ（Ｐｅｒｓｏｎａｌ  Ｎａｖｉｇａｔｉｏｎ  ＤｅｖｉｃｅまたはＰｏｒｔａｂｌｅ  Ｎａｖｉｇａｔｉｏｎ  Ｄｅｖｉｃｅ）、携帯用ゲームコンソール（Ｈａｎｄｈｅｌｄ  Ｇａｍｅ  Ｃｏｎｓｏｌｅ）、または電子ブック（ｅ−ｂｏｏｋ）のように携帯用装置（Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ）として具現可能である。
【００６０】
半導体システム１０００は、ＳｏＣ２００、オシレータ２１０、外部メモリ装置２２０、及びディスプレイデバイス２３０を含む。ＳｏＣ２００は、アプリケーションプロセッサ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）であり得る。アプリケーションプロセッサは、半導体システム１０００の動作を全般的に制御することができる。
ＳｏＣ２００は、クロックコントローラ１００、クロック生成器１１０、ＣＰＵ１２０、ＧＰＵ１２５、ＬＣＤコントローラ１３０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６０、メモリコントローラ１５０、及びバスを含みうる。ＳｏＣ２００は、示した構成要素以外にも、他の構成要素、例えば、電源管理ユニット（ｐｏｗｅｒ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ）、ＴＶプロセッサなどをさらに含みうる。機能ブロックは、ＣＰＵ１２０、ＧＰＵ１２５、メモリコントローラ１５０、及び周辺回路制御ユニット（図示せず）などを意味する。
【００６１】
ＣＰＵ１２０は、メモリ１５０または２２０に保存されたプログラム及び／またはデータを処理または実行することができる。例えば、ＣＰＵ１２０は、クロックコントローラ１００から出力された動作クロックに応答して、前記プログラム及び／または前記データを処理または実行することができる。
ＣＰＵ１２０は、マルチコアプロセッサ（ｍｕｌｔｉ−ｃｏｒｅ  ｐｒｏｃｅｓｓｏｒ）として具現可能である。前記マルチコアプロセッサは、２つまたはそれ以上の独立した実質的なプロセッサ（‘コア’と呼ばれる）を有する１つのコンピューティングコンポーネント（ｃｏｍｐｕｔｉｎｇ  ｃｏｍｐｏｎｅｎｔ）であり、プロセッサのそれぞれは、プログラム命令（ｐｒｏｇｒａｍ  ｉｎｓｔｒｕｃｔｉｏｎｓ）を読み取って実行することができる。マルチコアプロセッサは、多数の加速器を同時に駆動することができるので、マルチコアプロセッサを含むデータ処理システムは、マルチ加速（ｍｕｌｔｉ−ａｃｃｅｌｅｒａｔｉｏｎ）を行うことができる。
【００６２】
ＧＰＵ１２５は、ＣＰＵ１２０の負荷を減少させ、グラフィック処理と関連したプログラム命令を読み取って行うことができる。ＧＰＵ１２５は、メモリインターフェース（図示せず）を通じてメモリ２２０から出力されたデータを受信するか、ＧＰＵ１２５によって処理されたデータをメモリ２２０に伝送する。例えば、ＧＰＵ１２５は、クロックコントローラ１００から出力された動作クロックに応答して、前記プログラム及び／またはデータを処理または実行することができる。
メモリ２２０に保存されたプログラム及び／またはデータは、必要に応じてＣＰＵ１２０またはＧＰＵ１２５内のメモリにロード（ｌｏａｄ）されうる。
ＲＯＭ１４０は、永久的なプログラム及び／またはデータを保存することができる。ＲＯＭ１４０は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）として具現可能である。
【００６３】
ＲＡＭ１６０は、プログラム、データ、または命令（ｉｎｓｔｒｕｃｔｉｏｎｓ）を一時的に保存することができる。例えば、メモリ２２０に保存されたプログラム及び／またはデータは、ＣＰＵ１２０の制御またはＲＯＭ１４０に保存されたブーティングコード（ｂｏｏｔｉｎｇ  ｃｏｄｅ）によって、ＲＡＭ１６０に一時的に保存することができる。ＲＡＭ１６０は、ＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）またはＳＲＡＭ（ｓｔａｔｉｃ  ＲＡＭ）として具現可能である。
メモリコントローラ１５０は、外部メモリ装置２２０とインターフェースするためのブロックである。メモリコントローラ１５０は、メモリ装置２２０の動作を全般的に制御し、またホストとメモリ装置２２０との間の諸般のデータ交換を制御する。例えば、メモリコントローラ１５０は、ホストの要請に応じてメモリコントローラ１５０を制御して、データを書き込み／読み出す。
ここで、ホストは、ＣＰＵ１２０、ＬＣＤコントローラ１３０のようなマスタ装置であり得る。
【００６４】
メモリ装置２２０は、データを保存するための保存場所であって、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、各種のプログラム、及び各種のデータを保存することができる。メモリ装置２２０は、ＤＲＡＭであり得るが、これに限定されるものではない。例えば、メモリ装置２２０は、不揮発性メモリ装置（フラッシュメモリ、ＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、またはＦｅＲＡＭ装置）でもあり得る。本発明の他の実施形態では、メモリ装置２２０は、ＳｏＣ２００の内部に備えられる内蔵メモリであり得る。
各構成要素は、システムバスを通じて互いに通信することができる。
ディスプレイデバイス２３０は、機能ブロック１２０にロードされたマルチメディアをディスプレイすることができる。本実施形態で、ディスプレイデバイス２３０は、ＬＣＤデバイスであるが、本発明の実施形態が、これに限定されるものではない。例えば、ディスプレイデバイスは、ＬＥＤ、ＯＬＥＤデバイス、あるいは他種のデバイスであり得る。
ディスプレイデバイスコントローラ１３０は、ディスプレイデバイス２３０の動作を制御する。
【００６５】
図１７は、図１に示されたＳｏＣを含む半導体システムの一実施形態を示す。
図１７を参照すると、半導体システム４００は、図１に示されたＳｏＣ１０、アンテナ４０１、無線送受信器４０３、入力装置４０５、及びディスプレイ４０７を含む。
無線送受信器４０３は、アンテナ４０１を通じて無線信号を送受信することができる。例えば、無線送受信器４０３は、アンテナ４０１を通じて受信された無線信号をＳｏＣ１０で処理される信号に変更することができる。
したがって、ＳｏＣ１０は、無線送受信器４０３から出力された信号を処理し、該処理された信号をディスプレイ４０７に伝送しうる。また、無線送受信器４０３は、ＳｏＣ１０から出力された信号を無線信号に変更し、該変更された無線信号をアンテナ４０１を通じて外部装置に出力することができる。
入力装置４０５は、ＳｏＣ１０の動作を制御するための制御信号またはＳｏＣ１０によって処理されるデータを入力することができる装置であって、タッチパッド（ｔｏｕｃｈｐａｄ）とコンピュータマウス（ｃｏｍｐｕｔｅｒ  ｍｏｕｓｅ）のようなポインティング装置（ｐｏｉｎｔｉｎｇ  ｄｅｖｉｃｅ）、キーパッド（ｋｅｙｐａｄ）、またはキーボードとして具現可能である。
【００６６】
図１８は、図１に示されたＳｏＣを含むコンピュータシステムの一実施形態を示す。図１８を参照すると、図１に示されたＳｏＣ１０を含むコンピュータシステム５００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ネットワークサーバ（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｅｒ）、タブレット（ｔａｂｌｅｔ）ＰＣ、ネットブック（ｎｅｔ−ｂｏｏｋ）、ｅリーダ（ｅ−ｒｅａｄｅｒ）、ＰＤＡ、ＰＭＰ、ＭＰ３プレーヤ、またはＭＰ４プレーヤとして具現可能である。
コンピュータシステム５００は、ＳｏＣ１０、メモリ装置５０１とメモリ装置５０１のデータ処理動作を制御することができるメモリコントローラ５０２、ディスプレイ５０３、及び入力装置５０４を含む。
ＳｏＣ１０は、入力装置５０４を通じて入力されたデータによって、メモリ装置５０１に保存されたデータをディスプレイ５０３を通じてディスプレイすることができる。例えば、入力装置５０４は、タッチパッドまたはコンピュータマウスのようなポインティング装置、キーパッド、またはキーボードとして具現可能である。ＳｏＣ１０は、コンピュータシステム５００の全般的な動作を制御し、メモリコントローラ５０２の動作を制御することができる。
実施形態によって、メモリ装置５０１の動作を制御することができるメモリコントローラ５０２は、ＳｏＣ１０の一部として具現され、またＳｏＣ１０と別途のチップとして具現可能である。
【００６７】
図１９は、図１に示されたＳｏＣを含むコンピュータシステムの他の実施形態を示す。図１９を参照すると、図１に示されたＳｏＣ１０を含むコンピュータシステム６００は、イメージ処理装置（ｉｍａｇｅ  ｐｒｏｃｅｓｓ  ｄｅｖｉｃｅ）、例えば、デジタルカメラまたはデジタルカメラ付き携帯電話またはスマートフォンとして具現可能である。
コンピュータシステム６００は、ＳｏＣ１０、メモリ装置６０１とメモリ装置６０１のデータ処理動作、例えば、ライト動作またはリード動作を制御することができるメモリコントローラ６０２を含む。また、コンピュータシステム６００は、イメージセンサ６０３、及びディスプレイ６０４をさらに含む。
コンピュータシステム６００のイメージセンサ６０３は、光学イメージをデジタル信号に変換し、該変換されたデジタル信号は、ＳｏＣ１０またはメモリコントローラ６０２に伝送される。ＳｏＣ１０の制御によって、前記変換されたデジタル信号は、ディスプレイ６０４を通じてディスプレイされるか、またはメモリコントローラ６０２を通じてメモリ装置６０１に保存することができる。
また、メモリ装置６０１に保存されたデータは、ＳｏＣ１０またはメモリコントローラ６０２の制御によって、ディスプレイ６０４を通じてディスプレイされる。実施形態によって、メモリ装置６０１の動作を制御することができるメモリコントローラ６０２は、ＳＯＣ１０の一部として具現され、またＳｏＣ１０と別個のチップとして具現可能である。
【００６８】
図２０は、図１に示されたＳｏＣを含むメモリシステムのさらに他の実施形態を示す。図２０を参照すると、メモリシステム７００は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のようなデータ処理装置として具現可能である。
メモリシステム７００は、多数のメモリ装置７０１、多数のメモリ装置７０１のそれぞれのデータ処理動作を制御することができるメモリコントローラ７０２、ＤＲＡＭのような揮発性メモリ装置７０３、メモリコントローラ７０２とホスト７０４との間で送受信するデータを揮発性メモリ装置７０３に保存することを制御するＳｏＣ１０を含みうる。
本発明は、またコンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがある。
また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行可能である。そして、本発明を具現するための機能的な（ｆｕｎｃｔｉｏｎａｌ）プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマによって容易に推論されうる。
【００６９】
図２１は、機能ブロックの状態を考慮せずに動作クロックを印加した場合の電流及び電圧グラフであり、図２２は、機能ブロックの状態を考慮して動作クロックを印加した場合の電流及び電圧グラフである。
図２１を参照すると、機能ブロック１２０の状態を考慮せずに動作クロックを印加した場合、電圧降下Ａが見られる。しかし、図２２に示したように、機能ブロック１２０が、非活性化モードから活性化モードに転換時、第３周波数の動作クロックを印加する場合、機能ブロック１２０に電流Ｖが徐々に印加されて、電圧降下Ｂの幅が減少する。
また、機能ブロックの状態を考慮せずに動作クロックを印加した場合、非活性化モード周波数で急に大きな活性化モード周波数の動作クロックが印加され、図１６の電流Ｉスロープ（ｓｌｏｐｅ）が急上昇する。しかし、図２２に示したように、機能ブロック１２０が、非活性化モードから活性化モードに転換時、ウェークアップモード周波数の動作クロックをカウントタイムの間に印加する場合、機能ブロック１２０に電流Ｉが徐々に印加されて、電流スロープが比較的緩やかに上昇する。その結果、機能ブロック１２０は、大きな電圧降下Ａまたは電流スロープの急上昇による誤動作なしに動作することができる。
【産業上の利用可能性】
【００７０】
本発明は、機能ブロックを含むＳｏＣのクロック制御方法、それを具現したＳｏＣ、及びそれを含む半導体システム関連の技術分野に適用可能である。
【図１】
0005997029.tif 000002
【図２】
0005997029.tif 000003
【図３】
0005997029.tif 000004
【図４】
0005997029.tif 000005
【図５】
0005997029.tif 000006
【図６】
0005997029.tif 000007
【図７】
0005997029.tif 000008
【図８】
0005997029.tif 000009
【図９】
0005997029.tif 000010
【図１０】
0005997029.tif 000011
【図１１】
0005997029.tif 000012
【図１２】
0005997029.tif 000013
【図１３】
0005997029.tif 000014
【図１４】
0005997029.tif 000015
【図１５】
0005997029.tif 000016
【図１６】
0005997029.tif 000017
【図１７】
0005997029.tif 000018
【図１８】
0005997029.tif 000019
【図１９】
0005997029.tif 000020
【図２０】
0005997029.tif 000021
【図２１】
0005997029.tif 000022
【図２２】
0005997029.tif 000023