-
Diese Erfindung betrifft die Energieverwaltung
in einem Computersystem. Die Erfindung bezieht sich auch auf integrierte
Verarbeitungssysteme, wie zum Beispiel die Energieverwaltung in
integrierten Verarbeitungssystemen, welche die Herausführung eines
externen Peripheriebusses von einem Systemverbindungsbus unterstützt.
-
Ein fort bestehendes Entwicklungsziel
von Herstellern ist es gewesen, den Energieverbrauch von Computersystemen
zu senken. Die Reduzierung des Energieverbrauchs reduziert typischerweise
die Wärmeerzeugung
des Systems, wodurch die Zuverlässigkeit
erhöht
und die Kosten gesenkt werden. Des weiteren ist die Reduzierung
des Energieverbrauchs insbesondere wichtig für die Maximierung der Betriebsdauer
von batteriebetriebenen, portablen Computersystemen.
-
Verschiedene Techniken sind ersonnen
worden, um den Energieverbrauch von Computersystemen zu senken.
Diese Techniken umfassen die Erhöhung
der Integration der Schaltungen und die Einbeziehung von verbesserten
Schaltungen und Energieverwaltungseinheiten (PMUs). Eine bestimmte
Technik zur Verringerung der Energie beinhaltet die Fähigkeit,
Taktsignale zu stoppen, welche inaktive Schaltungsbereiche treiben.
Ein System, das eine derartige Technik verwendet, umfasst eine Energieverwaltungseinheit,
die inaktive Schaltungsbereiche detektiert oder vorher sagt und
entsprechend die Taktsignale anhält,
die den inaktiven Schaltungsbereichen zugeordnet sind. Durch das
Ausschalten „nicht
benutzter" Taktsignale, die inaktive Schaltungsbereiche treiben,
wird der Gesamtenergieverbrauch des Systems gesenkt. Eine ähnliche
Technik beinhaltet die Fähigkeit
des Reduzierens der Frequenz von Taktsignalen, die Schaltungsbereiche
während
Operationsmodi treiben, die nicht zeitkritisch sind, und eine weitere
Technik beinhaltet die Fähigkeit,
Energie von inaktiven Schaltungsbereichen zu entfernen.
-
Computersysteme mit verwalteter Energie, welche
die zuvor beschriebenen Techniken zur Energieverringerung einsetzen, überwachen
typischerweise verschiedene Aktivitäten zum Zeitpunkt der Benutzung
oder durch Schnüffeln
auf zentralisierten Bussen. Zum Beispiel kann ein Aktivitätsmonitor
einer Energieverwaltungseinheit direkt mit mehreren Steuerleitungen
verbunden sein, die dem Mikroprozessor und peripheren Geräten zugeordnet
sind, um zu bestimmen, ob gewisse Aktivitäten auftreten. In Abhängigkeit
von den fest gestellten Aktivitäten, kann
die Energieverwaltungseinheit ausgewählte Schaltungsbereiche reagierend
herunterfahren, die Frequenzen von ausgewählten Taktsignalen reduzieren
und/oder ausgewählte
Taktsignale vollständig
anhalten. Ferner ist die Energieverwaltungseinheit typischerweise
konfiguriert, um den Zustand von ausgewählten Nur-Lese- und/oder anders
konfigurierten Registern eines bestimmten peripheren Geräts zu speichern,
bevor das periphere Gerät
ausgeschaltet wird. Dies erlaubt es, das periphere Gerät ohne neue Konfigurierung
wieder in den originalen Zustand einzuschalten.
-
In vergangenen Jahren sind integrierte
Prozessoren entwickelt worden, um vorherige diskrete Mikroprozessoren
und dazu gehörige
periphere Geräte
innerhalb von Computersystemen zu ersetzen. Ein integrierter Prozessor
ist eine integrierte Schaltung, welche die Funktionen sowohl von
einem Mikroprozessor als auch von verschiedenen peripheren Geräten, wie
zum Beispiel einer Speichersteuerung, einer DMA Steuerung, einem
Timer und einer Businterfaceeinheit neben anderen Dingen ausführt. Die Einführung von
integrierten Prozessoren hat es erlaubt, die gesamten Kosten, die
Größe und das
Gewicht von Computersystemen zu senken, und hat in vielen Fällen verbesserte
Eigenschaften in der Leistungsfähigkeit
von Computersystemen mit sich gebracht.
-
Integrierte Prozessoren enthalten üblicherweise
einen Systemverbindungsbus, der an den Pins des Gehäuses der
integrierten Schaltung verfügbar ist
und welcher den Anschluss verschiedener peripherer Geräte an den
Prozessor ermöglicht.
Um eine breite Kompatibilität
des integrierten Prozessors zu erhalten und um kostengünstige Systeme
zu unterstützen,
kann der integrierte Prozessor auch die externe Herausführung eines
zusätzlichen
Peripheriebusses nach dem Industriestandard unterstützen. Der
zusätzliche
Peripheriebus, welcher als ein Sub-Bus bezeichnet wird, wird von
dem Systemverbindungsbus hergeleitet und ist üblicherweise mit externen Adress-
und Datenpuffern und auch einem Satz von Sub-Bus Steuersignalen,
welche von dem integrierten Prozessor erzeugt werden, unterstützt.
-
Ein bei der Verwaltung von Energie
in Computersystemen, die periphere Sub-Busse beinhalten, aufgetretenes Problem
ist, dass eine externe Energieverwaltungseinheit üblicherweise
fähig sein
muss, Aktivitäten
sowohl auf dem Systemverbindungsbus als auch auf dem peripheren
Sub-Bus zu überwachen,
um festzustellen, ob ein Zustandswechsel der Energieverwaltung auftreten
sollte, und um Nur-Lese Register abzubilden, die innerhalb von periphereren an
den Sub-Bus angeschlossenen Geräten
verwirklicht sind.
-
Obwohl externe Gehäusepins
an der Energieverwaltungseinheit vorgesehen werden könnten, um
einen separaten externen Zugriff auf jede der verschiedenen Leitungen
des Systemverbindungsbusses und des peripheren Sub-Busses zu schaffen, werden
derartige fest zugeordnete Pins zu einer erheblichen Anzahl von
Gehäusepins
der Energieverwaltungseinheit führen
und würde
erfordern, dass die Größe des Dies
der Energieverwaltungseinheit vergrößert werden muss, um die zusätzlichen
Pads für die
Bondingdrähte
aufzunehmen. Als ein Ergebnis würden
erhebliche Kosten zu den Kosten für den integrierten Prozessor
hinzugefügt.
-
EP-A-0 588084 offenbart einen Computer mit
verschiedenen Bussen, zum Beispiel einem ISA, PCI und
verschiedenen fest geschalteten Bussen, sowie einer Energieverwaltung.
-
EP-A-0 230 351 offenbart einen Mechanismus
zum Speichern des Zustands eines Computersystems, wenn es unterbrochen
und ausgeschaltet wird, um eine nachfolgende Rückkehr in den gleichen Zustand
zu ermöglichen.
-
JP-A-56 143073 offenbart die Überwachung von
peripheren Bussen und US-A-5
125 080 offenbart einen zusätzlichen
Chip für AT Computer,
welcher die normalen AT Datenpfade modifiziert, um eine
16 Bit Version eines XD-Busses zur Verfügung zu stellen.
-
Die oben ausgeführten Probleme werden zu einem
großen
Teil gelöst
durch eine Energieverwaltungstechnik zum Detektieren von Aktivitäten auf dem
Sub-Bus in einem Computersystem in Übereinstimmung mit der vorliegenden
Erfindung, wie sie in Anspruch 1 definiert ist.
-
In einem Ausführungsbeispiel umfasst das Computersystem
einen mit einer Energieverwaltungseinheit verbundenen integrierten
Prozessor und zumindest ein peripheres Gerät. Der integrierte Prozessor
enthält
eine Bus-Interface-Einheit,
welche eine Schnittstelle zu einem peripheren Verbindungsbus mit
hoher Leistungsfähigkeit
mit multiplexten Adress-/Datenleitungen bereit stellt. Der periphere Verbindungsbus,
der ein PCI Standardbus sein kann, beherbergt Datentransfers
zwischen einem internen Bus des integrierten Prozessors und peripheren PCI Geräten. Der
integrierte Prozessor enthält
des weiteren eine Sub-Bus Steuereinheit, die einen Satz von Seitenband-Steuersignalen
erzeugt, der die externe Herausführung
eines sekundären
Busses mit geringerer Leistungsfähigkeit,
wie einem ISA Bus, erlaubt, ohne dass ein vollständiger Satz
von externen Pins für
den sekundären
Bus auf dem integrierten Prozessor erforderlich ist. Die Herausführung des
sekundären
Busses wird mit einem externen Datenpuffer und einem externen Signalspeicher
erreicht, wel che von den Seitenband-Steuersignalen gesteuert werden. Getrennte
Adress- und Datenleitungen
von dem integrierten Prozessor für
den sekundären
Bus sind nicht erforderlich. Entsprechend werden von dem integrierten
Prozessor sowohl periphere Geräte
mit hoher Leistungsfähigkeit
als auch günstigere
periphere Geräte
mit geringerer Leistungsfähigkeit
unterstützt, ohne
einen erheblichen Anstieg der Anzahl der Pins des integrierten Prozessors.
-
Die Energieverwaltungseinheit ist
des weiteren mit dem PCI Bus verbunden. Die Energieverwaltungseinheit
umfasst einen Systemmonitor, der die Überwachung von allen PCI Takten
zum Überwachen
der Aktivität
und zum Abbilden der Nur-Lese-Register erlaubt. Um Takte des ISA Sub-Busses zu überwachen, überwacht
der Systemmonitor den PCI Bus auf Takte des Sub-Busses
und dekodiert die Befehlstyp-Signale auf dem PCI Bus. Der ISA Sub-Bus
verwendet PCI Signale und Befehlstypen erneut, ohne mit
dem FRAME# Signal den Start eines PCI Taktes zu signalisieren.
Um gültige
Daten während
eines Taktes des ISA Sub-Busses zu erkennen, wird ein Adress-Fortschreitungs-Konfigurationsregister
innerhalb der Energieverwaltungseinheit verwendet, um festzustellen,
ob Daten bei dem der Adressphase folgenden Taktzyklus gültig sind
oder ob die Daten folgend auf einen, zwei oder drei Taktschritte
gültig
sind. Entsprechend kann eine vielseitige Energieverwaltung im Hinblick
auf periphere Geräte
des Sub-Busses aufrecht erhalten werden, während die gesamte Anzahl der
Pins der Energieverwaltungseinheit minimiert wird.
-
Kurze Beschreibung
der Zeichnungen
-
Weitere Aufgaben und Vorteile der
Erfindung werden offenbar beim Studium der folgenden detaillierten
Beschreibung mit Bezugnahme auf die begleitenden Zeichnungen. Es
zeigen:
-
1 ein
Blockdiagramm eines Computersystems, umfassend ein Computersystem
in Übereinstimmung
mit der vorliegenden, Erfindung,
-
2 ein
Zeitablaufdiagramm, das die Erzeugung von Adress-, Daten- und Steuersignalen
für eine
Leseoperation auf einem peripheren ISA-Gerät, welches mit dem integrierten
Prozessor aus 2 verbunden
ist, darstellt,
-
3 ein
Zeitablaufdiagramm, das ausgewählte
Signale darstellt, die von einem Systemmonitor während des Abbildens eines Nur-Lese-Registers überwacht
werden, um eine Energieverwaltung zu realisieren.
-
Während
die Erfindung zahlreichen Modifikationen und alternativen Formen
unterworfen werden kann, sind spezielle Ausführungsbeispiele davon beispielhaft
in den Zeichnungen gezeigt und werden hier detailliert beschrieben
werden. Es sollte jedoch verstanden werden, dass die Zeichnungen
und die dazu gehörige
detaillierte Beschreibung nicht beabsichtigt sind, die Erfindung
auf die bestimmte offenbarte Form zu beschränken, sondern dass die Erfindung
vielmehr alle Modifikationen, Äquivalente
und Alternativen abdeckt, die in den Umfang der vorliegenden Erfindung,
wie sie in den beigefügten
Ansprüchen
definiert ist, fallen.
-
Detaillierte
Beschreibung der Erfindung
-
Es wird nun Bezug auf die Zeichnungen
genommen, in denen 1 ein
Blockdiagramm eines Computersystems 200 ist, umfassend
eine Energieverwaltungseinheit 202 in Übereinstimmung mit der vorliegenden
Erfindung. Zusätzlich
zu der Energieverwaltungseinheit 202 enthält das Computersystem 200 des
weiteren einen integrierten Prozessor 210, der mit einem PCI (Peripherie-Verbindungsbus)
Bus 220 verbunden ist, ein peripheres PCI Gerät 222,
einen Datenpuffer 224 und einen Adress-Signalspeicher 226.
Das Computersystem 200 umfasst schließlich ein peripheres ISA Gerät und einen
Systemspeicher 230, der mit dem integrierten Prozessor 210 verbunden
ist.
-
In ihrer dargestellten Form enthält die,
Energieverwaltungseinheit 202 einen mit dem PCI Bus 220 verbundenen
Systemmonitor 204 und eine mit dem Systemmonitor 204 verbundene
Energieverwaltungs-Zustandsmaschine 206. Die Energieverwaltungseinheit 202 enthält des weiteren
eine Einheit für abgebildete
Register 208 und ein Konfigurationsregister 209,
das mit der Energieverwaltungs-Zustandsmaschine 206 verbunden
ist.
-
Allgemein betrachtet ist die Energieverwaltungseinheit 202 vorgesehen,
um die von dem Computersystem 200 verbrauchte Energie zu
verwalten und zu minimieren. Die Energieverwaltungseinheit 202 erzeugt
einen Satz von Takt-Steuersignalen
auf den Leitungen 260 und einen Satz von Energie-Steuersignalen
auf den Leitungen 262. Die Takt-Steuersignale und Energie-Steuersignale
werden verwendet, um die Frequenzen von ausgewählten Taktsignalen zu steuern
beziehungsweise die Zuführung
von Energie zu ausgewählten
Schaltungsbereichen und peripheren Geräten zu steuern. Zum Beispiel
werden in einem Ausführungsbeispiel
die Takt-Steuersignale verwendet, um die Frequenzen von einem CPU-Taktsignal
und von einem System-Taktsignal zu steuern. Das CPU-Taktsignal taktet
den CPU Kern 240 und das System-Taktsignal taktet
zum Beispiel die peripheren Geräte 222 und 228.
Zusätzlich
werden Energie-Steuersignale bereit gestellt, um die, Zufuhr von Energie
zu dem peripheren PCI Gerät 222 und dem sub-peripheren ISA Gerät 228 zu
steuern. Weitere Details betreffend die Energieverwaltungseinheit 202 werden
folgend zur Verfügung
gestellt.
-
Der integrierte Prozessor 210 enthält einen CPU Kern 240,
der mit einer Speichersteuerung 242, einer PCI Bus-Steuereinheit 244,
einer ISA Sub-Bus-Steuereinheit 246 und über einen
internen Bus 250 mit einem auf dem Chip befindlichen peripheren
Gerät 248 verbunden
ist. Jede der dargestellten Komponenten des integrierten Prozessors 210 ist auf
einer einzelnen integrierten Schaltung gefertigt und ist innerhalb
eines gemeinsamen Gehäuses
für eine
integrierte Schaltung untergebracht. In dem gezeigten Ausführungsbeispiel
implementiert der CPU Kern 240 einen Befehlssatz
des Mikroprozessors vom Modell 80486. Der Bus 250 ist ein
lokaler Bus nach Art des Modells 80486. Es sollte jedoch verstanden
werden, dass der CPU Kern 240 konfiguriert werden
könnte,
um Befehlssätze
von anderen Typen von Mikroprozessoren zu implementieren.
-
Die PCI Bus-Interfaceeinheit 244 stellt
eine Schnittstelle zwischen dem CPU Lokalbus 250 und dem PCI Bus 220 zur
Verfügung.
Als solche leitet die PCI Bus-Interfaceeinheit 244 den
Transfer von Daten, Adressen und Steuersignalen zwischen dem CPU Lokalbus 250 und
dem PCI Bus 220. Der PCI Bus 220 wird allgemein
dahin gehend als ein Systemverbindungsbus bezeichnet, dass er die
Verbindung von externen peripheren Geräten mit dem Prozessor 210 erlaubt.
Details bezüglich
des PCI Busses, 220 sind bereitgestellt in der
Veröffentlichung
mit dem Titel „ PCI
Local Bus Specification"; PCI Special Interest Group; Hillsboro,
Oregon; 1993.
-
Das auf dem Chip befindliche periphere
Gerät 248 ist
beispielhaft für
ein beliebiges von einer Vielzahl von peripheren Geräten, welche
innerhalb des integrierten Prozessors 210 eingearbeitet
sein können.
Zum Beispiel können
periphere Geräte
wie eine Steuerung für
den direkten Speicherzugriff, eine Interrupt-Steuerung und ein Timer
als ein integrierter Teil des integrierten Prozessors 210 enthalten
sein.
-
Die Speichersteuerung 242 steuert
den Transfer von Daten zwischen dem CPU Lokalbus 250 und
dem Systemspeicher 230. Da die Speichersteuerung 242 und
der CPU Kern 240 in einer gemeinsamen integrierten
Schaltung hergestellt sind, skaliert die Leistungsfähigkeit
von jedem auf ähnliche Weise
mit Änderungen
in der Prozesstechnologie.
-
Wie folgend in weiteren Details beschrieben werden
wird, erzeugt die 16A Sub-Bus-Steuereinheit 246 einen
Satz von Signalen mit der Bezeichnung SUBDIR, SUBEN und LDEN,
sowie ein I/O Lesesignal IORD, ein I/O Schreibsignal IOWR
und ein Chipauswahlsignal CS. Diese Signale werden gemeinsam als ISA Seitenbandsignale
bezeichnet. Die ISA Seitenbandsignale erlauben Datentransfers
an das und von dem externen peripheren ISA Gerät 228 durch
die Steuerung des Transfers von Daten- und Adress-Signalen zwischen
dem PCI Bus 220, dem Datenpuffer 224 und
dem Adress-Signalspeicher 226. Die ISA Sub-Bus-Steuereinheit 246 ist
mit der PCI Bus-Steuereinheit 244 synchronisiert,
um eine korrekte Zeitabfolge der Seitenbandsignale SUBDIR, SUBEN, LDEN, IOWR, IORD und CS sicher
zu stellen. Die Signale vom ISA Typ IOWR, IORD und CS werden,
zusammen mit den Daten- und Adress-Signalen für das periphere ISA Gerät 228,
gemeinsam als ein peripherer ISA Sub-Bus bezeichnet. Der
Begriff „Sub-Bus"
bezieht sich, so wie er hier verwendet wird, auf jeden externen
Bus, der von einem System-Verbindungsbus abgeleitet wird.
-
Der Datenpuffer 224 ist
ein bidirektionaler Puffer für
mehrere Bits, der Datensignale zwischen dem PCI Bus, 220 und
dem peripheren ISA Gerät 228 kanalisiert.
Der Datenpuffer 224 wird von dem Seitenbandsignal SUBEN
freigegeben und die Richtung des Datenpuffers 224 wird
von dem Seitenbandsignal SUBDIR gesteuert. Es ist festzuhalten,
dass für
Situationen in denen das periphere ISA Gerät 228 ein
peripheres Gerät
mit 8 Bit ist, der Datenpuffer 224 ein Puffer mit 8 Bit
ist und mit den unteren 8 Bits (AD[7:0]) der multiplexten Adress-/Datenleitungen des PCI Busses 220 verbunden
sein kann. Für
Fälle, in
denen das periphere ISA Gerät 228 ein peripheres Gerät mit 16
Bit ist, ist der Datenpuffer 224 ein Puffer mit 16 Bit
und kann mit den Leitungen AD[15:0] des PCI Busses 220 verbunden
sein.
-
Der Adress-Signalspeicher 226 ist
eine Verriegelungsschaltung für
mehrere Bits, welche Adress-Signale von dem PCI Bus 220 an
das periphere ISA Gerät 228 liefert.
Für das
Ausführungsbeispiel
aus 1 kann der Adress-Signalspeicher 226 ein
Signalspeicher mit bis zu 32 Bit sein; jedoch ist zu bemerken, dass
der Adress-Signalspeicher 226 nur die Anzahl von Adressierungsleitungen
unterstützen muss,
die von dem peripheren ISA Gerät benötigt werden. Der Adress-Signalspeicher 226 wird
freigegeben durch das Laden-Signal LDEN und wird von dem PCI Takt-Signal PCICLK getaktet.
Der Adress-Signalspeicher 226 kann mit einem Satz von Signalspeichern
vom Typ '377 D implementiert werden.
-
Details hinsichtlich der Daten-,
Adress- und Steuersignale, die zu dem integrierten Prozessor 210,
dem PCI, Bus 220, dem Datenpuffer, 224,
denn Adress-Signalspeicher 226 und dem peripheren ISA Gerät 228 gehören, werden
als nächstes
betrachtet. Die multiplexten Adress-/Daten- (A/D-) Leitungen des PCI Busses 220 sind
mit einem Eingangsanschluss des Adress-Signalspeichers 226 verbunden und
das von der ISA Sub-Bus-Steuereinheit 246 erzeugte
Lade-Freigabesignal LDEN ist mit dem Freigabe-Eingang des
Adress-Signalspeichers 226 verbunden. Ein Ausgangsanschluss
des Adress-Signalspeichers 226 ist
mit einem Adressanschluss eines peripheren ISA Geräts 228 verbünden.
-
Die multiplexten Adress-/Daten- (A/D-)
Leitungen des PCI Busses 220 sind zusätzlich mit
dem Datenpuffer 224 verbunden. In dem gezeigten Ausführungsbeispiel
ist das periphere ISA Gerät 228 ein Gerät mit 8
Bit und damit sind die 8 niederwertigsten Bits der multiplexten
Adress-/Daten- (AD[7:0]) Leitungen des PCI Busses 220 mit
dem Datenpuffer 224 verbunden. Ein zweiter Anschluss des
Datenpuffers 224 ist mit einem Datenanschluss des peripheren ISA Geräts 228 verbunden.
Das von der ISA Sub-Bus-Steuereinheit. 246 erzeugte
Daten-Freigabesignal SUBEN beziehungsweise das Daten-Richtungssignal SUBDIR
sind mit einem Freigabeeingang und einem Richtungseingang des Datenpuffers 224 verbunden.
Wie zuvor erwähnt
steuern diese Signale die Freigabe und die Richtung des Datenpuffers 224.
Das von der ISA Sub-Bus-Steuereinheit 246 erzeugte
Chip-Auswahlsignal ist mit dem Chip-Auswahleingang eines peripheren ISA Geräts 228 verbunden
und ferner sind das I/O Lesesignal IORD und das I/O Schreibsignal IOWR mit
dem peripheren ISA Gerät 228 zum
Steuern vom Lesen und Schreiben von Daten in das und aus dem peripheren ISA Gerät 228 verbunden.
-
Es wird nun auf 2 in Verbindung mit 1 Bezug genommen, wobei als nächstes der
Betrieb eines Computersystems 200 während eines peripheren ISA Sub-Bus-Taktes
erklärt
wird. 2 ist ein Zeitablaufdiagramm,
das die mit einer I/O Leseoperation auf einem peripheren ISA Gerät 228 verbundenen
Daten-, Adress- und Steuersignale darstellt. Wenn der CPU Kern 240 einen
Lesetakt an den I/O adressierbaren Bereich, auf welchen das periphere ISA Gerät 228 abgebildet
ist, einleitet, wird ein gültiges
Adress-Signal durch die PCI Bus-Interfaceeinheit 244 und
auf die multiplexten Adress-/Daten(AD[31:0])Leitungen des PCI Busses 220 während eines ISA Sub-Bus-Zustands 302 getrieben.
Zu dieser Zeit gibt die ISA Sub-Bus-Steuerungseinheit 246 das
Ladesignal LDEN aus. Das gültige Adress-Signal wird dabei
synchron mit der steigenden Flanke des PCI Taktsignals
in dem Adress-Signalspeicher 226 verriegelt. Zu der gleichen
Zeit, zu der das gültige
Adress-Signal auf den PCI Bus 220 getrieben wird, wird
das Chip-Auswahlsignal CS von der ISA Sub-Bus-Steuerungseinheit 246 niedrig
angelegt, um das periphere Gerät 228 auszuwählen. Wie
in 2 dargestellt, wird
das Chip-Auswahlsignal CS während des Lesetaktes auf das
periphere ISA Gerät 228 niedrig
angelegt. Auf die steigende Flanke des Ladesignals LDEN wird
an dem Ausgang des Adress-Signalspeichers 226 und an den
Adressanschluss des peripheren ISA Geräts 228 ein gültiges Adress-Signal
bereit gestellt.
-
Während
des nächsten ISA Sub-Bus-Zustands 304 werden
sowohl das I/O Lesesignal IOR als auch das Freigabesignal SUBEN und
das Daten-Richtungssignal SUBDIR niedrig angelegt. Das periphere ISA Gerät 228 holt
reagierend die Daten von der angeforderten Stelle und treibt die
Daten durch den Datenpuffer 224 an die multiplexten Adress-/Daten-Leitungen
des PCI Busses 220. Wie in der Figur dargestellt,
werden die Daten während der
Zustände 306, 308, 310 und 312 auf
den PCI Bus getrieben. Wenn die ISA Sub-Bus-Steuerungseinheit 246 das
I/O Lesesignal IOR während
des Zustands 314 wieder zurück nimmt, verriegelt die PCI Interface-Einheit 244 die
Daten in dem integrierten Prozessor 210. Dies schließt die Leseoperation
auf dem ISA Sub-Bus
ab.
-
Eine Schreiboperation auf das periphere
ISA Gerät 228 ist ähnlich.
Es ist fest zu halten, dass ein standardisierter Zeitablauf nach ISA Typ
für die Schreibtakte
an das periphere ISA Gerät 228 eingesetzt wird.
Es ist ferner zu bemerken, dass während eines Schreibtaktes das
Komplement von dem Richtungssignal SUBDIR gebildet wird,
um einen entgegen gesetzten Fluss von Daten von dem PCI Bus 220 zu
dem peripheren ISA Gerät 228 zu
erlauben.
-
Die PCI Interface-Einheit 244 und
die ISA Sub-Bus-Steuerungseinheit 246 können des
weiteren eine Adress-/Daten-Schrittfunktion implementieren, um festzustellen,
wann gültige
Daten auf dem PCI Bus 220 bereit gestellt werden.
Diese Adress-/Daten-Schrittfunktion kann in Übereinstimmung mit einem internen
Konfigurationsregister des integrierten Prozessors 210 programmierbar
sein. In einem Ausführungsbeispiel
kann das Konfigurationsregister derart gesetzt sein, dass Daten
einen Takt nach dem die Adresse gültig ist, auf dem PCI Bus 220 gültig sind,
oder dass entweder ein, zwei oder drei Taktschritte vorgesehen sind,
zwischen der Zeit, wenn die Adresse auf dem PCI Bus 220 gültig ist,
und der Zeit, zu der Daten auf dem PCI Bus 220 gültig sein
werden. Es ist fest zu stellen, dass die ISA Sub-Bus-Steuerungseinheit 246 Daten
auf den AD[31:1] Leitungen in Übereinstimmung
mit der bestimmten Zeitabfolge erzeugt, die von der Adress-/Daten-Schrittfunktion
fest gesetzt wurde. Daher können
die Daten, wenn der Bus stark belastet ist, mehrere Takte benötigen um
gültig
getrieben zu werden; was einen oder mehrere Taktschritte erfordert.
-
Der Betrieb der Energieverwaltungseinheit 202 wird
als nächstes
betrachtet. Die Energieverwaltungs-Zustandsmaschine 206 ist
eine Steuereinheit, welche in Abhängigkeit von ausgewählten Aktivitäten des
Systems die Frequenzen von verschiedenen Taktsignalen, die zu dem
Computersystem 200 gehören,
steuert und welche die Zufuhr von Energie an verschiedene periphere
Geräte,
die zu dem Computersystem 200 gehören, steuert. Die Energieverwaltungs-Zustandsmaschine 206 kann
in einer Vielzahl von bestimmten Konfigurationen implementiert sein. Eine
beispielhafte Energieverwaltungs-Zustandsmaschine 206 ist
beschrieben in dem US Patent 5,493,684 mit dem Titel „Power
Management Architecture for Optimal Flexibility"; von Gephardt et
al.
-
Die Energieverwaltungs-Zustandsmaschine 206 steuert
die Frequenzen von ausgewählten
Taktsignalen und die Zufuhr von Energie an verschiedene periphere
Geräte
in Abhängigkeit
von verschiedenen Aktivitäten,
die von dem Systemmonitor 204 detektiert werden. Es ist
festzustellen, dass die Energieverwaltungs-Zustandsmaschine 206 auch
die Taktsignale und die Zufuhr von Energie basierend auf Aktivitäten steuern
kann, die von anderen Quellen detektiert werden oder in Reaktion
auf andere Steuermechanismen (nicht gezeigt). Es ist ferner fest
zu halten, dass die Antwort auf verschiedene detektierte Aktivitäten durch
die Energieverwaltungs-Zustandsmaschine 206 programmierbar
sein kann oder sich von System zu System unterscheiden kann. Zum
Beispiel kann die Energieverwaltungs-Zustandsmaschine 206 programmiert
sein, um die Zufuhr von Energie von dem peripheren PCI Gerät 222 und
von dem peripheren ISA Gerät 228 zu entfernen,
wenn keine Aktivitäten
des Systems für
eine vorbestimmte Ausschlusszeitperiode detektiert worden sind,
und kann programmiert sein, um die Frequenz des CPU Taktsignals
runter zu fahren. Wenn später
eine, Aktivität der
Tastatur detektiert wird, kann die Energieverwaltungs-Zustandsmaschine 206 konfiguriert
sein, um an das periphere PCI Gerät 222 und an das periphere
ISA Gerät 228 wieder
Energie anzulegen und um die Frequenz des CPU Taktsignals
zu erhöhen.
-
Der Systemmonitor 204 ist
entsprechend konfiguriert, um verschiedene Aktivitäten des
Computersystems 200 zu detektieren, so dass die Energieyerwaltungs-Zustandsmaschine 206 die
Taktsignale und die Zufuhr von Energie in Übereinstimmung mit ihrem vorbestimmten
Energieverwaltungsalgorithmus steuern kann. Genauer gesagt, ist
der Systemmonitor 204 konfiguriert, um das Auftreten von PCI Takten
auf dem PCU Bus 220 zu überwachen und zu detektieren
und um das Auftreten von ISA Sub-Bus Takten zu überwachen
und zu detektieren. Der Systemmonitor 204 ist ferner konfiguriert,
um gewis se Konfigurationsdaten abzubilden, die von dem peripheren PCI Gerät 222 und
von dem peripheren ISA Gerät 228 in die Abbildungsregistereinheit 208 geschrieben
sind, um die Informationen über
die Konfiguration beizubehalten, wenn das periphere PCI Gerät 222 oder
das periphere ISA Gerät 228 runter
gefahren wird. Die Abbildung von anderen vorbestimmten Registern
innerhalb des Systems, wie zum Beispiel Nur-Schreib-Register von
anderen peripheren Geräten,
kann des weiteren von der Energieverwaltungseinheit 202 durch
geführt
werden. Es ist festzuhalten, dass die bestimmten abzubildenden Register
innerhalb der Energieverwaltungseinheit 202 programmiert
sein können.
-
Da der Systemmonitor 204 mit
dem PCI Bus 220 verbunden ist, ist er fähig zum direkten Überwachen
und Detektieren jeglichen PCI Taktes auf konventionelle
Weise sowohl für
die Energieverwaltungsfunktionen als auch für das Abbilden von Registern,
die zu den peripheren PCI Geräten gehören. Daher kann, in Abhängigkeit
von der Konfiguration des Computersystems 200 und den bestimmten
an den PCI Bus angeschlossenen peripheren Geräten, der
Systemmonitor 204 den Typ des PCI Takts, der ausführt, direkt
bestimmen. Der Systemmonitor 204 leitet diese Information
an die Energieverwaltungs-Zustandsmaschine 206,
welche falls nötig
in einen anderen Energieverwal- tungs-Zustand übergeht. Wenn Konfigurationsinformationen
zum Beispiel in ausgewählte
Nur-Schreib-Konfigurationsregister des peripheren PCI Geräts 222 geschrieben werden,
detektiert der Systemmonitor 204 des weiteren die Schreibtakte
und bildet die Konfigurationsdaten ab, indem sie in ein zugeteiltes
Register der Abbildungs-Registereinheit 208 geschrieben
werden. Deshalb, kann, falls das periphere PCI Gerät 222 während eines
Energieerhaltungszustands der Energieverwaltungs-Zustandsmaschine 206 runter
gefahren wird, die in dem zugeteiltem Register der Abbildungs-Registereinheit 208 Bespeicherte
Konfigurationsinformation in das Nur-Schreib-Konfigurationsregister
des peripheren PCI Geräts 222 zurück geschrieben
werden, wenn die Energie später
wieder zugeführt
wird. Dieser Bereich des Betriebs des Systemmonitors 204 ist
konventionell.
-
Der Systemmonitor 204 ist
ferner konfiguriert, um ISA Sub-Bus Takte zu detektieren,
die zum Beispiel an das periphere ISA Gerät 228 gerichtet sind.
Es ist zu bemerken, dass die normalen ISA Steuersignale CS, IORD und IOWR und
die ISA Daten- und Adress-Signale dem Systemmonitor 204 nicht
direkt zur Verfügung
gestellt werden. Entsprechend detektiert der Systemmonitor 204 einen ISA Sub-Bus
Takt durch die Überwachung
des PCI Busses 220 und des Ladesignals LDEN.
Der Anfang eines ISA Sub-Bus Taktes wird detektiert, wenn
das LDEN Signal aktiv niedrig wird, während das PCI FRAME Signal
inaktiv hoch bleibt. Die zu dem ISA Sub-Bus Takt gehörende Adresse
wird dann auf der ersten steigenden Flanke des PCI Takts,
nachdem das Ladesignal LDEN aktiv niedrig wird, von dem Systemmonitor 204 detektiert. 3 ist ein Zeitablaufdiagramm,
das von dem Systemmonitor 204 detektierte Signale während eines
zugewiesenen ISA Sub-Bus Taktes darstellt. Wenn der Beginn
eines ISA Sub-Bus Taktes detektiert wird (das, heißt, wenn
das Ladesignal LDEN niedrig wird, während das FRAME Signal
hoch bleibt) bestimmt der Systemmonitor 204 den Typ des
auftretenden Takts (zum Beispiel Lesetakt oder Schreibtakt) durch Überwachung
des Befehlssignals C/BE# des PCI Takts. Das bedeutet, dass
die PCI Bus-Interfaceeinheit 244 während eines ISA Sub-Bus
Takts das Befehlssignal C/BE# des PCI Takts mit
einem kodierten Wert treibt, der den Typ des Takts in Übereinstimmung
mit den standardisierten PCI definierten Taktbefehlstypen
anzeigt.
-
Die PCI Bus-Interfaceeinheit 244 kann
gültige
Daten auf den PCI Bus 220 entweder einen Taktzyklus,
nachdem eine gültige
Adresse auf den PCI Bus 220 getrieben ist, treiben
oder kann die Adress-/Daten-Schrittfunktion derart verwenden, dass
entweder ein oder zwei oder drei Taktschritte nach einer gültigen Adresse
eingefügt
werden, bevor die Daten auf den PCI Bus 220 getrieben
werden. Ein Systemprogrammierer lädt das Konfigurationsregister 209 (welches
auf eine vorbestimmte Adress-Stelle in dem Konfigurationsraum des
Computersystems 200 abgebildet ist) mit einem Konfigurationswert,
der konsistent mit der bestimmten Adress-/Daten-Schrittfunktion
ist, die von dem integrierten Prozessor 210 während ISA Sub-Bus
Takten eingesetzt wird, wie zuvor ausgeführt wurde. Entsprechend veranlasst, abhängig von
dem Wert innerhalb des Konfigurationsregisters 209, wenn
der Systemmonitor 204 einen Schreibtakt an eine Adresse
entdeckt, die innerhalb der Energieverwaltungseinheit 202 abgebildet werden
muss, der Systemmonitor 204 eine Verriegelung der Daten
von dem PCI Bus 220 entweder auf den PCI Taktzyklus,
der dem Adresszyklus unmittelbar folgt, oder. auf entweder einen
oder zwei oder drei Taktzyklen später. Während der Datenphase des PCI Takts
werden die Byte, Freigabe-Signale des PCI Busses weiter
von dem Systemmonitor 204 dekodiert, um die bestimmten
innerhalb des Konfigurationsregisters 209 abzubildenden
Bytes zu bestimmen (nur gültige
Bytes werden abgebildet).
-
Es ist zu bemerken, dass ein integrierter
Prozessor, der eine Sub-Bus Steuereinheit wie oben beschrieben verwendet,
auch eine Vielzahl von anderen die Anzahl der Pins verringernden
Schaltungen oder Techniken verwenden kann, Zum Beispiel kann der
integrierte Prozessor 210 konfiguriert sein, um den Energieverwaltungs-Nachrichtenbus
zu verwenden, wie er beschrieben ist in dem US Patent 5,511,203
mit dem Titel „Power
Management System For an Integrated Processor"; von Wisor, et al.
-
Zahlreiche Variationen und Modifikationen werden
den Fachleuten auf dem Gebiet offenbar werden sobald die obige Offenbarung
vollständig
gewürdigt
ist. Zum Beispiel können,
obwohl der multiplexte Adress-/Daten-Bus 220 mit hoher
Leistungsfähigkeit aus 2 ein PCI Standardbus
ist, andere multiptexte Busse mit hoher Leistungsfähigkeit
alternativ eingesetzt werden. Des weiteren ist zu bemerken, dass der
integrierte Prozessor 210 aus 1 eine Vielzahl von zusätzlichen
auf dem Chip befindlichen peripheren Geräten aufweisen kann. Es ist
beabsichtigt, dass die folgenden Ansprüche ausgelegt werden, um alle
derartigen Variationen und Modifikationen umfassen.