(57)【要約】  半導体デバイスの電力性能を、設定した所定の評価基準にしたがって自律的に最適化する。  複数のＩＰ(Intellectual Property)コアを搭載する半導体デバイスであって、前記各ＩＰコアの状態観測手段と、前記各ＩＰコアの動作モードを制御する手段と、前記半導体デバイスのデバイス状態を計測するデバイス状態計測手段と、前記半導体デバイスでの処理性能を計測する処理性能計測手段と、前記デバイスの電力性能の評価基準を指定する適応モード設定手段と、前記デバイス状態計測手段、前記処理性能計測手段の出力と、前記適応モード設定手段の設置値に基づきデバイスの電力性能の良否の評価値を評価する電力性能評価手段と、前記デバイス全体の電力性能が所定の状態となるように、各ＩＰコアの動作モードの制御則を自律的に学習し、各ＩＰコアの動作モードを制御する適応手段と、を備える。
2009110290.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩＰ(Intellectual Property)コアを搭載する半導体デバイスであって、
前記各ＩＰコアの状態を観測する状態観測手段と、
前記各ＩＰコアの動作モードを制御する手段と、
前記半導体デバイスのデバイス状態を計測するデバイス状態計測手段と、
前記半導体デバイスでの処理性能を計測する処理性能計測手段と、
前記デバイスの電力性能の評価基準を指定する適応モード設定手段と、
前記デバイス状態計測手段、前記処理性能計測手段の出力と、前記適応モード設定手段の設置値に基づきデバイスの電力性能の良否の評価値を評価する電力性能評価手段と、前記デバイス全体の電力性能が所定の状態となるように、各ＩＰコアの動作モードの制御則を自律的に学習し、各ＩＰコアの動作モードを制御する適応手段と、
を備えることを特徴とする半導体デバイス。
【請求項２】
前記適応手段として強化学習アルゴリズムを用いることを特徴とする請求項１に記載の半導体デバイス。
【請求項３】
前記ＩＰコアの状態観測手段への入力として、前記ＩＰコアを制御する状態遷移機械の状態、前記ＩＰコアのプログラムカウンタ又はその両方を用いることを特徴とする請求項１又は２に記載の半導体デバイス。
【請求項４】
前記ＩＰコアの状態観測手段への入力として、前記ＩＰコア間の通信路として機能する前記ＩＰコアのトラフィック、アクセス競合又はその両方を用いることを特徴とする請求項１乃至３の何れか１項に記載の半導体デバイス。
【請求項５】
前記ＩＰコアの動作モードを制御する適応手段は、前記各ＩＰコアの動作周波数、供給電圧若しくは閾値電圧又はそれらの組合せを設定することができることを特徴とする請求項１乃至４の何れか１項に記載の半導体デバイス。
【請求項６】
前記デバイス状態計測手段は、デバイスの消費電力、デバイス温度又はその両方を計測することを特徴とする、請求項１乃至５の何れか１項に記載の半導体デバイス。
【請求項７】
前記処理性能計測手段は、前記ＩＰコアのＩ／Ｏ信号、前記ＩＰコア間のデータ転送信号又はその両方を観測することを特徴とする、請求項１乃至６の何れか１項に記載の半導体デバイス。
【請求項８】
複数のＩＰ(Intellectual Property)コアを搭載する半導体デバイスの電力性能を最適化するための電力性能最適化方法であって、
前記各ＩＰコアの状態を観測する状態観測ステップと、
前記各ＩＰコアの動作モードを制御するステップと、
前記半導体デバイスのデバイス状態を計測するデバイス状態計測ステップと、
前記半導体デバイスでの処理性能を計測する処理性能計測ステップと、
前記デバイスの電力性能の評価基準を指定する適応モード設定ステップと、
前記デバイス状態計測ステップ、前記処理性能計測ステップからの出力と、前記適応モード設定ステップでの設置値に基づきデバイスの電力性能の良否の評価値を評価する電力性能評価ステップと、
前記デバイス全体の電力性能が所定の状態となるように、各ＩＰコアの動作モードの制御則を自律的に学習し、各ＩＰコアの動作モードを制御する適応ステップと、
を有することを特徴とする電力性能最適化方法。
【請求項９】
前記適応ステップでは強化学習アルゴリズムを用いることを特徴とする請求項８に記載の電力性能最適化方法。
【請求項１０】
前記ＩＰコアの状態観測ステップでの入力として、前記ＩＰコアを制御する状態遷移機械の状態、前記ＩＰコアのプログラムカウンタ又はその両方を用いることを特徴とする請求項８又は９に記載の電力性能最適化方法。
【請求項１１】
前記ＩＰコアの状態観測ステップでの入力として、前記ＩＰコア間の通信路として機能する前記ＩＰコアのトラフィック、アクセス競合又はその両方を用いることを特徴とする請求項８乃至１０の何れか１項に記載の電力性能最適化方法。
【請求項１２】
前記ＩＰコアの動作モードを制御する適応ステップでは、前記各ＩＰコアの動作周波数、供給電圧若しくは閾値電圧又はそれらの組合せを設定することができることを特徴とする請求項８乃至１１の何れか１項に記載の電力性能最適化方法。
【請求項１３】
前記デバイス状態計測ステップでは、デバイスの消費電力、デバイス温度又はその両方を計測することを特徴とする、請求項８乃至１２の何れか１項に記載の電力性能最適化方法。
【請求項１４】
前記処理性能計測ステップでは、前記ＩＰコアのＩ／Ｏ信号、前記ＩＰコア間のデータ転送信号又はその両方を観測することを特徴とする、請求項８乃至１３の何れか１項に記載の電力性能最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力性能を外部から設定した評価基準に基づき自律的に最適化することのできる半導体デバイス及び半導体デバイスの電力性能を外部から設定した評価基準に基づき自律的に最適化するための電力性能最適化方法に関する。
【背景技術】
【０００２】
近年の半導体デバイスの高機能化、高性能化に伴い、半導体デバイスの消費電力が増大している。携帯端末、情報家電、ＰＣ(Personal Computer)、サーバ等の製品においてもシステム全体の低電力性が重要な価値となってきている。高性能、高機能と低電力性は一般に両立は困難なため、半導体デバイスの電力性能の向上が重要な課題となっている。半導体デバイスは一般的には、実現する機能に応じて複数のＩＰ(Intellectual Property)コアが搭載される。各ＩＰコアの電力性能は、ＩＰコアの動作周波数、供給電圧、閾値電圧等で制御することができる。以下、ＩＰコアの動作周波数、供給電圧、閾値電圧等をある特定の値に設定した状態をＩＰコアの動作モードと呼ぶ。複数のＩＰコアを搭載した半導体デバイスの電力性能を向上させるための従来技術としては、
１．予め各ＩＰコアの動作モードを必要な性能を達成できる範囲で、低電力になるように固定的に設定する。
２．特許文献１にあるように、半導体デバイスの消費電力や温度の観測手段を設け、その観測結果を予め設定しておいた閾値と比較して、ＩＰコアの動作モードを変化させる。
３．非特許文献１にあるように、半導体デバイスでの応用処理の状況に応じて各ＩＰコアの動作モードを動的に制御する。ＩＰコアの動作モードの制御は一般的には、応用処理のソフトウェアが動作している半導体デバイス上のＣＰＵで行う。
４．特許文献２にあるように、情報処理装置の複数のデバイスの使用状況の傾向を時間帯別に示す特性情報を用いて、時間帯毎の各デバイスの動作状況を予測し、各デバイスの動作モードを制御する。
という方法があった。【０００３】
特許文献３では、基本ユニット毎に独立の学習機能を設けて自律分散的に電力性能を制御する技術が開示されている。特許文献３の図１７の説明ではチップ全体または部分に対する制御もできると記載があるが、チップ全体、部分の電力性能状態を評価する機構に関する記載はない。また、特許文献３の構成では、チップ全体、部分の電力性能を評価する機構がないため、チップ全体、部分の電力性能を最適化するのは非常に困難かまたは、不可能である。【０００４】
特許文献４で開示されている、消費電力算出手段は、各モジュールの現在のクロック周波数と予め設定されているテーブルとからチップの消費電力を計算し、それが消費電力の上限値を越えているかどうかで、各モジュールのクロックを制御するための信号を出力している。消費電力算出手段は現在のチップの処理性能を考慮していないので、単純に電力を削減するだけの機能しか提供することができない。このため特許文献３で開示されている学習機構と組み合わせても、本発明で最適化しようとしている「電力性能」を最適化することは困難または、不可能である。
【特許文献１】特表２００２−５２９８０６号公報（第２−５頁、図１）
【特許文献２】特開２００３−１５７８３号公報（第２−３頁、図１）
【特許文献３】特開２００２−２２９６９０号公報
【特許文献４】特開平１０−０９１２６８号公報
【非特許文献１】Nose, K., Hirabayashi, M., Kawaguchi, H., Seongsoo Lee, Sakurai, T. 著VTH-hopping scheme to reduce subthreshold leakage for low-power processorsSolid-State Circuits, IEEE Journal of Volume 37, Issue 3, 2002年3月、pp.413-419
【非特許文献２】Sutton & Barto: Reinforcement Learning, The MIT Press
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法には以下のように幾つかの問題点がある。【０００６】
第１の問題点は、各ＩＰコアの動作状況に応じた最適な動作モードの制御ができないということである。【０００７】
予め各ＩＰコアの動作モードを必要な性能を達成できる範囲で、低電力になるように固定的に設定する方法は、広く半導体デバイスの設計に使われている手法である。各ＩＰが固定的な機能しか実行しない専用ハードウェアのような場合で、半導体デバイス上で処理する応用も固定な場合は効率良く動作させることができるが、各ＩＰコアが全体処理に応じて機能を動的に変更可能であったり、半導体デバイス上で処理する応用が固定でなく多様な処理を対象とする場合は、ＩＰコアの動作モードを固定的に設定していたのでは、状況に応じた制御ができない。この問題が発生するのは、固定的に動作モードを設定するためである。またこの方法では、想定される最大負荷においても対応できるようにＩＰコアの動作モードを設定することとなり、最大負荷以外の状況では無駄が発生するという問題もある。【０００８】
特許文献１にあるように予め設定しておいた閾値との比較によりＩＰコアの動作モードを変化させる方法では、固定的な設定に比べてより柔軟な制御が可能であるが、閾値は固定的であるため、ＩＰコアでの処理の進捗状況に応じた動作モードの制御を行うことは不可能である。【０００９】
第２の問題点は、半導体デバイスの各ＩＰコアの動作モードを最適に制御しようとすると半導体デバイス上の応用開発に大きな負担がかかるということである。【００１０】
非特許文献１にある方法では、各ＩＰコアの動作モードを最適に制御しようとすると半導体デバイスで動作する応用の処理状況に応じた各ＩＰの動作モードを予め定義しておく必要があった。応用毎にこの動作モードの設定が必要である。このため、半導体デバイスの応用を開発する場合、電力性能も意識しながら、各ＩＰでの処理制御と動作モードの制御も行う必要があるため、応用開発の大きな負担となるという問題があった。【００１１】
第３の問題点は、半導体デバイスでの処理の状況を予測して最適に動作モードを制御することができないということである。【００１２】
特許文献２の方法では、情報処理装置の複数のデバイスの利用状況の傾向を時間帯別に死滅特性情報を用いて、時間帯毎のデバイスの動作状況を予測している。しかし、この方法では、過去のデバイスの時間帯毎の利用状況から時間帯毎の動作状況を予測するので、時間帯に依存しない処理の変化に対して最適にデバイスの動作モードを制御することはできない。【００１３】
本発明の目的は、複数のＩＰコアを搭載した半導体デバイスにおいて、半導体デバイスのデバイス全体の消費電力や応用の性能等を最適化するような各ＩＰコアの動作モードの制御則を自律的に適応可能な半導体デバイスを提供することにある。
【課題を解決するための手段】
【００１４】
本発明によれば、複数のＩＰコアを搭載する半導体デバイスであって、前記各ＩＰコアの状態観測手段と、前記各ＩＰコアの動作モードを制御する手段と、前記半導体デバイスのデバイス状態を計測するデバイス状態計測手段と、前記半導体デバイスでの処理性能を計測する処理性能計測手段と、前記デバイスの電力性能の評価基準を指定する適応モード設定手段と、前記デバイス状態計測手段、前記処理性能計測手段の出力と、前記適応モード設定手段の設置値に基づきデバイスの電力性能の良否の評価値を評価する電力性能評価手段と、前記デバイス全体の電力性能が所定の状態となるように、各ＩＰコアの動作モードの制御則を自律的に学習し、各ＩＰコアの動作モードを制御する適応手段と、を備えることを特徴とする半導体デバイスが提供される。【００１５】
また、本発明によれば、複数のＩＰコアを搭載する半導体デバイスの電力性能を最適化するための電力性能最適化方法であって、前記各ＩＰコアの状態を観測する状態観測ステップと、前記各ＩＰコアの動作モードを制御するステップと、前記半導体デバイスのデバイス状態を計測するデバイス状態計測ステップと、前記半導体デバイスでの処理性能を計測する処理性能計測ステップと、前記デバイスの電力性能の評価基準を指定する適応モード設定ステップと、前記デバイス状態計測ステップ、前記処理性能計測ステップからの出力と、前記適応モード設定ステップでの設置値に基づきデバイスの電力性能の良否の評価値を評価する電力性能評価ステップと、前記デバイス全体の電力性能が所定の状態となるように、各ＩＰコアの動作モードの制御則を自律的に学習し、各ＩＰコアの動作モードを制御する適応ステップと、を有することを特徴とする電力性能最適化方法が提供される。
【発明の効果】
【００１６】
本発明によれば、半導体デバイスの電力性能を、設定した所定の評価基準にしたがって自律的に最適化することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態の構成を示すブロック図である。
【図２Ａ】本発明の第１の実施形態を構成するＩＰコアの状態観測例としてＦＳＭ（有限状態機械）を説明する図である。
【図２Ｂ】本発明の第１の実施形態を構成するＩＰコアの状態観測例としてプログラムカウンタを説明する図である。
【図３】本発明の第１の実施形態を構成する処理性能評価部の処理性能観測例を説明する図である。
【図４】本発明の第１の実施形態を構成する適応部の処理フローを示すフローチャートである。
【図５】本発明の第２の実施形態の構成を示すブロック図である。
【符号の説明】
【００１８】
１  本発明のデバイス
２０  ＩＰコア
２１  ＩＰコア間通信路として機能するＩＰコア
３０  ＩＰコア２０の状態観測手段
３１  ＩＰコア２１の状態観測手段
４０  ＩＰコア２０の動作モード
４１  ＩＰコア２１の動作モード
５０  デバイス外部との間のＩ／Ｏ信号
６０  デバイス外部との間のＩ／Ｏ信号の一部
６１  ＩＰコア間通信路として機能するＩＰコアの状態
７０  デバイス状態計測部
７１  処理性能計測部
８０  電力性能評価部
９０  適応モード設定値Ｍ
１００  評価値Ｒ
１１０  適応部
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。【００２０】
図１を参照すると、発明の実施形態によるデバイスは、半導体デバイスの各ＩＰコア（２０，２１）のデバイス状態観測手段（３０，３１）と、各ＩＰコアの動作周波数、供給電圧、閾値電圧等の動作モードを制御する手段（４０，４１）と、半導体デバイスのデバイス全体の消費電力や温度等のデバイス状態を計測する手段（７０）、及び、半導体デバイスで実行中の処理の性能を計測する処理性能計測手段（７１）と、デバイスの電力性能の評価基準をデバイス外部から指定する適応モード設定手段（９０）と、デバイス状態計測手段、処理性能計測手段の出力と、適応モード設定手段の設置値Ｍに基づき、現在のデバイスの電力性能の良否の評価値Ｒ（１００）を評価する電力性能評価手段（８０）と、各ＩＰコアの状態（ｓ０，ｓ１，．．．ｓｎ）と、評価値Ｒとからデバイス全体の電力性能を最適化するように、各ＩＰコアの動作モード（ａ０，ａ１，．．．，ａｎ）を制御するための制御則を自律的に学習する、適応手段（１１０）を有する。【００２１】
本発明の実施形態によるデバイスでは、各ＩＰコア２０、２１の状態観測手段３０、３１により内部の状態を観測することが可能で、また各ＩＰコア２０、２１の動作モード４０、４１を制御することで各ＩＰコアの動作周波数、供給電圧、閾値電圧等を変更可能である。これによりデバイスを構成する各ＩＰコア２０、２１の電力性能をＩＰコア外部から制御することができる。すなわち適切に各ＩＰコアの電力性能を制御することによりデバイス全体の電力性能も制御できる。【００２２】
デバイス状態計測部７０では、デバイス全体の消費電力、デバイス温度等の物理量を計測する。処理性能計測部７１では、外部Ｉ／Ｏ５０や、ＩＰコア間通信路（ＩＰコア２１）の状態を観測することにより、デバイス全体の処理性能を計測評価する。電力性能評価部８０は、デバイス状態計測部７０、処理性能計測部７１の出力と、適応モード設定値９０として与えられる電力性能の評価基準Ｍにしたがって現在の電力性能を評価し、評価値Ｒ（１００）として出力する。【００２３】
適応部１１０は、制御対象として各ＩＰ２０、２１の電力性能を制御する制御装置として機能する。各ＩＰ２０、２１の状態観測手段３０、３１により、制御対象としての各ＩＰ２０、２１の状態を観測する。また各ＩＰ２０、２１の動作モード４０、４１を設定することにより制御対象としての各ＩＰ２０、２１の電力性能を制御する。電力性能評価部８０の出力である評価値Ｒ（１００）と各ＩＰ２０、２１の動作状態観測手段から得られた状態（ｓ０，ｓ１，．．．，ｓｎ）と、各ＩＰの２０、２１の動作モード４０、４１（ａ０，ａ１，．．．，ａｎ）を制御することによる評価値Ｒの変化を観測することにより、各位ＩＰコアの制御則を適応的に学習する。【００２４】
本発明の実施形態の第１の効果は、半導体デバイスの電力性能を、設定した所定の評価基準にしたがって自律的に最適化可能なデバイスを提供することができることである。【００２５】
本発明の実施形態によるデバイスは、各ＩＰコア２０、２１の状態観測手段３０、３１により、各ＩＰコアの現在の動作状況を観測することができる。ＩＰコアの状態を時系列として観測分析することにより、ＩＰコアの将来の動作状態を予測することができる。またデバイス状態計測部７０、処理性能計測部７１では、現時点でのデバイスの消費電力や温度等の物理量、半導体デバイスで実行されている処理の性能を計測することができる。この２つの計測結果と、デバイス全体の動作をどのような状態（例えば電力をできるだけ少なくするとか処理性能を優先する）にすべきかを表す、適応モード設定値Ｍ（９０）とから、電力性能評価部８０は現在のデバイスの状態が良い状態であるか悪い状態であるか評価し評価値Ｒ（１００）として出力する。適応部１１０は各ＩＰコアの状態と、評価値Ｒを入力とし、出力として各ＩＰコアの動作モード４０、４１の制御信号を出力する。この適応部１１０は、例えば非特許文献２にある強化学習として知られている学習アルゴリズムを用いることにより、将来の評価値Ｒを最適化するような制御則を獲得することが可能である。以上により適応モードとして設定した評価基準に関して最適となるようなＩＰコアの制御則を自律的に獲得することが可能となる。【００２６】
本発明の実施形態の第２の効果は、半導体デバイスの各ＩＰの動作特性が経年変化等により変化した場合にも経年変化の影響を考慮した電力性能の制御則の適応が可能なデバイスを提供することができることである。【００２７】
電力性能の制御則を学習後の実運用時においても、適応部の学習を継続して行うことにより、各ＩＰコア２０、２１の電力性能特性が変化した場合にも、適応部は自律的に変化した電力特性に適合するように制御則を学習することができるためである。【００２８】
本発明では、電力性能評価部８０はチップの処理性能計測部７１とデバイス状態計測部７０それぞれの評価結果と評価基準とから、現在の電力性能の評価を計算することができる。このため、適応部１１０において、電力性能を最適化する制御則を自律的に学習可能としている。【００２９】
次に、本発明の実施の形態について図面を参照して詳細に説明する。【００３０】
［第１の実施の形態］【００３１】
図１は本発明の第１の実施形態によるデバイスの全体構成を示すブロック図である。１はデバイス全体、２０、２１はＩＰコアで、ＩＰコア２０としては、ＣＰＵ(Central Processing Unit)、ＤＳＰ(Digital Signal Processor)、専用ハードウェア、プログラマブルハードウェア等の他、メモリ等も含む。ＩＰコア２１は、複数のＩＰコア２０間のコア間通信路で、具体的にはオンチップ・バス、クロスバー・スイッチ、ネットワーク・オン・チップ（ＮｏＣ）として実現されるものである。【００３２】
３０、３１はそれぞれＩＰコア２０、ＩＰコア２１の状態観測手段である。状態観測手段３０、３１で観測されるＩＰコアの状態としては、それを時間的に継続的に観測することによってＩＰコアの現在だけでなく将来の動作状態も予測できるものを用いる。【００３３】
例えば、ＩＰコアの状態としては次のものが考えられる。【００３４】
ＩＰコアがＦＳＭ（有限状態機械; finite state machine）で制御されているのであれば、ＩＰコアの状態としては、ＦＳＭの状態そのものや、オンチップバスへのアクセス要求等が考えられる。図２ＡはＦＳＭの例である。ＳＴ０〜ＳＴ３は取り得る状態で、状態間の矢印が可能な状態遷移を表している。ＦＳＭで制御されるＩＰコアでは、このＦＳＭの状態に応じて演算等の処理が制御される。１つの状態から複数の状態遷移がある場合は処理の内容、進捗に応じてどちらの状態遷移が生じるかが決まる。一般的には状態遷移を観測するだけでは、完全な予測は不可能であるが、状態遷移を長時間観測することにより、確率的な振舞を予測することができる。【００３５】
ＩＰコアがプロセッサやＤＳＰのようにプログラムカウンタで制御されるのであれば、パフォーマンスカウンタ、アイドルカウンタ（パイプラインのストール状態のモニタ用）、電力カウンタや、ＰＣ（プログラムカウンタ）値、オンチップバスへのアクセス要求等が考えられる。図２Ｂはプログラムカウンタを観測すべき状態とした場合の動作状態の予測を説明する図である。図２Ｂにおいて、処理のプログラムはプログラムメモリに格納されており、処理の状況に応じてプログラムカウンタの指すアドレスが異なる。プログラムカウンタの変化を観測することにより、プロセッサ、ＤＳＰで現在どのような処理が行われており、今後どのような処理を行うかを確率に予測することが可能である。プログラムカウンタを状態として観測する場合は、プログラムカウンタの全ビットを観測してもよいが、下位ビット（例えば８ｂｉｔ）をマスクして下位ビットを全てゼロとしたものを用いることもできる。こうすると例えば２５６ワード毎の精度でしかプログラムの実行アドレスを観測できなくなるが、動作状態の確率的な予測という用途であれば、十分な場合もある。【００３６】
ＩＰコアとしてはオンチップネットワークやオンチップバス、内蔵メモリ等も考えられる。ＩＰコアがオンチップネットワークやバスであれば、トラフィックの混み具合やアクセス競合のような指標を状態とすることもできる。内蔵メモリであれば、Ｒ／Ｗ(read/write)信号、アドレスの一部等を状態とすることができる。【００３７】
図１の４０、４１はそれぞれＩＰコア２０、２１の動作モードの制御手段である。各ＩＰコアは動作モードで指定された、動作周波数、供給電圧、閾値電圧等の動作パラメータを変更することができる。これによって各ＩＰコアの消費電力や処理速度、電力性能を制御することができる。例えば動作周波数を高くすれば、処理性能は向上するが消費電力も大きくなる。供給電圧を高くすれば、動作周波数の限界を上げることができるが、それに伴って消費電力は供給電圧の２乗に比例して増大する。供給電圧を下げると、性能は低下するが、閾値電圧を下げることにより性能を向上させることができる。しかし、閾値電圧を下げるとリーク電流が増大し消費電力が増える。このように動作周波数、供給電圧、閾値電圧を変化させることにより各ＩＰコアの処理性能と消費電力、すなわち電力性能を制御することができる。【００３８】
図１の７０はデバイス状態計測部である。デバイス状態計測部７０は、デバイスの消費電力そのものや、消費電力と相関のあるデバイス温度等の物理量を計測する。【００３９】
図１の７１は処理性能計測部である。処理性能計測部７１は、ＩＰコア２０とデバイス外部との間のＩ／Ｏ(input/output)（５０）信号の一部６０を入力として受け取る。またＩＰコア２１のコア間通信路のトラフィック量のように、半導体デバイスで実行中の処理の性能が判断できる信号６１を受け取る。図３は処理性能の計測例を示している。ＩＰコアが１単位の処理が終了する毎にその終了を外部機器に通知するためにＩ／Ｏ信号の一部にフラグを立てる場合の例である。処理性能計測部がＩＰコアからの終了フラグが立つ頻度を観測することにより、処理速度の高低を評価することができる。処理の終了フラグの代わりに、例えば外部機器への書き込み信号のようなＩ／Ｏ信号を観測することでも処理速度を評価することができる。ＩＰコア２１のコア間通信を観測する場合は、特定のＩＰコア間の特定のデータ転送を観測することもできる。全体の処理が幾つかの部分処理（例えばＡ、Ｂ、Ｃ）に分割されており、それぞれの処理が異なるＩＰコアで処理されている場合であれば、処理Ａを処理しているＩＰコアから処理Ｂを処理しているＩＰコアへのデータ転送を観測することにより処理Ａから処理Ｂに流れるデータ量を評価することができる。同様に処理Ｂ、Ｃ間を流れるデータ量も評価可能である。各処理間のそれぞれのデータ量や、または最終処理（例えばＣ）へ流れるデータ量を観測することで半導体デバイスで実行中の処理の性能を評価することができる。図１では処理性能計測部の入力としてはＩＰコア２０からのデバイス外へのＩ／Ｏ（５０）信号の一部６０や、ＩＰコア２１のコア間通信路の状態６１を用いる場合を示しているが、各ＩＰコア２０、２１の状態の一部または全部を処理性能計測部７１への入力とすることも可能である。【００４０】
図１の８０は電力性能評価部である。電力性能評価部８０は、デバイス状態計測部７０、処理性能計測部７１の出力と、適応モード設定値９０として与えられる電力性能の評価基準にしたがって現在の電力性能を評価し、その結果を評価値Ｒ（１００）として出力する。適応モード設置値Ｍ（９０）はデバイスの電力性能の良否をどういう基準で評価するかの評価基準を与える。電力性能を最適化する場合に、低電力性を優先するのか処理性能を重視するのか等を指定する。例えば、デバイス状態計測部７０と処理性能計測部７１の出力をそれぞれＴ、Ｐとした場合、評価値Ｒ（１００）として
Ｒ  ＝  Ｍ×ｆ（Ｔ）  ＋  （１−Ｍ）×ｇ（Ｐ）
という値を計算することができる。ｆ、ｇはそれぞれデバイス状態、処理性能を評価する関数で０〜１の値をとるものとする。値１が低消費電力、高性能を表すとする。適応モード設置値Ｍ（０〜１の値を取るものとする）は０で性能重視、１で低消費電力重視の評価基準となり。その間の範囲でどちらをより重視するかの評価基準を指定することができる。【００４１】
図１の１１０は適応部である。適応部１１０は、入力として各ＩＰコア２０、２１の動作状態、
Ｓ  ＝  ｛ｓ０，  ｓ１，  ．．．，ｓｎ−１，ｓｎ｝
を受け取る。Ｓとしては適応モード設置値Ｍ（９０）も含めた、
Ｓ  ＝  ｛ｓ０，  ｓ１，  ．．．，  ｓｎ−１，  ｓｎ，  Ｍ｝
とすることも可能である。適応部１１０は出力信号として各ＩＰコア２０、２１への動作パラメータ
Ａ  ＝  ｛ａ０，  ａ１，  ．．．，  ａｎ−１，  ａｎ｝
を出力する。この信号によって各ＩＰコア２０、２１の動作パラメータが制御され、その結果、デバイスの電力性能が制御される。【００４２】
適応部１１０は、電力性能評価部８０から現時点での評価値Ｒ（１００）を受け取り、現在の状況が適応モード設定値Ｍ（９０）として与えられた評価基準に対してよい状態であるか悪い状態であるかを判断することができる。【００４３】
適応部１１０は全ＩＰコアの動作状態Ｓ、評価値Ｒ（１００）に基づき、将来の評価値Ｒ（１００）を最適化するような全ＩＰコアの動作パラメータＡの制御規則を自律的に学習する。具体的には、適応部１００の自律的学習機能は、例えば、強化学習アルゴリズムとして実現可能である。【００４４】
以上により、本デバイスは、予め設定した適応モードＭ（９０）で指定される評価基準に応じて、その評価基準を満たすようなＩＰコアの制御則を自律学習可能である。十分に制御則が学習できた後は、デバイス状態計測部７０、処理性能評価部７１、電力性能評価部８０は不要となる。【００４５】
動作状態Ｓに適応モード設定値Ｍを含まない場合は、学習時に設定した評価基準にしたがった制御を行う。動作状態Ｓに適応モード設置値Ｍを含む場合は、動的に評価基準を変えることにより、状況に応じて低電力性を重視した制御と、処理性能を重視した制御を切替えることも可能である。【００４６】
適応部１１０での学習が完了した後も、デバイス状態計測部７０、処理性能評価部７１、電力性能評価部８０、及び適応部１１０における自律適応機能をそのまま動作させることも可能である。この場合は、デバイスは応用処理の動作をしながら、制御則が徐々に変化してゆく。経年変化等で各ＩＰコアの動作特性が変化した場合でもそれに応じた制御則を学習できるので、経年変化へ追従することも可能となる。また動作している応用の動作特性が変化した場合にも適応的に制御則を追従させることが可能となる。【００４７】
次に、図４のフローチャートを用いて、適応部（図１の１１０）の動作について説明する。図４は適応部の処理フローを示したものである。適応部はｓｔｅｐ１〜ｓｔｅｐ４のループ（ｌｏｏｐ１）を定期的に繰り返す。ｓｔｅｐ１で各ＩＰコアの動作状態Ｓを観測し、ｓｔｅｐ２でこの動作状態Ｓへ制御則を適用して、動作パラメータＡを計算し、これを出力することでＩＰコア２０、２１を制御する。この２つのステップで各ＩＰコアの動作状態が制御され、デバイスの電力性能が変化する。デバイスの電力性能の変化は評価値Ｒ（図１の１００）の変化となって観測される。ｓｔｅｐ３では評価値Ｒを観測する。ｓｔｅｐ４で動作状態Ｓ、動作パラメータＡとその結果の評価値Ｒとから制御則を更新する。制御則の更新アルゴリズムとしては、例えば強化学習のアルゴリズムを適用することができる。以上ｓｔｅｐ１〜ｓｔｅｐ４のループ（ｌｏｏｐ１）を繰り返すことにより、電力性能を自律的に適用することが可能となる。【００４８】
半導体デバイスの実運用においては、ｓｔｅｐ１〜ｓｔｅｐ２の２ステップのループ（ｌｏｏｐ２）を繰り返すだけでも良い。この場合、制御則は固定されたものが使われるが、半導体デバイスでの処理の特性や、各ＩＰコア２０、２１の動作特性が固定的な場合は制御則を変更する必要はない。【００４９】
一方、半導体デバイスでの処理の特性や各ＩＰコア２０、２１の動作特性が時間共に変化してしまう場合は、実運用においてもｓｔｅｐ１〜ｓｔｅｐ４のループ（ｌｏｏｐ１）を繰り返すことにより、運用時においても制御則も適応することが可能で、経年変化等にも対応することができる。
［第２の実施の形態］【００５０】
次に、本発明の第２の実施の形態を図５に示す。基本的な構成は、第１の実施の形態と同一である。第１の実施の形態では、デバイス状態計測部７０、処理性能計測部７１、電力性能評価部８０をデバイス内の構成要素として含んでいたが、これらをデバイス外に置く。半導体デバイスでの処理の特性や、各ＩＰコアの動作特性が固定的な場合は適応部１１０の制御則を変更する必要はない。このため、適応時にのみ必要となる、デバイス状態計測部７０、処理性能計測部７１、電力性能評価部８０をデバイス外部に置くことにより、デバイスの省面積化が可能となる。【００５１】
本願は、日本の特願２００８−０５３３４５（２００８年３月４日に出願）に基づいたものであり、又、特願２００８−０５３３４５に基づくパリ条約の優先権を主張するものである。特願２００８−０５３３４５の開示内容は、特願２００８−０５３３４５を参照することにより本明細書に援用される。【００５２】
本発明の代表的な実施形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
【産業上の利用可能性】
【００５３】
本発明の活用例としては、電力性能の要求が厳しい組込み装置へ搭載される半導体デバイスが挙げられる。
【図１】
2009110290.tif 000003
【図２Ａ】
2009110290.tif 000004
【図２Ｂ】
2009110290.tif 000005
【図３】
2009110290.tif 000006
【図４】
2009110290.tif 000007
【図５】
2009110290.tif 000008
【国際調査報告】
2009110290.tif 000009
2009110290.tif 000010