-
TECHNISCHES GEBIET
-
Die
vorliegende Offenbarung betrifft im Allgemeinen das Gebiet der Elektronik.
Insbesondere bezieht sich eine Ausführungsform der Erfindung auf das
Hybridgrafikanzeige-Power-Management.
-
HINTERGRUND
-
Tragbare
Computer gewinnen zum Teil wegen abnehmender Preise und zunehmender
Leistung an Beliebtheit. Ein anderer Grund für ihre zunehmende Beliebtheit
kann auf die Tatsache zurückgeführt werden,
dass einige tragbare Computer z. B. durch den Einsatz von Batterien
an vielen Orten betrieben werden können. Somit wird in dem Maße, wie zusätzliche
Funktionalität
in tragbare EDV-Geräte
integriert wird, der Bedarf, den Energieverbrauch zu verringern,
um beispielsweise die Batterieleistung länger aufrechtzuerhalten, zunehmend
wichtiger.
-
Außerdem enthalten
einige tragbare Computer eine Flüssigkristallanzeige
(LCD) oder einen „Flach”-Bildschirm.
Heutige mobile Geräte
sind allgemein dafür
konzipiert, „immer
bereit” zu
sein, neue Frames auf der Anzeige zu aktualisieren. Während diese
Einsatzbereitschaft für
visuelle Leistungsanforderungen großartig sein kann, wird die
entstehende Leistung unwirtschaftlich, wenn das System untätig ist
(z. B. während
sich das Bild auf der Anzeige für eine
gegebene Zeitspanne nicht verändert).
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
ausführliche
Beschreibung erfolgt unter Bezugnahme auf die beigefügten Figuren.
In den Figuren bezeichnet/bezeichnen die ganz linke(n) Ziffer(n)
einer Bezugsnummer die Figur, in der die Bezugsnummer zum ersten
Mal auftaucht. Die Verwendung der gleichen Bezugsnummern in verschiedenen
Figuren kennzeichnet ähnliche
oder identische Elemente.
-
1, 2 und 7 zeigen
Blockdiagramme von Ausführungsformen
von Computersystemen, die zur Implementierung verschiedener hier erörterter
Ausführungsformen
verwendet werden können.
-
3–4 stellen
gemäß einigen
Ausführungsformen
Komponenten dar, die mit dem Kontextwechsel zwischen diskreter Grafik
und integrierter Grafik verbunden sind.
-
5 zeigt
gemäß einer
Ausführungsform ein
Flussdiagramm eines Skalierbarkeitshandshake-Protokolls zur Aktualisierung
und Speicherung des Anzeigeninhalts.
-
6 zeigt
ein Flussdiagramm eines Verfahrens, um gemäß einer Ausführungsform
die Bildwiederholfrequenz eines Anzeigegeräts zu ändern.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In
der folgenden Beschreibung werden zahlreiche spezielle Details angeführt, um
ein gründliches
Verständnis
verschiedener Ausführungsformen bereitzustellen.
Verschiedene Ausführungsformen können jedoch
ohne die spezifischen Details umgesetzt werden. In anderen Fällen wurden
wohlbekannte Verfahren, Verfahrensweisen, Komponenten und Schaltungen
nicht im Detail beschrieben, um die jeweiligen Ausführungsformen
nicht in den Hintergrund rücken
zu lassen.
-
Einige
der hier beschriebenen Ausführungsformen
können
neuartige Techniken und Architekturen bereitstellen, die energieeffizient
und/oder (hinsichtlich verschiedenen Größen von Anzeigen und/oder lokalen
Framebuffern) skalierbar sind, während
die Grafikleistung aufrechterhalten wird. Bei einer Ausführungsform
kann eine Schaltkomponente und verbundene Logik in eine oder mehrere
Grafikbaugruppen (wie z. B. ein verbundener Chipsatz, Prozessor,
Anzeigegerät,
Grafiklogik, usw.) integriert werden, um die Anzeigeleistungsoptimierung
zu erleichtern. Dies geschieht zum Beispiel indem in Selbstauffrischung
eingestiegen oder während
Inaktivitätszeiten
von diskreter Grafik auf integrierte Grafik (hier auch als GFX (Grafik-Effekte)
bezeichnet) gewechselt wird. Wie hier beschrieben, beziehen sich „inaktive” Zeiten
darauf, dass sich ein angezeigtes Bild für eine ausgewählte Zeitspanne,
wie z. B. 1 ms, eine kürzere
oder längere
Dauer, usw. nicht verändert.
Bei einer Ausführungsform
kann ein Teil des Speichers (z. B. eines Grafikspeichers oder eines Systemspeichers)
für den
Kontextwechsel genutzt werden, um einen reibungsloseren Übergang
zwischen diskreter und integrierter Grafik zu erleichtern.
-
Bei
einigen Ausführungsformen
bezieht sich integrierte Grafik auf Grafiklogik, die in einer oder mehreren
Kernsystem-Komponenten integriert werden kann (wie z. B. Prozessor,
Chipsatz auf einer Hauptplatine, usw.), wohingegen sich diskrete
Grafik auf Grafiklogik beziehen kann, die auf einem separaten Schnittstellengerät (wie z.
B. einer Schnittstellenkarte) bereitgestellt wird. Diese ist, wie
hiernach z. B. unter Bezugnahme auf 1–7 weiter
beschrieben, mit den anderen Computersystem-Figuren über einen Bus/eine
Kopplungsstruktur oder eine Punkt-Zu-Punkt-Verbindung (einschließlich zum
Beispiel PCI, PCI-Express, usw.) gekoppelt. Des Weiteren können einige
der hier beschriebenen Ausführungsformen
in verschiedenen Computersystemen, wie z. B. denjenigen, die unter
Bezugnahme auf 1–7 beschrieben
sind, genutzt werden. Insbesondere zeigt 1 ein Blockdiagramm
eines Computersystems 100 in Übereinstimmung mit einer erfindungsgemäßen Ausführungsform.
Das Computersystem 100 kann eine oder mehrere Zentraleinheit(en)
(CPUs, central processing units) oder Prozessoren 102-1 bis 102-N (die
hier als „Prozessor 102” oder „Prozessoren 102” bezeichnet
werden) beinhalten, die über
ein Kopplungsstrukturnetzwerk (oder Bus) 104 kommunizieren.
Die Prozessoren 102 können
einen Universalprozessor, einen Netzwerkprozessor (der Daten verarbeitet,
die über
ein Computernetzwerk 103 kommuniziert werden) oder andere
Typen eines Prozessors (einschließlich eines RISC [Reduced Instruction
Set Computer]-Prozessors oder eines CISC [Complex Instruction Set
Computer]) beinhalten.
-
Außerdem können die
Prozessoren 102 ein Einzel- oder Mehrkern-Design haben.
Beispielsweise können
ein oder mehrere der Prozessoren 102 ein oder mehrere Prozessorkerne 105-1 bis 105-N enthalten
(die hier als „Kern 105” oder „Kerne 105” bezeichnet
sind). Die Prozessoren 102 mit einem Mehrkerndesign können verschiedene
Typen von Prozessorkernen 105 auf der gleichen Integrierte-Schaltung-(IC)-Chiplage
integrieren. Ebenfalls können
die Prozessoren 102 mit Mehrkerndesign als symmetrische
oder asymmetrische Multiprozessoren implementiert werden.
-
Bei
einer Ausführungsform
können
ein oder mehrere der Prozessoren 102 ein oder mehrere Caches 106-1 bis 106-N enthalten
(die hier als „Cache 106” oder „Caches 106” bezeichnet
sind). Der Cache 106 kann gemeinsam (z. B. von einem oder
mehreren der Kerne 105) oder privat (wie z. B. einem Level 1-(L1)-Cache)
benutzt werden. Der Cache 106 kann Daten speichern (z.
B. einschließlich
Anweisungen), die von einer oder mehreren Komponenten der Prozessoren 102,
wie beispielsweise den Kernen 105, verwendet werden. Der
Cache 106 kann beispielsweise Daten, die in einem Speicher 107 (hier
auch als Systemspeicher bezeichnet) gespeichert sind, für den schnelleren
Zugriff durch Komponenten des Prozessors 102 lokal zwischenspeichern.
Bei einer Ausführungsform
kann der Cache 106 (der gemeinsam genutzt sein kann) einen
Mid-Level Cache
und/oder einen Last Level Cache (LLC) enthalten. Verschiedene Komponenten
der Prozessoren 102 können
mit dem Cache 106 direkt über einen Bus oder Kopplungsstrukturnetzwerk
und/oder einen Memory-Controller oder einen Hub kommunizieren.
-
Ein
Chipsatz 108 kann ebenfalls mit dem Kopplungsstrukturnetzwerk 104 kommunizieren.
Der Chipsatz 108 kann einen Grafik- und Memory-Control-Hub
(GMCH) 109 beinhalten. Der GMCH 109 kann einen
Memory-Controller 110 beinhalten, der mit dem Speicher 107 kommuniziert.
Der Speicher 107 kann Daten einschließlich Befehlssequenzen speichern,
die durch die Prozessoren 102 oder jedes andere Gerät, das im
Computersystem 100 enthalten ist, ausgeführt werden.
Bei einer erfindungsgemäßen Ausführungsform
kann der Speicher 107 ein oder mehrere flüchtige Speicher
(oder Memory)-Geräte, wie
beispielsweise Random Access Memory (RAM), dynamisches RAM (DRAM),
synchrones DRAM (SDRAM), statisches RAM (SRAM) oder andere Arten
von Speichergeräten
beinhalten. Nicht flüchtige Speicher
können
ebenfalls verwendet werden, wie beispielsweise eine Festplatte.
Zusätzliche
Geräte, wie
z. B. mehrere Systemspeicher, können über das Kopplungsstrukturnetzwerk 104 kommunizieren.
-
Der
GMCH 109 kann auch einen Grafikschnittstellencontroller 114 und
eine Anzeigeschaltlogik 115 enthalten. Wie hiernach weiter
beschrieben, z. B. unter Bezugnahme auf 2–6,
kann die Logik 115 für
ein Anzeigegerät 116 den
Wechsel zwischen diskreter Grafik, integrierter Grafik oder dem Selbstauffrischungsmodus
bewirken. Außerdem kann
die Logik 115 abhängig
von der Implementierung an verschiedenen Orten bereitgestellt werden, u.
a. und ohne Eingrenzung dem Chipsatz 108, Grafikcontroller 114,
Anzeigegerät 116,
usw. Der Grafikschnittstellencontroller 114 kann mit dem
Anzeigegerät 116 kommunizieren,
um z. B. ein oder mehrere Bildframes anzuzeigen, die mit den im
Speicher 107 gespeicherten Daten, empfangenen Daten vom Netzwerk 103,
gespeicherten Daten im Plattenlaufwerk 128, gespeicherten
Daten in Cache(s) 106, durch Prozessor(en) 102 verarbeitete
Daten, usw. korrespondieren. Der Grafikcontroller 114 kann
integrierte Grafik, diskrete Grafik oder beides enthalten. Außerdem kann
der Grafikcontroller 114 in das System 100 (z.
B. auf einer Hauptplatine, dem Chipsatz 108 (wie dargestellt),
usw.) integriert oder über
eine separate Schnittstelle, wie z. B. eine Schnittstellenkarte
bereitgestellt werden (mit den System 100-Komponenten über gemeinsame
benutzte Verbindungen oder Punkt-Zu-Punkt-Verbindungen, einschließlich Bus 104 und/oder 122,
gekoppelt).
-
Das
Anzeigegerät 116 kann
jede Art eines Anzeigegeräts,
wie z. B. ein Flachbildschirm (einschließlich einem LCD, Field Emission
Display [FED] oder einem Plasmabildschirm) oder ein Anzeigegerät mit einer
Kathodenstrahlröhre
(CRT, Cathode Ray Tube) sein. Bei einer Ausführungsform der Erfindung kann
der Grafikschnittstellencontroller 114 mit dem Anzeigegerät 116 über eine
Niederspannungsdifferenzsignal-Schnittstelle (LVDS, low voltage
differential signal), ein Displayfort (welcher ein Schnittstellenstandard
für Digitalanzeigen
darstellt (zugelassen im Mai 2006, aktuelle Version 1.1 am 2. April
2007 zugelassen) der von der Video Electronics Standards Association
(VESA) herausgegeben wurde), ein digitales Video-Interface (DVI) oder eine hochauflösende Multimediaschnittstelle
(HDMI, high definition multimedia interface) kommunizieren. Das
Anzeigegerät 116 kann
mit dem Grafikschnittstellencontroller 114 auch beispielsweise
durch einen Signalwandler kommunizieren. Dieser übersetzt eine digitale Darstellung
eines Bildes, die in einem Speichergerät wie einem Videospeicher (z.
B. gekoppelt mit dem GMCH 109 oder dem Anzeigegerät 116 (nicht
abgebildet)) oder einem Systemspeicher (z. B. Speicher 107)
gespeichert ist, in Anzeigesignale, die vom Anzeigegerät 116 ausgewertet
und angezeigt werden.
-
Durch
eine Hub-Schnittstelle 118 kann der GMCH 109 mit
einem Input/Output-Control-Hub (ICH) 120 kommunizieren.
Der ICH 120 (der hier auch als Plattform-Control-Hub (PCH)
bezeichnet wird) kann eine Schnittstelle zu I/O-Geräten bereitstellen,
die mit dem Computersystem 100 kommunizieren. Der ICH 120 kann
mit einem Bus 122 mittels einer peripheren Brücke (oder
einem Controller) 124, wie beispielsweise einer Peripheral
Component Kopplungsstruktur-(PCI)-Brücke, einem Universellen Seriellen
Bus (USB)-Controller oder anderen Arten von peripheren Brücken oder
Controllern kommunizieren. Die Brücke 124 kann einen
Datenpfad zwischen dem Prozessor 102 und peripheren Geräten bereitstellen.
Andere Arten von Topologien können verwendet
werden. Es können
auch mehrere Busse mit dem ICH 120, z. B. mittels mehrerer
Brücken
oder Controller kommunizieren. Außerdem können andere Peripheriegeräte in Kommunikation
mit dem ICH 120 bei verschiedenen erfindungsgemäßen Ausführungsformen,
Integrated Drive Electronics (IDE) oder Small Computer System Interface-(SCSI)-Festplatte(n),
USB Port(s), eine Tastatur, eine Maus, parallele(n) Port(s), serielle(n)
Port(s), Diskettenlaufwerk(e), Unterstützung digitaler Ausgaben (z.
B. digitales Video-Interface [DVI]) oder andere Geräte beinhalten.
-
Der
Bus 122 kann mit einem Audiogerät 126, einem oder
mehreren Diskettenlaufwerk(en) 128 und einem oder mehreren
Netzwerk-Interface-Geräte(n) 130 (das
in Kommunikation mit dem Computernetzwerk 103 steht) kommunizieren.
Andere Geräte
können über den
Bus 122 kommunizieren. Ebenfalls können verschiedene Komponenten
(wie beispielsweise das Netzwerk-Interface-Gerät 130) bei einigen erfindungsgemäßen Ausführungsformen
mit dem GMCH 109 kommunizieren. Zusätzlich können der Prozessor 102 und
der GMCH 109 kombiniert sein, um einen einzelnen Chip zu
bilden. Außerdem
kann der Grafikcontroller 114 und/oder Logik 115 innerhalb des
Anzeigegeräts 116 in
anderen Ausführungsformen
der Erfindung enthalten sein.
-
Des
Weiteren kann das Computersystem 100 flüchtigen und/oder nicht flüchtigen
Memory (oder Speicher) beinhalten. Beispielsweise kann ein nicht
flüchtiger
Speicher ein oder mehrere der Folgenden beinhalten: Festspeicher
(ROM, read-only memory), programmierbaren ROM (PROM, programmable
ROM), löschbaren
PROM (EPROM, erasable PROM), elektrisch löschbaren EPROM (EEPROM, electrically
erasable EPROM), ein Diskettenlaufwerk (z. B. Diskettenlaufwerk 128),
eine Diskette, eine Compact Disk ROM (CD-ROM), eine Digital Versatile
Disk (DVD), Flash-Speicher, eine magnetooptische Disk oder andere
Arten von nicht flüchtigen
maschinenlesbaren Medien, die elektronische Daten (z. B. einschließlich Anweisungen)
speichern können.
-
2 zeigt
gemäß einer
Ausführungsform der
Erfindung ein Blockdiagramm von Teilen eines Rechnersystems 200.
Wie in 2 gezeigt, kann das System 200 folgendes
enthalten: die Logik 115, das Anzeigegerät 116,
einen Prozessor 202 (der beispielsweise ein oder mehrere
Kerne und einen Unkern hat, wobei ein MCH 203 [welcher
gleich oder ähnlich
wie der GMCH in 1 sein kann] und ein GFX 204 innerhalb
des Prozessors 202 oder als separate Komponenten auf dem
gleichen IC-Chip oder auf einem separaten Chip implementiert sein
können),
ein PCH 208 (welcher gleich oder ähnlich wie der ICH 120 von 1 sein
kann und zum Beispiel mit einem Non-Volatile-Memory [NVM; nichtflüchtigen
Speicher], Disk, usw. gekoppelt sein kann), eine diskrete Grafikcontroller-Logik 206 (die,
wie unter Bezugnahme auf 1, in verschiedenen Formen und an
verschiedenen Orten bereitgestellt werden kann). Wie gezeigt kann
der PCH 208 mit MCH 203 und GFX 204 durch
eine direkte Medienschnittstelle (DMI, Direct Media Interface) und
eine Anzeigeschnittstelle kommunizieren (wie beispielsweise DisplayLinkTM-Schnittstellentechnologie, welche die
Verbindung von Computer und Anzeigen ermöglicht, die USB und drahtloses
USB verwenden).
-
Bei
einigen Ausführungsformen
können
zumindest einige der in 2 gezeigten Komponenten in einer
Anzeigetafel oder auf einer Hauptplatine eingebettet sein. Die Anzeigeschaltlogik 115 kann
einen Controller 210, einen lokalen Framebuffer (LFB) 212 und
einen Multiplexer (MUX) 214 enthalten. Der Controller 210 kann
die Ansteuerung des Anzeigegeräts 116 gemäß Daten
vom LFB 212, GFX 204 und/oder diskreter Grafik 206 wechseln
(z. B. basierend auf einer Indikation [wie z. B. ein Signal oder
ein gespeicherter Wert in einem Register oder Speicherplatz innerhalb
des Speichers 107 oder einem anderen Speicher/Cache, wie
z. B. diejenigen, die unter Bezugnahme auf die Figuren hier beschrieben
sind] vom Prozessor 202, GFX 204 und/oder diskreter
Grafik 206). Wie in 2 gezeigt,
kann der Controller 210 ein Auswahlsignal 215 zum
MUX 214 bereitstellen, um zwischen Eingaben vom GFX 204 oder
diskreter Grafik 206 auszuwählen.
-
Alternativ
kann der Controller 210 Daten vom LFB 212 nutzen,
um die Selbstauffrischung des Anzeigegeräts 116 zu ermöglichen.
Das zu tun würde dem
Rest der Plattform, wie z. B. der CPU/GPU (Central Processing Unit/Graphics
Processing Unit) komplexen und/oder diskreten Grafik 206 (z.
B. die Elemente, die im Kasten 220 gekennzeichnet sind) und
der PCH 208 erlauben, bei einigen Ausführungsformen aggressives Power-Management
zu erfahren (sogar ausgeschaltet, z. B. durch Ausschalten des jeweiligen
Taktsignals). Das kann bei der Adressierung des Leckstelleneinflusses
von im tiefen Submikron gefertigten Hochleistungssilizium CMOS (Complementary
Metal Oxide Semiconductor)-Prozesstechnologien wie z. B. CPU-GPU
komplexe und diskrete Grafikcontroller besonders nützlich sein.
Des Weiteren kann der Leistungseinfluss von Plattform-Bestandteilen
wie z. B. Systemspeicher, Platform Clock Chip 222 (der
ein Taktgebersignal zum Prozessor 202 und/oder anderen
Komponenten des Systems 200 oder anderen hier besprochenen
Rechnersystemen bereitstellen kann) und Spannungsreglern, welche
die Versorgungsspannung zu den Komponenten der 1–2 oder 7 (nicht
abgebildet) regulieren, reduziert sein, wenn diese Komponenten keine
Aufgaben ausführen.
-
3 zeigt
Komponenten, die gemäß einer Ausführungsform
mit dem Kontextwechsel von diskreter Grafik zu integrierter Grafik
verbunden sind. 4 zeigt Komponenten, die gemäß einer
Ausführungsform
mit dem Kontextwechsel von diskreter Grafik zu integrierter Grafik
verbunden sind. Bei einigen Ausführungsformen
kann die Verwendung des diskreten Grafikcontrollers 206 mehr
Leistung verbrauchen, aber die Leistung im Verhältnis zum integrierten Grafikcontroller 204 verbessern. Ähnlich kann
die Verwendung des integrierten Grafikcontrollers 204 weniger
Leistung verbrauchen, aber die Leistung im Verhältnis zum diskreten Grafikcontroller 206 reduzieren.
-
Wie
in 3 gezeigt, kann der diskrete Grafikcontroller 206 nach
Erkennen einer Notwendigkeit zur integrierten Grafik zu wechseln
(z. B. basierend auf einer Indikation, dass die Plattform Strom
sparen oder die Leistung reduzieren soll [wie z. B. Einstellungen
für geringe
Leistungsaufnahme, niedrige Batterieladezustände, niedrige Leistungseinstellung,
usw.]), und der Controller 206 kann eine Räumung (z.
B. des kompletten gegenwärtigen
Frames) verursachen (z. B. durch einen PEG [PCI Express Graphics]-Port). Der
integrierte Grafikcontroller 204 kann das Speichern von
Daten in den Systemspeicher 107 entsprechend dem Anzeigekontextwechsel
(z. B., einschließlich
ein oder mehrerer Bildframes) bewirken, sodass der integrierte Grafikcontroller 204 die
Anzeige des Grafikbildes mit einer geringen oder ohne Unterbrechung
während
des Wechsels wieder aufnehmen kann.
-
Wie
in 4 gezeigt, kann der integrierte Grafikcontroller 204 nach
Erkennen einer Notwendigkeit zur diskreten Grafik zu wechseln (z.
B. basierend auf einer Anzeige, dass die Plattform höhere Leistung
bereitstellen soll, wie z. B. Einstellungen für hohe Leistungsaufnahme, Anwesenheit
eines Wechselstrom-(AC)-Adapters, Ausführung einer grafikintensiven
Anwendung, usw.) und eine Räumung
(z. B. des kompletten gegenwärtigen
Frames) verursachen (z. B. durch einen PEG-Port). Der integrierte
Grafikcontroller 204 kann das Speichern von Daten entsprechend
dem Anzeigekontextwechsel (z. B. einschließlich einen oder mehreren Bildframes)
in einen lokalen Videospeicher 402, auf den der diskrete
Grafikcontroller 206 zugreifen kann, verursachen (der beispielsweise
auf dem gleichen IC-Gerät
wie der Controller 206 bereitgestellt werden kamt), sodass der
diskrete Grafikcontroller 206 die Anzeige des Grafikbildes
mit einer geringen oder ohne Unterbrechung während des Wechsels wieder aufnehmen kann.
Der Speicher 402 kann jede Art einer Speichereinheit sein,
einschließlich
denjenigen, die mit Bezug auf Speicher 107 beschrieben
wurden, oder eine Art RAM-Gerät,
welches für
das Speichern von Videodaten (wie z. B. Video RAM (VRAM)) konzipiert
ist. Bei einigen Ausführungsformen
können
die Anzeigekontextwechsel-Daten im LFB 212 gespeichert
sein.
-
Bei
einigen Ausführungsformen
gibt es zwei Protokoll-Handshakes, bei denen die eingeschlossenen
Komponenten dabei unterstützen
sollen, die oben erwähnten
Fähigkeiten zu
schaffen. Der diskrete Grafikcontroller 206 und der integrierte
Grafikcontroller 204 erleichtern zuerst den Mechanismus,
eine Speicherregion für
den Kontextwechsel zu definieren (sowie einer Software die sichtbare
Steuerung zu ermöglichen,
den Kontextwechsel bei einer Ausführungsform einzuleiten). Dies
zu tun, ermöglicht
zum Zweck von Hybridgrafik-Anwendungen die Transparenz beim Portieren
des laufenden Bildes an der Anzeige zwischen diesen Grafikcontrollern. 3 beispielsweise
zeigt den Protokoll-Mechanismus für eine Definition einer solchen
Speicherregion mittels Konfigurationsregistern (durch BAR gekennzeichnet) und
die Initiierung von Streaming Image Content, der gegenwärtig an
einem im Leerlauf befindlichen System angezeigt wird, um den Kontextwechsel
auszuführen.
BAR kann auch verwendet werden, um, wie in 4 gezeigt,
vom integrierten Grafikcontroller 204 auf den diskreten
Grafikcontroller 206 zu wechseln. Außerdem, wie in 3 und 4 gezeigt, können sich
die Konfigurationsregister (durch BAR gekennzeichnet) auf dem Grafikcontroller
befinden, der das Ansteuern der Anzeigedaten wieder aufnehmen soll,
nachdem ein Wechsel auftritt (z. B. in GFX 204 für 3 und
im Controller 206 für 4),
oder er kann auf diese Konfigurationsregister zugreifen.
-
Folglich
kann das Speichern von Inhaltswechsel-Daten den Inhalt bei Grafikcontroller-Schaltern übergreifend
erhalten. Die zweite Funktion besteht daraus, das Streaming von
Displayinhalt zur Logik 115, einschließlich des Wechsels zwischen
diskreter und integrierter Grafik sowie einem Anfrage- und Bewilligungsprotokoll
für die
periodische Inhaltsaktualisierung zur Logik 115, zu ermöglichen,
während
der Inhalt im lokalen Framebuffer 212 entleert wird. Letzteres
dient sowohl zur Erleichterung der Skalierbarkeit auf Grund der
möglichen
Begrenzung in der lokalen Framebuffer-Größe, wie auch als Flexibilität im Unterbringen
eines weiten Bereiches der Anzeigebildwiederholfrequenz und der
Auflösung.
-
5 zeigt
gemäß einer
Ausführungsform ein
Flussdiagramm eines Skalierbarkeitshandshake-Protokolls zur Aktualisierung
und Speicherung des Anzeigeninhalts. 5 zeigt
die Kommunikation und den Datenfluss zwischen einem Grafikcontroller (integriert
oder diskret) und der Logik 115. Insbesondere werden Datenpakete
(z. B. mit Tags einschließlich
Start des Frames, den nachfolgenden Daten und/oder dem Ende des
Frames) durch den Grafikcontroller 114 gesendet, um den
lokalen Framebuffer 212 in der Logik 115 zu füllen. Die
Logik 115 kann wiederum regelmäßig ein Datenfüllen anfordern, während ihr
Puffer unter einen Grenzwert entleert wird oder das Bild durch eine
Ereignisbenachrichtigung veraltet ist (z. B. die Auflösung des
Anzeigegeräts 116 ist
erhöht,
eine teilweise Frame-Änderung, usw.).
Demgemäß kann bei
einigen Ausführungsformen
eine periodische Inhaltsaktualisierung bereitgestellt werden, um
die Speicherskalierbarkeit in Bezug auf die Anzeigebildwiederholfrequenz
und/oder Auflösung
zu ermöglichen.
-
6 zeigt
ein Flussdiagramm einer Ausführungsform
eines Verfahrens 600, um Hybridgrafikanzeige-Power-Management
gemäß einer
Ausführungsform
der Erfindung auszuführen.
Bei einer Ausführungsform
können
verschiedene Komponenten, die mit Bezug auf 1–5 und 7 beschrieben
sind, verwendet werden, um eine oder mehrere der Operationen auszuführen, die
unter Bezugnahme auf 6 beschrieben sind. Zum Beispiel
kann das Verfahren 600 verwendet werden, um die Quelle der
Bildframes zu ändern,
die auf dem Anzeigegerät 116,
gemäß den Anweisungen
der Logik 115 in den 1–5 oder 7,
anzuzeigen sind.
-
Bezug
nehmend auf 1–6, kann
bei einer Operation 602 eine Anzeige angesteuert werden
(z. B. Anzeigegerät 116 kann
vom Controller 114 durch die Logik 115 angesteuert
werden), um beispielsweise Einzelbilder, Video, usw. anzuzeigen.
Bei einer Operation 604 kann bestimmt werden, ob die Quelle
des Inhalts für
die Anzeige zu wechseln ist (z. B. basierend auf Daten, die im LFB 212 gespeichert sind,
Daten vom GFX 204, dem diskreten Grafikcontroller 206,
Prozessor 202, usw., wie unter Bezugnahme auf 1–5 beschrieben).
Wenn die Quelle gewechselt werden soll, kann eine Operation 606 den
Kontext beispielsweise durch das Speichern von Kontextwechsel-Daten
(wie z. B. unter Bezugnahme auf 3–4 beschrieben)
wechseln. Wenn kein Quellenwechsel auszuführen ist, kann eine Operation 608 bestimmen,
ob eine Anzeigeselbstauffrischung eintreten soll (z. B. die Ansteuerung
des Anzeigegeräts 116 basierend
auf Daten, die im LFB 212 gespeichert sind, anstatt von
Daten eines Grafikcontrollers, einem Prozessor, usw.). Wie hier
beschrieben können
verschiedene Situationen/Ereignisse eine Anzeigeselbstauffrischung
hervorrufen, einschließlich
beispielsweise des Vorhandenseins eines statischen Bildes für eine ausgewählte Zeitspanne. Wenn
keine Selbstauffrischung stattfinden soll, nimmt das Verfahren 600 mit
der Operation 602 wieder auf; andernfalls können bei
einer Operation 610 Bilddaten gespeichert werden (z. B.
durch den Controller 210 im LFB 212) und die Anzeige
wird basierend auf den lokal gespeicherten Daten angesteuert (z.
B. vom Controller 210 basierend auf Daten gespeichert im
LFB 212). Nachdem eine Operation 612 (z. B. Controller 210)
bestimmt, dass die Selbstauffrischung beendet wird (z. B. basierend
auf einer Änderung
der Daten, die an der Anzeige 116 auf Anweisung einer Logik
anzuzeigen sind (wie z. B. GFX 204, diskrete Grafik 206,
Prozessor 202, usw.)), kann eine Operation 614 eine
neue Quelle auswählen
(z. B. über
den Multiplexer 214, wie beschrieben unter Bezugnahme auf 2).
Andernfalls wird die Selbstauffrischung durch die Operation 616 aufrechterhalten.
-
7 zeigt
ein Computersystem 700, das gemäß einer erfindungsgemäßen Ausführungsform in
einer Punkt-zu-Punkt-(PtP)-Konfiguration angeordnet ist. Insbesondere
zeigt 7 ein System, in dem Prozessoren, Speicher und
Eingangs/Ausgangs-Geräte
durch eine Anzahl an Punkt-zu-Punkt-Schnittstellen verbunden sind.
Die Operationen, die mit Bezug auf 1–6 erörtert werden,
können
durch eine oder mehrere Komponenten des Systems 700 ausgeführt werden.
-
Wie
in 7 gezeigt, kann das System 700 mehrere
Prozessoren beinhalten, von denen der Klarheit wegen nur zwei, nämlich die
Prozessoren 702 und 704, gezeigt sind. Die Prozessoren 702 und 704 können jeweils
einen lokalen Memory-Controller-Hub (MCH) 706 und 708 beinhalten,
um die Kommunikation mit Speichern 710 und 712 zu
ermöglichen.
Bei einer Ausführungsform
kann der MCH 706 und/oder 708 ein wie unter Bezugnahme
auf 1 beschriebener GMCH sein. Die Speicher 710 und/oder 712 können verschiedene
Daten speichern, wie beispielsweise diejenigen, die mit Bezug auf
den Speicher 107 von 1 beschrieben
sind.
-
Bei
einer Ausführungsform
können
die Prozessoren 702 und 704 einer der Prozessoren 102 sein,
die mit Bezug auf 1. Die Prozessoren 702 und 704 können über eine Punkt-zu-Punkt-(PtP)-Schnittstelle 714 unter
Verwendung der PtP-Schnittstellenschaltungen 716 bzw. 718 Daten
austauschen. Die Prozessoren 702 und 704 können ebenfalls
jeweils Daten mit einem Chipsatz 720 über einzelne PtP-Schnittstellen 722 und 724 unter
Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 726, 728, 730 und 732 austauschen.
Der Chipsatz 720 kann weiter Daten mit einer Hochleistungsgrafikschaltung 734 über eine
Hochleistungsgrafikschnittstelle 736, z. B. unter Verwendung
einer PtP-Schnittstellenschaltung 737, austauschen. Bei
einer Ausführungsform
kann die Logik 115 im Chipsatz 720 bereitgestellt
werden, obwohl die Logik 115 an anderer Stelle innerhalb
des Systems 700, wie z. B. innerhalb von Prozessor(en) 702 und/oder 704,
innerhalb von MCH/GMCH 706 und/oder 708, usw.
(wie beispielsweise unter Bezugnahme auf 1 beschrieben)
bereitgestellt werden kann. Außerdem
kann einer oder mehrere der Kerne 105 und/oder Caches 106 von 1 innerhalb
der Prozessoren 702 und 704 untergebracht sein.
Andere erfindungsgemäße Ausführungsformen
können
jedoch in anderen Schaltungen, Logik-Einheiten oder Geräten innerhalb
des Systems 700 vorhanden sein. Des Weiteren können einige
erfindungsgemäße Ausführungsformen,
wie in 7 gezeigt, auf mehrere Schaltungen, Logik-Einheiten oder
Geräte
verteilt sein.
-
Der
Chipsatz 720 kann mit dem Bus 740 unter Verwendung
einer PtP-Schnittstellenschaltung 741 kommunizieren.
Der Bus 740 kann ein oder mehrere Geräte haben, die mit ihm kommunizieren,
wie beispielsweise eine Busbrücke 742 und
I/O-Geräte 743. Über einen
Bus 744 kann die Busbrücke 743 mit anderen
Geräten,
wie beispielsweise einer Tastatur/Maus 745, Kommunikationsgeräten 746 (wie
beispielsweise Modems, Netzwerk-Interface-Geräte oder andere Kommunikationsgeräte, die
mit dem Computernetzwerk 103 kommunizieren können), Audio-I/O-Geräten und/oder
Datenspeichergeräten 748,
kommunizieren. Die Datenspeichergeräte 748 können Code 749 speichern,
der durch die Prozessoren 702 und/oder 704 ausgeführt werden
kann.
-
Bei
vielen erfindungsgemäßen Ausführungsformen
können
die hier erörterten
Operationen, z. B. mit Bezug auf die 1–7,
als Hardware (z. B. eine Schaltung), Software, Firmware oder Kombinationen
davon implementiert werden, die als ein Computerprogramm-Produkt
bereitgestellt werden können,
z. B. einschließlich
einem maschinenlesbaren oder computerlesbaren Medium, auf dem Befehle (oder
Software-Verfahren)
gespeichert sind, die verwendet werden, um einen Computer so zu
programmieren, dass er einen hier erörterten Prozess ausführt. Des
Weiteren kann der Begriff „Logik” beispielsweise
Software, Hardware oder Kombinationen von Software und Hardware
enthalten. Das maschinenlesbare Medium kann ein Speichergerät, wie beispielsweise
diejenigen, die mit Bezug auf 1–7.
Zusätzlich
können
solche computerlesbaren Medien als ein Computerprogramm-Produkt
heruntergeladen werden, wobei das Programm von einem entfernten
Computer (z. B. einem Server) zu einem anfragenden Computer (z.
B. einem Client) über
einen Kommunikationslink (z. B. einen Bus, ein Modem oder eine Netzwerkverbindung) übertragen wird.
-
Die
Bezugnahme auf „eine
Ausführungsform” in der
Beschreibung bedeutet, dass eine bestimmte Funktion, Struktur oder
ein bestimmtes Merkmal, das in 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.
-
In
der Beschreibung und den Ansprüchen können auch
die Begriffe „gekoppelt” und „verbunden” gemeinsam
mit ihren Ableitungen verwendet werden. Bei einigen erfindungsgemäßen Ausführungsformen
kann „verbunden” verwendet
werden, um anzuzeigen, dass zwei oder mehrere Elemente in direktem
physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten,
dass zwei oder mehrere Elemente in direktem physischen oder elektrischen
Kontakt sind. „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.
-
Obwohl
somit erfindungsgemäße Ausführungsformen
sprachlich durch spezifische Strukturmerkmale und/oder methodische
Akte beschrieben wurden, versteht sich, dass der beanspruchte Gegenstand
nicht auf diese spezifischen Merkmale oder Akte beschränkt sein
kann. Vielmehr werden die spezifischen Merkmale und Akte als beispielhafte
Formen offenbart, die den beanspruchten Gegenstand implementieren.