(57)【要約】【課題】将来的に処理装置が処理すべきプログラムについて要求される処理能力を考慮してクロック周波数を決定することができる、処理装置、処理方法、及び処理プログラムを提供すること。【解決手段】処理装置１は、プログラムを構成する命令をクロック周波数のクロック信号に同期して処理する処理装置１であって、命令を処理する際に要求されるクロック周波数を特定する情報であって、プログラムに予め含まれる要求クロック周波数情報を取得する命令情報取得部３１と、要求クロック周波数情報に基づき、命令を処理する際のクロック周波数を決定するクロック制御部３２とを備える。【選択図】図１
2011138217.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを構成する命令をクロック周波数のクロック信号に同期して処理する処理装置であって、
前記命令を処理する際に要求される前記クロック周波数を特定する情報であって、前記プログラムに予め含まれる要求クロック周波数情報を取得する命令情報取得手段と、
前記要求クロック周波数情報に基づき、前記命令を処理する際の前記クロック周波数を決定する制御手段と、
を備える処理装置。
【請求項２】
前記命令情報取得手段は、
処理すべき前記命令の数を特定する情報であって、前記プログラムに予め含まれる要求命令数情報を取得し、
前記制御手段は、
前記要求命令数情報と前記要求クロック周波数情報とに基づき、前記命令を処理する際の前記クロック周波数を決定する、
請求項１に記載の処理装置。
【請求項３】
前記クロック周波数を特定するクロック周波数情報と、当該処理装置が連続して処理可能な命令数を特定する持続可能命令数情報とを、相互に関連付けて格納する持続可能命令数情報格納手段を備え、
前記制御手段は、
前記要求クロック周波数情報に対応する前記クロック周波数情報に関連付けられている前記持続可能命令数情報と、前記要求命令数情報との比較に基づき、前記命令を処理する際の前記クロック周波数を決定する、
請求項２に記載の処理装置。
【請求項４】
当該処理装置の温度を測定する温度測定手段を備え、
前記持続可能命令数情報格納手段は、
当該処理装置の温度を特定する温度情報と、前記クロック周波数情報及び前記持続可能命令数情報とを、相互に関連付けて格納し、
前記制御手段は、
前記温度測定手段によって測定された温度に対応する前記温度情報と前記要求クロック周波数情報に対応する前記クロック周波数情報とに関連付けられている前記持続可能命令数情報と、前記要求命令数情報との比較に基づき、前記命令を処理する際の前記クロック周波数を決定する、
請求項３に記載の処理装置。
【請求項５】
前記制御手段は、
当該制御手段が決定した前記クロック周波数と、前記温度測定手段が測定した温度とに基づき、前記持続可能命令数情報格納手段に格納されている前記温度情報、前記クロック周波数情報、又は前記持続可能命令数情報の少なくとも何れか一つを更新する、
請求項４に記載の処理装置。
【請求項６】
少なくとも、ナビゲーションシステムにおける経路探索プログラム、又は前記経路探索プログラムよりも前記命令を処理する際に要求される前記クロック周波数が低い経路案内プログラムを構成する命令を処理する、
請求項１から５のいずれか一項に記載の処理装置。
【請求項７】
プログラムを構成する命令をクロック周波数のクロック信号に同期して処理する処理方法であって、
前記命令を処理する際に要求される前記クロック周波数を特定する情報であって、前記プログラムに予め含まれる要求クロック周波数情報を取得する命令情報取得ステップと、
前記要求クロック周波数情報に基づき、前記命令を処理する際のクロック周波数を決定する制御ステップと、
を含む処理方法。
【請求項８】
請求項７に記載の方法をコンピュータに実行させる処理プログラム。
【請求項９】
処理装置にクロック周波数のクロック信号に同期して処理させる命令を含む処理プログラムであって、
前記命令を処理させる際に前記処理装置に要求する前記クロック周波数を特定する要求クロック周波数情報を含み、
前記要求クロック周波数情報に基づき、前記命令を処理する際の前記クロック周波数を前記処理装置に決定させる、
処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置、処理方法、及び処理プログラムに関する。
【背景技術】
【０００２】
処理装置（例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））の動作の基準となるクロック周波数は、処理装置に対する高速化の要求に伴い増大してきたが、処理装置を構成する半導体素子の構造や製造方法、あるいは動作に伴う発熱等の問題により、一層の高速化が困難となってきている。特に発熱の問題に関しては、ヒートシンクや冷却ファンによる放熱能力の制約から、処理装置を連続的に動作可能なクロック周波数が制限されている（例えば３ＧＨｚ程度）。
【０００３】
これに伴い、近年では処理装置の使用率や電源の残容量等に応じてクロック周波数を低下させ、処理装置の発熱を低減する方法が用いられている。例えば、処理装置における単位時間当たりのクロック数に対する単位時間当たりの実行命令数の割合が所定値を超えているか否かに基づき、処理装置のクロック周波数を制御するクロック周波数の制御方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３８２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の如き従来の方法では、過去の処理装置の使用状況を特定し、それに基づいてクロック周波数を制御するものに過ぎず、将来的に処理装置が処理すべきプログラムについて要求される処理能力は考慮されていなかった。このため、例えば今後処理すべき各プログラムについて要求される処理能力を勘案し、短時間での処理が要求されるプログラムについては瞬間的に高いクロック周波数によって短時間で処理し、長時間での処理が許容されるプログラムについては低いクロック周波数によって長時間で処理することで、全体として処理能力の低下を防止しつつ発熱を許容範囲内に抑制するといった制御を行うことができなかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、将来的に処理装置が処理すべきプログラムについて要求される処理能力を考慮してクロック周波数を決定することができる、処理装置、処理方法、及び処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１に記載の処理装置は、プログラムを構成する命令をクロック周波数のクロック信号に同期して処理する処理装置であって、前記命令を処理する際に要求される前記クロック周波数を特定する情報であって、前記プログラムに予め含まれる要求クロック周波数情報を取得する命令情報取得手段と、前記要求クロック周波数情報に基づき、前記命令を処理する際の前記クロック周波数を決定する制御手段と、を備える。
【０００８】
また、請求項２に記載の処理装置は、請求項１に記載の処理装置において、前記命令情報取得手段は、処理すべき前記命令の数を特定する情報であって、前記プログラムに予め含まれる要求命令数情報を取得し、前記制御手段は、前記要求命令数情報と前記要求クロック周波数情報とに基づき、前記命令を処理する際の前記クロック周波数を決定する。
【０００９】
また、請求項３に記載の処理装置は、請求項２に記載の処理装置において、前記クロック周波数を特定するクロック周波数情報と、当該処理装置が連続して処理可能な命令数を特定する持続可能命令数情報とを、相互に関連付けて格納する持続可能命令数情報格納手段を備え、前記制御手段は、前記要求クロック周波数情報に対応する前記クロック周波数情報に関連付けられている前記持続可能命令数情報と、前記要求命令数情報との比較に基づき、前記命令を処理する際の前記クロック周波数を決定する。
【００１０】
また、請求項４に記載の処理装置は、請求項３に記載の処理装置において、当該処理装置の温度を測定する温度測定手段を備え、前記持続可能命令数情報格納手段は、当該処理装置の温度を特定する温度情報と、前記クロック周波数情報及び前記持続可能命令数情報とを、相互に関連付けて格納し、前記制御手段は、前記温度測定手段によって測定された温度に対応する前記温度情報と前記要求クロック周波数情報に対応する前記クロック周波数情報とに関連付けられている前記持続可能命令数情報と、前記要求命令数情報との比較に基づき、前記命令を処理する際の前記クロック周波数を決定する。
【００１１】
また、請求項５に記載の処理装置は、請求項４に記載の処理装置において、前記制御手段は、当該制御手段が決定した前記クロック周波数と、前記温度測定手段が測定した温度とに基づき、前記持続可能命令数情報格納手段に格納されている前記温度情報、前記クロック周波数情報、又は前記持続可能命令数情報の少なくとも何れか一つを更新する。
【００１２】
また、請求項６に記載の処理装置は、請求項１から５のいずれか一項に記載の処理装置において、少なくとも、ナビゲーションシステムにおける経路探索プログラム、又は前記経路探索プログラムよりも前記命令を処理する際に要求される前記クロック周波数が低い経路案内プログラムを構成する命令を処理する。
【００１３】
また、請求項７に記載の処理方法は、プログラムを構成する命令をクロック周波数のクロック信号に同期して処理する処理方法であって、前記命令を処理する際に要求される前記クロック周波数を特定する情報であって、前記プログラムに予め含まれる要求クロック周波数情報を取得する命令情報取得ステップと、前記要求クロック周波数情報に基づき、前記命令を処理する際のクロック周波数を決定する制御ステップと、を含む。
【００１４】
また、請求項８に記載の処理プログラムは、請求項７に記載の方法をコンピュータに実行させる。
【００１５】
また、請求項９に記載の処理プログラムは、処理装置にクロック周波数のクロック信号に同期して処理させる命令を含む処理プログラムであって、前記命令を処理させる際に前記処理装置に要求する前記クロック周波数を特定する要求クロック周波数情報を含み、前記要求クロック周波数情報に基づき、前記命令を処理する際の前記クロック周波数を前記処理装置に決定させる。
【発明の効果】
【００１６】
請求項１に記載の処理装置、請求項７に記載の処理方法、請求項８に記載の処理プログラム、又は請求項９に記載の処理プログラムによれば、プログラムに予め含まれる要求クロック周波数情報に基づき、命令を処理する際のクロック周波数を決定するので、将来的に処理装置が処理すべきプログラムについて要求される処理能力を考慮した適切なクロック周波数で処理装置を動作させることができる。
【００１７】
請求項２に記載の処理装置によれば、プログラムに予め含まれる要求命令数情報と要求クロック周波数情報とに基づき、命令を処理する際のクロック周波数を決定するので、将来的に処理装置が処理すべきプログラムの規模や制限時間等に応じて必要となる処理能力を考慮した適切なクロック周波数で処理装置を動作させることができる。
【００１８】
請求項３に記載の処理装置によれば、要求クロック周波数情報に対応するクロック周波数情報に関連付けられている持続可能命令数情報と、要求命令数情報との比較に基づき、命令を処理する際のクロック周波数を決定するので、命令を連続して処理可能な範囲で処理装置を高速に動作させることができる。
【００１９】
請求項４に記載の処理装置によれば、温度測定手段によって測定された温度に対応する温度情報と要求クロック周波数情報に対応するクロック周波数情報とに関連付けられている持続可能命令数情報と、要求命令数情報との比較に基づき、命令を処理する際のクロック周波数を決定するので、処理装置の温度を上限動作温度以下に維持しつつ、可能な限り高速に処理装置を動作させることができる。
【００２０】
請求項５に記載の処理装置によれば、制御手段が決定したクロック周波数と、温度測定手段が測定した温度とに基づき、持続可能命令数情報格納手段に格納されている温度情報、クロック周波数情報、又は持続可能命令数情報の少なくとも何れか一つを更新するので、処理装置の使用環境に応じて一層適切なクロック周波数を決定することができる。
【００２１】
請求項６に記載の処理装置によれば、少なくとも、ナビゲーションシステムにおける経路探索プログラム、又は経路探索プログラムよりも命令を処理する際に要求されるクロック周波数が低い経路案内プログラムを構成する命令を処理するので、将来的に処理装置が処理すべき経路探索プログラム、又は経路案内プログラムについて要求される処理能力を考慮した適切なクロック周波数で処理装置を動作させることができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１に係る処理装置を例示するブロック図である。
【図２】動作温度４５℃に対応する持続可能命令数テーブルに格納されている情報を例示した表である。
【図３】動作温度５０℃に対応する持続可能命令数テーブルに格納されている情報を例示した表である。
【図４】動作温度５５℃に対応する持続可能命令数テーブルに格納されている情報を例示した表である。
【図５】環境温度２５℃の場合における、クロック倍数回路によるクロック倍数と、当該クロック倍数により逓倍されたクロック周波数にて動作する処理装置の平衡温度との関係を例示した表である。
【図６】ナビゲーションシステムにおける各プログラムを処理する際に必要とされる処理能力を例示した表である。
【図７】命令実行処理のフローチャートである。
【図８】命令を処理する際のクロック倍数、及び処理の実行に伴う処理装置の温度変化を概念的に示した図であり、図８（ａ）は従来の処理装置の場合を示す図、図８（ｂ）は本実施の形態１に係る処理装置の場合を示す図である。
【図９】命令を処理する際のクロック倍数、及び処理の実行に伴う処理装置の温度変化を概念的に示した図であり、図９（ａ）は各プログラムの要求クロック周波数で処理装置を動作させた場合を示す図、図９（ｂ）は各プログラムの要求命令数の命令を連続して処理可能な最大のクロック周波数で処理装置を動作させた場合を示す図である。
【図１０】実施の形態２に係る命令実行処理のフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明に係る処理装置、処理方法、及び処理プログラムの各実施の形態について図面を参照しつつ詳細に説明する。ただし、これら各実施の形態によって本発明が限定されるものではない。
【００２４】
〔実施の形態１〕
最初に、実施の形態１について説明する。この実施の形態１は、プログラムに予め含まれる要求クロック周波数情報に基づき、命令を処理する際のクロック周波数を決定する形態である。
【００２５】
（構成）
まず、実施の形態１に係る処理装置の構成を説明する。図１は、実施の形態１に係る処理装置を例示するブロック図である。図１に示すように、処理装置１は、クロック倍数回路１０、温度測定部２０、処理部３０、及び記憶部４０を備えている。
【００２６】
（構成−クロック倍数回路）
クロック倍数回路１０は、処理装置１の外部に設けられたクロック発生回路２から供給された基準クロック信号の周波数を逓倍した動作クロック信号を発生し、処理部３０に出力する。以下の説明では、この動作クロック信号の周波数を「クロック周波数」と表記する。このクロック倍数回路１０が基準クロック信号の周波数を逓倍する際のクロック倍数は、処理部３０から入力される制御信号によって制御される。
【００２７】
（構成−温度測定部）
温度測定部２０は、処理装置１の温度を測定する温度測定手段であり、例えばサーミスタや白金測温抵抗体等の公知の温度測定手段を用いることができる。温度測定部２０は、測定した温度を特定する温度情報を処理部３０に出力する。
【００２８】
（構成−処理部）
処理部３０は、例えば公知のメモリ（図示省略）からプログラムを構成する命令を取得し、当該取得した命令をクロック周波数の動作クロック信号に同期して処理する処理手段である。この処理部３０は、機能概念的に、命令情報取得部３１、及びクロック制御部３２を備えている。命令情報取得部３１は、プログラムに予め含まれる情報を取得する命令情報取得手段である。クロック制御部３２は、命令を処理する際のクロック周波数を決定する制御手段である。これらの処理部３０の各構成要素によって実行される処理の詳細については後述する。
【００２９】
（構成−記憶部）
記憶部４０は、処理装置１の動作に必要な情報を記憶する記憶手段であり、例えばメインメモリやキャッシュメモリ等の公知の記憶手段を用いて構成されている。この記憶部４０は、持続可能命令数テーブル４１を備えている。
【００３０】
持続可能命令数テーブル４１は、持続可能命令数情報を格納する持続可能命令数情報格納手段である。この持続可能命令数テーブル４１は、一連の命令の処理開始時における処理装置１の動作温度に対応する複数のテーブルから構成されている。図２から図４はこれらの複数のテーブルに格納されている情報を例示した表であり、図２は動作温度が４５℃のテーブル、図３は動作温度が５０℃のテーブル、図４は動作温度が５５℃のテーブルを示している。
【００３１】
図２から図４に示したように、持続可能命令数テーブル４１を構成する各テーブルには、項目「クロック倍数」、「持続可能時間」、及び「持続可能命令数」に対応する情報が相互に関連付けて格納されている。項目「クロック倍数」に対応して格納される情報は、クロック倍数回路１０が基準クロック信号の周波数を逓倍するクロック倍数を特定する情報であり、処理装置１のクロック周波数を特定するクロック周波数情報である。すなわち、項目「クロック倍数」に対応して格納されている値を基準クロック信号の周波数に乗ずることにより、クロック周波数を特定することができる。項目「持続可能時間」に対応して格納される情報は、各テーブルに対応する動作温度から処理装置１の上限動作温度に到達するまでに処理装置１が連続して動作可能な持続可能時間を特定する持続可能時間情報である。なお、以下では処理装置１の上限動作温度が５５℃、環境温度が２５℃の場合を例として説明する。項目「持続可能命令数」に対応して格納される情報は、各テーブルに対応する動作温度から処理装置１の上限動作温度に到達するまでに処理装置１が連続して処理可能な命令数を特定する持続可能命令数情報である。
【００３２】
図５は、環境温度２５℃の場合における、クロック倍数回路１０によるクロック倍数と、当該クロック倍数により逓倍されたクロック周波数にて動作する処理装置１の平衡温度との関係を例示した表である。図５の例では、クロック倍数が「３６」までは平衡温度が５５℃以下に保持されるため、処理装置１を連続して動作可能な時間に制限はないが、クロック倍数が「３７」以上の場合には平衡温度が上限動作温度の５５℃を超えるため、処理装置１を連続して動作可能な時間が制限されることとなる。
【００３３】
例えば動作温度４５℃に対応する図２のテーブルにおいて、クロック倍数が「３６」の場合、持続可能時間及び持続可能命令数は「∞」となっている。一方、クロック倍数が「３７」の場合、持続可能時間は「１．３２」、持続可能命令数は「１５２」に制限されている。
【００３４】
また、動作温度５０℃に対応する図３のテーブルでは、一連の命令の処理開始時における処理装置１の動作温度が既に５０℃に達しているため、図２の場合と比較して持続可能時間及び持続可能命令数が一層制限されることとなる。例えば、クロック倍数が「３７」の場合、持続可能時間は「０．９８」、持続可能命令数は「１１４」に制限されている。
【００３５】
さらに、動作温度５５℃に対応する図４のテーブルでは、一連の命令の処理開始時における処理装置１の動作温度が既に上限動作温度の５５℃に達しているため、図３の場合と比較して持続可能時間及び持続可能命令数が一層制限されることとなる。すなわち、クロック倍数が「３７」の場合、持続可能時間及び持続可能命令数は共に「０」となっており、当該クロック倍数では処理装置１を動作させられないこととなる。
【００３６】
（処理対象のプログラム）
次に、このように構成される処理装置１による処理対象となるプログラムについて説明する。処理対象となるプログラムを構成する命令は、一般命令、又はクロック周波数変更命令に大別される。一般命令は、各プログラムの目的とする出力（例えば経路探索プログラムの場合は目的地までの経路）を得るための命令である。クロック周波数変更命令は、クロック周波数を変更するための命令であり、例えばクロック倍数回路１０におけるクロック倍数を変更するための命令である。
【００３７】
このクロック周波数変更命令には、要求クロック周波数情報、及び要求命令数情報が予め含まれている。要求クロック周波数情報は、プログラムに含まれる命令を処理装置１に処理させる際に当該処理装置１に要求するクロック周波数（要求クロック周波数）を特定する情報である。要求命令数情報は、処理装置１が処理すべき命令の数（要求命令数）を特定する情報である。
【００３８】
なお、処理対象のプログラムの具体的な内容は任意であるが、以下ではナビゲーションシステムにおけるプログラムを処理対象とした場合を例として説明する。図６は、ナビゲーションシステムにおける各プログラムを処理する際に必要とされる処理能力を例示した表である。なお、図６ではクロック倍数が３２の場合の単位時間当たりの処理可能命令数を１００としている。この図６によれば、経路案内プログラムについては、処理すべき命令数は２００、処理のための制限時間は８秒、当該プログラムの処理が発生する頻度は１０分につき１回であり、制限時間に余裕があることから処理に必要なクロック倍数は相対的に低い８倍となっている。一方、経路探索プログラムについては、処理すべき命令数は１００、処理のための制限時間は１秒、当該プログラムの処理が発生する頻度は１回（任意のタイミングで発生）であり、制限時間が少ないことから処理に必要なクロック倍数は相対的に高い３２倍となっている。
【００３９】
（処理）
次に、上述の処理装置１によって実行される命令実行処理について説明する。図７は命令実行処理のフローチャートである（以下の各処理の説明ではステップを「Ｓ」と略記する）。この命令実行処理は、例えば処理装置１への電源投入後に所定周期にて繰り返し起動される。
【００４０】
命令実行処理の起動後、処理部３０はメモリからプログラムを構成する命令を読み出し（ＳＡ１）、当該読み出した命令の種類を判定する（ＳＡ２）。
【００４１】
その結果、読み出した命令が一般命令であった場合、（ＳＡ２、一般命令）、処理部３０は温度測定部２０から処理装置１の温度情報を取得する（ＳＡ３）。続いて処理部３０は、取得した温度情報に基づき、処理装置１の温度が上限動作温度を超えているか否かを判定する（ＳＡ４）。
【００４２】
その結果、処理装置１の温度が上限動作温度を超えている場合（ＳＡ４、Ｙｅｓ）、処理部３０はエラーフラグをＴｒｕｅにする（ＳＡ５）。その後、クロック制御部３２はクロック倍数回路１０におけるクロック倍数を最低クロック倍数（例えば１２）に変更する（ＳＡ６）。その後、処理部３０はＳＡ１で読み出した命令を実行し（ＳＡ７）、命令実行処理を終了する。
【００４３】
一方、処理装置１の温度が上限動作温度を超えていない場合（ＳＡ４、Ｎｏ）、処理部３０は処理装置１の温度が適正温度未満且つエラーフラグがＴｒｕｅであるか否かを判定する（ＳＡ８）。ここで「適正温度」としては、処理装置１の動作に適した温度（例えば４５℃）を用いることができる。ＳＡ８の判定の結果、処理装置１の温度が適正温度未満且つエラーフラグがＴｒｕｅである場合（ＳＡ８、Ｙｅｓ）、処理部３０はエラーフラグをＦａｌｓｅとする（ＳＡ９）。その後、クロック制御部３２はクロック倍数回路１０におけるクロック倍数をデフォルトのクロック倍数（例えば１６）に変更する（ＳＡ１０）。その後、処理部３０はＳＡ１で読み出した命令を実行し（ＳＡ７）、命令実行処理を終了する。
【００４４】
また、処理装置１の温度が適正温度未満且つエラーフラグがＴｒｕｅではない場合（処理装置１の温度が適正温度以上、及び／又はエラーフラグがＦａｌｓｅの場合）（ＳＡ８、Ｎｏ）、クロック倍数回路１０におけるクロック倍数を変更することなく、処理部３０はＳＡ１で読み出した一般命令を実行し（ＳＡ７）、命令実行処理を終了する。
【００４５】
また、ＳＡ１で読み出した命令がクロック周波数変更命令であった場合（ＳＡ２、クロック周波数変更命令）、命令情報取得部３１は、当該クロック周波数変更命令に含まれる要求クロック周波数情報及び要求命令数情報を取得する（ＳＡ１１）。
【００４６】
続いて、クロック制御部３２は温度測定部２０から処理装置１の温度情報を取得する（ＳＡ１２）。そして、当該取得した温度情報により特定される処理装置１の動作温度に対応する持続可能命令数テーブル４１を参照し、ＳＡ１１で取得した要求クロック周波数情報に対応する持続可能命令数を特定する（ＳＡ１３）。例えば、ＳＡ１２で取得した温度情報により特定される処理装置１の動作温度が５０℃、ＳＡ１１で取得した要求クロック周波数情報により特定されるクロック周波数に対応するクロック倍数が３８であった場合、図３のテーブルに基づき、持続可能命令数は５９と特定される。
【００４７】
図７に戻り、クロック制御部３２は、ＳＡ１１で取得した要求命令数情報により特定される要求命令数が、ＳＡ１３で特定した持続可能命令数以下か否かを判定する（ＳＡ１４）。その結果、要求命令数が持続可能命令数以下であった場合（ＳＡ１４、Ｙｅｓ）、クロック周波数を要求クロック周波数に変更しても要求命令数の命令を連続して処理可能であるものとし、クロック制御部３２は命令を処理する際のクロック周波数を要求クロック周波数に変更する（ＳＡ１５）。その後、処理部３０は命令実行処理を終了する。
【００４８】
図８は、命令を処理する際のクロック倍数、及び処理の実行に伴う処理装置１の温度変化を概念的に示した図であり、図８（ａ）は従来の処理装置の場合を示す図、図８（ｂ）は本実施の形態１に係る処理装置１の場合を示す図である。
【００４９】
図８（ａ）に示すように、従来の処理装置ではプログラムにクロック周波数変更命令が含まれていなかったため、処理対象のプログラムに応じてクロック倍数が変更されることもなかった。従って、例えばクロック倍数は３２で一定であり、処理装置の温度は４５℃で一定に保持されていた。
【００５０】
一方、図８（ｂ）に示すように、本実施の形態１に係る処理装置１では、処理対象のプログラム毎にクロック周波数変更命令に基づきクロック倍数が変更される。例えば最初に実行される経路探索プログラムでは、処理開始時の動作温度は４５℃であり、要求命令数は図６によれば１００である。この場合、動作温度４５℃に対応する図２のテーブルによれば、要求命令数１００の命令を連続して処理可能な最大のクロック倍数は３７である。従って、経路探索プログラムのクロック周波数変更命令にクロック倍数３７に対応する要求クロック周波数情報を含めることにより、経路探索プログラムの一般命令をクロック倍数３７で処理させることができ、従来と比較して処理装置１による経路探索プログラムの処理時間を短縮することができる（図８では従来の１秒から０．８６秒に短縮）。
【００５１】
また、経路探索プログラムに続く地図描画プログラムやＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）プログラムでは、処理に必要なクロック倍数は図６によれば３２である。従って、地図描画プログラムやＨＭＩプログラムのクロック周波数変更命令にクロック倍数３２に対応する要求クロック周波数情報を含めることにより、処理に必要なクロック周波数を維持しつつ経路探索プログラムよりもクロック周波数を低下させることができ、処理装置１の温度を低下させることができる。
【００５２】
図７に戻り、ＳＡ１４において要求命令数が持続可能命令数以下ではなかった場合（要求命令数が持続可能命令数よりも多い場合）（ＳＡ１４、Ｎｏ）、クロック制御部３２はエラーフラグをＴｒｕｅとする（ＳＡ１６）。そして、ＳＡ１２で取得した温度情報により特定される処理装置１の動作温度に対応する持続可能命令数テーブル４１を参照し、要求命令数の命令を連続して処理可能な最大のクロック周波数を決定する（ＳＡ１７）。例えば、ＳＡ１１で取得した要求命令数情報により特定される要求命令数が１０５、ＳＡ１２で取得した温度情報により特定される処理装置１の動作温度が５０℃であった場合、図３のテーブルに基づき、要求命令数１０５の命令を連続して処理可能な最大のクロック倍数３７に対応するクロック周波数が決定される。
【００５３】
図７に戻り、ＳＡ１７の処理の後、クロック制御部３２は命令を処理する際のクロック周波数をＳＡ１７で決定したクロック周波数に変更する（ＳＡ１５）。その後、処理部３０は命令実行処理を終了する。
【００５４】
図９は、命令を処理する際のクロック倍数、及び処理の実行に伴う処理装置１の温度変化を概念的に示した図であり、図９（ａ）は各プログラムの要求クロック周波数で処理装置１を動作させた場合を示す図、図９（ｂ）は各プログラムの要求命令数の命令を連続して処理可能な最大のクロック周波数で処理装置１を動作させた場合を示す図である。
【００５５】
図９（ａ）に示すように、平衡温度が上限動作温度を上回るクロック倍数で処理装置１を連続して動作させた場合（図９（ａ）では、推奨経路探索プログラム、有料優先探索プログラム、及び一般優先探索プログラムをクロック倍数３７で処理）、時間の経過と共に処理装置１の温度は上昇し、上限動作温度を超過してしまう。しかし、図７のＳＡ１４で要求命令数が持続可能命令数よりも多いと判定した場合（ＳＡ１４、Ｎｏ）、ＳＡ１７で要求命令数の命令を連続して処理可能な最大のクロック周波数を決定する。すなわち、図９（ｂ）では、有料優先探索プログラム、及び一般優先探索プログラムを処理する際のクロック倍数を３６としている。これにより、処理装置１の温度を上限動作温度以下に維持しつつ、可能な限り高速にプログラムを処理することができる。
【００５６】
（効果）
このように実施の形態１によれば、プログラムに予め含まれる要求クロック周波数情報に基づき、命令を処理する際のクロック周波数を決定するので、将来的に処理装置１が処理すべきプログラムについて要求される処理能力を考慮した適切なクロック周波数で処理装置１を動作させることができる。
【００５７】
また、プログラムに予め含まれる要求命令数情報と要求クロック周波数情報とに基づき、命令を処理する際のクロック周波数を決定するので、将来的に処理装置１が処理すべきプログラムの規模や制限時間等に応じて必要となる処理能力を考慮した適切なクロック周波数で処理装置１を動作させることができる。
【００５８】
また、要求クロック周波数情報に対応するクロック周波数情報に関連付けられている持続可能命令数情報と、要求命令数情報との比較に基づき、命令を処理する際のクロック周波数を決定するので、命令を連続して処理可能な範囲で処理装置１を高速に動作させることができる。
【００５９】
また、温度測定部２０によって測定された温度に対応する温度情報と要求クロック周波数情報に対応するクロック周波数情報とに関連付けられている持続可能命令数情報と、要求命令数情報との比較に基づき、命令を処理する際のクロック周波数を決定するので、処理装置１の温度を上限動作温度以下に維持しつつ、可能な限り高速に処理装置１を動作させることができる。
【００６０】
また、少なくとも、ナビゲーションシステムにおける経路探索プログラム、又は経路探索プログラムよりも命令を処理する際に要求されるクロック周波数が低い経路案内プログラムを構成する命令を処理するので、将来的に処理装置１が処理すべき経路探索プログラム、又は経路案内プログラムについて要求される処理能力を考慮した適切なクロック周波数で処理装置１を動作させることができる。
【００６１】
〔実施の形態２〕
次に、実施の形態２について説明する。この実施の形態２は、持続可能命令数テーブル４１に格納されている温度情報、クロック周波数情報、又は持続可能命令数情報の少なくとも何れか一つを更新する形態である。なお、実施の形態２の構成は、特記する場合を除いて、実施の形態１の構成と略同一であり、実施の形態１の構成と略同一の構成についてはこの実施の形態１で用いたものと同一の符号及び／又は名称を必要に応じて付して、その説明を省略する。
【００６２】
（処理）
実施の形態２に係る命令実行処理について説明する。図１０は実施の形態２に係る命令実行処理のフローチャートである。なお、ＳＢ１からＳＢ７は図７のＳＡ１からＳＡ７と、ＳＢ１０からＳＢ１９は図７のＳＡ８からＳＡ１７と同じであるので、説明を省略する。
【００６３】
ＳＢ７において、ＳＢ１で読み出した命令を実行した後、クロック制御部３２は温度測定部２０から取得した温度情報に基づきＳＢ７の処理前後における処理装置１の温度を特定すると共に、ＳＢ７において実行した命令の命令数とクロック周波数とを特定する（ＳＢ８）。
【００６４】
続いて、クロック制御部３２は、特定した処理装置１の温度、命令数、及びクロック周波数に基づき、持続可能命令数テーブル４１に格納されている温度情報、クロック周波数情報、又は持続可能命令数情報の少なくとも何れか一つを更新する（ＳＢ９）。例えば、ＳＢ７の処理開始時の処理装置１の動作温度に対応する持続可能命令数テーブル４１を参照し、ＳＢ８で特定した命令数が、当該ＳＢ８で特定したクロック周波数に対応する持続可能命令数と等しく、且つＳＢ７の処理後の温度が上限動作温度よりも閾値以上低い場合、さらに連続して命令を実行を処理することが可能であることから、持続可能命令数テーブル４１における持続可能命令数を増加させるように持続可能命令数情報を更新する。あるいは当該持続可能命令数テーブル４１に対応する動作温度を増加させるように温度情報を更新してもよく、持続可能命令数テーブル４１におけるクロック倍数を増加させるようにクロック周波数情報を更新してもよい。
【００６５】
（効果）
このように実施の形態２によれば、制御部が決定したクロック周波数と、温度測定部２０が測定した温度とに基づき、持続可能命令数テーブル４１に格納されている温度情報、クロック周波数情報、又は持続可能命令数情報の少なくとも何れか一つを更新するので、処理装置１の使用環境に応じて一層適切なクロック周波数を決定することができる。
【００６６】
〔各実施の形態に対する変形例〕
以上、本発明に係る各実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
【００６７】
（解決しようとする課題や発明の効果について）
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決したり、上述した効果の一部のみを奏することがある。
【００６８】
（クロック周波数変更命令について）
上述の各実施の形態では、クロック周波数変更命令が要求クロック周波数情報、及び要求命令数情報を含んでいると説明したが、要求クロック周波数情報のみを含むようにしてもよい。この場合、図７の命令実行処理においては、ＳＡ１４、ＳＡ１６、及びＳＡ１７の処理を行わず、クロック制御部３２は命令を処理する際のクロック周波数を常に要求クロック周波数に変更する（ＳＡ１５）。
【符号の説明】
【００６９】
１  処理装置
２  クロック発生回路
１０  クロック倍数回路
２０  温度測定部
３０  処理部
３１  命令情報取得部
３２  クロック制御部
４０  記憶部
４１  持続可能命令数テーブル
【図１】
2011138217.tif 000003
【図２】
2011138217.tif 000004
【図３】
2011138217.tif 000005
【図４】
2011138217.tif 000006
【図５】
2011138217.tif 000007
【図６】
2011138217.tif 000008
【図７】
2011138217.tif 000009
【図８】
2011138217.tif 000010
【図９】
2011138217.tif 000011
【図１０】
2011138217.tif 000012