-
Bilderzeugungsvorrichtung zur Erzeugung von
Pixeldaten für
eine Bildanzeige Die Erfindung bezieht sich auf eine Bilderzeugungsvorrichtung
und gemäß einer
bevorzugten Anwendung auf eine Bilderzeugungsvorrichtung, die in
einem Videogerät verwendet
werden kann, welches einen Computer verwendet, wie einen Grafik-Computer,
ein Spezialeffektgerät
oder eine Videospielmaschine.
-
In einem Gerät, welches Computergrafiken verwendet,
wie einer Videospielmaschine, einem Personalcomputer oder einem
Grafik-Computer,
werden eine Geometrieverarbeitung oder eine Wiedergabeverarbeitung
für die
Erzeugung von Daten eines Bildes oder eines Bildes ausgeführt, welches
an einen Fernsehempfänger,
einen Monitorempfänger oder
einem Kathodenstrahlröhren-(CRT)-Anzeigegerät abgegeben
und in diesem angezeigt wird. Eine Geometrieverarbeitungseinheit
führt eine
Koordinatentransformation, Abschneide- bzw. Begrenzungs- oder Lichtquellenberechnungen
durch, während
eine Wiedergabeverarbeitungseinheit Farben und Z-Werte sämtlicher
Pixel berücksichtigt,
die ein Polygon ausmachen, und zwar von den Farbdaten von Scheitelpunkten
und Z-Werten, welche die Tiefe angeben, um Pixeldaten in einen Bildspeicher
zu schreiben.
-
Zur Ausführung einer derartigen Verarbeitung,
insbesondere der oben erwähnten
Wiedergabeverarbeitung, wird eine Zeichenverarbeitungsschaltung
oder eine Zeichenmaschine verwendet. Die Zeichenmaschine wendet
generell ein Verfahren zum direkten Schreiben eines erzeugten Pixels
in einen Bildspeicher an.
-
Die Bildzeichengeschwindigkeit wird
durch die Geschwindigkeit des Schreibens von der Zeichenmaschine
in den Bildspeicher derart beeinflusst, dass bei einer langsamen
Bildspeicher- Zugriffsgeschwindigkeit
die Zeichengeschwindigkeit verlangsamt ist. Falls ein teurer Hochgeschwindigkeits-Speicher
als Speichereinrichtung großer
Kapazität
zur Steigerung der Zeichengeschwindigkeit verwendet wird, sind daher
die Systemkosten prohibitiv erhöht. Falls
ein billiger dynamischer Speicher mit wahlfreiem Zugriff (DRAM)
verwendet wird, dann ist die Zeichengeschwindigkeit des Systems
jedoch herabgesetzt.
-
Es ist vorstellbar, einen Pufferspeicher
entsprechend einer DRAM-Seite zwischen der Zeichenmaschine und dem
Bildspeicher vorzusehen und einen Bildspeicherzugriff lediglich
für einen
Hochgeschwindigkeits-Bursttransfer vorzunehmen. Falls ein Zeichnen
von Daten in einer Folge bzw. Sequenz auftritt, die die Seitengrenze
innerhalb des Bereiches der Pufferspeicherkapazität überbrückt, resultiert daraus
jedoch ein verminderter Wirkungsgrad.
-
In Anbetracht der vorstehend aufgezeigten Sachlage
stellt die vorliegende Erfindung eine Bilderzeugungsvorrichtung
bereit, wobei eine hohe Zeichengeschwindigkeit sogar bei Verwendung
eines billigen Speichers, wie eines DRAM-Speichers aufrechterhalten
werden kann.
-
In der deutschen Patentanmeldungs-Veröffentlichung
DE 195 01 560 A1 (äquivalent
dem US-Patent US-A-5 623 422) ist ein Vollbildpufferspeicher für eine Bildverarbeitungsschaltung
angegeben; der Vollbildpufferspeicher umfasst einen Hauptspeicher,
einen Puffer- bzw. Cachespeicher, einen Transferbus zur Übertragung
von Daten zwischen dem Hauptspeicher und dem Cachespeicher, eine
Pixelverarbeitungseinheit zur Ausführung eines bestimmten Operationsprozesses
entsprechend Daten, die von dem Cachespeicher bereitgestellt werden,
und extern abgegebenen Daten, eine Vergleichseinheit zum Vergleichen
der von dem Cachespeicher bereitgestellten Daten mit den extern
abgegebenen Daten, einen Transferbus zur Übertragung der resultierenden
Daten von der Pixelverarbeitungseinheit zu dem Cachespeicher und
einen Speicher mit seriellem Zugriff zur Speiche rung von Daten,
die aus dem Hauptspeicher ausgelesen sind, und zur Abgabe der gespeicherten
Daten.
-
Gemäß der Erfindung ist eine Bilderzeugungsvorrichtung
geschaffen zur Erzeugung von Pixeldaten für eine Bildanzeige, umfassend
eine Zeichnungsverarbeitungseinrichtung für die Erzeugung einer Bildinformation,
einen Transientenspeicher zur transienten Speicherung von Daten
von der genannten Zeichnungsverarbeitungseinrichtung, einen Bildspeicher
entsprechend einem Anzeigebildschirm zur Speicherung von auf diesen
geschriebenen erzeugten Pixeln, einen Cachespeicher, der zwischen
dem genannten Transientenspeicher und dem genannten Bildspeicher
vorgesehen ist, eine zwischen dem genannten Transientenspeicher
und dem genannten Cachespeicher vorgesehene Betriebsvorrichtung
zur Ausführung
von Operationen auf ein Ausgangssignal der Zeichnungsverarbeitungseinrichtung
hin und eine Cache-Steuereinrichtung zur Steuerung des Lesens/ Schreibens
bezüglich
des genannten Cachespeichers in Abhängigkeit vom Inhalt des genannten Transientenspeichers.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Cache-Steuereinrichtung kollektiv Daten in dieselbe
Seite des Bildspeichers auf den Inhalt des Speichers hin laden.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann der Transientenspeicher ein FIFO-Speicher sein.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann der Bildspeicher ein Vollbildspeicher sein.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine Z-Pufferverarbeitung
auf ein Ausgangssignal von der Zeichnungsverarbeitungsvorrichtung
ausführen.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine Bandbreitenbegrenzungsbzw.
Anti-Aliasing-Verarbeitung auf ein Ausgangssignal von der Zeichnungsverarbeitungseinrichtung
ausführen.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine Filterungsverarbeitung
auf ein Ausgangssignal von der Zeichnungsverarbeitungseinrichtung
ausführen.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine α-Mischung auf ein Ausgangssignal
von der Zeichnungsverarbeitungseinrichtung ausführen.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine semi-transparente Verarbeitung
auf ein Ausgangssignal von der Zeichnungsverarbeitungseinrichtung
ausführen.
-
In der Bilderzeugungsvorrichtung
gemäß der vorliegenden
Erfindung kann die Betriebsvorrichtung eine Pixel-Neuanordnungsverarbeitung
auf ein Ausgangssignal von der Zeichnungsverarbeitungseinrichtung
ausführen.
-
Mit einer Bilderzeugungsvorrichtung
gemäß einer
bevorzugten Ausführung
der vorliegenden Erfindung, wie sie weiter unten beschrieben wird,
wird eine Bildinformation oder werden Daten, die durch die Zeichnungsverarbeitungseinrichtung
erzeugt sind, wie durch eine Zeichenmaschine, vorübergehend
in dem Transientenspeicher gespeichert, der ein FIFO-Speicher sein
kann. Ein schneller Cachespeicher ist zwischen diesem FIFO-Speicher
und einem Vollbildpuffer vorgesehen, und der Inhalt des FIFO-Speichers
wird zuvor durch die Cache-Steuereinrichtung zur Steuerung des Lesens/Schreibens bezüglich des
Cachespeichers gelesen. Falls ein billiger Speicher, wie ein üblicher
DRAM-5peicher als Vollbildpuffer verwendet wird, dann wird daher
ein Hochgeschwindigkeits-Zugriff über den Cachespeicher reali siert,
um den Zeichnungswirkungsgrad zu verbessern. Zu dieser Zeit können Daten
für eine
Seite von dem Vollbildpuffer mit hohem Wirkungsgrad kollektiv gelesen
und geschrieben werden, um einen schnelleren Zugriff zu realisieren.
Die Betriebsvorrichtung ist zwischen dem FIFO-Speicher und dem Cachespeicher
vorgesehen, um eine Z-Puffer-Verarbeitung, eine Bandbreitenbegrenzung
bzw. Anti-Aliasing, verschiedene Filterungsoperationen, eine α-Mischungsverarbeitung,
eine semitransparente Verarbeitung oder eine Pixel-Neuanordnungsverarbeitung
auszuführen.
-
Die Erfindung wird nunmehr anhand
eines veranschaulichenden und nicht beschränkenden Beispiels unter Bezugnahme
auf die beigefügten
Zeichnungen weiter beschrieben. In den Zeichnungen zeigen
-
1 ein
Blockdiagramm, welches einen schematischen Aufbau einer Ausführungsform
der vorliegenden Erfindung veranschaulicht, in der eine Bilderzeugungsvorrichtung
bei einer Videospielmaschine angewandt ist,
-
2 ein
Blockdiagramm, welches einen veranschaulichenden Aufbau eines Grafik-Prozessors
zeigt, der eine Bildverarbeitungsvorrichtung einer Bilderzeugungsvorrichtung
darstellt, welche die vorliegende Erfindung verkörpert,
-
3 ein
Blockdiagramm, welches einen veranschaulichenden Aufbau zwischen
dem Hauptteil einer Zeichenmaschine und einem Vollbildpuffer der
die vorliegende Erfindung verkörpernden
Bilderzeugungsvorrichtung veranschaulicht,
-
4 ein
Beispiel einer Datenstruktur in einem FIFO-Speicher,
-
5 ein
Beispiel einer Datenstruktur in einem Cachespeicher,
-
6 die
Arbeitsweise in dem Fall, dass ein Pufferspeicher zwischen der Zeichenmaschine
und dem Vollbildpuffer vorgesehen ist,
-
7 eine
Datenstruktur in einem gewöhnlichen
Cachespeicher,
-
8 ein
Blockdiagramm, welches eine schematische Struktur in dem Fall veranschaulicht, dass
ein gewöhnlicher
Cachespeicher zwischen dem Hauptteil der Zeichenmaschine und dem
Vollbildpuffer vorgesehen ist,
-
9 ein
Flussdiagramm zur Veranschaulichung der Arbeitsweise der in 8 dargestellten Struktur,
-
10 die
Arbeitsweise des Einschreibens einer Zeichnungsdatenfolge in den
Vollbildpuffer,
-
11 ein
Flussdiagramm zur Veranschaulichung einer ein erstes Lesen betreffenden
Operation des FIFO-Speichers
durch eine Cache-Steuereinrichtung in der Anordnung gemäß 3,
-
12 ein
Flussdiagramm zur Veranschaulichung der Lese-/ Schreiboperation
für den
Cachespeicher durch die Cache-Steuereinrichtung in der Anordnung
gemäß 3,
-
13 ein
Blockschaltungsdiagramm, welches ein spezifiziertes Beispiel einer
Betriebsvorrichtung gemäß 3 veranschaulicht,
-
14 ein
Schaltungsdiagramm, welches das spezifizierte Beispiel einer Betriebsvorrichtung gemäß 13 veranschaulicht,
-
15 eine
Draufsicht auf eine Videospielmaschine, welche die vorliegende Erfindung
verkörpert,
-
16 eine
Rückseitenansicht
der Videospielmaschine,
-
17 eine
Seitenansicht der Videospielmaschine,
-
18 eine
Draufsicht auf eine in die Videospielmaschine geladene CD-ROM.
-
Unter Bezugnahme auf die Zeichnungen werden
bevorzugte Ausführungsbeispiele
der vorliegenden Erfindung im Einzelnen erläutert. 1 zeigt einen schematischen Aufbau einer
Videospielmaschine als einer Bilderzeugungsvorrichtung, welche die
vorliegende Erfindung verkörpert.
-
Die in 1 dargestellte
Videospielmaschine liest ein in einer Hilfsspeichervorrichtung,
wie auf bzw. in einer optischen Platte gespeichertes Spielprogramm
aus und führt
es aus, um ein Spiel entsprechend Befehlen von einem Benutzer auszuführen.
-
Genauer gesagt weist diese Videospielmaschine
zwei Arten von Busleitungen auf, nämlich einen Hauptbus 1 und
einen Subbus 2. Der Hauptbus 1 und der Subbus 2 sind
durch eine Bus-Steuereinrichtung 16 miteinander verbunden.
-
Mit dem Hauptbus 1 sind
eine zentrale Verarbeitungseinheit (CPU 11), die aus einem
Mikroprozessor besteht, ein Hauptspeicher 12, der aus einem Speicher
mit wahlfreiem Zugriff (RAM) gebildet ist, eine dynamische Haupt-Speicherzugriffssteuereinrichtung
oder Haupt-DMAC 13, ein MPEG-Decoder 14 und eine
Bildverarbeitungseinheit oder eine Grafik-Verarbeitungseinheit (GPU) 15 verbunden.
Mit dem Subbus 2 sind eine untergeordnete zentrale Verarbeitungseinheit
oder eine Sub-CPU 21, die aus einem Mikroprozessor besteht,
ein untergeordneter Speicher, der durch einen Speicher mit wahlfreiem Zugriff
(RAM) gebildet ist, eine untergeordnete dynamische Speicherzugriffs-Steuereinrichtung
oder Sub-DMAC 23, ein Festwert- bzw. Lesespeicher (ROM) 24 in
welchem ein Programm gespeichert ist, wie ein Betriebssystem, eine
Tonverarbeitungseinheit (SPU) 25, eine Kommunikationssteuereinrichtung
oder eine asynchrone Übertragungsbetriebs-Einrichtung
(ATM) 26, eine Hilfsspeichervorrichtung 27, eine
Eingabevorrichtung 28 und ein CD-ROM-Treiber 30 verbunden.
-
Die Bus-Steuereinrichtung 16 ist
eine Vorrichtung am Hauptbus 1 zum Umschalten zwischen dem
Hauptbus 1 und dem Subbus 2, und sie ist im Ausgangszustand
offen.
-
Die Haupt-CPU 11 stellt
eine Vorrichtung am Hauptbus 1 dar, die durch ein Programm
im Hauptspeicher 12 betrieben wird. Da die Bus-Steuereinrichtung 16 bei
der Inbetriebsetzung bzw. beim Hochlaufen offen ist, liest die Haupt-CPU 11 ein
Boot- Programm aus
dem ROM-Speicher 24 auf dem Sub-Bus 2, um ein
Anwendungsprogramm und erforderliche Daten von der CD-ROM mittels
des CD-ROM-Treibers 30 in den Hauptspeicher 12 oder
in die Vorrichtungen am Sub-Bus 2 zu laden. In die Haupt-CPU 11 wird
eine Geometrie-Transfermaschine (GTE) 17 geladen für die Ausführung einer
Verarbeitung, wie einer Koordinaten-Transformation. Diese GTE-Maschine 17 verfügt über einen
Parallel-Rechenmechanismus
zur parallelen Ausführung
einer Vielzahl von Rechenverarbeitungsoperationen, und sie spricht
auf eine Anforderung zur Berechnung einer Verarbeitung von der CPU 11 an,
um schnelle Verarbeitungsoperationen auszuführen, wie eine Koordinatentransformation,
Lichtquellenberechnungen, Matrixoder Vektoroperationen. Auf der
Grundlage der Ergebnisse der Berechnungsverarbeitungsoperationen
durch die GTE-Maschine 17, definiert die Haupt-CPU 11 ein dreidimensionales
Modell als eine Kombination aus Grundeinheitsfiguren, wie Dreiecken
und Vierecken, formuliert einen Zeichnungsbefehl in Zuordnung zum jeweiligen
Polygon zum Zeichnen eines dreidimensionalen Bildes und paketiert
den Zeichnungsbefehl, um das resultierende Befehlspaket zur GPU-Einheit 15 weiterzuleiten.
-
Die Haupt-DMAC 13 ist eine
Vorrichtung am Hauptbus 1 zur Ausführung einer Steuerung, wie
einer DMA-Übertragung
zu Vorrichtungen bzw. Geräten
am Hauptbus 1. Falls die Bus-Steuereinrichtung 16 offen
ist, steuert die Haupt-DMAC 13 auch die Vorrichtungen bzw.
Geräte
am Subbus 2.
-
Die GPU 15 ist eine Vorrichtung
am Hauptbus 1, die als Wiedergabeprozessor funktioniert.
Diese GPU 15 legt den von der Haupt-CPU 11 oder
der Haupt-DMAC 13 abgegebenen Befehl als Befehlspaket aus
und führt
eine Wiedergabeverarbeitung von Schreib-Pixeldaten im Vollbildpuffer 18 als
einem Bildspeicher von Farbdaten und der Tiefe der Pixel aus, wobei
die Farben und die Z-Werte sämtlicher das
Polygon bildender Pixel berücksichtigt
werden.
-
Die MDEC-Vorrichtung 14 ist
eine Eingabe/Ausgabe-Verbindungsvorrichtung, die parallel mit der
CPU betreibbar ist und die eine Vorrichtung am Hauptbus 1 ist,
welche als Bilddehnungsmaschine funktioniert. Die MDEC-Vorrichtung 14 decodiert komprimierte
und durch eine orthogonale Transformation, wie eine diskrete Kosinustransformation,
codierte Bilddaten. Die Sub-CPU 21 stellt
eine Vorrichtung am Subbus 2 dar, die entsprechend einem
Programm in dem Sub-Speicher 22 arbeitet.
-
Die Sub-DMAC-Vorrichtung 23 ist
eine Vorrichtung am Sub-Bus 2 zur Ausführung einer Steuerung, wie
einer DMAC-Übertragung
für Geräte am Subbus 2.
Diese DMAC 23 kann Busrechte lediglich dann erwerben, wenn
die Bus-Steuereinrichtung 16 geschlossen ist.
-
Die SPU-Einheit 25 ist eine
Vorrichtung am Sub-Bus 2, die als Ton-Prozessor wirkt.
Diese SPU-Einheit 25 spricht auf einen Ton-Befehl an, der von
der Sub-CPU 21 oder der Sub-DMAC 23 als Befehlspaket
abgegeben wird, um Tonquelldaten aus dem Ton-Speicher 29 für eine Abgabe
der ausgelesenen Daten zu lesen.
-
Die ATM-Vorrichtung 26 ist
eine Kommunikationsvorrichtung am Sub-Bus 2.
-
Die Hilfsspeichervorrichtung 27 ist
eine Dateneingabe-/-ausgabevorrichtung am Subbus 2 und besteht
aus einem nichtflüchtigen
Speicher, wie einem Flash-Speicher. Diese zusätzliche Speichervorrichtung 27 hält temporär Speicherdaten
fest, wie einen Spielfortschritt oder Spielstände.
-
Die Eingabevorrichtung 28 ist
eine Eingabevorrichtung von anderen Geräten, wie ein Steuerkissen am
Sub-Bus 2, eine Mensch-Maschine-Schnittstelle,
wie eine Maus, eine Bildeingabe- oder Spracheingabe-Vorrichtung.
-
Der CD-ROM-Treiber 30 ist
eine Dateneingabevorrichtung am Sub-Bus 2, und er gibt ein Anwendungsprogramm
und notwendige Daten von der CD-ROM wieder.
-
Dies heißt, dass in der oben beschriebenen Videospielmaschine
das Geometrie-Verarbeitungssystem, welches eine Geometrieverarbeitung
ausführt,
wie eine Koordinatentransformation, eine Begrenzung bzw. ein Abschneiden
oder Lichtquellen-Berechnungen, und welches einen Zeichenbefehl
zur Festlegung eines dreidimensionalen Modells als Kombination aus
Grundeinheitsfiguren (Polygonen) formuliert, wie Dreiecken oder
Vierecken, zum Zeichnen eines dreidimensionalen Bildes und zur Aussendung
des dem jeweiligen Polygon zugeordneten Zeichenbefehls als Befehlspaket
an den Hauptbus 1, aus der Haupt-CPU 11 und der
GTE-Einrichtung 17 am Hauptbus 1 besteht. Außerdem ist
das Wiedergabe-Verarbeitungssystem zur Festlegung von Pixeldaten
des jeweiligen Polygons auf der Grundlage des Zeichenbefehls von
dem Geometrieverarbeitungssystem zum Schreiben in den Vollbildpuffer 18 durch
eine Wiedergabe-Verarbeitung zum Zeichnen einer Figur in dem Vollbildpuffer 18 durch die
GPU-Einheit 15 gebildet.
-
Bezugnehmend auf 2, die einen detaillierten Aufbau der
GPU-Einheit 15 zeigt, sei angemerkt, dass die GPU-Einheit
eine Paketmaschine 31 enthält, die mit dem Hauptbus 1 verbunden
ist, und eine Wiedergabeverarbeitung von Schreib-Pixeldaten des
jeweiligen Polygons im Vollbildpuffer 18 durch den Vorprozessor 32 und
die Zeichenmaschine 33 entsprechend dem als Befehlspaket
von der Haupt-CPU 11 oder der Haupt-DMAC-Steuereinrichtung über den
Hauptbus 1 in die Paketmaschine 31 übertragenen
Zeichenbefehl, das Auslesen von Pixeldaten des gezeichneten Bildes
im Vollbildpuffer 18 und die Lieferung der ausgelesenen
Pixeldaten über eine
CRT-Steuereinrichtung 34 als Videosignale an einen nicht
dargestellten Fernsehempfänger
oder Monitorempfänger
ausführt.
-
Die Paketmaschine 31 entwickelt
das von der Haupt-CPU 11 oder der Haupt-DMAC-Steuereinrichtung 13 über den
Hauptbus 1 übertragene
Befehlspaket in einem nicht dargestellten Register.
-
Der Vorprozessor 32 erzeugt
Polygondaten entsprechend dem Zeichenbefehl, der zur Paketmaschine 31 als
Befehlspaket übertra gen
worden ist, und führt
eine zuvor festgelegte Vorverarbeitung, wie eine Polygonaufteilung,
was später
beschrieben wird, hinsichtlich der Polygondaten aus, während verschiedene
Daten, wie eine Scheitelpunkt-Koordinateninformation für die betreffenden
Polygone, die von der Zeichenmaschine 33 benötigt werden,
eine Adresseninformation, wie eine Textur oder eine MIP-Karten-Textur, oder
eine Steuerinformation, wie eine Pixel-Verschachtelung, erzeugt werden.
-
Die Zeichenmaschine 33 enthält N Polygon-Maschinen 33A1, 33A2,
... 33AN, die mit dem Vorprozessor 32 verbunden
sind, N Textur-Maschinen 33B1, 33B2, ... 33BN,
die mit den Polygon-Maschinen 33A1, 33A2,
... 33AN verbunden sind, eine erste Bus-Schalteinrichtung 33C, die
mit den Textur-Maschinen 33B1, 33B2, ... 33BN verbunden
ist, M Pixel-Maschinen 33D1, 33D2, ... 33DM, die
mit der ersten Bus-Schalteinrichtung 33C verbunden sind, eine
zweite Bus-Schalteinrichtung 33E, die mit den Pixel-Maschinen 33D1, 33D2,
... 33DM verbunden ist, einen Textur-Cachespeicher 33F, der mit
der zweiten Bus-Schalteinrichtung 33E verbunden ist, und
einen mit dem Textur-Cachespeicher 33F verbundenen CLUT-Cachespeicher 33G.
-
In der Zeichenmaschine 33 erzeugen
die N Polygon-Maschinen 33A1, 33A2, ... 33AN sequentiell
Polygone entsprechend dem Zeichenbefehl auf der Grundlage der durch
den Vorsprozessor 32 vorverarbeiteten Polygondaten, um
eine parallele Übergangsverarbeitung
von einem Polygon zu einem anderen auszuführen.
-
Die N Textur-Maschinen 33B1, 33B2,
... 33BN führen
parallel eine Texturabbildung oder eine MIP-Abbildungsverarbeitung
auf der Grundlage der Texturdaten, die von dem Textur-Cachespeicher 33F geliefert
werden, mittels des Farb-Nachschlagtabellen-(CLUT)-Cachespeichers 33G bei
den durch die Polygon-Maschinen 33A1, 33A2,
... 33AN erzeugten Polygonen aus.
-
Der Vorprozessor 32 liefert
zuvor die Adresseninformation, wie die Textur oder die MIP-Abbildungstextur,
die an die Polygone gebunden ist, welche durch die N Textur-Maschinen 33B1, 33B2, ... 33BN verarbeitet
sind, an den Textur-Cachespeicher 33F. Auf der Grundlage
der obigen Adresseninformation werden die erforderlichen Textur-Daten
aus dem Texturbereich in dem Vollbildpuffer 18 übertragen. Zum
CLUT-Cachespeicher 33G werden CLUT-Daten, auf die während einer
Textur-Zeichnung Bezug zu nehmen ist, aus dem CLUT-Bereich im Vollbildpuffer 18 übertragen.
-
Die Polygondaten, die durch Texturabbildung oder
durch MIP-Abbildungsverarbeitung
mittels der N Textur-Maschinen 33B1, 33B2, ... 33BN verarbeitet sind,
werden über
die erste Bus-Schalteinrichtung 33C zu
den M Pixel-Maschinen 33D1, 33D2, ... 33DM hin übertragen.
-
Die M Pixel-Maschinen 33D1, 33D2,
... 33DM führen
verschiedene Bildverarbeitungsoperationen, wie eine Z-Pufferverarbeitung
oder eine Anti-Aliasing-Verarbeitung parallel aus, um M Pixeldaten
zu erzeugen.
-
Die durch die M Pixel-Maschinen 33D1, 33D2,
... 33DM erzeugten M Pixeldaten werden über die zweite Bus-Schalteinrichtung 33E in
den Vollbildpuffer 18 geschrieben.
-
Der zweiten Bus-Schalteinrichtung 33E wird die
Pixelverschachtelungs-Steuerinformation von dem Vorprozessor 32 zugeführt. Die
zweite Bus-Schalteinrichtung 33E weist eine Funktion zur Ausführung einer
Pixelverschachtelungsverarbeitung aus der Auswahl von L Pixeldaten
von den M Pixeldaten auf, die durch die M Pixel-Maschinen 33D1, 33D2,
... 33DM entsprechend der obigen Steuerinformation erzeugt
werden zum Schreiben von M Pixeldaten unter Heranziehung der M Speicherplätze in Übereinstimmung
mit der Form des in dem Vollbildpuffer 18 gezeichneten
Polygons als Zugriffseinheit.
-
Die Zeichenmaschine 33 erzeugt
und schreibt sämtliche
Pixeldaten des jeweiligen Polygons in den Vollbildpuffer 18 auf
der Grundlage der durch den Vorprozessor 32 vorverarbeiteten
Polygondaten, um ein Bild zu zeichnen, welches als Kombination aus den
Polygonen durch den Zeichenbefehl im Vollbildpuffer 18 festgelegt
ist. Die Pixeldaten des in dem Vollbildpuffer 18 gezeichneten
Bildes werden ausgelesen und über
eine CRTC-Steuereinrichtung 34 als
Videosignale an einen nicht dargestellten Fernsehempfänger oder
Monitorempfänger
abgegeben.
-
Unter Bezugnahme auf 3 wird ein veranschaulichender Aufbau
zwischen dem Hauptteil einer Zeichenmaschine 33 und einem
Vollbildpuffer 18 erläutert.
-
In 3 entspricht
ein Hauptteil 101 der Zeichenmaschine 33 einem
Aufbau oberhalb der Pixel-Maschinen 33D1, 33D2,
... 33DM, wie sie in 2 dargestellt
sind. Jede der Pixel-Maschinen 33D1, 33D2, ... 33DM enthält einen
FIFO-Speicher 102 (das erste aufgenommene Signal ist das
erste abgegebene Signal), eine Betriebsvorrichtung 103, einen
Cachespeicher 104 und eine Cachespeicher-Steuereinrichtung 106,
wie dies in 3 veranschaulicht
ist. Der Hauptteil 101 der Zeichenmaschine gibt zu zeichnende
Pixeldaten ab und überträgt die Pixeldaten
zum FIFO-Speicher 102 für
eine vorübergehende
Speicherung in diesem. Dieser FIFO-Speicher 102 kann den
Speicherinhalt, wie später
erläutert
wird, zuvor lesen, und er ist durch die Cachespeicher-Steuereinrichtung 106 zum
Vorablesen gesteuert.
-
In den FIFO-Speicher 102 werden
Daten oder Befehle eingeschrieben, die so konfiguriert sind, wie
dies beispielsweise in 4 gezeigt
ist, in der mit OPR ein Operationscode, mit X, Y und Z Koordinatenwerte,
mit R, G und B sowie mit α Farbwerte
und mit W ein Schreib-Freigabeflag bezeichnet sind. Der Operationscode
OPR besteht beispielsweise aus sechs Bits b0 bis b5, von denen das
Bit b0 angibt, ob eine α-Mischung
mit 1 und 0 erfolgt, während
das Bit b2 angibt, ob ein Z-Puffer verwendet wird oder nicht, und
zwar durch 1 bzw. 0. Die Bits b2 und b3 geben Multiplikationsfaktoren
in den Längs-
bzw. Querrichtungen an, wobei 0 und 1 Faktoren von 1 bzw. 2 bedeuten.
Falls b2 gegeben ist mit 1, werden zwei longitudinale Pixel
als zwei Längspixel
bezeichnet, wobei Y ein Multiplikationsfaktor von 2 ist. Falls b3
gegeben ist mit 1, werden zwei Querpixel als zwei Querpixel bezeichnet,
wobei X ein Multiplikationsfaktor von 2 ist. Die Bits b5 und b4
werden zur Auswahl einer Filterung oder zum Anti-Aliasing verwendet.
Falls die Bits b5 und b4 gegeben sind mit 00, 01, 10 oder 11, werden
eine direkte Zeichnung, eine Anti-Aliasing, eine Filterung eines
Typs 1 bzw. eine Filterung eines Typs 2 ausgeführt.
-
Die Betriebsvorrichtung 103 gemäß 3 umfasst einen Komparator
oder einen Effektor, was später
erläutert
wird, und liest Pixel aus dem FIFO-Speicher 102 aus, um
Operationen oder einen Vergleich des Z-Wertes auszuführen, der
von den Pixeln benötigt
wird. Überdies
führt die
Betriebsvorrichtung 103 ein Schreiben, eine Z-Puffer-Verarbeitung, ein
Mischen, eine semitransparente Verarbeitung, eine Anti-Aliasing,
verschiedene Filterungs- und Pixel-Neuanordnungsoperationen durch.
Der Cachespeicher 104 ist für eine Burst-Übertragung
mit dem Vollbildpuffer 105 der nächsten Stufe vorgesehen, die
einen billigen Speicher verwendet, wie einen gewöhnlichen Speicher mit wahlfreiem
Zugriff (DRAM).
-
In 5 ist
ein veranschaulichender Datenaufbau im Cachespeicher veranschaulicht,
wobei mit TAG ein Identifizierungskennzeichenbereich oder ein Identifizierungskennzeichenfeld
bezeichnet ist, welches aus einer Seitenadressen Seite und einer
Spaltenadresse Spalte besteht; DT ist ein Datenbereich und S sowie
V sind Flag-Bereiche, die angeben, ob der TAG-Bereich und die Daten
gültig
sind oder nicht; RC ist ein Anforderungs-Zählbereich,
der einen Zählwert
der Datenzugriffsanforderung angibt. Der Vollbildpuffer 105 ist
dem Vollbildpuffer 18 gemäß 1 und 2 äquivalent.
Diese eine Reihe wird als eine Zeile in dem Cachespeicher 104 bezeichnet,
der üblicherweise
eine Speicherkapazität
von zwei oder mehr Zeilen aufweist. Generell bedeuten die Seitenadressen
Seite und die Spaltenadresse Spalte des TAG-Bereichs die Zeilenadresse
und die Spaltenadresse oder die Adresse der oberen Ordnung des Vollbildpuffers 105.
-
Die Cachespeicher-Steuereinrichtung 106 stellt
eine Steuereinrichtung dar zur Steuerung des Cachespeichers 104.
Die Cache speicher-Steuereinrichtung 106 gibt Befehle zur
vorherigen Überprüfung des
Inhalts des FIFO-Speichers 102 ab, um den erforderlichen
Datenbereich zu erfassen. Falls ein genügender Leerbereich im Cachespeicher 104 vorhanden
ist, dann gibt die Cachespeicher-Steuereinrichtung Befehle zur Neuanordnung
der Reihenfolge ab, in der der Datenbereich auftritt, und um kollektiv auf
dieselbe Seite im selben Vollbildpuffer 105, wie im DRAM-Speicher
zuzugreifen. Die Cachespeicher-Steuereinrichtung 106 gibt
außerdem
Befehle zur kollektiven Übertragung
von Daten von der Cachespeicher-Steuereinrichtung 104 zum
Vollbildpuffer 105 ab, so dass die Wortgrenze oder die
Seitengrenze des DRAM-Speichers nicht überquert wird und sodass die
Häufigkeit
des Zugriffs und die Zugriffszeit kurz sein werden. Anschließend wird
die Arbeitsweise der Cachespeicher-Steuereinrichtung 106 erläutert.
-
Mit der oben beschriebenen Bilderzeugungsvorrichtung
kann der Zeichenwirkungsgrad durch die Zeichenmaschine verbessert
werden, während
die Z-Pufferung, das Anti-Aliasing, verschiedene Filterungsoperationen,
die α-Mischung,
die semitransparente erarbeitung oder die Pixel-Neuanordnungsverarbeitung
effizient ausgeführt
werden können.
-
Bevor mit einer weiter spezifizierten
Veranschaulichung der obigen Ausführungsform fortgefahren wird,
werden die relevante Technik und ein Referenzbeispiel des Schreibens
von Pixeldaten in den Vollbildpuffer durch die Zeichenmaschine erläutert.
-
Wenn die Zeichenmaschine über einen
direkten Zugriff auf den Vollbildpuffer verfügt, ist die Zeichengeschwindigkeit
durch die Vollbildpuffer-Zugriffsgeschwindigkeit bestimmt, was einen
teuren Hochgeschwindigkeits-Speicher großer Kapazität erfordert. Falls ein billiger
gewöhnlicher
DRAM-Speicher als Vollbildpuffer verwendet wird, dann ist die Zeichenrate
verlangsamt, wie dies zuvor erläutert worden
ist.
-
Es wird angenommen, dass ein Pufferspeicher,
der zu einer Hochgeschwindigkeits-Burstübertragung fähig ist,
zwischen der Zeichenmaschine und dem Vollbildpuffer vorgesehen ist.
So wird beispielsweise angenommen, dass ein Pufferspeicher 107 eine
Kapazität
besitzt, die einer Zeile des Vollbildpuffers 105 entspricht,
das heißt
einer Seite gemäß 6, und dass Datenfolgen
L1, L2, L3 und L4 sequentiell durch die Zeichenmaschine gezeichnet
werden. In diesem Falle werden die Zeichendatenfolgen L1, L3 und
die Zeichendatenfolgen L2, L4 in den Bereichen 105a bzw. 105b des
Vollbildpuffers 105 gezeichnet.
-
Bevor die Zeichenmaschine die Zeichendatenfolge
L1 in den Pufferspeicher 107 schreibt, werden Daten des
Bereiches 105a des Vollbildpuffers 105 gelesen,
das heißt
in den Pufferspeicher 107 durch Burst-Übertragung geladen. Wenn anschließend die
Zeichendatenfolge L2 gezeichnet wird, werden die Inhalte des Pufferspeichers 107 durch
Burstübertragung
in den Bereich 105a geschrieben, und Daten des Bereichs 105b des
Vollbildpuffers 105 werden in den Pufferspeicher 107 gelesen
(geladen), Die Zeichendatenfolge L2 wird dann in den Pufferspeicher 107 geschrieben.
Wenn anschließend
die Zeichendatenfolge L3 gezeichnet wird, werden die Inhalte des
Pufferspeichers 107 in den Bereich 105b des Vollbildpuffers 105 geschrieben,
und anschließend
werden die Inhalte des Bereichs 105a durch Burst-Übertragung in den Vollbildpuffer 107 gelesen, um
die Zeichendatenfolge L3 an einer Position zu schreiben, die der
Zeichendatenfolge L1 als nächste folgt.
Wenn anschließend
die Zeichendatenfolge L4 gezeichnet wird, werden die Zeichendatenfolgen
L1, L3 in dem Vollbildpuffer 107 in den Bereich 105a des Vollbildpuffers 105 geschrieben.
Die Inhalte des Bereichs 105b werden dann in den Vollbildpuffer 107 geschrieben,
und die Zeichendatenfolge L4 wird an einer Position geschrieben,
die der Zeichendatenfolge L2 als nächste folgt.
-
Bei dem den Pufferspeicher 107 verwendenden
Aufbau kann mit Rücksicht
darauf, dass der Zugriff durch den Vollbildpuffer häufig erfolgt,
die Wirkung des Hochgeschwindigkeitszugriffs durch Burstübertragung
gelegentlich nicht zufriedenstellend wiedergegeben werden.
-
Es wird nunmehr vorgeschlagen, den
Cachespeicher 108, der so konfiguriert ist, wie dies in 7 gezeigt ist, zwischen
dem Hauptteil der Zeichenmaschine 101 und dem Vollbildpuffer 105 vorzusehen,
wie dies in 8 veranschaulicht
ist. Der Cachespeicher 108 wird hinsichtlich seines Lesens/Schreibens
von Daten durch die Cachespeicher-Steuereinrichtung 109 gesteuert.
Obwohl die Speicherstruktur gemäß 7 im wesentlichen der von 5 ähnlich ist bzw. dieser entspricht,
verwendet sie lediglich ein V-(gültiges)-Flag
als gewöhnliche Cachespeicherstruktur.
-
Falls bei der Verwendung eines derartigen Cachespeichers 108 die
Zeichendatenfolgen L1, L2, L3 und L4 durch die Zeichenmaschine 101 sequentiell
gezeichnet werden, dann werden Daten aus dem Bereich 105a des
Vollbildpuffers 105 als Inhalte der Daten DT (0) des Cachespeichers 108 gelesen
(geladen), und die Zeichendatenfolgen L1, L3 werden bezüglich der
Daten DT (0) geschrieben. Außerdem werden
Daten des Bereichs 105b des Vollbildpuffers 105 als
Inhalte der Daten DT (1) gelesen, und anschließend werden die Zeichendatenfolgen
L2, L4 geschrieben. Dies ermöglicht
ein kollektives Lesen/Schreiben der Zeichendatenfolgen L2, L4 als Daten
DT (0) in dem Bereich 105a des Vollbildpuffers 105,
während
ein kollektives Lesen/Schreiben der Zeichendatenfolgen L2, L4 als
Daten DT (1) im Bereich 105b des Vollbildpuffers 105 ermöglicht ist,
womit die Anzahl bzw. die Häufigkeit
des Zugriffs auf den Vollbildpuffer 105 sinkt, um ein Hochgeschwindigkeitszeichnen
zu gewährleisten.
-
Unter Bezugnahme auf 9 wird ein veranschaulichendes Beispiel
des Algorithmus der Steueroperation durch die Cachespeicher-Steuereinrichtung 109 gemäß 8 erläutert.
-
In 9 werden
die V-Flags sämtlicher
Zeilen des Cachespeichers 108 beim ersten Schritt S201
auf 0 gesetzt. Die Verarbeitung geht dann weiter zum Schritt S202,
um einen Bereitschafts- bzw. Standby-Zustand solange festzulegen,
bis die Zeichenmaschine einen Speicherzugriff anfordert. Falls ein
Speicherzugriff angefordert ist, geht die Verarbeitung weiter zum
Schritt S203, um nach einer Zeile sämtlicher Zeilen des Cachespeichers 108 zu
suchen, in der das V-Flag gegeben ist mit 1 und die Bits der
oberen Wertigkeit der Anforderungsadresse mit dem Identifizierungszeichen
TAG koinzidieren. Beim nächsten
Schritt S204 wird überprüft, ob eine
derartige Zeile ermittelt worden ist oder nicht. Falls das Ergebnis
der Überprüfung NEIN
lautet, geht die Verarbeitung weiter zum Schritt S205; andernfalls
geht die Verarbeitung weiter zum Schritt S209. Beim Schritt 5205
wird eine Zeile mit dem auf 0 gesetzten V-Flag gesucht. Falls das
Ergebnis der Überprüfung NEIN lautet,
geht die Verarbeitung weiter zum Schritt S207; andernfalls geht
die Verarbeitung weiter zum Schritt S208. Beim Schritt 5207 wird
die Zeile aus dem Cachespeicher 108 ausgewählt, und
die Inhalte DT des Datenbereichs werden in die durch das Identifizierungszeichen
TAG bezeichnete Adressenposition des Vollbildpuffers geschrieben.
Nach Festlegen des V-Flags für
die Zeile geht die Verarbeitung weiter zum Schritt S208. Beim Schritt
S208 werden für
die Zeile mit dem auf 0 festgelegten V-Flag, wie sie beim Schritt
S206 ermittelt worden ist, oder für die Zeile, deren V-Flag beim
Schritt S207 auf 0 gesetzt worden ist, Daten entsprechend der Adresse
der Speicherzugriffsanforderung von der Zeichenmaschine 101 aus dem
Vollbildpuffer 105 kopiert. Das V-Flag für die Zeile
wird auf 1 gesetzt, und die Bits der oberen Ordnung der
Adresse werden in den Identifizierungsbereich für die Zeile kopiert, woraufhin
die Verarbeitung zum Schritt S209 weitergeht. Bei diesem Schritt
S209 greift die Zeichenmaschine 101 auf die Zeile des Cachespeichers 108 zu,
woraufhin die Verarbeitung zum Schritt S202 zurückkehrt.
-
Bei der unter Bezugnahme auf die 7 bis 9 erläuterten
Ausführungsform
wird der Zugriff von der Zeichenmaschine 101 auf den Hochgeschwindigkeits-Cachespeicher 108 effektiv
ausgeführt,
während
die Anzahl bzw. Häufigkeit
der Zugriffsoperationen auf den Vollbildpuffer 105 verringert
ist, womit ein schnelles bzw. Hochgeschwindigkeitszeichnen ermöglicht ist.
-
Falls bei der obigen Anordnung die
einer Zeile des Cachespeichers entsprechenden Zeichendatenfolgen
L1 bis L4 sequentiell gezeichnet werden, ist ein Seiten-Schalten
erforderlich, wenn das Schreiben der Zeichendatenfolge L2 im Anschluss
an die Zeichendatenfolge L1 bezüglich
des Vollbildpuffers 105 erfolgt. In entsprechender Weise
ist ein Seiten-Schalten erforderlich, wenn das Schreiben der Zeichendatenfolgen
L3 und L4 im Anschluss an die Zeichendatenfolgen L2 und L3 erfolgt.
Damit sind insgesamt vier Seitenzugriffsoperationen erforderlich,
einschließlich
des Seiten-Schaltens zum Schreiben der ersten Zeichendatenfolge
L1. Beim Vollbildpuffer 105, der den üblichen DRAM-Speicher verwendet,
ist es bekannt, dass ein Zugriff mit einer Seitenbestimmung zeitraubend
wird, während
eine Hochgeschwindigkeits-Datenübertragung
im sogenannten Hochgeschwindigkeits-Seitenmodus eines kontinuierlichen
Datenlesens/-schreibens auf derselben Seite erzielt werden kann.
Damit sind zum sequentiellen Zeichnen der Zeichendatenfolgen L1
bis L4, wie in 10 veranschaulicht,
vier Zugriffsoperationen mit einer Seitenbestimmung erforderlich,
was die Zeichengeschwindigkeit senkt.
-
Bei der in 3 dargestellten Ausführungsform ist der FIFO-Speicher 102 zusätzlich zu
dem Cachespeicher 104 vorgesehen. Die Inhalte des FIFO-Speichers 102 werden
zuvor durch die Cachespeicher-Steuereinrichtung 106 gelesen,
und auf dieselbe Seite im Vollbildpuffer 105 wird zur weiteren Steigerung
bzw. Verbesserung der Zeichengeschwindigkeit kollektiv zugegriffen.
-
In 11 ist
ein veranschaulichendes Beispiel des Algorithmus zur Vorab-Lesesteuerung durch
die Cachespeicher-Steuereinrichtung 106 gezeigt, während in 12 ein Beispiel der Lese-Schreibsteuerung
für den
Cachespeicher 104 veranschaulicht ist.
-
Beim ersten Schritt S211 gemäß 11 werden die S-Flags und
die V-Flags sämtlicher
Zeilen des Cachespeichers 104 auf 0 gesetzt, während der auf
den Befehl in dem FIFO-Speicher 102 hinzeigende Zeiger
P auf die führende
bzw. Anfangsposition festgelegt ist. In 11 und 12 sind
Index-Variable, welche die Zeilen des Cachespeichers 104 spezifizieren,
auf i oder j gesetzt, während
die Inhalte der S-Flags und der V-Flags der Zeile i auf S(i) bzw.
V(i) gesetzt sind. Beim Schritt S211 werden S(i) und V(i) für sämtliche
Werte von i auf 0 gesetzt.
-
Beim nächsten Schritt S212 wird überprüft, ob ein
Befehl an einer Position des Zeigers P des FIFO-Speichers 102 geschrieben
worden ist oder nicht. Falls das Ergebnis der Überprüfung NEIN lautet, kehrt die
Verarbeitung zum Schritt S212 zurück. Andernfalls geht die Verarbeitung
weiter zum Schritt S213.
-
Beim Schritt S213 wird eine Adresse
entsprechend dem Identifizierungskennzeichen, beispielsweise eine
Seitenadresse und eine Spaltenadresse, erzeugt und für eine Identifizierungszeichen-Variable
tag in aus der Adresse geschrieben, die durch den Operationscode
OPR des Positionsbefehls des Zeigers P und der Koordinaten X und
Y erzeugt ist.
-
Beim nächsten Schritt S214 wird für sämtliche
Werte von i in dem Cachespeicher 104 überprüft, ob das Identifizierungszeichen
tag(i) der Inhalt der Identifizierungszeichen-Variablen tag in ist
und ob ein solcher i-Wert vorliegt, für den das S-Flag S(i) gegeben
ist mit 1. Dies ist gleichbedeutend mit einer Entscheidung darüber, ob
die Daten der zugehörigen Adresse
im Cachespeicher sind oder ob irgendeine bezüglich einer Zugriffsanforderung
registrierte Zeile für
dasselbe Identifizierungskennzeichen vorliegt oder nicht. Falls
das Ergebnis der Überprüfung beim Schritt
S214 NEIN lautet, dann geht die Verarbeitung weiter zum Schritt
S215; andernfalls geht die Verarbeitung weiter zum Schritt S220.
-
Beim Schritt S215 wird überprüft, ob ein
solcher i-Wert vorliegt oder nicht, für den das S-Flag S(i) gegeben
ist mit 0. Falls das Ergebnis der Überprüfung NEIN lautet, geht die
Verarbeitung weiter zum Schritt S216; andernfalls geht die Verarbeitung
weiter zum Schritt 218. Dies ist gleichbedeutend mit einer Entscheidung
darüber,
dass die Daten gültig,
jedoch be reits gezeichnet sind, und darüber, ob irgendeine Zeile vorliegt
oder nicht, bezüglich
der keine Anforderung vorliegt, das heißt darüber, ob irgendein Cachespeichereintrag
vorliegt oder nicht. Falls das Ergebnis der Überprüfung beim Schritt S216 JA lautet,
geht die Verarbeitung weiter zum Schritt S217; andernfalls geht
die Übertragung
weiter zum Schritt S221.
-
Beim Schritt S217 werden die Daten
DT(i) für die
Zeile des obigen Wertes von i in die Speicherinhalte MEM(tag(i)) übertragen
und in diese unter der durch das Identifizierungskennzeichen tag(i)
in dem Vollbildpuffer 105 spezifizierten Adressenposition
geschrieben.
-
Beim nächsten Schritt S218 wird die
Identifizierungskennzeichen-Variable tag in in tag(i) für die obige
Zeile i in den Cachespeicher 104 geschrieben. Das S-Flag
S(i) und das V-Flag V(i) werden auf 1 bzw. 0 gesetzt, während die
Anforderungs-Zählerstellung
RC(i) auf 1 gesetzt wird. Dies ist gleichbedeutend mit einer neuen
Registrierung der Zugriffsanforderung.
-
Beim nächsten Schritt S219 wird der
Zeiger P des FIFO-Speichers 102 zur nächsten Befehlsposition inkrementiert.
Die Verarbeitung kehrt dann zu dem obigen Schritt S212 zurück.
-
Falls das Ergebnis des Schritts S214
JA lautet, werden die Zeile i des Cachespeichers 104 oder die
Zugriffsanforderungs-Zählerstellung
RC(i) des Cachespeicher-Eintrags beim Schritt 5220 auf (RC(i) +
1) inkrementiert. Sodann geht die Verarbeitung weiter zum Schritt
S219.
-
Falls das Ergebnis des Schritts S214
NEIN lautet, existiert im Cachespeicher 104 keine Leerstelle,
so dass sich die Verarbeitung beim Schritt S221 im Bereitschafts-(Warte)-Zustand
befindet, um das Auftreten der Leerstelle durch die Verarbeitung
mittels der Cachespeicher-Lese-Schreibsteuerung abzuwarten, was
zuvor erläutert
worden ist, bevor zum Schritt S213 zurückgekehrt wird.
-
Sodann wird bei der Lese-/Schreibsteuerung des
Cachespeichers 104 gemäß 12 beim ersten Schritt S231
ein Befehl aus dem FIFO-Speicher 102 abgerufen. Beim nächsten Schritt
S232 wird überprüft, ob der
Befehl bereits durch Vorab-Lesen in der Cachespeicher-Steuereinrichtung 106 verarbeitet worden
ist oder nicht, wie dies unter Bezugnahme auf 11 erläutert worden ist. Falls das
Ergebnis des Schritts S232 NEIN lautet, geht die Verarbeitung weiter
zum Schritt S233, um auf eine Vorab-Lese-Verarbeitung gemäß 11 zu waren, damit zum Schritt S232
zurückgekehrt
wird. Falls das Ergebnis beim Schritt S232 JA lautet, geht die Verarbeitung
weiter zum Schritt S234.
-
Beim Schritt S234 wird eine Adresse,
die zu einem Identifizierungskennzeichen wird, wie eine Seitenadresse
und eine Spaltenadresse, aus der Adresse erzeugt, die durch die
Koordinaten X, Y und den Operationscode OPR des aus dem FIFO-Speicher 102 gelesenen
Befehls erzeugt ist, und das betreffende Identifizierungskennzeichen
wird in eine Identifizierungskennzeichen-Variable TAG A geschrieben.
-
Beim nächsten Schritt S235 wird ein
derartiger Wert von i im Cachespeicher 104 gesucht, der tag(i)
= tag A und S(i) = 1 liefert. Der Zeilen- oder Cachespeicher-Eintrag
für einen
derartigen i-Wert ist bereits vorab gelesen und kann folglich notwendigerweise
ermittelt werden.
-
Beim nächsten Schritt S236 wird überprüft, ob das
V-Flag V(i) gegeben ist mit 0 oder nicht. Falls das Ergebnis JA
lautet, geht die Verarbeitung weiter zum Schritt S237, während andernfalls
die Verarbeitung zum Schritt S238 weitergeht. Wenn die Zugriffsanforderung
erfolgt, jedoch die Daten ungültig sind,
dann wird das betreffende Flag V(i) gleich zu 0.
-
Beim Schritt S237 wird eine solche
Zeile aus sämtlichen
Zeilen im Cachespeicher 104, für die in dem Fall, dass eine
Index-Variable gegeben
ist mit j, dass die Seitenadresse (j) des Identifizierungskennzeichens
tag(j) gleich dem Seitenadressen teil tag A Seite der Identifizierungskennzeichen-Variablen
tag A ist, dass das S-Flag S(j) gegeben ist mit 1 und dass das V-Flag
V(j) 0 ist, gesucht, und die Speicherinhalte MEM(tag(j)) in der
Adressenposition, die durch das Identifizierungskennzeichen tag(i)
in dem Vollbildpuffer 105 bezüglich eines Datenbereiches
der Zeilen spezifiziert ist, die alle Werte von j aufweisen, welche dieser
Bedingung genügen,
werden als Daten DT(j) geschrieben. Dies ist gleichbedeutend mit
dem Lesen (Laden) sämtlicher
angeforderter Daten auf derselben Seite im Vollbildpuffer 105 mit
einer hohen Geschwindigkeit.
-
Beim nächsten Schritt S238 liest/schreibt
die Betriebsvorrichtung 103 Daten DT(i) der Zeile i des Cachespeichers 104.
-
Beim nächsten Schritt S239 wird die
Zugriffsanforderungs-Zählerstellung
RC(i) zu (RC(i) – 1) dekrementiert,
um zum Schritt S231 zurückzukehren.
-
Wie oben beschrieben, liest die Cachespeicher-5teuereinrichtung 106 vorab
den Befehl im FIFO-Speicher 102, um Daten derselben Seite
im Vollbildpuffer 105 zusammen zu gruppieren, damit das
Laden von Daten in den Cachespeicher 104 bei hoher Geschwindigkeit
ohne ein Seiten-Schalten erfolgt. So werden beispielsweise die Zeichendatenfolgen
L1, L3 in bzw. auf derselben Seite gemäß 10 zusammen gruppiert, während die
Zeichendatenfolgen L2, L4 zusammen gruppiert werden, um eine Datenübertragung
mit dem Cachespeicher 104 auszuführen, so dass ein Seitenbestimmungszugriff
lediglich zweimal ausgeführt
werden muss, was den Zugriff mit höherer Geschwindigkeit realisiert
als bei dem Aufbau, der lediglich den Cachespeicher verwendet, wie
dies in 8 gezeigt ist,
mit der Forderung nach einem 4-Seiten-Bestimmungszugriff zur Steigerung
der Zeichengeschwindigkeit.
-
Unterdessen werden in der Betriebsvorrichtung 103 gemäß 3 eine sogenannte Pufferverarbeitung,
ein Anti-Aliasing, verschiedene Filterverarbeitungen, eine α-Mischung,
eine semitransparente Verarbeitung und eine Pixel-Neuanordnungs-Verar beitung
auf einen von der Zeichenmaschine her empfangenen Befehl hin ausgeführt. Ein
veranschaulichendes Beispiel der Betriebsvorrichtung 103 wird unter
Bezugnahme auf 13 erläutert.
-
In dieser Figur besitzt ein von dem
Hauptteil 101 der Zeichenmaschine über den FIFO-Speicher 102 abgerufener
Befehl eine Struktur, wie sie unter Bezugnahme auf 4 veranschaulicht ist. Die Koordinatendaten
X werden einem feststehenden Kontakt eines Umschalters 122 direkt
sowie einem feststehenden Kontakt b dieses Umschalters über eine Multipliziereinrichtung 123 zugeführt, die über einen Multiplikationsfaktor
von 2 verfügt,
während
die Koordinatendaten Y einem feststehenden Kontakt a eines Umschalters 124 direkt
und einem feststehenden Kontakt b des betreffenden Umschalters über eine Multipliziereinrichtung 123 zugeführt werden,
die über
einen Multiplikationsfaktor von 2 verfügt. Diese Umschalter 122, 124 werden
hinsichtlich des Umschaltens durch die Bits b3, b2 eines Operationscodes
OPR des Befehls gesteuert. Die Ausgangssignale der Umschalter 122, 124 werden
an den Identifizierungskennzeichenbereich des Cachespeichers 104 als
X- und Y-Koordinaten als X- und Y-Adres-sen an den Vollbildpuffer 105 abgegeben.
Die Koordinatendaten Z des Befehls repräsentieren die Distanz längs der
Tiefe vom Betrachtungspunkt aus, und sie werden einem Eingangsanschluss
A eines Komparators 125 zugeführt. Dem anderen Eingangsanschluss B
des Komparators 125 wird ein Z-Wert vom Cachespeicher 104 zugeführt. Diese
beiden Eingangswerte werden miteinander verglichen, um die Z-Pufferverarbeitung
als eine Hintergrundverarbeitung auszuführen. Dies heißt, dass
ein vom Komparator 125 abgegebenes Vergleichsergebnis über einen
Signalspeicher bzw. eine Latch-Schaltung 126, ein UND-Glied 127 und
einen feststehenden Anschluss a eines Umschalters 129 als
ein Schreibsteuersignal SCHREIBEN an den Cachespeicher 104 abgegeben wird.
Diese erzielte Steuerung des Schreibens eines Pixels mit einem Z-Wert
entspricht der proximalen Seite im Cachespeicher 104. Die
Steuerung dahingehend, ob eine Pufferverarbeitung vorgenommen werden
sollte oder nicht, wird durch Umschalten des Umschalters 129 durch
ein Bit b1 des Operation scodes OPR des Befehls ausgeführt, während die
Schreibzeit dadurch synchronisiert ist, dass das Steuersignal gemäß 13 an einem Nicht-Glied 128 verwendet wird
und dass das so gewonnene Steuersignal dem UND-Glied 127 und
dem feststehenden Kontakt b des Umschalters 129 zugeführt wird.
-
Die von dem Cachespeicher 104 abgegebene
Daten Daten-aus werden zur Betriebsvorrichtung 130 übertragen,
der Farbwerte R, G und B des Befehls und ein Koeffizient a zur α-Mischung
zugeführt werden
und der durch den Operationscode OPR des Befehls gesteuert wird.
Ein Ausgangssignal der Betriebsvorrichtung 130 wird über eine
Latch-Einrichtung 131 als Daten-ein an den Cachespeicher 104 abgegeben.
Die Eingangsdaten für
den Cachespeicher 104 werden in den Vollbildpuffer 105 geschrieben.
-
Ein veranschaulichender Aufbau der
Betriebsvorrichtung 130 wird unter Bezugnahme auf 14 erläutert. Obwohl in dieser Figur
der innere Aufbau eines B-Betriebsteiles 132B für die R(Rot)-Datenverarbeitung
veranschaulicht ist, sind der G-Betriebsteil 132G für die G-(Grün)-Verarbeitung
oder der B-Betriebsteil 132B für die B-(Blau)-Verarbeitung
im inneren Aufbau ähnlich, und
sie sind daher der Einfachheit halber hier nicht dargestellt.
-
Dem R-Betriebsteil 132R gemäß 14 werden R-Daten des aus
dem FIFO-Speicher 102 gemäß 13 entnommenen Befehls, der Koeffizient α und die
Datenkomponente(r) von Daten zugeführt, welche die von dem Cachespeicher 104 abgegebenen
Daten-aus und deren Nachbardaten sind, und zwar als Daten, während ihm
das Bit b0 und die Bits b2 bis b5 des Operationscodes OPR des Befehls zugeführt werden.
Die R-Daten des Befehls werden einer Multipliziereinrichtung 133 zugeführt, um
mit dem Koeffizienten a multipliziert zu werden, während die
R-Datenkomponente der abgegebenen Daten Daten-aus an eine Multipliziereinrichtung 134 abgegeben
werden, in der sie mit (1 – α) multipliziert
werden, was von einer Subtrahiereinrichtung 135 abgegeben
wird. Die Ausgangssignale der Multipliziereinrichtungen 133, 134 werden
einem Addierer 136 zugeführt, um zusammen summiert zu
werden. Die resultierende Summe wird einem feststehenden Kontakt
b eines Umschalters 137 zugeführt. Die R-Datenkomponente
(R) des Befehls wird einem feststehenden Kontakt a des Umschalters 137 zugeführt. Der Umschalter 137 wird
in seiner Ein-Aus-Steuerung durch das Bit b0 des Operationscodes
OPR zur Ein-Aus-Steuerung der α-Mischverarbeitung
gesteuert. Ein Ausgangssignal des Umschalters 137 wird
einer Pixel-Vergrößerungsschaltung 138 zugeführt, die durch
die Bits b3 und b2 des Operationscodes OPR gesteuert wird. Die Ausgangssignale
der Pixel-Vergrößerungsschaltung 138 werden
einem feststehenden Kontakt a eines Umschalters 139, einer
Anti-Aliasing-Schaltung 140, einer Filterschaltung 141 eines Typs 1 und
einer Filterschaltung 142 eines Typs 2 zugeführt. Die
Ausgangssignale der Anti-Aliasing-Schaltung 140 und der
Filterschaltungen 141, 142 werden an feststehende
Anschlüsse
b, c und d des Umschalters 139 abgegeben. Dieser Umschalter 139 wird
hinsichtlich seines Umschaltens durch die Bits b5, b4 des Operationscodes
OPR gesteuert. Ein Ausgangssignal des Umschalters 139 wird
als Ausgangssignal des R-Betriebsteiles 132B herangezogen
und an die Latch-Schaltung 131 der nächsten Stufe zusammen mit Ausgangssignalen
des G-Betriebsteiles 132G und des B-Betriebsteiles 132B als Ausgangssignal
des Betriebsteiles 131 gemäß 13 abgegeben.
-
Eine Videospielmaschine 201 gemäß der vorliegenden
Erfindung ist so konfiguriert, wie dies in einer Draufsicht in 15, in einer Vorderansicht
in 16 und in einer Seitenansicht
gemäß 17 veranschaulicht ist.
-
Genauer gesagt besteht die Videospielmaschine 201 grundsätzlich aus
einem Hauptkörperteil 202 und
einer Bedienungsvorrichtung 217, die mit dem Hauptkörperteil 202 über ein
Kabel 227 verbunden ist, wie dies in 15 gezeigt ist. In einem mittleren Bereich
auf der Oberseite des Hauptkörperteiles 202 ist
eine Plattenladeeinheit 203 untergebracht, in die eine
CD-ROM 251 geladen
wird, wie sie in 18 gezeigt
ist. Auf der linken Seite der Plattenladeeinheit 203 sind
ein Spannungsversorgungsschalter 205, der zum Einschalten
oder Ausschalten des Gerätes
betätigt
wird, und ein Rücksetzschalter 204 angebracht,
der zum vorübergehenden
Zurücksetzen
des Spiels betätigt
wird. Auf der rechten Seite der Plattenladeeinheit 203 ist
ein Plattenbetätigungsschalter 206 angebracht,
der zum Einlegen und Auswerfen der CD-ROM 251 in Bezug
auf die Plattenladeeinheit 203 betätigt wird.
-
An der Vorderseite des Hauptkörperteiles 202 sind
Verbindungsbzw. Anschlussteile 207A, 207B angebracht,
wie dies in 16 gezeigt
ist. Diese Anschlussteile 207A, 207B sind mit
einem Verbindungsanschluss bzw. Verbinder 226 versehen,
der am vordersten Teil des Kabels 227 vorgesehen ist, welches
von der Bedienungsvorrichtung 217 aus verläuft, und
mit einem Verbindungsanschluss-Einführungsteil 212 für den Anschluss
einer Aufzeichnungsvorrichtung bzw. eines Aufzeichnungsgeräts 228,
wie einer Speicherkarte, und mit einem Aufzeichnungs-/Einführungsteil 208.
Dies heißt,
dass jeweils zwei Bedienungsvorrichtungen 217 und Aufzeichnungsvorrichtungen 228 mit
dem Hauptkörperteil 202 verbunden
werden können.
-
Die Vorderansicht gemäß 16 veranschaulicht den Zustand,
in welchem der Verbindungsanschlussteil 226 und die Aufzeichnungsvorrichtung 228 in
dem auf der rechten Seite befindlichen Verbindungsteil 207B geladen
bzw. zusammengesteckt sind, wobei weder der Anschlussverbindungsteil 226 noch
die Aufzeichnungsvorrichtung 228 in dem auf der linken
Seite befindlichen Verbindungsteil 207A zusammengesteckt
sind. Der Aufzeichnungseinführungsteil 208 zum
Einführen
bzw. Einstecken der Aufzeichnungsvorrichtung 228 ist mit dem
Verschluss 209 versehen. Wenn die Aufzeichnungsvorrichtung 228 in
den Hauptkörperteil 202 gesteckt
wird, dann wird der Verschluss 209 durch den vordersten
Teil der Aufzeichnungsvorrichtung 228 weggedrückt, um
das Einstecken zu bewirken.
-
Der Anschlussverbinderteil 226 weist
einen gerändelten
Griffteil 231A für
eine Antirutschwirkung auf. In entsprechender Weise weist die Aufzeichnungsvorrichtung 228 einen
gerändelten
Griffteil 242A für
eine Antirutschwirkung auf. Bezugnehmend auf die Seitenansicht gemäß 17 sei angemerkt, dass der
Verbindungsanschlussteil 226 eine Länge L besitzt, die im wesentlichen
gleich einer Länge
der Aufzeichnungsvorrichtung 228 ist.
-
Die Bedienungsvorrichtung 27 verfügt über Halter 220, 221,
die mit der linken bzw. rechten Hand erfasst werden können. Die
vordersten Teile der Halter 220, 221 sind mit
Bedienungsteilen 218 bzw. 219 versehen. Die Bedienungsteile 224, 225 werden
mit den Zeigefingern der beiden Hände betätigt, während die Bedienungsteile 218, 219 mit
den Daumen beider Hände
betätigt
werden.
-
Zwischen den Betätigungs- bzw. Bedienungsteilen 218 und 219 sind
ein Auswahlschalter 222, der zur Auswahl während des
Spiels betätigt wird,
sowie ein Start-Schalter 223 vorgesehen, der zum Starten
des Spiels betätigt
wird.
-
Bei der vorliegenden Videospielmaschine 201 wird
die in die Plattenladeeinheit 203 geladene CD-ROM 251 durch
das CD-ROM-Laufwerk 30 wiedergegeben.
Die Bedienungsvorrichtung 217 ist der oben erwähnten Eingabevorrichtung 28 äquivalent, während die
Aufzeichnungsvorrichtung 228 der Hilfsspeichervorrichtung 27 äquivalent
ist.
-
Die vorliegende Erfindung ist auf
die oben beschriebenen Ausführungsbeispiele
nicht beschränkt.
So ist beispielsweise die veranschaulichende Struktur der Bedienungsvorrichtung
nicht auf die Konfiguration beschränkt, wie sie dargestellt ist;
sie kann von irgendeiner anderen gewünschten Konfiguration sein.
Die Bedienungsvorrichtung kann auch, sofern erwünscht, weggelassen werden.