(57)【要約】【課題】実際の使用条件も勘案して、動作周波数と消費電力の両方の要求仕様を満足させる。【解決手段】予め半導体装置の製造試験時の消費電力に関わる半導体特性情報を不揮発性の記憶部に格納しておく。複数の特性の異なる半導体装置について、動作雰囲気温度、動作周波数、アプリケーションごとに、消費電力を計測することにより周波数消費電力プロファイルテーブルを作成し、不揮発性の記憶部に格納しておく。半導体装置の動作温度を監視し（Ｓ１１０）、温度情報と現状に対応する周波数消費電力プロファイルテーブルを読み込み（Ｓ１２０−Ｓ１３０）、現状の消費電力を特定する（Ｓ１４０）。温度情報と周波数消費電力プロファイルテーブルに基づいて、定格電力範囲内で効果的な動作周波数となるように、半導体装置の動作周波数を制御する（Ｓ１５０）。【選択図】図４
2010206052.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置の電力消費に関する情報を記憶する第１の記憶部と、
複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部と、
前記半導体装置の動作状態の温度を検知する温度検知部と、
前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御部と、
を備えた電子機器。
【請求項２】
前記第２の記憶部は、前記半導体装置が処理している動作内容ごとに、前記周波数消費電力対応情報を記憶し、
前記動作周波数制御部は、前記半導体装置が現在処理している動作内容にも基づいて前記第２の記憶部に記憶されている周波数消費電力対応情報を参照し、前記半導体装置の動作周波数を制御する
請求項１に記載の電子機器。
【請求項３】
前記動作周波数制御部は、前記予め定められている規定電力値の範囲内に収まるように前記動作周波数を制御する
請求項１または２に記載の電子機器。
【請求項４】
前記動作周波数制御部は、
前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して現在の動作状態に対応する消費電力を特定し、
前記現在の動作状態に対応する消費電力が前記規定電力値を超えるときは、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、動作周波数を現在よりも低い値に設定する
請求項３に記載の電子機器。
【請求項５】
前記動作周波数制御部は、
前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して現在の動作状態に対応する消費電力を特定し、
前記現在の動作状態に対応する消費電力が前記規定電力値を下回るときは、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して前記規定電力値の範囲内で動作周波数を高くできるか否かを判定し、
動作周波数を高くできると判定したときには、動作周波数を現在よりも高い値に設定する
請求項３に記載の電子機器。
【請求項６】
前記第１の記憶部および前記第２の記憶部の少なくとも一方は、電源供給が停止された場合でも記憶内容を保持し続ける形態のものである
請求項１〜５の内の何れか一項に記載の電子機器。
【請求項７】
前記第１の記憶部は、前記半導体装置に備えられている
請求項１〜６の内の何れか一項に記載の電子機器。
【請求項８】
前記第１の記憶部は、前記半導体装置の外部に備えられている
請求項１〜６の内の何れか一項に記載の電子機器。
【請求項９】
前記動作周波数制御部は、前記半導体装置に備えられている
請求項１〜８の内の何れか一項に記載の電子機器。
【請求項１０】
前記動作周波数制御部は、前記半導体装置の外部に備えられている
請求項１〜８の内の何れか一項に記載の電子機器。
【請求項１１】
半導体装置の電力消費に関する情報を記憶する第１の記憶部から前記電力消費に関する情報を取得する電力消費情報取得部と、
複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部から前記周波数消費電力対応情報を取得する対応情報取得部と、
前記半導体装置の動作状態の温度を検知する温度検知部から、前記半導体装置の動作状態の温度の情報を取得する温度情報取得部と、
前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御部と、
を備えた半導体装置。
【請求項１２】
前記第１の記憶部をさらに備えた
請求項１１に記載の半導体装置。
【請求項１３】
前記第１の記憶部は、電源供給が停止された場合でも記憶内容を保持し続ける形態のものである
請求項１１または１２に記載の半導体装置。
【請求項１４】
半導体装置の電力消費に関する情報を記憶する第１の記憶部から前記電力消費に関する情報を取得する電力消費情報取得ステップと、
複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部から前記周波数消費電力対応情報を取得する対応情報取得ステップと、
前記半導体装置の動作状態の温度を検知する温度検知部から、前記半導体装置の動作状態の温度の情報を取得する温度情報取得ステップと、
前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置と、半導体装置を搭載した電子機器と、プログラムに関する。
【背景技術】
【０００２】
半導体装置においては、製造時の製造条件の変動に起因して、動作速度や消費電力などの特性ばらつきが発生し、仕様に満たない製品（仕様未達品と称する）が発生することが避けられない。これに対して、仕様未達品を不良品として破棄するのではなく、良品として救済する仕組みが特許文献１に提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２０６８６号公報
【０００４】
特許文献１では、半導体装置内にそのばらつきによる性能変動量を検出する回路を設け、その出力値を用いて、半導体装置に印加する電源電圧を制御するようにしている。たとえば、動作周波数に余裕があるにも関わらず消費電力が大きいために不良品とされるものについては、印加電圧を標準値よりも低くすることで、動作周波数と消費電力の両方の要求仕様を満足させて救済を図る。また、消費電力に余裕があるにも関わらず動作周波数が低いために不良品とされるものについては、印加電圧を標準値よりも高くすることで、動作周波数と消費電力の両方の要求仕様を満足させて救済を図る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、半導体装置の使用条件を反映させて、動作周波数と消費電力の両方の要求仕様を満足させることのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、半導体装置の電力消費に関する情報を記憶する第１の記憶部と、複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部と、前記半導体装置の動作状態の温度を検知する温度検知部と、前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御部と、を備えた電子機器である。
【０００７】
請求項２に記載の発明は、請求項１に記載の発明において、前記第２の記憶部は、前記半導体装置が処理している動作内容ごとに、前記周波数消費電力対応情報を記憶し、前記動作周波数制御部は、前記半導体装置が現在処理している動作内容にも基づいて前記第２の記憶部に記憶されている周波数消費電力対応情報を参照し、前記半導体装置の動作周波数を制御する。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の発明において、前記動作周波数制御部は、前記予め定められている規定電力値の範囲内に収まるように前記動作周波数を制御する。
【０００９】
請求項４に記載の発明は、請求項３に記載の発明において、前記動作周波数制御部は、  前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して現在の動作状態に対応する消費電力を特定し、前記現在の動作状態に対応する消費電力が前記規定電力値を超えるときは、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、動作周波数を現在よりも低い値に設定する。
【００１０】
請求項５に記載の発明は、請求項３に記載の発明において、前記動作周波数制御部は、  前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して現在の動作状態に対応する消費電力を特定し、  前記現在の動作状態に対応する消費電力が前記規定電力値を下回るときは、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して前記規定電力値の範囲内で動作周波数を高くできるか否かを判定し、動作周波数を高くできると判定したときには、動作周波数を現在よりも高い値に設定する。
【００１１】
請求項６に記載の発明は、請求項１〜５の内の何れか一項に記載の発明において、前記第１の記憶部および前記第２の記憶部の少なくとも一方は、電源供給が停止された場合でも記憶内容を保持し続ける形態のものである。
【００１２】
請求項７に記載の発明は、請求項１〜６の内の何れか一項に記載の発明において、前記第１の記憶部は、前記半導体装置に備えられている。
【００１３】
請求項８に記載の発明は、請求項１〜６の内の何れか一項に記載の発明において、前記第１の記憶部は、前記半導体装置の外部に備えられている。
【００１４】
請求項９に記載の発明は、請求項１〜８の内の何れか一項に記載の発明において、前記動作周波数制御部は、前記半導体装置に備えられている。
【００１５】
請求項１０に記載の発明は、請求項１〜８の内の何れか一項に記載の発明において、前記動作周波数制御部は、前記半導体装置の外部に備えられている。
【００１６】
請求項１１に記載の発明は、半導体装置の電力消費に関する情報を記憶する第１の記憶部から前記電力消費に関する情報を取得する電力消費情報取得部と、複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部から前記周波数消費電力対応情報を取得する対応情報取得部と、前記半導体装置の動作状態の温度を検知する温度検知部から、前記半導体装置の動作状態の温度の情報を取得する温度情報取得部と、前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御部と、を備えた半導体装置である。
【００１７】
請求項１２に記載の発明は、請求項１１に記載の発明において、前記第１の記憶部をさらに備えている。
【００１８】
請求項１３に記載の発明は、請求項１１または１２に記載の発明において、前記第１の記憶部は、電源供給が停止された場合でも記憶内容を保持し続ける形態のものである。
【００１９】
請求項１４に記載の発明は、半導体装置の電力消費に関する情報を記憶する第１の記憶部から前記電力消費に関する情報を取得する電力消費情報取得ステップと、複数の特性の異なる半導体装置について、動作温度および前記半導体装置の動作周波数ごとの前記半導体装置の消費電力の情報を纏めた周波数消費電力対応情報を記憶する第２の記憶部から前記周波数消費電力対応情報を取得する対応情報取得ステップと、前記半導体装置の動作状態の温度を検知する温度検知部から、前記半導体装置の動作状態の温度の情報を取得する温度情報取得ステップと、前記第１の記憶部に記憶されている電力消費に関する情報と前記温度検知部で検知された温度に基づき、前記第２の記憶部に記憶されている周波数消費電力対応情報を参照して、前記半導体装置の動作周波数を制御する動作周波数制御ステップと、をコンピュータに実行させるプログラムである。
【発明の効果】
【００２０】
請求項１，１１，１４に記載の発明によれば、半導体装置の使用条件を反映させて、動作周波数と消費電力の両方の要求仕様を満足させることができる。
【００２１】
請求項２に記載の発明によれば、半導体装置が処理している動作内容を反映させて、動作周波数と消費電力の両方の要求仕様を満足させることができる。
【００２２】
請求項３に記載の発明によれば、規定電力値の範囲内で効果的な動作周波数に設定することができる。
【００２３】
請求項４に記載の発明によれば、動作状態の消費電力が規定電力値を超えるケースでは、動作周波数を下げることで、動作周波数と消費電力の両方の要求仕様を満足させることができる。
【００２４】
請求項５に記載の発明によれば、動作状態の消費電力が規定電力値を下回るケースでは、規定電力値の範囲内に収まるように動作周波数を上げることで、動作周波数と消費電力の両方の要求仕様を満足させることができる。
【００２５】
請求項６，１３に記載の発明によれば、情報の再書込みの手間を省くことができる。
【００２６】
請求項７，１２に記載の発明によれば、電子機器の製造者や使用者側では、半導体装置の電力消費に関する情報を書き込む手間や半導体装置とその情報の対応関係を管理する手間を省くことができる。
【００２７】
請求項８に記載の発明によれば、第１の記憶部が半導体装置に備えられていない場合でも、半導体装置の使用条件を反映させて、動作周波数と消費電力の両方の要求仕様を満足させる仕組みを実現できる。
【００２８】
請求項９に記載の発明によれば、半導体装置自身で、その使用条件を反映させて、動作周波数と消費電力の両方の要求仕様を満足させることができる。
【００２９】
請求項１０に記載の発明によれば、既存の半導体装置についても、半導体装置の使用条件を反映させて、動作周波数と消費電力の両方の要求仕様を満足させる仕組みを実現できる。
【図面の簡単な説明】
【００３０】
【図１】半導体装置が搭載された電子機器の一例である画像形成装置の第１実施形態を説明する図である。
【図２】半導体特性情報を説明する図である。
【図３】周波数消費電力プロファイルテーブルを説明する図である。
【図４】本実施形態の動作周波数設定処理の手順を説明するフローチャートである。
【図５】クロックダウン制御やクロックアップ制御の具体的な事例を説明する図である。
【図６】半導体装置が搭載された電子機器の一例である画像形成装置の第２実施形態を説明する図である。
【図７】半導体装置が搭載された電子機器の一例である画像形成装置の第３実施形態を説明する図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下においては、半導体装置を備える電子機器として、画像読取り機能や画像出力機能（印刷機能）を備える画像形成装置を例に説明する。ただしこれは一例であって、対象となる電子機器は画像形成装置に限らない。半導体装置を備える全ての電子機器に、後述する全ての実施形態が同様に適用され得る。
【００３２】
＜装置構成：第１実施形態＞
図１は、半導体装置が搭載された電子機器の一例である画像形成装置の第１実施形態を説明する図である。
【００３３】
第１実施形態の画像形成装置１Ａは、システムオンチップ１００（System On Chip）、外部書込装置１５０、上位装置１５２、温度検知部１５４、タイマークロック生成部１５６、ＤＲＡＭ１６０（Dynamic Random Access Memory）、ＲＯＭ１６２（Read Only Memory）、画像読取部１７０、画像出力部１７２を備える。
【００３４】
システムオンチップ１００は、コンピュータの主要機能を１つのチップに詰め込んだＬＳＩ（Large Scale Integrated Circuit：大規模集積回路）であり、多くの機能部が１チップに積載されている。たとえば、システムオンチップ１００は、中央制御部１０２、タイマー部１０４、不揮発性メモリ１０６、データ書込部１０８、ＤＲＡＭ制御部１１０、ＲＯＭ制御部１１２、動作周波数制御部１２０、動作クロック生成部１２２、通信インタフェース部１３０、温度情報取得インタフェース部１３２、入力画像処理部１４０、出力画像処理部１４２を有し、タイマー部１０４およびデータ書込部１０８を除く多くの機能部がバス１９０によって相互に接続されている。
【００３５】
外部書込装置１５０は、半導体出荷試験時にテスタで取得した半導体特性情報DJをデータ書込部１０８に通知して、その半導体特性情報DJを不揮発性メモリ１０６に書き込む。
【００３６】
上位装置１５２は、たとえば、ＵＳＢ（Universal Serial Bus）で接続される機器や、ネットワークで接続されたパーソナルコンピュータなどが該当する。
【００３７】
温度検知部１５４は、図示しない温度センサを具備し、システムオンチップ１００の動作雰囲気温度を計測する。
【００３８】
タイマークロック生成部１５６は、タイマー監視用のタイマークロックを生成してタイマー部１０４に供給する。
【００３９】
ＤＲＡＭ１６０は、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例である。たとえば、ＤＲＡＭ１６０は、中央制御部１０２による処理に必要なワークメモリとして使用される。なお、ＤＲＡＭ１６０に代えてＳＲＡＭ （Static RAM ）や擬似ＳＲＡＭなどを使用してもよい。
【００４０】
ＲＯＭ１６２は読出専用の記憶部の一例であり不揮発性メモリにも該当する。たとえば、ＲＯＭ１６２には、中央制御部１０２が行なう演算処理や制御処理などのプログラムや、中央制御部１０２や動作周波数制御部１２０による処理に必要な基礎情報（詳細は後述する）を格納しておく。
【００４１】
ＲＯＭ１６２としては、たとえば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable Programmable ROM）、ＵＶ−ＥＰＲＯＭ（Ultra-Violet Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、フラッシュメモリ（フラッシュＥＥＰＲＯＭ）などを使用してよい。なお、ＲＯＭ１６２に代えて、強誘電体メモリ（Ferroelectric RAM）、ＭＲＡＭ（Magneto resistive RAM）、ＰＲＡＭ（Phase change RAM）、ＲｅＲＡＭ（Resistive RAM ）などの不揮発性のＲＡＭ（ＮＶＲＡＭ：Non Volatile RAM）を使用してもよい。
【００４２】
画像読取部１７０は原稿の画像を読み取る。画像出力部１７２は印刷処理を行なう。
【００４３】
中央制御部１０２は、コンピュータが行なう演算と制御の機能を超小型の集積回路に集約させたＣＰＵ（Central Processing Unit ）やマイクロプロセッサ（ＭＰＵ／Micro Processor ）で構成され、電子計算機の中枢をなすものと同様である。中央制御部１０２は、システムオンチップ１００の他の機能部や画像形成装置１Ａの全体動作を制御する。
【００４４】
タイマー部１０４は、タイマークロック生成部１５６から供給されるタイマークロックに基づき計時処理を行ない、本実施形態において、動作周波数設定処理を開始する際には、予め決められたサイクルごとに中央制御部１０２に割込みをかける。
【００４５】
不揮発性メモリ１０６は、不揮発性の記憶部の一例である。データ書込部１０８は、データを不揮発性メモリ１０６に書き込む制御を行なう。
【００４６】
“揮発性の記憶部”とは、電源供給が停止された場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、電源供給が停止された場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。ここでは、たとえば１回のみのデータ書込みが可能ないわゆるワンタイムＲＯＭを不揮発性メモリ１０６として使用する。
【００４７】
ＤＲＡＭ制御部１１０はＤＲＡＭ１６０に対してのデータの書込みと読出しを制御する。ＲＯＭ制御部１１２は、不揮発性メモリ１０６やＲＯＭ１６２に対してのデータの読出しを制御するもので、システムオンチップ１００の電力消費に関する半導体特性情報を記憶する不揮発性メモリ１０６から半導体特性情報を取得する電力消費情報取得部として機能するとともに、後述する周波数消費電力プロファイルテーブルを記憶したＲＯＭ１６２から周波数消費電力プロファイルテーブルの情報を取得する対応情報取得部として機能する。
【００４８】
動作周波数制御部１２０は、中央制御部１０２などに供給される動作クロック信号の周波数を制御する。
【００４９】
動作クロック生成部１２２は、中央制御部１０２の動作クロック信号を生成する。動作クロック生成部１２２によって生成された動作クロック信号は、中央制御部１０２に直接に供給される他、バス１９０を介してシステムオンチップ１００内の各機能部へも供給される。
【００５０】
動作クロック生成部１２２としては、複数の周波数の動作クロック信号を生成可能な構成であればよく、ＰＬＬ構成や分周回路の組合せなど、任意の回路構成を採り得る。そして、動作クロック生成部１２２は、動作周波数制御部１２０からの指示に基づく周波数の動作クロック信号を出力する。
【００５１】
通信インタフェース部１３０は、上位装置１５２との間の通信処理を介在する。温度情報取得インタフェース部１３２は、システムオンチップ１００の動作状態の温度を検知する温度検知部１５４ら動作雰囲気温度情報TJを取得する温度情報取得部として機能し、温度検知部１５４からの動作雰囲気温度情報TJを受け付ける。
【００５２】
入力画像処理部１４０は、画像読取部１７０で読み取られた原稿の画像（入力画像）に対して画像処理を施す。出力画像処理部１４２は、入力画像処理部１４０で処理された画像を出力用のデータに変換する画像処理を行なし、処理結果を画像出力部１７２に渡す。
【００５３】
このような構成において、画像形成装置１Ａは、動作クロック信号の周波数を設定する処理（動作周波数設定処理）を次のように行なう。図示したように、大規模集積ＩＣの一例であるシステムオンチップ１００は、その外部から情報を書込み可能な不揮発性メモリ１０６を有しており、システムオンチップ１００の製造出荷時に、当該システムオンチップ１００に固有の情報を格納しておく。
【００５４】
ここで、本実施形態における「固有の情報」とは、当該システムオンチップ１００の出荷試験の情報であり、特に、詳細は後述するが、動作温度ごとの消費電力に関係する出荷試験の情報である。
【００５５】
動作周波数制御部１２０は、不揮発性メモリ１０６に記憶された動作温度ごとの消費電力に関係する固有の情報と、システムオンチップ１００が処理している動作内容（現在の装置の動作状況：たとえばアプリケーションの状態）および動作雰囲気温度情報TJで示される動作温度に基づいて、システムオンチップ１００の消費電力が定格電力内に収まるように動作クロック信号の周波数を決定する。
【００５６】
なお、動作周波数制御部１２０の機能を中央制御部１０２に組み込んで、プログラム処理により動作周波数設定処理の各手順を実行する構成にしてもよい。
【００５７】
すなわち、本実施形態において、動作周波数設定処理に関わる制御機構の仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機（コンピュータ）を用いてソフトウェア的に実現され得る。よって、本実施形態に係る仕組みを、電子計算機を用いてソフトウェアで実現するために好適なプログラムやこのプログラムを格納したコンピュータ読取可能な記憶媒体が発明として抽出される。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などが容易に変更されることとなる。
【００５８】
たとえば、動作周波数設定処理に関わる制御機構を構築するコンピュータシステムは、ＣＰＵやＭＰＵで構成された中央制御部１０２、随時読出し・書込みが可能なメモリであるＤＲＡＭ１６０や読出専用の記憶部であるＲＯＭ１６２などを具備する記憶部と、図示を割愛した操作部やその他の周辺部材を有して構成される。ＲＯＭ１６２には、動作周波数設定処理用の制御プログラムが格納される。
【００５９】
コンピュータシステムの制御系としては、メモリカードなどの図示を割愛した外部記録媒体を挿脱可能に構成し、またインターネットなどの通信網との接続が可能に構成するとよい。このためには、制御系は、中央制御部１０２や記憶部（ＤＲＡＭ１６０、ＲＯＭ１６２）の他に、可搬型の記録媒体の情報を読み込むメモリ読出部を備えるようにするとよい。メモリ読出部を備えることで外部記録媒体からプログラムのインストールや更新ができる。通信インタフェース部１３０を備えることで、通信網を介しプログラムのインストールや更新ができる。基本的な動作周波数設定処理の仕組みは動作周波数制御部１２０による場合と同様である。
【００６０】
なお、本実施形態の動作周波数設定処理を実現するための制御機構の各部（機能ブロックを含む）の具体的手段は、ハードウェア、ソフトウェア、通信手段、これらの組み合わせ、その他の手段を用いてよく、このこと自体は当業者において自明である。また、機能ブロック同士が複合して１つの機能ブロックに集約されてもよい。また、コンピュータにプログラム処理を実行させるソフトウェアは、組合せの態様に応じて分散してインストールされ得る。
【００６１】
［半導体特性情報］
図２は、不揮発性メモリ１０６に記憶される半導体装置（システムオンチップ１００）の特性情報（半導体特性情報DJ）を説明する図である。
【００６２】
半導体装置は、製造ばらつきなどを要因として、最大動作周波数や消費電力などの特性にばらつきが発生する。そこで、半導体製造時には、製品出荷前に、要求仕様を満たしているか否かを判定するために製品検査が行なわれる。そのときの検査項目として、たとえば、最高動作周波数や消費電力やリーク電流など、電力消費に関わるものがある。本実施形態では、その電力消費に関わる項目の情報を半導体特性情報DJとして、システムオンチップ１００に内蔵の不揮発性メモリ１０６に格納する。
【００６３】
不揮発性メモリ１０６をシステムオンチップ１００に内蔵しておくことで、画像形成装置１を製造・使用するユーザ側では、半導体特性情報DJを書き込む負荷が不要であるし、各システムオンチップ１００と動作雰囲気温度情報TJの対応を管理する負荷も省ける。
【００６４】
たとえば、システムオンチップ１００を構成するトランジスタを流れる電流が大きくなると、動作時の電流が増加するだけでなく、トランジスタがオフ状態にあるときに流れる電流（リーク電流）が増大し、半導体装置の消費電力が増大する。つまり、リーク電流と消費電力はある程度の相関性がある。また、リーク電流は動作温度にも依存するし、製品によってもばらつく。
【００６５】
たとえば、図２（１）に示す半導体特性情報DJの第１例では、リーク電流IDDQが、標準温度（２５℃）では２００ｍＡであり比較的少ないが、５０℃では３００ｍＡで、７０℃では４００ｍＡであり、温度依存性が比較的大きい。
【００６６】
図２（２）に示す半導体特性情報DJの第２例では、リーク電流IDDQが、標準温度（２５℃）では２００ｍＡで比較的少なく、また、５０℃では２２０ｍＡで、７０℃では２３０ｍＡであり、温度依存性も比較的少ない。
【００６７】
図２（３）に示す半導体特性情報DJの第３例では、リーク電流IDDQが、標準温度（２５℃）では３００ｍＡで比較的多く、また、５０℃では４００ｍＡで、７０℃では６００ｍＡであり、温度依存性も比較的大きい。
【００６８】
本実施形態では、消費電力そのものの情報を半導体特性情報DJとして不揮発性メモリ１０６に格納しない場合、リーク電流を代用値として使用し、温度ごとのリーク電流IDDQの情報を半導体特性情報DJとして不揮発性メモリ１０６に格納する。
【００６９】
［動作周波数消費電力対応表］
図３は、ＲＯＭ１６２に記憶される動作周波数対消費電力の対応表（周波数消費電力対応情報：以下周波数消費電力プロファイルテーブルFPと称する）を説明する図である。
【００７０】
周波数消費電力プロファイルテーブルFPは、動作周波数ごとに、各動作雰囲気温度における消費電力を測定し、その測定結果の消費電力を対応付けたテーブルである。
【００７１】
なお、周波数消費電力プロファイルテーブルFPは、図２に示したような電力消費に関する半導体特性情報DJのばらつきを勘案して、ばらつきの最小値から最大値までの範囲を複数に分割し、各分割範囲（特性カテゴリーと称する）に対応するように、特性カテゴリー別に周波数消費電力プロファイルテーブルFPを用意する。
【００７２】
また、システムオンチップ１００が実行している動作状況（アプリケーションモード）によっても消費電力は異なるので、各アプリケーションモードに対応するように、アプリケーション別に周波数消費電力プロファイルテーブルFPを用意するのがよい。
【００７３】
＜動作周波数設定処理＞
図４は、本実施形態の動作周波数設定処理の手順を説明するフローチャートである。ここでは、中央制御部１０２が動作周波数制御部１２０の機能をプログラム処理により実行する例で説明する。
【００７４】
半導体装置の最大消費電力は、半導体装置の最大動作条件下におけるものであり、ユーザの使用条件からかけ離れたものとなっており、ユーザの使用条件を反映されない印加電圧制御による半導体装置の救済は不十分である。
【００７５】
本実施形態では、ユーザの使用条件を反映した半導体装置の救済方法にする。そのため、予め半導体装置の製造試験時の消費電力に関わる半導体特性情報DJ（温度ごとのリーク電流やスピード特性）を記憶部（好ましくは不揮発性のもの）に格納しておく。
【００７６】
また、複数の特性の異なる半導体装置について、温度（動作雰囲気温度）および動作周波数ごとに、さらに好ましくはアプリケーションごとに、消費電力を計測することにより周波数消費電力プロファイルテーブルFPを作成し、その周波数消費電力プロファイルテーブルFPを記憶部（好ましくは不揮発性のもの）に格納しておく。
【００７７】
半導体装置を搭載した電子機器内に、半導体装置の周辺の温度を計測する機能部（温度検知部１５４）を設け、（好ましくは定期的に）動作温度を監視する。そして、温度情報と周波数消費電力プロファイルテーブルFPに基づいて、定格電力範囲内で効果的な動作周波数となるように、半導体装置の動作周波数（動作クロック信号の周波数）を制御する。これによって、ユーザの使用条件を反映しつつ、動作周波数と消費電力の両方の要求仕様を満足させる。以下、具体的に、その手順を説明する。
【００７８】
システムオンチップ１００内の不揮発性メモリ１０６には、半導体出荷試験時の半導体特性情報DJが格納されている。
【００７９】
中央制御部１０２は、タイマー部１０４の割込みをトリガーにして動作周波数設定処理を開始し（Ｓ１００−ＹＥＳ）、温度検知部１５４で検知されたシステムオンチップ１００の動作雰囲気温度情報TJを温度情報取得インタフェース部１３２を介して読み込む（Ｓ１１０：温度情報取得ステップ）。
【００８０】
次に、中央制御部１０２は、不揮発性メモリ１０６に格納されている半導体特性情報DJを読み込む（Ｓ１２０：電力消費情報取得ステップ）。そして、中央制御部１０２は、不揮発性メモリ１０６から読み込んだ半導体特性情報DJと現時点のアプリケーションの状態に基づいて、周波数消費電力プロファイルテーブルFPの複数の消費電力カテゴリの中から、当該中央制御部１０２が搭載されているシステムオンチップ１００に適用すべき消費電力カテゴリーを特定する（Ｓ１２２）。
【００８１】
次に、中央制御部１０２は、ＲＯＭ１６２に格納されている周波数消費電力プロファイルテーブルFPの中から、システムオンチップ１００に適用すべき消費電力カテゴリであって、現時点のアプリケーション（プリンタ、コピー、スキャンの何れの動作モードか）に該当する情報を読み込む（Ｓ１３０：対応情報取得ステップ）。
【００８２】
次に、中央制御部１０２は、温度検知部１５４で検知された現在の動作雰囲気温度情報TJとと現在の動作クロック信号の周波数を、現在のシステムオンチップ１００の動作アプリケーションおよびシステムオンチップ１００の半導体特性情報DJに該当するカテゴリーの周波数消費電力プロファイルテーブルFPの情報に突き当てて、対応する消費電力PW_1を特定する（Ｓ１４０）。
【００８３】
そして、中央制御部１０２は、半導体特性情報DJと動作雰囲気温度情報TJに基づき周波数消費電力プロファイルテーブルFPの情報を参照して、システムオンチップ１００の動作周波数を制御する（Ｓ１５０：動作周波数制御ステップ）。この動作周波数制御ステップでは、具体的には、次のような手順で、周波数を低くするか高くするかを制御する。
【００８４】
中央制御部１０２は先ず、消費電力PW_1（つまりテーブルから規定される現時点の消費電力）が規定電力PW_0（たとえば外部消費電力の定格）より低いか否かを判定する（Ｓ１５２）。消費電力PW_1が規定電力PW_0より低くない場合（上回る場合）は、中央制御部１０２は、読み出した（現時点に適合する）周波数消費電力プロファイルテーブルFPの情報に基づき、動作クロック信号の周波数を現在よりも低い値に設定し、その情報を動作周波数制御部１２０に通知して、動作クロック信号の周波数をダウンさせる（Ｓ１５２−ＮＯ，Ｓ１５４）。
【００８５】
また、消費電力PW_1が規定電力PW_0を下回る場合は、中央制御部１０２は、読み出した（現時点に適合する）周波数消費電力プロファイルテーブルFPの情報に基づき、電源容量の許容内で動作クロック信号の周波数を高くできるか否かを判定する（Ｓ１５２−ＹＥＳ，Ｓ１５６）。高くできる場合には、中央制御部１０２は、動作クロック信号の周波数を現在よりも高い値に設定し、その情報を動作周波数制御部１２０に通知して、動作クロック信号の周波数をアップさせる（Ｓ１５６−ＹＥＳ，Ｓ１５８）。
【００８６】
＜動作周波数の制御方法＞
図５は、クロックダウン制御やクロックアップ制御の具体的な事例を説明する図である。図５では、図３に示した周波数消費電力プロファイルテーブルFP中に、クロックダウンやクロックアップの制御方向の矢指を追記して示している。
【００８７】
［クロックダウン制御］
先ず、図５（１）を参照して、動作クロック信号の周波数をダウンさせるクロックダウン制御について説明する。ここでは、規定電力PW_0（定格の消費電力）は最大３．０Ｗ、現在の周波数は４００ＭＨｚ、現在の動作雰囲気温度が５０℃で、システムオンチップ１００の半導体特性情報DJはＲＯＭ１６２に記憶されている周波数消費電力プロファイルテーブルFPのカテゴリー１に該当していたとする。この場合、中央制御部１０２は、ステップＳ１３０にて、現時点のアプリケーションに該当するカテゴリー１の情報のみを読み込んでおけばよい。
【００８８】
図５（１）から分かるように、周波数が４００ＭＨｚで動作雰囲気温度が５０℃のときは、消費電力PW_1が規定電力PW_0と同じであり、これ以上温度上昇すると定格電力を越えるので、中央制御部１０２は、周波数を低下させることを考える。たとえば、１クラス下の周波数３５０ＭＨｚで、１クラス上の温度で、周波数消費電力プロファイルテーブルFPを参照すると、定格電力内（消費電力PW_1が規定電力PW_0と同じ）である。また、２クラス下の周波数３００ＭＨｚで、２クラス上の温度で、周波数消費電力プロファイルテーブルFPを参照すると、定格電力内（消費電力PW_1が規定電力PW_0と同じ）である。
【００８９】
よって、この場合、５０℃において余裕のある３５０ＭＨｚか３００ＭＨｚに動作クロック信号の周波数を設定することが考えられる。ただし、３００ＭＨｚの場合、動作クロック信号の周波数低下が過剰になりアプリケーションの処理効率が低下する。消費電力に余裕があるにも関わらず動作周波数を低く設定することになる。よって、ここでは、動作周波数と消費電力の両方を満足させるべく、３５０ＭＨｚに動作クロック信号の周波数を設定するようにする。
【００９０】
［クロックアップ制御］
次に、図５（２）を参照して、動作クロック信号の周波数をアップさせるクロックアップ制御について説明する。ここでは、規定電力PW_0（定格の消費電力）は最大３．０Ｗ、現在の周波数は３００ＭＨｚ、現在の動作雰囲気温度が７０℃で、システムオンチップ１００の半導体特性情報DJはＲＯＭ１６２に記憶されている周波数消費電力プロファイルテーブルFPのカテゴリー２に該当していたとする。この場合、中央制御部１０２は、ステップＳ１３０にて、現時点のアプリケーションに該当するカテゴリー２の情報のみを読み込んでおけばよい。
【００９１】
中央制御部１０２は、前の周波数数３５０ＭＨｚから現在の３００ＭＨｚに変更した後の動作過程における動作雰囲気温度の変化情報をＲＯＭ１６２に保持しておく。ここでは、変更直後よりも現時点の方が温度が低下しているものとする。
【００９２】
３．０Ｗは規定電力内であるが、最大定格値であるのでマージンのある２．９Ｗまで周波数を下げた。そうしたことろ、温度も下がってきたので、再度、動作クロックを３５０ＭＨｚ、４００ＭＨｚまで上げることを考えるのが、ここでのクロックアップ制御の基本的な考え方である。
【００９３】
図５（２）から分かるように、周波数が４００ＭＨｚで動作雰囲気温度が７０℃のときは、消費電力PW_1が２．９Ｗで定格電力内であり、１つ上の周波数の３５０ＭＨｚでの７０℃の消費電力が３．０Ｗで定格内である。したがって、動作クロック信号の周波数を３５０ＭＨｚに変更することが考えられる。ただし、一般的に、動作周波数をアップすると動作雰囲気温度が上昇するので、中央制御部１０２は、その温度上昇効果を見越して、クロックアップに耐えられるか否かを判定する。
【００９４】
このケースでは、前の周波数数３５０ＭＨｚから現在の３００ＭＨｚに変化している変化情報もＲＯＭ１６２に保持しており、その情報から、現在は温度が低下するような方向で動作しており３５０ＭＨｚに周波数アップしても定格電力内に収まることが想定できる。したがって、中央制御部１０２は、周波数を３５０ＭＨｚに切り替える。
【００９５】
＜装置構成：第２実施形態＞
図６は、半導体装置が搭載された電子機器の一例である画像形成装置の第２実施形態を説明する図である。
【００９６】
第１実施形態の画像形成装置１Ａでは、システムオンチップ１００内に不揮発性メモリ１０６を設け、半導体特性情報DJを記憶する記憶部として利用していた。これに対して、第２実施形態の画像形成装置１Ｂでは、不揮発性メモリの一例であるＮＶＲＡＭ１６４をシステムオンチップ１００の外部に設け、半導体特性情報DJをＮＶＲＡＭ１６４に格納する。これに対応して、データ書込部１０８も取り外し、ＤＲＡＭ制御部１１０をＲＡＭ制御部１１１に置き換えている。システムオンチップ１００内に不揮発性メモリ１０６を備えていない場合や、システムオンチップ１００内に記憶部を有していても、それには半導体特性情報DJを記憶していない場合の対処の事例である。
【００９７】
外部書込装置１５０は、半導体出荷試験時にテスタで取得した半導体特性情報DJをＮＶＲＡＭ１６４に書き込む。ＲＡＭ制御部１１１は、ＤＲＡＭ１６０に対してのデータの書込みと読出しを制御する他に、ＮＶＲＡＭ１６４に対してのデータの読出しを制御するもので、システムオンチップ１００の電力消費に関する半導体特性情報DJを記憶するＮＶＲＡＭ１６４から半導体特性情報DJを取得する電力消費情報取得部として機能する。
【００９８】
なお、第２実施形態で“不揮発性の記憶部”として使用するＮＶＲＡＭ１６４は、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。また、たとえば、ハードディスク装置も不揮発性の記憶部として利用され得る。また、ＣＤ−ＲＯＭなどの記録媒体から情報を読み出す構成を採ることでも不揮発性の記憶部として利用され得る。
【００９９】
また、半導体特性情報DJを記憶する記憶部が不揮発性であることは必須ではない。不揮発性でないと、装置の電源がオフされたときには半導体特性情報DJも消去されてしまうので、半導体特性情報DJの再書込みの処理が必要なる。この観点では、半導体特性情報DJを記憶する記憶部としては不揮発性であるのがよい。
【０１００】
画像形成装置１を製造・使用する側は、システムオンチップ１００を供給（製造）する供給側から、紙媒体やフレキシブルディスクや半導体メモリなどの記憶媒体により、半導体特性情報DJを取得する。そして、半導体特性情報DJをＮＶＲＡＭ１６４に書き込む。
【０１０１】
その他の構成は第１実施形態の画像形成装置１Ａと同様であり、動作周波数設定処理の手順も図４に示したものと同様であるので、第２実施形態の画像形成装置１Ｂにおけるそれらの説明は割愛する。
【０１０２】
＜装置構成：第３実施形態＞
図７は、半導体装置が搭載された電子機器の一例である画像形成装置の第３実施形態を説明する図である。図７は、第１実施形態に対する変形例で示しているが、第２実施形態に対しても、第３実施形態の仕組みを適用してよい。
【０１０３】
第１実施形態の画像形成装置１Ａや第２実施形態の画像形成装置１Ｂでは、動作周波数設定処理を行なう機能部として、システムオンチップ１００内に動作周波数制御部１２０や動作クロック生成部１２２を設けたり中央制御部１０２が動作周波数制御部１２０の機能を実行するものとしていた。これに対して、第３実施形態の画像形成装置１Ｃは、動作周波数設定処理を行なう機能部として、動作周波数制御部１２０をシステムオンチップ１００の外部に備えている。動作周波数制御部１２０とシステムオンチップ１００戸の間のデータのやり取りは通信インタフェース部１３０を介して行なうようにする。
【０１０４】
その他の構成は第１実施形態の画像形成装置１Ａと同様であり、動作周波数設定処理の手順も図４に示したものと同様であるので、第３実施形態の画像形成装置１Ｃにおけるそれらの説明は割愛する。
【０１０５】
第３実施形態の仕組みは、システムオンチップ１００では動作周波数設定処理に対応しない場合への対処である。一般的に、システムオンチップの設計・検証・評価には時間が掛かる。そのため、既存のシステムオンチップに本実施形態の動作周波数設定処理を行なう機能部を追加しようとすると、その設計・検証・評価に時間が掛かる。これに対して、第３実施形態のように、動作周波数設定処理を行なう機能部をシステムオンチップ１００外に設ける構成をとれば、ハードウェア的な変更を要せずに適用される。
【０１０６】
なお、図示しないが、動作クロック生成部１２２もシステムオンチップ１００の外部に備える構成にしてもよい。この場合、既存のシステムオンチップに対して、動作クロック生成部１２２で生成された動作クロック信号を中央制御部１０２に直接に供給するための接続インタフェースを追加するか、または、通信インタフェース部１３０を介して動作クロック信号を中央制御部１０２に供給する対処をすればよい。
【符号の説明】
【０１０７】
１…画像形成装置、１００…システムオンチップ、１０２…中央制御部、１０４…タイマー部、１０６…不揮発性メモリ、１０８…データ書込部、１１０…ＤＲＡＭ制御部、１１１…ＲＡＭ制御部、１１２…ＲＯＭ制御部、１２０…動作周波数制御部、１２２…動作クロック生成部、１３０…通信インタフェース部、１３２…温度情報取得インタフェース部、１４０…入力画像処理部、１４２…出力画像処理部、１５０…外部書込装置、１５２…上位装置、１５４…温度検知部、１５６…タイマークロック生成部、１６０…ＤＲＡＭ、１６２…ＲＯＭ、１６４…ＮＶＲＡＭ、１７０…画像読取部、１７２…画像出力部、１９０…バス
【図１】
2010206052.tif 000003
【図２】
2010206052.tif 000004
【図３】
2010206052.tif 000005
【図４】
2010206052.tif 000006
【図５】
2010206052.tif 000007
【図６】
2010206052.tif 000008
【図７】
2010206052.tif 000009