-
TECHNISCHES GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft im allgemeinen integrierte Schaltkreise und insbesondere
einen Mikroprozessor, der ein hardwaregesteuertes Energie- bzw.
Leistungsmanagement hat und der auswählbare Eingabe-/Ausgabeanschlüsse hat
und ein Verfahren dafür.
-
HINTERGRUND DER ERFINDUNG
-
Zunehmend
müssen
Hersteller elektronischer Schaltkreise den Energieverbrauch ihrer Schaltkreisplatinen
reduzieren. Das Einsparen von Energie ist insbesondere in tragbaren
elektronischen Vorrichtungen, wie z. B. Laptop- oder Notebook-Computern,
notwendig, bei denen das Produkt speziell für eine Benutzung in Situationen
konstruiert ist, in denen keine Stromversorgungen vorhanden sind.
Da Laptop- und Notebook-Computer für ausgedehnte Zeitabschnitte
unter Verwendung von internen Batterien oder wiederaufladbaren Batteriepackungen
betrieben werden müssen,
ist das Einsparen von Batterieenergie ein primäres Anliegen.
-
In
einem Laptop- oder Notebook-Computer ist der Bildschirm, bzw. das
Display der größte Energieverbraucher.
Der Anteil, der von dem Bildschirm verbraucht wird, hängt von
der verwendeten Technologie ab. Daher haben Laptop- und Notebook-Computerhersteller
die Energieversorgung des Bildschirms während inaktiven Zeitabschnitten
abgeschaltet. Ein Abkoppeln des Bildschirms von der Energieversorgung
kann mit ziemlich einfachen Schaltkreisen erreicht werden.
-
Der
nächstgrößte Verbraucher
von Energie in einem Laptop- oder Notebook-Computer ist der CPU
Hauptplatinenmikroprozessor. Daher haben Computerhersteller ein
oder zwei Techniken zum Reduzieren des Energieverbrauchs des Mikroprozessors
während
inaktiven Zeitabschnitten verwendet. Eine Technik reduziert die
Geschwindigkeit der Systemtaktung auf einen Bruchteil der normalen
Betriebsfrequenz während
inaktiven Zeitabschnitten. Da der Energieverbrauch des Mikroprozessors
proportional zu der Frequenz ist, reduziert die Frequenz der Systemtaktung
auch den Energieverbrauch des Mikroprozessors. In einem Intel 80385DX
Mikroprozessor (hergestellt von Intel Corporation aus Santa Clara,
Kalifornien) reduziert eine Veringerung der Betriebsfrequenz von
33 MHz auf 4 MHz den typischen Betriebsstrom des Mikroprozessors
von 400 auf ungefähr
100 Milliampère.
Trotzdem stellt ein Betriebsstrom von 100 Milliampère immer
noch einen großen Energieabfluß für die Batterie
dar.
-
Eine
zweite Technik zum Reduzieren der Leistung schaltet die Systemtaktung
während
inaktiven Zeitabschnitten aus. Ein Ausschalten der Systemtaktung
beeinflußt
alle Schaltkreise auf der Hauptplatine. Konsequenterweise muß der Schaltkreis,
der die Systemtaktung abschaltet, auch alle entsprechenden Informationen
aus dem Mikroprozessor und der zugeordneten Platinenlogik speichern und
die Daten beim Wiederaufnehmen des Betriebs wieder bereitstellen,
so daß der
Zustand des Computers nach dem Wiederaufnehmen der Systemtaktung identisch
mit dem Zustand des Computers vor dem Abschalten der Systemtaktung
ist. Infolge dessen ist diese Technik zum Energieverbrauch sowohl
teuer aufgrund des komplizierten Schaltkreises als auch langsam
aufgrund der Notwendigkeit, den Zustand des Computers zu speichern
und wieder herzustellen.
-
Die
japanische Anmeldung JP-A-56-167752 offenbart einen integrierten
Halbleiterschaltkreis mit:
einem Steuerschaltkreis für eine Betriebsart
mit niedrigem Stromverbrauch zum Erzeugen von Steuersignalen, die
einen Betrieb mit niedrigem Stromverbrauch betreffen, welcher einen
Befehl zum Einstellen des Betriebsmodus mit niedrigem Stromverbrauch
auf einem Datenbus aus einem Speicher empfängt, wobei der Befehl in einem
Puffer gespeichert ist und nachfolgend von einem Befehlsdecoder decodiert
wird, und welcher ein Signal von einem Maschinenzyklussteuerschaltkreis
empfängt,
welches das Ende eines Maschinenzyklus anzeigt
einem Taktsteuerschaltkreis,
der ein Taktsignal im normalen Betriebsmodus erzeugt, das aufgrund
eines Steuersignals nur in einem normalen Betriebsmodus arbeitet,
und der ein Taktsignalerzeugt, das auch in dem Betriebsmodus mit
niedrigem Stromverbrauch arbeitet;
einem Busanfragesteuerschaltkreis,
einem Statussignalsteuerschaltkreis und einem Interruptsignalverarbeitungsschaltkreis,
welche sowohl Taktsignale als auch eine Ausgabe des Steuerschaltkreises
für den Betriebsmodus
mit niedrigem Stromverbrauch ampfangen;
und einem Schaltkreis
zum Erzeugen eines Signals beim Auslösen eines Betriebsmodus mit
niedrigem Stromverbrauch. Es gibt eine Verzögerung zwischen der Eingabe
einer Anforderung eines Modus mit niedrigem Stromverbrauch in den
Speicher, dem Holen und dem Decodieren des Befehls zum Einstellen
der niedrigen Stroms; diese Operationen müssen mit den Prozessortaktsignalen
synchronisiert sein, und der Modus mit niedrigem Strom muß am Ende
eines Maschinenzyklus beginnen. Das Ende eines Maschinenzyklus ist
nicht gleichzusetzen mit der Vervollständigung einer Befehlsausführung, z.
B. können Befehle
mehr als diesen einen Zyklus zur Ausführung benötigen. Der normale Betriebsmodustakt
wird einem Befehl zum Einstellen eines niedrigen Stroms folgend
nach einem festgelegten Zeitintervall angehalten.
-
Daher
ist in der Industrie der Bedarf entstanden, ein Verfahren und eine
Vorrichtung zum Einsparen von Energie bzw. Leistung in einer elektronischen Vorrichtung
bereitzustellen, die den Energieverbrauch des Mikroprozessors signifikant
reduzieren, ohne einen komplizierten externen Schaltkreises zu erfordern.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der vorliegenden
Erfindung werden, wie in den Ansprüchen dargelegt, ein Verfahren
und eine Vorrichtung bereitgestellt, die signifikante Vorteile beim
Reduzieren des Ener gieverbrauchs eines Mikroprozessor bieten und
verbesserte Eigenschaften eines Mikroprozessor bereitstellen.
-
Unter
einem Aspekt der vorliegenden Erfindung umfaßt eine Verarbeitungseinheit
eine Mehrzahl von Unterschaltkreisen und Schaltkreise zum Erzeugen
eines Taktsignals für
diese. Es werden Schaltkreise zum Erfassen der Ausgabe eines Steuersignals
bereitgestellt; als Reaktion auf das Steuersignal schaltet ein Abschaltschaltkreis
das Taktsignal für
einen oder mehrere der Unterschaltkreise ab.
-
Dieser
Aspekt der vorliegenden Erfindung stellt signifikante Vorteile gegenüber dem
Stand der Technik bereit. Eine signifikante Reduzierung der von einem
Computer verbrauchten Leistung bzw. Energie kann durch Abschalten
des Taktes für
den Mikroprozessorschaltkreis erreicht werden. Die vorliegende Erfindung
erlaubt es, das Abschalten und Einschalten des Mikroprozessortaktsignals
durch ein einzelnes Steuersignal zu steuern. Darüber hinaus kann ein Bestätigungssignal
bereitgestellt werden, um externe Schaltkreise von dem abgeschalteten
Zustand des Mikroprozessors zu unterrichten.
-
Ein
weiterer Aspekt der vorliegenden Erfindung weist einen Mikroprozessor
auf, der eine Mehrzahl von Eingabe/Ausgabeanschlüssen und Verarbeitungsschaltkreise
aufweist, welche mit den Eingabe/Ausgabeanschlüssen verbunden sind. Schaltkreise
werden zum selektiven Abkoppeln der Verarbeitungsschaltkreise von
den Eingabe/Ausgabeanschlüssen
bereitgestellt.
-
In
der bevorzugten Ausführungsform
sind Drei-Zustandspuffer zwischen die Verarbeitungsschaltkreise
und die Eingabe/Ausgabeanschlüsse geschaltet.
Die Drei-Zustandspuffer werden von der Ausgabe eines Registers gesteuert.
Das Register kann Teil einer Registerdatei sein, die über Zugriffe auf
die Eingabe/Ausgabeanschlüsse
adressierbar ist. Anfänglich
wird das Register auf einen vorbestimmten Wert gesetzt; in der bevorzugten
Ausführungsform
wird das Register so gesetzt, daß sich die Drei-Zustandspuffer
in einer Betriebsart bzw. einem Betriebsmodus mit hoher Impedanz
befinden.
-
Dieser
Aspekt der vorliegenden Erfindung liefert bedeutende Vorteile. Verbesserte
Merkmale können
für den
Mikroprozessor, der Anschlüsse
erfordert, welche nicht bei anderen x-86 kompatiblen Mikroprozessoren
angetroffen werden, bereitgestellt werden. Die Anschlüsse mit
verbesserter Eigenschaft können
selektiv von den Drei-Zustandseinrichtungen ausgeschaltet werden,
um eine Kompatibilität mit
der x86 Mikroprozessor-Architektur zu gewährleisten. In Situationen,
in denen die verbesserten Eigenschaften unterstützt werden, können die
Anschlüsse
durch Software selektiv eingeschaltet werden.
-
KURZE BESCHREIBUNG DER
FIGUREN
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung und ihrer Vorzüge wird nun auf die folgenden
Beschreibungen in Verbindung mit den anhängenden Figuren Bezug genommen,
in denen:
-
1 ein
Blockdiagramm eines Computersystems darstellt;
-
2 ein
Blockdiagramm der bevorzugten Ausführungsform eines in dem Computersystem
aus 1 verwendeten Mikroprozessors darstellt;
-
3 ein
detailliertes Blockdiagramm von Teilen des Mikroprozessors aus 2 darstellt,
die sich auch auf die Energiemanagementschaltkreise beziehen;
-
4 ein
Flußdiagramm
darstellt, das eine bevorzugte Ausführungsform des Betriebs zum
Vermindern des Energieverbrauchs des Mikroprozessors beschreibt;
-
5a–b Schaltkreise zum Einschalten und Ausschalten
von Anschlüssen
darstellen, die Energiemanagementsteuersignale liefern; und
-
6 ein
Flußdiagramm
des Betriebs einer softwaregesteuerten Ausführungsform zum Einsparen des
Energieverbrauchs des Mikroprozessors darstellt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Die
bevorzugte Ausführungsform
der vorliegenden Erfindung und ihre Vorteile versteht man am besten
durch Bezugnahme auf die 1–6 der Zeichnungen,
wobei gleiche Bezugszeichen für
gleiche und einander entsprechende Teile der verschiedenen Zeichnungen
verwendet werden.
-
1 stellt
ein Blockdiagramm eines Computersystems dar. Das Computersystem 10 weist
einen Mikroprozessor CPU-Chip 12 auf, der mit einem Speicheruntersystem 14,
einem BIOS ROM 16 und Chips 18 mit Logik-Schaltkreisen
(allgemein als der „Chipsatz" bezeichnet) verbunden
ist. Der Mikroprozessor 12 ist mit einem Bus 20 verbunden.
Der Bus 20 wird zum Kommunizieren mit einer Anzahl von
peripheren Vorrichtungen, wie sie in 1 gezeigt
sind, wie z. B. einer Tastatursteuerung 22, einer Videosteuerung 24,
Eingabe/Ausgabeschaltkreisen 26 und einer Festplattensteuerung 28 verwendet.
Die Tastatursteuerung 22 ist mit einer Tastatur 29 verbunden. Die
Festplattensteuerung 28 ist mit einer Festplatte 30 und
einem Diskettenlaufwerk 32 verbunden. Die Videosteuerung 24 ist
mit einem Bildschirm 34 verbunden. Ein optionaler Coprozessor 35 ist
mit dem Mikroprozessor 12 und dem BIOS ROM 16 verbunden.
-
Das
in 1 gezeigte Computersystem 10 weist eine
Mehrzweck-Architektur auf, wie sie in Personalcomputern, wie z.
B. dem IBM-Personalcomputer und dazu kompatiblen verwendet wird.
Das BIOS 16 (basic input/output system) ist typischerweise
ein Nur-Lese-Speicher (read-only memory), der einen Satz von Programmen
zum Ausführen
der grundlegenden Steuer- und Kontrolloperationen für das Computersystem 10 umfaßt. Das
BIOS 16 arbeitet als Schnittstelle zwischen den Computerschaltkreisen
und der Anwendungssoftware, die von der CPU 12 ausgeführt wird.
Für Zwecke
des Energieverbrauchs ist es wichtig, das BIOS 16 und die
Logik 18 ausgewählte
Schaltkreise überwachen,
um zu bestimmen, ob Verfahren zur Verringerung der Energieverbrauchs
verwendet werden sollen. Zum Beispiel kann das BIOS 16 und/oder
die Logik 18 den Bildschirm 34 überwachen,
um zu bestimmen, ob sich sein Ausgang über einen vorbestimmten Zeitabschnitt
hinweg verändert
hat. Wenn nicht, kann das BIOS 16 Verfahren zum Abschalten
der Energieversorgung für
den Bildschirm 34 (angenommen, das Computersystem 10 ist
ein tragbarer Computer) aufrufen, um Energie zu sparen. Darüber hinaus überwacht
das BIOS 16 den Mikroprozessor 12, um zu ermitteln,
ob der Mikroprozessor außer
Betrieb gesetzt 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 werden bis eine Taste
gedrückt
wird.
-
2 stellt
ein detailliertes Blockdiagramm der verschiedenen Unterschaltkreise
einer bevorzugten Ausführungsform
des Mikroprozessors 12 dar. Zu Zwecken der Veranschaulichung
wird der Mikroprozessor 12 in Verbindung mit einem Mikroprozessor beschrieben,
der kompatibel zu dem Anschluß und kompatibel
zu den Befehlen der 80 × 86-Familie
von Prozessoren der Intel Corporation, insbesondere dem 80386 Mikroprozessor,
ist, obwohl die Erfindung genausogut auch in anderen Prozessoren
verwendet werden kann. Der Mikroprozessor 12 weist drei
funktionelle Hauptgruppen auf: die Kernschaltkreise 36, die
Speicherschaltkreise 38 und die Bussteuerung 40.
Die Kernschaltkreise 36 weisen eine Befehlswarteschlange 42 auf,
die mit einem internen Datenbus 44 verbunden ist. Der Ausgang
der Befehlswarteschlange 42 ist mit einem Decoder 46 der
Decodier/Sequenzierschaltkreise 47 verbunden. Die Decodier/Sequenzierschaltkreise 47 weisen
auch eine Ablaufsteuerung 50 und einen Fehlerprozessor 86 auf.
Der Decoder 46 ist mit einem Mikrocode ROM 48,
dem Fehlerprozessor 86 und der Ablaufsteuerung 50 verbunden.
Die Ablaufsteuerung 50 ist auch mit dem Mikrocode ROM 48 und
einer Ausführungseinheit 52 verbunden.
Die Ausführungseinheit
weist eine Begrenzungseinheit 54, eine Multipliziereinheit 56,
eine Addiereinheit 58, eine Verschiebeeinheit 60 und
eine Registerdatei 62 auf. Die Ausführungseinheit 52 ist
mit dem Mikrocode ROM 48 und mit einem Multiplexer und
Eingabe/Ausgaberegisterschaltkreisen 64 verbunden. Die
Speicherschaltkreise 38 weisen eine Speichermanagementeinheit 66 auf,
die mit einem linearen Adreßbus 68 verbunden
ist, der auch mit der Ausführungseinheit 52 und
einem Befehls/Datencachespeicher 70 verbunden ist. Die Speichermanagementeinheit 66 ist
darüber
hinaus mit dem internen Datenbus 44 verbunden. Eine Vorab-Abrufeinheit 72 ist
zwischen die Speichermanagementeinheit 66 und den Cache 70 geschaltet. Die
Bussteuerung 40 weist Datenpuffer 74, Adreßpuffer 76 und
Steuerschaltkreise 78 auf. Die Datenpuffer 74 sind
mit den Dateneingabe/Ausgabeanschlüssen D31-D0 verbunden, die
Adreßpuffer 76 sind
mit den Adreßanschlüssen A31-A2
und BE3#-BE0# verbunden.
Ein Datenadreßbus 80 verbindet
die Speichermanagementeinheit 66, den Cache 70 und
den Adreßspeicher 76.
Ein Befehlsadreßbus 82 verbindet
die Vorabrufeinheit 72, den Cache 70 und den Adreßspeicher 76.
Datenspeicher 74 sind mit dem internen Datenbus 44 verbunden.
-
Ein
Taktmodul 84 empfängt
ein externes Taktsignal (CLK2) und erzeugt CLKA (mit der Bussteuerung 40 verbunden)
und CLKB (mit den Speicherschaltkreisen 38 und den Kernschaltkreisen 36 verbunden).
CLKA und CLKB sind beides Taktsignale mit der halben Frequenz von
CLK2. Die Taktmodule 84 empfangen Steuersignale von der
Bussteuerung 40.
-
Im
Betrieb empfängt
der Mikroprozessor 12, gesteuert von der Speichermanagementeinheit 66, Befehle
von dem externen Speicher. Für
eine verbesserte Leistungsfähigkeit
werden von der Bussteuerung 40 empfangene Befehle und Daten
in einen Befehls/Datencachespeicher 70 aufgenommen. Befehle
werden in der Befehlswarteschlange 42 gespeichert und sie
werden nachfolgend von den Decodierschaltkreisen 46 in
Mikrocode übersetzt.
Die Ablaufsteuerung zeigt, gesteuert von dem Decoder 46 und der
Ausführungseinheit 52,
auf die nächste
Adresse in dem Mikrocode ROM 48. Die Ausführungseinheit 52 verarbeitet,
gesteuert von dem Mikrocode ROM 48, Informationen.
-
In
der bevorzugten Ausführungsform
hat der Mikroprozessor 12 ein statisches Design, d. h.
ein Zurückhalten
von Daten in den internen Speichern und Registern des Mikroprozessors 12 hängt nicht von
dem Taktsignal ab. Wie unten genauer beschrieben, kann das Taktmodul 84,
gesteuert von der Bussteuerung 40, die Taktung der Unterschaltkreise
der Kernschaltkreise 36 und der Speicherschaltkreise 38 abschalten,
während
es fortfährt,
Taktsignale für
die Bussteuerung 40 zu erzeugen. Daher kann während inaktiven
Zeitabschnitten ein großer
Teil der Schaltkreise des Mikroprozessors angehalten werden, wodurch
die von dem Mikroprozessor 12 verbrauchte Leistung bzw.
Energie stark reduziert wird.
-
3 und 4 beschreiben
die Schaltkreise zur Verringerung der Energie detaillierter. 3 ist ein
Blockdiagramm, das Steuersignale zwischen verschiedenen Teilen des
Mikroprozessors zeigt. Die Bussteuerung 40 steuert Signale
von externen Anschlüssen
des Mikroprozessors 12. Ein Unterbrechungs(SUSP)-Signal
wird in die Bussteuerung 40 eingegeben und die Bussteuerung 40 gibt
eine Unterbrechungsbestätigung
(SUSPACK) aus. Die Bussteuerung empfängt ein Belegt-Signal (BUSY)
von dem Coprozessor 35. Die Bussteuerung 40 empfängt auch
einen maskierbaren Interrupt (INTR) und einen nicht maskierbaren
Interrupt (NMI). Die Bussteuerung 40 gibt einen Interrupt
(oder „Fehler") F_SUSP an den Fehlerprozessor 86 aus
und empfängt
ein Steuersignal D_SUSPACK. Der Fehlerprozessor 86 überwacht
auch den Mikrocode ROM 48, die Bussteuerung 40 und
die Fehlereinheit 52, um zu ermitteln, ob Befehle ausgeführt wurden.
Der Fehlerprozessor 86 gibt ein Signal D_EXCEPTION an die
Ablaufsteuerung 50 aus und empfängt ein Steuersignal U_AHALT
von dem Mikrocode ROM 48. Die Bussteuerung 40 gibt
ein Steuersignal F_IDLE an das Taktmodul 84 aus.
-
Im
Betrieb erkennen externe Schaltkreise (typischerweise das BIOS 16 in
Verbindung mit der Logik 18) Bedingungen, unter denen der
Mikroprozessorbetrieb unterbrochen werden kann. (Zum Beispiel wenn
der Mikroprozessor eine Routine ausführt, um auf ein Zeichen von
der Tastatur zu warten). Nach Erkennen einer solchen Situation setzen
die externen Schaltkrei se den SUSP-Anschluß (z. B. durch Treiben des
SUSP-Anschlusses mit einer niedrigen logischen Spannung). Als Reaktion
auf das Hervorbringen des SUSP-Signals bringt die Bussteuerung 40 in
Verbindung mit dem Fehlerprozessor 86 das F_IDLE-Steuersignal
an das Taktmodul 84 hervor. Als Reaktion auf das Hervorbringen
des F_IDLE-Signals schaltet das Taktmodul 84 alle CLKB-Taktsignale
aus (durch Halten des ausgeschalteten Taktsignals bei einer logisch
hohen oder logisch niedrigen Spannung), während es fortfährt, die
CLKA-Taktsignale zu erzeugen. Da die Konstruktion des Mikroprozessors statisch
ist, erfordern die Speicher kein Erneuern und daher führt das
Unterbrechen der Taktung nicht zu einem Verlust an Daten innerhalb
des Mikroprozessors 12. Das SUSPACK-Signal wird hervorgebracht,
um externen Schaltkreisen anzuzeigen, daß der Mikroprozessor 12 in
dem angehaltenen Zustand ist. Um den Betrieb des Mikroprozessors 12 wieder
aufzunehmen, wird das SUSP-Signal gelöscht (d. h. durch Anlegen einer
logisch niedrigen Spannung an den SUSP-Anschluß), z. B. nach Erkennen eines
Signals von der Tastatur durch das BIOS 16 und die Logik 18.
-
Durch
Unterbrechen der Taktungen der Kernschaltkreise 36 und
der Speicherschaltkreise 38 wird eine erhebliche Reduzierung
der von dem Mikroprozessor 12 verbrauchten Leistung realisiert.
Die Bussteuerung 40 verbleibt aktiv, um Eingabe/Ausgabesignale
zwischen dem Mikroprozessor 12 und den externen Schaltkreisen
zu beobachten und zu steuern.
-
4 stellt
ein Flußdiagramm
dar, das einen detaillierteren Betrieb der unterbrochenen Betriebsart
zeigt. Im Entscheidungsblock 88 wird eine Schleife gebildet,
zum Warten darauf, daß das
SUSP-Signal hervorgebracht wird. Nachdem das SUSP-Signal hervorgebracht
wurde, bringt die Bussteuerung 40 im Block 90 das
F_SUSP-Signal hervor, das mit dem Fehlerprozessor 86 verbunden
ist. In Block 90 wird die Befehlswarteschlange 42 als
Reaktion auf das Hervorbringen des F_SUSP-Signals davon abgehalten,
neue Befehle hervorzubringen. In Block 94 hört der Decoder 46 auf,
neue Befehle an das Mikrocode ROM 48 hervorzubringen, und
alle Befehle, die gerade von dem Mikrocode ROM 48 oder
der Ausführungseinheit 52 (zusammen
die „Pipeline") verarbeitet werden,
einschließlich
aller Aktivitäten
der Bussteuerung 40, die mit den Befehlen in der Pipeline
in Verbindung stehen, werden abgeschlossen. Nachdem alle Befehle
in der Pipeline ausgeführt
wurden, wird das Steuersignal D_EXCEPTION von dem Fehlerprozessor 86 in
Block 96 hervorgebracht. D_EXCEPTION wird von der Ablaufsteuerung 50 empfangen,
welche eine Mikrocoderoutine (Block 98) zum Herunterfahren
der Leistung als Reaktion auf D_EXCEPTION anstößt. Die Mikrocoderoutine zum Herunterfahren
der Leistung bereitet den Mikroprozessor für die angehaltene Betriebsart
vor. Im Block 100 bringt der Mikrocode ROM 48 das
Steuersignal U_AHALT für
den Fehlerprozessor 86 hervor. Als Reaktion auf das Empfangen
von U_AHALT bringt der Fehlerprozessor 86 D_SUSPACK für die Bussteuerung 40 in
Block 102 hervor. Nach dem Empfang von D_SUSPACK von dem
Fehlerprozessor überprüft die Bussteuerung 40 in
der Entscheidung 104 das Belegt-Signal, welches von dem
Coprozessor empfangen wurde. Solange das Belegt-Signal von dem Coprozessor
hervorge bracht wird, wird das SUSPACK-Signal nicht an die externen
Schaltkreise gegeben, und CLKB wird nicht abgeschaltet. Nachdem das
Belegt-Signal von dem Coprozessor gelöscht wurde, wird das SUSPACK-Signal
von der Bussteuerung 40 hervorgebracht, um die externen
Schaltkreise zu warnen, daß der
Mikroprozessor 12 in einem abgeschalteten Zustand ist und
daß der
Coprozessor gegenwärtig
keine Rechnungen ausführt
und auch abgeschaltet werden kann. In Block 108 wird von
der Bussteuerung 40 F_IDLE an das Taktmodul 84 gegeben.
Als Reaktion auf das Hervorbringen des F_IDLE-Signals schaltet das
Taktmodul 84 das CLKB in Block 109 aus, wodurch
der Betrieb der Kernschaltkreise 36 und der Speicherschaltkreise 38 unterbrochen
bzw. angehalten wird. Die Bussteuerung 40 wartet dann,
bis das SUSP-Signal in dem Entscheidungsblock 110 gelöscht wird.
Nach dem Löschen
des SUSP-Signals wird CLKB wieder aufgenommen.
-
Die
meisten Mikroprozessoren, einschließlich des 80386, verwenden
nicht alle in der Chipverpackung verfügbaren Anschlüsse. Daher
können
die SUSP- und SUSPACK-Signale unter Verwendung nicht verwendeter
Anschlüsse
von und an den Mikroprozessor 12 kommuniziert werden, wodurch
eine Kompatibilität
mit einer bereits bestehenden Technologie erhalten bleibt. Nichtsdestotrotz
können
in der bevorzugten Ausführungsform
die Anschlüsse
für die SUSP-
und SUSPACK-Signale selektiv ein- oder ausgeschaltet werden. In
der bevorzugten Ausführungsform
sind die SUSP- und SUSPACK-Anschlüsse anfänglich ausgeschaltet und das
BIOS 16 muß konfiguriert
werden, um die Anschlüsse
in seiner Anlaufroutine einzuschalten. Um ein Einschalten oder Ausschalten
der SUSP- und SUSPACK-Anschlüsse zu
bewirken, wird ein Steuerbit bereitgestellt, welches auf voreingestellte
Eingabe/Ausgabeports geschrieben oder von ihnen gelesen werden kann.
Die bevorzugte Ausführungsform
dieses Aspekts ist genauer in Verbindung mit den 5a–b gezeigt.
-
In 5a ist
eine Mehrzahl von Steuerregistern in dem Mikroprozessor 12 (1)
durch Verwenden von INDEX- und DATA-Signalen, die in die Steuerregister 120 eingegeben
werden, zugänglich. Die
Mehrheit der Register (und Teile davon) werden zum Konfigurieren
des Cachespeichersubsystems verwendet. Zum Beispiel können die
Steuerregister verwendet werden, um nicht in einem Cachespeicher speicherbare
Bereiche des Hauptspeichers 14 zu definieren, um das Cachespeicherverfahren
(direkt abgebildet oder bereits assoziativ) auszuwählen, und um
ein Leeren des Cachespeichers 70 über einen externen Anschluß einzuschalten.
Jedes Steuerregister ist durch Schreiben der Adresse (hier als der
INDEX bezeichnet) des Registers in einen Eingabe/Ausgabeport, in 5a als
Eingabe/Ausgabeport 22 h dargestellt, zugänglich. Es wird ein weiterer
Eingabe/Ausgabeport, hier als Eingabe/Ausgabeport 23 h gezeigt,
verwendet, um Daten von dem spezifizierten Steuerregister zu lesen
oder sie in dieses zu schreiben. In der bevorzugten Ausführungsform
geht jedem Eingabe/Ausgabeport 23 h-Betrieb ein Eingabe/Ausgabeport
22 h-Betrieb voraus, ansonsten würde
der zweite und spätere
Einga be/Ausgabeport 23 h-Betrieb aus dem Chip geleitet. In der in 5a dargestellten
Ausführungsform
hat jedes der Steuerregister einen Index zwischen C0h und CFh.
-
In 5b verwendet
das Register 122, das einen Index C0h hat, sein niederstwertiges
Bit zum Steuern von Drei-Zustandseinrichtungen 124 und 126 (von
welchen jede zusätzlich
zu HI- und LO-Zuständen
einen dritten Zustand mit hoher Impedanz aufweist). Ein Bit, das
gleich einem logisch hohen Signal (d. h. einer logischen „1") ist, schaltet beide Drei-Zustandseinrichtungen 124 und 126 ein,
um eine Übertragung
der SUSP- und SUSPACK-Signale zu
ermöglichen.
Eine logische „0" schaltet die Drei-Zustandseinrichtungen 124 und 126 aus
und isoliert dadurch die SUSP- und SUSPACK-Anschlüsse von
den Schaltkreisen des Mikroprozessors 12.
-
Dieser
Aspekt der bevorzugten Ausführungsform
stellt eine Anschluß-Kompatibilität mit einer
existierenden Mikroprozessor-Anschlußstruktur sicher.
-
6 stellt
einen weiteren Aspekt der vorliegenden Erfindung dar, wobei der
Betrieb des Mikroprozessors 12 als Reaktion auf einen Softwarebefehl unterbrochen
werden kann.
-
80 × 86-Vorrichtungen
unterstützen
einen „HALT"-Betrieb (Opcode
F4), der die Ausführung
aller Befehle stoppt und den 80 × 86 in einen HALT-Zustand
bringt. Die Ausführung
wird als Reaktion auf einen nicht-maskierbaren Interrupt (auf dem
NMI-Anschluß),
der mit der Bussteuerung 40 verbunden ist, einen nicht-maskierten
Interrup (auf dem INTR-Anschluß,
der mit der Bussteuerung 40 verbunden ist) oder einen RESET
wieder aufgenommen. Normalerweise wird dieser Befehl als der letzte
Befehl in einer Sequenz verwendet, die das System herunterfährt.
-
In
der vorliegenden Erfindung hat der HALT-Befehl jedoch im wesentlichen
die gleiche Konsequenz wie ein Setzen des SUSP-Anschlusses. Daher
kann das BIOS 16 einen HALT-Befehl an den Mikroprozessor 12 ausgeben,
wodurch CLKB ausgeschaltet wird. Wieder führt das Ausschalten des CLKB
zu einer signifikanten Reduzierung des Energieverbrauchs des Mikroprozessors 12.
-
6 stellt
ein Flußdiagramm
dar, das den Betrieb des HALT-Befehls in der bevorzugten Ausführungsform
zeigt. Nachdem ein HALT-Befehl an den Mikroprozessor 12 im
Entscheidungsblock 130 empfangen wurde, bringt der Mikrocode
ROM 48 in Block 132 ein U_AHALT hervor. Als Reaktion
auf das U_AHALT-Signal von dem Mikrocode ROM bringt der Fehlerprozessor 86 ein
D_SUSPACK hervor. Nach dem Überprüfen des
Belegt-Signals von dem Coprozessor in dem Entscheidungsblock 136 bringt
die Bussteuerung 40 in Block 140 das SUSPACK-Signal hervor
und der interne CLKB-Takt wird in Block 142 ausgeschaltet.
In Entscheidungsblock 144 verbleibt der Mikroprozessor 12 in
dem abgeschalteten Zustand, bis ein Interrupt im Entscheidungsblock 144 hervorgebracht
wird. Nachdem der Interrupt hervorgebracht wurde, wird die CLKB-Taktung
ausgeschaltet und die Verarbeitung wird fortgesetzt.
-
Der
HALT-Befehl erlaubt es dem BIOS 16, den Mikroprozessor 12 ohne
zusätzliche
Hardwareverbindungen mit dem Mikroprozessor in einen unterbrochenen
Zustand zu bringen.
-
Die
vorliegende Erfindung liefert beträchtliche Vorteile gegenüber dem
Stand der Technik. Durch Unterbrechen der Taktsignale für die Kernschaltkreise
und die Speicherschaltkreise konnte ein Stromverbrauch von weniger
als 10 Milliampère nachgewiesen
werden. Da die meisten BIOS-Programme Mittel zum Energiesparen unterstützen, ist die
zusätzliche
Codierung zum Unterstützen
der SUSP- und SUSPACK-Signale relativ einfach. Alternativ kann die
Chipsatzlogik 18 modifiziert sein, um ein Erzeugen der
SUS- und SUSPACK-Signale zu unterstützen. Da das SUSPACK in der
bevorzugten Ausführungsform
nicht hervorgebracht wird, bis alle Coprozessor-Operationen abgeschlossen
sind, muß das
BIOS darüber
hinaus keine zusätzlichen
Schaltkreise oder Codes zum Überwachen
des Coprozessors bereitstellen. Darüber hinaus können die
Energieeinsparschaltkreise auf dem Mikroprozessorchip bereitgestellt
werden, ohne die Kompatibilität
der Anschlüsse
zu opfern. Zusätzlich
kann der Mikroprozessor durch Verwendung des verbesserten HALT-Befehls
ohne irgendeine zusätzliche
Hardwarewechselwirkung außer
dem Hervorbringen eines Interrupts, um den Mikroprozessor 12 aus
einem unterbrochenen Zustand heraus zu bringen, in einem unterbrochenen
Zustand betrieben werden.
-
Obwohl
die vorliegende Erfindung und ihre Vorzüge im Detail beschrieben wurden,
versteht es sich, daß verschiedene Änderungen,
Ersetzungen und Ergänzungen
hieran gemacht werden können, ohne
den Schutzbereich der Erfindung, so wie er von den anhängenden
Ansprüchen
definiert wird, zu verlassen.