DE69316417T2 - Reduzierung des Stromverbrauches in Mikroprozessoren - Google Patents

Reduzierung des Stromverbrauches in Mikroprozessoren

Info

Publication number
DE69316417T2
DE69316417T2 DE69316417T DE69316417T DE69316417T2 DE 69316417 T2 DE69316417 T2 DE 69316417T2 DE 69316417 T DE69316417 T DE 69316417T DE 69316417 T DE69316417 T DE 69316417T DE 69316417 T2 DE69316417 T2 DE 69316417T2
Authority
DE
Germany
Prior art keywords
signal
microprocessor
clock signal
clkb
susp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69316417T
Other languages
English (en)
Other versions
DE69316417D1 (de
Inventor
Mark Bluhm
Raul A Garibay
Margaret R Herubin
Robert D Maher
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.)
Cyrix Corp
Original Assignee
Cyrix 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 Cyrix Corp filed Critical Cyrix Corp
Application granted granted Critical
Publication of DE69316417D1 publication Critical patent/DE69316417D1/de
Publication of DE69316417T2 publication Critical patent/DE69316417T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or 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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Diese Erfindung betrifft im allgemeinen integrierte Schaitkreise und insbesondere Mikroprozessorvorrichtungen und die Reduktion des Stromverbrauchs in Mikroprozessorvorrichtungen.
  • In zunehmendem Maße müssen die Hersteller elektronischer Schaltkreise den Stromverbrauch ihrer Schaltungsplatinen reduzieren. Die Aufrechterhaltung der Stromversorgung bzw. das Sparen von Strom ist besonders wichtig bei tragbaren elektronischen Vorrichtungen, wie z.B. Laptop- oder Notebook-Computern, wo das Produkt speziell für die Verwendung in Situationen entworfen ist, wo Steckdosen nicht verfügbar sind. Da Laptop- und Notebook-Computer unter Verwendung interner Batterien oder wiederaufladbarer Batteriestapel für längere Zeitdauern arbeiten müssen, wird die Aufrechterhaltung der Batterieleistung bzw. das sparsame Umgehen mit dem Batteriestrom ein Hauptanliegen.
  • In einem Laptop- oder Notebook-Computer ist der größte Stromverbraucher die Anzeigevorrichtung. Der Anteil der von der Anzeige verbrauchten Energie variiert in Abhängigkeit von der verwendeten Technologie. Folglich haben die Hersteller von Laptop- und Notebook-Computern die Stromzufuhr zu der Anzeige während Perioden von Inaktivität deaktiviert. Das Entkoppeln der Anzeige von der Stromversorgung kann mit einer ziemlich einfachen Schaltungsanordnung erreicht werden.
  • Der nächstgrößere Stromverbraucher auf einem Laptop- oder Notebook-Computer ist der Zentraleinheitmikroprozessor auf der Hauptplatine bzw. CPU-Hauptplatinenmikroprozessor. Bisher haben die Computerhersteller eine oder zwei Techniken zum Reduzieren des Stromverbrauchs des Mikroprozessors während Inaktivitätsperioden verwendet. Eine Technik ver- ringert die Geschwindigkeit der Systemuhr bzw. des Systemtaktes während Inaktivitätsperioden auf einen Bruchteil der normalen Betriebsfrequenz. Da der Stromverbrauch des Mikroprozessors proportional zu der Frequenz ist, verringert die Verringerung der Frequenz des Systemtaktes ebenfalls den Stromverbrauch des Mikroprozessors. In einem Intel-Mikroprozessor 80386DX (hergestellt von der Intel Corporation in Santa Clara, Kalifornien) verringert die Verringerung der Betriebsfrequenz von 33 MHz auf 4 MHz den typischen Betriebsstrom des Mikroprozessors von 400 auf ungefähr 100 Milliampere. Nichtsdestotrotz stellt ein Betriebsstrom von 100 Milliampere für die Batterie immer noch eine große Stromentnahme dar.
  • Eine zweite Technik zum Verringern des Stromverbrauchs schaltet die Systemuhr während Inaktivitätsperioden ab. Das Abschalten der Systemuhr bzw. des Systemtaktgebers beeinflußt alle Schaltungsanordnungen auf der Hauptplatine. Folglich muß die Schaltungsanordnung, die die Systemuhr deaktiviert, ebenfalls alle zugehörigen Informationen im Mikroprozessor und in der assoziierten auf der Platine befindlichen Logik sichern und die Daten bei der Wiederaufnahme der Aktivität wiederherstellen, derart, daß der Zustand des Computers nach der Wiederaufnahme des Systemtaktes identisch zu dem Zustand des Computers vor der Deaktivierung der Systemuhr sein wird. Als ein Ergebnis davon ist diese Technik des Stromverbrauchs sowohl kostspielig, wegen der komplizierten Schaltungsanordnung, als auch langsam, wegen der Notwendigkeit, den Zustand des Computers zu speichern und wiederherzustellen.
  • Folglich ist in der Industrie ein Bedürfnis nach einem Verfahren und einer Vorrichtung zum sparsamen Umgehen mit der Energie in einer elektronischen Vorrichtung entstanden, die die Stromentnahme des Mikroprozessors ohne die Erfordernis für komplizierte externe Schaltungsanordnungen beträchtlich reduzieren.
  • Die europäische Patentanmeldung mit der Veröffentlichungsnummer EP-A-0 386 144 (Motorola) offenbart ein Mikrocomputersystem, das eine Zentraleinheit bzw. CPU, einen Intermodulbus (IMB) und ein Systemintegrationsmodul (SIM) aufweist. Das SIM stellt eine Schnittstelle zwischen dem IMB und einem externen Bus bereit, und stellt ebenfalls bestimmte Systemfunktionen wie z.B. Taktsignalerzeugung sowie -verteilung bereit. Ein Kleinleistungsmodus bzw. Schwachstrommodus für das Mikrocomputersystem wird durch die Ausführung eines bestimmten Befehls LPSTOP durch die CPU mituert. Wenn der LPSTOP-Befehl empfangen und mittels einer Mikromaschine 20 decodiert wird, werden eine Anzahl von Steuersignalen produziert, die bewirken, daß eine Ausführungseinheit und eine Busschnittstelle bestimmte Aufgaben bzw. Tasks durchführen. Ein oder mehrere Steuersignale werden erzeugt, welche bewirken, daß die Busschnittstelle einen speziellen Buszyklus ausführt, den LPSTOP-Zyklus. Das SIM reagiert auf den LPSTOP-Zyklus, indem es das IMB-Taktsignal CLOCK anhält. Die CPU und alle anderen internen Module des Mikrocomputersystems verwenden CLOCK als die alleinige Quelle für die fundamentale interne Zeitsteuerung. Folglich werden, wenn CLOCK angehalten wird, alle diese Module ebenfalls angehalten. Dies verringert den Stromverbrauch. Das SIM fährt fort, Taktsignale für seine eigene Verwendung zu erzeugen, und bleibt so während des Kleinleistungsmodus bzw. Schwachstrommodus "wach". Ein extern zugeführtes Taktsignal CLK kann oder kann nicht während des Kleinleistungsmodus angehalten werden, in Abhängigkeit von dem Zustand eines Steuerbits, welches innerhalb des SIM unter der Steuerung der CPU gesetzt wird. Es ist ebenfalls angedeutet, daß eine alternative Implementierung darin bestände, während des Kleinleistungsmodus fortzufahren, ein Taktsignal zu erzeugen und zu verteilen, und ebenfalls ein LPSTOP-Steuersignal zu erzeugen, welches an alle internen Module verteilt würde. In jedem Modul würde die Logik auf das LPSTOP-Steuersignal reagieren, indem sie entweder die Taktsignale blockiert und somit das Modul stillegt, oder indem sie die Taktsignale nicht blockiert und somit dem Modul erlaubt, den Betrieb während des Kleinleistungsmodus fortzusetzen. Diese alternative Ausführungsform würde einen erhöhten Leistungsverbrauch während des Kleinleistungsmodus nach sich ziehen, würde aber eine erhöhte Flexibilität bereitstellen, indem sie es einigen Modulen erlaubt, ihren Betrieb während des Kleinleistungsmodus fortzusetzen.
  • Das amerikanische Patent US-A-4 316 247 (Iwamoto) offenbart einen Mikrocomputer, bei dem interne Taktsignale mittels eines Taktgenerators auf der Grundlage externer Taktsignale erzeugt werden. Die Takterzeugung wird als Reaktion auf ein externes HALT-Signal während spezieller Pe rioden eines Ausführungszyklus angehalten.
  • Gemäß einem ersten Aspekt (Anspruch 1) der Erfindung wird eine Mikroprozessorvorrichtung bereitgestellt, die aufweist:
  • eine erste Einrichtung, die eine Vielzahl von Subschaltkreisen aufweist, wobei einer der Subschaltkreise eine Befehlsausführungspipeline aufweist, um Befehle zu empfangen und auszuführen;
  • eine Steuereinrichtung; und
  • einen Pulsgenerator für interne Taktsignale, der ein erstes Taksignal und ein zweites Taktsignal erzeugt, wobei der Pulsgenerator für interne Taktsignale das erste Taktsignal der ersten Einrichtung und das zweite Taktsignal der Steuerrichtung zuführt, und wobei das erste Taktsignal die Ausführung der Befehle in der Befehlsausführungspipeline steuert;
  • wobei die Steuereinrichtung mit einem Anschluß der Mikroprozessorvorrichtung gekoppelt ist und auf das Anlegen eines außerhalb bzw. extern der Mikroprozessorvorrichtung erzeugten Leistungssteuersignals an den Anschluß reagiert, um ein erstes Signal an die erste Einrichtung anzulegen;
  • wobei die erste Einrichtung auf das erste Signal reagiert, um das Vorrücken neuer Befehle in die Befehlsausführungspipeline einzustellen, um die gegenwärtig bzw. momentan in der Befehlsausführungspipeline befindlichen Befehle auszuführen, um eine Abschaltroutine zu initiieren und um die Erzeugung eines zweiten Signals zu bewirken; und
  • wobei die Steuereinrichtung auf das zweite Signal reagiert, um ein Mikroprozessorvorrichtungsausgangssignal auszugeben und um ein drittes Signal an den Pulsgenerator für interne Taktsignale anzulegen, um zu bewirken, daß er die Zuführung des ersten Taktsignals zu der ersten Einrichtung deaktiviert.
  • Gemäß einem zweiten Aspekt (Anspruch 9) der Erfindung wird ein Verfahren zum Reduzieren des Stromverbrauchs in einer Mikroprozessorvorrichtung während der Ausführung einer Folge von Befehlen, die einer Befehlsausführungspipeline zugeführt werden, bereitgestellt, mit den Verfahrensschritten:
  • Erzeugen, innerhalb der Mikroprozessorvorrichtung, eines ersten Taktsignals und eines zweiten Taktsignals mittels eines Pulsgenerators für interne Taktsignale; und
  • Zuführen des ersten Taktsignals zu einer ersten Einrichtung, die die Befehlsausführungspipeline umfaßt, und Zuführen des zweiten Taktsignals zu einer Steuereinrichtung, wobei das erste Taktsignal die Ausführung von Befehlen in der Befehlsausführungspipeline steuert;
  • Anlegen eines ersten Signals von der Steuereinrichtung an der ersten Einrichtung als Reaktion auf das Anlegen eines extern bzw. außerhalb der Mikroprozessorvorrichtung erzeugten Leistungssteuersignals an einem Anschluß der Mikroprozessorvorrichtung;
  • wobei die erste Einrichtung als Reaktion auf das erste Signal das Vorrücken neuer Befehle in die Befehlsausführungspipeline einstellt, die momentan bzw. gegenwärtig in der Befehlsausführungspipeline befindlichen Befehle ausführt, eine Abschaltroutine initiiert und die Erzeugung eines zweiten Signals bewirkt; und
  • wobei die Steuereinrichtung als Reaktion auf das zweite Signal ein Mikroprozessorvorrichtungsausgangssignal ausgibt und ein drittes Signal an den Pulsgenerator für inter ne Taktsignale anlegt, um zu bewirken, daß er die Zuführung des ersten Taktsignals zu der ersten Einrichtung deaktiviert.
  • Gemäß einer bevorzugten Form der Implementierung der hier beschriebenen vorliegenden Erfindung wird ein Verfahren und eine Vorrichtung bereitgestellt, welche beträchtliche Vorteile beim Reduzieren des Stromverbrauchs eines Mikroprozessors und verbesserte Leistungsmerkmale für einen Mikroprozessor bereitstellen.
  • Gemäß einem Merkmal der bevorzugten Form der Implementierung der vorliegenden Erfindung weist eine Verarbeitungseinheit eine Vielzahl von Subschaltkreisen und eine Schaltungsanordnung zum Erzeugen eines Taktsignals dafür auf. Die Schaltungsanordnung wird zur Detektion des Anlegens eines Steuersignals bereitgestellt; als Reaktion auf das Steuersignal deaktiviert eine Deaktivierungsschaltungsanordnung das Taktsignal zu einem oder mehreren der Subschaltkreise.
  • Dieses Merkmal liefert beträchtliche Vorteile gegenüber dem Stand der Technik. Eine beträchtliche Verringerung des von einem Computer verbrauchten Stromes kann dadurch bewirkt werden, daß man das Taktsignal zu der Mikroprozessorschaltungsanordnung deaktiviert. Dieses Merkmal ermöglicht es, daß die Deaktivierung und Aktivierung der Mikroprozessortaktsignale durch ein einzelnes Steuersignal gesteuert werden. Weiterhin kann ein Rückmeldesignal bzw. Quittungssignal bereitgestellt werden, um eine externe Schaltungsanordnung von dem Haltezustand des Mikroprozessors in Kenntnis zu setzen.
  • Eine bevorzugte Form der Implementierung, die hier beschrieben ist, der vorliegenden Erfindung umfaßt einen Mikroprozessor mit einer Vielzahl vbn Eingangs/Ausgangs-Pins und einer Verarbeitungsschaltungsanordnung, die mit den Eingangs-Ausgangs-Pins gekoppelt ist. Eine Schaltungsanordnung zum selektiven Entkoppeln der Verarbeitungsschaltungsanordnung von den Eingangs/Ausgangs-Pins ist bereitgestellt.
  • Insbesondere sind Dreizustandspuffer bzw. Tri-State- Puffer zwischen der Verarbeitungsschaltungsanordnung und den Eingangs/Ausgangs-Pins gekoppelt. Die Tri-State-Puffer werden durch den Ausgang bzw. die Ausgabe eines Registers gesteuert. Das Register kann Teil einer Registerreihe bzw. eines Registerfiles sein, das über die Eingangs/Ausgangs- Ports-Zugriffe addressierbar ist. Am Anfang wird das Register auf einen vorbestimmten Wert gesetzt; in der bevorzugten Ausführungsform wird das Register so gesetzt, daß sich die Tri-State-Puffer in einem Hochohmmodus befinden.
  • Dieses Merkmal liefert beträchtliche Vorteile. Gesteigerte Leistungsmerkmale können in dem Mikroprozessor bereitgestellt werden, der Anschlußstifte bzw. Pins benötigt, die man nicht auf anderen x86-kompatiblen Mikroprozessoren findet. Die Pins für die gesteigerten Leistungsmerkmale können selektiv durch die Tri-State-Vorrichtungen deaktiviert werden, um die Kompatibilität mit der x86-Mikroprozessorarchitektur sicherzustellen. In Situationen, wo die gesteigerten Leistungsmerkmale unterstützt werden, können die Pins selektiv durch Software aktiviert werden.
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgenden Beschreibungen in Zusammenhang mit den beigefügten Zeichnungen verwiesen, die zeigen:
  • Figur 1 ein Blockdiagramm eines Computersystems;
  • Figur 2 ein Blockdiagramm der bevorzugten Ausführungsform eines in dem Computersystem von Figur 1 verwendeten Mikroprozessors;
  • Figur 3 ein detailliertes Blockdiagramm von Teilen des Mikroprozessors aus Figur 2, die die Strommanagementschaltungsanordnung betreffen;
  • Figur 4 ein Flußdiagramm, das eine bevorzugte Ausführungsform des Betriebs zum Reduzieren des Mikroprozessorstromverbrauchs beschreibt;
  • die Figuren 5a-b Schaltungsanordnungen zum Aktivieren und Deaktivieren der Anschlußstifte bzw. Pins, die Strommanagementsteuersignale bereitstellen; und
  • Figur 6 ein Flußdiagramm des Betriebs einer Softwaregesteuerten Ausführungsform für sparsamen Mikroprozessorstromverbrauch.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung und ihre Vorteile werden am besten unter Bezugnahme auf die Figuren 1-6 der Zeichnungen verstanden, wobei gleiche Bezugszeichen für gleiche und entsprechende Teile der verschiedenen Zeichnungen verwendet werden.
  • Figur 1 veranschaulicht ein Blockdiagramm eines Computersystems. Das Computersystem 10 weist einen Mikroprozessor-CPU-Chip 12 auf, der mit einem Speichersubsystem 14 gekoppelt ist, einen BIOS-ROM 16 und Logikschaltkreis-Chips 18 (allgemein als der "Chip-Satz" bzw. "Chipsatz" bezeichnet). Der Mikroprozessor 12 ist mit dem Bus 20 gekoppelt. Der Bus 20 wird verwendet, um mit einer Anzahl von Peripheriegeräten zu kommunizieren, die in Figur 1 als ein Tastaturkontroller 22, Videokontroller 24, E/A-Schaltungsanordnung 26 und Plattenkontroller 28 gezeigt sind. Der Tastaturkontroller 22 ist mit der Tastatur 29 gekoppelt. Der Plattenkontroller 28 ist mit der Festplatte 30 und der Diskette 32 gekoppelt. Der Videokontroller 24 ist mit der Bildanzeige bzw. dem Sichtgerät 34 gekoppelt. Ein optionaler Coprozessor 35 ist mit dem Mikroprozessor 12 und BIOS- ROM 16 gekoppelt.
  • Das in Figur 1 gezeigte Computersystem 10 ist eine Universalarchitektur, die Personal-Computern wie zum Beispiel dem IBM Personal-Computer und IBM-Kompatiblen gemeinsam ist. Das BIOS 16 (basic input/output system - grundlegendes Eingabe/Ausgabe-System) ist typischerweise ein Nur-Lese- Speicher bzw. Festwertspeicher, der einen Satz von Programmen zum Durchführen der grundlegenden Steuer- und Überwachungsoperationen für das Computersystem 10 enthält. Das BIOS 16 fungiert als eine Schnittstelle zwischen der Computerschaltungsanordnung und der Anwendungs-Software, die von der CPU 12 ausgeführt wird. Wichtig ist, für Stromverbrauchzwecke, daß das BIOS 16 und die Logik 18 ausgewählte Schaltungsanordnungen überwachen, um zu ermitteln bzw. zu bestimmen, ob Stromverbrauchsreduktionsprozeduren aufgerufen werden können. Zum Beispiel können das BIOS 16 und/oder die Logik 18 die Anzeigevorrichtung bzw. das Sichtgerät 34 überwachen, um zu ermitteln, ob sich seine Ausgabe über eine vorbestimmte Zeitdauer hinweg geändert hat. Falls nicht, so kann das BIOS 16 Prozeduren aufrufen, um die Stromversorgung zu der Bildanzeige bzw. Anzeigevorrichtung 34 zu deaktivieren (unter der Annahme, daß das Computersystem 10 ein tragbarer Computer ist), um Energie zu sparen. Weiterhin überwacht das BIOS 16 den Mikroprozessor 12, um zu ermitteln bzw. zu bestimmen, ob der Mikroprozessor in den Ruhezustand versetzt werden kann, ohne den Betrieb des Computersystems 10 zu beeinflussen. Zum Beispiel kann der Mikroprozessor 12 eine Routine ausführen, um auf ein Zeichen von der Tastatur zu warten. In diesem Fall kann der Betrieb des Mikroprozessors angehalten bzw. vorübergehend eingestellt werden, bis eine Taste gedrückt wird.
  • Figur 2 veranschaulicht ein detailliertes Blockdiagramm der verschiedenen Subschaltkreise einer bevorzugten Ausführungsform des Mikroprozessors 12. Aus Gründen der Veranschaulichung wird der Mikroprozessor 12 in Zusammenhang mit einem Mikroprozessor beschrieben werden, der Pin-kompatibel und Befehl-kompatibel mit der 80x86-Prozessorfamilie der Intel Corporation ist, speziell dem 80386-Mikroprozessor, obwohl die Erfindung in anderen Prozessoren ebenfalls verwendet werden könnte. Der Mikroprozessor 12 umfaßt drei Hauptfunktionsgruppen: die Kernschaltungsanordnung 36, die Speicherschaltungsanordnung 38 und den Buskontroller 40. Die Kernschaltungsanordnung 36 weist eine Befehlswarteschlange 42 auf, die an einen internen Datenbus 44 gekoppelt ist. Der Ausgang der Befehlswarteschlange 42 ist mit einem Decodierer 46 der Decodier/Sortier-Schaltungsanordnung 47 gekoppelt. Die Decodier/Sortier-Schaltungsanordnung 47 weist ebenfalls einen Sortierer bzw. Sequencer 50 und einen Ausnahmeprozessor 86 auf. Der Decodierer 46 ist mit einem Mikrocode-ROM 48, dem Ausnahmeprozessor 86 und dem Sequencer 50 gekoppelt. Der Sequencer so ist ebenfalls mit dem Mikrocode-ROM 48 und einer Ausführungseinheit 52 gekoppelt. Die Ausführungseinheit umfaßt eine Begrenzungseinheit 54, eine Multiplizierereinheit 56, eine Addierereinheit 58, eine Verschiebungseinheit 60 und eine Registerreihe bzw. Registerfile 62. Die Ausführungseinheit 52 ist mit dem Mikrocode-ROM 48 und der Multiplexer- und EA-Register-Schaltungsanordnung 64 gekoppelt. Die Speicherschaltungsanordnung 38 umfaßt eine Speicherverwaltungseinheit 66, die mit einem linearen Adreßbus 68 gekoppelt ist, der ebenfalls mit der Ausführungseinheit 52 und einem Befehl/Daten-Cache- Speicher 70 verbunden ist. Die Speicherverwaltungseinheit 66 ist weiterhin mit dem internen Datenbus 44 gekoppelt. Eine Vorabhol-Einheit 72 ist zwischen die Speicherverwaltungseinheit 66 und den Cache 70 gekoppelt bzw. geschaltet. Der Buskontroller 40 weist Datenpuffer 74,. Adreßpuffer 76 und eine Steuerschaltungsanordnung 78 auf. Die Datenpuffer 74 sind mit den Daten-E/A-Pins D31-DO gekoppelt, und die Adreßpuffer 76 sind mit den Adreß-Pins A31-A2 und BE3#-BE0# gekoppelt. Ein Datenadreßbus 80 koppelt die Speicherverwaltungseinheit 76, den Cache 70 und den Adreßpuffer 76. Ein Befehlsadreßbus 82 koppelt die Vorabhol-Einheit 72, den Cache 70 und den Adreßpuffer 76. Die Datenpuffer 74 sind mit dem internen Datenbus 44 gekoppelt.
  • Ein Taktsignalrnodul 84 empfängt ein externes Taktsignal (CLK2) und erzeugt CLKA (verbunden mit dem Buskontroller 40) und CLKB (gekoppelt mit der Speicherschaltungsanordnung 38 und der Kernschaltungsanordnung 36). CLKA und CLKB sind beide Taktsignale mit der Hälfte der Frequenz von CLK2. Das Taktsignalmodul 84 empfängt Steuersignale vom Buskontroller 40.
  • Im Betrieb werden Befehle durch den Mikroprozessor 12 vom externen Speicher bzw. Externspeicher unter der Steuerung der Speicherverwaltungseinheit 66 empfangen. Für ein verbessertes Leistungsverhalten speichert ein Befehl/Daten- Cache 70 Befehle und Daten, die durch den Buskontroller 40 empfangen werden. Befehle werden in der Befehlswarteschlange 42 gespeichert und aufeinanderfolgend mittels der Decodierschaltungsanordnung 46 in Mikrocode übersetzt bzw. um gesetzt. Unter der Steuerung des Decodierers 46 und der Ausführungseinheit 52 zeigt der Sortierer bzw. Sequencer auf die nächste Adresse im Mikrocode-ROM 48. Die Ausführungseinheit 52 verarbeitet die Informationen unter der Steuerung des Mikrocode-ROM 48 weiter.
  • In der bevorzugten Ausführungsform besitzt der Mikroprozessor 12 ein statisches Design, d.h., das Verweilen der Daten in den internen Speichern und Registern des Mikroprozessors 12 hängt nicht vom Taktsignal ab. Wie ausführlicher unten beschrieben ist, kann das Taktsignalmodul 84, unter der Steuerung des Buskontrollers 40, die Taktsignale zu den Subschaltkreisen der Kernschaltungsanordnung 36 und der Speicherschaltungsanordnung 38 deaktivieren, während es fortfährt, Taktsignale zu bzw. für den Buskontroller 40 zu erzeugen. Somit kann während Peri(oden der Inaktivität ein großer Teil der Schaltungsanordnung des Mikroprozessors angehalten bzw. vorübergehend stillgelegt werden, wodurch der Strom, der vom Mikroprozessor 12 verbraucht wird, in großem Umfang reduziert wird.
  • Die Figuren 3 und 4 beschreiben die Stromreduzierungsschaltungsanordnung ausführlicher. Figur 3 ist ein Blockdiagramm, das Steuersignale zwischen verschiedenen Teilen des Mikroprozessors zeigt. Der Buskontroller 40 steuert Signale von externen Pins des Mikroprozessors 12. Ein Haltesignal (SUSP) wird in den Buskontroller 40 eingegeben und eine Halterückmeldung bzw. Haltequittung (SUSPACK) wird von dem Buskontroller 40 ausgegeben. Ein belegt bzw. aktiv (BUSY) wird von dem Buskontroller 40 von dem Coprozessor 35 empfangen. Der Buskontroller 40 empfängt ebenfalls eine maskierbare Unterbrechung bzw. einen maskierbaren Interrupt (INTR) und eine nicht-maskierbare Unterbrechung bzw. einen nicht-maskierbaren Interrupt (NMI). Der Buskontroller 40 gibt einen Interrupt (oder eine "Exception" bzw. "Ausnahme") F_SUSP an den Ausnahmeprozessor 86 aus und empfängt ein Steuersignal D_SUSPACK. Der Ausnahmeprozessor 86 überwacht ebenfalls den Mikrocode-ROM 48, den Buskontroller 40 und die Ausführungseinheit 52, um zu ermitteln, ob Befehle ausgeführt werden. Der Ausnahmeprozessor 86 gibt ein Signal D_EXCEPTION an den Sequencer 50 aus und empfängt ein Steuersignal U_AHALT vorn Mikrocode-ROM 48. Der Buskontroller 40 gibt ein Steuersignal F_IDLE an das Taktsignalmodul 84 aus.
  • Im Betrieb ermittelt bzw. detektiert ein externer Schaltkreis (typischerweise das BIOS 16 zusammen mit der Logik 18) Zustände, in denen die Mikroprozessoroperationen angehalten werden könnten (z.B. wenn der Mikroprozessor ein Programm bzw. eine Routine ausführt, um auf ein Zeichen von der Tastatur zu warten). Wenn solch eine Situation detektiert wird, aktiviert der externe Schaltkreis den SUSP-Pin (z.B. indem er den SUSP-Pin mit einer logischen Niedrigspannung ansteuert). Als Reaktion auf das Anlegen des SUSP-Signals legt der Buskontroller 40, zusämmen mit dem Ausnahmeprozessor 86, das F_IDLE-Steuersignal an das Taktsignalmodul 84 an. Als Reaktion auf das Anlegen des F_IDLE- Signals deaktiviert das Taktsignalmodul 84 die CLKB-Taktsignale (indem es das deaktivierte Taktsignal auf einer logischen Hochspannung oder logischen Niedrigspannung hält), während es fortfährt, die CLKA-Taktsignale zu erzeugen. Da die Konstruktion bzw. das Design des Mikroprozessors statisch ist, erfordern die Speicher kein Auffrischen bzw. Refreshing, und folglich wird das Anhalten des Taktes bzw. Taktgebers nicht zu einem Verlust von Daten innerhalb des Mikroprozessors 12 führen. Das SUSPACK-Signal wird aktiviert, um die externe Schaltungsanordnung davon in Kenntnis zu setzen, daß sich der Mikroprozessor 12 im Haltezustand bzw. im Zustand vorübergehender Einstellung der Operationen befindet. Um den Betrieb des Mikroprozessors 12 wiederaufzunehmen, wird das SUSP-Signal deaktiviert (d.h. indem eine logische Niedrigspannung an den SUSP-Pin angelegt wird), beispielsweise wenn ein Signal von der Tastatur durch das BIOS 16 und die Logik 18 detektiert wird.
  • Indem die Taktsignale zu der Kernschaltungsanordnung 36 und der Speicherschaltungsanordnung 38 angehalten werden, wird eine beträchtliche Reduktion des von dem Mikroprozessor 12 verbrauchten Stroms realisiert. Der Buskontroller 40 bleibt aktiv, um die E/A-Signale zwischen dem Mikroprozessor 12 und der externen Schaltkreisanordnung zu beobachten und zu steuern.
  • Fig. 4 veranschaulicht ein Flußdiagramm, das einen ausführlicheren Betrieb bzw. Arbeitsweise des Haltemodus bzw. Modus vorübergehender Einstellung der Operationen zeigt. Im Entscheidungsblock 88 wird eine Schleife gebildet, in der darauf gewartet wird, daß das SUSP-Signal aktiviert wird. Im Block 90, nachdem das SUSP-Signal aktiviert ist, aktiviert der Buskontroller 40 das F_SUSP-Signal, das mit dem Ausnahmeprozessor 86 gekoppelt ist. In Block 92, als Reaktion auf das Anlegen des F_SUSP-Signals, wird die Befehlswarteschlange 42 daran gehindert, neue Befehle vorrücken zu lassen. In Block 94 hört der Decodierer 46 auf, neue Befehle zu dem Mikrocode-ROM 48 durchzureichen, und alle Befehle, die momentan von dem Mikrocode-ROM 48 oder der Ausführungseinheit 52 (kollektiv, die "Pipeline") verarbeitet werden, werden beendet bzw. abgeschlossen, einschließlich jeglicher Aktivität durch den Buskontroller 40, was die Befehle in der Pipeline anbetrifft. Nachdem alle Befehle in der Pipeline ausgeführt worden sind, wird in Block 96 das Steuersignal D_EXCEPTION durch den Ausnahmeprozessor 86 aktiviert. D_EXCEPTION wird von dem Sortierer bzw. Sequencer 50 empfangen, der eine Abschaltmikrocoderoutine (Block 98) als Reaktion auf D_EXCEPTION initiiert. Die Abschaltmikrocoderoutine bereitet den Mikroprozessor für den Haltemodus vor. In Block 100 legt der Mikrocode-ROM 48 das Steuersignal U_AHALT an den Ausnahmeprozessor 96 an. Als Reaktion auf den Empfang von U_AHALT, legt in Block 102 der Ausnahmeprozessor 86 D_SUSPACK an den Buskontroller 40 an. In der Entscheidung 104 überprüft der Buskontroller 40, nach dem Empfang von D_SUSPACK von dem Ausnahmeprozessor, das vom Coprozessor empfangene Aktivsignal bzw. Busy-Signal. Solange wie das Aktivsignal bzw. Busy-Signal vom Coprozessor anliegt, wird das SUSPACK-Signal nicht an die externe Schaltungsanordnung angelegt und CLKB nicht deaktiviert werden. Sobald das Busy-Signal durch den Coprozessor deaktiviert ist, wird das SUSPACK-Signal durch den Buskontroller 40 aktiviert, um die externe Schaltungsanordnung zu warnen, daß sich der Mikroprozessor 12 in einem Haltezustand befindet und daß der Coprozessor gegenwärtig keine Berechnungen durchführt und ebenfalls vorübergehend stillgelegt werden kann. In Block 108 wird F_IDLE durch den Buskontroller 40 an das Taktsignalmodul 84 angelegt. Als Reaktion auf die Aktivierung des F_IDLE-Signals deaktiviert in Block 109 das Taktsignalmodul 84 das CLKB, wodurch der Betrieb der Kernschaltungsanordnung 36 und der Speicherschaltungsanordnung 38 angehalten wird. Der Buskontroller 40 wartet dann, bis das SUSP-Signal im Entscheidungsblock 110 deaktiviert wird. Mit der Deaktivierung des SUSP-Signals wird CLKB wiederaufgenommen.
  • Die meisten Mikroprozessoren, einschließlich des 80386, verwenden nicht alle Pins bzw. Anschlußstifte, die auf der Chipbaugruppe verfügbar sind. Folglich können die SUSP- und SUSPACK-Signale zu und von dem Mikroprozessor 12 unter Verwendung ungenutzter Pins gesendet werden, wodurch die Kompatibilität mit einer schon früher existierenden Technologie aufrechterhalten wird. Nichtsdestotrotz können, in der bevorzugten Ausführungsform, die Pins für die SUSP- und SUSPACK-Signale selektiv aktiviert oder deaktiviert werden. In der bevorzugten Ausführungsform sind die SUSP- und SUS- PACK-Pins anfangs deaktiviert, und das BIOS 16 muß konfiguriert werden, um die Pins in seiner Hochfahrroutine zu aktivieren. Um das Aktivieren oder Deaktivieren der SUSP- und SUSPACK-Pins zu bewirken, wird ein Steuerbit bereitgestellt, das über vorausgewählte E/A-Ports geschrieben oder gelesen werden kann. Die bevorzugte Ausführungsform dieses Aspekts wird ausführlicher in Verbindung mit den Figuren 5a-b gezeigt.
  • In Figur 5a kann auf eine Vielzahl von Steuerregistern in dem Mikroprozessor 12 (Figur 1) unter Verwendung von IN- DEX- und DATA-Signalen bzw. Datensignalen zugegriffen werden, die in die Steuerregister 120 eingegeben bzw. angelegt werden. Die Mehrzahl der Register (und ihrer Bits) werden zum Konfigurieren des Cache-Speichersubsystems verwendet. Zum Beispiel können die Steuerregister verwendet werden, um nicht-cachebare Bereiche des Hauptspeichers 14 zu definieren, um die Cache-Organisation zu wählen (einfach-assoziativ oder set-assoziativ bzw. mehrfach-assoziativ) und um die Entleerung des Cache-Speichers 70 über einen externen Pin auszulösen. Auf jedes Steuerregister kann zugegriffen werden, indem man die Adresse (im folgenden als der INDEX bezeichnet) des Registers in einen E/A-Port schreibt, in Figur 5a als E/A-Port 22h gezeigt. Ein weiterer E/A-Port, der hier als E/A-Port 23h gezeigt ist, wird verwendet, um Daten von dem spezifizierten Steuerregister zu lesen oder zu schreiben. In der bevorzugten Ausführungsform geht jeder E/A-Port-23h-Operation eine E/A-Port-22h-Operation voraus, ansonsten wäre die zweite und spätere E/A-Port-23h-Operation off-chip bzw. aus dem Chip heraus gerichtet. In der veranschaulichten Ausführungsform von Figur 5a besitzen alle Steuerregister einen Index zwischen C0h und CFh.
  • In Figur 5b verwendet das Register 122, das einen Index von C0h aufweist, sein niederwertigstes Bit, um die Tri- State-Vorrichtungen 124 und 126 zu steuern (von denen jede, zusätzlich zu den HI- und LO-Zuständen, den niederohmigen Zuständen 1 und 0, einen hochohmigen dritten Zustand aufweist). Ein Bit, das logisch hoch (d.h., logisch "1") ist, aktiviert bzw. schaltet beide Tri-State-Vorrichtungen 124 und 126, um die übertragung der SUSP- und SUSPACK-Signale bereitzustellen. Eine logische "0" deaktiviert die Tristate-Vorrichtungen 124 und 126 und isoliert dadurch die SUSP- und SUSPACK-Pins von der Schaltungsanordnung des Mikroprozessors 12.
  • Dieser Aspekt der bevorzugten Ausführungsform stellt die Pin-Kompatibilität mit den Pin-Strukturen existierender Mikroprozessoren sicher.
  • Figur 6 veranschaulicht einen weiteren Aspekt der vorliegenden Erfindung, worin der Betrieb des Mikroprozessors 12 als Reaktion auf ein Software-Kommando angehalten werden kann.
  • 80x86-Vorrichtungen unterstützen eine "HALT"-Operation (Operationscode bzw. Opcode F4), die die Ausführung aller Befehle stoppt und den 80x86 in einen Halt-Zustand bzw. HALT-Zustand versetzt. Die Ausführung wird wieder als Reaktion auf eine nicht-maskierbare Unterbrechung bzw. einen nicht-maskierbaren Interrupt (auf dem NMI-Pin, der mit dem Buskontroller 40 gekoppelt ist), einen unmaskierten Interrupt (auf dem INTR-Pin, der mit dem Buskontroller 40 gekoppelt ist) oder einem Rücksetzen bzw. einem RESET aufgenommen. Normalerweise wird dieser Befehl als der letzte Befehl in einer Folge verwendet, welche das System stillegt.
  • In der vorliegenden Erfindung jedoch besitzt der HALT- Befehl im wesentlichen dieselbe Wirkung wie ein Aktivieren des SUSP-Pins. Folglich kann das BIOS 16 einen HALT-Befehl an den Mikroprozessor 12 übergeben, wodurch CLKB deaktiviert wird. Wiederum wird das Deaktivieren von CLKB zu einer beträchtlichen Reduktion des von dem Mikroprozessor 12 verbrauchten Stroms führen.
  • Figur 6 veranschaulicht ein Flußdiagramm, das den Betrieb bzw. die Arbeitsweise des HALT-Befehls in der bevorzugten Ausführungsform zeigt. Sobald im Entscheidungsblock 130 ein HALT-Befehl zu dem Mikroprozessor 12 empfangen wird, wird durch den Mikrocode-ROM 48 in Block 132 U_AHALT aktiviert. Als Reaktion auf das U_AHALT-Signal vom Mikrocode-ROM aktiviert der Ausnahmeprozessor 86 D_SUSPACK. Nachdem im Entscheidungsblock 136 das Aktiv-Signal bzw. Busy-Signal von dem Coprozessor überprüft wurde, wird in Block 140 durch den Buskontroller 40 das SUSPACK-Signal aktiviert und in Block 142 das interne CLKB-Taktsignal deaktiviert. Im Entscheidungsblock 144 verbleibt der Mikroprozessor 12 im Haltezustand bzw. Zustand vorübergehender Einstellung der Operationen, bis im Entscheidungsblock 144 eine Unterbrechung bzw. ein Interrupt aktiviert wird. Sobald der Interrupt aktiviert ist, wird das CLKB-Taktsignal aktiviert bzw. freigegeben und die Verarbeitung fährt fort.
  • Der HALT-Befehl ermöglicht es dem BIOS 16, den Mikroprozessor 12 in einen Haltezustand zu versetzen, ohne irgendwelche zusätzlichen Hardware-Verbindungen zu dem Mikroprozessor.
  • Die vorliegende Erfindung liefert beträchtliche Vorteile gegenüber dem Stand der Technik. Indern die Taktsignale bzw. Taktgeber zu der Kernschaltungsanordnung und der Speicherschaltungsanordnung angehalten bzw. vorübergehend stillgelegt wurden, wurde ein Stromverbrauch von weniger als 10 Milliampere demonstriert. Da die meisten BIOS-Programme Stromsparmaßnahmen unterstützen, ist die zusätzliche Codierung zum Unterstützen der SUSP- und SUSPACK-Signale relativ einfach. Alternativ kann die Chipsatzlogik 18 modifiziert werden, um die Erzeugung der SUSP- und SUSPACK-Signale zu unterstützen. Weiterhin, da das SUSPACK in der bevorzugten Ausführungsform nicht aktiviert bzw. angelegt wird, bis nachdem die Coprozessoroperationen beendet bzw. abgeschlossen sind, muß das BIOS nicht zusätzliche Schaltungsanordnungen oder Codes zum Überwachen des Coprozessors bereitstellen. Weiterhin kann die Stromsparschaltungsanordnung auf dem Mikroprozessorchip bereitgestellt werden, ohne die Pin-Kompatibilität zu opfern. Zusätzlich, dadurch, daß man das verbesserte HALT-Kommando verwendet, kann der Mikroprozessor in einem Haltezustand ohne irgendeinen Hardware-Eingriff betrieben werden, anstatt einen Interrupt zu aktivieren, um den Mikroprozessor 12 aus einem Haltezustand herauszubringen.

Claims (12)

1. Eine Mikroprozessorvorrichtung (12) mit: einer ersten Einrichtung (36, 38), die eine Vielzahl von Subschaltkreisen (36, 38) aufweist, wobei einer der Subschaltkreise eine Befehlsausführungspipeline (48, 52) aufweist, um Befehle zu empfangen und auszuführen;
einer Steuereinrichtung (40); und
einem Pulsgenerator (84) für interne Taktsignale, der ein erstes Taktsignal (CLKB) und ein zweites Taktsignal (CLKA) erzeugt, wobei der Pulsgenerator (84) für interne Taktsignale das erste Taktsignal (CLKB) der ersten Einrichtung (36, 38) und das zweite Taktsignal (CLKA) der Steuereinrichtung (40) zuführt, und wobei das erste Taktsignal (CLKB) die Ausführung der Befehle in der Befehlsausführungspipeline (48, 52) steuert;
wobei die Steuereinrichtung (40) mit einem Anschluß der Mikroprozessorvorrichtung (12) gekoppelt ist und auf das Anlegen eines außerhalb der Mikroprozessorvorrich tung (12) erzeugten Leistungssteuersignals (SUSP) an den Anschluß reagiert, um ein erstes Signal (F_SUSP) an die erste Einrichtung (36, 38) anzulegen;
wobei die erste Einrichtung (36, 38) auf das erste Signal (F_SUSP) reagiert, um das Vorrücken neuer Befehle in die Befehlsausführungspipeline einzustellen, um die gegenwärtig in der Befehlsausführungspipeline befindlichen Befehle auszuführen, um eine Abschaltroutine zu initiieren und um die Erzeugung eines zweiten Signals (D_SUSPACK) zu bewirken; und wobei die Steuereinrichtung (40) auf das zweite Signal (D_SUSPACK) reagiert, um ein Mikroprozessorvorrichtungsausgangssignal (SUSPACK) auszugeben und um ein drittes Signal (F_IDLE) an den Pulsgenerator (84) für interne Taktsignale anzulegen, um zu bewirken, daß er die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) deaktiviert.
2. Eine Mikroprozessorvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Einrichtung (36, 38) einen Ausnahmeprozessor (86) aufweist, der mit der Befehlsausführungspipeline (48, 52) gekoppelt ist, dadurch gekennzeichnet, daß die Steuereinrichtung (40) das erste Signal (F_SUSP) an den Ausnahmeprozessor anlegt, um das Vorrücken neuer Befehle zur Befehlsausführungspipeline (48, 52) zu verhindern, und dadurch gekennzeichnet, daß, nach der Ausführung der gegenwärtig in der Befehlsausführungspipeline befindlichen Befehle, der Ausnahmeprozessor ein viertes Signal (D_EXCEPTION) ausgibt, um die Initiierung der Abschaltroutine auszulösen.
3. Eine Mikroprozessorvorrichtung nach Anspruch 1 oder Anspruch 2, dadurch gekennzeichnet, daß der Pulsgenerator (84) für interne Taktsignale damit fortfährt, das zweite Taktsignal (CLKA) der Steuereinrichtung (40) zu zuführen, wenn die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) deaktiviert wird.
4. Eine Mikroprozessorvorrichtung gemäß einem der Ansprüche 1 bis 3, die eine Einrichtung (40) aufweist, um es dem Pulsgenerator (84) für interne Taktsignale zu ermöglichen, die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) als Reaktion auf eine Deaktivierung des externen Leistungssteuersignals (SUSPACK) wieder aufzunehmen.
5. Eine Mikroprozessorvorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Befehlsausführungspipeline (48, 52) eine Befehlsausführungsvorrichtung (52) aufweist, gekoppelt, um Mikrobefehle zur Ausführung von einem Mikrobefehlsspeicher (48) unter Steuerung eines Befehlsdecodierers (46) zu empfangen.
6. Eine Mikroprozessorvorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Steuereinrichtung (40) die Ausgabe durch den Befehlsdecodierer (46) mittels Anlegen des ersten Signals (F_SUSP) an der ersten Einrichtung sperrt.
7. Ein Computersystem, das eine Mikroprozessorvorrichtung gemäß einem der Ansprüche 1 bis 6 aufweist, dadurch gekennzeichnet, daß das Computersystem desweiteren aufweist: eine Quelle für ein Referenztaktsignal (CLK2), die mit dem Pulsgenerator (84) für interne Taktsignale gekoppelt ist, um die Frequenz der ersten und zweiten Taktsignale (CLKB, CLKA), die durch den Pulsgenerator für interne Taktsignale zugeführt werden, zu bestimmen; und eine Einrichtung, um, unabhängig von den Taktsignalen, das externe Leistungssteuersignal (SUSP) an den Mikroprozessoranschluß anzulegen; und wobei das Mikroprozessorvorrichtungsausgangssignal (SUSPACK) dem Computersystem ein Signal über einen Zustand vorübergehender Einstellung der Operationen der Mikroprozessorvorrichtung bereitstellt.
8. Ein Computersystem nach Anspruch 7, das eine Logik (18) aufweist, die auf die Betriebsbedingungen des Computersystems reagiert, nachfolgend auf das Anlegen des Leistungssteuersignals (SUSP), die eine Wiederaufnahme der Operationen durch den Mikroprozessor erfordern, um das Leistungssteuersignal zu deaktivieren, um es der Steuereinrichtung (40) zu ermöglichen, die Wiederaufnahme der zuvor deaktivierten Zuführung des ersten Taktsignals (CLKB) durch den Pulsgenerator (84) für interne Taktsignale zu bewirken.
9. Ein Verfahren zum Reduzieren des Stromverbrauchs in einer Mikroprozessorvorrichtung (12) während der Ausführung einer Folge von Befehlen, die einer Befehlsausführungspipeline (48, 52) zugeführt werden, mit den Verfahrensschritten:
Erzeugen (84), innerhalb der Mikroprozessorvorrichtung (12), mittels eines Pulsgenerators (84) für interne Taktsignale, eines ersten Taktsignals (CLKB) und eines zweiten Taktsignals (CLKA);
Zuführen des ersten Taktsignals (CLKB) zu einer ersten Einrichtung (36, 38), die die Befehlsausführungspipeline (48, 52) aufweist, und Zuführen des zweiten Taktsignals (CLKA) zu einer Steuereinrichtung (40), wobei das erste Taktsignal (CLKB) die Ausführung von Befehlen in der Befehlsausführungspipeline (48, 52) steuert;
Anlegen eines ersten Signals (F_SUSP) von der Steuereinrichtung (40) an der ersten Einrichtung (36, 38) als Reaktion auf das Anlegen eines außerhalb der Mikroprozessorvorrichtung (12) erzeugten Leistungssteuersignals (SUSP) an einem Anschluß der Mikroprozessorvorrichtung (12);
wobei die erste Einrichtung (36, 38) als Reaktion auf das erste Signal das Vorrücken neuer Befehle in die Befehlsausführungspipeline einstellt, die gegenwärtig in der Befehlsausführungspipeline befindlichen Befehle ausführt, eine Abschaltroutine initiiert und die Erzeugung eines zweiten Signales (D_SUSPACK) bewirkt; und wobei die Steuereinrichtung (40) als Reaktion auf das zweite Signal (D_SUSPACK) ein Mikroprozessorvorrichtungsausgangssignal (SUSPACK) ausgibt und ein drittes Signal (F_IDLE) an den Pulsgenerator für interne Taktsignale anlegt, um zu bewirken, daß er die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) deaktiviert.
10. Ein Verfahren nach Anspruch 9, dadurch.gekennzeichnet, daß die Zuführung des zweiten Taktsignals (CLKA) zu der Steuereinrichtung (40) fortgesetzt wird, wenn die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) deaktiviert wird.
11. Ein Verfahren nach Anspruch 9 oder Anspruch 10, dadurch gekennzeichnet, daß die Zuführung des ersten Taktsignals (CLKB) zu der ersten Einrichtung (36, 38) durch eine Deaktivierung des externen Leistungssteuersignals (SUSP) wieder aufgenommen wird.
12. Ein Verfahren nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, daß die Frequenz der Taktsignale (CLKB, CLKA) durch ein außerhalb der Mikroprozessorvorrichtung (12) erzeugtes Referenztaktsignal (CLK2) bestimmt wird.
DE69316417T 1992-03-27 1993-03-26 Reduzierung des Stromverbrauches in Mikroprozessoren Expired - Lifetime DE69316417T2 (de)

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

Publications (2)

Publication Number Publication Date
DE69316417D1 DE69316417D1 (de) 1998-02-26
DE69316417T2 true DE69316417T2 (de) 1998-05-28

Family

ID=27127467

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69333542T Expired - Lifetime DE69333542T2 (de) 1992-03-27 1993-03-26 Verfahren in einem Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs- Ausgangssteuerungssteckerstiften
DE69334230T Expired - Fee Related DE69334230D1 (de) 1992-03-27 1993-03-26 Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür
DE69316417T Expired - Lifetime DE69316417T2 (de) 1992-03-27 1993-03-26 Reduzierung des Stromverbrauches in Mikroprozessoren
DE69333445T Expired - Lifetime DE69333445T2 (de) 1992-03-27 1993-03-26 Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69333542T Expired - Lifetime DE69333542T2 (de) 1992-03-27 1993-03-26 Verfahren in einem Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs- Ausgangssteuerungssteckerstiften
DE69334230T Expired - Fee Related DE69334230D1 (de) 1992-03-27 1993-03-26 Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69333445T Expired - Lifetime DE69333445T2 (de) 1992-03-27 1993-03-26 Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür

Country Status (3)

Country Link
EP (5) EP0562885B1 (de)
JP (4) JP3529805B2 (de)
DE (4) DE69333542T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (9)

* 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
EP1600845A1 (de) * 2004-05-28 2005-11-30 STMicroelectronics Limited Prozessor mit Stromsparschaltung
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
JP3701965B2 (ja) * 1991-05-17 2005-10-05 日本電気株式会社 保護モードマイクロプロセッサ及びハードディスクのための中断/再開機能とアイドルモードの実現

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7707445B2 (en) 2003-05-26 2010-04-27 Infineon Technologies Ag Integrated circuit

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69517712T2 (de) Verfahren und Vorrichtung zur Reduzierung der Leistungsaufnahme in einem Rechnersystem
DE69329364T2 (de) Zentralprozessoreinheit mit verminderter Leistungsaufnahme
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
US5630143A (en) Microprocessor with externally controllable power management
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
US7900076B2 (en) Power management method for a pipelined computer system
DE69027510T2 (de) Echtzeitleistungseinsparung für tragbare Rechner
DE69228600T2 (de) Kleinleistungs-rechnerarchitektur und verfahren
US5632037A (en) Microprocessor having power management circuitry with coprocessor support
DE112007003113B4 (de) Reduzieren von Leerlauf-Verlustleistung in einem integrierten Schaltkreis
JP4382108B2 (ja) ソフトウェア制御のパワー管理機能を備えたコンピュータ・システム
DE69601311T2 (de) Wecksystem für pcmcia karte
DE69909924T2 (de) Verfahren und Vorrichtung zur Reduzierung der Verlustleistung in einer Schaltung
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
8364 No opposition during term of opposition