(57)【特許請求の範囲】
【請求項１】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御可能とし、
前記制御部は、前記基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、予め定められたアイドル電流とリーク電流との比に基づいて、前記基準温度を算出する。
【請求項２】
前記制御部は、前記測定温度が前記基準温度よりも低い場合、前記動作クロックの周波数を前記第２の周波数から前記第１の周波数へ切り換えるように前記クロック生成部を制御可能とする、
請求項１に記載の半導体装置。
【請求項３】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御可能とし、
前記制御部は、前記基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、前記演算部がアクティブ状態での前記動作クロックのサイクル数の変化に応じて、前記基準温度を更新する。
【請求項４】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御可能とし、
前記動作クロックの周波数が前記第１の周波数である第１のモードは、前記動作クロックの周波数が前記第２の周波数である第２のモードに比べ、前記演算部への電源電圧の供給を停止するシャットダウン状態の比率が小さい。
【請求項５】
前記演算部への前記電源電圧の供給を制御する電源制御部をさらに備える、
請求項４に記載の半導体装置。
【請求項６】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記第２の基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御し、
前記制御部は、前記第１の基準温度及び前記第２の基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、予め定められたアイドル電流とリーク電流との比に基づいて、前記第１の基準温度及び前記第２の基準温度を算出する。
【請求項７】
前記制御部は、前記測定温度が前記第１の基準温度よりも低い場合、前記動作クロックの周波数を前記第２の周波数から前記第１の周波数へ切り換えるように前記クロック生成部を制御する、
請求項６に記載の半導体装置。
【請求項８】
前記制御部は、前記測定温度が前記第１の基準温度よりも高く前記第２の基準温度よりも低い場合、前記動作クロックの周波数を切り換えないように前記クロック生成部を制御する、
請求項６に記載の半導体装置。
【請求項９】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記第２の基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御し、
前記制御部は、前記第１の基準温度及び前記第２の基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、前記演算部がアクティブ状態での前記動作クロックのサイクル数の変化に応じて、前記第１の基準温度及び前記第２の基準温度を更新する。
【請求項１０】
以下を含む半導体装置：
（ａ）半導体チップに設けられた演算部；
（ｂ）前記半導体チップの温度を測定する温度センサ；
（ｃ）前記温度センサにより測定された測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較し、比較結果に基づいて、制御信号を出力する制御部；
（ｄ）前記制御信号に基づいて、前記演算部へ供給する動作クロックを生成するクロック生成部、
ここで前記制御部は、前記測定温度が前記第２の基準温度よりも高い場合、前記動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように前記クロック生成部を制御し、
前記動作クロックの周波数が前記第１の周波数である第１のモードは、前記動作クロックの周波数が前記第２の周波数である第２のモードに比べ、前記演算部への電源電圧の供給を停止するシャットダウン状態の比率が小さい。
【請求項１１】
前記演算部への前記電源電圧の供給を制御する電源制御部をさらに備える、
請求項１０に記載の半導体装置。
【請求項１２】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた基準温度と比較する工程；
（ｃ）前記測定温度が前記基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記制御部は、前記基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、予め定められたアイドル電流とリーク電流との比に基づいて、前記基準温度を算出する。
【請求項１３】
さらに、前記測定温度が前記基準温度よりも低い場合、前記動作クロックの周波数を前記第２の周波数から前記第１の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程を含む、
請求項１２に記載の半導体装置の制御方法。
【請求項１４】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた基準温度と比較する工程；
（ｃ）前記測定温度が前記基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記制御部は、前記基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、前記演算部がアクティブ状態での前記動作クロックのサイクル数の変化に応じて、前記基準温度を更新する。
【請求項１５】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた基準温度と比較する工程；
（ｃ）前記測定温度が前記基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記動作クロックの周波数が前記第１の周波数である第１のモードは、前記動作クロックの周波数が前記第２の周波数である第２のモードに比べ、前記演算部への電源電圧の供給を停止するシャットダウン状態の比率が小さい。
【請求項１６】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較する工程；
（ｃ）前記測定温度が前記第２の基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記制御部は、前記第１の基準温度及び前記第２の基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、予め定められたアイドル電流とリーク電流との比に基づいて、前記第１の基準温度及び前記第２の基準温度を算出する。
【請求項１７】
さらに、前記測定温度が前記第１の基準温度よりも低い場合、前記動作クロックの周波数を前記第２の周波数から前記第１の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程を含む、
請求項１６に記載の半導体装置の制御方法。
【請求項１８】
さらに、前記測定温度が前記第１の基準温度よりも高く前記第２の基準温度よりも低い場合、前記動作クロックの周波数を切り換えないように、前記制御部が前記クロック生成部を制御する工程を含む、
請求項１６に記載の半導体装置の制御方法。
【請求項１９】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較する工程；
（ｃ）前記測定温度が前記第２の基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記制御部は、前記第１の基準温度及び前記第２の基準温度を算出する基準温度算出部を備え、
前記基準温度算出部は、前記演算部がアクティブ状態での前記動作クロックのサイクル数の変化に応じて、前記第１の基準温度及び前記第２の基準温度を更新する。
【請求項２０】
以下の工程を含む半導体装置の制御方法：
（ａ）温度センサが、半導体チップの温度を測定する工程；
（ｂ）制御部が、測定温度を予め定められた第１の基準温度及び前記第１の基準温度よりも高い第２の基準温度と比較する工程；
（ｃ）前記測定温度が前記第２の基準温度よりも高い場合、クロック生成部が前記半導体チップに形成された演算部へ供給する動作クロックの周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換えるように、前記制御部が前記クロック生成部を制御する工程、
ここで、前記動作クロックの周波数が前記第１の周波数である第１のモードは、前記動作クロックの周波数が前記第２の周波数である第２のモードに比べ、前記演算部への電源電圧の供給を停止するシャットダウン状態の比率が小さい。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、半導体装置の微細化に伴い、高機能化、高性能化などが進む一方、消費電力に占めるリーク電力（リーク電流によって消費される電力）の割合は増加する傾向にある。このリーク電力は、温度により急激に変化することが知られている。【０００３】
ところで、特許文献１〜３には、ＣＰＵ（Central Processing Unit）やプロセッサの温度に応じて動作周波数（動作クロックの周波数）を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１８７５２３号公報
【特許文献２】特開２００９−２３０６７０号公報
【特許文献３】特開平７−１６０３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
発明者らは、通信端末等に用いられる半導体装置の開発に際し、様々な課題を見出した。本願で開示される各実施の形態は、例えば通信端末等に好適な半導体装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態に係る半導体装置では、測定温度が予め定められた基準温度よりも高い場合、動作周波数を第１の周波数から当該第１の周波数よりも高い第２の周波数へ切り換える。
【発明の効果】
【０００７】
一実施の形態によれば、例えば無線通信端末等の電子装置に好適であって、良質な半導体装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】リーク電流を説明するためのＭＯＳＦＥＴの断面図である。
【図２Ａ】ある一定の処理負荷における消費電力の動作周波数依存性を示すグラフである。
【図２Ｂ】ある一定の処理負荷における消費電力の温度依存性を示すグラフである。
【図３】リーク電力ＰＬ、アイドル電力ＰＩ、アクティブ電力ＰＡのそれぞれについて、動作周波数及び温度に対する依存性をまとめた一覧表である。
【図４Ａ】比較例に係る半導体装置の低温時における消費電力の構成を模式的に示すグラフである。
【図４Ｂ】比較例に係る半導体装置の高温時における消費電力の構成を模式的に示すグラフである。
【図５Ａ】無線通信端末の構成例を示す外観図である。
【図５Ｂ】無線通信端末の構成例を示す外観図である。
【図６】実施の形態１に係る無線通信装置の構成例を示すブロック図である。
【図７】実施の形態１に係るアプリケーションプロセッサ６０１の構成例を示すブロック図である。
【図８】実施の形態１に係る電力削減モード制御方法（メインルーチン）を説明するためのフローチャートである。
【図９】実施の形態１に係る基準温度算出方法（サブルーチン１）を説明するためのフローチャートである。
【図１０】実施の形態１に係る測定温度取得方法（サブルーチン２）を説明するためのフローチャートである。
【図１１Ａ】実施の形態１の実施例に係る半導体装置の低温時（測定温度Ｔａ＜基準温度Ｔｒｅｆ）すなわちアイドル電力削減モードにおける消費電力の構成を模式的に示すグラフである。
【図１１Ｂ】実施の形態１の実施例に係る半導体装置の高温時（基準温度Ｔｒｅｆ＜測定温度Ｔａ）すなわちリーク電力削減モードにおける消費電力の構成を模式的に示すグラフである。
【図１２】実施の形態１の実施例に係る半導体装置の消費電力の温度依存性を示すグラフである。
【図１３】実施の形態２に係るアプリケーションプロセッサ６０１の構成例を示すブロック図である。
【図１４Ａ】実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。
【図１４Ｂ】実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。
【図１４Ｃ】実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。
【図１４Ｄ】実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。
【図１４Ｅ】実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。
【図１５】実施の形態３に係る電力削減モード制御方法（メインルーチン）を説明するためのフローチャートである。
【図１６Ａ】実施の形態３の実施例に係る半導体装置の温度上昇時における消費電力の温度依存性を説明するためのグラフである。
【図１６Ｂ】実施の形態３の実施例に係る半導体装置の温度降下時における消費電力の温度依存性を説明するためのグラフである。
【発明を実施するための形態】
【０００９】
以下、具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜簡略化されている。
【００１０】
＜事前検討事項＞
＜リーク電力の原因＞
まず、発明者らによる事前検討事項について説明する。
上述の通り、半導体装置の微細化により、消費電力におけるリーク電力の増加が問題となっている。ここで、図１を参照してリーク電力の原因となるリーク電流について説明する。図１は、リーク電流を説明するためのＭＯＳＦＥＴ（Metal-Oxide-Semiconductor Field-Effect Transistor）の断面図である。
【００１１】
図１に示されたＭＯＳＦＥＴは、シリコン基板９０、ゲート９１、ソース９２、ドレイン９３、ゲート絶縁膜９４を備えている。さらに、このＭＯＳＦＥＴは、ゲート９１の側面に形成されたサイドウォール９５、ゲート９１上に形成されたゲートコンタクト９６、ソース９２上に形成されたソースコンタクト９７、ドレイン９３上に形成されたドレインコンタクト９８を備えている。
【００１２】
図１に示すように、主なリーク電流には、サブスレッショルド・リーク電流ＩＳＵＢ、ゲートリーク電流（ゲートトンネル電流）ＩＧＡＴＥ、及びＧＩＤＬ（Gate-Induced Drain Leakage）電流ＩＧＩＤＬの３つがある。
【００１３】
サブスレッショルド・リーク電流ＩＳＵＢは、ＭＯＳＦＥＴがオフであるときにドレイン９３とソース９２の間を流れる電流である。サブスレッショルド・リーク電流ＩＳＵＢは、近年のＭＯＳＦＥＴにおける閾値電圧の低下とともに増加する傾向にある。サブスレッショルド・リーク電流ＩＳＵＢは温度依存性が大きく、ＭＯＳＦＥＴのジャンクション温度（チャネル温度）の上昇とともに急激に増加する。
【００１４】
ゲートリーク電流（ゲートトンネル電流）ＩＧＡＴＥは、電子が薄いゲート絶縁膜９４をトンネル効果によって通過するためにゲート９１とシリコン基板９０の間（又はゲート９１とソース９２の間、若しくはゲート９１とドレイン９３の間）を流れる電流である。
【００１５】
ＧＩＤＬ（Gate-Induced Drain Leakage）電流ＩＧＩＤＬは、ゲート９１とドレイン９２の間の電界がトンネル現象を引き起こすために、ドレイン９３とシリコン基板９０を流れる電流である。
【００１６】
ゲートリーク電流ＩＧＡＴＥ及びＧＩＤＬ電流ＩＧＩＤＬは、ＭＯＳＦＥＴの微細化に伴うゲート絶縁膜９４の薄膜化により増加する。一方、ゲートリーク電流ＩＧＡＴＥ及びＧＩＤＬ電流ＩＧＩＤＬの温度依存性はともに小さい。
【００１７】
＜消費電力の構成並びにそれらの動作周波数依存性及び温度依存性＞
次に、図２Ａ、図２Ｂを参照して消費電力の動作周波数依存性及び温度依存性について説明する。図２Ａは、ある一定の処理負荷における消費電力の動作周波数依存性を示すグラフである。図２Ｂは、ある一定の処理負荷における消費電力の温度依存性を示すグラフである。
【００１８】
図２Ａ、図２Ｂに示すように、消費電力は、アクティブ電力ＰＡ、アイドル電力ＰＩ、リーク電力ＰＬから構成されている。アクティブ電力ＰＡとは、半導体装置が実際に処理を実行することにより消費される電力である。そのため、処理負荷が一定であればアクティブ電力ＰＡも一定となる。アイドル電力とは、半導体装置のステータス（動作状態）がアイドル状態において消費される電力であって、電源及びクロックが供給されていれば常に消費されるものである。リーク電力とは、リーク電流により消費される電力であって、電源が供給されていれば常に消費されるものである。
【００１９】
ここで、半導体装置のステータスについて説明する。半導体装置のステータスには、アクティブ状態、アイドル状態、シャットダウン状態の３つがある。
【００２０】
アクティブ状態とは、電源及びクロックが供給され、かつ、実際に処理を行っている状態である。例えば、半導体装置が無線通信端末向けアプリケーションプロセッサの場合、無線データ通信、音楽再生、動画再生などの処理を実際に行っている状態である。アクティブ状態では、アクティブ電力ＰＡ、アイドル電力ＰＩ、リーク電力ＰＬの全てが発生する。
【００２１】
アイドル状態（ストール状態とも呼ばれる）とは、電源及びクロックは供給されているが、実際には処理を実行していない状態（すなわち、ターゲットからの応答を待っている状態）である。アイドル状態では、アイドル電力ＰＩ及びリーク電力ＰＬが発生し、アクティブ電力ＰＡは発生しない。
【００２２】
シャットダウン状態とは、電源及びクロックが供給されていない状態である。シャットダウン状態では、アクティブ電力ＰＡ、アイドル電力ＰＩ、リーク電力ＰＬのいずれも発生しない。
【００２３】
図２Ａに示すように、アクティブ電力ＰＡ及びリーク電力ＰＬは、動作周波数（動作クロックの周波数）依存性を示さない。ここで、動作周波数が上昇すれば、単位時間当たりのアクティブ電力も上昇するが、処理負荷が一定であるため、処理時間が短くなる。そのため、処理に要するアクティブ電力ＰＡ（＝単位時間当たりのアクティブ電力×処理時間）は動作周波数によらず一定となる。一方、アイドル電力ＰＩは、動作周波数に比例して上昇する。従って、消費電力全体も動作周波数の上昇とともに上昇する。
図２Ｂに示すように、アクティブ電力ＰＡ及びアイドル電力ＰＩは、温度依存性を示さない。一方、リーク電力ＰＬは、温度の上昇とともに急激に上昇する。従って、消費電力全体も温度の上昇とともに急激に上昇する。
【００２４】
図３は、リーク電力ＰＬ、アイドル電力ＰＩ、アクティブ電力ＰＡのそれぞれについて、動作周波数及び温度に対する依存性をまとめた一覧表である。図３に示すように、リーク電力ＰＬは、動作周波数には依存しないが、温度には依存する。具体的には、図２Ｂに示したように、温度の上昇とともに上昇する。アイドル電力ＰＩは、動作周波数には依存するが、温度には依存しない。具体的には、図２Ａに示したように、動作周波数の上昇とともに上昇する。アクティブ電力ＰＡは、動作周波数及び温度のいずれにも依存しない。
【００２５】
＜比較例及びその問題点＞
図４Ａ、図４Ｂは本発明者らが検討した比較例である。ここでは、低温時に動作周波数を高く、高温時には動作周波数を低く設定した半導体装置の消費電力を検討している。図４Ａは、比較例に係る半導体装置の低温時における消費電力の構成を模式的に示すグラフである。図４Ｂは、比較例に係る半導体装置の高温時における消費電力の構成を模式的に示すグラフである。図４Ａ、図４Ｂは、いずれもある一定の処理負荷における消費電力の構成を示している。
【００２６】
図４Ａ、図４Ｂのグラフにおいて横軸は時間［ｓ］、縦軸は単位時間当たりの消費電力［Ｗ／ｓ］である。横軸の時間に合わせ、動作クロック（ＣＬＯＣＫ）及びステータス（ＳＴＡＴＵＳ）が示されている。図４Ａに示すように、単位時間当たりのリーク電力ＰＬ及びアイドル電力ＰＩは、アイドル状態であるかアクティブ状態であるかによらず、一定である。アクティブ電力ＰＡは、アクティブ状態のみにおいて発生する。また、シャットダウン状態では消費電力は発生しない。図４Ｂにおいても同様である。図４Ａ及び図４Ｂに示した単位時間当たりの消費電力の時間積分値（つまり図４Ａ及び図４Ｂに示したグラフの面積すなわちマスの数）が消費電力となる。
【００２７】
図４Ｂでは図４Ａに比べ、動作周波数が１／２になっているため、単位時間当たりのアイドル電力ＰＩも１／２になっている。他方、図４Ｂでは図４Ａに比べ、温度の上昇により、単位時間当たりのリーク電力ＰＬは８倍になっている。ここで、図４Ａ及び図４Ｂにおける処理負荷は一定であるため、処理に要するアクティブ電力ＰＡの合計は、図４Ａ及び図４Ｂにおいて同じである。しかし、図４Ｂでは図４Ａに比べ、動作周波数が１／２になっているため、処理に要する時間が２倍となっている。結果として、比較例では、高温時にシャットダウン状態の時間が短くなり、リーク電力ＰＬが増加してしまう問題があった。
【００２８】
発明者らは、半導体装置の消費電力低減について検討を行った。以下にその詳細について説明する。
【００２９】
（実施の形態１）
＜無線通信端末の概要＞
まず、図５Ａ、図５Ｂを参照して、本実施の形態に係る半導体装置が適用される電子装置として好適な無線通信端末の概要について説明する。図５Ａ及び図５Ｂは、無線通信端末５００の構成例を示す外観図である。
【００３０】
なお、図５Ａ、図５Ｂでは、無線通信端末５００がスマートフォンである場合について示している。しかしながら、無線通信端末５００は、フィーチャーフォン(例えば、折り畳み式の携帯電話端末)、携帯ゲーム端末、タブレットＰＣ(Personal Computer)、ノートＰＣ等のその他の無線通信端末であってもよい。また、当然のことながら、本実施の形態に係る半導体装置は、無線通信端末以外に適用することも可能である。
【００３１】
図５Ａは、無線通信端末５００を形成する筐体５０１の一方の主面(前面)を示している。筐体５０１の前面には、ディスプレイデバイス５０２と、タッチパネル５０３と、幾つかの操作ボタン５０４と、カメラデバイス５０５とが配置されている。一方、図５Ｂは、筐体５０１の他方の主面(背面)を示している。筐体５０１の背面には、カメラデバイス５０６が配置されている。
【００３２】
ディスプレイデバイス５０２は、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬディスプレイ（ＯＬＥＤ：Organic Light-Emitting Diode）等の表示装置である。ディスプレイデバイス５０２は、表示面が筐体５０１の前面に位置するように配置されている。
【００３３】
タッチパネル５０３は、ディスプレイデバイス５０２の表示面を覆うように配置されるか、或いはディスプレイデバイス５０２の裏面側に配置され、ユーザーによる表示面への接触位置を検知する。つまり、ユーザーは、指や専用のペン(一般に、スタイラスと呼称される)等でディスプレイデバイス５０２の表示面に触れることで、無線通信端末５００を直感的に操作することができる。
【００３４】
操作ボタン５０４は、無線通信端末５００に対する補助的な操作に用いられる。なお、無線通信端末によっては、このような操作ボタンが設けられないこともある。
【００３５】
カメラデバイス５０５は、そのレンズユニットが筐体５０１の前面に位置するように配置されたサブカメラである。なお、無線通信端末によっては、このようなサブカメラが設けられないこともある。
【００３６】
カメラデバイス５０６は、そのレンズユニットが筐体５０１の背面に位置するように配置されたメインカメラである。
【００３７】
＜無線通信装置の構成＞
図６を参照して、本実施の形態に係る半導体装置が搭載される無線通信装置６００の構成について説明する。図６は、実施の形態１に係る無線通信装置６００の構成例を示すブロック図である。無線通信装置６００は、例えば、図５Ａ、図５Ｂに示した無線通信端末５００の内部構成である。
【００３８】
図６に示すように、無線通信装置６００は、アプリケーションプロセッサ（ホストＩＣ）６０１、ベースバンドプロセッサ６０２、ＲＦＩＣ（Radio Frequency Integrated Circuit）６０３、メインメモリ６０４、バッテリ６０５、パワーマネジメントＩＣ（ＰＭＩＣ：Power Management Integrated Circuit）６０６、表示部６０７、カメラ部６０８、操作入力部６０９、オーディオＩＣ６１０、マイク６１１、スピーカ６１２を含む。
【００３９】
アプリケーションプロセッサ（ホストＩＣ）６０１は、メインメモリ６０４に格納されたプログラムを読み出して、無線通信装置６００の各種機能を実現するための処理を行う半導体集積回路である。例えば、アプリケーションプロセッサ６０１は、メインメモリ６０４からＯＳ（Operating System）プログラムを読み出して実行すると共に、このＯＳプログラムを動作基盤とするアプリケーションプログラムを実行する。
【００４０】
ベースバンドプロセッサ６０２は、携帯通信端末が送受信するデータに対して符号化（例えば、畳み込み符号やターボ符号等の誤り訂正符号化）処理又は復号化処理等を含むベースバンド処理を行う。例えば音声データの場合、ベースバンドプロセッサ６０２は、送信音声データをオーディオＩＣ６１０から受け取り、受け取った送信音声データに対して符号化処理を施して、ＲＦＩＣ６０３に送信する。他方、ベースバンドプロセッサ６０２は、ＲＦＩＣ６０３から受信音声データを受け取り、受け取った受信音声データに対して復号化処理を施してオーディオＩＣ６１０に送信する。
【００４１】
ＲＦＩＣ６０３は、アナログＲＦ信号処理を行う。アナログＲＦ信号処理は、周波数アップコンバージョン、周波数ダウンコンバージョン、増幅などを含む。例えば音声データの場合、ＲＦＩＣ６０３は、ベースバンドプロセッサ６０２によって変調された送信音声データから送信ＲＦ信号を生成し、アンテナを介してこの送信ＲＦ信号を無線送信する。他方、ＲＦＩＣ６０３は、アンテナを介して受信ＲＦ信号を無線受信し、受信ＲＦ信号から受信音声データを生成し、この受信音声データをベースバンドプロセッサ６０２に送信する。
【００４２】
メインメモリ（外部メモリ）６０４は、アプリケーションプロセッサ６０１により利用されるプログラム及びデータを格納している。メインメモリ６０４としては、電源遮断時に記憶データが消去される揮発性メモリであるＤＲＡＭ（Dynamic Random Access Memory）を用いる場合が多い。もちろん、メインメモリ６０４として、電源遮断時に記憶データが保持される不揮発性メモリを用いてもよい。
【００４３】
バッテリ６０５は、電池であり、無線通信装置６００が外部電源によらずに動作する場合に利用される。なお、無線通信装置６００は、外部電源が接続されている場合においてもバッテリ６０５の電源を利用してもよい。また、バッテリ６０５としては、二次電池を利用することが好ましい。
【００４４】
パワーマネジメントＩＣ６０６は、バッテリ６０５又は外部電源から内部電源を生成する。この内部電源は、無線通信装置６００の各ブロックに与えられる。このとき、パワーマネジメントＩＣ６０６は、内部電源の供給を受けるブロック毎に内部電源の電圧を制御する。パワーマネジメントＩＣ６０６は、アプリケーションプロセッサ６０１からの指示に基づき内部電源の電圧制御を行う。さらに、パワーマネジメントＩＣ６０６は、ブロック毎に内部電源の供給と遮断とを制御することもできる。また、パワーマネジメントＩＣ６０６は、外部電源の供給がある場合、バッテリ６０５への充電制御も行う。
【００４５】
表示部６０７は、図５Ａ、図５Ｂにおけるディスプレイデバイス５０２に相当するものであって、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬディスプレイ（ＯＬＥＤ：Organic Light-Emitting Diode）等の表示装置である。表示部６０７は、アプリケーションプロセッサ６０１における処理に従い様々な画像を表示する。表示部６０７において表示される画像には、ユーザーが無線通信装置６００に動作指示を与えるユーザーインタフェース画像、カメラ画像、動画等が含まれる。
【００４６】
カメラ部６０８は、アプリケーションプロセッサ６０１からの指示に従い、画像を取得する。カメラ部６０８は、図５Ａ、図５Ｂにおけるカメラデバイス５０５、５０６に相当するものである。
【００４７】
操作入力部６０９は、ユーザーが操作して無線通信装置６００に操作指示を与えるユーザーインタフェースである。操作入力部６０９は、図５Ａ、図５Ｂにおけるタッチパネル５０３、操作ボタン５０４に相当するものである。
【００４８】
オーディオＩＣ６１０は、ベースバンドプロセッサ６０２から受け取ったデジタル信号である受信音声データをアナログ信号に変換し、スピーカ６１２を駆動する。これにより、スピーカ６１２から音声が出力される。他方、オーディオＩＣ６１０は、マイク６１１で検出したアナログ信号である音声をアナログ／デジタル（Ａ／Ｄ）変換して、ベースバンドプロセッサ６０２に出力する。
【００４９】
＜実施の形態１に係る半導体装置の構成＞
図７を参照して、実施の形態１に係る半導体装置であるアプリケーションプロセッサ６０１の構成について説明する。図７は、実施の形態１に係るアプリケーションプロセッサ６０１の構成例を示すブロック図である。図７に示すように、実施の形態１に係るアプリケーションプロセッサ６０１は、ＣＰＵ（演算部）、温度センサＴＳ、電力削減モード制御部（制御部）１００、クロック生成部ＣＰＧ、電源制御部ＰＳＣを備えている。ここで、電力削減モード制御部１００は、温度監視部ＴＭ、基準温度算出部ＲＣ、サイクル測定部ＣＭ、記憶部ＲＥＧ、比較部ＣＭＰ、モード判定部ＭＤを備えている。図７において、太い矢印はデータを示し、細い矢印は各種制御信号やクロックを示している。
【００５０】
実施の形態１に係るアプリケーションプロセッサ６０１は、１つの半導体チップ上に設けられている。アプリケーションプロセッサ６０１では、温度センサＴＳにより測定されたチップ温度（半導体チップの温度）に応じて、電力削減モード制御部１００が電力削減モードを制御する。具体的には、チップ温度が所定の基準温度を超えれば、電力削減モード制御部１００はリーク電力削減モード（第１のモード）を選択し、クロック生成部ＣＰＧにより生成されるＣＰＵの動作クロックの周波数を高く設定する。
【００５１】
一方、アプリケーションプロセッサ６０１のチップ温度が所定の基準温度を下回れば、電力削減モード制御部１００はアイドル電力削減モード（第２のモード）を選択し、クロック生成部ＣＰＧにより生成されるＣＰＵの動作クロックの周波数を低く設定する。すなわち、電力削減モード制御部１００は、クロック生成部ＣＰＧにより生成される動作クロックの周波数を制御している。
【００５２】
ＣＰＵは、クロック生成部ＣＰＧが出力する動作クロックｃｋ１に応じて動作する。つまり、ＣＰＵの動作周波数は、動作クロックｃｋ１の周波数である。ＣＰＵは、システム起動時に記憶部ＲＥＧに対して初期化信号ｒｓｔを出力し、記憶部ＲＥＧに格納された各種データを初期化する。その後、ＣＰＵは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを算出するためのサブルーチン１の開始を要求する開始要求ｒｅｑ１を出力する。サブルーチン１の詳細については後述する。さらに、ＣＰＵは、温度監視部ＴＭに対し、測定温度Ｔａを取得するためのサブルーチン２の開始を要求する開始要求ｒｅｑ２を出力する。サブルーチン２の詳細については後述する。
【００５３】
温度センサＴＳは、いわゆるオンチップ温度センサであり、アプリケーションプロセッサ６０１のチップ温度（ジャンクション温度又はチャネル温度と言うこともできる）を計測する。
【００５４】
温度監視部ＴＭは、ＣＰＵから出力されたサブルーチン２の開始要求ｒｅｑ２に応じて、温度センサＴＳにより測定された測定温度Ｔａの監視を開始する。温度監視部ＴＭは、内部にタイマを備えている。タイマは、例えばカウンタである。タイマは、例えば０から最大値までのカウントアップを繰り返す。温度監視部ＴＭは、例えばタイマが最大値になったタイミングで、温度センサＴＳに対し測定要求ｒｅｑ５を出力し、温度センサＴＳから測定温度Ｔａを取得する。すなわち、温度監視部ＴＭは、温度センサＴＳから繰り返し測定温度Ｔａを取得する。そして、温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ出力する。タイマの最大値（リミット値）は、例えば記憶部ＲＥＧに格納されている。もちろん、タイマの構成は上記に限定されるものではない。
【００５５】
基準温度算出部ＲＣは、ＣＰＵから出力されたサブルーチン１の開始要求ｒｅｑ１に応じて、基準温度Ｔｒｅｆの算出を開始する。基準温度算出部ＲＣは、内部にタイマを備えている。このタイマは、温度監視部ＴＭのタイマと同様の構成を有している。温度監視部ＴＭは、例えばタイマが最大値になったタイミングで、サイクル測定部ＣＭに対し、アクティブサイクルａｃ１などの測定要求ｒｅｑ３を出力する。すなわち、基準温度算出部ＲＣは、サイクル測定部ＣＭに対し繰り返し測定要求ｒｅｑ３を出力する。タイマの最大値（リミット値）は、例えば記憶部ＲＥＧに格納されている。ここで、アクティブサイクルａｃ１［Ｈｚ］とは、ステータスがアクティブ状態である単位時間当たりの動作クロックのサイクル数の総和である。
【００５６】
また、基準温度算出部ＲＣは、比較部ＣＭＰが出力する基準変更要求ｒｅｑ４を受け取ると、記憶部ＲＥＧから計算用基礎データｄ１を取得するとともに、サイクル測定部ＣＭから計算用測定データｄ２を取得する。そして、基準温度算出部ＲＣは、取得した計算用基礎データｄ１及び計算用測定データｄ２を使用して、基準温度Ｔｒｅｆを算出し、モード判定部ＭＤへ出力する。
【００５７】
計算用基礎データｄ１は、基準温度計算式及び要素アイドル電力を含む。基準温度計算式とは、基準温度Ｔｒｅｆを算出するための計算式である。要素アイドル電力［Ｗ／Ｈｚ］とは、動作周波数当たりのアイドル電力ＰＩ（図２Ａにおけるアイドル電力ＰＩの傾き）である。
【００５８】
計算用測定データｄ２は、アイドルサイクルＣＩ、シャットダウン比率ｒを含む。アイドルサイクルＣＩ［Ｈｚ］とは、ステータスがアイドル状態である単位時間当たりの動作クロックのサイクル数の総和である。シャットダウン比率ｒとは、ステータスがシャットダウン状態となる単位時間当たりの比率である。シャットダウン比率ｒは０〜１までの数値であって、例えばシャットダウン比率ｒ＝０．２であれば、シャットダウン比率が２０％ということである。
【００５９】
サイクル測定部ＣＭは、基準温度算出部ＲＣから出力された測定要求ｒｅｑ３に応じて、アクティブサイクルａｃ１、アイドルサイクルＣＩ、シャットダウン比率ｒを測定する。そして、サイクル測定部ＣＭは、取得したアクティブサイクルａｃ１を比較部ＣＭＰへ出力する。さらに、サイクル測定部ＣＭは、比較部ＣＭＰから出力された基準変更要求ｒｅｑ４に応じて、取得したアクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧに格納する。他方、サイクル測定部ＣＭは、測定したアイドルサイクルＣＩ及びシャットダウン比率ｒを計算用測定データｄ２として基準温度算出部ＲＣへ出力する。
【００６０】
記憶部ＲＥＧは、各種データを保持するレジスタである。本実施の形態に係る記憶部ＲＥＧは、温度監視部ＴＭ及び基準温度算出部ＲＣが備えるタイマのリミット値、計算用基礎データｄ１、基準アクティブサイクルａｃ２を保持している。記憶部ＲＥＧの保持する各種データは、システム起動時には、ＣＰＵから出力される初期化信号ｒｓｔに応じて初期化される。
【００６１】
比較部ＣＭＰは、サイクル測定部ＣＭから取得したアクティブサイクルａｃ１と記憶部ＲＥＧに保持された基準アクティブサイクルａｃ２とを比較する。比較部ＣＭＰは、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が大きければ、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を基準温度算出部ＲＣに対し出力する。他方、比較部ＣＭＰは、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が小さければ、基準変更要求ｒｅｑ４を基準温度算出部ＲＣに対し出力しない。
【００６２】
具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満たせば、基準変更要求ｒｅｑ４を出力せず、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満たさなければ、基準変更要求ｒｅｑ４を出力する。なお、上述の通り、比較部ＣＭＰから出力された基準変更要求ｒｅｑ４は、サイクル測定部ＣＭにも入力される。そして、サイクル測定部ＣＭが、取得したアクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧに格納する。しかしながら、比較部ＣＭＰが基準変更要求ｒｅｑ４を出力した際、比較部ＣＭＰが比較したアクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧに格納するような構成としてもよい。
【００６３】
モード判定部ＭＤは、基準温度算出部ＲＣから取得した基準温度Ｔｒｅｆと温度監視部ＴＭから取得した測定温度Ｔａとを比較して、電力削減のモードを判定する。具体的には、例えばＴａ＜Ｔｒｅｆを満たせば、アイドル電力削減モードを選択し、Ｔａ＜Ｔｒｅｆを満たさなければ、リーク電力削減モードを選択する。モード判定部ＭＤは、判定結果に応じたモード信号（制御信号）ｍｏｄをクロック生成部ＣＰＧに対して出力する。
【００６４】
クロック生成部ＣＰＧは、モード判定部ＭＤから出力されたモード信号ｍｏｄに応じて、ＣＰＵの動作クロックｃｋ１を生成する。具体的には、アイドル電力削減モードの場合、クロック生成部ＣＰＧは、出力する動作クロックｃｋ１の周波数（動作周波数）を低く設定し、リーク電力削減モードの場合、出力する動作クロックｃｋ１の周波数を高く設定する。
【００６５】
電源制御部ＰＳＣは、ＣＰＵに接続された電源供給スイッチＳＷ１のオンオフを制御する電源イネーブル信号ｐｓｅｎ１を出力する。ここで、電源供給スイッチＳＷ１のオンオフは、ＣＰＵのステートに応じて制御される。具体的には、ＣＰＵのステートがアクティブ状態又はアイドル状態の場合、電源供給スイッチＳＷ１はオンとなり、ＣＰＵへ電源電圧が供給される。一方、ＣＰＵのステートがシャットダウン状態の場合、電源供給スイッチＳＷ１はオフとなり、ＣＰＵへの電源電圧の供給が停止される。電源供給スイッチＳＷ１は、例えばＭＯＳＦＥＴから構成され、そのゲート端子（制御端子）に電源イネーブル信号ｐｓｅｎ１が入力される。
【００６６】
＜電力削減モード制御方法（メインルーチン）＞
次に、図８を参照して、実施の形態１に係る半導体装置における電力削減モード制御方法（メインルーチン）について説明する。図８は、実施の形態１に係る電力削減モード制御方法（メインルーチン）を説明するためのフローチャートである。
【００６７】
システムが起動すると、ＣＰＵがメインルーチンを開始する。図８に示すように、まず、ＣＰＵが記憶部ＲＥＧに対し初期化信号ｒｓｔを出力し、記憶部ＲＥＧに格納された各種データ（温度監視部ＴＭ及び基準温度算出部ＲＣが備えるタイマのリミット値、計算用基礎データｄ１、基準アクティブサイクルａｃ２）を初期化する（ステップＳ１）。
【００６８】
次に、ＣＰＵは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを算出するためのサブルーチン１の開始要求ｒｅｑ１を出力する。開始要求ｒｅｑ１に応じ、基準温度算出部ＲＣは、サブルーチン１を開始する（ステップＳ２）。サブルーチン１の詳細については後述する。
【００６９】
次に、ＣＰＵは、温度監視部ＴＭに対し、測定温度Ｔａを取得するためのサブルーチン２の開始要求ｒｅｑ２を出力する。開始要求ｒｅｑ２に応じ、温度監視部ＴＭは、サブルーチン２を開始する（ステップＳ３）。サブルーチン２の詳細については後述する。なお、ステップＳ２とステップＳ３の順序は逆でもよい。
【００７０】
次に、基準温度算出部ＲＣは、サブルーチン１によって取得した基準温度Ｔｒｅｆをモード判定部ＭＤに設定する（ステップＳ４）。さらに、温度監視部ＴＭは、サブルーチン２によって取得した測定温度Ｔａをモード判定部ＭＤに設定する（ステップＳ５）。なお、ステップＳ４とステップＳ５の順序は逆でもよい。
【００７１】
次に、モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する（ステップＳ６）。Ｔａ＜Ｔｒｅｆを満たす場合（ステップＳ６ＹＥＳ）、モード判定部ＭＤはアイドル電力削減モードを選択し、クロック生成部ＣＰＧはＣＰＵの動作クロックｃｋ１の周波数を低く設定する（ステップＳ７）。例えば、処理に支障をきたさずにＣＰＵが動作可能な最低の周波数に設定する。その後、ステップＳ４に戻り、モード判定を繰り返す。
【００７２】
一方、Ｔａ＜Ｔｒｅｆを満たさない場合（ステップＳ６ＮＯ）、モード判定部ＭＤはリーク電力削減モードを選択し、クロック生成部ＣＰＧはＣＰＵの動作クロックｃｋ１の周波数を高く設定する（ステップＳ８）。例えば、ＣＰＵが動作可能な最高周波数に設定する。その後、ステップＳ４に戻り、モード判定を繰り返す。
【００７３】
＜基準温度算出方法（サブルーチン１）＞
次に、図９を参照して、実施の形態１に係る半導体装置における基準温度Ｔｒｅｆの算出方法（サブルーチン１）について説明する。図９は、実施の形態１に係る基準温度算出方法（サブルーチン１）を説明するためのフローチャートである。
【００７４】
ＣＰＵからのサブルーチン１の開始要求ｒｅｑ１に応じ、基準温度算出部ＲＣは、サブルーチン１を開始する。
まず、基準温度算出部ＲＣは、内部に備えたタイマの値をリセットする（ステップＳ１１）。
【００７５】
次に、タイマがリミット値に到達したら（すなわちタイマ満了時）、基準温度算出部ＲＣは、サイクル測定部ＣＭへアクティブサイクルａｃ１の測定要求ｒｅｑ３を出力する（ステップＳ１２）。
【００７６】
次に、基準温度算出部ＲＣからの測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭはアクティブサイクルａｃ１を測定し、比較部ＣＭＰへ出力する（ステップＳ１３）。ここで、サイクル測定部ＣＭは、アイドルサイクルＣＩ［Ｈｚ］、シャットダウン比率ｒも併せて測定する。
【００７７】
次に、比較部ＣＭＰは、サイクル測定部ＣＭから取得したアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する（ステップＳ１４）。すなわち、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が１０％未満か否かを判定する。ここで、１０％という数値はあくまでも一例であって、目的、用途等に応じて適宜設定することができる。
【００７８】
ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満たせば（ステップＳ１４ＹＥＳ）、比較部ＣＭＰは、基準温度算出部ＲＣへ基準変更要求ｒｅｑ４を出力せずに、ステップＳ１１に戻る。すなわち、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が小さい場合、比較部ＣＭＰは基準変更要求ｒｅｑ４を基準温度算出部ＲＣに対し出力しない。
【００７９】
一方、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満たさなければ（ステップＳ１４ＮＯ）、基準温度算出部ＲＣへ基準変更要求ｒｅｑ４を出力する（ステップＳ１５）。すなわち、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が大きい場合、比較部ＣＭＰは基準変更要求ｒｅｑ４を基準温度算出部ＲＣに対し出力する。なお、基準変更要求ｒｅｑ４は、サイクル測定部ＣＭへも入力される。
【００８０】
次に、サイクル測定部ＣＭは、基準変更要求ｒｅｑ４に応じて、アクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧに格納する（ステップＳ１６）。すなわち、基準温度Ｔｒｅｆが更新される場合、基準アクティブサイクルａｃ２も更新される。
【００８１】
次に、基準温度算出部ＲＣは、基準変更要求ｒｅｑ４に応じて、記憶部ＲＥＧに格納された要素アイドル電力ＥＩ［Ｗ／Ｈｚ］及びサイクル測定部ＣＭから取得したアイドルサイクルＣＩ［Ｈｚ］を用いて、アイドル電力ＰＩ［Ｗ］を算出する（ステップＳ１７）。具体的には、ＰＩ［Ｗ］＝ＥＩ［Ｗ／Ｈｚ］×ＣＩ［Ｈｚ］の式からアイドル電力ＰＩ［Ｗ］が算出される。
【００８２】
続けて、基準温度算出部ＲＣは、記憶部ＲＥＧに格納された基準温度計算式及びシャットダウン比率を用いて、基準温度Ｔｒｅｆを算出する（ステップＳ１８）。その後、ステップＳ１１へ戻り、ステップＳ１１〜Ｓ１８のフローを繰り返す。
【００８３】
以下に、基準温度Ｔｒｅｆを算出するために用いる基準温度計算式の一例を示す。
まず、トランジスタ１個当たりのリーク電流ｉＬ［Ａ］は、係数α［Ａ／ｎｍ］、ゲート幅Ｗ［ｎｍ］、閾値電圧ＶT［Ｖ］、サブスレッショルド係数ｎ、温度電圧Ｕｔ［Ｖ］を用いて、次式１で表すことができる。ここで、係数α及びサブスレッショルド係数ｎは実験などから求めることができる。
ｉＬ＝α×Ｗ×ｅｘｐ｛−ＶＴ／（ｎ×Ｕｔ）｝・・・（式１）
【００８４】
ここで、温度電圧Ｕｔ［Ｖ］は、ボルツマン定数ｋ＝１．３８×１０−２３［Ｊ／Ｋ］、絶対温度Ｔ［Ｋ］、電気素量ｑ＝１．６×１０−１９［Ｃ］を用いて、次式２で表すことができる。
Ｕｔ＝ｋＴ／ｑ・・・（式２）
【００８５】
ここで、半導体装置のリーク電流ＩＬ［Ａ］は、半導体装置を構成するトランジスタ数Ｎ［個］及びシャットダウン比率ｒを用いて、式１、式２から次式３により表すことができる。
ＩＬ＝α×Ｗ×ｅｘｐ｛−ＶＴ×ｑ／（ｎ×ｋＴ）｝×Ｎ×（１−ｒ）
・・・（式３）
【００８６】
式３から絶対温度Ｔ［Ｋ］は次式４により表すことができる。
Ｔ＝（−ＶＴ×ｑ）／（ｎ×ｋ）／ｌｎ［ＩＬ／｛α×Ｗ×Ｎ×（１−ｒ）｝］
・・・（式４）
【００８７】
そして、式４の絶対温度Ｔ［Ｋ］は、次式５により摂氏温度ＴＣ［℃］（＝Ｔ-Ｔ０）として表すことができる。ここで、０℃の絶対温度Ｔ０＝２７３．１５［Ｋ］である。
ＴＣ＝（−ＶＴ×ｑ）／（ｎ×ｋ）／ｌｎ［ＩＬ／｛α×Ｗ×Ｎ×（１−ｒ）｝］−Ｔ０
・・・（式５）
【００８８】
アイドル電力ＰＩ［Ｗ］（＝アイドル電流ＩＩ［Ａ］×動作電圧Ｖ［Ｖ］）とリーク電力ＰＬ［Ｗ］（＝リーク電流ＩＬ［Ａ］×動作電圧Ｖ［Ｖ］）の比が１：ｍすなわちＩＬ＝ｍ×ＩＩ＝ｍ×ＰＩ／Ｖのときの温度を基準温度Ｔｒｅｆ［℃］とする。この基準温度Ｔｒｅｆ［℃］は、式５から次式６により表すことができる。ｍの値は適宜決定すればよいが、例えば１０程度とする。
Ｔｒｅｆ
＝（−ＶＴ×ｑ）／（ｎ×ｋ）／ｌｎ［（ｍ×ＰＩ／Ｖ）／｛α×Ｗ×Ｎ×（１−ｒ）｝］−Ｔ０
・・・（式６）
【００８９】
この式６が基準温度計算式となる。この式６に、ステップＳ１７において算出されたアイドル電力ＰＩ［Ｗ］及びサイクル測定部ＣＭから取得されたシャットダウン比率ｒを代入することにより、基準温度Ｔｒｅｆ［℃］が得られる。
【００９０】
＜測定温度取得方法（サブルーチン２）＞
次に、図１０を参照して、実施の形態１に係る半導体装置における測定温度Ｔａの取得方法（サブルーチン２）について説明する。図１０は、実施の形態１に係る測定温度取得方法（サブルーチン２）を説明するためのフローチャートである。
ＣＰＵからのサブルーチン２の開始要求ｒｅｑ２に応じ、温度監視部ＴＭは、サブルーチン２を開始する。
まず、温度監視部ＴＭは、内部に備えたタイマの値をリセットする（ステップＳ２１）。
【００９１】
次に、タイマがリミット値に到達したら（すなわちタイマ満了時）、温度監視部ＴＭは、温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する（ステップＳ２２）。
【００９２】
次に、温度監視部ＴＭは、測定要求ｒｅｑ５に応じて温度センサＴＳから出力された測定温度Ｔａを取得する（ステップＳ２３）。その後、ステップＳ２１へ戻り、ステップＳ２１〜Ｓ２３のフローを繰り返す。
【００９３】
＜消費電力削減効果の説明＞
次に、図１１Ａ、図１１Ｂを参照して、本実施の形態に係る半導体装置の消費電力削減効果について説明する。図１１Ａは、実施の形態１の実施例に係る半導体装置の低温時（測定温度Ｔａ＜基準温度Ｔｒｅｆ）すなわちアイドル電力削減モードにおける消費電力の構成を模式的に示すグラフである。図１１Ｂは、実施の形態１の実施例に係る半導体装置の高温時（基準温度Ｔｒｅｆ＜測定温度Ｔａ）すなわちリーク電力削減モードにおける消費電力の構成を模式的に示すグラフである。ここで、図１１Ａ、図１１Ｂは、比較例に係る図４Ａ、図４Ｂと同種のグラフである。
【００９４】
図１１Ａ、図１１Ｂのグラフにおいて横軸は時間［ｓ］、縦軸は単位時間当たりの消費電力［Ｗ／ｓ］である。横軸の時間に合わせ、動作クロック（ＣＬＯＣＫ）及びステータス（ＳＴＡＴＵＳ）が示されている。図１１Ａに示すように、単位時間当たりのリーク電力ＰＬ及びアイドル電力ＰＩは、アイドル状態及びアクティブ状態によらず、一定である。アクティブ電力ＰＡは、アクティブ状態のみにおいて発生する。また、シャットダウン状態では消費電力は発生しない。図１１Ｂにおいても同様である。図１１Ａ及び図１１Ｂに示した単位時間当たりの消費電力の時間積分値（つまり図１１Ａ及び図１１Ｂに示したグラフの面積すなわちマスの数）が消費電力となる。
【００９５】
図１１Ｂでは図１１Ａに比べ、動作周波数が２倍になっているため、単位時間当たりのアイドル電力ＰＩも２倍になっている。他方、図１１Ｂでは図１１Ａに比べ、温度の上昇により、単位時間当たりのリーク電力ＰＬは８倍になっている。ここで、処理に要するアクティブ電力ＰＡの合計は、図１１Ａ及び図１１Ｂにおいて同じである。そのため、図１１Ｂでは図１１Ａに比べ、アクティブ状態が短時間化（シャットダウン状態が長時間化）している。
【００９６】
実施例に係る図１１Ａを比較例に係る図４Ａと比較することにより、アイドル電力削減モードにおける消費電力削減効果について説明する。図１１Ａでは図４Ａに比べ、動作周波数が１／２になっているため、単位時間当たりのアイドル電力ＰＩは１／２になる。一方、処理に要するアクティブ電力ＰＡの合計は同じであるため、処理に要する時間（アクティブ状態の時間）は２倍となる。なお、温度は同じであるため、単位時間当たりのリーク電力ＰＬは同じである。
【００９７】
図１１Ａでは図４Ａに比べ、アクティブ状態の時間は２倍になり、リーク電力ＰＬは増える。しかしながら、低温で単位時間当たりのリーク電力ＰＬが小さいため、単位時間当たりのアイドル電力ＰＩが１／２となるアイドル電力削減効果の方が大きい。そのため、全体として消費電力を削減することができる。より具体的には、図１１Ａでは図４Ａに比べ、リーク電力ＰＬが２マス分増えているが、アイドル電力ＰＩが４マス分減っており、全体として２マス分の消費電力を削減することができる。
【００９８】
次に、実施例に係る図１１Ｂを比較例に係る図４Ｂと比較することにより、リーク電力削減モードにおける消費電力削減効果について説明する。図１１Ｂでは図４Ｂに比べ、動作周波数が２倍になっているため、単位時間当たりのアイドル電力ＰＩは２倍になる。一方、処理に要するアクティブ電力ＰＡの合計は同じであるため、処理に要する時間（アクティブ状態の時間）は１／２となる。なお、温度は同じであるため、単位時間当たりのリーク電力ＰＬは同じである。
【００９９】
図１１Ｂでは図４Ｂに比べ、単位時間当たりのアイドル電力ＰＩは２倍になる。しかしながら、高温で単位時間当たりのリーク電力ＰＬが大きいため、アクティブ状態の短時間化（シャットダウン状態の長時間化）によるリーク電力削減効果の方が大きい。そのため、全体として消費電力を削減することができる。より具体的には、図１１Ｂでは図４Ｂに比べ、アイドル電力ＰＩが４マス分増えているが、リーク電力ＰＬが１６マス分減っており、全体として１２マス分の消費電力を削減することができる。
【０１００】
図１２は、図１１Ａ、図１１Ｂに示した実施の形態１の実施例に係る半導体装置の消費電力の温度依存性を示すグラフである。横軸が温度［℃］、縦軸が消費電力［ｍＷ］であり、実施例の消費電力が実線で示されている。また、図１２には、図４Ａ、図４Ｂに示した比較例に係る半導体装置の消費電力も破線で示されている。
【０１０１】
実施例では、基準温度Ｔｒｅｆよりも温度が低い場合、動作周波数を下げ、基準温度Ｔｒｅｆよりも温度が高い場合、動作周波数を上げるように制御している。反対に、比較例では、基準温度Ｔｒｅｆよりも温度が低い場合、動作周波数を上げ、基準温度Ｔｒｅｆよりも温度が高い場合、動作周波数を下げるように制御している。
【０１０２】
図１２に示すように、全温度域において、比較例よりも実施例の方が消費電力は小さい。ここで、温度が基準温度Ｔｒｅｆ近傍であれば、実施例と比較例との消費電力の差は小さい。しかしながら、温度が基準温度Ｔｒｅｆよりも高くあるいは低くなる程、その差は大きくなる。特に、高温域でのリーク電力削減効果が大きい。
【０１０３】
以上説明したように、本実施の形態に係る半導体装置では、動作周波数に比例して増加するアイドル電力ＰＩと温度上昇とともに急激に増加するリーク電力ＰＬとのうち、いずれを削減するのが全体としての消費電力削減に寄与するのかを基準温度Ｔｒｅｆと測定温度Ｔａとを比較することにより判断している。そして、この比較結果に基づいて、動作周波数を適切に制御することにより、消費電力を削減している。
【０１０４】
具体的には、測定温度Ｔａが基準温度Ｔｒｅｆよりも小さく、リーク電力ＰＬが小さい場合、電力削減モード制御部（制御部）１００は、動作周波数を低くするように制御する。これにより、アイドル電力ＰＩが削減され、全体として消費電力を削減することができる。他方、測定温度Ｔａが基準温度Ｔｒｅｆより大きく、リーク電力ＰＬが大きい場合、電力削減モード制御部（制御部）１００は、動作周波数を高くするように制御する。すなわち、アクティブ状態を短時間化（シャットダウン状態を長時間化）することにより、リーク電力ＰＬが削減され、全体として消費電力を削減することができる。
【０１０５】
さらに、消費電力の削減に伴い、半導体装置から発生する熱も抑制することができる。そのため、チップ温度の上昇による半導体装置の熱暴走を抑制することができる。すなわち、半導体装置の信頼性も向上する。
【０１０６】
（実施の形態２）
＜実施の形態２に係る半導体装置の構成＞
図１３を参照して、実施の形態２に係る半導体装置であるアプリケーションプロセッサ６０１の構成について説明する。図１３は、実施の形態２に係るアプリケーションプロセッサ６０１の構成例を示すブロック図である。図１３に示すように、実施の形態２に係るアプリケーションプロセッサ６０１は、図７に示した実施の形態１に係るアプリケーションプロセッサ６０１の構成に加え、画像処理部ＩＰＵ及び音声処理部ＶＰＵを備えている。図１３において、太い矢印はデータを示し、細い矢印は各種制御信号やクロックを示している。
【０１０７】
画像処理部ＩＰＵは、画像処理専用のプロセッサであって、例えばＤＳＰ（Digital Signal Processor）から構成される。画像処理部ＩＰＵには、クロック生成部ＣＰＧから出力される動作クロックｃｋ２が入力される。本実施の形態に係る半導体装置では、画像処理部ＩＰＵは、例えば、動画再生などの画像処理を必要とするユースケースの場合に処理を実行し、画像処理を必要としないユースケースではステータスが常時シャットダウン状態となる。
【０１０８】
音声処理部ＶＰＵは、音声処理専用のプロセッサであって、例えばＤＳＰ（Digital Signal Processor）から構成される。音声処理部ＶＰＵには、クロック生成部ＣＰＧから出力される動作クロックｃｋ３が入力される。本実施の形態に係る半導体装置では、音声処理部ＶＰＵは、例えば、音楽再生などの音声処理を必要とするユースケースの場合に処理を実行し、音声処理を必要としないユースケースではステータスが常時シャットダウン状態となる。
【０１０９】
電源制御部ＰＳＣは、ＣＰＵに接続された電源供給スイッチＳＷ１のオンオフを制御する電源イネーブル信号ｐｓｅｎ１を出力する。また、電源制御部ＰＳＣは、画像処理部ＩＰＵに接続された電源供給スイッチＳＷ２のオンオフを制御する電源イネーブル信号ｐｓｅｎ２を出力する。さらに、電源制御部ＰＳＣは、音声処理部ＶＰＵに接続された電源供給スイッチＳＷ３のオンオフを制御する電源イネーブル信号ｐｓｅｎ３を出力する。電源供給スイッチＳＷ１〜ＳＷ３は、例えばＭＯＳＦＥＴから構成され、それらのゲート端子（制御端子）に電源イネーブル信号ｐｓｅｎ１〜ｐｓｅｎ３がそれぞれ入力される。
【０１１０】
ここで、電源供給スイッチＳＷ１のオンオフは、ＣＰＵのステートに応じて制御される。具体的には、ＣＰＵのステートがアクティブ状態又はアイドル状態の場合、電源供給スイッチＳＷ１はオンとなる。一方、ＣＰＵのステートがシャットダウン状態の場合、電源供給スイッチＳＷ１はオフとなる。
【０１１１】
同様に、電源供給スイッチＳＷ２のオンオフは、画像処理部ＩＰＵのステートに応じて制御される。具体的には、画像処理部ＩＰＵのステートがアクティブ状態又はアイドル状態の場合、電源供給スイッチＳＷ２はオンとなる。一方、画像処理部ＩＰＵのステートがシャットダウン状態の場合、電源供給スイッチＳＷ２はオフとなる。
【０１１２】
同様に、電源供給スイッチＳＷ３のオンオフは、音声処理部ＶＰＵのステートに応じて制御される。具体的には、音声処理部ＶＰＵのステートがアクティブ状態又はアイドル状態の場合、電源供給スイッチＳＷ３はオンとなる。一方、音声処理部ＶＰＵのステートがシャットダウン状態の場合、電源供給スイッチＳＷ３はオフとなる。
その他の構成は、実施の形態１に係る半導体装置と同様であるため、詳細な説明は省略する。
【０１１３】
＜実施の形態２に係る半導体装置の動作の詳細＞
次に、図１４Ａ〜図１４Ｅを用いて、実施の形態２に係る半導体装置の動作の詳細について説明する。図１４Ａ〜図１４Ｅは、実際のユースケース（音楽再生及び動画再生）に則した電力削減モード制御方法の詳細を説明するためのシーケンス図である。図１４Ａ〜図１４Ｅの左端に＜１＞〜＜１１＞までの番号を示している。この番号に沿って、順に説明する。
【０１１４】
＜１＞システム起動時の動作
システムが起動すると、ＣＰＵがメインルーチンを開始する。まず、図１４Ａに示すように、ＣＰＵが記憶部ＲＥＧに対し初期化信号ｒｓｔを出力し、記憶部ＲＥＧに格納された各種データ（温度監視部ＴＭ及び基準温度算出部ＲＣが備えるタイマのリミット値、計算用基礎データｄ１、基準アクティブサイクルａｃ２）を初期化する。なお、起動時のチップ温度は２０℃であって、起動後のユースケースは音楽再生である。
【０１１５】
次に、ＣＰＵは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを算出するためのサブルーチン１の開始を要求する開始要求ｒｅｑ１を出力する。また、ＣＰＵは、温度監視部ＴＭに対し、測定温度Ｔａを取得するためのサブルーチン２の開始を要求する開始要求ｒｅｑ２を出力する。
【０１１６】
＜２＞基準温度算出（サブルーチン１）及び測定温度取得（サブルーチン２）
サブルーチン１の開始要求ｒｅｑ１に応じ、基準温度算出部ＲＣは内部のタイマをリセットし、タイマ満了時にサイクル測定部ＣＭに対し、各種測定データの測定要求ｒｅｑ３を出力する。この測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭは、アクティブサイクルａｃ１及び計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）を測定する。続けて、サイクル測定部ＣＭは、比較部取得したアクティブサイクルａｃ１を比較部ＣＭＰへ送付する。
【０１１７】
比較部ＣＭＰは、サイクル測定部ＣＭから送付されたアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する。すなわち、アクティブサイクルａｃ１の基準アクティブサイクルａｃ２に対する変化が１０％未満か否かを判定する。上述の通り、１０％という数値はあくまでも一例である。
【０１１８】
ここで、システム起動後最初の判定であるため、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しない。そのため、比較部ＣＭＰは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を出力する。この基準変更要求ｒｅｑ４は例えばイネーブル信号であって、基準変更要求ｒｅｑ４を出力するとは、当該イネーブル信号の値が１であることを意味する。
【０１１９】
基準変更要求ｒｅｑ４は、サイクル測定部ＣＭにも入力される。基準変更要求ｒｅｑ４に応じて、サイクル測定部ＣＭはアクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧへ送付する（図１４Ａには示されていないが、図９のステップＳ１６に相当する）。
【０１２０】
基準変更要求ｒｅｑ４に応じ、基準温度算出部ＲＣは、サイクル測定部ＣＭに対し計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）の送付を要求する。この要求に応じて、サイクル測定部ＣＭは、基準温度算出部ＲＣへ計算用測定データｄ２を送付する。
また、基準温度算出部ＲＣは、記憶部ＲＥＧに対し計算用基礎データｄ１（基準温度計算式及び要素アイドル電力）の送付を要求する。この要求に応じて、記憶部ＲＥＧは基準温度算出部ＲＣへ計算用基礎データｄ１を送付する。
【０１２１】
基準温度算出部ＲＣは、記憶部ＲＥＧから取得した要素アイドル電力ＥＩ［Ｗ／Ｈｚ］及びサイクル測定部ＣＭから取得したアイドルサイクルＣＩ［Ｈｚ］を用いて、アイドル電力ＰＩ［Ｗ］を算出する。具体的には、ＰＩ［Ｗ］＝ＥＩ［Ｗ／Ｈｚ］×ＣＩ［Ｈｚ］の式からアイドル電力ＰＩ［Ｗ］を算出する。
続けて、基準温度算出部ＲＣは、自身が算出したアイドル電力ＰＩ、サイクル測定部ＣＭから取得したシャットダウン比率ｒ、及び記憶部ＲＥＧから取得した基準温度計算式を用いて、基準温度Ｔｒｅｆを算出する。ここでは、Ｔｒｅｆ＝６３．３℃とする。基準温度算出部ＲＣは、この算出された基準温度Ｔｒｅｆをモード判定部ＭＤへ送付する。
【０１２２】
一方、サブルーチン２の開始要求ｒｅｑ２に応じ、温度監視部ＴＭは、内部のタイマをリセットし、タイマ満了時に温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する。測定要求ｒｅｑ５に応じ、温度センサＴＳは測定温度Ｔａを取得し、温度監視部ＴＭへ送付する。ここでは、Ｔａ＝２２℃である。温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ送付する。
【０１２３】
＜３＞モード判定
モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する。ここで、測定温度Ｔａ＝２２℃、基準温度Ｔｒｅｆ＝６３．３℃であるため、Ｔａ＜Ｔｒｅｆを満たす。従って、モード判定部ＭＤは、アイドル電力削減モードを選択する。そのため、クロック生成部ＣＰＧは、出力する動作クロックｃｋ１の周波数（ＣＰＵの動作周波数）を最大周波数ｆｍａｘ［Ｈｚ］からアイドル電力削減モード周波数ｆ１［Ｈｚ］へ変更する。
【０１２４】
＜４＞基準温度算出（サブルーチン１）及び測定温度取得（サブルーチン２）
次に、図１４Ｂを参照して説明する。
基準温度算出部ＲＣは、基準温度Ｔｒｅｆをモード判定部ＭＤへ送付した後、内部のタイマをリセットする。そして、基準温度算出部ＲＣは、タイマ満了時にサイクル測定部ＣＭに対し、各種測定データの測定要求ｒｅｑ３を出力する。この測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭは、アクティブサイクルａｃ１及び計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）を測定する。続けて、サイクル測定部ＣＭは、比較部取得したアクティブサイクルａｃ１を比較部ＣＭＰへ送付する。
【０１２５】
比較部ＣＭＰは、サイクル測定部ＣＭから送付されたアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する。ここで、ユースケースは音楽再生のままであるため、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足する。そのため、比較部ＣＭＰは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を出力しない。この基準変更要求ｒｅｑ４が上記イネーブル信号であれば、基準変更要求ｒｅｑ４を出力しないとは、当該イネーブル信号の値が０であることを意味する。
【０１２６】
一方、温度監視部ＴＭは、測定温度Ｔａをモード判定部ＭＤへ送付した後、内部のタイマをリセットし、タイマ満了時に温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する。測定要求ｒｅｑ５に応じ、温度センサＴＳは測定温度Ｔａを取得し、温度監視部ＴＭへ送付する。ここでは、Ｔａ＝２３℃である。温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ送付する。
【０１２７】
＜５＞モード判定
モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する。ここで、測定温度Ｔａ＝２３℃、基準温度Ｔｒｅｆ＝６３．３℃であるため、Ｔａ＜Ｔｒｅｆを満たす。従って、モード判定部ＭＤは、アイドル電力削減モードを選択する。ここで、ＣＰＵの動作周波数は既にアイドル電力削減モード周波数ｆ１［Ｈｚ］である。そのため、クロック生成部ＣＰＧは出力する動作クロックｃｋ１の周波数を切り換えない。
【０１２８】
＜６＞基準温度算出（サブルーチン１）及び測定温度取得（サブルーチン２）
次に、図１４Ｃを参照して説明する。
基準温度算出部ＲＣは、比較部ＣＭＰからの基準変更要求ｒｅｑ４がない場合、内部のタイマをリセットする。そして、基準温度算出部ＲＣは、タイマ満了時にサイクル測定部ＣＭに対し、各種測定データの測定要求ｒｅｑ３を出力する。この測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭは、アクティブサイクルａｃ１及び計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）を測定する。続けて、サイクル測定部ＣＭは、比較部取得したアクティブサイクルａｃ１を比較部ＣＭＰへ送付する。
【０１２９】
比較部ＣＭＰは、サイクル測定部ＣＭから送付されたアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する。ここで、ユースケースが音楽再生から動画再生へ変更されているため、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しない。そのため、比較部ＣＭＰは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を出力する。
【０１３０】
この基準変更要求ｒｅｑ４は、サイクル測定部ＣＭにも入力され、この基準変更要求ｒｅｑ４に応じて、サイクル測定部ＣＭはアクティブサイクルａｃ１を新たな基準アクティブサイクルａｃ２として記憶部ＲＥＧへ送付する（図１４Ｃには示されていないが、図９のステップＳ１６に相当する）。
【０１３１】
基準変更要求ｒｅｑ４に応じ、基準温度算出部ＲＣは、サイクル測定部ＣＭに対し計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）の送付を要求する。この要求に応じて、サイクル測定部ＣＭは、基準温度算出部ＲＣへ計算用測定データｄ２を送付する。
また、基準温度算出部ＲＣは、記憶部ＲＥＧに対し計算用基礎データｄ１（基準温度計算式及び要素アイドル電力）の送付を要求する。この要求に応じて、記憶部ＲＥＧは基準温度算出部ＲＣへ計算用基礎データｄ１を送付する。
【０１３２】
基準温度算出部ＲＣは、記憶部ＲＥＧから取得した要素アイドル電力ＥＩ［Ｗ／Ｈｚ］及びサイクル測定部ＣＭから取得したアイドルサイクルＣＩ［Ｈｚ］を用いて、アイドル電力ＰＩ［Ｗ］を算出する。続けて、基準温度算出部ＲＣは、自身が算出したアイドル電力ＰＩ、サイクル測定部ＣＭから取得したシャットダウン比率ｒ、及び記憶部ＲＥＧから取得した基準温度計算式を用いて、基準温度Ｔｒｅｆを算出する。ここでは、Ｔｒｅｆ＝６４．４℃とする。基準温度算出部ＲＣは、この算出された基準温度Ｔｒｅｆをモード判定部ＭＤへ送付する。
【０１３３】
一方、温度監視部ＴＭは、測定温度Ｔａをモード判定部ＭＤへ送付した後、内部のタイマをリセットし、タイマ満了時に温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する。測定要求ｒｅｑ５に応じ、温度センサＴＳは測定温度Ｔａを取得し、温度監視部ＴＭへ送付する。ここでは、Ｔａ＝４４℃である。温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ送付する。
【０１３４】
＜７＞モード判定
モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する。ここで、測定温度Ｔａ＝４４℃、基準温度Ｔｒｅｆ＝６４．４℃であるため、Ｔａ＜Ｔｒｅｆを満たす。従って、モード判定部ＭＤは、アイドル電力削減モードを選択する。この時点において、ＣＰＵの動作周波数は、音楽再生でのアイドル電力削減モード周波数ｆ１［Ｈｚ］である。そのため、クロック生成部ＣＰＧは、出力する動作クロックｃｋ１の周波数を動画再生でのアイドル電力削減モード周波数ｆ２［Ｈｚ］へ切り換える。ここで、動画再生では音楽再生よりも高速動作が要求されるため、通常ｆ１＜ｆ２である。
【０１３５】
＜８＞基準温度算出（サブルーチン１）及び測定温度取得（サブルーチン２）
次に、図１４Ｄを参照して説明する。
基準温度算出部ＲＣは、基準温度Ｔｒｅｆをモード判定部ＭＤへ送付した後、内部のタイマをリセットする。そして、基準温度算出部ＲＣは、タイマ満了時にサイクル測定部ＣＭに対し、各種測定データの測定要求ｒｅｑ３を出力する。この測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭは、アクティブサイクルａｃ１及び計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）を測定する。続けて、サイクル測定部ＣＭは、比較部取得したアクティブサイクルａｃ１を比較部ＣＭＰへ送付する。
【０１３６】
比較部ＣＭＰは、サイクル測定部ＣＭから送付されたアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する。ここで、ユースケースは動画再生のままであるため、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足する。そのため、比較部ＣＭＰは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を出力しない。
【０１３７】
一方、温度監視部ＴＭは、測定温度Ｔａをモード判定部ＭＤへ送付した後、内部のタイマをリセットし、タイマ満了時に温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する。測定要求ｒｅｑ５に応じ、温度センサＴＳは測定温度Ｔａを取得し、温度監視部ＴＭへ送付する。ここでは、Ｔａ＝７０℃である。温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ送付する。
【０１３８】
＜９＞モード判定
モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する。ここで、測定温度Ｔａ＝７０℃、基準温度Ｔｒｅｆ＝６４．４℃であるため、Ｔａ＜Ｔｒｅｆを満たさない。従って、モード判定部ＭＤは、リーク電力削減モードを選択する。そのため、クロック生成部ＣＰＧは、出力する動作クロックｃｋ１の周波数をアイドル電力削減モード周波数ｆ２［Ｈｚ］から最大周波数ｆｍａｘへ切り換える。
【０１３９】
＜１０＞基準温度算出（サブルーチン１）及び測定温度取得（サブルーチン２）
次に、図１４Ｅを参照して説明する。
基準温度算出部ＲＣは、比較部ＣＭＰからの基準変更要求ｒｅｑ４がない場合、内部のタイマをリセットする。そして、基準温度算出部ＲＣは、タイマ満了時にサイクル測定部ＣＭに対し、各種測定データの測定要求ｒｅｑ３を出力する。この測定要求ｒｅｑ３に応じ、サイクル測定部ＣＭは、アクティブサイクルａｃ１及び計算用測定データｄ２（アイドルサイクルＣＩ及びシャットダウン比率ｒ）を測定する。続けて、サイクル測定部ＣＭは、比較部取得したアクティブサイクルａｃ１を比較部ＣＭＰへ送付する。
【０１４０】
比較部ＣＭＰは、サイクル測定部ＣＭから送付されたアクティブサイクルａｃ１と記憶部ＲＥＧに格納されている基準アクティブサイクルａｃ２とを比較する。具体的には、例えばａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足しているか否か判定する。ここで、ユースケースは動画再生のままであるため、ａｃ２×０．９＜ａｃ１＜ａｃ２×１．１を満足する。そのため、比較部ＣＭＰは、基準温度算出部ＲＣに対し、基準温度Ｔｒｅｆを変更するための基準変更要求ｒｅｑ４を出力しない。
【０１４１】
一方、温度監視部ＴＭは、測定温度Ｔａをモード判定部ＭＤへ送付した後、内部のタイマをリセットし、タイマ満了時に温度センサＴＳへ温度の測定要求ｒｅｑ５を出力する。測定要求ｒｅｑ５に応じ、温度センサＴＳは測定温度Ｔａを取得し、温度監視部ＴＭへ送付する。ここでは、Ｔａ＝６０℃である。温度監視部ＴＭは、温度センサＴＳから取得した測定温度Ｔａをモード判定部ＭＤへ送付する。
【０１４２】
＜１１＞モード判定
モード判定部ＭＤは、測定温度Ｔａと基準温度Ｔｒｅｆとを比較し、Ｔａ＜Ｔｒｅｆを満たすか否かを判定する。ここで、測定温度Ｔａ＝６０℃、基準温度Ｔｒｅｆ＝６４．４℃であるため、Ｔａ＜Ｔｒｅｆを満たす。従って、モード判定部ＭＤは、アイドル電力削減モードを選択する。そのため、クロック生成部ＣＰＧは、出力する動作クロックｃｋ１の周波数を最大周波数ｆｍａｘからアイドル電力削減モード周波数ｆ２［Ｈｚ］へ切り換える。
【０１４３】
以上説明したように、本実施の形態に係る半導体装置では、動作周波数に比例して増加するアイドル電力ＰＩと温度上昇とともに急激に増加するリーク電力ＰＬとのうち、いずれを削減するのが全体としての消費電力削減に寄与するのかを基準温度Ｔｒｅｆと測定温度Ｔａとを比較することにより判断している。そして、この比較結果に基づいて、動作周波数を適切に制御することにより、消費電力を削減している。
【０１４４】
具体的には、測定温度Ｔａが基準温度Ｔｒｅｆよりも小さく、リーク電力ＰＬが小さい場合、動作周波数を下げることによりアイドル電力ＰＩを削減し、全体として消費電力を削減する。他方、測定温度Ｔａが基準温度Ｔｒｅｆ以上で、リーク電力ＰＬが大きい場合、動作周波数を上げ、アクティブ状態を短時間化する（シャットダウン状態を長時間化する）ことにより、リーク電力ＰＬを削減し、全体として消費電力を削減する。
【０１４５】
さらに、消費電力の削減に伴い、半導体装置から発生する熱も抑制することができる。そのため、チップ温度の上昇による半導体装置の熱暴走を抑制することができる。すなわち、半導体装置の信頼性も向上する。
【０１４６】
（実施の形態３）
＜電力削減モード制御方法（メインルーチン）＞
次に、図１５を参照して、実施の形態３に係る半導体装置における電力削減モード制御方法（メインルーチン）について説明する。図１５は、実施の形態３に係る電力削減モード制御方法（メインルーチン）を説明するためのフローチャートである。実施の形態３に係る半導体装置の構成は、図７に示した実施の形態１に係る半導体装置と同様であるが、モード判定部ＭＤにおける判定方法が異なる。
【０１４７】
図１５におけるステップＳ１〜Ｓ５は、図８におけるステップＳ１〜Ｓ５と同じであるため、説明を省略する。
ステップＳ５の後、モード判定部ＭＤは、測定温度Ｔａと下限基準温度（第１の基準温度）＝Ｔｒｅｆ×０．８とを比較し、Ｔａ＜Ｔｒｅｆ×０．８を満たすか否かを判定する（ステップＳ６１）。Ｔａ＜Ｔｒｅｆ×０．８を満たす場合（ステップＳ６１ＹＥＳ）、モード判定部ＭＤはアイドル電力削減モードを選択し、クロック生成部ＣＰＧはＣＰＵの動作クロックｃｋ１の周波数を低く設定する（ステップＳ７）。例えば、処理に支障をきたさずにＣＰＵが動作可能な最低の周波数に設定する。その後、ステップＳ４に戻り、モード判定を繰り返す。
【０１４８】
一方、Ｔａ＜Ｔｒｅｆ×０．８を満たさない場合（ステップＳ６１ＮＯ）、モード判定部ＭＤは、測定温度Ｔａと上限基準温度（第２の基準温度）＝Ｔｒｅｆ×１．２とを比較し、Ｔａ＞Ｔｒｅｆ×１．２を満たすか否かを判定する（ステップＳ６２）。Ｔａ＞Ｔｒｅｆ×１．２を満たす場合（ステップＳ６２ＹＥＳ）、モード判定部ＭＤはリーク電力削減モードを選択し、クロック生成部ＣＰＧはＣＰＵの動作クロックｃｋ１の周波数を高く設定する（ステップＳ８）。例えば、ＣＰＵが動作可能な最高周波数に設定する。その後、ステップＳ４に戻り、モード判定を繰り返す。
【０１４９】
一方、Ｔａ＞Ｔｒｅｆ×１．２を満たさない場合（ステップＳ６２ＮＯ）、モード判定部ＭＤはいずれのモードも選択せず、クロック生成部ＣＰＧはＣＰＵの動作クロックｃｋ１の周波数を変更しない。つまり、そのままステップＳ４に戻り、モード判定を繰り返す。
【０１５０】
すなわち、モード判定部ＭＤは、測定温度Ｔａが上限基準温度（図１５ではＴｒｅｆ×１．２）を超えた場合に、リーク電力削減モードを選択し、測定温度Ｔａが下限基準温度（図１５ではＴｒｅｆ×０．８）を下回った場合に、アイドル電力削減モードを選択する。他方、測定温度Ｔａが下限基準温度以上、上限基準温度以下（図１５ではＴｒｅｆ×０．８≦Ｔａ≦Ｔｒｅｆ×１．２）であれば、いずれのモードも選択しない。すなわち、クロック生成部ＣＰＧは動作周波数を変更しない。
【０１５１】
なお、図１５の例では、上限基準温度＝Ｔｒｅｆ×１．２、下限基準温度＝Ｔｒｅｆ×０．８であるが、上限基準温度及び下限基準温度は適宜決定することができる。また、図１５の例では、上限基準温度及び下限基準温度を基準温度Ｔｒｅｆから決定しているが、別々に決定してもよい。また、当然のことながら、ステップＳ６１、Ｓ６２については、いずれを先に実行してもかまわない。
【０１５２】
図１６Ａは、実施の形態３の実施例に係る半導体装置の温度上昇時における消費電力の温度依存性を説明するためのグラフである。横軸が温度［℃］、縦軸が消費電力［ｍＷ］であり、実施例の消費電力が実線で示されている。また、図１６Ａには、比較例に係る半導体装置の消費電力も破線で示されている（図１２の比較例に同じ）。
【０１５３】
図１６Ａでは、実施例において、下限基準温度Ｔｒｅｆ×０．８よりも温度が低い場合、動作周波数を下げ、上限基準温度Ｔｒｅｆ×１．２よりも温度が高い場合、動作周波数を上げるように制御している。図１６Ａに示すように、温度上昇時には、上限基準温度以下の温度域では低い動作周波数であって、上限基準温度を超えると高い動作周波数へ切り換わる。そのため、基準温度Ｔｒｅｆから上限基準温度Ｔｒｅｆ×１．２までの間では比較例と同程度の消費電力となる。但し、この温度域では比較例の消費電力もさほど高くなく、全体として実施の形態１とほぼ同様に比較例よりも消費電力が小さくなる。
【０１５４】
図１６Ｂは、実施の形態３の実施例に係る半導体装置の温度降下時における消費電力の温度依存性を説明するためのグラフである。横軸が温度［℃］、縦軸が消費電力［ｍＷ］であり、実施例の消費電力が実線で示されている。また、図１６Ｂにも、比較例に係る半導体装置の消費電力も破線で示されている（図１２の比較例に同じ）。
【０１５５】
図１６Ｂでも、実施例において、下限基準温度Ｔｒｅｆ×０．８よりも温度が低い場合、動作周波数を下げ、上限基準温度Ｔｒｅｆ×１．２よりも温度が高い場合、動作周波数を上げるように制御している。図１６Ｂに示すように、温度降下時には、下限基準温度以上の温度域では高い動作周波数であって、下限基準温度を下回ると低い動作周波数へ切り換わる。そのため、基準温度Ｔｒｅｆから下限基準温度Ｔｒｅｆ×０．８までの間では比較例と同程度の消費電力となる。但し、この温度域では比較例の消費電力もさほど高くなく、全体として実施の形態１とほぼ同様に比較例よりも消費電力が小さくなる。
【０１５６】
このように、実施の形態３に係る半導体装置では、実施の形態１に係る半導体装置に比べ、動作周波数の切換回数を減らすことにより、半導体装置の動作を安定させつつ、効果的に消費電力を低減することができる。
【０１５７】
＜変更例等＞
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、基準温度Ｔｒｅｆと測定温度Ｔａとの比較結果に基づいて、動作周波数を変更することに加え、動作電圧も変更するようにしてもよい。
【符号の説明】
【０１５８】
９０  シリコン基板
９１  ゲート
９２  ソース
９２  ドレイン
９３  ドレイン
９４  ゲート絶縁膜
９５  サイドウォール
９６  ゲートコンタクト
９７  ソースコンタクト
９８  ドレインコンタクト
１００  電力削減モード制御部
５００  無線通信端末
５０１  筐体
５０２  ディスプレイデバイス
５０３  タッチパネル
５０４  操作ボタン
５０５、５０６  カメラデバイス
６００  無線通信装置
６０１  アプリケーションプロセッサ（ホストＩＣ）
６０２  ベースバンドプロセッサ
６０３  ＲＦＩＣ
６０４  メインメモリ
６０５  バッテリ
６０６  ＰＭＩＣ
６０７  表示部
６０８  カメラ部
６０９  操作入力部
６１０  オーディオＩＣ
６１１  マイク
６１２  スピーカ
ＣＭ  サイクル測定部
ＣＭＰ  比較部
ＣＰＧ  クロック生成部
ＣＰＵ  ＣＰＵ
ＩＰＵ  画像処理部
ＭＤ  モード判定部
ＰＳＣ  電源制御部
ＲＣ  基準温度算出部
ＲＥＧ  記憶部
ＳＷ１〜ＳＷ３  電源供給スイッチ
Ｔａ  測定温度
ＴＭ  温度監視部
Ｔｒｅｆ  基準温度
ＴＳ  温度センサ
ＶＰＵ  音声処理部
【図１】
0005898342.tif 000002
【図２Ａ】
0005898342.tif 000003
【図２Ｂ】
0005898342.tif 000004
【図３】
0005898342.tif 000005
【図４Ａ】
0005898342.tif 000006
【図４Ｂ】
0005898342.tif 000007
【図５Ａ】
0005898342.tif 000008
【図５Ｂ】
0005898342.tif 000009
【図６】
0005898342.tif 000010
【図７】
0005898342.tif 000011
【図８】
0005898342.tif 000012
【図９】
0005898342.tif 000013
【図１０】
0005898342.tif 000014
【図１１Ａ】
0005898342.tif 000015
【図１１Ｂ】
0005898342.tif 000016
【図１２】
0005898342.tif 000017
【図１３】
0005898342.tif 000018
【図１４Ａ】
0005898342.tif 000019
【図１４Ｂ】
0005898342.tif 000020
【図１４Ｃ】
0005898342.tif 000021
【図１４Ｄ】
0005898342.tif 000022
【図１４Ｅ】
0005898342.tif 000023
【図１５】
0005898342.tif 000024
【図１６Ａ】
0005898342.tif 000025
【図１６Ｂ】
0005898342.tif 000026