DE69316417T2 - Reduzierung des Stromverbrauches in Mikroprozessoren - Google Patents
Reduzierung des Stromverbrauches in MikroprozessorenInfo
- 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
Links
- 230000009467 reduction Effects 0.000 title description 7
- 230000015654 memory Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 16
- 230000009849 deactivation Effects 0.000 claims description 2
- 239000000725 suspension Substances 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 239000000872 buffer Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
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)
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)
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)
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 | 日本電気株式会社 | 保護モードマイクロプロセッサ及びハードディスクのための中断/再開機能とアイドルモードの実現 |
-
1993
- 1993-03-25 JP JP06664393A patent/JP3529805B2/ja not_active Expired - Lifetime
- 1993-03-26 EP EP93302399A patent/EP0562885B1/de not_active Expired - Lifetime
- 1993-03-26 EP EP02077210A patent/EP1237066B1/de not_active Expired - Lifetime
- 1993-03-26 DE DE69333542T patent/DE69333542T2/de not_active Expired - Lifetime
- 1993-03-26 DE DE69334230T patent/DE69334230D1/de not_active Expired - Fee Related
- 1993-03-26 EP EP97202844A patent/EP0828212B1/de not_active Expired - Lifetime
- 1993-03-26 DE DE69316417T patent/DE69316417T2/de not_active Expired - Lifetime
- 1993-03-26 DE DE69333445T patent/DE69333445T2/de not_active Expired - Lifetime
- 1993-03-26 EP EP97202629A patent/EP0831389A3/de not_active Withdrawn
- 1993-03-26 EP EP02077209A patent/EP1241555B1/de not_active Expired - Lifetime
-
2003
- 2003-08-27 JP JP2003303418A patent/JP2004005747A/ja not_active Withdrawn
-
2007
- 2007-03-15 JP JP2007105309A patent/JP4621706B2/ja active Active
- 2007-03-15 JP JP2007105310A patent/JP4382108B2/ja active Active
Cited By (2)
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 |