-
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft einen virtuellen lokalen Speicher für einen
Grafikprozessor. Genauer betrifft die Erfindung das Verwenden eines
physikalischen Adreßraumes
für einen
Grafikprozessor, der Adressorte sowohl im Systemspeicher als auch
im lokalen Speicher für
die Grafik aufweist.
-
HINTERGRUND DER ERFINDUNG
-
Viele
Anwendungen bei Rechengeräten,
die Grafik und Video hervorheben, sind bei den heutigen Grafikprozessoren
komplex und speicherintensiv geworden. Zusätzlich sind viele Rechengeräte in Größe und Preis
aus Gründen
der Mobilität
ebenso wie aus vielen anderen Gründen
drastisch verringert worden. Obwohl die Leistungsfähigkeit
und Preisfaktoren sich anscheinend ausgleichen, erwarten Endbenutzer weiter
hohe Leistungsfähigkeit
bei der Grafik zu einem angemessenen Preis.
-
Rechengeräte zu mäßigen Preisen
zeigen typischerweise aus einer Anzahl von Gründen gegenüber Spitzengeräten eine
Verringerung in der Leistungsfähigkeit,
was die Grafik betrifft. Ein Grund liegt darin, daß der zentrale
Prozessor in einem Gerät Systemspeicher
mit dem Grafikprozessor gemeinsam nutzen muß, um die Kosten für Speicherkomponenten
einzufrieren. Grafiksysteme am oberen Ende haben typischerweise
ihren eigenen getrennten lokalen Speicher für die Grafik, dessen Speichergröße kleiner
ist, der jedoch üblicherweise
eine viel größere Bandbreite
hat als ein Systemspeicher. Weiterhin haben grafikintensive Anwendungen
zunehmend nicht nur einen hochleistungsfähigen Speicher erfordert, sondern
auch größere Mengen
desselben.
-
Somit
haben Computerbenutzer heute eine Wahl, wenn es um die grafische
Leistungsfähigkeit bei
Rechengeräten
geht, entweder die hohen Kosten zu zahlen, die mit lokalem Speicher
für Grafik
verbunden sind, oder Leistungsfähigkeit
bei der Grafik zu verlieren, wenn weniger für ein Rechengerät nur mit einem
Systemspeicher gezahlt wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird beispielhaft veranschaulicht und ist
nicht durch die Figuren der beigefügten Zeichnungen beschränkt, in
denen gleiche Bezugsziffern ähnliche
Elemente angeben und in denen:
-
1 ein
Blockschaubild eines Computersystems ist, das eine Ausführungsform
eines virtuellen lokalen Speichers für einen Grafikprozessor implementiert.
-
2 ist
ein Blockschaubild eines Computersystems, das eine Ausführungsform
des virtuellen lokalen Speichers für einen Grafikprozessor implementiert.
-
3 ist
ein Blockschaubild eines Computersystems, das noch eine weitere
Ausführungsform eines
virtuellen lokalen Speichers für
einen Grafikprozessor implementiert.
-
4 ist
ein Blockschaubild eines Computersystems, das noch eine weitere
Ausführungsform eines
virtuellen lokalen Speichers für
einen Grafikprozessor implementiert.
-
5 beschreibt
eine Ausführungsform
des Speichereinsatzes eines Computersystems, das einen virtuellen
lokalen Speicher für
einen Grafikprozessor implementiert.
-
6 ist
ein Ablaufdiagramm einer Ausführungsform
eines Verfahrens für
einen Grafikprozessor, der auf einen Systemspeicher und auf einen
lokalen Speicher für
Grafik in einer zufälligen,
verschachtelnden Reihenfolge zugreift.
-
7 beschreibt
eine Ausführungsform
eines virtuellen lokalen Speichers für Grafik, der in 50% lokalen
Speicher für
Grafik und 50% aus Systemspeicher aufgeteilt ist.
-
8 beschreibt
eine Ausführungsform
eines virtuellen lokalen Speichers für Grafik, der in 75% lokalen
Speicher für
Grafik und 25% aus Systemspeicher aufgeteilt ist.
-
9 beschreibt
eine Ausführungsform
eines virtuellen lokalen Speichers für Grafik, der in 67% lokalen
Speicher für
Grafik und 33% Systemspeicher aufgeteilt ist.
-
GENAUE BESCHREIBUNG DER ERFINDUNG
-
Ausführungsformen
eines virtuellen lokalen Speichers für einen Grafikprozessor werden
offenbart. In der folgenden Beschreibung sind zahlreiche bestimmte
Einzelheiten aufgeführt.
Es wird jedoch verstanden, daß Ausführungsformen
ohne diese bestimmten Einzelheiten in die Praxis umgesetzt werden
können.
In anderen Fällen
sind gut bekannte Elemente, Spezifikationen und Protokolle nicht
in Einzelheiten diskutiert worden, um das Verschleiern der Erfindung
zu vermeiden.
-
Das
Implementieren eines virtuellen lokalen Speichers für einen
Grafikprozessor kann in effektiver Weise das Problem milder, daß es einem
Benutzer abfordert, zwischen den hohen Kosten einer Rechenvorrichtung
mit lokalem Speicher für
Grafik und der geringen Leistungsfähigkeit einer Rechenvorrichtung
nur mit Systemspeicher zu wählen.
Ausführungsformen
eines virtuellen lokalen Speichers geben dem Grafikprozessor die
Möglichkeit,
sowohl lokalen Speicher für
Grafik als auch Systemspeicher gleichzeitig zu verwenden, um einen
guten Ausgleich bei den Kosten für
Grafik und die Leistungsfähigkeit zu
erzeugen. Ein virtueller lokaler Speicher synthetisiert die äquivalente
Bandbreite eines reinen lokalen Grafikspeichers für Grafik,
z. B. mit zwei Kanälen,
indem eine geringere Menge an Grafikspeicher, z. B. ein Kanal, und
Systemspeicher verwendet wird. Bei der einfachsten VLM-Option kommt
eine Hälfte
der erforderlichen Bandbreite vom Kanal des lokalen Grafikspeichers
und eine Hälfte
kommt vom Systemspeicher.
-
Das
Konzept hinter dem virtuellen lokalen Speicher ist dasselbe wie
bei einer vereinheitlichten Speicherarchitektur (System + Grafikspeicher),
welche physikalische Ressourcen zwischen Prozessor und Grafik gemeinsam
nutzt, um die Kosten zu verringern, wobei die Tatsa che ausgenutzt
wird, daß Prozessor
und Grafik nicht immer gleichzeitig die Spitzenbandbreite benötigen. Jedoch
hat ein virtueller lokaler Speicher zwei wichtige Unterschiede gegenüber der
vereinheitlichten Speicherarchitektur.
-
Zunächst trägt ein virtueller
lokaler Speicher einen gewissen physikalischen Speicher bei, der ausschließlich für Grafik
verfügbar
ist, um die Anzahl der erforderlichen Kanäle mit doppelter Datenrate (DDR – Double
Data Rate) zu verringern. Ein Kanal mit doppelter Datenrate für Grafik
(GDDR – Graphics Double
Data Rate) liegt in der Geschwindigkeit zwischen dem 1.5-fachen
und dem 2-fachen eines DDR-Kanals (für vergleichbare Technologien)
und ist leichter auf einer Plattform unterzubringen, und dies zu
geringeren Kosten als für
zwei Ersatzkanäle
eines DDR-Speichers. Zweitens, obwohl ein virtueller lokaler Speicher
die physikalischen Ressourcen von Prozessor und Grafik gemeinsam
nutzt, nutzt er nicht gleichzeitig den Adreßraum. Der Prozessor und die Grafik
haben getrennte Adreßräume.
-
1 ist
ein Blockschaubild eines Computersystems, das eine Ausführungsform
eines virtuellen lokalen Speichers für einen Grafikprozessor implementiert.
Bei einer Ausführungsform
enthält
das Computersystem einen zentralen Prozessor 100 und einen
Chipsatz 102. Eine Verbindung 104, die sowohl mit
dem zentralen Prozessor 100 als auch mit dem Chipsatz 102 gekoppelt
ist, wird für
die Kommunikation zwischen diesen beiden Agenten eingesetzt. Die Verbindung 104 umfaßt bestimmte
Verbindungsleitungen, die Information über Schiedsverhandlungen, Adressen,
Daten und Steuerung senden (nicht gezeigt). Bei einer weiteren Ausführungsform
gibt es mehrere zentrale Prozessoren, die mit der Verbindung 104 gekoppelt
sind (in dieser Figur sind mehrere Prozessoren nicht gezeigt).
-
Ein
Controller 106 für
den Systemspeicher, bei einer Ausführungsform auf dem Chipsatz 102 integriert,
sorgt für
den Zugriff des zentralen Prozessors 100 auf das Untersystem 108 des
Systemspeichers durch eine Verbindung 110. Bei einer Ausführungsform
ist ein Grafikprozessor 112 auf dem Chipsatz 102 integriert.
Weiter sorgt bei einer Ausführungsform
ein Controller 114 für
den lokalen Speicher für
die Grafik, auch auf dem Chipsatz 102 integriert, für den Zugriff
des Grafikprozessors 112 auf das Untersystem 116 des
lokalen Speichers für
die Grafik durch eine Verbindung 118.
-
Bei
einer Ausführungsform
hat das Computersystem zwei Kanäle
für den
Systemspeicher 108 (Ch 1 und Ch 2) und zwei Kanäle für den lokalen Speicher 116 für die Grafik
(Ch 1 und Ch 2). Bei verschiedenen Ausführungsformen kann der Controller 106 für den Systemspeicher
mit einem, zwei, drei, vier oder mehr Kanälen des Systemspeichers gekoppelt
sein und der Controller 114 für den lokalen Speicher für die Grafik
kann mit einem, zwei, drei, vier oder mehreren Kanälen des
lokalen Speichers für
die Grafik gekoppelt sein. Die Verbindungen 110 und 118 umfassen
bestimmte Verbindungsleitungen, die Information über Schiedsverfahren, Adressen,
Daten und Steuerung senden (nicht gezeigt). Information, Befehle
und weitere Daten können
in den Kanälen
1 und 2 des Systemspeichers 108 zur Verwendung von dem
zentralem Prozessor 100, dem Grafikprozessor 112 ebenso
wie von anderen möglichen
Vorrichtungen gespeichert sein. Weiterhin können Information, Befehle und
weitere Daten in den Kanälen
1 und 2 des lokalen Speichers 114 für die Grafik zur Verwendung
von dem Grafikprozessor 110 gespeichert sein. Bei einer
weiteren Ausführungsform
gibt es keinen lokalen Speicher 114 für die Grafik, somit sind die
Kanäle
1 und 2 des Systemspeichers 108 der einzige Speicherplatz,
den der Grafikprozessor 112 verwenden kann. Diese Ausgestaltung
ist für
die Leistungsfähigkeit
des Grafikspeichers nicht optimal, da die Verbindung 110 die
einzige Verbindung zwischen dem Grafikprozessor 112 und
dem Systemspeicher 108 ist. Bei dieser Ausführungsform
werden die Verbindung 110 und der Systemspeicher 108 gemeinsam
mit dem zentralen Prozessor 100 benutzt, somit hat der
Grafikprozessor 112 weder besonderen Speicherkanäle, noch
hat er einen schnellen Speicher (ein Systemspeicher hat im allgemeinen
eine geringere Bandbreite als ein lokaler Speicher für Grafik
bei Schnittstellen gleicher Bereite). Daher ist es aus Gründen der
Leistungsfähigkeit
hilfreich, wenn der Grafikprozessor 112 einen oder mehrere
besondere Kanäle
des lokalen Speichers für
Grafik verwendet.
-
Somit
hat bei einer Ausführungsform
das Computersystem einen lokalen Speicher für Grafik und der Grafikprozessor 112 nutzt
nur den lokalen Speicher 116 für Grafik zum Speichern von
Information. Um diesen Grafikprozessor mit angemessener Speicherbandbreite
zu ver sorgen, kann es ein Erfordernis nach zwei oder mehr Kanälen des
lokalen Speichers für
Grafik geben, so daß es
vom Speicher her keine Beschränkung
der Leistungsfähigkeit
gibt. Lokaler Speicher für
Grafik hat im allgemeinen eine höhere
Bandbreite für
eine Schnittstelle gleicher Breite als ein Systemspeicher (wie oben
diskutiert), somit ist er üblicherweise
bezogen auf ein Megabyte teurer als eine gleiche Größe an Systemspeicher. Daher
ist diese Lösung
für die
Leistungsfähigkeit
des Grafikspeichers hilfreich, würde
jedoch im allgemeinen mehr kosten als die Ausführungsform, die nur den Systemspeicher
implementiert.
-
Somit
verwendet bei einer weiteren Ausführungsform der Grafikprozessor 112 sowohl
den Systemspeicher 108 als auch den lokalen Speicher 116 für Grafik,
um Information zu speichern. Bei dieser Ausführungsform zieht der Grafikprozessor 112 seinen
Nutzen aus der Geschwindigkeit eines oder mehrerer Kanäle des lokalen
Speichers für
Grafik, die von dem einen oder den mehreren Kanälen des Systemspeichers unterstützt werden,
um die Gesamtanzahl der nötigen
Kanälen
des lokalen Speichers für
Grafik klein zu halten. Daher ermöglicht es das Verwenden von
Bandbreite des Systemspeichers, um die Bandbreite des lokalen Speichers
für Grafik
zu unterstützen,
dem Computersystem, weniger lokalen Speicher für Grafik zu haben, während die
Gesamtforderung an Bandbreite für
Grafik eingehalten wird, um die Leistungsfähigkeit zu halten.
-
2 ist
ein Blockschaubild eines Computersystems, das eine weitere Ausführungsform
eines virtuellen lokalen Speichers für einen Grafikprozessor implementiert.
Die Beschreibung des Computersystems der 1 gilt weitgehend
ebenso für
die 2. Weiterhin beschreibt die 2 ein
System mit einem einzigen Chip. Bei dieser Ausführungsform sitzen der zentrale
Prozessor 202 und der Chipsatz 204 auf demselben
Chip 200. Ansonsten arbeitet das Computersystem der 2 ähnlich wie
das Computersystem, das in Einzelheiten in der 1 beschrieben
ist.
-
3 ist
ein Blockschaubild eines Computersystems, das noch eine weitere
Ausführungsform eines
virtuellen lokalen Speichers für
einen Grafikprozessor implementiert. Die Beschreibung des Computersystems
in 1 gilt weitgehend ebenso für die 3. Weiterhin beschreibt
die 3 ein Computersystem, das einen zentralen Prozessor 302 und
einen Grafikprozessor 304 auf einem einzigen Chip 300 enthält. Der
zentrale Prozessor 302 und der Grafikprozessor 304 kommunizieren
mit einem Chipsatz 306 durch eine Verbindung 308.
Der Controller 310 des Systemspeichers und der Controller 316 des lokalen
Speichers für
Grafik befinden sich beide auf dem Chipsatz 306, um für Zugriff
auf den Systemspeicher durch die Verbindung 314 bzw. auf
den lokalen Speicher 318 für Grafik durch die Verbindung 320 zu
sorgen.
-
4 ist
ein Blockschaubild eines Computersystems, das noch eine weitere
Ausführungsform eines
virtuellen lokalen Speichers für
einen Grafikprozessor implementiert. Bei einer Ausführungsform enthält das Computersystem
einen zentralen Prozessor 400. Bei dieser Ausführungsform
ist der Controller 402 des Systemspeichers auf dem zentralen
Prozessor 400 integriert, um durch die Verbindung 406 für Zugriff
auf dem Systemspeicher 404 zu sorgen. Bei einer Ausführungsform
enthält
das Computersystem auch einen Chipsatz 408. Die Verbindung 410 stellt
eine Kommunikationsverbindung zwischen dem zentralen Prozessor 400 und
dem Chipsatz 408 zur Verfügung. Bei einer Ausführungsform
ist ein Grafikprozessor 412 auf dem Chipsatz 408 integriert.
Bei einer Ausführungsform
ist auch ein Controller für
den lokalen Speicher für
Grafik auf dem Chipsatz 408 integriert, um für den Zugriff
auf den lokalen Speicher 416 für Grafik durch die Verbindung 418 zu
sorgen. Die Verbindungen 406, 410, und 418 werden
alle für die
Kommunikation zwischen Komponenten verwendet. Diese Verbindungen
umfassen bestimmte Verbindungsleitungen, die Information über Schiedsverhandlungen,
Adressen, Daten und Steuerung senden (nicht gezeigt). Wieder gibt
es bei einer weiteren Ausführungsform
mehrere zentrale Prozessoren, die sich in dem Computersystem befinden
und mit Verbindungen 406 und 410 gekoppelt sind
(in dieser Figur sind mehrere Prozessoren nicht gezeigt).
-
Bei
einer weiteren Ausführungsform
befinden sich der Grafikprozessor und der Controller für den lokalen
Speicher für
Grafik auf demselben integrierten Chip wie der zentrale Prozessor
(nicht gezeigt). Bei dieser Ausführungsform
hat der lokale Speicher für
Grafik eine direkte Verbindung zu diesem integrierten Chip. Bei
dieser Ausführungsform befindet
sich der Con troller für
den Systemspeicher auf dem Chipsatz und der Systemspeicher hat eine direkte
Verbindung zu dem Chipsatz. Zusätzlich
kommuniziert bei dieser Ausführungsform
der integrierte Chip (der den zentralen Prozessor, den Grafikprozessor
und den Controller für
den lokalen Speicher für
Grafik enthält)
mit dem Chipsatz (welcher den Controller für den Systemspeicher enthält) über eine gemeinsame
Verbindung, die mit beiden Bauelementen gekoppelt ist.
-
5 beschreibt
eine Ausführungsform
des Speichereinsatzes in einem Computersystem, das einen virtuellen
lokalen Speicher für
einen Grafikprozessor implementiert. Bei dieser beispielhaften Ausführungsform
hat der Grafikprozessor alleinige Verwendung sowohl des Kanals 1
für den
lokalen Speicher für
Grafik als auch des Kanals 2 des lokalen Speichers für Grafik
(wie es mit den schraffierten Orten 0 bis x für beide Kanäle gezeigt ist). Zusätzlich hat
der Grafikprozessor die alleinige Verwendung eines Teiles des Systemspeichers
(wie es mit den schraffierten Orten m bis m + n für beide
Kanäle
gezeigt ist). Somit ist bei dieser Ausführungsform, beginnend am Ort
m in jedem Kanal des Systemspeichers, ein Block von n Orten des
Systemspeichers für die
alleinige Verwendung durch den Grafikprozessor reserviert. Der Adreßraum des
virtuellen lokalen Speicher für
Grafik zeigt die virtuellen Adressorte, die der Grafikprozessor
links (0 – z
bei diesem Beispiel) und die physikalischen Adressorte rechts sieht,
die den tatsächlichen
Orten in den Kanälen
des lokalen Speichers für
Grafik und den Kanälen
des Systemspeichers entsprechen. Somit entspricht die virtuelle Adresse
0 dem Kanal 1 des lokalen Speicher für Grafik-Adresse 0, die virtuelle
Adresse 1 entspricht dem Kanal 2 des lokalen Speichers für Grafik-Adresse
0, virtuelle Adresse 3 entspricht dem Kanal 1 des Systemspeichers-Adresse
m und so weiter. In diesem Fall ist n = x. Bei diesem Beispiel würde für einen
linearen Zugriffsstrom der Grafikprozessor im Mittel mit ungefähr 50% aller
Speicherzugriffe auf den lokalen Speicher für Grafik zugreifen und mit
den verbleibenden 50% aller Speicherzugriffe auf den Systemspeicher
zugreifen. Die Prozentanteile sind basierend auf der Nutzung des
virtuellen Speicherraums, der bei dieser beispielhaften Ausführungsform
implementiert ist, abgeschätzt.
Die Zugriffsmuster auf Systemspeicher und lokalen Speicher für Grafik
sind gemittelt, da es kein zeitlich basiertes sequentielles Muster
gibt, das sie exakt machen würde.
Die Prozentanteile für
den Zugriff auf Speicherkanal würden exakt
sein, wenn die gesamten virtuellen Speicherorte belegt waren und
wenn es ein gleichförmiges Zugriffsmuster
gäbe, das
auf alle virtuellen Speicherorte gleich oft zugreifen würde. Bei
einer Anwendung in der tatsächlichen
Welt ist ein gleichförmiges
Zugriffsmuster selten der Fall, somit wird ein mittlerer Prozentanteil
für den
Zugriff basierend auf einer Verteilung der Orte des Kanals des lokalen
Speichers für Grafik
und der Orte des Kanals des Systemspeichers in einem virtuellen
Adreßraum
abgeschätzt.
Somit stellen diese mittleren Prozentanteile für den Zugriff ein verschachteltes
Muster der Zugriffe durch den Grafikprozessor auf den einen oder
die mehreren Kanäle
des Systemspeichers und den einen oder die mehreren Kanäle des lokalen
Speichers für
Grafik dar. Eine Aufteilung der Bandbreite zwischen dem lokalen
Speicher für
Grafik und dem Systemspeicher ist das Ergebnis. Ein Fachmann wird
erkennen, daß das
Verschachteln der Adressen über
die Einheitsortgranularität,
die gezeigt ist, hinaus verallgemeinert werden kann, um weitere
Granularitäten
des Verschachtelns einzuschließen,
z. B. mit Blöcken
für zwei
Orte.
-
6 ist
ein Ablaufdiagramm einer Ausführungsform
eines Verfahrens für
einen Grafikprozessor, auf Systemspeicher und lokalen Speicher für Grafik
in einer zufälligen,
verschachtelten Reihenfolge zuzugreifen. Dieses Verfahren wird durch
Prozeßlogik
durchgeführt,
die Hardware (Schaltung, besondere Logik usw.), Software (so wie
sie auf einem universellen Computersystem oder einer besonderen Maschine
läuft)
oder eine Kombination aus beiden aufweisen kann. Bei einer Ausführungsform
befindet sich die Prozessorlogik innerhalb eines Chipsatzes, der
einen integrierten Grafikprozessor hat. Mit Bezug auf die 6 beginnt
das Verfahren damit, daß die Prozeßlogik eine
Anfrage auf Speicherzugriff für
einen Ort in dem Adreßraum
des virtuellen lokalen Speichers für Grafik empfängt (Prozeßblock 600). Als
nächstes
verarbeitet die Prozeßlogik
die Zugriffsanfrage, indem die physikalische Adresse nachgeschlagen
wird, die durch die Adresse des virtuellen lokalen Speichers dargestellt
ist (Prozeßblock 602). Die
Beziehung zwischen der physikalischen Adresse und der Adresse des
virtuellen lokalen Speichers ist oben mit Bezug auf die 5 beschrieben.
Dann erhält
die Prozeßlogik
die Nachschlageergebnisse und stellt fest, ob der angefragte Zugriff
auf einen Kanal des Systemspeichers oder einen Kanal des lokalen Speichers
für Grafik
geschehen soll (Prozeßblock 604).
Wenn die Prozeßlogik
feststellt, daß der
Zugriff auf einen Kanal des lokalen Speichers für Grafik geschehen soll, dann
verschiebt die Prozeßlogik
die virtuelle Adresse an die entsprechende Adresse des lokalen Speichers
für Grafik
und schließt
den Speicherzugriff ab (Prozeßblock 606).
Ansonsten, wenn die Prozeßlogik
feststellt, daß der
Zugriff auf einen Kanal des Systemspeichers geschehen soll, dann
verschiebt die Prozeßlogik
die virtuelle Adresse an die entsprechende Adresse des lokalen Speichers
für Grafik
und schließt
den Speicherzugriff ab (Prozeßblock 608),
und der Prozeß ist
beendet.
-
Die 7 bis 9 beschreiben
unterschiedliche beispielhafte Ausführungsformen möglicher
Aufteilungen von lokalem Speicher für Grafik und Systemspeicher
im virtuellen Adreßraum.
Die Beschreibung des Computersystems gemäß 4 gilt ebenso
für die
Computersysteme gemäß den 7–9.
Die 7–9 haben
alle die Speichercontroller und die Funktionalität, die in 4 beschrieben
ist, sie sind jedoch aus Gründen
der Zweckmäßigkeit
vereinfacht.
-
7 beschreibt
eine Ausführungsform
eines aktuellen lokalen Speichers für Grafik, der in 50% lokalen
Speicher für
Grafik und 50% Systemspeicher aufgeteilt ist. Bei dieser Ausführungsform
kommt die Hälfte
der Bandbreite für
Grafik von dem lokalen Speicher des Grafikprozessors und die Hälfte kommt vom
Systemspeicher über
eine Verbindung 700. Bei einer Ausführungsform besteht der Systemspeicher 702 aus
zwei Kanälen
eines DDR3(doppelte Datenrate 3 – Double Data Rate 3)-Speichers
und der lokale Speicher 740 für Grafik besteht aus einem
Kanal GDDR(doppelte Datenrate für
Grafik – Graphics Double
Data Rate)-Speicher.
Bei einer Gestaltung dieser Ausführungsform
hat der GDDR-Kanal das Doppelte der Bandbreitenkapazität jedes
Kanals des DDR3-Speichers für
die Nutzung durch den Grafikprozessor (d. h. wenn GDDR eine Einheit
Bandbreite ist, dann ist jeder DDR3 0.5 Einheiten Bandbreite). Somit
kommt bei dieser Gestaltung 50% der Speicherbandbreite des Grafikprozessors
von den beiden Kanälen
des DDR3-Systemspeichers und die anderen 50% kommen von dem einen
GDDR-Kanal des lokalen Speichers für Grafik. Diese besondere Gestaltung
hat zwei Nachteile: Die Spitzenbandbreite bei jedem der Kanäle des Grafikspeichers
muß das
Zweifache der jedes Kanals des Systemspeichers sein; und wenn die
Grafik die volle Bandbreite nutzt, gibt es keine Systembandbreite,
die für
die CPU verfügbar
wäre. Der
erste Nachteil kann behandelt werden, indem irgendeine Kombination
der Geschwindigkeiten des Ka nals des Systemspeichers (z. B. DDR3)
und des Kanals des Grafikspeichers (z. B. GDDR) verwendet wird.
In diesem Fall jedoch kann entweder der Systemspeicher oder der
Grafikspeicher unterfordert sein, abhängig von dem Anteil der Bandbreite
von Grafik zu Systemspeicher. Der zweite Nachteil kann behandelt
werden, indem die Spitzenbandbreite des Kanals des Systemspeichers
größer als
die Hälfte
der Spitzenbandbreite des Kanals des Grafikspeichers gemacht wird.
Wenn somit der lokale Speicher für
Grafik voll genutzt wird, wird es noch Kapazität bei der Bandbreite geben,
die von den Kanälen
des Systemspeichers genutzt werden kann ist, um die CPU zu bedienen.
-
8 beschreibt
eine Ausführungsform
eines virtuellen lokalen Speichers für Grafik, der in 75% lokalen
Speicher für
Grafik und 25% Systemspeicher aufgeteilt ist. Somit kommen bei dieser
beispielhaften Ausführungsform
drei Viertel der Grafikbandbreite von dem Speicher, der für den Grafikprozessor
lokal ist, und ein Viertel kommt von dem Systemspeicher über eine
Verbindung 800. Bei dieser beispielhaften Ausführungsform
besteht ein Systemspeicher 802 aus zwei Kanälen des
DDR3-Speichers, und der lokale Speicher 804 für Grafik
besteht aus einem Kanal des DDR-Speichers und einem Kanal des GDDR-Speichers.
Diese Ausführungsform
fügt mehr Speicherbandbreite
hinzu, die für
den Grafikprozessor lokal ist, um Störungen bei dem zentralen Prozessor
zu verringern.
-
Bei
dieser beispielhaften Ausführungsform hat
der GDDR-Kanal das Doppelte der Bandbreitenkapazität des DDR-Kanals
des lokalen Speichers für Grafik,
die der Grafikprozessor verwenden kann (d. h. wenn GDDR eine Einheit
Bandbreite ist, dann ist der DDR des lokalen Speichers für Grafik
0.5 Einheiten Bandbreite). Dieser DDR des lokalen Speichers kann
billiger als der GDDR sein, da er weniger Bandbreite hat, und gleichzeitig
billiger als ein Kanal des Systemspeichers, da weniger Kapazität für den Systemspeicher
erforderlich ist und somit weniger Speichereinheiten erforderlich
sind. Weiterhin liefert jeder DDR3-Kanal des Systemsspeichers die
Hälfte
der Bandbreite des DDR-Kanals des lokalen Speichers für Grafik,
die der Grafikprozessor verwenden kann (d. h. wenn der DDR des lokalen
Speichers für
Grafik 0.5 Einheiten Bandbreite ist, dann liefert jeder DDR3-Kanal
des Systemspeichers 0.25 Einheiten Bandbreite). Somit kommen bei
dieser beispielhaften Ausführungsform
25% der Speicherbandbreite des Grafikprozessors von den beiden DDR3-Kanälen des Systemspeichers
und die anderen 75% kommen von dem GDDR-Kanal des lokalen Speichers
für Grafik und
dem DDR-Kanal des lokalen Speichers für Grafik. Bei diesem Beispiel,
da die DDR3-Kanäle
nur 25% der gesamten Bandbreite des Grafikspeichers liefern, gibt
es potentiell mehr Bandbreite, die für die CPU verfügbar ist,
da die Spitzenbandbreite des DDR3-Kanals des Speichers ungefähr die Hälfte der Spitzenbreite
des GDDR-Kanals des Speichers ist. Weitere Variationen sind auch
möglich,
bei denen der DDR des lokalen Grafikspeichers ein langsamerer, billigerer
Speicher als der Systemspeicher ist, so daß die Systemkosten verringert
werden.
-
9 beschreibt
eine Ausführungsform
eines virtuellen lokalen Speichers für Grafik, der in 67% lokalen
Speicher für
Grafik und 33% Systemspeicher aufgeteilt ist. Somit kommen bei dieser
beispielhaften Ausführungsform
zwei Drittel der Bandbreite für
Grafik von einem Speicher, der für
den Grafikprozessor lokal ist, und ein Drittel kommen über eine
Verbindung 900 vom Systemspeicher. Bei dieser beispielhaften
Ausführungsform
besteht der Systemspeicher 902 aus zwei Kanälen des
DDR3-Speichers, und der lokale Speicher 904 für Grafik
besteht aus zwei Kanälen
des GDDR-Speichers. Diese Ausführungsform fügt wieder
mehr Speicherbandbreite hinzu, die für den Grafikprozessor lokal
ist, um das Leistungsvermögen
der Grafik zu verbessern.
-
Bei
dieser beispielhaften Ausführungsform hat
jeder GDDR-Kanal des lokalen Speichers für Grafik das Doppelte der Bandbreitenkapazität jedes der
DDR3-Kanäle
des Systemspeichers, die der Grafikprozessor nutzen kann (d. h.
wenn ein GDDR-Kanal eine Einheit Bandbreite ist, dann ist jeder DDR3-Kanal
0.5 Einheiten Bandbreite). Somit kommen bei dieser beispielhaften
Ausführungsform
33% der Speicherbandbreite des Grafikprozessors von den beiden DDR3-Kanälen des
Systemspeichers und die anderen 67% kommen von den zwei GDDR-Kanälen des
lokalen Speichers für
Grafik. Wie im Zusammenhang mit der 7 kann diese Ausführungsform
verallgemeinert werden, so daß sie jedes
Verhältnis
von Bandbreiten von GDDR- zu DDR3-Kanal haben kann.
-
Alle
gezeigten Optionen können
für irgendeine
der Topologien wiederholt werden, die in den 1 bis 4 gezeigt
und im Zusammenhang mit diesen Figuren beschrieben sind.
-
Somit
werden Ausführungsformen
eines virtuellen lokalen Speichers für einen Grafikprozessor offenbart.
Diese Ausführungsformen
sind mit Bezug auf bestimmte beispielhafte Ausführungsformen beschrieben. Es
wird jedoch den Personen, die den Nutzen aus dieser Offenbarung
ziehen, offensichtlich sein, daß verschiedene
Modifikationen und Änderungen
an diesen Ausführungsformen
vorgenommen werden können,
ohne daß man
sich vom weiteren Gedanken und Umfang der hierin beschriebenen Ausführungsformen
entfernt. Die Beschreibung und die Zeichnungen sollen demgemäß veranschaulichend
anstatt in einem einschränkenden
Sinne betrachtet werden.
-
ZUSAMMENFASSUNG
-
Eine
Vorrichtung, ein Verfahren und ein System werden offenbart. Bei
einer Ausführungsform weist
die Vorrichtung einen oder mehrere lokale Kanäle für einen lokalen Grafikspeicher,
einen oder mehrere Kanäle
eines Systemspeichers und einen Grafikprozessor auf, der so betrieben
wird, daß er
auf den einen oder die mehreren Kanäle des lokalen Grafikspeichers
für die
Grafik und auf den einen oder die mehreren Kanäle des Systemspeichers verschachtelnd
zugreift.