PatentDe  


Dokumentenidentifikation DE10039313A1 12.04.2001
Titel Grafikkarte und Verfahren zum Betrieb einer Grafikkarte
Anmelder ELSA AG, 52070 Aachen, DE
Erfinder Waldorf, Thomas, 50259 Pulheim, DE
Vertreter Kohlmann, K., Dipl.-Ing., Pat.-Anw., 52078 Aachen
DE-Anmeldedatum 11.08.2000
DE-Aktenzeichen 10039313
Offenlegungstag 12.04.2001
Veröffentlichungstag im Patentblatt 12.04.2001
IPC-Hauptklasse G06T 1/60
IPC-Nebenklasse G06F 3/14   
Zusammenfassung Die Erfindung betrifft ein Verfahren zum Betrieb einer Grafikkarte mit einem Grafikspeicher mit selbständigen Grafikfunktionen an einem Grafikprozessor, der die Grafikfunktionen des Grafikspeichers nicht unterstützt sowie eine Grafikkarte zum Anschluß eines Bildschirms an einen Computer mit einem keine selnständigen Grafikfunktionen eines Grafikspeichers unterstützenden Grafikprozessor sowie einem Bus zwischen Grafikprozessor und Grafikspeicher.
Um den Betrieb eines Grafikspeichers mit selbständigen Grafikfunktionen unter Nutzung dieser Funktionen an einem Grafikprozessor zu ermöglichen, der keine Grafikfunktionen des Grafikspeichers unterstützt, wird erfindungsgemäß vorgeschlagen, daß die Steuersignale des Grafikprozessors für Zugriffe auf den Grafikspeicher in Steuersignalsequenzen für die Auslösung der Grafikfunktionen des Grafikspeichers umgewandelt werden, in dem Zugriffe auf mindestens einen reservierten Speicherbereich des Adressraumes des Grafikprozessors entschlüsselt und im Falle eines Zugriffs auf diesen reservierten Speicherbereich die Steuersignalsequenzen erzeugt werden.
Zur Ausführung dieses Verfahrens weist die Grafikkarte eine einen Adressdecoder, einen Zustandsautomaten und einen Multiplexer enthaltende Zusatzlogik und der Adreßraum des Grafikprozessors mindestens einen reservierten Speicherbereich auf.

Beschreibung[de]

Die Erfindung betrifft ein Verfahren zum Betrieb einer Grafikkarte mit einem Grafikspeicher mit selbständigen Grafikfunktionen an einem Grafikprozessor, der die selbständigen Grafikfunktionen des Grafikspeichers nicht unterstützt sowie eine Grafikkarte zum Anschluß eines Bildschirms an einen Computer mit einem keine selbständigen Grafikfunktionen eines Grafikspeichers unterstützenden Grafikprozessor sowie einem Bus zwischen Grafikprozessor und Grafikspeicher.

Die Grafikkarte ist eine Hardwarekomponente des Computers, die zur Aufbereitung aller Daten, die für die Bildschirmausgabe von Bedeutung sind, verwendet wird. Moderne Grafikkarten bestehen im wesentlichen aus einem Grafikprozessor, einem eigenen Arbeitsspeicher, auch als Grafikspeicher bezeichnet, sowie ggf. aus einem RAMDAC, sofern die Grafikkarte zum Anschluß eines analogen Bildschirms vorgesehen ist.

a) Der Grafikprozessor

Der Grafikprozessor steuert den Grafikspeicher, die Zugriffe auf den Adress- und Datenbus zum Grafikspeicher und bestimmt die Bildschirmausgabe. Entscheidend für die Leistung der Grafikkarte ist die Geschwindigkeit, mit der der Grafikprozessor auf den Grafikspeicher zugreifen bzw. dort Änderungen der Speicherinhalte vornehmen kann. Die Geschwindigkeit hängt in erster Linie vom Takt des Grafikprozessors ab.

b) Der Grafikspeicher

Als Grafikspeicher kommen asynchrone Speicher (z. B. FP- DRAM/EDO DRAM) sowie synchron zum Takt des Grafikprozessors arbeitende Speicher(z. B. SDRAM) zum Einsatz. Die Größe des Grafikspeichers bestimmt, welche Auflösung bei welcher Farbtiefe dargestellt werden kann.

Der Datenbus ist Bestandteil des Busses zwischen Grafikprozessor und Grafikspeicher, der als weitere Bestandteile noch den Adreßbus sowie einen Steuerbus aufweist. Über den Datenbus werden Daten, über den Steuerbus Steuersignale und den Adreßbus Adressen zwischen dem Grafikprozessor und dem Grafikspeicher ausgetauscht. Durch die Breite des Datenbusses, dies ist die Anzahl der gleichzeitig übertragbaren Bits, wird die Leistungsfähigkeit wesentlich mitbestimmt. Aktuell übliche Breiten sind 64 bzw. 128 Bit.

Um ohne Erhöhung der Busbreite und Taktfrequenz des Grafikprozessors die Leistungsfähigkeit von Grafikkarten zu erhöhen, sind bereits spezielle Grafikspeicher entwickelt worden, insbesondere VRAM (Abk. für Video-RAM) Bausteine als asynchrone Speicher und SGRAM (Abk. für SyncronousGraphicRandomAccessMemory) als synchrone Speicher. Diese Speicherbausteine sind in der Lage einfache Grafikfunktionen selbst auszuführen, z. B. Füllen von mehreren Speicherzellen (: = Speicherbereich), oder Verknüpfungen von Speicherinhalten mit Masken. Über eine derartige Maske läßt sich auswählen, auf welche Bits des Busses die Schreiboperation angewendet wird, wenn für das Pixel nicht die volle Breite des Busses benötigt wird. Der Bus eines SGRAMs ist in der Regel 32 bit breit. Wenn pro Pixel aber nur 8 oder 16 Bit benötige werden, kann über die Maske ausgewählt werden auf welche Bits, die Schreiboperation angewendet wird.

Mit der Übertragung eines Befehls über den Steuerbus an den Grafikspeicher führt dieser die Grafikfunktion selbständig an mehreren Speicherzellen (derzeit bis zu acht Speicherzellen) gleichzeitig aus.

Um die speziellen Grafikfunktionen nutzen zu können, ist der Grafikprozessor mit einer Entscheidungsstufe ausgestattet, die bei jedem Befehl zur Auslösung der Grafikfunktionen feststellt, ob die Grafikfunktion einen Nutzen bringt oder nicht. Der Befehl zur Auslösung der Grafikfunktionen erfolgt bei einem SGRAM über ein spezielles DSF Signal (Abk. für Define Special Function); (vgl. Fig. 1).

Im Zuge des Preisverfalls bei Grafikspeichern ohne Grafikfunktionen und wegen deren besserer Verfügbarkeit am Markt sind viele Hersteller von Grafikprozessoren dazu übergegangen keine Grafikfunktionen des Grafikspeichers mehr zu unterstützen. Die Grafikprozessoren beanspruchen dadurch weniger Chipfläche und werden infolge dessen preiswerter. Sämtliche Grafikfunktionen werden ausschließlich vom Grafikprozessor ausgeführt und über Einzelzugriffe in den Grafikspeicher geschrieben.

Für viele Anwendung, beispielsweise 3D-Anwendungen, ergibt sich jedoch das Bedürfnis, unter Rückgriff auf die preiswerteren Grafikprozessoren dennoch Grafikfunktionen des Grafikspeichers nutzen zu können.

Ausgehend von diesem Stand der Technik liegt der Erfindung daher die Aufgabe zu Grunde, ein Verfahren zum Betrieb einer Grafikkarte sowie eine Grafikkarte vorzuschlagen, die den Betrieb eines Grafikspeichers mit selbständigen Grafikfunktionen unter Nutzung dieser Funktionen an einem Grafikprozessor ermöglicht, der keine Grafikfunktionen des Grafikspeichers unterstützt.

Grafikspeicher mit Grafikfunktionen lassen sich problemlos an Grafikprozessoren betreiben, die keine Grafikfunktionen unterstützen, allerdings ohne irgend einen Vorteil aus den höherwertigen Grafikspeichern zu ziehen. Bei einer Konstellation aus einem SGRAM-Grafikspeicher und einem solchen Grafikprozessor legt man an den DSF-Eingang eine logische Null an (vgl. Fig. 2). Die Erfindung schlägt nun einen Weg vor, mit dem sich die Grafikfunktionen des Grafikspeichers aktivieren lassen. Im einzelnen wird die Aufgabe durch ein Verfahren mit den Merkmalen des Anspruchs 1 sowie eine Grafikkarte mit den Merkmalen des Anspruchs 3 gelöst. Da der Grafikprozessor nur Steuersignale für Zugriffe auf den Grafikspeicher verwendet, die ein Grafikspeicher ohne Grafikfunktionen versteht, müssen diese Steuersignale in Steuersignalsequenzen für die Grafikfunktionen des Grafikspeicher umgewandelt werden. Wird als Grafikspeicher ein SGRAM verwendet, enthalten die Signalsequenzen stets ein aktives DSF-Signal.

Dazu ist in der Grafikkarte eine Zusatzlogik vorgesehen, die aus einem Adressdecoder, einem Zustandsautomaten und einem Multiplexer (MUX) besteht(vgl. Fig. 3).

Der Adressdecoder entschlüsselt Zugriffe auf mindestens einen reservierten Speicherbereich des Adreßraumes des Grafikprozessors:

Dies können Speicherbereiche sein, die der Grafikprozessor zwar adressieren kann, an die jedoch kein physikalischer Grafikspeicher angeschlossen ist, beispielsweise wenn der Grafikprozessor 32MB adressieren kann, aber nur 16MB Grafikspeicher angeschlossen sind. In diesem Fall verwendet man zur Übertragung der Steuersignale, den Speicherbereich den der Grafikprozessor zwar adressieren kann, an den jedoch kein Grafikspeicher angeschlossen ist.

Auch bei Vollausbau des Grafikspeichers, also wenn an jeden von dem Grafikprozessor adressierbaren Speicherbereich auch physikalische Grafikspeicher angeschlossen sind, läßt sich die Erfindung anwenden, vorausgesetzt, daß man für die Übertragung der Steuersignale einen Speicherbereich reserviert, der vor ungewollten Zugriffen geschützt ist, beispielsweise vor Schreiboperationen von Daten.

Erfolgt ein Zugriff auf diesen reservierten Speicherbereich so erzeugt der Zustandsautomat die Steuersignalsequenzen, die die Grafikfunktionen des Grafikspeichers auslösen. Der Multiplexer fügt diese Steuersignalsequenzen in den Signalverlauf zum Grafikspeicher ein, so daß der Grafikspeicher seine Grafikfunktionen ausführt. Damit die Steuersignalsequenzen zur Ausführung der Grafikfunktionen der Grafikspeicher ausgelöst werden, ist es erforderlich, daß ein Zugriff auf eine Adresse in dem in dem reservierten Speicherbereich erfolgt. Im übrigen unterscheiden sich die Signale der Steuersignalsequenz regelmäßig nicht von den herkömmlichen Steuersignalen, die der Grafikprozessor an den Grafikspeicher überträgt.

Nachfolgend wird die Erfindung anhand eines in Fig. 4 dargestellten Beispieles näher erläutert:

In Fig. 4 wird das Einschalten der Blockwrite-Funktionen eines als SGRAM ausgestalteten Grafikspeichers in einer erfindungsgemäßen Grafikkarte dargestellt. Die Blockwrite- Funktion veranlaßt den Grafikspeicher automatisch, eine bestimmte Anzahl von Speicherzellen (Block) mit dem gleichen Inhalt zu füllen, wie dem auf eine Adresse im Grafikspeicher zuvor geschriebenen Inhalt. Der Grafikspeicher hat einen in Multiplex-Betriebsart betriebenen Adreßbus, über den die in zwei Teile aufgespaltenen Adressdaten übertragen werden. Ein Demultiplexer im Grafikspeicher spaltet die Adressdaten in eine RAS-(Abk. für Row Addres Strobe)- und eine CAS(Abk. für Colum Addres Strobe)-Adresse auf.

Vom Grafikprozessor erfolgt ein Schreibzugriff auf den reservierten Speicherbereich, an den kein physikalischer Speicher angeschlossen ist, um die Grafikfunktionen des Grafikspeichers zu aktivieren. Der in einer Reihe des reservierten Speicherbereichs liegende RAS-Teil der Adresse (ON) wird vom Adressdecoder erkannt und aktiviert den Zustandsautomaten. Dieser fügt zu den nun folgenden Steuersignalen für die CAS- Adresse und dem Befehl WE (Abk. für Write Enable), die einen normalen Schreibvorgang auslösen, noch zwei weitere Steuersignale hinzu, nämlich ein Steuersignal für die RAS- Adresse und ein DSF-Signal. Dadurch wird im Grafikspeicher ein SMRS (Abk. für Spezial Mode Register Write)-Befehl aktiviert. Man unterscheidet zwei SRMS-Befehle (Set-Color- Register bzw. Set-Mask-Register), die anhand des Wertes der CAS-Adresse unterschieden werden. Je nachdem welchen Wert die CAS-Adresse enthält wird jetzt die Block-Write-Farbe über das Color-Register (SMRS = xx10xxxxx_binär; wobei "x" bedeutet "donot care") bzw. Block-Write-Maske über das Mask-Register (SMRS = xx01xxxxx_binär; wobei "x" bedeutet "donot care") gesetzt. Die Speicherzellen des Grafikspeichers an die die ausgewählte Farbe geschrieben wird, bestimmt das Mask-Register. Durch eine Null im Mask-Register kann jedes Bit vom Schreibvorgang ausgeschlossen werden. Sind alle Mask-Register Bits auf Null gesetzt findet kein Schreibvorgang statt. Die binären Werte für die Farbinformation und die Maskierung bei der Ausführung der Grafikfunktionen des Grafikspeichers werden vom Grafikprozessor an den Grafikspeicher über den Datenbus übergeben. Um beispielsweise das Color-Register auf schwarz zu setzen, wird eine eine Null an die Adresse RAS = ON/SRMS = xx10xxxxx geschrieben. Nach dem Setzten des Color- und Mask-Registers erzeugt der Zustandsautomat mit jeden WE-Signal ein DSF-Signal, das normale Schreibzugriffe in einen Block-Write-Zugriff umwandelt. Dies geschieht nun solange bis mit einem Zugriff auf (RAS = ON/SMRS = xx00xxxxx) der Zustandsautomat zurückgesetzt wird.

Das Löschen des Bildspeichers geschieht nun auf folgende Weise:

Mit einem Zugriff auf die CAS-Adresse (RAS = ON/CAS = xx10xxxxx) wird die Füllfarbe auf schwarz gesetzt. Die Mask-Register Bits an der CAS-Adresse (RAS = ON/CAS = xx01xxxxx) werden so gesetzt, daß alle Bits geschrieben werden können.

Nach den SRMS- Befehlen auf das Color- und das Mask-Register ist der Zustandsautomat aktiviert und erzeugt bei jedem folgenden Schreibzugriff auf den Grafikspeicher die Signale für einen Block-Write, indem der Zustandsautomat in jeden Schreibzugriff ein DSF-Signal einfügt.

Jetzt kann man den kompletten Bildspeicher löschen indem man senkrechte Linien im Abstand von 8 Bildpunkten zeichnen läßt. Die Zusatzlogik liefert die nötigen Steuersignale, die für den Speicher notwendig sind, damit dieser sie als Block- Writes erkennt. Auf dem Bildschirm erscheinen dann statt senkrechter Linien schwarze Rechtecke mit 8 Bildpunkten Breite. Da die Linien mit einem Abstand von 8 Bildpunkten gezeichnet werden und die erscheinenden Rechtecke ebenfalls 8 Bildpunkte breit sind wird der gesamte Bildschirm gefüllt.

Nach dem Löschen wird der Zustandsautomat durch einen Schreibzugriff auf Adresse (RAS = ON/CAS = xx00xxxxx) zurückgesetzt.

Während die Grafikfunktionen des Grafikspeichers aktiviert sind, werden alle Schreibzugriffe in Block-Write-Zugriffe umgewandelt. Der Programmierer muß daher darauf achten, daß keine Standard-Zeichenfunktionen des Grafikprozessors benutzt werden, solange die Grafikfunktionen aktiv sind.

Der Schutz gegen unabsichtliches Aktivieren der Grafikfunktionen des Grafikspeichers kann darin bestehen, daß Anwendungsprogramme keinen Zugriff auf den für die Grafikfunktionen reservierten Speicherbereich erhalten.

Dieser Schutz läßt sich beispielsweise dadurch realisieren, daß die Zusatzlogik über eine Digitalausgang (General IO Port) freigeschaltet oder gesperrt wird.


Anspruch[de]
  1. 1. Verfahren zum Betrieb einer Grafikkarte mit einem Grafikspeicher mit selbständigen Grafikfunktionen an einem Grafikprozessor, der die selbständigen Grafikfunktionen des Grafikspeichers nicht unterstützt, dadurch gekennzeichnet, daß die Steuersignale des Grafikprozessors für Zugriffe auf den Grafikspeicher in Steuersignalsequenzen für die Auslösung der selbständigen Grafikfunktionen des Grafikspeicher umgewandelt werden, in dem Zugriffe auf mindestens einen reservierten Speicherbereich des Adreßraumes des Grafikprozessors entschlüsselt und im Falle eines Zugriffs auf diesen reservierten Speicherbereich die Steuersignalsequenzen erzeugt werden.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß durch die Steuersignale des Grafikprozessors keine selbständigen Grafikfunktionen des Grafikspeichers ausgelöst werden, wenn kein Zugriff auf den reservierten Speicherbereich erfolgt oder die Ausführung der Grafikfunktionen durch einen Rücksetzbefehl beendet wird.
  3. 3. Grafikkarte zum Anschluß eines Bildschirms an einen Computer mit einem keine selbständigen Grafikfunktionen eines Grafikspeichers unterstützenden Grafikprozessor sowie einem Bus zwischen Grafikprozessor und Grafikspeicher, dadurch gekennzeichnet, daß die Grafikkarte eine einen Adressdecoder, einen Zustandsautomaten und einen Multiplexer enthaltende Zusatzlogik und der Adreßraum des Grafikprozessors mindestens einen reservierten Speicherbereich aufweist sowie der Grafikspeicher zur selbständigen Ausführung von Grafikfunktionen geeignet ist, wobei der Adreßdecoder Zugriffe auf jeden reservierten Speicherbereich entschlüsselt, der mit dem Adreßdecoder verbundene Zustandsautomat im Falle eines Zugriffs auf diesen reservierten Speicherbereich Steuersignalsequenzen erzeugt und der Multiplexer diese Steuersignalsequenzen in den Signalverlauf zum Grafikspeicher einfügt, so daß der Grafikspeicher seine selbständigen Grafikfunktionen ausführt.
  4. 4. Grafikkarte nach Anspruch 3, dadurch gekennzeichnet, daß der Grafikspeicher als VRAM oder als SGRAm ausgestaltet ist.
  5. 5. Grafikkarte nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß die Zusatzlogik über einen Digital-Ein- /ausgang (General IO Port) zum Ein- und/Ausschalten der Zusatzlogik verfügt.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com