-
HINTERGRUND
-
Der hierin beschriebene Gegenstand bezieht sich allgemein auf den Bereich der elektronischen Geräte und insbesondere auf Power-Management-Techniken in elektronischen Geräten mit Media-Playern.
-
Einige elektronische Geräte, zum Beispiel Computersysteme, können einen oder mehrere Prozessorkerne oder einen oder mehrere Grafikprozessorkerne nutzen, die auf einer einzelnen integrierten Schaltung (integrated circuit; IC) oder auf getrennten IC, durch einen Kommunikationsbus gekoppelt, integriert sein können. Techniken zur Koordination des Betriebs der Prozessorkerne und der Grafikprozessorkerne können nützlich sein.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die detaillierte Beschreibung erfolgt unter Bezugnahme auf die beigefügten Abbildungen.
-
1 ist eine schematische Darstellung eines elektronischen Geräts, das so angepasst werden kann, dass synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert werden kann.
-
2 ist eine schematische Darstellung der Komponenten eines elektronischen Geräts, das so angepasst ist, dass synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert ist.
-
3 ist ein Ablaufdiagramm zur Darstellung von Operationen bei einem Verfahren zur Implementierung synchronisierter Medienverarbeitung in einem elektronischen Gerät bei einigen Ausführungsformen.
-
4 ist ein Ablaufdiagramm zur Darstellung von Operationen bei einem Verfahren zur Implementierung synchronisierter Medienverarbeitung in einem elektronischen Gerät bei einigen Ausführungsformen.
-
5 ist ein Zeitsteuerungsdiagramm, das den Stromverbrauch in einem elektronischen Gerät ohne synchronisierte Medienverarbeitung bei einigen Ausführungsformen darstellt.
-
6 ist ein Zeitsteuerungsdiagramm, das den Stromverbrauch in einem Gerät darstellt, das synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert.
-
7 ist eine schematische Darstellung eines Computersystems, das so angepasst werden kann, dass es umschaltbare Grafikprozessoren bei einigen Ausführungsformen implementiert.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Hier werden exemplarische Systeme und Verfahren zur Implementierung synchronisierter Medienverarbeitung in elektronischen Geräten beschrieben. In der folgenden Beschreibung werden zahlreiche spezielle Details angeführt, um ein gründliches Verständnis der verschiedenen Ausführungsformen zu bieten. Dem Fachmann ist jedoch klar, dass die verschiedenen Ausführungsformen ohne die speziellen Details praktiziert werden können. In anderen Fällen wurden wohlbekannte Merkmale, Verfahren, Komponenten und Schaltungen nicht im Detail beschrieben, um die jeweiligen Ausführungsformen nicht in den Hintergrund rücken zu lassen.
-
1 ist eine schematische Darstellung eines exemplarischen elektronischen Geräts, das so angepasst werkend an, dass synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert werden kann. In einer Ausführungsform umfasst Gerät 100 ein Computergerät 108 und ein oder mehrere begleitende Eingabe-/Ausgabegeräte einschließlich eines Displays 102 mit einem Bildschirm 104, einen oder mehrere Lautsprecher 106, eine Tastatur 110, ein oder mehrere I/O-Geräte 112 und eine Maus 114. Die anderen I/O-Geräte 112 können einen Touchscreen, ein sprachaktiviertes Eingabegerät, einen Trackball und andere Geräte umfassen, die dem Gerät 100 den Empfang von Eingaben von einem Benutzer ermöglichen.
-
Das Computergerät 108 umfasst Systemhardware 120 und Speicher 130, der als Direktzugriffsspeicher (Random Access Memory, RAM) oder Festspeicher (Read-Only Memory, ROM) implementiert werden kann. Ein Dateispeicher 180 kann kommunikativ an das Computergerät 108 gekoppelt werden. Dateispeicher 180 kann sich im Computergerät 108 befinden, z. B. eine oder mehrere Festplatten, CD-ROM-Laufwerke, DVD-ROM-Laufwerke oder andere Arten von Speichergeräten. Dateispeicher 180 kann sich auch außerhalb des Computergeräts 108 befinden, z. B. eine oder mehrere externe Festplatten, Netzwerkspeicher (Network Attached Storage, NAS) oder ein getrenntes Speichernetzwerk.
-
Systemhardware 120 kann einen oder mehrere Zentralprozessorkerne 122, einen oder mehrere Grafikprozessorkerne 124, eine oder mehrere Netzwerkschnittstellen 126 und eine oder mehrere Busstrukturen 128 umfassen. In einer Ausführungsform können Prozessorkerne 122 als ein Intel® Core2 Duo®-Prozessor verwirklicht sein, der von der Intel Corporation, Santa Clara, Kalifornien, USA, erhältlich ist. Im Sinne dieser Schrift bedeutet der Begriff „Prozessor” jede Art von Computerelement, wie z. B. ein Mikroprozessor, ein Mikrocontroller, ein Complex Instruction-Set Computing (CISC)-Mikroprozessor, ein Reduced Instruction-Set (RISC)-Mikroprozessor, ein Very Long Instruction Word (VLIW)-Mikroprozessor oder jede andere Art von Prozessor oder Verarbeitungsschaltung.
-
Grafikprozessorkerne 124 können als Zusatzprozessoren fungieren, die Grafik- und/oder Videooperationen verwalten. Grafikprozessorkerne 124 können auf der Hauptplatine des Computergeräts 100 integriert oder über einen Erweiterungssteckplatz auf der Hauptplatine gekoppelt sein.
-
In einer Ausführungsform könnte die Netzwerkschnittelle 126 eine drahtgebundene Schnittstelle, z. B. eine Ethernet-Schnittstelle (siehe zum Beispiel Institute of Electrical and Electronics Engineers/IEEE 802.3-2002), oder eine drahtlose Schnittstelle, z. B. eine IEEE 802.11a-, b- oder g-kompatible Schnittstelle (siehe zum Beispiel IEEE Standard for IT-Telecommunications and information exchange between systems LAN/MAN-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G-2003), sein. Ein weiteres Beispiel einer drahtlosen Schnittstelle wäre eine General Packet Radio Service (GPRS)-Schnittstelle (siehe zum Beispiel Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, Dezember 2002).
-
Busstrukturen 128 verbinden verschiedene Komponenten der Systemhardware 128. In einer Ausführungsform kann Busstruktur 128 eine oder mehrere Arten einer Busstruktur sein, z. B. ein Speicherbus, ein Peripheriebus oder ein externer Bus und/oder ein lokaler Bus, der jede Vielfalt verfügbarer Busarchitekturen nutzt, einschließlich, aber nicht beschränkt auf, 11-Bit-Bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association Bus (PCMCIA) und Small Computer Systems Interface (SCSI).
-
Speicher 130 kann ein Betriebssystem 140 für die Verwaltung der Operationen von Computergerät 108 umfassen. In einer Ausführungsform umfasst Betriebssystem 140 ein Hardwareschnittstellenmodul 154, das eine Schnittstelle zur Systemhardware 120 bereitstellt. Außerdem kann Betriebssystem 140 ein Dateisystem 150 umfassen, das Dateien verwaltet, die beim Betrieb des Computersystems 108 verwendet werden, und ein Prozesssteuerungssubsystem 152, das Prozesse verwaltet, die auf Computergerät 108 ausgeführt werden.
-
Betriebssystem 140 kann eine oder mehrere Kommunikationsschnittstellen umfassen (oder verwalten), die zusammen mit Systemhardware 120 arbeiten können, um Datenpakete und/oder Datenstreams von einer Remote-Quelle zu senden. Betriebssystem 140 kann weiter ein Systemaufrufschnittstellenmodul 142 enthalten, das eine Schnittstelle zwischen dem Betriebssystem 140 und einem oder mehreren Anwendungsmodulen liefert, die sich in Speicher 130 befinden. Betriebssystem 140 kann als UNIX-Betriebssystem oder jede Ableitung davon verwirklicht werden (z. B., Linux, Solaris usw.) oder als Betriebssystem der Marke Windows® oder anderes Betriebssystem.
-
In verschiedenen Ausführungsformen kann das Computergerät 108 als Personal Computer, Laptopcomputer, Personal Digital Assistent, Mobiltelefon, Unterhaltungsgerät oder ein anderes Computergerät verwirklicht werden.
-
In einer Ausführungsform umfasst Speicher 130 eine Power Control Unit 162, die die Synchronisierung der Energiezustände der Grafikprozessorkerne 124 mit den Energiezuständen der Zentralprozessorkerne 122 im Computergerät 100 erleichtert. In einer Ausführungsform kann eine Power Control Unit 162 logische Befehle enthalten, die in einem computerlesbare Medium verschlüsselt sind und die, wenn sie von den Prozessorkernen 122 ausgeführt werden, dazu führen, dass die Prozessorkerne 122 Operationen implementieren, um das Wechseln zwischen den Grafikprozessoren 124 im Computergerät 100 zu verwalten. In anderen Ausführungsformen kann die Power Control Unit als logische Schaltung verwirklicht werden, die mit einem Controller mit niedrigem Energieverbrauch im Computergerät 100 verbunden ist.
-
2 zeigt eine schematische Darstellung der Komponenten eines elektronischen Geräts 200, das so angepasst ist, dass synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert ist. Bezugnehmend auf 2, umfasst in einigen Ausführungsformen das elektronische Gerät einen oder mehrere Prozessorkerne 210, einen oder mehrere Grafikprozessorkerne 220, ein Last Level Cache (LLC)-Modul 230 und einen Systemagenten 240. Die Grafikprozessorkerne 220 umfassen eine oder mehrere Medienleitungen 224, die die Grafikausgabe von den Prozessorkernen 220 zu einer Medienausgabe bringen, die mit dem elektronischen Gerät 200 gekoppelt ist. In einigen Ausführungsformen können die Medienleitungen 224 mit einem Display, z. B. einem Liquid Crystal Display (LCD), über einen Low-Voltage Differential Signaling (LVDS)-Multiplexer, und mit einem Röhrenmonitor-(cathode ray tube; CRT)-Display über einen CRT-Multiplexer gekoppelt sein. In einigen Ausführungsformen kann der diskrete Grafikprozessor direkt mit einem Anzeigegerät, z. B. einem analogen Fernsehgerät (TV) oder einem High-Definition Multimedia Interface/Digital Video Interactive (HDMI)/(DVI)-Displayanschluss oder einer DisplayPort-Schnittstelle gekoppelt sein.
-
Der Systemagent 240 umfasst eine Power Control Unit (PCU) 244. Der Systemagent 240 und die Power Control Unit implementieren Logik u. a. für Überwachungs- und Regulierungsoperationen der Prozessorkerne 210 und der Grafikprozessorkerne 220. Aspekte dieser Operationen werden mit Referenz zu 3-6 beschrieben.
-
Zuerst bezugnehmend auf 5, ein Zeitsteuerungsdiagramm, das den Stromverbrauch in einem elektronischen Gerät ohne synchronisierte Medienverarbeitung bei einigen Ausführungsformen darstellt. Das Zeitsteuerungsdiagramm, das in 5 dargestellt ist, stellt Energiezustände für die Prozessorkerne 210 dar, die durch Linie 510 dargestellt werden, und die Grafikprozessorkerne 220, die durch Linie 515 dargestellt werden, in einem elektronischen Gerät, das als Personal-Computer-System während einer Videowiedergabeoperation verwirklicht wird. Die X-Achse in 5 misst die Zeit in Millisekunden und die Y-Achse misst den Strom in Watt. Einige Betriebssysteme (OS) planen die Arbeit in den Prozessorkernen mithilfe eines periodischen „Tick”-Satzes, z. B. einmal pro 1 Millisekunde (ms), durch die Medienwiedergabeanwendung. Bei jedem Betriebssystem-Tick führen die Prozessorkerne 220 eine oder mehrere Aufgaben aus, die mit der Medienwiedergabe verbunden sind. Zum Beispiel können die Prozessorkerne weitere Video-/Audiodaten aus einem Speichermedium einholen, Sicherheitssoftware ausführen, um die im Systemspeicher eingeholten Video-/Audioinhalte zu schützen, einen Grafiktreiber verwenden, um weitere Videoframes in Videoprozessoren zu speisen, Audiostreams zu entschlüsseln und nachzubearbeiten, Audio herunterzumischen, entschlüsselte/nachbearbeitete Videoframes auf einem Display zu rendern, die Video- und Audiostreams zu synchronisieren usw. Diese periodischen Aktivitätsspitzen spiegeln sich in den periodischen Spitzen in der Linie 510 in 5 wider. Bei einigen Ausführungsformen muss die CPU gelegentlich längere Aufgaben durchführen und diese führen zu den längeren Aktivitätsfenstern, die auch in 5 zu sehen sind.
-
Während die Prozessorkerne 210 Aufgaben ausführen, sind die Grafikprozessorkerne 220 damit beschäftigt, Hardwaredecodierung und -nachbearbeitung der Videoframes durchzuführen, die die CPU vorher geliefert hat. Für den Zweck der vorliegenden Offenlegung ist ein hervorstechendes Merkmal, das im Zeitsteuerungsdiagramm zu sehen ist, dass die Prozessorkerne 210 und die Grafikprozessorkerne 220 im Wesentlichen unabhängig voneinander arbeiten. Es gibt keine Synchronisierung zwischen den Energiezuständen der Prozessorkerne 210 und der Grafikprozessorkerne 220. Bezugnehmend auf 5 überlappen sich die Aktivitätsniveaus der Prozessorkerne 210 und Grafikprozessorkerne 220 nicht immer. Wenn die Prozessorkerne 210 und die Grafikprozessorkerne 220 in einer einzigen IC integriert sind, verringert die mangelnde Überlappungsaktivität zwischen den Prozessorkernen 210 und den Grafikprozessorkernen 220 die Zeitspanne, in der die integrierte Schaltung in einen niedrigen Energieverbrauchszustand gesetzt werden kann, d. h. in einen Ruhezustand, da die IC weiter mit Strom versorgt wird, wenn entweder die Prozessorkerne 210 oder die Grafikprozessorkerne 220 aktiv sind.
-
Wie in dieser Schrift beschrieben, implementiert die Power Control Unit (PCU) 244 des Systemagenten Operationen, die die Synchronisierung der Aktivitäten der Prozessorkerne 210 und der Grafikprozessorkerne 220 während der Medienwiedergabe erleichtern, was die Zeitspanne erhöht, in der die integrierte Schaltung in einen niedrigen Energieverbrauchszustand, d. h. einen Ruhezustand, gesetzt werden kann. Somit entwickelt die PCU 244 in einigen Ausführungsformen ein prädiktives Modell der Energiezustände der Zentralprozessorkerne 210 im elektronischen Gerät und verwendet das prädiktive Modell, um die Aktivität der Grafikprozessorkerne 220 im elektronischen Gerät mit den Aktivitätsperioden in den Zentralprozessorkernen 210 zu synchronisieren.
-
Bezugnehmend auf 3, ein Ablaufdiagramm, das Operationen bei einem Verfahren darstellt, um die synchronisierte Medienverarbeitung in einem elektronischen Gerät zu implementieren. Bei einigen Ausführungsformen wird bei Operation 310 ein Videostream im elektronischen Gerät 200 initiiert. Der Videostream kann von einer Medienquelle kommen, die auf einem computerlesbaren Medium gespeichert ist. Der Videostream kann zum Beispiel von einem Video kommen, das auf einer DVD oder einem magnetischen Medium, z. B. einer Festplatte, gespeichert ist, oder er kann über ein elektronisches Kommunikationsnetzwerk gestreamt werden.
-
Bei Operation 315 überwacht die PCU 244 Zustandsübergänge für die Zentralprozessorkerne 210 des elektronischen Geräts 200 und identifiziert sich wiederholende Aktivitätsmuster. Exemplarisch kann in einem elektronischen Gerät, wie z. B. einem Computersystem, das ein Power-Management-System, wie z. B. eine Advanced Configuration and Power Interface (ACPI)-Spezifikation, implementiert, die PCU 244 überwachen, wann die Zentralprozessorkerne 210 des elektronischen Geräts 200 von einem niedrigen Energieverbrauchszustand, z. B. einem C2- oder höheren Zustand, zu einem Betriebszustand, z. B. einem C1- oder C0-Zustand, übergehen.
-
Bei Operation 320 entwickelt die PCU 244 ein prädiktives Modell der Zustandsübergänge für die Zentralprozessorkerne 210 des elektronischen Geräts 200 während der Videowiedergabe. Exemplarisch, wieder bezugnehmend auf 5 kann die PCU 244 ein prädiktives Modell entwickeln, das bemerkt, dass die Zentralprozessorkerne 210 des elektronischen Geräts 200 alle 1 Millisekunde für ungefähr 300 Mikrosekunden von einem niedrigen Energieverbrauchszustand zu einem Betriebszustand wechseln, wonach sie wieder zum niedrigen Energiezustand übergehen. Ein Fachmann wird erkennen, dass die anderen Ausführungsformen der Zentralprozessorkerne 210 des elektronischen Geräts 200 ihren Zustand nach einem anderen Zeitplan ändern und das prädiktive Modelle würde diesem geänderten Zeitplan Rechnung tragen.
-
Das bei Operation 320 entwickelte prädiktive Modell kann dann verwendet werden, um die Synchronisierungsaktivität der Grafikprozessorkerne 220 im elektronischen Gerät mit den Aktivitätsperioden im Zentralprozessorkern 210 zu erleichtern. 4 ist ein Ablaufdiagramm zur Darstellung von Operationen bei einem Verfahren zur Implementierung synchronisierter Medienverarbeitung in einem elektronischen Gerät. Bei einigen Ausführungsformen können einige Operationen von 4 durch die PCU 244 implementiert werden.
-
Bezugnehmend auf 4 kann bei Operation 410 ein Videostream im elektronischen Gerät initiiert werden, z. B. durch Wiedergabe eines Videos, das auf einem computerlesbaren Medium gespeichert oder über ein Kommunikationsnetzwerk zugänglich ist. Medienverarbeitung erfolgt normalerweise mittels regelmäßiger Interrupts, die die Medienanwendung zu den Zentralprozessorkernen 210 ausgibt, um die Verarbeitung des nächsten Teils des, Video- und/oder Audiostreams zu planen. Bei Operation 415 wird festgestellt, ob ein Medienverarbeitungs-Interrupt von den Zentralprozessorkernen 210 erhalten wurde. Falls kein Verarbeitungs-Interrupt erhalten wurde, unterdrückt die PCU 244 die Aktivität der Grafikprozessorkerne 220, vorausgesetzt die Grafikprozessorkerne 220 verarbeiten den Videostream schnell genug, um die Präsentation fortzusetzen. Somit stellt die PCU 244 bei Operation 420 fest, ob die Verarbeitungsrate der Grafikprozessorkerne 220 unter einen Schwellenwert gefallen ist, der erforderlich ist, um für eine fortgesetzte Präsentation des Videostreams zu sorgen. Ein Fachmann wird erkennen, dass dieser Schwellenwert sich z. B. je nach Verarbeitungsgeschwindigkeit der bestimmten Grafikprozessorkerne 220 und der verbundenen Hardware und Videostreaminhalte unterscheidet.
-
Sollte die Verarbeitungsrate der Grafikprozessorkerne 220 bei Operation 420 über dem Schwellenwert für das bestimmte elektronische Gerät 200 bleiben, kann die PCU 244 die Aktivität der Grafikprozessorkerne 220 unterdrücken und es damit der integrierten Schaltung erlauben, in einem niedrigen Energiezustand zu bleiben. Sollte die Verarbeitungsrate der Grafikprozessorkerne 220 bei Operation 420 über dem Schwellenwert für das bestimmte elektronische Gerät 200 bleiben, kann somit die Kontrolle zu Operation 415 zurückgeleitet werden und die PCU 244 kann die Überwachung der Aktivität der Zentralprozessorkerne 210 fortsetzen.
-
Sollte dagegen die Verarbeitungsrate der Grafikprozessorkerne 220 bei Operation 420 unter dem Schwellenwert für das bestimmte elektronische Gerät 200 sein, kann die PCU 244 die Grafikprozessorkerne 220 ohne Berücksichtigung des Status der Zentralprozessorkerne 210 aktivieren, um es den Grafikprozessorkernen 220 zu erlauben, genug vom Videostream zu verarbeiten, um eine fortgesetzte Präsentation des Videostreams auf Gerät 200 sicherzustellen. Somit, wenn die Verarbeitungsrate der Grafikprozessorkerne 220 bei Operation 420 unter den Schwellenwert für das bestimmte elektronische Gerät 200 fällt, kann die Kontrolle zu Operation 425 zurückgeleitet werden und die PCU 244 kann die Grafikprozessorkerne 220 des Geräts aktivieren und es genug vom Videostream verarbeiten lassen, damit die GPU-Rate erneut den Mindestschwellenwert für die GPU-Rate (Operation 430) überschreitet, um die Präsentation der Videoframes nicht zu beeinträchtigen. Bei einigen Ausführungsformen können die von den Grafikprozessoren 220 verarbeiteten Videostreamdaten an einer Speicherstelle gepuffert werden, um darauf zu warten, dass die Zentralprozessorkerne 210 zu einem aktiven Zustand wechseln.
-
Erneut bezugnehmend auf Operation 415, wenn die Zentralprozessorkerne 210 ein Medien-Interrupt empfangen haben, verwendet die PCU 244 das prädiktive Modell, das in 3 dargestellt ist, um die Aktivität der Grafikprozessorkerne 220 mit der vorhergesagten Aktivität der Zentralprozessorkerne 210 zu synchronisieren. Somit wird, falls bei Operation 440 keine Videoverarbeitung aussteht, die Kontrolle zu Operation 415 zurückgeleitet. Falls dagegen bei Operation 440 die Videoverarbeitung aussteht, wird die Kontrolle zu Operation 445 weitergeleitet und die Grafikprozessorkerne 220 werden aktiviert und der Videostream wird verarbeitet (Operation 450).
-
Falls das System bei Operation 455 sich immer noch innerhalb der vorhergesagten Aktivitiätsperiode für die Zentralprozessorkerne 210 befindet, wird die Kontrolle zurückgeleitet zu Operation 450 und die Verarbeitung wird fortgesetzt. Falls dagegen bei Operation 455 die Zentralprozessorkerne 210 nicht innerhalb einer vorhergesagten Aktivitätsperiode vom Modell bestimmt werden, das in 3 entwickelt wurde, wird die Kontrolle zu Operation 460 weitergeleitet und die PCU 244 hält die Aktivität der Grafikprozessorkerne 220 an. Bei Operation 465 können Zustandsinformationen, die mit den Grafikprozessorkernen 220 verbunden sind, an einer geeigneten Speicherstelle gespeichert werden, z. B. einem volatilen oder nicht volatilen Speichermodul, das mit dem Gerät 200 verbunden ist. Dieser gespeicherte Zustand erlaubt es den Grafikprozessoren 220, ihre Operation an dem Punkt fortzusetzen, an dem sie die beendet haben, sobald sie wieder aktiv werden. Bei Operation 470 versorgt die PCU 244 die Grafikprozessorkerne 220 in einem niedrigen Energiezustand, z. B. einem Ruhezustand, mit Strom. Die Kontrolle wird dann zurück zu Operation 415 zurückgeleitet.
-
Somit ermöglichen die Operationen von 4 es der PCU 244, einen Prozess zu implementieren, der das in Operation 320 entwickelte prädiktive Modell verwendet, um die Synchronisierungsaktivität der Grafikprozessorkerne 220 im elektronischen Gerät mit den Aktivitätsperioden im Zentralprozessorkern 210 zu erleichtern. 6 ist ein Zeitsteuerungsdiagramm, das den Stromverbrauch in einem elektronischen Gerät darstellt, das synchronisierte Medienverarbeitung bei einigen Ausführungsformen implementiert. Das Zeitsteuerungsdiagramm, das in 6 dargestellt ist, stellt Energiezustände für die Prozessorkerne 210 dar, die durch Linie 610 dargestellt werden, und die Grafikprozessorkerne 220, die durch Linie 615 dargestellt werden, in einem elektronischen Gerät, das als Personal-Computer-System während einer Videowiedergabeoperation verwirklicht wird. Die Aktivität sowohl der Zentralprozessorkerne 210 als auch der Grafikprozessorkerne 220 in 6 sind denen in 5 ähnlich, außer die Zentralprozessor- und Grafikprozessorkerne arbeiten auf synchronisierte Weise in 6. Wie in 6 nachgewiesen, erlegt die PCU 244 eine Synchronisierung der Energiezustände der Grafikprozessorkerne 220 im elektronischen Gerät bei Aktivitätsperioden in den Zentralprozessorkernen 210 auf. Wie bereits vorher gesagt, ermöglicht es diese Synchronisierung der IC, die sowohl die Zentralprozessorkerne als auch die Grafikprozessorkerne enthält, längere Zeit in tiefere Ruhezustände zu gehen, was sich letztendlich in Energieeinsparungen niederschlägt.
-
7 ist eine schematische Darstellung eines Computersystems, das so angepasst werden kann, dass es synchronisierte Medienverarbeitung bei einer Ausführungsform implementieren kann. Das Computersystem 700 beinhaltet ein Computergerät 702 und einen Netzadapter 704 (z. B. zur Bereitstellung von Strom für das Computergerät 702). Das Computergerät 702 kann jedes geeignete Computergerät sein, zum Beispiel ein Laptop- (oder Notebook-)Computer, ein Personal Digital Assistant, ein Desktop-Computergerät (z. B. eine Workstation oder ein Desktop-Computer), ein Rack-Mounted-Computergerät usw.
-
Strom kann für verschiedene Komponenten des Computergeräts 702 (z. B. über eine Computergerät-Stromversorgung 706) von einer oder mehreren der folgenden Quellen bereitgestellt werden: ein oder mehrere Batteriesätze, ein Wechselstromausgang (z. B. über einen Transformator und/oder Adapter, z. B. einen Netzadapter 704), Autostromversorgungen, Flugzeugstromversorgungen usw. In einigen Ausführungsformen kann der Netzadapter 704 den Ausgang der Stromversorgungsquelle (z. B. die Wechselstrom-Ausgangsspannung von ca. 110 V bis 240 V) in eine Gleichstromspannung zwischen 7 V bis 12,6 V umwandeln. Dementsprechend kann der Netzadapter 704 ein AC/DC-Adapter sein.
-
Das Computergerät 702 kann außerdem eine oder mehrere Zentraleinheiten (Central Processing Units; CPUs) 708 enthalten. In einigen Ausführungsformen kann die CPU 408 aus einem oder mehreren Prozessoren der Pentium®-Prozessorfamilie, z. B. Pentium® II-Prozessorfamilie, Pentium® III-Prozessoren, Pentium® IV- oder CORE2 Duo-Prozessoren der Intel® Corporation aus Santa Clara, Kalifornien, bestehen. Alternativ können andere CPUs verwendet werden, zum Beispiel die Itanium®, XEON☐- und Celeron®-Prozessoren von Intel. Außerdem können ein oder mehrere Prozessoren von anderen Herstellern verwendet werden. Außerdem können die Prozessoren ein Einkern- oder Mehrkerndesign haben.
-
Ein Chipsatz 712 kann mit der CPU 708 gekoppelt oder in sie integriert sein. Der Chipsatz 712 kann einen Memory-Control-Hub (MCH) 714 beinhalten. Der MCH 714 kann einen Memory-Controller 716 enthalten, der mit einem Hauptsystemspeicher 718 gekoppelt ist. Der Hauptsystemspeicher 718 speichert Daten und Sequenzen von Befehlen, die von der CPU 708 oder einem anderen Gerät ausgeführt werden, das im 700 enthalten ist. In einigen Ausführungsformen kann der Hauptsystemspeicher 718 Random Access Memory (RAM) enthalten; der Hauptsystemspeicher 718 kann jedoch mithilfe anderer Speichertypen implementiert werden, zum Beispiel Dynamic RAM (DRAM), Syncronous DRAM (SDRAM) usw. Es können auch zusätzliche Geräte mit dem Bus 710 gekoppelt werden, zum Beispiel mehrere CPUs und/oder mehrere Systemspeicher.
-
Der MCH 714 kann auch eine Grafikschnittstelle 720 enthalten, die mit einem Grafikbeschleuniger 722 gekoppelt ist. Bei einigen Ausführungsform ist die Grafikschnittstelle 720 mit dem Grafikbeschleuniger 722 über einen Accelerated Graphics Port (AGP) gekoppelt. Bei einigen Ausführungsformen kann eine Anzeige (zum Beispiel ein Flachbildschirm) 740 mit der Grafikschnittstelle 720 über beispielsweise einen Signalumwandler gekoppelt sein, der eine digitale Darstellung eines Bildes, das in einem Speichergerät, wie beispielsweise einem Videospeicher oder Systemspeicher, gespeichert ist, in Displaysignale übersetzt, die vom Display interpretiert und angezeigt werden. Die durch das Displaygerät erzeugten Display-740-Signale können verschiedene Steuergeräte durchlaufen, bevor sie vom Display interpretiert werden und anschließend darauf angezeigt werden. Eine Hubschnittstelle 724 koppelt den MCH 714 mit einem Platform Control Hub (PCH) 726. Der PCH 726 bietet eine Schnittstelle für Eingabe-/Ausgabegerät (I/O), die mit dem Computersystem 700 gekoppelt sind. Der PCH 726 kann mit einem Peripheral Component Interconnect (PCI)-Bus gekoppelt sein. Somit beinhaltet der PCH 726 eine PCI-Brücke 728, die eine Schnittstelle zu einem PCI-Bus 730 liefert. Die PCI-Brücke 728 stellt einen Datenpfad zwischen der CPU 708 und peripheren Geräten bereit. Außerdem können andere Arten von I/O-Kopplungstopologien eingesetzt werden, zum Beispiel die PCI Express☐-Architektur, die von der Intel® Corporation in Santa Clara, Kalifornien, erhältlich ist.
-
Der PCI-Bus 730 kann mit einem Audiogerät 732 und einem oder mehreren Festplattenlaufwerken 734 gekoppelt werden. Andere Geräte können mit dem PCI-Bus 730 gekoppelt werden. Zusätzlich können die CPU 708 und der MCH 714 kombiniert sein, um einen einzelnen Chip zu bilden. Außerdem kann der Grafikbeschleuniger 722 bei anderen Ausführungsformen im MCH 714 enthalten sein.
-
Außerdem können andere Peripheriegeräte, die mit dem PCH 726 gekoppelt sind, in einigen Ausführungsformen Integrated Drive Electronics (IDE)- oder Small Computer System Interface (SCSI)-Festplatte(n), USB-Anschlüsse, eine Tastatur, eine Maus, parallele Anschlüsse, serielle Anschlüsse, Diskettenlaufwerke, Unterstützung digitaler Ausgaben (z. B. digitales Video Interface (DVI)) oder andere Geräte beinhalten. Daher kann das Computergerät 702 volatilen und/oder nicht volatilen Speicher beinhalten.
-
Als „logische Befehle” im Sinne dieser Schrift werden Ausdrücke bezeichnet, die von einer oder mehreren Maschinen zum Ausführen einer oder mehrerer logischer Operationen verstanden werden können. Beispielsweise können logische Befehle von einem Prozessorkompilierer interpretierbare Befehle zum Ausführen einer oder mehrerer Operationen an einem oder mehreren Datenobjekten sein. Es handelt sich hierbei jedoch lediglich um ein Beispiel für maschinenlesbare Befehle, auf das die Ausführungsformen in keiner Weise beschränkt sind.
-
Der Begriff „computerlesbares Medium” im Sinne dieser Schrift bezieht sich auf Medien, die von einer oder mehreren Maschinen wahrnehmbare Ausdrücke erhalten können. Beispielsweise kann ein computerlesbares Medium eines oder mehrere Speichergeräte zum Speichern von computerlesbaren Befehlen oder Daten sein. Solche Speichergeräte können Speichermedien wie zum Beispiel optische, magnetische oder Halbleiterspeichermedien umfassen. Es handelt sich hierbei jedoch lediglich um ein Beispiel für computerlesbares Medium, auf das die Ausführungsformen in keiner Weise beschränkt sind.
-
Der Begriff „Logik” im Sinne dieser Schrift bezieht sich auf die Struktur für das Ausführen einer oder mehrerer logischer Operationen. Eine Logik kann zum Beispiel eine Schaltung aufweisen, die auf der Grundlage eines oder mehrerer Eingangssignale ein oder mehrere Ausgangssignale bereitstellt. Eine solche Schaltung kann einen endlichen Automaten aufweisen, der eine digitale Eingabe empfangt und eine digitale Ausgabe liefert, oder eine Schaltung, die ein oder mehrere analoge Ausgangssignale als Reaktion auf ein oder mehrere analoge Eingangssignale liefert. Eine solche Schaltung kann in einer anwendungsspezifischen integrierten Schaltung (ASIC – Application Specific Integrated Circuit) oder einem Field Programmable Gate Array (FPGA) bereitgestellt werden. Die Logik kann auch in einem Speicher gespeicherte maschinenlesbare Befehle in Kombination mit Verarbeitungsschaltungen zum Ausführen solcher maschinenlesbaren Befehlen aufweisen. Dies sind jedoch lediglich Beispiele von Strukturen für die Bereitstellung von Logik, auf die die Ausführungsformen in keiner Weise beschränkt sind.
-
Manche der in dieser Schrift beschriebenen Verfahren können in logischen Befehle auf einem computerlesbaren Medium integriert werden. Wenn sie auf einem Prozessor ausgeführt werden, bewirken die logischen Befehle ein Programmieren des Prozessors als Sondergerät, das die beschriebenen Verfahren implementiert. Der Prozessor stellt die Struktur zum Durchführen der beschriebenen Verfahren dar, wenn er von den logischen Befehlen zum Ausführen der in dieser Schrift beschriebenen Verfahren konfiguriert wird. Als Alternative können die in dieser Schrift beschriebenen Verfahren auf eine Logik auf beispielsweise einem Field Programmable Gate Array (FPGA), einer anwendungsspezifischen integrierten Schaltung (ASIC – Application Specific Integrated Circuit) o. ä. reduziert werden.
-
In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt” und „verbunden” gemeinsam mit ihren Ableitungen verwendet werden. In bestimmten Ausführungsbeispielen wird „verbunden” verwendet, um anzuzeigen, dass zwei oder mehrere Elemente durch direkten physischen oder elektrischen Kontakt miteinander verbunden sind. „Gekoppelt” kann bedeuten, dass sich zwei oder mehrere Elemente in direktem physischem oder elektrischem Kontakt befinden. „Gekoppelt” kann aber auch bedeuten, dass sich zwei oder mehrere Elemente vielleicht nicht in direktem Kontakt miteinander befinden, jedoch trotzdem miteinander kooperieren oder zusammenwirken können.
-
Die Bezugnahme auf „eine Ausführungsform” oder „einige Ausführungsformen” in dieser Schrift bedeutet, dass eine bestimmte Funktion, Struktur oder ein bestimmtes Merkmal, die/das im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens eine Implementierung eingeschlossen ist. Das Auftreten der Wortgruppe „bei einer Ausführungsform” an verschiedenen Stellen in dieser Schrift kann sich stets auf die gleiche Ausführungsform beziehen oder auch nicht.
-
Obwohl die Ausführungsformen sprachlich durch spezifische Strukturmerkmale und/oder methodologische Akte beschrieben wurden, versteht sich, dass der beanspruchte Gegenstand nicht auf diese spezifischen Merkmale oder Akte beschränkt sein muss. Vielmehr werden die spezifischen Merkmale und Akte als beispielhafte Formen offengelegt, die den beanspruchten Gegenstand implementieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE 802.3-2002 [0016]
- IEEE 802.11a-, b- oder g-kompatible [0016]
- IEEE Standard for IT-Telecommunications and information exchange between systems LAN/MAN-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G-2003 [0016]
- Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, Dezember 2002 [0016]