JPH1097341A - シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置 - Google Patents

シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置

Info

Publication number
JPH1097341A
JPH1097341A JP9161459A JP16145997A JPH1097341A JP H1097341 A JPH1097341 A JP H1097341A JP 9161459 A JP9161459 A JP 9161459A JP 16145997 A JP16145997 A JP 16145997A JP H1097341 A JPH1097341 A JP H1097341A
Authority
JP
Japan
Prior art keywords
address
signal
nap
shadow
prefetch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9161459A
Other languages
English (en)
Inventor
Vimi Pandey
パンデイ ビミ
Kenneth Ma
マ ケニス
Leo Jiang
ジャン レオ
Scott Shaw
シャウ スコット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Semiconductor Corp
Original Assignee
National Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of JPH1097341A publication Critical patent/JPH1097341A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 電力消費を制限するためにプロセサにおける
クロック停止信号の印加を制御する。 【解決手段】 システム制御器がアドレス、一次的及び
二次的システム動作を表わす信号、及び少なくとも1個
のナップタイムアウト信号を受取る。インタラプトアド
レス又はプログラムされているアドレスがトラップされ
且つシャドウアドレスとして格納される。現在のアドレ
スをシャドウアドレスと比較する。アドレスが一致する
とナップモードをトリガし、スロットリング期間中にク
ロック停止信号を印加することが可能とする。スロット
リング期間中にプログラム可能なデューティサイクルを
有するクロック停止信号を印加することは、一次的及び
二次的動作の検知及び実行に必要な処理を可能とする。
一次的又は二次的動作が検知された場合又はナップタイ
マーが期間満了した場合にクロック停止信号が取除かれ
るか又は禁止される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パソコン電力節約
及び管理技術に関するものであって、更に詳細には、電
力を節約するためにプロセサへのクロック停止信号の印
加を制御する方法及び装置に関するものである。
【0002】
【従来の技術】バッテリ駆動型小型パソコンの急増及び
省エネルギに関連する実際的及び環境上の問題の益々高
まる一般大衆の意識が、コンピュータ装置における電力
の節約に対する要求を発生させる可能性がある。小型の
コンピュータの場合には、熱管理及びバッテリ寿命が駆
動電力節約の努力に関連している。デスクトップコンピ
ュータ装置においては、省エネルギ即ち電力節約は、例
えばアメリカ合衆国環境保護庁(EPA)のエネルギス
ター(EnergyStar)スタンダード等の政府及
び業界スタンダードと歩調を合わせる天然資源の節約に
関連している。
【0003】ポータブル即ち小型のコンピュータは、バ
ッテリ寿命が充電間に妥当な使用期間をサポートする場
合にのみ有用なものである場合がある。ユーザが長い作
業又は一連の作業を完了することを可能とするために充
分な期間が必要とされる場合がある。最近のポータブル
コンピュータのバッテリは、例え8時間使用できるもの
として定格されている場合であっても、CPUを連続的
に稼動させる集中的な作業を行なう場合には充電間にお
いて2,3時間の寿命を有するに過ぎない場合がある。
熱暴走に関する懸念は、長期間の高い処理負荷の下での
速いクロック速度環境において増大される場合がある。
【0004】クロック速度は電力消費と直接的な関係を
有するものであることが当該技術分野において公知であ
る。1993年10月19日付で発行されており且つ引
用によって本明細書に取込む米国特許第5,254,8
88号(Lee et al.)は、33MHzで動作
するインテル486CPUが約4ワットの電力を散逸さ
せる場合があることを開示している。該特許は、待機状
態期間中にクロックを低速化させることにより電力を節
約する技術を開示している。然しながら、該特許に開示
されている技術は、システムが幾つかの電力節約モード
のうちの1つにある間に、プログラムされたインターバ
ル内においてクロック停止信号の選択的印加を達成する
ことが可能なものでない場合がある。
【0005】例えば、グラフィカルユーザインターフェ
ース(GUI)を有するマイクロソフトウインドウズ等
の最近の動作環境は、例えアイドル期間中であっても、
GUIを有することのないオペレーティングシステムと
比較してCPUからより多くの処理を必要とする場合が
ある。従って、GUIをベースとしたオペレーティング
システムを稼動しているポータブルなコンピュータは、
GUIをベースとすることのないオペレーティングシス
テムがアイドル状態にある場合と比較して、アイドル状
態にある場合により短いバッテリ寿命となる場合があ
る。例えばディスプレイ、ディスクドライブ及びキーボ
ード等のその他のシステムコンポーネントもプロセサ源
へアクセスする場合にシステム電力を消費する。これら
のシステムコンポーネントをモニタし且つそれらに遅滞
なく処理資源を供給する能力を維持しながらこれらのシ
ステムコンポーネントによって消費される電力を減少さ
せることが望ましい場合がある。
【0006】プロセサをより完全にディスエーブル即ち
動作不能状態とさせるスリープモード等の従来の電力節
約方法は、ウエークアップ(起床)待ち時間が長いとい
う欠点を有している場合がある。プロセサが完全にウエ
ークアップ即ち起床するまで、システム周辺機器を使用
することが不可能な場合がある。システム周辺機器にプ
ロセサ機能に対するより速いアクセスを与えることによ
りウエークアップ待ち時間を短縮させることが可能であ
る。ウエークアップ待ち時間を短縮させることは、シス
テムがウエークアップ即ち起床する場合にユーザにとっ
てより寛容性のある待機時間とさせることを可能とす
る。更に、ある処理要求は、完全なウエークアップを必
要とすることなしに、バックグラウンドにおいて処理す
ることが可能な場合がある。スリープモード期間中にあ
る動作を処理することを可能とすることにより、ウエー
クアップ即ち起床をトリガさせるためにより広範な動作
を使用することが可能である。
【0007】インタラプトは当該技術分野において公知
であり且つユーザ入力からか又はプロセサの動作を必要
とする周辺機器からのいずれかからシステム動作が存在
する場合に発生される場合がある。周辺装置は、インタ
ラプト要求を介してプロセサからの動作を要求する場合
がある。インタラプト要求は、インタラプトサービスル
ーチン(ISR)の実行を介して処理することが可能で
ある。インタラプトが発生すると、プロセサは現在のプ
ログラムの実行を停止し且つISRの実行を開始する。
この点については、シャンリー(Shanley)及び
アンダーソン(Anderson)著「ISAシステム
アーキテクチュア(ISA System Archi
tecture)」、18章、331−366頁、マイ
ンドシェアプレス(MindShare Pres
s)、1991,1993に記載されており、この文献
を引用により本明細書に取込む。プロセサはインタラプ
ト要求に応答し且つ関連するインタラプト番号を得るこ
とによってどの装置又はソフトウエアプロセスがその要
求を開始させたかを決定する。インタラプト番号によっ
てインタラプトの識別が決定されると、そのISRのア
ドレスはインタラプトベクトルテーブル(IVT)から
見つけ出し且つそのISRを実行することが可能であ
る。ISRが実行を終了すると、プロセサがインタラプ
タトされた時に格納した位置において実行を再開するこ
とが可能である。
【0008】インタラプトは、キーボード入力、ディス
クドライブアクセス、周辺アクセス及びその他のシステ
ムイベントに関連するシステム動作から発生させること
が可能である。逆に、その他のインタラプトはシステム
が動作状態にない即ち不活性状態にあることを表わすこ
とが可能である。ソフトウエアインタラプトに対するI
SRはBIOS ROM内にプログラムさせ且つ始動時
にIVT内の対応するインタラプト番号エントリ内にロ
ードさせることが可能である。IVTは実モードアドレ
ス空間00000H乃至003FFH内に常駐すること
が可能である。プロテクトモードにおいては、IVTは
メモリ内のどこかへリロケート即ち再配置させることが
可能である。
【0009】ある従来のシステムは、1994年12月
27日付で発行された米国特許第5,377,344号
(Stager et al.)におけるように、選択
的なメモリ動作モニタを行ない且つシャドウRAM内に
値を格納する。RAM内に値を格納することは当該技術
分野において公知である。1995年1月31日付で発
行された米国特許第5,386,552号(Garne
y)は、大量記憶システムにおいて処理状態を保存する
ためのシステムを開示している。該特許のシステムにお
いては、シャドウインタラプトベクトルは、ナップ(居
眠り)トリガイベントとして開示されておらず、且つい
ずれのインタラプトもナップトリガイベントとして開示
されているものではないものと思料される。
【0010】例えば、一般的なDOS固定ソフトウエア
インタラプトINT16Hは公知である。キーボードサ
ービスインタラプトとして知られているインタラプトI
NT16Hは、トムホーガン(Tom Hogan)著
「プログラマーのPCソースブック(The Prog
rammer’s PC Sourcebook)」、
第2版、マイクロソフトプレス、1991年の文献に記
載されており、それを引用によって本明細書に取込む。
ユーザからの入力が存在しない場合には、キーボード動
作を探してDOSがINT16H上でループ動作する。
このようなINT16Hに関するシステムループ動作自
身を検知することを使用してスリープモードをトリガさ
せることが可能である。この後の動作はシステムをウエ
ークアップ即ち起床させるべくトリガさせることが可能
である。然しながら、前述したように、作業を開始する
か又は再開させるためにシステムがウエークアップ即ち
起床するのに長い時間がかかる場合が多々ある。次い
で、処理が回復されると、全ての処理資源を使用するこ
とが可能である。
【0011】このようなアプローチは非効率的なもので
ある場合がある。何故ならば、ウエークアップイベント
自身によってウエークアップ動作が検知されると、すぐ
さま処理を行なう要求が存在する場合があるからであ
る。その他のシステムイベント又は動作が短い時間を除
いてすぐさま処理を行なうことを要求する場合があり、
一方更にその他のシステムイベント又は動作がバックグ
ラウンドで処理を行なうことを要求する場合がある。更
に、スリープモードを活性化させるのには小さすぎるが
電力節約を行なうために使用する可能性のある小さなイ
ンターバル(間隔)がイベント間に存在する場合があ
る。このような完全なプロセサ資源が使用可能である比
較的短い時間インターバル期間中に、処理を行なうこと
の必要性がない場合がある。
【0012】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、コンピュータシステムにおける電力を節約
する装置及び方法を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明は、アドレス信号
と、一次的及び二次的動作を表わす信号と、少なくとも
1つのナップ(nap、即ち居眠り)タイムアウト信号
とを含む信号を受取るコンピュータシステムにおいて設
けられるシステム制御器において実現される。シャドウ
アドレスと一致するアドレスがナップ信号の発生をトリ
ガする。そのナップ信号はクロック停止信号を発生する
停止クロックステートマシンへ印加させることが可能で
ある。そのクロック停止信号はプロセサへ印加されて処
理を中断させる。複数個のモードタイマーが、いつコン
ピュータシステムが段階的により低いパワーモードへ前
進することが可能であるかを決定する。何らかの一次的
又は二次的動作が論理回路へ印加されると、少なくとも
2つのモードのうちの1つにおいてナップ信号を脱活性
化させる。ナップ信号が脱活性化されると、クロック停
止信号が取除かれる。ある場合においては、クロック停
止信号が取除かれると、全速力での処理が再開する。
【0014】本発明の好適実施形態においては、バスか
らデコードされた現在のアドレスがレジスタ内に格納さ
れている前のアドレスから1だけオフセットされている
場合に、プリフェッチ検知回路がプリフェッチ検知信号
を発生することが可能である。プリフェッチを行なう場
合に、プロセサはメモリ内の隣接した連続的な位置から
所定量の情報を読出すことが可能である。連続的なメモ
リ位置は、前のアドレスよりも1だけ大きな値でアドレ
スされる特性を有している。このような内在的な特性
は、プロセサが実行ではなくプリフェッチを行なってい
ることを表わす場合がある。
【0015】プリフェッチ期間中にアクセスされた情報
はプリフェッチラインと呼ばれる。プリフェッチライン
の長さは、任意的に変化することが可能であり且つアド
レス動作上の制限を受ける場合がある。本実施形態にお
いては、プリフェッチラインは32バイトとすることが
可能である。現在のアドレスか又は前のアドレスのいず
れかとしてプリフェッチ検知回路内に存在することによ
って決定されてプリフェッチラインの最初の8バイト内
においてインタラプトアドレスの一致が見出された場合
には、プリフェッチ検知信号が発生される。アドレスバ
ス上に新たなアドレスが表われると、現在のアドレスは
レジスタ内に格納させ且つ次のサイクル期間中における
比較目的のための前のアドレスとなることが可能であ
る。現在のアドレスが前のアドレス+1に等しい場合に
は、プリフェッチ検知信号が発生され且つナップ信号の
発生を禁止する論理回路へ印加される。プリフェッチラ
イン内のインタラプトアドレスはプリフェッチ期間中に
ナップ信号を活性化させ且つ誤ったナップトリガ動作を
行なうことによって性能を劣化させることが防止されて
いる。
【0016】この好適な実施形態においては、スロット
リング回路が設けられており、それは選択的にイネーブ
ル即ち動作可能状態とされて、スロットリング期間中ク
ロック停止信号の印加を制御する。スロットリング期間
に対応する値はスロットリング回路へ結合されているレ
ジスタ内に格納することが可能である。特定のデューテ
ィサイクルのクロック停止信号がスロットリング期間中
に印加される。クロック停止信号の現在のデューティサ
イクルに対応する値がスロットリング回路に結合されて
いる別のレジスタ内に格納される。クロック停止信号
は、スロットリングがディスエーブル即ち動作不能状態
とされると、継続的に印加させることが可能である。
【0017】前述した如く、システム動作が存在する場
合に、ユーザ入力からか又はプロセサの動作を要求する
周辺装置からのいずれかからインタラプトを発生するこ
とが可能である。典型的なシステム動作は、本発明にお
いては、一次的及び二次的動作として特性づけられてい
る。一次的又は二次的な動作は、スロットリング期間中
に発生することが可能である。一次的動作の発生はシス
テムを完全にオンのモードへ復帰させることが可能であ
る。二次的動作は、その動作を処理させ且つその処理の
完了した後に前の電力節約モードへシステムを復帰させ
ることが可能である。スロットリング期間中に周期的な
対応でクロック停止信号を印加することは、このような
一次的及び二次的動作の検知が劣化されることがないこ
とを確保している。複数個の省エネルギ即ち電力節約モ
ードは、システムが瞬間的に処理状態へ復帰することを
可能としている。電力管理モードは、完全にオン(Fu
lly−On)、節約(Conserve)、ドーズ
(Doze)、スリープ(Sleep)、ディープスリ
ープ(Deep−Sleep)、中断(Suspen
d)等を包含している。
【0018】
【発明の実施の形態】本明細書の記載は本発明の好適実
施例を例示的に示すに過ぎないものである。本発明方法
及び装置は本発明の技術的範囲を逸脱することなしにそ
の他の実施例においても同様の態様で適用可能であるこ
とを理解すべきである。
【0019】一般的に、本発明は、一次的及び二次的な
イベントを検知し且つ処理することを可能としながら、
パソコンシステムにおいて電力を節約している。本発明
においては、夫々のモードタイマの時間が経過するに伴
い、一次的な動作が存在しない場合に、複数個の電力節
約モードが段階的に達成される。ある一次的及び二次的
イベントが検知されると、必要な処理を行なうために完
全な又は部分的なウエークアップ(起床)がトリガされ
る。システムが既に完全にオンのモードにあり且つ一次
的又は二次的な動作が存在しない場合には、システムの
不動作状態を表わすプログラムされているアドレスの発
生によってナップ(居眠り)モードがトリガされる。
【0020】図1は、メモリエリア100内のアドレス
空間110内に位置されているインタラプトベクトルテ
ーブルの一例を示している。本発明のコンピュータシス
テムがパワーオンから実行を開始すると、一般的なソフ
トウエアインタラプト用のISRアドレスが夫々のイン
タラプト番号にしたがってインタラプトテーブルアドレ
ス内にロードされる。インタラプト番号に対応するIS
Rアドレスは、BIOS始動ルーチンによって0000
0Hから003FFHへのアドレス空間110内へロー
ドされる。インタラプトエントリ140はインタラプト
番号INT16Hに対応している。インタラプトエント
リ140用のインタラプトエントリアドレス120は0
0058Hである。インタラプトエントリアドレス12
0は、例えばINT16H等のインタラプト番号に4を
乗算することによって計算することが可能である。数値
4は、一般的にセグメント+オフセット形態として呼ば
れているコードセグメント(CS)+命令ポインタ(I
P)形態でISRアドレスを形成するバイト数に対応し
ている。インタラプトアドレス120における2つの最
大桁バイトはCS値を表わしている。2つの最小桁バイ
トはIP値を表わしている。例えば、インタラプト14
0はINT16Hに対応している。16に4を乗算し且
つ16進数へ変換させて、00058Hのインタラプト
テーブルアドレス120を計算することが可能である。
好適実施例においては、インタラプトアドレス120は
CSとIP値を包含している。本発明においては、イン
タラプト番号即ちインタラプトベクトルのCS及びIP
値はレジスタにおいてプログラムすることが可能であ
り、且つ入力アドレスがこれらのうちのいずれかと一致
する場合には、ナップトリガが発生する。
【0021】アドレス120の4バイトは、ISR15
0のアドレスを形成するために使用されたCS及びIP
値を有している。ISR150は、INT16Hが現在
のインタラプト番号として識別される場合には、CSP
INTサイクルの一部として実行することが可能であ
る。ISRアドレス130に位置されているISR15
0は、インタラプトアドレス120の3番目及び4番目
のバイトから読取られたCS値に16を乗算し、次いで
インタラプトアドレス120の1番目及び2番目のバイ
トから得られたIP値へ加算することによって計算する
ことが可能である。前述した如く、ISR150は、一
般的なソフトウエアインタラプト用のBIOSによっ
て、始動期間中にISRアドレス130へロードさせる
ことが可能である。ISR150は、又、アプリケーシ
ョン又はその他のソフトウエアによってロードさせるこ
とも可能である。ISR150のローディングは、特定
のインタラプト番号に対するカスタムISRを標準的な
ISRと置換させることを可能とする。その他のISR
はその他のアドレスにロードすることが可能であり、且
つこれらのISRアドレスは、始動時においてBIOS
により、アプリケーションにより、又は使用していない
インタラプト又は固定されているインタラプトをフック
させる場合にその他のソフトウエアによって、対応する
インタラプト番号アドレスにおいてインタラプトベクト
ルテーブル内にロードされる。
【0022】図2において、ナップシャドウイング(n
ap shadowing)及び検知ブロック220
は、ナップシャドウイング、即ち居眠り明暗付け及び検
知論理を実現しており且つNAP_DETECT信号2
05を発生する。NAP_DETECT信号205はラ
ッチ223のSETピンへ入力され且つNAP_ACT
IVE信号207を高状態へセットする。NAP_DE
TECT信号205は、更に、ナップタイマー(居眠り
タイマー)のENピンへも入力され、該タイマーはNA
P_TIMER_REGレジスタ203内にプログラム
されている値へのカウント動作を開始する。プログラム
されているカウントに到達すると、TIMEOUT信号
206が高状態へ移行し、そのことはNAP_ACTI
VE信号207をリセットさせる。ACTIVITY_
DET信号204は一次的又は二次的なアクティビティ
即ち動作が存在することを表わし且つナップタイマー2
21及びNAP_ACTIVEラッチ223の両方をリ
セットさせることが可能である。NAP_ACTIVE
信号207はストップクロック(STOPCLOCK)
ステートマシン224へ入力される。NAP_ACTI
VE信号が高状態である間、STOPCLOCK信号2
08は、スロットリング即ち絞り動作がイネーブルされ
ている場合にはスロットリング即ち絞り動作が行なわ
れ、又は、LESSSTOPがイネーブルされている場
合にはアサート即ち活性化された状態が維持される。好
適実施例においては、32ビットアドレス構成が示され
ている。しかしながら、本発明をより大きなアドレス能
力を有するシステムにおいて使用することも可能であ
る。
【0023】図3は本発明のナップシャドウイングステ
ートマシン、プリフェッチステートマシン及びナップ検
知回路を示した概略図である。現在のアドレスADDR
[31:2]601がゲート625へ入力される。例え
ばINT16Hに対する58H等のインタラプトベクト
ルアドレスを表わすINT_VEC_ADDR[31:
2]602もゲート625へ入力される。ADDR[3
1:2]601とINT_VEC_ADDR[31:
2]602との間に一致が存在する場合には、論理出力
がゲート625からゲート626へ入力される。M/I
O#信号603は、現在のアドレスがメモリアドレスで
あるか又はI/Oアドレスであるかを表わし且つゲート
626へ入力される。W/R#信号330は、現在のア
ドレスが書込中であるか又は読取中であるかを表わし且
つゲート262へ入力される。ゲート626の論理出力
はINDIRECT_VECTOR_MATCH信号6
06であり、それはナップシャドウイングステートマシ
ン627へ入力される。
【0024】M/IO#信号603及びW/R#信号3
30が高状態である場合に、ADDR[31:2]60
1とINT_VEC_ADDR[31:2]602との
間に一致が存在する場合にINDIRECT_VECT
OR_MATCH信号606が発生される。ナップシャ
ドウイングステートマシン627はADS#信号308
を受取り、該信号はいつ現在のアドレスADDR[3
1:2]が有効であるかを表わす。BE[7:0]#信
号605は、バイトがイネーブルし且つデータのどのバ
イトが書き込まれているかをデコードすることを表わ
し、且つナップシャドウイングステートマシン627へ
入力される。REQ_CONFIG信号321はコンフ
ィギュレーション(形態)ステートマシンからのもので
あり且つインタラプト用のISRルーチンのCS及びI
P値から構成されるデータがいつ成功裡にシャドウ処理
されたかを表わす。
【0025】コンフィギュレーションステートマシン
は、全体的なシステム制御器に対する種々の機能を取扱
い且つ本発明に関するシャドウイング(shadowi
ng)機能に特に専用のものではない。従って、このス
テートマシンによるデータのシャドウイング機能につい
てのみ詳細に説明する。
【0026】本発明においてシャドウイングという用語
は、データバスからのインタラプトベクトルの値をシャ
ドウレジスタ内へローディングすることを意味してい
る。ナップシャドウイングステートマシン627は、い
つインタラプトベクトルアドレスがロードされたか又は
変更されたかを検知し且つコンフィギュレーションステ
ートマシンをしてTRAP_ADDR_UPPER60
7又はTRAP_ADDR_LOWER320の活性化
に基づいて本発明のデータバスの上側又は下側の二重ワ
ードをロードさせる。本発明におけるシャドウされたデ
ータは16ビットのCS値と16ビットのIP値から構
成される32ビットであるので、シャドウアドレスを形
成するデータをラッチするために4個の8ビットラッチ
が使用されている。このことは、それらが一度に1バイ
トづつ書込まれる場合であっても、該論理がCS及びI
P値をシャドウすることを可能としている。
【0027】コンフィギュレーションステートマシン
は、シャドウ処理したアドレス値をCONFIG_SH
ADOW_REG[31:0]326内に格納し且つ8
ビットブロック毎に4つのラッチ610,617,61
8,619の各々へ入力させることが可能である。CO
NFIG_SHADOW_REG[7:0]628はラ
ッチ610へ入力され且つシャドウ処理したアドレス即
ちシャドウアドレスの最小桁8ビットを有している。I
PL_WREN信号609は、バイトイネーブルBE
[7:]#をデコードすることによっていつシャドウ処
理したアドレス命令ポインタ(IP)低バイト値の書込
動作があるかを表わし且つラッチ610を介してラッチ
610のQ出力端へCONFIG_SHADOW_RE
G[7:0]628をクロック動作させる。CONFI
G_SHADOW_REG[15:0]611はラッチ
617へ入力され且つシャドウ処理したアドレスの次の
最大桁8ビットを有している。IPH_WREN信号6
12は、バイトイネーブルBE[7:0]#をデコード
することによっていつシャドウ処理したアドレス命令ポ
インタ(IP)高バイト値の書込操作があるかを表わし
且つラッチ617を介してラッチ617のQ出力端へC
ONFIG_SHADOW_REG[15:8]611
をクロック動作させる。POD_IP_REG[15:
0]信号328は、シャドウ処理したアドレスの結合し
たIP低バイト及び高バイト値を表わし且つ加算器62
1へ入力される。
【0028】CONFIG_SHADOW_REG[2
3:16]613はラッチ618へ入力され且つシャド
ウ処理されたアドレス即ちシャドウアドレスの次の最大
桁8ビットを有している。CSL_WREN信号614
は、いつシャドウアドレスコードセグメント(CS)低
バイト値の書込操作があるかを表わし且つラッチ618
を介してラッチ618のQ出力端へCONFIG_SH
ADOW_REG[23:16]613をクロック動作
させる。CONFIG_SHADOW_REG[31:
24]615はラッチ619へ入力され且つシャドウア
ドレスの最大桁8ビットを有している。CSH_WRE
N信号616は、いつシャドウアドレスコードセグメン
ト(CS)高バイト値の書込操作があるかを表わし且つ
ラッチ619を介してラッチ619のQ出力端へCON
FIG_SHADOW_REG[31:24]615を
クロック動作させる。POD_CS_REG[15:
0]信号327は、シャドウアドレスの結合したCS低
バイト及び高バイト値を表わしており且つ加算器621
へ入力される。インタラプトアドレスがシャドウ処理さ
れるべき場合には、TRAP_ADD_LOWER32
0及びTRAP_ADD_UPPER607が図7に示
したナップシャドウイングステートマシン内の状態80
3及び804から夫々CONFIG_SHADOW_R
EG[31:0]内へデータバスの下側及び上側二重ワ
ードを捕獲するコンフィギュレーションステートマシン
へ出力される。
【0029】完全なシャドウアドレスSHADOWED
_ADDR[31:0]630は加算器及び乗算器62
1から出力され且つゲート622へ入力される。ADD
R[31:3]620もゲート622へ入力される。A
DDR[31:3]620及びシャドウアドレスが一致
する場合には、ADDR_MATCH信号624が発生
され且つゲート622からゲート623へ出力される。
現在のアドレスがメモリアドレスであるか又はIOアド
レスであるかを表わすM/IO#信号603もゲート6
23へ入力される。現在の動作が読取動作であるか又は
書込動作であるかを表わすW/R#信号330及びデー
タ又はコードサイクルであるかを表わすD/C#信号3
07もゲート623へ入力される。現在のアドレスがプ
リフェッチラインの一部であるか否かを表わすPRFT
CH_DET#信号305はプリフェッチ検知ブロック
320から出力され且つゲート623へ入力される。入
力信号が適切な活性状態にある場合には、NAP_DE
TECT信号205はゲート623から出力され且つナ
ップモードをトリガする。
【0030】本発明の好適実施例においては、プリフェ
ッチアドレスは一度に32バイトプリフェッチすること
が可能である。然しながら、32バイトより大きいか又
は小さいバイトをプリフェッチし且つプログラムされて
いるアドレスがプリフェッチラインの一部であるか否か
を検知する手段を有する実施例は、本発明の技術的範囲
を逸脱するものではない。最小桁の3つのアドレスライ
ンは読取られないので、アドレス間の1の各差はデコー
ドされたアドレスの16進数の値における8の差を表わ
す。アクティブ低PRFTCH_DET#信号305
は、アドレスがプリフェッチラインの一部である場合
に、プリフェッチ検知回路320によって発生される。
プリフェッチラインは、アドレスがメモリ内の連続した
位置から検索したものであることを表わす1の値によっ
て現在のアドレスが前のアドレスと異なるものである特
性を表わすことが可能である。
【0031】図4aは図4bに更に詳細に示してある図
3のプリフェッチ検知回路320の動作を示したステー
トマシン概略図である。アイドル(IDLE)状態00
(350)から、有効なアドレスであることを表わすア
クティブ低ADS#308と関連してクロック遷移を表
わすCPUCLK信号340が発生すると、CLK1状
態01(370)へのステートマシンの遷移を発生させ
る。CLK1状態01(370)において、現在のアド
レスが前のアドレス又はプリフェッチしたアドレスと比
較される。現在のアドレスがプリフェッチされたアドレ
スを表わす前のアドレス+1の値と一致する場合には、
プリフェッチ検知を表わす信号が活性化される。CLK
1状態01(370)から、CPUCLK信号340が
発生すると、CLK2状態10(360)へのステート
マシンの遷移が行なわれる。CLK2状態10(36
0)において、現在のアドレスが爾後のステートマシン
サイクルにおいて使用するためにプリフェッチ検知回路
内へクロック入力される。CPUCLK信号340の最
後の遷移は、ステートマシンをアイドル(IDLE)状
態00(350)へ復帰させるべく遷移を行なう。
【0032】図4bは図3のプリフェッチ検知回路を示
した論理線図である。ADDR[31:3]301がラ
ッチ374のD入力端へ入力され且つ論理ゲート372
へ入力される。CPUCLK340がラッチ373のイ
ネーブル入力端へ入力され且つSTATE390がラッ
チ373のD入力端へ入力される。フリップフロップ3
73は、STATE390がCLK2信号360と等し
い場合に、ADDR_LATCH信号309を発生す
る。ADDR_LATCH信号309はラッチ374の
イネーブル入力端へ入力されて、ADDR[31:3]
301の現在の値をラッチさせ且つADDR_LATC
HED[31:3]391としてラッチ374のQ出力
端において出力させることをイネーブルさせる。ADD
R[31:3]301がラッチされ且つADDR_LA
TCHED[31:3]391としてラッチ374から
出力されると、ADDR[31:3]301の現在の値
と前のサイクルでラッチされたADDR_LATCHE
D[31:3]391との間に1個のクロックサイクル
の遅延が存在する。ブロック375において、1の値が
ADDR_LATCHED[31:3]391へ加算さ
れ且つPREV_ADDR[31:3]+1 307が
発生され且つ論理ゲート372へ出力される。PREV
_ADDR[31:3]+1 307及びADDR[3
1:3]301の論理積が論理ゲート371へ出力され
る。STATE390は論理ゲート371へも印加され
且つ該論理積はラッチ370のD入力端へ印加される。
STATE390がCLK1の値を有しており、且つP
REV_ADDR[31:3]+1 307がADDR
[31:3]301と一致する場合には、ラッチ370
はアドレスADDR[31:3]301がプリフェッチ
ラインの一部であることを表わすPRFTCH_DET
#305を発生する。プリフェッチラインにおいてフェ
ッチされたアドレスは連続したものであるから、即ち1
つのアドレスは次のアドレスと1の値だけ異なるもので
あるから、現在のアドレスADDR[31:3]301
がPREV_ADDR[31:3]+1 307と一致
するか否かの比較は、ADDR[31:3]301がプ
リフェッチされたアドレスであることを表わす。インタ
ラプトアドレスである可能性のあるプリフェッチしたア
ドレスでナップモードをトリガすることは好ましくない
場合がある。
【0033】図4cは図4bに示したプリフェッチ検知
ステートマシン320のタイミングを示したタイミング
線図である。CPUCLK340は、プロセサ動作に対
して回路動作を同期させるために使用することが可能で
ある。ADS$信号308は、システムバス上のデータ
が有効なアドレスを表わすことを表示するために使用す
ることが可能である。STATE390は、CPUCL
K340の爾後のサイクル期間中にプリフェッチ検知ス
テートマシンの動作を前進させるために使用することが
可能である。ADDR[31:0]301fは、システ
ムバスから読取られた現在のアドレスを表わし且つ図4
bに示したプリフェッチ検知回路内において使用するこ
とが可能である。ADDR_LATCH信号309は、
現在のアドレスADDR[31:0]301fのビット
[31:3]を図4bのラッチ374内へラッチさせる
ために使用することが可能である。アドレスADDR_
LATCHED[31:0]391fのビット[31:
3]がラッチされると、1の値が加算される。アドレス
PREV_ADDR[31:3]+1 307は、アド
レスADDR_LATCHED[31:3]391+1
を表わしており且つ現在のアドレスADDR[31:
3]301と比較される。ADDR_LATCHED
[31:3]391及び現在のアドレスADDR[3
1:3]301が一致する場合には、プロセサはプリフ
ェッチを再開し且つ信号PRFTCH_DET#305
が発生される。一致しない場合には、信号PRFTCH
_DET#305は高状態へセットされるか又は図4b
のプリフェッチ検知ステートマシン320によって1ク
ロックの間脱活性化される。
【0034】図5は図3のナップシャドウイングステー
トマシンの動作及びシャドウアドレスのローディングを
示したタイミング線図である。CPUCLK340は、
メインプロセサクロックから派生され且つナップシャド
ウイングステートマシンの動作をコンフィギュレーショ
ンステートマシンと同期させるために使用することが可
能である。ADS#308は、いつ現在のアドレスが有
効なアドレスであるかを表わす。ナップモードは、有効
なアドレス期間中においてのみトリガさせることが可能
である。W/R#信号330は、動作が読取動作である
か又は書込動作であるかを表わす。ADDR[31:
0]301は現在のアドレスである。NAP_SHAD
OW_STATE390は現在のナップシャドウステー
トマシン状態である。TRAP_ADDRESS_LO
WER信号320は、下側の二重ワードがシャドウアド
レスを有しているか否かを表わす。TRAP_ADDR
_UPPER信号607(図5には示していない)は、
上側の二重ワードがシャドウアドレスを有しているか否
かを表わす。図5の例においては、TRAP_ADDR
ESS_LOWER320はアクティブ即ち活性状態に
あるものとして示してあり、従ってTRAP_ADDR
ESS_UPPER607は低状態である。REQ_C
ONFIG信号321が高状態から低状態へ移行するこ
とは、いつデータバスからのアドレスがCONFIG_
SHADOW_REG[31:0]326内にロードさ
れたかを表わす。REQ_CONFIG信号321上で
高状態から低状態への遷移を受取ると、図3のナップシ
ャドウイングステートマシン627は、適宜の制御信号
を発生して、シャドウ処理すべき現在のアドレスに対す
るCS及びIP値を発生する。
【0035】現在のアドレスが固定されている又はプロ
グラムされているソフトウエアインタラプトベクトルア
ドレス、例えばINT16Hに対しては58Hと一致す
る場合に、INDIRECT_VECTOR_MATC
H606はアクティブ即ち活性状態となる。BE[3:
0]#信号720はBE[7:0]#のラッチされたも
のであり、且つ上側の二重ワードが書込まれる場合には
BE[7:4]#を有しており、又下側二重ワードが書
込まれる場合にはBE[3:0]#を有している。DA
TA[63:0]730はデータバス信号であって、そ
れは、本実施例においては、64ビットバスである。該
データバスは、そのベクトルが書込まれているシャドウ
処理されたインタラプトのCS及びIP値を有してい
る。CONFIG_SHADOW_REG[31:0]
326はシャドウ処理されたデータの上側又は下側の二
重ワードを有している。図5のタイミング線図はアクテ
ィブ即ち活性状態としてTRAP_ADDRESS_L
OWER320を示しており、従って64ビットデータ
バスの下側二重ワードはCONFIG_SHADOW_
REG[31:0]326内に捕獲され且つ4321C
DABHを有している。ナップシャドウイングステート
マシンは、REG_CONFIG321上での高状態か
ら低状態への遷移を検知すると、ラッチされているBE
[3:0]#720を使用して、現在のデータの有効な
バイトをCS及びIPレジスタ327及び328の適宜
のバイト内へ夫々書込む。
【0036】この実施例においては、BE[3:0]#
は1100(二進数)に等しく、データの下側2バイト
のみが有効であり、従ってIPの低及び高バイトが保存
されることを表わしている。図5のタイミング線図は、
CONFIG_SHADOW_REG[31:0]32
6内に捕獲されているデータの二重ワードの上側2バイ
トが有効であることを表わす0011(二進数)に等し
いBE[3:0]#でベクトルアドレスへの書込である
次のサイクルを示している。これらはCS上側及び下側
バイトを形成する。SHADOWED_ADDR[3
1:0]630は、シャドウ処理したCS値を16で乗
算し、且つ、ビット31乃至20へゼロをアペンド即ち
取付けながら、それへIP値を加算することによって形
成される。図6はCPUへのSTOPCLOCK信号が
スロットリング処理されるか又は活性化されている期間
中に、シャドウアドレスが存在することを検知した場合
のナップモードをトリガするタイミングを示している。
ADDR[31:0]301上の現在のアドレスが図5
のSHADOWED_ADDR[31:0]630と一
致する値を有している場合には、IND_ADDR_M
ATCH910信号がセットされる。W/R#信号33
0が低状態である場合には、メモリの読取りを表わし、
且つD/C#信号397が低状態である場合には、コー
ドの読取りを表わし、且つPRFTCH_DET#信号
305は不活性状態であって、現在のアドレスはプリフ
ェッチの一部でなかったことを表わし、NAP_DET
ECT信号333はセットされる。NAP_DETEC
T信号333はNAP_ACTIVEラッチ207をセ
ットし、そのことはナップタイマーのタイムアウト又は
一次的又は二次的動作まで、ナップモードをアクティブ
即ち活性状態に維持する。ナップモード期間中に、CP
UへのSTOPCLOCK信号208は、スロットリン
グがイネーブルされている場合には、プログラムされて
いるデューティサイクルでスロットリング即ち絞り処理
され、又はLESSSTOPがイネーブルされている場
合にはアサートされた状態に維持される。
【0037】図7はナップシャドウイングステートマシ
ンの動作を示したステートマシン線図である。アイドル
(IDLE)状態801から、低状態ADS#信号30
8と関連するCPUCLK340の遷移は、CHECK
_ADDRESS状態802への状態遷移を発生させ
る。CHECK_ADDRESS状態802から、低状
態ANY_ADDR_MATCH信号815と関連する
CPUCLK340の遷移は、アイドル(IDLE)状
態801へ戻る状態遷移を発生させる。又、CHECK
_ADDRESS状態802から、ADDR[2]信号
が高状態であり且つ入力811として言及した組合わせ
におけるANY_ADDR_MATCH信号815と関
連するCPUCLK340の遷移は、WAIT4_RE
Q_UPPER状態804への状態遷移を発生させる。
WAIT4_REQ_UPPER状態804から、CP
UCLK340と関連する高状態REQ_CONFIG
信号321は、REQ_CONFIG_HI状態805
への遷移を発生させる。
【0038】CHECK_ADDRESS状態802か
ら、低状態ADDR[2]信号及び入力809として言
及した組合わせにおけるANY_ADDR_MATCH
信号に関連するCPUCLK340の遷移は、WAIT
4_REQ_LOWER状態803への状態遷移を発生
させる。WAIT4_REQ_LOWER状態803か
ら、CPUCLK340と関連する高状態REQ_CO
NFIG信号321は、REQ_CONFIG_HI状
態805への遷移を発生させる。
【0039】REQ_CONFIG_HI状態805か
ら、低状態REQ_CONFIG321と関連するCP
UCLK340の遷移は、REQ_CONFIG_LO
W状態806への遷移を発生させる。CPUCLK34
0の別の遷移は、アイドル(IDLE)状態801へ戻
る最終的な遷移を発生させる。
【0040】好適実施例においては、一次的及び二次的
動作信号を使用してナップトリガ動作を禁止させるか又
はナップを終了させることが可能である。一次的な動作
は、システム資源がアクセスされる重要なシステム動作
として定義することが可能である。マスクされていない
限り、いずれの一次的な動作もシステムを完全に目覚め
たモードとさせることが可能である。一次的な動作は、
又、電力管理タイマーをリセットすることが可能であ
る。図8は、動作モニタ回路404へ結合されており且
つPRM#0乃至PRM#5を有する一次的動作レジス
タバンク402を示している。レジスタバンク402内
のこれらのレジスタに格納されているものと一致するア
ドレスへの読取又は書込アクセスは、一次的動作、即ち
P/A信号405の発生をトリガさせる。装置レジスタ
バンク401内に示されているVIDEO、ハードドラ
イブ又はいずれかの装置へのアクセスは、IRQブロッ
ク407においてマスクしていないインタラプト要求の
発生の場合における如く、P/A信号405の発生をト
リガする。
【0041】二次的な動作は、種々のレベルの不動作の
期間中短い量のサービス時間を必要とするものとして定
義することが可能である。マスクされていない限り、二
次的な動作は、スロットリングをイネーブルさせること
なしに、全速力で二次的なイベントを処理させる。二次
的なイベントがサービス即ち処理されると、システムは
その二次的な動作の発生前に存在していたモードへ復帰
する。二次的なイベント403は、EXACT0,SW
ITCH,RING,WAKE0及び1、及びSMI#
を有している。これらのイベントは「ベスビウス−LS
PCI システム制御器アドバンスデータブック(V
ESUVIUS−LS PCI System Con
troller Advance Data Boo
k)」、バージョン0.6、1995年3月、ピコパワ
ー(PICOPOWER)、シーラスロジックカンパニ
ー、54−67頁の文献に記載されており、それを引用
により本明細書に取込む。
【0042】二次的イベント403に加えて、二次的な
動作はIRQブロック408によってトリガすることが
可能である。二次的イベント403のシステム管理イン
タラプトSMI#は、二次的動作を表わすS/A信号4
06をトリガすべく動作をプログラムさせることを可能
としている。少なくとも6個の装置タイマー及び少なく
とも3個のモードタイマーもSMIを発生することによ
りS/A信号をトリガすることが可能である。電力管理
目標に適うように、事実上いずれのイベントも一次的又
は二次的な動作としてプログラムするための能力におい
て最大の柔軟性が達成される。二次的なイベント403
又はIRQブロック408が二次的な動作をトリガする
と、S/A信号406が発生される。
【0043】図9において、停止クロック制御ブロック
500はクロック停止信号STPCLK505の発生を
制御する要素を有している。スロットリング期間制御レ
ジスタCTPC501はスロットリング期間に対応する
値を格納する。スロットリング期間は、その値をレジス
タ内にプログラムさせ且つレジスタから読取ることの可
能なデューティサイクルにしたがってクロック停止信号
STPCLK505を印加させることの可能な時間イン
ターバルとすることが可能である。デューティサイクル
選択ブロック502は、スロットリング期間中にそれが
印加される場合のSTPCLK505のデューティサイ
クルを制御する。
【0044】MORESTOP要求503及びLESS
STOP要求504は、アプリケーション又はオペレー
ティングシステムソフトウエアから入力させ、CPUに
対して、より高い又は低いレベルの電力節約が望ましい
ことを表わす。LESSSTOP要求405はCPUク
ロックが継続して稼動する間にクロックスロットリング
回路のデューティサイクルを変更することによってCP
Uのスリープのレベルを変更することが可能である。M
ORESTOP要求503は、スロットリング期間中又
はSTPCLKがアサート即ち活性化された場合に、C
PUクロックを完全に停止させるか否かを制御する。
【0045】MORESTOP要求503と異なり、C
UPクロックはLESSSTOP要求504期間中に稼
動状態に止まることが可能である。CPUクロックが稼
動状態であると、STPCLK505が取除かれるとシ
ステムは瞬間的に処理へ復帰することが可能である。M
ORESTOP要求503はCPUクロックを停止させ
且つSTPCLKを取除くと、CPUクロック再同期及
びCPU PLLの安定化を制御するために最大で1m
sの待ち時間期間が必要となる場合がある。
【0046】キャッシュを有するシステム用の仮想ポッ
ド暗示 L1(レベル1)又はL2(レベル2)キャッシュを有
するシステムにおいてインタラプトベクトルアドレスの
適切なシャドウ処理を確保するために、ソフトウエア
は、CS及びIP値のテーブルへの書込が発生する場合
に、CS:IPによってポイントされているアドレスが
既にL1又はL2においてキャッシュされているもので
ないことを確保せねばならない。そのラインが既にキャ
ッシュされている場合には、ナップ検知をトリガするア
ドレス(CS:IP)は外部的に見ることが不可能な場
合があり、従ってナップトリガ動作が発生しない場合が
ある。
【0047】本発明装置は、ベクトルテーブルアドレス
(INP*4)をキャッシュ不可能なものとさせ、従っ
てベクトルテーブルアドレスへの書込を検知してロード
されているデータをシャドウさせることが可能である。
然しながら、アプリケーションは、任意の時刻におい
て、CS:IPの新たな値をベクトルテーブルへ書込む
ことが可能であるから、ソフトウエアは、シャドウされ
ているCS:IPを含むラインをキャッシュから追い出
し且つ無効なものとさせることを確保せねばならない。
キャッシュ型システムにおいては、これらのラインは既
にキャッシュ内に潜在的に存在する場合があり且つその
アドレスへのアクセスは検知されない場合があり、従っ
てナップトリガメカニズムを阻止する場合がある。
【0048】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ限定
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。例えば、本明細書において例示したプリフェッチ検
知回路は32バイトの長さのアドレスからなるラインを
受取るものとして説明したが、本発明は、より大きな又
は小さなアドレス動作能力を有するシステムについて実
施することが可能である。不動作を表わすものとして知
られているインタラプト又はイベントを包含しながら、
シャドウアドレスの使用は、任意の固定したインタラプ
ト番号又は検知可能なイベントに関して実施することが
可能である。更に、好適実施例は集積回路についてのも
のであるが、本発明は、技術的範囲を逸脱することなし
に、一連の集積回路、又はコンピュータシステム内のそ
の他の回路に適用することが可能なものである。
【図面の簡単な説明】
【図1】 インタラプトベクトルテーブル、インタラプ
ト番号エントリー、コードセグメント(CS)及び命令
ポインタ(IP)及びインタラプトサービスルーチンを
示したシステムメモリの概略図。
【図2】 全体的な回路を示した論理回路図。
【図3】 ナップシャドウイングステートマシン、プリ
フェッチ検知ステートマシン及びナップ検知回路を示し
た概略図。
【図4a】 図3のプリフェッチ検知ステートマシンの
動作を示したステートマシン概略図。
【図4b】 図3のプリフェッチ検知ステートマシンを
示した論理回路図。
【図4c】 図3のプリフェッチ検知ステートマシンの
タイミングを示したタイミング線図。
【図5】 図3のナップシャドウイングステートマシン
の動作及びシャドウアドレスのローディングを示したタ
イミング線図。
【図6】 シャドウアドレスを検知した場合のナップト
リガ動作を示したタイミング線図。
【図7】 図3のナップシャドウイングステートマシン
の動作を示したステートマシン概略図。
【図8】 一次的及び二次的動作発生を示した概略ブロ
ック図。
【図9】 クロック停止信号のスロットリング及びMO
RESTOP及びLESSSTOP制御を示したブロッ
ク図。
【符号の説明】
220 ナップシャドウイング及び検知ブロック 221 ナップタイマー 223 ラッチ 224 STOPCLOCKステートマシン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケニス マ アメリカ合衆国, カリフォルニア 95014, クパチーノ, グラナダ アベ ニュー 21781 (72)発明者 レオ ジャン アメリカ合衆国, カリフォルニア 94539, フリモント, カートナー ロ ード 1289 (72)発明者 スコット シャウ アメリカ合衆国, カリフォルニア 94536, フリモント, サン ファン アベニュー 4221

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 現在のアドレスを有する信号と、一次的
    及び二次的動作を表わす信号と、少なくとも1つのナッ
    プタイムアウト信号を受取り且つクロック停止信号を含
    む信号を発生するシステム制御器において、 システムの動作がないことを表わすイベントを検知し且
    つそれに応答してナップ信号を発生するナップトリガ回
    路、 プロセサプリフェッチサイクルを検知し且つ検知したプ
    リフェッチサイクルに応答してプリフェッチ検知信号を
    発生するプリフェッチ検知回路、 前記ナップトリガ回路へ結合されており且つそれによっ
    て活性化され且つ前記プリフェッチ回路へ結合されてお
    り且つそれによって禁止状態とされ、所定のスロットリ
    ング期間中に所定のデューティサイクルにしたがってク
    ロック停止信号の印加を制御するスロットリング回路、
    を有することを特徴とするシステム制御器。
  2. 【請求項2】 請求項1において、前記ナップトリガ回
    路が、 シャドウアドレスを格納するための少なくとも1個のレ
    ジスタ手段、 シャドウアドレスをトラップするための少なくとも1個
    のトラップ手段、 現在のアドレスを比較するアドレス比較器手段、 前記少なくとも1個のレジスタ手段と、前記トラップ手
    段と、アドレス比較器手段とに結合されており、現在の
    アドレスが前記少なくとも1個のレジスタ手段内に格納
    されているシャドウアドレスと一致する場合には前記ナ
    ップ信号を発生し且つ前記少なくとも1個のレジスタ手
    段内に格納されている前記シャドウアドレスを前記少な
    くとも1個のトラップ手段内にトラップされているシャ
    ドウアドレスでアップデートさせる論理手段、を有する
    ことを特徴とするシステム制御器。
  3. 【請求項3】 請求項1において、前記プリフェッチ検
    知回路が、 プリフェッチアドレスを受取り且つ格納する第一手段、 前記第一手段へ結合されておりアドレスを比較する第二
    手段、を有しており、前記第二手段が、 現在のアドレスがシャドウアドレスであるか否かを検知
    する第三手段、 現在のアドレスが前記プリフェッチアドレスの次のもの
    であるか否かを検知する第四手段、を有することを特徴
    とするシステム制御器。
  4. 【請求項4】 システム制御器におけるクロック停止信
    号の印加を制御することによりコンピュータシステムに
    おける電力を節約する方法において、 コンピュータシステムにおいてナップトリガイベントを
    検知し且つナップ信号を活性化させ、 プロセサプリフェッチサイクル期間中は前記ナップ信号
    を禁止させ、 一次的及び二次的動作を検知し且つ前記一次的及び二次
    的動作が存在する場合には前記ナップ信号を禁止状態と
    させ、 前記ナップ信号が活性状態にある間にプログラム可能な
    デューティサイクルにしたがってスロットリング期間中
    に前記クロック停止信号を印加させる、上記各ステップ
    を有することを特徴とする方法。
  5. 【請求項5】 請求項4において、前記ナップトリガイ
    ベントを検知し且つ前記ナップ信号を発生するステップ
    が、 シャドウアドレスに対応するレジスタ内に値を格納し、 シャドウアドレスをトラップし、 シャドウアドレスを現在のアドレスと比較し、 現在のアドレスが前記レジスタ内に格納されている値と
    一致する場合にはナップ信号を発生し、 インタラプトベクトルへの書込を検知することによって
    シャドウアドレスをアップデートする、ことを特徴とす
    る方法。
JP9161459A 1996-06-18 1997-06-18 シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置 Pending JPH1097341A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/665,778 US5983356A (en) 1996-06-18 1996-06-18 Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals
US08/665778 1996-06-18

Publications (1)

Publication Number Publication Date
JPH1097341A true JPH1097341A (ja) 1998-04-14

Family

ID=24671543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9161459A Pending JPH1097341A (ja) 1996-06-18 1997-06-18 シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置

Country Status (3)

Country Link
US (1) US5983356A (ja)
JP (1) JPH1097341A (ja)
KR (1) KR980003965A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003523563A (ja) * 1999-12-23 2003-08-05 インテル・コーポレーション ディジタル・パワー・スロットルを備えたマイクロプロセッサ

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151681A (en) * 1997-06-25 2000-11-21 Texas Instruments Incorporated Dynamic device power management
US6212641B1 (en) * 1998-07-23 2001-04-03 Inside Out Networks Method and apparatus for improving power characteristics in a system having a reduced power mode
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
US6615288B1 (en) * 1999-12-27 2003-09-02 Dell Products L.P. Generating system management interrupt in response to usb controller signal and processing interrupt routine in upper most level of system memory
US6968219B2 (en) * 2001-08-15 2005-11-22 Qualcomm, Incorporated Method for reducing power consumption in bluetooth and CDMA modes of operation
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
US7135288B2 (en) * 2002-09-27 2006-11-14 Ut-Battelle, Llc Combinatorial synthesis of ceramic materials
US8984199B2 (en) * 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts
US8385985B2 (en) * 2003-11-25 2013-02-26 Qualcomm Incorporated Method for reducing power consumption in a multi-mode device
US7181188B2 (en) * 2004-03-23 2007-02-20 Freescale Semiconductor, Inc. Method and apparatus for entering a low power mode
EP1868059B1 (en) * 2005-03-31 2011-08-24 NEC Corporation Timer circuit, mobile communication terminal using the same, and electronic device using the same
US7627770B2 (en) * 2005-04-14 2009-12-01 Mips Technologies, Inc. Apparatus and method for automatic low power mode invocation in a multi-threaded processor
US7600135B2 (en) * 2005-04-14 2009-10-06 Mips Technologies, Inc. Apparatus and method for software specified power management performance using low power virtual threads
US8575964B2 (en) 2012-03-22 2013-11-05 International Business Machines Corporation Inactivity triggered self clocking logic family

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
US5430881A (en) * 1990-12-28 1995-07-04 Dia Semicon Systems Incorporated Supervisory control method and power saving control unit for computer system
US5377344A (en) * 1991-07-31 1994-12-27 Toyo Corporation Selective memory transaction monitor system
JPH05189976A (ja) * 1991-09-03 1993-07-30 Seiko Epson Corp 半導体装置及び電子機器
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5404537A (en) * 1992-09-17 1995-04-04 International Business Machines Corp. Priority interrupt switching apparatus for real time systems
US5438681A (en) * 1993-08-24 1995-08-01 Mensch, Jr.; William D. Topography for CMOS microcomputer
US5546037A (en) * 1993-11-15 1996-08-13 Cirrus Logic, Inc. NAPNOP circuit for conserving power in computer systems
DE69432697T2 (de) * 1993-12-01 2004-03-25 Advanced Micro Devices, Inc., Sunnyvale Stromverwaltung für Rechnersystem und Verfahren hierfür
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
EP0809825A1 (en) * 1995-02-14 1997-12-03 Vlsi Technology, Inc. Method and apparatus for reducing power consumption in digital electronic circuits

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003523563A (ja) * 1999-12-23 2003-08-05 インテル・コーポレーション ディジタル・パワー・スロットルを備えたマイクロプロセッサ
JP2012198922A (ja) * 1999-12-23 2012-10-18 Intel Corp ディジタル・パワー・スロットルを備えたマイクロプロセッサ
JP2014112399A (ja) * 1999-12-23 2014-06-19 Intel Corp ディジタル・パワー・スロットルを備えたマイクロプロセッサ

Also Published As

Publication number Publication date
US5983356A (en) 1999-11-09
KR980003965A (ko) 1998-03-30

Similar Documents

Publication Publication Date Title
US7757060B2 (en) Reducing wake latency time for power conserving state transition
US6243831B1 (en) Computer system with power loss protection mechanism
US5649213A (en) Method and apparatus for reducing power consumption in a computer system
EP1653331B1 (en) An apparatus and method for entering and exiting low power mode
US7971081B2 (en) System and method for fast platform hibernate and resume
US7506192B2 (en) Method and apparatus for adaptive power management of memory subsystem
JP3701910B2 (ja) スリープ状態への移行
US5630143A (en) Microprocessor with externally controllable power management
US7454632B2 (en) Reducing computing system power through idle synchronization
US5465367A (en) Slow memory refresh in a computer with a limited supply of power
US6910141B2 (en) Pipelined data processor with signal-initiated power management control
JPH1097341A (ja) シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置
US20140208144A1 (en) Method and Apparatus for Adaptive Power Management of Memory Subsystem
EP1831770A2 (en) Techniques to manage power for a mobile device
US6694442B2 (en) Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller
US5983355A (en) Power conservation method and apparatus activated by detecting specific fixed interrupt signals indicative of system inactivity and excluding prefetched signals
US20060136756A1 (en) Low power firmware
JP4689087B2 (ja) 情報処理装置及び省電力移行制御方法
US5954819A (en) Power conservation method and apparatus activated by detecting programmable signals indicative of system inactivity and excluding prefetched signals
US7272731B2 (en) Information handling system having reduced power consumption
Wright et al. Vision: The case for context-aware selective resume
JP3860467B2 (ja) コンピュータ用の電力節約方法およびシステム