JPH11296251A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH11296251A JPH11296251A JP10093052A JP9305298A JPH11296251A JP H11296251 A JPH11296251 A JP H11296251A JP 10093052 A JP10093052 A JP 10093052A JP 9305298 A JP9305298 A JP 9305298A JP H11296251 A JPH11296251 A JP H11296251A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- cpu
- information processing
- frequency
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Power Sources (AREA)
Abstract
(57)【要約】
【課題】 適切なタイミングでクロック制御を行なっ
て、CPUの消費電力を抑えることができる情報処理装
置を提供する。 【解決手段】 ソフトウェアモデム・プログラム23
(通信プログラム)によって、通信のネゴシエーション
状態(フェーズ)や通信速度によって変化する、必要な
CPU負荷を、モデム必要性能要求レジスタ26を通じ
て、クロック制御レジスタ29を制御するパワー・マネ
ジメント・プログラム24に伝える。これにより、CP
Uクロック制御回路28を制御し、電力消費を最小にす
るクロック制御を行う。
て、CPUの消費電力を抑えることができる情報処理装
置を提供する。 【解決手段】 ソフトウェアモデム・プログラム23
(通信プログラム)によって、通信のネゴシエーション
状態(フェーズ)や通信速度によって変化する、必要な
CPU負荷を、モデム必要性能要求レジスタ26を通じ
て、クロック制御レジスタ29を制御するパワー・マネ
ジメント・プログラム24に伝える。これにより、CP
Uクロック制御回路28を制御し、電力消費を最小にす
るクロック制御を行う。
Description
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特にクロック制御されるホストCPUにおいてパワ
ーセーブモードを実現する情報処理装置に関するもので
ある。
し、特にクロック制御されるホストCPUにおいてパワ
ーセーブモードを実現する情報処理装置に関するもので
ある。
【0002】
【従来の技術】情報処理装置等のディジタル処理を行う
装置では、それに搭載された、例えば、マイクロプロセ
ッサが所定の処理を実行するため、特定周波数のクロッ
クパルスを生成するクロック発振器を備えている。そし
て、情報処理装置の中には、所定の動作状態に応じてク
ロック周波数を変化させ、装置における消費電力を抑え
るものもある。
装置では、それに搭載された、例えば、マイクロプロセ
ッサが所定の処理を実行するため、特定周波数のクロッ
クパルスを生成するクロック発振器を備えている。そし
て、情報処理装置の中には、所定の動作状態に応じてク
ロック周波数を変化させ、装置における消費電力を抑え
るものもある。
【0003】この種の装置として、従来は、例えば、図
1に示すような特開平9−237132号公報に開示さ
れた装置がある。図1は、クロック制御を行うコンピュ
ータシステムの構成を示すブロック図である。同図にお
いて、クロック発振器1は、システムの動作に必要なク
ロックを生成、出力し、CPU2は、このクロック発振
器1で生成され、後述するクロック・コントローラを介
して入力されるクロックに基づいて動作し、アプリケー
ションプログラムを実行する。また、このCPU2は、
クロック切換信号SMI(システムマネージメント割込
み)を受けて、その動作を一時停止する。
1に示すような特開平9−237132号公報に開示さ
れた装置がある。図1は、クロック制御を行うコンピュ
ータシステムの構成を示すブロック図である。同図にお
いて、クロック発振器1は、システムの動作に必要なク
ロックを生成、出力し、CPU2は、このクロック発振
器1で生成され、後述するクロック・コントローラを介
して入力されるクロックに基づいて動作し、アプリケー
ションプログラムを実行する。また、このCPU2は、
クロック切換信号SMI(システムマネージメント割込
み)を受けて、その動作を一時停止する。
【0004】負荷検出部3は、CPU2の負荷を検出す
る部分であり、上記アプリケーションプログラムの実行
中に、システムの所定の動作状態を検出して、クロック
切換信号であるSMI信号を出力する。バッテリ残容量
検出部5は、システムの動作用電源として使用されるバ
ッテリ(不図示)の残量を検出し、バッテリ残量に従っ
て、クロック切換信号であるSMI信号を出力する。ま
た、発熱検出部6は、CPU2の発熱温度を検出し、そ
の発熱温度に従って、クロック切換信号であるSMI信
号を出力する。そして、クロック・コントローラ4は、
上記のクロック切換信号を受けて、一旦、CPU2によ
るアプリケーションプログラムの動作を中断し、クロッ
ク発振器1のクロック周波数を切換える。
る部分であり、上記アプリケーションプログラムの実行
中に、システムの所定の動作状態を検出して、クロック
切換信号であるSMI信号を出力する。バッテリ残容量
検出部5は、システムの動作用電源として使用されるバ
ッテリ(不図示)の残量を検出し、バッテリ残量に従っ
て、クロック切換信号であるSMI信号を出力する。ま
た、発熱検出部6は、CPU2の発熱温度を検出し、そ
の発熱温度に従って、クロック切換信号であるSMI信
号を出力する。そして、クロック・コントローラ4は、
上記のクロック切換信号を受けて、一旦、CPU2によ
るアプリケーションプログラムの動作を中断し、クロッ
ク発振器1のクロック周波数を切換える。
【0005】次に、図1に示すシステムの動作について
説明する。クロック・コントローラ4は、クロック発振
器1より供給される基本クロックCP(例えば、75M
Hzの周波数を有する)を分周してクロック周波数を変
え、異なる周波数のクロックCF,CH,CM,CLを
生成する。
説明する。クロック・コントローラ4は、クロック発振
器1より供給される基本クロックCP(例えば、75M
Hzの周波数を有する)を分周してクロック周波数を変
え、異なる周波数のクロックCF,CH,CM,CLを
生成する。
【0006】具体的には、CPU2は、負荷検出部3、
バッテリ残容量検出部5、および発熱検出部6からSM
I信号を受けると、クロック・コントローラ4にクロッ
クを可変する指示を出す。クロック・コントローラ4
は、その指示に基づいて、CPU2に対してクロックを
可変することを示す信号SIを出力し、CPU2をクロ
ック可変許可状態(ストップグラント状態)に設定す
る。このような設定がなされると、CPU2は、アプリ
ケーションプログラムの動作を停止する。
バッテリ残容量検出部5、および発熱検出部6からSM
I信号を受けると、クロック・コントローラ4にクロッ
クを可変する指示を出す。クロック・コントローラ4
は、その指示に基づいて、CPU2に対してクロックを
可変することを示す信号SIを出力し、CPU2をクロ
ック可変許可状態(ストップグラント状態)に設定す
る。このような設定がなされると、CPU2は、アプリ
ケーションプログラムの動作を停止する。
【0007】クロック・コントローラ4によりクロック
が切り換えられた後、CPU2が、周波数切換え後のク
ロックで安定すると、クロック・コントローラ4は、上
記のストップグラント状態を解除し、通常のアプリケー
ションプログラム動作状態にする。この制御を頻繁に繰
り返すことによって、システムの動作中、すなわち、ア
プリケーションプログラム等が動作中であっても、円
滑、確実に、かつ効率よくクロック周波数を切り換え
て、消費電力を低減している。
が切り換えられた後、CPU2が、周波数切換え後のク
ロックで安定すると、クロック・コントローラ4は、上
記のストップグラント状態を解除し、通常のアプリケー
ションプログラム動作状態にする。この制御を頻繁に繰
り返すことによって、システムの動作中、すなわち、ア
プリケーションプログラム等が動作中であっても、円
滑、確実に、かつ効率よくクロック周波数を切り換え
て、消費電力を低減している。
【0008】なお、CPU2の負荷状態は、CPU2が
アプリケーションプログラムを実行しているときの動作
状態を、そのOS(オペレーティング・システム)に付
属するドライバソフトウェアにより、例えば、ある一定
時間でのCPU2のアイドル状態の回数に基づいて、負
荷検出部3で判断される。
アプリケーションプログラムを実行しているときの動作
状態を、そのOS(オペレーティング・システム)に付
属するドライバソフトウェアにより、例えば、ある一定
時間でのCPU2のアイドル状態の回数に基づいて、負
荷検出部3で判断される。
【0009】また、ソフトウェアの処理負荷に応じてク
ロック周波数を変化させる装置の例として、例えば、特
開平5−158587号公報に開示された情報処理装置
がある。この装置では、複雑な計算処理等の負荷がある
ときには、クロック速度を早めるように、小さな処理能
力でよいときには、低速クロックに切り換えるよう通知
を行っている。
ロック周波数を変化させる装置の例として、例えば、特
開平5−158587号公報に開示された情報処理装置
がある。この装置では、複雑な計算処理等の負荷がある
ときには、クロック速度を早めるように、小さな処理能
力でよいときには、低速クロックに切り換えるよう通知
を行っている。
【0010】
【発明が解決しようとする課題】しかしながら、上記従
来のクロック制御方式を備えたコンピュータシステムで
は、そのCPUの負荷状態を、CPUのアイドル状態の
検出によって調べたり、モデムや表示コントローラのよ
うなデバイスが、各デバイス毎に必要なCPU負荷を通
知している。また、上記の特開平5−158587号公
報に係る情報処理装置では、クロック信号の周波数の切
換えを、単に通知手段と記載された手段で通知してい
る。
来のクロック制御方式を備えたコンピュータシステムで
は、そのCPUの負荷状態を、CPUのアイドル状態の
検出によって調べたり、モデムや表示コントローラのよ
うなデバイスが、各デバイス毎に必要なCPU負荷を通
知している。また、上記の特開平5−158587号公
報に係る情報処理装置では、クロック信号の周波数の切
換えを、単に通知手段と記載された手段で通知してい
る。
【0011】そして、これらのCPUの負荷検出方式を
用いる、通信プロトコルやディジタル信号波形処理をホ
ストCPUが行なう情報処理装置では、瞬時に変化する
CPU負荷に追従できず、これにより発生する通信エラ
ーを防ぐために、CPUクロックを固定させたり、通信
に関するプログラムが、必要とするCPU負荷の最大値
以上にCPUクロックを設定する等の制御を行ってい
る。このため、本来必要なCPUクロック以上のクロッ
クで動作が行われ、システムとして必要以上の電力を消
費してしまう、という問題がある。
用いる、通信プロトコルやディジタル信号波形処理をホ
ストCPUが行なう情報処理装置では、瞬時に変化する
CPU負荷に追従できず、これにより発生する通信エラ
ーを防ぐために、CPUクロックを固定させたり、通信
に関するプログラムが、必要とするCPU負荷の最大値
以上にCPUクロックを設定する等の制御を行ってい
る。このため、本来必要なCPUクロック以上のクロッ
クで動作が行われ、システムとして必要以上の電力を消
費してしまう、という問題がある。
【0012】また、CPUクロックを固定させない場合
には、CPU負荷が増大したことを認識した後にクロッ
クを切り換えるため、クロック制御がそれに追従でき
ず、結果的に通信エラーを防ぐことができないという問
題もある。
には、CPU負荷が増大したことを認識した後にクロッ
クを切り換えるため、クロック制御がそれに追従でき
ず、結果的に通信エラーを防ぐことができないという問
題もある。
【0013】本発明は、上述の課題に鑑みてなされたも
のであり、その目的とするところは、通信プログラム等
のプログラムがホストCPU上で動作している際、適切
なタイミングでクロック制御を行なって、CPUの消費
電力を抑えることができる情報処理装置を提供すること
である。
のであり、その目的とするところは、通信プログラム等
のプログラムがホストCPU上で動作している際、適切
なタイミングでクロック制御を行なって、CPUの消費
電力を抑えることができる情報処理装置を提供すること
である。
【0014】
【課題を解決するための手段】上記の目的を達成するた
め、第1の発明は、クロックの供給を受けた中央演算処
理部によって、1あるいはそれ以上のプログラムを実行
する情報処理装置において、当該情報処理装置がデータ
通信開始状態にあるか否かを判断する判断手段と、上記
判断手段によって、当該情報処理装置が上記データ通信
開始状態にあると判断された場合、そのデータ通信の通
信速度を取得する手段と、上記通信速度に対する上記中
央演算処理部の処理性能を判定する手段と、上記処理性
能の実現に必要な上記クロックの最低周波数を算出する
手段と、上記算出した最低周波数を上記クロックの分周
値に換算する手段とを備え、上記中央演算処理部は、上
記分周値に基づいたクロック周波数で動作する情報処理
装置を提供する。
め、第1の発明は、クロックの供給を受けた中央演算処
理部によって、1あるいはそれ以上のプログラムを実行
する情報処理装置において、当該情報処理装置がデータ
通信開始状態にあるか否かを判断する判断手段と、上記
判断手段によって、当該情報処理装置が上記データ通信
開始状態にあると判断された場合、そのデータ通信の通
信速度を取得する手段と、上記通信速度に対する上記中
央演算処理部の処理性能を判定する手段と、上記処理性
能の実現に必要な上記クロックの最低周波数を算出する
手段と、上記算出した最低周波数を上記クロックの分周
値に換算する手段とを備え、上記中央演算処理部は、上
記分周値に基づいたクロック周波数で動作する情報処理
装置を提供する。
【0015】また、第2の発明は、クロックの供給を受
けた中央演算処理部によって、1あるいはそれ以上のプ
ログラムを実行する情報処理装置において、当該情報処
理装置がネゴシエーション状態にあるか否かを判断する
判断手段と、上記判断手段によって、当該情報処理装置
が上記ネゴシエーション状態にあると判断された場合、
そのネゴシエーション状態に対する上記中央演算処理部
の処理性能を判定する手段と、上記処理性能の実現に必
要な上記クロックの最低周波数を算出する手段と、上記
算出した最低周波数を上記クロックの分周値に換算する
手段とを備え、上記中央演算処理部は、上記分周値に基
づいたクロック周波数で動作する情報処理装置を提供す
る。
けた中央演算処理部によって、1あるいはそれ以上のプ
ログラムを実行する情報処理装置において、当該情報処
理装置がネゴシエーション状態にあるか否かを判断する
判断手段と、上記判断手段によって、当該情報処理装置
が上記ネゴシエーション状態にあると判断された場合、
そのネゴシエーション状態に対する上記中央演算処理部
の処理性能を判定する手段と、上記処理性能の実現に必
要な上記クロックの最低周波数を算出する手段と、上記
算出した最低周波数を上記クロックの分周値に換算する
手段とを備え、上記中央演算処理部は、上記分周値に基
づいたクロック周波数で動作する情報処理装置を提供す
る。
【0016】さらに、第3の発明は、クロックの供給を
受けた中央演算処理部によって、1あるいはそれ以上の
プログラムを実行する情報処理装置において、当該情報
処理装置がデータ通信開始状態にあるか、あるいはネゴ
シエーション状態にあるかを判断する判断手段と、上記
判断手段によって、当該情報処理装置が上記データ通信
開始状態にあると判断された場合、そのデータ通信の通
信速度を取得し、かつその通信速度に対する上記中央演
算処理部の処理性能を判定する第1の判定手段と、上記
判断手段によって、当該情報処理装置が上記ネゴシエー
ション状態にあると判断された場合、そのネゴシエーシ
ョン状態に対する上記中央演算処理部の処理性能を判定
する第2の判定手段と、上記第1あるいは第2の判定手
段によって判定された上記処理性能の実現に必要な、上
記クロックの最低周波数を算出する手段と、上記算出し
た最低周波数を上記クロックの分周値に換算する手段と
を備え、上記中央演算処理部は、上記分周値に基づいた
クロック周波数で動作する情報処理装置を提供する。
受けた中央演算処理部によって、1あるいはそれ以上の
プログラムを実行する情報処理装置において、当該情報
処理装置がデータ通信開始状態にあるか、あるいはネゴ
シエーション状態にあるかを判断する判断手段と、上記
判断手段によって、当該情報処理装置が上記データ通信
開始状態にあると判断された場合、そのデータ通信の通
信速度を取得し、かつその通信速度に対する上記中央演
算処理部の処理性能を判定する第1の判定手段と、上記
判断手段によって、当該情報処理装置が上記ネゴシエー
ション状態にあると判断された場合、そのネゴシエーシ
ョン状態に対する上記中央演算処理部の処理性能を判定
する第2の判定手段と、上記第1あるいは第2の判定手
段によって判定された上記処理性能の実現に必要な、上
記クロックの最低周波数を算出する手段と、上記算出し
た最低周波数を上記クロックの分周値に換算する手段と
を備え、上記中央演算処理部は、上記分周値に基づいた
クロック周波数で動作する情報処理装置を提供する。
【0017】好ましくは、上記プログラムには、ソフト
ウェアモデム機能を有する通信プログラムが含まれ、こ
の通信プログラムが上記中央演算処理部の処理性能を判
定する。また、好ましくは、さらに、上記分周値を格納
するメモリと、上記通信速度あるいは上記ネゴシエーシ
ョン状態に応じて、このメモリ内の分周値を書き換える
手段とを備える。
ウェアモデム機能を有する通信プログラムが含まれ、こ
の通信プログラムが上記中央演算処理部の処理性能を判
定する。また、好ましくは、さらに、上記分周値を格納
するメモリと、上記通信速度あるいは上記ネゴシエーシ
ョン状態に応じて、このメモリ内の分周値を書き換える
手段とを備える。
【0018】そして、好ましくは、上記分周値に基づく
クロック周波数は、上記中央演算処理部の動作時の消費
電力を最小にする周波数である。
クロック周波数は、上記中央演算処理部の動作時の消費
電力を最小にする周波数である。
【0019】
【発明の実施の形態】以下、添付図面を参照して、本発
明に係る実施の形態を説明する。 実施の形態1.図2は、本発明の実施の形態1に係る情
報処理装置の主要部の構成を示すブロック図である。同
図に示す情報処理装置21において、ホストCPU22
は、後述するCPUクロック31によって動作し、この
CPU22上では、2つのプログラムが動作する。すな
わち、バス32経由で、モデム必要性能要求レジスタ2
6の内容を書き換えることのできる通信プログラム(例
えば、ソフトウェアモデム・プログラム23)と、同じ
くバス32経由で、CPUクロック制御レジスタ29の
読出し/書込み、およびモデム必要性能要求レジスタ2
6の内容を読み出すパワーセーブ・モードを制御するパ
ワー・マネジメント・プログラム24とが動作する。
明に係る実施の形態を説明する。 実施の形態1.図2は、本発明の実施の形態1に係る情
報処理装置の主要部の構成を示すブロック図である。同
図に示す情報処理装置21において、ホストCPU22
は、後述するCPUクロック31によって動作し、この
CPU22上では、2つのプログラムが動作する。すな
わち、バス32経由で、モデム必要性能要求レジスタ2
6の内容を書き換えることのできる通信プログラム(例
えば、ソフトウェアモデム・プログラム23)と、同じ
くバス32経由で、CPUクロック制御レジスタ29の
読出し/書込み、およびモデム必要性能要求レジスタ2
6の内容を読み出すパワーセーブ・モードを制御するパ
ワー・マネジメント・プログラム24とが動作する。
【0020】また、上記CPU22は、メインメモリ2
5に対して読出し/書込みが可能であり、このメインメ
モリ25上に、上述した、ソフトウェアモデム・プログ
ラム23によって書込みが行われ、パワー・マネジメン
ト・プログラム24が読出しを行う、モデム必要性能要
求レジスタ26がある。
5に対して読出し/書込みが可能であり、このメインメ
モリ25上に、上述した、ソフトウェアモデム・プログ
ラム23によって書込みが行われ、パワー・マネジメン
ト・プログラム24が読出しを行う、モデム必要性能要
求レジスタ26がある。
【0021】クロック生成器27は、一定周波数の源ク
ロック30をCPUクロック制御回路28へ出力し、C
PUクロック制御回路28は、それを受けてCPU22
へクロックを供給するとともに、クロック周波数の可変
制御を行う。なお、このCPUクロック制御回路28
は、例えば、ASIC等で構成されている。
ロック30をCPUクロック制御回路28へ出力し、C
PUクロック制御回路28は、それを受けてCPU22
へクロックを供給するとともに、クロック周波数の可変
制御を行う。なお、このCPUクロック制御回路28
は、例えば、ASIC等で構成されている。
【0022】上記のCPUクロック制御回路28は、ク
ロック生成器27からの源クロック30を分周して、C
PUクロック31を生成するが、その分周値は、CPU
クロック制御回路28内のCPUクロック制御レジスタ
29に格納された値による。通常、ディジタル処理装置
では、動作クロック周波数に比例して、消費電流が増加
するため、例えば、この分周によって、CPU22へ供
給されるクロックの周波数が遅くなれば、CPU22で
の消費電力を抑えることが可能になる。
ロック生成器27からの源クロック30を分周して、C
PUクロック31を生成するが、その分周値は、CPU
クロック制御回路28内のCPUクロック制御レジスタ
29に格納された値による。通常、ディジタル処理装置
では、動作クロック周波数に比例して、消費電流が増加
するため、例えば、この分周によって、CPU22へ供
給されるクロックの周波数が遅くなれば、CPU22で
の消費電力を抑えることが可能になる。
【0023】このように、クロック生成器27で生成さ
れた源クロック30は、CPUクロック制御回路28に
入力され、そこからCPUクロック31として出力され
た後、CPU22に供給される。なお、バス32は、上
記のCPU22、メインメモリ25、CPUクロック制
御回路28を相互に接続する信号経路である。
れた源クロック30は、CPUクロック制御回路28に
入力され、そこからCPUクロック31として出力され
た後、CPU22に供給される。なお、バス32は、上
記のCPU22、メインメモリ25、CPUクロック制
御回路28を相互に接続する信号経路である。
【0024】次に、本実施の形態1に係る情報処理装置
の動作を説明する。ソフトウェアモデム・プログラムの
ような、データ通信プロトコルやディジタル信号処理を
実行するプログラムでは、必要なCPU性能(CPU_
MIPS(Million Instructions
Per Second)値)は、その通信状態によっ
て大きく変化する。例えば、V.34モデムの通信で
は、以下のような状態(手順)を踏む。なお、以下の説
明でカッコ内のPは、各々の状態毎の必要なCPU性能
を示している。
の動作を説明する。ソフトウェアモデム・プログラムの
ような、データ通信プロトコルやディジタル信号処理を
実行するプログラムでは、必要なCPU性能(CPU_
MIPS(Million Instructions
Per Second)値)は、その通信状態によっ
て大きく変化する。例えば、V.34モデムの通信で
は、以下のような状態(手順)を踏む。なお、以下の説
明でカッコ内のPは、各々の状態毎の必要なCPU性能
を示している。
【0025】すなわち、通信開始処理(P=最小)→ネ
ゴシエーション・フェーズ1(P=小)→ネゴシエーシ
ョン・フェーズ2(P=最大)→ネゴシエーション・フ
ェーズ3(P=大)→ネゴシエーション・フェーズ4
(P=中〜大)→データ通信中(P=中〜大)→通信終
了処理(P=最小)となる。
ゴシエーション・フェーズ1(P=小)→ネゴシエーシ
ョン・フェーズ2(P=最大)→ネゴシエーション・フ
ェーズ3(P=大)→ネゴシエーション・フェーズ4
(P=中〜大)→データ通信中(P=中〜大)→通信終
了処理(P=最小)となる。
【0026】そこで、上記の動作の詳細をフローチャー
トを参照して行なう。図3は、本実施の形態1に係る装
置のCPU22内で動作するソフトウェアモデム・プロ
グラム23の一部の動作を示すフローチャートである。
同図において、ステップS1では、CPU22によっ
て、ソフトウェアモデム・プログラム23が通信を開始
したかどうかを判断し、それが通信を開始していれば、
処理をステップS2へ進めるが、通信を開始していなけ
れば、再度、ステップS1へ戻る。
トを参照して行なう。図3は、本実施の形態1に係る装
置のCPU22内で動作するソフトウェアモデム・プロ
グラム23の一部の動作を示すフローチャートである。
同図において、ステップS1では、CPU22によっ
て、ソフトウェアモデム・プログラム23が通信を開始
したかどうかを判断し、それが通信を開始していれば、
処理をステップS2へ進めるが、通信を開始していなけ
れば、再度、ステップS1へ戻る。
【0027】ステップS2では、ソフトウェアモデム・
プログラム23が、データの通信速度を決定したかどう
かを判断し、その決定がなされていれば、必要なCPU
_MIPS値を算出するために、処理をステップS3へ
進める。しかし、通信速度が決定されていなければ、そ
こでは何も処理せずにステップS1へ戻る。このよう
に、通信速度の決定がなされていないにも拘わらず、何
も処理しないのは、ソフトウェアモデム等の通信プログ
ラムが、ネゴシエーション中に通信速度をあらかじめ決
定しておく、ということを利用しているからである。
プログラム23が、データの通信速度を決定したかどう
かを判断し、その決定がなされていれば、必要なCPU
_MIPS値を算出するために、処理をステップS3へ
進める。しかし、通信速度が決定されていなければ、そ
こでは何も処理せずにステップS1へ戻る。このよう
に、通信速度の決定がなされていないにも拘わらず、何
も処理しないのは、ソフトウェアモデム等の通信プログ
ラムが、ネゴシエーション中に通信速度をあらかじめ決
定しておく、ということを利用しているからである。
【0028】ステップS3では、ソフトウェアモム・プ
ログラム23がネゴシエーションで決定した通信速度を
取得する。また、シンボル速度、キャリア周波数が必要
CPU性能に影響する場合には、それらの値も取得す
る。
ログラム23がネゴシエーションで決定した通信速度を
取得する。また、シンボル速度、キャリア周波数が必要
CPU性能に影響する場合には、それらの値も取得す
る。
【0029】ステップS4では、ステップS3で取得し
た通信速度から、必要なCPU_MIPS値を算出す
る。ここでは、CPU_MIPS値とは別に、CPU2
2が1回の積和演算を実施するのに必要な、1秒間あた
りのクロック数を単位とするMIPS値を、CPU_M
ODEM_MIPS値と定義しておく。この通信速度に
必要なCPU_MODEM_MIPS値は、ソフトウェ
アモデム・プログラム23が、現在の通信速度での演算
処理に必要な1秒間あたりの積和演算の数に等しい。な
お、通信プログラム(ソフトウェアモデム・プログラム
23)によっては、この算出にシンボル速度、キャリア
周波数も併せて使用される。
た通信速度から、必要なCPU_MIPS値を算出す
る。ここでは、CPU_MIPS値とは別に、CPU2
2が1回の積和演算を実施するのに必要な、1秒間あた
りのクロック数を単位とするMIPS値を、CPU_M
ODEM_MIPS値と定義しておく。この通信速度に
必要なCPU_MODEM_MIPS値は、ソフトウェ
アモデム・プログラム23が、現在の通信速度での演算
処理に必要な1秒間あたりの積和演算の数に等しい。な
お、通信プログラム(ソフトウェアモデム・プログラム
23)によっては、この算出にシンボル速度、キャリア
周波数も併せて使用される。
【0030】ステップS5では、ネゴシエーション処理
の終了を判定し、それが終了していれば、CPU_MO
DEM_MIPS値を設定するためにステップS6へ処
理を進めるが、終了していなければ、ステップS5で、
その終了を待つ。なお、これは、データ通信開始直前に
CPUクロック31の周波数を変更するために行なう処
理である。
の終了を判定し、それが終了していれば、CPU_MO
DEM_MIPS値を設定するためにステップS6へ処
理を進めるが、終了していなければ、ステップS5で、
その終了を待つ。なお、これは、データ通信開始直前に
CPUクロック31の周波数を変更するために行なう処
理である。
【0031】そして、ステップS6では、上記のステッ
プ4で算出した、ソフトウェアモデム・プログラム23
がデータ通信状態時に必要なCPU_MODEM_MI
PS値を、バス32を経由して、メインメモリ26上の
モデム必要性能要求レジスタ26に書き込み、その後、
ステップS1の処理へ戻る。
プ4で算出した、ソフトウェアモデム・プログラム23
がデータ通信状態時に必要なCPU_MODEM_MI
PS値を、バス32を経由して、メインメモリ26上の
モデム必要性能要求レジスタ26に書き込み、その後、
ステップS1の処理へ戻る。
【0032】図4は、CPU22内で動作するパワー・
マネジメント・プログラム24の処理手順を示すフロー
チャートである。同図のステップS11では、本実施の
形態1に係る情報処理装置21に使用されているCPU
22が、1回の積和演算を行なうのに必要なクロック数
を取得する。なお、これをCPU_MODEM_MIP
S_BASEと呼ぶ。このクロック数は、CPU22、
ソフトウェアモデム・プログラム23をコンパイルする
際のコンパイル環境によって異なるため、あらかじめ決
めておくべきものである。
マネジメント・プログラム24の処理手順を示すフロー
チャートである。同図のステップS11では、本実施の
形態1に係る情報処理装置21に使用されているCPU
22が、1回の積和演算を行なうのに必要なクロック数
を取得する。なお、これをCPU_MODEM_MIP
S_BASEと呼ぶ。このクロック数は、CPU22、
ソフトウェアモデム・プログラム23をコンパイルする
際のコンパイル環境によって異なるため、あらかじめ決
めておくべきものである。
【0033】ステップS12では、CPU22の通常使
用時のクロック周波数を取得する。ここでは、この値を
CPU_CLK_MAXと呼ぶ。これは、CPU22の
最高動作周波数を意味する。続くステップS13で、現
在のCPUクロック31の周波数を得るために、CPU
クロック制御レジスタ29より、現在設定されているC
PUクロック31の分周値を取得する。この値をCLK
_DIVと呼ぶ。
用時のクロック周波数を取得する。ここでは、この値を
CPU_CLK_MAXと呼ぶ。これは、CPU22の
最高動作周波数を意味する。続くステップS13で、現
在のCPUクロック31の周波数を得るために、CPU
クロック制御レジスタ29より、現在設定されているC
PUクロック31の分周値を取得する。この値をCLK
_DIVと呼ぶ。
【0034】ステップS14では、以下の手順で、現在
のCPU22の性能値を算出する。 現在のCPUクロック31の周波数を (CPU_CLK_MAX)÷(CLK_DIV) によって算出する。 の結果を、さらにCPU_MODEM_MIPS_
BASEで割って、CPU_MODEM_MIPS値単
位に換算する。なお、ここで算出されたの値をCPU
_MODEM_MIPS_NOWと呼ぶ。
のCPU22の性能値を算出する。 現在のCPUクロック31の周波数を (CPU_CLK_MAX)÷(CLK_DIV) によって算出する。 の結果を、さらにCPU_MODEM_MIPS_
BASEで割って、CPU_MODEM_MIPS値単
位に換算する。なお、ここで算出されたの値をCPU
_MODEM_MIPS_NOWと呼ぶ。
【0035】ステップS15で、ソフトウェアモデム・
プログラムが必要なCPU_MODEM_MIPS値
を、モデム必要性能要求レジスタ26から読み込む。こ
の値をREQ_MODEM_MIPSと呼ぶ。続くステ
ップS16では、ソフトウェアモデム・プログラム23
と同時にCPU22上で実行されているソフトウェアの
要求CPU_MODEM_MIPS値を読み込む。この
値をAPP_MIPSと呼ぶ。このAPP_MIPS値
は、CPU_MODEM_MIPS値単位の値を設定す
る。
プログラムが必要なCPU_MODEM_MIPS値
を、モデム必要性能要求レジスタ26から読み込む。こ
の値をREQ_MODEM_MIPSと呼ぶ。続くステ
ップS16では、ソフトウェアモデム・プログラム23
と同時にCPU22上で実行されているソフトウェアの
要求CPU_MODEM_MIPS値を読み込む。この
値をAPP_MIPSと呼ぶ。このAPP_MIPS値
は、CPU_MODEM_MIPS値単位の値を設定す
る。
【0036】上記のAPP_MIPSは、ソフトウェア
モデム・プログラム23が動作している基本ソフトウェ
ア(OS)の種類によって、以下のように決めなければ
ならない。 UNIXシステムのようなソフトウェアモデム・プロ
グラム23に一定周期毎に実行時間を割り当てることが
できる場合 APP_MIPSの設定値に制限はない。例えば、電力
消費を可能な限り抑えたい場合は、REQ_MODEM
_MIPSの30%を下回らない程度の値を目安に設定
する。 ソフトウェアモデム・プログラム23に、一定周期毎
に実行時間を割り当てることができない場合 APP_MIPSを小さく設定しすぎると、ソフトウェ
アモデム・プログラム23の実行に影響を与え、通信エ
ラーの発生を招いてしまう。そこで、同時に実行するソ
フトウェアの、必要なCPU_MODEM_MIPS値
を別途算出するか、あるいはプログラムから取得して設
定する。
モデム・プログラム23が動作している基本ソフトウェ
ア(OS)の種類によって、以下のように決めなければ
ならない。 UNIXシステムのようなソフトウェアモデム・プロ
グラム23に一定周期毎に実行時間を割り当てることが
できる場合 APP_MIPSの設定値に制限はない。例えば、電力
消費を可能な限り抑えたい場合は、REQ_MODEM
_MIPSの30%を下回らない程度の値を目安に設定
する。 ソフトウェアモデム・プログラム23に、一定周期毎
に実行時間を割り当てることができない場合 APP_MIPSを小さく設定しすぎると、ソフトウェ
アモデム・プログラム23の実行に影響を与え、通信エ
ラーの発生を招いてしまう。そこで、同時に実行するソ
フトウェアの、必要なCPU_MODEM_MIPS値
を別途算出するか、あるいはプログラムから取得して設
定する。
【0037】ステップS17では、現在のCPU22の
CPU_MODEM_MIPS値であるCPU_MOD
EM_MIPS_NOWを、ソフトウェアモデム・プロ
グラム23の必要とするCPU_MODEM_MIPS
値であるREQ_MODEM_MIPSと、ソフトウェ
アモデム・プログラム23以外のプログラムの必要とす
るCPU_MODEM_MIPS値であるAPP_MI
PSとを加えたものと比較して、パワーセーブが可能か
どうかを判断する。すなわち、CPU_MODEM_M
IPSが、上記の加算結果より大きい場合は、パワーセ
ーブをするためにステップ18へ進むが、そうでない場
合には、ステップS13へ戻る。
CPU_MODEM_MIPS値であるCPU_MOD
EM_MIPS_NOWを、ソフトウェアモデム・プロ
グラム23の必要とするCPU_MODEM_MIPS
値であるREQ_MODEM_MIPSと、ソフトウェ
アモデム・プログラム23以外のプログラムの必要とす
るCPU_MODEM_MIPS値であるAPP_MI
PSとを加えたものと比較して、パワーセーブが可能か
どうかを判断する。すなわち、CPU_MODEM_M
IPSが、上記の加算結果より大きい場合は、パワーセ
ーブをするためにステップ18へ進むが、そうでない場
合には、ステップS13へ戻る。
【0038】ステップS18で、CPUクロック制御レ
ジスタ29への設定値(クロック分周値)を算出する。
この算出は、以下の手順で行なう。 全てのプログラムを動作させるために必要なCPU_
MODEM_MIPS値を、CPU_MIPS値単位に
変換する。すなわち、 (REQ_MODEM_MIPS+APP_MIPS)
×(CPU_MODEM_MIPS_BASE) で、CPU22が必要な1秒間あたりのクロック数に変
換する。 CPU22の最高動作周波数CPU_CLK_MAX
を、で算出したCPU22が必要な1秒間あたりのク
ロック数で割ることで、CPUクロック制御レジスタ2
2へ設定する分周値を算出する。なお、ここで算出され
た分周値をSET_CLK_DIVと呼ぶ。
ジスタ29への設定値(クロック分周値)を算出する。
この算出は、以下の手順で行なう。 全てのプログラムを動作させるために必要なCPU_
MODEM_MIPS値を、CPU_MIPS値単位に
変換する。すなわち、 (REQ_MODEM_MIPS+APP_MIPS)
×(CPU_MODEM_MIPS_BASE) で、CPU22が必要な1秒間あたりのクロック数に変
換する。 CPU22の最高動作周波数CPU_CLK_MAX
を、で算出したCPU22が必要な1秒間あたりのク
ロック数で割ることで、CPUクロック制御レジスタ2
2へ設定する分周値を算出する。なお、ここで算出され
た分周値をSET_CLK_DIVと呼ぶ。
【0039】そして、ステップS19では、CPUクロ
ック制御レジスタ29へ、上記ステップS18で算出し
たSET_CLK_DIVを書き込み、処理をステップ
S13へ戻す。
ック制御レジスタ29へ、上記ステップS18で算出し
たSET_CLK_DIVを書き込み、処理をステップ
S13へ戻す。
【0040】以上説明したように、本実施の形態によれ
ば、データ通信状態において、その通信速度に必要なC
PU_MIPS値を算出し、算出したCPU_MIPS
値より、その性能を実現するために最低限必要なCPU
クロックを算出、設定することで、通信速度によって変
化する必要CPU負荷に追従したクロック制御を実現で
き、通信に関するプログラムが実行されているときで
も、このクロック制御機能を動作させることにより、消
費電力を抑えることができる。
ば、データ通信状態において、その通信速度に必要なC
PU_MIPS値を算出し、算出したCPU_MIPS
値より、その性能を実現するために最低限必要なCPU
クロックを算出、設定することで、通信速度によって変
化する必要CPU負荷に追従したクロック制御を実現で
き、通信に関するプログラムが実行されているときで
も、このクロック制御機能を動作させることにより、消
費電力を抑えることができる。
【0041】実施の形態2.上述した実施の形態1で
は、通信プログラムの通信速度に応じて、必要なCPU
負荷を通知し、クロック制御を行なっているが、以下、
通信プログラムのネゴシエーション状態に応じて、必要
なCPU負荷を通知して、クロック制御を行なう例につ
いて説明する。なお、本実施の形態2に係る情報処理装
置は、図2に示す、実施の形態1に係る情報処理装置と
構成が同じであるため、ここでは、その説明を省略す
る。
は、通信プログラムの通信速度に応じて、必要なCPU
負荷を通知し、クロック制御を行なっているが、以下、
通信プログラムのネゴシエーション状態に応じて、必要
なCPU負荷を通知して、クロック制御を行なう例につ
いて説明する。なお、本実施の形態2に係る情報処理装
置は、図2に示す、実施の形態1に係る情報処理装置と
構成が同じであるため、ここでは、その説明を省略す
る。
【0042】また、上述のように、ソフトウェアモデム
のようなデータ通信プロトコルやディジタル信号処理を
実行するプログラムでは、必要なCPU性能(CPU_
MIPS値)は、その通信状態によって大きく変化す
る。そして、これら各々の状態毎に、必要なCPU性能
が変化する。
のようなデータ通信プロトコルやディジタル信号処理を
実行するプログラムでは、必要なCPU性能(CPU_
MIPS値)は、その通信状態によって大きく変化す
る。そして、これら各々の状態毎に、必要なCPU性能
が変化する。
【0043】そこで、本実施の形態2に係る情報処理装
置の動作について説明する。図5は、本実施の形態に係
る装置のCPU22内で動作するソフトウェアモデム・
プログラム23の、一部の動作を示すフローチャートで
ある。同図のステップS21では、ソフトウェアモデム
・プログラム23が通信を開始したかどうかを判断し、
それが通信を開始していれば、ステップS22へ進み、
通信を開始していなければ、ステップS21へ戻る。
置の動作について説明する。図5は、本実施の形態に係
る装置のCPU22内で動作するソフトウェアモデム・
プログラム23の、一部の動作を示すフローチャートで
ある。同図のステップS21では、ソフトウェアモデム
・プログラム23が通信を開始したかどうかを判断し、
それが通信を開始していれば、ステップS22へ進み、
通信を開始していなければ、ステップS21へ戻る。
【0044】ステップS22において、ソフトウェアモ
デム・プログラム23が、現在ネゴシエーション中ある
いは通信開始処理中、またはそれ以外かどうかを判断
し、ネゴシエーション中あるいは通信開始処理中であれ
ば、必要なCPU_MIPS値を算出するためにステッ
プS23へ進む。しかし、そうでない場合(ステップS
22の判断がNO)には、何も処理せずにステップS2
1へ戻る。
デム・プログラム23が、現在ネゴシエーション中ある
いは通信開始処理中、またはそれ以外かどうかを判断
し、ネゴシエーション中あるいは通信開始処理中であれ
ば、必要なCPU_MIPS値を算出するためにステッ
プS23へ進む。しかし、そうでない場合(ステップS
22の判断がNO)には、何も処理せずにステップS2
1へ戻る。
【0045】ステップS23では、ソフトウェアモデム
・プログラム23が、現在行なっている処理の、次のネ
ゴシエーション・フェーズ番号Nを取得する。すなわ
ち、通信開始処理中であれば(フェーズ)1を、フェー
ズ1処理中であれば(フェーズ)2を、フェーズ2処理
中であれば(フェーズ)3、・・・のようにフェーズ番
号が決まる。
・プログラム23が、現在行なっている処理の、次のネ
ゴシエーション・フェーズ番号Nを取得する。すなわ
ち、通信開始処理中であれば(フェーズ)1を、フェー
ズ1処理中であれば(フェーズ)2を、フェーズ2処理
中であれば(フェーズ)3、・・・のようにフェーズ番
号が決まる。
【0046】ステップS24において、ステップS23
で取得したフェーズ番号より、必要なCPU_MIPS
値を算出する。ここでのMIPS値とは、CPU22が
1回の積和演算を実施するために必要な、1秒間あたり
のクロック数を単位とするMIPS値であり、CPU_
MODEM_MIPS値と定義する。フェーズ番号によ
って必要なCPU_MODEM_MIPS値は、ソフト
ウェアプログラム23が行なうネゴシエーション・フェ
ーズでの演算処理に必要な1秒間あたりの積和演算数に
等しい。
で取得したフェーズ番号より、必要なCPU_MIPS
値を算出する。ここでのMIPS値とは、CPU22が
1回の積和演算を実施するために必要な、1秒間あたり
のクロック数を単位とするMIPS値であり、CPU_
MODEM_MIPS値と定義する。フェーズ番号によ
って必要なCPU_MODEM_MIPS値は、ソフト
ウェアプログラム23が行なうネゴシエーション・フェ
ーズでの演算処理に必要な1秒間あたりの積和演算数に
等しい。
【0047】ステップS25では、N=1のときに通信
開始処理、N=2以上のときには、ネゴシエーション・
フェーズ[N−1]が終了していれば、ステップS26
へ進み、それが終了していなければ、ステップS25で
の処理を繰り返す。これは、次のネゴシエーション番号
Nの処理開始直前に、CPUクロック31の周波数を変
更するために行なう処理である。
開始処理、N=2以上のときには、ネゴシエーション・
フェーズ[N−1]が終了していれば、ステップS26
へ進み、それが終了していなければ、ステップS25で
の処理を繰り返す。これは、次のネゴシエーション番号
Nの処理開始直前に、CPUクロック31の周波数を変
更するために行なう処理である。
【0048】ステップS26では、上記のステップS2
4で算出した、ソフトウェアモデム・プログラム23が
次のネゴシエーション・フェーズで必要なCPU_MO
DEM_MIPS値を、バス32を経由して、メインメ
モリ26上にあるモデム必要性能要求レジスタ26に書
き込む。そして、その後、ステップS21へ処理を戻
す。
4で算出した、ソフトウェアモデム・プログラム23が
次のネゴシエーション・フェーズで必要なCPU_MO
DEM_MIPS値を、バス32を経由して、メインメ
モリ26上にあるモデム必要性能要求レジスタ26に書
き込む。そして、その後、ステップS21へ処理を戻
す。
【0049】なお、本実施の形態に係る装置のCPU2
2内で動作するパワー・マネジメント・プログラム24
は、実施の形態1のそれと同一であるため、ここでは、
その説明を省略する。
2内で動作するパワー・マネジメント・プログラム24
は、実施の形態1のそれと同一であるため、ここでは、
その説明を省略する。
【0050】以上説明したように、本実施の形態2によ
れば、通信のネゴシエーション状態において、ネゴシエ
ーションのフェーズ番号毎に必要なCPU_MIPS値
を算出し、算出したCPU_MIPS値から、この性能
を実現する最低限必要なCPUクロックを算出し、設定
することで、通信のネゴシエーション状態(フェーズ)
によって変化する必要なCPU負荷に追随したクロック
制御を実現でき、通信プログラム実行時においても動作
消費電力を抑えることが可能となる。
れば、通信のネゴシエーション状態において、ネゴシエ
ーションのフェーズ番号毎に必要なCPU_MIPS値
を算出し、算出したCPU_MIPS値から、この性能
を実現する最低限必要なCPUクロックを算出し、設定
することで、通信のネゴシエーション状態(フェーズ)
によって変化する必要なCPU負荷に追随したクロック
制御を実現でき、通信プログラム実行時においても動作
消費電力を抑えることが可能となる。
【0051】実施の形態3.上述した実施の形態1,2
は、通信プログラムの通信速度、またはネゴシエーショ
ン状態に応じて必要なCPU負荷を通知し、クロック制
御を行なっている。そこで、本実施の形態では、通信プ
ログラムのネゴシエーション状態と通信速度の両方に応
じて、必要なCPU負荷を通知し、クロック制御を行な
う。なお、本実施の形態3に係る情報処理装置は、図2
に示す、実施の形態1に係る情報処理装置と構成が同じ
であるため、ここでは、その説明を省略する。
は、通信プログラムの通信速度、またはネゴシエーショ
ン状態に応じて必要なCPU負荷を通知し、クロック制
御を行なっている。そこで、本実施の形態では、通信プ
ログラムのネゴシエーション状態と通信速度の両方に応
じて、必要なCPU負荷を通知し、クロック制御を行な
う。なお、本実施の形態3に係る情報処理装置は、図2
に示す、実施の形態1に係る情報処理装置と構成が同じ
であるため、ここでは、その説明を省略する。
【0052】以下、本実施の形態に係る装置の動作につ
いて説明する。ソフトウェアモデムのようなデータ通信
プロトコルやディジタル信号処理を実行するプログラム
では、必要なCPU性能(CPU_MIPS値)は、そ
の通信状態によって大きく変化することは、本実施の形
態においても同様である。
いて説明する。ソフトウェアモデムのようなデータ通信
プロトコルやディジタル信号処理を実行するプログラム
では、必要なCPU性能(CPU_MIPS値)は、そ
の通信状態によって大きく変化することは、本実施の形
態においても同様である。
【0053】図6は、本実施の形態に係る装置のCPU
22内で動作するソフトウェアモデム・プログラム23
の一部の動作を示すフローチャートである。同図におい
て、ステップS31では、CPU22によって、ソフト
ウェアモデム・プログラム23が通信を開始したか否か
を判断し、通信を開始していれば、処理をステップS3
2へ進め、通信を開始していなければ、再度、ステップ
S31へ戻る。
22内で動作するソフトウェアモデム・プログラム23
の一部の動作を示すフローチャートである。同図におい
て、ステップS31では、CPU22によって、ソフト
ウェアモデム・プログラム23が通信を開始したか否か
を判断し、通信を開始していれば、処理をステップS3
2へ進め、通信を開始していなければ、再度、ステップ
S31へ戻る。
【0054】ステップS32では、ソフトウェアモデム
・プログラム23が、現在、ネゴシエーション中あるい
は通信開始処理中か、またはそれ以外の状態かを判断
し、その判断結果に応じて、それぞれ該当する処理へ進
む。すなわち、ネゴシエーション中あるいは通信開始処
理中であれば、必要なCPU_MIPS値を算出するた
めに、ステップS33へ進み、そうでなければ、データ
通信状態かどうかを判断するために、ステップS36へ
進む。
・プログラム23が、現在、ネゴシエーション中あるい
は通信開始処理中か、またはそれ以外の状態かを判断
し、その判断結果に応じて、それぞれ該当する処理へ進
む。すなわち、ネゴシエーション中あるいは通信開始処
理中であれば、必要なCPU_MIPS値を算出するた
めに、ステップS33へ進み、そうでなければ、データ
通信状態かどうかを判断するために、ステップS36へ
進む。
【0055】上記のステップS33では、ソフトウェア
モデム・プログラム23が現在、行なっている処理の、
次のネゴシエーション・フェーズ番号Nを取得する。す
なわち、現在の処理が、通信開始処理中であれば(フェ
ーズ)1、フェーズ1処理中であれば(フェーズ)2、
フェーズ2処理中であれば(フェーズ)3、・・・のよ
うに決定される。
モデム・プログラム23が現在、行なっている処理の、
次のネゴシエーション・フェーズ番号Nを取得する。す
なわち、現在の処理が、通信開始処理中であれば(フェ
ーズ)1、フェーズ1処理中であれば(フェーズ)2、
フェーズ2処理中であれば(フェーズ)3、・・・のよ
うに決定される。
【0056】ステップS34では、ステップS33で取
得したフェーズ番号より、必要なCPU_MIPS値を
算出する。ここでも、MIPS値とは、CPUが1回の
積和演算を実施するために必要な、1秒間あたりのクロ
ック数を単位とするMIPS値であり、CPU_MOD
EM_MIPS値と定義する。フェーズ番号によって必
要なCPU_MODEM_MIPS値は、ソフトウェア
モデム・プログラム23が行なうネゴシエーション・フ
ェーズでの演算処理に必要な、1秒間あたりの積和演算
数に等しい。
得したフェーズ番号より、必要なCPU_MIPS値を
算出する。ここでも、MIPS値とは、CPUが1回の
積和演算を実施するために必要な、1秒間あたりのクロ
ック数を単位とするMIPS値であり、CPU_MOD
EM_MIPS値と定義する。フェーズ番号によって必
要なCPU_MODEM_MIPS値は、ソフトウェア
モデム・プログラム23が行なうネゴシエーション・フ
ェーズでの演算処理に必要な、1秒間あたりの積和演算
数に等しい。
【0057】ステップS35において、N=1のときは
通信開始処理、N=2以上のときは、ネゴシエーション
・フェーズ[N−1]が終了していれば、ステップS4
0へ進み、それが終了していなければ、ステップS35
へ戻る。これは、次のネゴシエーション番号Nの処理開
始直前に、CPUクロック31の周波数を変更するため
に行なう処理である。
通信開始処理、N=2以上のときは、ネゴシエーション
・フェーズ[N−1]が終了していれば、ステップS4
0へ進み、それが終了していなければ、ステップS35
へ戻る。これは、次のネゴシエーション番号Nの処理開
始直前に、CPUクロック31の周波数を変更するため
に行なう処理である。
【0058】一方、ステップS36では、データ通信状
態かどうかの判断が行なわれる。つまり、ここでは、ソ
フトウェアモデム・プログラム23が、データ通信速度
を決定したかどうかの判断がなされ、それが決定されて
いれば、必要なCPU_MIPS値を算出するために、
処理をステップ37へ進める。しかし、データ通信速度
の決定がなされていなければ、何も処理せずに、処理は
ステップS31へ戻る。これは、ソフトウェアモデム等
の通信プログラムは、ネゴシエーション中に通信速度を
あらかじめ決定しておくことを利用したものである。
態かどうかの判断が行なわれる。つまり、ここでは、ソ
フトウェアモデム・プログラム23が、データ通信速度
を決定したかどうかの判断がなされ、それが決定されて
いれば、必要なCPU_MIPS値を算出するために、
処理をステップ37へ進める。しかし、データ通信速度
の決定がなされていなければ、何も処理せずに、処理は
ステップS31へ戻る。これは、ソフトウェアモデム等
の通信プログラムは、ネゴシエーション中に通信速度を
あらかじめ決定しておくことを利用したものである。
【0059】ステップS37では、ソフトウェアモデム
・プログラム23がネゴシエーションによって決定した
通信速度を取得する。また、シンボル速度、キャリア周
波数が、必要なCPU性能に影響する場合は、その値も
取得する。
・プログラム23がネゴシエーションによって決定した
通信速度を取得する。また、シンボル速度、キャリア周
波数が、必要なCPU性能に影響する場合は、その値も
取得する。
【0060】ステップS38では、ステップS37で取
得した通信速度より、必要なCPU_MIPS値を算出
する。ここでは、CPU_MIPS値とは別に、CPU
が1回の積和演算を実施するために必要な、1秒間あた
りのクロック数を単位とするMIPS値を、CPU_M
ODEM_MIPS値と定義しておく。
得した通信速度より、必要なCPU_MIPS値を算出
する。ここでは、CPU_MIPS値とは別に、CPU
が1回の積和演算を実施するために必要な、1秒間あた
りのクロック数を単位とするMIPS値を、CPU_M
ODEM_MIPS値と定義しておく。
【0061】なお、通信速度によって必要なCPU_M
ODEM_MIPS値は、ソフトウェアプログラム23
が現在、通信している通信速度での演算処理に必要な1
秒間あたりの積和演算数に等しい。また、通信プログラ
ム(ソフトウェアモデム・プログラム23)によって
は、この算出にシンボル速度、キャリア周波数も併せて
使用される。
ODEM_MIPS値は、ソフトウェアプログラム23
が現在、通信している通信速度での演算処理に必要な1
秒間あたりの積和演算数に等しい。また、通信プログラ
ム(ソフトウェアモデム・プログラム23)によって
は、この算出にシンボル速度、キャリア周波数も併せて
使用される。
【0062】次のステップS39では、ネゴシエーショ
ン処理の終了を判定し、それが終了していれば、CPU
_MODEM_MIPS値を設定するために、ステップ
S40へ進み、終了していなければ、ステップS39へ
戻る。これは、データ通信開始直前に、CPUクロック
31の周波数を変更するために行なう処理である。
ン処理の終了を判定し、それが終了していれば、CPU
_MODEM_MIPS値を設定するために、ステップ
S40へ進み、終了していなければ、ステップS39へ
戻る。これは、データ通信開始直前に、CPUクロック
31の周波数を変更するために行なう処理である。
【0063】そして、ステップS40では、上記のステ
ップS34、または、ステップS38で算出した、ソフ
トウェアモデム・プログラム23が必要なCPU_MO
DEM_MIPS値を、バス32を経由して、メインメ
モリ26上のモデム必要性能要求レジスタ26に書き込
む。その後、処理はステップS31へ戻る。
ップS34、または、ステップS38で算出した、ソフ
トウェアモデム・プログラム23が必要なCPU_MO
DEM_MIPS値を、バス32を経由して、メインメ
モリ26上のモデム必要性能要求レジスタ26に書き込
む。その後、処理はステップS31へ戻る。
【0064】なお、本実施の形態に係る装置のCPU2
2内で動作するパワー・マネジメント・プログラム24
についても、実施の形態1のそれと同一であるため、こ
こでは、その説明を省略する。
2内で動作するパワー・マネジメント・プログラム24
についても、実施の形態1のそれと同一であるため、こ
こでは、その説明を省略する。
【0065】以上説明したように、本実施の形態によれ
ば、ネゴシエーション状態におけるネゴシエーション・
フェーズ番号毎に、また、データ通信状態において通信
速度毎に、必要なCPU_MIPS値を算出し、算出し
たCPU_MIPS値から、その性能を実現する最低限
必要なCPUクロックを算出、設定することで、通信の
ネゴシエーション状態(フェーズ)や通信速度によって
変化する必要なCPU負荷に追従したクロック制御機能
によって、消費電力を抑えることができる。
ば、ネゴシエーション状態におけるネゴシエーション・
フェーズ番号毎に、また、データ通信状態において通信
速度毎に、必要なCPU_MIPS値を算出し、算出し
たCPU_MIPS値から、その性能を実現する最低限
必要なCPUクロックを算出、設定することで、通信の
ネゴシエーション状態(フェーズ)や通信速度によって
変化する必要なCPU負荷に追従したクロック制御機能
によって、消費電力を抑えることができる。
【0066】
【発明の効果】以上説明したように、第1の発明によれ
ば、情報処理装置がデータ通信開始状態にある場合、そ
の通信速度に対する中央演算処理部の処理性能を判定し
て、処理性能の実現に必要なクロックの最低周波数を算
出することで、通信速度によって変化する、必要なCP
U負荷に追従したクロック制御機能を実現でき、それに
伴ってCPUの消費電力を抑えることが可能となる。
ば、情報処理装置がデータ通信開始状態にある場合、そ
の通信速度に対する中央演算処理部の処理性能を判定し
て、処理性能の実現に必要なクロックの最低周波数を算
出することで、通信速度によって変化する、必要なCP
U負荷に追従したクロック制御機能を実現でき、それに
伴ってCPUの消費電力を抑えることが可能となる。
【0067】また、第2の発明によれば、情報処理装置
がネゴシエーション状態にある場合、そのネゴシエーシ
ョン状態に対する中央演算処理部の処理性能の実現に必
要なクロックの最低周波数を算出することで、ネゴシエ
ーション状態によって変化する、必要なCPU負荷に追
従したクロック制御機能を実現できるとともに、CPU
の消費電力を抑えることが可能となる。
がネゴシエーション状態にある場合、そのネゴシエーシ
ョン状態に対する中央演算処理部の処理性能の実現に必
要なクロックの最低周波数を算出することで、ネゴシエ
ーション状態によって変化する、必要なCPU負荷に追
従したクロック制御機能を実現できるとともに、CPU
の消費電力を抑えることが可能となる。
【0068】さらに、第3の発明によれば、情報処理装
置がデータ通信開始状態にあるか、ネゴシエーション状
態にあるかの判断結果に応じて、その通信速度に対する
中央演算処理部の処理性能、あるいは、そのネゴシエー
ション状態に対する中央演算処理部の処理性能を判定
し、判定された処理性能の実現に必要なクロックの最低
周波数を算出するよう構成することで、通信のネゴシエ
ーション状態や通信速度によって変化する、必要なCP
U負荷に追従したクロック制御機能を実現でき、かつ、
CPUの消費電力を抑えることができる。
置がデータ通信開始状態にあるか、ネゴシエーション状
態にあるかの判断結果に応じて、その通信速度に対する
中央演算処理部の処理性能、あるいは、そのネゴシエー
ション状態に対する中央演算処理部の処理性能を判定
し、判定された処理性能の実現に必要なクロックの最低
周波数を算出するよう構成することで、通信のネゴシエ
ーション状態や通信速度によって変化する、必要なCP
U負荷に追従したクロック制御機能を実現でき、かつ、
CPUの消費電力を抑えることができる。
【0069】第4の発明によれば、上記プログラムに
は、ソフトウェアモデム機能を有する通信プログラムが
含まれ、この通信プログラムが中央演算処理部の処理性
能を判定するので、中央演算処理部での処理が容易にな
る。
は、ソフトウェアモデム機能を有する通信プログラムが
含まれ、この通信プログラムが中央演算処理部の処理性
能を判定するので、中央演算処理部での処理が容易にな
る。
【0070】また、第5の発明によれば、通信速度ある
いはネゴシエーション状態に応じて、メモリ内に格納さ
れた分周値を書き換えることで、適切なタイミングでク
ロック制御ができ、常にCPUの動作状態に合致したク
ロック周波数を得ることができる。
いはネゴシエーション状態に応じて、メモリ内に格納さ
れた分周値を書き換えることで、適切なタイミングでク
ロック制御ができ、常にCPUの動作状態に合致したク
ロック周波数を得ることができる。
【0071】そして、第6の発明によれば、分周値に基
づくクロック周波数を、中央演算処理部の動作時の消費
電力を最小にする周波数とすることで、分周値とCPU
の消費電力の最小化との関連付けを容易かつ明確にする
ことができる。
づくクロック周波数を、中央演算処理部の動作時の消費
電力を最小にする周波数とすることで、分周値とCPU
の消費電力の最小化との関連付けを容易かつ明確にする
ことができる。
【図1】 クロック制御方式を備えた従来のコンピュー
タシステムの構成を示すブロック図である。
タシステムの構成を示すブロック図である。
【図2】 本発明の実施の形態1〜3に係る情報処理装
置の主要部の構成を示すブロック図である。
置の主要部の構成を示すブロック図である。
【図3】 実施の形態1に係るソフトウェアモデム・プ
ログラムの一部の動作を示すフローチャートである。
ログラムの一部の動作を示すフローチャートである。
【図4】 実施の形態1〜3に係るパワー・マネジメン
ト・プログラムの処理手順を示すフローチャートであ
る。
ト・プログラムの処理手順を示すフローチャートであ
る。
【図5】 実施の形態2に係るソフトウェアモデム・プ
ログラムの一部の動作を示すフローチャートである。
ログラムの一部の動作を示すフローチャートである。
【図6】 実施の形態3に係るソフトウェアモデム・プ
ログラムの一部の動作を示すフローチャートである。
ログラムの一部の動作を示すフローチャートである。
1…クロック発振器、2,22…CPU、3…負荷検出
部、4…クロック・コントローラ、5…バッテリ残容量
検出部、6…発熱検出部、21…情報処理装置、23…
ソフトウェアモデム・プログラム、24…パワー・マネ
ジメント・プログラム、25…メインメモリ、26…モ
デム必要性能要求レジスタ、27…クロック生成器、2
8…CPUクロック制御回路、29…CPUクロック制
御レジスタ、30…源クロック、31…CPUクロッ
ク、32…バス
部、4…クロック・コントローラ、5…バッテリ残容量
検出部、6…発熱検出部、21…情報処理装置、23…
ソフトウェアモデム・プログラム、24…パワー・マネ
ジメント・プログラム、25…メインメモリ、26…モ
デム必要性能要求レジスタ、27…クロック生成器、2
8…CPUクロック制御回路、29…CPUクロック制
御レジスタ、30…源クロック、31…CPUクロッ
ク、32…バス
Claims (6)
- 【請求項1】 クロックの供給を受けた中央演算処理部
によって、1あるいはそれ以上のプログラムを実行する
情報処理装置において、 当該情報処理装置がデータ通信開始状態にあるか否かを
判断する判断手段と、 前記判断手段によって、当該情報処理装置が前記データ
通信開始状態にあると判断された場合、そのデータ通信
の通信速度を取得する手段と、 前記通信速度に対する前記中央演算処理部の処理性能を
判定する手段と、 前記処理性能の実現に必要な前記クロックの最低周波数
を算出する手段と、 前記算出した最低周波数を前記クロックの分周値に換算
する手段とを備え、 前記中央演算処理部は、前記分周値に基づいたクロック
周波数で動作することを特徴とする情報処理装置。 - 【請求項2】 クロックの供給を受けた中央演算処理部
によって、1あるいはそれ以上のプログラムを実行する
情報処理装置において、 当該情報処理装置がネゴシエーション状態にあるか否か
を判断する判断手段と、 前記判断手段によって、当該情報処理装置が前記ネゴシ
エーション状態にあると判断された場合、そのネゴシエ
ーション状態に対する前記中央演算処理部の処理性能を
判定する手段と、 前記処理性能の実現に必要な前記クロックの最低周波数
を算出する手段と、 前記算出した最低周波数を前記クロックの分周値に換算
する手段とを備え、 前記中央演算処理部は、前記分周値に基づいたクロック
周波数で動作することを特徴とする情報処理装置。 - 【請求項3】 クロックの供給を受けた中央演算処理部
によって、1あるいはそれ以上のプログラムを実行する
情報処理装置において、 当該情報処理装置がデータ通信開始状態にあるか、ある
いはネゴシエーション状態にあるかを判断する判断手段
と、 前記判断手段によって、当該情報処理装置が前記データ
通信開始状態にあると判断された場合、そのデータ通信
の通信速度を取得し、かつその通信速度に対する前記中
央演算処理部の処理性能を判定する第1の判定手段と、 前記判断手段によって、当該情報処理装置が前記ネゴシ
エーション状態にあると判断された場合、そのネゴシエ
ーション状態に対する前記中央演算処理部の処理性能を
判定する第2の判定手段と、 前記第1あるいは第2の判定手段によって判定された前
記処理性能の実現に必要な、前記クロックの最低周波数
を算出する手段と、 前記算出した最低周波数を前記クロックの分周値に換算
する手段とを備え、 前記中央演算処理部は、前記分周値に基づいたクロック
周波数で動作することを特徴とする情報処理装置。 - 【請求項4】 前記プログラムには、ソフトウェアモデ
ム機能を有する通信プログラムが含まれ、この通信プロ
グラムが前記中央演算処理部の処理性能を判定すること
を特徴とする請求項1乃至3のいずれかに記載の情報処
理装置。 - 【請求項5】 さらに、前記分周値を格納するメモリ
と、 前記通信速度あるいは前記ネゴシエーション状態に応じ
て、前記メモリ内の分周値を書き換える手段とを備える
ことを特徴とする請求項1乃至3のいずれかに記載の情
報処理装置。 - 【請求項6】 前記分周値に基づくクロック周波数は、
前記中央演算処理部の動作時の消費電力を最小にする周
波数であることを特徴とする請求項1乃至3のいずれか
に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10093052A JPH11296251A (ja) | 1998-04-06 | 1998-04-06 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10093052A JPH11296251A (ja) | 1998-04-06 | 1998-04-06 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11296251A true JPH11296251A (ja) | 1999-10-29 |
Family
ID=14071748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10093052A Pending JPH11296251A (ja) | 1998-04-06 | 1998-04-06 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11296251A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003075137A1 (fr) * | 2002-03-04 | 2003-09-12 | Sony Corporation | Dispositif et procede de traitement de l'information |
CN100361040C (zh) * | 2004-02-24 | 2008-01-09 | 中国科学院计算技术研究所 | 一种soc架构下的处理器核动态变频装置和方法 |
JP4690576B2 (ja) * | 2001-04-26 | 2011-06-01 | パナソニックシステムネットワークス株式会社 | ソフトウェアモデム及びそれを備えた通信端末装置 |
US8244936B2 (en) | 2004-11-24 | 2012-08-14 | Fujitsu Limited | Data communication apparatus for stabilizing the connection of a communication line between data communication apparatuses and program therefor |
-
1998
- 1998-04-06 JP JP10093052A patent/JPH11296251A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4690576B2 (ja) * | 2001-04-26 | 2011-06-01 | パナソニックシステムネットワークス株式会社 | ソフトウェアモデム及びそれを備えた通信端末装置 |
WO2003075137A1 (fr) * | 2002-03-04 | 2003-09-12 | Sony Corporation | Dispositif et procede de traitement de l'information |
US7321977B2 (en) | 2002-03-04 | 2008-01-22 | Sony Corporation | Information processing apparatus and method |
CN100361040C (zh) * | 2004-02-24 | 2008-01-09 | 中国科学院计算技术研究所 | 一种soc架构下的处理器核动态变频装置和方法 |
US8244936B2 (en) | 2004-11-24 | 2012-08-14 | Fujitsu Limited | Data communication apparatus for stabilizing the connection of a communication line between data communication apparatuses and program therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5630148A (en) | Dynamic processor performance and power management in a computer system | |
JP2762670B2 (ja) | データ処理装置 | |
JP4490298B2 (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
JPH11184554A (ja) | クロック制御タイプ情報処理装置 | |
TWI567526B (zh) | 調整時脈頻率 | |
JP2002099433A (ja) | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 | |
JP3468592B2 (ja) | クロック信号発生回路 | |
JPH11312026A (ja) | クロック信号切替方法およびクロック信号切替システム | |
JPH11296251A (ja) | 情報処理装置 | |
JP4482275B2 (ja) | オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ | |
JP2003202935A (ja) | 電力管理方式及び電力管理方法 | |
US8127161B2 (en) | Data processing apparatus | |
JPH11194849A (ja) | データ処理方法および装置、情報記憶媒体 | |
JPH11345129A (ja) | インターバルタイマ回路 | |
JP3250268B2 (ja) | 情報処理装置 | |
JP2002049610A (ja) | マイクロコンピュータの動作クロック設定装置 | |
JPH11219237A (ja) | 電子機器装置及び電子機器装置の制御方法 | |
JPS6364588A (ja) | モ−タのデイジタル制御装置 | |
JP3049041B1 (ja) | Cpuクロックの制御方法および回路 | |
JPH09138720A (ja) | 表示制御装置 | |
JP2004078642A (ja) | 割込み制御回路 | |
JP3138737B1 (ja) | パワー制御装置及び方法並びにパワー制御プログラムを記録した記録媒体 | |
JPH11305887A (ja) | マイクロコントローラの制御方法及びマイクロコントローラ | |
JPH0527991A (ja) | 電子処理装置 | |
JPH05258087A (ja) | マイコン |