-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein ein Verfahren und eine
Vorrichtung, um es einem Computersystem zu ermöglichen, Daten zu empfangen,
während
sich die CPU in einem Ruhezustand befindet, und im Besonderen betrifft
die vorliegende Erfindung ein Peripheriegerät mit mehreren Betriebsmodi,
welche den Empfang und die Pufferung von Daten erleichtern, während sich
die CPU des Computers in einem Ruhe- oder Stromsparmodus befindet.
-
Stand der Technik
-
Im
Zuge des Bestrebens in Bezug auf mobile Computervorrichtungen die
Betriebszeit zwischen Ladevorgängen
der Akkus zu verlängern,
hat das Power Management zunehmend an Bedeutung gewonnen. Eine Möglichkeit
zur Umsetzung des Power Managements ist das vollständige oder
teilweise Abschalten der Computerkomponenten, wie etwa der Zentraleinheit
(CPU), des Festplattenlaufwerks, der Anzeige und anderer Ein-Ausgabe-Vorrichtungen, wenn
der Computer keine Operationen ausführt.
-
In
einigen dieser Power Management-Modi, die auch als Ruhe- oder Stromsparzustände bekannt
sind, kann die CPU des Computers die Kommunikation mit ihren peripheren
Ressourcen unterbrechen und steuern. Zu diesen Ressourcen zählen E/A-Komponenten
sowie Ressourcen, auf die keine andere Computerkomponente zugreifen
kann. Diese Power Management-Techniken sind nicht für eine Computersystemarchitektur einzigartig.
-
Eine
Spezifikation für
ein Hardware-System, die Advanced Configuration and Power Interface
(ACPI) Specification von Intel, Microsoft und Toshiba, Revision
1.0b, 2. Februar 1999, stellt ein verbessertes Power Management
in der Systemarchitektur eines Personalcomputers (PC) bereit. Die
ACPI-Spezifikation beschreibt die Übertragung von Power Management-Funktionen
von dem BIOS (Basic Input/Output System) auf das Betriebssystem,
wodurch ein Management bzw. eine Verwaltung von Peripheriegeräten und
ein Power Management auf der Basis der Nachfrage ermöglicht werden.
Durch Anwendung dieser Spezifikation verwalten PCs den Stromverbrauch
von Peripheriegeräten
wie etwa CD-ROM-Laufwerken,
Netzwerkkarten, Festplattenlaufwerken, CODECs und Druckern sowie
von Konsumelektronikprodukten, die mit einem PC verbunden sind,
wie etwa Videokassettenrekorder, Fernsehgeräte, Telefone und Stereoanlagen.
-
ACPI
stellt verschiedene Stromspar- bzw. Niederleistungs-Ruhezustände bereit,
S1-S5, welche den Stromverbrauch der Plattform senken, indem die
Operationen eingeschränkt
werden, die ausgeführt
werden können.
Diese Ruhezustände
sind in der nachstehenden Tabelle aufgeführt, S0 wurde als ein Indikator
des „aktiven" oder „kein Ruhezustand" hinzugefügt. Die
verschiedenen Betriebszustände
werden hierin als Power Management-Zustände
bezeichnet. Der „Kontext" gemäß der Verwendung
in der nachstehenden Tabelle bezeichnet variable Daten, welche die
CPU und andere Computervorrichtungen speichern. Für gewöhnlich sind diese
Daten flüchtig
und können
beim Eintritt in oder beim Verlassen von bestimmten Ruhezuständen verloren gehen.
S0 | Normaler
Betrieb, aktiver Zustand (kein Ruhezustand). |
S1 | Der
Ruhezustand S1 ist ein Ruhezustand mit geringer Wecklatenzzeit.
In diesem Zustand geht kein Systemkontext verloren (CPU oder Chipsatz),
und Hardware speichert den gesamten Systemkontext. |
S2 | Der
Ruhezustand S2 ist ein Ruhezustand mit geringer Wecklatenzzeit.
Der Zustand entspricht dem Ruhezustand S1, mit der Ausnahme, dass
der CPU- und System-Cache-Kontext verloren geht (das Betriebssystem
ist für
die Verwaltung des Kontexts des Cache und der CPU zuständig). Die
Steuerung beginnt nach dem Weckereignis von dem Rücksetzvektor. |
S3 | Der
Ruhezustand S2 ist ein Ruhezustand mit geringer Wecklatenzzeit,
bei dem der gesamte Systemkontext mit Ausnahme des Systemspeichers
verloren geht. In diesem Zustand gehen CPU-, Cache- und Chipsatz-Kontext
verloren. Die Hardware speichert den Speicherkontext und stellt
einen gewissen CPU- und L2-Konfigurations-Kontext wieder her. Die
Steuerung beginnt nach dem Weckereignis von dem Rücksetzvektor. |
S4 | Der
Ruhezustand S4 ist der von ACPI unterstützte Ruhezustand mit der niedrigsten Leistung
und der längsten
Wecklatenzzeit. Zur Reduzierung der Leistung auf ein Minimum wird
angenommen, dass die Hardwareplattform alle Vorrichtungen bzw. Geräte abgeschaltet
hat. Eine Kopie des Plattformkontexts wird auf die Festplatte geschrieben. |
S5 | Der
Ruhezustand S5 entspricht dem Zustand S4, mit der Ausnahme, dass
das Betriebssystem keinen Kontext speichert und keine Vorrichtungen
aktiviert, um das System zu wecken. Das System befindet sich in
einem „weichen" ausgeschalteten
Zustand und erfordert einen vollständigen Boot-Vorgang, wenn es
geweckt wird. |
-
Bei
vielen Computerarchitekturen, einschließlich der PC-Computerarchitektur,
können
Daten nur zwischen zwei Peripheriegeräten übertragen werden, indem das
Host-Betriebssystem diese Übertragung
verwaltet. Das heißt,
das Verarbeitungssystem oder die CPU fungiert durch eine entsprechende
Zusatzkomponente als ein „Master", der den Datenfluss
zu, von und zwischen Peripheriegeräten steuert, die als „Slaves" arbeiten. Der „Master" wird für gewöhnlich auch
als der „Bus-Master" bezeichnet.
-
Die
Abbildung aus 1 zeigt ein Diagramm
auf Systemebene einer herkömmlichen
Computerarchitektur. Im Allgemeinen fungiert das Verarbeitungssystem 100 als
der „Master", indem die Datenübertragungen zu,
von und zwischen den Peripheriegeräten 116, 118 und 134 direkt
oder indirekt gesteuert werden. Eine Komponente, wie etwa das Verarbeitungssystem 100,
das als „Master" für die Verwaltung
des Datenflusses fungiert, wird häufig als der „Standard-Bus-Master" bezeichnet. Das
Verarbeitungssystem 100 ist für gewöhnlich über einen Bus 112 übertragungsfähig mit
den Peripheriegeräten 116, 118 und 134 gekoppelt.
Häufig
wird ein E/A-Hub 130 eingesetzt, um den Bus 112 mit
einem oder mehreren Peripheriegeräten 116, 118 und 134 zu
koppeln und Daten dazwischen zu führen, wie dies durch die gestrichelten
Linien in zwei Richtungen angezeigt wird. Der E/A-Hub 130 und
die Peripheriegeräte 116, 118 und 134 sind
für gewöhnlich durch
sekundäre Busse 114, 120 und 132 übertragungsfähig gekoppelt.
-
Bei
den meisten Computerarchitekturen sind die Peripheriegeräte 116, 118 und 134 ohne
die Verwaltung des Verarbeitungssystems 100 nicht funktionsfähig. Während sich
das Verarbeitungssystem 100 somit in bestimmten Power Management-Zuständen befindet,
wie etwa einem Ruhe- oder Stromsparzustand, können die Peripheriegeräte 116, 118 und 134 keine
Daten zu dem Verarbeitungssystem 100 oder anderen Peripheriegeräten senden
oder von diesem bzw. diesen empfangen.
-
In
einem weiteren Beispiel zeigt die Abbildung aus 1B ein
dem Stand der Technik entsprechendes Diagramm auf Systemebene relevanter
Komponenten der PC-Computerarchitektur.
Bei dieser Architektur verwaltet der E/A-Steuereinheit-HUB (ICH) 180 Datenübertragungen
bzw. Kommunikationen zu und von Peripheriegeräten bzw. Peripherievorrichtungen 166, 168, 184,
indem der Datenfluss zu dem Speichersteuereinheit-Hub (MCH) 150 gesteuert
wird. Der Bus zwischen dem ICH 180 und dem MCH 150 ist
als Hub-Link-Bus 162 bekannt. Der MCH 150 kann
von dem ICH 180 empfangene Daten in einem Speicher (RAM) 160 speichern,
und die CPU 152 kann auf diese Daten über den MCH 150 zugreifen.
-
Der
ICH 180 kommuniziert mit verschiedenen Peripheriegeräten 166, 168, 184 und
E/A-Komponenten über Standardbusse
oder Standardschnittstellen. Zum Beispiel kann das Festplattenlaufwerk
(HDD) 168 des Computers über eine Integrated Drive Electronics
(IDE) oder eine Extended IDE (EIDE) Schnittstelle 170 mit dem
ICH 180 gekoppelt sein. Der hierin verwendete Begriff „gekoppelt" umfasst die elektrische
Kopplung von zwei oder mehr Komponenten. Der ICH 180 kann
ferner über
den AC'97-Link bzw.
die AC'97- Verknüpfung mit einem
Audio-Codec (AC'97)
kommunizieren. Für
andere Peripheriegeräte
können
ebenfalls Schnittstellenverbindungen mit dem ICH 130 hergestellt
werden, wie etwa über
Schnittstellen wie Peripheral Component Interconnect (PCI), Universal
Serial Bus (USB), RS-232 Serial Port oder eine Parallelschnittstelle.
Unabhängig
von der Schnittselle oder dem Peripheriegerät leitet der ICH 180 Daten,
wie dies durch die gestrichelten bidirektionalen Linien angezeigt
wird, zwischen der genannten Schnittstelle oder Vorrichtung bzw.
dem Gerät
und dem MCH 150, wie dies in der Abbildung aus 1B dargestellt
ist. Das Betriebssystem (OS) des Host-Computers fungiert als Hub-Link-Bus-Master,
wenn sich die CPU 152 nicht in einem Ruhezustand befindet.
Eine Reihe von Vorrichtungen können
Bus-Master werden, wobei nur die Haupt-CPU 152 als Standard-Bus-Master
fungieren kann. Wenn sich die CPU 152 in den Ruhezuständen S3
bis S5 befindet, ist der Hub-Link-Bus 162 für gewöhnlich nicht
funktionstüchtig.
Das heißt,
während
sich die CPU 152 in diesen Ruhezuständen befindet, stehen ihre
Ressourcen häufig
nicht zur Verfügung,
und es sind allgemein keine Kommunikationen mit dem Computer und
dessen Peripheriegeräten
möglich,
ohne die CPU 152 zu wecken bzw. aufzuwecken. Für gewöhnlich ist
der ICH 180 mit einer einzigen Hub-Link-Schnittstelle gestaltet
und kann nur einen Bus-Master bedienen.
-
Eine
immer häufiger
auftretende periphere Komponente in mobilen Computer ist eine mobile
Kommunikationsvorrichtung, die mit der Bluetooth Specification,
Version 1.0B, 1. Dezember 1999, kompatibel ist. Die Bluetooth Spezifikation
ist ein Kommunikationsstandard für
kabellose Übertragungen
zwischen mobilen PCs, Mobiltelefonen und anderen tragbaren Geräten. Dieser
Standard ermöglicht
die Verbindung einer Vielzahl von Computer- und Telekommunikationsgeräten untereinander über Adhoc-Funkverbindungen
mit kurzer Reichweite.
-
Aktuell
verwenden die meisten Computer externe E/A-Vorrichtungen als Bluetooth-kompatible Transceiver.
Diese Vorrichtungen sind häufig über einen
USB-Anschluss (Universal Serial Bus) oder eine andere Standard-E/A-Schnittstelle
mit einem Computer verbunden. Sie verwenden ferner für die Verarbeitung
von empfangenen Nachrichten und zum Speichern dieser in dem Speicher
die CPU bzw. Zentraleinheit des Computers. Diese Bluetooth-kompatiblen
Transceiver wären
somit nicht zu Zeiten funktionsfähig,
wenn sich die CPU des Computers in einem Ruhezustand befindet. Die
Stromversorgung an die die CPU aufrechtzuerhalten, nur um die Konnektivität der Bluetooth-kompatiblen
Vorrichtungen zu ermöglichen,
ist eine Verschwendung der mobilen Computern zur Verfügung stehenden
begrenzten Leistung. Das U.S. Patent
US-A-5.671.368 offenbart eine PC Card-Steuereinheit,
die es nach Wiederaufnahme des normalen Betriebs nach einem Stromsparmodus
verhindert, dass ein Computer es nicht schafft, einen Austausch
von PC Cards bzw. PC-Karten zu detektieren, während sich der Computer in
dem Stromsparmodus befunden hat. Die Steuerlogik der PC Card weist einen
Warte-/Wiederaufnahme-Pin bzw. Stift auf, der ein in dem Host-Computer
erzeugtes Warte-/Wiederaufnahmesignal empfängt. Ein erster Zustand des
Warte-/Wiederaufnahmesignals zeigt an, dass die CPU nicht in ihrem
Ruhezustands-Betriebsmodus
arbeitet. Im Gegensatz dazu zeigt ein zweiter Zustand des Warte-/Wiederaufnahmesignals
an, dass die CPU in ihrem Ruhezustands-Betriebsmodus arbeitet. Während die
CPU hingegen in ihrem Ruhezustandsmodus arbeitet, empfängt und
verarbeitet sie keine Unterbrechungssignale von der PC Card-Steuereinheit.
-
Benötigt wird
somit ein Peripheriegerät,
das einem Host-System den Empfang von Informationen bzw. Daten ermöglicht,
während
sich das Verarbeitungssystem oder die CPU in einem Ruhezustand befindet,
ohne den Ruhezustand oder Wartezustand des Verarbeitungssystems
oder der CPU zu beeinträchtigen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Vorgesehen
ist gemäß einem
ersten Aspekt der vorliegenden Erfindung ein Peripheriegerät gemäß dem gegenständlichen
Anspruch 1.
-
Vorgesehen
ist gemäß einem
zweiten Aspekt der vorliegenden Erfindung ein Computersystem gemäß dem gegenständlichen
Anspruch 4.
-
Vorgesehen
ist gemäß einem
dritten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen
Anspruch 8.
-
Weitere
Ausführungsbeispiele
der Erfindung sind in den Unteransprüchen offenbart.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es
zeigen:
-
1A ein
Diagramm auf Systemebene einer herkömmlichen Computerarchitektur;
-
1B ein
Diagramm auf Systemebene einer herkömmlichen PC-Architektur;
-
2A ein
Diagramm auf Systemebene des Datenflusses zwischen Computersystemkomponenten in
einem ersten Betriebszustand der Erfindung;
-
2B ein
Diagramm auf Systemebene des Datenflusses zwischen Computersystemkomponenten in
einem zweiten Betriebszustand der Erfindung;
-
3A ein
Diagramm auf Systemebene des Datenflusses zwischen PC-Computersystemkomponenten
während
dem normalen Betrieb;
-
3B ein
Diagramm auf Systemebene des Datenflusses zwischen einem Peripheriegerät und Computerkomponenten,
wenn sich ein PC-Computer in einem Ruhezustand befindet;
-
4 ein
Diagramm auf Systemebene eines Ausführungsbeispiels des Peripheriegeräts gemäß der vorliegenden
Erfindung; und
-
5 ein
High-Level-Flussdiagramm des Betriebs des Peripheriegeräts.
-
GENAUE BESCHREIBUNG DER ERFINDUNG
-
Die
Abbildung aus 2A zeigt den Datenfluss zwischen
Computersystemkomponenten in einem ersten Betriebszustand der Erfindung.
In dem vorliegenden Ausführungsbeispiel
stellt die vorliegende Erfindung ein Peripheriegerät 234 mit
zwei Betriebszuständen
bereit, die abhängig
von dem Zustand des Verarbeitungssystems 200 variieren
können.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung ist das Verarbeitungssystem 200 übertragungsfähig über einen
Hub-Bus 212 mit dem E/A-Hub 230 gekoppelt und
fungiert als Standard-Bus-Master bzw. Default-Bus-Master für den E/A-Hub 230 und
die Peripheriegeräte 216, 218 und 234.
-
Während das
Verarbeitungssystem 200 als Standard-Bus-Master arbeitet,
arbeitet das Peripheriegerät 234 als
ein „Slave". Der „Slave"-Modus ist hierin
definiert als ein Betriebsmodus, in dem das Peripheriegerät 234 in
Bezug auf den Empfang und/oder die Übermittlung von Daten auf den Überblick
des Verarbeitungssystems 200 angewiesen ist. In dem Slave-Modus
verhält
sich das Peripheriegerät 234 wie
ein herkömmliches Peripheriegerät, wobei
das Verarbeitungssystem 200 Kommunikationen und/oder die
Nachrichtenführung
zu dem Computer und anderen Peripheriegeräten über den E/A-Hub 230 verwaltet.
Der Link bzw. die Verbindungsleitung 232 kann als eine
herkömmliche
Verbindungsleitung oder als Bus fungieren, welche bzw. welcher das
Peripheriegerät 234 mit
dem Verarbeitungssystem 200 koppelt. In einem Ausführungsbeispiel
kann die Verbindungsleitung 232 auf der ersten Zugriffsstufe
so konfiguriert sein, dass sie mit einer anderen Übertragungsrate
arbeitet als der E/A-Hub-Bus 212.
-
Die
Abbildung aus 2B zeigt den Datenfluss zwischen
den Computersystemkomponenten in einem zweiten Betriebszustand der
Erfindung. Wenn sich das Verarbeitungssystem 200 in bestimmten
Power Management-Zuständen
oder Ruhezuständen
befindet, können
die Peripheriegeräte
für gewöhnlich nicht
mit dem Computer oder miteinander kommunizieren, da kein Master
existiert, um die Kommunikationen zu verwalten oder Daten zu leiten.
In dem zweiten Betriebszustand kann das Peripheriegerät 234 hingegen
in dem Master-Modus arbeiten, wodurch Kommunikationen über den
E/A-Hub 230 verwaltet werden. Das heißt, das Peripheriegerät 234 kann
so neu konfiguriert werden, dass es als ein autonomes Teilsystem
arbeitet.
-
Als
ein autonomes Teilsystem kann das Peripheriegerät 234 weiter mit Strom
versorgt werden, auch wenn die anderen Peripheriegeräte in einen
Ruhe- oder Wartezustand versetzt werden. Auf der zweiten Zugriffsstufe
kann der Link bzw. die Verbindungsleitung 232 es zulassen,
dass ein Peripheriegerät 234 Kommunikationen
zu, von und zwischen anderen Peripheriegeräten 216 und 218 über den
E/A-Hub 230 verwaltet. Das Peripheriegerät 234 kann
zudem Daten empfangen, senden und/oder puffern, und zwar ohne Unterstützung oder
Abhängigkeit
von dem Verarbeitungssystem 200.
-
Damit
das Peripheriegerät 234 als
Standard-Bus-Master arbeiten kann, kann der Link 232 für diesen Zweck
neu konfiguriert werden. Das Umschalten bzw. der Wechsel zwischen
den ersten und zweiten Zugriffsstufen kann eine neue Konfiguration
der Schnittstelle zwischen dem Peripheriegerät 234 und dem Link 232, dem
Link 232, der Schnittstelle zwischen dem Link 232 und
dem E/A-Hub 230 und/oder dem E/A-Hub 230 mit sich
bringen. Diese neue Konfiguration kann dazu führen, dass der Link bzw. die
Verbindungsleitung 232 auf der zweiten Zugriffsstufe mit
einer anderen Übertragungsrate
arbeitet als auf der ersten Zugriffsstufe.
-
E/A-Hubs
sind für
gewöhnlich
nicht so gestaltet, dass sie mit zwei Standard-Bus-Mastern arbeiten.
In einem Ausführungsbeispiel
der vorliegenden Erfindung kann der E/A-Hub 230 jedoch
in der Lage sein, mit zwei alternativen Standard-Bus-Mastern zu
arbeiten. Um diesen Betrieb zu erreichen, kann der E/A-Hub 230 zwei Busschnittstellen
umfassen, die in der Lage sind, mit Vorrichtungen oder Komponenten
gekoppelt zu werden, die als Standard-Bus-Master arbeiten können. Mindestens eine der Schnittstellen
kann in der Lage sein, dynamisch zwischen einer ersten und zweiten
Zugriffsstufe oder Betriebszustand konfiguriert zu werden. Der E/A-Hub 230 kann
ferner so modifiziert werden, dass er den Betrieb alternativer Standard-Bus-Master
ermöglicht.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 234 durch Überwachung
der Ruhezustände
oder der Stromsparzustände
bzw. Power Management-Zustände des
Verarbeitungssystems seinen Betriebszustand ändern, von einem herkömmlichen
Peripheriegerät
(Slave) zum Betrieb als Standard-Bus-Master. Als Standard-Bus-Master kann das
Peripheriegerät 234 in
der Lage sein, direkt mit anderen Peripheriegeräten 216 und 218 zu
kommunizieren.
-
Die
Abbildung aus 3A veranschaulicht einen Abschnitt
der PC-Computersystemarchitektur.
In dem vorliegenden Ausführungsbeispiel
stellt die vorliegende Erfindung einen konfigurierbaren Link 324 zwischen
einem ICH 322 und einem Peripheriegerät 326 bereit, der
zwei oder mehr Zugriffsstufen abhängig von dem Zustand der CPU 302 zulässt.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung fungiert die CPU 302 des Computers
als Standard-Bus-Master für
den Hub-Link-Bus 312, und das Peripheriegerät 326 befindet
sich in einem Slave-Modus. Der „Slave-Modus" ist hierin definiert
al ein Betriebsmodus, in dem das Peripheriegerät 326 auf die CPU 320 angewiesen
ist in Bezug auf den Empfang und die Übermittlung von Daten. In dem
Slave-Modus verhält
sich das Peripheriegerät 326 als
herkömmliches
Peripheriegerät,
indem es mit dem Computer oder anderen Peripheriegeräten kommuniziert,
indem der ICH 322 Nachrichten zu dem MCH 306 leitet.
Der ICH 322 und der MCH 306 wiederum verlassen
sich auf die CPU 302 in Bezug auf die Verwaltung des Datenflusses.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung befindet sich das Peripheriegerät 326 in
dem Slave-Modus, wenn sich die CPU 302 in den Power Management-Zuständen S0
bis S2 befindet, gemäß der Definition
in der ACPI-Spezifikation.
-
Aus
Sicht des Host-Computers kann sich das Peripheriegerät 326 als
eine normale Ein-Ausgabe-Vorrichtung
(E/A-Vorrichtung) verhalten. Das Peripheriegerät 326 ist jedoch nicht
auf eine E/A-Komponente oder ein Peripheriegerät beschränkt, sondern es kann sich auch
um eine interne oder externe Komponente handeln, die gemäß der Beschreibung
hierin betriebsfähig
sein kann.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung kann es sich bei dem Peripheriegerät 326 um
eine Komponente handeln, die auf der gleichen Grundplatine (Motherboard)
wie die CPU 302 angebracht ist.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung handelt es sich bei dem Peripheriegerät 326 um
eine kabellose Kommunikationsvorrichtung, die mit Bluetooth-kompatiblen Vorrichtungen über eine
Funkverbindung kommuniziert und über
den ICH 322 eine Schnittstellenverbindung mit dem Host-Computer
aufweist.
-
Die
Abbildung aus 3B veranschaulicht die vorliegende
Erfindung, wenn die CPU 302 in einen Ruhezustand eingetreten
ist und nicht in der Lage ist, Kommunikationen über den ICH 322 zu
verwalten. Wenn sich die CPU 302 in bestimmten Ruhezuständen befindet,
können
Peripheriegeräte
für gewöhnlich nicht
mit dem Computer oder miteinander kommunizieren, da kein Master
für den
ersten Hub-Link-Bus 312 gegeben ist, damit der ICh 322 Daten
leiten kann. Wenn der ICH 322 selbst durch die CPU 302 in
bestimmte Ruhezustände
versetzt wird, so ist er nicht mehr funktionsfähig.
-
Durch
die Überwachung
der Ruhezustände
oder Power Management-Zustände
der CPU 302 ist das Peripheriegerät 326 in der Lage,
in dem Master-Modus zu arbeiten und zu dem Standard-Hub-Link-Bus-Master
zu werden, wenn die CPU 302 in bestimmte Ruhezustände eintritt.
In dem Master-Modus kann das Peripheriegerät 326 Daten ohne Unterstützung oder
Abhängigkeit
von der CPU 302 empfangen, senden und/oder puffern. Das
Peripheriegerät 326 kann
ein autonomes Teilsystem sein, das auch dann weiter mit Strom versorgt
wird, wenn andere Peripheriegeräte
durch die CPU 302 in einen Ruhe- oder Wartezustand platziert
worden sind.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kann es konfigurierbar sein, ob das Peripheriegerät 326 eingeschaltet
bleibt oder in dem Master-Modus arbeitet, wenn sich die CPU 302 in
einem Ruhezustand befindet. Dies kann durch die CPU 302 erreicht
werden, während
diese weiter wach ist, indem das Peripheriegerät 326 so konfiguriert
wird, dass verhindert wird, dass es in den Master-Modus eintritt.
-
In
einem anderen Ausführungsbeispiel
der vorliegenden Erfindung können
die Power Management-Zustände
variieren, während
denen sich das Peripheriegerät 326 in
dem Master-Modus
oder dem Slave-Modus befindet. In einem Ausführungsbeispiel kann sich das
Peripheriegerät 326 zum
Beispiel während den
Power Management-Zuständen
S0 bis S2 in dem Slave-Modus befinden und während den Power Management-Zuständen S3
bis S5 in dem Master-Modus, wie dies in der ACPI-Spezifikation definiert
ist. In einem anderen Ausführungsbeispiel
kann sich das Peripheriegerät 326 während den
Power Management-Zuständen S0
bis S1 in dem Slave-Modus befinden und während den Power Management-Zuständen S2
bis S5 in dem Master-Modus, wie dies in der ACPI-Spezifikation definiert
ist.
-
Das
Peripheriegerät 326 kann
auf unterschiedliche Weise detektieren, wenn das System 302 in
einen Power Management-Zustand eintritt. In einem Ausführungsbeispiel
der vorliegenden Erfindung prüft
das Peripheriegerät 326 die
Steuerleitungen oder die Hardware-Stifte der CPU 302, um
zu bestimmen, wann eine Änderung
des Betriebszustands eingetreten ist. In einem anderen Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 326 von
einer Zustandsveränderung
der CPU 302 durch den Empfang einer Benachrichtigung bezüglich dieser Änderung
von der CPU 302 selbst erfahren oder von einer sekundären Komponente.
Gemäß einem
weiteren Ausführungsbeispiel
kann das Peripheriegerät 326 bestimmen,
wann eine Änderung
des Betriebszustands eingetreten ist, indem die Steuerleitungen
oder die Hardware einer Zusatzkomponente getestet werden, wie etwa
einer Chipsatz-Komponente.
-
Die
Abbildung aus 4 zeigt eine Ansicht auf Systemebene
des Peripheriegeräts 234 (2A und 2B)
und 326 (3A und 3B) gemäß der vorliegenden
Erfindung. Das Peripheriegerät 234 (2A und 2B)
und 326 (3A und 3B) kann
einen peripheren Prozessor 404, eine E/A-Schnittstelle 402 und
einen Speicher 406 aufweisen. Der periphere Prozessor 234 kann
in der Lage sein, sein eigenes Betriebssystem zu hosten.
-
In
dem Master-Modus können
das Peripheriegerät 234 und 326 in
der Lage sein, Daten über
die eigene E/A-Schnittstelle 402 zu empfangen und zu übertragen
und Daten in dem Speicher 406 zu speichern und aus diesem
zu lesen. Auf diese Weise kann das Peripheriegerät 234 und 326 an
den Computer gerichtete Daten puffern und diese später dem
Computer zuführen,
wenn das Verarbeitungssystem 230 (2A und 2B)
oder die CPU 322 (3A und 3B)
aufwacht. Die Speicherkomponente 406 kann sich entweder in
dem Peripheriegerät 234 und 326 befinden
oder außerhalb
des Peripheriegeräts 234 und 326.
In einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 234 und 326 ein
Bus-Mastering mit direktem Speicherzugriff (DMA) zwischen der E/A-Schnittstelle 402 und
dem lokal verbundenen Speicher 406 ermöglichen. In einem Ausführungsbeispiel
der Erfindung kann die E/A-Schnittstelle 402 eine mit der
Schnittstelle gekoppelte Bluetooth-kompatible kabellose bzw. Funkkomponente
aufweisen.
-
In
dem Master-Modus kann das Peripheriegerät 234 und 326 in
der Lage sein, bestimmte empfangene Nachrichten zu verarbeiten.
Zum Beispiel kann es den Absender einer Nachricht erkennen und bei
entsprechender Konfiguration den Benutzer darauf hinweisen, eine
Warnmeldung über
die E/A-Schnittstelle 402 des Peripheriegeräts an eine
andere Vorrichtung zu senden, wie zum Beispiel ein Bluetooth-kompatibles
Mobiltelefon. Eine derartige Konfiguration kann durch den Benutzer über Software
vorgenommen werden, die auf dem Host-Computer läuft, wenn dieser wach ist.
-
Das
Peripheriegerät 234 und 326 kann
in der Lage sein, dessen Link 408 als einen zweiten Hub-Link-Bus
neu zu konfigurieren. Das Peripheriegerät 234 und 326 ist
danach in der Lage, als Standard-Bus-Master für einen zweiten Hub-Link-Bus 408 zu
arbeiten, wodurch der E/A-Hub
in die Lage versetzt wird, Daten zu führen. Das Peripheriegerät 234 und 326 kann
danach direkt mit anderen Peripheriegeräten kommunizieren, die mit
dem E/A-Hub 230 (2A und 2B)
oder dem ICH 322 (3A und 3B)
verbunden sind, während
sich das Verarbeitungssystem 200 (2A und 2B)
oder die CPU 302 (3A und 3B)
in bestimmten Ruhezuständen
befindet, wie etwa den Power Management-Zuständen S3 bis S5.
-
Das
Peripheriegerät 234 und 326 kann
mit anderen Peripheriegeräten 216 und 218 (2A und 2B)
wie etwa dem HDD 318 oder dem Audio-Codec (AC'97) 316 (3A und 3B)
kommunizieren, während
sich das Verarbeitungssystem 200 oder die CPU 302 in
einem Ruhezustand befindet. Damit das Peripheriegerät 234 und 326 mit
anderen Peripheriegeräten
kommunizieren kann, kann es eine Schnittstellenverbindung mit dem
E/A-Hub 234 oder dem ICH 322 über einen zweiten Bus 232 oder 324 aufweisen.
Auf diese Weise kann das Peripheriegerät 234 und 326 als
Standard-Bus-Master arbeiten, was ein DMA-Bus-Mastering mit den
Peripheriegeräten 216 und 218 (2A und 2B)
ermöglicht,
wie etwa AC'97 316 und
dem HDD 318 (3A und 3B) und
dem Speicher 406. Dies kann eine Modifikation des bestehenden
E/A-Hub 230 oder des ICH 322 erfordern, damit
ein zweiter Standard-Bus-Master
behandelt werden kann. Der E/A-Hub 230 oder der ICH 322 müssen jedoch
nicht in der Lage sein, gleichzeitig zwei Standard-Bus-Master zu
unterstützen.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 326 auch
in der Lage sein, über
den MCH 306 (3A und 3B) mit
dem Hauptspeicher (RAM) 310 zu kommunizieren. Dies kann
eine Modifikation des bestehenden MCH 306 voraussetzen,
so dass dieser funktionsfähig
ist, wenn sich die CPU 302 in bestimmten Ruhezuständen befindet.
Auf diese Weise kann das Peripheriegerät 326 Daten in dem
RAM 310 speichern.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 234 und 326 Daten über die
eigene E/A-Schnittstelle 402 empfangen und diese zur Verarbeitung
zu dem Audio-Codec (AC'97) 316 (3A und 3B) übertragen,
während
sich die CPU 302 (3A und 3B)
weiterhin in einem Ruhezustand befindet. In einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 326 Daten
empfangen und diese in dem Festplattenlaufwerk (HDD) 318 (3A und 3B)
speichern, während
sich die CPU 02 in einem Ruhezustand befindet.
-
Das
Peripheriegerät 234 und 326 kann
auch in der Lage sein, andere Peripheriegeräte 216 und 218 (2A und 2B)
aufzuwecken, wie etwa ein Festplattenlaufwerk 318 oder
AC'97 316 (3A und 3B),
die vorher durch die CPU 302 des Host-Computers in einen
Ruhezustand versetzt worden sind. Ein derartiger Betrieb kann einen
E/A-Hub 230 (2A und 2B) oder
ICH 322 (3A und 3B) mit
zusätzlicher
Funktionalität
erfordern, so dass das Peripheriegerät 234 und 326 zu
dem Standard-Bus-Master werden kann.
-
Das
Peripheriegerät 234 und 326 kann
ferner identifizieren, wenn sich das Verarbeitungssystem 200 (2A und 2B)
oder die CPU 302 (3A und 3B)
in einem Ruhezustand befindet oder in einen Ruhezustand zurückkehrt,
einen Ruhezustand verlässt
oder versucht, einen Ruhezustand zu verlassen. Dies kann auf unterschiedlichste
Art und Weise erreicht werden. In einem Ausführungsbeispiel der vorliegenden
Erfindung überwacht
das Peripheriegerät 234 und 326 das
Verarbeitungssystem 200 oder die CPU 302, um dessen
Betriebszustand zu detektieren. Wenn sich das Peripheriegerät 234 und 326 mitten
im Betrieb befindet, wenn das Verarbeitungssystem 200 oder
die CPU 302 versucht, einen Ruhezustand zu verlassen, so
kann es verhindern, dass das Verarbeitungssystem 200 oder
die CPU 302 mit Peripheriegeräten kommuniziert, bis das Peripheriegerät 234 und 326 seine
Operation bzw. seinen Betrieb abgeschlossen hat. Dies kann erreicht
werden, indem das Verlassen und/oder die Rückkehr aus dem Ruhezustand
in Bezug auf das Verarbeitungssystem 200 oder die CPU 302 verzögert wird,
bis die Operationen abgeschlossen sind. In einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 234 und 326 verhindern,
dass das Verarbeitungssystem 200 oder die CPU 302 aufwacht
oder zu dem Standard-Bus-Master wird, bis die Operation abgeschlossen
ist, indem ein direkter Betrieb auf den Steuerleitungen des Verarbeitungssystems 200 oder
der CPU 302 erfolgt. In einem anderen Ausführungsbeispiel
der Erfindung kann das Peripheriegerät 234 und 326 das
Aufwachen in Bezug auf das Verarbeitungssystem 200 oder
die CPU 302 verzögern,
indem über
eine sekundäre Komponente
agiert wird, um diese Verzögerung
zu bewirken.
-
Das
Peripheriegerät 234 und 326 kann
auch Power Management-Zustände
aufweisen, die es ermöglichen,
dass es in dem Master-Modus Strom spart, indem das Verarbeitungssystem 200 oder
die CPU 302 in einen Warte- oder Ruhezustand versetzt wird,
wenn es bzw. sie nicht betrieben wird. Das Peripheriegerät 234 und 326 kann
ferner in der Lage sein, andere Peripheriegeräte in einen Ruhezustand zu
versetzen. In einem anderen Ausführungsbeispiel
der vorliegenden Erfindung kann das Peripheriegerät 234 und 326 die
mit der E/A-Schnittstelle 202 verbundene
E/A-Komponente in einen Ruhezustand versetzen, während die E/A-Komponente weder
empfängt
noch sendet.
-
Die
Abbildung aus 5 zeigt ein High-Level-Flussdiagramm
gemäß der Beschreibung
hierin. Das Flussdiagramm dient als Beispiel für den Ablauf der vorliegenden
Erfindung. Variationen dieser Schritte sind möglich, von denen einige vorstehend
bereits beschrieben worden sind, wie zum Beispiel eine Power Management-Funktion
des Peripheriegeräts 234 und 326.
-
In
dem Slave-Modus detektiert das Peripheriegerät 234 und 326 den
Betriebszustand 502 des Verarbeitungssystems oder der CPU.
In einem Ausführungsbeispiel
der Erfindung überwacht
das Peripheriegerät das
Verarbeitungssystem oder die CPU, um den entsprechenden Power Management-Zustand
zu bestimmen. In einem alternativen Ausführungsbeispiel der vorliegenden
Erfindung können
Informationen in Bezug auf den Power Management-Zustand durch das
Verarbeitungssystem oder die CPU oder eine andere Hardware- oder Softwarekomponente
an das Peripheriegerät
gesendet werden.
-
Das
Peripheriegerät
verwendet daraufhin die Zustandsdaten, um zu bestimmen, ob sich
das Verarbeitungssystem oder die CPU in einem Ruhezustand 504 befindet.
Hiermit wird festgestellt, dass ein „Ruhezustand" nicht jeden möglichen
Ruhezustand einschließt.
Der Begriff kann vielmehr eingesetzt werden, um eine Teilgruppe
der möglichen
Ruhezustände
zu bezeichnen, wie etwa die ACPI-Ruhezustände S2 bis S5. Wenn sich das
Verarbeitungssystem oder die CPU somit nicht in einem Ruhezustand
befindet, wie etwa S0 bis S2, so arbeitet das Peripheriegerät weiter
als eine normale E/A-Vorrichtung, bis zu dem Zeitpunkt, wenn das
Verarbeitungssystem oder die CPU in einen Ruhezustand eintritt,
wie etwa S3 bis S5.
-
Wenn
das Verarbeitungssystem in einen Ruhezustand eintritt, kann das
Peripheriegerät
in den Master-Modus wechseln 508. In dem Master-Modus kann
das Peripheriegerät
Daten empfangen und/oder senden und in Speicher speichern oder puffern,
wie dies bereits vorstehend im Text beschrieben worden ist. Das
Peripheriegerät
kann ferner in der Lage sein, direkt auf andere Peripheriegeräte zuzugreifen,
wie dies bereits vorstehend im Text beschrieben worden ist.
-
Während das
Peripheriegerät
in dem Master-Modus arbeitet, kann es weiter den Betriebszustand
des Verarbeitungssystems oder der CPU überwachen oder detektieren.
In einem Ausführungsbeispiel
kann es bestimmen, ob das Verarbeitungssystem oder die CPU versucht,
einen Ruhezustand zu verlassen oder nicht 510. In einem
anderen Ausführungsbeispiel
kann es bestimmen, ob sich das Verarbeitungssystem oder die CPU
weiter in einem Ruhezustand befindet. Wenn das Verarbeitungssystem
oder die CPU in einem Ruhezustand verbleibt, kann das Peripheriegerät weiter
in dem Master-Modus arbeiten.
-
Wenn
das Verarbeitungssystem aus dessen Ruhezustand aufwacht, kann das
Peripheriegerät
bestimmen, ob es sich mitten in einer Operation befindet 512,
wie etwa dem Lesen von oder dem Schreiben in ein anderes Peripheriegerät. Wenn
es sich nicht mitten in einem derartigen Betrieb befindet, kann
es in den Slave-Modus zurückkehren 416,
und das Verarbeitungssystem oder die CPU kann aufwachen. Wenn sich
das Peripheriegerät
hingegen mitten in einer Operation bzw. im Betrieb befindet, kann
das Aufwachen des Verarbeitungssystems oder der CPU verzögert werden 414,
bis es Zeit hat, die Operation abzuschließen. Wenn das Peripheriegerät die Operation
abgeschlossen hat, kann es in den Slave-Modus 416 zurückkehren,
und das Verarbeitungssystem oder die CPU kann aufwachen.
-
Ein
Durchschnittsfachmann auf dem Gebiet erkennt, dass die vorliegende
Erfindung auch auf anderen als den hierin beschriebenen Computerarchitekturen
ausgeführt
werden kann. Die hierin beschriebene Erfindung kann ferner die Form
von maschinenlesbaren Befehlen in dem Peripheriegerät annehmen.
Die Befehle können
in einer Reihe von Speicherkomponenten oder Programmspeichern gespeichert
werden, wie zum Beispiel in Nur-Lese-Speichermodulen.
-
In
dem bevorzugten Ausführungsbeispiel
ist das Peripheriegerät
als eine Vorrichtung beschrieben, die auf der gleichen Grundplatine
wie das Verarbeitungssystem oder die CPU des Host-Computers angebracht werden
kann, wobei es sich bei dem Peripheriegerät aber auch um eine externe
Komponente handeln kann, die nicht auf der Grundplatine angebracht
ist.
-
Die
hierin eingesetzten ACPI Power Management-Zustände S0 bis S5 schränken die
vorliegende Erfindung nicht ein. Andere Betriebszustände, nicht
beschränkt
auf die hierin beschriebenen Power Management-Zustände, können eingesetzt
werden, um die Master- und Slave-Betriebszustände für das Peripheriegerät zu definieren,
ohne die Beschaffenheit der vorliegenden Erfindung zu verändern.
-
Die
vorliegende Erfindung wird hierin zwar in näheren Einzelheiten beschrieben
und veranschaulicht, wobei hiermit jedoch festgestellt wird, dass
die Beschreibung lediglich der Veranschaulichung und Beispielzwecken
dient und den Umfang der vorliegenden Erfindung nicht einschränkt, der
ausschließlich
durch die Ausführung
in den folgenden Ansprüchen
beschränkt
ist.