説明

コンピュータ装置、CPUクロック調整方法

【課題】イベントに対するコンピュータ装置からのレスポンスを早くする。
【解決手段】本発明は、CPU1を有し、CPU1のクロック周波数を調整するコンピュータ装置に適用される。本発明のコンピュータ装置は、次に発生するイベントを予測するイベント予測手段313と、予測されたイベントが発生する前に、そのイベントに応じてCPU1のクロック周波数を事前に調整するクロック調整手段312と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPU(Central Processing Unit)を搭載したPC(Personal Computer)やPOS(Point Of Sales)などのコンピュータ装置において、CPUのクロック周波数を調整する技術に関する。
【背景技術】
【0002】
近年、CPUは、処理性能が大幅に向上しているが、その反面、消費電力が増加する傾向にある。
【0003】
そのため、最近は、CPUの負荷に応じて、CPUのクロック周波数を調整し、消費電力を抑える方法が注目を浴びている。
【0004】
上記の方法は、具体的には、CPUの負荷が低い時にはクロック周波数を低くし、CPUの負荷が高い時にはクロック周波数を高くする方法である。上記の方法に対応したCPUとしては、例えば、主にバッテリ駆動のノート型PCなどに搭載され、クロック周波数がコア電圧で可変するCPUが挙げられる。
【0005】
以下、上記の方法に対応したCPUを搭載した従来のコンピュータ装置の構成について、図4を参照して説明する。
【0006】
図4に示すように、従来のコンピュータ装置は、CPU1と、ROM(Read Only Memory)2と、補助記憶装置3と、入力装置4と、制御回路5と、RAM(Random Access Memory)6と、を有している。
【0007】
CPU1は、コア電圧によりクロック周波数が可変する。
【0008】
CPU1が後述するOS31を起動すると、CPU1上に、OS31内のドライバ(Driver)311およびクロック調整手段312が実現される。ドライバ311は、CPU1のコア電圧を変化させる手段であり、クロック調整手段312は、ドライバ311を通してCPU1のコア電圧を変化させてCPU1のクロック周波数を調整する手段である。
【0009】
ROM2は、本コンピュータ装置の基本制御を行うための基本制御プログラム21を記憶する。CPU1は、本コンピュータ装置の起動時には、ROM2から基本制御プログラム21を読み出し、基本制御プログラム21に従って初期設定を行う。
【0010】
その他にも、ROM2は、本コンピュータ装置に固有の基本情報を記憶する。この基本情報には、CPU1の固有の情報(VID(Voltage ID),FID(Frequency ID))も含まれる。CPU1は、初期設定時に、ROM2からCPU1の固有の情報を読み出す。
【0011】
補助記憶装置3は、OS31を記憶するハードディスクなどの一般的な記憶手段である。CPU1は、補助記憶装置3からOS31を読み出し、OS31を起動する。OS31の起動時には、CPU1は、初期設定時に得られたCPU1の固有の情報をOS31に通知する。これを基に、OS31は、CPU1のクロック周波数の変動範囲を知ることができ、この変動範囲内でCPU1のクロック周波数を調整する。
【0012】
入力装置4は、オペレータが入力等の操作を行うキーボードやタッチパネルなどである。
【0013】
制御回路5は、一般的にCPU1とは異なるバスに接続されるROM2、補助記憶装置3、および入力装置4と接続されていて、これらを制御する。
【0014】
RAM6は、CPU1のワークエリアとなる一般的な記憶手段である。CPU1は、RAM6にデータを一時的に記憶させながら演算を行う。
【0015】
ここで、図4に示したコンピュータ装置において、CPU1のクロック周波数を高くする場合の動作について説明する。
【0016】
一般的に、CPU1のクロック周波数を高くするのは、オペレータが入力装置4を操作するなどのイベントが発生した時となる。
【0017】
そのため、OS31内のクロック調整手段312は、イベントが発生すると、その後に、ドライバ311を通してCPU1のコア電圧を変化させて、CPU1のクロック周波数を高くする。この方法は、例えば、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開平11−110063号公報
【発明の概要】
【発明が解決しようとする課題】
【0019】
しかし、特許文献1に開示された方法では、イベントが発生した後に、CPU1のクロック周波数を高くしている。
【0020】
そうすると、イベントにより発生した処理と、CPU1のクロック周波数を高くする処理と、が並行して処理されるため、イベントによって発生する処理を実行する際にはその処理に十分なリソースが与えられず、レスポンスが遅れてしまうという課題があった。
【0021】
例えば、何のアプリケーションも起動していない状態で、業務アプリケーションを起動するというイベントが発生したとする。この場合、CPU1のクロック周波数を高くする処理と、業務アプリケーションを実行する処理と、が並行して行われる。
【0022】
このため、業務アプリケーションを実行する処理に与えられるリソースが制限され、その結果、オペレータは、業務アプリケーション、すなわちコンピュータ装置からのレスポンスが遅く感じられることがあった。
【0023】
そこで、本発明の目的は、上述した課題を解決し、イベントに対するコンピュータ装置からのレスポンスを早くすることができるコンピュータ装置、CPUクロック調整方法を提供することにある。
【課題を解決するための手段】
【0024】
本発明のコンピュータ装置は、
CPUを有し、該CPUのクロック周波数を調整するコンピュータ装置であって、
次に発生するイベントを予測するイベント予測手段と、
前記予測されたイベントが発生する前に、該イベントに応じて前記CPUのクロック周波数を事前に調整するクロック調整手段と、を有する。
【0025】
本発明のクロック調整方法は、
CPUを有するコンピュータ装置において、該CPUのクロック周波数を調整するクロック調整方法であって、
次に発生するイベントを予測するイベント予測ステップと、
前記予測されたイベントが発生する前に、該イベントに応じて前記CPUのクロック周波数を事前に調整するクロック調整ステップと、を有する。
【発明の効果】
【0026】
本発明は、コンピュータ装置において、次に発生するイベントを予測し、イベント発生前にCPUのクロック周波数を事前に調整している。
【0027】
したがって、イベントによって発生する処理を実行する際には、その処理に十分なリソースを事前に与えることができるため、オペレータがイベントに対する素早いレスポンスを得ることが可能となる。
【0028】
例えば、外部センサを利用した場合は、オペレータが入力装置の操作を行おうと、入力装置に手を伸ばした時にそれを外部センサで検知し、操作開始前からCPUのクロック周波数を最適値に調整し、オペレータの操作を受け付けることが可能となるため、オペレータは素早いレスポンスを得ることができる。
【0029】
また、過去のイベントのイベントパターンの情報を利用した場合は、現在のイベントの次に発生するイベントを予測することが可能となるため、オペレータは素早いレスポンスや効率的な演算速度を得ることができる。また、適切なタイミングでCPUのクロック周波数を調整できるため、消費電力を抑えることが可能となる。
【図面の簡単な説明】
【0030】
【図1】本発明の一実施形態のコンピュータ装置の構成を示すブロック図である。
【図2】図1に示したCPUの状態遷移図である。
【図3】図1に示した補助記憶装置やRAMに記憶されるイベントログを説明する図である。
【図4】従来のコンピュータ装置の一構成例を示すブロック図である。
【発明を実施するための形態】
【0031】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【0032】
図1に示すように、本実施形態のコンピュータ装置は、図4に示した従来のコンピュータ装置と比較して、外部センサ7を設けた点と、OS31内にイベント予測手段313が存在する点と、が異なる。なお、図1において、図4と同様の構成要素には同一の符号を付している。
【0033】
以下では、図4に示した従来のコンピュータ装置と異なる点を中心に説明する。
【0034】
イベント予測手段313は、次に発生するイベントを予測する手段である。なお、イベント予測手段313は、ドライバ311およびクロック調整手段312と同様に、CPU1がOS31を起動することで、CPU1上に実現される。
【0035】
例えば、イベント予測手段313は、外部センサ7を利用して、イベントの発生を予測する。
【0036】
外部センサ7は、入力装置4の近くに配置され、入力装置4の付近に近づいたオペレータの存在を検知する人感センサなどの検知手段である。
【0037】
イベント予測手段313は、外部センサ7により入力装置4の付近のオペレータの存在が検知されると、オペレータが入力装置4を操作するイベントが発生すると予測する。
【0038】
または、イベント予測手段313は、過去に発生したイベントに関するイベントログをRAM6や補助記憶装置3に記憶させておき、そのイベントログを利用して、イベントの発生を予測する。
【0039】
RAM6や補助記憶装置3には、イベントログとして、以下のような情報を記憶させる。
・過去のイベントのイベント発生時のクロック周波数
・過去のイベントのイベント開始時間
・過去のイベントのイベント完了時間
・過去に連続して発生したイベントのイベントパターン
なお、イベントパターンは、イベント予測手段313が過去のイベントのイベント開始時間およびイベント完了時間の情報等を基に、予め解析したものである。
【0040】
イベント予測手段313は、RAM6や補助記憶装置3内にイベントログとして記憶されているイベントパターンの情報に基づいて、現在のイベントの次に発生するイベントを予測する。
【0041】
クロック調整手段312は、イベント予測手段313により上記のようにしてイベントの発生が予測されると、予測されたイベントが発生する前に、予測されたイベントに応じてCPU1のクロック周波数を事前に調整する。
【0042】
このとき、クロック調整手段312は、RAM6や補助記憶装置3内にイベントログとして記憶されている、予測されたイベントが過去に発生したときのCPU1のクロック周波数に基づいて、CPU1のクロック周波数を調整する。
【0043】
以下に、図1に示した本実施形態のコンピュータ装置の動作について、図2のCPU1の状態遷移図を参照して説明する。
【0044】
図2に示すように、CPU1は、本コンピュータ装置の起動時に、ROM2から基本制御プログラム21を読み込み、基本制御プログラム21に従って、初期設定を行う。この初期設定時に、CPU1は、CPU1の固有の情報(VID,FID)を読み出す(ステップS1)。
【0045】
以降に、CPU1が補助記憶装置3内に記憶されたOS31を起動すると、CPU1上に、ドライバ311、クロック調整手段312、およびイベント予測手段313が実現される。このOS31の起動時に、CPU1は、初期設定時にROM2から読み出したCPU1の固有の情報(VID,FID)をOS31に通知する(ステップS2,S3)。これを基に、OS31内の各手段は、CPU1のクロック周波数の変動範囲を知ることができるため、この変動範囲内でCPU1のクロック周波数を調整する。
【0046】
一般的に、CPU1のクロック周波数を高くするのは、上述のように、イベントが発生した時となる。しかし、特許文献1のように、イベントが発生した後に、CPU1のクロック周波数を高くすると、イベントによって発生する処理と、CPU1のクロック周波数を高くする処理と、が並行して処理される。そのため、イベントによって発生する処理に与えられるリソースが制限され、イベントに対するレスポンスが遅れてしまう。
【0047】
そこで、本実施形態では、イベント予測手段313が、次に発生するイベントを予測し(ステップS4)、クロック調整手段312が、予測されたイベントの発生前に事前にCPU1のクロック周波数を高くする(ステップS5)。
【0048】
例えば、CPU1のクロック周波数を高くする処理に必要な時間が3秒であるとすると、クロック調整手段312は、イベントが発生する3秒前にトリガを発生させ、ドライバ311を通してCPU1のクロック周波数を高くする。
【0049】
以下、イベントを予測する2つの方法について具体的に説明する。
(1)第1の方法
本方法は、外部センサ7を利用する方法である。
【0050】
本コンピュータ装置がPCやPOSなどである場合、入力装置4としてキーボードやタッチパネルが使用される。その場合、外部センサ7を入力装置4の付近に設置し、オペレータがキーボード入力やタッチパネル入力の操作を行おうと手を伸ばした時に、それを外部センサ7が検知する。
【0051】
すると、イベント予測手段313は、オペレータが入力装置4を操作するイベントが発生すると予測し、クロック調整手段312は、ドライバ311を通してCPU1のクロック周波数を高くする。
【0052】
このように、外部センサ7を利用することで、入力装置4を操作するイベントが実際に発生する前にCPU1のクロック周波数を事前に高くすることができる。
【0053】
その結果、オペレータが操作を開始する時は、既にCPU1のクロック周波数は高くなっているため、オペレータは、本コンピュータ装置から素早いレスポンスを得ることが可能となる。
【0054】
この時、クロック調整手段312は、クロック周波数を次のように調整する。
【0055】
RAM6および補助記憶装置3内に、過去のイベントのイベント発生時のCPU1のクロック周波数の情報をイベントログとして記憶させる。
【0056】
そして、クロック調整手段312は、イベントログとして記憶されている、入力装置4を操作するイベントが過去に発生した時のCPU1のクロック周波数の情報を基に、CPU1のクロック周波数を最適値(最大値など)に調整する。
(2)第2の方法
本方法は、RAM6や補助記憶装置3内に記憶されているイベントログを利用する方法である。
【0057】
本コンピュータ装置がPCやPOSである場合、一般的に、連続して発生するイベントのイベントパターンが固定化されていることが多い。
【0058】
そこで、図3に示すように、RAM6や補助記憶装置3の一部をイベントパターンの解析を行うためのワークエリアとして利用し、イベント予測手段313は、このワークエリアにおいて、過去に連続して発生したイベントのイベントパターンを解析し、これをイベントログとしてRAM6や補助記憶装置3に記憶させる。
【0059】
イベントパターンの解析では、例えば、RAM6および補助記憶装置3内に、過去のイベントのイベント開始時間およびイベント完了時間の情報をイベントログとして記憶させ、これを利用することが考えられる。
【0060】
また、クロック調整手段312は、過去のイベントのイベント完了時間の情報を基に、イベントパターンに含まれる各イベントのイベント完了時間をタイムアウト時間として設定する。
(2−1)PCの場合
例えば、図3に示すように、PCに、3つの入力装置4−1〜4−3が備えられており、オペレータが入力装置4−1〜4−3を操作するイベントを、それぞれ操作イベントI/O#1〜I/O#3と表す場合に、次のイベントパターンが記憶されているとする。
・イベントパターン1
I/O#1→I/O#2→I/O#3の順序で操作イベントが発生するパターン
・イベントパターン2
I/O#1→I/O#1→I/O#3の順序で操作イベントが発生するパターン
この場合、I/O#1→I/O#2の順序で操作イベントが発生した場合は、イベントパターン1と一致する可能性が高いため、次に発生するイベントとしては操作イベントI/O#3が考えられる。
【0061】
そのため、イベント予測手段313は、現在の操作イベントI/O#2の次に操作イベントI/O#3が発生すると予測し、クロック調整手段312は、現在の操作イベントI/O#2が完了した時点で、操作イベントI/O#3に応じてCPU1のクロック周波数を事前に調整しておく。
【0062】
ただし、操作イベントI/O#3が発生せずにタイムアウト時間が経過した場合は、クロック調整手段312は、操作イベントI/O#3が完了したとみなし、その時のCPU1の負荷に応じて、CPU1のクロック周波数を調整する。
(2−2)POSの場合
例えば、POSでは、商品のバーコードをスキャンするイベントや、スキャンが不可の場合に商品の金額を入力するイベントが繰り返し行われ、その後の精算処理で、精算金額を入力するイベントが行われる。
【0063】
そのため、商品のバーコードをスキャンするイベントが発生した後も、入力の待ち時間などもあるものの、精算処理が完了するまでは、次の商品のバーコードをスキャンするイベントなどが発生する可能性が高い。
【0064】
そこで、イベント予測手段313は、POSにおける上述のイベントパターンを解析し、イベントログとしてRAM6や補助記憶装置3に記憶させておく。
【0065】
そして、イベント予測手段313は、商品のバーコードをスキャンするイベントが発生した場合には、POSにおける上述のイベントパターンの情報に基づいて、精算処理が完了するまでは引き続きイベントが発生すると予測し、クロック調整手段312は、CPU1のクロック周波数を低くせずに、引き続き最適値を保ち続ける。
【0066】
ただし、次の商品をスキャンするイベントや次の商品の金額を入力するイベントが発生せずにタイムアウト時間が経過した場合は、クロック調整手段312は、そのイベントが完了したとみなし、消費電力を抑えるためにCPU1のクロック周波数を低くする。
【0067】
その後も、イベント予測手段313は、現在までのイベントパターンの情報に基づいて、再び、ある一定時間後にイベントが発生することを予測すると、クロック調整手段312は、そのイベントが発生する前にCPU1のクロック周波数を事前に最適値に調整しておく。
【0068】
なお、本コンピュータ装置がPOSなどのように様々なオペレータにより操作される装置である場合は、オペレータに応じて、商品のバーコードをスキャンする処理から精算処理までの処理時間が異なる。そのため、このような場合は、RAM6にイベントログを記憶させて動的にイベントの発生を予測することで、効率的にCPU1のクロック周波数を調整することが可能となる。
【符号の説明】
【0069】
1 CPU
2 ROM
21 基本制御プログラム
3 補助記憶装置
31 OS
311 ドライバ
312 クロック調整手段
313 イベント予測手段
4 入力装置
5 制御回路
6 RAM
7 外部センサ

【特許請求の範囲】
【請求項1】
CPUを有し、該CPUのクロック周波数を調整するコンピュータ装置であって、
次に発生するイベントを予測するイベント予測手段と、
前記予測されたイベントが発生する前に、該イベントに応じて前記CPUのクロック周波数を事前に調整するクロック調整手段と、
過去に連続して発生したイベントのイベントパターンの情報を記憶する記憶手段と、を有し、
前記イベント予測手段は、
前記イベントパターンの情報に基づいて、現在のイベントの次に発生するイベントを予測する、コンピュータ装置。
【請求項2】
前記記憶手段は、
過去のイベントが発生したときの前記CPUのクロック周波数の情報をさらに記憶し、
前記クロック調整手段は、
前記予測されたイベントが過去に発生したときの前記CPUのクロック周波数の情報に基づいて、前記CPUのクロック周波数を調整する、請求項1に記載のコンピュータ装置。
【請求項3】
前記記憶手段は、
過去のイベントが発生したときの該イベントの完了時間の情報をさらに記憶し、
前記クロック調整手段は、
前記予測されたイベントが過去に発生したときの該イベントの完了時間をタイムアウト時間として設定し、
前記予測されたイベントが発生せずに前記タイムアウト時間が経過した場合は、該イベントが完了したとみなす、請求項1または2に記載のコンピュータ装置。
【請求項4】
CPUを有するコンピュータ装置において、該CPUのクロック周波数を調整するクロック調整方法であって、
次に発生するイベントを予測するイベント予測ステップと、
前記予測されたイベントが発生する前に、該イベントに応じて前記CPUのクロック周波数を事前に調整するクロック調整ステップと、
過去に連続して発生したイベントのイベントパターンの情報を記憶手段に記憶する記憶ステップと、を有し、
前記イベント予測ステップでは、
前記イベントパターンの情報に基づいて、現在のイベントの次に発生するイベントを予測する、クロック調整方法。
【請求項5】
前記記憶ステップでは、
過去のイベントが発生したときの前記CPUのクロック周波数の情報を前記記憶手段にさらに記憶し、
前記クロック調整ステップでは、
前記予測されたイベントが過去に発生したときの前記CPUのクロック周波数の情報に基づいて、前記CPUのクロック周波数を調整する、請求項4に記載のクロック調整方法。
【請求項6】
前記記憶ステップでは、
過去のイベントが発生したときの該イベントの完了時間の情報を前記記憶手段にさらに記憶し、
前記クロック調整ステップでは、
前記予測されたイベントが過去に発生したときの該イベントの完了時間をタイムアウト時間として設定し、
前記予測されたイベントが発生せずに前記タイムアウト時間が経過した場合は、該イベントが完了したとみなす、請求項4または5に記載のクロック調整方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−93052(P2013−93052A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2013−19245(P2013−19245)
【出願日】平成25年2月4日(2013.2.4)
【分割の表示】特願2008−322680(P2008−322680)の分割
【原出願日】平成20年12月18日(2008.12.18)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】