JPH05324141A - コンピュータシステム用電力制御装置 - Google Patents

コンピュータシステム用電力制御装置

Info

Publication number
JPH05324141A
JPH05324141A JP4130807A JP13080792A JPH05324141A JP H05324141 A JPH05324141 A JP H05324141A JP 4130807 A JP4130807 A JP 4130807A JP 13080792 A JP13080792 A JP 13080792A JP H05324141 A JPH05324141 A JP H05324141A
Authority
JP
Japan
Prior art keywords
cpu
cycle
access
virtual
bus
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.)
Granted
Application number
JP4130807A
Other languages
English (en)
Other versions
JP2988781B2 (ja
Inventor
Katsuyoshi Doi
克良 土居
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP4130807A priority Critical patent/JP2988781B2/ja
Priority to US08/066,303 priority patent/US5432947A/en
Publication of JPH05324141A publication Critical patent/JPH05324141A/ja
Application granted granted Critical
Publication of JP2988781B2 publication Critical patent/JP2988781B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 CPUのアイドリングに於ける消費電力を削
減できるコンピュ−タシステム用電力制御装置を提供す
る。 【構成】 マイクロプロセッサ211 と、マイクロプロセ
ッサ211 に接続されたキャッシュメモリ212 と、マイク
ロプロセッサ211 及びキャッシュメモリ212を制御する
バスインタ−フェイス213 と、バスインタ−フェイス21
3 に接続されI/O装置からの処理終了割り込むを待つ
アイドル状態で非キャッシュメモリアクセスサイクルの
時間割合を調整すると共にマイクロプロセッサ211 の動
作が停止している時間的割合及びキャッシュメモリ212
に対するアクセスを調整する割り込み制御装置25、仮想
入出力(I/O)アドレスコ−ダ26、仮想入出力(I/
O)制御装置27を備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オフィス・オ−トメ−
ション機器に利用するコンピュータシステムの電力制御
装置に関する。
【0002】
【従来の技術】一般に利用されているコンピュータ・シ
ステムの一構成例を図19に示す。
【0003】図19のコンピュータ・システムは、マイ
クロプロセッサ(CPU)、デ−タ・キャッシュ・メモ
リ、命令キャッシュ・メモリ、バスインターフェイス、
ランダム・アクセス・メモリ(RAM)、リ−ド・オン
リ−・メモリ(ROM)、各種入出力(I/O)によっ
て構成されている。
【0004】図19の点線で囲まれた部分は、一つのチ
ップ、または複数のチップに分割されて集積される場合
もある。
【0005】図19に示すコンピュータシステムは、実
際に米国、MIPSコンピュータシステムズ社のR3000
などのCPUで実現されている(例えば、LSI Logic 社
MipSET Technical Manual, Order No. 63004, Part N
o. MM71-000101-99A の1-2 を参照)。
【0006】MIPSコンピュータシステムズ社の設計
したマイクロプロセッサ(CPU)R3000 は縮小命令セ
ット・コンピュ−タ(RISC(Reduced Instruction S
et Computer))と分類され、キャッシュメモリに命令/
データがあれば1マシンサイクルでアクセスできるため
にその処理性能が速い。
【0007】通常、CPUは、キャッシュバスを使用し
て命令/データがキャッシュに乗っているかどうかを1
マシンサイクル毎にチェックし、キャッシュに命令/デ
ータがあればキャッシュに対するアクセスのみで実行を
続けることができる。
【0008】図20は、5段階のパイプラインを有する
マイクロプロセッサR3000 におけるパイプラインの流れ
を示す。
【0009】マイクロプロセッサR3000 では5段のパイ
プラインにより、キャッシュメモリから命令のフェッチ
(IF)、レジスタデコード(RD)、演算(AL
U)、メモリアクセス(MEM)、レジスタへの書き戻
し(WB)の5段階が1段階ごとにオーバラップして実
行されるので、実質的に命令、データともにキャッシュ
メモリに存在すれば1クロックサイクル/1命令の処理
が可能である。
【0010】図21を参照して命令キャッシュがヒット
しない場合の動作を説明する。
【0011】マイクロプロセッサ(CPU)の実行する
べき命令は、最初、図19のRAMに置かれている。C
PUは命令を実行するため図19のキャッシュメモリか
ら命令を読み出し実行しようとするが、命令がRAMに
置かれているのでキャッシュはミスヒットとなる。
【0012】そこで、CPUはバスインターフェイスを
経由してRAMから命令を読み込むためスト−ル(STAL
L )サイクルに入り、バスインターフェイスを通してR
AMをアクセスし、読み出した命令をキャッシュメモリ
に書き込む(図21のフィックス・アップ(FIX UP)サ
イクル)。CPUはこれをフェッチすると実行(RUN)を
再開する。
【0013】マイクロプロセッサ(CPU)のプログラ
ムは局所性が強い、即ち一度キャッシュメモリに取り込
まれた命令が再び利用される可能性が強い。命令がキャ
ッシュメモリに存在(“ヒットしている”と称する)し
ていれば、図20のようにパイプラインがスムーズに流
れ、実効1命令あたりキャッシュメモリのアクセスサイ
クルで命令を取り出して実行を続けることができ、 RAMのアクセス時間 > キャッシュメモリのアクセ
スサイクル時間 であることを有効に活用できる。
【0014】これは、データをアクセスするときも上記
と同じ事情が成立している。また、上記説明ではキャッ
シュミスヒット時におけるRAMに対するアクセスを説
明したが、システムバスに接続されるI/O装置やRO
Mに対するアクセスはキャッシュメモリを使用しない論
理アドレス空間を使用してアクセスされるので、上記キ
ャッシュミスヒットと同様なスト−ル(STALL )サイク
ルが発生する。
【0015】図22は、MEMステージでデータキャッ
シュがヒットしなかった場合を示す。RAMに対するア
クセス(STALL) サイクルが発生し、次の命令#2のME
Mステージは待たされる。
【0016】定量的には、RAMのアクセスにN−1サ
イクル費やし、キャッシュメモリに書き込みを行ってか
ら実行を再開するとし、キャッシュメモリのヒットする
確率A%とすると、1命令実行に必要な平均のサイクル
数は、 1×A/ 100+N×(1−A/100 ) が必要なサイクル数となる。
【0017】例えば、A=98% N=4サイクルならば 1×98/ 100+4×(1−98/100 )=1.06 となり、命令実行に要する平均のサイクル数が1に近い
値なので、CPUの実効処理速度はCPUクロックサイ
クルに近く、処理速度がほとんど低下しない。
【0018】これがキャッシュメモリ採用のコンピュー
タシステムの動作原理である。
【0019】命令の読み出しでなく、データアクセスの
場合も同様の原理が働く。即ち、コンピュータシステム
ではキャッシュメモリからの命令の読み出し/データの
リード(READ)、ライト(WRITE)がマイクロ
プロセッサのマシンサイクルに等しい頻度で行われてい
る。
【0020】コンピュータシステムでは、実行すべきプ
ロセスがI/O待ちになり、ほかに実行すべきプロセス
が無い場合はアイドル状態と呼ばれ、アイドルループを
実行するか、または停止(STOP)命令などを実行してI
/Oからの割り込みによってアイドル状態を抜け出すよ
うな制御が行われている。
【0021】アイドル状態の作り方には以下のような方
法が知られている。
【0022】もっとも単純なアイドル状態は、(1)I
/Oからの割り込みが発生するまでアイドルループを実
行する方法である。
【0023】アイドル状態において何ら有意義なプロセ
スは処理されていないが、このような状態は、I/O待
ちにおいてしばしば出現するのでこのときの消費電力を
削減するのにいろいろな方法が考えられている。
【0024】モトローラ社(Motorola Inc.) のMC68000
系等のCPUでは、STOP命令というCPUの動作を止め
る命令がインストラクションセットに用意されているの
でこれを利用する。即ち、(2)アイドル状態にてCP
U停止命令を実行し、CPUを停止状態にしてI/Oか
らの割り込みを待つ状態に入る方法である。
【0025】CPU停止命令からの復帰はI/Oからの
割り込みである。
【0026】CMOSで製造されたマイクロプロセッサ
は、消費電力とクロック周波数が比例関係にあることを
利用してクロック周波数を下げる方法もある。
【0027】CYPRESS 社のSPARC CPU CY7C601 のような
RISC CPUではCPUクロックを停止させても問
題ないことを利用し、(3)アイドル状態にするにはC
PUクロックを停止するI/Oをアクセスしてクロック
を停止状態にして、I/Oからの割り込みがあればCP
Uクロックの再開を行い、割り込み処理を行う方法であ
る。
【0028】このような機能は、CPU以外にクロック
制御のための外付けの回路が必要となる。また、上記方
法(3)の変種としてCPUクロックを0にするのでは
なく、クロック周波数を下げるという方法もあるが、方
法(3)に含めて議論すると、一般に最近のCMOSプ
ロセスで製造されるCPU/キャッシュメモリなどは動
作周波数に比例して消費電力が増加することから方法
(3)で消費電力を下げることは可能である。
【0029】また、以上の組み合わせとして特開平3-14
111 号公報に示されている“マイクロプロセッサのパワ
ーセーブ制御装置”によればCPU停止命令の発行とC
PUクロックの停止を同時に行う方法などが提案されて
いる。
【0030】
【発明が解決しようとする課題】上述した従来の方法
(1)では、アイドリング・ループの命令数が少ないた
め、ほとんどのシステムではキャッシュメモリに全てア
イドリング・ループが搭載されてしまう。この結果、1
命令/1クロックの速度でアイドリング・ループが実行
されてしまい、CPU/キャッシュメモリはCPUクロ
ックの動作速度で 100%動作している。従って、コンピ
ュータシステム消費電力のうち大多数がCPUとキャッ
シュメモリで消費されており、アイドリングに於ける消
費電力を削減することができないという問題点があっ
た。
【0031】また、従来の方法(2)では、CPU停止
命令をもたないCPUには適用できないという問題点が
あった。このようなCPUが大半であることから実現性
に問題がある。例えばMIPS社のR3000 である。
【0032】更に、上述した方法(3)では、CPUが
スタティックデザインで設計されていない場合には、C
PUクロックを0にすることまたはCPUクロックを低
速化することができないという問題点があった。このよ
うなCPUが大半であることから実現性に問題がある。
また、CPUクロックとシステムバスクロックが同一、
ないし整数倍の関係である場合が多いが、そのようなシ
ステムではCPUクロックを変えることができないとい
う問題点があった。
【0033】本発明は、上述した従来の方法における問
題点に鑑み、CPUクロックとは無関係にアイドリング
に於ける消費電力を削減できるコンピュータシステム用
電力制御装置を提供する。
【0034】
【課題を解決するための手段】本発明は、マイクロプロ
セッサと、マイクロプロセッサに接続されたキャッシュ
メモリと、マイクロプロセッサ及びキャッシュメモリを
制御するバスインターフェイスと、バスインターフェイ
スに接続されたI/O装置からの処理終了割り込みを待
つアイドル状態で非キャッシュメモリアクセスサイクル
の時間的割合を調整すると共にマイクロプロセッサの動
作が停止している時間的割合及びキャッシュメモリに対
するアクセスを調整する調整手段とを備えているコンピ
ュータシステム用電力制御装置によって達成される。
【0035】
【作用】本発明のコンピュータシステム用電力制御装置
では、バスインターフェイスはマイクロプロセッサ及び
キャッシュメモリを制御し、調整手段はI/O装置から
の処理終了割り込みを待つアイドル状態で非キャッシュ
メモリアクセスサイクルの時間的割合を調整すると共に
マイクロプロセッサの動作が停止している時間的割合及
びキャッシュメモリに対するアクセスを調整する。
【0036】
【実施例】以下、図面を参照して、本発明のコンピュー
タシステム用電力制御装置の実施例を説明する。
【0037】図1は、本発明のコンピュータシステム用
電力制御装置の第1実施例の構成を示す。
【0038】図1のコンピュータシステム用電力制御装
置は、マイクロプロセッサ部11、アドレスデコーダ12、
第1周辺装置13、アクノリッジ信号を出す第2周辺装置
14、メインメモリ15、リ−ド・オンリ−・メモリ(RO
M)16、及びアクノリッジ信号生成回路17によって構成
されている。
【0039】上記マイクロプロセッサ部11は、マイクロ
プロセッサ(CPU)111 、キャッシュメモリ112 、及
びバスインターフェイス113 によって構成されている。
【0040】次に、上記各構成部分の動作を説明する。
【0041】マイクロプロセッサ部11は、図2及び図3
のタイミングチャートに示すように、CPU111 のシス
テムクロックSYSCLKに同期して動作するように構成され
ており、また、CPU111 は命令を読み込むため、キャ
ッシュメモリ112 に対するアクセスを行う。
【0042】プロセス実行において 100%キャッシュが
ヒットしている場合が図2のようになる。即ち、命令キ
ャッシュからのキャッシュリードストローブ/IRD がサ
イクルの前半でアサートされて命令のアクセスが行われ
る。また、サイクルの後半ではデータキャッシュの読み
出しのためキャッシュリードストローブ/DRD がアサー
トされている。上述のように構成されているので、図1
のキャッシュデータバスには半サイクルごとに命令とデ
ータがアクセス可能になっている。
【0043】また、マイクロプロセッサ(CPU)111
は、システムクロックSYSCLKと同一のサイクルで処理を
実行するので、このときの消費電力は最大となる。
【0044】周辺装置13やROM16のような固定時間の
アクセスサイクルの周辺装置に対するアクセスにおいて
は、一定時間で必ずアクノリッジ信号生成回路17でアク
ノリッジ信号を作成し、サイクルを終了させる。また、
アクノリッジ信号を自ら生成する周辺装置14のアクノリ
ッジ信号は、アクノリッジ信号生成回路17で他のアクノ
リッジ信号と論理和されてバスインターフェイス113 に
アクノリッジとして送り返される。
【0045】図3は、データキャッシュリードミスヒッ
ト時にシステムバスをアクセスする手順を示す。
【0046】CPU111 が第2サイクル目でデータキャ
ッシュミスヒットした場合、第3サイクル目で/MEMRD
(図1参照)がバスインターフェイスに対してアサート
され、システムバスに対するアクセスを開始する。
【0047】システムバスからは、一定時間でアクノリ
ッジ信号/LRDYがバスインターフェイス113 に対してア
サートされ、これがCPU111 に対するア−ルディビジ
ィ−(RdBusy)信号のネゲート(negate)となってシス
テムバスに対するアクセスサイクルを終了させる。
【0048】フィックス・アップ(FIX UP)サイクルで
は、システムバスから読み出したデータをCPU111 が
読みだし、次のサイクルで実行状態を再開する。
【0049】ここで、消費電力に注目すると、CPU11
1 が実行状態では最大の消費電力となっているが、スト
−ル(STALL )サイクルに入るとキャッシュメモリ112
に対するサイクル毎のアクセスが停止するので、キャッ
シュメモリ112 における消費電力は小さくなる。CPU
111 もスト−ル(STALL )サイクルでは命令実行を停止
しているので消費電力は低下する。
【0050】即ち、大容量のキャッシュメモリ112 をも
ち、システムバスに比べて高速なアクセスサイクルをも
つコンピュータシステムでは消費電力は、 キャッシュヒット時の消費電力(Pmax)>>STALL サイクルの消費電力(Pmin) (但し、システムバスアクセス時) ………(1) であることが多い。
【0051】スト−ル(STALL )サイクルにおける消費
電力は、どのデバイスをアクセスするかにより若干の変
動はあるが、図1のROM16などのデバイスを選べばキ
ャッシュヒット時の消費電力に比べて充分小さい。
【0052】また、最近の技術動向として、図1のマイ
クロプロセッサ部11の動作クロックとシステムバスの動
作クロックが異なるシステムが増えており、マイクロプ
ロセッサ部11の動作クロックを高周波数に設定して高性
能を実現しよう試みており、上記不等式(1)でキャッ
シュヒット時の消費電力Pmaxが大きくなっている。
【0053】本実施例では、マイクロプロセッサ(CP
U)111 が実行すべきプロセスがなく、入出力(I/
O)からの割り込みを待つアイドル状態になったら、リ
ードアクセスしても差し支えないROM16をアクセス
し、このプロセスをループ状で繰り返すことにより、上
記スト−ル(STALL )サイクルの実行を頻繁に行わせる
ように構成している。即ち、ROM16を省電力I/Oと
して利用する。
【0054】システムが実行すべきプロセスがなくなっ
た場合(例えばキー入力待ち)をアイドル状態と呼んで
いるが、この状態になったらROM16にリードアクセス
させてスト−ル(STALL )サイクルにする。
【0055】図1のアドレスデコーダ12は、システムバ
スにメモリマップドI/OされたROM16にセレクト信
号/ROMCS を送る。
【0056】アクノリッジ生成回路17は、セレクト信号
を受けるとROMアクセスタイムが経過するとアクノリ
ッジ信号(/LRDY)を生成してROMアクセスサイクル
を終了する(図4参照)。
【0057】スト−ル(STALL )サイクルが終了し、再
びCPU111 が実行状態(RUN) になると消費電力は最大
となる。フィックス・アップ(FIX UP)サイクルでCP
U111 に読み込まれるデータはROM16のデータであ
る。
【0058】また、周辺装置14のようにアクノリッジ信
号をもっているものはアクノリッジ信号発生装置17で発
生されるアクノリッジ信号と論理和されてバスインター
フェイス113 に接続される。これにより周辺装置14のよ
うにアクノリッジ信号によりアクセスサイクルの制御を
行なっていた周辺装置のアクセスサイクルには影響がで
ないようにする。
【0059】図4は、ROMアクセスサイクルを示すタ
イミングチャ−トである。
【0060】図5は、アイドル状態でのROM16へのア
クセス手順を示すフロ−チャ−トである。
【0061】次に、図4を参照して図5の各ステップを
説明する。
【0062】まず、実行すべきプロセスがないかどうか
を判定し(ステップS1)、上記ステップS1で実行す
べきプロセスがあると判定された場合には、そのプロセ
スを実行して(ステップS2)、再びスタ−トに戻る。
【0063】他方、上記ステップS1で実行すべきプロ
セスがないと判定された場合には、図1のメインメモリ
15に確保された変数“アイドルフラグ”を1にセットし
(ステップS3)、ROM16をリードアクセスする(ス
テップS4)。
【0064】これによりCPU111 はスト−ル(STALL
)サイクルになりシステムの消費電力が低下する。
【0065】続いて、ROMアクセスの後でのアイドル
フラグが1であるか否かを判定し(ステップS5)、上
記ステップS5でアイドルフラグが1であれば、上記ス
テップS4に戻ってROMアクセスを繰り返す。
【0066】他方、上記ステップS5でアイドルフラグ
が1でない場合には、上記ステップS2に戻ってそのプ
ロセスを実行する。
【0067】上記プロセスの実行中に割り込み処理が行
われる場合には、周辺装置へのI/Oが終了したかどう
かを確認し(ステップS7)、上記ステップS7でI/
O終了ならば“アイドルフラグ”を0にクリアし(ステ
ップS8)、I/O割り込み処理を行い(ステップS
9)、割り込み処理を終了し(ステップS10)、割り
込み処理が終了したら上記プロセスに戻る。
【0068】以上が、アイドル状態においてROMアク
セスを利用して消費電力を削減するためのアルゴリズム
である。この制御プログラムはサイズが小さいのでキャ
ッシュメモリ112 に乗ってしまう。しかし、ROMアク
セスループはキャッシュメモリ112 上の命令を実行し、
長いROMアクセスサイクルを行うという状態を繰り返
し、実質ROMアクセスによるスト−ル(STALL )サイ
クルが時間的に大きな割合を占める。
【0069】本実施例ではROMアクセスは34サイクル
となっており、アイドルループを構成する命令は僅か数
マシンサイクルである。
【0070】上述した図5のアルゴリズムのアイドルル
ープの部分をC言語のように表現すると、 idleflag = 1; /*アイドルフラグ をセット */ while(idleflag) {/*アイドルフラグが0でないなら
ループ実行 */temp = *romadr; /* ROM読みだし
*/} のように、ROM16のアドレスをロマド−(romadr)と
いう変数に格納しておき、テンプ(temp)という一時変
数に読み出すループを作ればよい。
【0071】ROM読み出しを連続して記述すれば、ル
ープ制御の命令を実行する時間的割合が減少するので、
スト−ル(STALL )サイクルの割合を、 idleflag = 1; /*アイドルフラグをセット */ while(idleflag) {/*アイドルフラグが0でないなら
ループ実行 */temp = *romadr; /* ROM読みだし
*/temp = *romadr; /* ROM読みだし */temp
= *romadr; /* ROM読みだし */temp = *romad
r; /* ROM読みだし */temp = *romadr; /* RO
M読みだし */temp = *romadr; /* ROM読みだし
*/temp = *romadr; /* ROM読みだし */temp
= *romadr; /* ROM読みだし */} のように増加して効果を上げることができる。
【0072】図1に示すROM16は、キャッシュされて
しまうとシステムバスを経由してROMアクセスできな
くなるので、物理アドレス空間のうちキャッシュされな
い論理アドレスに割り付けるようにする。
【0073】本実施例における物理アドレス空間の一構
成例を表1に示す。
【0074】
【表1】
【0075】I/Oエリアは、第1領域と第2領域に分
けられている。
【0076】第1領域のI/Oエリアは、アクノリッジ
制御によりサイクルタイムを制御する周辺装置14のため
に割り当てる。また、第2領域のI/Oエリアは、一定
時間でアクセスサイクルを打ち切るようなアクセスタイ
ムが固定のI/Oのために割り当てられている。即ち、
それぞれのアドレス空間でシステムバスの制御方式を分
けて設定している。
【0077】本実施例ではCPU111 としてMIPS社
のR3000 を用いたので、物理アドレス0x1FC00000に割り
当てられたROM16は、論理アドレスOxBFC00000からア
クセスするとキャッシュされずにシステムバスに対する
アクセスが発生する。これはR3000 の仕様に基づくもの
であるが、どのようなCPUであってもI/Oのために
キャッシュされない論理アドレス空間を割り当てること
ができるので、その領域にROMを割り当てることがで
きる。
【0078】表2は、本実施例を適用したときの消費電
力の削減結果を示す。
【0079】
【表2】
【0080】本実施例では、CPU111 としてR3000A,
CPU111 のコプロセッサとしてFPU R3010A(浮動
小数点演算チップ(chip))、キャッシュメモリ112 と
してIDT社IDT7MB6049(64KB 命令キャッシュ+64KB命
令キャッシュ)、バスインターフェイス113 としてLSI
Logic 社のLR3202を使用し、メインメモリ16MBの構成
で、DISK I/O装置、イーサネットインターフェイス
などを備えている。
【0081】CPU111 のシステムクロックは25MHz で
あり、オペレ−ティング・システム(OS)はUNIX(AT&
T)をもとに作られたMIPSコンピュータシステムズ社
のRISCos V4.51であり、I/O待ちとなる部分にROM
16へのアクセスループを挿入して構成されている。
【0082】UNIXのような複数のプロセスが走行するタ
イムシェアリング方式のOSにおいては、プロセスの実
行を管理するスケージューリングアルゴリズムのなかに
本発実施例の装置を利用することが可能なアイドル状態
が用意されているので、その部分にROMアクセスグル
ープを挿入した。
【0083】変更箇所は1カ所に過ぎずオペレーティン
グシステムソフトウエアの変更だけである。
【0084】本実施例の装置に用いられている方式で
は、表2のように 5.5wもの削減効果が得られており、
CPU、FPU、キャッシュメモリの温度も低下させる
ことができた。
【0085】なお、上述の実施例では1回のアイドルル
−プに16回連続してROM16の読み出しを行わせてい
る。
【0086】CPU利用率とは、システムの動作中にア
イドル状態でない割合のことであるが、本方式ではアイ
ドル状態で消費電力が削減されることから、原理的に消
費電力削減効果とCPU利用率は線形の関係にある。
【0087】即ち、消費電力は、 CPU利用率 0%の時の消費電力 = Wmin CPU利用率 100%の時の消費電力 = Wmax とすると、 消費電力=Wmin +(Wmax - Wmin )×CPU利用率
(%)/100 の関係が成り立つのでCPU利用率が低いほど消費電力
削減効果が得られる。
【0088】通常、UNIXを利用している環境ではI/O
待ちであることが多く、CPU利用率は0%に近いこと
が多いため消費電力はWmin にほぼ等しく本実施例の装
置は非常に効果的である。
【0089】バッテリー駆動型のコンピュータシステム
ではシステムの消費電力が削減された分、バッテリー動
作の時間が延長できるというメリットがある。
【0090】また、アイドリ状態においてキャッシュメ
モリバスやシステムバスのスイッチングの割合が低下し
てしまうため、回路から発生する不要な輻射電磁波を抑
制することができる。更に、回路的な変更は不要であ
り、アイドル状態でROMアクセスするようソフトウエ
アを変更するだけでよい。
【0091】従って、CPUの動作速度が益々高速化
し、キャッシュメモリも高速化、大容量化する技術動向
のもとでは本発明の装置がますます有用である。
【0092】図6は、本発明のコンピュ−タシステム用
電力制御装置の第2実施例の構成を示すブロック図であ
る。
【0093】図6のコンピュ−タシステム用電力制御装
置は、マイクロプロセッサ部21、メインメモリ22、第3
周辺装置23、システムバス取得要求を出す第4周辺装置
24、割り込み制御装置25、仮想入出力(I/O)アドレ
スコーダ26、仮想I/O制御装置27、及びROM28によ
って構成されている。
【0094】上記マイクロプロセッサ部21は、マイクロ
プロセッサ(CPU)211 、キャッシュメモリ212 、バ
スインターフェイス213 によって構成されている。
【0095】上記バスインターフェイス213 には、シス
テムバスの取得権を調停するバスアービタが内蔵されて
いる。また、仮想I/O制御装置27は、メモリマップド
I/OとしてシステムのI/Oの一部に割り当てるよう
にI/Oアドレスデコーダ26を設置する。
【0096】次に、図6のコンピュ−タシステム用電力
制御装置の動作を説明する。
【0097】マイクロプロセッサ部21は図7及び図8の
タイミングチャートに示すようなCPU211 のシステム
クロックSYSCLKに同期して動作するもので、CPU211
は命令を読み込むため、キャッシュメモリ212 に対する
アクセスを行う。
【0098】図7は、プロセス実行において 100%キャ
ッシュがヒットしている場合のタイミングチャ−トを示
す。
【0099】図7に示すように、命令キャッシュからの
キャッシュリードストローブ/IRDがサイクルの前半で
アサートされて命令のアクセスが行われる。また、サイ
クルの後半ではデータキャッシュの読みだしのためキャ
ッシュリードスローブ/DRDがアサートされる。これに
より図6のキャッシュデータバスには半サイクルごとに
命令とデータがアクセス可能になる。
【0100】このとき、マイクロプメセッサ(CPU)
211 は、システムクロックSYSCLKと同一のサイクルで処
理を実行するので、このときの消費電力は最大となる。
【0101】図8は、データキャッシュリードミスヒッ
ト時にシステムバスをアクセスするときのタイミングチ
ャ−トを示す。
【0102】図8に示すように、CPU211 が第2サイ
クル目でデータキャッシュミスヒットした場合、第3サ
イクル目で/MEMRD (図6参照)がバスインターフェイ
ス213 に対してアサートされ、システムバスに対するア
クセスを開始する。
【0103】システムバスからは一定時間でアクノリッ
ジ信号/LRDYがバスインターフェイス213 に対してアサ
ートされ、これがCPU211 に対するRdBusy信号のネゲ
ートとなってシステムバスに対するアクセスサイクルを
終了させる。
【0104】フィックス・アップ(FIX UP)サイクルで
は、システムバスから読み出したデータをCPU211 が
読みだし、次のサイクルで実行状態を再開する。
【0105】ここで消費電力に注目すると、CPU211
が実行状態では最大の消費電力となっているが、スト−
ル(STALL )サイクルに入るとキャッシュメモリ212 に
対するサイクル毎のアクセスが停止するので、キャッシ
ュメモリ212 における消費電力は小さくなる。CPU21
1 もスト−ル(STALL )サイクルでは命令実行を停止し
ているので消費電力が低下する。
【0106】即ち、大容量のキャッシュメモリ212 をも
ち、システムバスに比べて高速なアクセスサイクルをも
つコンピュータシステムにおいては、消費電力は キャッシュヒット時の消費電力(Pmax)>>STALL サイクルの消費電力(Pmin) (システムバスアクセス時) ……(2) であることが多い。
【0107】また、最近の技術動向として、図6のマイ
クロプロセッサ部21の動作クロックとシステムバスの動
作クロックが異なるシステムが増えており、マイクロプ
ロセッサ部21の動作クロックを高い周波数にして高性能
を実現しようとしており、上記不等式(2)により、キ
ャッシュヒット時の消費電力Pmaxがますます大きくなっ
ている。
【0108】そこで、本実施例では、図6のように仮想
I/O制御装置27を導入し、電力消費が最小となる上記
スト−ル(STALL )サイクルを無限に延長できるように
した。なお、仮想I/O制御装置27はキャッシュされな
いものとする。
【0109】システムにより実行すべきプロセスがなく
なった場合(例えばキー入力待ち)をアイドル状態と呼
んでいるが、この状態になったら仮想I/O制御装置27
にリードアクセスさせてスト−ル(STALL )サイクルに
する。
【0110】図6の仮想I/Oアドレスデコーダ26は、
システムバスにメモリマップドI/Oされた仮想I/O
制御装置27に対しリードアクセスを検知して仮想I/O
制御装置27にセレクト信号/SELECTを送る。
【0111】仮想I/O制御装置27は、セレクト信号を
受けると以下の条件が成り立つまでアクノリッジ信号を
発生しないでアクセスサイクルを延長する。
【0112】また、仮想I/O制御装置27は、このアク
セスサイクル中に周辺装置24からの割り込みが発生する
とアクノリッジ信号を作成して図6のバスインターフェ
イス213 に与えてスト−ル(STALL )サイクルを終了さ
せる(図9参照)。
【0113】スト−ル(STALL )サイクルが終了し、再
びCPU211 が実行状態(RUN) になると消費電力は最大
となる。フィックス・アップ(FIX UP)サイクルでCP
U211 に読み込まれるデータは、システムバスをどの装
置もドライブしなかったのでダミーデータであり読み捨
てる。
【0114】図6に示すように、周辺装置23,24からの
割り込みは、割り込み制御装置25で論理和されたもので
あり、どの周辺装置から割り込みが発生しても必ず仮想
I/O制御装置27へ割り込み( /INTR) を伝える。
【0115】また、周辺装置24のようにアクノリッジ信
号をもっているものは、仮想I/O制御装置27で発生さ
れるアクノリッジ信号と論理和されてバスインターフェ
イス213 に接続される。これにより周辺装置24のように
アクノリッジ信号によりアクセスサイクルの制御を行な
っていた周辺装置のアクセスサイクルに影響がでないよ
うにする。
【0116】仮想I/O制御装置27に対するアクセスに
より、システムバスは使用中になってしまうが、周辺装
置24のようにシステムバスアービターに対してシステム
バス取得要求(バスリクエスト、/BR) を出すもの(例
えば、直接メモリアクセス(DMA)する場合)に対し
てシステムバスを明け渡す必要がある。
【0117】そこで、仮想I/O制御装置27は、システ
ムバス取得要求(バスリクエスト)を監視し、要求があ
ればアクノリッジ信号を生成して仮想I/O制御装置27
に対するアクセスを終了してバスを解放する(図10参
照)。
【0118】図9は、仮想I/O制御装置27に対するア
クセスサイクルが割り込みにより終了させられた場合の
タイミングチャ−トを示す。また、図10は仮想I/O
制御装置27に対するアクセスサイクルがシステムバス取
得要求(バスリクエスト)により終了させられた場合の
タイミングチャ−トを示す。
【0119】次に、図11のフロ−チャ−トを参照し
て、仮想I/O制御装置27へのアクセス手順を説明す
る。
【0120】まず、実行すべきプロセスがないかどうか
を判定し(ステップT1)、上記ステップT1で実行す
べきプロセスがある場合には、そのプロセスを実行し
(ステップT2)、上記ステップT1で実行すべきプロ
セスがない場合には図6のメインメモリ22に確保された
変数“アイドルフラグ”を1にセットし(ステップT
3)、続いて仮想I/O制御装置27をリードアクセスす
る(ステップT4)。これによりCPU211 はスト−ル
(STALL )サイクルになりシステムの消費電力が低下す
る。
【0121】周辺装置24からの割り込みまたはバスリク
エストにより次のステップに移行して割り込み処理中か
否かを判定し(ステップT5)、上記ステップT5でN
Oの場合にはスト−ル(STALL )サイクルを終了して
“アイドルフラグ”が1であるか否かを判定し(ステッ
プT6)、上記ステップT6でYESの場合には上記ス
テップT4に戻り、上記ステップT6でNOの場合には
上記ステップT2に戻ってプロセスを実行する。
【0122】また、上記ステップT5でYESの場合に
は割り込み処理のプロセス(ステップT7〜T10)に
移行して、周辺装置23,24へのI/Oが終了したか否か
を確認し(ステップT7)、上記ステップT7でI/O
終了ならば“アイドルフラグ”を0にクリアし(ステッ
プT8)、I/O割り込み処理を行い(ステップT9)
割り込み処理を終了して上記ステップT6に戻る。
【0123】また、上記ステップT5でバスリクエスト
が発生した場合にも、仮想I/O制御装置27へのアクセ
スは終了して上記ステップT6の処理へ移行する。そし
て、上記ステップT6で“アイドルフラグ”が1であれ
ば仮想I/O制御装置27へのアクセスが終了したのはI
/Oからの割り込みでが原因ではなくバスリクエストに
よるものであることが判明するので、この場合はもう一
度仮想I/O制御装置27のアクセスをやり直すため上記
ステップT4へ制御を移す。
【0124】以上が仮想I/O制御装置利用のアルゴリ
ズムである。
【0125】なお、本発明では仮想I/O制御装置27が
セレクトされているあいだ、システムバスのデータはダ
ミーデータで不要なものである。従って、システムバス
の負荷が大きくてバスドライバを挿入している場合はそ
のバスドライバをドライブしないようにすることも可能
であり、これによりバスドライブにより電力消費を削減
することもできる。
【0126】仮想I/O制御装置27としては、1つの物
理アドレスを占有する。このアドレスは物理アドレス空
間のうちキャッシュされない論理アドレスに割り付けら
れる。キャッシュされてしまうとシステムバスを経由し
て仮想I/O制御装置27にアクセスできなくなるからで
ある。
【0127】本実施例での物理アドレス空間は、表3の
ようになっている。
【0128】
【表3】
【0129】I/Oエリアは第1領域と第2領域に分
け、第1領域のI/Oエリアはアクノリッジ制御により
サイクルタイムを制御する周辺装置24のために割り当て
る。
【0130】第2領域のI/Oエリアは、一定時間でア
クセスサイクルを打ち切るようなアクセスタイムが固定
のI/Oのために割り当てる。
【0131】即ち、それぞれのアドレス空間でシステム
バスの制御方式を分けて設定している。また、アクノリ
ッジによりサイクルタイムの制御をする空間では、一定
時間以上アクノリッジ信号が返ってこない場合をバスタ
イムアウトエラーとして検出するかどうかをアドレス空
間ごとに変えている。仮想I/O制御装置27のアドレス
空間ではバスタイムアウトエラーを検出することは行わ
ない。
【0132】本実施例ではCPUとしてR3000を用いた
ので、物理アドレス 0x1800000 の割り当てられた仮想
I/O制御装置27は論理アドレス 0xB8000000からアク
セスするとキャッシュされずに、システムバスに対する
アクセスが発生する。
【0133】また、どのようなCPUであってもI/O
のためにキャッシュされない論理アドレス空間は、割り
当てられるのでその領域に仮想I/O制御装置27を割り
当てることができる。
【0134】本実施例では仮想I/O制御装置27をシス
テムバスに設けているが、そのために周辺装置23,24か
らバスリクエストがないかどうか検知して仮想I/O制
御装置27へのアクセスサイクルを終了させている。しか
し、本実施例の装置を図6のマイクロプロセッサ部に実
現することでシステムバスと切り放しておけばシステム
バスを使用しなくてすむので、バスリクエストの監視が
不要となりまた、仮想I/Oアクセスにおいてシステム
バスをドライブする必要がなくなり更に消費電力削減が
期待できる。
【0135】CPU211 に組み込むのはCPU211 の氾
用性からみて困難であるから、バスインターフェイス21
3 を設計する場合にバスインターフェイス213 に本実施
例の機能を組み入れるのが理想的である。また、既存の
システムにおいては仮想I/O制御装置27を一種の拡張
周辺ボードとして提供し、OSを対応すれば利用可能で
ある。
【0136】表4は、本実施例の装置における消費電力
の削減結果を示す。
【0137】
【表4】
【0138】CPUにR3000A,CPUのコプロセッサと
してFPU R3010A(浮動少数店演算chip),キャッシ
ュメモリはIDT社IDT7MB6049(64KB命令キャッシュ+
64KB命令キャッシュ)、バスインターフェイスはL
SI Logic 社のLR3202を使用し、メインメモリ
16MBの構成で、DISK I/O装置、イーサネットインタ
ーフェイスなどを備えている。
【0139】CPUのシステムクロックは25MHz であ
る。
【0140】OSは、UNIX(AT&T)を元に作られた
MIPSコンピュータシステムズ社のRISCox V4.51であ
り、I/O待ちとなる部分に仮想I/O制御装置へのア
クセスを挿入した。
【0141】UNIXのような複数のプロセスが走行す
るタイムシェアリング方式のOSにおいてはプロセスの
実行を管理するスケージューリングアルゴリズムのなか
に本発明の装置を利用することが可能なアイドル状態が
用意されているので、その部分に仮想I/O制御装置27
へのアクセスを挿入した。変更箇所は1カ所に過ぎなか
った。
【0142】本実施例の方式では表4のように 7.5Wも
の削減効果が得られており、CPU、FPU、キャッシ
ュメモリの温度も低下された。
【0143】図12は、本発明のコンピュ−タシステム
用電力制御装置の第3実施例の構成を示すブロック図で
ある。
【0144】図12のコンピュ−タシステム用電力制御
装置は、マイクロプロセッサ部31、メインメモリ32、第
5周辺装置33、システムバス取得要求を出す第6周辺装
置34、割り込み制御装置35、仮想I/Oアドレスデコー
ダ36、仮想I/O制御装置37、ROM38、システムバス
バッファ39、消費電力削減手段40、外部拡張バスドライ
バ41によって構成されている。
【0145】上記マイクロプロセッサ部31は、マイクロ
プロセッサ(CPU)311 、キャッシュメモリ312 、バ
スインターフェイス313 によって構成されている。
【0146】また、上記バスインターフェイス313 に
は、システムバスの取得権を調停するバスアービタが内
蔵されている。
【0147】なお、仮想I/O制御装置27は、メモリマ
ップドI/OとしてシステムのI/Oの一部に割り当て
るようにアドレスデコーダ26を設置している。
【0148】次に、上記図12のコンピュ−タシステム
用電力制御装置の動作を説明する。
【0149】まず、マイクロプロセッサ部31は、図1
3、図14のタイミングチャートに示すようにCPU31
1 のシステムクロックSYSCLKに同期して動作するもので
あり、CPU311 は命令を読み込むためキャッシュメモ
リ312 に対するアクセスを行う。 図13のタイミング
チャートは、プロセス実行において 100%キャッシュが
ヒットしている場合を示す。即ち、命令キャッシュから
のキャッシュリードストローブ/IRDがサイクルの前半で
アサートされ命令のアクセスが行われる。また、サイク
ルの後半ではデータキャッシュの読み出しのためキャッ
シュリードストローブ/DRDがアサートされている。これ
により、図12のキャッシュデータバスには半サイクル
ごとに命令とデータがアクセス可能になっている。
【0150】このとき、マイクロプロセッサ(CPU)
311 はシステムクロックSYSCLKと同一のサイクルで処理
を実行するのでこのときの消費電力は最大となる。
【0151】次に、図14のタイミングチャートは、デ
ータキャッシュリードミスヒット時にシステムバスをア
クセスする場合を示す。
【0152】CPU311 が第2サイクル目でデータキャ
ッシュミスヒットした場合、第3サイクル目で/MEMRD
(図12参考)がバスインターフェイス313 に対してア
サートされ、システムバスに対するアクセスを開始す
る。
【0153】システムバスからは一定時間でアクノリッ
ジ信号/LRDY がバスインターフェイス313 に対してアサ
ートされ、これがCPU311 に対するRdBusy信号のネゲ
ートとなってシステムバスに対するアクセスサイクルを
終了させる。FIX UPサイクルではシステムバスから読み
出したデータをCPU311 が読みだし、次のサイクルで
実行状態を再開する。
【0154】ここで消費電力に注目すると、CPU311
が実行状態では最大の消費電力となっているが、スト−
ル(STALL )サイクルに入るとキャッシュメモリ312 に
対するサイクル毎のアクセスが停止するので、キャッシ
ュメモリ312 における消費電力は小さくなる。CPU31
1 もスト−ル(STALL )サイクルでは命令実行を停止し
ているので消費電力は低下する。
【0155】即ち、大容量のキャッシュメモリをもち、
システムバスに比べて高速なアクセスサイクルをもつコ
ンピュータシステムにおいては消費電力は、 キャッシュヒット時の消費電力(Pmax)>>STALL サイクルの消費電力(Pmin) (システムバスアクセス時) ……(3) であることが多い。
【0156】また、最近の技術動向として、図12のマ
イクロプロセッサ部31の動作クロックとシステムバスの
動作クロックが異なるシステムが増えており、マイクロ
プロセッサ部31の動作クロックを高い周波数にして高性
能を実現しようとしており、上記不等式はキャッシュヒ
ット時の消費電力Pmaxが益々大きくなっている。
【0157】そこで、本実施例では、図12のように仮
想I/O制御装置37を導入し、電力消費が最小となる上
記スト−ル(STALL )サイクルを無限に延長できるよう
にしたものである。
【0158】システムにより実行すべきプロセスがなく
なった場合(例えばキー入力待ち)をアイドル状態と呼
んでいるが、この状態になったら仮想I/O制御装置37
にリードアクセスさせてスト−ル(STALL )サイクルに
する。
【0159】図12の仮想I/Oアドレスデコーダ36
は、システムバスにメモリマップドI/Oされた仮想I
/O制御装置37に対しリードアクセスを検知して仮想I
/O制御装置37にセレクト信号/SELECT を送る。
【0160】仮想I/O制御装置37は、セレクト信号を
受けると以下の条件が成り立つまでアクノリッジ信号を
発生しないでアクセスサイクルを延長する。
【0161】仮想I/O制御装置37は、このアクセスサ
イクル中に周辺装置34からの割り込みが発生するとアク
ノリッジ信号を作成し、図12のバスインターフェイス
313に与えてそのスト−ル(STALL )サイクルを終了さ
せる(図15参照)。
【0162】スト−ル(STALL )サイクルが終了し、再
びCPU311 が実行状態(RUN )になると消費電力は最
大となる。FIX UPサイクルでCPU311 に読み込まれる
データはシステムバスのどの装置もドライブしなかった
のでダミーデータであり、読み捨てる。
【0163】図12では複数の周辺装置33,34からの割
り込みは割り込み制御装置35で論理和されたもので、ど
の周辺装置から割り込みが発生しても必ず仮想I/O制
御装置37へ割り込み(/INTR )を伝える。
【0164】また、周辺装置34のようにアクノリッジ信
号をもっているものは仮想I/O制御装置37で発生され
るアクノリッジ信号と論理和されてバスインターフェイ
ス313 に接続される。これにより周辺装置34のようにア
クノリッジ信号によりアクセスサイクルの制御を行なっ
ていた周辺装置のアクセスサイクルには影響がでないよ
うにする。
【0165】また、仮想I/O制御装置37に対するアク
セスによりシステムバスは使用中になってしまうが、周
辺装置34のようにシステムバスアービターに対してシス
テムバス取得要求(バスリクエスト、/BR )を出すもの
(たとえばDMA する場合)にたいしてシステムバスを明
け渡す必要がある。そこで仮想I/O制御装置37はシス
テムバス取得要求(バスリクエスト)を監視し、要求が
あればアクノリッジ信号を生成して仮想I/Oに対する
アクセスを終了してバスを解放する(図16参照)。
【0166】図15は仮想I/O制御装置37に対するア
クセスサイクルが割り込みにより終了させられた場合を
示す。また、図16は仮想I/O制御装置37に対するア
クセスサイクルがシステムバス取得要求(バスリクエス
ト)により終了させられた場合を示す。
【0167】図17は、仮想I/O制御装置37へのアク
セス手順を示すフロ−チャ−トである。
【0168】まず、実行すべきプロセスがないかどうか
を判定し(ステップU1)、上記ステップU1で実行す
べきプロセスがある場合にはそのプロセスを実行し(ス
テップU2)、上記ステップU1で実行すべきプロセス
がない場合は図12のメインメモリ32に確保された変数
“アイドルフラグ”を1にセットし(ステップU3)、
続いて、仮想I/O制御装置37をリードアクセスする
(ステップU4)。これによりCPU311 はスト−ル
(STALL )サイクルになりシステムの消費電力が低下す
る。
【0169】次に、上記ステップU4で周辺装置からの
割り込みまたはバスリクエストがあったときにのみスト
−ル(STALL )サイクルを終了させて、割り込み処理中
か否かを判定し(ステップU5)、上記ステップU5の
判定結果に基づいて割り込み処理(ステップU7〜U1
0)またはステップU6へ進む。
【0170】割り込み処理においては周辺装置へのI/
Oが終了したがどうかを確認し(ステップU7)、上記
ステップU7でI/Oが終了したならば“アイドルフラ
グ”を0にクリアし(ステップU8)、I/O割り込み
処理を行って(ステップU9)、割り込み処理を終了し
(ステップU10)、上記ステップU5に戻る。
【0171】上記ステップU5で、割り込み処理中では
ないと判定されたならば“アイドルフラグ”が1である
か否かを判定し(ステップU6)、上記ステップU6で
YESの場合には上記ステップU4へ戻り、上記ステッ
プU6でNOの場合には上記ステップU2へ戻る。
【0172】また、上記ステップU5でバスリクエスト
が発生した場合でも、仮想I/O制御装置37へのアクセ
スは終了して図17のステップU5へ処理が移る。
【0173】上記ステップU5で“アイドルフラグ”が
1であれば仮想I/O制御装置37へのアクセスが終了し
たのはI/Oからの割り込みでが原因ではなくバスリク
エストによるものであることが判明するので、この場合
はもう一度仮想I/O制御装置37のアクセスをやり直す
ため図17のステップU4へ制御を移す。
【0174】以上が仮想I/O制御装置利用のためのア
ルゴリズムである。
【0175】なお、本実施例では仮想I/O制御装置37
がセレクトされているあいだシステムバスのデータはダ
ミーデータで不要なものである。図12において、シス
テムバスの負荷が大きくてバスバッファ39を挿入してい
る場合は、それをドライブしないようにすることも可能
であり、電力消費を削減することもできる。図12にお
けるシステムバスバッファ39はシステムバスのアドレス
及びデータバスをドライブするバッファである。
【0176】バスバッファ39は、/SELECT 信号がアサー
トされていればディスエーブルされ出力がハイインピー
ダンスとなりバスをドライブしないためバスドライバ39
の電力消費が押えられる。
【0177】同様に、図12においてシステムバスに接
続される外部拡張バスバッファ41も/SELECT 信号がアサ
ートされている期間、ディスエーブルすることで電力消
費を削減できる。
【0178】また、/SELECT 信号がアサートされている
期間は、システムバス上のデバイスで低消費電力モード
に移行させることができるものに対しては図12の消費
電力削減手段40から供給される電源電圧(図12の電力
線(a)〜(d)参照)を個別に低消費電力状態になる
よう/SELECT 信号のみでコントロールできる。
【0179】例えば、消費電力削減手段40が、電力線
(a)〜(d)と/SELECT の関係を表5に示す。
【0180】
【表5】
【0181】即ち、仮想I/Oが選択され(/SELECT=L
)てある期間はそれぞれのデバイスが消費電力を落と
せる電圧に下げられる。周辺装置33では3.3 Vに下げる
ことができるが、周辺装置34は5V以下には下げられな
いデバイスであり、メインメモリ32は内容を保持するた
め3.3 Vに下げても大丈夫であり、ROM38では0Vに
しても問題ないというように個々のデバイスの事情に応
じた設定をする。
【0182】個別の周辺装置33,34やROM38、メイン
・メモリ32などに対する個別の電源供給コントロールの
方法はソフトウエアによるものである。
【0183】本実施例では、低消費電力モードを示す/S
ELECT 信号があるために、それがアサートされている期
間を電力管理の適用期間とすることができる。
【0184】図18に示すように、個々の電力線が一
旦、低電圧に落ちたパワーダウン状態に入ったとして、
I/Oからの割り込みによって仮想I/O制御装置37へ
のアクセスサイクルが終了しようとした場合、パワーダ
ウンから昇圧にある時間(たとえば T秒)必要であれ
ば、それを見込んでI/O割り込み発生してからT秒後
に仮想I/O制御装置37に対するアクセスを終了するよ
うに仮想I/O制御装置37からT秒遅れてアクノリッジ
信号をアサートすればよい。
【0185】仮想I/O制御装置37としては1つの物理
アドレスを占有する。このアドレスは物理アドレス空間
のうちキャッシュされない論理アドレスに割り付けられ
るべきである。キャッシュされてしまうとシステムバス
を経由して仮想I/O制御装置37にアクセスできなくな
るからである。
【0186】表6は、本実施例での物理アドレス空間の
概略を示す。
【0187】
【表6】
【0188】I/Oエリアは第1領域と第2領域にわけ
られており、第1領域のI/Oエリアはアクノリッジ制
御によりサイクルタイムを制御する周辺装置のために割
り当てる。また、第2領域のI/Oエリアは、一定時間
でアクセスサイクルを打ち切るようなアクセスタイムが
固定のI/Oのために割り当てている。即ち、それぞれ
のアドレス空間でシステムバスの制御方式を分けて設定
している。
【0189】また、アクノリッジによるサイクルタイム
の制御をする空間では、一定時間以上アクノリッジ信号
が返って来ない場合をバスタイムアウトエラーとして検
出するかどうかをアドレス空間ごとに変えている。
【0190】仮想I/O制御装置37のアドレス空間では
バスタイムアウトエラーを検出することは明らかに不都
合であるのでその検出は行わない。
【0191】本実施例ではCPUとしてR3000 を用いた
ので、物理アドレス0 x18000000に割り当てられた仮想
I/O制御装置37は論理アドレス0 xB8000000からアク
セスするとキャッシュされず、システムバスに対するア
クセスが発生する。
【0192】これはどのようなCPUであってもI/O
のためにキャッシュされない論理アドレス空間は割り当
てられるのでその領域に仮想I/O制御装置37を割り当
てることができる。
【0193】本実施例では仮想I/O制御装置37をシス
テムバスに設けているが、そのために周辺装置33,34か
らバスリクエストがないかどうか検知して仮想I/O制
御装置37へのアクセスサイクルを終了させている。しか
し、本実施例の装置を図12のマイクロプロセッサ部31
に実現することでシステムバスと切り放しておけばシス
テムバスを使用しなくてすむので、バスリクエストの監
視が不要となる。
【0194】また、CPU311 に組み込むのはCPU31
1 の氾用性からみて困難であるからバスインターフェイ
ス313 を設計する場合にバスインターフェイス313 に本
実施例の機能を組み入れるのが理想的である。
【0195】既存のシステムにおいては、仮想I/O制
御装置37を一種の拡張周辺ボードとして提供し、OSを
対応すれば利用可能である。
【0196】本実施例の方式を適用して消費電力の削減
を測定した結果を表7に示す。
【0197】
【表7】
【0198】本実施例では、CPU311 にR3000A, CP
U311 のコプロセッサとしてFPU R3010A(浮動小数店演
算chip)、キャッシュメモリ312 はIDT 社IDT7MB6049
(64KB命令キャッシュ+64KB命令キャッシュ)、バスイ
ンターフェイス313 はLSI Logic 社のLR3202を使用し、
メインメモリ32は16MBの構成で、DISK I/O装置、イ
ーサネットインターフェイスなどを備えている。
【0199】CPU311 のシステムクロックは25MHz で
ある。
【0200】図12の消費電力削減手段40を作動させ
ず、本実施例の効果によりキャッシュメモリ312 、CP
U311 、FPUなど図12のマイクロプロセッサ部31の
消費電力削減効果のみを調べるため測定した。
【0201】OSはUNIX(AT&T)を元に作られたMIPSコン
ピュータシステムズ社のRISCos V4.51であり、I/O待
ちとなる部分に仮想I/O制御装置37へのアクセスを挿
入した。
【0202】UNIXのような複数のプロセスが走行するタ
イムシェアリング方式のOSにおいてはプロセスの実行
を管理するスケージューリングアルゴリズムのなかに本
実施例の装置を利用することが可能なアイドル状態が用
意されているのでその部分に仮想I/O制御装置37への
アクセスを挿入した。なお、変更箇所は1カ所に過ぎな
い。
【0203】本実施例の方式では表6のように7.5Wもの
削減効果が得られており、CPU311 、FPU、キャッ
シュメモリ312 の温度も低下される。
【0204】上述した第1実施例から第3実施例におい
て、CPU利用率はシステムの動作中にアイドル状態で
ない割合のことであるが、本方式ではアイドル状態で消
費電力が削減されることから、原理的に消費電力削減効
果とCPU 利用率は線形の関係にある。即ち、消費電力は CPU利用率0%の時の消費電力 =Wmin CPU利用率 100%の時の消費電力 =Wmax とすると、 消費電力= Wmin +(Wmax-Wmin) ×CPU利用率(%)
/100 の関係が成り立つのでCPU利用率が低いほど消費電力
削減効果が得られる。
【0205】通常UNIXを利用している環境ではI/O待
ちであることが多く、CPU利用率は0%に近いことが
多いため消費電力はWminにほぼ等しく本実施例は非常に
効果的である。
【0206】バッテリー駆動型のコンピュータシステム
ではシステムの消費電力が削減された分、バッテリー動
作の時間が延長できるというメリットがある。
【0207】アイドル状態においてキャッシュメモリバ
スやシステムバスのスイッチングがと停止されるため回
路から発生する不要輻射電磁波が抑制できる。
【0208】今後CPUの動作速度が益々高速化し、キ
ャッシュメモリも高速化、大容量化する技術動向のもと
では本発明の効果はますます大きい。
【0209】
【発明の効果】本発明のコンピュータシステム用電力制
御装置は、マイクロプロセッサと、マイクロプロセッサ
に接続されたキャッシュメモリと、マイクロプロセッサ
及びキャッシュメモリを制御するバスインターフェイス
と、バスインターフェイスに接続されたI/O装置と、
I/O装置からの処理終了割り込みを待つアイドル状態
で非キャッシュメモリアクセスサイクルの時間的割合を
調整すると共にマイクロプロセッサの動作が停止してい
る時間的割合及びキャッシュメモリに対するアクセスを
調整する調整手段とを備えているので、I/Oに対する
アクセスは、あらかじめそのI/Oのアクセスタイムに
合わせて設定されたアクセスサイクルの間は終了しない
ため、このアドレスをアクセスしたマイクロプロセッサ
はその間キャッシュメモリに対するアクセス及び、I/
Oのアドレスのアクセスの次の命令実行ができないため
実質的に停止状態となり、その期間はマイクロプロセッ
サ、キャッシュメモリ、及びバスインターフェイスの消
費電力が削減される。また、バッテリー駆動のコンピュ
ータシステムでは駆動時間が延長でき、マイクロプロセ
ッサやキャッシュメモリの発熱が抑制されるので冷却の
要求が緩和できると共にこれらの部品の信頼性が高ま
り、マイクロプロセッサが割り込みや周辺装置からのシ
ステムバス取得要求をI/Oのアクセスサイクル終了時
に即時に受け付けられるので処理速度を維持できる。
【図面の簡単な説明】
【図1】本発明のコンピュ−タシステム用電力制御装置
の第1実施例の構成を示すブロック図である。
【図2】100 %キャッシュがヒットしている場合の図1
のコンピュ−タシステム用電力制御装置の動作を説明す
るためのフロ−チャ−トである。
【図3】デ−タキャッシュリ−ドミスヒット時にシステ
ムバスをアクセスする場合の図1のコンピュ−タシステ
ム用電力制御装置の動作を説明するためのフロ−チャ−
トである。
【図4】図1のROMアクセスサイクルを説明するため
のタイミングチャ−トである。
【図5】アイドル状態で図1のROMへのアクセスを説
明するためのフロ−チャ−トである。
【図6】本発明のコンピュ−タシステム用電力制御装置
の第2実施例の構成を示すブロック図である。
【図7】100 %キャッシュがヒットしている場合の図6
のコンピュ−タシステム用電力制御装置の動作を説明す
るためのフロ−チャ−トである。
【図8】デ−タキャッシュリ−ドミスヒット時にシステ
ムバスをアクセスする場合の図6のコンピュ−タシステ
ム用電力制御装置の動作を説明するためのフロ−チャ−
トである。
【図9】図6の仮想I/O制御装置に対するアクセスサ
イクルが割り込みにより終了させられた場合のタイミン
グチャ−トである。
【図10】図6の仮想I/O制御装置に対するアクセス
サイクルがシステムバス取得要求により終了させられた
場合のタイミングチャ−トである。
【図11】図6の仮想I/O制御装置へのアクセスを説
明するためのフロ−チャ−トである。
【図12】本発明のコンピュ−タシステム用電力制御装
置の第3実施例の構成を示すブロック図である。
【図13】100 %キャッシュがヒットしている場合の図
12のコンピュ−タシステム用電力制御装置の動作を説
明するためのフロ−チャ−トである。
【図14】デ−タキャッシュリ−ドミスヒット時にシス
テムバスをアクセスする場合の図12のコンピュ−タシ
ステム用電力制御装置の動作を説明するためのフロ−チ
ャ−トである。
【図15】図12の仮想I/O制御装置に対するアクセ
スサイクルが割り込みにより終了させられた場合のタイ
ミングチャ−トである。
【図16】図12の仮想I/O制御装置に対するアクセ
スサイクルがシステムバス取得要求により終了させられ
た場合のタイミングチャ−トである。
【図17】図12の仮想I/O制御装置へのアクセスを
説明するためのフロ−チャ−トである。
【図18】電圧上昇の遅れに対応するときの図12の仮
想I/O制御装置の動作を説明するためのタイミングチ
ャ−トである。
【図19】従来のコンピュ−タシステムの一構成例を示
すブロック図である。
【図20】5段階のパイプラインを有する従来のマイク
ロプロセッサR3000 におけるパイプラインの流れの説明
図である。
【図21】命令キャッシュがヒットしない場合の図19
の従来のコンピュ−タシステムの動作の説明図である。
【図22】MEMステ−ジでデ−タキャッシュがヒット
しなかった場合の図19の従来のコンピュ−タシステム
の動作の説明図である。
【符号の説明】
11 マイクロプロセッサ部 111 CPU 112 キャッシュメモリ 113 バスインタ−フェイス 12 アドレスデコ−ダ 13,14 周辺装置 15 メインメモリ 16 ROM 17 アクノリッジ生成回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサと、前記マイクロプ
    ロセッサに接続されたキャッシュメモリと、前記マイク
    ロプロセッサ及び前記キャッシュメモリを制御するバス
    インターフェイスと、前記バスインターフェイスに接続
    されたI/O装置からの処理終了割り込みを待つアイド
    ル状態で非キャッシュメモリアクセスサイクルの時間的
    割合を調整すると共に前記マイクロプロセッサの動作が
    停止している時間的割合及び前記キャッシュメモリに対
    するアクセスを調整する調整手段とを備えていることを
    特徴とするコンピュータシステム用電力制御装置。
JP4130807A 1992-05-22 1992-05-22 コンピュータシステム用電力制御装置 Expired - Fee Related JP2988781B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4130807A JP2988781B2 (ja) 1992-05-22 1992-05-22 コンピュータシステム用電力制御装置
US08/066,303 US5432947A (en) 1992-05-22 1993-05-21 Power control technique for a computer system to provide adjustable storage and non-storage access times and an adjustable processor idle time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4130807A JP2988781B2 (ja) 1992-05-22 1992-05-22 コンピュータシステム用電力制御装置

Publications (2)

Publication Number Publication Date
JPH05324141A true JPH05324141A (ja) 1993-12-07
JP2988781B2 JP2988781B2 (ja) 1999-12-13

Family

ID=15043172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4130807A Expired - Fee Related JP2988781B2 (ja) 1992-05-22 1992-05-22 コンピュータシステム用電力制御装置

Country Status (2)

Country Link
US (1) US5432947A (ja)
JP (1) JP2988781B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147161A (ja) * 1994-11-21 1996-06-07 Nec Corp データ処理装置
EP0707256A3 (en) * 1994-10-14 1996-08-07 Compaq Computer Corp Circuit for switching a cache memory to low power mode in response to special bus cycles
JP2007233730A (ja) * 2006-03-01 2007-09-13 Mitsubishi Electric Corp 三次元グラフィック描画装置
US7499770B2 (en) 2004-11-30 2009-03-03 Kyocera Mita Corporation Data processing device with cooling fan

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163848A (en) * 1993-09-22 2000-12-19 Advanced Micro Devices, Inc. System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus
US5632038A (en) * 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US5628029A (en) * 1995-02-03 1997-05-06 Vlsi Technology, Inc. Apparatus for monitoring distributed I/O device by providing a monitor in each I/O device control for generating signals based upon the device status
KR0144038B1 (ko) * 1995-04-18 1998-08-17 김주용 엑세스 타임이 특수한 소자와의 인테페이스 장치 및 방법
JP3520611B2 (ja) * 1995-07-06 2004-04-19 株式会社日立製作所 プロセッサの制御方法
JP4618467B2 (ja) * 2000-01-05 2011-01-26 ソニー株式会社 汎用コンピュータおよび汎用コンピュータにおける著作権管理方法
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US7424576B2 (en) * 2001-05-02 2008-09-09 Intel Corporation Parallel cachelets
EP1600845A1 (en) * 2004-05-28 2005-11-30 STMicroelectronics Limited Processor with power saving circuitry
JP3870970B2 (ja) * 2005-03-15 2007-01-24 セイコーエプソン株式会社 プロセッサ制御装置
US10339227B1 (en) 2007-06-08 2019-07-02 Google Llc Data center design
US8178997B2 (en) 2009-06-15 2012-05-15 Google Inc. Supplying grid ancillary services using controllable loads
US9009500B1 (en) 2012-01-18 2015-04-14 Google Inc. Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758945A (en) * 1979-08-09 1988-07-19 Motorola, Inc. Method for reducing power consumed by a static microprocessor
JPS5775335A (en) * 1980-10-27 1982-05-11 Hitachi Ltd Data processor
US5086387A (en) * 1986-01-17 1992-02-04 International Business Machines Corporation Multi-frequency clock generation with low state coincidence upon latching
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
JPH0314111A (ja) * 1989-06-13 1991-01-22 Matsushita Electric Ind Co Ltd マイクロ・プロセッサのパワー・セーブ制御装置
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0707256A3 (en) * 1994-10-14 1996-08-07 Compaq Computer Corp Circuit for switching a cache memory to low power mode in response to special bus cycles
US5813022A (en) * 1994-10-14 1998-09-22 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles executed on the bus
US6041401A (en) * 1994-10-14 2000-03-21 Compaq Computer Corporation Computer system that places a cache memory into low power mode in response to special bus cycles executed on the bus
JPH08147161A (ja) * 1994-11-21 1996-06-07 Nec Corp データ処理装置
US7499770B2 (en) 2004-11-30 2009-03-03 Kyocera Mita Corporation Data processing device with cooling fan
JP2007233730A (ja) * 2006-03-01 2007-09-13 Mitsubishi Electric Corp 三次元グラフィック描画装置

Also Published As

Publication number Publication date
JP2988781B2 (ja) 1999-12-13
US5432947A (en) 1995-07-11

Similar Documents

Publication Publication Date Title
US5586332A (en) Power management for low power processors through the use of auto clock-throttling
US5590341A (en) Method and apparatus for reducing power consumption in a computer system using ready delay
JP2988781B2 (ja) コンピュータシステム用電力制御装置
US8418187B2 (en) Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system
US7219241B2 (en) Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
JP4990829B2 (ja) 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置
JP4170218B2 (ja) キャッシュミスに応答してタスクを切り替えることによってキャッシュベース埋め込みプロセッサのスループットを改善する方法および装置
US6560712B1 (en) Bus arbitration in low power system
JP5427775B2 (ja) 低パワーキャッシュアクセスモードを備えたデータ処理デバイス
US20040107374A1 (en) Apparatus and method for providing power management on multi-threaded processors
US5537656A (en) Method and apparatus for a microprocessor to enter and exit a reduced power consumption state
US20110213935A1 (en) Data processing apparatus and method for switching a workload between first and second processing circuitry
US9552039B2 (en) Constrained boot techniques in multi-core platforms
JP2007520769A (ja) モニタメモリ待機を用いたキューされたロック
JP3597282B2 (ja) データ処理装置及びその方法
US20040153678A1 (en) Microprocessor idle mode management system
EP1241555B1 (en) Method in a microprocessor with hardware controlled power management and selectable input/output control pins
JP4144990B2 (ja) データ処理システム及び初期化方法
JP2005521937A (ja) コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置
JP2753781B2 (ja) マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法
US20050149771A1 (en) Processor control circuit, information processing apparatus, and central processing unit
JP2023505459A (ja) 異種プロセッサ間のタスク遷移の方法
JP2003036238A (ja) 情報処理システムのioアクセス制御方法およびプログラム
JPS62125437A (ja) 付加プロセツサの制御方法
JPH06236288A (ja) コンピュータシステム用消費電力制御装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees