JPH07200111A - Computer system - Google Patents
Computer systemInfo
- Publication number
- JPH07200111A JPH07200111A JP5351165A JP35116593A JPH07200111A JP H07200111 A JPH07200111 A JP H07200111A JP 5351165 A JP5351165 A JP 5351165A JP 35116593 A JP35116593 A JP 35116593A JP H07200111 A JPH07200111 A JP H07200111A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- state
- stop
- clock
- smi
- 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
Links
Landscapes
- Power Sources (AREA)
Abstract
(57)【要約】
【目的】OS環境に影響されないCPUスリープ機能を
実現する。
【構成】システム内の各種ハードウェア割込み要求信号
IRQ0〜IRQ15,NMIが監視され、タイマ割込
み(IRQ0)を除く他のすべての割込み要求信号が4
秒間発生されない時にグローバルスタンバイSMIがC
PU11に供給される。このグローバルスタンバイSM
Iによって実行されるグローバルスタンバイSMIルー
チンは、CPU11をストップグラントステートに設定
する。これにより、CPU11はスリープモードに移行
される。このようなグローバルスタンバイSMIを使用
したスリープ制御を行うことにより、OS環境によらず
に常に同一のスリープモード機能を提供することが可能
になり、またCPU11をスリープモードに移行するた
めのトリガを増やすことができる。
(57) [Abstract] [Purpose] To realize a CPU sleep function that is not affected by the OS environment. [Structure] Various hardware interrupt request signals IRQ0 to IRQ15, NMI in the system are monitored, and all other interrupt request signals except timer interrupt (IRQ0) are 4
Global standby SMI is C when not generated for seconds
It is supplied to the PU 11. This global standby SM
The global standby SMI routine executed by I sets the CPU 11 in the stop grant state. As a result, the CPU 11 shifts to the sleep mode. By performing sleep control using such a global standby SMI, the same sleep mode function can be always provided regardless of the OS environment, and the number of triggers for shifting the CPU 11 to the sleep mode is increased. be able to.
Description
【0001】[0001]
【産業上の利用分野】この発明は、ラップトップタイプ
またはノートブックタイプのポータブルパソーナルコン
ピュータシステムに関し、特に消費電力の低減のために
CPUの動作速度を制御する機能を持つコンピュータシ
ステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a laptop type or notebook type portable personal computer system, and more particularly to a computer system having a function of controlling the operating speed of a CPU in order to reduce power consumption.
【0002】[0002]
【従来の技術】近年、携行が容易でバッテリにより動作
可能なラップトップタイプまたはノートブックタイプの
パーソナルポータブルコンピュータが種々開発されてい
る。この種のポータブルコンピュータに於いては、無駄
な消費電力を低減するために、所定の条件下においては
CPUを自動的に停止させるといういわゆるCPUスリ
ープモード機能が設けられている。2. Description of the Related Art In recent years, various laptop or notebook type personal portable computers which are easy to carry and can be operated by a battery have been developed. This type of portable computer is provided with a so-called CPU sleep mode function of automatically stopping the CPU under predetermined conditions in order to reduce unnecessary power consumption.
【0003】従来のCPUスリープモード機能は、オペ
レータによるキーボード操作が一定時間以上実行されな
いことを条件に、実行される。The conventional CPU sleep mode function is executed on condition that the keyboard operation by the operator is not executed for a predetermined time or longer.
【0004】すなわち、アプリケーションプログラムが
キー入力待ちになると、BIOS(Basic I/O
System)のINT16Hがコールされ、キーボ
ード制御ルーチンが実行される。このBIOSのキーボ
ード制御ルーチンは、一定時間内にキーボード入力がな
いと、CPUにプログラム実行を停止させるためのHA
LT命令を実行させる。このCPUのHALTサイクル
がシステムハードウェアによって検出されると、システ
ムハードウェアは、CPUの消費電力を低減させるため
に、クロック周波数を低下またはクロックを完全に停止
することによってCPUをスリープモードに移行させ
る。CPUがスリープモードにある時は、クロック周波
数が低下されている場合と、クロックが完全に停止され
ている場合のどちらであっても、CPUによるプログラ
ム実行は一切行われない。That is, when the application program waits for a key input, the BIOS (Basic I / O)
System) INT16H is called, and the keyboard control routine is executed. This BIOS keyboard control routine is an HA for stopping the program execution by the CPU if there is no keyboard input within a fixed time.
Execute the LT instruction. When this HALT cycle of the CPU is detected by the system hardware, the system hardware puts the CPU into the sleep mode by reducing the clock frequency or completely stopping the clock in order to reduce the power consumption of the CPU. . When the CPU is in the sleep mode, no program execution is performed by the CPU, whether the clock frequency is reduced or the clock is completely stopped.
【0005】しかしながら、従来のスリープモード機能
によって検出できるCPUのアイドル状態は、アプリケ
ーションプログラムがキーボード入力待ちになった時の
CPUアイドルだけである。このため、アプリケーショ
ンプログラムがキーボード以外のI/Oデバイスの動作
完了を持っているような場合には、CPUがアイドル状
態であっても、CPUをスリープモードに移すことがで
きない。However, the CPU idle state that can be detected by the conventional sleep mode function is only the CPU idle state when the application program waits for keyboard input. Therefore, when the application program has completed the operation of the I / O device other than the keyboard, the CPU cannot be put into the sleep mode even when the CPU is in the idle state.
【0006】この場合、そのI/Oデバイスの動作完了
までに要する時間、CPUの電力が無駄に消費されるこ
とになる。特に、動作速度の遅いI/Oデバイスからの
動作完了通知や、バスマスターなどの高度なインテリジ
ェントを持ったI/Oデバイスからの動作完了通知をア
プリケーションプログラムが待っているような場合に
は、CPUが比較的長い時間アイドル状態であるにもか
かわらず、CPUをスリープモードに移行することがで
きない。このため、無駄に消費されるCPUの電力も大
きくなる。In this case, the CPU power is wasted for the time required to complete the operation of the I / O device. In particular, if the application program is waiting for an operation completion notification from an I / O device with a slow operation speed or an operation completion notification from an I / O device with high intelligence such as a bus master, the CPU Is in idle state for a relatively long time, the CPU cannot enter sleep mode. For this reason, the power consumed by the CPU is wasted.
【0007】このように、従来のスリープモード機能
は、CPUをスリープモードに移行させる契機となるト
リガが少ないため、十分なパワーセーブを実現できない
という欠点を有している。As described above, the conventional sleep mode function has a drawback that sufficient power saving cannot be realized because there are few triggers that trigger the CPU to shift to the sleep mode.
【0008】また、BIOSがシステムハードウェアを
制御できるのは、そのBIOSに対応した特定のオペレ
ーティングシステム(OS)環境下のみである。このた
め、スリープモード機能が正常に動作するか否かはOS
環境に大きく依存し、OS環境によってはスリープモー
ド機能が何等動作しなくなってしまうこともある。The BIOS can control the system hardware only under a specific operating system (OS) environment corresponding to the BIOS. Therefore, whether the sleep mode function operates normally depends on the OS.
Depending on the environment, the sleep mode function may not work depending on the OS environment.
【0009】さらに、従来のスリープモード機能では、
CPUをスリープモードから復帰させるのに時間がかか
るという問題がある。Further, in the conventional sleep mode function,
There is a problem that it takes time to return the CPU from the sleep mode.
【0010】すなわち、CPUがスリープモードの状態
で何等かのシステムイベントが発生すると、システムハ
ードウェアはCPUへのクロック供給を再開、またはク
ロック周波数を高くする。しかし、クロックを通常の状
態に切り替えても、CPU動作を直ぐには開始すること
ができない。特に、最近のPLL(Phase Loc
ked Loop)内蔵の高性能マイクロプロセッサ、
例えば、米インテル社により開発され製造販売されてい
るIntel486シリーズのマイクロプロセッサなど
においては、クロック切り替えから一定期間(例えば1
ms程度)、CPUの動作開始が待たされる。これは、
次の理由による。That is, when some kind of system event occurs while the CPU is in the sleep mode, the system hardware restarts the clock supply to the CPU or raises the clock frequency. However, even if the clock is switched to the normal state, the CPU operation cannot be started immediately. Especially, the recent PLL (Phase Loc)
Ked Loop) built-in high performance microprocessor,
For example, in an Intel486 series microprocessor developed and manufactured and sold by Intel Corporation of the US, a certain period (for example, 1
(about ms), the operation of the CPU is delayed. this is,
For the following reasons.
【0011】すなわち、この種のマイクロプロセッサ
は、PLLを含む内部発振器を持ち、外部から供給され
るクロックに同期した高速クロックをそのPLLにより
発生させ、それを利用して高速動作を実現している。こ
のため、このマイクロプロセッサが正常に動作するため
には、外部から供給されるクロックの位相が安定してい
ることが必要とされる。さもないと、PLLの同期動作
に異常が来たされるからである。したがって、PLL内
蔵の高性能マイクロプロセッサをCPUとして使用して
いるシステムにおいては、CPUクロックの切り替えを
行う従来のスリープモード機能を適用すると、スリープ
モードからの復帰に時間が掛かり、システム性能が悪化
される欠点がある。That is, this type of microprocessor has an internal oscillator including a PLL, generates a high-speed clock synchronized with an externally supplied clock by the PLL, and uses it to realize a high-speed operation. . Therefore, in order for this microprocessor to operate normally, the phase of the clock supplied from the outside must be stable. Otherwise, the PLL synchronous operation will be abnormal. Therefore, in a system using a high-performance microprocessor with a built-in PLL as a CPU, if the conventional sleep mode function for switching the CPU clock is applied, it takes a long time to recover from the sleep mode and the system performance is deteriorated. There is a drawback.
【0012】[0012]
【発明が解決しようとする課題】従来のスリープモード
機能では、CPUがスリープモードに設定されるのは、
BIOSのキーボード制御ルーチンが一定時間キーボー
ド入力がないことを検出した時のみである。このため、
CPUをスリープモードに移行するためのトリガが少な
く、CPUがアイドル状態であってもCPUをスリープ
モードに移すことができない場合が多かった。また、B
IOSがハードウェアを制御できるのはそのBIOSに
対応したOS環境のみであるため、OS環境によってC
PUをスリープモードに移行できない欠点があった。さ
らに、スリープモードではCPUクロックが低下または
停止されているので、スリープモードからノーマルモー
ドへの復帰に時間を要する欠点があった。In the conventional sleep mode function, the CPU is set in the sleep mode only in the following manner.
Only when the BIOS keyboard control routine detects that there is no keyboard input for a certain period of time. For this reason,
There were few triggers for shifting the CPU to the sleep mode, and it was often impossible to shift the CPU to the sleep mode even when the CPU was in the idle state. Also, B
Since the IOS can control the hardware only in the OS environment corresponding to the BIOS, C can be controlled by the OS environment.
There was a drawback that the PU could not be put into sleep mode. Further, since the CPU clock is lowered or stopped in the sleep mode, it takes a long time to return from the sleep mode to the normal mode.
【0013】この発明はこのような点に鑑みてなされた
ものであり、OS環境によらずに常に同一のスリープモ
ードを実現でき、且つCPUの電力消費を十分に低減す
ることができるコンピュータシステムを提供することを
目的とする。The present invention has been made in view of the above circumstances, and provides a computer system capable of always realizing the same sleep mode regardless of the OS environment and sufficiently reducing the power consumption of the CPU. The purpose is to provide.
【0014】また、この発明は、PLL内蔵の高性能C
PUをスリープモードから高速に復帰させることができ
るコンピュータシステムを提供することを目的とする。The present invention also provides a high-performance C with a built-in PLL.
An object of the present invention is to provide a computer system capable of returning a PU from a sleep mode at high speed.
【0015】[0015]
【課題を解決するための手段および作用】この発明によ
るコンピュータシステムは、実行対象の各種プログラム
が格納されるメインメモリと、システム管理プログラム
を呼び出すための命令を格納し、前記メインメモリのア
ドレス空間の一部にマッピングされるオーバーレイメモ
リと、前記メインメモリのプログムを実行するプログラ
ム実行モードと前記オーバーレイメモリの命令を実行す
るシステム管理モードとを有し、所定の割込み入力端子
に供給される割込み信号に応答して前記プログラム実行
モードから前記システム管理モードにスイッチするCP
Uと、前記CPUによって呼び出された前記システム管
理プログラムに含まれるスリープ制御ルーチンを実行
し、前記CPUの動作状態を第1ステートからそれより
も電力消費の少ない第2ステートに切り替えるCPUス
リープ手段と、コンピュータシステム内で発生される前
記CPUへの各種ハードウェア割込み要求信号を監視
し、予め設定された第1のタイムアウト時間前記全ての
ハードウェア割込み要求信号が発生されない時システム
アイドルを検出するシステムアイドル検出手段と、この
システムアイドル検出手段によるシステムアイドルの検
出に応答して前記CPUの割込み入力端子にシステムア
イドルを示す割込み信号を供給し、前記CPUスリープ
手段による前記CPUの動作状態の切り替え処理を実行
させる手段とを具備することを第1の特徴とする。A computer system according to the present invention stores a main memory in which various programs to be executed are stored and an instruction for calling a system management program, and stores the address space in the main memory. It has an overlay memory mapped to a part, a program execution mode for executing a program of the main memory, and a system management mode for executing an instruction of the overlay memory, and has an interrupt signal supplied to a predetermined interrupt input terminal. CP in response to switch from the program execution mode to the system management mode
U, CPU sleep means for executing a sleep control routine included in the system management program called by the CPU, and switching the operating state of the CPU from a first state to a second state in which power consumption is lower than that of the first state; System idle detection that monitors various hardware interrupt request signals to the CPU generated in the computer system and detects a system idle when all the hardware interrupt request signals are not generated for a preset first timeout time Means for supplying the interrupt signal indicating the system idle to the interrupt input terminal of the CPU in response to the detection of the system idle by the system idle detecting means, and the CPU sleep means executes the switching processing of the operating state of the CPU. And means A first feature in that.
【0016】このコンピュータシステムにおいては、シ
ステム内の各種ハードウェア割込み要求信号が監視さ
れ、それらすべてのハードウェア割込み要求信号が所定
時間発生されない時にシステムアイドルが検出され、こ
れによってCPUがスリープモードに移行される。この
ため、CPUをスリープモードに移行するためのトリガ
が増え、アプリケーションプログラムがキーボード入力
待ちになった時のCPUアイドルだけでなく、アプリケ
ーションプログラムがキーボード以外のI/Oデバイス
の動作完了を持っているような場合にも、CPUをスリ
ープモードに移行させることができる。したがって、C
PUがアイドルであるにもかかわらずCPUが動作状態
に維持されているという事態を防止でき、CPUの電力
消費を十分に低減することができる。In this computer system, various hardware interrupt request signals in the system are monitored, and when all the hardware interrupt request signals are not generated for a predetermined time, system idle is detected, whereby the CPU shifts to the sleep mode. To be done. Therefore, the number of triggers for shifting the CPU to the sleep mode is increased, and not only the CPU idle when the application program waits for keyboard input but also the application program has the operation completion of the I / O device other than the keyboard. Even in such a case, the CPU can be shifted to the sleep mode. Therefore, C
It is possible to prevent the situation where the CPU is kept in the operating state even though the PU is idle, and it is possible to sufficiently reduce the power consumption of the CPU.
【0017】また、システムアイドルの検出には、ハー
ドウェア割込み要求信号が利用されている。このハード
ウェア割込み要求信号はシステム内の各種I/Oデバイ
スから発生させる物理的な信号であり、その検出にはB
IOSは一切利用されない。さらに、CPUスリープ手
段の処理をCPUへの割込み信号の供給のみによっての
み起動でき、OSやBIOSはCPUスリープ手段の起
動処理に一切関知しない。したがって、ハードウェアレ
ベルでシステムアイドルの検出、およびCPUスリープ
制御を行うことが可能となり、OS環境によらずに常に
同一のスリープモード機能を実現できる。A hardware interrupt request signal is used to detect the system idle. This hardware interrupt request signal is a physical signal generated from various I / O devices in the system, and is detected by B
No IOS is used. Further, the processing of the CPU sleep means can be activated only by supplying the interrupt signal to the CPU, and the OS and the BIOS have no concern with the activation processing of the CPU sleep means. Therefore, it is possible to detect the system idle and control the CPU sleep at the hardware level, and always realize the same sleep mode function regardless of the OS environment.
【0018】また、この発明によるコンピュータシステ
ムは、外部クロックに応じて内部クロックを生成するP
LLを内蔵し、命令が実行されるノーマルステートと、
命令実行および前記外部クロックが停止されるクロック
停止ステートと、前記ノーマルステートと前記クロック
停止ステートとの中間に位置し、命令実行が停止され前
記外部クロックの停止が可能なクロック停止許可ステー
トとを含む動作ステートを有し、クロック停止許可を示
すクロック停止信号の発生に応答して前記ノーマルステ
ートから前記クロック停止許可ステートに移行され、前
記クロック停止信号の発生停止に応答して前記クロック
停止許可ステートからノーマルステートに復帰されるC
PUを利用し、CPUスリープ手段によって前記CPU
をクロック停止許可ステートに設定することを第2の特
徴とする。Further, the computer system according to the present invention generates the internal clock in accordance with the external clock.
A normal state in which LL is built in and instructions are executed,
It includes a clock stop state in which instruction execution and the external clock are stopped, and a clock stop enable state which is located between the normal state and the clock stop state and in which instruction execution is stopped and the external clock can be stopped. Has an operating state, transitions from the normal state to the clock stop permission state in response to the generation of a clock stop signal indicating clock stop permission, and changes from the clock stop permission state in response to the stop of generation of the clock stop signal C returned to normal state
Using the PU, the CPU sleep means for the CPU
Is set to a clock stop permission state.
【0019】このコンピュータシステムにおいては、C
PUスリープとしてCPUのクロック停止許可ステート
が利用されている。このステートでは、一切の命令実行
が停止されるので、外部クロックを停止すること無く、
CPUの消費電力を低減することができる。このため、
外部クロックを動的に切り替えること無くCPUをスリ
ープモードから復帰できるので、PLL内蔵の高性能C
PUを高速にスリープモードから復帰させることが可能
となる。In this computer system, C
The CPU clock stop permission state is used for PU sleep. In this state, execution of all instructions is stopped, so without stopping the external clock,
The power consumption of the CPU can be reduced. For this reason,
Since the CPU can wake up from sleep mode without dynamically switching the external clock, high-performance C with a built-in PLL
It is possible to wake up the PU from the sleep mode at high speed.
【0020】さらに、この発明によるコンピュータシス
テムは、外部クロックに応じて内部クロックを生成する
PLLを内蔵し、命令が実行されるノーマルステート
と、命令実行および前記外部クロックが停止されるクロ
ック停止ステートと、前記ノーマルステートと前記クロ
ック停止ステートとの中間に位置し、命令実行が停止さ
れ前記外部クロックの停止が可能なクロック停止許可ス
テートとを含む動作ステートを有し、クロック停止許可
を示すクロック停止信号の発生に応答して前記ノーマル
ステートから前記クロック停止許可ステートに移行さ
れ、前記クロック停止信号の発生停止に応答して前記ク
ロック停止許可ステートからノーマルステートに復帰さ
れるCPUと、前記クロック停止信号を発生するクロッ
ク停止信号発生手段と、前記CPUによって実行される
各種プログラムを格納するメインメモリと、システム管
理プログラムを呼び出すための命令を格納し前記メイン
メモリのアドレス空間の一部にマッピングされるオーバ
ーレイメモリであって、前記CPUの所定の割込み入力
端子に割込み信号が供給された際に前記CPUによって
前記命令が実行されるオーバーレイメモリと、前記CP
Uによって呼び出される前記システム管理プログラムに
含まれるスリープ制御ルーチンを実行し、前記クロック
停止信号発生手段にクロック停止信号の発生を指示する
CPUスリープ手段と、コンピュータシステム内で発生
される前記CPUへの各種ハードウェア割込み要求信号
を監視し、予め設定された時間前記全てのハードウェア
割込み要求信号が発生されない時システムアイドルを検
出するシステムアイドル検出手段と、このシステムアイ
ドル検出手段によるシステムアイドルの検出に応答して
前記CPUの割込み入力端子にシステムアイドルを示す
割込み信号を供給し、前記CPUスリープ手段にクロッ
ク停止信号発生指示の発行処理を実行させる手段と、前
記各種ハードウェア割込み要求信号を監視し、前記ハー
ドウェア割込み要求信号の1つが発生された時システム
イベントの発生を検出するシステムイベント検出手段
と、このシステムイベント検出手段によるシステムイベ
ントの発生検出に応答して、前記クロック停止信号発生
手段に前記クロック停止信号の発生を停止させ、前記C
PUをクロック停止許可ステートからノーマルステート
に復帰させる手段とを具備し、前記CPUスリープ手段
は、前記システムアイドルを示す割込み信号の発生から
前記システムイベント検出手段によるシステムイベント
の発生検出までの期間前記CPUがクロック停止許可ス
テートとノーマルステートを交互に繰り返すように、前
記クロック停止信号発生手段に前記クロック停止信号を
断続的に発生させる手段を含むことを第3の特徴とす
る。Further, the computer system according to the present invention has a built-in PLL for generating an internal clock in response to an external clock, and has a normal state in which an instruction is executed and a clock stop state in which the instruction execution and the external clock are stopped. A clock stop signal indicating a clock stop permission, which has an operation state located between the normal state and the clock stop state and including a clock stop permission state in which instruction execution is stopped and the external clock can be stopped. In response to the generation of the clock stop permission state, and in response to the stop of the generation of the clock stop signal from the clock stop permission state to the normal state, the CPU and the clock stop signal. Generating means for generating clock stop signal A main memory that stores various programs executed by the CPU, and an overlay memory that stores an instruction for calling a system management program and is mapped to a part of an address space of the main memory. An overlay memory for executing the instruction by the CPU when an interrupt signal is supplied to an interrupt input terminal;
CPU sleep means for executing a sleep control routine included in the system management program called by U and instructing the clock stop signal generation means to generate a clock stop signal, and various CPU sleep means generated in the computer system. A system idle detection means for monitoring a hardware interrupt request signal and detecting a system idle when all the hardware interrupt request signals are not generated for a preset time, and a system idle detection means for responding to the detection of the system idle by the system idle detection means. Supply an interrupt signal indicating system idle to the interrupt input terminal of the CPU to cause the CPU sleep means to execute the process of issuing a clock stop signal generation instruction, and monitor the various hardware interrupt request signals, Wear interrupt required System event detection means for detecting the occurrence of a system event when one of the signals is generated, and the clock stop signal generation means for generating the clock stop signal in response to the detection of the system event occurrence by the system event detection means. To stop the C
Means for returning the PU from the clock stop permission state to the normal state, and the CPU sleep means is the CPU during the period from the generation of the interrupt signal indicating the system idle to the detection of the occurrence of the system event by the system event detection means. The third feature is that the clock stop signal generating means includes means for intermittently generating the clock stop signal so that the clock stop enable state and the normal state are alternately repeated.
【0021】このコンピュータシステムにおいては、C
PUはスリープモードにおいてクロック停止許可ステー
トとノーマルステートをある時間間隔で交互に繰り返
す。クロック停止許可ステートにおいてはCPUの一切
の命令実行は停止されるが、ノーマルステートにおいて
は命令実行の再開が可能となる。このため、スリープモ
ードの期間、つまりシステムアイドルが検出されてから
システムイベントの発生が検出されるまでの期間、CP
Uによるプログラム実行は完全には停止されず、CPU
は断続的にプログラムを実行することが可能である。し
たがって、メモリのベンチマークテストなどのようにI
/Oを使用せずに演算処理を行うようなプログラムをC
PUが実行している時にアイドル状態の誤検出により誤
ってCPUがスリープモードに移行されても、プログラ
ム実行が突然停止されて以降何等処理が進まないという
事態の発生を防止できる。また、スリープモードにおい
てはCPUの平均動作速度を遅くできるので、このスリ
ープ制御方式でも平均的な意味では十分にCPUの電力
消費を低減することができる。In this computer system, C
In the sleep mode, the PU alternately repeats the clock stop enable state and the normal state at certain time intervals. In the clock stop permission state, all CPU instruction execution is stopped, but in the normal state, instruction execution can be restarted. Therefore, during the sleep mode, that is, during the period from the detection of the system idle to the detection of the occurrence of the system event, CP
Program execution by U is not completely stopped, CPU
Is able to execute programs intermittently. Therefore, as in a memory benchmark test, I
A program that does arithmetic processing without using / O
Even if the CPU accidentally shifts to the sleep mode due to the false detection of the idle state while the PU is executing, it is possible to prevent the occurrence of a situation in which no processing progresses after the program execution is suddenly stopped. Further, since the average operation speed of the CPU can be slowed down in the sleep mode, the power consumption of the CPU can be sufficiently reduced in the average sense even in this sleep control method.
【0022】[0022]
【実施例】以下、図面を参照してこの発明の実施例を説
明する。Embodiments of the present invention will be described below with reference to the drawings.
【0023】図1には、この発明の一実施例に係わるコ
ンピュータシステムの構成が示されている。このコンピ
ュータシステムは、ラップトップタイプまたはノートブ
ックタイプのパーソナルコンピュータシステムであり、
CPU11、システムコントローラ12、メインメモリ
13、BIOS ROM14、およびバス変換回路15
を備えている。FIG. 1 shows the configuration of a computer system according to an embodiment of the present invention. This computer system is a laptop or notebook type personal computer system,
CPU 11, system controller 12, main memory 13, BIOS ROM 14, and bus conversion circuit 15
Is equipped with.
【0024】CPU11およびメインメモリ13は、3
2ビット幅のデータバスを含むCPUバス100に接続
されている。CPUバス100は、バス変換回路15を
介して16ビット幅のデータバスを含むISA仕様のシ
ステムバス200に接続されている。The CPU 11 and the main memory 13 have three
It is connected to the CPU bus 100 including a 2-bit wide data bus. The CPU bus 100 is connected via a bus conversion circuit 15 to an ISA specification system bus 200 including a 16-bit wide data bus.
【0025】また、このシステムには、割込みコントロ
ーラ16、キーボードコントローラ17、システムタイ
マ18、および他の各種I/Oデバイス19が設けられ
ており、これらはシステムバス200に接続されてい
る。The system is further provided with an interrupt controller 16, a keyboard controller 17, a system timer 18, and various other I / O devices 19, which are connected to the system bus 200.
【0026】CPU11としては、例えば、米インテル
社により製造販売されているマイクロプロセッサSL
Enhanced Intel486が使用される。S
LEnhanced Intel486は、4種類のク
ロックモデル、1×クロックモデル、1/2×クロック
モデル、1/3×クロックモデル、2×クロックモデル
に大別される。1×クロックモデル、1/2×クロック
モデル、1/3×クロックモデルはPLL内蔵のモデル
であり、2×クロックモデルはPLLを持たないモデル
である。このシステムでは、PLL内蔵の高性能プロセ
ッサである1×クロックモデル、1/2×クロックモデ
ル、または1/3×クロックモデルのSL Enhan
ced Intel486が使用される。The CPU 11 is, for example, a microprocessor SL manufactured and sold by Intel Corporation of the United States.
An Enhanced Intel 486 is used. S
The LEnhanced Intel 486 is roughly classified into four types of clock models, 1x clock model, 1 / 2x clock model, 1 / 3x clock model, and 2x clock model. The 1 × clock model, the 1/2 × clock model, and the 1/3 × clock model are models with a built-in PLL, and the 2 × clock model is a model without a PLL. In this system, a high-performance processor with a built-in PLL, 1 × clock model, 1/2 × clock model, or 1/3 × clock model SL Enhan
ced Intel 486 is used.
【0027】以下、1×クロックモデルのSL Enh
anced Intel486をCPU11として使用
した場合を例にとって説明する。Hereinafter, 1 × clock model SL Enh
A case where the advanced Intel 486 is used as the CPU 11 will be described as an example.
【0028】すなわち、CPU11はPLL回路111
を内蔵しており、このPLL回路111は外部クロック
CLKに基づいてその外部クロックCLKと同一または
それよりも高速の内部クロックCLK2を生成する。こ
のCPU11は、図2に示されているように、電力消費
の異なる3つの動作ステート、つまり、ノーマルステー
ト(Normal State)、ストップグラントス
テート(Stop Grant State)、および
ストップクロックステート(STOP Clock S
tate)を有している。That is, the CPU 11 has the PLL circuit 111.
This PLL circuit 111 generates an internal clock CLK2 that is the same as or faster than the external clock CLK based on the external clock CLK. As shown in FIG. 2, the CPU 11 has three operating states with different power consumption, namely, a normal state (Normal State), a stop grant state (Stop Grant State), and a stop clock state (STOP Clock State).
Tate).
【0029】ノーマルステートはCPU11の通常の動
作ステートであり、命令はこのノーマルステートにおい
て実行される。このノーマルステートは電力消費の最も
多いステートであり、その消費電流は〜700mA程度
である。The normal state is a normal operation state of the CPU 11, and the instruction is executed in this normal state. This normal state has the highest power consumption, and its current consumption is about 700 mA.
【0030】最も電力消費の少ないのはストップクロッ
クステートであり、その消費電流は〜50μA程度であ
る。このストップクロックステートにおいては、命令の
実行が停止されるだけでなく、外部クロックCLKおよ
び内部クロックCLK2も停止されている。The stop clock state consumes the least power, and the current consumption is about 50 μA. In this stop clock state, not only execution of instructions is stopped, but also external clock CLK and internal clock CLK2 are stopped.
【0031】ストップグラントステートは、ノーマルス
テートとストップクロックステートの中間の動作ステー
トであり、その消費電流は20〜50mA程度と比較的
少ない。ストップグラントステートにおいては、命令は
実行されない。また、外部クロックCLKおよび内部ク
ロックCLK2は共にランニング状態であるが、CPU
内部ロジックへの内部クロックCLK2の供給は停止さ
れる。このストップグラントステートは外部クロックC
LKの停止可能なステートであり、このストップグラン
トステートにおいて外部クロックCLKを停止すると、
CPU11はストップグラントステートからストップク
ロックステートに移行する。The stop grant state is an operation state intermediate between the normal state and the stop clock state, and its current consumption is relatively small at about 20 to 50 mA. No instructions are executed in the stop grant state. Further, although both the external clock CLK and the internal clock CLK2 are in the running state, the CPU
The supply of the internal clock CLK2 to the internal logic is stopped. This stop grant state is external clock C
LK is a stoppable state, and when the external clock CLK is stopped in this stop grant state,
The CPU 11 shifts from the stop grant state to the stop clock state.
【0032】ノーマルステートとストップグラントステ
ート間の遷移は、ストップクロック(STPCLK)信
号によって高速に行うことができる。The transition between the normal state and the stop grant state can be performed at high speed by the stop clock (STPCLK) signal.
【0033】すなわち、ノーマルステートにおいてCP
U11に供給されるSTPCLK信号がイネーブルつま
りアクティブステートに設定されると、CPU11は、
現在実行中の命令が完了後、次の命令を実行すること無
く、内部のパイプラインをすべて空にしてから、ストッ
プグラントサイクルを実行して、ノーマルステートから
ストップグラントステートに移行する。一方、ストップ
グラントステートにおいてSTPCLK信号がディスエ
ーブルつまりインアクイブステートに設定されると、C
PU11は、ストップグラントステートからノーマルス
テートに移行し、次の命令の実行を再開する。That is, in the normal state, CP
When the STPCLK signal supplied to U11 is enabled, that is, set to the active state, the CPU 11
After the instruction currently being executed is completed, the internal pipeline is completely emptied without executing the next instruction, and then the stop grant cycle is executed to shift from the normal state to the stop grant state. On the other hand, when the STPCLK signal is set to the disable state, that is, the inactive state in the stop grant state, C
The PU 11 shifts from the stop grant state to the normal state and restarts execution of the next instruction.
【0034】また、ストップグラントステートからスト
ップクロックステートへの移行は、外部クロックCLK
を停止することによって瞬時に行われる。ストップクロ
ックステートにおいてCPU11への外部クロックCL
Kの供給が再開されると、1ms後にCPU11はスト
ップグラントステートに移行する。このようにストップ
クロックステートからの復帰には時間がかかる問題があ
る。The transition from the stop grant state to the stop clock state is performed by the external clock CLK.
Instantly done by stopping. External clock CL to the CPU 11 in the stop clock state
When the supply of K is restarted, the CPU 11 shifts to the stop grant state after 1 ms. As described above, there is a problem that it takes time to recover from the stop clock state.
【0035】以上のように、ストップグラントステート
は、ノーマルステートに比べ非常にローパワーであり、
且つSTPCLK信号によってノーマルステート、つま
り命令実行状態に高速に復帰できるという特徴を持って
いる。このため、このシステムでは、CPUスリープモ
ードとしてストップクロックステートではなく、ストッ
プグラントステートが利用される。As described above, the stop grant state has much lower power than the normal state,
In addition, it has a feature that it can quickly return to the normal state, that is, the instruction execution state by the STPCLK signal. Therefore, in this system, the stop grant state is used as the CPU sleep mode instead of the stop clock state.
【0036】さらに、図1のCPU11は、次のような
システム管理機能を備えている。Further, the CPU 11 of FIG. 1 has the following system management function.
【0037】すなわち、CPU11は、アプリケーショ
ンプログラムやOSなどのプログラムを実行するための
リアルモード、プロテクトモード、仮想86モードの
他、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
または電力管理専用のシステム管理プログラムを実行す
るための動作モードを有している。That is, the CPU 11 has a system management mode (SMM; System Ma) in addition to a real mode, a protect mode, a virtual 86 mode for executing an application program and a program such as an OS.
It has an operation mode for executing a system management program dedicated to system management or power management called a “management mode”.
【0038】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、セグメントレジ
スタで表されるベースアドレスからのオフセット値で物
理アドレスが決定される。プロテクトモードは1タスク
当たり最大4Gバイトのメモリ空間をアクセスできるモ
ードであり、ディスクプリタテーブルと称されるアドレ
スマッピングテーブルを用いてリニアアドレスが決定さ
れる。このリニアアドレスレスは、ページングによって
最終的に物理アドレスに変換される。仮想86モード
は、リアルモードで動作するように構成されたプログラ
ムをプロテクトモードで動作させるためのモードであ
り、リアルモードのプログラムはプロテクトモードにお
ける1つのタスクとして扱われる。The real mode is a mode in which a maximum 1 Mbyte memory space can be accessed, and the physical address is determined by the offset value from the base address represented by the segment register. The protect mode is a mode in which a maximum of 4 Gbytes of memory space can be accessed per task, and a linear address is determined using an address mapping table called a descriptor table. This linear addressless is finally converted into a physical address by paging. The virtual 86 mode is a mode for operating a program configured to operate in the real mode in the protect mode, and the program in the real mode is treated as one task in the protect mode.
【0039】システム管理モード(SMM)は疑似リア
ルモードであり、このモードでは、ディスクプリタテー
ブルは参照されず、ページングも実行されない。システ
ム管理割込み(SMI;System Management Inter
rupt)がCPU11に発行された時、CPU11の動作
モードは、リアルモード、プロテクトモード、または仮
想86モードから、SMMにスイッチされる。SMMで
は、システム管理またはパワーセーブ制御専用のシステ
ム管理プログラムが実行される。The system management mode (SMM) is a pseudo-real mode, in which the descriptor table is not referenced and paging is not executed. System Management Interrupt (SMI)
rupt) is issued to the CPU 11, the operation mode of the CPU 11 is switched from the real mode, the protect mode or the virtual 86 mode to the SMM. In the SMM, a system management program dedicated to system management or power save control is executed.
【0040】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラムと
して用意された種々のSMIサービスルーチンを、実行
中のアプリケーションプログラムやOS環境に依存せず
に起動することができる。このコンピュータシステムに
おいては、OS環境に依存せずに常に同一のスリープモ
ード機能を実現するために、このSMIを利用してCP
Uスリープが制御される。The SMI is a kind of the non-maskable interrupt NMI, but it is the highest priority interrupt having a higher priority than the normal NMI and the maskable interrupt INTR. This SM
By issuing I, various SMI service routines prepared as a system management program can be started without depending on the application program being executed or the OS environment. In this computer system, in order to always realize the same sleep mode function without depending on the OS environment, CP is used by using this SMI.
U-sleep is controlled.
【0041】システムコントローラ12は、このシステ
ム内のメモリやI/Oを制御するためのゲートアレイで
あり、ここにはCPU11へのSMI信号およびSTP
CLK信号の発生を制御するためのハードウェアが組み
込まれている。The system controller 12 is a gate array for controlling the memory and I / O in this system. Here, the SMI signal to the CPU 11 and the STP signal are provided.
Hardware is included to control the generation of the CLK signal.
【0042】メインメモリ13は、オペレーティングシ
ステム、処理対象のアプリケーションプログラム、およ
びアプリケーションプログラムによって作成されたユー
ザデータ等を格納する。SMRAM(System M
anagement RAM)50は、メインメモリ1
3のアドレス30000Hから3FFFFHまでのアド
レス空間にマッピングされるオ−バレイであり、SMI
信号がCPU11に入力された時だけアクセス可能とな
る。ここで、SMRAMがマッピングされるアドレス範
囲は固定ではなく、SMBASEと称されるレジスタに
よって4Gバイト空間の任意の場所に変更することが可
能である。SMBASEレジスタは、SMM中でないと
アクセスできない。SMBASEレジスタの初期値は、
アドレス3000Hである。The main memory 13 stores an operating system, an application program to be processed, user data created by the application program, and the like. SMRAM (System M
management RAM) 50 is the main memory 1
3 is an overlay that is mapped in the address space from 30000H to 3FFFFH.
It becomes accessible only when a signal is input to the CPU 11. Here, the address range to which the SMRAM is mapped is not fixed, and can be changed to any place in the 4 Gbyte space by a register called SMBASE. The SMBASE register can only be accessed during SMM. The initial value of the SMBASE register is
The address is 3000H.
【0043】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM50にスタック形式で
セーブされる。このSMRAM50には、BIOSRO
M14のシステム管理プログラムを呼び出すための命令
が格納されている。この命令は、CPU11がSMMに
入った時に最初に実行される命令であり、この命令実行
によってシステム管理プログラムに制御が移る。When the CPU 11 shifts to SMM, C
PU status, that is, CPU when SMI is generated
11 registers and the like are saved in the SMRAM 50 in a stack format. In this SMRAM50, BIOSRO
The instruction for calling the system management program of M14 is stored. This instruction is an instruction that is first executed when the CPU 11 enters the SMM, and control is transferred to the system management program by executing this instruction.
【0044】BIOS ROM14は、BIOS(Bas
ic I/O System )を記憶するためのものであり、
プログラム書き替えが可能なようにフラッシュメモリに
よって構成されている。BIOSは、リアルモードで動
作するように構成されている。このBIOSには、シス
テムブート時に実行されるIRTルーチンと、各種I/
Oデバイスを制御するためのデバイスドライバと、シス
テム管理プログラムが含まれている。システム管理プロ
グラムは、SMMにおいて実行されるプログラムであ
り、グローバルスタンバスSMIルーチンおよびソフト
ウェアSMIルーチンなどを含むSMIプログラムと、
実行するSMIルーチンを決定するためのSMIハンド
ラ等を含んでいる。The BIOS ROM 14 is a BIOS (Bas
ic I / O System) for storing
It is composed of a flash memory so that the program can be rewritten. The BIOS is configured to operate in real mode. This BIOS has an IRT routine executed at system boot and various I / O routines.
A device driver for controlling the O device and a system management program are included. The system management program is a program executed in SMM, and includes an SMI program including a global stanbus SMI routine and a software SMI routine,
It includes an SMI handler for determining the SMI routine to be executed.
【0045】グローバルスタンバイSMIルーチンおよ
びソフトウェアSMIルーチンにはは、それぞれCPU
11をスリープモードに設定するためのスリープ制御ル
ーチンが含まれている。また、グローバルスタンバイS
MIルーチンには、システムステータスをセーブした後
にシステムをパワーオフするオートパワーオフルーチン
も含まれている。Each of the global standby SMI routine and the software SMI routine includes a CPU.
A sleep control routine for setting 11 to sleep mode is included. In addition, global standby S
The MI routine also includes an auto power off routine that powers off the system after saving the system status.
【0046】SMIハンドラは、SMIが発生した時に
CPU11によって最初に呼び出されるBIOS内のプ
ログラムであり、これによって、SMIの発生要因のチ
ェックや、その発生要因に対応したSMIルーチンの呼
び出しが実行される。The SMI handler is a program in the BIOS that is first called by the CPU 11 when an SMI occurs, whereby the cause of the SMI is checked and the SMI routine corresponding to the cause is executed. .
【0047】バス変換回路15は、CPUバス100の
32ビットデータバスとシステムバス200の16ビッ
トデータバスとの間のバス幅変換などを行う。The bus conversion circuit 15 performs bus width conversion between the 32-bit data bus of the CPU bus 100 and the 16-bit data bus of the system bus 200.
【0048】割込みコントローラ16は、キーホードコ
ントローラ17、システムタイマ18、およびその他の
I/Oデバイス19からの割込み要求信号IRQ0〜I
RQ15を受信し、その割込み要求信号の優先順位にし
たがってCPU11への割込み信号INTRの発生を制
御する。この場合、発生された割込み要求信号を示すス
テータス情報は、割込みコントローラ16内のレジスタ
に保持される。割込み信号INTRは、ハードウェア割
込み要求信号(IRQ0〜IRQ15)のいずれか1つ
が発生された時に発生される。The interrupt controller 16 includes interrupt request signals IRQ0 to IRQ from the keyboard controller 17, system timer 18, and other I / O devices 19.
The RQ 15 is received, and the generation of the interrupt signal INTR to the CPU 11 is controlled according to the priority of the interrupt request signal. In this case, the status information indicating the generated interrupt request signal is held in the register in the interrupt controller 16. The interrupt signal INTR is generated when any one of the hardware interrupt request signals (IRQ0 to IRQ15) is generated.
【0049】ここで、IRQ0は、例えば55m秒単位
でシステムタイマ18から発生されるタイマ割込み要求
信号である。IRQ0の発生間隔はプログラマブルに設
定可能であり、OS環境によっては高速タスク切替えの
ために55msよりもさらに短い値に設定される場合も
ある。IRQ1は、キー入力時にキーホードコントロー
ラ17から発生されるキーボード割込み信号である。ま
た、キーホードコントローラ17からの割り込み信号に
は、マウス操作時に発生される割込み信号IRQ12も
ある。IRQ2〜IRQ11,IRQ13〜IRQ15
は、システム内のその他の各種I/Oデバイス19(例
えば、フロッピーディスクコントローラ、ハードディス
クコントローラ、シリアルポート、SCSIポート、な
ど)からの割込み要求信号である。Here, IRQ0 is a timer interrupt request signal generated from the system timer 18 in a unit of 55 msec, for example. The generation interval of IRQ0 can be set programmable, and depending on the OS environment, it may be set to a value shorter than 55 ms for fast task switching. IRQ1 is a keyboard interrupt signal generated from the keyboard controller 17 at the time of key input. The interrupt signal from the keyboard controller 17 also includes an interrupt signal IRQ12 generated when the mouse is operated. IRQ2 to IRQ11, IRQ13 to IRQ15
Is an interrupt request signal from various other I / O devices 19 in the system (eg, floppy disk controller, hard disk controller, serial port, SCSI port, etc.).
【0050】次に、システムコントローラ12に設けら
れた、SMIおよびSTPCLKの発生制御のためのハ
ードウェア構成について説明する。Next, a hardware configuration provided in the system controller 12 for controlling generation of SMI and STPCLK will be described.
【0051】システムコントローラ12は、図示のよう
に、I/Oレジスタ群121、グローバルスタンバイタ
イマ122、ソフトウェアSMIタイマ123、システ
ムイベント検出回路124、グローバルスタンバイSM
I発生回路125、ソフトウェアSMI発生回路12
6、他の要因のSMI発生回路127、OR回路12
8,130、およびストップクロック制御回路129、
およびNMI発生回路131を備えている。As shown in the figure, the system controller 12 includes an I / O register group 121, a global standby timer 122, a software SMI timer 123, a system event detection circuit 124, and a global standby SM.
I generation circuit 125, software SMI generation circuit 12
6. SMI generation circuit 127 and OR circuit 12 for other factors
8, 130, and a stop clock control circuit 129,
And an NMI generating circuit 131.
【0052】I/Oレジスタ群121は、CPU11に
よってリード/ライト可能なレジスタ群であり、ここに
は、SMIの発生要因を示すSMIステータス情報がコ
ントローラ12内のハードウェアによってセットされる
と共に、グローバルスタンバイタイムアウト値、および
ソフトウェアSMIワーニングタイムアウトカウント値
などがCPU11によってセットされる。グローバルス
タンバイタイムアウト値はグローバルスタンバイタイマ
122に送られ、ソフトウェアSMIワーニングタイム
アウトカウント値はソフトウェアSMIタイマ123に
送られる。さらに、I/Oレジスタ群121には、スト
ップクロック制御回路129にSTPCLKを発生させ
るためのストップクロックコマンドがCPU11によっ
てセットされる。このストップクロックコマンドは、ス
トップクロック制御回路129に送られる。The I / O register group 121 is a group of registers readable / writable by the CPU 11, in which SMI status information indicating the cause of SMI is set by the hardware in the controller 12 and global The CPU 11 sets a standby timeout value, a software SMI warning timeout count value, and the like. The global standby timeout value is sent to the global standby timer 122, and the software SMI warning timeout count value is sent to the software SMI timer 123. Further, a stop clock command for causing the stop clock control circuit 129 to generate STPCLK is set in the I / O register group 121 by the CPU 11. This stop clock command is sent to the stop clock control circuit 129.
【0053】グローバルスタンバイタイマ122は、例
えば4秒単位でカウント動作するアップカウンタであ
り、レジスタ群121にグローバルスタンバイタイムア
ウト値がセットされることによってカウント動作が開始
される。システムイベント検出回路124からシステム
イベント検出信号が発生されると、グローバルスタンバ
イタイマ122のカウント値はリセットされ、カウント
値“0”からカウント動作が再開される。カウント値と
グローバルスタンバイタイムアウト値が一致した時、グ
ローバルスタンバイタイムアウト信号がグローバルスタ
ンバイタイマ122から発生される。このグローバルス
タンバイタイムアウト信号は、グローバルスタンバイタ
イムアウト値によって指定された時間の間システムイベ
ントが発生しなかった事を示す。このグローバルスタン
バイタイムアウト信号は、グローバルスタンバイSMI
発生回路125にグローバルスタンバイSMIを発生さ
せる。The global standby timer 122 is an up-counter which counts in units of 4 seconds, for example, and the count operation is started by setting the global standby timeout value in the register group 121. When the system event detection circuit 124 generates a system event detection signal, the count value of the global standby timer 122 is reset, and the count operation is restarted from the count value "0". When the count value and the global standby timeout value match, the global standby timeout signal is generated from the global standby timer 122. This global standby timeout signal indicates that no system event has occurred during the time specified by the global standby timeout value. This global standby time-out signal is a global standby SMI.
Generation circuit 125 is caused to generate a global standby SMI.
【0054】ソフトウェアSMIタイマ123は、例え
ば1m秒単位でカウント動作するアップカウンタであ
り、レジスタ群121にソフトウェアSMIワーニング
タイムアウト値がセットされることによってカウント動
作が開始される。システムイベント検出回路124から
システムイベント検出信号が発生されると、ソフトウェ
アSMIタイマ123のカウント値はリセットされ、カ
ウント値“0”からカウント動作が再開される。カウン
ト値とソフトウェアSMIワーニングタイムアウト値が
一致した時に、ソフトウェアSMIワーニングタイムア
ウト信号がソフトウェアSMIタイマ123から発生さ
れる。ソフトウェアSMIワーニングタイムアウト信号
は、ソフトウェアSMI発生回路126にソフトウェア
SMIを発生させる。The software SMI timer 123 is, for example, an up counter that counts in units of 1 msec, and the count operation is started by setting the software SMI warning time-out value in the register group 121. When the system event detection signal is generated from the system event detection circuit 124, the count value of the software SMI timer 123 is reset, and the count operation is restarted from the count value "0". When the count value and the software SMI warning time-out value match, the software SMI warning time-out signal is generated from the software SMI timer 123. The software SMI warning time-out signal causes the software SMI generation circuit 126 to generate a software SMI.
【0055】システムイベント検出回路124は、ハー
ドウェア割込み信号、およびNMIを監視し、システム
イベントの発生を検出する。システムイベントの発生が
検出された時、システムイベント検出回路124は、シ
ステムイベント検出信号を発生する。The system event detection circuit 124 monitors the hardware interrupt signal and NMI and detects the occurrence of a system event. When the occurrence of a system event is detected, the system event detection circuit 124 generates a system event detection signal.
【0056】ここで、システムイベントとは、タイマ割
込み(IRQ0)を除くハードウェア割込み要求信号、
つまりIRQ1〜IRQ15と、NMIをいう。Here, the system event is a hardware interrupt request signal excluding a timer interrupt (IRQ0),
That is, IRQ1 to IRQ15 and NMI.
【0057】システムイベント検出回路124は、シス
テムコントローラ12の入力ピン数削減のために、IR
Q1〜IRQ15は実際には監視せず、その代わりにI
NTRとIRQ0を監視する。この場合、システムイベ
ント検出回路124は、INTRの発生時にIRQ0が
アクィティブステートで無かったらIRQ1〜IRQ1
5のいずれかが発生した(システムイベント)と判断す
る。この場合、実際には、IRQ0がアクティブステー
トであっても、その1回のアクティブステートの期間内
にINTRが2回発生した時には、システムイベントの
発生と見なされる。The system event detection circuit 124 uses an IR signal to reduce the number of input pins of the system controller 12.
Q1 to IRQ15 are not actually monitored and instead I
Monitor NTR and IRQ0. In this case, the system event detection circuit 124, if IRQ0 is not in the active state when INTR occurs, IRQ1 to IRQ1.
It is determined that any one of 5 has occurred (system event). In this case, in reality, even if IRQ0 is in the active state, it is considered that a system event has occurred when INTR occurs twice within the period of the single active state.
【0058】すなわち、図3(A)に示されているよう
に、IRQ0がアクィティブ(H)に維持されている期
間内に2回のINTRが発生した場合は、1回目のIN
TR発生時にはシステムイベントの発生とは見なされな
いが、2回目のINTR発生時にはシステムイベントの
発生と見なされる。一方、図3(B)に示されているよ
うに、IRQ0が途中でインアクイブ(L)に戻る場合
には、連続する2回のINTR発生時にIRQ0が共に
アクティブ(H)であっても、システムイベントの発生
とは見なされない。That is, as shown in FIG. 3A, when two INTRs are generated within the period in which IRQ0 is maintained active (H), the first INT is generated.
When a TR occurs, it is not considered as a system event occurrence, but when a second INTR occurs, it is considered as a system event occurrence. On the other hand, as shown in FIG. 3 (B), when IRQ0 returns to inactive (L) in the middle, even if both IRQ0 are active (H) during two consecutive INTR occurrences, the system Not considered an event occurrence.
【0059】これは、IRQ0〜15はエッジトリガの
信号であるので、インアクティブステートからアクィテ
ィブステートに変化するときのエッジだけが有効であ
り、それがアクィティブステートに維持されている期間
は意味を持たないからである。Since IRQ0 to 15 are edge trigger signals, only the edge when the inactive state is changed to the active state is effective, and the period during which it is maintained in the active state. Because has no meaning.
【0060】すなわち、図3(C)に示されているよう
に、IRQ0は、一旦発生されると一定期間(27ms
程度)アクティブ(H)に維持される。このため、IR
Q0は、タイマ処理が終了した後もすぐにはインアクテ
ィブ(L)に戻らず、アクティブステート(H)に維持
される。従って、IRQ0がアクティブステート(H)
に維持されている期間において、最初に発生されたIN
TRはIRQ0によるものであるが、2回目に発生され
たINTRはIRQ1のようなIRQ0以外の要因によ
るものである。That is, as shown in FIG. 3 (C), once IRQ0 is generated, it remains for a fixed period (27 ms).
To some degree) Active (H) is maintained. Therefore, IR
Q0 does not return to inactive (L) immediately after the timer processing ends, but is maintained in the active state (H). Therefore, IRQ0 is in active state (H)
The first IN generated during the period maintained at
TR is due to IRQ0, but INTR generated for the second time is due to factors other than IRQ0 such as IRQ1.
【0061】以上の理由から、システムイベント検出回
路124によってシステムイベントが検出されるのは、
次の2つの場合である。2 1)INTRの発生時にIRQ0がアクィティブステー
トで無い場合。For the above reason, the system event detection circuit 124 detects the system event as follows.
There are the following two cases. 21) When IRQ0 is not in the active state when INTR occurs.
【0062】2)IRQ0がアクティブステートであっ
ても、その1回のアクティブステートの期間内にINT
Rが2回発生した場合。2) Even if IRQ0 is in the active state, INT is set within the period of one active state.
When R occurs twice.
【0063】グローバルスタンバイSMI発生回路12
5は、グローバルスタンバイタイムアウト値によって指
定される時間の間システムイベントが発生されなかった
時、すなわち、グローバルスタンバイタイマ122から
グローバルスタンバイタイムアウト信号が発生された時
に、システムアイドルを示すグローバルスタンバイSM
Iを発生する。グローバルスタンバイSMIは、OR回
路128を介してCPU11に供給される。グローバル
スタンバイタイムアウト信号が発生された時、グローバ
ルスタンバイSMIの発生を示すSMIステータス情報
がレジスタ群12にセットされる。Global standby SMI generation circuit 12
5 is a global standby SM indicating a system idle when no system event is generated for the time specified by the global standby timeout value, that is, when the global standby timeout signal is generated from the global standby timer 122.
Generate I. The global standby SMI is supplied to the CPU 11 via the OR circuit 128. When the global standby time-out signal is generated, SMI status information indicating the occurrence of global standby SMI is set in the register group 12.
【0064】ソフトウェアSMI発生回路126は、ソ
フトウェアSMIタイマ123からのソフトウェアSM
Iワーニングタイムアウト信号に応答して、ソフトウェ
アSMIを発生する。このソフトウェアSMIは、OR
回路128を介してCPU11に供給される。ソフトウ
ェアSMIワーニングタイムアウト信号が発生された
時、ソフトウェアSMIの発生を示すSMIステータス
情報がレジスタ群121にセットされる。The software SMI generating circuit 126 receives the software SM from the software SMI timer 123.
A software SMI is generated in response to the I warning time-out signal. This software SMI is OR
It is supplied to the CPU 11 via the circuit 128. When the software SMI warning time-out signal is generated, SMI status information indicating the generation of the software SMI is set in the register group 121.
【0065】他の要因のSMI発生回路127は、グロ
ーバルスタンバイタイムアウトおよびソフトウェアSM
Iワーニングタイムアウト以外の要因によるSMI(外
部入力SMI、I/Oトラップ機能によるSMI、ロー
カルスタンバイタイムアウトによるSMI、電源からの
サスペンドレジュームボタン信号によるSMI)を発生
する。The SMI generating circuit 127 for other factors is responsible for the global standby time-out and the software SM.
An SMI (external input SMI, SMI due to I / O trap function, SMI due to local standby timeout, SMI due to suspend / resume button signal from the power supply) is generated due to factors other than the I warning timeout.
【0066】ストップクロック制御回路129は、CP
U11によってレジスタ群121にストップクロック発
生コマンドがセットされた時に、CPU11をストップ
グラントステートに移行させるストップクロック信号
(STPCLK)を発生する。このSTPCLKは、O
R回路130からストップブレーク信号が供給された時
にその発生が停止される。ストップブレーク信号は、C
PU11をストップグラントステートからノーマルステ
ートに復帰させるために発生される。ストップブレーク
信号の発生要因としては、すべてのSMIと、IRQ0
〜IRQ15によって発生するINTRと、NMIであ
る。The stop clock control circuit 129 uses the CP
When a stop clock generation command is set in the register group 121 by the U11, a stop clock signal (STPCLK) for shifting the CPU 11 to the stop grant state is generated. This STPCLK is O
When the stop break signal is supplied from the R circuit 130, its generation is stopped. The stop break signal is C
It is generated to return PU11 from the stop grant state to the normal state. The cause of the stop break signal is all SMI and IRQ0.
~ INTR generated by IRQ15 and NMI.
【0067】NMI発生回路131は、I/Oチャネル
チェックなどのNMI発生要因に応答して、NMIを発
生する。このNMIは、CPU11、システムイベント
検出回路124、およびOR回路130に供給される。The NMI generating circuit 131 generates an NMI in response to an NMI generating factor such as an I / O channel check. This NMI is supplied to the CPU 11, the system event detection circuit 124, and the OR circuit 130.
【0068】このシステムコントローラ12において
は、システムイベント検出回路124によってシステム
内の各種ハードウェア割込み要求信号が監視され、タイ
マ割込みを除く他のすべてのハードウェア割込み要求信
号が所定時間発生されない時にシステムアイドルが検出
され、これによってCPU11をスリープモードに移行
させるためのグローバルスタンバイSMIが発生され
る。In the system controller 12, the system event detection circuit 124 monitors various hardware interrupt request signals in the system, and when all the hardware interrupt request signals other than the timer interrupt are not generated for a predetermined time, the system idle is performed. Is detected, which causes a global standby SMI for shifting the CPU 11 to the sleep mode.
【0069】CPU11からストップクロックコマンド
が発行されると、ストップクロック制御回路129はS
TPCLKを発生し、CPU11をストップグラントス
テートに設定する。この状態でハードウェア割込みなど
のストップブレーク要因が発生すると、ストップクロッ
ク制御回路129は、CPU11にそのハードウェア割
込みに対応する処理を実行させるために、STPCLK
の発生を停止してCPU11をノーマルステートに戻
す。When the stop clock command is issued from the CPU 11, the stop clock control circuit 129 causes the S
TPCLK is generated and the CPU 11 is set to the stop grant state. When a stop break factor such as a hardware interrupt occurs in this state, the stop clock control circuit 129 causes the CPU 11 to execute STPCLK in order to execute the process corresponding to the hardware interrupt.
Is stopped and the CPU 11 is returned to the normal state.
【0070】また、このシステムコントローラ12にお
いては、スリープモードにおいてストップグラントステ
ートとノーマルステートがある時間間隔で交互に繰り返
されるように、ストップブレーク用のソフトウェアSM
Iと再スリープ用のソフトウェアSMIが交互に発生さ
れる。これは、STPCLK信号を発生する前にソフト
ウェアSMIタイマ123にストップブレーク用のタイ
ムアウト時間をセットすると共に、そのストップブレー
ク用のソフトウェアSMIによってストップブレークが
発生したときに再スリープ用のタイムアウト時間をソフ
トウェアSMIタイマ123にセットすることによって
実現される。In the system controller 12, the stop break software SM is arranged so that the stop grant state and the normal state are alternately repeated at a certain time interval in the sleep mode.
Alternately, I and the software SMI for resleep are generated. This sets a time-out time for stop break in the software SMI timer 123 before generating the STPCLK signal, and sets a time-out time for re-sleep when the stop break is generated by the software SMI for the stop break. It is realized by setting the timer 123.
【0071】この場合、もしストップブレーク要因とし
てのソフトウェアSMIが発生される前にキーボード割
込みなどのハードウェア割込み要求信号による他のスト
ップブレーク要因が発生したならば、タイムアウトの時
間を待たずに、そのハードウェア割込み要求信号による
ストップブレークが先に引き起こされる。これにより、
サービスを要求しているキーボードコントローラ17や
他のI/Oデバイス19に素早くサービスを提供でき
る。In this case, if another stop break factor due to a hardware interrupt request signal such as a keyboard interrupt occurs before the software SMI as a stop break factor is generated, that stop break factor is not waited and A stop break is triggered first by the hardware interrupt request signal. This allows
The keyboard controller 17 or other I / O device 19 requesting the service can be quickly provided with the service.
【0072】また、ストップブレーク要因がタイマ割込
みの場合には、CPU11を再度ストップグラントステ
ートに戻すための再スリープ処理が実行される。If the cause of the stop break is a timer interrupt, re-sleep processing for returning the CPU 11 to the stop grant state again is executed.
【0073】以下、SMIおよびSTPCLKを利用し
たCPUスリープ制御の動作手順を説明する。The operation procedure of CPU sleep control using SMI and STPCLK will be described below.
【0074】まず、図4および図5を参照して、CPU
11にSMIが発行された時のCPU11の動作につい
て説明する。First, referring to FIGS. 4 and 5, the CPU
The operation of the CPU 11 when the SMI is issued to 11 will be described.
【0075】CPU11にSMIが入力されると、CP
U11は、まず、SMRAM50をメインメモリ13の
アドレス30000Hから3FFFFHまでのアドレス
空間にマッピングする(ステップS1)。これにより、
メインメモリ13のアドレス30000Hから3FFF
FHはアクセス不能となり、代わりにSMRAM50が
アクセス可能となる。When the SMI is input to the CPU 11, the CP
The U11 first maps the SMRAM 50 into the address space from the address 30000H to 3FFFFH of the main memory 13 (step S1). This allows
Address 30000H to 3FFF of main memory 13
The FH becomes inaccessible and the SMRAM 50 becomes accessible instead.
【0076】SMRAM50には、CPUステート格納
エリア、SMIハンドラ作業エリアが設けられており、
またBIOS ROM14のSMIハンドラを割り込み
先として指定するジャンプコードがセットされている。The SMRAM 50 is provided with a CPU state storage area and an SMI handler work area,
Also, a jump code that specifies the SMI handler of the BIOS ROM 14 as an interrupt destination is set.
【0077】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容(CPUステー
タス)をSMRAM50のCPUステート格納エリアに
スタック形式でセーブする(ステップS2)。そして、
CPU11は、SMMのスタートアドレス38000H
のコード、つまりSMRAM50のアドレス38000
Hにセットされているジャンプコードをフェッチし、そ
のジャンプコードで指定されるBIOS ROM14の
SMIハンドラを実行する(ステップS3)。ここまで
のステップS1〜S3の処理は、CPU11のマイクロ
プログラムによって実行されるものである。Next, the CPU 11 saves the contents (CPU status) of various registers of the CPU 11 when the SMI is input to the CPU state storage area of the SMRAM 50 in a stack format (step S2). And
CPU11 is SMM start address 38000H
Code, that is, address 38000 of SMRAM50
The jump code set in H is fetched, and the SMI handler of the BIOS ROM 14 designated by the jump code is executed (step S3). The processes of steps S1 to S3 up to this point are executed by the microprogram of the CPU 11.
【0078】ジャンプコードの実行によって呼び出され
るSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る(ステップS4)。この処理では、システムコントロ
ーラ12のレジスタ群121にセットされているSMI
ステータス情報が参照される。例えば、グローバルスタ
ンバイタイムアウトによるSMIであれば、SMIハン
ドラは、そのSMIに対応するBIOSのSMIサービ
スルーチン、つまりグローバルスタンバイSMIルーチ
ンの実行をリクエストする(ステップS5)。また、ソ
フトウェアSMIワーニングタイムアウトによるSMI
であれば、SMIハンドラは、ソフトウェアSMIルー
チンの実行をリクエストする(ステップS5)。グロー
バルスタンバイSMIルーチンおよびソフトウェアSM
Iルーチンには、それぞれCPUスリープ制御ルーチン
が含まれている。The SMI handler called by the execution of the jump code checks the SMI occurrence factor to determine what causes the SMI occurrence (step S4). In this processing, the SMI set in the register group 121 of the system controller 12 is set.
Status information is referenced. For example, in the case of SMI due to global standby timeout, the SMI handler requests execution of the BIOS SMI service routine corresponding to the SMI, that is, the global standby SMI routine (step S5). In addition, SMI due to software SMI warning timeout
If so, the SMI handler requests execution of the software SMI routine (step S5). Global Standby SMI Routine and Software SM
Each I routine includes a CPU sleep control routine.
【0079】このように、CPUスリープ制御ルーチン
は、OSやBIOSを一切介さずに、CPU11にSM
I信号を供給することだけで起動することができる。As described above, the CPU sleep control routine causes the CPU 11 to execute the SM without any intervention of the OS and the BIOS.
It can be activated by simply supplying the I signal.
【0080】次に、図6および図7を参照して、スリー
プモードの期間CPU11をストップグラントステート
に維持する場合のCPUスリープ制御動作を説明する。Next, referring to FIGS. 6 and 7, the CPU sleep control operation when the CPU 11 is maintained in the stop grant state during the sleep mode will be described.
【0081】システムのブートロート時には、グローバ
ルスタンバイタイマ122には、システムアイドル検出
のための検出時間がグローバルスタンバイタイムアウト
値としてセットされる。このグローバルスタンバイタイ
ムアウト値は、システムアイドル時に直ぐにCPU11
をスリープモードに移行できるように、比較的短い時
間、好ましくは4秒、8秒、……1分のいずれか(ここ
では、4秒)に指定される。このタイマの初期設定は、
IRTルーチンによって実行される。When the system is booting, the detection time for detecting the system idle is set in the global standby timer 122 as the global standby timeout value. This global standby time-out value is set immediately by the CPU 11 when the system is idle.
Is set to a relatively short time, preferably any one of 4 seconds, 8 seconds, ... The initial setting of this timer is
It is executed by the IRT routine.
【0082】システムスタート後、4秒の時間、タイマ
割込みを除く一切のハードウェア割込み要求信号が発生
されないと、グローバルスタンバイタイマ122からグ
ローバルスタンバイタイムアウト信号が発生される(ス
テップS11)。このグローバルスタンバイタイムアウ
ト信号に応答して、グローバルスタンバイSMI発生回
路125はグローバルスタンバイSMI信号を発生する
(ステップS12)。この時、レジスタ群121には、
グローバルスタンバイタイムアウトによるSMIが発生
したことを示すSMIステータス情報がセットされる。After the system is started, if no hardware interrupt request signal other than the timer interrupt is generated for 4 seconds, the global standby timer 122 generates a global standby timeout signal (step S11). In response to the global standby time-out signal, the global standby SMI generating circuit 125 generates the global standby SMI signal (step S12). At this time, the register group 121 has
SMI status information indicating that an SMI due to global standby timeout has occurred is set.
【0083】CPU11は、SMI信号に応答してSM
Mに入り、グローバルスタンバイSMIルーチンを実行
する(ステップS13)。グローバルスタンバイSMI
ルーチンは、グローバルスタンバイタイムアウト値をオ
ートパワーオフ用の時間、たとえば30分(または1時
間)に設定し直し(ステップS14)、その後、STP
CLKの発生を指示するストップクロックコマンドをレ
ジスタ群121にセットする。The CPU 11 responds to the SMI signal by the SM
M is entered and a global standby SMI routine is executed (step S13). Global standby SMI
The routine resets the global standby timeout value to the time for auto power off, for example, 30 minutes (or 1 hour) (step S14), and then STP.
A stop clock command instructing the generation of CLK is set in the register group 121.
【0084】ストップクロック制御回路129は、その
ストップクロックコマンドに応答して、STPCLKを
発生する(ステップS15)。CPU11は、これに応
答してスリープモードつまりストップグラントステート
に設定される。これにより、CPU11の命令実行は停
止され、グローバルスタンバイSMIルーチンの途中で
その実行が停止される。The stop clock control circuit 129 generates STPCLK in response to the stop clock command (step S15). In response to this, the CPU 11 is set to the sleep mode, that is, the stop grant state. As a result, the instruction execution of the CPU 11 is stopped, and its execution is stopped in the middle of the global standby SMI routine.
【0085】スリープモードにおいてストップブレーク
要因が発生されると(ステップS16)、それがストッ
プブレーク信号としてストップクロック制御回路129
に送られる。このストップブレーク要因信号に応答し
て、ストップクロック制御回路129は、STPCLK
を停止する(ステップS17)。これにより、CPU1
1はストップグラントステートからノーマルステートに
移行し、スリープモードから抜ける。そして、グローバ
ルスタンバイSMIルーチンが次の命令から実行開始さ
れる。When a stop break factor is generated in the sleep mode (step S16), it is used as a stop break signal by the stop clock control circuit 129.
Sent to. In response to this stop break factor signal, the stop clock control circuit 129 causes the STPCLK
Is stopped (step S17). As a result, the CPU1
1 shifts from stop grant state to normal state and exits sleep mode. Then, the global standby SMI routine is started from the next instruction.
【0086】グローバルスタンバイSMIルーチンは、
まず、ストップブレークの要因をチェックし、ストップ
ブレーク要因がシステムイベント(タイマ割込み以外の
ハードウェア割込み要求信号)か、タイマ割込みかを調
べる(ステップS18)。この要因チェックは、割込み
コントローラ16の割込みステータスレジスタなどを参
照することによって行うことができる。The global standby SMI routine is
First, the cause of the stop break is checked to see if the cause of the stop break is a system event (a hardware interrupt request signal other than a timer interrupt) or a timer interrupt (step S18). This factor check can be performed by referring to the interrupt status register of the interrupt controller 16.
【0087】ストップブレーク要因がシステムイベント
の発生であった場合には、グローバルスタンバイSMI
ルーチンは、グローバルスタンバイタイムアウト値を4
秒に戻し(ステップS19)、その後レジューム(RS
M)命令を実行する(ステップS20)。これにより、
SMIによって割り込まれたOSまたはアプリケーショ
ンプログラムにリターンされ、CPU11はスリープモ
ードから通常動作モードに復帰する。そして、そこで、
システムイベントの要因となった割込みに対するサービ
スが実行される。If the cause of the stop break is the occurrence of a system event, the global standby SMI
The routine sets the global standby timeout value to 4
Return to seconds (step S19), then resume (RS
M) The instruction is executed (step S20). This allows
Returning to the OS or application program interrupted by the SMI, the CPU 11 returns from the sleep mode to the normal operation mode. And there,
The service for the interrupt that caused the system event is executed.
【0088】SMM中は、INTRによる割り込み(I
RQ0を含む)はCLIによってマスクされている。ま
た、NMIもマスクされている。During SMM, an interrupt (I
(Including RQ0) is masked by CLI. The NMI is also masked.
【0089】一方、ストップブレーク要因がタイマ割込
み(IRQ0)であった場合には、グローバルスタンバ
イSMIルーチンは、再スリープ用ソフトウェアSMI
を一定時間後に発生させるために、ソフトウェアSMI
タイマ123に時間T2をセットし(ステップS2
1)、その後レジューム(RSM)命令を実行する(ス
テップS20)。これにより、SMIによって割り込ま
れたOSまたはアプリケーションプログラムに一旦リタ
ーンされその中でIRQ0によるタイマ割り込みが処理
されるが、その後すぐに、CPU11は再スリープ用ソ
フトウェアSMIによって再びスリープモードに移行す
る。On the other hand, when the cause of the stop break is the timer interrupt (IRQ0), the global standby SMI routine executes the re-sleep software SMI.
Software SMI to generate
The time T2 is set in the timer 123 (step S2
1) After that, a resume (RSM) instruction is executed (step S20). As a result, the OS or application program interrupted by the SMI is once returned and the timer interrupt by the IRQ0 is processed therein, but immediately thereafter, the CPU 11 shifts to the sleep mode again by the re-sleep software SMI.
【0090】タイマ割込みがブレーク要因として発生し
た場合の再スリープ処理の手順を図7に示す。FIG. 7 shows the procedure of the resleep processing when the timer interrupt occurs as a break factor.
【0091】図7に示されているように、ステップS2
1によってソフトウェアSMIタイマ123にセットさ
れた時間T2だけ経過すると、ソフトウェアSMIタイ
マ123からソフトウェアSMIワーニングタイムアウ
ト信号が発生される(ステップS22)。このソフトウ
ェアSMIワーニングタイムアウト信号に応答して、ソ
フトウェアSMI発生回路126は、再スリープのため
のソフトウェアSMI信号を発生する(ステップS2
3)。この時、レジスタ群121には、ソフトウェアS
MIワーニングタイムアウトによるSMIが発生したこ
とを示すSMIステータス情報がセットされる。As shown in FIG. 7, step S2
When the time T2 set in the software SMI timer 123 by 1 has elapsed, a software SMI warning time-out signal is generated from the software SMI timer 123 (step S22). In response to the software SMI warning time-out signal, the software SMI generation circuit 126 generates a software SMI signal for resleep (step S2).
3). At this time, the software S is stored in the register group 121.
SMI status information indicating that SMI due to MI warning timeout has occurred is set.
【0092】CPU11は、SMI信号に応答してSM
Mに入り、ソフトウェアSMIルーチンを実行する(ス
テップS24)。ソフトウェアSMIルーチンは、再ス
リープのためのソフトウェアSMIであることを確認す
ると、STPCLKの発生を指示するストップクロック
コマンドをレジスタ群121にセットする。ストップク
ロック制御回路129は、そのストップクロックコマン
ドに応答して、STPCLKを発生する(ステップS2
5)。CPU11は、これに応答してスリープモードつ
まりストップグラントステートに再設定される。The CPU 11 responds to the SMI signal by the SM
M is entered and the software SMI routine is executed (step S24). When the software SMI routine confirms that the software SMI is for resleep, it sets a stop clock command instructing the generation of STPCLK in the register group 121. The stop clock control circuit 129 generates STPCLK in response to the stop clock command (step S2).
5). In response to this, the CPU 11 is reset to the sleep mode, that is, the stop grant state.
【0093】図8には、CPU11がクローバルスタン
バイタイムアウトによるSMIによってスリープモード
に移行してから、キーボード割込みなどのシステムイベ
ントによってスリープモードから通常動作モードに復帰
するまでのタイミングチャートが示されている。FIG. 8 shows a timing chart from the time when the CPU 11 shifts to the sleep mode due to the SMI caused by the global standby timeout to the time when the CPU 11 returns from the sleep mode to the normal operation mode due to a system event such as a keyboard interrupt.
【0094】図8において、t1は、CPU11が通常
動作モードの期間において4秒間システムイベントが発
生しないことによって発生するグローバルスタンバイタ
イムアウトの発生タイミングを示す。このタイミングt
1において、CPU11はSMMに入り、その時実行対
象となっているプログラムからグローバルスタンバイS
MIルーチンに制御が移る。t2はSTPCLK信号の
発生タイミングであり、このタイミングt2においてC
PU11はストップグラントステートに入る。t3は、
キーボード割込みなどのシステムイベントの発生タイミ
ングを示す。このタイミングt3において、CPU11
はストップグラントステートからノーマルステートに復
帰する。t4は、RSM命令の実行タイミングであり、
このRSM命令の実行によってグローバルスタンバイS
MIルーチンから割り込み元のプログラムに制御が戻
る。キーボード割り込みなどの割り込み処理は、そこで
行われる。In FIG. 8, t1 indicates the timing of occurrence of the global standby timeout, which occurs when the CPU 11 does not generate a system event for 4 seconds during the normal operation mode. This timing t
1, the CPU 11 enters the SMM, and the program that is being executed at that time receives the global standby S
Control is transferred to the MI routine. t2 is the generation timing of the STPCLK signal, and at this timing t2, C
PU11 enters the stop grant state. t3 is
Indicates the timing of occurrence of a system event such as a keyboard interrupt. At this timing t3, the CPU 11
Returns from the stop grant state to the normal state. t4 is the execution timing of the RSM instruction,
By executing this RSM instruction, the global standby S
Control returns from the MI routine to the interrupt source program. Interrupt processing such as keyboard interruption is performed there.
【0095】図9には、タイマ割込みによるストップブ
レークの発生によって再スリープ処理が実行される場合
のタイミングチャートが示されている。FIG. 9 shows a timing chart in the case where the resleep processing is executed due to the occurrence of the stop break due to the timer interrupt.
【0096】図9において、t1は、CPU11が通常
動作モードの期間において4秒間システムイベントが発
生しないことによって発生するグローバルスタンバイタ
イムアウトの発生タイミングを示す。このタイミングt
1において、CPU11はSMMに入り、その時実行対
象となっているプログラムからグローバルスタンバイS
MIルーチンに制御が移る。t2はSTPCLK信号の
発生タイミングであり、このタイミングt2においてC
PU11はストップグラントステートに入る。t3は、
タイマ割込みの発生タイミングを示す。このタイミング
t3において、CPU11は一旦ストップブレークさ
れ、ストップグラントステートからノーマルステートに
復帰する。t4は、一定時間後に再スリープ用のソウト
ウェアSMIを発生させるための準備処理の実行タイミ
ングを示す。t5は、RSM命令の実行タイミングであ
り、このRSM命令の実行によってグローバルスタンバ
イSMIルーチンから割り込み元のプログラムに一旦制
御が戻る。タイマ割り込み処理は、こちらで行われる。
t6は、再スリープ用のソフトウェアSMIの発生タイ
ミングを示す。このタイミングt6において、CPU1
1は再度SMMに入り、ソフトウェアSMIルーチンを
実行する。t7はSTPCLK信号の発生タイミングで
あり、このタイミングt7においてCPU11はストッ
プグラントステートに入る。t8は、キーボード割込み
などのシステムイベントの発生タイミングを示す。この
タイミングt8において、CPU11はストップグラン
トステートからノーマルステートに復帰する。今回は、
再スリープの設定はされない。t9は、RSM命令の実
行タイミングであり、このRSM命令の実行によってソ
フトウェアSMIルーチンから割り込み元のプログラム
に制御が戻り、CPU11はスリープモードから通常動
作モードに復帰する。キーボード割り込み処理は、こち
らで行われる。In FIG. 9, t1 indicates the timing of occurrence of global standby timeout, which occurs when the system event does not occur for 4 seconds in the CPU 11 in the normal operation mode. This timing t
1, the CPU 11 enters the SMM, and the program that is being executed at that time receives the global standby S
Control is transferred to the MI routine. t2 is the generation timing of the STPCLK signal, and at this timing t2, C
PU11 enters the stop grant state. t3 is
Indicates the timing of timer interrupt generation. At this timing t3, the CPU 11 is temporarily stopped and returns from the stop grant state to the normal state. t4 shows the execution timing of the preparation process for generating the software SMI for resleep after a fixed time. t5 is the execution timing of the RSM instruction, and the control once returns from the global standby SMI routine to the interrupt source program by the execution of this RSM instruction. Timer interrupt processing is performed here.
t6 indicates the timing of generation of the software SMI for resleep. At this timing t6, the CPU1
1 enters SMM again and executes the software SMI routine. t7 is the generation timing of the STPCLK signal, and at this timing t7, the CPU 11 enters the stop grant state. t8 indicates the timing of occurrence of a system event such as a keyboard interrupt. At this timing t8, the CPU 11 returns from the stop grant state to the normal state. This time,
Re-sleep is not set. At t9, the execution timing of the RSM instruction, the execution of this RSM instruction returns control from the software SMI routine to the interrupt source program, and the CPU 11 returns from the sleep mode to the normal operation mode. Keyboard interrupt processing is performed here.
【0097】このように、このスリープ制御システムに
おいては、ストップブレーク要因がシステムイベントの
発生の場合にはCPU11はスリープモードから直ぐに
復帰されるが、タイマ割込みの場合には再スリープ処理
によってスリープモードが継続される。As described above, in this sleep control system, the CPU 11 is immediately returned from the sleep mode when the cause of the stop break is a system event, but in the case of a timer interrupt, the sleep mode is changed by the resleep processing. Continued.
【0098】また、前述のシステムイベントおよびタイ
マ割込みの他、オートパワーオフ用のグローバルスタン
バイタイムアウトによるSMIがストップブレーク要因
として発生される場合もある。In addition to the above-mentioned system event and timer interrupt, an SMI caused by a global standby timeout for auto power off may be generated as a cause of a stop break.
【0099】すなわち、CPU11のスリープモードが
30分継続して維持された場合には、グローバルスタン
バイタイムアウトによるSMIがストップブレ−ク要因
として発生される。That is, when the sleep mode of the CPU 11 is continuously maintained for 30 minutes, the SMI due to the global standby timeout is generated as a stop break factor.
【0100】この場合には、CPU11は図5のステッ
プ19,20の処理によってスリープモードを抜けた
後、グローバルスタンバイSMI信号に対応するグロー
バルスタンバイSMIルーチンを実行する。グローバル
スタンバイSMIルーチンは、レジレタ群121にセッ
トされているのグローバルスタンバイタイムアウト値が
30分であることを確認すると、オートパワーオフルー
チンをコールする。オートパワーオフルーチンは、パワ
ーオン時にシステムがパワーオフされる直前の状態にシ
ステムを復旧するために必要なシステムステータスをメ
インメモリ13にセーブしたのち、メインメモリ13を
除くシステム内の他のほとんどすべてのユニットをパワ
ーオフする。In this case, the CPU 11 executes the global standby SMI routine corresponding to the global standby SMI signal after exiting the sleep mode by the processing of steps 19 and 20 in FIG. When the global standby SMI routine confirms that the global standby timeout value set in the regirator group 121 is 30 minutes, it calls the auto power off routine. The auto power-off routine saves the system status necessary to restore the system to the state just before the system was powered off at the time of power-on in the main memory 13, and then almost everything else in the system except the main memory 13. Power off the unit.
【0101】以上説明したように、このコンピュータシ
ステムにおけるスリープ制御においては、システム内の
各種ハードウェア割込み要求信号IRQ0〜IRQ1
5,NMIが監視され、タイマ割込み(IRQ0)を除
く他のすべての割込み要求信号が所定時間発生されない
時にシステムアイドルが検出され、これによってCPU
11がスリープモードに移行される。このため、CPU
11をスリープモードに移行するためのトリガが増え、
アプリケーションプログラムがキーボード入力待ちにな
った時のCPUアイドルだけでなく、アプリケーション
プログラムがキーボード以外のI/Oデバイスの動作完
了を持っているような場合にも、CPU11をスリープ
モードに移行させることができる。したがって、CPU
11がアイドルであるにもかかわらずCPU11が動作
状態に維持されているという事態を防止でき、CPU1
1の電力消費を十分に低減することができる。As described above, in sleep control in this computer system, various hardware interrupt request signals IRQ0 to IRQ1 in the system are used.
5, NMI is monitored and system idle is detected when all other interrupt request signals except timer interrupt (IRQ0) are not generated for a predetermined time.
11 is shifted to the sleep mode. Therefore, the CPU
The number of triggers for switching 11 to sleep mode has increased,
The CPU 11 can be shifted to the sleep mode not only when the application program waits for keyboard input but also when the application program has completed the operation of an I / O device other than the keyboard. . Therefore, the CPU
It is possible to prevent the situation where the CPU 11 is maintained in the operating state even though the CPU 11 is idle.
The power consumption of 1 can be sufficiently reduced.
【0102】また、システムアイドルの検出には、ハー
ドウェア割込み要求信号が利用されている。このハード
ウェア割込み要求信号RQ0〜IRQ15はシステム内
の各種I/Oデバイスから発生させる物理的な信号であ
り、その検出にはBIOSは一切利用されない。さら
に、スリープシーケンスを含むSMIルーチンをCPU
11へのSMI信号の供給のみによってのみ起動でき、
OSやBIOSはSMIルーチンの起動処理に一切関知
しない。A hardware interrupt request signal is used to detect the system idle. The hardware interrupt request signals RQ0 to IRQ15 are physical signals generated from various I / O devices in the system, and the BIOS is not used for detecting them. Furthermore, the SMI routine including the sleep sequence is executed by the CPU.
It can be activated only by supplying the SMI signal to 11.
The OS and the BIOS have no relation to the startup process of the SMI routine.
【0103】したがって、ハードウェアレベルでシステ
ムアイドルの検出およびスリープ制御を実現することが
でき、OS環境によらずに常に同一のスリープモード機
能を提供することが可能になる。また、BIOSを介さ
ずにハードウェアを直接制御するアプリケ−ションプロ
グラムを実行しているような場合でも、システムアイド
ルの検出およびCPUスリープ制御を行うことができ
る。Therefore, system idle detection and sleep control can be realized at the hardware level, and the same sleep mode function can always be provided regardless of the OS environment. Further, even when the application program for directly controlling the hardware is executed without going through the BIOS, it is possible to detect the system idle and control the CPU sleep.
【0104】さらに、スリープモードにおいてはCPU
11はストップグラントステートに維持されている。こ
のストップグラントステートでは、一切の命令実行が停
止されるので、外部クロックを停止すること無く、CP
Uの消費電力を低減することができる。このため、外部
クロックを動的に切り替えること無くCPUをスリープ
モードから復帰でき、PLL内蔵の高性能CPUを高速
にスリープモードから復帰させることが可能となる。Further, in the sleep mode, the CPU
11 is maintained in the stop grant state. In this stop grant state, the execution of all instructions is stopped, so the CP does not stop without stopping the external clock.
The power consumption of U can be reduced. Therefore, the CPU can be returned from the sleep mode without dynamically switching the external clock, and the high-performance CPU with the built-in PLL can be returned from the sleep mode at high speed.
【0105】以下、スリープモードにおいてストップグ
ラントステートとノーマルステートとをある時間間隔で
交互に繰り返す場合の動作について説明する。このスリ
ープモード制御方式は、スリープモードにおいてCPU
11を完全に停止させておくのではなく、その動作速度
を遅くする方式である。この方式を採用するのは、次の
理由からである。The operation when the stop grant state and the normal state are alternately repeated at a certain time interval in the sleep mode will be described below. In this sleep mode control method, the CPU
This is a method in which the operation speed is slowed down instead of completely stopping 11. The reason for adopting this method is as follows.
【0106】すなわち、このシステムにおいては、4秒
のグローバルスタンバイタイムアウトに応答してCPU
11をスリープモードに設定し、システムイベントの発
生によってスリープモードの解除を行っている。このた
め、例えばメモリのベンチマークテストなどのようにI
/Oを使用せずに演算処理を行うようなプログラムをC
PU11が実行している時に、誤ってCPU11がスリ
ープモードに設定されてしまうという可能性がある。こ
の場合、もしCPU11の動作を完全に停止させてしま
うと、イベント待ちでないにも拘らず、実行させたいプ
ログラムが突然実行停止され、以降何等処理が進まない
という事態が発生する。ユーザがキー入力などを行うこ
とによってスリープモードを解除すればその状態から抜
け出すことは可能であるが、キー入力がなければその状
態からいっこうに抜け出す事はできない。That is, in this system, the CPU responds to the global standby timeout of 4 seconds.
11 is set to the sleep mode, and the sleep mode is released when a system event occurs. Therefore, for example, I
A program that does arithmetic processing without using / O
There is a possibility that the CPU 11 is set to the sleep mode by mistake when the PU 11 is executing. In this case, if the operation of the CPU 11 is completely stopped, the program to be executed may be suddenly stopped and the process may not proceed after that even though it is not waiting for the event. If the user cancels the sleep mode by performing a key input or the like, the user can get out of the state, but without the key input, the user cannot get out of the state at all.
【0107】したがって、このような事態の発生を防止
するためには、スリープモードにおいてCPU11を完
全に停止させておくのではなく、CPU11を低速で動
作させることが好ましい。Therefore, in order to prevent the occurrence of such a situation, it is preferable to operate the CPU 11 at a low speed rather than completely stopping the CPU 11 in the sleep mode.
【0108】このシステムにおいては、以下説明するよ
うに、ストップグラントステートとノーマルステートの
デューティー制御によって、スリープモードにおけるC
PU11の動作速度の低下させている。In this system, as will be described below, the C in the sleep mode is controlled by the duty control of the stop grant state and the normal state.
The operation speed of the PU 11 is reduced.
【0109】すなわち、図10に示されているように、
システムスタート後、4秒の時間の間タイマ割込みを除
く一切のハードウェア割込み要求信号が発生されない
と、グローバルスタンバイタイマ122からグローバル
スタンバイタイムアウト信号が発生される(ステップS
31)。このグローバルスタンバイタイムアウト信号に
応答して、グローバルスタンバイSMI発生回路125
はグローバルスタンバイSMI信号を発生する(ステッ
プS32)。この時、レジスタ群121には、グローバ
ルスタンバイタイムアウトによるSMIが発生したこと
を示すSMIステータス情報がセットされる。That is, as shown in FIG.
If no hardware interrupt request signal other than a timer interrupt is generated for 4 seconds after the system is started, the global standby timer 122 generates a global standby timeout signal (step S).
31). In response to the global standby time-out signal, the global standby SMI generating circuit 125
Generates a global standby SMI signal (step S32). At this time, SMI status information indicating that an SMI has occurred due to the global standby timeout is set in the register group 121.
【0110】CPU11は、SMI信号に応答してSM
Mに入り、グローバルスタンバイSMIルーチンを実行
する(ステップS33)。グローバルスタンバイSMI
ルーチンは、グローバルスタンバイタイムアウト値をオ
ートパワーオフ用の時間、たとえば30分に設定し直し
(ステップS34)、その後、ストップブレーク用ソフ
トウェアSMIを一定時間後に発生させるために、ソフ
トウェアSMIタイマ123に時間T1(例えば、2m
秒)をセットする(ステップS35)。この後、グロー
バルスタンバイSMIルーチンは、STPCLKの発生
を指示するストップクロックコマンドをレジスタ群12
1にセットする。The CPU 11 responds to the SMI signal by the SM
M is entered and the global standby SMI routine is executed (step S33). Global standby SMI
The routine resets the global standby timeout value to a time for auto power-off, for example, 30 minutes (step S34), and then causes the software SMI timer 123 to generate the stop break software SMI after a predetermined time T1. (For example, 2m
Seconds) is set (step S35). After that, the global standby SMI routine sends a stop clock command instructing the generation of STPCLK to the register group 12
Set to 1.
【0111】ストップクロック制御回路129は、その
ストップクロックコマンドに応答して、STPCLKを
発生する(ステップS36)。CPU11は、これに応
答してスリープモードつまりストップグラントステート
に設定される。これにより、CPU11の命令実行は停
止され、グローバルスタンバイSMIルーチンの途中で
その実行が停止される。The stop clock control circuit 129 generates STPCLK in response to the stop clock command (step S36). In response to this, the CPU 11 is set to the sleep mode, that is, the stop grant state. As a result, the instruction execution of the CPU 11 is stopped, and its execution is stopped in the middle of the global standby SMI routine.
【0112】スリープモードに移行してから時間T1が
経過すると、ストップブレーク用ソフトウェアSMIワ
ーニングタイムアウト信号がソフトウェアSMIタイマ
123から発生される(ステップS37)。このソフト
ウェアSMIワーニングタイムアウト信号に応答して、
ソフトウェアSMI発生回路126はストップブレーク
用のソフトウェアSMIを発生する(ステップS3
8)。このソフトウェアSMIは、ストップブレーク信
号としてストップクロック制御回路129に送られると
共に、CPU11に送られる。When the time T1 elapses after shifting to the sleep mode, a software SMI warning time-out signal for stop break is generated from the software SMI timer 123 (step S37). In response to this software SMI warning timeout signal,
The software SMI generation circuit 126 generates a software SMI for stop break (step S3).
8). The software SMI is sent as a stop break signal to the stop clock control circuit 129 and the CPU 11.
【0113】ストップクロック制御回路129は、ST
PCLKを停止する(ステップS39)。これにより、
CPU11はストップグラントステートからノーマルス
テートに移行し、グローバルスタンバイSMIルーチン
が次の命令から実行開始される。The stop clock control circuit 129 uses the ST
PCLK is stopped (step S39). This allows
The CPU 11 shifts from the stop grant state to the normal state, and execution of the global standby SMI routine starts from the next instruction.
【0114】グローバルスタンバイSMIルーチンは、
まず、再スリープ用ソフトウェアSMIを一定時間後に
発生させるために、ソフトウェアSMIタイマ123に
時間T2(例えば、1m秒)をセットし(ステップS4
0)、この後レジューム(RSM)命令を実行する(ス
テップS41)。これにより、SMIによって割り込ま
れたOSまたはアプリケーションプログラムにリターン
される。The global standby SMI routine is
First, in order to generate the re-sleep software SMI after a predetermined time, the software SMI timer 123 is set to time T2 (for example, 1 msec) (step S4).
0), after which a resume (RSM) instruction is executed (step S41). This returns to the OS or application program interrupted by the SMI.
【0115】この後、CPU11は、ステップS38で
発生されたソフトウェアSMIに対応する処理を行うた
めにSMMに入り、ソフトウェアSMIルーチンを実行
する(ステップS42)。しかし、ステップS38で発
生されたソフトウェアSMIはストップブレークのため
に発生されたダミーSMIであるので、これによって呼
び出されたソフトウェアSMIルーチンは何も処理を行
わずにRSM命令を実行し、直ぐに、ダミーSMIによ
って割り込まれたOSまたはアプリケーションプログラ
ムにリターンする(ステップS43)。After that, the CPU 11 enters the SMM in order to perform the processing corresponding to the software SMI generated in step S38, and executes the software SMI routine (step S42). However, since the software SMI generated in step S38 is the dummy SMI generated for the stop break, the software SMI routine called by this executes the RSM instruction without performing any processing, and immediately the dummy SMI is executed. The process returns to the OS or application program interrupted by the SMI (step S43).
【0116】CPU11がノーマルステートに移行して
から時間T2が経過すると、ソフトウェアSMIタイマ
123からソフトウェアSMIワーニングタイムアウト
信号が発生される(ステップS44)。このソフトウェ
アSMIワーニングタイムアウト信号に応答して、ソフ
トウェアSMI発生回路126は、再スリープのための
ソフトウェアSMI信号を発生する(ステップS4
5)。この時、レジスタ群121には、ソフトウェアS
MIワーニングタイムアウトによるSMIが発生したこ
とを示すSMIステータス情報がセットされる。When the time T2 elapses after the CPU 11 shifts to the normal state, the software SMI warning time-out signal is generated from the software SMI timer 123 (step S44). In response to the software SMI warning time-out signal, the software SMI generation circuit 126 generates a software SMI signal for resleep (step S4).
5). At this time, the software S is stored in the register group 121.
SMI status information indicating that SMI due to MI warning timeout has occurred is set.
【0117】CPU11は、SMI信号に応答してSM
Mに入り、ソフトウェアSMIルーチンを実行する(ス
テップS46)。ソフトウェアSMIルーチンは、再ス
リープのためのソフトウェアSMIであることを確認す
ると、再びストップブレーク用ソフトウェアSMIを一
定時間後に発生させるために、ソフトウェアSMIタイ
マ123に時間T1をセットする(ステップS47)。
この後、ソフトウェアSMIルーチンは、STPCLK
の発生を指示するストップクロックコマンドをレジスタ
群121にセットする。The CPU 11 receives the SM signal in response to the SMI signal.
M is entered and the software SMI routine is executed (step S46). When the software SMI routine confirms that the software SMI is for re-sleep, the software SMI timer 123 is set to time T1 in order to generate the stop break software SMI again after a fixed time (step S47).
After this, the software SMI routine returns STPCLK.
A stop clock command for instructing the generation of is set in the register group 121.
【0118】ストップクロック制御回路129は、その
ストップクロックコマンドに応答して、STPCLKを
発生する(ステップS48)。CPU11は、これに応
答してスリープモードつまりストップグラントステート
に設定される。これにより、CPU11の命令実行は停
止され、ソフトウェアSMIルーチンの途中でその実行
が停止される。The stop clock control circuit 129 generates STPCLK in response to the stop clock command (step S48). In response to this, the CPU 11 is set to the sleep mode, that is, the stop grant state. As a result, the instruction execution of the CPU 11 is stopped, and the execution is stopped in the middle of the software SMI routine.
【0119】このようにして、スリープモードにおいて
はストップグラントステートとノーマルステートが交互
に繰り返される。In this way, the stop grant state and the normal state are alternately repeated in the sleep mode.
【0120】そして、例えばストップグラントステート
においてソフトウェアSMI以外の要因によるストップ
ブレークが発生した場合には、次の処理が成される。Then, for example, when a stop break occurs due to a factor other than the software SMI in the stop grant state, the following processing is performed.
【0121】すなわち、ソフトウェアSMI以外の要因
によるストップブレークが発生すると(ステップS4
9)、それがストップブレーク信号としてストップクロ
ック制御回路129に送られる。このストップブレーク
要因信号に応答して、ストップクロック制御回路129
は、STPCLKを停止する(ステップS50)。これ
により、CPU11はストップグラントステートからノ
ーマルステートに移行する。そして、ソフトウェアSM
Iルーチンが次の命令から実行開始される。That is, when a stop break occurs due to a factor other than the software SMI (step S4
9), which is sent to the stop clock control circuit 129 as a stop break signal. In response to this stop break factor signal, the stop clock control circuit 129
Stops STPCLK (step S50). As a result, the CPU 11 shifts from the stop grant state to the normal state. And software SM
The I routine is started from the next instruction.
【0122】ソフトウェアSMIルーチンは、まず、ス
トップブレークの要因をチェックし、ストップブレーク
要因がシステムイベント(タイマ割込み以外のハードウ
ェア割込み要求信号)か、タイマ割込みかを調べる(ス
テップS51)。この要因チェックは、割込みコントロ
ーラ16の割込みステータスレジスタなどを参照するこ
とによって行うことができる。The software SMI routine first checks the cause of the stop break and determines whether the cause of the stop break is a system event (a hardware interrupt request signal other than a timer interrupt) or a timer interrupt (step S51). This factor check can be performed by referring to the interrupt status register of the interrupt controller 16.
【0123】ストップブレーク要因がシステムイベント
の発生であった場合には、ソフトゥエアSMIルーチン
は、グローバルスタンバイタイムアウト値を4秒に戻し
(ステップS52)、その後レジューム(RSM)命令
を実行する(ステップS53)。これにより、SMIに
よって割り込まれたOSまたはアプリケーションプログ
ラムにリターンされ、CPU11はスリープモードから
通常動作モードに復帰する。そして、そこで、システム
イベントの要因となった割込みに対するサービスが実行
される。When the cause of the stop break is the occurrence of a system event, the software SMI routine returns the global standby timeout value to 4 seconds (step S52), and then executes the resume (RSM) instruction (step S53). . This returns to the OS or application program interrupted by the SMI, and the CPU 11 returns from the sleep mode to the normal operation mode. Then, the service for the interrupt that caused the system event is executed there.
【0124】一方、ストップブレーク要因がタイマ割込
み(IRQ0)であった場合には、ソフトウェアSMI
ルーチンは、再スリープ用ソフトウェアSMIを一定時
間後に発生させるために、ソフトウェアSMIタイマ1
23に時間T2をセットし(ステップS54)、その後
レジューム(RSM)命令を実行する。これにより、S
MIによって割り込まれたOSまたはアプリケーション
プログラムに一旦リターンされるが、CPU11は再ス
リープ用ソフトウェアSMIによって直ぐにストップグ
ラントステートに移行する。この結果、スリープモード
が継続される。On the other hand, when the cause of the stop break is the timer interrupt (IRQ0), the software SMI
The routine uses the software SMI timer 1 to generate the software SMI for resleep after a certain time.
The time T2 is set to 23 (step S54), and then the resume (RSM) instruction is executed. This allows S
Although the OS or application program interrupted by MI is once returned, the CPU 11 immediately shifts to the stop grant state by the resleep software SMI. As a result, the sleep mode is continued.
【0125】図11には、CPU11が、ストップグラ
ントとノーマルステートスリープモードが交互に繰り返
されるスリープモードに移行してからキーボード割込み
などのシステムイベントによってそのスリープモードか
ら通常動作モードに復帰するまでのタイミングチャート
が示されている。FIG. 11 shows the timing when the CPU 11 shifts to the sleep mode in which the stop grant and the normal state sleep mode are alternately repeated and then returns from the sleep mode to the normal operation mode due to a system event such as a keyboard interrupt. A chart is shown.
【0126】図11において、t1は、CPU11が通
常動作モードの期間において4秒間システムイベントが
発生しないことによって発生するグローバルスタンバイ
タイムアウトの発生タイミングを示す。このタイミング
t1において、CPU11はSMMに入り、その時実行
対象となっているプログラムからグローバルスタンバイ
SMIルーチンに制御が移る。t2は、一定時間後にス
トップブレーク用のソウトウェアSMIを発生させるた
めの準備処理の実行タイミングを示す。t3は、STP
CLK信号の発生タイミングであり、このタイミングt
3においてCPU11はストップグラントステートに入
る。t4は、ストップブレーク用のソウトウェアSMI
の発生タイミングを示す。タイミングt4で発生された
ソウトウェアSMIはストップブレーク要因となり、C
PU11はストップグラントステートからノーマルステ
ートに戻る。t5は、一定時間後に再スリープ用のソウ
トウェアSMIを発生させるための準備処理の実行タイ
ミングを示す。t6は、RSM命令の実行タイミングで
あり、このRSM命令の実行によってグローバルスタン
バイSMIルーチンから割り込み元のプログラムに制御
が戻る。In FIG. 11, t1 indicates the timing of global standby time-out which occurs when the CPU 11 does not generate a system event for 4 seconds during the normal operation mode. At this timing t1, the CPU 11 enters the SMM, and control is transferred from the program that is being executed at that time to the global standby SMI routine. t2 represents the execution timing of the preparation process for generating the stop break software SMI after a certain period of time. t3 is STP
This is the generation timing of the CLK signal, and this timing t
At 3, the CPU 11 enters the stop grant state. t4 is software SMI for stop break
The occurrence timing of is shown. The software SMI generated at the timing t4 causes a stop break and C
PU11 returns from the stop grant state to the normal state. t5 shows the execution timing of the preparation process for generating the software SMI for resleep after a fixed time. t6 is the execution timing of the RSM instruction, and the execution of this RSM instruction returns control from the global standby SMI routine to the interrupt source program.
【0127】t7は、タイミングt4で発生されたスト
ップブレーク用ソフトウェアSMI(ダミーSMI)に
対応するSMM処理への移行タイミングである。t8
は、ダミーSMIに対応するSMM処理におけるRSM
命令の実行タイミングであり、このタイミングt8で割
り込み元のプログラムに再び制御が戻る。t9は、再ス
リープ用のソフトウェアSMIの発生タイミングを示
す。このタイミングt6において、CPU11は再度S
MMに入り、ソフトウェアSMIルーチンを実行する。At t7, the transition timing to the SMM processing corresponding to the stop break software SMI (dummy SMI) generated at the timing t4 is given. t8
Is the RSM in the SMM process corresponding to the dummy SMI.
This is the execution timing of the instruction, and at this timing t8, the control returns to the interrupt source program. t9 indicates the generation timing of the software SMI for resleep. At this timing t6, the CPU 11 executes S again.
Enter the MM and execute the software SMI routine.
【0128】tAは、タイマ割込みの発生タイミングを
示す。このタイミングtAにおいて、CPU11は一旦
ストップブレークされ、ストップグラントステートから
ノーマルステートに復帰する。tBは、キーボード割込
みなどのシステムイベントの発生タイミングを示す。こ
のタイミングtBにおいて、CPU11はストップグラ
ントステートからノーマルステートに復帰する。tc
は、RSM命令の実行タイミングであり、このRSM命
令の実行によってソフトウェアSMIルーチンから割り
込み元のプログラムに制御が戻り、CPU11はスリー
プモードから通常動作モードに復帰する。TA indicates the timing at which the timer interrupt is generated. At this timing tA, the CPU 11 is temporarily stopped and returns from the stop grant state to the normal state. tB indicates the timing of occurrence of a system event such as a keyboard interrupt. At this timing tB, the CPU 11 returns from the stop grant state to the normal state. tc
Is the execution timing of the RSM instruction, the execution of this RSM instruction returns control from the software SMI routine to the interrupt source program, and the CPU 11 returns from the sleep mode to the normal operation mode.
【0129】このように、このスリープ制御システムに
おいては、CPU11はスリープモードにおいてストッ
プグラントステートとノーマルステートをある時間間隔
で交互に繰り返す。ストップグラントステートにおいて
はCPU11の一切の命令実行は停止されるが、ノーマ
ルステートにおいては命令実行の再開が可能となる。こ
のため、スリープモードの期間、つまりシステムアイド
ルが検出されてからシステムイベントの発生が検出され
るまでの期間、CPU11によるプログラム実行は完全
には停止されず、CPU11は断続的にプログラムを実
行することが可能である。したがって、システムアイド
ルの誤検出により誤ってCPU11がスリープモードに
移行されても、I/O待ちをしないベンマークテストな
どのプログラムが突然実行停止されるといった事態の発
生を防止できる。また、この方式においても、スリープ
モードにおいてはCPU11の平均動作速度を遅くでき
るので、平均的な意味では十分にCPU11の電力消費
を低減することができる。As described above, in this sleep control system, the CPU 11 alternately repeats the stop grant state and the normal state at a certain time interval in the sleep mode. In the stop grant state, all instruction execution of the CPU 11 is stopped, but in the normal state, instruction execution can be restarted. Therefore, during the sleep mode, that is, during the period from the detection of the system idle to the detection of the occurrence of the system event, the program execution by the CPU 11 is not completely stopped and the CPU 11 intermittently executes the program. Is possible. Therefore, it is possible to prevent a situation in which a program such as a Benmark test that does not wait for I / O is suddenly stopped even if the CPU 11 is erroneously shifted to the sleep mode due to a false detection of system idle. Further, also in this method, the average operation speed of the CPU 11 can be slowed in the sleep mode, so that the power consumption of the CPU 11 can be sufficiently reduced in the average sense.
【0130】さらに、ストップブレーク要因としてのソ
フトウェアSMIが発生される前にキーボード割込みな
どのハードウェア割込み要求信号による他のストップブ
レーク要因が発生した場合には、そのハードウェア割込
み要求信号によるストップブレークが先に引き起こされ
る。これにより、サービスを要求しているキーボードコ
ントローラ17や他のI/Oデバイス19に素早くサー
ビスを提供できる。Further, if another stop break factor due to a hardware interrupt request signal such as a keyboard interrupt occurs before the software SMI as a stop break factor occurs, the stop break due to the hardware interrupt request signal is generated. Is triggered first. As a result, the keyboard controller 17 or the other I / O device 19 requesting the service can be quickly provided with the service.
【0131】次に、図12乃至図14を参照して、グロ
ーバルスタンバイSMIルーチンとソフトウェアSMI
ルーチンそれぞれの処理手順を具体的なケースを例にと
って説明する。Next, referring to FIGS. 12 to 14, the global standby SMI routine and the software SMI will be described.
The processing procedure of each routine will be described by taking a specific case as an example.
【0132】図12には、スリープモードにおいてスト
ップグラントステートとノーマルステートをある時間間
隔で交互に繰り返す場合におけるグローバルスタンバイ
SMIルーチンとソフトウェアSMIルーチンそれぞれ
のフローチャートが示されている。FIG. 12 shows a flowchart of each of the global standby SMI routine and the software SMI routine when the stop grant state and the normal state are alternately repeated at a certain time interval in the sleep mode.
【0133】4秒の時間の間タイマ割込みを除く一切の
ハードウェア割込み要求信号が発生されないと、グロー
バルスタンバイSMI信号が発生されてグローバルスタ
ンバイSMIルーチンが実行される。グローバルスタン
バイSMIルーチンは、まず、グローバルスタンバイタ
イムアウト値をオートパワーオフ用の時間、たとえば3
0分に設定し直し(ステップS61)、その後、ストッ
プブレーク用ソフトウェアSMIを一定時間後に発生さ
せるために、ソフトウェアSMIタイマ123に時間T
1をセットする(ステップS62)。この後、グローバ
ルスタンバイSMIルーチンは、システムコントローラ
12にSTPCLKの発生を指示する(ステップS6
3)。When no hardware interrupt request signal is generated except the timer interrupt for the time of 4 seconds, the global standby SMI signal is generated and the global standby SMI routine is executed. The global standby SMI routine first sets the global standby timeout value to the time for auto power off, eg 3
It is reset to 0 minutes (step S61), and thereafter, in order to generate the software SMI for stop break after a predetermined time, the software SMI timer 123 is set to the time T.
1 is set (step S62). After that, the global standby SMI routine instructs the system controller 12 to generate STPCLK (step S6).
3).
【0134】これにより、STPCLKが発生され、そ
こから時間T1が経過するまでの期間CPU11はスト
ップグラントステートに設定される。グローバルスタン
バイSMIルーチンは、ステップS63を実行完了した
時点でその実行が停止される。As a result, the STPCLK is generated, and the CPU 11 is set to the stop grant state until the time T1 elapses thereafter. The execution of the global standby SMI routine is stopped when step S63 is completed.
【0135】スリープモードに移行してから時間T1が
経過すると、ストップブレーク用ソフトウェアSMI信
号が発生される。これにより、CPU11はストップグ
ラントステートからノーマルステートに移行し、グロー
バルスタンバイSMIルーチンが次の命令から実行開始
される。When time T1 elapses after shifting to the sleep mode, a stop break software SMI signal is generated. As a result, the CPU 11 shifts from the stop grant state to the normal state, and the global standby SMI routine is started from the next instruction.
【0136】グローバルスタンバイSMIルーチンは、
まず、再スリープ用ソフトウェアSMIを一定時間後に
発生させるために、ソフトウェアSMIタイマ123に
時間T2をセットし(ステップS64)、この後レジュ
ーム(RSM)命令を実行する(ステップS65)。こ
れにより、SMIによって割り込まれたOSまたはアプ
リケーションプログラムにリターンされる。The global standby SMI routine is
First, in order to generate the re-sleep software SMI after a fixed time, the time T2 is set in the software SMI timer 123 (step S64), and then the resume (RSM) instruction is executed (step S65). This returns to the OS or application program interrupted by the SMI.
【0137】この後、CPU11は、ストップブレーク
用ソフトウェアSMIに対応する処理を行うためにSM
Mに入り、ソフトウェアSMIルーチンを実行する。After that, the CPU 11 executes the SM to execute the processing corresponding to the stop break software SMI.
Enter M and execute the software SMI routine.
【0138】ソフトウェアSMIルーチンは、スリープ
モードの中で発生されたソフトウェアSMIがダミーS
MIであるかことを確認すると、何も処理を行わずにR
SM命令を実行し、直ぐに、ダミーSMIによって割り
込まれたOSまたはアプリケーションプログラムにリタ
ーンする(ステップS71,75)。In the software SMI routine, the software SMI generated in the sleep mode is used as the dummy SMI.
If it is confirmed that it is MI, R is executed without any processing.
The SM command is executed and immediately returns to the OS or application program interrupted by the dummy SMI (steps S71, 75).
【0139】CPU11がノーマルステートに移行して
から時間T2が経過すると、再スリープのためのソフト
ウェアSMI信号が発生され、CPU11はソフトウェ
アSMIルーチンを実行する。ソフトウェアSMIルー
チンは、再スリープのためのソフトウェアSMIである
ことを確認すると(ステップS71)、再びストップブ
レーク用ソフトウェアSMIを一定時間後に発生させる
ために、ソフトウェアSMIタイマ123に時間T1を
セットする(ステップS72)。この後、ソフトウェア
SMIルーチンは、システムコントローラ12にSTP
CLKの発生を指示する(ステップS73)。When the time T2 elapses after the CPU 11 shifts to the normal state, the software SMI signal for resleep is generated, and the CPU 11 executes the software SMI routine. When the software SMI routine confirms that the software SMI is for resleep (step S71), the software SMI timer 123 is set to the time T1 to generate the stop break software SMI again after a certain time (step S71). S72). After this, the software SMI routine sends STP to the system controller 12.
The generation of CLK is instructed (step S73).
【0140】これにより、STPCLKが発生され、そ
こから時間T1が経過するまでの期間CPU11はスト
ップグラントステートに設定される。ソフトウェアSM
Iルーチンは、ステップS73を実行完了した時点でそ
の実行が停止される。As a result, the STPCLK is generated and the CPU 11 is set to the stop grant state during the period until the time T1 elapses. Software SM
The execution of the I routine is stopped when step S73 is completed.
【0141】スリープモードに移行してから時間T1が
経過すると、ストップブレーク用ソフトウェアSMI信
号が発生される。これにより、CPU11はストップグ
ラントステートからノーマルステートに移行し、ソフト
ウェアSMIルーチンが次の命令から実行開始される。When time T1 elapses after shifting to the sleep mode, a stop break software SMI signal is generated. As a result, the CPU 11 shifts from the stop grant state to the normal state, and the software SMI routine is started from the next instruction.
【0142】ソフトウェアSMIルーチンは、まず、再
スリープ用ソフトウェアSMIを一定時間後に発生させ
るために、ソフトウェアSMIタイマ123に時間T2
をセットし(ステップS74)、この後レジューム(R
SM)命令を実行する(ステップS75)。これによ
り、SMIによって割り込まれたOSまたはアプリケー
ションプログラムにリターンされる。First, the software SMI routine causes the software SMI timer 123 to set the time T2 in order to generate the re-sleep software SMI after a predetermined time.
(Step S74), and then resume (R
SM) command is executed (step S75). This returns to the OS or application program interrupted by the SMI.
【0143】この後、CPU11は、ストップブレーク
用ソフトウェアSMIに対応する処理を行うためにSM
Mに入り、ソフトウェアSMIルーチンを実行する。After that, the CPU 11 executes the SM to execute the processing corresponding to the stop break software SMI.
Enter M and execute the software SMI routine.
【0144】ソフトウェアSMIルーチンは、スリープ
モードの中で発生されたソフトウェアSMIがダミーS
MIであることを確認すると、何も処理を行わずにRS
M命令を実行し、直ぐに、ダミーSMIによって割り込
まれたOSまたはアプリケーションプログラムにリター
ンする(ステップS71,75)。In the software SMI routine, the software SMI generated in the sleep mode is used as the dummy SMI.
When it is confirmed that it is MI, RS is executed without any processing.
The M instruction is executed and immediately returns to the OS or application program interrupted by the dummy SMI (steps S71 and 75).
【0145】このようにして、ソフトウェアSMIルー
チンが繰り返し実行されることにより、スリープモード
が継続される。In this way, the sleep mode is continued by repeatedly executing the software SMI routine.
【0146】図13には、CPU11がスリープモード
においてノーマルステートに設定されている状態で、再
スリープ用のソフトウェアSMIが発生される前にキー
ボード割込みなどのシステムイベントが発生した場合の
ソフトウェアSMIルーチンの処理が示されている。FIG. 13 shows a software SMI routine in the case where a system event such as a keyboard interrupt occurs before the software SMI for resleep is generated while the CPU 11 is set to the normal state in the sleep mode. Processing is shown.
【0147】CPU11がノーマルステートに復帰して
から時間T2が経過する前にキーボード割込みが発生す
ると、ソフトウェアSMIタイマ123のカウント値は
システムイベント検出信号によって一旦リセットされ
る。このため、この場合には、CPU11がノーマルス
テートに復帰してからキーボード割込みが発生するまで
の時間αと時間T2との和の時間(T2+α)だけ経過
した時に、ソフトウェアSMIが発生される。If a keyboard interrupt occurs before the time T2 elapses after the CPU 11 returns to the normal state, the count value of the software SMI timer 123 is temporarily reset by the system event detection signal. Therefore, in this case, the software SMI is generated when the time (T2 + α), which is the sum of the time α and the time T2 from when the CPU 11 returns to the normal state to when the keyboard interrupt occurs.
【0148】ソフトウェアSMIルーチンは、時間T2
よりも長い時間経過した後にソフトゥエアSMIが発生
された事実からそれがシステムイベントによるソフトウ
ェアSMIであることを確認すると、再スリープ用のソ
フトウェアSMIタイマの設定をせず、グローバルスタ
ンバイタイムアウト値を4秒に戻し(ステップS8
1)、その後レジューム(RSM)命令を実行する(ス
テップS82)。The software SMI routine takes time T2
After confirming that it is a software SMI caused by a system event from the fact that a software SMI is generated after a longer time, the software SMI timer for resleep is not set and the global standby timeout value is set to 4 seconds. Return (step S8
1) After that, a resume (RSM) instruction is executed (step S82).
【0149】図14には、グローバルスタンバイタイム
アウトによってCPU11がストップグラントステート
に移行してから時間T1が経過する前に、キーボード割
り込みなどのシステムイベントが発生した場合のグロー
バルスタンバイSMIルーチンの処理が示されている。FIG. 14 shows the processing of the global standby SMI routine when a system event such as a keyboard interrupt occurs before the time T1 elapses after the CPU 11 shifts to the stop grant state due to the global standby timeout. ing.
【0150】前述したように、4秒の時間の間タイマ割
込みを除く一切のハードウェア割込み要求信号が発生さ
れないと、グローバルスタンバイSMI信号が発生され
てグローバルスタンバイSMIルーチンが実行される。
グローバルスタンバイSMIルーチンは、まず、グロー
バルスタンバイタイムアウト値をオートパワーオフ用の
時間、たとえば30分に設定し直し(ステップS9
1)、その後、ストップブレーク用ソフトウェアSMI
を一定時間後に発生させるために、ソフトウェアSMI
タイマ123に時間T1をセットする(ステップS9
2)。この後、グローバルスタンバイSMIルーチン
は、システムコントローラ12にSTPCLKの発生を
指示する(ステップS93)。As described above, if no hardware interrupt request signal other than the timer interrupt is generated for the time of 4 seconds, the global standby SMI signal is generated and the global standby SMI routine is executed.
The global standby SMI routine first resets the global standby timeout value to the time for auto power off, for example, 30 minutes (step S9).
1), then stop break software SMI
Software SMI to generate
The time T1 is set in the timer 123 (step S9)
2). After that, the global standby SMI routine instructs the system controller 12 to generate STPCLK (step S93).
【0151】これにより、STPCLKが発生され、そ
こから時間T1が経過するまでの期間CPU11はスト
ップグラントステートに設定される。グローバルスタン
バイSMIルーチンは、ステップS93を実行完了した
時点でその実行が停止される。As a result, the STPCLK is generated, and the CPU 11 is set to the stop grant state during the period until the time T1 elapses from that. The execution of the global standby SMI routine is stopped when step S93 is completed.
【0152】この状態で、スリープモードに移行してか
ら時間T1が経過する前(ここでは、T1−β)にキー
ボード割込みが発生すると、それがストップブレーク要
因となってCPU11はストップグラントステートから
ノーマルステートに移行する。そして、グローバルスタ
ンバイSMIルーチンが次の命令から実行開始される。In this state, if a keyboard interrupt occurs before the time T1 elapses (here, T1-β) after shifting to the sleep mode, it causes a stop break, and the CPU 11 shifts from the stop grant state to the normal state. Transition to state. Then, the global standby SMI routine is started from the next instruction.
【0153】グローバルスタンバイSMIルーチンは、
スリープモードに移行してから時間T1が経過する前に
ストップブレークが発生したという事実からそのストッ
プブレーク要因がシステムイベントであることを確認す
ると、グローバルスタンバイタイムアウト値を4秒に戻
し(ステップS94)、その後レジューム(RSM)命
令を実行する(ステップS95)。The global standby SMI routine is
If it is confirmed that the cause of the stop break is a system event based on the fact that the stop break occurs before the time T1 has elapsed after the sleep mode, the global standby timeout value is returned to 4 seconds (step S94), After that, a resume (RSM) instruction is executed (step S95).
【0154】次に、図15を参照して、グローバルスタ
ンバイSMIルーチンに設けられたスリープ制御ルーチ
ンの実際のフローチャートを説明する。Next, referring to FIG. 15, an actual flowchart of the sleep control routine provided in the global standby SMI routine will be described.
【0155】グローバルスタンバイSMIルーチンは、
そのル−チンの実行が要求されると、まず、レジスタ群
121にセットされているグローバルスタンバイタイム
アウト値がスリープ用の値(4秒)かオートオフ用の値
(30分)かを調べる(ステップS101)。オートオ
フ用の値(30分)がセットされている場合には、グロ
ーバルスタンバイSMIルーチンは、オートオフルーチ
ンをコールし、システムをパワーオフさせる。The global standby SMI routine is
When the execution of the routine is requested, it is first checked whether the global standby timeout value set in the register group 121 is a sleep value (4 seconds) or an auto-off value (30 minutes) (step S101). If the value for auto-off (30 minutes) is set, the global standby SMI routine calls the auto-off routine to power off the system.
【0156】一方、スリープ用の値(4秒)がセットさ
れている場合には、グローバルスタンバイSMIルーチ
ンは、まず、グローバルスタンバイタイムアウト値を変
更し、グローバルスタンバイタイマ122にオートオフ
用の値(30分)をセットする(ステップS102)。
この後、グローバルスタンバイSMIルーチンは、シス
テムタイマ18内蔵のカウンタによって指定されるその
時の時間(t1)を読み取った後、ストップブレーク用
ソフトウェアSMIを一定時間後に発生させるためにソ
フトウェアSMIタイマ123に時間T1をセットする
(ステップS103)。この後、グローバルスタンバイ
SMIルーチンは、STPCLKの発生を指示するスト
ップクロックコマンドをレジスタ群121にセットする
(ステップS104)。On the other hand, when the sleep value (4 seconds) is set, the global standby SMI routine first changes the global standby timeout value, and the global standby timer 122 sets the auto-off value (30). Minute) is set (step S102).
After that, the global standby SMI routine reads the time (t1) at that time designated by the counter built in the system timer 18, and then causes the software SMI timer 123 to generate the stop break software SMI after a predetermined time. Is set (step S103). Thereafter, the global standby SMI routine sets a stop clock command instructing the generation of STPCLK in the register group 121 (step S104).
【0157】次いで、グローバルスタンバイSMIルー
チンは、システムタイマ18内蔵のカウンタによって指
定されるその時の時間(t2)を読み取り、 t2−t1< T1 が成立するか否かを検出し、その検出結果に応じてスト
ップブレーク要因がストップブレーク用ソフトウェアS
MI以外であるか否かを判断する(ステップS10
5)。Next, the global standby SMI routine reads the time (t2) at that time designated by the counter incorporated in the system timer 18, detects whether t2-t1 <T1 is established, and responds to the detection result. Stop break factor is software for stop break S
It is determined whether it is other than MI (step S10).
5).
【0158】式{t2−t1< T1}の不成立は、時
間T1が経過する以前にストップブレークが発生してい
ないこと、つまり、ストップブレーク要因がストップブ
レーク用ソフトウェアSMIであることを意味する。一
方、式{t2−t1< T1}の成立は、時間T1以内
にストップブレークが発生したこと、つまり、ストップ
ブレーク要因がストップブレーク用ソフトウェアSMI
以外の要因によるものであることを意味する。When the expression {t2-t1 <T1} is not satisfied, it means that the stop break has not occurred before the time T1 has passed, that is, the cause of the stop break is the stop break software SMI. On the other hand, the expression {t2-t1 <T1} is satisfied when the stop break occurs within the time T1, that is, the cause of the stop break is the software SMI for stop break.
It means that it is due to factors other than.
【0159】ストップブレーク要因がストップブレーク
用ソフトウェアSMI以外の要因によるものである場合
には、グローバルスタンバイSMIルーチンは、その要
因がタイマ割込みであるか否かを調べる(ステップS1
06)。この要因チェック処理は、例えば、割込みコン
トローラ16のレジスタを参照することにより実現する
ことができる。If the stop break factor is caused by a factor other than the stop break software SMI, the global standby SMI routine checks whether or not the factor is a timer interrupt (step S1).
06). This factor check process can be realized by referring to the register of the interrupt controller 16, for example.
【0160】ストップブレーク要因がタイマ割込みでは
なかった場合には、グローバルスタンバイSMIルーチ
ンは、システムイベント、すなわちIRQ1〜15また
はNMIが発生したと判断し、グローバルスタンバイタ
イムアウト値を4秒に戻し(ステップS108)、その
後レジューム(RSM)命令を実行する(ステップS1
09)。When the cause of the stop break is not the timer interrupt, the global standby SMI routine determines that a system event, that is, IRQ1 to 15 or NMI has occurred, and returns the global standby timeout value to 4 seconds (step S108). ), And then the resume (RSM) instruction is executed (step S1).
09).
【0161】一方、ストップブレーク要因がストップブ
レーク用ソフトウェアSMIまたはタイマ割込みであっ
た場合には、グローバルスタンバイSMIルーチンは、
システムタイマ18内蔵のカウンタによって指定される
その時の時間(t1′)を読み取ってそれを所定のレジ
スタにセットした後、再スリープ用ソフトウェアSMI
を一定時間後に発生させるためにソフトウェアSMIタ
イマ123に時間T2をセットし(ステップS10
7)、その後レジューム(RSM)命令を実行する(ス
テップS109)。なお、ステップS107において
は、SMIルーチンの中でストップブレーク用ソフトウ
ェアSMI(ダミーSMI)が発生されたことを示すフ
ラグをメモリ13やシステムコントローラ12内のレジ
スタなどにセットする処理も行われる。On the other hand, if the cause of the stop break is the stop break software SMI or the timer interrupt, the global standby SMI routine
After reading the time (t1 ') specified by the counter built into the system timer 18 and setting it in a predetermined register, the re-sleep software SMI is set.
To generate the timer after a certain time, the time T2 is set in the software SMI timer 123 (step S10).
7) After that, a resume (RSM) instruction is executed (step S109). In step S107, a process of setting a flag indicating that the stop break software SMI (dummy SMI) is generated in the SMI routine in the memory 13 or the register in the system controller 12 is also performed.
【0162】次に、図16を参照して、ソフトウェアS
MIルーチンに設けられたスリープ制御ルーチンの実際
のフローチャートを説明する。Next, referring to FIG. 16, software S
An actual flowchart of the sleep control routine provided in the MI routine will be described.
【0163】ソフトウェアSMIルーチンは、ソフトウ
ェアSMI信号がCPU11に供給される事によってそ
のル−チンの実行が要求されると、SMIルーチンの中
で発生されたSMI信号か否かに基づき、そのソフトウ
ェアSMI信号がダミーSMI信号か否かを判断する
(ステップS201)。この判断は、メモリ13やシス
テムコントローラ12内のレジスタなどにセットされて
いるフラグをステップS201で参照することによって
実現する事ができる。When the software SMI signal is requested to be executed by the software SMI signal being supplied to the CPU 11, the software SMI routine determines whether or not the SMI signal is generated in the SMI routine. It is determined whether the signal is a dummy SMI signal (step S201). This determination can be realized by referring to the flag set in the memory 13 or the register in the system controller 12 in step S201.
【0164】この後、ソフトウェアSMIルーチンは、
システムタイマ18内蔵のカウンタによって指定される
その時の時間(t2′)を読み取り、 t2′−t1′< T2 が成立するか否かを検出し、その検出結果に応じて、発
生されたSMI信号がシステムイベントの発生によるソ
フトウェアSMIであるか否かを判断する(ステップS
202)。After this, the software SMI routine
The time (t2 ') at that time designated by the counter incorporated in the system timer 18 is read, and it is detected whether or not t2'-t1'<T2 is established, and the generated SMI signal is detected according to the detection result. It is determined whether the software SMI is caused by the occurrence of a system event (step S
202).
【0165】式{t2′−t1′< T2}の成立は、
発生されたSMI信号がシステムイベントの発生による
ものであることを意味する。一方、式{t2′−t1′
<T2}の不成立は、発生されたSMI信号が再スリー
プ用ソフトウェアSMIであることを意味する。The expression {t2'-t1 '<T2} is satisfied as follows.
It means that the generated SMI signal is due to the occurrence of a system event. On the other hand, the expression {t2'-t1 '
The failure of <T2} means that the generated SMI signal is the re-sleep software SMI.
【0166】発生されたSMI信号がシステムイベント
の発生によるものである場合には、ソフトウェアSMI
ルーチンは、グローバルスタンバイタイムアウト値を4
秒に戻し(ステップS208)、その後レジューム(R
SM)命令を実行する(ステップS209)。If the generated SMI signal is due to the occurrence of a system event, the software SMI
The routine sets the global standby timeout value to 4
Return to seconds (step S208), then resume (R
The SM) command is executed (step S209).
【0167】一方、発生されたSMI信号が再スリープ
用ソフトウェアSMIによるものであった場合には、ソ
フトウェアSMIルーチンは、まず、システムタイマ1
8内蔵のカウンタによって指定されるその時の時間(t
1)を読み取った後、ストップブレーク用ソフトウェア
SMIを一定時間後に発生させるためにソフトウェアS
MIタイマ123に時間T1をセットする(ステップS
203)。この後、ソフトウェアSMIルーチンは、S
TPCLKの発生を指示するストップクロックコマンド
をレジスタ群121にセットする(ステップS20
4)。On the other hand, if the generated SMI signal is due to the re-sleep software SMI, the software SMI routine first sets the system timer 1
8 The current time (t
After reading 1), software SMI for generating a stop break software SMI after a certain time is generated.
The time T1 is set in the MI timer 123 (step S
203). After this, the software SMI routine returns S
A stop clock command instructing the generation of TPCLK is set in the register group 121 (step S20).
4).
【0168】次いで、ソフトウェアSMIルーチンは、
システムタイマ18内蔵のカウンタによって指定される
その時の時間(t2)を読み取り、 t2−t1< T1 が成立するか否かを検出し、その検出結果に応じてスト
ップブレーク要因がストップブレーク用ソフトウェアS
MI以外であるか否かを判断する(ステップS20
5)。Then, the software SMI routine
The time (t2) at that time specified by the counter built in the system timer 18 is read, and it is detected whether or not t2-t1 <T1 is satisfied, and the stop break factor is the stop break software S according to the detection result.
It is determined whether it is other than MI (step S20).
5).
【0169】式{t2−t1< T1}の不成立は、時
間T1が経過する前にストップブレークが発生していな
いこと、つまり、ストップブレーク要因がストップブレ
ーク用ソフトウェアSMIであることを意味する。一
方、式{t2−t1< T1}の成立は、時間T1以内
にストップブレークが発生したこと、つまり、ストップ
ブレーク要因がストップブレーク用ソフトウェアSMI
以外の要因によるものであることを意味する。The failure of the expression {t2-t1 <T1} means that a stop break has not occurred before the time T1 has passed, that is, the cause of the stop break is the stop break software SMI. On the other hand, the expression {t2-t1 <T1} is satisfied when the stop break occurs within the time T1, that is, the cause of the stop break is the software SMI for stop break.
It means that it is due to factors other than.
【0170】ストップブレーク要因がストップブレーク
用ソフトウェアSMI以外の要因によるものである場合
には、ソフトウェアSMIルーチンは、その要因がタイ
マ割込みであるか否かを調べる(ステップS206)。
この要因チェック処理は、例えば、割込みコントローラ
16のレジスタなどを参照することにより実現すること
ができる。If the cause of the stop break is due to a factor other than the software SMI for stop break, the software SMI routine checks whether or not the factor is a timer interrupt (step S206).
This factor check process can be realized by referring to, for example, the register of the interrupt controller 16.
【0171】ストップブレーク要因がタイマ割込みでは
なかった場合には、ソフトウェアSMIルーチンは、シ
ステムイベント、すなわちIRQ1〜15またはNMI
が発生したと判断し、グローバルスタンバイタイムアウ
ト値を4秒に戻し(ステップS208)、その後レジュ
ーム(RSM)命令を実行する(ステップS209)。If the cause of the stop break is not a timer interrupt, the software SMI routine executes a system event, that is, IRQ1-15 or NMI.
Is determined to have occurred, the global standby timeout value is returned to 4 seconds (step S208), and then the resume (RSM) instruction is executed (step S209).
【0172】一方、ストップブレーク要因がストップブ
レーク用ソフトウェアSMIまたはタイマ割込みであっ
た場合には、ソフトウェアSMIルーチンは、システム
タイマ18内蔵のカウンタによって指定されるその時の
時間(t1′)を読み取ってそれを所定のレジスタにセ
ットした後、再スリープ用ソフトウェアSMIを一定時
間後に発生させるためにソフトウェアSMIタイマ12
3に時間T2をセットし(ステップS207)、その後
レジューム(RSM)命令を実行する(ステップS20
9)。なお、ステップS207においては、ダミーSM
Iである事を示す前述のフラグのセット処理も実行され
る。On the other hand, when the cause of the stop break is the software SMI for stop break or the timer interrupt, the software SMI routine reads the time (t1 ') at that time designated by the counter built in the system timer 18 and Is set in a predetermined register, and a software SMI timer 12 is generated in order to generate a software SMI for resleep after a predetermined time.
The time T2 is set to 3 (step S207), and then the resume (RSM) instruction is executed (step S20).
9). In step S207, the dummy SM
The above-mentioned flag setting process indicating that the flag is I is also executed.
【0173】以上説明したように、この実施例では、ス
リープモードにおいてストップグラントステートとノー
マルステートを交互に繰り返すことにより、例えばメモ
リのベンチマークテストの実行中などにCPU11を誤
ってスリープモードに設定してしまった場合でも、その
プログラム実行が突然停止されてしまったまま処理がい
っこうに進まないという事態の発生を防止する事ができ
る。As described above, in this embodiment, the stop grant state and the normal state are alternately repeated in the sleep mode so that the CPU 11 is set to the sleep mode by mistake while the memory benchmark test is being executed. Even if it happens, it is possible to prevent the situation in which the processing does not proceed further while the execution of the program is suddenly stopped.
【0174】なお、この実施例では、システムイベント
やストップブレークイベントの発生要因をシステムタイ
マ18の時間を計ってチェックしたが、例えば、システ
ムコントローラ12内に専用のタイマを設けたり、ある
いはシステムイベントの発生を示す情報をレジスタなど
に保持できるようにシステムコントローラ12を構成す
れば、システムタイマ18を利用せずにそれら要因のチ
ェックを行うことができる。In this embodiment, the cause of the system event or the stop break event is checked by measuring the time of the system timer 18. However, for example, a dedicated timer is provided in the system controller 12, or a system event If the system controller 12 is configured so that the information indicating the occurrence can be held in the register or the like, it is possible to check those factors without using the system timer 18.
【0175】また、この実施例では、SMIハンドラ、
ソフトウェアSMIルーチンおよびグローバルスタンバ
イSMIルーチンを含むシステム管理プログラムをBI
OSROM14に格納し、SMRAM50のアドレス3
8000HのジャンプコードによってBIOS ROM
14のSMIハンドラを呼び出すように構成したが、こ
の発明では、CPU11が最初にフェッチするアドレス
38000Hのコードによってシステム管理プログラム
が呼び出されることが肝要であるので、SMRAM50
におけるアドレス38000Hから始まる領域にSMI
ハンドラを格納し、そのSMIハンドラによってBIO
S ROM14のソフトウェアSMIルーチンおよびグ
ローバルスタンバイSMIルーチンを呼び出すように構
成することも可能である。また、ソフトウェアSMIル
ーチンおよびグローバルスタンバイSMIルーチンを含
むシステム管理プログラム全体をSMRAM50に格納
しても良いことはもちろんである。Also, in this embodiment, the SMI handler,
BI system management program including software SMI routine and global standby SMI routine
Stored in OSROM14, address 3 of SMRAM50
BIOS ROM by jump code of 8000H
Although the SMI handler 14 is called, in the present invention, it is important that the system management program is called by the code at the address 38000H that the CPU 11 fetches first.
SMI in the area starting from address 38000H in
Stores the handler, and the SMI handler stores the BIO
It can also be configured to call the SROM 14 software SMI routines and global standby SMI routines. Further, it goes without saying that the entire system management program including the software SMI routine and the global standby SMI routine may be stored in the SMRAM 50.
【0176】さらに、前述のSMBASEレジスタを使
って、アドレス38000Hを他の値に変更することも
可能である。Further, it is possible to change the address 38000H to another value by using the above-mentioned SMBASE register.
【0177】[0177]
【発明の効果】以上詳記したように、この発明によれ
ば、OS環境によらずに常に同一のスリープモードを実
現でき、且つCPUの電力消費を十分に低減することが
できる。また、PLL内蔵の高性能CPUを使用した場
合でも、そのCPUをスリープモードから高速に復帰さ
せることが可能となる。As described in detail above, according to the present invention, the same sleep mode can always be realized regardless of the OS environment, and the power consumption of the CPU can be sufficiently reduced. Even when a high-performance CPU with a built-in PLL is used, the CPU can be quickly returned from the sleep mode.
【図1】この発明の一実施例に係わるコンピュータシス
テムの構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of a computer system according to an embodiment of the present invention.
【図2】同実施例のシステムに設けられたCPUの3つ
の動作ステートを説明するための図。FIG. 2 is a diagram for explaining three operation states of a CPU provided in the system of the embodiment.
【図3】同実施例のシステムに設けられたシステムイベ
ント検出回路の動作原理を説明するための図。FIG. 3 is a diagram for explaining the operation principle of a system event detection circuit provided in the system of the embodiment.
【図4】同実施例のシステムに設けられたCPUにSM
Iが発行された時のメモリマップを説明するための図。FIG. 4 is a block diagram showing an example of a SM provided in a CPU provided in the system of the embodiment.
The figure for demonstrating the memory map when I is issued.
【図5】同実施例のシステムに設けられたCPUにSM
Iが発行された時のCPUの動作を説明するための図。FIG. 5 is a block diagram showing a CPU provided in the system of the embodiment in which SM is provided.
The figure for demonstrating operation | movement of CPU when I is issued.
【図6】同実施例のシステムにおいてスリープモードの
期間CPUをストップグラントステートに維持する場合
の第1のCPUスリープ制御動作を説明するための図。FIG. 6 is a diagram for explaining a first CPU sleep control operation when the CPU is maintained in the stop grant state during the sleep mode in the system of the embodiment.
【図7】図6のCPUスリープ制御動作においてタイマ
割込みによるストップブレークが発生した場合の再スリ
ープ処理を説明するための図。FIG. 7 is a diagram for explaining re-sleep processing when a stop break occurs due to a timer interrupt in the CPU sleep control operation of FIG.
【図8】図6のCPUスリープ制御動作においてCPU
がスリープモードに移行してから通常動作モードに復帰
するまでの動作を説明するタイミングチャート。8 is a CPU in the CPU sleep control operation of FIG.
3 is a timing chart for explaining the operation from when the device shifts to the sleep mode until it returns to the normal operation mode.
【図9】図6のCPUスリープ制御動作においてタイマ
割込みによるストップブレークイベントの発生に応答し
て実行される再スリープ処理を説明するタイミングチャ
ート。9 is a timing chart illustrating a re-sleep process executed in response to the occurrence of a stop break event due to a timer interrupt in the CPU sleep control operation of FIG.
【図10】同実施例のシステムにおいてスリープモード
の期間CPUをストップグラントステートとノーマルス
テートに交互に切り替える第2のCPUスリープ制御動
作を説明するための図。FIG. 10 is a diagram for explaining a second CPU sleep control operation for alternately switching the CPU between the stop grant state and the normal state during the sleep mode in the system of the embodiment.
【図11】図10のCPUスリープ制御動作においてC
PUがスリープモードに移行してから通常動作モードに
復帰するまでの動作を説明するタイミングチャート。FIG. 11 is a block diagram showing C in the CPU sleep control operation of FIG.
7 is a timing chart illustrating the operation of the PU from returning to the sleep mode to returning to the normal operation mode.
【図12】図10のCPUスリープ制御動作を実現する
ために必要なグローバルスタンバイSMIルーチンとソ
フトウェアSMIルーチンそれぞれの処理手順を示すフ
ローチャート。12 is a flowchart showing a processing procedure of each of a global standby SMI routine and a software SMI routine necessary for realizing the CPU sleep control operation of FIG.
【図13】図12のソフトウェアSMIルーチンによっ
て実行されるシステムイベント発生時の処理手順を示す
フローチャート。13 is a flowchart showing a processing procedure when a system event occurs, which is executed by the software SMI routine of FIG.
【図14】図12のグローバルスタンバイSMIルーチ
ンによって実行されるシステムイベント発生時の処理手
順を示すフローチャート。14 is a flowchart showing a processing procedure when a system event occurs, which is executed by the global standby SMI routine of FIG.
【図15】図10のCPUスリープ制御動作を実現する
ためのグローバルスタンバイSMIルーチンの詳細な手
順を示すフローチャート。15 is a flowchart showing a detailed procedure of a global standby SMI routine for realizing the CPU sleep control operation of FIG.
【図16】図10のCPUスリープ制御動作を実現する
ためのソフトウェアSMIルーチンの詳細な手順を示す
フローチャート。16 is a flowchart showing a detailed procedure of a software SMI routine for realizing the CPU sleep control operation of FIG.
11…CPU、12…システムコントローラ、13…メ
インメモリ、14…BIOS ROM、16…割込みコ
ントローラ、17…キーボードコントローラ、18…シ
ステムタイマ、19…他のI/Oデバイス、121…レ
ジスタ群、122…グローバルスタンバイSMIタイ
マ、123…ソフトウェアSMIタイマ、124…シス
テムイベント検出回路、125…グローバルスタンバイ
SMI発生回路、126…ソフトウェアSMI発生回
路、129…ストップブレーク制御回路。11 ... CPU, 12 ... System controller, 13 ... Main memory, 14 ... BIOS ROM, 16 ... Interrupt controller, 17 ... Keyboard controller, 18 ... System timer, 19 ... Other I / O device, 121 ... Register group, 122 ... Global standby SMI timer, 123 ... Software SMI timer, 124 ... System event detection circuit, 125 ... Global standby SMI generation circuit, 126 ... Software SMI generation circuit, 129 ... Stop break control circuit.
Claims (9)
メインメモリと、 システム管理プログラムを呼び出すための命令を格納
し、前記メインメモリのアドレス空間の一部にマッピン
グされるオーバーレイメモリと、 前記メインメモリのプログムを実行するプログラム実行
モードと前記オーバーレイメモリの命令を実行するシス
テム管理モードとを有し、所定の割込み入力端子に供給
される割込み信号に応答して前記プログラム実行モード
から前記システム管理モードにスイッチするCPUと、 前記CPUによって呼び出された前記システム管理プロ
グラムに含まれるスリープ制御ルーチンを実行し、前記
CPUの動作状態を第1ステートからそれよりも電力消
費の少ない第2ステートに切り替えるCPUスリープ手
段と、 コンピュータシステム内で発生される前記CPUへの各
種ハードウェア割込み要求信号を監視し、予め設定され
た第1のタイムアウト時間前記全てのハードウェア割込
み要求信号が発生されない時システムアイドルを検出す
るシステムアイドル検出手段と、 このシステムアイドル検出手段によるシステムアイドル
の検出に応答して前記CPUの割込み入力端子にシステ
ムアイドルを示す割込み信号を供給し、前記CPUスリ
ープ手段に前記CPUの動作状態の切り替え処理を実行
させる手段とを具備することを特徴とするコンピュータ
システム。1. A main memory in which various programs to be executed are stored, an overlay memory in which an instruction for calling a system management program is stored, and which is mapped in a part of an address space of the main memory, and the main memory. Of the program execution mode for executing the program and a system management mode for executing the instruction of the overlay memory, and in response to an interrupt signal supplied to a predetermined interrupt input terminal, the program execution mode is changed to the system management mode. CPU for switching, and CPU sleep means for executing a sleep control routine included in the system management program called by the CPU to switch the operating state of the CPU from a first state to a second state with less power consumption. And the computer System idle detecting means for monitoring various hardware interrupt request signals to the CPU, which are generated in the system, and for detecting a system idle when a preset first timeout time is not generated for all the hardware interrupt request signals. Means for supplying an interrupt signal indicating a system idle to the interrupt input terminal of the CPU in response to the detection of the system idle by the system idle detecting means, and for causing the CPU sleep means to execute the switching processing of the operating state of the CPU A computer system comprising:
部クロックを生成するPLLを内蔵し、命令が実行され
るノーマルステートと、命令実行および前記外部クロッ
クが停止されるクロック停止ステートと、前記ノーマル
ステートと前記クロック停止ステートとの中間に位置
し、命令実行が停止され前記外部クロックの停止が可能
なクロック停止許可ステートとを含む動作ステートを有
し、クロック停止許可を示すクロック停止信号の発生に
応答して前記ノーマルステートから前記クロック停止許
可ステートに移行され、前記クロック停止信号の発生停
止に応答して前記クロック停止許可ステートからノーマ
ルステートに復帰されるCPUであって、 前記CPUスリープ手段は、前記CPUに前記クロック
停止信号を供給して、前記CPUの動作ステートをノー
マルステートからクロック停止許可ステートに切り替え
る手段を含むことを特徴とする請求項1記載のコンピュ
ータシステム。2. The CPU includes a PLL that generates an internal clock according to an external clock, and has a normal state in which an instruction is executed, a clock stop state in which instruction execution and the external clock are stopped, and the normal state. State and an intermediate state between the clock stop state and an operation state including a clock stop enable state in which instruction execution is stopped and the external clock can be stopped. A CPU that responds to the transition from the normal state to the clock stop permitting state and returns to the normal state from the clock stop permitting state in response to the stop of the generation of the clock stop signal, wherein the CPU sleep means comprises: By supplying the clock stop signal to the CPU, the CPU Computer system according to claim 1, characterized in that it comprises means for switching the operation state from the normal state to the clock stop permission state.
される前記割込み信号に応答して、前記システムアイド
ル検出手段のタイムアウト時間を前記第1のタイムアウ
ト時間よりも長い第2のタイムアウト時間に変更する手
段と、 前記CPUが前記第2ステートの状態において前記第2
タイムアウト時間のタイムアウトによってシステムアイ
ドルを示す割込み信号が前記CPUに供給された際、前
記CPUによって呼び出された前記システム管理プログ
ラムに含まれるオートパワーオフルーチンを実行してシ
ステムをパワーオフする手段とをさらに含むことを特徴
とする請求項1記載のコンピュータシステム。3. The CPU sleep means, in response to the interrupt signal generated by the timeout of the first timeout time, sets the timeout time of the system idle detecting means to a second time longer than the first timeout time. Means for changing the time-out time of the second CPU in the second state in the state of the second state.
And a means for powering off the system by executing an auto power-off routine included in the system management program called by the CPU when an interrupt signal indicating a system idle is supplied to the CPU due to the timeout of the timeout time. The computer system of claim 1, comprising:
成するPLLを内蔵し、命令が実行されるノーマルステ
ートと、命令実行および前記外部クロックが停止される
クロック停止ステートと、前記ノーマルステートと前記
クロック停止ステートとの中間に位置し、命令実行が停
止され前記外部クロックの停止が可能なクロック停止許
可ステートとを含む動作ステートを有し、クロック停止
許可を示すクロック停止信号の発生に応答して前記ノー
マルステートから前記クロック停止許可ステートに移行
され、前記クロック停止信号の発生停止に応答して前記
クロック停止許可ステートからノーマルステートに復帰
されるCPUと、 前記クロック停止信号を発生するクロック停止信号発生
手段と、 前記CPUによって実行される各種プログラムを格納す
るメインメモリと、 システム管理プログラムを呼び出すための命令を格納し
前記メインメモリのアドレス空間の一部にマッピングさ
れるオーバーレイメモリであって、前記CPUの所定の
割込み入力端子に割込み信号が供給された際に前記CP
Uによって前記命令が実行されるオーバーレイメモリ
と、 前記CPUによって呼び出される前記システム管理プロ
グラムに含まれるスリープ制御ルーチンを実行し、前記
クロック停止信号発生手段にクロック停止信号の発生を
指示するCPUスリープ手段と、 コンピュータシステム内で発生される前記CPUへの各
種ハードウェア割込み要求信号を監視し、予め設定され
た時間前記全てのハードウェア割込み要求信号が発生さ
れない時システムアイドルを検出するシステムアイドル
検出手段と、 このシステムアイドル検出手段によるシステムアイドル
の検出に応答して前記CPUの割込み入力端子にシステ
ムアイドルを示す割込み信号を供給し、前記CPUスリ
ープ手段にクロック停止信号発生指示の発行処理を実行
させる手段とを具備することを特徴とするコンピュータ
システム。4. A PLL for generating an internal clock according to an external clock is built-in, a normal state in which an instruction is executed, a clock stop state in which instruction execution and the external clock are stopped, a normal state and the clock. It has an operation state located in the middle of the stop state and including a clock stop permission state in which instruction execution is stopped and the external clock can be stopped, and in response to generation of a clock stop signal indicating clock stop permission, A CPU that shifts from the normal state to the clock stop enable state and returns from the clock stop enable state to the normal state in response to the stop of the generation of the clock stop signal, and a clock stop signal generation unit that generates the clock stop signal. And various programs executed by the CPU An overlay memory that stores a main memory to be stored and an instruction to call a system management program and is mapped to a part of an address space of the main memory, and an interrupt signal is supplied to a predetermined interrupt input terminal of the CPU. When the above CP
An overlay memory in which the instruction is executed by U, and a CPU sleep means for executing a sleep control routine included in the system management program called by the CPU and instructing the clock stop signal generating means to generate a clock stop signal. System idle detecting means for monitoring various hardware interrupt request signals generated in the computer system to the CPU, and detecting a system idle when all the hardware interrupt request signals are not generated for a preset time, In response to the detection of the system idle by the system idle detecting means, an interrupt signal indicating the system idle is supplied to the interrupt input terminal of the CPU to cause the CPU sleep means to execute a process of issuing a clock stop signal generation instruction. Prepare Computer system characterized in that.
監視し、前記ハードウェア割込み要求信号の1つが発生
された時に前記クロック停止信号発生手段に前記クロッ
ク停止信号の発生を停止させるためのストップブレーク
信号を発生し、前記CPUをクロック停止許可ステート
からノーマルステートに復帰させるストップブレーク手
段をさらに具備することを特徴とする請求項4記載のコ
ンピュータシステム。5. A stop break signal for monitoring the various hardware interrupt request signals, and causing the clock stop signal generation means to stop the generation of the clock stop signal when one of the hardware interrupt request signals is generated. 5. The computer system according to claim 4, further comprising a stop break means for generating the CPU and returning the CPU from the clock stop permission state to the normal state.
のノーマルステートへの復帰に応答して、前記ストップ
ブレーク信号の発生要因が一定時間間隔でハードウェア
割込み要求信号を発生するシステムタイマからのタイマ
割込みか否かを決定する手段と、前記タイマ割込みが前
記ストップブレーク信号の発生要因であることが決定さ
れた時、前記クロック停止信号発生手段にクロック停止
信号の発生を指示して前記CPUを再びクロック停止許
可ステートに移行させる手段とをさらに含むことを特徴
とする請求項5記載のコンピュータシステム。6. The CPU sleep means is the CPU.
In response to the return to the normal state of, the means for determining whether or not the cause of the stop break signal is a timer interrupt from a system timer that generates a hardware interrupt request signal at fixed time intervals, and the timer interrupt. And further comprising means for instructing the clock stop signal generation means to generate a clock stop signal when the cause of the stop break signal is determined, and for causing the CPU to shift to the clock stop enable state again. The computer system of claim 5, wherein the computer system is a computer system.
のタイムアウト時間経過した際に前記CPUのクロック
停止許可ステートの終了を示すストップブレーク信号を
発生し、前記CPUをクロック停止許可ステートからノ
ーマルステートに復帰させるストップブレーク手段と、 前記CPUがクロック停止許可ステートに移行されてか
ら所定時間経過した時に前記第1の割込み信号が発生さ
れるように、前記システムアイドルを示す割込み信号に
応答して前記ストップブレーク手段に所定のタイムアウ
ト時間をセットする手段をさらに具備することを特徴と
する請求項4記載のコンピュータシステム。7. A stop break signal indicating the end of the clock stop enable state of the CPU is generated when the time-out period has elapsed after the time-out period was set, and the CPU is returned from the clock stop enable state to the normal state. Stop break means, and the stop break means in response to the interrupt signal indicating the system idle so that the first interrupt signal is generated when a predetermined time has elapsed after the CPU has entered the clock stop enable state. 5. The computer system according to claim 4, further comprising means for setting a predetermined time-out time in the.
のタイムアウト時間経過した際に前記CPUのノーマル
ステートの終了を示す割込み信号を前記CPUの割込み
入力端子に供給して、前記CPUスリープ手段にクロッ
ク停止信号発生指示の発行処理を実行させる割込み信号
発生手段と、 前記ストップブレーク信号の発生によって前記CPUが
ノーマルステートに復帰されてから所定時間経過した時
に前記ノーマルステートの終了を示す割込み信号が発生
されるように、前記ストップブレーク信号の発生に応答
して前記割込み信号発生手段に所定のタイムアウト時間
をセットする手段とをさらに具備することを特徴とする
請求項7記載のコンピュータシステム。8. An interrupt signal indicating the end of the normal state of the CPU is supplied to the interrupt input terminal of the CPU when the time-out period has elapsed after the time-out period has been set, and a clock stop signal is sent to the CPU sleep means. Interrupt signal generating means for executing generation instruction issuing processing; and an interrupt signal indicating the end of the normal state when a predetermined time has elapsed after the CPU was returned to the normal state by the generation of the stop break signal. 8. The computer system according to claim 7, further comprising means for setting a predetermined timeout time in the interrupt signal generating means in response to the generation of the stop break signal.
成するPLLを内蔵し、命令が実行されるノーマルステ
ートと、命令実行および前記外部クロックが停止される
クロック停止ステートと、前記ノーマルステートと前記
クロック停止ステートとの中間に位置し、命令実行が停
止され前記外部クロックの停止が可能なクロック停止許
可ステートとを含む動作ステートを有し、クロック停止
許可を示すクロック停止信号の発生に応答して前記ノー
マルステートから前記クロック停止許可ステートに移行
され、前記クロック停止信号の発生停止に応答して前記
クロック停止許可ステートからノーマルステートに復帰
されるCPUと、 前記クロック停止信号を発生するクロック停止信号発生
手段と、 前記CPUによって実行される各種プログラムを格納す
るメインメモリと、 システム管理プログラムを呼び出すための命令を格納し
前記メインメモリのアドレス空間の一部にマッピングさ
れるオーバーレイメモリであって、前記CPUの所定の
割込み入力端子に割込み信号が供給された際に前記CP
Uによって前記命令が実行されるオーバーレイメモリ
と、 前記CPUによって呼び出される前記システム管理プロ
グラムに含まれるスリープ制御ルーチンを実行し、前記
クロック停止信号発生手段にクロック停止信号の発生を
指示するCPUスリープ手段と、 コンピュータシステム内で発生される前記CPUへの各
種ハードウェア割込み要求信号を監視し、予め設定され
た時間前記全てのハードウェア割込み要求信号が発生さ
れない時システムアイドルを検出するシステムアイドル
検出手段と、 このシステムアイドル検出手段によるシステムアイドル
の検出に応答して前記CPUの割込み入力端子にシステ
ムアイドルを示す割込み信号を供給し、前記CPUスリ
ープ手段にクロック停止信号発生指示の発行処理を実行
させる手段と、 前記各種ハードウェア割込み要求信号を監視し、前記ハ
ードウェア割込み要求信号の1つが発生された時システ
ムイベントの発生を検出するシステムイベント検出手段
と、 このシステムイベント検出手段によるシステムイベント
の発生検出に応答して、前記クロック停止信号発生手段
に前記クロック停止信号の発生を停止させ、前記CPU
をクロック停止許可ステートからノーマルステートに復
帰させる手段とを具備し、 前記CPUスリープ手段は、 前記システムアイドルを示す割込み信号の発生から前記
システムイベント検出手段によるシステムイベントの発
生検出までの期間前記CPUがクロック停止許可ステー
トとノーマルステートを交互に繰り返すように、前記ク
ロック停止信号発生手段に前記クロック停止信号を断続
的に発生させる手段を含むことを特徴するコンピュータ
システム。9. A PLL for generating an internal clock according to an external clock is built in, a normal state in which an instruction is executed, a clock stop state in which instruction execution and the external clock are stopped, the normal state and the clock. It has an operation state located in the middle of the stop state and including a clock stop permission state in which instruction execution is stopped and the external clock can be stopped, and in response to generation of a clock stop signal indicating clock stop permission, A CPU that shifts from the normal state to the clock stop enable state and returns from the clock stop enable state to the normal state in response to the stop of the generation of the clock stop signal, and a clock stop signal generation unit that generates the clock stop signal. And various programs executed by the CPU An overlay memory that stores a main memory to be stored and an instruction to call a system management program and is mapped to a part of an address space of the main memory, and an interrupt signal is supplied to a predetermined interrupt input terminal of the CPU. When the above CP
An overlay memory in which the instruction is executed by U, and a CPU sleep means for executing a sleep control routine included in the system management program called by the CPU and instructing the clock stop signal generating means to generate a clock stop signal. System idle detecting means for monitoring various hardware interrupt request signals generated in the computer system to the CPU, and detecting a system idle when all the hardware interrupt request signals are not generated for a preset time, A means for supplying an interrupt signal indicating system idle to the interrupt input terminal of the CPU in response to the detection of the system idle by the system idle detecting means, and causing the CPU sleep means to execute a process of issuing a clock stop signal generation instruction; Each of the above And a system event detecting means for monitoring the generation of a system event when one of the hardware interrupt request signals is generated, and a system event detecting means for responding to the detection of the occurrence of the system event by the system event detecting means. To stop the clock stop signal generation means from generating the clock stop signal,
To a normal state from the clock stop permission state, the CPU sleep means is configured such that the CPU sleeps during a period from generation of an interrupt signal indicating the system idle to detection of occurrence of a system event by the system event detection means. A computer system comprising: means for causing the clock stop signal generating means to intermittently generate the clock stop signal so as to alternately repeat the clock stop enable state and the normal state.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35116593A JP3302149B2 (en) | 1993-12-28 | 1993-12-28 | Computer system |
| US08/364,720 US5706407A (en) | 1993-12-28 | 1994-12-27 | System for reallocation of memory banks in memory sized order |
| US08/893,926 US6016548A (en) | 1993-12-28 | 1997-07-15 | Apparatus for controlling duty ratio of power saving of CPU |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35116593A JP3302149B2 (en) | 1993-12-28 | 1993-12-28 | Computer system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07200111A true JPH07200111A (en) | 1995-08-04 |
| JP3302149B2 JP3302149B2 (en) | 2002-07-15 |
Family
ID=18415496
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP35116593A Expired - Fee Related JP3302149B2 (en) | 1993-12-28 | 1993-12-28 | Computer system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3302149B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018511104A (en) * | 2015-03-27 | 2018-04-19 | インテル・コーポレーション | Techniques for improved hybrid sleep power management |
-
1993
- 1993-12-28 JP JP35116593A patent/JP3302149B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018511104A (en) * | 2015-03-27 | 2018-04-19 | インテル・コーポレーション | Techniques for improved hybrid sleep power management |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3302149B2 (en) | 2002-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6016548A (en) | Apparatus for controlling duty ratio of power saving of CPU | |
| JP3075957B2 (en) | Computer system | |
| JP3943665B2 (en) | Sleep control method and event notification method | |
| JP3798476B2 (en) | Computer system and cache memory power-down control method in the system | |
| JP3442100B2 (en) | Method of saving a system image of a computer system and computer system implementing the method | |
| US5546568A (en) | CPU clock control unit | |
| USRE39284E1 (en) | Method and apparatus for reducing power consumption in a system using power management software capable of placing multiple configurable system devices in a reduced power consumption state | |
| KR100370368B1 (en) | Acpi compliant computer system for entering sleep mode when internal temperature exceeds predetermined temperature and method thereof | |
| US5369771A (en) | Computer with transparent power-saving manipulation of CPU clock | |
| US6832311B2 (en) | Information processing system and resume processing method used in the system | |
| US6055643A (en) | System management method and apparatus for supporting non-dedicated event detection | |
| JPH0458047B2 (en) | ||
| US6681336B1 (en) | System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process | |
| JPH07101386B2 (en) | Battery operated computer and its initial setting method | |
| JP2002215597A (en) | Multiprocessor device | |
| JP3253881B2 (en) | Computer system and hibernation control method in the system | |
| JP3943764B2 (en) | Computer system and CPU performance control method thereof | |
| US6321289B1 (en) | Apparatus for automatically notifying operating system level applications of the occurrence of system management events | |
| JPH1153049A (en) | Computer system | |
| CN101281416A (en) | Method for ensuring system shutdown completion | |
| JP3302149B2 (en) | Computer system | |
| JPH11110085A (en) | Portable computer | |
| JP3961669B2 (en) | Computer system and data transfer control method | |
| JPH11102238A (en) | Computer system and suspend control method in the system | |
| JP2001117663A (en) | Computer system and processing speed control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |