DE4307226A1 - - Google Patents
Info
- Publication number
- DE4307226A1 DE4307226A1 DE4307226A DE4307226A DE4307226A1 DE 4307226 A1 DE4307226 A1 DE 4307226A1 DE 4307226 A DE4307226 A DE 4307226A DE 4307226 A DE4307226 A DE 4307226A DE 4307226 A1 DE4307226 A1 DE 4307226A1
- Authority
- DE
- Germany
- Prior art keywords
- chip
- state
- logic
- signal
- downshift
- 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.)
- Granted
Links
Classifications
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- 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/325—Power saving in peripheral device
Description
Die Erfindung betrifft allgemein das Gebiet des Energie-
bzw. Stromversorgungsmanagements integrierter Schaltungen; ins
besondere bezieht sich die Erfindung auf Energiemanagement
schaltungen, die integrierte Schaltungen in einen Zustand redu
zierten Stromverbrauchs versetzen können.
Mit dem Auftauchen des Laptop-Computermarkts trat der
Wunsch auf nach einem neuen Personalcomputer (PC), der bei ei
nem sehr geringen Energieverbrauch arbeitet. Obwohl in der
letzten Zeit auf dem PC-Markt versucht wurde, sich zu Versor
gungsspannungen von 3 V anstelle von 5 V zu bewegen, lag der
Schwerpunkt des Verringerns des Energieverbrauchs in dem Be
reich, in dem das Chip sich in einem Zustand geringer oder kei
ner Aktivität befindet. Idealerweise wäre es vorteilhaft, den
Energieverbrauch zu reduzieren, wenn ein Chip gerade nicht ak
tiv ist, wobei es bei einer geringeren Leistung betrieben wird,
als wenn das Chip eine konstante Leistung verbrauchen würde.
Ein Verfahren zum Erreichen eines geringen Leistungsverbrauchs
im Chip ist die Verwendung von Energiemanagementschaltungen.
Energiemanagementschaltungen versetzen das Chip in einen Zu
stand, bei dem es einen geringen oder keinen Strom zieht, ob
wohl die Versorgungsspannung mit dem Chip gekoppelt bleibt.
Dieser Zustand ist als Herunterschalten (power down) bekannt.
Energiemanagementschaltungen sind besonders vorteilhaft zu ver
wenden, wenn ein Chip gerade nicht aktiv ist.
Eine bekannte Energiemanagementschaltung verwendet externe
Zähler, um die Aktivität in dem Chip zu ermitteln. Diese Zähler
sind üblicherweise Zeitgeber, die beim letzten Zugriff des
Chips ausgelöst werden. Diese Zeitgeber wirken als stets erneut
auslösbare monostabile Multivibratoren, so daß, wenn für eine
vorgegebene Zeitperiode keine Aktivität auftritt, das Chip zum
Herunterschalten gebracht wird. Ein Problem eines solchen Ener
giemanagementschemas ist, daß eine externe Steuerung (d. h. über
den Zähler) der Energiemanagementschaltung erforderlich ist.
Wenn der externe Zähler signalisiert, daß das Chip in den Her
unterschaltmodus gebracht werden kann, schaltet ein externer
Schalter die Stromversorgung ab. Somit ist der tatsächliche
Eintritt in den Herunterschaltmodus extern gesteuert. Darüber
hinaus sind diese Energiemanagementschaltungen nicht für die
das Chip steuernde Software transparent. Sobald die Stromver
sorgung abgeschaltet und in den Herunterschaltzustand überge
gangen wurde, sind sämtliche internen Zustände verloren. Beim
Hochschalten des Chips müssen sämtliche verlorenen Zustände zu
rückgespeichert werden.
Ein anderes Problem bei bekannten Energiemanagementschal
tungen ist, daß jegliche Form des Rücksetzens, über Software
oder Hardware (z. B. über ein Pin), üblicherweise den Herunter
schaltmodus zurücksetzt. Da die Software-Rücksetzoperationen in
der Mehrzahl der Anwendungssoftware und in dem Betriebssystem
(DOS) auftreten, geht der Herunterschaltmodus bald verloren.
Seine Aufrechterhaltung ist wiederum abhängig von dem Eingriff
des Basis-Ein/Ausgabe-Systems (BIOS), des DOS oder der Anwen
dungssoftware. Darüberhinaus resultiert ein Rücksetzen eines
Chips in einem Verlust des Status. Folglich bringt ein Rückset
zen das Chip in einen Standardzustand, der sich von dem inter
nen Zustand (d. h. Status) des Chips vor dem Rücksetzen unter
scheidet. Diese unterschiedlichen Status-Bits müssen nach dem
Rücksetzen zurückgespeichert werden.
Andere bekannte Energiemanagementschaltungen, wie bei
spielsweise der PC 8477 von National Semiconductors, haben einen
Herunterschaltmodus, welcher erfordert, daß der Modus zurückge
speichert wird, wenn das Chip wieder aufgeweckt (hochgeschal
tet) wird. Darüberhinaus gestatten bekannte Energiemanagement
schaltungen dem Benutzer nicht, zu programmieren, ob On-Chip-
Kristalloszillatoren ein oder aus sind, wenn der Rest des Chips
heruntergeschaltet ist. Typischerweise schalten sämtliche be
kannten Energiemanagementschaltungen den Oszillator aus und ha
ben so Probleme mit der Wiederherstellungszeit und dem Starten
beim Wiederhochschalten.
Eine andere Art einer bekannten Energiemanagementschaltung,
wie beispielsweise die durch Intel′s 82077AA verwendete, redu
ziert den Energieverbrauch auf sehr geringe Pegel, aber erfor
dert das BIOS, das DOS oder Anwendungssoftware, um zu steuern,
wann das Chip in den Herunterschaltzustand versetzt wird. Fer
ner erfordern diese Energiemanagementschaltungen eine beträcht
liche Software und Zeit, um den Zustand der internen Maschine
zu den Bedingungen vor dem Herunterschalten zurückzuspeichern.
Schließlich wird der Kristalloszillator mit dem Rest des Chips
abgeschaltet. Wenn der Kristalloszillator abgeschaltet wird,
ist die Wiederherstellung unkontrolliert, und die Zeit zur Wie
derherstellung kann sehr lang sein.
Wie zu sehen sein wird, schafft die vorliegende Erfindung
eine Vorrichtung und ein Verfahren für ein Chip, um seine ei
gene Aktivität zu überwachen und in den Herunterschaltzustand
einzutreten und ihn wieder zu verlassen in einer Weise, die für
die den Chip betreibende Software transparent ist. Darüber
hinaus gestattet die Erfindung ein Weiterarbeiten des Oszilla
tors, was die Wiederherstellung im wesentlichen unverzögert
macht.
Dabei wird ein vorgegebener Zustand definiert, in welchem
das Chip sauber herunterschalten könnte, und das Chip wird
überwacht, um zu bestimmen, wann das Chip in diesem vorgegebe
nen Zustand ist. Das Chip wird in einen Zustand reduzierten
Energieverbrauchs versetzt, wenn sich das Chip in dem vorgege
benen Zustand befindet.
Es wird ferner eine Schnittstelle zu einem externen System
zur Verfügung gestellt, wenn sich das Chip im Zustand des redu
zierten Energieverbrauchs befindet, so daß das Chip dem exter
nen System so erscheint, als ob es hochgeschaltet wäre. Dar
überhinaus schafft die Erfindung eine Möglichkeit, das Chip bei
einer geeigneten Operationsanforderung hochzuschalten, nachdem
das Chip in den Zustand des reduzierten Energieverbrauchs ge
bracht worden war.
Ferner kann während des Herunterschaltzustands die Takter
zeugungsschaltung ausgeschaltet werden oder eingeschaltet blei
ben.
Im folgenden wird die Erfindung anhand von in der Zeichnung
dargestellten Ausführungsbeispielen näher beschrieben. In der
Zeichnung zeigen:
Fig. 1 ein Ablaufdiagramm, das das erfindungsgemäße Ver
fahren veranschaulicht;
Fig. 2 eine Blockdarstellung des Chips nach der Erfindung;
Fig. 3 eine Blockdarstellung des Computersystems nach der
Erfindung;
Fig. 4 ein Blockschaltbild des Floppy-Disk-Controllers
nach der Erfindung;
Fig. 5 ein Blockschaltbild der erfindungsgemäßen Herunter
schaltlogik;
Fig. 6A und 6B eine Darstellung der Registerzugriffs- und IDLE-Lo
gik nach der Erfindung;
Fig. 7 die automatische Herunterschalt-Steuerlogik nach
der Erfindung;
Fig. 8 das gegenwärtig bevorzugte Ausführungsbeispiel des
Setze-den-Herunterschaltmodus-Befehls nach der Er
findung;
Fig. 9 das gegenwärtig bevorzugte Ausführungsbeispiel des
Datenrate-Auswahl-Registers (DSR) nach der Erfin
dung;
Fig. 10 die automatische Aufwecklogik nach der Erfindung;
und
Fig. 11 eine Darstellung der Herunterschaltmodus-Latch- und
Zeitgeber-Logik der Energiemanagementschaltung nach
der Erfindung.
Es wird ein Verfahren und eine Einrichtung für ein Chip zum
Überwachen seiner eigenen Aktivität und zum Eintreten/Verlassen
eines Herunterschaltzustandes beschrieben. In der folgenden Be
schreibung werden zahlreiche spezielle Details, wie beispiels
weise spezielle Pin-Nummern, Signalnamen, Bit- und Byte-Anzah
len usw., beschrieben, um ein besseres Verständnis der Erfin
dung zu erreichen. Für den Fachmann ist es jedoch klar, daß die
Erfindung auch ohne diese speziellen Details ausgeführt werden
kann. An anderen Stellen werden bekannte Operationen nicht im
Detail beschrieben, um das Verständnis der Erfindung nicht un
nötig zu erschweren.
Die Erfindung betrifft das Gebiet der Energiemanagementlo
gikschaltungen, welche automatisch ein Chip in einen Herunter
schaltzustand versetzen können. Der Herunterschaltzustand nach
der Erfindung bezieht sich auf einen Zustand der Logik, bei dem
wenig oder kein Strom von den Schaltungen auf dem Chip gezogen
wird. Obwohl die Schaltungen keinen oder nur einen geringen
Strom verbrauchen, bleibt die Versorgungsspannung an die ge
samte Logik angelegt, und ausgewählte Schaltungen bleiben
"wach", um die externe Aktivität zu überwachen und festzustel
len, wann die Logik auf zuwecken ist. Darüberhinaus hält die
Versorgungsspannung bestimmte interne Statusinformationen auf
recht, so daß, wenn das Chip erwacht, das Chip genügend Infor
mationen über seinen Zustand vor dem Herunterschalten behalten
hat, so daß es mit der neuen Aktivität fortfährt, ohne daß das
externe System wahrnimmt, daß das Chip heruntergeschaltet war.
Auf diese Weise wird das Herunterschalten des Chips für das ex
terne System transparent.
Fig. 1 veranschaulicht das erfindungsgemäße Verfahren zum
automatischen Herunterschalten eines Chips in einer Weise, die
transparent für das externe System (d. h. für die den Chip be
treibende Software) ist. Bei dem erfindungsgemäßen Verfahren
wird das Chip überwacht, um festzustellen, wann das Chip herun
tergeschaltet werden kann. Dies ist als Block 101, nämlich als
Überwachen des Chips hinsichtlich eines Herunterschaltzustan
des, gezeigt. Als nächstes wird das Chip heruntergeschaltet
(Block 102), während der Status über die normale Anwendungs
schnittstelle dem externen System zur Verfügung gestellt wird,
was dem externen System das Chip eingeschaltet erscheinen läßt.
(Ein separater Status ist vorgesehen, um den Herunterschaltmo
dus anzuzeigen). Sobald es im heruntergeschalteten Zustand ist,
überwacht das Chip seine eigene Aktivität und wartet, bis eine
geeignete Anforderung an das Chip auftritt. Bei einer solchen
Anforderung wird das Chip wieder hochgeschaltet (Block 103)
(d. h. das Chip "wacht" auf).
Die Überwachung des Chips, um festzustellen, wann es herun
tergeschaltet werden kann, weist zwei separate Operationen auf.
Zunächst muß ein Zustand derart definiert werden, daß, wenn das
Chip sich in diesem Zustand befindet, das Chip sauber, ohne
eine Störung der Funktion des Chips, heruntergeschaltet werden
kann. Ein Chip kann sauber heruntergeschaltet werden, wenn das
Herunterschalten des Chips keine Störung der aktuellen Funktio
nen des Chips oder seiner Fähigkeit, seinen Zustand zu erhal
ten, bewirkt. Die Definition dieses Zustands liegt im Ermessen
des Konstrukteurs des Chips. Der Zustand kann als der Zustand
definiert werden, während welchem keine in Verbindung mit dem
Chip stehenden Aktivitäten auftreten.
Andererseits kann der Zustand auch so definiert werden, daß
das Chip abgeschaltet werden kann, wenn es sich nicht in dem
definierten Zustand befindet. Auch kann der Zustand so defi
niert werden, daß er nur die Aktivitäten betrifft, welche sich
auf den Zweck oder die Funktion des Chips beziehen, im Gegen
satz zu den Aktivitäten, die den Status des Chips betreffen. Im
Falle eines Floppy-Disk-Controllers (bzw. Diskettenlaufwerks
steuergeräts) beispielsweise schließen die die Funktion eines
Chips betreffenden Aktivitäten die Ausführung eines Disketten
laufwerkzugriffs ein. Jedoch ist ein Zugriff auf ein Register
auf dem Floppy-Disk-Controller-Chip zum Zweck des Bestimmens,
ob das Chip gerade einen seriellen Lesezugriff auf dem Disket
tenlaufwerk ausführt, als eine Statusaktivität anzusehen. Wenn
ein Chip aktiv ist und diese Aktivität die Funktion oder den
Zweck des Chips betrifft, wird dem Chip folglich nicht gestat
tet, herunterzuschalten.
Grundsätzlich kann der Herunterschaltzustand für ein Chip
der Leerzustand (d. h. der Zustand, wenn das Chip untätig ist)
sein. Was den Leerzustand für ein Chip ausmacht, hängt sowohl
vom Chip als auch von der Konstruktion ab. Darüberhinaus muß
das Chip nicht vollständig untätig sein, derart, daß auf das
Chip überhaupt nicht zugegriffen wird. Ein typisches Chip ist
in Fig. 2 gezeigt. Das Chip 200 weist eine Schnittstellenlogik
201 zum Bilden einer Schnittstelle des Chips 200 zu anderen
Chips auf. Die Schnittstellenlogik 201 ist mit dem Bus 202 ge
koppelt und kommuniziert über diesen mit den restlichen Be
standteilen des Chips 200. Das Chip 200 weist außerdem eine
Kernlogik 203 auf, welche die Steuerfunktionen für das Chip 200
ausführt. Die Kernlogik 203 kann eine Mikroprogramm- und Steu
erlogik enthalten, die für das Chip zum Ausführen seiner be
stimmten Funktion nötig ist. Die Steuerlogik der Kernlogik 203
kann Ausführungseinheiten, Befehlseinheiten, Befehlsregister
usw. enthalten. Außerdem enthält das Chip 200 eine Nicht-Kern-
Logik 204, auf welche ebenfalls über den Bus 202 zugegriffen
werden kann. Auf die Nicht-Kern-Logik 204 kann durch externe
Chips oder Schaltungsanordnungen zugegriffen werden, die mit
dem Chip 200 (über die Pins) gekoppelt sind. Die Nicht-Kern-Lo
gik 204 ist im allgemeinen ein kleiner Teil des Chips 200. Die
Nicht-Kern-Logik 204 kann diejenige Logik enthalten, die zum
Halten des Status bzw. Zustandes des Chip 200 erforderlich ist,
und enthält typischerweise Register oder andere Speicherkompo
nenten. Die Nicht-Kern-Logik 204 kann außerdem eine Logik ent
halten, die nicht speziell der Kern-Logik zugeordnet ist, so
daß ein Herunterschalten der Nicht-Kern-Logik kein "unsauberes"
Herunterschalten bewirkt. Darüberhinaus ist es möglich, daß die
Nicht-Kern-Logik 204 "tätig" bleibt, damit das Chip 200 dem ex
ternen System als "wach" erscheint; eine solche Nicht-Kern-Lo
gik 204 sollte, sofern sie geeignet konstruiert ist, keine oder
nur geringe Energie verbrauchen. Das Chip 200 enthält außerdem
eine Energiemanagementlogik 205, welche die Aktivität des Chip
200 überwachen, das Chip 200 in den Herunterschaltzustand ver
setzen und es aus dem Herunterschaltzustand herausholen kann.
Das Chip 200 kann außerdem eine Takterzeugungslogik 206
und/oder einen Oszillator zum Takten des Chips 200 enthalten.
Die Taktlogik 206 kann durch ein externes Taktsignal gesteuert
sein. Die Taktlogik und/oder der Oszillator 206 können auch
Teil der Energiemanagementlogik 205 sein.
Der Leerzustand eines Chips, wie beispielsweise des Chips
200 gemäß Fig. 2, ist der Zustand, in welchem die Kern-Logik
des Chips nicht erforderlich ist. Wenn sich ein Chip nicht im
Leerzustand befindet, ist folglich die Verwendung des Kerns
entweder unmittelbar bevorstehend oder direkt angefordert. Ein
Chip kann nicht sauber heruntergeschaltet werden, wenn den Kern
betreffende Aktivitäten existieren. Andererseits beeinflußt die
Nicht-Kern-Logik, welche den Status des Chips enthält und das
Lesen der externen Pins steuert, nicht die Funktion der Kern-
Logik und trägt auch nicht zu ihr bei. Wenn auf die Nicht-Kern-
Logik zugegriffen wird oder diese verwendet wird, ist es folg
lich nicht erforderlich, daß die Kernlogik des Chips aktiv ist.
Somit kann das Chip heruntergeschaltet werden, wenn Nicht-Kern-
Aktivitäten vorliegen.
Im folgenden wird wieder auf Fig. 1 Bezug genommen. Der
Herunterschaltzustand kann der Zustand sein, in welchem keine
Kernaktivitäten existieren. Beispielsweise kann es der Energie
managementlogik dann möglich sein, das Chip herunterzuschalten,
wenn das Chip keine Befehle oder Befehlssequenzen ausführt. Um
den Herunterschaltzustand zu definieren, muß folglich der Mini
malsatz von Chipaktivitäten bestimmt werden, bei welchem der
Kern erforderlich ist oder auf ihn zugegriffen wird. Dies ist
die Minimalaktivität, die erforderlich ist, um das Chip "wach"
(d. h. nicht im heruntergeschalteten Zustand) zu halten.
Wenn erst einmal der Minimalsatz von Chipaktivitäten, für
welchen ein Chip wach bleiben muß, definiert oder bestimmt wor
den ist, überwacht die erfindungsgemäße Energiemanagementlogik
das Chip, um festzustellen, ob diese Aktivitäten auftreten
(d. h. ob den Kern betreffende Aktivitäten existieren). Die
Überwachung der Aktivität des Chips kann auf vielfältige Weise
geschehen. Unter Verwendung einer einfachen Logik kann die
Energiemanagementlogik auf Befehls- und Steuerregister zugrei
fen, welche entsprechend spezieller Bitsetzungen (z. B. einer
logischen 1 oder 0) oder spezieller Bitmuster Chipaktivitäten
anzeigen. Die Energiemanagementlogik kann auch spezielle Si
gnale überwachen, welche Chipaktivitäten dadurch anzeigen, daß
sie in einem speziellen logischen Zustand (z. B. hoch, niedrig
usw.) sind. Das Ausgangssignal der Logik steuert, ob das Chip
in den heruntergeschalteten Zustand versetzt wird. Wenn das
Ausgangssignal der Logik anzeigt, daß es gegenwärtig Chipakti
vitäten gibt, dann versetzt die Energiemanagementlogik das Chip
nicht in den heruntergeschalteten Zustand. Wenn auf der anderen
Seite das Ausgangssignal der Logik anzeigt, daß keine Chipakti
vitäten existieren, dann versetzt die Energiemanagementlogik
das Chip in den Abschaltzustand.
Sobald das Chip heruntergeschaltet wurde, stellt das Chip
eine Schnittstelle zum externen System, in welchem das Chip ar
beitet, zur Verfügung. Dies ist typischerweise ein Computersy
stem. Die Schnittstelle läßt das Chip so erscheinen, als ob es
zum Empfang von Befehlen aus dem externen System bereit wäre,
obwohl das Chip im heruntergeschalteten Modus ist. Zum Empfang
von Befehlen bereit zu erscheinen, bedeutet bei einigen Chips,
daß ein Register oder ein Speicherplatz auf dem Chip einen Wert
enthält (d. h. eine Bit- oder Bytesetzung), auf welchen durch
das externe System zugegriffen werden kann. Beim Zugreifen auf
das Register oder den Speicherplatz stellt das externe System
fest, daß das Chip zum Empfang von Befehlen bereit ist. Zum
Empfangen von Befehlen bereit zu erscheinen, kann auch durch
ein Signal angezeigt werden, das hoch oder niedrig ist und
diese Bereitschaft dem externen System anzeigt. Damit ein Chip
zum Empfang von Befehlen bereit erscheint, muß folglich irgend
ein Signal oder Registerwert, das bzw. der eine Bereitschaft
auf dem Teil des Chips dem externen System anzeigt, konstant
sein. (Dies schließt nicht aus, daß es ein spezielles Signal
oder einen Status gibt, das bzw. der anzeigt, daß das Chip her
untergeschaltet ist.)
Darüberhinaus gestattet die Schnittstelle einen Zugriff auf
die Nicht-Kern-Logik, ohne daß das Chip den heruntergeschalte
ten Zustand verlassen muß. Folglich gestattet die Schnittstel
le, daß das Chip eine Eingabe in ein beliebiges Register akzep
tiert und daß beliebige Daten, die zu dem Chip geschrieben wur
den, behalten und beim Betrieb des Chips nach seinem
"Aufwecken" berücksichtigt werden. Ferner können noch sämtliche
Systemschnittstellenregister gelesen werden. Es sei angemerkt,
daß während des Herunterschaltens kein Status verlorengeht oder
verändert wird. Wenn die Register gelesen werden, enthalten sie
folglich die Werte, die sie vor dem heruntergeschalteten Zu
stand angenommen hatten - mit Ausnahme irgendwelcher Status
werte, die durch das externe System während des Herunterschal
tens geändert wurden, und irgendwelcher Pin-Statuswerte, die
zweckmäßigerweise durch das Chip selbst geändert wurden. Ferner
bleiben die Systemschnittstellen-Pins auf dem Chip aktiv, um
Systemzugriffe zu überwachen, die das Chip "aufwecken" können.
Folglich erscheint das Chip während des Abschaltens dem exter
nen System als tätig und zum Empfang von Befehlen bereit.
Die Erfindung gestattet ein Programmieren des internen Os
zillators, so daß er während des heruntergeschalteten Zustandes
entweder abgeschaltet oder aktiv sein kann, unabhängig davon,
ob das Chip heruntergeschaltet ist. Wenn sich ein Kristallos
zillator auf dem Chip befindet, bleibt der Oszillator einge
schaltet, während der Rest des Chips heruntergeschaltet ist.
Dies gestattet dem Chip, schnell "aufgeweckt" zu werden, weil
das Chip nicht darauf zu warten braucht, daß sich der Kristal
loszillator nach dem Starten stabilisiert hat.
Eine typische Anwendung, die den Kristalloszillator verwen
det, arbeitet wie folgt: der Oszillator ist so programmiert,
daß er stets eingeschaltet ist, und das Chip ist für ein auto
matisches Herunterschalten programmiert (d. h. ein Herunter
schalten, wenn es keine Aktivität gibt). Wenn sich das Chip
selbst herunterschaltet, setzt der Oszillator seine Arbeit
fort, wobei er ungefähr 2 mA verbraucht. Wenn das Chip
"aufwacht", ist die Wiederherstellungszeit minimal. Wenn das
System in einen energiesparenden Standby-Modus geht (durch Be
nutzeranforderung oder infolge einer System-Zeitabschaltung),
dann schaltet die externe System-Energiemanagementlogik den
Kristalloszillator aus, um möglichst viel Energie zu sparen. In
diesem Fall übernimmt der Benutzer oder das System die Energie
managementsteuerung, und eine Transparenz für die Anwendungs
software ist nicht länger erforderlich. Eine Wiederherstellung
aus diesem Zustand erfordert, daß die Software den Oszillator
ausreichend lange vor dem Aufwecken des Chips einschaltet, um
ein Regenerieren des Kristalloszillators zu gestatten. Ob der
interne Oszillator auf Herunterschalten oder Aktivbleiben pro
grammiert ist, wird von der Logik (z. B. einem Signal) in der
Energiemanagementschaltung gesteuert. Wenn ein Chip durch einen
externen Oszillator getaktet wird, kann jegliche interne Kri
stalloszillatorschaltungsanordnung ausgeschaltet werden, um En
ergie zu sparen. Die Wiederherstellungszeit ist in diesem Falle
von der Charakteristik der externen Quelle abhängig. Wenn die
externe Quelle während der Zeit, in der das Chip herunterge
schaltet ist, aktiv bleibt, dann ist die Wiederherstellungszeit
minimiert.
Hochgeschaltet (d. h. "aufgeweckt") wird das Chip aus dem
abgeschalteten Zustand bei einer geeigneten Operationsanforde
rung aus dem externen System (Block 103 in Fig. 1). Das Chip
kann auch infolge eines Rücksetzsignals hochgeschaltet werden.
Zum Aufwecken muß die Anforderung an den Kern oder an Kernakti
vitäten gerichtet sein.
Einige externe Systeme, wie beispielsweise Plattenlauf
werksunterstützungssysteme und andere Anwendungsprogramme sind
sehr empfindlich gegenüber jeglichen Verzögerungen beim Schrei
ben des ersten Bytes eines Befehls und haben sehr enge Zeitvor
gaben während dieser Periode. Folglich würde beim Hochschalten
ein Chip, das zu irgendeiner Zeit während des Abschaltens nicht
bereit und zum Befehlsempfang freigegeben ist, nicht durch
diese Programme toleriert werden. Jedoch müssen sämtliche Pro
gramme gegenüber einer Verzögerung tolerant sein, nachdem das
erste Befehlsbyte ausgegeben wurde. Diese Verzögerung beruht
grundsätzlich auf dem Mikroprogramm in einem Chip, das den Sta
tus des Chips und seiner Verbindungen überprüft. Die externe
Software muß gegenüber dieser Verzögerung tolerant sein. Gegen
wärtige BIOS-Programmcodes sehen zwei Zeitsperren (time outs)
vor, um diese Verzögerung zu kompensieren. Diese Toleranz ge
genüber einer Verzögerung schafft ein exzellentes Fenster, um
die Dauer der Wiederherstellung zu überdecken.
Auch muß beim Hochschalten der Oszillator eingeschaltet
werden, sofern er durch die Energiemanagementlogik ausgeschal
tet worden war. Die Wiederherstellung aus dem ausgeschalteten
Zustand ist sehr langsam und anfällig für einen "Aussetzer".
Beide Probleme können während der Wiederherstellungszeit ver
deckt werden.
Im gegenwärtig bevorzugten Ausführungsbeispiel bleibt das
Chip, sobald es "aufgeweckt" wurde, für eine vorgegebene Zeit
spanne eingeschaltet. Wenn während dieser Zeitspanne kein Be
fehl ausgeführt wird, fällt das Chip zurück in den herunterge
schalteten Modus. Wenn jedoch ein Befehl ausgeführt wurde oder
gerade ausgeführt wird, dann bleibt das Chip "wach". Die Länge
dieser Zeitspanne wird durch den Benutzer entsprechend der Zeit
gesetzt, die die Anwendungssoftware, das DOS oder das BIOS nach
einem Rücksetzen oder nach dem Einschalten des Chips benötigt,
um der Anwendungssoftware, dem DOS oder dem BIOS zu gestatten,
die Ausführung irgendeines dem Chip eingegebenen und das Chip
aus dem heruntergeschalteten Modus herausbringenden Befehls zu
beginnen.
Fig. 3 stellt das gegenwärtig bevorzugte Ausführungsbei
spiel der Erfindung in einem Controller (bzw. einer Steuerein
richtung) dar, der eine Schnittstelle zwischen einem Digital
rechner und einer magnetischen Plattenaufzeichnungseinrichtung
oder anderen Speichermitteln zur Verfügung stellt. Der Magnet
platten-Controller nach der Erfindung, gezeigt als Controller
302, schafft eine Schnittstelle zwischen einem Digitalcomputer
305 und einem Diskettenlaufwerk 306. Der Digitalrechner 305 ist
mit dem Controller 302 über den Datenbus 303, den Adreßbus 304
und den Steuerbus 308 gekoppelt. Der Controller 302 ist mit dem
Laufwerk 306 über eine Vielzahl von Steuer-, Daten- und Adreß
leitungen 307 gekoppelt.
Fig. 4 ist ein Gesamtblockschaltbild des Floppy-Disk-Con
trollers (FDC) 400 nach der Erfindung. Generell weist der FDC
400 eine Busschnittstellenlogik 401, Leitrechner-Schnittstel
lenregister 406-413, eine Floppy-Disk-Laufwerk(FDD)-Schnitt
stelle 402, eine serielle Datenschnittstelle 403, eine Mikro
programm- und Steuerlogik 404 sowie eine Herunterschaltlogik
405 mit einem Taktgenerator auf. Im gegenwärtig bevorzugten
Ausführungsbeispiel stellt die Schnittstellenlogik 401 eine
Schnittstelle zwischen dem FDC 400 und dem Digitalrechner zur
Verfügung, indem sie ein Chip-Auswahl-Signal (Chipselect),
ein Lese-Steuersignal (ReaD), ein Schreibsteuersignal
(WRite), Adreßbits A0-3 zur Auswahl eines der Register 406-413
und ein Direktspeicherzugriff(DMA)-Bestätigungssignal
(DMA ACK) zum näheren Bestimmen der Signale und während
der DMA-Zyklen empfängt.
Der Datenbus DB0-7 überträgt Daten zu den und aus den Leit
rechner-Schnittstellenregistern 406-413. Die Richtung der Da
tenübertragung zwischen DB0-7 und den Registern 406-413 ist
durch die mit Pfeilen versehenen Busabschnitte angezeigt. Das
Digitaleingaberegister (DIR - DigitalInputRegister) 413 enthält
den Status der digitalen Eingabeoperationen. Das DIR 413 emp
fängt ein Lesesignal (RDDIR) aus der Busschnittstellenlogik 401
und den FDD-Schnittstellen-Pin-Status
(FDD_INTERFACE_PIN_STATUS) aus der FDD-Schnittstelle 402 und
gibt Daten auf den Datenbus DB0-7 aus. Ein Digitalausgaberegi
ster (DOR-Digital Output Register) 412 enthält die Laufwerkaus
wahl- und Motorfreigabebits (ME0-3-Motor Enable), ein Rücksetz
bit und ein DMA-Auftast-Bit. Das DOR 412 empfängt ein Lese- und
Schreibsteuersignal(R/W DOR) aus der Busschnittstellenlogik
401. Die Motorfreigabebits ME0-3 und die Laufwerksauswahl
(DRIVE_SELECT) werden zwischen dem DOR 412 und der FDD-Schnitt
stelle 402 gekoppelt. Darüberhinaus wird ein DOR-Rücksetzsignal
(DOR_RESET) zwischen dem DOR 412 und der Herunterschaltlogik
405 gekoppelt. Die Statusregister SRA 410 und SRB 411 sind Nur-
Lese-Register und überwachen den Zustand der Unterbrechungs-
und verschiedener FDD-Schnittstellen-Pins. Beide Register 410
und 411 geben Daten nur auf DB0-7 aus und empfangen Lese-Steu
ersignale (RSRA bzw. RSRB) aus der Busschnittstellenlogik 401.
Darüberhinaus empfangen die Register 410 und 411 den FDD-
Schnittstellen-Pin-Status aus der FDD-Schnittstelle 402. Ein
FIFO-Register 409 (FIFO = "zuerst hinein, zuerst hinaus") emp
fängt sämtliche Befehlsparameter und Plattendatenübertragungen.
Das FIFO 409 gibt Daten über DB0-7 ein und aus in Abhängigkeit
von Lese- und Schreibsignalen (RD/WR_FIFO) aus der Busschnitt
stellenlogik 401. Die Signale RD/WR_FIFO werden außerdem an die
Herunterschaltlogik 405 gekoppelt. Das FIFO 409 empfängt ein
Rücksetzsignal (FIFO_RESET) aus der Herunterschaltlogik 405 und
ein Lese/Schreib-Steuersignal (R/W) aus der Mikroprogramm- und
Steuerlogik 404. Außerdem überträgt das FIFO 409 Daten über den
internen Datenbus 414.
Das Hauptstatusregister (MSR - Main Status Register) ist
ein Nur-Lese-Register und wird zum Steuern von Befehlseingaben
und Ergebnisausgaben für sämtliche Befehle verwendet. Das MSR
408 gibt Daten auf DB0-7 in Abhängigkeit von einem Lese-Steuer-
Signal (RD_MSR) aus der Busschnittstellenlogik 401 aus, wobei
das Lese-Steuer-Signal außerdem der Herunterschaltlogik einge
geben wird. Das MSR 408 erhält ein Mikroprogramm-Lese/Schreib-
Signal (µCODE R/W) aus der Mikroprogramm- und Steuerlogik 404,
damit das MSR 408 Daten auf den internen Datenbus 414 über
trägt. Der MSR-Status (MSR_STATUS) aus dem MSR 408 wird der
Herunterschaltlogik 405 zur Verfügung gestellt.
Das Datenraten-Auswahl- und Konfigurations-Steuerregister
(DSR/CCR - Data Select Rate/Configuration Control Register) 407
ist ein Nur-Schreib-Register, welches zur Steuerung der Daten
rate verwendet wird und sichert, daß die Laufwerkszeitvorgaben
eingehalten werden. Das DSR/CCR 407 empfängt Daten von DB0-7 in
Antwort auf ein Schreib-Steuer-Signal (W.DSR) aus der Bus
schnittstellenlogik 401. Ein DSR-Datensignal (DSR_DATA) wird
außerdem der Herunterschaltlogik 405 aus dem DSR/CCR 407 zur
Verfügung gestellt. Ein Bandlaufwerksregister (TDR - Tape Drive
Register) 406 stellt ein Bandlaufwerkssteuersignal (TAPE) der
seriellen Datenschnittstelle 403 zur Verfügung. Das TDR 406
greift ebenfalls auf DB0-7 in Antwort auf ein Lese-und-Schreib-
Steuersignal (R/W TDR) von der Busschnittstellenlogik 401 zu.
Die FDD-Schnittstelle 402 schafft eine Schnittstelle zwi
schen dem FDC 400 und dem Floppy-Disk-Laufwerk. Die FDD-
Schnittstelle 402 empfängt die Motorfreigaben (MOTOR_ENABLE) und
Laufwerksauswahl (DRIVE_SELECT) von dem DOR 412, Steuersignale
(CNTRL) aus der Mikroprogramm- und Steuerlogik 404 und ein Ab
schalt-Zustandssignal PD_STATE (PD = Power Down = Abschalten)
aus der Herunterschaltlogik 405. Die FDD-Schnittstelle 402 hat
auf den internen Datenbus 414 Zugriff. Die FDD-Schnittstelle
stellt Motorfreigabesignale (ME0-3), Laufwerksauswahlsignale
(DS0-3), ein Richtungssteuersignal (DIR) zum Steuern der Rich
tung der Kopfbewegung, Schrittimpulse (STEP), ein Kopfauswahl
steuersignal HDSEL (= HeaD SELect), ein auch zum Programmieren
des Betriebsmodus beim Rücksetzen verwendetes Modussignal
(MFM), ein Dichteauswahlsteuersignal DENSEL (= DENsity SELect)
und ein Schreibfreigabesteuersignal WE (= Write Enable) dem
Floppy-Disk-Laufwerk zur Verfügung. Die Arbeitsweise dieser Si
gnale ist bekannt. Die FDD-Schnittstelle empfängt ein Spursteu
erleitungssignal TRKO (= TRacKO), das anzeigt, daß der Kopf an
der Spur 0 ist, ein Schreibschutzsignal WP(= Write Protect),
das anzeigt, wenn das Laufwerk schreibgeschützt ist, ein Dis
kettenwechselsteuersignal DSKCHG (= Disk CHanGe), ein invertie
rendes Signal INVERT und ein Index-Signal INDEX, das den Start
einer Spur von dem Floppy-Disk-Laufwerk anzeigt. Die Arbeits
weise dieser Signale ist ebenfalls bekannt.
Die serielle Datenschnittstelle 403 schafft eine serielle
Datenschnittstelle zwischen dem FDC 400 und dem Floppy-Disk-
Laufwerk. Die serielle Datenschnittstelle 403 kann auf den in
ternen Datenbus 414 zugreifen und empfängt Steuersignale
(CNTRL) aus der Mikroprogramm- und Steuerlogik 404 sowie das
Signal PD_STATE aus der Herunterschaltlogik 405. Die serielle
Datenschnittstelle 403 treibt serielle Daten zum Laufwerk
(WRDATA) und liest serielle Daten von der Platte (RDDATA).
Außerdem empfängt die serielle Datenschnittstelle 403 ein Mo
dusauswahlssignal PLL0 (= Phase Locked Loop 0), das die PLL-
Übertragungscharakteristiken steuert.
Die Mikroprogramm- und Steuerlogik 404 ist verantwortlich
für die Steuerung des Betriebs des FDC 400, um die Ausführung
seiner Funktion zu sichern. Die Steuerlogik 404 erzeugt Signale
zur FDD-Schnittstellenlogik 402, zur seriellen Datenschnitt
stelle 403, zur Herunterschaltlogik 405 (wie MCODE_CNTRL) und
zum FIFO 409. Die Steuerlogik 404 empfängt den FDD-Schnittstel
len-Pin-Status von der FDD-Schnittstelle 402 und das Signal
PD_STATE von der Herunterschaltlogik 405. Die Steuerlogik
greift auf den internen Datenbus 414 zu und empfängt von exter
nen Quellen das Endzähl-Signal TC (= Terminal Count) zum Been
den der aktuellen Plattenübertragung und ein Identitätssignal
(IDENT) zum Auswählen des Schnittstellenmodus. Außerdem erzeugt
die Steuerlogik 404 ein Unterbrechungssignal (INT) zur Herun
terschaltlogik 405 und für eine externe Verwendung gemeinsam
mit einem DMA-Anforderungssignal DRQ (= DMA ReQest).
Neben den oben erwähnten Verbindungen greift die Herunter
schaltlogik 405 auf den internen Datenbus 414 zu, empfängt das
Rücksetzsignal (RESET) und die Taktverbindungen X1 und X2 und
gibt die Signale IDLE (= Leerzustand) und PD (= Herunterschalt
zustand) aus.
Der FDC 400 ist in zwei allgemeine Bereiche eingeteilt.
Zunächst bilden die Busschnittstellenlogik 401 und die Register
406-413 einen Teil. Sämtliche Logik dieses Teils ist statische
Logik, so daß keine Takte eingeschlossen sind und keine Energie
verbraucht wird, wenn keine Zugriffe auf diese Register statt
finden. Aus diesen Gründen brauchen im gegenwärtig bevorzugten
Ausführungsbeispiel diese Blöcke nicht heruntergeschaltet zu
werden. Sie sind auch im heruntergeschalteten Zustand des Chips
stets für einen Zugriff bereit. Der verbleibende Teil der Logik
ist getaktet (d. h. dynamisch). Jedoch kann die verbleibende Lo
gik entweder dynamisch oder statisch sein, was beim Entwurf
ausgewählt wird. Es sei gesagt, daß selbst statische Logik beim
Takten Energie verbraucht, da der Energieverbrauch beim CMOS
durch kapazitive Verschiebungsströme hervorgerufen wird. Diese
Ströme müssen während des heruntergeschalteten Modus ausge
schaltet werden.
Die Herunterschaltlogik 405 erreicht eine Softwaretranspa
renz, indem der FDC 400 heruntergeschaltet wird, wenn er nicht
irgendeinen Befehl ausführt oder auf eine Ausführung wartet.
Folglich versetzt die Abschaltlogik 405 den FDC 400 in den Her
unterschaltmodus, wenn er in dem Leerzustand ist. Im gegenwär
tig bevorzugten Ausführungsbeispiel ist der FDC 400 in dem
Leerzustand, wenn er auf einen Befehl wartet, keine Unterbre
chungsaktivität existiert, der Kopfladezeitgeber auf Null ist
und kein Motor oder irgendein Laufwerk eingeschaltet ist. Wenn
die Herunterschaltlogik 405 den FDC 400 in den heruntergeschal
teten Modus versetzt, erscheint der FDC 400 der Software und
dem System, wie wenn er hochgeschaltet wäre. Der FDC 400 ist in
der Lage, Eingaben in beliebige Register zu akzeptieren, und
sämtliche Systemschnittstellenregister können noch gelesen wer
den. Nur Zugriffe auf spezielle Register oder das Einschalten
irgendeines Motorfreigabebits weckt das Chip auf. Darüberhinaus
geht kein Status verloren oder wird verändert (sofern keine
zweckmäßige Änderung während des Herunterschaltens eingeleitet
wurde), wenn die Herunterschaltlogik 405 den FDC 400 in den
heruntergeschalteten Modus versetzt. Dies gestattet dem FDC
400, Wieder dort zu beginnen, wo er vor dem Eintreten in den
heruntergeschalteten Zustand aufgehört hat.
Es sei angemerkt, daß in dem bevorzugten Ausführungsbei
spiel von den acht Systemschnittstellenregister 406 bis 413
nur das FIFO 409 und das MSR 408 mit ihrer Zugriffssteuerung
mit der Herunterschaltlogik 405 verbunden sind. Dies sind die
zwei einzigen Register, bei denen ein Zugriff das Chip aus dem
Abschaltzustand aufweckt. Bei anderen Registern sind verschie
dene Teile der Bitinhalte mit der Herunterschaltlogik 405 ver
bunden, und bestimmte Kombinationen können die Herunterschalt
logik 405 beeinflussen, wie später zu sehen sein wird.
Fig. 5 veranschaulicht den in Fig. 4 gezeigten Herunter
schaltlogikblock. Die Herunterschaltlogik 500 weist eine Regi
sterzugriffslogik 501, eine Leer-Logik 502, eine automatische
Herunterschaltlogik 503, eine automatische Aufwecklogik 504,
einen Minimalherunterschaltzeit-Zeitgeber 505, eine PD-Steuer
logik 506, ein PD-Modus-Latch 507 und einen Taktgenerator und
Oszillator 509 auf. Die einzelnen Verbindungen und Signale je
des dieser Blöcke werden später in Verbindung mit der jedem
dieser Blöcke zugeordneten einzelnen Logik erörtert.
Die Herunterschaltlogik 500 schaltet den FDC ab, indem die
internen Takte (wie sie vom Taktgenerator 509 erzeugt werden)
abgeschaltet werden und das Herunterschaltzustandssignal
PD_STATE (Power Down STATE) an die Schaltungen angelegt wird.
Im gegenwärtig bevorzugten Ausführungsbeispiel enthalten diese
Schaltungen die Mikroprogramm- und Steuerlogik und die serielle
Datenschnittstelle. Die analoge PLL, bestimmte PLAs und Lese
schaltungen werden ebenfalls auf diese Weise behandelt. Der
Taktgenerator 509 ist so konstruiert, daß er einen vorbezeich
neten Zustand einnimmt und in diesem Zustand bleibt, wenn das
Signal PD_STATE aktiv ist, und dann fortfährt, wenn es wieder
deaktiviert wird.
Der Taktgenerator empfängt die Taktsignale X1 und X2 und
die Datenratenbits von dem DSR und erzeugt die internen Takte
für den FDC. Dem Kristalloszillator, welcher ein Teil der Takt
generatorschaltung 509 ist, wird unabhängig von dem Signal
PD_STATE ein eigenes Signal (d. h. ein Steuerbit) übergeben, um
zu steuern, ob der Oszillator aktiv sein soll oder nicht. Im
gegenwärtig bevorzugten Ausführungsbeispiel ist dieses Bit das
Bit 5 des DSR. Das separate Steuerbit gestattet dem Benutzer
auszuwählen, ob er den Oszillator während des Herunterschaltmo
dus eingeschaltet lassen oder ihn ausschalten will. Im gegen
wärtig bevorzugten Ausführungsbeispiel ist der Benutzer gezwun
gen, zum Takten des Systems beim Wiederhochschalten einen ex
ternen Oszillator vorzusehen, wenn der Benutzer sich zum Ab
schalten des Oszillators entschieden hat. Wenn der Benutzer in
irgendeiner Weise einen externen Oszillator vorgesehen hat,
dann spart der FDC 400 den Energieverbrauch des Oszillators,
indem er ihn stets abschaltet. Wenn der Benutzer einen Kri
stalloszillator vorgesehen hat, dann gestattet die Herunter
schaltlogik 500 dem Oszillator während des Abschaltens, für
eine sofortige Wiederaufnahme (d. h. Transparenz) weiterzuarbei
ten.
Die Registerzugriffslogik 501 empfängt die Motorfreigabesi
gnale (d. h. Bits), die Lese- und Schreib-(RD/WR)-FIFO-Signale
und die Lese(RD)-MSR-Signale. In Abhängigkeit von diesen Signa
len bestimmt die Registerzugriffslogik 501, ob einer der Moto
ren auf dem Floppy-Disk-Laufwerk freigegeben wird, ob auf das
FIFO gegenwärtig durch eine Lese- oder eine Schreiboperation
zugegriffen wird und ob das MSR-Befehlsregister gelesen wird.
Die Logik 501 gibt ein Signal (REG_ACCESS) an die automatische
Herunterschaltlogik 503 aus, welche in Abhängigkeit von diesem
Signal bestimmt, ob der FDC in den Herunterschaltzustand zu
versetzen ist. Die Logik 501 gibt das Signal außerdem an die
automatische Aufwecklogik 504 aus.
Die Leer-Logik 502 empfängt die Befehlsstatussignale (MSR
0-7), das eine anstehende Unterbrechung anzeigende Signal
INT_PENDING und das Zeitgebersignal HEAD_LOADED, das anzeigt,
daß die Zeit beim Kopfladezeitgeber abgelaufen ist. In Abhän
gigkeit von diesen Eingangssignalen gibt die Leer-Logik 502 ein
Signal (IDLE) an die automatische Herunterschaltlogik 503 und
die Aufwecklogik 504 aus.
Die PD-Steuerlogik 506 ist verantwortlich für das Versetzen
des FDC in den heruntergeschalteten Modus. Die automatische
Herunterschaltlogik 503 und die Aufwecklogik 504 signalisieren
der PD-Steuerlogik 506, daß sie das das Signal PD_STATE erzeu
gende Flip-Flop setzen bzw. rücksetzen soll, wodurch das Chip
veranlaßt wird, in den Abschaltmodus versetzt bzw. daraus auf
geweckt zu werden. Im gegenwärtig bevorzugten Ausführungsbei
spiel wird dieses Flip-Flop außerdem durch das PD-Bit des DSR
(Bit 6) gesetzt und durch irgendeines von den Rücksetzsignalen
zurückgesetzt. Die automatische Aufwecklogik 504 gibt außerdem
ein Signal AUTO_PD_STATUS auf den internen Datenbus 508 aus.
Der Minimalabschaltzeit-Zeitgeber 505 empfängt das Zeitge
berverzögerungsauswahlsignal (TIMER_DELAY_SEL) von dem PD-Mo
dus-Latch 507, das interne Mikroprogramm-Zeitgeberausgangssi
gnal (INTERNAL_µCODE_TIMER) und das Signal PD_STATE von der PD-
Steuerlogik 506 und erzeugt ein Signal (PD_MIN_TIMER_DONE), das
das Ablaufen des Zeitgebers anzeigt. Dieses Signal wird sowohl
an die PD-Steuerlogik 506 als auch die automatische Herunter
schaltlogik 503 ausgegeben.
Das PD-Modus-Latch 507 wird von der Mikroprogramm- und
Steuerlogik mit dem Herunterschaltmodus geladen. Wie weiter un
ten gezeigt werden wird, ermöglicht die Erfindung sowohl den
automatischen als auch den direkten Herunterschaltmodus. In
Antwort auf ein Latch-Speichern des Herunterschaltmodus erzeugt
das PD-Modus-Latch 507 ein Herunterschaltmodus-Freigabesignal
(PD_MODE_ENABLE) an die automatische Herunterschaltlogik 503,
ein Zeitgeberverzögerungsauswahlsignal (TIMER_DELAY_SEL) an den
Zeitgeber 505 und ein FDD-Tri-State-Sperr-Pin zur Freigabe der
FDD-Pins.
Im gegenwärtig bevorzugten Ausführungsbeispiel unterstützt
die Energiemanagementlogik zwei Herunterschaltmoden: das di
rekte und das automatische Herunterschalten. Das direkte Herun
terschalten tritt auf, wenn eine Aktion eines Programms unmit
telbar in einem Herunterschalten des Chips mit geringer oder
ohne Verzögerung oder Abhängigkeit von anderen Faktoren (d. h.
Chipaktivitäten) resultiert. Das automatische Herunterschalten
ergibt sich, wenn die Energiemanagementlogik den FDC hinsicht
lich bestimmter Bedingungen und entsprechend eines zuvor pro
grammierten Modus überwacht.
Sobald der automatische Herunterschaltmodus freigegeben
ist, beginnt ein programmierbarer Minimalverzögerungszeitgeber
(siehe Fig. 11) mit dem Zählen. Wenn die Motorfreigabesignale
nicht aktiv sind, nachdem eine durch den Zeitgeber vorgegebene
Zeit erreicht wurde und der FDC leer ist, dann schaltet die
Energiemanagementlogik den FDC ab. Wenn irgendein Motorfreiga
besignal aktiv ist oder das Chip nicht leer ist, wenn der Mini
malverzögerungszeitgeber abgelaufen ist, wartet der FDC, bis
sämtliche Motorfreigabesignale inaktiv sind und der FDC leer
ist, bevor er mit dem Herunterschalten beginnt. Ein Sperren des
automatischen Herunterschaltmodus stellt den Zeitgeber ab und
hält das Chip vom automatischen Herunterschaltzustand fern. Ein
Neuprogrammieren der Datenrate startet ebenfalls den Zeitgeber
erneut, um zu sichern, daß die volle Verzögerung zur Verfügung
steht. Im gegenwärtig bevorzugten Ausführungsbeispiel setzt ein
Programmieren des DSR-Herunterschalt-Bits den automatischen Ab
schaltmodus und seine Minimalverzögerung außer Kraft. Dies wird
in Verbindung mit Fig. 10 detaillierter erörtert.
Die Fig. 5, 6A und 6B zeigen die Registerzugriffs- bzw.
die Leer-Logik, die zum Erfassen des Zustands des Chips für ein
Eintreten in das automatische Herunterschalten und ein Heraus
kommen aus dem Abschaltzustand (d. h. das automatische Auf
wecken) notwendig sind. In Fig. 6A erkennt die Registerzugriffs-
Logik, ob ein Zugriff auf das FIFO oder ein Lesen aus dem MSR
existiert. Diese Zugriffe wecken den FDC auf. Die Registerzu
griffs-Logik weist ODER-Gatter 601 und 602 auf. Das ODER-Gatter
602 empfängt die als ME0-3 bezeichneten Motorfreigabebits und
erzeugt ein Motorfreigabeaktivsignal (ME_ACT). Dieses Signal
ist eines der Eingangssignale für das ODER-Gatter 601. Das
ODER-Gatter 601 empfängt außerdem Lese- und Schreib-FIFO-Si
gnale (RD_FIFO und WR_FIFO) und das Lese-MSR-Signal (RD_MSR).
In Abhängigkeit von diesen Signalen erzeugt das ODER-Gatter 601
das Signal ACCESS_REG) (Signal REG-ACCESS in Fig. 5).
Die Registerzugriffs und Leer-Logik bestimmen, ob ein Re
gisterzugriff existiert, der den FDC aufweckt. Wenn es ein Le
sen oder ein Schreiben zu dem FIFO des FDC gibt, was durch die
auf hohem Pegel befindlichen Signale RD_FIFO bzw. WR_FIFO ange
zeigt wird, dann wird das Registerzugriffssignal (ACCESS_REG)
aus dem ODER-Gatter 601 logisch hoch, was den FIFO-Zugriff an
zeigt. In gleicher Weise wird, wenn das MSR-Befehlsregister ge
lesen wird, was durch ein hohes RD_MSR angezeigt wird, das vom
ODER-Gatter 601 ausgegebene Signal ACCESS_REG ebenfalls logisch
hoch, was anzeigt, daß das MSR-Register gelesen wird. Im gegen
wärtig bevorzugten Ausführungsbeispiel gibt es nur zwei Regi
ster, bei denen ein Zugriff ein Aufwecken des Chips veranlaßt.
Zugriffe auf alle anderen Register wecken den FDC nicht auf.
Jedoch wird durch ein Setzen bestimmter Bits in anderen Regi
stern das Chip ebenfalls aufgeweckt. In diesen Fällen werden
die Bits direkt und nicht der Zugriff auf das gesamte Register
überwacht. Ein Beispiel dieser Art der Überwachung ist in Fig.
6A gezeigt, in der sämtliche Motorfreigabebits (ME0-3) an Ein
gänge des ODER-Gatters 602 gekoppelt sind. Wenn eines der Mo
torfreigabebits eine logische Eins ist und somit anzeigt, daß
ein Floppy-Disk-Laufwerksmotor freigegeben ist, dann geht im
gegenwärtig bevorzugten Ausführungsbeispiel das Motorfreigabe-
Aktiv-Signal (ME_ACT) auf einen hohen Pegel, und es wird dem
ODER-Gatter 601 eingegeben. Infolge des hohen Eingangssignals
gibt das ODER-Gatter 601 das Signal ACCESS_REG als hoch aus.
Das direkte Überwachen der anderen Bits wird in gleicher Weise
ausgeführt. Andere auf diese Weise überwachte Bits sind das
DSR-Bit 6 (manuelles Herunterschalten), das DSR-Bit 7
(DSR_RESET) und das DOR-Bit 2 (DOR_RESET). Das Signal
ACCESS_REG wird der automatischen Herunterschaltlogik und der
automatischen Aufwecklogik eingegeben. Wenn das Signal
ACCESS_REG hoch ist, bringt die automatische Herunterschaltlo
gik den FDC nicht zum Herunterschalten. Darüberhinaus veranlaßt
ein hohes ACCESS_REG-Signal die automatische Aufwecklogik, den
FDC hochzuschalten, wenn sich der FDC im heruntergeschaltete
Modus befindet.
Fig. 6B zeigt das gegenwärtig bevorzugte Ausführungsbei
spiel der zum Erzeugen des IDLE-Signals erforderlichen Leer-Lo
gik. Die IDLE-Signalerzeugungslogik besteht aus einem UND-Gat
ter 603, einem UND-Gatter 604 und einem Puffer 605, der mit dem
IDLE-Pin 606 gekoppelt ist. Die Eingangssignale für das UND-
Gatter 603 sind die MSR-Bits 0-7. Das Ausgangssignal des UND-
Gatters 603 ist das Signal MSR_IDLE, welches ein Eingangssignal
für das UND-Gatter 604 ist. Die anderen beiden Eingangssignale
des UND-Gatters 604 sind das Signal INTERRUPT_PENDING und das
Signal HEAD_LOADED, welche beide invertiert werden (die Signale
müssen logisch gleich Null sein, damit das UND-Gatter 604 eine
logische Eins ausgibt). Das Ausgangssignal des UND-Gatters 604
ist das Signal IDLE. Es ist außerdem das Eingangssignal des
Puffers 605. Der Ausgang des Puffers 605 ist mit dem IDLE-Pin
606 gekoppelt.
Das IDLE-Signal wird vom UND-Gatter 604 ausgegeben. Im ge
genwärtig bevorzugten Ausführungsbeispiel ist IDLE hoch, wenn
das Eingangssignal MSR_IDLE des UND-Gatters 604 hoch ist und
sowohl das Eingangssignal INTERRUPT_PENDING als auch das Ein
gangssignal HEAD_LOADED des UND-Gatters 604 auf niedrigem Pegel
sind. Das Signal INTERRUPT_PENDING geht auf einen hohen Pegel,
wenn an den FDC eine Unterbrechung (ein Interrupt) angelegt
wird. Sobald die Unterbrechung behandelt wurde, geht das Signal
INTERRUPT_PENDING auf einen niedrigen Pegel. Das Signal
HEAD_LOADED ist hoch, während der FDC auf die Platte zugreift,
und bleibt für eine gewisse Zeit danach hoch, wobei diese Zeit
durch eine programmierbare Verzögerung gesetzt wird. Das vom
UND-Gatter 604 ausgegebene Signal IDLE geht nur auf einen hohen
Pegel, wenn der vom Laden der Köpfe des Plattenlaufwerks ausge
löste Zeitgeber abgelaufen ist (Zeitabschaltung) und das Signal
HEAD_LOAD auf niedrigem Pegel ist. Außerdem kann das Signal
IDLE nur dann auf einen hohen Pegel gehen, wenn das IDLE-Signal
des MSR (MSR_IDLE) auf einen hohen Pegel geht. Das Signal
MSR_IDLE geht hoch, wenn die Bits 0-6 des MSR alle auf niedri
gem Pegel (d. h. logisch gleich Null) sind und das Bit 7 des MSR
hoch ist (d. h. eine logische Eins). Es sei angemerkt, daß das
RQM-Bit (MSR-Bit 7) Null ist, wenn über Bit 6 des DSR der FDC
im manuellen (d. h. direkten) Herunterschaltmodus ist. Dies hin
dert den FDC daran, im automatischen Herunterschaltzustand zu
sein, weil ein MSR_IDLE auf niedrigem Pegel das IDLE-Signal aus
dem UND-Gatter 604 auf einen niedrigen Pegel zwingt.
Folglich ist der Leerzustand als der Zustand definiert, bei
dem keine Unterbrechungen oder Befehlsaktionen (Befehl besetzt
und Laufwerke nicht besetzt) anhängig sind und der Kopfzeitge
ber abgelaufen ist. Im gegenwärtig bevorzugten Ausführungsbei
spiel tritt der Leerzustand auf, wenn das IDLE-Signal hoch ist.
Wenn das IDLE-Signal auf niedrigem Pegel ist, bringt die auto
matische Herunterschaltlogik den FDC zum Herunterschalten. Auch
veranlaßt ein niedriges IDLE-Signal die automatische Aufwecklo
gik, den FDC aufzuwecken, wenn sich der FDC im heruntergeschal
teten Modus befindet. Im folgenden wird wieder auf Fig. 6B Be
zug genommen. Es sei angemerkt, daß das IDLE-Signal außerdem
über den Puffer 605 zum IDLE-Pin 606 zur externen Verwendung
als Bedingungssignal für eine externe Herunterschalt- oder Un
terbrechungslogik übernommen wird.
Die automatische Herunterschaltlogik 700 ist in Fig. 7 ge
zeigt. Die Steuerlogik 700 besteht aus ODER-Gattern 701, 702
und 705, einem UND-Gatter 703, R/S-Flip-Flops 704 und 706, ei
nem Puffer 707 und einem PD-Pin 708. Die Signale DOR_RESET,
DSR_RESET und PIN_RESET sind mit den Eingängen des ODER-Gatters
701 gekoppelt. Das Ausgangssignal ALL_RESET des ODER-Gatters
701 wird an die allgemeine Rücksetzlogik ausgegeben und ist mit
einem der Eingänge des ODER-Gatters 702 gekoppelt. Die anderen
Eingangssignale des ODER-Gatters 702 sind das IDLE-Signal, das
ACCESS_REG-Signal und das PD_STATE-Signal. Jedoch wird das Si
gnal IDLE an dem Eingang des ODER-Gatters 702 invertiert. Das
Signal PD_STATE wird außerdem dem Puffer 707 eingegeben. Der
Ausgang des Puffers 707 ist mit dem PD-Pin 708 gekoppelt. Das
ODER-Gatter 705 empfängt das PD_MODE_ENABLE-Signal und das
ALL_RESET-Signal an seinen Eingängen. Das Signal PD_MODE_ENABLE
wird invertiert. Der Ausgang des ODER-Gatters 705 ist mit dem
R-Eingang des Flip-Flops 706 gekoppelt. Der Z-Ausgang des Flip-
Flops 706 liefert das PD_CNTR_DONE-Signal und ist mit einem
Eingang des UND-Gatters 703 gekoppelt. Die anderen Eingänge des
UND-Gatters 703 sind mit dem Ausgang des ODER-Gatters 702 bzw.
dem MAN_PD-Signal (DSR-Bit 6) gekoppelt. Jedes dieser beiden
Eingangssignale wird an den Eingängen des UND-Gatters 703 in
vertiert. Der Ausgang des ODER-Gatters 702 ist ebenfalls mit
dem R-Eingang des Flip-Flops 704 gekoppelt. Der Z-Ausgang des
Flip-Flops 704 liefert das automatische Herunterschaltsignal
AUTO_PD und ist mit der Herunterschaltsteuerlogik (506 in Fig.
5) gekoppelt.
Im folgenden wird weiter auf Fig. 7 Bezug genommen. Die
Steuerlogik 700 erzeugt ein Signal für die PD-Steuerlogik, das
diese veranlaßt, das FDC-Chip in den Herunterschaltmodus zu
versetzen, wenn der Z-Ausgang des Flip-Flops 704 auf einen ho
hen Pegel geht, selbst wenn dies nur kurzzeitig geschieht. Die
Eingänge des ODER-Gatters 702 bestimmen die Bedingungen, welche
das Chip am Übergehen in den heruntergeschalteten Zustand hin
dern: ALL_RESET ist hoch, IDLE ist niedrig, ACCESS_REG ist hoch
oder PD_STATE ist hoch. Wenn irgendeine dieser Bedingungen er
füllt ist, dann ist der Ausgang des ODER-Gatters 702 hoch, und
das Flip-Flop 704 wird über seinen R-Eingang zurückgesetzt.
(Der R- und der S-Eingang werden nur freigegeben, wenn der E-
Eingang zum Flip-Flop 704 hoch ist. Wenn der E-Eingang niedrig
ist, werden der R- und der S-Eingang ignoriert.) In dem bevor
zugten Ausführungsbeispiel kann der Flip-Flop 704 nur dann sei
nen Zustand ändern, wenn der interne Takt PHI1 am E-Eingang
hoch ist. Liegt keine der oben genannten Bedingungen vor,
bleibt der R-Eingang des Flip-Flops 704 niedrig, und das UND-
Gatter 703 kann auf einen hohen Pegel gehen, sobald die Bedin
gungen seiner anderen Eingänge ebenfalls erfüllt sind. Wenn der
Ausgang des ODER-Gatters 702 hoch ist, dann zwingt er den Aus
gang des UND-Gatters 703 auf einen niedrigen Pegel, was den S-
Eingang des Flip-Flops 704 auf einem logisch niedrigen Pegel
hält, wobei das Chip daran gehindert wird, in den herunterge
schalteten Zustand einzutreten. Wenn es ein programmiertes
Rücksetzen aus dem DOR oder dem DSR gibt (d. h. DOR_RESET bzw.
DSR_RESET) oder das Rücksetz-Pin auf einen hohen Pegel gebracht
wird, um anzuzeigen, das das FDC-Chip zurückgesetzt werden
soll, dann erzeugt das ODER-Gatter 701 ein Signal ALL_RESET,
welches logisch hoch ist. Ein hohes Signal ALL_RESET veranlaßt
den Ausgang des ODER-Gatters 702, auf einen hohen Pegel zu ge
hen und das Flip-Flop 704 über seinen R-Eingang zurückzusetzen
(wenn PHI1 auf einen hohen Pegel geht). Es sei angemerkt, daß
das Signal ALL_RESET auch das FDC-Chip zurücksetzt.
Wenn das Signal IDLE niedrig oder das Signal ACCESS_REG
hoch ist, ist der Ausgang des ODER-Gatters 702 hoch, und das
Signal AUTO_PD wird - wie oben beschrieben - auf einem niedri
gen Pegel gehalten, was das Chip am Eintreten in den herunter
geschalteten Zustand hindert.
Wenn der Ausgang des ODER-Gatters 702 niedrig ist, dann
kann der Ausgang des UND-Gatters 703 auf einen hohen Pegel ge
hen, welcher das Chip in den heruntergeschalteten Zustand ver
setzen kann. Es gibt zwei weitere Eingänge zum UND-Gatter 703,
welche für diesen Zweck in dem richtigen Zustand sein müssen.
Zunächst muß das Signal MAN_PD vom DSR-Bit 6 auf einem niedri
gen Pegel sein. Ein manuelles Herunterschalten, programmiert
durch das DSR-Register, überschreibt den automatischen Herun
terschaltmodus. (Wie bereits gesagt, nimmt in diesem Fall das
Signal IDLE ebenfalls einen niedrigen Wert an, was das ODER-
Gatter 702 zur Ausgabe einer logischen Eins zwingt und das au
tomatische Herunterschalt-Flip-Flop 704 zurücksetzt.) Außerdem
muß das das Ablaufen des Herunterschaltzählers anzeigende Si
gnal PD_CNTR_DONE logisch gleich Eins sein, um ein Setzen des
automatischen Herunterschaltmodus freizugeben. Dieses Signal
PD_CNTR_DONE kommt aus dem Z-Ausgang des Flip-Flops 706.
Wenn der Herunterschaltzeitgeber abgelaufen ist, wie dies
durch das Signal PD_MIN_TIMER_DONE am S-Eingang des Flip-Flop
706 angezeigt wird, und der Ausgang des ODER-Gatters 705 eine
logische Null (d. h. niedrig) ist, dann ist im gegenwärtig be
vorzugten Ausführungsbeispiel der Z-Ausgang des Flip-Flops 706
hoch, was das UND-Gatter 703 veranlaßt, auf einen hohen Pegel
zu gehen (wobei angenommen wird, daß die anderen Eingänge des
UND-Gatters 703 niedrig sind). Dies veranlaßt das Flip-Flop
704, das Signal AUTO_PD auszugeben, wobei das FDC-Chip zum Her
unterschalten gebracht wird. Das Ausgangssignal des ODER-Gat
ters 705 ist niedrig, wenn es kein Rücksetzen gibt, was dadurch
angezeigt wird, daß das Signal ALL_RESET niedrig ist, und der
automatische Herunterschaltmodus ist freigegeben, was dadurch
angezeigt wird, daß das Signal PD_MODE_ENABLE hoch ist. Das Si
gnal PD_MODE_ENABLE wird am Eingang des ODER-Gatters 705 inver
tiert.
Es sei angemerkt, daß die Reihenfolge der Eintreffzeiten
der Eingangssignale am UND-Gatter 703 unwichtig ist. Das Aus
gangssignal des ODER-Gatters 702 kann konstant logisch niedrig
sein, wenn das Signal PD_CNTR_DONE auf einen hohen Pegel geht,
was das Chip veranlaßt, bei diesem Ereignis in den herunterge
schalteten Zustand einzutreten. Umgekehrt kann das Signal
PD_CNTR_DONE längst auf einem hohen Pegel sein und das Signal
IDLE dasjenige sein, welches auf einen hohen Pegel geht und das
automatische Herunterschalten setzt. Sobald im aktuellen Aus
führungsbeispiel das Signal AUTO_PD hoch gesetzt ist, setzt die
vorhandene Logik das Signal PD_STATE auf einen hohen Pegel, so
bald PHI2 aktiv wird. Die Signale PHI1 und PHI2 sind die nicht
überlappenden Haupttaktsignale des gesamten Chips. Wenn jetzt
das Signal PD_STATE auf einen hohen Pegel gesetzt ist, veran
laßt es das Ausgangssignal des ODER-Gatters 702, auf einen ho
hen Pegel zu gehen, wobei das Flip-Flop 704 rückgesetzt und das
Signal AUTO_PD veranlaßt wird, auf einen niedrigen Pegel zu
rückzukehren. AUTO_PD ist nur für eine PHI1-Zeitperiode auf ei
nem hohen Pegel, aber dies reicht aus, um das Chip in den Her
unterschaltzustand zu bringen.
Folglich bestimmt die Steuerlogik 700, wann der FDC in den
automatischen Herunterschaltzustand gebracht werden soll. Im
gegenwärtig bevorzugten Ausführungsbeispiel wird das automati
sche Herunterschalten nur dann begonnen, wenn der FDC leer ist,
kein Rücksetzen irgendeiner Art stattfindet, kein Registerzu
griff auftritt (oder eine Motorfreigabe aktiv ist), der FDC
sich nicht bereits im heruntergeschalteten Zustand befindet,
der FDC nicht für ein manuelles Herunterschalten programmiert
ist (d. h. DSR-Bit 6 gesetzt ist) und der PD-Minimalherunter
schaltzeitgeber abgelaufen ist. Sobald sämtliche dieser Bedin
gungen erfüllt sind, erzeugt die Steuerlogik 700 ein Signal,
welches das FDC-Chip in den heruntergeschalteter Zustand ver
setzt. Der PD_STATE-Zustand wird außerdem an einem PD genannten
Pin zur externen logischen Verwendung zur Verfügung gestellt.
Das PD-Pin ist entweder bei einem automatischen oder einem ma
nuellen Herunterschaltmodus aktiv. Im gegenwärtig bevorzugten
Ausführungsbeispiel unterscheidet der logische Zustand des
IDLE-Pins die zwei Moden. Wenn das IDLE eine logische 0 ist,
ist das FDC-Chip im manuellen Herunterschaltmodus. Wenn das
IDLE-Pin eine logische 1 ist, ist das FDC-Chip im automatischen
Herunterschaltmodus.
Die Herunterschaltsteuerlogik, die verwendet wird, um aktu
ell den FDC in den heruntergeschalteten Zustand zu versetzen,
ist die gleiche, wie sie in dem in der Einleitung der Beschrei
bung genannten 82077AA der Anmelderin verwendet wird. Die Her
unter- bzw. PD-Steuerlogik weist ein Flip-Flop auf, dessen Aus
gangssignal das Signal PD_STATE ist. Dieses Flip-Flop wird
durch jegliche Form von Rücksetzsignalen zurückgesetzt (d. h.,
das in Fig. 7 gezeigte ALL_RESET). Es wird außerdem gesetzt
durch Setzen des MAN_PD-Bits in dem DSR (Fig. 10). Wenn das
Chip in den Herunterschaltmodus versetzt wird, wird zunächst
der Kern des FDC für einige Taktzyklen zurückgesetzt, um das
Chip in einen bekannten Ruhezustand zu versetzen, und dann wer
den die Takte (PHI1 und PHI2) angehalten in einem Zustand, der
das Chip in diesem Zustand und außerdem in einem Zustand redu
zierten Energieverbrauchs eingefroren hält. Wenn der herunter
geschaltete Zustand durch ein Rücksetzen erregt wird, werden
die Takte während des Rücksetzens erneut gestartet, und es wird
die normale Operation aus der Rücksetzbedingung wieder auf ge
nommen.
Im gegenwärtig bevorzugten Ausführungsbeispiel wird jeweils
ein weiterer Setz- und Rücksetz-Eingang zu dem PD_STATE-Flip-
Flop hinzugefügt (AUTO_PD bzw. AUTO_WAKE). Diese setzen den
PD_STATE in der gleichen Weise wie oben hin und zurück. Ein
Rücksetzen zum Kern beeinflußt nicht die IDLE-Bedingung. Auch
das Mikroprogramm ändert nicht den wichtigen Chip-Status, der
in nicht rücksetzbaren Registern gespeichert ist. Das Mikropro
gramm verwendet ein Statusbit, das durch die automatische Her
unterschaltlogik zur Verfügung gestellt wird (erörtert in Ver
bindung mit Fig. 8), um diese Bestimmung auszuführen. Schließ
lich ist das Abschalten des Kristalloszillators unabhängig von
Abschaltzustand des Rests des Chips. Dies wird ebenfalls näher
in einem späteren Abschnitt erörtert.
Um in den automatischen Herunterschaltmodus einzutreten,
wird im gegenwärtig bevorzugten Ausführungsbeispiel ein Befehl
zur Mikroprogramm- und Steuerlogik des FDC gesendet. Dieser Be
fehl setzt den exakten Modus zum automatischen Herunterschal
ten. Die Form des Befehls ist in Fig. 8 gezeigt. Beim Schreiben
des Befehls in das FDC-Chip wird in dem gegenwärtig bevorzugten
Ausführungsbeispiel, wenn das AUTO_PD-Bit auf eine 0 gesetzt
ist, der automatische Herunterschaltmodus gesperrt. Wenn das
AUTO_PD-Bit auf eine 1 gesetzt ist, wird der automatische Her
unterschaltmodus freigegeben. Darüberhinaus beträgt, wenn das
MIN_DLY-Bit auf eine Null gesetzt und das AUTO_PD-Bit auf eine
1 gesetzt ist, die minimale Einschaltzeit 10 ms. Wenn jedoch das
MIN_DLY-Bit auf eine 1 gesetzt ist und das AUTO_PD-Bit auf eine
1 gesetzt ist, dann beträgt die minimale Einschaltzeit 0,5 s.
Das dritte Bit in dem Herunterschaltmodus-Befehl ist das FDD-
Tri-State-Sperr-Bit. Dieses Bit wird ignoriert, wenn das
AUTO_PD-Freigabebit eine Null ist. Wenn das AUTO_PD eine Eins
ist und das Tri-State-Sperr-Bit eine Null ist, dann werden die
mit dem Floppy-Disk-Laufwerk (FDD) verbundenen Ausgänge in
einen Zustand hoher Impedanz versetzt, wenn das Chip in den
heruntergeschalteten Zustand geht. Dies verhindert das Ziehen
eines Stromes aus den Ausgangspins des Chips, wenn die Strom
versorgung des FDD abgeschaltet wird. Wenn das AUTO_PD-Freiga
bebit eine 1 ist und das Tri-State-Sperr-Bit eine 1 ist, dann
bleiben die Ausgänge der FDD-Schnittstelle frei und treiben das
FDD während des Herunterschaltens.
In die Ergebnisphase "Results Phase" wird eingetreten nach
dem Herunterschaltmodus-Befehl. Die "Results"-Phase führt die
Werte von MIN_DLY, AUTO_PD und des Tri-State-Freigabebits zu
rück. Im gegenwärtig bevorzugten Ausführungsbeispiel sind die
zwei signifikantesten Bits bei der Ergebnisphase auf 0 gesetzt,
um sie von dem Befehl des gleichen Werts in früheren Versionen
dieses Chips zu unterscheiden, welcher einen illegalen Befehls
status von 80hex zurückgab.
Im gegenwärtig bevorzugten Ausführungsbeispiel wird der au
tomatische Herunterschaltmodus durch ein Hardware-Rücksetzen in
den "gesperrten" Zustand initialisiert. Im gegenwärtig bevor
zugten Ausführungsbeispiel haben Software-Rücksetzungen keinen
Einfluß auf die Parameter des Herunterschaltmodus-Befehls. Es
ist notwendig, daß der Herunterschaltmodus nicht durch Soft
ware-Rücksetzungen beeinflußt wird, um die Transparenz für An
wendungssoftware aufrechtzuerhalten, da eine solche Software
oftmals Software-Rücksetzungen aus gibt.
Die Erfindung gestattet es, daß der interne Oszillator 402
so programmiert wird, daß er entweder abgeschaltet wird oder
aktiv bleibt, unabhängig vom Abschaltzustand des FDC-Chips. Im
gegenwärtig bevorzugten Ausführungsbeispiel wird die Program
mierung, ob der Oszillator ein oder aus ist, durch das DSR-
"PDOSC"-Bit (Bit 5) ausgeführt. Das gegenwärtig bevorzugte Aus
führungsbeispiel des Datenratenauswahlregisters (DSR) ist in
Fig. 9 gezeigt.
Wenn im gegenwärtig bevorzugten Ausführungsbeispiel das
PDOSC-Bit eine 0 ist (Standardvorgabe), dann bleibt der Oszil
lator während des heruntergeschalteten Zustandes eingeschaltet.
Wenn dieses Bit auf eine 1 programmiert ist, wird der Oszilla
tor ausgeschaltet. Hardware-Rücksetzungen setzen dieses Bit auf
eine 0. Software-Rücksetzungen haben keinen Einfluß auf dieses
Bit.
Das PDOSC-Bit hat die alleinige Kontrolle über die Oszilla
tor-Stromversorgung. Das DSR und die automatischen Herunter
schaltmoden haben keinen Einfluß auf die Oszillator-Stromver
sorgung. Wenn das FDC-Chip mit einem internen Kristalloszilla
tor verwendet wird, ist es bei dem PDOSC-Bit üblich, es die
ganze Zeit in dem standardmäßig vorgegebenen Zustand einer Null
zu lassen (Oszillator eingeschaltet). Dies gestattet dem Oszil
lator, selbst während des heruntergeschalteten Zustandes wei
terzulaufen, und macht die Chip-Wiederherstellung aus dem Her
unterschaltzustand schnell und transparent. Die externe Sy
stemsoftware kann den Kristalloszillator ausschalten, wenn die
Energieeinsparung erwünscht ist; allerdings muß dann die Soft
ware die Wiederaufnahme der Energieversorgung ebensogut steu
ern. Es ist schwierig, diese Steuerung transparent für die An
wendungssoftware zu machen. Wenn der interne Kristalloszillator
verwendet wird, ist es in jedem Fall empfehlenswert, daß das
PDOSC-Bit nur während des Herunterschaltmodus (PD-Pin ist hoch)
gesetzt ist, wenn das Chip keine Takteingabe erfordert. Wenn
eine externe Oszillatorquelle verwendet wird, kann das PDOSC-
Bit die ganze Zeit gesetzt bleiben, um den Oszillatorstromver
brauch von ungefähr 2 mA zu sparen.
Ein Setzen des PDOSC-Bits hat außerdem keinen Einfluß auf
die Takteingabe in das FDC-Chip (d. h. das X1-Pin). Der Taktein
gang wird separat gesperrt, wenn das FDC-Chip heruntergeschal
tet wird. Diese Abtrennung der Steuerung gestattet es dem Os
zillator, abgeschaltet zu sein, wenn eine externe Quelle ver
wendet wird, oder zu laufen, wenn der Rest des Chips herunter
geschaltet ist. Bei bekannten Lösungen stimmte der Zustand des
Oszillators stets mit dem Abschaltzustand des Chips überein.
Im automatischen Herunterschaltmodus hält die Energiemana
gementlogik die Transparenz für die Software aufrecht, indem
sie das RQM-Bit (Bit 7) in dem MSR nicht zurücksetzt. Weil das
externe System des gegenwärtig bevorzugten Ausführungsbeispiels
den Status des RQM-Bits überprüft, bevor es Befehle sendet, er
scheint das FDC-Chip bereit, das nächste Kommando zu empfangen.
Zum Zweck der Definition des heruntergeschalteten Zustandes
werden die Register in zwei Klassen eingeteilt: solche, die das
Chip "aufwecken", wenn auf sie zugegriffen wird, und solche,
die das Chip nicht "aufwecken", wenn auf sie zugegriffen wird.
Tabelle 1 zeigt die Register im gegenwärtig bevorzugten Ausfüh
rungsbeispiel, auf die zugegriffen werden kann, ohne daß dabei
der FDC aufgeweckt wird. Die nicht aufgelisteten Register
"wecken" den FDC auf, wenn auf sie zugegriffen wird.
Es sei angemerkt, daß ein Schreiben in das DOR das FDC-Chip
nicht von selbst "aufweckt". Jedoch "weckt" im gegenwärtig be
vorzugten Ausführungsbeispiel ein Schreiben irgendeines Motor
freigabebits in den aktiven Zustand (hoch) oder ein Schreiben
des DOR-Rücksetzbits in den aktiven Zustand (niedrig) den FDC
auf. Außerdem sei angemerkt, daß ein Schreiben in das DSR das
Chip nicht "aufweckt", unabhängig davon, ob das DSR-Rücksetzbit
gesetzt ist.
Zugriffe auf die oben genannten Register können unter Be
achtung der dargelegten Ausnahmen jederzeit während des Herun
terschaltens ausgeführt werden, ohne daß der Zustand des Chips
geändert wird. Dies ist auf die Tatsache zurückzuführen, daß
diese Register statisch sind und folglich sich nicht ändern,
wenn sie heruntergeschaltet werden. Das Statuslesen von dem
Chip reflektiert den wahren Status, soweit dies möglich ist an
gesichts der Tatsache, daß einige Bits den Wert an einem Ein
gangspin reflektieren, dessen Eingangspuffer während des herun
tergeschalteten Zustand gesperrt ist, wie dies später erörtert
wird. Die gelesenen Werte sind konsistent mit einer inaktiven
Schnittstelle. In das Chip geschriebene Daten werden zurückge
halten und in dieser Operation reflektiert, wenn das Chip
"aufwacht". Zugriffe zu den Registern erfordern einen gewissen
zusätzlichen Energieverbrauch während des Zugriffes selbst (im
Vergleich zum Stromverbrauch beim Herunterschalten), aber der
FDC kehrt schnell zu seinem Zustand geringen Energieverbrauch
zurück, nachdem der Zugriff abgeschlossen ist.
Im bevorzugten Ausführungsbeispiel werden die Pins des FDC
in zwei Hauptkategorien eingeteilt: Systemschnittstellen- und
Floppy-Disk-Laufwerk(FDD)-Schnittstellen-Pins. Die FDD-Pins
sind während des Herunterschaltens gesperrt, so daß kein Strom
durch den FDD als Folge irgendeines an das Pin angelegten Span
nungspotentials innerhalb des Spannungsversorgungsbereichs des
FDC gezogen werden kann. Die meisten der Systemschnittstellen-
Pins bleiben jedoch aktiv und überwachen Systemzugriffe, die
das Chip "aufwecken" können.
Die unten gezeigte Tabelle 2 stellt den Zustand der System
schnittstellen-Pins für das gegenwärtig bevorzugte Ausführungs
beispiel der Erfindung während des heruntergeschalteten Zu
stands dar. Die Systemschnittstellen-Pins, welche durch den
Herunterschaltmodus nicht beeinflußt werden, sind mit "UC" ge
kennzeichnet. Eingabe-Pins sind gesperrt, um ein Erzeugen in
terner Ströme zu vermeiden, wenn sie unbestimmte Eingangswerte
haben.
Alle Pins der FDD-Schnittstelle, die direkt mit dem FDD
selbst verbunden sind, sind entweder gesperrt oder im Tri-
State-Zustand. Diejenigen, die als Tri-State bezeichnet sind,
können freigegeben bleiben, indem das Tri-State-Sperr-Bit im
Herunterschaltmodus-Befehl auf eine Eins programmiert wird. Die
Ausgänge sind im "Tri-State-Zustand", um das Fließen eines
Stroms zu vermeiden, wenn die Stromversorgung des FDD abge
schaltet wird. Eingabe-Pins sind gesperrt, um ein Erzeugen von
internen Strömen zu vermeiden, wenn sie unbestimmte Eingangs
werte haben. Die für eine lokale logische Steuerung oder Chip-
Programmierung verwendeten Pins bleiben unbeeinflußt. Tabelle 3
zeigt die FDD-Schnittstellen-Pins und ihren aktuellen Status
während des Herunterschaltmodus.
Der FDC 400 verwendet zwei Herunterschaltstatus-Pins: IDLE
und PD. Das IDLE-Pin zeigt an, wenn das Chip im Leerzustand ist
und abgeschaltet werden kann. Wenn das Chip durch das MAN_PD-
Bit des DSR abgeschaltet wird, ist das IDLE-Pin im Herunter
schaltzustand auf einem niedrigen Pegel. Wenn das Chip durch
den automatischen Modus abgeschaltet ist, ist das IDLE-Pin in
einem hohen Zustand.
Das PD(power down)-Pin ist aktiv, wenn das Chip sich im
heruntergeschaltete Zustand befindet. Es wird für beide Herun
terschaltmoden, den automatischen oder den manuellen aktiviert.
Das PD-Pin kann verwendet werden, um irgendwelche periphere
Schaltungen des FDC herunterzuschalten. Insbesondere dann, wenn
ein externer Oszillator verwendet wird, kann das PD-Pin verwen
det werden, um das Ausgangssignal des Oszillators zu sperren.
Es sei angemerkt, daß das X1-Pin nicht angetrieben zu werden
braucht, wenn das PD-Pin hoch ist. Dies gestattet externen Os
zillatoren, gesperrt oder in einen Stromsparmodus gebracht zu
werden, ohne das Chip ungünstig zu beeinflussen.
Das gegenwärtig bevorzugte Ausführungsbeispiel des erfin
dungsgemäßen FDC erfordert einen 24 MHz-Takt zum Arbeiten. Die
Taktquelle kann extern sein (d. h. über das X1-Pin) oder ein mit
dem X1- und dem X2-Pin verbundener Kristall sein. Die externe
Taktquelle ist üblicherweise ein eingekapselter Kristalloszil
lator. Das PD-Pin kann verwendet werden, um den externen Kri
stalloszillator für diesen Zweck wie oben beschrieben abzu
schalten.
Wenn ein Kristalloszillator verwendet wird, bleibt der Os
zillator eingeschaltet, während der Rest des Chips herunterge
schaltet wird, was dem FDC gestattet, schnell und sauber aufzu
wachen. Der automatische Herunterschaltmodus beeinflußt nicht
den Oszillatorabschaltmodus. Wenn der Benutzer entscheidet, daß
der Oszillator abgeschaltet werden soll, muß das BIOS oder eine
andere Systemsoftware eingreifen, um den Oszillator ab- und
einzuschalten. Obwohl dies Energie spart, ist es üblicherweise
schwierig, dies transparent für die Anwendersoftware zu machen.
Jedoch gibt das PDOSC-Programmierbit der externen Systemsoft
ware die Wahlmöglichkeit, wie sie ihr Energiemanagement und
ihre Softwaretransparenz einzuteilen wünscht.
Während der FDC sich im heruntergeschalteten Zustand befin
det, ist sein Takteingang gesperrt. Das Sperren des Taktein
gangs hindert den Takteingang X1, während des Herunterschaltens
angetrieben zu werden. Durch Sperren des Takteingangs wird je
der interne Energieverlust infolge eines Antreibens des X1
durch eine externe Quelle, den eigenen Kristalloszillator oder
durch ein Belassen des X1 auf einem unbestimmten Eingangspegel
vermieden.
Fig. 10 stellt die automatische Aufwecklogik 1000 der Er
findung dar. Die automatische Aufwecklogik 1000 weist UND-Gat
ter 1001, 1006 und 1007, ODER-Gatter 1002 und 1003, ein R/S-
Flip-Flop 1004 und einen Puffer 1005 auf. Das UND-Gatter 1001
empfängt das Signal AUTO_PD und das Signal PHI2 an seinen Ein
gängen. Der Ausgang des UND-Gatters 1001 ist mit dem S-Eingang
des Flip-Flops 1004 gekoppelt. Das ODER-Gatter 1002 empfängt
das Signal ALL_RESET an einem Eingang und das Signal MAN_PD an
seinem anderen Eingang. Der Ausgang des ODER-Gatters 1002 ist
mit dem R-Eingang des Flip-Flops 1004 gekoppelt. Die Eingangs
signale des ODER-Gatters 1003 sind das IDLE-Signal und das
ACCESS_REG-Signal. Das IDLE-Signal wird invertiert. Das Aus
gangssignal des ODER-Gatters 1003, das Z-Ausgangssignal des
Flip-Flops 1004 und das PD_STATE-Signal sind Eingangssignale
des UND-Gatters 1006. Das Ausgangssignal des UND-Gatters 1006
ist das automatische Aufwecksignal, welches zur vorhandenen
Herunterschaltlogik geführt wird. Der Z-Ausgang des Flip-Flop
1004 ist außerdem mit dem Puffer 1005 gekoppelt. Der Puffer
1005 empfängt ein Mikroprogramm-Registerlesesignal
(MICROCODE_REGISTER_READ), welches die Ausgabe des automati
schen Herunterschaltstatus auf den internen Datenbus steuert.
Der Z-Ausgang des Flip-Flops 1004 ist außerdem mit einem der
Eingänge des UND-Gatters 1007 gekoppelt. Der andere Eingang des
UND-Gatters 1007 ist mit dem Rücksetzsignal gekoppelt. Der Z-
Ausgang des Flip-Flop 1004 wird am Eingang des UND-Gatters 1007
invertiert. Das Ausgangssignal des UND-Gatters 1007 stellt das
Signal FIFO_RESET dar.
Wenn das Chip durch den automatischen Modus in den herun
tergeschalteter Zustand eintritt, dann kann das Chip durch ein
Rücksetzen oder durch geeignete Zugriffe auf bestimmte Register
erweckt werden. Wenn ein Rücksetzen verwendet wird (Hardware
oder Software), läuft das Mikroprogramm durch eine beinahe re
guläre Rücksetzsequenz. Der Diskettenstatus wird initialisiert.
Der FIFO-Modus wird bei einem Hardware-Rücksetzen oder bei ei
nem Software-Rücksetzen, wenn der LOCK-Befehl nicht blockiert
wurde, auf den Standardmodus gesetzt. Schließlich wird nach ei
ner Verzögerung das Interrupt ausgegeben. Wenn der Zugriff
durch die ausgewählten Register erfolgt, nimmt der FDC die Ar
beit wieder auf, als ob er niemals heruntergeschaltet gewesen
wäre.
Die Aufwecklogik 1000 verwendet das Flip-Flop 1004, um die
Tatsache zu speichern, daß das Chip in den automatischen Herun
terschaltzustand gegangen ist. Das Z-Ausgangssignal des Flip-
Flops 1004 ist das Signal AUTO_PD_STATUS, das anzeigt, daß das
FDC-Chip sich im automatischen Herunterschaltzustand befindet.
Der Z-Ausgang des Flip-Flop 1004 ist gesetzt, wenn das AUTO_PD-
Signal gesetzt ist, was anzeigt, daß das Chip in das automati
sche Herunterschalten eintritt und das PHI2-Taktsignal ist
hoch. Zu diesem Zeitpunkt wird der Zustand von AUTO_PD abgeta
stet und bis zum Rücksetzen gehalten, selbst wenn das Signal
AUTO_PD auf einen niedrigen Pegel geht, wenn PD_STATE während
des Herunterschaltzustandes aktiv wird. Die Signale AUTO_PD und
PHI2 veranlassen das UND-Gatter 101, an dem S-Eingang des Flip-
Flop 1004 eine logische Eins auszugeben. Dies veranlaßt das
Flip-Flops 1004, eine logische Eins für das AUTO_PD_STATUS-Bit
auszugeben. Dieses Statusbit kann später durch das Mikropro
gramm über den Puffer 1005 gelesen werden, sobald dies durch
das Mikroprogramm-Registerlesesignal (MICROCODE_REGISTER_READ)
freigegeben wird. Dies erfolgt, um dem Chip zu gestatten, Ent
scheidungen darüber zu treffen, welcher interne Status aktuali
siert werden und welcher Status bleiben soll. Das
AUTO_PD_STATUS-Bit ist außerdem mit einem Eingang des UND-Gat
ters 1006 gekoppelt, so daß, wenn dieses Bit während des
PD_STATE hoch ist und eine Aufweckbedingung durch entweder ein
niedriges IDLE oder ein hohes ACCESS_REG vorliegt (Ausgang des
ODER-Gatters 1003 ist hoch), das automatische Aufwecksignal
freigegeben und ausgegeben wird. Das AUTO_PD_STATUS-Bit wird
außerdem an einen invertierten Eingang des UND-Gatters 1007 ge
koppelt, so daß, wenn das Bit auf einem niedrigen Pegel ist
(kein AUTO_PD) und ein Rücksetzen angenommen wird (d. h. das an
dere Eingangssignal des UND-Gatters 1007), ein Signal zum Rück
setzen des FIFO erzeugt wird. Wenn sich das Chip im automati
schen Herunterschaltzustand befindet, wird das FIFO nicht zu
rückgesetzt (d. h. FIFO_RESET wird inaktiv gehalten). Dies ge
stattet dem FIFO, während des automatischen Herunterschaltzu
standes einen normalen Zugriff zuzulassen. Es gestattet außer
dem dem RQM-Bit, aktiv zu bleiben, so daß die externe Anwen
dungssoftware keine Kenntnis darüber erlangt, daß das Chip im
heruntergeschalteten Zustand ist (d. h. Softwaretransparenz).
Das AUTO_PD-STATUS-Bit kann durch irgendeine Form eines
Rücksetzens oder dadurch, daß das Chip im manuellen Herunter
schaltmodus ist, auf einen niedrigen Pegel gebracht werden.
Wenn einer dieser Fälle auftritt, erzeugt das ODER-Gatter 1002
eine logische Eins am R-Eingang des Flip-Flops 1004, was das
Flip-Flop 1004 veranlaßt, das Bit zu einer logischen Null (d. h.
niedrig) zu machen.
Folglich ist die Arbeitsweise der Aufwecklogik 1000 sehr
einfach. Wenn sich das Chip in dem automatischen Herunter
schaltzustand befindet, ist das Signal AUTO_PD_STATUS hoch
(d. h. eine logische Eins). Wenn das Signal IDLE wechselt, das
Signal ACCESS_REG auftritt, die Motorfreigabebits hoch sind
(z. B. irgendeines von ihnen aktiviert ist) (ACCESS_REG ist
gleich Eins), dann wird ein Signal zur Herunterschaltlogik
(Block 506 in Fig. 5) gesendet, um das Chip aufzuwecken.
Wenn das Signal IDLE logisch niedrig ist oder das Signal
ACCESS_REG hoch ist, dann ist das Ausgangssignal des ODER-Gat
ters 1003 hoch. Dies gestattet dem Ausgangssignal vom UND-Gat
ter 1006 zur automatischen Aufwecklogik, auf einem hohen Pegel
zu sein, solange das AUTO_PD-STATUS-Bit und das PD_STATE-Signal
hoch sind. Die Signale IDLE und ACCESS_REG wecken das Chip so
lange nicht auf, solange nicht eines der Motorfreigabesignale
aktiviert wird, das externe System nicht versucht, die Inhalte
des MSR zu lesen, oder kein Lesen oder Schreiben zum FIFO-Be
fehlsregister auftritt.
Sobald er aufgeweckt wurde, bleibt der FDC im gegenwärtig
bevorzugten Ausführungsbeispiel für eine Minimaldauer von 10
Millisekunden oder 0,5 Sekunden (was von dem MINDLY-Bit ab
hängt) hochgeschaltet. Nur ein Setzen des DSR-Herunterschalt
bits kann diese Minimalverzögerung überschreiben. Das Zeitver
halten und die Logik dafür ergeben sich aus der in Fig. 11 ge
zeigten Abschaltmodus-Latch- und -Zeitgeber-Logik.
Im folgenden wird auf Fig. 11 Bezug genommen. Die Latch-
und Zeitgeber-Logik 1100 weist einen Latch-Zwischenspeicher
1101, ein UND-Gatter 1102, Tri-State-Puffer 1103, ein ODER-Gat
ter 1109, Zähler 1105 bis 1107 und einen Multiplexer (MUX) 1108
auf und ist mit den FDD-Schnittstellen-Pins 1104 gekoppelt. Der
Latch-Speicher 1101 wird durch die interne Mikroprogramm- und
Steuerlogik von durch den PD-Modusbefehl gelieferten Daten ge
laden. Im gegenwärtig bevorzugten Ausführungsbeispiel sind drei
Bits definiert: ein Bit zur Freigabe des PD-Modus (d. h. es wird
weitergeschickt zur PD-Steuerlogik), ein Bit zum Auswählen, ob
die minimale Herunterschaltzeit 10 ms oder 500 ms beträgt, und
ein Bit, das freigibt oder sperrt, ob die Floppy-Disk-Lauf
werk(FDD)-Schnittstellenpins in einen Zustand hoher Impedanz
versetzt werden sollen. Eine typische Logik ist für das Sperren
der Pufferausgabe (bzw. der Steuerung der hohen Impedanz) gege
ben. Wenn die FDD-Schnittstellenpins gesperrt werden sollen,
setzt das Latch 1101 das FDD-Tri-State-Bit auf eine Null. Nimmt
man an, daß der FDC im Herunterschaltmodus ist, was durch ein
hohes Signal PD_STATE angezeigt wird, so ist der Ausgang des
UND-Gatters 1102 hoch. Ein hohes Ausgangssignal des UND-Gatters
1102 bedeutet, daß die Eingänge zu den Tri-State-Puffern 1103
gesperrt sind, wodurch die FDD-Schnittstellenpins in einen Zu
stand hoher Impedanz versetzt werden.
Der Zähler 1105 teilt den internen Takt (PHI1 und PHI2)
durch 4095 und erzeugt eine Zeitbasis, die bei einer Datenrate
von 500 KByte pro Sekunde in der Größenordnung von 1 ms liegt.
Jedoch ist diese Zeitbasis proportional zu der Datenrate, so
daß ein programmierbarer Teiler hinter dem Zähler angeordnet
ist, um eine von der Datenrate unabhängige Verzögerung von 10
ms zur Verfügung zu stellen. Das Teilungsmaß (modulo) des Zäh
lers 1106 ist in der in Fig. 11 gezeigten Tabelle angegeben.
Der Takt wird ferner mit Hilfe des Zählers 1107 durch 50 ge
teilt, um eine zweite Verzögerungsoption von 0,5 Sekunden zur
Verfügung zu stellen. Beide Zähler werden zurückgesetzt gehal
ten durch ein nicht gesetztes PD-Modus-Freigabebit
PD_MODE_ENABLE), durch das Vorliegen des Herunterschaltzustand
des (PD) oder durch irgendeine Form des Rücksetzens (RESET).
Das Zeitgeberverzögerungsauswahlbit (TIMER_DELAY_SEL) aus dem
PD-Modus-Latch 1101 wählt die programmierte Verzögerung durch
Anliegen am SEL-Eingang des MUX 1108 aus. Das sich ergebende
ausgewählte Ausgangssignal (PD_MIN_TIMER) aus dem MUX 1108 wird
an die PD-Steuerlogik gesendet.
Im gegenwärtig bevorzugten Ausführungsbeispiel setzt das
ODER-Gatter 1109 die Zähler 1106 und 1107 zurück, wenn es ein
Rücksetzsignal (RESET) gibt, der PD-Modus gesperrt
(PD_MODE_ENABLE niedrig) ist oder die FDD-Tri-State-Signale
(FDD_TRISTATE) auf niedrigem Pegel sind.
Das Mikroprogrammwiederherstellungsverfahren und die Wie
derherstellungszeit sind abhängig von der Art und Weise, in
welcher der FDC in den heruntergeschalteten Zustand gesetzt
wurde und wie er erweckt wurde. Da der Oszillator und der Rest
des Chips getrennt abgeschaltet werden, werden die Einflüsse
des Oszillators auf die Wiederherstellungszeit vernachlässigt.
Wenn das Chip durch den automatischen Herunterschaltmodus
in den Herschaltzustand eintritt, enthält das MSR weiterhin 80
hex (RQM-Bit ist gesetzt), was anzeigt, daß der FDC zum empfan
gen eines Befehls beieit ist. Dies ist das Schlüsselmerkmal,
das den Herunterschaltzustand für die Software transparent
hält.
Bevor ein Befehl in den FDC geschrieben werden kann, ist es
zunächst erforderlich, das MSR zu lesen, um sicher zu sein, daß
der FDC zum Empfangen des Befehls bereit ist. Das Chip erkennt
das Lesen, nimmt an, daß es einen Befehl voraussagt, und star
tet den Aufweckprozeß. Während das Chip aufwacht, ändert es
nicht den Zustand des MSR (d. h. das RQM bleibt eine Eins), aber
ist in der Lage, den Befehl in dem FIFO zu empfangen. Wenn es
während des Aufwachens einen Befehl empfängt, merkt es sich den
Befehl, löscht das RQM-Bit in dem MSR, um weitere Bytes am
Schreiben zu hindern, und bearbeitet den Befehl, wenn das Mi
kroprogramm vollständig erwacht ist.
Wenn aus irgendeinem Grund das MSR nicht abgerufen wurde,
bevor der Befehl geschrieben wurde, fährt der Aufweckprozeß wie
oben mit gelöschtem RQM-Bit fort und das Befehlsbyte wird ge
halten, bis das Mikroprogramm bereit ist. Obwohl der FDC erwar
tet, daß ein Befehl in den FIFO zu diesem Zeitpunkt geschrieben
werden soll (d. h. das DIR-Bit in dem MSR ist Null), weckt ein
Lesen aus dem FIFO das Chip auf und bewirkt eine Rückgabe des
"illegaler Befehl"-Status, wie es normalerweise der Fall wäre.
Wenn ein Motorfreigabebit in das DOR als aktiv geschrieben
wird, dann beginnt das Chip seine Aufwecksequenz in der glei
chen Weise, wie wenn das MSR abgerufen worden wäre. Der MSR-
Status fährt fort, zu zeigen, daß das Chip zum Empfangen eines
Befehls bereit ist, usw.
Obwohl das Mikroprogramm eine Weile braucht, um den Punkt
zu erreichen, an dem es einen Befehl nach dem Aufwecken ausfüh
ren kann, ist diese Verzögerung kein Problem. Es gibt eine
"Abfrage-Schleife" in dem Mikroprogramm, die regelmäßig auf
tritt, wenn das Chip aufwacht, und die die Ausführung eines Be
fehls verzögern kann. Diese Abfrage-Schleife ist eine Mikropro
grammschleife, welche von dem Zeitpunkt an existiert, an dem
der FDC sämtliche Laufwerke in regelmäßigen Intervallen nach
ihrem Status abgefragt hat, wenn der FDC keinen Befehl aus
führt. Im gegenwärtig bevorzugten Ausführungsbeispiel ist diese
Abfrage-Schleife ein Vielfaches von 10 ms lang. Wenn ein Befehl
ausgegeben wird, unmittelbar nachdem das Mikroprogramm in diese
Schleife eintritt, wird der Befehl gehalten, bis die Schleife
beendet ist. Dann wird der Befehl decodiert. Die externe Soft
ware muß gegenüber dieser Abfrageschleifenverzögerung tolerant
sein. Diese Toleranz gilt auch für die Mikroprogramm-Aufweck
zeit nach einem automatischen Herunterschalten.
Da der Kristalloszillator zu lange braucht, um zu starten,
und keine zuverlässigen Wiederherstellungscharakteristiken hat,
unterstützt das gegenwärtig bevorzugte Ausführungsbeispiel des
FDC kein automatisches Oszillatorenergiemanagement. Der automa
tische Herunterschaltmodus beeinflußt nicht den Kristalloszil
lator. Das Energiemanagement des Kristalloszillators muß durch
die Systemsoftware ausgeführt werden.
Wenn eine externe Oszillatorquelle verwendet wird, sind die
Charakteristiken des internen Kristalloszillators kein Problem.
In diesem Fall kann der Oszillator durch das DSR abgeschaltet
werden, um Strom zu sparen. Die Wiederherstellungszeit des FDC
ist von den Charakteristiken der externen Quelle abhängig. Wenn
die externe Quelle während der Zeit des Herunterschaltens des
FDC-Chips aktiv bleibt, ist die Wiederherstellungszeit minimal.
Das PD-Pin kann verwendet werden, um den Ausgang der externen
Quelle abzuschalten, um Energie zu sparen. Das FDC-Chip braucht
keine Taktquelle, während das PD-Pin aktiv ist.
Sobald das PD-Pin auf einen niedrigen Pegel geht, sollte
der externe Takt wiederaufgenommen werden, so daß, sobald die
Schwingungen begonnen haben, sie nicht wieder enden. Eine ge
eignete Arbeitsweise des FDC kann nicht garantiert werden, wenn
die externe Quelle viel mehr als 1 µs nach der Wiederaufnahme
der Schwingungen "aussetzt". Es sei angemerkt, daß die externe
Quelle ihre Schwingungen nicht unmittelbar nach dem Abfallen
des PD-Signals wiederaufnehmen muß. Die externe Quelle muß nur
kontinuierlich weiterschwingen, sobald sie gestartet wurde.
Claims (12)
1. Verfahren zum automatischen Herunterschalten eines
Chips, wobei das Chip mit einem externen System zusammenwirkt
und in der Lage ist, in einer Mehrzahl von Betriebszuständen zu
sein,
dadurch gekennzeichnet,
daß sich das Chip überwacht, um festzustellen, ob es in ei nem vorgegebenen Zustand ist; und
daß sich das Chip in einen Zustand reduzierten Energiever brauchs versetzt, wenn es bei der Überwachung feststellt, daß es in dem vorgegebenen Zustand ist.
daß sich das Chip überwacht, um festzustellen, ob es in ei nem vorgegebenen Zustand ist; und
daß sich das Chip in einen Zustand reduzierten Energiever brauchs versetzt, wenn es bei der Überwachung feststellt, daß es in dem vorgegebenen Zustand ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
eine Schnittstelle zu dem externen System gebildet wird, wenn
das Chip in dem Zustand des reduzierten Energieverbrauchs ist,
so daß das Chip dem externen System so erscheint, als ob es
hochgeschaltet wäre.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich
net, daß das Chip, nachdem es in den Zustand reduzierten Ener
gieverbrauchs gebracht worden ist, bei einer geeigneten Anfor
derung zur Operation eingeschaltet wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge
kennzeichnet, daß der vorgegebene Zustand vorzugsweise durch
einen Benutzer definiert wird.
5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeich
net, daß festgestellt wird, ob das Chip in einen der Mehrzahl
von Betriebszuständen eingetreten ist, und daß das Chip in den
Zustand reduzierten Energieverbrauchs zurückversetzt wird,
nachdem eine vorgegebene Zeitperiode abgelaufen ist, wenn das
Chip nicht in einen der Mehrzahl von Betriebszuständen einge
treten ist.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch ge
kennzeichnet, daß das Chip in den Zustand reduzierten Energie
verbrauchs zurückversetzt wird, nachdem das Chip hochgeschaltet
wurde, sobald eine vorgegebene Zeitperiode abgelaufen ist, wenn
das Chip in dem vorgegebenen Zustand ist.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch ge
kennzeichnet, daß einem Oszillator gestattet wird, während des
Zustands reduzierten Energieverbrauchs zu arbeiten, so daß das
Chip sofort nach Verlassen des Zustands reduzierten Energiever
brauchs getaktet wird.
8. Verfahren nach einem der Ansprüche 3 bis 7, dadurch ge
kennzeichnet, daß auch in Antwort auf ein Rücksetzen des Chips
das Einschalten des Chips ausgeführt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch ge
kennzeichnet, daß das Chip in einen automatischen Herunter
schaltmodus versetzt wird, so daß das Chip in der Lage ist, in
den Zustand reduzierten Energieverbrauchs versetzt zu werden,
wenn das Chip in dem vorgegebenen Zustand ist.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß
beim Versetzen des Chips in den automatischen Herunterschaltmo
dus zumindest ein Befehl an das Chip gesendet wird.
11. Verfahren zum automatischen Herunterschalten eines
Chips mit einem Kern und einer Nicht-Kern-Logik, wobei das Chip
mit einem externen System zusammenwirkt und in der Lage ist,
eine Mehrzahl von Betriebszuständen einzunehmen,
dadurch gekennzeichnet,
daß ein Zustand definiert wird, in welchem das Chip in einen Zustand reduzierten Energieverbrauchs versetzt werden kann;
daß das Chip in den Zustand reduzierten Energieverbrauchs versetzt wird, so daß auf die Nicht-Kern-Logik durch das ex terne System zugegriffen werden kann, ohne daß das Chip aus dem Zustand reduzierten Energieverbrauchs herausgebracht wird;
daß das Chip hochgeschaltet wird, wenn die Kernlogik durch das externe System abgefragt wird.
daß ein Zustand definiert wird, in welchem das Chip in einen Zustand reduzierten Energieverbrauchs versetzt werden kann;
daß das Chip in den Zustand reduzierten Energieverbrauchs versetzt wird, so daß auf die Nicht-Kern-Logik durch das ex terne System zugegriffen werden kann, ohne daß das Chip aus dem Zustand reduzierten Energieverbrauchs herausgebracht wird;
daß das Chip hochgeschaltet wird, wenn die Kernlogik durch das externe System abgefragt wird.
12. Einrichtung zum automatischen Herunterschalten eines
Chips,
gekennzeichnet durch,
auf dem Chip befindliche Mittel zum Überwachen des Chips, um festzustellen, ob das Chip in einem vorgegebenen Zustand ist, und
auf dem Chip befindliche Mittel zum Versetzen des Chips in einen Zustand reduzierten Energieverbrauchs in Abhängigkeit da von, daß die Mittel zum Überwachen des Chips feststellen, daß das Chip in dem vorgegebenen Zustand ist.
auf dem Chip befindliche Mittel zum Überwachen des Chips, um festzustellen, ob das Chip in einem vorgegebenen Zustand ist, und
auf dem Chip befindliche Mittel zum Versetzen des Chips in einen Zustand reduzierten Energieverbrauchs in Abhängigkeit da von, daß die Mittel zum Überwachen des Chips feststellen, daß das Chip in dem vorgegebenen Zustand ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84841692A | 1992-03-06 | 1992-03-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4307226A1 true DE4307226A1 (de) | 1993-09-09 |
DE4307226C2 DE4307226C2 (de) | 1998-10-15 |
Family
ID=25303196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4307226A Expired - Lifetime DE4307226C2 (de) | 1992-03-06 | 1993-03-08 | Verfahren und Einrichtung zum automatischen Steuern des Energieverbrauches einer integrierten Schaltung in einem Computersystem |
Country Status (6)
Country | Link |
---|---|
US (1) | US5388265A (de) |
JP (1) | JP3442810B2 (de) |
DE (1) | DE4307226C2 (de) |
FR (1) | FR2689656B1 (de) |
GB (1) | GB2264794B (de) |
IT (1) | IT1271985B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19803663A1 (de) * | 1998-01-30 | 1999-10-14 | Siemens Ag | Verfahren zum energiesparenden Betreiben eines Steuergeräts |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343363B1 (en) | 1994-09-22 | 2002-01-29 | National Semiconductor Corporation | Method of invoking a low power mode in a computer system using a halt instruction |
JP3058986B2 (ja) * | 1992-04-02 | 2000-07-04 | ダイヤセミコンシステムズ株式会社 | コンピュータシステムの節電制御装置 |
US5452434A (en) * | 1992-07-14 | 1995-09-19 | Advanced Micro Devices, Inc. | Clock control for power savings in high performance central processing units |
GB2268817B (en) * | 1992-07-17 | 1996-05-01 | Integrated Micro Products Ltd | A fault-tolerant computer system |
US5613135A (en) * | 1992-09-17 | 1997-03-18 | Kabushiki Kaisha Toshiba | Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller |
JP2737571B2 (ja) * | 1992-10-07 | 1998-04-08 | 日本電気株式会社 | フロッピィ・ディスク・コントローラ |
JP2880863B2 (ja) * | 1992-10-29 | 1999-04-12 | 株式会社東芝 | サスペンド制御方法およびシステム |
US5442794A (en) * | 1993-12-01 | 1995-08-15 | Advanced Micro Devices, Inc. | Disable technique employed during low battery conditions within a portable computer system |
DE69432697T2 (de) * | 1993-12-01 | 2004-03-25 | Advanced Micro Devices, Inc., Sunnyvale | Stromverwaltung für Rechnersystem und Verfahren hierfür |
US5630147A (en) * | 1993-12-17 | 1997-05-13 | Intel Corporation | System management shadow port |
US5918061A (en) * | 1993-12-29 | 1999-06-29 | Intel Corporation | Enhanced power managing unit (PMU) in a multiprocessor chip |
JP3264594B2 (ja) * | 1994-01-27 | 2002-03-11 | キヤノン株式会社 | 記録装置 |
US5640573A (en) * | 1994-02-02 | 1997-06-17 | Advanced Micro Devices, Inc. | Power management message bus for integrated processor |
US5752011A (en) | 1994-06-20 | 1998-05-12 | Thomas; C. Douglas | Method and system for controlling a processor's clock frequency in accordance with the processor's temperature |
US7167993B1 (en) | 1994-06-20 | 2007-01-23 | Thomas C Douglass | Thermal and power management for computer systems |
US5625807A (en) * | 1994-09-19 | 1997-04-29 | Advanced Micro Devices | System and method for enabling and disabling a clock run function to control a peripheral bus clock signal |
AU3761395A (en) * | 1994-09-30 | 1996-04-26 | Apple Computer, Inc. | Method and apparatus for anticipatory power management for low power pda |
US5463261A (en) * | 1994-10-19 | 1995-10-31 | Minnesota Mining And Manufacturing Company | Power conservation device for a peripheral interface module |
US5606704A (en) * | 1994-10-26 | 1997-02-25 | Intel Corporation | Active power down for PC card I/O applications |
US5675808A (en) * | 1994-11-02 | 1997-10-07 | Advanced Micro Devices, Inc. | Power control of circuit modules within an integrated circuit |
US6272465B1 (en) | 1994-11-02 | 2001-08-07 | Legerity, Inc. | Monolithic PC audio circuit |
US5771373A (en) * | 1994-12-22 | 1998-06-23 | Texas Instruments Incorporated | Power management masked clock circuitry, systems and methods |
US5729720A (en) * | 1994-12-22 | 1998-03-17 | Texas Instruments Incorporated | Power management masked clock circuitry, systems and methods |
US5754436A (en) * | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Adaptive power management processes, circuits and systems |
US5822550A (en) * | 1994-12-22 | 1998-10-13 | Texas Instruments Incorporated | Split data path fast at-bus on chip circuits systems and methods |
US5754837A (en) * | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Clock control circuits, systems and methods |
JP3617105B2 (ja) * | 1995-02-16 | 2005-02-02 | ソニー株式会社 | 電子機器及びその動作モード制御方法 |
US5710933A (en) * | 1995-03-31 | 1998-01-20 | International Business Machines Corporation | System resource enable apparatus |
US5852737A (en) * | 1995-04-24 | 1998-12-22 | National Semiconductor Corporation | Method and apparatus for operating digital static CMOS components in a very low voltage mode during power-down |
US5805923A (en) * | 1995-05-26 | 1998-09-08 | Sony Corporation | Configurable power management system having a clock stabilization filter that can be enabled or bypassed depending upon whether a crystal or can oscillator is used |
US5812861A (en) * | 1995-06-22 | 1998-09-22 | Intel Corporation | Override signal for forcing a powerdown of a flash memory |
JPH0916545A (ja) * | 1995-06-28 | 1997-01-17 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US5708819A (en) * | 1995-10-10 | 1998-01-13 | Standard Microsystems Corporation | Process and apparatus for generating power management events in a computer system |
US5898232A (en) * | 1995-11-08 | 1999-04-27 | Advanced Micro Devices, Inc. | Input/output section of an integrated circuit having separate power down capability |
US5860125A (en) * | 1995-11-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Integrated circuit including a real time clock, configuration RAM, and memory controller in a core section which receives an asynchronous partial reset and an asynchronous master reset |
US5887179A (en) * | 1996-06-11 | 1999-03-23 | Motorola, Inc. | System power saving means and method |
US5742781A (en) * | 1996-08-09 | 1998-04-21 | Hitachi America, Ltd. | Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor |
US6085325A (en) * | 1996-12-16 | 2000-07-04 | Intel Corporation | Method and apparatus for supporting power conservation operation modes |
US5949261A (en) | 1996-12-17 | 1999-09-07 | Cypress Semiconductor Corp. | Method and circuit for reducing power and/or current consumption |
US6029006A (en) * | 1996-12-23 | 2000-02-22 | Motorola, Inc. | Data processor with circuit for regulating instruction throughput while powered and method of operation |
US5936973A (en) * | 1996-12-23 | 1999-08-10 | Cypress Semiconductor Corp. | Test mode latching scheme |
US5941989A (en) * | 1997-01-07 | 1999-08-24 | Micron Electronics, Inc. | Apparatus for indicating power-consumption status in a computer system |
US6216233B1 (en) * | 1997-02-12 | 2001-04-10 | Intel Corporation | Maintaining a memory while in a power management mode |
US6260149B1 (en) | 1997-02-12 | 2001-07-10 | Intel Corporation | Method and apparatus for logic and power isolation during power management |
US5881016A (en) * | 1997-06-13 | 1999-03-09 | Cirrus Logic, Inc. | Method and apparatus for optimizing power consumption and memory bandwidth in a video controller using SGRAM and SDRAM power reduction modes |
US6212609B1 (en) * | 1997-06-30 | 2001-04-03 | Intel Corporation | Alternate access mechanism for saving and restoring state of read-only register |
US6279045B1 (en) * | 1997-12-29 | 2001-08-21 | Kawasaki Steel Corporation | Multimedia interface having a multimedia processor and a field programmable gate array |
US6330679B1 (en) * | 1997-12-31 | 2001-12-11 | Intel Corporation | Input buffer circuit with dual power down functions |
US5999876A (en) * | 1998-04-01 | 1999-12-07 | Cummins Engine Company, Inc. | Method and system for communication with an engine control module in sleep mode |
US6167524A (en) * | 1998-04-06 | 2000-12-26 | International Business Machines Corporation | Apparatus and method for efficient battery utilization in portable personal computers |
US6088806A (en) * | 1998-10-20 | 2000-07-11 | Seiko Epson Corporation | Apparatus and method with improved power-down mode |
US7472215B1 (en) * | 1999-03-31 | 2008-12-30 | International Business Machines Corporation | Portable computer system with thermal enhancements and multiple power modes of operation |
US6141283A (en) * | 1999-04-01 | 2000-10-31 | Intel Corporation | Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state |
US6477654B1 (en) * | 1999-04-06 | 2002-11-05 | International Business Machines Corporation | Managing VT for reduced power using power setting commands in the instruction stream |
US6513128B1 (en) * | 1999-11-30 | 2003-01-28 | 3Com Corporation | Network interface card accessible during low power consumption mode |
US7100061B2 (en) | 2000-01-18 | 2006-08-29 | Transmeta Corporation | Adaptive power control |
US6611920B1 (en) | 2000-01-21 | 2003-08-26 | Intel Corporation | Clock distribution system for selectively enabling clock signals to portions of a pipelined circuit |
US6845131B1 (en) | 2000-10-03 | 2005-01-18 | Spectrum Signal Processing Inc. | Differential signaling power management |
US7260731B1 (en) | 2000-10-23 | 2007-08-21 | Transmeta Corporation | Saving power when in or transitioning to a static mode of a processor |
US7139947B2 (en) * | 2000-12-22 | 2006-11-21 | Intel Corporation | Test access port |
US6768362B1 (en) | 2001-08-13 | 2004-07-27 | Cypress Semiconductor Corp. | Fail-safe zero delay buffer with automatic internal reference |
FI116702B (fi) * | 2001-12-20 | 2006-01-31 | Nokia Corp | Dynaaminen tehonsäätö integroiduissa piireissä |
KR20030057852A (ko) * | 2001-12-29 | 2003-07-07 | 삼성전자주식회사 | 휴대용 컴퓨터 및 그 제어방법 |
KR100415092B1 (ko) * | 2002-05-13 | 2004-01-13 | 주식회사 하이닉스반도체 | 모드 레지스터를 갖는 반도체 메모리 장치 및 상기 반도체메모리 장치에서의 디프 파워 다운 모드의 제어 방법 |
DE10255665B4 (de) * | 2002-11-28 | 2008-05-08 | Qimonda Ag | Schaltung und Verfahren zur Bestimmung wenigstens eines Spannungs-, Strom- und/oder Leistungswerts einer integrierten Schaltung |
US7428644B2 (en) * | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
US20050050237A1 (en) * | 2003-08-28 | 2005-03-03 | Jeddeloh Joseph M. | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
US7194593B2 (en) * | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
US7120743B2 (en) * | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7134029B2 (en) | 2003-11-06 | 2006-11-07 | International Business Machines Corporation | Computer-component power-consumption monitoring and control |
US7272741B2 (en) * | 2004-06-02 | 2007-09-18 | Intel Corporation | Hardware coordination of power management activities |
US7315952B2 (en) * | 2004-06-02 | 2008-01-01 | Intel Corporation | Power state coordination between devices sharing power-managed resources |
US7395443B1 (en) * | 2004-12-28 | 2008-07-01 | Advanced Micro Devices, Inc. | Integrated circuit with a hibernate mode and method therefor |
EP1677175B1 (de) * | 2004-12-31 | 2013-08-28 | ST-Ericsson SA | Dynamische Leistungsverwaltung für System-on-Chip (SOC) |
US20060179172A1 (en) * | 2005-01-28 | 2006-08-10 | Texas Instruments Incorporated | Method and system for reducing power consumption of a direct memory access controller |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US20080082763A1 (en) * | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8359187B2 (en) * | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US7392338B2 (en) * | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8327104B2 (en) * | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US7590796B2 (en) * | 2006-07-31 | 2009-09-15 | Metaram, Inc. | System and method for power management in memory systems |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8077535B2 (en) * | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US9542352B2 (en) * | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
GB2441726B (en) * | 2005-06-24 | 2010-08-11 | Metaram Inc | An integrated memory core and memory interface circuit |
US7472220B2 (en) * | 2006-07-31 | 2008-12-30 | Metaram, Inc. | Interface circuit system and method for performing power management operations utilizing power management signals |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US20080126690A1 (en) * | 2006-02-09 | 2008-05-29 | Rajan Suresh N | Memory module with memory stack |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US7609567B2 (en) * | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8041881B2 (en) * | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US7580312B2 (en) * | 2006-07-31 | 2009-08-25 | Metaram, Inc. | Power saving system and method for use with a plurality of memory circuits |
US7386656B2 (en) * | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US20080028136A1 (en) * | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
DE112006004263B4 (de) * | 2005-09-02 | 2015-05-13 | Google, Inc. | Speicherbaustein |
EP1785810A1 (de) * | 2005-11-14 | 2007-05-16 | Texas Instruments Incorporated | Ruhemodus für Stromverwaltung |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7466174B2 (en) | 2006-03-31 | 2008-12-16 | Intel Corporation | Fast lock scheme for phase locked loops and delay locked loops |
US7882381B2 (en) * | 2006-06-29 | 2011-02-01 | Intel Corporation | Managing wasted active power in processors based on loop iterations and number of instructions executed since last loop |
US20080028137A1 (en) * | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and Apparatus For Refresh Management of Memory Modules |
US20080025136A1 (en) * | 2006-07-31 | 2008-01-31 | Metaram, Inc. | System and method for storing at least a portion of information received in association with a first operation for use in performing a second operation |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US20080028135A1 (en) * | 2006-07-31 | 2008-01-31 | Metaram, Inc. | Multiple-component memory interface system and method |
KR100850209B1 (ko) * | 2007-02-08 | 2008-08-04 | 삼성전자주식회사 | 전력을 효율적으로 관리할 수 있는 시스템 인 패키지반도체 장치 및 그에 따른 전력 관리 방법 |
US8209479B2 (en) * | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US9088176B2 (en) * | 2007-12-17 | 2015-07-21 | Nvidia Corporation | Power management efficiency using DC-DC and linear regulators in conjunction |
US8327173B2 (en) * | 2007-12-17 | 2012-12-04 | Nvidia Corporation | Integrated circuit device core power down independent of peripheral device operation |
US20090204837A1 (en) * | 2008-02-11 | 2009-08-13 | Udaykumar Raval | Power control system and method |
US8762759B2 (en) * | 2008-04-10 | 2014-06-24 | Nvidia Corporation | Responding to interrupts while in a reduced power state |
US9423846B2 (en) | 2008-04-10 | 2016-08-23 | Nvidia Corporation | Powered ring to maintain IO state independent of the core of an integrated circuit device |
US8707060B2 (en) * | 2008-10-31 | 2014-04-22 | Intel Corporation | Deterministic management of dynamic thermal response of processors |
EP2441007A1 (de) * | 2009-06-09 | 2012-04-18 | Google, Inc. | Programmierung von dimm-abschlusswiderstandswerten |
US8601302B2 (en) * | 2009-06-22 | 2013-12-03 | Amazon Technologies, Inc. | Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC |
US8458501B2 (en) | 2010-07-27 | 2013-06-04 | International Business Machines Corporation | Measuring data switching activity in a microprocessor |
US8612786B1 (en) | 2010-09-24 | 2013-12-17 | Amazon Technologies, Inc. | Deep idle mode |
US9773344B2 (en) | 2012-01-11 | 2017-09-26 | Nvidia Corporation | Graphics processor clock scaling based on idle time |
US20130339763A1 (en) * | 2012-06-19 | 2013-12-19 | Ideacom Technology Inc. | Contrtol apparatus of an electronic system and the method therein |
US8898386B2 (en) | 2012-07-31 | 2014-11-25 | Hewlett-Packard Development Company, L.P. | Logical volume group drive control |
US9811874B2 (en) | 2012-12-31 | 2017-11-07 | Nvidia Corporation | Frame times by dynamically adjusting frame buffer resolution |
EP3123343A4 (de) * | 2014-03-24 | 2017-11-22 | Intel Corporation | Synchronisation von unterbrechungsverarbeitung zur reduktion des stromverbrauchs |
US10289183B2 (en) | 2014-08-22 | 2019-05-14 | Intel Corporation | Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system |
US10627888B2 (en) * | 2017-01-30 | 2020-04-21 | International Business Machines Corporation | Processor power-saving during wait events |
CN110308782B (zh) * | 2018-03-22 | 2023-09-08 | 阿里巴巴集团控股有限公司 | 功耗预测、控制方法、设备及计算机可读存储介质 |
US11398258B2 (en) * | 2018-04-30 | 2022-07-26 | Invensas Llc | Multi-die module with low power operation |
CN112463453B (zh) * | 2020-12-04 | 2023-10-03 | 佛山市顺德区美的电子科技有限公司 | 芯片复位方法与装置、存储介质、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4028175A1 (de) * | 1989-09-08 | 1991-03-21 | Apple Computer | Energiemanagementanordnung fuer einen tragbaren computer |
US5021679A (en) * | 1989-06-30 | 1991-06-04 | Poqet Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896260A (en) * | 1970-12-28 | 1990-01-23 | Hyatt Gilbert P | Data processor having integrated circuit memory refresh |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4171539A (en) * | 1977-12-19 | 1979-10-16 | The Bendix Corporation | Power strobed digital computer system |
US4203153A (en) * | 1978-04-12 | 1980-05-13 | Diebold, Incorporated | Circuit for reducing power consumption in battery operated microprocessor based systems |
US4365290A (en) * | 1979-03-12 | 1982-12-21 | Medtronic, Inc. | Computer system with power control circuit |
GB2080585B (en) * | 1980-07-22 | 1984-07-04 | Tokyo Shibaura Electric Co | Semiconductor integrated circuit with reduced power consumption |
JPS5933549A (ja) * | 1982-08-19 | 1984-02-23 | Toshiba Corp | Cmos形1チツプマイクロプロセツサ |
JPS5955526A (ja) * | 1982-09-24 | 1984-03-30 | Sharp Corp | インタ−フエ−ス回路 |
DE3242952A1 (de) * | 1982-11-20 | 1984-05-24 | SWF-Spezialfabrik für Autozubehör Gustav Rau GmbH, 7120 Bietigheim-Bissingen | Rechner, insbesondere bordrechner fuer kraftfahrzeuge |
JPS59200327A (ja) * | 1983-04-26 | 1984-11-13 | Nec Corp | 周辺装置の制御方式 |
US4698748A (en) * | 1983-10-07 | 1987-10-06 | Essex Group, Inc. | Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity |
US4780843A (en) * | 1983-11-07 | 1988-10-25 | Motorola, Inc. | Wait mode power reduction system and method for data processor |
US4766567A (en) * | 1984-04-19 | 1988-08-23 | Ltd. Nippondenso Co. | One-chip data processing device including low voltage detector |
GB2194082A (en) * | 1986-08-18 | 1988-02-24 | Philips Nv | Data processing apparatus with energy saving clocking device |
JPS63163912A (ja) * | 1986-12-26 | 1988-07-07 | Toshiba Corp | マイクロコンピユ−タシステム |
FR2610120B1 (fr) * | 1987-01-26 | 1989-07-13 | Merlin Gerin | Ensemble de commande et de protection connectant un reseau de communication local a un processus industriel |
JPS63236113A (ja) * | 1987-03-25 | 1988-10-03 | Toshiba Corp | バツテリ駆動携帯用機器 |
US4881205A (en) * | 1987-04-21 | 1989-11-14 | Casio Computer Co., Ltd. | Compact electronic apparatus with a refresh unit for a dynamic type memory |
US4922450A (en) * | 1987-10-08 | 1990-05-01 | Rose Frederick A | Communications management system having multiple power control modes |
DK174975B1 (da) * | 1988-05-06 | 2004-04-05 | Toppan Printing Co Ltd | Integreret kredsløbskort |
DE3822574A1 (de) * | 1988-07-04 | 1990-01-11 | Messerschmitt Boelkow Blohm | Sitz, insbesondere fuer einen flugbegleiter |
US5025387A (en) * | 1988-09-06 | 1991-06-18 | Motorola, Inc. | Power saving arrangement for a clocked digital circuit |
US4951309A (en) * | 1988-10-14 | 1990-08-21 | Compag Computer Corporation | Power-down modem |
US4980836A (en) * | 1988-10-14 | 1990-12-25 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
EP0368144B1 (de) * | 1988-11-10 | 1996-02-07 | Motorola, Inc. | Digitalrechnersystem mit Niederstromverbrauchmodus |
US5249298A (en) * | 1988-12-09 | 1993-09-28 | Dallas Semiconductor Corporation | Battery-initiated touch-sensitive power-up |
US5175845A (en) * | 1988-12-09 | 1992-12-29 | Dallas Semiconductor Corp. | Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode |
US5123107A (en) * | 1989-06-20 | 1992-06-16 | Mensch Jr William D | Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto |
US4991129A (en) * | 1989-07-25 | 1991-02-05 | Areal Technology, Inc. | Dual mode actuator for disk drive useful with a portable computer |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
JPH03116311A (ja) * | 1989-09-29 | 1991-05-17 | Toshiba Corp | スリープモード制御方式 |
JPH03119416A (ja) * | 1989-10-03 | 1991-05-21 | Toshiba Corp | コンピュータシステム |
JP2762670B2 (ja) * | 1990-03-30 | 1998-06-04 | 松下電器産業株式会社 | データ処理装置 |
US5251320A (en) * | 1990-05-25 | 1993-10-05 | International Business Machines Corporation | Power controller for permitting multiple processors to power up shared input/output devices and inhibit power down until all processors have ceased service with the I/O devices |
JPH0511876A (ja) * | 1990-12-25 | 1993-01-22 | Mitsubishi Electric Corp | デイジタル回路装置 |
US5239652A (en) * | 1991-02-04 | 1993-08-24 | Apple Computer, Inc. | Arrangement for reducing computer power consumption by turning off the microprocessor when inactive |
-
1993
- 1993-02-26 GB GB9303934A patent/GB2264794B/en not_active Expired - Lifetime
- 1993-03-04 FR FR9302501A patent/FR2689656B1/fr not_active Expired - Lifetime
- 1993-03-05 IT ITMI930434A patent/IT1271985B/it active IP Right Grant
- 1993-03-08 DE DE4307226A patent/DE4307226C2/de not_active Expired - Lifetime
- 1993-03-08 JP JP07078093A patent/JP3442810B2/ja not_active Expired - Lifetime
- 1993-04-26 US US08/053,296 patent/US5388265A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021679A (en) * | 1989-06-30 | 1991-06-04 | Poqet Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
DE4028175A1 (de) * | 1989-09-08 | 1991-03-21 | Apple Computer | Energiemanagementanordnung fuer einen tragbaren computer |
Non-Patent Citations (1)
Title |
---|
DE-Z: Elektronik, Heft 10, 21.5.1982, S. 69-72 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19803663A1 (de) * | 1998-01-30 | 1999-10-14 | Siemens Ag | Verfahren zum energiesparenden Betreiben eines Steuergeräts |
US6219217B1 (en) | 1998-01-30 | 2001-04-17 | Siemens Aktiengesellschaft | Method for the energy-saving operation of a control unit |
DE19803663B4 (de) * | 1998-01-30 | 2004-09-16 | Siemens Ag | Verfahren zum energiesparenden Betreiben eines Steuergeräts |
Also Published As
Publication number | Publication date |
---|---|
FR2689656A1 (fr) | 1993-10-08 |
US5388265A (en) | 1995-02-07 |
DE4307226C2 (de) | 1998-10-15 |
GB2264794B (en) | 1995-09-20 |
FR2689656B1 (fr) | 1997-12-12 |
GB9303934D0 (en) | 1993-04-14 |
GB2264794A (en) | 1993-09-08 |
ITMI930434A0 (it) | 1993-03-05 |
IT1271985B (it) | 1997-06-10 |
JPH07168654A (ja) | 1995-07-04 |
ITMI930434A1 (it) | 1994-09-05 |
JP3442810B2 (ja) | 2003-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4307226C2 (de) | Verfahren und Einrichtung zum automatischen Steuern des Energieverbrauches einer integrierten Schaltung in einem Computersystem | |
DE69727355T2 (de) | Anordnung und Verfahren zur Taktsequenzierung in einem Datenverarbeitungssystem | |
DE69629780T2 (de) | Oszillator zur verwendung in einer leistungssteuersystem | |
DE69635887T2 (de) | Schaltung zur Einstellung von Computersystembussignalen auf vorbestimmte Zustände im Niederstromverbrauchszustand | |
DE102013214907B4 (de) | Training, power-gating und dynamische Frequenzänderung eines Speichercontrollers | |
DE102012212441B4 (de) | Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit | |
DE60128396T9 (de) | Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden | |
DE69533762T2 (de) | Leistungssteuerungseinheit für Computersystem | |
DE102004012487B4 (de) | Strom sparende Steuerschaltung einer elektronischen Vorrichtung und Betriebsverfahren davon | |
DE69233465T2 (de) | Gerät und Verfahren zum Unterbrechen und Wiederaufnehmen von Software auf einem Rechner | |
DE112005002672B4 (de) | Dynamische Neukonfiguration eines Cache-Speichers | |
DE102004062911B4 (de) | Verfahren zum Betrieb eines Prozessors und zugehöriges Prozessorsystem | |
DE102010013228B4 (de) | Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern | |
JP2003015787A (ja) | 非活動状態時の電力低減のために、走査に基づいて状態を保存及び復元する方法及びシステム | |
DE102005001451A1 (de) | Informationsverarbeitungsvorrichtung und Spannungsversorgungs-Steuerungsverfahren | |
EP0840196A2 (de) | Schaltungsanordnung zur Umschaltung zwischen Taktquellen in einem Datenverarbeitungssystem | |
DE4417091C2 (de) | Mikrocomputer mit einer Überwachungszeitsteuerschaltung | |
DE4309532A1 (de) | Verfahren zur Einrichtung zum Sichern einer Systemabbildung auf eine permanente Speichereinrichtung | |
DE102008064866B3 (de) | Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung | |
DE102009041723A1 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
US20030079152A1 (en) | Microprocessor with multiple low power modes and emulation apparatus for said microprocessor | |
DE19842879C2 (de) | Mikrocomputer | |
DE19713133A1 (de) | Integrierte Schaltungseinrichtung | |
DE19720806A1 (de) | Systemsteuerung für ein Computersystem | |
DE102013113981A1 (de) | Kleinflächiger Niedrigleistungs-Datenbeibehaltungsflop |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right | ||
R071 | Expiry of right |