JP2004005747A - マイクロプロセッサ及びマイクロプロセッサを動作する方法 - Google Patents

マイクロプロセッサ及びマイクロプロセッサを動作する方法 Download PDF

Info

Publication number
JP2004005747A
JP2004005747A JP2003303418A JP2003303418A JP2004005747A JP 2004005747 A JP2004005747 A JP 2004005747A JP 2003303418 A JP2003303418 A JP 2003303418A JP 2003303418 A JP2003303418 A JP 2003303418A JP 2004005747 A JP2004005747 A JP 2004005747A
Authority
JP
Japan
Prior art keywords
microprocessor
external
signal
instruction
control signal
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.)
Withdrawn
Application number
JP2003303418A
Other languages
English (en)
Inventor
Robert D Maher
ロバート ディー マーア
Jr Raul A Garibay
ポール エイ ガリベイ ジュニア
Margaret R Herubin
マーガレット アール ハルビン
Mark Bluhm
マーク ブルーム
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
Priority claimed from US07/859,110 external-priority patent/US5375209A/en
Application filed by National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of JP2004005747A publication Critical patent/JP2004005747A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • 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/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/3243Power saving in microcontroller unit
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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

Abstract

【課題】 マイクロプロセッサのパワー消費を減らし、マイクロプロセッサの機能を向上させること。
【解決手段】 データ処理装置は、複数のサブ回路36、38と、これに対してクロック信号を発生させるクロックパルス発生回路84とを有する。検出回路は制御信号のアサーションを検出し、ディスエーブル回路は、この制御信号に応じてサブ回路36、38の1つ以上へのクロック信号をディスエーブルする。また、ピンを切り離して所望のマイクロプロセッサ・アーキテクチャとの両立性を与えることができるように、一つ以上のサブ回路を付随の入出力ピンと選択的に切り離すための回路が設けられる。
【選択図】     図2

Description

 この発明は、集積回路に関し、特にハードウェア制御パワー管理機能を有すると共に、選択可能な入出力ピンとを有するマイクロプロセッサに関する。
 電子回路製造者は、その回路基板のパワー消費を少なくする必要にますます迫られている。パワーの保存は、電気コンセントを利用できない状態で用いるために特別に製品が設計されているラップトップ型やノートブック型のコンピューターなどの携帯用電子装置において特に重要である。ラップトップ型やノートブック型のコンピューターは、長い時間にわたって内部の電池又は充電可能な電池を使って作動しなければならないので、電池のパワーの保存は大切なこととなる。
 ラップトップ又はノートブック型のコンピューターでは、パワーを最も多く使うのはディスプレイである。ディスプレイが消費するパワーの割合は、使われている技術により変化する。よって、ラップトップ及びノートブック型のコンピューターの製造者は、作動していない間はディスプレイへのパワーを切っていた。電源からのディスプレイの切離しは、かなり簡単な回路により達成出来る。
 ラップトップ型又はノートブック型のコンピューターにおいて、次に多くのパワーを消費するのはCPU母板マイクロプロセッサである。従来、コンピューター製造者は、作動していないときのマイクロプロセッサのパワー消費を少なくするために一ないし二の技術を使っている。一つの技術は、システムクロックの速度を、不作動時に通常作動周波数の数分の一に減少させる。マイクロプロセッサのパワー消費は周波数に比例するので、システムクロックの周波数を減らせばマイクロプロセッサのパワー消費も少なくなる。インテル (Intel)80386DXマイクロプロセッサ(カリフォルニア州サンタクララ市のインテル社により製造される)においては、作動周波数を33MHz から4MHz に低下させることにより、マイクロプロセッサの典型的作動電流が400ミリアンペアから約100ミリアンペアに減らされる。それにもかかわらず、100ミリアンペアの作動電流はなお電池に大きなパワー漏れを強いている。
 パワーを減少させる第二の技術は、不作動時にシステムクロックをオフにする。システムクロックをオフにすると、母板上の全ての回路に影響が及ぶ。その結果として、システムクロックを作動不能にする回路は、マイクロプロセッサ及び付随のボード論理中の全ての関連情報を保存すると共に、作動再開時には、システムクロックの再開後にコンピューターの状態がシステムクロック停止前のコンピューターの状態と同一となるように、そのデータを元に戻さなければならない。その結果として、パワーを消費するためのこの技術は、回路が複雑であるためにコストがかかると共に、コンピューターの状態を保存したり元に戻したりする必要があるために低速でもある。
 従って、複雑な外付け回路を必要をすることなくマイクロプロセッサのパワー漏れを著しく少なくする電子装置におけるパワーを保存するための方法及び装置を提供する必要が生じている。
 本発明により、マイクロプロセッサのパワー消費を減らし、マイクロプロセッサの特徴を向上させるのに著しく有利な方法及び装置が提供される。
 本発明の一つの特徴によると、処理装置は複数のサブ回路と、これに対してクロック信号を発生させる回路とを含む。制御信号の出力を検出するための回路が設けられており、この制御信号に応じて、作動不能化回路は、該サブ回路の一つ以上へのクロック信号を作動不能化させる。
 本発明のこの特徴は、従来技術に比べて著しい利点をもたらすものである。コンピューターが消費するパワーの著しい減少は、マイクロプロセッサ回路へのクロックを作動停止させることにより達成され得る。本発明は、マイクロプロセッサクロック信号の作動の不能化及び可能化を単一の制御信号により制御することを可能にするものである。更に、マイクロプロセッサの一時停止状態について外付け回路に知らせるために確認信号を設けることが出来る。
 本発明の他の特徴は、複数の入出力ピンを有し、この入出力ピンに結合した処理回路を有するマイクロプロセッサから成る。該処理回路を入出力ピンから選択的に切り離すための回路が設けられる。
 好ましい実施例では、処理回路と入出力ピンとの間に3状態バッファーが結合される。この3状態バッファーは、レジスターの出力により制御される。このレジスターは、入出力ポート・アクセスを介してアドレス指定可能なレジスター・ファイルの一部であることが出来る。最初、該レジスターは所定値にセットされる。好ましい実施例では、該3状態バッファーが高インピーダンス・モードである様に該レジスターはセットされる。
 本発明のこの特徴は著しい利点を提供するものである。他の×86両立型のマイクロプロセッサには見られないピンを必要とするマイクロプロセッサに強化した特徴を設けることが出来る。その強化特徴ピンは、×86マイクロプロセッサ・アーキテクチャとの両立性を保証するために該3状態装置により選択的に作動不能(ディスエーブル)にされることが出来る。その強化特徴が支援される様な状態では、該ピンはソフトウェアを通して選択的に作動可能(イネーブル)にされ得る。
 本発明と、その利点とをより完全に理解してもらうために、添付図面を参照して説明をする。
 本発明の好ましい実施例とその利点とは、図1〜6を参照することから最も良く理解することが出来る。いろいろな図の同様の部分及び対応する部分には同様の数字が用いられている。
 図1はコンピューター・システムのブロック図である。コンピューター・システム10は、メモリー・サブシステム14に結合されたマイクロプロセッサCPUチップ12と、BIOS ROM16と、論理回路チップ18(一般に『チップセット』と呼ばれている)とから成る。マイクロプロセッサ12はバス20に接続されている。バス20は、図1にキーボード・コントローラ22、ビデオ・コントローラ24、I/O回路26及びディスク・コントローラ28として示されている数個の周辺装置と通信するのに使われる。キーボード・コントローラ22はキーボード29に接続されている。ディスク・コントローラ28は、ハードディスク30及びフレキシブルディスク32に接続されている。ビデオ・コントローラ24はディスプレイ34に接続されている。オプションのコプロセッサー35はマイクロプロセッサ12及びBIOS ROM16に接続されている。
 図1に示されているコンピューター・システム10は、例えばIBMのパソコン及びこれと両立するパソコンなどのパーソナル・コンピューターに共通の汎用アーキテクチャである。BIOS16(基本的入出力システム)は、典型的には、コンピューター・システム10のための基本的制御動作及び管理動作を実行するためのプログラムのセットを内蔵する読み出し専用メモリーである。BIOS16は、コンピューター回路、CPU12により実行されるアプリケーション・ソフトウェアとの間のインタフェースとして作用する。重要なことに、パワー消費の目的で、BIOS16及び論理回路18は、パワー消費減少手順が実施され得るか否か判定するために、選択された回路を監視する。例えば、BIOS16及び/又は論理18は、ディスプレイ34を監視して、その出力が所定時間にわたって変化したか否かを判定することが出来る。若し否であれば、BIOS16は、コンピューター・システム10が携帯可能なコンピューターであると仮定すると)エネルギーを保存するためにディスプレイ34への給電を不能にする手順を実施することが出来る。更に、BIOS16は、コンピューター・システム10の動作に影響を与えずにマイクロプロセッサ12をアイドル状態に出来るか否か判定するためにマイクロプロセッサ12を監視する。例えば、マイクロプロセッサ12は、キーボードからの文字を待つルーチンを実行しているかもしれない。この場合、マイクロプロセッサの動作は、キーが押されるまで保留されることが出来る。
 図2は、マイクロプロセッサ12の好ましい実施例の種々のサブ回路の詳細ブロック図である。説明の目的のために、インテル社の80×86ファミリーの処理装置(特に80386マイクロプロセッサ。しかし、本発明は他の処理装置にも使用されることが出来る)とピン両立し且つ命令両立するマイクロプロセッサとの関係でマイクロプロセッサ12を説明することにする。マイクロプロセッサ12は、三つの主な機能グループ、即ち、コア回路36、メモリー回路38及びバス・コントローラ40、から成っている。コア回路36は、内部データ・バス44に接続された命令キュー42を包含する。命令キュー42の出力は、デコード/シーケンス回路47のデコーダ46に接続されている。デコード/シーケンス回路47は、シーケンサ50と例外処理装置86とをも包含する。デコーダ46はマイクロコードROM48、例外処理装置86及びシーケンサ50に接続されている。シーケンサ50は、マイクロコードROM48及び実行装置52にも接続されている。この実行装置は、リミット装置54、乗算装置56、加算装置58、シフト装置60、及びレジスター・ファイル62を包含する。実行装置52は、マイクロコードROM48と、マルチプレクサ及びI/Oレジスター回路64とに接続されている。メモリー回路38は、線型アドレス・バス68に接続されたメモリー管理装置66から成り、このバスは実行装置52と命令/データ・キャッシュ・メモリー70とにも接続されている。メモリー管理装置66は更に内部データ・バス44に接続されている。メモリー管理装置66とキャッシュ70との間に先取り装置72が接続されている。バス・コントローラ40は、データ・バッファー74、アドレス・バッファー76及び制御回路78を包含する。データ・バッファー74は、データI/OピンD31−D0に接続され、アドレス・バッファー76はアドレス・ピンA31−A2及びBE3#−BE0#に接続されている。データ・アドレス・バス80は、メモリー管理装置66、キャッシュ70及びアドレス・バッファー76を接続する。命令アドレス・バス82は、先取り装置72、キャッシュ70及びアドレス・バッファー76を接続する。データ・バッファー74は内部データ・バス44に接続されている。
 クロック・モジュール84は、外部クロック信号(CLK2)を受け取り、CLKA(バス・コントローラ40に接続される)とCLKB(メモリー回路38及びコア回路36に接続される)とを発生させる。CLKA及びCLKBは、共にCLK2の周波数の半分の周波数のクロック信号である。クロック・モジュール84はバス・コントローラ40から制御信号を受け取る。
 作動時に、メモリー管理装置66の制御下でマイクロプロセッサ12により外部メモリーから命令が受け取られる。性能を向上させるために、命令/データ・キャッシュ70は、バス・コントローラ40を通して受け取られる命令及びデータを記憶する。命令は、命令キュー42に格納されて、後にデコーダ46によってマイクロコードに変換される。シーケンサ50は、デコーダ46及び実行装置52の制御下でマイクロコードROM48内の次のアドレスを指す。実行装置52は、マイクロコードROM48の制御下で情報を処理する。
 好ましい実施例では、マイクロプロセッサ12は静的デザインを有する、即ち、内部メモリーとマイクロプロセッサ12のレジスターとの中のデータの維持はクロック信号に依存しない。詳しく後述する様に、クロック・モジュール84は、バス・コントローラ40の制御下で、バス・コントローラ40へクロック信号を発生させ続けながらコア回路36のサブ回路及びメモリー回路38へのクロックを作動不能にすることが出来る。よって、不作動時には、マイクロプロセッサの回路の大部分を一時停止させることが出来、これによりマイクロプロセッサ12の消費するパワーを大幅に減らすことが出来る。
 図3及び図4はパワー削減回路を詳しく示す。図3は、マイクロプロセッサのいろいろな部分の間の制御信号を示すブロック図である。バス・コントローラ40は、マイクロプロセッサ12の外部ピンからの信号を制御する。一時停止(SUSP)信号がバス・コントローラ40に入力され、一時停止確認(SUSPACK)がバス・コントローラ40から出力される。ビジー(BUSY)がバス・コントローラ40によりコプロセッサ35から受信される。バス・コントローラ40は、マスカブル・インターラプト(INTR)信号とノンマスカブル・インターラプト(NMI)信号とをも受信する。インターラプト(又は『例外』)信号F SUSPを例外処理装置86に出力し、制御信号D SUSPACKを受け取る。例外処理装置86は、マイクロコードROM48、バス・コントローラ40及び実行装置52を監視して、命令が実行されつつあるか否か判定する。例外処理装置86は信号D EXCEPTIONをシーケンサ50に出力し、マイクロコードROM48から制御信号U AHALTを受信する。バス・コントローラ40は、制御信号F IDLEをクロック・モジュール84に出力する。
 作動時には、外部回路(典型的には論理回路18と関連してBIOS16)は、例えば、マイクロプロセッサがキーボードからの文字を待つルーチンを実行しているときなど、マイクロプロセッサの動作が一時停止され得る状態を検出する。その様な状態が検出されたとき、外部回路は(例えば、論理低電圧でSUSPピンを駆動することにより)SUSPピンをアサートする。SUSP信号のアサーションに応じて、バス・コントローラ40は、例外処理装置86と関連して、F IDLE制御信号をクロック・モジュール84へアサートする。F IDLE信号のアサーションに応じて、クロック・モジュール84は、CLKAクロック信号を発生させ続けながら、(作動不能にされたクロック信号を論理高電圧又は論理低電圧に保持することにより)CLKBクロック信号を作動不能にする。マイクロプロセッサのデザインは静的であるので、メモリーはリフレッシュ動作を必要とせず、従ってクロックを一時停止させてもマイクロプロセッサ12内のデータは失われない。マイクロプロセッサ12が一時停止状態であることを外部回路に知らせるためにSUSPACK信号がアサートされる。マイクロプロセッサ12の動作を再開させるために、例えば、キーボードからの信号がBIOS16及び論理回路18によって検出されたときにSUSP信号のアサーションは停止される(即ち、論理低電圧をSUSPピンに加えることにより)。
 コア回路36及びメモリー回路38へのクロックを一時停止させることにより、マイクロプロセッサ12により消費されるパワーを著しく減少させることが出来る。バス・コントローラ40は、活動状態に留まって、マイクロプロセッサ12及び外部回路の間のI/O信号を観察し制御する。
 図4は、一時停止モードの動作の詳細を示すフローチャートである。判定ブロック88において、SUSP信号がアサートされるのを待つループが形成される。ブロック90において、SUSP信号がアサートされた後、バス・コントローラ40はF SUSP信号をアサートするが、これは例外処理装置86に中継される。ブロック92において、F SUSP信号のアサーションに応じて、命令キュー42は、新しい命令を進めることを禁止される。ブロック94において、デコーダ46は新しい命令をマイクロコードROM48へ進めるのを止め、そして、該パイプライン中の命令に関するバス・コントローラ40による活動を含んで、マイクロコードROM48又は実行装置52(ひとまとめにして、『パイプライン』)により現在処理されつつある命令が完了される。該パイプライン中の全ての命令が実行された後、ブロック96において例外処理装置86により制御信号D EXCEPTIONが出力される。D EXCEPTIONはシーケンサ50により受信され、これはD EXCEPTIONに応じてパワー・ダウン・マイクロコード・ルーチン(ブロック98)を開始する。このパワー・ダウン・マイクロコード・ルーチンは、マイクロプロセッサを一時停止モードのために準備させる。ブロック100において、マイクロコードROM48は例外処理装置86に制御信号U AHALTをアサートする。U AHALTの受信に応じて、ブロック102において例外処理装置86はD SUSPACKをバス・コントローラ40へアサートする。判定ブロック104において、バス・コントローラ40は、例外処理装置からD SUSPACKを受信した後、コプロセッサから受信されるビジー信号をチェックする。コプロセッサからビジー信号がアサートされている間は、外部回路へのSUSPACK信号はアサートされず、CLKBは作動不能にされない。コプロセッサによってビジー信号のアサーションが停止されると、マイクロプロセッサ12が一時停止状態にあること、並びに、コプロセッサが現在は何らの計算も行っておらず、そして一時停止され得ること、を外部回路に警報するためにSUSPACK信号がバス・コントローラ40によりアサートされる。ブロック108において、F IDLEがバス・コントローラ40によってクロック・モジュール84へアサートされる。F IDLE信号の出力に応じて、クロック・モジュール84はブロック109においてCLKBを作動不能にし、これによりコア回路36及びメモリー回路38の動作を一時停止させる。すると、バス・コントローラ40は、SUSP信号のアサーションが判定ブロック110において止められるまで、待機する。SUSP信号のアサーションが止められると、CLKBが再開される。
 80386を含む殆どのマイクロプロセッサは、チップ・パッケージ上の使用可能なピンを全て使うものではない。よって、使われていないピンを用いてSUSP信号及びSUSPACK信号をマイクロプロセッサ12との間で遣り取りすることが出来、これにより既存の技術との両立性を保つことが出来る。それでもなお、好ましい実施例では、SUSP信号及びSUSPACK信号のためのピンを選択的に作動可能又は作動不能にすることが出来る。好ましい実施例では、SUSPピン及びSUSPACKピンは最初は作動不能にされ、BIOS16は該ピンをその始動ルーチンにおいて作動可能にする様に構成されなければならない。SUSPピン及びSUSPACKピンの作動可能化及び作動不能化を実行するために、予め選択されたI/Oポートを介して読み書き出来る制御ビットが設けられている。この特徴の好ましい実施例が図5(a)、(b)と関連して詳しく図示されている。
 図5(a)において、マイクロプロセッサ12(図1)内の複数の制御レジスターは、制御レジスター120に入力されるINDEX信号及びDATA信号を使ってアクセス可能である。該レジスターの大多数(及び、そのビット)は、キャッシュ・メモリー・サブシステムを構成するために使われる。例えば、主メモリー14のキャッシュ不能領域を画定し、キャッシュ方法(直接マッピング又は集合連想)を選択し、外付けピンを介してキャッシュ・メモリー70のフラッシング (flushing) を可能にするために制御レジスターを使うことが出来る。各制御レジスターは、図(a)にI/Oポート22hとして示されているI/Oポートへ該レジスターのアドレス(ここでINDEXと呼ばれる)を書き込むことによってアクセス可能である。ここにI/Oポート23hとして示されている他のI/Oポートは、指定された制御レジスターからデータを読み書きするために使われる。好ましい実施例では、各I/Oポート23hの動作に先立ってI/Oポート22hの動作が行われるが、さもなければ第2の後のI/Oポート23hの動作はオフチップに向けられることになる。図5(a)に示されている実施例では、制御レジスターは各々C0hとCFhとの間のインデックスを持っている。
 図5(b)において、C0hのインデックスを有するレジスター122は、その最下位ビットを使って3状態装置124及び126(その各々は、ハイ状態及びロー状態の他に、高インピーダンス状態を含む)を制御する。論理ハイ(即ち論理『1』)に等しいビットは、両方の3状態装置124及び125がSUSP信号及びSUSPACK信号の伝送を提供することを可能にする。論理『0』は、3状態装置124及び126を作動不能にし、これによりSUSPピン及びSUSPACKピンをマイクロプロセッサ12の回路から絶縁させる。
 好ましい実施例のこの特徴は、既存のマイクロプロセッサのピン構造との両立性を保証する。
 図6は本発明の他の特徴を示しており、ここではマイクロプロセッサ12の動作はソフトウェア・コマンドに応じて一時停止されることが出来る。80×86装置は、全ての命令の実行を停止させて80×86を一時停止(HALT)状態に置く『一時停止(HALT)』動作(オプコードF4)を支援する。バス・コントローラに中継されたノンマスカブル・インターラプト(NMIピン)で、アンマスクド・インターラプト(バス・コントローラ40に中継されるINTRピンで)又はリセット(RESET)に応じて実行が再開される。通常は、この命令は、システムを停止させるシーケンスにおける最後の命令として用いられる。
 しかし、本発明においては、HALT命令は本質的に、SUSPピンから出力を出させるのと同じ結果をもたらす。よって、BIOS16は、HALT命令をマイクロプロセッサ12へ発し、これによりCLKBを作動不能にすることが出来る。また、CLKBを作動不能にすれば、マイクロプロセッサ12が消費するパワーを著しく少なくすることが出来る。
 図6は、好ましい実施例におけるHALT命令の動作を示すフローチャートである。判定ブロック130においてマイクロプロセッサ12へのHALT命令が受信されると、ブロック132においてマイクロコードROM48によりU AHALTが出力される。マイクロコードROMからのU AHALT信号に応じて、例外処理装置86はD SUSPACKを出力する。判定ブロック136においてコプロセッサからのビジー信号をチェックした後、SUSPACK信号がブロック140においてバス・コントローラ40により出力され、内部CLKBクロックがブロック142において作動不能にされる。判定ブロック144において、判定ブロック144でインターラプトが出力されるまで一時停止状態に留まる。インターラプトが出力されると、CLKBクロックが作動可能にされ、処理が続けて行われる。
 HALT命令は、BIOS16がマイクロプロセッサへの付加的なハードウェア接続部無しでマイクロプロセッサ12を一時停止状態に置くことを許すものである。
 本発明は、従来技術に比べて著しい利点を提供する。コア回路及びメモリー回路へのクロックを一時停止させることにより、10ミリアンペア未満の電流消費が証明された。殆どのBIOSプログラムがパワー保存手段を支援するので、SUSP信号及びSUSPACK信号を支援するための付加的な符号化は比較的に単純である。その代わりとして、SUSP信号及びSUSPACK信号の発生を支援するようにチップセット論理18を改造することが出来る。更に、好ましい実施例においてSUSPACKはコプロセッサの動作が完了するまではアサートされないので、BIOSはコプロセッサを監視するための付加的な回路又はコードを提供しなくてもよい。更に、ピン両立性を犠牲にせずにマイクロプロセッサ・チップ上にパワー節約回路を設けることが出来る。また、強化HALTコマンドを使うことにより、マイクロプロセッサ12を一時停止状態から脱出させるインターラプトを出力する以外は、如何なるハードウェア相互作用も無しにマイクロプロセッサを一時停止状態で作動させることが出来る。
 本発明及びその利点を詳しく説明したけれども、特許請求の範囲の欄の記載内容により定義される発明の範囲から逸脱することなく、これに種々の変更、置換、及び変更をなし得ることが理解されなければならない。
コンピューター・システムのブロック図を示す。 図1のコンピューター・システムに使われるマイクロプロセッサの好ましい実施例のブロック図である。 図2のマイクロプロセッサの、パワー管理回路に関連する部分の詳細ブロック図である。 マイクロプロセッサのパワー消費を減らす操作の好ましい実施例を説明するフローチャートである。 (a)及び(b)は、パワー管理制御信号を提供するピンを作動可能にし及び作動不能にするための回路を示す。 マイクロプロセッサのパワー消費を維持するためのソフトウェア制御される実施例の動作のフローチャートである。

Claims (3)

  1.  マイクロプロセッサであって、
     外部ピン、命令実行ユニットを含むパイプライン、命令デコーダ、マイクロプロセッサが前記デコーダによって新しい命令の出力を禁止する命令を実行している間外部信号によって前記外部ピンのアサーションに応答する手段、及び現在実行している命令の終わりにマイクロプロセッサの実行を停止するために、前記パイプラインにおける現在の命令の実行を完了するための手段を有することを特徴とするマイクロプロセッサ。
  2.  外部ピン、命令の各々がデコーダによってデコードされている一連の命令を実行する実行ユニットを有するパイプライン化されたマイクロプロセッサを動作する方法であって、
     前記マイクロプロセッサがデコードされた命令を実行している間、外部信号のアサーションによって外部ピンをアサートするステップと、
     前記デコーダによって新しい命令の出力を禁止するステップと、
     パイプラインにおける現在の命令を実行して、現在実行している命令の終わりにマイクロプロセッサの実行を停止するステップと、
    を有することを特徴とする方法。
  3.  マイクロプロセッサを有する装置であって、
     外部の制御信号源からアサーション及びデアサーション状態を有する入力する外部制御信号を伝える制御インタフェース端子及び外部のクロック信号源から入力する外部クロック信号を伝えるクロックインタフェース端子を有する複数の外部インタフェース端子と、
     第1の内部制御信号及び第2の内部制御信号を有する、それぞれのアサーション及びデアサーション状態を有する複数の内部制御信号を与えることによって、少なくとも前記外部制御信号に応答する、前記制御インタフェース端子に結合された制御回路と、前記第1の内部制御信号は、前記外部制御信号のアサーション状態に応答して前記アサーション状態をとり、
     前記第2の内部制御信号のデアサーション及びアサーション状態にそれぞれ対応するイネーブル及びディスエーブルされた状態を有する少なくとも第1の内部クロック信号を与えることによって、前記外部のクロック信号及び前記複数の内部制御信号の第2の信号に応答する、前記クロックインターフェース端子及び前記制御回路に結合されたクロック回路と、
     データ処理のための命令を実行することによって前記第1の内部クロック信号のイネーブル状態に応答するパイプライン及び前記パイプラインのサブ回路に結合され、前記パイプラインの動作の停止を制御することによって前記複数の内部制御信号の第1の信号に応答する例外プロセッサを含む、前記外部インタフェース端子、前記制御回路及び前記クロック回路の少なくともいずかに結合された複数のサブ回路と、
    を有し、
     前記第1の内部制御信号のアサーション状態に応答して、前記パイプラインは、前記アサーション状態の前記第1の内部制御信号によるアサンプション以前に開始された現在の命令の実行を完了し、且つ
     前記現在の命令の前記実行のパイプラインによる完了に続いて、前記例外プロセッサは、前記アサーション状態における前記第1の内部制御信号の、制御回路による準備を開始することを特徴とする装置。
JP2003303418A 1992-03-27 2003-08-27 マイクロプロセッサ及びマイクロプロセッサを動作する方法 Withdrawn JP2004005747A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85857992A 1992-03-27 1992-03-27
US07/859,110 US5375209A (en) 1992-03-27 1992-03-27 Microprocessor for selectively configuring pinout by activating tri-state device to disable internal clock from external pin

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP06664393A Division JP3529805B2 (ja) 1992-03-27 1993-03-25 ハードウェア制御パワー管理機能と選択可能な入出力制御ピンとを有するマイクロプロセッサ

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007105309A Division JP4621706B2 (ja) 1992-03-27 2007-03-15 ハードウェア制御のパワー管理機能を備えたコンピュータ・システム
JP2007105310A Division JP4382108B2 (ja) 1992-03-27 2007-03-15 ソフトウェア制御のパワー管理機能を備えたコンピュータ・システム

Publications (1)

Publication Number Publication Date
JP2004005747A true JP2004005747A (ja) 2004-01-08

Family

ID=27127467

Family Applications (4)

Application Number Title Priority Date Filing Date
JP06664393A Expired - Lifetime JP3529805B2 (ja) 1992-03-27 1993-03-25 ハードウェア制御パワー管理機能と選択可能な入出力制御ピンとを有するマイクロプロセッサ
JP2003303418A Withdrawn JP2004005747A (ja) 1992-03-27 2003-08-27 マイクロプロセッサ及びマイクロプロセッサを動作する方法
JP2007105309A Active JP4621706B2 (ja) 1992-03-27 2007-03-15 ハードウェア制御のパワー管理機能を備えたコンピュータ・システム
JP2007105310A Active JP4382108B2 (ja) 1992-03-27 2007-03-15 ソフトウェア制御のパワー管理機能を備えたコンピュータ・システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP06664393A Expired - Lifetime JP3529805B2 (ja) 1992-03-27 1993-03-25 ハードウェア制御パワー管理機能と選択可能な入出力制御ピンとを有するマイクロプロセッサ

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2007105309A Active JP4621706B2 (ja) 1992-03-27 2007-03-15 ハードウェア制御のパワー管理機能を備えたコンピュータ・システム
JP2007105310A Active JP4382108B2 (ja) 1992-03-27 2007-03-15 ソフトウェア制御のパワー管理機能を備えたコンピュータ・システム

Country Status (3)

Country Link
EP (5) EP1241555B1 (ja)
JP (4) JP3529805B2 (ja)
DE (4) DE69333542T2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337285A (en) * 1993-05-21 1994-08-09 Rambus, Inc. Method and apparatus for power control in devices
GB2294339A (en) * 1994-09-09 1996-04-24 Motorola Inc Power-saving in an expanded mode microcontroller
KR100462019B1 (ko) * 1998-04-16 2005-04-06 삼성전자주식회사 컴퓨터 시스템의 클럭제어장치 및 그 방법
US6243782B1 (en) * 1998-12-31 2001-06-05 Intel Corporation Method and apparatus for disabling a graphics device when an upgrade device is installed
ATE366958T1 (de) 2000-01-14 2007-08-15 Texas Instruments France Mikroprozessor mit ermässigtem stromverbrauch
DE10221529A1 (de) 2002-05-14 2003-12-04 Systemonic Ag Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten
DE10323861A1 (de) 2003-05-26 2004-12-30 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung, insbesondere zum Versetzen derselben in einen Stromsparmodus
EP1600845A1 (en) * 2004-05-28 2005-11-30 STMicroelectronics Limited Processor with power saving circuitry
CN1973582A (zh) 2004-06-21 2007-05-30 皇家飞利浦电子股份有限公司 气体放电灯驱动方法
CN105094968B (zh) * 2015-07-01 2019-05-21 小米科技有限责任公司 唤醒mcu的方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748559A (en) * 1979-08-09 1988-05-31 Motorola, Inc. Apparatus for reducing power consumed by a static microprocessor
US4316247A (en) * 1979-10-30 1982-02-16 Texas Instruments, Inc. Low power consumption data processing system
JPS58182736A (ja) * 1982-04-19 1983-10-25 Fujitsu Ltd バス制御方式
US4545030A (en) * 1982-09-28 1985-10-01 The John Hopkins University Synchronous clock stopper for microprocessor
US4851987A (en) * 1986-01-17 1989-07-25 International Business Machines Corporation System for reducing processor power consumption by stopping processor clock supply if a desired event does not occur
US4835728A (en) * 1986-08-13 1989-05-30 Amdahl Corporation Deterministic clock control apparatus for a data processing system
US5025387A (en) * 1988-09-06 1991-06-18 Motorola, Inc. Power saving arrangement for a clocked digital circuit
DE68925615T2 (de) * 1988-11-10 1996-09-12 Motorola Inc Digitalrechnersystem mit Niederstromverbrauchmodus
DE69233393T2 (de) * 1991-05-17 2005-08-11 Packard Bell NEC, Inc., Woodland Hills Leistungsmanagementsfunktion für einen rückwärtskompatiblen mikroprozessor

Also Published As

Publication number Publication date
DE69316417D1 (de) 1998-02-26
JP2007193845A (ja) 2007-08-02
EP1241555B1 (en) 2004-05-26
JP4382108B2 (ja) 2009-12-09
EP0828212B1 (en) 2008-07-16
JP3529805B2 (ja) 2004-05-24
EP0562885A2 (en) 1993-09-29
DE69333542T2 (de) 2005-06-30
DE69333445D1 (de) 2004-04-08
EP0562885A3 (en) 1993-12-08
JPH0643960A (ja) 1994-02-18
EP1237066A2 (en) 2002-09-04
EP1237066A3 (en) 2002-09-25
DE69316417T2 (de) 1998-05-28
JP4621706B2 (ja) 2011-01-26
DE69333542D1 (de) 2004-07-01
DE69334230D1 (de) 2008-08-28
EP0828212A1 (en) 1998-03-11
EP0831389A3 (en) 1998-08-05
EP0831389A2 (en) 1998-03-25
DE69333445T2 (de) 2005-07-14
EP1241555A2 (en) 2002-09-18
EP0562885B1 (en) 1998-01-21
EP1241555A3 (en) 2002-09-25
JP2007249986A (ja) 2007-09-27
EP1237066B1 (en) 2004-03-03

Similar Documents

Publication Publication Date Title
US5630143A (en) Microprocessor with externally controllable power management
US7900076B2 (en) Power management method for a pipelined computer system
US5632037A (en) Microprocessor having power management circuitry with coprocessor support
JP4621706B2 (ja) ハードウェア制御のパワー管理機能を備えたコンピュータ・システム
KR100352045B1 (ko) 컴퓨터시스템에서전력소모를감소시키기위한방법및장치
KR100229575B1 (ko) 정보처리시스템의 파워매니지먼트시스템
US20020095609A1 (en) Multiprocessor apparatus
JP3869049B2 (ja) コンピュータシステムにおけるスタンバイ中のデバイス構成のロス防止方法およびデバイス構成の捕捉のためのコントローラ回路
JPH0667768A (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
JP4689087B2 (ja) 情報処理装置及び省電力移行制御方法
US5375209A (en) Microprocessor for selectively configuring pinout by activating tri-state device to disable internal clock from external pin

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060613

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061113

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070420