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
Application number
DE4307226A
Other languages
English (en)
Other versions
DE4307226C2 (de
Inventor
Andrew M Volk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE4307226A1 publication Critical patent/DE4307226A1/de
Application granted granted Critical
Publication of DE4307226C2 publication Critical patent/DE4307226C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power 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.
Das gegenwärtig bevorzugte Ausführungsbeispiel
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.
Herunterschaltmoden
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.
DER HERUNTERSCHALTMODUS-BEFEHL
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.
ENERGIEMANAGEMENT DES KRISTALLOSZILLATORS
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.
Der heruntergeschaltete Zustand
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.
REGISTER
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.
Tabelle 1
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.
PINS DES FDC-CHIP
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.
Tabelle 2
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.
Tabelle 3
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.
OSZILLATORVERHALTEN WÄHREND DES HERUNTERSCHALTENS
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.
Aufweckmoden
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.
MIKROPROGRAMMWIEDERHERSTELLUNG
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.
WIEDERHERSTELLUNG DES KRISTALLOSZILLATORS
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.
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.
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.
DE4307226A 1992-03-06 1993-03-08 Verfahren und Einrichtung zum automatischen Steuern des Energieverbrauches einer integrierten Schaltung in einem Computersystem Expired - Lifetime DE4307226C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
DE-Z: Elektronik, Heft 10, 21.5.1982, S. 69-72 *

Cited By (3)

* Cited by examiner, † Cited by third party
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