(57)【要約】【課題】３次元作業負荷を用いてＤＶＦＳ政策を行うＳｏＣ及びその動作方法を提供する。【解決手段】３次元（３Ｄ）入力データを受信するグラフィックプロセッサユニット（ＧＰＵ）と、３Ｄ入力データを受信し、３Ｄ入力データに基づいて、ＧＰＵの動作周波数及び動作電圧を調節する中央処理装置（ＣＰＵ）と、を含む半導体装置が提供される。ＧＰＵは、調節された動作周波数及び動作電圧に基づいて、３Ｄ入力データに対するイメージプロセッシングを行う。【選択図】      図５
2014053006.tif 000002
【特許請求の範囲】
【請求項１】
３次元（３Ｄ）入力データを受信するグラフィックプロセッサユニット（ＧＰＵ）と、
前記３Ｄ入力データを受信し、前記３Ｄ入力データに基づいて、前記ＧＰＵの動作周波数及び動作電圧を調節する中央処理装置（ＣＰＵ）と、を含み、
前記ＧＰＵは、前記調節された動作周波数及び動作電圧に基づいて、前記３Ｄ入力データに対するイメージプロセッシングを行う半導体装置。
【請求項２】
前記３Ｄ入力データは、
前記３Ｄ入力データの各フレームの頂点（ｖｅｒｔｉｃｅｓ）数を含む請求項１に記載の半導体装置。
【請求項３】
前記３Ｄ入力データは、
前記３Ｄ入力データの各フレームのテクスチャ（ｔｅｘｔｕｒｅｓ）数をさらに含む請求項２に記載の半導体装置。
【請求項４】
前記半導体装置は、システム・オン・チップ（Ｓｙｓｔｅｍ−ｏｎ  Ｃｈｉｐ；ＳｏＣ）である請求項２に記載の半導体装置。
【請求項５】
前記ＧＰＵの動作周波数及び動作電圧は、
前記頂点数及び前記テクスチャ数のいずれも（ｂｏｔｈ）がそれぞれの既定のスレショルド範囲内にいない時に変更される請求項３に記載の半導体装置。
【請求項６】
第１  ３次元（３Ｄ）入力データを受信し、第１出力を生成するグラフィックプロセッサユニット（ＧＰＵ）と、
前記第１出力に基づいて第２出力を生成し、前記第２出力は、前記第２出力のフレームアップデート速度（ｆｒａｍｅ  ｕｐｄａｔｅ  ｒａｔｅ）を含むディスプレイコントローラと、
第２  ３Ｄ入力データ及び前記第２出力を受信し、前記第２  ３Ｄ入力データ及び前記第２出力に基づいて、前記ＧＰＵの動作周波数及び動作電圧を調節する中央処理装置（ＣＰＵ）と、を含み、
前記ＧＰＵは、前記調節された動作周波数及び動作電圧に基づいて、前記第２  ３Ｄ入力データに対するイメージプロセッシングを行う半導体装置。
【請求項７】
前記第１及び第２  ３Ｄ入力データは、
前記第１及び第２  ３Ｄ入力データのそれぞれの各フレームの頂点数を含む請求項６に記載の半導体装置。
【請求項８】
前記第１及び第２  ３Ｄ入力データは、
前記第１及び第２  ３Ｄ入力データのそれぞれの各フレームのテクスチャ数をさらに含む請求項７に記載の半導体装置。
【請求項９】
前記半導体装置は、
システム・オン・チップ（ＳｏＣ）である請求項７に記載の半導体装置。
【請求項１０】
前記ＧＰＵの動作周波数及び動作電圧は、
前記頂点数及び前記テクスチャ数のうち少なくとも１つが既定のスレショルド範囲（ｔｈｒｅｓｈｏｌｄ  ｒａｎｇｅ）内にいない時に変更される請求項９に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置（例えば、システム・オン・チップ）及びその動作方法に係り、より詳細には、グラフィックプロセッサの作業負荷に応じて動的に動作周波数と電圧とを調節することができる半導体装置（例えば、システム・オン・チップ）及びその動作方法に関する。
【背景技術】
【０００２】
システム・オン・チップ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ：ＳｏＣ）は、プロセッサ、マルチメディア（ｍｕｌｔｉｍｅｄｉａ）、グラフィック（ｇｒａｐｈｉｃ）、インターフェース、及び保安などの多様な機能を含むさらに複雑なシステムに発展している。
バッテリを使う携帯用装置（ｐｏｒｔａｂｌｅ  ｄｅｖｉｃｅ）に多様な機能が集約されながら、携帯用装置の性能だけではなく、携帯用装置の消耗電力量を最小化する方策についての研究が進められている。その一環として、ＤＶＦＳ（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ：以下、ＤＶＦＳと称する）政策が使われる。
【０００３】
ＤＶＦＳ技術は、アルゴリズム（ａｌｇｏｒｉｔｈｍ）を通じてＣＰＵの周波数（Ｆｒｅｑｕｅｎｃｙ）と電圧（Ｖｏｌｔａｇｅ）とを調節する技術である。性能と消耗電力は、互いに対照的な（ｔｒａｄｅ−ｏｆｆ）関係にある。したがって、消費電力を減らすためには、性能を低下させなければならない。
ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）の場合、動作時と非動作時のそれぞれの場合のみに動的に電力を調節した。これにより、ＧＰＵが持続的に動作する場合、不要な電力を消費する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７５６２２４５号公報
【特許文献２】米国特許出願公開２００９−００９６７９７号公報
【特許文献３】米国特許出願公開２０１０−０１２３７２７号公報
【特許文献４】韓国特許出願公開２００９−００７１８２３号
【特許文献５】韓国特許出願公開２００３−００８５７９８号
【特許文献６】韓国特許出願公開２０１０−００５１７５０号
【特許文献７】米国特許出願公開２００９−００７３１６８号公報
【特許文献８】米国特許出願公開２０１０−００３０５００号公報
【特許文献９】特表２０１１−５０７０８０号公報
【特許文献１０】特許第３９１３５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、ＧＰＵの入力データ及びディスプレイコントローラの出力データのうち少なくとも１つによって動的に動作周波数と動作電圧とを調節することができるシステム・オン・チップ及びその動作方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、３次元（３Ｄ）入力データを受信するグラフィックプロセッサユニット（ＧＰＵ）と、前記３Ｄ入力データを受信し、前記３Ｄ入力データに基づいて、前記ＧＰＵの動作周波数及び動作電圧を調節する中央処理装置（ＣＰＵ）と、を含む半導体装置（例えば、ＳｏＣ）が提供される。前記ＧＰＵは、前記調節された動作周波数及び動作電圧に基づいて、前記３Ｄ入力データに対するイメージプロセッシングを行う。
【０００７】
本発明の他の実施形態によれば、第１  ３次元（３Ｄ）入力データを受信し、第１出力を生成するグラフィックプロセッサユニット（ＧＰＵ）と、前記第１出力に基づいて第２出力を生成し、前記第２出力は、前記第２出力のフレームアップデート速度（ｆｒａｍｅｕｐｄａｔｅ  ｒａｔｅ）を含むディスプレイコントローラと、第２  ３Ｄ入力データ及び前記第２出力を受信し、前記第２  ３Ｄ入力データ及び前記第２出力に基づいて、前記ＧＰＵの動作周波数及び動作電圧を調節する中央処理装置（ＣＰＵ）と、を含む半導体装置（例えば、ＳｏＣ）が提供される。前記ＧＰＵは、前記調節された動作周波数及び動作電圧に基づいて、前記第２  ３Ｄ入力データに対するイメージプロセッシングを行う。
【０００８】
本発明のさらに他の実施形態によれば、３Ｄ入力データを受信し、前記入力データに基づいて処理された（ｐｒｏｃｅｓｓｅｄ）入力データを生成するＧＰＵと、前記処理された入力データに基づいてフレームアップデート速度を生成するディスプレイコントローラと、前記フレームアップデート速度及び前記入力データを受信し、前記入力データ及び前記フレームアップデート速度のうち少なくとも１つに基づいて、前記ＧＰＵの動作周波数及び動作電圧を調節するＣＰＵと、を含む半導体装置（例えば、ＳｏＣ）が提供される。
【０００９】
前述した課題を解決するための実施形態によれば、ＧＰＵ及びディスプレイコントローラを含む半導体装置（例えば、システム・オン・チップ：ＳｏＣ）の動作方法は、前記ＧＰＵの入力データ及び前記ディスプレイコントローラの出力データのうち少なくとも１つを受信する段階と、前記受信したデータによって、前記ＧＰＵの動作周波数と動作電圧とを調節する段階と、を含む。
前記ＧＰＵの動作周波数と動作電圧は、前記ＧＰＵの入力データのフレーム当たりの頂点（ｖｅｒｔｅｘ）数、テクスチャ数またはテクスチャの解像度（ｄｅｇｒｅｅ  ｏｆ  ｒｅｓｏｌｕｔｉｏｎｓ）に基づいて調節される。
【００１０】
前記ＧＰＵの動作周波数と動作電圧は、前記ディスプレイコントローラの出力データのフレームアップデート速度（ｆｒａｍｅ  ｕｐｄａｔｅ  ｒａｔｅ）に基づいて調節される。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数、テクスチャ数またはテクスチャの解像度及び前記ディスプレイコントローラの出力データのフレームアップデート速度に基づいて調節される。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数及び前記フレームアップデート速度にそれぞれ加重値を適用して算出された値によって決定されうる。
【００１１】
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数及び前記フレームアップデート速度のうち少なくとも１つが既定の臨界範囲を外れる時に変更されうる。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数及び前記フレームアップデート速度が既定の臨界範囲をいずれも外れる時に変更されうる。
前記ＧＰＵの動作周波数と動作電圧の調節段階は、既定の周期ごとに反復されうる。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数、前記フレームアップデート速度及び前記ＧＰＵの動作有無が測定された時間と前記測定された時間内に前記ＧＰＵが動作する時間との比率に基づいて調節される。
【００１２】
前述した課題を解決するための実施形態によるシステム・オン・チップ（ＳｏＣ）は、入力データを受信し、前記入力データに基づいて第１出力データを生成して出力するＧＰＵと、前記第１出力データに基づいて第２出力データを生成して出力するディスプレイコントローラと、前記入力データ及び前記第２出力データのうち少なくとも１つによって、前記ＧＰＵの動作周波数及び動作電圧を調節するＣＰＵ１１０と、を含む。
前記ＧＰＵの動作周波数と動作電圧は、前記入力データのフレーム当たりの頂点数、テクスチャ数またはテクスチャの解像度に基づいて調節される。
前記ＧＰＵの動作周波数と動作電圧は、前記第２出力データのフレームアップデート速度に基づいて調節される。
【００１３】
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数及び前記第２出力データのフレームアップデート速度に基づいて調節される。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数、前記フレームアップデート速度及び前記ＧＰＵの動作有無が測定された時間と前記測定された時間内に前記ＧＰＵが動作する時間との比率に基づいて調節される。
前記ＧＰＵの動作周波数と動作電圧は、前記頂点数、前記フレームアップデート速度及び前記ＧＰＵの動作有無が測定された時間と前記測定された時間内に前記ＧＰＵが動作する時間との比率にそれぞれ加重値を適用して算出された値によって決定されうる。
【発明の効果】
【００１４】
本発明の実施形態によれば、グラフィックプロセッサで処理しなければならない入力データの種類によって、グラフィックプロセッサの作業負荷をあらかじめ予測して、動作周波数と動作電圧とを動的に調節することができる。これにより、消費電力をさらに減らしうる。
また、ディスプレイ装置にアップデートされるフレーム数を参照して、あらかじめ予測し、調節された動作周波数と動作電圧とをさらに調節することができる。これを通じて、ディスプレイ装置の性能を保証することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による電子システムのブロック図。
【図２】本発明の実施形態によるＤＶＦＳ制御部及び他の構成要素間の関係を示すブロック図。
【図３】本発明の実施形態による３Ｄ  ＤＶＦＳの信号処理過程を示すブロック図。
【図４】本発明の実施形態によるＧＰＵの作業負荷を測定する方法を示すタイミング図。
【図５】本発明の実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を概略的に示すフローチャート。
【図６Ａ】本発明の一実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を示すフローチャート。
【図６Ｂ】本発明の他の実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を示すフローチャート。
【図６Ｃ】本発明のさらに他の実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を示すフローチャート。
【図７】本発明の実施形態による半導体装置（例えば、ＳｏＣ）を含む電子システムの実施形態を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。
図１は、本発明の実施形態による電子システム１０のブロック図を示す。図２は、本発明の実施形態によるＤＶＦＳ制御部１１５及び他の構成要素間の関係を示すブロック図である。
【００１７】
図１を参照すると、電子システム１０は、携帯電話、スマートフォン、タブレットコンピュータ（Ｔａｂｌｅｔ  ｃｏｍｐｕｔｅｒ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＥＤＡ（Ｅｎｔｅｒｐｒｉｓｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルスチルカメラ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）、デジタルビデオカメラ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｃａｍｅｒａ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＰＮＤ（Ｐｅｒｓｏｎａｌ  Ｎａｖｉｇａｔｉｏｎ  ＤｅｖｉｃｅまたはＰｏｒｔａｂｌｅ  Ｎａｖｉｇａｔｉｏｎ  Ｄｅｖｉｃｅ）、携帯用ゲームコンソール（Ｈａｎｄｈｅｌｄ  Ｇａｍｅ  Ｃｏｎｓｏｌｅ）、または電子ブック（ｅ−ｂｏｏｋ）のように携帯用装置（Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ）として具現可能である。
【００１８】
電子システム１０は、半導体装置１００、メモリ装置１９０、及びディスプレイ装置１９５を含む。半導体装置１００は、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０、タイマ１３５、グラフィックプロセッシングユニット（ＧＰＵ）１４０、クロック管理部（ＣＭＵ：Ｃｌｏｃｋ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）１４５、ディスプレイコントローラ１５０、メモリコントローラ１７０、及びバス１８０を含みうる。半導体装置１００は、示された構成要素以外にも、他の構成要素をさらに含みうる。電子システム１０は、また電源管理部（ＰＭＩＣ：Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  ＩＣ）１６０をさらに含みうる。
【００１９】
図１の実施形態では、ＰＭＩＣ１６０は、半導体装置１００の外部に具現されるが、他の実施形態では、ＰＭＩＣ１６０が、半導体装置１００内に具現されうる。ＰＭＩＣ１６０は、電圧制御部１６１及び電圧発生部１６５を含みうる。
プロセッサ（ｐｒｏｃｅｓｓｏｒ）とも呼ばれるＣＰＵ１１０は、メモリ装置１９０に保存されたプログラム及び／またはデータを処理または実行することができる。例えば、ＣＰＵ１１０は、クロック信号発生器（図示せず）から出力されたクロック信号に応答して、プログラム及び／またはデータを処理または実行することができる。
【００２０】
ＣＰＵ１１０は、マルチコアプロセッサ（Ｍｕｌｔｉ−Ｃｏｒｅ  Ｐｒｏｃｅｓｓｏｒ）として具現可能である。マルチコアプロセッサは、２つまたはそれ以上の独立した実質的なプロセッサ（‘コア（ｃｏｒｅｓ）’と呼ばれる）を有する１つのコンピューティングコンポーネント（ｃｏｍｐｕｔｉｎｇ  ｃｏｍｐｏｎｅｎｔ）であり、プロセッサのそれぞれは、プログラム命令（ｐｒｏｇｒａｍ  ｉｎｓｔｒｕｃｔｉｏｎｓ）を読み出して実行することができる。マルチコアプロセッサは、多数の加速器を同時に駆動することができるので、マルチコアプロセッサを含むデータ処理システムは、マルチ加速（ｍｕｌｔｉ−ａｃｃｅｌｅｒａｔｉｏｎ）を行うことができる。
【００２１】
ＲＯＭ１２０、ＲＡＭ１３０、及びメモリ装置１９０に保存されたプログラム及び／またはデータは、必要に応じてＣＰＵ１１０のメモリにロード（ｌｏａｄ）されうる。
ＲＯＭ１２０は、永久的なプログラム及び／またはデータを保存することができる。ＲＯＭ１２０は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）として具現可能である。
【００２２】
ＲＡＭ１３０は、プログラム、データ、または命令（ｉｎｓｔｒｕｃｔｉｏｎｓ）を一時的に保存することができる。例えば、メモリ１２０または１９０に保存されたプログラム及び／またはデータは、ＣＰＵ１１０の制御またはＲＯＭ１２０に保存されたブーティングコード（ｂｏｏｔｉｎｇ  ｃｏｄｅ）によって、ＲＡＭ１３０に一時的に保存することができる。ＲＡＭ１３０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）またはＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）として具現可能である。
【００２３】
ＧＰＵ１４０は、メモリコントローラ１７０がメモリ装置１９０から読出した（ｒｅａｄ）データをディスプレイに適した信号で処理する。
ＧＰＵ１４０の内部またはＧＰＵ１４０の前段に性能測定部（ＰＭＵ：Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｎｉｔｏｒｉｎｇ  Ｕｎｉｔ）１４１が備えられうる。性能測定部１４１は、ＧＰＵ１４０の外部に備えられることもある。性能測定部１４１は、ＧＰＵ１４０の性能を測定するためのモジュールである。例えば、ＧＰＵ１４０に入力されるデータ量及び／またはＧＰＵ１４０から出力されるデータ量を測定し、ＧＰＵ１４０のメモリ使用量を測定することもできる。
【００２４】
ＣＭＵ１４５は、動作クロック信号を生成する。ＣＭＵ１４５は、位相同期ループ回路（ＰＬＬ：Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）、遅延同期ループ（ＤＬＬ：Ｄｅｌａｙｅｄ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）、水晶子（ｃｒｙｓｔａｌ）などのクロック生成装置から構成されうる。
動作クロック信号は、ＧＰＵ１４０に供給されうる。もちろん、動作クロック信号は、他の構成要素（例えば、メモリコントローラなど）に供給されることもある。
【００２５】
ＣＭＵ１４５は、ＤＶＦＳ制御部（図２の１１５）の制御によって動作クロック信号の周波数を変更することができる。例えば、ＤＶＦＳ制御部１１５は、ＧＰＵ１４０の作業負荷を予測し、該予測の結果によって、既定の複数（２以上）の政策のうち、１つを選択することができる。複数の政策（例えば、第１ＤＶＦＳ政策または第２ＤＶＦＳ政策）は、それぞれ既定の動作周波数と動作電圧とを有しうる。
ＤＶＦＳ制御部１１５は、選択された政策によってＣＭＵ１４５を制御し、これにより、ＣＭＵ１４５は、ＤＶＦＳ制御部１１５の制御を受けて、選択された政策（例えば、第１ＤＶＦＳ政策または第２ＤＶＦＳ政策）を行うために、動作クロック信号の周波数を変更することができる。
【００２６】
電圧制御部１６１は、ＤＶＦＳ制御部１１５から選択された第１ＤＶＦＳ政策または第２ＤＶＦＳ政策に基づいて電圧発生部１６５を制御することができる。電圧発生部１６５は、電圧制御部１６１の制御によって、選択された第１ＤＶＦＳ政策または第２ＤＶＦＳ政策に基づいてＧＰＵ１４０の動作電圧を生成して、ＧＰＵ１４０に出力することができる。
【００２７】
メモリコントローラ１７０は、メモリ装置１９０とインターフェースするためのブロックである。メモリコントローラ１７０は、メモリ装置１９０の動作を全般的に制御し、またホストとメモリ装置１９０との間の諸般のデータ交換を制御する。例えば、メモリコントローラ１７０は、ホストの要請に応じてメモリコントローラ１７０を制御して、メモリ装置１９０にデータを書き込むか、メモリ装置１９０からデータを読み出す。
ここで、ホストは、ＣＰＵ１１０、ＧＰＵ１４０、ディスプレイコントローラ１５０のようなマスタ装置であり得る。
【００２８】
メモリ装置１９０は、データを保存するための保存場所であって、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、各種プログラム、及び各種データを保存することができる。メモリ装置１９０は、ＤＲＡＭであり得るが、これに限定されるものではない。例えば、メモリ装置１９０は、不揮発性メモリ装置（フラッシュメモリ、ＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、またはＦｅＲＡＭ装置）でもあり得る。本発明の他の実施形態では、メモリ装置１９０は、半導体装置１００の内部に備えられる内蔵メモリであり得る。
【００２９】
各構成要素１１０、１２０、１３０、１４０、１５０、及び１７０は、システムバス１８０を通じて互いに通信することができる。
ディスプレイデバイス１９５は、ディスプレイコントローラ１５０から出力された出力映像信号をディスプレイすることができる。例えば、ディスプレイデバイス１９５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）、ＯＬＥＤ（Ｏｒｇａｎｉｃ  ＬＥＤ）、またはＡＭＯＬＥＤ（Ａｃｔｉｖｅ−Ｍａｔｒｉｘ  ＯＬＥＤ）デバイスとして具現可能である。
【００３０】
ディスプレイコントローラ１５０は、ディスプレイデバイス１９５の動作を制御する。
ＤＶＦＳ制御部１１５は、ソフトウェア（Ｓ／Ｗ）またはファームウエア（ｆｉｒｍｗａｒｅ）として具現可能である。
ＤＶＦＳ制御部１１５は、プログラムとして具現されて、メモリ１３０、１２０または１９０に搭載され、半導体装置１００がパワーオンになれば、ＣＰＵ１１０によって実行可能である。
【００３１】
ＤＶＦＳ制御部１１５は、メモリ１３０、１２０、１９０、タイマ１３５、ＧＰＵ１４０、ＣＭＵ１４５、及びＰＭＩＣ１６０を制御し、それ以外のモジュールも制御することができる。メモリ１３０、１２０、１９０、タイマ１３５、ＧＰＵ１４０、ＣＭＵ１４５、及びＰＭＩＣ１６０は、それぞれハードウェア（Ｈ／Ｗ）として具現可能である。
ＤＶＦＳ制御部１１５とメモリ１３０、１２０、１９０、タイマ１３５、ＧＰＵ１４０、ＣＭＵ１４５、及びＰＭＩＣ１６０との間には、運用体制（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及びミドルウェア（ｍｉｄｄｌｅｗａｒｅ）が介入されうる。
【００３２】
図３は、本発明の実施形態による３Ｄ  ＤＶＦＳの信号処理過程を示すブロック図である。
図１ないし図３を参照すると、ＧＰＵ１４０は、第１入力データ（例えば、３Ｄデータ）ＤＡＴＡ＿１＿ＩＮ及び第２入力データ（例えば、３Ｄデータ）ＤＡＴＡ＿２＿ＩＮをＲＯＭ１２０、ＲＡＭ１３０、またはメモリ装置１９０から受信することができる。第１入力データＤＡＴＡ＿１＿ＩＮ及び第２入力データＤＡＴＡ＿２＿ＩＮは、３次元（３Ｄ）イメージをディスプレイするための情報を含み、具体的には頂点及びテクスチャ（ｔｅｘｔｕｒｅ）データを含みうる。ＧＰＵ１４０は、第１入力データＤＡＴＡ＿１＿ＩＮをディスプレイに適するように処理して、第１出力データＤＡＴＡ＿ＯＵＴ＿１を生成し、メモリ装置１９０のフレームバッファに出力する。フレームバッファは、ＲＯＭ１２０、ＲＡＭ１３０またはメモリ装置１９０内に含まれうる。
【００３３】
ディスプレイコントローラ１５０は、メモリ装置１９０のフレームバッファから第１出力データＤＡＴＡ＿ＯＵＴ＿１を受信する。ディスプレイコントローラ１５０は、第１出力データＤＡＴＡ＿ＯＵＴ＿１に基づいて第２出力データＤＡＴＡ＿ＯＵＴ＿２を生成し、ディスプレイデバイス１９５に出力する。
【００３４】
本発明の一実施形態によれば、ＣＰＵ１１０は、第１入力データＤＡＴＡ＿１＿ＩＮを受信し、ＰＭＵ１４１から受信したＧＰＵ１４０の作業量を計算し、第１入力データＤＡＴＡ＿１＿ＩＮに対するイメージプロセッシングを行うために、前記作業量に基づいてＧＰＵ１４０の動作周波数及び動作電圧を調節する。
【００３５】
本発明の一実施形態によれば、ＣＰＵ１１０は、第２入力データＤＡＴＡ＿２＿ＩＮ及び第２出力データＤＡＴＡ＿ＯＵＴ＿２を受信し、ＰＭＵ１４１から受信したＧＰＵ１４０の作業量を計算し、第２入力データＤＡＴＡ＿２＿ＩＮに対するイメージプロセッシングを行うために、前記受信したデータによって、前記ＧＰＵ１４０の動作周波数及び動作電圧を調節することができる。具体的に、ＣＰＵ１１０は、ＤＶＦＳ制御部１１５を通じてＣＭＵ１４５を制御してＧＰＵ１４０の動作周波数を調節し、ＰＭＩＣ１６０を制御してＧＰＵ１４０の動作電圧を調節することができる。説明の便宜上、これについては、図５ないし図６Ｃでより詳しく説明する。
【００３６】
本発明の一実施形態によれば、第１時間に、第１入力データＤＡＴＡ＿１＿ＩＮが、ＣＰＵ１１０及びＧＰＵ１４０に出力される。第２時間に、ＧＰＵ１４０は、第１入力データＤＡＴＡ＿１＿ＩＮを処理してメモリ１２０、１３０、１９０に出力するための処理されたイメージデータＤＡＴＡ＿ＯＵＴ＿１を生成する。第３時間に、前記メモリは、処理されたイメージデータＤＡＴＡ＿ＯＵＴ＿１をコントローラ１５０に出力する。第４時間に、コントローラ１５０は、処理されたイメージデータＤＡＴＡ＿ＯＵＴ＿１に基づいてＣＰＵ１１０にフレームアップデート速度を送る。第５時間に、ＣＰＵ１１０は、第１入力データＤＡＴＡ＿１＿ＩＮ及び／または前記フレームアップデート速度に基づいてＧＰＵ１４０の動作周波数及び／または動作電圧を変化させる。第６時間に、ＧＰＵ１４０は、第２入力データＤＡＴＡ＿２＿ＩＮに対するイメージプロセッシングを行う。
【００３７】
図４は、本発明の実施形態によるＧＰＵの作業負荷を測定する方法を示すタイミング図である。
３次元（３Ｄ）作業負荷（ｗｏｒｋｌｏａｄ）は、測定した一定周期の時間ＴＳのうち、ＧＰＵの動作時間（Ｔ１＋Ｔ２＋Ｔ３）の比率で表すことができる。ＧＰＵの動作時間は、それぞれの３Ｄ作業に対する動作時間Ｔ１、Ｔ２、Ｔ３の和である。それぞれの３Ｄ作業に対する動作時間Ｔ１、Ｔ２、Ｔ３は、３Ｄグラフィックパイプライン上で幾何学的プロセス（Ｇｅｏｍｅｔｒｙ  ｐｒｏｃｅｓｓ；ＧＰ）及びピクセルプロセス（Ｐｉｘｅｌ  ｐｒｏｃｅｓｓ；ＰＰ）を行う時間を含み、ＧＰＵの作業開始時点と作業終了時点との差を用いて測定することができる。ＧＰＵの作業開始時点は、３ＤドライバからＧＰＵに作業を伝達して、ＧＰＵの駆動時点と定義することができる。ＧＰＵの作業終了時点は、ＧＰＵがインタラプトを通じてイベントを伝達する時点と定義することができる。例えば、ＧＰＵの作業負荷ＷＬ−ＧＰＵは、数式１によって算出される。
【００３８】
【数１】
2014053006.tif 000003
【００３９】
図５は、本発明の実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を概略的に示すフローチャートである。
図３及び図５を参照すると、ＣＰＵ１１０は、ＧＰＵ１４０の第１入力データＤＡＴＡ＿１＿ＩＮ、第２入力データＤＡＴＡ＿２＿ＩＮ及び第２出力データＤＡＴＡ＿ＯＵＴ＿２に基づいたディスプレイコントローラ１５０の出力データＤＡＴＡ＿ＯＵＴ＿２のうち少なくとも１つを受信する（ステップＳ１０１）。ＣＰＵ１１０は、第１入力データＤＡＴＡ＿１＿ＩＮ及び第２入力データＤＡＴＡ＿２＿ＩＮのうち１つのイメージプロセッシングを行うために、前記受信したデータによって、前記ＧＰＵ１４０の動作周波数と動作電圧とを調節する（ステップＳ１０３）。
【００４０】
具体的に、ＣＰＵ１１０は、第１入力データＤＡＴＡ＿１＿ＩＮの複雑性によって、ＧＰＵ１４０の作業負荷の大きさをＧＰＵ１４０の第１入力データＤＡＴＡ＿１＿ＩＮに対する作業前にあらかじめ予測して、作業負荷に応じてＤＶＦＳ政策を変更して、ＧＰＵ１４０の動作周波数と動作電圧とを調節することができる。これにより、消費電力をさらに減らしうる。
【００４１】
一例として、ＧＰＵ１４０の第１入力データＤＡＴＡ＿１＿ＩＮは、頂点及びテクスチャデータを含みうる。フレーム当たりの頂点またはテクスチャ数が多いか、第１入力データＤＡＴＡ＿１＿ＩＮが高解像度のテクスチャを有するならば、ＧＰＵ１４０の作業負荷が大きいことをあらかじめ予測することができるので、ＧＰＵ１４０の動作周波数と動作電圧とを増加させることができる。
【００４２】
例えば、エンベデッド端末のためのオープンジーエル関数（Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ  ｆｏｒ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ  ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ；ＯｐｅｎＧＬ  ＥＳ  ＡＰＩ）を用いて３Ｄレンダリングを行う場合、ｇｌＤｒａｗＡｒｒａｙ、ｇｌＤｒａｗＥｌｅｍｅｎｔ関数を用いて３Ｄ個体（ｏｂｊｅｃｔ）を描く。この際、３Ｄ個体の頂点数が、前記関数のパラメータに伝達される。したがって、前記関数内で頂点数をカウントして累積し、１フレームの最後の段階で全体頂点数の和を保存した後、初期化して、毎フレームごとに描こうとする頂点数を求めうる。フレーム当たりの頂点数を既定の基準値と比較して、フレーム当たりの頂点数が基準値よりも大きな場合、ＧＰＵ１４０の動作周波数と動作電圧とを増加させることができる。基準値は、各システムごとに異なる。
【００４３】
以上で、フレーム当たりの頂点数によって、ＧＰＵ１４０の動作周波数と動作電圧とを調節する方法を説明したが、フレーム当たりの頂点数の代わりに、第１入力データＤＡＴＡ＿１＿ＩＮまたは第２入力データＤＡＴＡ＿２＿ＩＮの複雑性を表わす他の要素を使っても良い。例えば、他の要素は、レンダリングされたピクセル（ｐｉｘｅｌ  ｒｅｎｄｅｒｅｄ）数、テクセル（ｔｅｘｅｌｓ）数及びライト（ｌｉｇｈｔｓ）数のような統計的データであり得る。
【００４４】
一方、ＣＰＵ１１０は、出力データＤＡＴＡ＿ＯＵＴ＿２のフレームアップデート速度（ｆｒａｍｅ  ｕｐｄａｔｅ  ｒａｔｅ）によってあらかじめ予測し、調節された動作周波数と動作電圧とをさらに調節して、ディスプレイ装置の性能を保証することができる。
例えば、ディスプレイコントローラ１５０は、アニメーション表現時に、ディスプレイデバイス１９５に定められたフレーム速度に合わせてフレームを伝送する。この際、毎フレームごとにどれほど変化されたフレームが伝送されるか、または以前フレームが伝送されるかをカウントして、実際のフレームアップデート速度を測定することができる。このフレームアップデート速度と既定の臨界値とを比較して、フレームアップデート速度が臨界値よりも低ければ、動作周波数と動作電圧とを増加させ、フレームアップデート速度が臨界値よりも高ければ、動作周波数と動作電圧とを減少させることができる。
【００４５】
以上、フレームアップデート速度によって、ＧＰＵ１４０の動作周波数と動作電圧とを調節する方法を説明したが、フレームアップデート速度の代わりに、他の要素を使っても良い。例えば、他の要素は、レンダリングされたピクセル数、テクセル数及びライト数のような統計的データであり得る。
ＧＰＵ１４０の動作周波数と動作電圧の調節段階は、既定の周期ごとに反復されうる。
【００４６】
図６Ａは、本発明の一実施形態による半導体装置の動作方法を示すフローチャートである。
図３及び図６Ａを参照すると、ＣＰＵ１１０は、ＧＰＵ１４０の第２入力データＤＡＴＡ＿２＿ＩＮ、第１入力データＤＡＴＡ＿１＿ＩＮ及び第１出力データＤＡＴＡ＿ＯＵＴ＿１に基づいたディスプレイコントローラ１５０の出力データＤＡＴＡ＿ＯＵＴ＿２を受信する（ステップＳ２０１）。
【００４７】
ＣＰＵ１１０は、ＧＰＵ１４０の第２入力データＤＡＴＡ＿２＿ＩＮでフレーム当たりの頂点数を抽出し、ディスプレイコントローラ１５０の出力データＤＡＴＡ＿ＯＵＴ＿２でフレームアップデート速度を抽出する（ステップＳ２０３）。フレーム当たりの頂点数及びフレームアップデート速度にそれぞれ加重値を適用して加重値の和を算出し（ステップＳ２０５）、加重値は、既定の値であり得る。加重値の和と既定の第１臨界範囲とを比較して、加重値の和の値が、第１臨界範囲内であるか否かを判断する（ステップＳ２０７）。加重値の和が、第１臨界範囲内にある場合、ＧＰＵ１４０の動作周波数及び動作電圧をそのまま保持する。一方、加重値の和が、第１臨界範囲を外れる値を有する場合、ＧＰＵ１４０の動作周波数及び動作電圧を調節する（ステップＳ２０９）。例えば、加重値の和が、上限臨界値よりも大きい場合、ＧＰＵ１４０の動作周波数及び動作電圧を増加させ、加重値の和が、下限臨界値よりも小さい場合、ＧＰＵ１４０の動作周波数及び動作電圧を減少させることができる。
【００４８】
図６Ｂは、本発明の他の実施形態による半導体装置の動作方法を示すフローチャートである。
Ｓ２０１及びＳ２０３段階は、図６Ａで説明した内容と同一である。Ｓ２０３段階を実行した後、以下の段階が実行される。第２入力データＤＡＴＡ＿２＿ＩＮのフレーム当たりの頂点数が、第２臨界範囲内であるか否かを判断する（ステップＳ２１１）。フレーム当たりの頂点数が、第２臨界範囲内である場合、第２入力データＤＡＴＡ＿２＿ＩＮのフレームアップデート速度が、第３臨界範囲内であるか否かを判断する（ステップＳ２１３）。フレームアップデート速度が、第３臨界範囲内である場合、ＧＰＵ１４０の動作周波数及び動作電圧を保持する。フレーム当たりの頂点数が、第２臨界範囲を外れるか、フレームアップデート速度が、第３臨界範囲を外れる場合、ＧＰＵ１４０の動作周波数及び動作電圧を調節する（ステップＳ２１５）。
【００４９】
図６Ｃは、本発明のさらに他の実施形態による半導体装置（例えば、ＳｏＣ）の動作方法を示すフローチャートである。
Ｓ２０１及びＳ２０３段階は、図６Ａで説明した内容と同一である。Ｓ２０３段階を実行した後、以下の段階が実行される。第２入力データＤＡＴＡ＿２＿ＩＮのフレーム当たりの頂点数が、第２臨界範囲内であるか否かを判断する（ステップＳ２１７）。フレーム当たりの頂点数が、第２臨界範囲を外れる場合、第２入力データＤＡＴＡ＿２＿ＩＮのフレームアップデート速度が、第３臨界範囲内であるか否かを判断する（ステップＳ２１９）。フレームアップデート速度が、第３臨界範囲を外れる場合、ＧＰＵ１４０の動作周波数及び動作電圧を調節する（ステップＳ２２１）。フレーム当たりの頂点数が、第２臨界範囲内であるか、フレームアップデート速度が、第３臨界範囲内である場合、ＧＰＵ１４０の動作周波数及び動作電圧を保持する。
【００５０】
以上で、ＧＰＵ１４０の動作周波数及び動作電圧をＧＰＵ１４０の第２入力データＤＡＴＡ＿２＿ＩＮ及びディスプレイコントローラ１５０の出力データＤＡＴＡ＿ＯＵＴ＿２に基づいて調節する方法を説明した。しかし、ＧＰＵ１４０の動作周波数及び動作電圧を第２入力データＤＡＴＡ＿２＿ＩＮ、出力データＤＡＴＡ＿ＯＵＴ＿２及びＧＰＵ１４０の作業負荷に基づいて調節することもできる。ＧＰＵの作業負荷ＷＬ−ＧＰＵは、数式１によって算出される。第２入力データＤＡＴＡ＿２＿ＩＮ、出力データＤＡＴＡ＿ＯＵＴ＿２及びＧＰＵの作業負荷ＷＬ−ＧＰＵにそれぞれ加重値を適用して、算出された値によってＧＰＵ１４０の動作周波数及び動作電圧を調節することができるが、これに限定されず、多様な実施形態でＧＰＵ１４０の動作周波数及び動作電圧を調節するように具現が可能である。
【００５１】
図７は、本発明の実施形態による半導体装置（例えば、ＳｏＣ）を含む電子システムの実施形態を示すブロック図である。これを参照すると、電子システムは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）またはデータサーバ２００、ラップトップ（ｌａｐｔｏｐ）コンピュータ３００または携帯用装置４００として具現可能である。携帯用装置４００は、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、タブレット（Ｔａｂｌｅｔ）ＰＣ、ＰＤＡ、ＥＤＡ、デジタルスチルカメラ、デジタルビデオカメラ、ＰＭＰ、ＰＮＤ、携帯用ゲームコンソール、または電子ブックとして具現可能である。
【００５２】
電子システム２００、３００、４００は、プロセッサ１００、パワーソース４１０、保存装置４２０、メモリ４３０、入出力ポート４４０、拡張カード４５０、ネットワーク装置４６０、及びディスプレイ４７０を含む。実施形態によって、電子システム２００、３００、４００は、カメラモジュール４８０をさらに含みうる。
プロセッサ１００は、図１に示された半導体装置１００を意味する。プロセッサ１００は、マルチコアプロセッサであり得る。プロセッサ１００は、構成要素（ｅｌｅｍｅｎｔｓ）１００、及び４１０〜４８０のうちの少なくとも１つの動作を制御することができる。
【００５３】
パワーソース４１０は、構成要素１００、及び４１０〜４８０のうちの少なくとも１つに動作電圧を供給することができる。保存装置４２０は、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）として具現可能である。
メモリ４３０は、揮発性メモリまたは不揮発性メモリとして具現され、図１のメモリ装置１９０に該当する。実施形態によって、メモリ４３０に対するデータアクセス動作、例えば、読出した動作、ライト動作（または、プログラム動作）、またはイレーズ動作を制御することができるメモリコントローラは、プロセッサ１００に集積または内蔵されうる。他の実施形態によって、前記メモリコントローラは、プロセッサ１００とメモリ４３０との間に具現されうる。
【００５４】
入出力ポート４４０は、電子システム２００、３００、４００にデータを伝送するか、または電子システム２００、３００、４００から出力されたデータを外部装置に伝送しうるポートを意味する。例えば、入出力ポート４４０は、コンピュータマウスのようなポインティング装置（ｐｏｉｎｔｉｎｇ  ｄｅｖｉｃｅ）を接続するためのポート、プリンターを接続するためのポート、またはＵＳＢドライブを接続するためのポートであり得る。
【００５５】
拡張カード４５０は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カードまたはＭＭＣ（ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）として具現可能である。実施形態によって、拡張カード４５０は、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ）カードまたはＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カードであり得る。
【００５６】
ネットワーク装置４６０は、電子システム２００、３００、４００を有線ネットワークまたは無線ネットワークに接続させる装置を意味する。
ディスプレイ４７０は、保存装置４２０、メモリ４３０、入出力ポート４４０、拡張カード４５０、またはネットワーク装置４６０から出力されたデータをディスプレイすることができる。
【００５７】
カメラモジュール４８０は、光学イメージを電気的なイメージに変換することができるモジュールを意味する。したがって、カメラモジュール４８０から出力された電気的なイメージは、保存装置４２０、メモリ４３０、または拡張カード４５０に保存することができる。また、カメラモジュール４８０から出力された電気的なイメージは、ディスプレイ４７０を通じてディスプレイされうる。
【００５８】
以上、望ましい実施形態について図示し、説明したが、本発明は、前述した特定の実施形態に限定されず、請求範囲で請求する本発明の要旨を外れずに、当業者によって多様な変形実施が可能であることはいうまでもなく、このような変形実施は、本発明の技術的思想や展望から個別的に理解されてはならない。
【産業上の利用可能性】
【００５９】
本発明は、３次元作業負荷を用いてＤＶＦＳ政策を行うシステム・オン・チップ及びその動作方法関連の技術分野に適用可能である。
【符号の説明】
【００６０】
１０：電子システム
１００：ＳｏＣ
１１０：中央処理装置（ＣＰＵ）
１２０：ＲＯＭ
１３０：ＲＡＭ
１３５：タイマ
１４０：グラフィックプロセッシングユニット（ＧＰＵ）
１４５：クロック管理部（ＣＭＵ）
１５０：ディスプレイコントローラ
１６０：電源管理部（ＰＭＩＣ）
１６１：電圧制御部
１６５：電圧発生部
１７０：メモリコントローラ
１８０：バス
１９０：メモリ装置  
１９５：ディスプレイ装置
【図１】
2014053006.tif 000004
【図２】
2014053006.tif 000005
【図３】
2014053006.tif 000006
【図４】
2014053006.tif 000007
【図５】
2014053006.tif 000008
【図６Ａ】
2014053006.tif 000009
【図６Ｂ】
2014053006.tif 000010
【図６Ｃ】
2014053006.tif 000011
【図７】
2014053006.tif 000012