-
HINTERGRUND
DER ERFINDUNG
-
(1) Gebiet der Erfindung
-
Die
Erfindung betrifft eine Bildspeichervorrichtung für Grafik
zur Verwendung bei der Computergrafiktechnologie, und spezieller
betrifft sie eine Bildspeichervorrichtung für Grafik, bei der der Zugriff auf
einen Bildspeicher beschleunigt ist.
-
(2) Beschreibung des Stands
der Technik
-
In
den letzten Jahren wurde durch Grafiksysteme unter Verwendung von
Computern erzeugte Computergrafik in weitem Umfang auf verschiedenen Gebieten
verwendet. Zu typischen Anwendungsgebieten gehören CAD-Konstruktionssysteme,
Flugsimulationssysteme, Steuerungen und dergleichen sowie Videospiele.
Computergrafik dient zum Erzeugen zwei- oder dreidimensionaler Symbolbilder
auf dem Videoschirm durch Verarbeiten von in Bildspeichern gespeicherten
Bilddaten.
-
Die 5 ist
ein Blockdiagramm, das eine herkömmliche,
standardmäßige Grafikanzeigevorrichtung
zeigt. Diese Anzeigevorrichtung verfügt über Folgendes: einen Bildspeicher 50 aus
einem DRAM (Dynamic Random Access Memory), der aus digitalen Signalen
bestehende Bilddaten speichert; einen Impulsgenerator 51 zum
Erzeugen eines Taktsignals; eine Speichersteuerung 52 zum
Erzeugen von Steuerungssignalen in Übereinstimmung mit dem Taktsignal
vom Impulsgenerator 51 und zum Liefern derselben an den
Bildspeicher 50; und einen D/A-Wandler 53 zum
Wandeln der digitalen Signale vom Bildspeicher 50 in analoge
Signale (Videosignale).
-
Im
Allgemeinen erfolgt der Zugriff auf den Bildspeicher 50 durch
seriellen Zugriff. Genauer gesagt, wird die Adressennummer beim
Zugriff auf den Bildspeicher 50 sequenziell bis zur Nummer
der vorbestimmten horizontalen Auflösung (Anzahl der Pixel) des
Anzeigeschirms erhöht.
Wenn die ausgewählte Adresse
den Wert der vorbestimmten horizontalen Auflösung erreicht geht der Vorgang
zur nächsten
Zeile (Raster) weiter. So wird der Zugriff auf den Bildspeicher 50 dadurch
ausgeführt,
dass sukzessive Spaltenadressen an ihn geliefert werden. Demgemäß bilden
die Zeilenadressen die höheren
Stellen über
der Spaltenadresse.
-
Angesichts
des vorstehenden Hintergrunds wurden eine als Synchron-DRAM bezeichnete
Vorrichtung vorgeschlagen, die dazu dient, sequenzielle Zugriffsoperationen
auszuführen.
Ein Synchron-DRAM ist eine Speichervorrichtung, die dazu konzipiert
ist, den sequenziellen Zugriff auf zur horizontalen Richtung gehörende Adressen
zu beschleunigen. Dieser Speicher ist dadurch gekennzeichnet, dass
es nicht erforderlich ist, bei jedem Zugriff auf den Speicher die
Zeilen- und die Spaltenadresse zu spezifizieren. Wenn einmal die
Startadresse spezifiziert ist, kann eine vorbestimmte Anzahl von
Daten synchron mit dem von einem Impulsgenerator ausgegebenen Taktsignal
eingeschrieben oder ausgelesen werden.
-
Ein
Speicher dieser Art verfügt über ein
Paar von Zellenblöcken,
die als 'Bank' bezeichnet werden. Diese
Konfiguration ermöglicht
es, die Adresse in einer Bank auszuwählen, während auf die andere Bank zugegriffen
wird. Da die Adressen abwechselnd zugewiesen werden, ist es möglich, einen
kontinuierlichen Zugriff auf den Speicher auszuführen. Z. B. sind bei der in
der 6 dargestellten Adressenanordnung Adressen in
der ersten und der zweiten Bank A und B abwechselnd in jeder Spalte
angeordnet. D. h., dass die Adresse B0 während der Periode ausgewählt wird,
während
der ein Zugriff auf die Adresse A0 erfolgt, wodurch es möglich ist,
kontinuierlich nach Abschluss des Zugriffs auf die Adresse A0 auf die
Adresse B0 zuzugreifen.
-
Demgemäß kann durch
Zugreifen auf den Bildspeicher mit übersprungenen Adressen mit
regelmäßigen Intervallen
anstatt des Zugriffs auf den Speicher mit sequenziell kontinuierlichen
Adressen vermieden werden, dass das Lesen und Schreiben von Daten
betreffend einen Bildspeicher im selben Bildspeicher erfolgen, wodurch
es möglich
ist, einen effizienten Zugriff auf einen Bildspeicher zu realisieren.
Dieses Zugriffsschema wird als Verschachtelungstechnik bezeichnet.
Hierbei ist zu beachten, dass hinsichtlich der Lese- und der Schreiboperationen
verschiedene Techniken vorgeschlagen wurden, wie das Wechseln von
an den Speicher gelieferten Steuerungssignalen (japanische Patentanmeldungs-Offenlegung
Hei 06 Nr. 27, 932) oder das Bereitstellen von Puffern (japanische
Patentanmeldungs-Offenlegung Hei 06 Nr. 175, 646), um gleichzeitigen
Zugriff auf den Bildspeicher zu vermeiden.
-
Zusammengefasst
gesagt, wird der Betrieb bei der in der 5 dargestellten
herkömmlichen
Anzeigevorrichtung für
Grafik dadurch ausgeführt,
dass eine Datenadresse für
den Bildspeicher 50 ausgewählt wird, auf die so spezifizierte
Adresse zugegriffen wird, Bilddaten aus dem Bildspeicher 50 ausgelesen
werden, die Bilddaten im D/A-Wandler 53 in analoge Signale
(Videosignale) gewandelt werden und so ein Bild auf dem Anzeigeschirm
angezeigt wird.
-
Eine
Computeranzeigetechnologie zum Anzeigen dreidimensionaler Grafik
verwendet häufig sogenannte
Polygone oder polygonale Bildsymboldarstellungen. Ein Polygon wird
in Dreiecke unterteilt, und jedes der so erzeugten Dreiecke wird
mit Pixeln einer bestimmten Farbe aufgefüllt, um auf dem Anzeigeschirm
Objekte zu repräsentieren.
Die 7 zeigt eine Pixelanordnung auf dem Anzeigeschirm. Diese
Figur zeigt den Fall, dass ein Dreieck aufbereitet wird. Hierbei
können
Orte von Pixeln auf dem Schirm durch Schirmadressen (Zeilen- und
Spaltenadressen) spezifiziert werden. Adressen im Bildspeicher sind
entsprechend den Schirmadressen von Pixeln angeordnet, um die Daten
in einzelnen Pixeln zu speichern.
-
Im
Allgemeinen bestehen bei Grafikanzeigevorrichtungen mit einer Polygonaufbereitung
zahlreiche Gelegenheiten zum Aufbereiten von Bildsymbolzeichnungen
sowohl in horizontaler als auch vertikaler Richtung, wie es in der 7 dargestellt
ist. Jedoch besteht die herkömmliche
Anzeigevorrichtung aus einem Bildspeicher unter Verwendung seriellen Zugriffs,
wie oben angegeben, der hauptsächlich zum
Zeichnen von Bildern in der horizontalen Richtung konzipiert ist.
Aus diesem Grund ist es bei einer Anzeigevorrichtung, die darauf
abzielt, eine dreidimensionale Grafik zu zeichnen, erforderlich,
Zeilen- und Spaltenadressen mittels der Speichersteuerung jedesmal
dann zu spezifizieren, wenn das Anzeigebild in der vertikalen (Raster)
Richtung bewegt wird. Dies macht die Adressensteuerung kompliziert
und verkleinert die Zeichengeschwindigkeit.
-
EP-A-0
640 979 offenbart einen Bildspeicher, bei dem Daten in Speicherbänken gespeichert
werden, die zwischen ungeraden und geraden Bänken sowohl in der vertikalen
als auch der horizontalen Richtung abwechseln.
-
US-A-4
449 199 offenbart ein digitales, rasterndes Wandlungssystem für eine CRT-Anzeige
und einen Bildspeicher, der mit gesonderten Seiten organisiert ist,
um die Zugriffsrate zu verbessern.
-
US-A-4
758 881 offenbart einen Stehvideobild-Bildspeicher mit vier Bänken von
Direktzugriffsspeichern, der für
hoch effiziente, indirekte Adressierung spezifiziert ist.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Daher
ist es eine Aufgabe der Erfindung, eine Bildspeichervorrichtung
für Grafik
zu schaffen, bei der der Zugriff auf einen Bildspeicher gleichmäßig ausgeführt wird,
um die Zeichengeschwindigkeit zu verbessern.
-
Gemäß der Erfindung
ist eine Bildspeichervorrichtung für Grafik geschaffen, wie sie
im Anspruch 1 dargelegt ist.
-
Wie
oben ausgeführt,
wählt,
gemäß der Erfindung,
die Steuerungseinrichtung Adressen sowohl horizontal als auch vertikal
benachbart zu einer Adresse aus, auf die aktuell zugegriffen wird.
Im Ergebnis kann, wenn ein Polygon aufbereitet wird, eine Bildsymbolzeichnung
in jeder Richtung, also horizontal oder vertikal, erfolgen, ohne
dass es erforderlich wäre,
bei jedem Zugriff die Zeilen- und die Spaltenadresse im Bildspeicher
auszuwählen.
D. h., dass der Zugriff auf vorbestimmte Adressen in einem Augenblick
erfolgen kann, wodurch es möglich
ist, die Zeichengeschwindigkeit zu verbessern. Demgemäß ist es,
wenn ein Zugriff in der vertikalen Richtung unter Verwendung des
Speichers auszuführen
ist, der seriellen Zugriff mit hoher Geschwindigkeit ausführen kann,
nicht mehr erforderlich, eine Adressenauswahl für die Zeile und die Spalte
bei jedem auszuführenden
Zugriff auszuführen,
wodurch es möglich
ist, einen Zugriff mit weiter verbesserter hoher Geschwindigkeit
zu realisieren.
-
Wenn
Speicher wie Synchron-DRAMs und dergleichen, deren Speicherbereich
ursprünglich
in zwei Bänke
unterteilt ist, verwendet werden, ist es möglich, den o. g. Hochgeschwindigkeitszugriff
leicht zu realisieren.
-
Wenn
die Steuerungseinrichtung mit dem ersten Adressenaddierer, dem ersten
Selektor, dem zweiten Adressenaddierer und dem zweiten Selektor verwendet
wird, erfolgt die Adressenauswahl in der Bank A oder der Bank B
durch Einstellen des Ausgabewerts des zweiten Selektors als zugehörige Adresse,
während
die Adressenauswahl in der Bank C oder der Bank D dadurch erfolgt,
dass der Ausgangswert des ersten Adressenaddierers als zugehörige Adresse
eingestellt wird. Auf diese Weise können die Adressen horizontal
und verti kal angrenzend an die Adresse, auf die aktuell zugegriffen
wird, ausgewählt werden.
-
Weitere
Vorteile und Merkmale der Erfindung sowie die Verwendung derselben
werden dem Fachmann aus der unten dargelegten Beschreibung der bevorzugten
Ausführungsformen
der Erfindung ersichtlich werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das eine Ausführungsform
einer Bildspeichervorrichtung für
Grafik gemäß der Erfindung
zeigt;
-
2 ist
ein Diagramm, das die Anordnung von Bankadressen in einem Bildspeicher
gemäß der Erfindung
zeigt;
-
3 ist
ein Diagramm, das die Anordnung von Bankadressen zeigt, wenn die
horizontale Größe eines
Bildspeichers doppelt so groß wie
die Größe einer
Bank ist;
-
4 ist
ein Diagramm, das die Anordnung von Bankadressen zeigt, wenn die
horizontale Größe eines
Bildspeichers viermal so groß wie
die Größe einer
Bank ist;
-
5 ist
ein Blockdiagramm, das eine herkömmliche
Anzeigevorrichtung für
Grafik zeigt;
-
6 ist
ein Diagramm, das die Anordnung von Bankadressen bei einem herkömmlichen
Bildspeicher zeigt; und
-
7 ist
ein Diagramm, das die Anordnung von Pixeln zum Anzeigen eines Polygons
zeigt.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nachfolgend
werden Ausführungsformen der
Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
Die 1 ist
ein Blockdiagramm, das eine Ausführungsform
einer erfindungsgemäßen Bildspeichervorrichtung
für Grafik
zeigt. Diese Bildspeichervorrichtung für Grafik verfügt über einen
Bildspeicher aus einem Paar eines ersten und eines zweiten Speichers 10 und 11;
eine Speichersteuerung 12 als Steuerungseinrichtung zum
Steuern des Bildspeichers. Diese Speichersteuerung besteht aus einem Adressenaddierer 13,
einem zweiten Adressenaddierer 14, einem ersten Selektor 16,
einem zweiten Selektor 15 und einem dritten Selektor 17.
-
Die 2 zeigt
ein Anordnungsdiagramm von Bankadressen in diesem Bildspeicher.
-
Der
erste und der zweite Speicher 10 und 11 bestehen
aus Synchron-DRAMs. Jeder der Speicher 10 und 11 ist
logisch in zwei Bänke
unterteilt, nämlich eine
erste Bank A und eine zweite Bank B. Wie es in der 2 dargestellt
ist, kennzeichnen A und B in Rahmen Banknamen, und die zugehörigen Zahlen spezifizieren
Adressen in den Bänken.
Adressen im Bildspeicher werden auf die folgende Weise zugeordnet.
Es werden nämlich
Adressen in der ersten Bank A und der zweiten Bank B im ersten Speicher 10 abwechselnd
in ungeraden Linien angeordnet, während Adressen in der ersten
Bank A und der zweiten B im zweiten Speicher 11 abwechselnd
auf geraden Linien angeordnet werden. Ferner werden, entlang der
vertikalen Richtung, Adressen in ersten Bänken A und zweiten Bänken B in
abwechselnder Weise angeordnet, um dadurch mit den Adressen der
ersten und der zweiten Bänke
A und B ein Schachbrettmuster zu bilden.
-
Wenn
bei einem Synchron-DRAM kontinuierlich auf eine bestimmte Adresse
in einer Bank zugegriffen wird, ist es unmöglich, gleichzeitig eine andere Adresse
in derselben Bank auszuwählen.
Aus diesem Grund wird, um kontinuierliche Zugriffe zu realisieren,
aktuell auf eine der Bänke
zugegriffen, während
eine Adresse in der anderen Bank ausgewählt wird. Genauer gesagt, wird,
während
im selben Speicher auf die erste Bank A zugegriffen wird, eine zweite
Adresse in der zweiten Bank B ausgewählt, um einen kontinuierlichen
Datenzugriff auszuführen.
Andererseits wird, während
auf Daten in der zweiten Bank B zugegriffen wird, eine bestimmte
Adresse in der ersten Bank A ausgewählt, um den nächsten Datenzugriff
auszuführen.
Ferner wird, wenn die benachbarte Bank adressiert wird, die Bankadresse
(in der nächsten
Linie) unmittelbar unter der Adresse, auf die aktuell zugegriffen
wird, ausgewählt,
um einen kontinuierlichen Datenzugriff in der vertikalen Richtung
selbst dann zu ermöglichen,
wenn die polygonale Bildsymbolaufbereitung vertikal bewegt wird.
-
Nun
erfolgt eine Beschreibung zum Betrieb dieser Bildspeichervorrichtung für Grafik.
-
Die
Bankadresse, auf die aktuell zugegriffen wird (die als Zugriffsadresse
bezeichnet wird), wird durch den ersten Adressenaddierer 13 in
eine Adresse gewandelt, die als nächste zu spezifizieren ist.
Die so gewandelte nächste
Adresse wird an einen Eingang 0 des zweiten Selektors 15 geliefert.
Im ersten Selektor 15 wird auf Grundlage der Anzahl der Speicherbänke, die
die horizontale Größe des Bildspeichers
festlegen, ein Offsetwert eingetragen. Dieser Wert kann z. B. zu
0 oder 2 eingetragen werden. Eine detaillierte Beschreibung zu diesem
Wert erfolgt später.
Wenn auf die Rasteradresse (Adresse in der vertikalen Richtung)
einer ungeraden Linie zugegriffen wird, wird der Offsetwert vom
ersten Selektor 16 an den zweiten Adressenaddierer 14 geliefert,
und er wird zur nächsten
Adresse addiert, wie sie vom ersten Adressenaddierer 13 ausgegeben
wird. Dieser Additionswert wird an den Eingang 1 des zweiten Selektors 15 geliefert.
Das geringsignifikante Bit der Rasteradresse wird als Auswählsignal
in den zweiten Selektor 15 eingegeben. Daher wird, wenn
auf eine Rasteradresse in einer ungeraden Linie zugegriffen wird,
die nächste
Adresse ausgewählt,
während dann,
wenn auf eine Rasteradresse in einer geraden Linie zugegriffen wird,
diejenige Adresse ausgewählt und
an den ersten Speicher 10 geliefert wird, die aus der nächsten Adresse
zuzüglich
dem Offsetwert besteht. Die nächste
Adresse wird vom ersten Adressenaddierer 13 in den zweiten
Speicher 11 eingegeben. Daten werden über den Datenbus in den dritten Selektor 17 eingegeben.
Der dritte Selektor 17 wird ferner mit dem gering signifikanten
Bit der Rasteradresse als Auswählsignal
versorgt. Demgemäß wird der
erste Speicher 10 ausgewählt, wenn auf eine Rasteradresse
in einer ungeraden Linie zugegriffen wird. Wenn auf eine Rasteradresse
in einer geraden Linie zugegriffen wird, wird der zweite Speicher 11 ausgewählt. So
werden die Daten zur Eingabe ausgewählt.
-
Als
Nächstes
wird ein spezielles Beispiel angegeben. Es sei angenommen, dass
der erste und der zweite Speicher 10 und 11 jeweils über eine
horizontale Größe von 512
Adressen bei einer Bankgröße von 256
Adressen verfügen.
Daher kann, wenn durch Auswählen
einer Bankadresse einmal auf eine der Bänke zugegriffen wird, sequenziell
auf 256 Adressen zugegriffen werden, ohne dass die Adressen einzeln
ausgewählt
werden. In diesem Fall ist die Anzahl der Speicherbänke zwei.
Die Anordnung der Adressen in diesem Bildspeicher ist in der 3 dargestellt.
-
Wenn
auf eine Rasteradresse in einer ungeraden Linie zugegriffen wird,
z. B. auf eine Bankadresse A1 im ersten Speicher 10 zugegriffen
wird, erzeugt der erste Adressenaddierer 13 die nächste Bankadresse
B2. In diesem Augenblick ist das gering signifikante Bit der Rasteradresse
0, und der zweite Selektor 15 wählt den Eingang 0 aus,
damit die nächste
Adresse B2 im ersten Speicher 10 ausgewählt wird. Gleichzeitig wird
auch die Adresse B2 im zweiten Speicher 11 ausgewählt.
-
Wenn
auf eine Rasteradresse in einer geraden Linie zugegriffen wird,
z. B. auf die Bankadresse B2 im zweiten Speicher 11 zugegriffen
wird, erzeugt der erste Adressenaddierer 13 eine nächste Bankadresse
A3. Demgemäß wird die
Bankadresse A3 im zweiten Speicher 11 ausgewählt. Dabei
wählt,
da das gering signifikante Bit der Rasteradresse 1 ist,
der zweite Selektor 15 den Eingang 1 aus, damit der vom zweiten
Adressenaddierer 14 ausgegebene Wert als Adresse eingetragen
wird. Hierbei ist, da die horizontale Größe des Bildspeichers das Doppelte
der Bankgröße ist,
der Offsetwert des ersten Selektors 16 auf 0 eingestellt.
Dieser Offsetwert wird im zweiten Adressenaddierer 14 zur
nächsten
Bankadresse addiert, so dass die Adresse A3 im ersten Speicher 10 ausgewählt wird.
-
Wenn
die horizontale Größe des Bildspeichers
viermal so groß wie
die Bankgröße ist,
wie es in der 4 dargestellt ist, oder wenn
die Anzahl der Speicherbänke 4 ist,
ist der Offsetwert auf 2 eingestellt. Wenn z. B. auf die Bankadresse
B2, die eine Rasteradresse in einer geraden Linie ist, im zweiten Speicher 11 zugegriffen
wird, wird A3 als Bankadresse im zweiten Speicher 11 ausgewählt, während der Ausgangswert
des zweiten Adressenaddierers 14 als Adresse im ersten
Speicher 10 eingestellt wird. D. h., dass im ersten Speicher 10 die
Adresse A5 ausgewählt
wird, die dadurch erzeugt wird, dass die nächste Bankadresse A3 und der
Offsetwert '2' addiert werden.
-
Da
die Auswahl einer Adresse im Bildspeicher auf diese Weise ausgeführt wird,
kann der nächste
Datenzugriff gleichmäßig erfolgen.
Anders gesagt, existieren zwei Fälle,
wenn auf die Daten in einer Bank A im ersten Speicher 10 zugegriffen
wird, d. h. ein Polygon wird sukzessive in der horizontalen Richtung
aufbereitet, oder es wird entsprechend einer Bewegung eines nächsten Rasters
(Zeile) aufbereitet. Demgemäß wird die
Adresse in der Bank B im ersten Speicher 10 ausgewählt, und
gleichzeitig wird diejenige Adresse ausgewählt, die rechts unter der aktuellen
Zugriffsadresse in der Bank A im ersten Speicher 10 liegt
und zur Bank B im zweiten Speicher 11 gehört. Durch
dieses Schema kann ein kontinuierlicher Zugriff auf die benachbarte Bank
ausgeführt werden,
und gleichzeitig wird selbst dann, wenn der Datenzugriff in der
vertikalen Richtung verstellt wird, ein kontinuierlicher Zugriff
ohne Stoppen der Operation möglich.
-
Die
Erfindung ist nicht auf die obige Konfiguration zu beschränken. Ein
einzelner Bildspeicher kann logisch in vier Bänke unterteilt werden, oder mehrere
Bildspeicher können
logisch in vier Bänke unterteilt
werden.