JP6042217B2 - 半導体装置、電子装置、及び半導体装置の制御方法 - Google Patents

半導体装置、電子装置、及び半導体装置の制御方法 Download PDF

Info

Publication number
JP6042217B2
JP6042217B2 JP2013012958A JP2013012958A JP6042217B2 JP 6042217 B2 JP6042217 B2 JP 6042217B2 JP 2013012958 A JP2013012958 A JP 2013012958A JP 2013012958 A JP2013012958 A JP 2013012958A JP 6042217 B2 JP6042217 B2 JP 6042217B2
Authority
JP
Japan
Prior art keywords
frequency
clock
adjustment circuit
operation state
cpu core
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
JP2013012958A
Other languages
English (en)
Other versions
JP2014146095A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013012958A priority Critical patent/JP6042217B2/ja
Priority to US14/158,832 priority patent/US9898068B2/en
Publication of JP2014146095A publication Critical patent/JP2014146095A/ja
Application granted granted Critical
Publication of JP6042217B2 publication Critical patent/JP6042217B2/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/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
    • 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/3243Power saving in microcontroller unit
    • 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

Description

本発明は半導体装置、電子装置、及び半導体装置の制御方法に関する。
半導体装置において、必要な性能(パフォーマンス)を確保しつつ消費電力を削減することが求められている。
例えば、特許文献1は、高性能CPU(Central Processing Unit)、低消費電力CPU、処理内容判定部、電源電圧制御管理部、クロック供給制御部を備えた半導体集積回路装置を開示している。処理内容判定部は、半導体集積回路装置で実行すべき処理に応じて高性能CPU及び低消費電力CPUのうちどちらを使用するのが最適かを判断する。電源電圧制御管理部は、処理内容判定部による判断結果に基づき、高性能CPU及び低消費電力CPUへの電源供給を制御する。クロック供給制御部は、処理内容判定部による判断結果に基づき、高性能CPU及び低消費電力CPUへのクロック供給を制御する。
特許文献2は、プロセッサへ電力を供給する電力供給装置を開示している。電力供給装置は、タスク要求性能テーブル、電力モードテーブル、システム要求性能算出ブロック、電力モード判定ブロックを備える。タスク要求性能テーブルは、プロセッサが実行すべき複数のタスクについて、タスクごとの要求性能を記憶する。電力モードテーブルは、プロセッサがシステム要求性能を実現するための動作周波数及び印加電圧を定義している。システム要求性能算出ブロックは、タスク要求性能テーブルに基づいてシステム要求性能を算出する。電力モード判定ブロックは、システム要求性能算出ブロックによって算出されたシステム要求性能及び電力モードテーブルに基づいて、プロセッサの動作周波数及び印加電圧を設定する。
特開2002−288150号公報 特開2005−285093号公報
発明者らは、半導体装置の開発に際し、様々な課題を見出した。本願で開示される各実施の形態は、ダイナミックに変動する負荷にパフォーマンスを追従させことができる半導体装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態にかかる半導体装置は、テーブルを備えた周波数調整回路を備えている。周波数調整回路は、テーブルとCPUコアが出力する動作状態信号に基づいてCPUコアに供給されるクロックの周波数を制御する。
一実施の形態によれば、ダイナミックに変動する負荷にパフォーマンスを追従させことができる半導体装置を提供することができる。
比較例にかかる半導体装置のブロック図である。 比較例にかかる半導体装置の制御方法の概念図である。 実施の形態1にかかる無線通信端末の正面図である。 実施の形態1にかかる無線通信端末の背面図である。 実施の形態1にかかる無線通信端末が備える無線通信装置のブロック図である。 実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかる半導体装置の制御方法の概念図である。 実施の形態1にかかるテーブルのブロック図である。 実施の形態1にかかるテーブルが備えるレジスタに格納される値を示す。 実施の形態1にかかるテーブルが備えるパラメータテーブルに格納される値を示す。 実施の形態1にかかるテーブルの設定例を示すグラフである。 実施の形態1にかかるテーブルの他の設定例を示すグラフである。 実施の形態1にかかるテーブルの他の設定例を示すグラフである。 実施の形態1にかかるテーブルの他の設定例を示すグラフである。 実施の形態1にかかるテーブルの他の設定例を示すグラフである。 実施の形態1の変形例にかかる周波数調整回路のブロック図である。 実施の形態1の変形例にかかるテーブルの設定例を示すグラフである。 実施の形態2にかかる半導体装置のブロック図である。 実施の形態2にかかる半導体装置の制御方法のフローチャートである。 実施の形態2にかかる第1の周波数調整回路の状態遷移図である。 実施の形態2にかかる第2の周波数調整回路の状態遷移図である。 実施の形態2にかかる第3の周波数調整回路の状態遷移図である。 実施の形態2にかかる第4の周波数調整回路の状態遷移図である。 実施の形態2にかかる第1のテーブルの設定例を示すグラフである。 実施の形態2にかかる第2のテーブルの設定例を示すグラフである。 実施の形態2にかかる第3のテーブルの設定例を示すグラフである。 実施の形態2にかかる第4のテーブルの設定例を示すグラフである。 実施の形態2にかかる半導体装置のパフォーマンスとパワーの関係を示すグラフである。 実施の形態3にかかる半導体装置のブロック図である。 実施の形態3にかかる第3の周波数調整回路のブロック図である。 実施の形態3にかかる第4の周波数調整回路のブロック図である。 実施の形態3にかかる第3の周波数調整回路の状態遷移図である。 実施の形態3にかかる第4の周波数調整回路の状態遷移図である。 第3のCPUコアに動作電圧を供給する電源制御部の状態遷移図である。 第4のCPUコアに動作電圧を供給する電源制御部の状態遷移図である。
以下、具体的な実施の形態について、図面を参照しながら詳細に説明する。尚、説明を明確にするために、以下の記載及び図面は、適宜、簡略化されている。
<比較例にかかる半導体装置の構成>
はじめに、図1を参照して、発明者らが検討した比較例にかかる半導体装置の構成を説明する。比較例にかかる半導体装置は、CPU90及びクロック周波数制御回路CFCCを備える。
<比較例にかかる半導体装置の動作>
次に、比較例にかかる半導体装置の動作を説明する。クロック周波数制御回路CFCCは、CPU90のコア9にクロックCKを供給する。コア9は、クロックCKに基づいて処理を実行する。コア9は、コア9のアイドル状態を示すアイドル状態信号ISSを生成する。CPU90は、OS(Operating System)制御に従って、アイドル状態信号ISSに基づいて周波数制御信号FCSを生成する。周波数制御信号FCSは、クロックCKの設定周波数を示す。クロック周波数制御回路CFCCは、周波数制御信号FCSに基づいてクロックCKの周波数を制御する。
図2を参照して、比較例にかかる半導体装置の動作を詳細に説明する。CPU90は、OS制御に従って、一定の周波数制御インターバルごとにクロックCKの周波数を制御する。具体的には、CPU90は、アイドル状態信号ISSに基づいて、周波数制御インターバルごとのコア9の動作率を計算する。動作率は、周波数制御インターバルにおけるアクティブ状態時間の割合である。CPU90は、動作率に基づいて、クロックCKの設定周波数を示す周波数制御信号FCSを生成する。クロック周波数制御回路CFCCは、周波数制御信号FCSに基づいてクロックCKの周波数を制御する。
以下に、OS制御により計算したコア9の動作率に基づいてクロックCKの周波数を制御する方法の問題点を説明する。
動作率に基づいてクロックCKの周波数を制御する方法では、周波数制御インターバルが長くなってしまう。そのため、コア9に要求されるパフォーマンスがダイナミックに変化する場合に、コア9が実行するパフォーマンスを要求パフォーマンスに追従させることができない。具体的には、時刻T0から時刻T5までの周波数制御インターバルにおいてクロックCKの周波数が一定であるため、実行パフォーマンスがその周波数に対応したレベルに制限される。クロックCKの周波数が要求パフォーマンスに対して不足する場合、要求パフォーマンスがゼロに立ち下がった後もコア9のアクティブ状態が継続する。例えば、要求パフォーマンスが時刻T1でゼロに立ち下がるが、時刻T1までに処理できなかったタスクを処理するために時刻T0に始まったアクティブ状態が時刻T2まで引き延ばされる。要求パフォーマンスが時刻T4でゼロに立ち下がるが、時刻T4までに処理できなかったタスクを処理するために時刻T3に始まったアクティブ状態が時刻T5まで引き延ばされる。
ここで、コア9の消費電力は、ベース部分及び有効部分から構成される。ベース部分は、コア9がアクティブ状態であるだけで必要とされる電力である。有効部分は、コア9の実行パフォーマンスに応じた電力である。アクティブ状態が引き延ばされる結果、消費電力のベース部分が大きくなってしまう。更に、制御がソフトウェア的に破たんするおそれがある。尚、クロックCKの設定周波数の下限を高い値に設定することでアクティブ状態が引き延ばされることを回避できるが、その場合、要求パフォーマンスが低い値で一定の場合における消費電力が大きくなってしまう。
更に、周波数制御インターバルごとに、CPU90がOS制御により動作率を計算するオーバーヘッドが発生してしまう。そのため、周波数制御インターバルを短くすることが困難である。尚、オーバーヘッドは図2において省略されている。
(実施の形態1)
<無線通信端末の概要>
まず、図3A、3Bを参照して、実施の形態1に係る半導体装置が適用される電子装置として好適な無線通信端末の概要について説明する。図3A及び3Bは、無線通信端末500の構成例を示す外観図である。
なお、図3A、3Bでは、無線通信端末500がスマートフォンである場合について示している。しかしながら、無線通信端末500は、フィーチャーフォン(例えば、折り畳み式の携帯電話端末)、携帯ゲーム端末、タブレットPC(Personal Computer)、ノートPC、カーナビゲーション装置等のその他の無線通信端末であってもよい。また、当然のことながら、本実施の形態に係る半導体装置は、無線通信端末以外に適用することも可能である。
図3Aは、無線通信端末500を形成する筐体501の一方の主面(前面)を示している。筐体501の前面には、ディスプレイデバイス502と、タッチパネル503と、幾つかの操作ボタン504と、カメラデバイス505とが配置されている。一方、図3Bは、筐体501の他方の主面(背面)を示している。筐体501の背面には、カメラデバイス506が配置されている。
ディスプレイデバイス502は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(OLED:Organic Light-Emitting Diode)等の表示装置である。ディスプレイデバイス502は、表示面が筐体501の前面に位置するように配置されている。
タッチパネル503は、ディスプレイデバイス502の表示面を覆うように配置されるか、或いはディスプレイデバイス502の裏面側に配置され、ユーザーによる表示面への接触位置を検知する。つまり、ユーザーは、指や専用のペン(一般に、スタイラスと呼称される)等でディスプレイデバイス502の表示面に触れることで、無線通信端末500を直感的に操作することができる。
操作ボタン504は、無線通信端末500に対する補助的な操作に用いられる。なお、無線通信端末によっては、このような操作ボタンが設けられないこともある。
カメラデバイス505は、そのレンズユニットが筐体501の前面に位置するように配置されたサブカメラである。なお、無線通信端末によっては、このようなサブカメラが設けられないこともある。
カメラデバイス506は、そのレンズユニットが筐体501の背面に位置するように配置されたメインカメラである。
<無線通信装置の構成>
図4を参照して、本実施の形態に係る半導体装置が搭載される無線通信装置600の構成について説明する。図4は、実施の形態1に係る無線通信装置600の構成例を示すブロック図である。無線通信装置600は、例えば、図3A、3Bに示した無線通信端末500の内部構成である。図4に示すように、無線通信装置600は、アプリケーションプロセッサ(ホストIC)601、ベースバンドプロセッサ602、RFIC(Radio Frequency Integrated Circuit)603、メインメモリ604、バッテリ605、電源制御回路PMC、表示部607、カメラ部608、操作入力部609、オーディオIC610、マイク611、スピーカ612、GPU(Graphics Processor Unit)613を含む。電源制御回路PMCは、例えば、パワーマネジメントIC(PMIC:Power Management Integrated Circuit)606である。
アプリケーションプロセッサ(ホストIC)601は、メインメモリ604に格納されたプログラムを読み出して、無線通信装置600の各種機能を実現するための処理を行う半導体集積回路である。例えば、アプリケーションプロセッサ601は、メインメモリ604からOS(Operating System)プログラムを読み出して実行すると共に、このOSプログラムを動作基盤とするアプリケーションプログラムを実行する。
ベースバンドプロセッサ602は、携帯通信端末が送受信するデータに対して符号化(例えば、畳み込み符号やターボ符号等の誤り訂正符号化)処理又は復号化処理等を含むベースバンド処理を行う。
特に音声データについては、ベースバンドプロセッサ602は、送信音声データをオーディオIC610から受け取り、受け取った送信音声データに対して符号化処理を施して、RFIC603に送信する。より具体的には、ベースバンドプロセッサ602は、オーディオIC610から受け取ったPCM(Pulse Code Modulation)データを符号化処理し、RFIC603が受信できるAMR(Adaptive Multi Rate)データへ変換する。
他方、ベースバンドプロセッサ602は、RFIC603から受信音声データを受け取り、受け取った受信音声データに対して復号化処理を施してオーディオIC610に送信する。より具体的には、ベースバンドプロセッサ602は、RFIC603により復調された受信音声データであるAMRデータを復号化処理し、PCMデータへ変換する。なお、AMRデータは圧縮データであり、PCMデータは非圧縮データである。
RFIC603は、アナログRF信号処理を行う。アナログRF信号処理は、周波数アップコンバージョン、周波数ダウンコンバージョン、増幅などを含む。
特に音声データについては、RFIC603は、ベースバンドプロセッサ602によって変調された送信音声データから送信RF信号を生成し、アンテナを介してこの送信RF信号を無線送信する(Up Link)。
他方、RFIC603は、アンテナを介して受信RF信号を無線受信し、受信RF信号から受信音声データを生成し、この受信音声データをベースバンドプロセッサ602に送信する(Down Link)。
メインメモリ(外部メモリ)604は、アプリケーションプロセッサ601により利用されるプログラム及びデータを格納している。また、メインメモリ604は、オーディオIC610によるボコーダ処理に利用されるプログラムすなわちコーデック(Codec)を格納している。メインメモリ604としては、電源が遮断された場合に記憶したデータがクリアされる揮発性メモリであるDRAM(Dynamic Random Access Memory)が用いる場合が多い。もちろん、メインメモリ604として、電源が遮断されても記憶したデータを保持する不揮発性メモリを用いてもよい。
バッテリ605は、電池であり、無線通信装置600が外部電源によらずに動作する場合に利用される。なお、無線通信装置600は、外部電源が接続されている場合においてもバッテリ605の電源を利用してもよい。また、バッテリ605としては、二次電池を利用することが好ましい。
電源制御回路PMCは、バッテリ605又は外部電源から内部電源を生成する。この内部電源は、無線通信装置600の各ブロックに与えられる。このとき、電源制御回路PMCは、内部電源の供給を受けるブロック毎に内部電源の電圧を制御する。電源制御回路PMCは、アプリケーションプロセッサ601からの指示に基づき内部電源の電圧制御を行う。さらに、電源制御回路PMCは、ブロック毎に内部電源の供給と遮断とを制御することもできる。また、電源制御回路PMCは、外部電源の供給がある場合、バッテリ605への充電制御も行う。
表示部607は、図3A、3Bにおけるディスプレイデバイス502に相当するものであって、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(OLED:Organic Light-Emitting Diode)等の表示装置である。表示部607は、アプリケーションプロセッサ601及びGPU613における処理に従い様々な画像を表示する。表示部607において表示される画像には、ユーザーが無線通信装置600に動作指示を与えるユーザーインタフェース画像、カメラ画像、動画等が含まれる。
カメラ部608は、アプリケーションプロセッサ601からの指示に従い、画像を取得する。カメラ部608は、図3A、3Bにおけるカメラデバイス505、506に相当するものである。
操作入力部609は、ユーザーが操作して無線通信装置600に操作指示を与えるユーザーインタフェースである。操作入力部609は、図3A、3Bにおけるタッチパネル503、操作ボタン504に相当するものである。
オーディオIC610は、ベースバンドプロセッサ602から受け取ったデジタル信号である受信音声データをアナログ信号に変換し、スピーカ612を駆動する。これにより、スピーカ612から音声が出力される。
他方、オーディオIC610は、マイク611で検出したアナログ信号である音声をアナログ/デジタル(A/D)変換して、ベースバンドプロセッサ602に出力する。より具体的には、オーディオIC610は、アナログ信号である音声からデジタル信号であるPCMデータを生成する。
<実施の形態1にかかる半導体装置の構成>
図5を参照して、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601の構成について説明する。アプリケーションプロセッサ601は、例えば、LSI(Large Scale Integration)である。アプリケーションプロセッサ601は、CPU10、周波数調整回路(Frequency Regulating Circuit)FRC1、クロック周波数制御回路CFCC1を含む。CPU10は、コア1を含む。周波数調整回路FRC1は、テーブルT1を備える。テーブルT1は、コア1のパフォーマンス値とクロックCK1の周波数値を対応付けている。
<実施の形態1にかかる半導体装置の動作>
次に、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601の動作を説明する。クロック周波数制御回路CFCC1は、CPU10のコア1にクロックCK1を供給する。コア1は、クロックCK1に基づいて処理を実行する。コア1は、コア1の動作状態を示す動作状態信号(Operation State Signal)OSS1を出力する。ここでは、動作状態信号OSS1は、コア1のパフォーマンスを示すパフォーマンスモニタ信号である。動作状態信号OSS1が示すパフォーマンスは、絶対値でもコア1の最大パフォーマンスに対する相対値でもよい。例えば、パフォーマンスの単位はMIPS(Million Instructions per Second)である。周波数調整回路FRC1は、テーブルT1及び動作状態信号OSS1に基づいて、クロックCK1の周波数を制御する。具体的には、周波数調整回路FRC1は、テーブルT1及び動作状態信号OSS1に基づいて、周波数制御信号FCS1を出力する。周波数制御信号FCS1は、クロックCK1の設定周波数を示す。クロック周波数制御回路CFCC1は、周波数制御信号FCS1に基づいてクロックCK1の周波数を制御する。
図6を参照して、本実施形態にかかる半導体装置であるアプリケーションプロセッサ601の動作を詳細に説明する。周波数調整回路FRC1は、一定の周波数制御インターバルごとにクロックCK1の周波数を制御する。具体的には、周波数調整回路FRC1は、テーブルT1を参照して、動作状態信号OSS1が示すコア1のパフォーマンスに対応する周波数を決定する。周波数調整回路FRC1は、決定した周波数を示す周波数制御信号FCS1を出力する。クロック周波数制御回路CFCC1は、周波数制御信号FCS1に基づいてクロックCK1の周波数を制御する。本実施形態にかかる周波数制御インターバルは短い。そのため、コア1が実行するパフォーマンスをコア1に要求されるパフォーマンスに追従させることができる。コア1の消費電力は、ベース部分及び有効部分から構成される。ベース部分は、コア1がアクティブ状態であるだけで必要とされる電力である。有効部分は、コア1の実行パフォーマンスに応じた電力である。
<実施の形態1にかかる半導体装置と比較例にかかる半導体装置の対比>
本実施形態によれば、周波数調整回路FRC1は、動作状態信号OSS1が示すコア1のパフォーマンスに基づいてクロックCK1の周波数を制御する。そのため、比較例に比べて周波数制御インターバルを短くすることができる。そのため、要求パフォーマンス(負荷)がダイナミックに変化する場合であっても、実行パフォーマンスを要求パフォーマンスに追従させることができる。その結果、コア1のアクティブ状態が引き延ばされない。アクティブ状態が引き延ばされないため、コア1の消費電力のベース部分が大きくなってしまうことが防がれる。したがって、消費電力を低減することができる。更に、実行パフォーマンスをダイナミックに変化する要求パフォーマンスに追従させることができるため、クロックCK1の設定周波数の下限を低い値に設定できる。
更に、本実施形態によれば、クロックCK1の周波数を制御するための専用回路としての周波数調整回路FRC1が設けられ、周波数調整回路FRC1はテーブルT1を備える。そのため、周波数調整回路FRC1は、OSに依存しないでクロックCK1の周波数を制御することができる。したがって、本実施形態によれば、比較例の場合とは異なり、オーバーヘッドが発生しない。
以上、アプリケーションプロセッサ601が単一のCPUコア1を含む場合を説明したが、アプリケーションプロセッサ601が複数のCPUコア1を含んでいてもよい。この場合、CPUコア1ごとに周波数調整回路FRC1及びクロック周波数制御回路CFCC1が設けられる。
<実施の形態1にかかるクロック周波数制御に用いられるテーブルの詳細な説明>
図7を参照して、テーブルT1は、レジスタ11、比較器12を含む。比較器12は、計算器13、パラメータテーブル14を含む。
図8を参照して、レジスタ11に格納された値を説明する。レジスタ11は、ポイントP0〜P5として、第1のパラメータとしてのパフォーマンスの値と第2のパラメータとしての周波数の値の組合せを格納している。具体的には、レジスタ11は、パフォーマンス値「0」と周波数値「10%」の組合せとしてのポイントP0、パフォーマンス値「10」と周波数値「40%」の組合せとしてのポイントP1、パフォーマンス値「20」と周波数値「65%」の組合せとしてのポイントP2、パフォーマンス値「30」と周波数値「80%」の組合せとしてのポイントP3を格納する。レジスタ11は、パフォーマンス値「50」と周波数値「90%」の組合せとしてのポイントP4、パフォーマンス値「85」と周波数値「90%」の組合せとしてのポイントP5を格納する。尚、パフォーマンス値及び周波数値がそれぞれ最大値に対する相対値である場合が図8に示されているが、パフォーマンス値及び周波数値は絶対値であってもよい。
計算器13は、レジスタ11に格納されたポイントP0〜P5に基づいて、ポイントP0及びP1を補間するポイントP0−A、ポイントP1及びP2を補間するポイントP1−A、ポイントP2及びP3を補間するポイントP2−A、ポイントP3及びP4を補間するポイントP3−A〜P3−C、ポイントP4及びP5を補間するポイントP4−A〜P4−Dを計算する。
図9を参照して、ポイントテーブル14は、ポイントP0〜P5、ポイントP0−A、P1−A、P2−A、P3−A〜P3−C、P4−A〜P4−Dを格納する。ポイントP0−Aは、パフォーマンス値「5」と周波数値「25%」の組合せである。ポイントP1−Aは、パフォーマンス値「15」と周波数値「52%」の組合せである。ポイントP2−Aは、パフォーマンス値「25」と周波数値「72%」の組合せである。ポイントP3−Aは、パフォーマンス値「35」と周波数値「82%」の組合せである。ポイントP3−Bは、パフォーマンス値「40」と周波数値「85%」の組合せである。ポイントP3−Cは、パフォーマンス値「45」と周波数値「87%」の組合せである。ポイントP4−Aは、パフォーマンス値「55」と周波数値「90%」の組合せである。ポイントP4−Bは、パフォーマンス値「60」と周波数値「90%」の組合せである。ポイントP4−Cは、パフォーマンス値「65」と周波数値「90%」の組合せである。ポイントP4−Dは、パフォーマンス値「70」と周波数値「90%」の組合せである。
図10は、パラメータテーブル14に格納されたパフォーマンス値と周波数値の対応関係を示すグラフである。ポインントP0〜P5が塗りつぶされた円で示され、ポイントP0−A、P1−A、P2−A、P3−A〜P3−C、P4−A〜P4−Dが塗りつぶされない円で示される。
比較器12は、パラメータテーブル14を参照して、動作状態信号OSS1が示すコア1のパフォーマンス値に対応する周波数値FRQ1を決定する。周波数調整回路FRC1は、周波数値FRQ1を示す周波数制御信号FCS1を出力する。
計算器13がレジスタ11に格納されたポイントP0〜P5に基づいて補間ポイントP0−A、P1−A、P2−A、P3−A〜P3−C、P4−A〜P4−Dを計算しているため、レジスタ11に格納された少数のポイントP0〜P5を変更するだけでパラメータテーブル14の内容を変更することができる。そのため、無線通信端末600の使用状況に応じてパラメータテーブル14の内容を変更することが容易である。また、これらのポイントは自由に設定できるため、曲線的な周波数軌道を定義することも可能である。
<実施の形態1におけるテーブルの設定例>
次に、本実施の形態におけるテーブルT1の設定例を説明する。
図11Aは、音楽再生モードに適合したパラメータテーブル14の内容を示すグラフである。音楽再生モードではCPU10に要求されるパフォーマンスが小さいため、ポイントP1〜P5の周波数値を低く抑えている。
図11Bは、タッチパネル入力操作モードに適合したパラメータテーブル14の内容を示すグラフである。タッチパネル入力操作モードではユーザーのタッチパネル503に対するタッチ操作に対して素早く反応するため、ポイントP0〜P2における周波数値の立ち上がりを急傾斜にしている。
図11Cは、3D(Three dimensional)グラフィックスモードに適合したパラメータテーブル14の内容を示すグラフである。3DグラフィックスモードではGPU613からCPU10への要求に対して素早く反応するためにポイントP0〜P2における周波数値の立ち上がりを急傾斜にしているが、電流的な観点から周波数の上限値(ポイントP2〜P5の周波数値)をタッチパネル入力操作モードの場合よりも低い値に制限している。
図11Dは、省電力モードに適合したパラメータテーブル14の内容を示すグラフである。ここでは、パフォーマンス値がある閾値(ポイントP4のパフォーマンス値)以下の場合は消費電流を抑えるために周波数値を低く設定しているが、パフォーマンス値が閾値より大きい場合の周波数値を高く設定している。
<実施の形態1の変形例>
次に、実施の形態1の変形例を説明する。本変形例では、コア1が出力する動作状態信号OSS1は、コア1のアイドル状態を示す。そのため、周波数調整回路FRC1の構成及び動作が上述した構成及び動作と異なっている。
図12を参照して、本変形例にかかる周波数調整回路FRC1は、テーブルT1、計算器15を備える。計算器15は、動作状態信号OSS1が示すコア1のアイドル状態に基づいて、コア1の動作率ATR1を計算する。動作率ATR1は、コア1の単位時間当たりの動作期間を示す。例えば、動作率ATR1は、周波数制御インターバルにおけるアクティブ状態時間の割合である。周波数調整回路FRC1は、テーブルT1及び動作率ATR1に基づいて、周波数制御信号FCS1を出力する。
図13を参照して、本変形例にかかるテーブルT1は、コア1の動作率とクロックCK1の周波数値を対応付けている。尚、本変形例にかかるテーブルT1は、コア1の単位時間当たりのアイドル期間と周波数値を対応付けていてもよい。例えば、コア1の単位時間当たりのアイドル期間は、周波数制御インターバルにおけるアイドル状態時間の割合である。この場合、計算器15は、動作状態信号OSS1が示すコア1のアイドル状態に基づいて、コア1の単位時間当たりのアイドル期間を計算する。周波数調整回路FRC1は、テーブルT1及びコア1の単位時間当たりのアイドル期間に基づいて、周波数制御信号FCS1を出力する。
本変形例においても実施の形態1の場合と同様に、クロックCK1の周波数を制御するための専用回路としての周波数調整回路FRC1が設けられ、周波数調整回路FRC1はテーブルT1を備える。そのため、周波数調整回路FRC1は、OSに依存しないでクロックCK1の周波数を制御することができる。したがって、本変形例によれば、比較例の場合とは異なり、オーバーヘッドが発生しない。オーバーヘッドが発生しないため、周波数制御インターバルを比較例の場合よりも短くすることができる。そのため、要求パフォーマンス(負荷)がダイナミックに変化する場合であっても、実行パフォーマンスを要求パフォーマンスに追従させることができる。その結果、コア1のアクティブ状態が引き延ばされない。アクティブ状態が引き延ばされないため、コア1の消費電力のベース部分が大きくなってしまうことが防がれる。したがって、消費電力を低減することができる。尚、動作状態信号OSS1がコア1のパフォーマンスを示す場合、周波数制御インターバルを更に短くすることができる
(実施の形態2)
次に、実施の形態2にかかる半導体装置であるアプリケーションプロセッサ601を説明する。実施の形態2にかかるアプリケーションプロセッサ601は、複数のCPUコアを含む。以下において、実施の形態1と共通する事項の説明は省略される場合がある。
<実施の形態2にかかる半導体装置の構成>
図14を参照して、実施の形態2にかかる半導体装置であるアプリケーションプロセッサ601の構成について説明する。アプリケーションプロセッサ601は、CPU10及び20を含む。CPU10は、動作周波数とパフォーマンスが低い省電力CPUである。CPU20は、動作周波数とパフォーマンスが高い高性能CPUである。CPU10は、コア1及び2を含む。CPU20は、コア3及び4を含む。コア1〜4は、それぞれ、クロックCK1〜4に基づいて処理を実行する。
アプリケーションプロセッサ601は、周波数調整回路FRC1〜FRC4、クロック周波数制御回路CFCC1〜CFCC4を含む。周波数調整回路FRC1は、クロックCK1の周波数を制御するためのテーブルT1、切り替え回路SC1を含む。テーブルT1は、コア1のパフォーマンス値とクロックCK1の周波数値を対応付けている。周波数調整回路FRC2は、クロックCK2の周波数を制御するためのテーブルT2、切り替え回路SC2を含む。テーブルT2は、コア2のパフォーマンス値とクロックCK2の周波数値を対応付けている。周波数調整回路FRC3は、クロックCK3の周波数を制御するためのテーブルT3、切り替え回路SC3を含む。テーブルT3は、コア3のパフォーマンス値とクロックCK3の周波数値を対応付けている。周波数調整回路FRC4は、クロックCK4の周波数を制御するためのテーブルT4、切り替え回路SC4を含む。テーブルT4は、コア4のパフォーマンス値とクロックCK4の周波数値を対応付けている。
本実施の形態にかかるテーブルT1〜T4の構成は、実施の形態1にかかるテーブルT1と同様である。本実施の形態にかかるテーブルT1〜T4の各々において、ポイントP0〜P5が設定されている。ただし、本実施の形態にかかるテーブルT1〜T4におけるパフォーマンス値と周波数値の対応関係は、後述するように設定されている。パフォーマンス値と周波数値の対応関係は、消費電力を低減するために制御対象であるCPUコアごとに異なっている。パフォーマンス値と周波数値の対応関係は、制御対象であるコア1〜4の特性(省電力タイプ又は高性能タイプ)にマッチしていることが好ましい。
<実施の形態2にかかる半導体装置の動作>
次に、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601の動作を説明する。
クロック周波数制御回路CFCC1は、CPU10のコア1にクロックCK1を供給する。コア1は、クロックCK1に基づいて処理を実行する。コア1は、コア1の動作状態を示す動作状態信号OSS1を出力する。動作状態信号OSS1は、コア1のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC1は、テーブルT1及び動作状態信号OSS1に基づいて、クロックCK1の周波数を制御する。具体的には、周波数調整回路FRC1は、テーブルT1及び動作状態信号OSS1に基づいて、周波数制御信号FCS1を出力する。周波数制御信号FCS1は、クロックCK1の設定周波数を示す。クロック周波数制御回路CFCC1は、周波数制御信号FCS1に基づいてクロックCK1の周波数を制御する。切り替え回路SC1は、テーブルT1及び動作状態信号OSS1に基づいて、切り替え要求(スイッチ要求)SW11を出力する。周波数調整回路FRC1は、切り替え要求SW21に基づいて、制御状態を切り替える。
クロック周波数制御回路CFCC2は、CPU10のコア2にクロックCK2を供給する。コア2は、クロックCK2に基づいて処理を実行する。コア2は、コア2の動作状態を示す動作状態信号OSS2を出力する。動作状態信号OSS2は、コア2のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC2は、テーブルT2及び動作状態信号OSS2に基づいて、クロックCK2の周波数を制御する。具体的には、周波数調整回路FRC2は、テーブルT2及び動作状態信号OSS2に基づいて、周波数制御信号FCS2を出力する。周波数制御信号FCS2は、クロックCK2の設定周波数を示す。クロック周波数制御回路CFCC2は、周波数制御信号FCS2に基づいてクロックCK2の周波数を制御する。切り替え回路SC2は、テーブルT2及び動作状態信号OSS2に基づいて、切り替え要求SW12、SW21を出力する。周波数調整回路FRC2は、切り替え要求SW11、SW22に基づいて、制御状態を切り替える。
クロック周波数制御回路CFCC3は、CPU20のコア3にクロックCK3を供給する。コア3は、クロックCK3に基づいて処理を実行する。コア3は、コア3の動作状態を示す動作状態信号OSS3を出力する。動作状態信号OSS3は、コア3のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC3は、テーブルT3及び動作状態信号OSS3に基づいて、クロックCK3の周波数を制御する。具体的には、周波数調整回路FRC3は、テーブルT3及び動作状態信号OSS3に基づいて、周波数制御信号FCS3を出力する。周波数制御信号FC3は、クロックCK3の設定周波数を示す。クロック周波数制御回路CFCC3は、周波数制御信号FCS3に基づいてクロックCK3の周波数を制御する。切り替え回路SC3は、テーブルT3及び動作状態信号OSS3に基づいて、切り替え要求SW13、SW22を出力する。周波数調整回路FRC3は、切り替え要求SW12、SW23に基づいて、制御状態を切り替える。
クロック周波数制御回路CFCC4は、CPU20のコア4にクロックCK4を供給する。コア4は、クロックCK4に基づいて処理を実行する。コア4は、コア4の動作状態を示す動作状態信号OSS4を出力する。動作状態信号OSS4は、コア4のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC4は、テーブルT4及び動作状態信号OSS4に基づいて、クロックCK4の周波数を制御する。具体的には、周波数調整回路FRC4は、テーブルT4及び動作状態信号OSS4に基づいて、周波数制御信号FCS4を出力する。周波数制御信号FC4は、クロックCK4の設定周波数を示す。クロック周波数制御回路CFCC4は、周波数制御信号FCS4に基づいてクロックCK4の周波数を制御する。切り替え回路SC4は、テーブルT4及び動作状態信号OSS4に基づいて、切り替え要求SW23を出力する。周波数調整回路FRC4は、切り替え要求SW13に基づいて、制御状態を切り替える。
図15を参照して、コア1〜4におけるクロック制御の連携を説明する。図15は、実施の形態2にかかる半導体装置の制御方法のフローチャートである。半導体装置の制御方法は、ステップS100〜S103、S105。S111〜S115、S121〜S125、S131、S132、S134、S135を含む。
ステップS100において、テーブルT1を設定する。具体的には、テーブルT1の計算器13がテーブルT1のレジスタ11に格納されたポイントP0〜P5に基づいて、ポイントP0〜P5を補間する補間ポイントを計算する。テーブルT1のパラメータテーブル14は、ポイントP0〜P5及び補間ポイントを格納する。更に、テーブルT1と同様に、テーブルT2〜T4を設定する。
周波数調整回路FRC1は、動作状態信号OSS1が示すパフォーマンス値をチェックする(S101)。周波数調整回路FRC1は、動作状態信号OSS1が示すパフォーマンス値とテーブルT1とを比較する(S102)。動作状態信号OSS1が示すパフォーマンス値がテーブルT1におけるパフォーマンス値の最大値(ポイントP5のパフォーマンス値)より大きい場合(S103においてYES)、ステップS111に進む。動作状態信号OSS1が示すパフォーマンス値がテーブルT1におけるパフォーマンス値の最大値より大きくない場合(S103においてNO)、周波数調整回路FRC1は、テーブルT1及び動作状態信号OSS1が示すパフォーマンス値に基づいてクロックCK1の周波数を設定する(S105)。ステップS105の後、ステップS101に戻る。
周波数調整回路FRC2は、動作状態信号OSS2が示すパフォーマンス値をチェックする(S111)。周波数調整回路FRC2は、動作状態信号OSS2が示すパフォーマンス値とテーブルT2とを比較する(S112)。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最大値(ポイントP5のパフォーマンス値)より大きい場合(S113においてYES)、ステップS121に進む。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最大値より大きくない場合(S113においてNO)、ステップS114に進む。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最小値(ポイントP0のパフォーマンス値)より小さい場合(S114においてYES)、ステップS101に戻る。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最小値より小さくない場合(S114においてNO)、周波数調整回路FRC2は、テーブルT2及び動作状態信号OSS2が示すパフォーマンス値に基づいてクロックCK2の周波数を設定する(S115)。ステップS115の後、ステップS111に戻る。
周波数調整回路FRC3は、動作状態信号OSS3が示すパフォーマンス値をチェックする(S121)。周波数調整回路FRC3は、動作状態信号OSS3が示すパフォーマンス値とテーブルT3とを比較する(S121)。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最大値(ポイントP5のパフォーマンス値)より大きい場合(S123においてYES)、ステップS131に進む。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最大値より大きくない場合(S123においてNO)、ステップS124に進む。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最小値(ポイントP0のパフォーマンス値)より小さい場合(S124においてYES)、ステップS111に戻る。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最小値より小さくない場合(S124においてNO)、周波数調整回路FRC3は、テーブルT3及び動作状態信号OSS3が示すパフォーマンス値に基づいてクロックCK3の周波数を設定する(S125)。ステップS125の後、ステップS121に戻る。
周波数調整回路FRC4は、動作状態信号OSS4が示すパフォーマンス値をチェックする(S131)。周波数調整回路FRC4は、動作状態信号OSS4が示すパフォーマンス値とテーブルT4とを比較する(S131)。動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最小値(ポイントP0のパフォーマンス値)より小さい場合(S134においてYES)、ステップS121に戻る。動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最小値より小さくない場合(S134においてNO)、周波数調整回路FRC4は、テーブルT4及び動作状態信号OSS4が示すパフォーマンス値に基づいてクロックCK4の周波数を設定する(S135)。ステップS135の後、ステップS131に戻る。
図16A〜16Dを参照して、コア1〜4におけるクロック制御の連携を更に説明する。
図16Aは、周波数調整回路FRC1の状態遷移図である。周波数調整回路FRC1は、状態S10、S11、S12をとることができる。初期状態である状態S10において、周波数調整回路FRC1は、ステップS100で説明したようにテーブルT1を設定する。テーブルT1の設定が終了すると、周波数調整回路FRC1は、状態S10から状態S11に切り替わる。
状態11において、周波数調整回路FRC1は、ステップS101〜S105を繰り返し実行して、クロックCK1の周波数をテーブルT1及び動作状態信号OSS1に基づいて制御する。状態11では、クロックCK1の周波数は、動作状態信号OSS1が示すパフォーマンス値の変化に従って変動する。ここで、アプリケーションプロセッサ601の負荷が増大すると動作状態信号OSS1が示すパフォーマンス値が大きくなる。動作状態信号OSS1が示すパフォーマンス値がテーブルT1におけるパフォーマンス値の最大値(設定の上限であるポイントP5のパフォーマンス値)より大きい場合、コア1だけでは処理が追いつかないほどに負荷が増大していると判断できる。したがって、動作状態信号OSS1が示すパフォーマンス値がテーブルT1におけるパフォーマンス値の最大値より大きいことを検出すると(S103においてYES)、周波数調整回路FRC1は、切り替え要求SW11を周波数調整回路FRC2に出力し、状態S11から状態S12に切り替わる。
状態12において、周波数調整回路FRC1は、クロックCK1の周波数をテーブルT1における周波数値の最大値(ポイントP5の周波数値)に固定する。周波数調整回路FRC2から切り替え要求SW21を受信すると、周波数調整回路FRC1は、状態S12から状態S11に切り替わる。
図16Bは、周波数調整回路FRC2の状態遷移図である。周波数調整回路FRC2は、状態S20、S29、S21、S22をとることができる。初期状態である状態S20において、周波数調整回路FRC2は、ステップS100で説明したようにテーブルT2を設定する。テーブルT2の設定が終了すると、周波数調整回路FRC2は、状態S20から状態S29に切り替わる。状態S29において、周波数調整回路FRC2は、クロック周波数制御回路CFCC2にクロックCK2を供給させない。周波数調整回路FRC1から切り替え要求SW11を受信すると、周波数調整回路FRC2は、クロック周波数制御回路CFCC2にコア2へのクロックCK2の供給を開始させ、状態S29から状態S21に切り替わる。
状態21において、周波数調整回路FRC2は、ステップS111〜S115を繰り返し実行して、クロックCK2の周波数をテーブルT2及び動作状態信号OSS2に基づいて制御する。状態21では、クロックCK2の周波数は、動作状態信号OSS2が示すパフォーマンス値の変化に従って変動する。ここで、アプリケーションプロセッサ601の負荷が増大すると動作状態信号OSS2が示すパフォーマンス値が大きくなる。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最大値(設定の上限であるポイントP5のパフォーマンス値)より大きい場合、コア1及び2だけでは処理が追いつかないほどに負荷が増大していると判断できる。したがって、動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最大値より大きいことを検出すると(S113においてYES)、周波数調整回路FRC2は、切り替え要求SW12を周波数調整回路FRC3に出力し、状態S21から状態S22に切り替わる。
一方、アプリケーションプロセッサ601の負荷が低下すると動作状態信号OSS2が示すパフォーマンス値が小さくなる。動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最小値(設定の下限であるポイントP0のパフォーマンス値)より小さい場合、コア1だけで処理が可能な程度に負荷が低下していると判断できる。したがって、動作状態信号OSS2が示すパフォーマンス値がテーブルT2におけるパフォーマンス値の最小値より小さいことを検出すると(S114においてYES)、周波数調整回路FRC2は、切り替え要求SW21を周波数調整回路FRC1に出力し、状態S21から状態S29に切り替わる。
状態22において、周波数調整回路FRC2は、クロックCK2の周波数をテーブルT2における周波数値の最大値(ポイントP5の周波数値)に固定する。周波数調整回路FRC3から切り替え要求SW22を受信すると、周波数調整回路FRC2は、状態S22から状態S21に切り替わる。
図16Cは、周波数調整回路FRC3の状態遷移図である。周波数調整回路FRC3は、状態S30、S39、S31、S32をとることができる。初期状態である状態S30において、周波数調整回路FRC3は、ステップS100で説明したようにテーブルT3を設定する。テーブルT3の設定が終了すると、周波数調整回路FRC3は、状態S30から状態S39に切り替わる。状態S39において、周波数調整回路FRC3は、クロック周波数制御回路CFCC3にクロックCK3を供給させない。周波数調整回路FRC2から切り替え要求SW12を受信すると、周波数調整回路FRC3は、クロック周波数制御回路CFCC3にコア3へのクロックCK3の供給を開始させ、状態S39から状態S31に切り替わる。
状態31において、周波数調整回路FRC3は、ステップS121〜S125を繰り返し実行して、クロックCK3の周波数をテーブルT3及び動作状態信号OSS3に基づいて制御する。状態31では、クロックCK3の周波数は、動作状態信号OSS3が示すパフォーマンス値の変化に従って変動する。ここで、アプリケーションプロセッサ601の負荷が増大すると動作状態信号OSS3が示すパフォーマンス値が大きくなる。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最大値(設定の上限であるポイントP5のパフォーマンス値)より大きい場合、コア1〜3だけでは処理が追いつかないほどに負荷が増大していると判断できる。したがって、動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最大値より大きいことを検出すると(S123においてYES)、周波数調整回路FRC3は、切り替え要求SW13を周波数調整回路FRC4に出力し、状態S31から状態S32に切り替わる。
一方、アプリケーションプロセッサ601の負荷が低下すると動作状態信号OSS3が示すパフォーマンス値が小さくなる。動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最小値(設定の下限であるポイントP0のパフォーマンス値)より小さい場合、コア1及び2だけで処理が可能な程度に負荷が低下していると判断できる。したがって、動作状態信号OSS3が示すパフォーマンス値がテーブルT3におけるパフォーマンス値の最小値より小さいことを検出すると(S124においてYES)、周波数調整回路FRC3は、切り替え要求SW22を周波数調整回路FRC2に出力し、状態S31から状態S39に切り替わる。
状態32において、周波数調整回路FRC3は、クロックCK3の周波数をテーブルT3における周波数値の最大値(ポイントP5の周波数値)に固定する。周波数調整回路FRC4から切り替え要求SW23を受信すると、周波数調整回路FRC3は、状態S32から状態S31に切り替わる。
図16Dは、周波数調整回路FRC4の状態遷移図である。周波数調整回路FRC4は、状態S40、S49、S41をとることができる。初期状態である状態S40において、周波数調整回路FRC4は、ステップS100で説明したようにテーブルT4を設定する。テーブルT4の設定が終了すると、周波数調整回路FRC4は、状態S40から状態S49に切り替わる。状態S49において、周波数調整回路FRC4は、クロック周波数制御回路CFCC4にクロックCK4を供給させない。周波数調整回路FRC3から切り替え要求SW13を受信すると、周波数調整回路FRC4は、クロック周波数制御回路CFCC4にコア3へのクロックCK4の供給を開始させ、状態S49から状態S41に切り替わる。
状態41において、周波数調整回路FRC4は、ステップS131〜S135を繰り返し実行して、クロックCK4の周波数をテーブルT4及び動作状態信号OSS4に基づいて制御する。状態41では、クロックCK4の周波数は、動作状態信号OSS4が示すパフォーマンス値の変化に従って変動する。ここで、アプリケーションプロセッサ601の負荷が低下すると動作状態信号OSS4が示すパフォーマンス値が小さくなる。動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最小値(設定の下限であるポイントP0のパフォーマンス値)より小さい場合、コア1〜3だけで処理が可能な程度に負荷が低下していると判断できる。したがって、動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最小値より小さいことを検出すると(S134においてYES)、周波数調整回路FRC4は、切り替え要求SW23を周波数調整回路FRC3に出力し、状態S41から状態S49に切り替わる。
<実施の形態2におけるテーブルの設定例>
次に、本実施の形態におけるテーブルT1〜T4の設定例を説明する。
図17Aは、テーブルT1に設定されたパフォーマンス値と周波数値の対応関係を示すグラフである。ポイントP0〜P5が塗りつぶされた円で示されている。軽い負荷を省電力タイプのコア1だけで処理できるように、テーブルT1はクロックCK1の周波数が上がりやすいように設定されている。
図17Bは、テーブルT2におけるパフォーマンス値と周波数値の対応関係を示すグラフである。ポイントP0〜P5が塗りつぶされた円で示されている。ポイントP0からポイントP4までの区間において、周波数値はパフォーマンス値の増加に対してリニアに増加する。このように、テーブルT2は、クロックCK2の周波数が上がりやすいように設定されている。ただし、可能な限り省電力タイプのコア1及び2だけで負荷を処理できるように、ポイントP5のパフォーマンス値を大きい値に設定して切り替え要求SW12の発生を抑制している。
図17Cは、テーブルT3に設定されたパフォーマンス値と周波数値の対応関係を示すグラフである。ポイントP0〜P5が塗りつぶされた円で示されている。高性能ではあるが消費電力が大きいコア3及び省電力タイプのコア1、2だけで負荷を処理する目的で、クロックCK3の設定周波数の上限(ポイントP2〜P5の周波数値)を制限し、切り替え要求SW13の発生を抑制している。
図17Dは、テーブルT4に設定されたパフォーマンス値と周波数値の対応関係を示すグラフである。ポイントP0〜P5が塗りつぶされた円で示されている。コア4の動作時間を可能な限り短縮する目的で、テーブルT4はクロックCK4の周波数が上がりやすいように設定されている。
このように、特性が互いに異なるCPU10及び20について、消費電力低下を目的としたクロック周波数制御を実行することができる。
尚、本実施の形態において、動作状態信号OSS1〜OSS4は、コア1〜4のアイドル状態を示してもよい。この場合、周波数調整回路FRC1〜FRC4は、実施の形態1の変形例にかかる周波数調整回路FRC1と同様の処理により周波数制御信号FCS1〜FCS4を出力する。
本実施の形態によれば、コア1〜4のクロック制御を連携させることができる。言い換えると、アプリケーションプロセッサ601の負荷の変化に応じて処理を実行するCPUコアを増減することができる。したがって、アプリケーションプロセッサ601全体のパフォーマンスをダイナミックに変動する負荷に良好に追従させることができる。更に、アプリケーションプロセッサ601に含まれるCPUコアが増加しても増加したCPUコアに対応した周波数調整回路及びクロック周波数制御回路を追加するだけでよいので、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601は拡張性に優れている。更に、省電力タイプのコア1及び2と高性能タイプのコア3及び4の役割分担が適正化されるため、アプリケーションプロセッサ601全体のパフォーマンスをダイナミックに変動する負荷に良好に追従させながら、アプリケーションプロセッサ601全体の消費電力を抑制することができる。
図18を参照して、本実施の形態による他の効果を説明する。図18は、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601全体におけるパフォーマンスとパワーの関係を示すグラフである。状態S11、S29、S39、S49に対応する処理モード、状態S12、S21、S39、S49に対応する処理モード、状態S12、S22、S31、S49に対応する処理モード、状態S12、S22、S32、S51に対応する処理モード、処理モード間の切り替えが示されている。アプリケーションプロセッサ601全体の電流限界としてのパワーリミットがある場合、パワーリミットに対応するパフォーマンスリミットをテーブルに設定してパフォーマンスリミットに対応する周波数値以上にクロックの周波数が上がらないようにすることが可能である。これにより、定義することが難しいアプリケーションプロセッサ601全体の電流上限を数値的に定義することができる。
(実施の形態3)
次に、実施の形態3にかかる半導体装置であるアプリケーションプロセッサ601を説明する。実施の形態3では、CPU20のコア3、4の動作電圧の制御が追加される。以下において、実施の形態2と共通する事項の説明は省略される場合がある。
<実施の形態3にかかる半導体装置の構成>
図19を参照して、実施の形態3にかかる半導体装置であるアプリケーションプロセッサ601の構成について説明する。アプリケーションプロセッサ601は、CPU10及び20を含む。CPU10及び20の構成は実施の形態2と同様である。
アプリケーションプロセッサ601は、周波数調整回路FRC1〜FRC4、クロック周波数制御回路CFCC1〜CFCC4を含む。周波数調整回路FRC1、FRC2の構成は、実施の形態2と同様である。クロック周波数制御回路CFCC1〜CFCC4の構成は、実施の形態2と同様である。周波数調整回路FRC3、FRC4の構成は、実施の形態2と異なる。電源制御回路PMCは、コア3に動作電圧を供給する電源制御部5、コア4に動作電圧を供給する電源制御部6を含む。
図20Aを参照して、周波数調整回路FRC3の構成を説明する。周波数調整回路FRC3は、クロックCK3の周波数を制御するためのテーブルT3及びT30、切り替え回路SC3を含む。テーブルT3及びT30は、それぞれ、コア3のパフォーマンス値とクロックCK3の周波数値を対応付けている。テーブルT3におけるパフォーマンス値と周波数値の対応関係は、テーブルT30におけるパフォーマンス値と周波数値の対応関係と異なっている。テーブル3は、後述する通常電圧NVに対応している。テーブルT30は、後述するオーバードライブ電圧ODVに対応している。
図20Bを参照して、周波数調整回路FRC4の構成を説明する。周波数調整回路FRC4は、クロックCK4の周波数を制御するためのテーブルT4及びT40、切り替え回路SC4を含む。テーブルT4及びT40は、それぞれ、コア4のパフォーマンス値とクロックCK4の周波数値を対応付けている。テーブルT4におけるパフォーマンス値と周波数値の対応関係は、テーブルT40におけるパフォーマンス値と周波数値の対応関係と異なっている。テーブル4は、後述する通常電圧NVに対応している。テーブルT40は、後述するオーバードライブ電圧ODVに対応している。
<実施の形態3にかかる半導体装置の動作>
次に、本実施の形態にかかる半導体装置であるアプリケーションプロセッサ601の動作を説明する。
CPU10、周波数調整回路FRC1及びFRC2、クロック周波数制御回路CFCC1及びCFCC2の動作は実施の形態2と同様である。
図19及び図20Aを参照して、クロック周波数制御回路CFCC3は、CPU20のコア3にクロックCK3を供給する。コア3は、クロックCK3に基づいて処理を実行する。コア3は、コア3の動作状態を示す動作状態信号OSS3を出力する。動作状態信号OSS3は、コア3のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC3は、一の制御状態において、テーブルT3及び動作状態信号OSS3に基づいて、クロックCK3の周波数を制御する。具体的には、周波数調整回路FRC3は、テーブルT3及び動作状態信号OSS3に基づいて、周波数制御信号FCS3を出力する。周波数調整回路FRC3は、他の制御状態において、テーブルT30及び動作状態信号OSS3に基づいて、クロックCK3の周波数を制御する。具体的には、周波数調整回路FRC3は、テーブルT30及び動作状態信号OSS3に基づいて、周波数制御信号FCS3を出力する。周波数制御信号FC3は、クロックCK3の設定周波数を示す。クロック周波数制御回路CFCC3は、周波数制御信号FCS3に基づいてクロックCK3の周波数を制御する。切り替え回路SC3は、テーブルT3及び動作状態信号OSS3に基づいて、切り替え要求SW13、SW22を出力する。切り替え回路SC3は、テーブルT30及び動作状態信号OSS3に基づいて、切り替え要求SW15、SW24、電圧ダウン要求DW3を出力する。周波数調整回路FRC3は、切り替え要求SW12、SW23、SW25に基づいて、制御状態を切り替える。周波数調整回路FRC3は、切り替え要求SW14に基づいて、制御状態を切り替え、電圧アップ要求UP3を出力する。
図19及び図20Bを参照して、クロック周波数制御回路CFCC4は、CPU20のコア4にクロックCK4を供給する。コア4は、クロックCK4に基づいて処理を実行する。コア4は、コア4の動作状態を示す動作状態信号OSS4を出力する。動作状態信号OSS4は、コア4のパフォーマンスを示すパフォーマンスモニタ信号である。周波数調整回路FRC4は、一の制御状態において、テーブルT4及び動作状態信号OSS4に基づいて、クロックCK4の周波数を制御する。具体的には、周波数調整回路FRC4は、テーブルT4及び動作状態信号OSS4に基づいて、周波数制御信号FCS4を出力する。周波数調整回路FRC4は、他の制御状態において、テーブルT40及び動作状態信号OSS4に基づいて、クロックCK4の周波数を制御する。具体的には、周波数調整回路FRC4は、テーブルT40及び動作状態信号OSS4に基づいて、周波数制御信号FCS4を出力する。周波数制御信号FC4は、クロックCK4の設定周波数を示す。クロック周波数制御回路CFCC4は、周波数制御信号FCS4に基づいてクロックCK4の周波数を制御する。切り替え回路SC4は、テーブルT4及び動作状態信号OSS4に基づいて、切り替え要求SW14、SW23を出力する。切り替え回路SC4は、テーブルT40及び動作状態信号OSS4に基づいて、切り替え要求SW25、電圧ダウン要求DW4を出力する。周波数調整回路FRC4は、切り替え要求SW13、SW24に基づいて、制御状態を切り替える。周波数調整回路FRC4は、切り替え要求SW15に基づいて、制御状態を切り替え、電圧アップ要求UP4を出力する。
図19を参照して、電源制御部5は、電圧アップ要求UP3に基づいて、コア3に供給する動作電圧を通常電圧NVに制御する状態からオーバードライブ電圧ODVに制御する状態に切り替わる。ここで、オーバードライブ電圧ODVは通常電圧NVより高い。電源制御部5は、電圧ダウン要求DW3に基づいて、コア3に供給する動作電圧をオーバードライブ電圧ODVに制御する状態から通常電圧NVに制御する状態に切り替わる。
図19を参照して、電源制御部6は、電圧アップ要求UP4に基づいて、コア4に供給する動作電圧を通常電圧NVに制御する状態からオーバードライブ電圧ODVに制御する状態に切り替わる。ここで、オーバードライブ電圧ODVは通常電圧NVより高い。電源制御部6は、電圧ダウン要求DW4に基づいて、コア4に供給する動作電圧をオーバードライブ電圧ODVに制御する状態から通常電圧NVに制御する状態に切り替わる。
図21Aを参照して、周波数調整回路FRC3の動作を更に説明する。図21Aは、周波数調整回路FRC3の状態遷移図である。周波数調整回路FRC3は、状態S30、S39、S31〜S34をとることができる。初期状態である状態S30において、周波数調整回路FRC3は、テーブルT3及びT30を設定する。状態S39、S31、S32、状態S30と状態S39の間の切り替え、状態S39と状態S31の間の切り替え、状態S31と状態S32の間の切り替えは、実施の形態2と同様である。周波数調整回路FRC4から切り替え要求SW14を受信すると、周波数調整回路FRC3は、電圧アップ要求UP3を電源制御部5に出力し、状態S32から状態S33に切り替わる。
状態S33において、周波数調整回路FRC3は、クロックCK3の周波数をテーブルT30及び動作状態信号OSS3に基づいて制御する。状態33では、クロックCK3の周波数は、動作状態信号OSS3が示すパフォーマンス値の変化に従って変動する。周波数調整回路FRC3が状態S33の場合のコア3の処理能力は、周波数調整回路FRC3が状態S31の場合のコア3の処理能力より高い。ここで、アプリケーションプロセッサ601の負荷が増大すると動作状態信号OSS3が示すパフォーマンス値が大きくなる。動作状態信号OSS3が示すパフォーマンス値がテーブルT30におけるパフォーマンス値の最大値より大きい場合、アプリケーションプロセッサ601の現在の処理能力では処理が追いつかないほどに負荷が増大していると判断できる。したがって、動作状態信号OSS3が示すパフォーマンス値がテーブルT30におけるパフォーマンス値の最大値より大きいことを検出すると、周波数調整回路FRC3は、切り替え要求SW15を周波数調整回路FRC4に出力し、状態S33から状態S34に切り替わる。
一方、アプリケーションプロセッサ601の負荷が低下すると動作状態信号OSS3が示すパフォーマンス値が小さくなる。動作状態信号OSS3が示すパフォーマンス値がテーブルT30におけるパフォーマンス値の最小値より小さい場合、アプリケーションプロセッサ601の現在の処理能力が負荷に対して過剰になっていると判断できる。したがって、動作状態信号OSS3が示すパフォーマンス値がテーブルT30におけるパフォーマンス値の最小値より小さいことを検出すると、周波数調整回路FRC3は、切り替え要求SW24を周波数調整回路FRC4に出力し、電圧ダウン要求DW3を電源制御部5に出力し、状態S33から状態S32に切り替わる。
状態34において、周波数調整回路FRC3は、クロックCK3の周波数をテーブルT30における周波数値の最大値に固定する。周波数調整回路FRC3が状態S34の場合のコア3の処理能力は、周波数調整回路FRC3が状態S32の場合のコア3の処理能力より高い。波数調整回路FRC4から切り替え要求SW25を受信すると、周波数調整回路FRC3は、状態S34から状態S33に切り替わる。
図21Bを参照して、周波数調整回路FRC4の動作を更に説明する。図21Bは、周波数調整回路FRC4の状態遷移図である。周波数調整回路FRC4は、状態S40、S49、S41〜S43をとることができる。初期状態である状態S40において、周波数調整回路FRC4は、テーブルT4及びT40を設定する。状態S49、S41、状態S40と状態S49の間の切り替え、状態S49と状態S41の間の切り替えは、実施の形態2と同様である。
状態S41において、アプリケーションプロセッサ601の負荷が増大すると動作状態信号OSS4が示すパフォーマンス値が大きくなる。動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最大値より大きい場合、アプリケーションプロセッサ601の現在の処理能力では処理が追いつかないほどに負荷が増大していると判断できる。したがって、動作状態信号OSS4が示すパフォーマンス値がテーブルT4におけるパフォーマンス値の最大値より大きいことを検出すると、周波数調整回路FRC4は、切り替え要求SW14を周波数調整回路FRC3に出力し、状態S41から状態S42に切り替わる。
状態42において、周波数調整回路FRC4は、クロックCK4の周波数をテーブルT4における周波数値の最大値に固定する。波数調整回路FRC3から切り替え要求SW15を受信すると、周波数調整回路FRC4は、電圧アップ要求UP4を電源制御部6に出力し、状態S42から状態S43に切り替わる。波数調整回路FRC3から切り替え要求SW24を受信すると、周波数調整回路FRC4は、状態S42から状態S41に切り替わる。
状態S43において、周波数調整回路FRC4は、クロックCK4の周波数をテーブルT40及び動作状態信号OSS4に基づいて制御する。状態43では、クロックCK4の周波数は、動作状態信号OSS4が示すパフォーマンス値の変化に従って変動する。周波数調整回路FRC4が状態S43の場合のコア4の処理能力は、周波数調整回路FRC4が状態S41の場合のコア4の処理能力より高い。ここで、アプリケーションプロセッサ601の負荷が低下すると動作状態信号OSS4が示すパフォーマンス値が小さくなる。動作状態信号OSS4が示すパフォーマンス値がテーブルT40におけるパフォーマンス値の最小値より小さい場合、アプリケーションプロセッサ601の現在の処理能力が負荷に対して過剰になっていると判断できる。したがって、動作状態信号OSS4が示すパフォーマンス値がテーブルT40におけるパフォーマンス値の最小値より小さいことを検出すると、周波数調整回路FRC4は、切り替え要求SW25を周波数調整回路FRC3に出力し、電圧ダウン要求DW4を電源制御部6に出力し、状態S43から状態S42に切り替わる。
図21Cを参照して、電源制御部5の動作を更に説明する。図21Cは、電源制御部5の状態遷移図である。電源制御部5は、状態S51、S52をとることができる。初期状態である状態S51において、電源制御部5は、コア3に供給する動作電圧を通常電圧NVに制御する。周波数調整回路FRC3から電圧アップ要求UP3を受信すると、電源制御部5は、状態S51から状態S52に切り替わる。状態S52において、電源制御部5は、コア3に供給する動作電圧をオーバードライブ電圧ODVに制御する。周波数調整回路FRC3から電圧ダウン要求DW3を受信すると、電源制御部5は、状態S52から状態S51に切り替わる。したがって、周波数調整回路FRC3が状態31の場合と状態32の場合の両方において、電源制御部5は状態S51である。周波数調整回路FRC3が状態33の場合と状態34の場合の両方において、電源制御部5は状態S52である。
図21Dを参照して、電源制御部6の動作を更に説明する。図21Dは、電源制御部6の状態遷移図である。電源制御部6は、状態S61、S62をとることができる。初期状態である状態S61において、電源制御部6は、コア4に供給する動作電圧を通常電圧NVに制御する。周波数調整回路FRC4から電圧アップ要求UP4を受信すると、電源制御部6は、状態S61から状態S62に切り替わる。状態S62において、電源制御部6は、コア4に供給する動作電圧をオーバードライブ電圧ODVに制御する。周波数調整回路FRC4から電圧ダウン要求DW4を受信すると、電源制御部6は、状態S62から状態S61に切り替わる。したがって、周波数調整回路FRC4が状態41の場合と状態42の場合の両方において、電源制御部6は状態S61である。周波数調整回路FRC4が状態43の場合において、電源制御部6は状態S62である。
尚、本実施の形態において、動作状態信号OSS1〜OSS4は、コア1〜4のアイドル状態を示してもよい。この場合、周波数調整回路FRC1〜FRC4は、実施の形態1の変形例にかかる周波数調整回路FRC1と同様の処理により周波数制御信号FCS1〜FCS4を出力する。
本実施の形態によれば、複数のCPUコアについてのクロック制御及び動作電圧制御を連携させることで、アプリケーションプロセッサ601全体のパフォーマンスをダイナミックに変動する負荷に更に良好に追従させることができる。
<変更例等>
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。例えば、テーブルT1〜T4、T30、T40とは別の閾値と動作状態信号OSS1〜OSS4との比較に基づいて制御状態の切り替えを行ってもよい。
500 無線通信端末
PMC 電源制御回路
601 アプリケーションプロセッサ
10、20 CPU
1〜4 コア
11 レジスタ
13、15 計算器
FRC1〜FRC4 周波数調整回路
CFCC1〜CFCC4 クロック周波数制御回路
ATR1 動作率(Active Time Ratio)
CK1〜CK4 クロック
OSS1〜OSS4 動作状態信号
SW11〜SW15、SW21〜SW25 切り替え要求
T1〜T4、T30、T40 テーブル
UP3、UP4 電圧アップ要求
DW3、DW4 電圧ダウン要求
NV 通常電圧
ODV オーバードライブ電圧

Claims (17)

  1. 以下を含む半導体装置:
    (a)第1CPUコア;
    (b)第1テーブルを備える第1周波数調整回路;
    (c)前記第1CPUコアに第1クロックを供給する第1クロック周波数制御回路
    (d)第2CPUコア;
    (e)第2テーブルを備える第2周波数調整回路;
    (f)第2クロック周波数制御回路、
    ここで前記第1CPUコアは、前記第1CPUコアの動作状態を示す第1動作状態信号を出力し、
    前記第1周波数調整回路は、前記第1テーブル及び前記第1動作状態信号に基づいて前記第1クロックの周波数を制御し、
    前記第2CPUコアは、前記第2CPUコアの動作状態を示す第2動作状態信号を出力し、
    前記第1周波数調整回路は、前記第1動作状態信号に基づいて第1切り替え要求を出力し、
    前記第2周波数調整回路は、前記第1切り替え要求に基づいて、前記第2クロック周波数制御回路に前記第2CPUコアへの第2クロックの供給を開始させ、前記第2テーブル及び前記第2動作状態信号に基づいて前記第2クロックの周波数を制御する。
  2. 請求項1に記載の半導体装置であって、
    ここで前記第1周波数調整回路は、第3テーブルを更に備え、
    前記第1周波数調整回路は、前記第1切り替え要求を出力するときに、前記第1クロックの周波数を前記第1テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第1変動制御状態から前記第1クロックの周波数を第1固定値に制御する第1クロック第1固定制御状態へ切り替わり、
    前記第2周波数調整回路は、前記第2動作状態信号に基づいて、前記第2クロックの周波数を前記第2テーブル及び前記第2動作状態信号に基づいて制御する第2クロック第1変動制御状態から前記第2クロックの周波数を第2固定値に制御する第2クロック第1固定制御状態へ切り替わり、前記第2クロック第1変動制御状態から前記第2クロック第1固定制御状態へ切り替わるときに第2切り替え要求を出力し、
    前記第1周波数調整回路は、前記第2切り替え要求に基づいて、前記第1クロック第1固定制御状態から前記第1クロックの周波数を前記第3テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第2変動制御状態へ切り替わり、前記第1クロック第1固定制御状態から前記第1クロック第2変動制御状態へ切り替わるときに電源制御回路に電圧アップ要求を出力し、
    前記電源制御回路は、前記電圧アップ要求に基づいて、前記第1CPUコアに供給する動作電圧を第1電圧に制御する通常電圧制御状態から前記動作電圧を前記第1電圧より高い第2電圧に制御するオーバードライブ電圧制御状態に切り替わる。
  3. 請求項1に記載の半導体装置であって、
    ここで前記第1周波数調整回路は、前記第1切り替え要求を出力するときに、前記第1クロックの周波数を前記第1テーブル及び前記第1動作状態信号に基づいて変動制御する第1クロック第1変動制御状態から前記第1クロックの周波数を第1固定値に固定制御する第1クロック第1固定制御状態へ切り替わる。
  4. 請求項3に記載の半導体装置であって、
    ここで前記第1固定値は、前記第1テーブルに基づいて設定可能な最大値である。
  5. 請求項3又は4に記載の半導体装置であって、
    ここで前記第2周波数調整回路は、前記第1切り替え要求を受けて、前記第2クロックの周波数を前記第2テーブル及び前記第2動作状態信号に基づいて変動制御する第2クロック第1変動制御状態となる。
  6. 請求項5に記載の半導体装置であって、
    ここで前記第1動作状態信号は、前記第1CPUコアのパフォーマンスを示し、
    前記第1テーブルは、パフォーマンスと周波数の対応付けを行い、
    前記第1周波数調整回路は、前記第1動作状態信号が示す前記第1CPUコアのパフォーマンスの値が前記第1テーブルにおけるパフォーマンスの値の最大値より大きい場合、前記第1切り替え要求を出力する。
  7. 請求項5又は6に記載の半導体装置であって、
    ここで前記第2動作状態信号は、前記第2CPUコアのパフォーマンスを示し、
    前記第2テーブルは、パフォーマンスと周波数の対応付けを行い、
    前記第2周波数調整回路は、前記第2動作状態信号が示す前記第2CPUコアのパフォーマンスの値が前記第2テーブルにおけるパフォーマンスの値の最小値より小さい場合、第3切り替え要求を出力する。
  8. 請求項7に記載の半導体装置であって、
    ここで前記第1周波数調整回路は、前記第3切り替え要求を受けて、前記第1クロックの周波数を前記第1固定値に固定制御する前記第1クロック第1固定制御状態から前記第1クロックの周波数を前記第1テーブル及び前記第1動作状態信号に基づいて変動制御する前記第1クロック第1変動制御状態へ切り替わる。
  9. 請求項7又は8に記載の半導体装置であって、
    ここで前記第2周波数調整回路は、前記第3切り替え要求を出力するときに、前記第2クロック周波数制御回路に前記第2CPUコアへの前記第2クロックの供給を停止させる。
  10. 請求項1乃至5の何れかに記載の半導体装置であって、
    ここで前記第1動作状態信号は、前記第1CPUコアのパフォーマンスを示し、
    前記第1テーブルは、パフォーマンスと周波数を対応付ける。
  11. 請求項1乃至5の何れかに記載の半導体装置であって、
    ここで前記第1動作状態信号は、前記第1CPUコアのアイドル状態を示し、
    前記第1周波数調整回路は、前記第1動作状態信号に基づいて、前記第1CPUコアの単位時間当たりの動作期間又はアイドル期間を計算する期間計算器を更に備え、
    前記第1テーブルは、単位時間当たりの動作期間又はアイドル期間と周波数を対応付ける。
  12. 請求項1乃至5の何れかに記載の半導体装置であって、
    ここで前記第1テーブルは以下を含む:
    (i)第1パラメータの第1値と第2パラメータの第2値の組合せ、前記第1パラメータの第3値と前記第2パラメータの第4値の組合せを格納するレジスタ;
    (ii)前記第1値と前記第2値の組合せ、前記第3値と前記第4値の組合せを補間する前記第1パラメータの第5値と前記第2パラメータの第6値の組合せを計算する補間計算器、
    前記第1動作状態信号は前記第1パラメータの値を示し、又は、前記第1周波数調整回路は前記第1動作状態信号に基づいて前記第1パラメータの値を算出し、
    前記第2パラメータは前記第1クロックの周波数である。
  13. 請求項1乃至12の何れかに記載の半導体装置であって、
    ここで前記第1CPUコアの動作周波数とパフォーマンスは、前記第2CPUコアの動作周波数とパフォーマンスよりも低い。
  14. 以下を含む電子装置:
    (a)半導体装置、
    ここで前記半導体装置は以下を含む:
    (i)第1CPUコア;
    (ii)第1テーブルを備える第1周波数調整回路;
    (iii)前記第1CPUコアに第1クロックを供給する第1クロック周波数制御回路
    (iv)第2CPUコア;
    (v)第2テーブルを備える第2周波数調整回路;
    (vi)第2クロック周波数制御回路、
    前記第1CPUコアは、前記第1CPUコアの動作状態を示す第1動作状態信号を出力し、
    前記第1周波数調整回路は、前記第1テーブル及び前記第1動作状態信号に基づいて前記第1クロックの周波数を制御し、
    前記第2CPUコアは、前記第2CPUコアの動作状態を示す第2動作状態信号を出力し、
    前記第1周波数調整回路は、前記第1動作状態信号に基づいて第1切り替え要求を出力し、
    前記第2周波数調整回路は、前記第1切り替え要求に基づいて、前記第2クロック周波数制御回路に前記第2CPUコアへの第2クロックの供給を開始させ、前記第2テーブル及び前記第2動作状態信号に基づいて前記第2クロックの周波数を制御する。
  15. 以下を更に含む請求項14に記載の電子装置:
    (b)前記第1CPUコアに動作電圧を供給する電源制御回路、
    ここで前記第1周波数調整回路は、第3テーブルを更に備え、
    前記第1周波数調整回路は、前記第1切り替え要求を出力するときに、前記第1クロックの周波数を前記第1テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第1変動制御状態から前記第1クロックの周波数を第1固定値に制御する第1クロック第1固定制御状態へ切り替わり、
    前記第2周波数調整回路は、前記第2動作状態信号に基づいて、前記第2クロックの周波数を前記第2テーブル及び前記第2動作状態信号に基づいて制御する第2クロック第1変動制御状態から前記第2クロックの周波数を第2固定値に制御する第2クロック第1固定制御状態へ切り替わり、前記第2クロック第1変動制御状態から前記第2クロック第1固定制御状態へ切り替わるときに第2切り替え要求を出力し、
    前記第1周波数調整回路は、前記第2切り替え要求に基づいて、前記第1クロック第1固定制御状態から前記第1クロックの周波数を前記第3テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第2変動制御状態へ切り替わり、
    前記電源制御回路は、前記第1周波数調整回路が前記第1クロック第1変動制御状態のとき及び前記第1クロック第1固定制御状態のときに前記動作電圧を第1電圧に制御し、
    前記第1周波数調整回路が前記第1クロック第2変動制御状態のときに前記動作電圧を前記第1電圧より高い第2電圧に制御する。
  16. 以下を含む半導体装置の制御方法:
    ここで前記半導体装置は以下を含む:
    (i)第1CPUコア;
    (ii)第1テーブルを備える第1周波数調整回路;
    (iii)前記第1CPUコアに第1クロックを供給する第1クロック周波数制御回路
    (iv)第2CPUコア;
    (v)第2テーブルを備える第2周波数調整回路;
    (vi)第2クロック周波数制御回路、
    (a)前記第1CPUコアは、前記第1CPUコアの動作状態を示す第1動作状態信号を出力し;
    (b)前記第1周波数調整回路は、前記第1テーブル及び前記第1動作状態信号に基づいて前記第1クロックの周波数を制御し;
    (c)前記第1周波数調整回路は、前記第1動作状態信号に基づいて第1切り替え要求を出力し;
    (d)前記第2周波数調整回路は、前記第1切り替え要求に基づいて、前記第2クロック周波数制御回路に前記第2CPUコアへの第2クロックの供給を開始させ、
    (e)前記第2CPUコアは、前記第2CPUコアの動作状態を示す第2動作状態信号を出力し;
    (f)前記第2周波数調整回路は、前記第2テーブル及び前記第2動作状態信号に基づいて前記第2クロックの周波数を制御する。
  17. 以下を更に含む請求項16に記載の制御方法:
    ここで前記第1周波数調整回路は、第3テーブルを更に備え、
    (g)前記第1周波数調整回路は、前記第1切り替え要求を出力するときに、前記第1クロックの周波数を前記第1テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第1変動制御状態から前記第1クロックの周波数を第1固定値に制御する第1クロック第1固定制御状態へ切り替わり;
    (h)前記第2周波数調整回路は、前記第2動作状態信号に基づいて、前記第2クロックの周波数を前記第2テーブル及び前記第2動作状態信号に基づいて制御する第2クロック第1変動制御状態から前記第2クロックの周波数を第2固定値に制御する第2クロック第1固定制御状態へ切り替わり;
    (i)前記第2周波数調整回路は、前記第2クロック第1変動制御状態から前記第2クロック第1固定制御状態へ切り替わるときに第2切り替え要求を出力し;
    (j)前記第1周波数調整回路は、前記第2切り替え要求に基づいて、前記第1クロック第1固定制御状態から前記第1クロックの周波数を前記第3テーブル及び前記第1動作状態信号に基づいて制御する第1クロック第2変動制御状態へ切り替わり;
    (k)前記第1周波数調整回路は、前記第1クロック第1固定制御状態から前記第1クロック第2変動制御状態へ切り替わるときに電源制御回路に電圧アップ要求を出力し;
    (l)前記電源制御回路は、前記電圧アップ要求に基づいて、前記第1CPUコアに供給する動作電圧を第1電圧に制御する通常電圧制御状態から前記動作電圧を前記第1電圧より高い第2電圧に制御するオーバードライブ電圧制御状態に切り替わる。
JP2013012958A 2013-01-28 2013-01-28 半導体装置、電子装置、及び半導体装置の制御方法 Active JP6042217B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013012958A JP6042217B2 (ja) 2013-01-28 2013-01-28 半導体装置、電子装置、及び半導体装置の制御方法
US14/158,832 US9898068B2 (en) 2013-01-28 2014-01-19 Semiconductor device, electronic device, and method for controlling semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013012958A JP6042217B2 (ja) 2013-01-28 2013-01-28 半導体装置、電子装置、及び半導体装置の制御方法

Publications (2)

Publication Number Publication Date
JP2014146095A JP2014146095A (ja) 2014-08-14
JP6042217B2 true JP6042217B2 (ja) 2016-12-14

Family

ID=51224377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013012958A Active JP6042217B2 (ja) 2013-01-28 2013-01-28 半導体装置、電子装置、及び半導体装置の制御方法

Country Status (2)

Country Link
US (1) US9898068B2 (ja)
JP (1) JP6042217B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348401B2 (en) * 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
CN105487597A (zh) * 2014-10-09 2016-04-13 深圳市中兴微电子技术有限公司 一种中央微处理器时钟管理方法及装置
US9710043B2 (en) * 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
JP2017046084A (ja) * 2015-08-25 2017-03-02 コニカミノルタ株式会社 画像処理装置、制御タスクの割り当て方法及び割り当てプログラム
US9996138B2 (en) 2015-09-04 2018-06-12 Mediatek Inc. Electronic system and related clock managing method
US9864423B2 (en) * 2015-12-24 2018-01-09 Intel Corporation Mitigating component performance variation
US20170212575A1 (en) * 2016-01-21 2017-07-27 Mediatek Inc. Power budget allocation method and apparatus for generating power management output according to system setting of multi-core processor system and target power budget
KR20180076840A (ko) 2016-12-28 2018-07-06 삼성전자주식회사 Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839855B2 (en) * 1990-03-23 2005-01-04 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
DE10141626B4 (de) * 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
JP2002288150A (ja) 2001-03-28 2002-10-04 Matsushita Electric Ind Co Ltd 半導体集積回路装置
JP2003150571A (ja) * 2001-11-14 2003-05-23 Nec Corp キャパシティ・オン・デマンド方式、サーバ装置および同装置のキャパシティ・オン・デマンド方法
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
JP3685401B2 (ja) * 2001-12-26 2005-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム
JP3670246B2 (ja) * 2002-03-28 2005-07-13 エヌ・ティ・ティ・コムウェア株式会社 ルータ及びルータ制御プログラム
JP3742364B2 (ja) * 2002-06-28 2006-02-01 株式会社東芝 クロック周波数の制御方法および電子機器
US7467318B2 (en) * 2003-09-29 2008-12-16 Ati Technologies Ulc Adaptive temperature dependent feedback clock control system and method
JP4490298B2 (ja) 2004-03-02 2010-06-23 三菱電機株式会社 プロセッサ電力制御装置及びプロセッサ電力制御方法
JP2006314006A (ja) * 2005-05-09 2006-11-16 Seiko Epson Corp 半導体集積回路
JP4687329B2 (ja) * 2005-08-23 2011-05-25 セイコーエプソン株式会社 情報端末、及び、電池残量算出方法
US7757107B2 (en) * 2006-06-27 2010-07-13 Hewlett-Packard Development Company, L.P. Maintaining a power budget
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
JP4395800B2 (ja) 2007-09-18 2010-01-13 日本電気株式会社 電力管理システムおよび電力管理方法
JP2009230670A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd プロセッサシステム
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
TWI398752B (zh) * 2009-04-30 2013-06-11 Asustek Comp Inc 中央處理器的超頻控制方法和超頻控制程式
KR101533572B1 (ko) * 2009-05-20 2015-07-03 삼성전자주식회사 전력 관리 방법
JP2011013867A (ja) * 2009-06-30 2011-01-20 Panasonic Corp データ処理装置、性能評価解析システム

Also Published As

Publication number Publication date
US20140215243A1 (en) 2014-07-31
JP2014146095A (ja) 2014-08-14
US9898068B2 (en) 2018-02-20

Similar Documents

Publication Publication Date Title
JP6042217B2 (ja) 半導体装置、電子装置、及び半導体装置の制御方法
JP6219121B2 (ja) 電子装置及びその制御方法
JP2008059054A (ja) プロセッサシステム
JP6209020B2 (ja) 半導体集積回路装置、表示装置および情報機器
US10236890B2 (en) Semiconductor device and method for controlling the same
US20160041577A1 (en) Semiconductor Apparatus and System
US20230014545A1 (en) Electronic display pipeline power management systems and methods
JP4485370B2 (ja) 並列計算装置
JP2011210264A (ja) S0ix状態中にシステムのVR出力調整を通じてシステムのアイドル電力を低減する方法
US9600002B2 (en) Method and electronic device for controlling driving condition based on operating state
US20170156115A1 (en) Electronic systems and method of operating electronic systems
US20100077200A1 (en) Method and apparatus for switching performance
JP6275173B2 (ja) 半導体装置
US20140368452A1 (en) Mobile terminal apparatus, function controlling method, and computer-readable recording medium
EP3388936A1 (en) Media player and a method of operating a media player
JP4787114B2 (ja) リアルタイムクロック装置および該リアルタイムクロック装置を用いた半導体装置ならびに電子機器
CN110809754B (zh) 用于计算设备中的动态缓冲器大小设定的系统和方法
JP6478861B2 (ja) 電子機器
JP2018156252A (ja) 動作周波数制御装置、動作周波数制御プログラム、及び動作周波数制御方法
Ogawa et al. Hardware platform supporting smartphones
CN111090393A (zh) 存储数据处理方法、存储数据处理装置及电子装置
JP5273813B2 (ja) 携帯端末および電圧調整方法
JP2011003121A (ja) 入力装置
JP2014035431A (ja) ボコーダ処理方法、半導体装置、及び電子装置
JP2013206335A (ja) 信号処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160906

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: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161109

R150 Certificate of patent or registration of utility model

Ref document number: 6042217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150