(57)【特許請求の範囲】
【請求項１】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置において、
前記クロック周波数のアップ及びダウンを実行するクロック変更手段と、
オーバークロック対象の情報処理が１以上登録される登録手段と、
この登録手段に登録された情報処理毎に実行中か否かを識別する識別手段と、
情報処理の起動及び終了時、当該情報処理が前記登録手段に登録されているか否かを判定する判定手段と、
この判定手段により登録されていると判定された情報処理に対応する前記識別手段の識別を切り替える切替手段と、
前記判定手段により登録されていると判定される毎に、前記登録手段に登録されている全ての情報処理に対する前記識別手段の識別を確認する識別確認手段と、
この識別確認手段により実行中を示す識別が１つでも有るときは前記クロック変更手段にクロック周波数のアップを指令し、１つも無いときはクロック周波数のダウンを指令するクロック制御手段と、
を具備したことを特徴とする情報処理装置。
【請求項２】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置において、
前記クロック周波数のアップ及びダウンを実行するクロック変更手段と、
オーバークロック対象の情報処理が１以上登録される登録手段と、
前記演算処理部の利用率を算出する利用率算出手段と、
情報処理の起動及び終了時、当該情報処理が前記登録手段に登録されているか否かを判定する判定手段と、
この判定手段により登録されていると判定されると、前記演算処理部の利用率を確認する利用率確認手段と、
この利用率確認手段により前記演算処理部の利用率が第１のしきい値を超えていることが確認されると前記クロック変更手段にクロック周波数のアップを指令し、第２のしきい値以下であることが確認されるとクロック周波数のダウンを指令するクロック制御手段と、
を具備したことを特徴とする情報処理装置。
【請求項３】
前記登録手段に登録された情報処理毎に実行中か否かを識別する識別手段と、
前記判定手段により登録されていると判定された情報処理に対応する前記識別手段の識別を切り替える切替手段と、
前記判定手段により登録されていると判定される毎に、前記登録手段に登録されている全ての情報処理に対する前記識別手段の識別を確認する識別確認手段と、をさらに具備し、
前記識別確認手段により実行中を示す識別が１つもないことを条件に前記演算処理部の利用率を確認し、第２のしきい値以下であることが確認されると前記クロック制御手段が前記クロック変更手段にクロック周波数のダウンを指令することを特徴とする請求項２記載の情報処理装置。
【請求項４】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置のクロック制御方法であって、
前記情報処理装置に、オーバークロック対象の情報処理が１以上登録される登録手段を設け、
情報処理の起動時、その情報処理が前記登録手段に登録されているか否かを判定する起動時判定ステップと、
この起動時判定ステップが登録されていると判定した場合に、前記クロック周波数をアップさせる起動時制御ステップと、
情報処理の停止時、その情報処理が前記登録手段に登録されているか否かを判定する停止時判定ステップと、
この停止時判定ステップが登録されていると判定した場合に、前記登録手段に登録されている他の情報処理を実行中か否かを確認する停止時処理確認ステップと、
この停止時処理確認ステップが他の情報処理を実行中でないと確認した場合に、前記クロック周波数をダウンさせる停止時制御ステップと、
を具備したことを特徴とするクロック制御方法。
【請求項５】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置のクロック制御方法であって、
情報処理の起動時、その情報処理が予めオーバークロック対象として登録されているか否かを判定する起動時判定ステップと、
この起動時判定ステップが登録されていると判定した場合に、前記演算処理部の利用率が第１のしきい値を超えているか否かを確認する起動時利用率確認ステップと、
この起動時利用率確認ステップが第１のしきい値を超えていると確認した場合に、前記クロック周波数をアップさせる起動時制御ステップと、
情報処理の停止時、その情報処理が予めオーバークロック対象として登録されているか否かを判定する停止時判定ステップと、
この停止時判定ステップが登録されていると判定した場合に、前記演算処理部の利用率が第２のしきい値以下であるか否かを確認する停止時利用率確認ステップと、
この停止時利用率確認ステップが第２のしきい値以下であると確認した場合に、前記クロック周波数をダウンさせる停止時制御ステップと、
を具備したことを特徴とするクロック制御方法。
【請求項６】
前記停止時判定ステップと停止時利用率確認ステップとの間に、
前記停止時判定ステップが登録されていると判定した場合に、前記オーバークロック対象として登録されている他の情報処理を実行中か否かを確認する停止時処理確認ステップを具備し、
この停止時処理確認ステップが他の情報処理を実行中でないと確認した場合に前記停止時利用率確認ステップを実行し、他の情報処理を実行中であると確認した場合には前記停止時利用率確認ステップを実行しないことを特徴とする請求項５記載のクロック制御方法。
【請求項７】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行うとともに、オーバークロック対象の情報処理が１以上登録される登録手段を設けた情報処理装置に、
情報処理の起動時、その情報処理が前記登録手段に登録されているか否かを判定する起動時判定機能と、
この起動時判定機能が登録されていると判定した場合に、前記クロック周波数をアップさせる起動時制御機能と、
情報処理の停止時、その情報処理が前記登録手段に登録されているか否かを判定する停止時判定機能と、
この停止時判定機能が登録されていると判定した場合に、前記登録手段に登録されている他の情報処理を実行中か否かを確認する停止時処理確認機能と、
この停止時処理確認機能が他の情報処理を実行中でないと確認した場合に、前記クロック周波数をダウンさせる停止時制御機能と、
を実現させるためのクロック制御プログラム。
【請求項８】
クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置に、
情報処理の起動時、その情報処理が予めオーバークロック対象として登録されているか否かを判定する起動時判定機能と、
この起動時判定機能が登録されていると判定した場合に、前記演算処理部の利用率が第１のしきい値を超えたか否かを確認する起動時利用率確認機能と、
この起動時利用率確認機能が第１のしきい値を超えていると確認した場合に、前記クロック周波数をアップさせる起動時制御機能と、
情報処理の停止時、その情報処理が予めオーバークロック対象として登録されているか否かを判定する停止時判定機能と、
この停止時判定機能が登録されていると判定した場合に、前記演算処理部の利用率が第２のしきい値以下であるか否かを確認する停止時利用率確認機能と、
この停止時利用率確認機能が第２のしきい値以下であると確認した場合に、前記クロック周波数をダウンさせる停止時制御機能と、
を実現させるためのクロック制御プログラム。
【請求項９】
前記情報処理装置に、
前記停止時判定機能が登録されていると判定した場合に、前記オーバークロック対象として登録されている他の情報処理を実行中か否かを確認する停止時処理確認機能をさらに実現させ、
停止時処理確認機能が他の情報処理を実行中でないと確認した場合には前記停止時利用率確認機能を実行させ、他の情報処理を実行中であると確認した場合には前記停止時利用率確認ステップを実行させないための請求項８記載のクロック制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーバークロックを行うことが可能な情報処理装置及びこの装置のクロック制御方法並びにその制御プログラムに関する。
【背景技術】
【０００２】
一般に、情報処理装置は、メーカの保証する値以上のクロック周波数でＣＰＵ（中央演算処理ユニット）を動作させることができる。クロック周波数を高めることを、オーバークロックと称する。オーバークロックを行うことで、処理の高速化を実現できる。ただし、オーバークロックを行うと、ＣＰＵの消費電力が増加する。消費電力が増加すると、ＣＰＵの発熱量が増加する。
【０００３】
小型・軽量化が求められる装置では、部品点数を少しでも削減したい。例えば、装置の発熱を抑えることができれば、冷却用機器を不要にできる。オーバークロックを効率的に行うことで、処理の高速化をはかりつつ発熱量の増加を抑えられれば効果的である。
【０００４】
従来、処理のリアルタイム性と消費電力の低減を両立させる技術が既に知られている。この従来技術は、情報処理装置にクロック判定部と排他処理区間検出部を設ける。排他処理区間検出部は、情報処理装置が排他的な処理を行う区間である排他的処理区間の開始と終了とを検出する。排他処理区間の開始が検出されると、クロック判定部は、クロック周波数を上げるように制御する。排他的処理区間の終了が検出されると、クロック判定部は、クロック周波数を下げるように制御する。
【０００５】
情報処理装置において、排他的な処理が実行されている間は、他の処理を実行することができない。つまり、処理効率が悪い。従来技術では、排他的な処理が実行されている間はオーバークロックが行われるので、排他的な処理を高速に済ませることができる。つまり、処理効率を高めることができる。また、オーバークロックが行われるのは、排他的な処理が実行されている間に限られるので、常にオーバークロックを行う場合と比較して消費電力を低減できる（例えば、特許文献１参照）
【特許文献１】特開２００４−３１０７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述した従来技術は、排他的な処理の頻度が高い情報処理装置には有効である。しかし、それ以外の情報処理装置ではメリットが期待できない。
【０００７】
例えば、情報処理装置の一態様として、ＰＯＳ（販売時点情報管理）端末がある。ＰＯＳ端末では、商品販売業務に関する種々の情報処理と並行して、サーバへの問合せ処理が発生したり、プリンタへの印字処理が発生したりする。この問合せ処理や印字処理は、ＣＰＵに高い負荷がかかるため、処理速度の低下が懸念される。そこで、ＣＰＵに高い負荷がかかる場合にオーバークロックを行うことで、処理速度を速めることが考えられる。しかしその一方で、例えば同じ印字処理であっても、閉店後に実施される精算時の印字処理には、必ずしも処理の高速化は求められていない。このような処理に対してオーバークロックを行ってしまっては消費電力が無駄であり、効率が悪い。
【０００８】
本発明は、このような事情に基づいてなされたもので、その目的とするところは、ユーザの意図する処理が実行されるときだけオーバークロックを行うことで、情報処理装置の効率化を実現しようとするものである。
【課題を解決するための手段】
【０００９】
本発明は、クロック周波数に基づいて演算処理部でプログラムを実行し各種の情報処理を行う情報処理装置に対し、クロック周波数のアップ及びダウンを実行するクロック変更手段を設ける。また、オーバークロック対象の情報処理が１以上登録される登録手段を設ける。そして、この登録手段に登録された情報処理毎に実行中か否かを識別手段で識別する。  
情報処理の起動時には、判定手段が、当該情報処理が登録手段に登録されているか否かを判定する。そして、登録されていると判定されると、切替手段が、その情報処理に対応する識別手段の識別を切り替える。また、登録されていると判定される毎に、識別確認手段が、登録手段に登録されている全ての情報処理に対する識別手段の識別を確認する。その結果、実行中を示す識別が１つでも有るときには、クロック制御手段が、クロック変更手段にクロック周波数のアップを指令する。  
一方、情報処理の終了時にも、判定手段が、当該情報処理が登録手段に登録されているか否かを判定する。そして、登録されていると判定されると、切替手段が、その情報処理に対応する識別手段の識別を切り替える。また、登録されていると判定される毎に、識別確認手段が、登録手段に登録されている全ての情報処理に対する識別手段の識別を確認する。その結果、実行中を示す識別が１つも無いときは、クロック制御手段が、クロック変更手段にクロック周波数のダウンを指令する。
【発明の効果】
【００１０】
かかる手段を講じた本発明によれば、ユーザの意図する処理が実行されるときだけオーバークロックが行われて、処理の高速化を図ることができ、それ以外の処理しか実行されていないときにはオーバークロックによる消費電力の増加を抑制でき、ひいては、情報処理装置の効率化を実現することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態について、図面を用いて説明する。はじめに、第１の実施の形態について、図１〜図６を用いて説明する。
【００１２】
図１は、第１の実施の形態における情報処理装置の要部構成を示すブロック図である。情報処理装置は、本体１０とクロック発生装置２０とから構成される。
【００１３】
本体１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、外部記憶部１４、入力デバイスインターフェイス１５、出力デバイスインターフェイス１６及び通信インターフェイス１７を備えている。ＣＰＵ１１と、ＲＯＭ１２、ＲＡＭ１３、外部記憶部１４、入力デバイスインターフェイス１５、出力デバイスインターフェイス１６及び通信インターフェイス１７とは、アドレスバス，データバス等のバスライン１８で接続されている。
【００１４】
入力デバイスインターフェイス１５には、キーボード，マウス、スキャナ、タッチパネル等の入力デバイスが適宜接続される。出力デバイスインターフェイス１６には、ディスプレイ，プリンタ等の出力デバイスが適宜接続される。これらのインターフェイス１５，１６に接続される入出力デバイスの数や種類は、特に限定されるものではない。情報処理装置の用途に適した入出力デバイスが接続されればよい。
【００１５】
通信インターフェイス１７には、ＬＡＮ（ローカルエリアネットワーク）等のネットワークが接続される。情報処理装置は、上記ネットワークを介して、サーバ等の外部装置とデータ通信を行うことができる。
【００１６】
ＣＰＵ１１は、演算処理部として機能する。すなわちＣＰＵ１１は、プログラムを実行し、そのプログラムに従って各種の情報処理を行う。プログラムは、ＲＯＭ１２及び外部記憶部１４に記憶されている。通常、ＲＯＭ１２には、起動用のプログラムが記憶されている。ＯＳ（オペレーティング・システム）や各種のアプリケーションプログラムは、外部記憶部１４に記憶されている。
【００１７】
外部記憶部１４は、例えばハードディスクによって構成されている。外部記憶部１４に記憶されたプログラムは、ＣＰＵ１１により選択的にＲＡＭ１３にロードされ、実行される。ＣＰＵ１１は、クロック発生装置２０から供給されるクロック信号の周波数、いわゆるクロック周波数に基づいてプログラムを実行して、各種の情報処理を行う。クロック周波数が高ければ高いほど、ＣＰＵ１１の処理速度が上がる。
【００１８】
クロック発生装置２０は、クロック生成部２１、メモリ部２２、登録判定部２３、クロック制御部２４及びクロック変更部２５で構成されている。クロック生成部２１は、所定の周波数のクロック信号を生成し、ＣＰＵ１１を含む本体１０に供給する。メモリ部２２は、登録テーブル３１と、周波数テーブル３２とを記憶している。これらのテーブル３１，３２のデータ構造の一例を図２に示す。
【００１９】
図示するように、登録テーブル３１は、テーブル番号エリアと、処理ＩＤエリアと、処理名称エリアと、処理フラグエリアとから構成されている。処理ＩＤエリア及び処理名称エリアには、情報処理を個々に特定するための処理ＩＤと処理名称とが記憶される。処理フラグエリアには、１または０の値をとる処理フラグＦが記憶される。
【００２０】
本実施の形態では、当該情報処理装置に組み込まれているアプリケーションプログラムに基づいて実行される全ての情報処理のうち、オーバークロック対象とされた１以上の情報処理の処理ＩＤと処理名称とが登録テーブル３１に登録される。ここに、登録テーブル３１は、オーバークロック対象の情報処理が１以上登録される登録手段を構成する。
【００２１】
処理フラグＦは、対応する処理ＩＤと処理名称で特定される情報処理が実行中のとき“１”となり、処理が終了すると“０”となる。ここに、処理フラグＦは、登録手段に登録された情報処理毎に実行中か否かを識別する識別手段を構成する。
【００２２】
周波数テーブル３２は、クロックデフォルト値ｄのエリアと、オーバークロック値ｖのエリアとから構成されている。クロックデフォルト値ｄのエリアには、オーバークロックを行わないときのクロック周波数が設定される。オーバークロック値ｖのエリアには、オーバークロックを行うときのクロック周波数が設定される。本実施の形態では、クロックデフォルト値ｄとして１６６ＭＨｚが設定され、オーバークロック値ｖとして２００ＭＨｚが設定されているものとする。
【００２３】
登録テーブル３１の処理ＩＤ及び処理名称と、周波数テーブル３２のクロックデフォルト値ｄ及びオーバークロック値ｖとは、本体１０を介して所望の情報に書き換えることができる。また、両テーブル３１，３２のデータは、当該情報処理装置の電源がオフされる際には本体１０の外部記憶部１４に保存されて、バックアップされる。
【００２４】
登録判定部２３、クロック制御部２４及びクロック変更部２５は、プログラムモジュールで構成されている。このプログラムモジュールをクロック制御プログラムＰと称する。
【００２５】
登録判定部２３は、図３の流れ図に示す手順で動作するように、プログラムＰによって制御されている。すなわち登録判定部２３は、ＳＴ（ステップ）１として、ＣＰＵ１１から処理起動信号が入力されるのを待機している。
【００２６】
ＣＰＵ１１は、実行中のアプリケーションプログラムに従い情報処理を開始する毎に、その情報処理の処理ＩＤを含む処理起動信号を生成し、登録判定部２３に出力する。
【００２７】
登録判定部２３は、上記処理起動信号が入力されると（ＳＴ１のＹＥＳ）、ＳＴ２としてこの処理起動信号から処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索する（判定手段）。
【００２８】
その結果、検索キーと一致する処理ＩＤが検出された場合には（ＳＴ３のＹＥＳ）、登録判定部２３は、ＳＴ４としてこの処理ＩＤを含む起動指令をクロック制御部２４へ通知する。検索キーと一致する処理ＩＤが検出されなかった場合には（ＳＴ３のＮＯ）、ＳＴ４の処理は実行されない。
【００２９】
また、登録判定部２３は、ＳＴ５として、ＣＰＵ１１から処理終了信号が入力されるのを待機している。
【００３０】
ＣＰＵ１１は、実行中のアプリケーションプログラムに従い開始した情報処理を終了する毎に、その情報処理の処理ＩＤを含む処理終了信号を生成し、登録判定部２３に出力する。
【００３１】
登録判定部２３は、上記処理終了信号が入力されると（ＳＴ５のＹＥＳ）、ＳＴ６としてこの処理終了信号から処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索する（判定手段）。
【００３２】
その結果、検索キーと一致する処理ＩＤが検出された場合には（ＳＴ７のＹＥＳ）、登録判定部２３は、ＳＴ８としてこの処理ＩＤを含む終了指令をクロック制御部２４へ通知する。検索キーと一致する処理ＩＤが検出されなかった場合には（ＳＴ７のＮＯ）、ＳＴ８の処理は実行されない。
【００３３】
クロック制御部２４は、図４の流れ図に示す手順で動作するように、プログラムＰによって制御されている。すなわちクロック制御部２４は、ＳＴ１１として、登録判定部２３から前記起動指令が入力されるのを待機している。
【００３４】
起動指令が入力されると（ＳＴ１１のＹＥＳ）、クロック制御部２４は、ＳＴ１２としてこの起動指令に含まれる処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索して、当該検索キーと一致する処理ＩＤに対応した処理フラグＦを“０”から“１”に切り替える（切替手段）。
【００３５】
次に、クロック制御部２４は、ＳＴ１３として登録テーブル３１に記憶されている全ての処理フラグＦの値を合計する。そして、ＳＴ１４としてこのフラグ合計値Ａが“１”であるか否かを判断する（識別確認手段）。
【００３６】
フラグ合計値Ａが“１”であった場合には（ＳＴ１４のＹＥＳ）、直近のＳＴ１２の処理で切り替えられた処理フラグＦだけが“１”であり、他の処理フラグＦは全て“０”である。すなわち、登録テーブル３１に登録されているオーバークロック対象の処理が１つも実行されていない状態から、“１”に切り替えられた処理フラグＦに対応する処理だけが実行されることとなる。この場合、クロック制御部２４は、ＳＴ１５としてオーバークロック指令をクロック変更部２５へ通知する（クロック制御手段）。
【００３７】
フラグ合計値Ａが“１”でない、つまり“２”以上であった場合には（ＳＴ１４のＮＯ）、既にオーバークロック対象の処理が１つ以上実行されている状態で、“１”に切り替えられた処理フラグＦに対応する処理も実行されることとなる。この場合は、既にオーバークロックが行われている。したがって、クロック制御部２４は、ＳＴ１５の処理を実行しない。
【００３８】
また、クロック制御部２４は、ＳＴ１６として、登録判定部２３から前記終了指令が入力されるのを待機している。終了指令が入力されると（ＳＴ１６のＹＥＳ）、クロック制御部２４は、ＳＴ１７としてこの終了指令に含まれる処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索して、当該検索キーと一致する処理ＩＤに対応した処理フラグＦを“１”から“０”に切り替える（切替手段）。
【００３９】
次に、クロック制御部２４は、ＳＴ１８として登録テーブル３１に記憶されている全ての処理フラグＦの値を合計する。そして、ＳＴ１９としてこのフラグ合計値Ａが“０”であるか否かを判断する（識別確認手段）。
【００４０】
フラグ合計値Ａが“０”であった場合には（ＳＴ１９のＹＥＳ）、直近のＳＴ１７の処理で“０”に切り替えられた処理フラグＦを含む全ての処理フラグＦが“０”である。すなわち、登録テーブル３１に登録されているオーバークロック対象の処理は、全て実行されていない。この場合、クロック制御部２４は、ＳＴ２０としてデフォルト指令をクロック変更部２５へ通知する（クロック制御手段）。
【００４１】
フラグ合計値Ａが“０”でない、つまり“１”以上であった場合には（ＳＴ１９のＮＯ）、オーバークロック対象の処理のうち少なくとも１つが実行されている。この場合、クロック制御部２４は、ＳＴ２０の処理を実行しない。すなわち、オーバークロックの状態を維持する。
【００４２】
クロック変更部２５は、図５の流れ図に示す手順で動作するように、プログラムＰによって制御されている。すなわちクロック変更部２５は、ＳＴ２１として、クロック制御部２４から前記オーバークロック指令が入力されるのを待機している。オーバークロック指令が入力されると（ＳＴ２１のＹＥＳ）、クロック変更部２５は、ＳＴ２２として周波数テーブル３２からオーバークロック値ｖを読み込む。そして、ＳＴ２５の処理に進む。
【００４３】
また、クロック変更部２５は、ＳＴ２３として、クロック制御部２４から前記デフォルト指令が入力されるのを待機している。デフォルト指令が入力されると（ＳＴ２３のＹＥＳ）、クロック変更部２５は、ＳＴ２４として周波数テーブル３２からデフォルト値ｄを読み込む。そして、ＳＴ２５の処理に進む。
【００４４】
ＳＴ２５では、クロック変更部２５は、クロック生成部２１にて生成されるクロック信号の周波数ｆを、ＳＴ２２またはＳＴ２４の処理で周波数テーブル３２から読み込んだ値に変更する。すなわち、ＳＴ２２の処理でオーバークロック値ｖを読み込んだ場合には、クロック信号の周波数ｆを当該オーバークロック値ｖに変更する。つまり、クロック信号の周波数ｆを、デフォルト値ｄからオーバークロック値ｖにアップさせる（クロック変更手段）。
【００４５】
一方、ＳＴ２４の処理でデフォルト値ｄを読み込んだ場合には、クロック信号の周波数ｆを当該デフォルト値ｄに変更する。つまり、クロック信号の周波数ｆを、オーバークロック値ｖからデフォルト値ｄにダウンさせる（クロック変更手段）。
【００４６】
今、登録テーブル３１に対して、図６の符号３１ａで示す情報が記憶されていたとする。すなわち、オーバークロック対象の処理として、処理ＩＤ［ｓ１０１０１０１］の「ｘｘｘｘｘｘ処理」と、処理ＩＤ［ｐ１２３４５６７］の「ｙｙｙｙｙｙ処理」と、処理ＩＤ［ｉ９９９９９９９］の「ｚｚｚｚｚｚ処理」との３つの処理が登録されている。そして、これら３つの処理はいずれも実行されておらず、各処理フラグＦは“０”となっている。
【００４７】
この状態で、ＣＰＵ１１で実行されているアプリケーションプログラムに基づいて、「ｘｘｘｘｘｘ処理」が発生したとする。そうすると、登録判定部２３の作用により、この「ｘｘｘｘｘｘ処理」の処理ＩＤ［ｓ１０１０１０１］を含む起動指令が、クロック制御部２４に通知される。
【００４８】
そうすると、クロック制御部２４の作用により、登録テーブル３１の処理ＩＤ［ｓ１０１０１０１］に対応した処理フラグＦが“０”から“１”に切り替わる。すなわち、登録テーブル３１のデータは、図６中符号３１ｂで示す内容となる。このとき、各処理フラグＦの合計は“１”なので、オーバークロック指令がクロック変更部２５に通知される。
【００４９】
このオーバークロック指令を受けて、クロック変更部２５では、周波数テーブル３２からオーバークロック値ｖが読み込まれる。そして、クロック生成部２１で生成されるクロック信号の周波数ｆがオーバークロック値ｖ、つまりは１６６ＭＨｚから２００ＭＨｚにアップされる。したがって、ＣＰＵ１１を含む本体１０では、「ｘｘｘｘｘｘ処理」を含む実行中の全ての処理が、２００ＭＨｚのクロック周波数に基づいて実行される。
【００５０】
さて、上記「ｘｘｘｘｘｘ処理」の実行中に、さらに「ｙｙｙｙｙｙ処理」が発生したとする。そうすると、登録判定部２３の作用により、この「ｙｙｙｙｙｙ処理」の処理ＩＤ［ｐ１２３４５６７］を含む起動指令が、クロック制御部２４に通知される。
【００５１】
そうすると、このクロック制御部２４の作用により、登録テーブル３１の処理ＩＤ［ｐ１２３４５６７］に対応した処理フラグＦが“０”から“１”に切り替わる。すなわち、登録テーブル３１のデータは、図６中符号３１ｃで示す内容となる。このとき、各処理フラグＦの合計は“２”なので、クロック変更部２５に対して特に通知は行われない。したがって、クロック生成部２１で生成されるクロック信号の周波数ｆは、オーバークロック値ｖに対応している。すなわち、ＣＰＵ１１を含む本体１０では、「ｘｘｘｘｘｘ処理」と「ｙｙｙｙｙｙ処理」とを含む実行中の全ての処理が、２００ＭＨｚのクロック周波数に基づいて実行される。
【００５２】
次いで、「ｘｘｘｘｘｘ処理」が終了したとする。そうすると、登録判定部２３の作用により、この「ｘｘｘｘｘｘ処理」の処理ＩＤ［ｓ１０１０１０１］を含む終了指令が、クロック制御部２４に通知される。
【００５３】
そうすると、このクロック制御部２４の作用により、登録テーブル３１の処理ＩＤ［ｓ１０１０１０１］に対応した処理フラグＦが“１”から“０”に切り替わる。すなわち、登録テーブル３１のデータは、図６中符号３１ｄで示す内容となる。このとき、各処理フラグＦの合計は“１”なので、クロック変更部２５に対して特に通知は行われない。したがって、クロック生成部２１で生成されるクロック信号の周波数ｆは、オーバークロック値ｖに対応している。すなわち、ＣＰＵ１１を含む本体１０では、「ｙｙｙｙｙｙ処理」を含む実行中の全ての処理が、２００ＭＨｚのクロック周波数に基づいて実行される。
【００５４】
次いで、「ｙｙｙｙｙｙ処理」が終了したとする。そうすると、登録判定部２３の作用により、この「ｙｙｙｙｙｙ処理」の処理ＩＤ［ｐ１２３４５６７］を含む終了指令が、クロック制御部２４に通知される。
【００５５】
そうすると、このクロック制御部２４の作用により、登録テーブル３１の処理ＩＤ［ｐ１２３４５６７］に対応した処理フラグＦが“１”から“０”に切り替わる。すなわち、登録テーブル３１のデータは、図６中符号３１ａで示す内容となる。このとき、各処理フラグＦの合計は“０”なので、デフォルト指令がクロック変更部２５に通知される。
【００５６】
このデフォルト指令を受けて、クロック変更部２５では、周波数テーブル３２からデフォルト値ｄが読み込まれる。そして、クロック生成部２１で生成されるクロック信号の周波数ｆがデフォルト値ｄ、つまりは２００ＭＨｚから１６６ＭＨｚにダウンされる。したがって、ＣＰＵ１１を含む本体１０では、オーバークロック対象外の処理が、１６６ＭＨｚのクロック周波数に基づいて実行される。
【００５７】
このように第１の実施の形態では、情報処理の起動時に、その情報処理が予めオーバークロック対象として登録されているか否かを判定する。そして、登録されていると判定した場合には、クロック周波数をアップさせる。
【００５８】
また、情報処理の停止時も、その情報処理が予めオーバークロック対象として登録されているか否かを判定する。そして、登録されていると判定した場合には、オーバークロック対象として登録されている他の情報処理を実行中か否かを確認する。そして、他の情報処理を実行中でないと確認した場合に限り、クロック周波数をダウンさせる。
【００５９】
したがって、オーバークロックが行われるのは、予めオーバークロック対象として登録されている情報処理が実行されている期間に限られる。この期間は、オーバークロックにより処理の高速化を実現できる。一方、それ以外の期間はオーバークロックが行われないので、消費電力を節約でき、発熱量を抑えることができる。
【００６０】
次に、第２の実施の形態について、図７〜図１０を用いて説明する。なお、第１の実施の形態と共通する部分には同一符号を付し、詳しい説明は省略する。
【００６１】
図７は、第２の実施の形態における情報処理装置の要部構成を示すブロック図である。図１と比較すれば明らかなように、本体１０は、第１の実施の形態と共通である。クロック発生装置２０は、利用率算出部２６が追加されている点で第１の実施の形態と異なる。利用率算出部２６は、ＣＰＵ１１の利用率をリアルタイムで算出する利用率算出手段として機能するもので、クロック制御プログラムＰによって実現されている。
【００６２】
また、メモリ部２２には、前記登録テーブル３１及び周波数テーブル３２に加えて、図８に示すように、利用率設定値ｓのエリア３３とオーバークロック中フラグＯＶＦのエリア３４とが形成されている。
【００６３】
エリア３３には、ＣＰＵ１１の利用率に応じてオーバークロックを行うか否かの基準となるしきい値が利用率設定値ｓとして記憶されている。本実施の形態では、利用率設定値ｓを７０％とする。すなわち、ＣＰＵ１１の利用率が７０％を越えた場合はオーバークロックを行い、７０％以下のときにはオーバークロックを行わない。
【００６４】
エリア３４のオーバークロック中フラグＯＶＦは、例えばオーバークロックが行われていときは“１”となり、行われていないときは“０”となる。
【００６５】
クロック生成部２１、登録判定部２３及びクロック変更部２５は、第１の実施の形態と同様に作用する。
【００６６】
クロック制御部２４は、図９の流れ図に示す手順で動作するように、プログラムＰによって制御されている。すなわちクロック制御部２４は、ＳＴ３１として、登録判定部２３から前記起動指令が入力されるのを待機している。
【００６７】
起動指令が入力されると（ＳＴ３１のＹＥＳ）、クロック制御部２４は、ＳＴ３２としてこの起動指令に含まれる処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索して、当該検索キーと一致する処理ＩＤに対応した処理フラグＦを“０”から“１”に切り替える（切替手段）。
【００６８】
次に、クロック制御部２４は、ＳＴ３３としてオーバークロック中フラグＯＶＦをチェックする。オーバークロック中フラグＯＶＦが“０”の場合には（ＳＴ３３のＹＥＳ）、オーバークロックが行われていない。この場合、クロック制御部２４は、ＳＴ３４として利用率算出部２６からＣＰＵ１１の現在の利用率Ｂを取得する。そして、ＳＴ３５としてこの利用率Ｂと利用率設定値ｓとを比較する（利用率確認手段）。
【００６９】
ここで、利用率Ｂが利用率設定値ｓを越えている場合には（ＳＴ３５のＹＥＳ）、クロック制御部２４は、ＳＴ３６としてオーバークロック指令をクロック変更部２５へ通知する（クロック制御手段）。また、ＳＴ３７としてオーバークロック中フラグＯＶＦを“１”にセットする。
【００７０】
これに対し、利用率Ｂが利用率設定値ｓ以下の場合には（ＳＴ３５のＮＯ）、クロック制御部２４は、ステップＳＴ３６及びＳＴ３７の処理を実行しない。ここに、利用率設定値ｓは、第１のしきい値として機能する。
【００７１】
ＳＴ３３にてオーバークロック中フラグＯＶＦが既に“１”にセットされていた場合には（ＳＴ１４のＮＯ）、既にオーバークロックが行われている。したがって、クロック制御部２４は、ＳＴ３４〜ＳＴ３７の処理を実行しない。
【００７２】
また、クロック制御部２４は、ＳＴ３８として、登録判定部２３から前記終了指令が入力されるのを待機している。終了指令が入力されると（ＳＴ３８のＹＥＳ）、クロック制御部２４は、ＳＴ３９としてこの終了指令に含まれる処理ＩＤを取得する。そして、この処理ＩＤを検索キーとして登録テーブル３１を検索して、当該検索キーと一致する処理ＩＤに対応した処理フラグＦを“１”から“０”に切り替える（切替手段）。
【００７３】
次に、クロック制御部２４は、ＳＴ４０としてオーバークロック中フラグＯＶＦをチェックする。オーバークロック中フラグＯＶＦが“０”の場合には（ＳＴ４０のＮＯ）、以後の処理を実行しない、すなわち、デフォルトの状態を維持する。
【００７４】
これに対し、オーバークロック中フラグＯＶＦが“１”であった場合には（ＳＴ４０のＹＥＳ）、オーバークロックが行われている。この場合、クロック制御部２４は、ＳＴ４１として登録テーブル３１に記憶されている全ての処理フラグＦの値を合計する。そして、ＳＴ４２としてこのフラグ合計値Ａが“０”であるか否かを判断する（識別確認手段）。
【００７５】
フラグ合計値Ａが“０”であった場合には（ＳＴ２のＹＥＳ）、直近のＳＴ３９の処理で“０”に切り替えられた処理フラグＦを含む全ての処理フラグＦが“０”である。すなわち、登録テーブル３１に登録されているオーバークロック対象の処理は、全て実行されていない。この場合、クロック制御部２４は、ＳＴ４３として利用率算出部２６からＣＰＵ１１の現在の利用率Ｂを取得する。そして、ＳＴ４４としてこの利用率Ｂと利用率設定値ｓとを比較する（利用率確認手段）。
【００７６】
ここで、利用率Ｂが利用率設定値ｓ以下である場合には（ＳＴ４４のＮＯ）、クロック制御部２４は、ＳＴ４５としてデフォルト指令をクロック変更部２５へ通知する（クロック制御手段）。また、ＳＴ４６としてオーバークロック中フラグＯＶＦを“０”にリセットする。
【００７７】
これに対し、利用率Ｂが利用率設定値ｓを超えている場合には（ＳＴ４４のＹＥＳ）、クロック制御部２４は、ＳＴ４５及びＳＴ４６の処理を実行しない。すなわち、オーバークロックの状態を維持する。ここに、利用率設定値ｓは、第２のしきい値として機能する。
【００７８】
利用率Ｂが利用率設定値ｓを超えている場合には（ＳＴ４４のＹＥＳ）、クロック制御部２４は、ＳＴ４７として利用率監視処理を起動する。この利用率監視処理は、図１０の流れ図によって具体的に示される。すなわち、クロック制御部２４は、一定時間が経過する毎に（ＳＴ５１のＹＥＳ）、ＣＰＵ１１の利用率Ｂを取得し（ＳＴ５２）、利用率Ｂが設定値ｓ以下に低下するのを待機する（ＳＴ５３）。そして、利用率Ｂが設定値ｓ以下に低下したならば（ＳＴ５３のＮＯ）、クロック制御部２４は、ＳＴ５４としてデフォルト指令をクロック変更部２５へ通知する。また、ＳＴ５５としてオーバークロック中フラグＯＶＦを“０”にリセットする。以上で、利用率監視処理を終了する。
【００７９】
このように第２の実施の形態では、情報処理の起動時に、その情報処理が予めオーバークロック対象として登録されているか否かを判定する。そして、登録されていると判定した場合には、ＣＰＵ１１の利用率が設定値ｓを超えているか否かを確認する。そして、超えていると確認した場合には、クロック周波数をアップさせる。
【００８０】
また、情報処理の停止時も、その情報処理が予めオーバークロック対象として登録されているか否かを判定する。そして、登録されていると判定した場合には、オーバークロック対象として登録されている他の情報処理を実行中か否かを確認する。そして、他の情報処理を実行中でないと確認した場合には、ＣＰＵ１１の利用率が設定値ｓ以下であるか否かを確認する。そして、設定値ｓ以下であると確認した場合に限り、クロック周波数をダウンさせる。また、設定値ｓを越えていた場合には、設定値ｓ以下に低下するまで待機し、設定値ｓ以下になったならば、クロック周波数をダウンさせる。
【００８１】
したがって、オーバークロックが行われるのは、予めオーバークロック対象として登録されている情報処理が実行されている期間であり、なおかつ、ＣＰＵ１１の利用率が設定値ｓを超えている場合、若しくは、予めオーバークロック対象として登録されている情報処理が全て終了したが、依然としてＣＰＵ１１の利用率が設定値ｓを超えている場合に限られる。この期間は、オーバークロックにより処理の高速化を実現できる。一方、それ以外の期間はオーバークロックが行われないので、消費電力を節約でき、発熱量を抑えることができる。
【００８２】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【００８３】
例えば第２の実施の形態において、クロック制御部２４は、図９のＳＴ４１の処理で登録テーブル３１に記憶されている全ての処理フラグＦの値を合計し、ＳＴ４２の処理でこのフラグ合計値Ａが“０”であるか否かを判断しているが、このＳＴ４１及びＳＴ４２の処理を省略しても良い。すなわち、情報処理終了時、当該情報処理が登録テーブル３１に登録されているか否かを判定し、登録されていると判定されると、ＣＰＵ１１の利用率を確認し、利用率が設定値ｓであることが確認されるとクロック周波数のダウンを指令するようにしてもよい。
【００８４】
また、第２の実施の形態では、利用率Ｂと比較されるしきい値として、利用率設定値ｓを１種類としたが、オーバークロック対象の処理起動時に利用率Ｂと比較される第１のしきい値ｓ１と、オーバークロック対象の処理終了時に利用率Ｂと比較される第２のしきい値ｓ２とを、ｓ１＞ｓ２またはｓ１＜ｓ２というように段階的に設定してもよい。
【００８５】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施の形態における情報処理装置の要部構成を示すブロック図。
【図２】同第１の実施の形態において、メモリ部に形成されている主要なメモリエリアを示す図。
【図３】同第１の実施の形態において、登録判定部で実行される処理手順の要部を示す流れ図。
【図４】同第１の実施の形態において、クロック制御部で実行される処理手順の要部を示す流れ図。
【図５】同第１の実施の形態において、クロック変更部で実行される処理手順の要部を示す流れ図。
【図６】同第１の実施の形態において、登録テーブルで記憶されるデータの変遷の一例を示す図。
【図７】本発明の第２の実施の形態における情報処理装置の要部構成を示すブロック図。
【図８】同第２の実施の形態において、メモリ部に形成されている主要なメモリエリアを示す図。
【図９】同第２の実施の形態において、クロック制御部で実行される処理手順の要部を示す流れ図。
【図１０】図９の利用率監視処理の手順を具体的に示す流れ図。
【符号の説明】
【００８７】
１０…本体、１１…ＣＰＵ、２０…クロック発生装置、２１…クロック生成部、２２…メモリ部、２３…登録判定部、２４…クロック制御部、２４…クロック変更部２５，２６…利用率算出部。
【図１】
0005308043.tif 000002
【図２】
0005308043.tif 000003
【図３】
0005308043.tif 000004
【図４】
0005308043.tif 000005
【図５】
0005308043.tif 000006
【図６】
0005308043.tif 000007
【図７】
0005308043.tif 000008
【図８】
0005308043.tif 000009
【図９】
0005308043.tif 000010
【図１０】
0005308043.tif 000011