JP3246186B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3246186B2
JP3246186B2 JP13223794A JP13223794A JP3246186B2 JP 3246186 B2 JP3246186 B2 JP 3246186B2 JP 13223794 A JP13223794 A JP 13223794A JP 13223794 A JP13223794 A JP 13223794A JP 3246186 B2 JP3246186 B2 JP 3246186B2
Authority
JP
Japan
Prior art keywords
cpu
temperature
frequency
clk
mode
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.)
Expired - Lifetime
Application number
JP13223794A
Other languages
English (en)
Other versions
JPH07141052A (ja
Inventor
明善 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP13223794A priority Critical patent/JP3246186B2/ja
Publication of JPH07141052A publication Critical patent/JPH07141052A/ja
Application granted granted Critical
Publication of JP3246186B2 publication Critical patent/JP3246186B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CLK周波数を変更可
能な情報処理装置に関する。
【0002】
【従来の技術】従来、携帯可能なパーソナルコンピュー
タ(以下携帯型PCという)のCPUに対する発熱対策
としては強制的に熱を奪う方法と、消費電力を減らすこ
とにより発熱を押さえる方法が一般的であった。例えば
次のような方法があった。
【0003】強制的に熱を奪う方法としては、 (1)強制空冷用の扇風機(以下フアンとする)を用い
る (2)放熱板をCPUに装着する事により、熱を分散さ
せて、全体の発熱を均一化させる (3)装置のケースに、空気を取り入れる穴を空け、放
熱する。
【0004】消費電力を減らす事により発熱を押さえる
方法としては、 (1)ICのデザインルールを変更しチップサイズを変
更することで消費電力を減らす (2)情報処理装置の電源電圧を落として、消費電力を
減らす。これは、現在最も一般的な電源電圧5Vを、例
えば3.3Vなどに落とし、消費電力を減らす方法など
様々な方法を行なってきた。そして、これらの対策は基
本的に設計上の最大電力時の発熱に対して、機器の安全
性を保証するために行なっている。
【0005】ところが現在CPUの処理能力が向上しそ
れに伴って消費電力が多くなってきたために、前記各方
法をもってしても携帯型PCに対する熱対策に限界が見
えてきた。まず強制的に熱を奪う方法としてあげた前記
対策は、携帯型PCに対してはもともと小さくするとい
うことと、空冷ファンをつけなければならない又は放熱
板をつけなければならないということが矛盾するので適
切な放熱効果を得ることは非常に難しい。他に、屋内で
ACアダプタを使用する時のみ空冷ファンのついたユニ
ットを取り付けCLK周波数をあげて使用し、屋外で電
池動作で使用する場合は空冷ファンのついたユニットを
取りはずしCLK周波数を落とすものもあるが、携帯型
PCにつく風力に限界があることと、電池動作時にCP
Uパワーをフルにいかせないのには大きな問題がある。
【0006】一方ケースが比較的大きいデスクトップ型
PCにおいても、放熱板の大きさ、空冷ファンによる放
熱効果に限界があり熱対策をおこなうのが徐々に難しく
なってきている。又、空冷ファンによる騒音がオフィス
の環境問題の点で問題視されつつあり今以上の強制空冷
手段を設けるのが難しくなってきている。
【0007】そこで現在ではいかに消費電力を減らす事
により発熱を押さえられるかということが非常に重要に
なってきている。ところが、消費電力を減らす前述の方
法でも、デザインルールの進歩、電源電圧の低電圧化に
対してあまりにもCPUの処理能力の向上に伴う消費電
力の増加が多いため限界が見えてきている。
【0008】以上から、従来の延長線上では熱問題のた
めにCPUの処理能力向上に限界がでてきた事がわか
る。そこで、特に携帯型PCにおいて更に処理能力の高
い(従って消費電力の多い)CPUを使用するために従
来は大別して4つの方法があった。以下に各方法につい
て従来例をもちいながら説明する。
【0009】(1).温度センサーをもちCPUが一定
の温度になったらCLK周波数を落としたりHOLD信
号、キャッシュ制御等を行う。
【0010】この例としては、特開平2−181252
号公報等がある。特開平2−181252号公報では、
CPUのクロック入力装置に供給するクロック信号の周
波数を、周囲温度等により、バスサイクルの実行時間を
制御することを特徴としている。詳しく説明すると、周
囲温度を検出するセンサーを設けて、前記センサーが設
定した温度以上になるとCPUのクロックを遅くする。
この特許の目的自体は、温度に応じてバスサイクルの実
行時間を制御することで最適なパフォーマンスを得ると
ころにあるが機能自体は結果的に温度制御になってい
る。
【0011】また別の対策としては、温度センサーによ
り設定された阻止破壊温度以上になるとシステム全体を
停止する方法が考えられる。この例としては、特開平3
−11409号公報がある。特開平3−11409号公
報では、2つのセンサー(サーマルスイッチ)を設け
て、検出温度に応じてクロックの発振手段が出力するク
ロック信号の周波数を変化させる手段と、阻止破壊温度
以上になるとシステムの動作を停止させる手段とを備え
ている。 以上の方法では、センサーがあらかじめ
きめられた一定温度になると強制的にCLK周波数がお
とされるのでそれ以降の処理が実質的に遅くなってしま
うという欠点がある。
【0012】温度センサーによって、CPUのクロック
信号ではなくHOLD信号、キャッシュ信号を制御する
ことでCPUの温度を落とす実施例として筆者を含む共
同出願の特願平4−310540号がある。
【0013】(2).CPUが動作する場合だけ高いC
LK周波数にして、動作しない場合には低い周波数とす
る。ただし、これは温度に対するものではなくパワーセ
ーブの為の機能である。
【0014】本方法は直接的には、CPUの温度制御を
目的としているのではなくパワーセーブを目的としてい
る機能である。しかし、強制的に熱を奪う方法にも従来
の方法で消費電力を落とすのにも限界が見えた今、パワ
ーセーブに限らずCPUが高速動作を必要としていると
きだけ高速動作し、キーボード入力待ちの時などCPU
の処理を必要としない時には低速動作することのできる
機能は必要不可欠である。処理量が一定であれば、CP
Uの処理能力があがればあがるほど処理時間は短くて済
むはずでありそれに従えばCPUの処理能力があがって
もパワー及び温度は一定に保つことができるはずであ
る。
【0015】この例としては、筆者出願の特開平4−3
54009号公報、特願平3−164657号がある。
特開平4−354009号公報ではキーボード、マウ
ス、FDD等のアクセス信号を受けてからある特定の時
間だけ高速動作を行い、何もアクセスがおこっていない
時には低速動作をおこなうというものである。特願平3
−164657号では、低速動作時には同時に電圧も落
とすというものである。
【0016】他にメモリに対するアドレスを監視するこ
とで現在CPUが実行中なのか、単純ループで何らかの
割り込みを待っているのかを判別しCPUが実行中でな
いときにはCLK周波数を落とす方法も考えらている。
又、アプリケーション側からプログラムがアイドル状況
であるということをシステムに対して通知しCLK周波
数を落とすという方法もある。 上記どの方法によっ
ても、プログラムを限定せずCPUが実行中であるかど
うかを完全に判別するのは難しい。従って当り前の事で
あるが、電池寿命の問題、熱の問題がなければ常に最高
の周波数でCPUを動作させることがパフォーマンスを
損なわない1番の方法である。
【0017】(3).温度センサーを持たず、ある一定
時間のCLK周波数の高周波数と低周波数の割合から温
度上昇カーブを推定して、あらかじめ決められた温度限
界に達したところでCLK周波数を低くする。
【0018】特定のCPUに対するCLK周波数と動作
時間がわかれば概略の温度上昇カーブが推察できる。こ
れを利用して、ある特定の時間(以下温度カーブ検出時
間とよぶ。ここでは10分とする)を決めその時間内の
高速と低速の動作の割合をたとえば60%と決めた場
合、6分は高速動作を行い、後の4分は低速動作を行う
ことでCPUの温度上昇を防ぐ方法も知られている。本
方法と上記(2)で示した方法を組み合わせた場合、何
もアクセスがおこっていない時には低速動作をおこなう
ので、高速動作時間の合計値が6分に達するまで見かけ
上パフォーマンスを落とすことなく温度制御を行うこと
ができる。もちろん10分を越える連続動作が生じた場
合CPUは放熱上の観点から6分経過した後4分間は低
速動作となるので平均では60%〜70%程度の処理能
力しか発揮できない。しかし、MS−DOS上で動作す
るワープロ等のプログラムでは連続動作がほとんど生じ
ることはないので実際に温度限界によって低速動作にな
ることは少ない。問題が生じるのはWINDOWSのよ
うに組み込まれたデバイスドライバが一定間隔でデバイ
スをチェックするプログラムであり、このようなプログ
ラムでは常に連続動作が発生することになり、実際CP
Uパワーが必要なときに温度限界によって低速動作にな
ってしまう。(MS−DOS、WINDOWSはマイク
ロソフト社の商標である) (4).温度センサーからの出力によりCPUに対し割
り込みを発生させることで、ソフト的にCPUの熱保護
を行う。
【0019】実施例として筆者を含む共同出願の特願平
4−310540号がある。温度センサーからの出力に
よりCPUに対し割り込みを発生させることで、ソフト
的に温度制御を行うものでありこの時用いられる割り込
みは、互換性を損なわず透過的に発行できるシステムマ
ネージメントインタラプト(以下SMIという)という
割り込みであり、アプリケーションに左右されない優先
順位の高い割り込みを発生することができる。SMIが
ある場合ハードウェアで完全に制御しなくてもよいので
フレキシブルな温度制御が可能となる。
【0020】さて以上はCPUがあらかじめ実装されて
いるものについて主に述べてきたが、近年CPUが本体
と脱着可能な構造を持ちCPU自体をグレードアップす
ることができるデスクトップPC、携帯型PCが増えて
きている。ここでグレードアップされるCPUがまだ現
実にない場合では、従来は温度保証が難しかった。それ
は実際に温度上昇検査をしてみなければCPU規格を満
たすかどうかわからないからである。ところが、資源活
用の面、コストの面からからできるだけ長くPCを使い
たいという欲求と同時に最新のCPUパワーを欲しいと
いう欲求も出てきている。そこで、CPUがまだ現実に
ない場合でも温度的になんらかの保証手段をPC内にあ
らかじめ備えておくことが求められている。このような
場合に対応する為の従来例を以下に示す。
【0021】(1).CPUソケット部などに温度セン
サーを設けて温度制御する。実施例として前述の特願平
4−310540号がある。図10においてCPUが装
着されるICソケット1001のまん中に温度センサー
1002を設けることでCPUがグレードアップされて
も温度制御することを可能にしている。
【0022】(2).交換可能なCPUモジュールから
周波数、CPUタイプなどの情報を受けてグレードアッ
プされたCPU対してそれぞれに最適なパワーセーブ及
び温度制御を実現する。実施例として筆者出願の特願平
5−154786号がある。本願では、PQFP(PL
ASTIC QUAD FLATPACK PACKA
GE)、PGA(PIN GRID ARRAY)など
の外形をもつCPUをプリント基板上に実装して、その
プリント基板上に設けられた周波数、CPUタイプなど
を設定するハンダジャーパーを変更する事によりCPU
ごとに異なった情報を本体に通知する。本体はそれを受
けて各CPUに対して適切なパワーセーブと温度制御を
行なう。
【0023】
【発明が解決しようとする課題】これまで述べてきたよ
うに、特に携帯型PCにおいてパワーセーブ及び温度制
御についてさまざまな方法が考えられてきた。またそれ
はCPUがグレードアップされることまで考慮され実現
されてきた。ところが従来の方法では、更に処理能力の
高い(従って消費電力の多い)CPUを使用することの
できうるシステムが構築されたとはいえない。それは、
前述のどの方法によってもCPUの熱保護とその本来の
目的である、更に処理能力の高いCPUを使用すること
のバランスが悪く実現性に乏しいところにある。まず、
CPUの発熱を温度センサーによって検出し、そのレベ
ルによってCLK周波数をさげたり、HOLD挿入時間
を変えたり、LCD等のバックライトを消すなどして本
体内部の温度上昇を防ぐような機能では、CPUの発熱
を温度センサーによって検出した後には実質的にはCP
Uのパワーをユーザーは使用できなくなってしまう。こ
れでは、CPUの処理能力が高くなり発熱量が大きくな
っていくと電源を入れてから数10分しかPCをフルパ
ワーで使用できないという本末転倒の状況さえ生まれか
ねない。
【0024】そこで考えられたのが、前述した温度セン
サーを持たず、ある一定時間のCLK周波数の高周波数
と低周波数の割合から温度上昇カーブを推定して、あら
かじめ決められた温度限界に達したところでCLK周波
数を低くする方法である。これは、動作中のプログラム
がCPUパワーを必要としているときのみCPUのCL
K周波数をあげることを前提に、ある一定時間ごとにC
LK周波数を細かく制御するものなので、CPUの発熱
を温度センサーによって検出するよりもより長い期間C
PUパワーを得ることができる。前述したように、この
方法はMS−DOS上で動作するワープロ等のような通
常のアプリケーションプログラムの動作ではほとんど連
続動作が生じることはないことを前提としている。本方
法はセンサーを必要としないが問題がいくつかある。
【0025】(1).WINDOWSでは温度限界によ
って低速動作になってしまう。前述したようにWIND
OWSのように組み込まれたデバイスドライバが一定間
隔でデバイスをチェックするプログラムの場合、結果的
に常に連続動作が発生することになり、実際にCPUパ
ワーが必要なときに温度限界によって低速動作になって
しまう。
【0026】(2).温度センサーを持たないため環境
温度の変化に対応できない。CPUの温度やCPUの周
囲温度をはかるセンサーからの出力によらず、動作時間
とCLK周波数のみで制御するので、機器の保証上から
もマージンが必要なためどうしても最悪環境下での設定
になりCPUパワーをフルにいかしきれない。
【0027】(3).温度カーブ検出時間を越える長時
間の計算を必要とする場合、CPUのパワーが制限され
てしまう。前述したように、温度カーブ検出時間を10
分とし温度制限を60%と設定すると、10分を越える
連続動作が生じた場合CPUは放熱上の観点から6分経
過した後4分間は低速動作となるので平均では60%〜
70%程度の処理能力しか発揮できない。
【0028】(4).CPUの温度上昇はCLK周波数
だけで決まらない。CPUの温度上昇は、CLK周波数
だけでなく、発生するサイクル、内部キャッシュなど使
用されている機能によって異なる。又、CPU内部の構
成やCPU内部のトランジスタ数、最小線幅(デザイン
ルール)によっても異なる。したがって本方式では、マ
ージンをもって設計するとCPUのパワーを落とす方向
になってしまう。
【0029】(5).CPUがグレードアップ可能な情
報機器のように数種類のCPUに対応が困難である。C
PUによって動作時間による温度上昇カーブが異なるた
め、CLK周波数のみでは完全には温度上昇カーブをシ
ミュレーションできない。従ってCPUを何段階にもグ
レードアップ可能な情報機器の場合適さない。本方法に
限らずCPUがグレードアップ可能な情報機器に対応す
る発熱対策自体が従来存在していなかった。
【0030】本発明は上記問題点を解決することを目的
としており、連続動作を続けると発熱によって熱暴走し
てしまうくらいの処理能力をもったCPUを、その処理
能力を損なう事なくまた発熱による熱暴走を起こすこと
のないように温度制御することによって使用可能にする
情報処理装置を提供することを目的とする。結果的に、
本来大型の放熱板を有するCPUを放熱板を取ることで
携帯型のノート型パーソナルコンピュータ(以下ノート
パソコン)に装着することを可能とすることを目的とし
ている。
【0031】また特に携帯型のノートパソコン等におい
て、グレードアップされるCPUに応じて最適な発熱コ
ントロールを行うことを可能とする情報処理装置を提供
することも目的とする。
【0032】
【課題を解決するための手段】本発明の情報処理装置
は、CPUと、該CPUを包むケースと、該CPUを保
持する基板と、該CPU、該ケースの内部、および該基
板の少なくとも一つの温度を検出する温度計測部と、該
CPUに第1のCLKおよび第2のCLKのどちらかを
与えるコントロール部と、を備えていて、該第1のCL
Kの周波数は該第2のCLKの周波数より低く、該コン
トロール部は、該CPUを該第1のCLKで駆動する第
1のモードと、該少なくとも一つの温度が第1の温度に
達した場合に該CPUへのCLKを停止しするとともに
該少なくとも一つの温度が第2の温度に達した場合に該
CPUに該第2のCLKを与える第2のモードと、を有
し、該第2の温度は該第1の温度より低く、該コントロ
ール部はさらに、該第2のモードが少なくとも第1の期
間続いた場合に第1のモードを開始し、該第1のモード
が少なくとも第2の期間続いた場合に第2のモードを開
始し、そのことによって上記目的を達成する。
【0033】好ましくは、第3の温度は前記第2の温度
より低く、前記コントロール部は、該少なくとも一つの
温度が該第3の温度から該第2の温度に達した時点から
該第1の期間該第2のモードが続いた場合に、該第2の
モードから該第1のモードに変更し、該少なくとも一つ
の温度が該第2の温度から該第3の温度に達した時点か
ら第2の期間該第1のモードが続いた場合に、該第1の
モードから該第2のモードに変更する
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
【0052】
【0053】
【実施例】以下、本発明について3つの実施例に基づき
詳細に説明する。実施例1では全体的な構想と説明を行
い、実施例2では実施例1を部分的に具体化した例を示
す。又、実施例3では実施例1の一部の他の例を示す。
【0054】<実施例1>図3に本発明の実施例として
ノートパソコンのブロック図を示す。前記ノートパソコ
ンはCPUモジュール2、メインメモリ27やBIOS
ROM24などをコントロールするメモリ・CPUコ
ントロール部7、LCD28及びCRT29を制御する
VIDEO回路部30、キーボード31を制御するキー
ボードコントロール部22、FDD32やICカード3
3等の外部記憶装置などを制御するI/Oコントロール
回路部25、前記ノートパソコンの外部に別の機器等を
接続するための拡張バス部26を有する。
【0055】図3のCPUモジュール2の外形図を図4
に示す。又、図3のCPUモジュール2、メモリ・CP
Uコントロール部7、メインメモリ27、BIOS R
OM24等が実装されたCPU基板46の外形図を図5
に示す。本実施例のノートパソコンは、裏蓋を開けると
図5に示した基板46を、ユーザーが触れられるように
なっている。ユーザーは裏蓋を開け、自ら増設RAMモ
ジュール47を2枚増設することと、CPUモジュール
2を交換することができる。
【0056】図4に示すようにCPUモジュール2はC
PU基板46から自由な脱着を可能とする為のコネクタ
40とCPU1で構成される。CPUモジュール2上に
つくCPU1の外形は、PQFP(PLASTIC Q
UAD FLATPACKPACKAGE)、PGA、
LGAのいずれでもよく、又それ以外のどのようなパッ
ケージでもよい。パッケージのピン数も自由である。C
PUの外形がPGAの場合をCPUモジュール41に、
LGAの場合をCPUモジュール42に示す。CPUモ
ジュール2という形にすることで、安価で小型薄型のQ
FP、PQFPというパッケージを使用することができ
ると共に、将来的な新パッケージや異なるメーカーのC
PUに対しても対応することができる。ノートパソコン
のように限られたスペースしかないものでは特に有効で
ある。
【0057】本発明の代表的な概略のフローチャートを
図6にブロック図を図1に示す。本発明は、従来のパワ
ーセーブを発熱対策に応用し、CPUもしくはケース内
温度と、CLK周波数及び個々の周波数における動作時
間と、CPUモジュール2から通知されたCPUタイプ
と、ユーザーによる動作モード設定等により温度制御を
行なうものである。そして、その方法は個々の温度設定
もしくは他の設定値によってCPUのCLK周波数を切
り換えたり、キャッシュ制御を切り換えたりCPUをH
OLD状態にしたり、CPUの電圧を変化させたりする
ことによって行なう。他に、図11に示すCPUのよう
な場合は、CPUコアに対するCLKを一時的に停止す
るSTPCLK端子を利用し、一定時間ごとにCPUコ
アに対するCLKを止めることで見かけ上CPUのCL
K周波数を落とすと共にCPUの消費電力を落とす事も
できる。又上記制御条件、方法はすべて行なわれなくと
もよく選択的に応用できる。つまり本発明は、例えばC
PUモジュール2でなく図2の(B)に示すようなIC
ソケット20を有するデスクトップPCにおいて温度上
昇時にCLK周波数をおとす場合にも有効である。又、
図6のフローチャートにおいても各々のステップをすべ
て必要としない。このように本発明は多くの場合があり
そのすべてを説明するのは難しい。従って以下に図6の
フローチャートを基に各々のステップごとに詳細に説明
するが本発明は各項目のどの組合せによる制御方法にお
いても有効であるに注意されたい。
【0058】1.ステップ50 ユーザーはパワースイッチをONにする。
【0059】2.ステップ51 本ステップでは、CPUのタイプを判別する。本ステッ
プはあらかじめCPUが固定でありグレードアップされ
ない場合必要ない。CPUの形状、タイプ及びその判別
方法にはいくつか種類があるので以下に説明する。
【0060】(1).CPUの形状 先に述べたようにCPUの形状にはPQFP、PGA、
LGA等がある。グレードアップ可能なPCを考えた時
その実装方法として、図4のCPUモジュールの形にす
る場合と、図7のPGA形状のCPU60を基板上に実
装されたICソケットに直接セットする場合、及び図8
に示すように元々基板上に実装されているのはQFP等
の形状のCPU62でグレードアップされる場合にはア
ップグレードソケット63にPGA形状等のCPUをセ
ットする場合等がある。
【0061】(2).CPUの判別方法 CPUにどのようなタイプがあるかは次の項目で詳細に
説明するとして、ここでは上記CPUの形状ごとにCP
Uの判別方法を説明する。
【0062】a).第1に図4に示すCPUモジュール
2の形態にする場合について図9を用いて説明する。図
9はCPUモジュール2の簡略化した回路図である。C
PUモジュール2は、基本的には、CPU1とコネクタ
40で構成され、CPU1の入出力信号65は、コネク
タ4と接続されている。ただし、CPU1とコネクタ4
の信号数は同じ数ではなく、CPU1にある信号で必ず
しも必要でない信号(例えばグランド線など)は省かれ
る。図1のSCK0信号76、SCK1信号75、SC
K2信号74がCPU1のCLK周波数を示す信号であ
り、SINT信号72、S2XC信号73がCPUタイ
プを示す信号である。CPUモジュール2上では、ハン
ダジャンパー71によってCPU1の種類により各々の
信号の値を’H’か’L’に選択することができるよう
になっている。又、CLK2信号67はCPU1の内部
CLK周波数どうりのCLKを出力する信号であり、C
LK68はCLK周波数の倍周波数のCLKを示す信号
である。システムからは、常に両方のCLK信号が出力
されているので、CPUタイプによってジャンパー66
で切り換える。他に、CPU1がSMIに対応している
かどうかによって電源オフやポップアップメニュー表
示、ソフトウェアパワーセーブ機能などによるインタラ
プト発生を図9のSMI69、INTR70のどちらか
に選択的に供給することで、CPU1の機能によってそ
れぞれ最適なシステムを構築する。
【0063】このようにCPUモジュール2の形態にす
る場合、上記意外でもいくつもの設定をCPUモジュー
ル2上のジャンパー71等で設定できるので応用範囲が
幅広く1番優れた方法である。たとえば、インテル社の
486SXからPENTIUMにグレードアップする場
合、専用のICソケットを用いる事なく実装可能であ
り、CLK周波数ばかりでなくCPUタイプもジャンパ
ーで設定することで本体に通知する事ができる。これは
およそ120万トランジスタを有する486と310万
トランジスタを有するPENTIUMのどちらが実装さ
れているかをハード的に本体に通知することで回路の切
り換えを可能とするもので、放熱板ばかりでなく専用の
空冷ファンまで必要とするPENTIUMをノートパソ
コンに利用可能とする本発明の重要ポイントの1つであ
る(486SX、PENTIUMはインテル社の商標で
ある)。
【0064】b).第2に図7のPGA形状のCPU6
0を基板上に実装されたICソケットに直接セットする
場合について説明する。この場合通常はあらかじめ決め
られたCLK周波数に一致するCPUのみによりグレー
ドアップする。CPU側で内部のPLLによってCLK
周波数を何倍かにあげるか、CLK周波数は同じで内部
回路を変更することで処理能力をあげる。温度制御のた
めに本体がCPUのタイプを知る方法は、CPU内部レ
ジスタによって判定するか、基板上に別に用意されたジ
ャンパーをユーザーに変更してもらうことにより判定す
る方法などがある。
【0065】c).第3に図8に示すように元々基板上
に実装されているのはQFP等の形状のCPU62で、
グレードアップされる場合にはアップグレードソケット
63にPGA形状等のCPUをセットする場合について
説明する。この場合もほとんどb)と同じである。通常
図7のCPU60が図8のアップグレードソケット63
にセットされた場合、CPU62の信号を解放するグレ
ードアップ信号が用意されているので本信号を利用すれ
ばグレードアップされるCPUを限定した場合に温度制
御、パワーセーブのためのCPUタイプ判別は容易であ
る。
【0066】(3).CPUのタイプ CPUのタイプを判別することは本発明に於て非常に重
要である。本発明ではグレードアップされるCPUによ
って温度制御、パワーセーブの手段を最適化することで
より高いパフォーマンスを実現可能とする。温度上昇カ
ーブはCPUによって異なるので、CPUのタイプを知
ることはCPUをアップグレードする事を可能とする情
報処理装置で温度制御を行なう場合、欠くことができな
い要素である。
【0067】以下順をおってCPUのタイプについて説
明するが本発明では必ずしもすべてを判別しなくともよ
く選択的に判別する機能を持つことも可能である。 a).CLK周波数 最初にグレードアップされるCPUの情報として必要な
のはCPUの最大CLK周波数である。これは同じCP
U(たとえば486SX)でも周波数によっては温度制
御を必要としない場合があるのでその切り分けに使用す
る。
【0068】b).CPUの種類 次に必要なのはCPUの種類である。これは、実装され
ているCPUが486SXなのか、486DX2なの
か、PENTIUMなのかを判別する為である。同じC
LK周波数でもCPUが異なれば、温度上昇カーブが異
なる。CLK周波数だけではトランジスタの数や構造が
大幅に違うCPUにたいして一律の温度制御を行なうこ
とは不可能である。
【0069】c).インタラプトの種類 前述した、SMIがサポートされているか否かを判別す
る。SMIがサポートされている場合、ソフトウェアで
温度制御、パワーセーブを行なうことができるためハー
ドウェアで完全にコントロールするよりも幅の広い制御
を行なうことができる。尚、SMIを使用しなくとも他
のインタラプトを使用してソフトウェアで温度制御等を
行なうことができるが、プログラムによっては該当する
インタラプトを使用している為、温度制御できなくなる
場合がある。従って、通常はSMIがサポートされてい
ない場合はハードウェアで完全にコントロールする。
【0070】d).CLKタイプ 温度制御等では、主にCLK周波数を切り換える事によ
って行なう。従ってCPUのCLKタイプ、CLKの切
り換え方の情報を得ることは非常に重要である。 CP
UのCLKタイプ別の内部ブロック図を図10、11、
12に示す。
【0071】図10には標準的なCPUのタイプを示
す。まず(A)に386SX等(386はインテル社の
商標である)の内部ブロック図を示す。このタイプのC
PUではCPUコアに直接CLK2信号67が入力され
る。このように外部CLKと内部CLKが同一であるた
めリアルタイムにCLKを切り換えることができる。
(B)は486SX、486DXなどのCPUの内部ブ
ロック図であり、内部に入力周波数を2倍にするPLL
81を有しておりCLK68の倍周波数のCLKがCP
Uコア80に入力される。(C)は(B)のPLL81
が入力周波数を2倍にするのに対し、入力周波数をn倍
にするPLL82を有している。486DX2ではこの
PLL82が入力周波数を4倍にする。(B)、(C)
に示すようなCPUではPLLで入力されたCLK周波
数を数倍に上げるので、CLK周波数をリアルタイムに
変化させることはできない。従ってこのようなCPUで
CLKを切り換える場合、CPUにRESETをかけそ
の間にCLKを切り換える等の方法しかない。この為、
CLK切り換えに時間がかかるので頻繁にCLKを切り
換えるとパフォーマンスを著しく損なうことになる。こ
のことは温度制御の方法を決定するのに重要な事であ
る。又、(B)、(C)の外部CLK周波数が同じ場合
(C)の方が内部CLK周波数が高い分だけ消費電力が
増大する。従って、CLK68の周波数ばかりでなく、
内部のPLL82が入力周波数を何倍にするかという情
報も温度制御の為には重要である。これらタイプは前述
したCPUモジュール2上のジャンパー71の設定等で
本体に通知される。
【0072】図10の(B)、(C)では、前述したよ
うにCLKを切り換える場合特殊な処理を行なう必要が
あるがこの機能をCPU側にあらかじめ持ったのが、イ
ンテル社のエンハンスドSL 486DX2であり図1
1であらわされる。実際は複雑なロジックであるがここ
では簡略化して示してある。
【0073】PLL82から出力されるCLKを切り換
える場合、まずSTPCLK83を’L’にしてCPU
コア80に出力するCLKを止める。次にCLK68の
CLK周波数を変更して、PLL82が安定するまで一
定期間待つ。その後STPCLK83を’H’にしてC
PUコア80に再びCLKを出力する。
【0074】ところが、この場合でもPLLを内蔵して
いるCPUでは、CLK切り替えの際にPLLの安定待
ち時間分だけパフォーマンスを損なう。
【0075】そこで、このタイプのCPUではSTPC
LK83を一定周期で所定時間CPUに入力することで
見かけ上のCLK周波数を落とす方法も考えられてい
る。そうすれば、外部CLK周波数を変化することなく
CPUの消費電力を下げることができ、リアルタイムに
見かけ上のCPUのCLK周波数を変化することができ
る。実際には、STPCLK83をある一定周期(周期
は、レジスタなどで幾通りにも設定可能である)でCP
Uに対して入力する回路をもち、STPCLK83の幅
(時間)もレジスタなどで幾通りにも設定可能にするこ
とで実現できる。ただし本方法はCPUのコアを止める
タイミングを考慮しなければならず回路が複雑になる欠
点がある。詳細は後述する実施例2で説明するが、CP
UがSTPSLK83を受け実際に内部CLKを止める
ことを許可する信号を待たなければならない。そこで、
現在のCPUでは図10、図11の構造しかないが、本
特許は将来的なCPUに対しても有効であることを示す
ために、CLK切り替えの際にパフォーマンスを損なわ
ない構造を持ちかつ外部CLK周波数を落とす為にPL
Lを内蔵したCPUの内部ブロック図の例を図12に示
す。本例は一部を説明するだけで本発明は図12に示し
た以外の構造に対してももちろん有効である。
【0076】図12で3例を示す。(A)は外部からセ
レクト信号のSEL86を与えることにより、PLL8
2から出力されるCLKをCLKB85とセレクタ84
で切り換えてCPUコア80にCLKを供給する方法で
ある。CLKB85が選択されたときは直接CPUコア
80に入力されるのでCLK周波数をダイナミックに切
り換えることができる。こうすればCPUコア80はC
LK切り替えの際にも処理し続けるのでパフォーマンス
を損なうことはない。また、CLK68の周波数を固定
にしておき単純にCLK68とCLKB85を切り換え
ることも可能である。
【0077】(B)は(A)のCLKB85にPLL8
7を追加したものである。2つのPLLを有すること
で、CPUコア80のCLK周波数が高い場合で、切り
換えるCLK周波数が両者とも高い場合でもCLK6
8、CLKB85の両方のCLK周波数を落とすことが
できる。(A)に比べてCLKB85側の周波数もおと
すことができるのである。
【0078】(C)は(A)のCLKB85を持たず、
PLL82の出力とCLK68の出力をセレクタ84で
切り換えるものである。図11に比べ、同じ端子数にも
関わらず本方法に従えばCLK切り換え時にCPUコア
80の動作を停止する必要がない。
【0079】以上のように、本発明では上記のさまざま
なCPUタイプを判別しそのCPUに適した温度制御、
パワーセーブを行なうことができる。当然のことながら
本発明は、CISCベースのインテル製CPUのみなら
ず、RISCベースのCPUなど全てのCPUに対して
も有効である。
【0080】2.ステップ52 本ステップでユーザーは温度制御、パワーセーブについ
ての動作モードを設定する。尚、本ステップは電源投入
時の一連の初期化作業の中で行なわれなくともよく、動
作中にポップアップメニュー(本発明でいうポップアッ
プメニューとは、キーボードのキーコンビネーションも
しくは専用キーを叩くことによって、アプリケーション
を表示している画面に上書きされる形で現われる各種設
定画面のことである。)内等で設定が行なわれてもよ
い。また本ステップを省略しシステム側で自動的に制御
を行なうことも可能である。
【0081】各動作モードの詳細な説明はステップ5
3、54で説明する事として、ここでは概略の動作説明
と、その動作モードの切り換えについてその必要性を説
明する。 図13に連続動作時のCPUをノートパソコ
ンに使用した場合の表面温度上昇カーブを示す。温度上
昇カーブ90、91、92、93の順でそれぞれ対応す
るCPUの消費電力が高くなって行く。従来のノートパ
ソコン等で使用されているCPUでは温度上昇カーブ9
0、91のように連続動作をし続けても温度限界94
(この場合80℃とする)には達しない。ところが放熱
板と空冷ファン等の強制的な空冷手段を必要とするCP
Uをノートパソコンに使用した場合は、温度限界を越え
てしまう。そして、温度上昇カーブ92、93を比較し
て分かるようにCPUの消費電力が大きくなればなるほ
ど短時間で温度限界を越える。
【0082】そこで従来では図14に示すように温度制
御ポイント95(この場合70℃とする)を設けて、設
定値に達したところでCLK周波数をおとしそれでも温
度上昇を続けて温度限界94に達したときにはシャット
ダウンすることでCPUを熱暴走から保護していた。こ
の場合の温度上昇カーブを96に示す。
【0083】次に図15に本発明の温度制御、パワーセ
ーブを取り込んだ温度上昇カーブ例を示す。本発明の温
度制御、パワーセーブについてはいろいろなモードが存
在するので詳細はステップ53、54で説明するが、温
度上昇カーブとしては概略図15に示すカーブを描く。
本発明では、環境温度、システムの動作状態、CPUの
タイプ、CLK周波数、そして本ステップ52で設定さ
れる動作モードによってリアルタイムにかつ細かく温度
を制御するので図13、14と比べ温度上昇カーブは絶
えず上下する。
【0084】ここで上記の温度上昇カーブを比較しなが
ら動作モードについて説明する。ユーザーは以下に述べ
る動作モードを電源投入時や、ハード的なディップスイ
ッチ、キーボードコンビネーションなどによって画面に
表示されるポップアップメニュー内等で設定を行なう。
【0085】(1).自動温度制御モード まず本発明のポイントである自動温度制御モードがあ
る。本モードについての詳細はステップ54で説明する
ので、ここでは概略を説明するにとどめる。ここでいう
自動温度制御モードとは、従来の技術の項ですでに述べ
た筆者出願の特開平4−354009号公報、特願平3
−164657号に示したパワーセーブの手段を温度制
御に応用したものである。特開平4−354009号公
報の技術を応用した温度制御方法をダイナミック温度制
御、特願平3−164657号の技術を応用した温度制
御方法を電圧可変型ダイナミック温度制御と名付けここ
で簡単に説明する。
【0086】(a).ダイナミック温度制御 ダイナミック温度制御とは従来例のようにCPUの温度
が上がってから制御するのではなく、電源投入時からC
PUの温度上昇を極力抑えることにより長時間CPUの
パワーを引きだせるようにしたものであり、特開平4−
354009号公報に示されているパワーセーブの方法
(ここではダイナミックパワーセーブと呼ぶ)と密接な
関係がある。
【0087】ダイナミックパワーセーブとは、ある特定
の要因(特定のIOアクセス、特定のインタラプト)が
生じた場合、CPU1のCLK13の周波数はあらかじ
め決められた時間、高周波数になり、要因が無い場合低
周波数になるパワーセーブの方法である。ダイナミック
温度制御では温度制御が必要なCPUの場合まずダイナ
ミックパワーセーブに入る。これにより、CPUが処理
を行っているときのみCLK周波数を高速とするので次
に述べるノーマルモードよりも温度上昇が抑えられる。
【0088】ダイナミック温度制御では、ステップ53
で得られた温度とステップ51で得られたCPUタイプ
等から、温度上昇率を抑えるようあらかじめ決められた
一定期間内のCLK周波数の高周波数時間を制御する。
詳細はステップ54で説明するが、ダイナミック温度制
御では一部パフォーマンスを損なうことがあることに注
意されたい。
【0089】(b).電圧可変型ダイナミック温度制御 電圧可変型ダイナミック温度制御とは、上記ダイナミッ
ク温度制御がCLK周波数を制御するのに加えて電圧も
変化させる温度制御方法である。パワーセーブにおいて
ダイナミックパワーセーブに対して電圧も変化させるパ
ワーセーブ法は特願平3−164657号にある。この
パワーセーブ手段を電圧可変型ダイナミックパワーセー
ブと呼ぶ。
【0090】電圧可変型ダイナミック温度制御では温度
制御が必要なCPUの場合まず電圧可変型ダイナミック
パワーセーブに入る。そして、ステップ53で得られた
温度とステップ51で得られたCPUタイプ等から、温
度上昇率を抑えるようあらかじめ決められた一定期間内
のCLK周波数の高周波数時間及び電圧を制御する。詳
細はステップ54で説明するが、ダイナミック温度制御
と同じく一部パフォーマンスを損なうことがあることに
注意されたい。
【0091】(2).ノーマルモード ノーマルモードとは、パワーセーブ、温度制御を行わな
わずCLK周波数を該当するCPUの最大CLK周波数
に固定する通常のモードの事をいう。本実施例の自動温
度制御は一部分必ずパフォーマンスを損なう。STEP
54で後に詳しく説明するが、たとえば、長時間の計算
を行うプログラムを走らせた場合前述の自動温度制御モ
ードは必ずCLK周波数が低周波数になる。なぜなら
ば、単純ループの場合でも高速になるような要因(たと
えばメインメモリアクセスやVIDEO RAMアクセ
ス)を、CLKを高速にする要因に入れてしまうとWI
NDOWSばかりでなくMS−DOS上のプログラムで
さえ常に高周波数のCLKで動作してしまう。結果とし
て、温度限界が短時間で訪れ温度制限のためにCLK周
波数を落とさざるを得ない。それを回避するため本発明
の自動温度制御は、キーボード、マウスなど外部から物
理的な信号が加わった場合のみを要因として温度制御を
行なうことで温度限界が短時間で訪れるのを防ぐ。従っ
て長時間の計算を行うプログラムを走らせた場合、自動
温度制御モードによってCLK周波数が落とされてしま
う。
【0092】このことは一部のユーザーにとって非常に
困ることである。自動温度制御モードは一般的なアプリ
ケーションプログラムではパフォーマンスを損なわない
ことを前提に設計しているので、一般的なアプリケーシ
ョンプログラムでは自動温度制御モードによってCLK
周波数が落とされることはまずないといえるが、科学計
算など自作のプログラムを作成し実行しようとしたとき
に自動温度制御モードによってCLK周波数が落とされ
てしまうのはCPUパワーを有効に使用できるとはいえ
ず、せっかくのCPUパワーがむだになってしまう。そ
こで、キーボードのキーコンビネーションもしくは、キ
ーコンビネーションか専用キーの殴打によって現われる
ポップアップメニューによって、ノーマルモードにする
手段を用意する。キーコンビネーションとは、たとえば
CTRLキーとGRPHキーとPキーを同時に押すこと
を意味する。ノーマルモードでは、ステップ53で計測
されるCPUの温度が限界に達したら、CLK周波数を
おとすなどしてCPUの温度上昇を自動的に防ぐ。一度
温度が上昇すると冷えるのに時間がかかるので、その後
のパフォーマンスは自動温度制御モードの時に比べて落
ちる。
【0093】このように、両モードともメリット、デメ
リットがあるので必ずユーザーに選択する手段を設ける
ことが必要である。これは本発明の重要なポイントの1
つである。他にたとえば10分〜1時間をこえるような
計算の場合上記両モードで動作させるよりも常に温度限
界点で動作させるのがよい場合もある。この場合、あら
かじめ計算されたCLK周波数以下にCLK周波数を落
とすことによってそれを実現する。すなわち、本発明の
情報処理装置では、CLKの周波数を落とした場合、そ
れが連続動作可能な周波数の場合は自動的に温度制御を
はずす機構も備えている。これは、BIOSがCLK周
波数を設定する時に温度制御をはずすことによって行
う。前記STPCLK83を有するCPUの場合でCL
K周波数を変化させずSTPCLK83を制御する時
は、STPCLK83の周期およびパルス幅がある一定
条件(CLK周波数の平均値が連続動作可能な周波数と
同じ時に相当する)にあった時、自動的に温度制御をは
ずす。尚、本モードは上記2モードで代替可能なので必
ず必要であるわけではない。CLKの周波数を落とした
場合、自動的に温度制御をはずす機構を備えることも本
発明の重要なポイントの1つである。ここで以上のこと
を分かりやすく下記に示す。
【0094】(a).通常アプリケーションの場合 自動温度制御モードを使用 (b).1秒程度〜10分程度の処理の場合 ノーマルモードを使用 ユーザーは処理後、自動温度制御モードにもどす。 (c).10分程度以上の処理の場合 CLK周波数を落とし温度制御を解除して使用する。
【0095】尚、後述する実施例3では、上記(a)〜
(c)までを自動的に切り換える手段を説明する。実施
例1では、ユーザーがメニュー等でモードを切り換える
ことを前提に説明する。
【0096】3.ステップ53 本ステップでは温度を計測する。本発明の温度計測方法
には、CPUの表面温度を直接計測する方法と、ケース
内部の温度を計測する方法及び、ケース外部の温度を計
測する方法がある。他に、センサーを設けず電源投入時
からのCLK周波数の割合から温度カーブを推定するこ
とも可能である。この場合はCLK13を生成、制御を
行うメモリ・CPUコントロール部7内にカウンターを
設け、あらかじめ決められた一定時間でCLK周波数も
しくはCLK停止信号を監視しカウントすることで行う
事が出来る。 たとえば、自動温度制御時にはCLK周
波数保持時間が1mS〜数S単位で変化するので、10
0μSごとに周波数を監視して、最大周波数時はカウン
トアップし最低周波数時はカウントダウンするようにす
る。そしてカウント値が1000000に達すると(高
周波が100S連続することに相等する)温度が上昇し
たと判断できる。
【0097】この手段が、請求の範囲で示した周波数別
動作時間に相当する。概要は従来の技術の項でも述べた
が、本実施例ではCPUのタイプ、動作周波数がわかる
ようになっているので、各々のCPUに対して何%の動
作により温度限界に達するかをしることができる。(そ
の%を動作限界%とする)常にスピードが動作限界%に
達しないよう制御すれば温度限界が訪れない事になる。
自動温度制御時などCPUは常時高周波数で動作してい
るわけではないので、上記カウンタが動作限界%になる
ことはまれである。CLKを高速にする要因が連続に発
生したときには動作限界%を守るよう自動的に動作周波
数を制御する。(ただし、従来技術の項で述べたように
環境温度等の考慮が不十分である)又、実際の計測した
温度と上記カウンタ利用による、動作限界%を守るよう
自動的に動作周波数を制御する手段を組み合わせて、あ
る温度に達するとカウンタ制御である動作%におさえる
こともできる。
【0098】尚、本ステップ53は実際には図6に示す
ようなシリアルな処理ではなくリアルタイムに処理を行
なっていることに注意されたい。以下それぞれの温度計
測方法について説明を行なう。
【0099】(1).CPUの温度を直接計測する 本発明は、CPUの温度を制御するのだから、CPUの
温度を直接計測する方法がいちばん適している。この場
合2つの方法が考えられる。1つ目はCPU自身が内部
に温度センサーを持ち自らが保護するか、警告信号とし
てあらかじめ決められた信号を出力する方法がある。も
う1つはCPUの表面にセンサーを付ける方法である。
【0100】(a).CPUの内部にセンサーがある場
合 CPUの内部にセンサーを設けて自らの温度限界時にC
LK周波数を強制的に下げるなどして保護する方法が考
えられる。この場合当然のことながらこのような構造を
有するCPUのみしか対応できない。CPUは自らの温
度限界を知ることはできるが、現在の処理がプログラム
がどのようなことを意図して処理を行なっているかを知
ることはできない。したがってCPUの内部にセンサー
を設ける場合、熱暴走のための保護をかけることはでき
るが動作途中で細かい温度制御を行なうことは難しい。
尚、外部からの温度制御信号を取り込み制御するのであ
ればセンサーがどこにあるかの違いだけで外部にあるの
とかわらないので細かい温度制御を行なうこともでき
る。CPU内部にセンサーがあると(b)で述べる方法
よりも高さを抑えられると考えられるので実装上は適し
ている。
【0101】(b).CPUの表面にセンサーを付ける
方法 本実施例を図2に示した。(A)はQFP等のフラット
パッケージのCPU1の上にサーミスタ3を付けた方法
である。(B)はPGAのICソケット20のまん中に
サーミスタ3をあらかじめセットし、図7のようなPG
AのCPU60をセットするとCPUにサーミスタ3が
接触する(もしくは近傍に配置される)ようになってい
る。
【0102】ノートパソコンのようにケース内部の高さ
制限が厳しい場合(B)の形よりも(A)のようなフラ
ットパッケージのCPUが使用される。そしてこのCP
Uがグレードアップされる場合、図4に示したCPUモ
ジュール2の形になる。故にサーミスタ3がCPUモジ
ュール2上のCPU1の上にセットされる事になるので
(B)の場合よりは高さは低くなるものの、サーミスタ
3の分だけ高さが高くなるという欠点がある。また、ユ
ーザーが交換するCPUモジュール2上にセンサーがく
ることで物理的に不安定であるという問題もある。
【0103】この問題を解決する一手段を図5に示し
た。CPUモジュール2上のサーミスタ3はCPU1の
端子からでたグランドパターン48(電源パターンでも
可)上にセットされる。CPU1の発熱が端子からグラ
ンドパターン48に伝わりサーミスタ3で関知される。
サーミスタ3は熱電対など他の温度センサーでもよい。
本方法は本発明のポイントの1つである。
【0104】さて、上記問題点を解決するもう1つの方
法として、CPUの表面温度ではなくケース内部温度を
計測する方法を次に示す。
【0105】(2).ケース内部温度を計測する CPUの表面温度を計測するのが一番よい方法である
が、高さ及びユーザの取扱い上の理由で物理的な欠点が
あることを説明した。そこでここではケース内部温度を
計測することでCPUの表面温度を計測するのと同等の
結果を得ることができるかどうかを説明する。本発明に
於て、本項目も重要なポイントである。
【0106】まず図16と図17に環境温度の違いによ
る温度上昇カーブを示す。図16は環境温度が25℃の
場合のグラフであり、図17は図16とまったく同一の
CPUで同一の動作条件下に於て環境温度が40℃の場
合のグラフである。各図には環境温度そなわち室温10
2と、ケース内温度101及びCPU表面温度100の
温度グラフを示してある。図16でほぼ温度が飽和した
4時間後の温度は、ケース内温度が室温より15℃高い
40℃であり、CPU表面温度が室温より30℃高い5
5℃である。そして室温が25℃より15℃高い40℃
の場合では図17に示すように、ケース内温度が室温が
25℃の時より15℃高い55℃であり、CPU表面温
度も室温が25℃の時より15℃高い70℃である。こ
のように、ケース内温度及びCPU表面温度は、環境温
度の変化分だけ温度上昇する事が分かる。特にケース内
温度は、環境温度の上昇分を反映することに注意された
い。
【0107】次に、図18、図19にCPUの違いによ
る温度上昇カーブを示す。両グラフは室温25℃で同じ
動作状態で計測したもので図18のCPUよりも図19
のCPUの方が処理能力が高く従って消費電力も多い。
当然の事ながら図19のケース内温度101及びCPU
表面温度100共に図18よりも高い。ここで注目する
のがケース内温度101とCPU表面温度100の関係
であり、両グラフからケース内温度がCPUの表面温度
上昇を反映しているのが分かる。
【0108】以上述べたように、ケース内温度は、環境
温度とCPUの表面温度の両方を反映する事が分かる。
更に言えば、ケース内温度にCPUタイプ、動作条件を
加味したある一定の温度を加算すればCPUの表面温度
を推定することができる。本発明の実現手段の一つは、
ケース内温度にステップ51で得られるCPUタイプに
対応するあらかじめ決められた一定の値を加算すること
でCPUの表面温度を推定し温度制御を行なうことであ
る。
【0109】実際にセンサーをセットする例を図5に示
した。このようにサーミスタ等の温度センサーをCPU
基板46上に備えればよい。こうすればCPUモジュー
ル2が交換されても常に同じポイントのケース内温度が
計測できCPU1の表面温度を推定できる。
【0110】(3).ケース外部の温度を計測する 上記(1)、(2)の方法の他にケース外部の温度を計
測する方法もある。しかし、上記(1)、(2)の方が
CPUの温度をより正確に制御可能であるので本方法は
可能であると言うだけにとどめる。
【0111】4.ステップ54 本ステップでは、STEP51〜STEP53で得た各
情報に沿って温度制御を行なう。STEP52でユーザ
ーが設定するモードのうち自動温度制御についてここで
詳細に説明する。尚STEP52で説明した従来動作と
同様のノーマルモードに対してはここでは説明しない。
【0112】STEP52で述べたように自動温度制御
は従来のパワーセーブ、特に筆者出願の特開平4−35
4009号公報、特願平3−164657号に示したパ
ワーセーブと密接に関係する。そして、自動温度制御に
は上記公報に対応してダイナミック温度制御と電圧可変
型ダイナミック温度制御の2種類がある。そこで従来の
パワーセーブについても若干の説明を加えながら自動温
度制御について説明する。
【0113】自動温度制御についての概略はSTEP5
2で述べたのでパワーセーブとの関連性と、違いを示し
ながら実施例を説明する。図1に於て、メモリ・CPU
コントロール部7が自動温度制御機能を有している。自
動温度制御機能は大きく分けて4つのブロックに分ける
ことができる。即ち動作モード設定部8、パラメータ設
定部9、要因検出部10、CLK制御部11である。以
下それぞれの機能に付いて説明する。
【0114】(1).動作モード設定部8 動作モード設定部8ではSTEP52でユーザーが動作
モードを設定した場合その設定によってパラメータ設定
部9、CLK制御部11に対してコントロール信号を出
力する。また、ダイナミック温度制御と、電圧可変型ダ
イナミック温度制御の設定も決められたI/Oポートア
クセスによって本ブロックで行なう。I/Oポートアク
セスは図20のAに示すように、例えば101hのbi
t0に電圧可変型ダイナミック温度制御をする場合は1
を、また電圧可変型ダイナミック温度制御をしない場合
は0を書くことで行なう。
【0115】(2).要因検出部10 要因検出部10では、CLK周波数を高周波数にする為
の要因を検出しCLK制御部11にコントロール信号を
出力する。その要因はパワーセーブ時と自動温度制御時
とは異なる。それは、前述の従来例の項で述べたような
「WINDOWSのように組み込まれたデバイスドライ
バが一定間隔でデバイスをチェックするプログラムの場
合、結果的に常に連続動作が発生することになり実際に
CPUパワーが必要なときに温度限界によって低速動作
になってしまう」事を避けるためである。この点は本発
明のポイントの一つであるので以下更に詳細に説明す
る。ただし、これはCLK周波数保持時間の設定とOS
(オペレーティングシステム)によって異なり要因をパ
ワーセーブ時と自動温度制御時で同一にしても、WIN
DOWSにおいても問題ないこともある。ここではより
広い範囲で対応する実施例として説明する。
【0116】まず従来のパワーセーブの手法の1つであ
るダイナミックパワーセーブの動作波形を図22に、又
電圧可変型ダイナミックパワーセーブの動作波形を図2
3に示す。図22の(A)で、キーボード、マウス、F
DD等の動作時でI/Oポートにアクセスした場合に出
力されるコマンド信号120が検出されると、図1のC
PU1に対するCLK13の周波数を切り換える周波数
切換信号122が’L’から’H’になる。周波数切換
信号122が’H’になるとCLK信号13は決められ
た一定期間(図22では20mS)CPU1の最大CL
K周波数(図22では20MHz)で動作し、周波数切
換信号122が’L’になるとCPU1の最低CLK周
波数(図22では2MHz)で動作する。尚、周波数切
換信号122が’H’の時と’L’の時のCLK13の
周波数を設定できるものもある。ユーザーが連続でキー
ボードを操作した時はコマンド信号120が(B)に示
すように連続で発生する。その場合でも必ず最後のコマ
ンド信号120から一定期間(図22では20mS)経
過後CLK信号13は低周波数に切り換わる。
【0117】図22の波形において周波数切換信号12
2が一定期間’L’であると電圧を落とすのが図23に
示した電圧可変型ダイナミックパワーセーブである。周
波数切換信号122が’L’になってから、一定期間経
過後、電圧切換信号123が’L’になり結果として電
源の出力電圧124が5Vから3Vになる。
【0118】図20にダイナミックパワーセーブ コン
トロールポートを示した。(B)の表110に示すよう
に、本実施例ではCLKを高速にする要因として12種
類の要因をもつ例を示した。レジスタ110hの12b
itにキーボード、FDD、HDDなどの要因を一つず
つ割当てソフトウェアで有効無効を設定できるようにす
る。又、それぞれの要因が発生した場合どのくらいの期
間高速動作をさせるか(前述のCLK周波数保持時間に
相等する)をレジスタ120h、130hで設定するよ
うになっている。当然のことながら要因の数、レジスタ
の構成、時間の設定等は本実施例に限定されないばかり
でなく、本実施例でbit5に割り当てたメインメモリ
などは、アドレスによって領域ごとに設定することも可
能である。
【0119】ここで従来はあらかじめ決められたCLK
周波数保持時間を電源たちあげ時に設定していたが、本
発明ではステップ51で得たCPUタイプ、CPUの最
大CLK周波数によりこのCLK周波数保持時間を変化
させることも可能である。ソフトウェアの動作を考えた
とき、CPUのパフォーマンスが上がれば上がるほどそ
の実行時間が短くなる。そこでCPUのパフォーマンス
を知るために、ステップ51でCPUのタイプと最大C
LK周波数を判別し、その結果をパワーセーブに反映さ
せることでより適切な効果を得ることができる。本アイ
デアは本発明のポイントの一つである。
【0120】さて、従来前述した図22の波形で、低速
期間121と高速期間125は要因にかかわらずその期
間ごとの周波数を自由に設定できるものが知られていた
が、本発明では図20の表111に示すように各要因ご
とに最大周波数と最低周波数を設定できるようになって
いる。
【0121】図21に自動温度制御ポートを示した。表
114を図20の表110と比べて分かるように要因が
12から5つに減り設定時間が長くなっている。又、図
20の表111に対応するのと同じように表115によ
って各要因ごとに最大周波数と最低周波数を設定できる
ようになっている。この点が本発明の重要なポイントの
1つである。
【0122】尚、自動温度制御の場合もパワーセーブと
同じくステップ51で得たCPUタイプ、CPUの最大
CLK周波数によりこのCLK周波数保持時間を変化さ
せることも可能である。
【0123】現在、表110に示したような要因が連続
的に発生する場合、即ちCPUが連続で動作することで
熱暴走を起こす可能性のある場合として大きく分けて以
下の3つが考えられる。
【0124】(a).デモンストレーションプログラ
ム、WINDOWSなどのように一定期間ごとに各要因
をアクセスした場合 この場合CPUは高速で動作し続ける。従って自動温度
制御ポート114が表110のようになっていると温度
制御ができなくなる。(実際の動作では、後述する実施
例2に示すようにアプリケーション動作中は必ずしもC
PU内部の処理をし続けるわけではないがここではあら
ゆるプログラムに対応できるようモデル化して説明をす
る。)そこでキーボード、マウスなど外部から物理的な
信号が加わった場合のみを要因として温度制御を行な
う。更に言うと、ユーザーがアプリケーションソフトに
対し指示を与えた場合のみを要因として温度制御を行な
うのである。
【0125】これを図24を使用して更に詳しく説明す
る。図1のCPU1のCLK13を切り換える周波数切
り換え信号122は、表110に基づいて発生するダイ
ナミックパワーセーブからの周波数切り換え信号130
と表114に基づいて発生する自動温度制御からの周波
数切り換え信号131のAND信号となっている。図2
4でWINDOWS動作中の期間136の場合信号13
0は’H’を保っている。この場合あらかじめ表114
で設定される一定期間133(図24では5s)経過す
ると自動温度制御からの周波数切り換え信号131は’
L’になり結果としてCLK13の周波数切り換え信号
122は’L’となりCLK13の周波数は2MHzと
なる。この後、表114で示される要因(たとえばキー
ボード入力)があった場合には自動温度制御からの周波
数切り換え信号131はただちに’H’になり結果とし
てCLK13の周波数切り換え信号122は’H’とな
りCLK13の周波数は50MHzとなる。
【0126】以上のように実際にユーザーがキーボード
入力などでアプリケーションの動作を促したときのみC
LK13の周波数をあげるという制御を自動温度制御と
することによりWINDOWSなどのように一定期間ご
とに各要因をアクセスするものでも温度制御を行なうこ
とができる。尚、WINDOWSには、アプリケーショ
ンソフトの動作状態を本体に通知できる機能をもってい
るものあるのでその場合はWINDOWS動作中136
の期間でもBIOSからの周波数切り換え信号137に
よって周波数切り換え信号122が’L’になりCLK
周波数が2MHzになる。このBIOSからの周波数切
り換え信号137は図1の動作モード設定部8からCL
K制御部11に対して出力される。
【0127】(b).通信中、FDDのディスクコピ
ー、HDDのフォーマット中、プリンタ動作中等の場合 RS−232Cを介してモデムによって通信をしている
時や、FDDのディスクコピー、HDDのフォーマット
中等の場合、分単位をこえ場合によっては数時間におよ
ぶ連続アクセスを行なう場合がある。この場合従来のパ
ワーセーブでは常にCPU1が高速に動作していた。そ
れ故、本発明で目指しているような連続動作では熱暴走
してしまうようなCPUを使用する場合、ダイナミック
パワーセーブ機能を有効にしていても通信中に熱暴走
を起こしてしまう。これを回避する為に(1)で説明し
たような「キーボード、マウスなど外部から物理的な信
号が加わった場合のみを要因として温度制御を行なう」
方法を用いると、パソコン通信などでダウンロード中な
どキーボード等を長時間操作しない場合突然CPUが遅
くなってしまうことが考えられる。
【0128】そこで本問題を解決するため、各要因ごと
に図21の表115に示すように最大周波数と最低周波
数を設定できるようにする。尚、通常は最低周波数は固
定してもよいので要因ごとに最大周波数のみを設定して
もよい。表115においてFDD、RS−232Cだけ
は最大周波数を33MHzとし、その他の要因は最大周
波数を50MHzとする。この場合の33MHzという
周波数はCPUが連続動作しても熱暴走しない最大CL
K周波数に相当する。図24において通信中135の期
間はダイナミックパワーセーブからの周波数切り換え信
号135は連続的に’H’になる。又、自動温度制御か
らの周波数切り換え信号131も連続的に’H’になり
結果としてCLK13の周波数切り換え信号122は’
H’となりCLK13の周波数は33MHzで動作し続
ける。通信中にキーボード入力があった場合は図24で
は5s間は50MHzにCLK周波数があがる。
【0129】本方式は通信中のパフォーマンスがCPU
のパフォーマンスよりも格段に遅いモデムのボーレート
で左右されることと、FDDアクセス時のパフォーマン
スがCPUのパフォーマンスよりも格段に遅いDMAコ
ントローラの転送レート、FDDのアクセス時間に左右
されることを利用して考えられている。すなわち、ある
デバイスの連続アクセスが発生した場合そのパフォーマ
ンスに対しCPUのパフォーマンスが寄与する割合が飽
和することを考慮に入れたものである。
【0130】例えば、モデムから通信データを電話回線
を通じて読み込み、画面に表示するまでを考えてみる。
ここでCPUが関与するのは、ソフトウェアが行なう動
作すなわちモデムからのデータをRS−232Cを通じ
て読み込みVIDEO RAMに書き込むまでである。
モデムの通信が2400bps等の単位のシリアル転送
で行なわれるのに比べ、CPU側は32bit、64b
it等のパラレル転送を数十MHzで行なうことができ
る。つまり、このような一連の動作を考えた場合、CP
Uのパフォーマンスをいくらあげても、モデムの通信速
度が全体のパフォーマンスのボトルネックとなってしま
い実際のユーザーに対する体感速度に寄与できない。
それならば、CPUのCLK周波数を、あらかじめ計算
されたユーザーに対する体感速度に影響を及ぼさない程
度のCLK周波数に落としてしまおうというのが、本ア
イデアである。
【0131】図20の表111においてダイナミック
パワーセーブでも本自動温度制御方式と同じく各要因ご
とに最大CLK周波数と最低CLK周波数を設定できる
ようになっていたが、この場合の最大CLK周波数はC
PUのパフォーマンスが寄与する割合が飽和する点であ
るといえる。(前述のように最大CLK周波数のみを設
定するようにしてもよい)これと同じく自動温度制御に
おいても図24の通信中135のCLK周波数をCPU
の温度限界ではなく、CPUのパフォーマンスが寄与す
る割合が飽和するCLK周波数としてもよい。本実施例
はRS−232C、FDDを例に記述しているが、ここ
で述べた方式を、RS−232C、FDDばかりでなく
CD−ROMやHDD、セントロなどのI/Fを経由す
る機器(プリンタ他)等の他のデバイス一つ一つに応用
することで全体的なパフォーマンスを落とす事なくパワ
ーセーブ、温度制御を行なうこともできる。このことは
本発明に於て重要なポイントのひとつである。
【0132】(c).WINDOWS中マウスを動作し
続けた時などの場合 さて上記2種類の場合以外にどうしてもCPUの温度限
界に達してしまう場合がある。それは、WINDOWS
中マウスを動作し続けた時や、キーボード入力を連続で
行なうことでCPUが最高速で動作し続けた場合であ
る。又、STEP52でユーザーが動作モードをノーマ
ルモードに設定し、CPUに対して最速動作を要求した
場合も同様である。いままでは、従来技術の項で述べた
ように、温度センサーかもしくは温度センサーを持た
ず、ある一定時間のCLK周波数の高周波数と低周波数
の割合から温度上昇カーブを推定して現在の温度を知る
ことでCLK周波数を制御していた。本発明ではSTE
P53で得られた温度を基にCLK周波数をきめ細かく
制御する。この場合については次のパラーメータ設定部
9で詳細に説明する。
【0133】図1において、キーボードコントロール部
22から出力される信号15(もしくはCPUがキーボ
ードコントロール部22をアクセスしたことを示す信号
の場合もある)や、マウス、FDD等表110、114
に示した各要因をコントロールするI/Oコントロール
部25から出力される信号(もしくはCPUがI/Oコ
ントロール部25をアクセスしたことを示す信号の場合
もある)等に基づいて、要因検出部10では上記の各場
合に最適なコントロール信号(周波数切り換え信号13
0、131など)をCLK制御部11に出力することで
CPU1のCLK13を制御する。
【0134】(3).パラメータ設定部9 パラメータ設定部9ではステップ53で行なわれる温度
チェックで得た温度と、各条件によるパラメータの設定
値及び要因検出部10からの要因によってCLK制御部
11に対してコントロール信号を出力する。温度チェッ
クの方法は、ステップ53で述べたようにセンサーを用
いないで、あらかじめ決められた一定時間(たとえば5
分)のあいだで、CLK周波数を監視しその平均的なC
LK周波数から現在の温度上昇値を推定し、5分後のC
LK周波数を決定するなどの方法もある(本発明はこの
場合にも有効である)。
【0135】しかし、ここでは環境温度等に対応可能な
センサーを用いる方法である図1に沿って説明する。温
度チェックは図1のA/Dコンバータ5からの出力信号
12によって判断される。サーミスタ3は温度によって
抵抗値が変化する。そこで、電源電圧Vcc6が、温度
によって変化するサーミスタ3の抵抗値と抵抗4で分圧
されA/Dコンバータ5に入力される。A/Dコンバー
タ5で電圧がデジタル値(本実施例では3ビット)に変
換され、出力信号12としてメモリ・CPUコントロー
ル部7内のパラメータ設定部9に出力される。
【0136】パラメータ設定部9でCLK制御部11を
コントロールするのは、前述の(2)の(c)に示した
ようにCPUを連続的に最大CLK周波数で動作させた
場合でCPUが温度限界に近付いた場合である。従来
は、CPUの温度限界でCLK周波数を単純に落とすこ
とによってCPUの表面温度を下げていたが、本発明で
は更に1歩踏み込んで温度制御を行なう。
【0137】本実施例のパラメータ設定部9では、数段
階の温度を設定しその温度によって最大CLK周波数を
落とす。従って、温度によって要因検出部10で設定さ
れた最大CLK周波数に対し制限をかけることになる。
【0138】図25に温度によって最大CLK周波数を
設定する表を示した。この表でCPU温度によってCP
U1の最大CLK周波数が決定される。実際には、ST
EP51で得られるCPUタイプ(図1ではTYPE1
4に相当する)によって、STEP53で得られる各温
度設定(CPU温度の場合やケース内温度の場合もあ
る)に対応するCPUの最大CLK周波数をBIOSで
設定する。図25でCPU温度が70℃の場合、要因検
出部10で図21の表115に基づいて最大CLK周波
数が50MHzに設定されていてもパラメータ設定部9
によって強制的に40MHzにCLK周波数を落とす。
本実施例のCPU1の温度規格を守る最大連続動作C
LK周波数は33MHzなので、CPU1の温度限界8
0℃に近付いたとき(ここでは75℃)には33MHz
にCLK周波数を落し連続動作でもCPU1の温度規格
を守るようにする。 又、ユーザーが環境を機器保証外
で使用することも考慮し、温度限界80℃の場合では更
にCLK周波数を落とす機能も有する(図25では25
MHzにしている)。
【0139】実際の温度上昇カーブを図26に示した。
図26で、ポイント140においてCPUの温度が65
℃に達する。そうすると要因検出部10及び動作モード
設定部8の両方からの各周波数切り換え信号130、1
31、137のAND信号である周波数切り換え信号1
22が’H’の途中でもCLK周波数132は50MH
zから45MHzに落ちる。キーボード入力がなくアイ
ドル状態が続くと図26のように温度も徐々に低下する
ので、再びCPUが動作する時には50MHzで動作す
ることができる本実施例では、温度によって最大CLK
周波数を制御する例を示したが、他に温度によって表1
14の各要因による時間設定をかえる方法もある。尚、
さきに述べた電圧可変型ダイナミック温度制御の場合
は、温度によってCLK周波数ばかりでなく電圧も下げ
ることも可能である。
【0140】又、ケースに強制空冷手段として空冷ファ
ンを設けた場合、本ステップにおいて空冷空冷ファンの
回転数を制御する事ができる。従来でも、空冷ファンの
回転数を環境温度で変化させる例はあったが、本発明で
は、自動温度制御に空冷ファンの制御を加えることでよ
り緻密な温度制御を行うことができる。
【0141】その一実施例では以下の順で制御される。 .温度上昇し温度限界に近付くまで自動温度制御を行
う。この場合最大CLK周波数は変化させないので通常
使用でのパフォーマンスの低下はない。空冷ファンは必
要ないので停止する。
【0142】.温度限界に近付いたとき 自動温度制御はそのまま継続。最大CLK周波数は変化
させない。空冷ファンを回転し温度によって回転数を制
御する。
【0143】.更に温度限界に近付いたとき 自動温度制御はそのまま継続。最大CLK周波数を落と
す。空冷ファンを回転し温度によって回転数を制御す
る。
【0144】本例では従来のように温度により一律に空
冷ファンの回転数を落とすのに比べ、オフィスに許され
る騒音と、ケースの大きさによって決定される空冷ファ
ンに合わせて詳細にシステムを構築できる。その結果、
ワープロなどのようにCPUパワーを殆ど使用しないア
プリケーションソフトウェアの場合空冷ファンの騒音に
悩ませられる事なく操作でき、又ノートパソコンに装着
されるような非力な空冷ファンであっても限界温度を越
えた場合の温度制御手段を別に持つことにより、その空
冷ファンの効果を最大限に利用する事ができる。空冷フ
ァンがあれば前述のノーマルモード時の動作時間をより
延ばすことができるのはもちろんである。
【0145】(4).CLK制御部11 CLK制御部11ではいうまでもなく、動作モード設定
部8、パラメータ設定部9、要因検出部10からのコン
トロール信号に基づいてCLK13の周波数を制御する
ブロックである。
【0146】5.ステップ55 ユーザーはパワースイッチをOFFにする。
【0147】以上が、本発明の温度制御方法であり、C
PUのタイプ、ユーザーによる動作モードの設定に基づ
き、温度とソフトウェアの動作条件、種類によってCP
Uの温度を細かく制御する。
【0148】尚、いままでの説明は分かりやすくするた
めにある要因からCLK周波数を制御する方法に限定し
たが、他にインタラプト中に限り高速動作する手段等他
の手段を組み合わせることも可能である。又、アドレス
バスやメモリアドレスを監視することでプログラムのル
ープ性を認識しアイドル状態を検出する手段も本発明に
取り入れることもできる。この場合、図20表110の
内メインメモリの要因に本条件を加えると、計算中と単
純連続ループを判別できより詳細に温度制御可能とな
る。
【0149】本発明は、従来の方法と異なり、あらゆる
点でパフォーマンスを落とす事なく温度を制御する工夫
がされており、かつCPUが何段階にもアップグレード
される場合にも有効である。本発明によって、従来不可
能であると思われた放熱板と空冷ファン等の強制的な空
冷手段を必要とするCPUをノートパソコンに使用する
事ができる。現在、CPUはテクノロジーの進歩によっ
てチップサイズの縮小化、電源電圧の低下が行なわれて
いる。ソフトウェアはCPUの処理スピードが速くなれ
ばなるほど、実際にCPUが処理している時間は少なく
なっていく。CPUがこの先、進歩すればするほど処理
スピードが速くなるので、よりいっそう従来のソフトウ
ェアがCPUを実際に使用する割合は少なくなる。本発
明はこのことに注目して発明されているため将来に渡っ
ての継続性を有する。
【0150】本発明は、ノートパソコンを例として述べ
たが、より小型のサブノートタイプ、パームトップタイ
プ、ハンドグリップタイプ、の情報機器においても応用
可能であるばかりでなく、環境問題で問題になるデスク
トップ型のコンピュータの消費電力低減にも応用可能で
ある。デスクトップ型に応用する場合は、本発明に空冷
ファンの回転制御を加えることでより実現的な制御を行
なうことができる。
【0151】又、本実施例ではおもにCPUの消費電力
をCLK周波数を制御する事で行なう例を述べてきたが
本発明はそれに限定されるものではない。例えば、CP
Uの動作ブロックをソフトウェアの必要とするブロック
だけ動作するように制御できるのが一番よい。数値演算
プロセッサ部などその機能を使用するアプリケーション
が必要なときだけそのブロックにCLK信号を供給すれ
ばよい。
【0152】将来的には、本発明をベースにソフトウェ
アとCPUの各ブロック動作が密接に連携できるよう、
ソフトウェア、CPUを改良することによってよりパフ
ォーマンスの高いCPUをより小型の情報機器に使用す
ることができる。
【0153】又、前述のように、内部にPLLをもつC
PUでCPUのCLK周波数を変化させるとPLLの安
定時間待たなければならないような場合は、CPUコア
のみのCLKを停止させる信号を持ち、その信号を一定
周期で所定時間CPUに入力することで見かけ上のCL
K周波数を落とす方法もある。本発明は、CPUタイプ
を判別する手段も有しているので、そのCPUにあった
手段で温度制御を行うことができる。CPUコアのみの
CLKを停止させる信号をリアルタイムにコントロール
することで見かけ上、前記詳細説明のCLK周波数を変
化させる手段と同一の効果を得ることができる。このこ
とは、設計上外部CLK周波数を今以上、上げるのが難
しい現在の状況下に於て、CLK周波数をPLL等によ
り逓倍化し内部のみCLK周波数をあげたCPUに対し
ても本発明が有効であることを示しており本発明の重要
なポイントの1つである。
【0154】<実施例2>実施例1に基づき、より具体
化した例を実施例2として説明する。実施例2における
情報処理装置は実施例1と同じく図3に示すブロック図
と同様な構成をもつパーソナルコンピュータ(以下パソ
コン)である。本パソコンは図11のSTPCLK83
に相当する信号でCPUコア80のCLKを定期的に停
止することでCPUの消費電力を下げると共に発熱を防
止する機能を有している。その機能は大きく2つに分類
される。第1は前述したノーマルモードである。本パソ
コンは図28に示すような、各コンパレータ151の出
力信号H0〜H3によってCPUの表面温度を推定し各
値によってCPUコア80のCLKを定期的に停止す
る。第2は自動温度制御である。自動温度制御は実施例
1で説明した方法と同様の機能を有している。本パソコ
ンでは、自動温度制御をポップアップメニューによりO
N/OFFすることが可能である。自動温度制御がON
でもコンパレータ151の出力信号H0〜H3によって
CPUコア80のCLKを定期的に停止する機能は有効
である。
【0155】はじめに本パソコンのCPU表面温度検出
部について説明する。図27はCPUモジュール2の外
形図でありCPU1がついていない裏面から見た図であ
る。本CPUモジュール2は処理能力の異なるCPUを
CPU1として実装可能でありユーザーはCPUモジュ
ール2を交換することでパソコンの処理能力のグレード
アップを図る事が可能である。図28にCPU温度検出
部の回路図を示す。サーミスタ3はCPUの温度限界に
よって決定される抵抗R4(146)と共に図27に示
すようCPUモジュール2の中央部に実装される。その
近傍にはCPUの温度をより反映させやすくするため穴
141も設けて有る。サーミスタ3は穴141の中すな
わちCPU1の裏面に直接接続してもよい。ここではユ
ーザーが取り付けるので壊れにくくする為と、部品の取
付の安易さから基板にサーミスタ3を実装する例をあげ
た。CPUの裏面は的確に表面温度を反映する為サーミ
スタ3は裏面の中央部に実装している。CPUの表面温
度はCPUモジュール2の裏面に伝わりサーミスタ3に
感知される。図28において抵抗R0(145)と、C
PUモジュール2に実装される温度検出部147すなわ
ちサーミスタ3の抵抗値+R4(146)でVccが分
圧されコンパレータ151の+側に加わる。サーミスタ
3は温度で抵抗値が変化するため、必然的に分圧された
電圧も温度によって変化する。
【0156】ここでR4(146)がなぜ必要かを説明
する。CPUモジュール2に実装されるCPU1はいく
つかの種類が考えられるため、各々の温度限界値が異な
る事が考えられる。あらかじめ特性のわかっているCP
Uの場合、実施例1の方法でCPUの種類を知り温度制
御用のパラメータを変更することができるが、わかって
いないCPUの場合対応できなくなる。そこでR4(1
46)をCPUの温度限界に合わせて変更する事で電圧
の微調整を行って同一パラメータで制御を行う。又、C
PUのAC特性を満たすため限定条件として限界温度幅
が規定される事もありこの場合にもR4(146)があ
れば柔軟に対応できる。R4(146)を設ける事は本
発明のポイントの1つである。
【0157】このように分圧された温度が反映された電
圧値は、各設定温度に対応された電圧値と比較されその
大小で’H’か’L’が出力される。たとえばH3では
抵抗R1(148)と抵抗R2(149)の分圧比がH
3の設定温度をあらわす基準電圧としてコンパレータ1
51のー側に加わる。この基準電圧よりも、+側に加わ
る電圧が上回る場合にH3に’H’が出力される。他の
温度設定値も同様であり、H2の場合はR1とR3(1
50)の分圧比が基準電圧となる。以上の方法により各
温度H0〜H3のどの温度にCPU1の表面温度が達し
たか知る事が出来る。尚、H0に関しては後に説明する
実施例3で使用するだけで実施例2では使用しない。
【0158】図30にノーマルモード時の温度上昇カー
ブを示す。本パソコンは設定温度H1(160)に達す
るまでは100%で動作し、H2(161)に達するま
では90%で動作する。又、H3(162)に達すると
パソコンがどのような動作環境にあってもかならず温度
がさがるようなスピードである50%に制限される。実
際には、各段階ごとに設定するスピードはCPU1によ
ってなるべくパフォーマンスを損なわないよう決定され
る。
【0159】本実施例2ではH1〜H3の3段階で動作
スピードを制限しているがCPU1によってはH3(1
62)のみでスピード制限をかけることも可能である。
H3(162)のみで制限をかける例として実際のアプ
リケーション動作中の温度上昇カーブを図31に示す。
図31に示すように実際の動作ではCPU1は常にフル
稼働するわけではなく、FDDアクセス時でHOLDが
CPU1に入った時や、メモリ、IOアクセス時等には
稼働率が落ち、従って温度も下がる。実際に温度限界9
4に達するのは、連続してCPU1を使用する計算中や
内部キャッシュで動作し続けるときなどごく限られた場
合のみである。経験的には、DOSプロンプト状態など
アプリケーションプログラムが動作していないときに温
度が上昇する傾向にあるので(例えばキー入力検出ルー
チンをCPUが繰り返すこと等が要因と考えられる)、
CPU1によってはH3(162)で制限をかけても実
際の動作中には影響を及ぼす事はない。図31で、CP
U1はH3(162)に達するまでは100%で動作
し、H3(162)に達するとスピードが50%(この
値はCPU1による)に制限され温度が下がる。温度が
下がりH2(161)に達すると再び100%で動作す
る。
【0160】本実施例2では、H3(162)に達した
ときにLEDを消す事でユーザーに動作スピードが落ち
た事を知らせる機能を有している。これはH3(16
2)のみで制限をかける場合でも同様である。ユーザー
はスピード制限がかかった事を知ることで、自動温度制
御に切り換えたり、アプリケーションプログラムのアイ
ドル検出プログラムを組み込んだり、動作環境温度を調
整したりすることができる。これは本発明のポイントの
1つである。LEDを消す回路例を図29に示す。LE
D155はREDとGREENの2色を別々に発光する
タイプのLEDである。通常動作では、LEDOFF1
58は’H’になっており、LEDR156によってR
EDが、LEDG157によってGREENが制御され
る。REDとGREENが両方点灯するとORANGE
になる。本パソコンはCPU1のスピードを変更する機
能を有しており、最高速時にはLEDG157だけが’
H’となりLED155をGREENに点灯させ最低速
時にはLEDR156だけが’H’となりREDが点灯
する。中間スピード時には、LEDG156、LEDR
157が共に’H’となりORANGEが点灯する。
【0161】LEDOFF158は2つのANDゲート
159に接続される。図30で温度が上昇しH3(16
2)に達する点163でLEDOFF158は’L’に
なり2つのANDゲート159の出力が’L’となるの
でLED155は消灯する。温度が下がりH2(16
1)に達する点164で再びLEDOFF158が’
H’となり、もとに選択されたスピードを現す色に点灯
する。H3(162)とH2(161)を数℃の間隔に
すると、実際には温度が下降する時間は数mSから数S
で下降するため、図30のようにH1とH2を交互に行
き来するのに従ってLEDが点滅するように見える。
【0162】次に、STPCLK83を利用したスピー
ド制御について具体的に説明する。実施例1、3でも共
通の方法でスピード制御を行う事が出来る。図33に波
形を示した。実施例1のSTPSLK83に相当する信
号をSTPCLKN165として示す。STPCLKN
165は図1のメモリ・CPUコントロール部7から図
33に示すようにパルス波形で定期的にCPU1に出力
される。その1サイクルを拡大したのが図32である。
STPCLKN165がCPU1で認識されるとCPU
1は内部CLK169を止める際に必要な処理を行った
後、アドレスバスとステータス信号167にSTPCL
Kステータスを出力すると共に、アドレスストローブで
あるADSN166を’L’にする。そして、メモリ・
CPUコントロール部7はADSN166によってCP
U1が内部CLK169を止める準備ができたと判断し
RDYN信号168を’L’とする。CPU1はRDY
N168をCLK68の立ち上がりでサンプルしそこか
ら内部CLK169を止める。一定期間STPCLKN
165を’L’にした後再度STPCLKN165を’
H’にするとCPU1は再たび内部CLK1にCLKを
供給すると共に必要な処理を行った後、通常動作に復帰
する。上記の方法を用い、STPCLKN165の’
H’の期間と’L’の期間を可変にすることでCPU1
のスピードを自在に変える事が可能である。
【0163】通常、図34に示すようにCLK68はS
TPCLKN165が’L’の期間も周波数を変化させ
ない。それはCLK68を変化させると実施例1で述べ
たようにPLL82の安定期間分パフォーマンスを損な
うからである。しかしPLL82の安定期間は1mS程
度なので、ある程度パフォーマンスを損なっても支障が
ない場合、CLK68をSTPCLKN165を’L’
にするのと同時に周波数を落としてやればCLK68の
周波数を変化させない場合に比べ消費電力をよりいっそ
う落とす事が出来る。その例を図35、36に示す。図
36では、STPCLKN165を定期的に’L’に落
とし、その’L’の期間CLK68の周波数も落とす例
を示している。又、図36を一部拡大したのが図35で
ある。CLK68の周波数を変化させた場合、STPC
LK165を立ち上げる場合はPLLの安定期間Tp1
70を経てから上げる点に注意する。PLLの安定期間
Tp170はCPU1によって時間を設定可能になって
いる。
【0164】本例では、CLK68の周波数を落として
消費電力を落とす方法を述べたが、更に消費電力を落と
すためには、CPU1の出力バッファをハイ・インピー
ダンスにする信号をSTPCLKN165が’L’の期
間入力すればよい。そうすれば、出力バッファが外部デ
バイスを駆動する電力もセーブすることができる。タイ
ミングとしては、図32でRDYN168をCLK68
の立ち上がりでたたく点からSTPCLKN165を’
H’にするまで、すなわち内部CLK169が停止して
いる期間にCPU1に入力する。CPU1の出力バッフ
ァをハイ・インピーダンスにする信号はCPU1のグレ
ードアップを目的として本来CPUに備わっていること
が多い(高性能のCPUを追加した時、元のCPUの出
力をハイ・インピーダンスにして、元のCPUを殺す
為)。無論CPU外部に出力をプルアップする回路を設
けても良い。
【0165】以上が実施例2の説明である。自動温度制
御に切り替わっても、上記の温度検出の動作は同じなの
で要因が発生したときの最大周波数は温度によって制限
される。このように統一的な制御にする事で制御回路を
簡素化できる。
【0166】<実施例3>実施例1、2ではノーマルモ
ードと自動温度制御モードをユーザーがポップアップメ
ニューなどで切り換える例を示した。ユーザーがアプリ
ケーションによって両モードを切り換えるにはある程度
のプログラムの知識が必要である。そのため一般ユーザ
ーにはどちらのモードで使用していいのかわからない場
合がある。そこで実施例3で両モードを自動的に切り換
える例を示す。
【0167】図37に温度上昇カーブを示す。本実施例
ではH1(160)を使用せずH0(170)、H2
(161)、H3(162)を使用する。まず、電源投
入時はノーマルモードで立ち上がる。次にH3(16
2)に温度が達する点171で実施例2で示したように
温度が下降してH2(161)に達する。そしてH3
(162)まで再び上昇するというように上昇、下降を
繰り返す。この期間(H3とH2の間に温度がある期
間)がt1(175)を越える点172で動作モードが
自動温度制御モードに切り換わる。長時間のCPU1内
部での計算中は要因が発生しないため動作スピードは最
低速に固定され、温度は急激に低下しH0(170)を
越えて最低速時のカーブ177に乗って下がっていく。
ここでH0の設定ラインである170以下に温度が保た
れる期間t2(176)が経過する時間174になると
再び動作モードがノーマルモードへ切り換わる。このよ
うに、ノーマルモードと自動温度制御モードが切り換わ
る事で長時間の計算時もスピードをあまり落とさずに実
行できる。
【0168】図37は長時間計算時の例を述べたが、他
のケースでは以下のようになる。1つ目のケースはソフ
ト的なアイドル検出プログラムが組み込まれていたとき
の場合である。この場合、立ち上げ時にはノーマルモー
ドであるが、図31に示した実際の温度波形よりも更に
低温側で温度カーブが推移するので実際にH3に到達す
る162のラインに達する事はまれである。t1を比較
的長く設定すれば自動温度制御モードにはほとんど切り
替わらない。次は、ソフト的なアイドル検出プログラム
が組み込まれていない場合やあまり効果がない場合で、
長時間の計算がほとんど行われない場合である。ユーザ
ーがアプリケーションプログラム等で行う通常動作は、
ほぼこのケースに該当する。この場合、ノーマルモード
では、一度H3のライン162に達すると、いざCPU
のフルパワーが必要な場合に、100%のスピードで動
作することが出来なくなる。それに対して本実施例3で
は、172のポイントで自動温度制御に切り換わるため
通常の動作はほとんど172と173の間で行われる。
又、実際プログラムが動作しているときは、ライン17
0を下回るt2の時間も短い(つまり多少の温度上昇を
伴う)ので、ノーマルモードにはほとんど切り替わらな
い事になる。
【0169】以上のように両モードを自動的に切り換え
れば、あらゆる場合でもパフォーマンスをあまり損なう
事無く動作することが出来る。t1をt2に対して大き
くとれば、長時間計算時のパフォーマンスの低下はなく
なっていくが、短期的なスピードダウンがt1の期間存
在してしまう。そこでt1、t2を自由に設定できるよ
うにしプログラムによって切り換えてもよい。
【0170】以上の機能によりユーザーに分かりやすい
システムを提供できる。
【0171】
【発明の効果】以上述べたように本発明の情報処理装置
は、連続動作を続けると発熱によって熱暴走してしまう
くらいの処理能力をもったCPUを、その処理能力を損
なう事なくまた発熱による熱暴走を起こすことのないよ
うに温度制御することによって使用可能にする。結果的
に、本来大型の放熱板を有するCPUを放熱板を取るこ
とで携帯型のノートパソコンに装着することができる。
【0172】また特に携帯型のノートパソコン等におい
て、グレードアップされるCPUに応じて最適な発熱コ
ントロールを行うことを可能とする。
【図面の簡単な説明】
【図1】 本発明のブロック図。
【図2】 CPUの表面にセンサーを付ける方法の実施
例を示す図。
【図3】 本発明の情報処理装置のブロック図。
【図4】 CPUモジュールの実装形体図。
【図5】 ノートパソコンの基板の外形図。
【図6】 本発明のフローチャート。
【図7】 PGA形状のCPUの外形図。
【図8】 CPUをグレードアップする場合の一例を示
す図。
【図9】 CPUモジュールの簡略化した回路図。
【図10】 CPUのCLKタイプ別の内部ブロック
図。
【図11】 CPUのCLKタイプ別の内部ブロック
図。
【図12】 CPUのCLKタイプ別の内部ブロック
図。
【図13】 CPUの表面温度上昇カーブを示す図。
【図14】 CPUの表面温度上昇カーブを示す図。
【図15】 本発明でのCPUの表面温度上昇カーブを
示す図。
【図16】 環境温度の違いによる温度上昇カーブを示
す図。
【図17】 環境温度の違いによる温度上昇カーブを示
す図。
【図18】 CPUの違いによる温度上昇カーブを示す
図。
【図19】 CPUの違いによる温度上昇カーブを示す
図。
【図20】 I/Oポートを示す図。
【図21】 自動温度制御の為のI/Oポートを示す
図。
【図22】 ダイナミックパワーセーブの動作波形を示
す図。
【図23】 電圧可変型ダイナミックパワーセーブの動
作波形を示す図。
【図24】 自動温度制御時の周波数切り換え波形を示
す図。
【図25】 温度によって最大CLK周波数を設定する
図。
【図26】 実際の温度上昇カーブを示す図。
【図27】 CPUモジュールの実装形体図。
【図28】 温度計測部回路図。
【図29】 LED制御の回路図。
【図30】 実施例2の温度上昇カーブ。
【図31】 実際の温度上昇カーブ。
【図32】 STPCLKNのタイミング波形。
【図33】 STPCLKNの波形。
【図34】 STPCLKNの波形。
【図35】 STPCLKNの波形。
【図36】 STPCLKNの波形。
【図37】 実施例3の温度上昇カーブ。
【符号の説明】
1・・・CPU 2・・・CPUモジュール 3・・・サーミスタ 4・・・抵抗 5・・・A/Dコンバータ 6・・・電源電圧Vcc 7・・・メモリ・CPUコントロール部 8・・・動作モード設定部 9・・・パラメータ設定部 10・・・要因検出部
フロントページの続き (56)参考文献 特開 平5−143195(JP,A) 特開 平4−354009(JP,A) 特開 平3−126131(JP,A) 特開 昭61−202217(JP,A) 特開 平5−224772(JP,A) 特開 平2−83720(JP,A) 特開 平1−260517(JP,A) 特開 昭52−155918(JP,A) 特開 平2−171813(JP,A) 特開 平3−62109(JP,A) 特開 平5−11897(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 1/04 G06F 1/08 G06F 1/20

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 CPUと、 該CPUを包むケースと、 該CPUを保持する基板と、 該CPU、該ケースの内部、および該基板の少なくとも
    一つの温度を検出する温度計測部と、 該CPUに第1のCLKおよび第2のCLKのどちらか
    を与えるコントロール部と、 を備えた情報処理装置であって、 該第1のCLKの周波数は該第2のCLKの周波数より
    低く、 該コントロール部は、 該CPUを該第1のCLKで駆動する第1のモードと、 該少なくとも一つの温度が第1の温度に達した場合に該
    CPUへのCLKを停止しするとともに該少なくとも一
    つの温度が第2の温度に達した場合に該CPUに該第2
    のCLKを与える第2のモードと、を有し、 該第2の温度は該第1の温度より低く、 該コントロール部はさらに、 該第2のモードが少なくとも第1の期間続いた場合に第
    1のモードを開始し、 該第1のモードが少なくとも第2の期間続いた場合に第
    2のモードを開始する、 情報処理装置。
  2. 【請求項2】 第3の温度は前記第2の温度より低く、 前記コントロール部は、 該少なくとも一つの温度が該第3の温度から該第2の温
    度に達した時点から該第1の期間該第2のモードが続い
    た場合に、該第2のモードから該第1のモードに変更
    し、 該少なくとも一つの温度が該第2の温度から該第3の温
    度に達した時点から第2の期間該第1のモードが続いた
    場合に、該第1のモードから該第2のモードに変更す
    る、 請求項1記載の情報処理装置。
JP13223794A 1993-09-21 1994-06-14 情報処理装置 Expired - Lifetime JP3246186B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13223794A JP3246186B2 (ja) 1993-09-21 1994-06-14 情報処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-235094 1993-09-21
JP23509493 1993-09-21
JP13223794A JP3246186B2 (ja) 1993-09-21 1994-06-14 情報処理装置

Publications (2)

Publication Number Publication Date
JPH07141052A JPH07141052A (ja) 1995-06-02
JP3246186B2 true JP3246186B2 (ja) 2002-01-15

Family

ID=26466861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13223794A Expired - Lifetime JP3246186B2 (ja) 1993-09-21 1994-06-14 情報処理装置

Country Status (1)

Country Link
JP (1) JP3246186B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832284A (en) * 1996-12-23 1998-11-03 International Business Machines Corporation Self regulating temperature/performance/voltage scheme for micros (X86)
FI117523B (fi) * 1998-10-07 2006-11-15 Nokia Corp Menetelmä tehonkulutuksen säätämiseksi
JP3761544B2 (ja) 2003-06-25 2006-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
JP2007241376A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd 情報処理装置
JP4867969B2 (ja) * 2008-10-14 2012-02-01 日本電気株式会社 プロセッサ制御システム、方法、及びプログラム
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering

Also Published As

Publication number Publication date
JPH07141052A (ja) 1995-06-02

Similar Documents

Publication Publication Date Title
US6336080B1 (en) Thermal management of computers
USRE47658E1 (en) Heat dissipation system for computers
US6272642B2 (en) Managing a system's performance state
US7822996B2 (en) Method for implementing thermal management in a processor and/or apparatus and/or system employing the same
EP1085399B1 (en) Software-based temperature controller circuit in an electronic apparatus
US6118306A (en) Changing clock frequency
US6470289B1 (en) Independently controlling passive and active cooling in a computer system
US5596756A (en) Sub-bus activity detection technique for power management within a computer system
US5594874A (en) Automatic bus setting, sensing and switching interface unit
JP3761544B2 (ja) 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
JP2009522688A (ja) 独立周波数及び/又は電圧で集積回路の構成要素を動作させるシステムならびに方法
KR20020050270A (ko) 환경에 따른 프로세서의 작동 파라미터의 동적 조절방법
JP2004133646A (ja) 情報処理装置および方法、並びにプログラム
KR20040068938A (ko) 열 관리가 조절된 운영 체계
US7596638B2 (en) Method, system, and apparatus to decrease CPU temperature through I/O bus throttling
US7194646B1 (en) Real-time thermal management for computers
US6848054B1 (en) Real-time computer thermal management and power conservation
US6112309A (en) Computer system, device and operation frequency control method
JPH09237140A (ja) コンピュータシステム
JP3246186B2 (ja) 情報処理装置
JPH0997128A (ja) 情報処理システム
JP3782226B2 (ja) コンピュータシステムおよびusbコントローラ
JP3460237B2 (ja) 情報処理装置
JP2007299346A (ja) 消費電力の制御方法およびコンピュータ装置
JP2002223527A (ja) 電子機器とその電源制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071102

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 12

EXPY Cancellation because of completion of term