1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Schaltung zur
Vektormusterverarbeitung für ein Bitmap-Anzeigesystem.
2. Beschreibung des verwandten Standes der Technik
-
Bitmap-Anzeigesysteme werden zum Darstellen einer
Vielzahl von Anzeigemustern verwendet, umfassend Zeichen,
Vektoren, etc., auf einer Anzeigeeinheit, wie einer
Kathodenstrahlröhre-(CRT)-Anzeigeeinheit. Früher wurden
Daten in einen Bildspeicher, bestehend aus einer Mehrzahl
von Worten, gespeichert, wobei jedes Wort aus einer Mehrzahl
von Bits zusammengesetzt ist und jedes Bit einem Punkt oder
einem Bildelement in der CRT-Anzeigeeinheit entspricht. Die
gespeicherten Daten wurden auf einer CRT-Anzeigeeinheit, zum
Beispiel durch Rasterabtastung, angezeigt.
-
In einem Bitmap-Anzeigesystem erzeugt eine Schaltung
zur Vektormusterverarbeitung Punktdaten als Reaktion auf
eine Anfangs- und eine Endkoordinate und speichert die Daten
im Bildspeicher. Eine Vielzahl von Figuren und Mustern kann
durch Kombinieren einer Vielzahl von Vektormustern
ausgedrückt werden, und daher wird die Schaltung zur
Vektormusterverarbeitung häufig zum Erzeugen einer Vielzahl
von Mustern verwendet.
-
Die früheren Schaltungen zur Vektormusterverarbeitung
leiden jedoch unter den Nachteilen einer langsamen
Geschwindigkeit, einer unregelmäßigen Steuerung des
Zeitablaufes und einer komplexen Schaltkonstruktion. Diese
Nachteile werden später mit Bezug auf die Zeichnungen
beschrieben.
-
Es ist ein Ziel der vorliegenden Erfindung eine
Schaltung zur Vektorverarbeitung mit einer hohen
Operationsgeschwindigkeit, ungeachtet der Form des
Vektormusters, vorzusehen.
-
Es ist ein weiteres Ziel der vorliegenden Erfindung
eine Schaltung zur Vektorverarbeitung mit einer relativ
einfachen Schaltkonstruktion vorzusehen, welche eine hohe
Operationsgeschwindigkeit erreicht.
-
Gemäß der vorliegenen Erfindung wird eine Schaltung zur
Vektormusterverarbeitung für ein Bitmap-Anzeigesystem
vorgesehen, welche eine Anzeigeeinheit mit einer Mehrzahl
von Quasi-Bereichen, Speichereinheiten,
Wortregistereinheiten und eine Schaltung zur Vektormustererzeugung umfaßt,
in welcher
-
die Anzeigeeinheit eine Mehrzahl von Quasi-Bereichen
besitzt, welche erste und zweite Quasi-Bereiche umfassen,
von denen jede N x N Punkte bilden und die ersten und die
zweiten Quasi-Bereiche in einer schachbrettartigen Anordnung
auf einer Anzeigeebene der Anzeigeeinheit entsprechend
angeordnet sind, wo die ersten Quasi-Bereiche weißen Feldern
entsprechen und die zweiten Quasi-Bereiche schwarzen Feldern
auf dem Schachbrett entsprechen, wobei die Schaltung auch
vorsieht
-
erste und zweite Speichereinheiten, von denen jede eine
Mehrzahl von in einer Matrix gebildeten Worten umfaßt, wobei
jedes Wort eine N x N Bit-Struktur besitzt, welche Worte in
der ersten Speichereinheit den ersten Quasi-Bereichen
entsprechen und welche Worte in der zweiten Speichereinheit
den zweiten Quasi-Bereichen auf der Bildebene entsprechen;
-
erste und zweite Wortregistereinheiten, welche
funktionsfähig mit den ersten und zweiten Speichereinheiten
verbunden sind, und von denen jede eine N x N Bit-Struktur
besitzt;
-
eine Schaltung zur Vektormustererzeugung, welche
Anfangs- und Endkoordinaten in den Quasi-Bereichen empfängt,
welche ein zu verarbeitendes Vektormuster definieren und
erste Punktdaten einer Hauptachse für das Vektormuster
erzeugt und zweite Punktdaten einer Hilfsachse, welche
senkrecht auf die Hauptachse steht, als Reaktion auf einen
Gradienten des Vektormusters bezüglich der Hauptachse
entlang der Hauptachse für alle N Punkte in der Hauptachse;
-
eine Schaltung zum Bit-Setzen, welche funktionsfähig
zwischen den ersten und den zweiten Wortregistereinheiten
und der Schaltung zur Vektormustererzeugung geschaltet ist,
wobei sie eine der ersten und zweiten Wortregistereinheiten
als Reaktion auf die ersten und zweiten Punktdaten von der
Schaltung zur Vektormustererzeugung aktiviert und ein Bit,
welches definiert ist durch die ersten und zweiten
Punktdaten in der aktivierten Wortregistereinheiten, zu jedem
Punktdatenerzeugungstakt bei der Schaltung zur
Vektormustererzeugung setzt; und
-
eine Schaltung zur Speichersteuerung, welche das eine
Wort in der einen Speichereinheit adressiert, definiert
durch die Anfangskoordinate und ein zweites Wort in der
anderen Speichereinheit, welches anders als das durch die
Anfangskoordinate definierte Wort ist, wo das zweite Wort
einem Quasi-Bereich entspricht, welcher dem Quasi-Bereich
des ersten Wortes in einer Vorwärtsrichtung der Hilfsachse
angrenzt, wenn das Bit-Setzen in der Wortregistereinheit
ausgeführt wird.
-
Die Koordinate in der Schaltung zur Speichersteuerung
wird als Reaktion auf die Erzeugung der ersten und zweiten
Punktdaten bei der Schaltung zur Vektormustererzeugung
aktualisiert.
-
Die Schaltung zur Vektormustererzeugung kann bevorzugt
einen digitalen Differential-Analysator umfassen.
-
Andere Ziele und Merkmale der vorliegenden Erfindung
werden unten im einzelnen mit Bezug auf die begleitenden
Zeichnungen beschrieben, in denen:
-
Fig. 1 ein Graph eines Beispieles eines Anzeigemusters
in einem Bildspeicher eines Bitmap-Anzeigesystems des
Standes der Technik ist;
-
Fig. 2 ein Graph eines weiteren Beispieles eines
Anzeigemusters in einem Bildspeicher eines anderen
Bitmap-Anzeigesystems des Standes der Technik ist;
-
Fig. 3a bis 3c Zeitablaufdiagramme der Operation
der Vektormustererzeugung des Bitmap-Anzeigesystems des
Standes der Technik von Fig. 2 sind;
-
Fig. 4 noch ein Graph eines weiteren Beispieles eines
Anzeigemusters im Bildspeicher von Fig. 2 ist;
-
Fig. 5 ein Graph ist, welcher ein rechtwinkeliges
Koordinatensystem in einer Anzeigeeinheit der vorliegenden
Erfindung ist;
-
Fig. 6 ein Graph ist, welcher Abschnitte der Fig. 5
darstellt und die Beziehung zwischen einer Hauptachse und
einer Hilfsachse eines Vektormusters definiert;
-
Fig. 7a bis 7d und die Fig. 8a und 8b Graphe sind,
welche ein Mustererzeugungsprinzip der vorliegenden
Erfindung darstellen;
-
Fig. 9 ein Graph ist, welcher die Beziehung zwischen
der Struktur der Bildspeicher und einem Layout einer
Anzeigeeinheit der vorliegenden Erfindung darstellt;
-
Fig. 10 ein Schaltdiagramm einer Ausführungsform einer
Schaltung zur Vektormustererzeugung gemäß der vorliegenden
Erfindung ist;
-
Fig. 11 ein Graph ist, welcher ein durch die Schaltung
zur Vektormustererzeugung von Fig. 10 zu verarbeitendes
Vektormuster darstellt;
-
Fig. 12a bis 12c Zeitablaufdiagramme der Schaltung zur
Vektormustererzeugung von Fig. 10 sind und
-
Fig. 13a bis 13c Zeitablaufdiagramme einer
Pipeline-Schaltung zur Vektormustererzeugung einer weiteren
Ausführungsform der vorliegenden Erfindung sind.
-
Bevor die bevorzugten Ausführungsformen der
vorliegenden Erfindung beschrieben werden, wird zum
Vergleich ein Beispiel eines Systems nach dem Stand der
Technik mit Bezug auf die Zeichnungen beschrieben.
-
Fig. 1 ist ein Graph eines Beispiels eines
Anzeigemusters in einem Bildspeicher eines
Bitmap-Anzeigesystems nach dem Stand der Technik. Der
Bildspeicher umfaßt eine Mehrzahl von Worten, wobei jedes
aus 16 Bits in der Form einer 1 x 16 Bit-Struktur besteht.
Jedes Bit entspricht einem einzelnen Punkt oder einem
einzelnen Bildelement (PIXEL) auf einer Anzeigeeinheit. Bei
Erhalten eines Anfangs der Koordiante (x1, y1) und eines
Endes der Koordinate (x2, y2) erzeugt ein digitaler
Differential-Analysator (DDA) nacheinander Bitdaten (neun in
diesem Beispiel). Die erzeugten Bitdaten werden auf acht
Worte plaziert, das heißt, Wort 1 bis Wort 8, wie durch ein
Muster L11 gezeigt, und ein neunmaliges Abspeichern im
Speicher wird ausgeführt, nämlich ein Abspeichern im
Speicher wird zweimal für das Wort 5 ausgeführt und zwei
Punkte werden darin gespeichert. Wenn ein anderer Anfang der
Koordinate (x3, y3) und ein anderes Ende der Koordinate (x4,
y4) vorgegeben werden, erzeugt der DDA nacheinander drei
Bitdaten, wie durch ein Muster L12 gezeigt, und eine
Speichersteuereinheit führt die Speicherung derselben in den
Worten 5 bis 7 durch dreimaligen Zugriff auf den Speicher
durch. Diese Art des Anzeigesystems führt die Datenerzeugung
und die Speicherung jedes Punktes nacheinander und
wiederholt aus.
-
Das Bitmap-Anzeigesystem des obigen Grundverfahrens zur
Mustererzeugung hat aufgrund der Anfangskoordinate und der
Endkoordinate einen Fehler einer Mustererzeugung mit
niedriger Geschwindigkeit.
-
Fig. 2 ist ein Graph eines weiteren Beispiels eines
Anzeigemusters in einem Bildspeicher eines anderen
Bitmap-Anzeigesystems nach dem Stand der Technik. Der
Bildspeicher umfaßt eine Mehrzahl von matrixgebildeten
Worten, wobei jedes aus 16 Bits besteht, aber in der Form
einer 4 x 4 Bit-Struktur. Jedes Bit entspricht einem
einzelnen Punkt.
-
Wenn das obige Verfahren zur einzelnen Mustererzeugung
darauf angewendet wird, erzeugt der DDA auch neun Bitdaten
für ein Muster L21 von einer Anfangskoordinate (x5, y5) zu
einer Endkoordinate (x6, y6), ähnlich dem Muster L11 in Fig.
1. In diesem Beispiel werden die Bitdaten auf den Worten
W&sub0;&sub2;, W&sub0;&sub3;, W&sub1;&sub1; und W&sub1;&sub2; plaziert. Eine Mehrzahl von Bits (bis
zu 16 in einem einzelnen Wort) werden temporär während der
Datenerzeugung in einem Register gesichert und durch eine
einzelne Speicheroperation in den Speicher gespeichert.
Daher ist nur ein viermaliger Zugriff auf den Speicher
erforderlich. Verglichen mit Fig. 1 realisiert dieses
Verfahren eine Verbesserung der Abspeicherzeit im Speicher.
-
Wenn die Mustererzeugung auf einen 4 x 4 Bit-Bereich
für ein Wort in jeder Periode limitiert ist, ist die Zeit
zum Abspeichern im Speicher konstant und die Speicherzeit
für ein einzelnes Wort. Nichtsdestoweniger erzeugt der DDA
in der Mustererzeugung eines Musters L&sub2;&sub2; drei Bitdaten für
ein Wort W&sub2;&sub3; und ein Bitdatum für die Worte W&sub1;&sub4; und W&sub2;&sub4;.
Unter der Annahme, daß ein Maschinenzyklus für die Erzeugung
eines Bitdatums beim DDA benötigt wird, und vier
Maschinenzyklen zum Speichern eines einzelnen Wortes und
unter der Annahme eines periodischen Datenverarbeitens für
alle vier Maschinenzyklen, was einer maximalen
Mustererzeugungszeit in einem einzelnen Wort hinsichtlich
einer einfachen Schaltkonstruktion entspricht, dann besteht
zu viel Leerlaufzeit, wie in den Fig. 3a bis 3c gezeigt.
-
Zusätzlich zum zweiten Beispiel des Standes der Technik
von Fig. 2, wenn ein Wort frei auf der Basis einer
Anfangskoordinate definiert werden kann, wie in der US-A-
3,938,102 (Morrin et al., "METHOD AND APPARATUS FOR
ACCESSING HORIZONTAL SEQUENCES AND RECTANGULAR SUB-ARRAYS
FROM AN ARRAY STORED IN A MODIFIED WORD ORGANIZED RANDOM
ACCESS MEMORY SYSTEM", 10. Februar 1976) geoffenbart, das
heißt, daß ein freies Wort WF&sub1;&sub1; aufgrund der
Anfangskoordinate auf die Worte W&sub1;&sub1;, W&sub1;&sub2;, W&sub2;&sub1; und W&sub2;&sub2;, wie
in Fig. 4 gezeigt, plaziert wird, wird die Schaltung zur
Speichersteuerung komplex, weil das freie Wort WF&sub1;&sub1; aus den
Bits 6, 7, 10, 11, 14 und 15 eines Wortes W&sub1;&sub1; besteht, den
Bits 4, 5, 8, 9, 12 und 13 eines Wortes W&sub1;&sub2;, den Bits 2 und
3 eines Wortes W&sub2;&sub1; und den Bits 0 und 1 eines Wortes W&sub2;&sub2;,
und diese Bitsequenz und Wortkombination sind nicht
geordnet. Im Ergebnis wird die geoffenbarte Schaltung durch
eine komplexe Schaltkonstruktion benachteiligt, da zum
Beispiel für einen Kreismechanismus in die rechte und linke
Richtung, eine Gesamtlogik-Schaltung, eine leitungslogische
Schaltung etc. vorgesehen sein müssen.
-
Darüberhinaus leidet die geoffenbarte Schaltung an
einem weiteren Nachteil der Konstruktion eines Speichers
davon wie folgt: eine jüngste graphische Anzeigeeinheit hat
normalerweise 1280 x 1024 PIXEL und daher hat ein Speicher
für den Bildschirminhalt gewöhnlich eine Kapazität von 2048
x 1024 PIXEL. Um den Speicher für den Bildschirminhalt zu
verwirklichen, wenn ein 64 kBit-Speicherchip verwendet wird,
sind 32 Speicherchips, 16 Adressensysteme und ein
Einzelwortregister erforderlich. Wenn ein 256
kBit-Speicherchip, welches derzeit verbreitet verwendet
wird, verwendet wird, werden theoretisch acht Speicherchips
benötigt. In der geoffenbarten Schaltung müssen jedoch die
sechzehn PIXEL, welche jeden Bereich bilden, in
verschiedenen unabhängig adressierbaren Speicherchips
existieren. Im Ergebnis werden sechzehn Speicherchips mit
256 kBits, sechzehn Adressensysteme und ein
Einzelwortregister benötigt. Mit anderen Worten muß die
Kapazität des Speichers für den Bildschirminhalt 2048 x 2048
Bits sein, um die 1280 x 1024 PIXEL darzustellen. Das ist
offensichtlich eine Minderauslastung der Speicherchips.
-
Nun werden mit Bezug auf die Zeichnungen bevorzugte
Ausführungsformen der vorliegenden Erfindung beschrieben.
-
Fig. 5 ist ein Graph, welcher rechtwinkelige
Koordinaten x und y darstellt, definiert in einer
Anzeigeebene einer Anzeigeeinheit, in der Vektoren definiert
sind. Ein Vektor V&sub1; mit einem Winkel α&sub1; kleiner als 45º mit
Bezug auf die x-Achse besitzt eine Hauptachse für ein
positives x und eine Hilfsachse für ein negatives y. Ein
Vektor V&sub2; mit einem Winkel α&sub2; größer als 45º mit Bezug auf
die x-Achse besitzt eine Hauptachse für ein negatives y und
eine Hilfsachse für ein positives x. Auf ähnliche Weise wird
das Koordinatensystem durch Teilung durch 45º in acht
Abschnitte geteilt, wie in Fig. 6 gezeigt. In Fig. 6 stellt
das Bezugszeichen P die Hauptachse und das Bezugszeichen S
die Sekundärachse in jedem Abschnitt dar.
-
Fig. 5 ist ebenso ein Graph des Punktmusters, welches
in der Anzeigeebene der Anzeigeeinheit definiert ist. Eine
Anzeigefläche in der Anzeigeeinheit besteht aus einer
Mehrzahl von Punkten in einer Matrixform. In Fig. 5 werden
die Anzeigeflächen durch matrixgebildete
Quasi-Anzeigebereiche R&sub0;&sub0;, R&sub0;&sub1;, ..., Rmn gebildet, wobei
jeder aus 4 x 4 Punkten besteht.
-
In dieser Ausführungsform werden Punktdaten für einen
einzelnen Anzeigebereich oder für zwei aufeinanderfolgende
Anzeigebereiche in einem der Abschnitte I bis VIII in Fig. 6
erzeugt, definiert durch einen Gradienten eines Vektors, in
jeder Periode.
-
Die Fig. 7a bis 7d sind Graphe, welche Vektormuster
darstellen, die den Abschnitt 1 in Fig. 6 in Anspruch
nehmen. In den Fig. 7a bis 7d zeigen Pfeile die
Vorwärtsrichtung der Vektormuster an. In Fig. 7a besitzt ein
horizontaler gerader Vektor V&sub2;&sub1; (punktierte Teile) mit einem
Winkel von 0º in einem Bereich R&sub1;&sub1; vier Punktdaten in der
Hauptachse x. Ein weiterer horizontaler gerader Vektor V&sub2;&sub2;
(schraffierte Teile) hat auch vier Punktdaten. In Fig. 7b
besitzt ein Vektor V&sub2;&sub3; mit einem Winkel von 45º (punktierte
Teile) im Bereich R&sub1;&sub1; vier Punktdaten in der Hauptachse x.
Ein weiterer Vektor V&sub2;&sub4; mit einem Winkel von 45º
(schraffierte Teile) in den Bereichen R&sub1;&sub1; und R&sub0;&sub1; besitzt
ein Punktdatum im Bereich R&sub1;&sub1; und drei Punktdaten im Bereich
R&sub0;&sub1; angrenzend zum Bereich R&sub1;&sub1; in der Vorwärtsrichtung der
Hilfsachse y und dementsprechend eine Gesamtheit von vier
Punktdaten in der Hauptachse x. In Fig. 7c besitzt ein
Vektor V&sub2;&sub5; mit einem Winkel von ungefähr 28,5º (gepunkteter
Teil) zwei Punktdaten im Bereich R&sub1;&sub1; und zwei Punktdaten im
Bereich R&sub0;&sub1;, angrenzend an den Bereich R&sub1;&sub1; in der
Vorwärtsrichtung der Hilfsachse y und hat daher auch eine
Gesamtheit von vier Punktdaten auf der Hauptachse x. Ein
weiterer Vektor V&sub2;&sub6; hat im Bereich R&sub1;&sub1; vier Punktdaten. In
Fig. 7d besitzt ein Vektormuster V&sub2;&sub7; mit einem Winkel von
ungefähr 37º vier Punktdaten im Bereich R&sub1;&sub1;. Ein weiterer
Vektor V&sub2;&sub8; besitzt ebenso vier Punktdaten auf der Hauptachse
x; einen im Bereich R&sub1;&sub1; und drei iui angrenzenden Bereich
R&sub0;&sub1;.
-
Die Fig. 8a und 8b sind Graphe, welche Vektormuster
darstellen, die den Abschnitt 2 von Fig. 6 in Anspruch
nehmen. In Fig. 8a besitzt ein senkrechter gerader Vektor
V&sub3;&sub1; (gepunktete Teile) vier Punkdaten im Bereich R&sub1;&sub1;. Ein
weiterer gerader Vektor V&sub3;&sub2; (schraffierte Teile) besitzt
ebenso vier Punktdaten. In Fig. 8b besitzt ein Vektor V&sub3;&sub3;
mit einem Winkel von ungefähr 58º (gepunktete Teile) vier
Punktdaten im Bereich R&sub1;&sub1; der Hauptachse y. Ein weiterer
Vektor V&sub3;&sub4; besitzt ein Punktdatum im Bereich R&sub0;&sub1; und drei
Punktdaten im Bereich R&sub1;&sub2;, angrenzend an den Bereich R&sub0;&sub1;.
-
Aus der obigen Untersuchung kann unter Verwendung
spezifischer Beispiele von Vektormustern das Folgende
abgeleitet werden: wenn Quasi-Bereiche mit je N x N Punkten
im Anzeigefeld der Anzeigeeinheit definiert sind, besteht
jedes Vektormuster, in einem Quasi-Bereich oder in zwei
aufeinanderfolgenden Quasi-Bereichen, in welchen ein Bereich
temporäre Anfangspunktdaten umfaßt und ein anderer Bereich
an den ersten Bereich in der Vorwärtsrichtung der in Fig. 6
gezeigten Hilfsachse angrenzt, aus bis zu N Punktdaten in
der Hauptachse gezeigt in Fig. 6. Als Ergebnis kann gesehen
werden, daß die Mustererzeugung beim DDA nicht (N + 1)
Punktdaten in jeder Periode übersteigt. Die vorliegende
Erfindung wird primär durch dieses Merkmal gekennzeichnet,
aufgrund dessen eine geregelte Steuerung realisiert wird.
-
Andererseits können, da jedes Vektormuster in einem
Quasi-Bereich oder in zwei aufeinanderfolgenden
Quasi-Bereichen, wie in Fig. 6 gezeigt, plaziert wird, in
welcher angekreuzte Felder Basis-Quasi-Bereiche darstellen
und freie Felder zusätzliche an sie angrenzende
Quasi-Bereiche sind, wenn ein einzelner Quasi-Bereich einem
einzelnen Wort aus N x N Punkten entspricht, ein oder zwei
Speicherzugriffe erforderlich sein, um die erzeugten
Punktdaten bis zu N Punktdaten im Bildspeicher zu speichern.
Um den Speicherzugriff zu verkürzen, sogar für einen
zweimaligen Speicherzugriff, und um eine konstante Zeit für
einen einzelnen Speicherzugriff aufrechtzuerhalten,
verwendet die vorliegende Erfindung zweifache Bildspeicher,
wie in Fig. 9 gezeigt. In Fig. 9 speichert jeder
Bildspeicher Daten für die diagonalen Quasi-Bereiche in der
Anzeigeebene, das heißt, der erste Bildspeicher SPEICHER-A
speichert Daten für die Quasi-Bereiche R&sub0;&sub0;, R&sub0;&sub2;, ..., R&sub1;&sub1;,
R&sub1;&sub3;, ..., zum Beispiel iiu Muster der schwarzen Felder eines
Schachbrettes, und der zweite Bildspeicher SPEICHER-B
speichert Daten für die Quasi-Bereiche R&sub0;&sub1;, R&sub0;&sub3;, ..., R&sub1;&sub0;,
R&sub1;&sub2;, ..., zum Beispiel im Muster der weißen Felder eines
Schachbrettes. Das heißt, daß Daten für angrenzende
Quasi-Bereiche jede in einem anderen Bildspeicher
gespeichert sind, und das erlaubt ein paralleles zugreifen
auf den Speicher zur gleichen Zeit.
-
Fig. 10 ist ein Schaltdiagramm einer Ausführungsform
der Schaltung zur Vektormusterverarbeitung der vorliegenden
Erfindung.
-
Die Schaltung zur Vektormusterverarbeitung in Fig. 10
umfaßt die Bildspeicher 1a und 1b, ein x-Adressenregister
2a, ein Y-Adressenregister 2b, einen X-Adressenzähler 3a,
einen Y-Adressenzähler 3b, einen digitalen
Diffential-Analysator (DDA) 4, eine Steuereinheit 6 und
Wortregister 5a und 5b. Die Schaltung zur
Vektormusterverarbeitung umfaßt auch Decodierer 11 und 12
für den Bildspeicher 1a, Decodierer 13 und 14 für den
Bildspeicher 1b, Decodierer 15 und 16 für das Wortregister
5a und Decodierer 17 und 18 für das Wortregister 5b. Die
Schaltung zur Vektormusterverarbeitung umfaßt einen
Multiplexer 21 zum Vervielfachen der Y-Adresse für den
Bildspeicher 1a und einen Multiplexer 22 zum Vervielfachen
der X-Adresse für den Bildspeicher 1a. Ein Multiplexer 24
und ein Multiplexer 25 werden auch für den Bildspeicher 1b
vorgesehen. Ein Multiplexer 23 wird zwischen dem
Bildspeicher 1a und den Wortregistern 5a und 5b vorgesehen,
und ein Multiplexer 26 wird zwischen dem Bildspeicher 1b und
den Wortregistern 5a und 5b vorgesehen.
-
Das Bezugszeichen 27 kennzeichnet einen Multiplexer;
die Bezugszeichen 31 bis 34 kennzeichnen UND-Gatter; das
Bezugszeichen 37 kennzeichnet einen Inverter; die
Bezugszeichen 41 und 43 kennzeichnen
Inkrementierschaltungen; und die Bezugszeichen 42 und 44
kennzeichnen Dekrementierschaltungen.
-
Die Inkrementierschaltungen 41 und 43 und die
Dekrementierschaltungen 42 und 44 werden zum Bezeichnen
eines angrenzenden Quasi-Bereiches, wie oben ausgeführt,
verwendet. Die Multiplexer 21 und 24 wählen die Y-Adressen
für die Bildspeicher 1a und 1b als Reaktion auf
Selektorsignale aus dem DDA 4 aus. Die Multiplexer 22 und 25
wählen die X-Adressen für die Bildspeicher 1a und 1b als
Reaktion auf andere Selektorsignale aus dem DDA 4 aus. Der
Multiplexer 23 wählt Punktdaten aus, welche im Bildspeicher
1a von entweder dem Wortregister 5a oder vom Wortregister 5b
gespeichert werden sollen, als Reaktion auf ein
Selektorsignal vom DDA 4. Der Multiplexer 26 wählt die im
Bildspeicher 1b zu speichernden Daten von entweder dem
Wortregister 5a oder dem Wortregister 5b als Reaktion auf
ein weiteres Selektorsignal vom DDA 4 aus.
-
Die Arbeitsweise der Schaltung zur
Vektormusterverarbeitung in Fig. 10 wird mit Bezug auf Fig.
11 beschrieben, welche ein Vektormuster einer
Anfangskoordinate (x&sub1;&sub0;, y&sub1;&sub0;) und einer Endkoordinate (x&sub1;&sub1;,
y&sub1;&sub1;), welche in der Anzeigeebene der Anzeigeeinheit
definiert sind. In dieser Ausführungsform besteht jeder
Quasi-Bereich aus 4 x 4 Punkten. Dementsprechend besitzt
jedes der Wortregister 5a und 5b ein Wort bestehend aus 4
x 4 Bits, und jedes Wort in den Bildspeichern 1a und 1b
besteht aus 4 x 4 Bits.
-
Bei Empfang der Anfangskoordinate (x&sub1;&sub0;, y&sub1;&sub0;) liefert
die Steuereinheit 6 eine X-Koordinate x&sub1;&sub0; an den
X-Adressenzähler 3a und eine Y-Koordinate y&sub1;&sub0; an den
Y-Adressenzähler 3b. Dann wird die X-Koordinate x&sub1;&sub0; zum
X-Adressenregister 2a übertragen, und die Y-Koordinate y&sub1;&sub0;
wird zum Y-Adressenregister 2b übertragen. Ein
Anfangs-Quasi-Bereich R&sub2;&sub1; in Fig. 11 wird entsprechend der
Anfangskoordinate (x&sub1;&sub0;, y&sub1;&sub0;) definiert. Bei Empfang der
Endkoordinate (x&sub1;&sub1;, y&sub1;&sub1;) liefert die Steuereinheit 6
dieselbe zum DDA 4 und startet den DDA 4.
-
Der DDA 4 erzeugt nacheinander Punktdaten entlang der
Hauptachse, das ist die x-Achse für das Vektormuster in Fig.
11, in der Vorwärtsrichtung der Hilfsachse und als Reaktion
auf einen Gradienten, welcher durch die Anfangskoordinate
und durch die Endkoordinate definiert ist.
-
Genauer gesagt bestimmt der DDA 4 zuerst 1 für die
x-Achse und 1 für die y-Achse im Bereich R&sub2;&sub1;. Die niedrigen
drei Bits in den X- und Y-Adressenzählern werden nicht
aktualisiert und werden als eins als ein Anfangszustand
aufrechterhalten. Die niedrigen zwei Bits des
X-Adressenzählers 3a werden den Wortregistern 5a und 5b über
die Decodierer 15 und 17 zugeführt. Auch die niedrigen zwei
Bits des Y-Adressenzählers 3b werden den Wortregistern 5a
und 5b durch die Decodierer 16 und 18 zugeführt. Der
Multiplexer 27 wählt ein drittes niedriges Bit Null des
X-Adressenzählers 3a aus. Das dritte niedrige Bitsignal Null
wird in eine logische "1" beim Inverter umgewandelt und
erzeugt ein Schreib-Freigabe-Signal WE2 für das Wortregister
5b, zusammen mit einem Taktsignal CLK vom DDA 4. Als
Ergebnis wird ein erstes Bit, das heißt 0 Bit in das
Wortregister 5b gesetzt.
-
Als nächstes vergrößert der DDA 4 das Punktmuster um
einen für die x-Achse, aber vergrößert oder verringert nicht
das Muster für die y-Achse auf der Basis des Gradienten. Das
obige Inkrementierungssignai für die x-Achse wird dem
X-Adressenzähler 3a synchron mit einem Steuer-Takt-Signal
CLKc durch das UND-Gatter 31 zugeführt. Der X-Adressenzähler
3a zählt um eine weiter. Ähnlich zum obigen (oder zweiten
Bit), das ist 1 Bit, wird im Wortregister 5b gesetzt.
-
Der DDA 4 vergrößert das Punktmuster um einen für die
x-Achse. Der X-Adressenzähler 3a zählt um eine weiter. Sein
Zählwert wird daher drei. Dann erzeugt der DDA 4 einen Wert
vier, und vier Impulssignale vom DDA 4 werden zum
Y-Adressenzähler 3b durch das UND-Gatter 32 zugeführt und
bis vier gezählt. Das dritte niedrige Bit des
Y-Adressenzählers 3b wird auf eins gesetzt. Das dritte
niedrige Bit mit einem hohen Pegel wird beim Multiplexer 27
ausgewählt und erzeugt ein Schreib-Freigabe-Signal WE1 für
das Wortregister 5a. In diesem Fall ist der Zählwert des
X-Adressenzählers 3a drei und der Zählwert des
Y-Adressenzählers 3b ist vier. Als Ergebnis wird ein 15.
Bit, das ist 14 Bit, im Wortregister 5a gesetzt. Die
Decodierer 15 und 16 bestimmen die obige Bitzahl als
beispielsweise 4 x (4 - 1) + (3 - 1) = 14.
-
Der DDA 4 vergrößert auch das Punktmuster um einen für
die x-Achse. Der Zählwert des X-Adressenzählers wird vier.
Der Zählwert des Y-Adressenzählers wird jedoch nicht
verringert, sondern wird bei vier beibehalten. Ein 16. Bit,
das ist 15 (= 4 x (4 - 1) + (4 - 1)) Bit, wird im
Wortregister 5a gesetzt.
-
Nachfolgend stoppt die Steuereinheit 6 den DDA 4 und
startet die Speicheroperation der Daten in den Wortregistern
5a bis 5b in die Bildspeicher 1a und 1b, da der
X-Adressenzähler 3a als der Hauptachsenzähler in dieser
Ausführungsform vier als Maximalwert erreicht. Während der
obigen Operation gibt der DDA 4 die Selektorsignale zu den
Multiplexern 21, 22, 24 und 25 hinaus, um die Adressen zum
Bereich R&sub1;&sub1; im Bildspeicher 1a und den Bereich R&sub2;&sub1; im
Bildspeicher 1b zu bezeichnen. Auch der DDA 4 gibt die
Selektorsignale an die Multiplexer 23 und 26 hinaus, um die
Daten im Wortregister 5a dem Bildspeicher 1a zuzuleiten und
die Daten im Wortregister 5b dem Bildspeicher 1b zuzuleiten.
Die Steuereinheit 6 aktiviert die Bildspeicher 1a und 1b, um
die Daten vom Wortregister 5a in den Bereich R&sub1;&sub1; des
Bildspeichers 1a und die Daten vom Wortregister 5b in den
Bereich R&sub2;&sub1; des Bildspeichers 1b zu speichern. Beide Daten
werden in der gleichen Adresse in den Bildspeichern 1a und
1b gespeichert.
-
Die Steuereinheit 6 startet den DDA 4 wieder, und der
DDA 4 erzeugt vier Punktdaten für einen nächsten
Quasi-Bereich R&sub1;&sub2; in Fig. 11. Die vier Bits 8, 9, 6 und 7
werden im Wortregister 5b gesetzt, und die Daten im
Wortregister 5b werden im Bereich R&sub1;&sub2; des Bildspeichers 1b
gespeichert. In diesem Fall wird der Bildspeicher 1a nicht
aktiviert.
-
Schlußendlich erzeugt der DDA 4 zwei Punktdaten für
einen Quasi-Bereich R&sub1;&sub3; in Fig. 11. Die zwei Bits 0 und 1
werden im Wortregister 5a gesetzt, und die Daten im
Wortregister 5a werden im Bereich R&sub1;&sub3; des Bildspeichers 1a
gespeichert. Der Bildspeicher 1b ist nicht aktiviert.
-
Die Fig. 12a bis 12c sind Zeitablaufdiagramme der
obigen Operation. In dieser Ausführungsform ist jeder
DDA-Zyklus 100 ns, eine Abspeicherung im Speicher erfordert
400 ns, und ein Maschinenzyklus ist 100 ns. In den Fig. 12a
bis 12c stellt eine erste Berechnung für vier Bitdaten von
400 ns und eine Speicherung dafür von 400 ns die Bereiche
R&sub2;&sub1; und R&sub1;&sub1; dar, eine zweite Berechnung stellt den Bereich
R&sub1;&sub2;
dar, und eine dritte Berechnung stellt den Bereich R&sub1;&sub3;
dar. Diese Berechnungszeiten gehen nicht über 500 ns hinaus,
das heißt, sie reichen bis 400 ns. Jede Speicherzeit ist
konstant 400 ns.
-
Nach Vervollständigung der Datenerzeugung werden die in
den Bildspeichern 1a (A) und 1b (B) gespeicherten Daten
abwechselnd durch den folgenden Ablauf, wie in Fig. 9
gezeigt, ausgegeben; die Daten des Bereichs R&sub0;&sub0; im
Bildspeicher 1a (A); die Daten des Bereichs R&sub0;&sub1; in einem
anderen Bildspeicher 1b (B); die Daten des Bereiches R&sub0;&sub2;;
die Daten des Bereiches R&sub0;&sub3;; usw. Das erzeugte Bildmuster
wird auf der Anzeigeeinheit in herkömmlicher Form angezeigt.
-
Wenn die Größe der Anzeigeeinheit 1280 x 1024 PIXEL
ist, wie früher beschrieben, können die Bildspeicher durch
acht 256 kBit Speicherchips konstruiert werden, von denen
jedes eine 64 kBit x 4 Struktur besitzt, eine gemeinsame
Adressenleitung und vier Datensätze besitzt, weil eine vier-
Bit-Adresse in der Hauptrichtung jedes gemeinsamen Wortes
und ein Speicherchip mit einer vier-Bit-Struktur, nicht eine
sechzehn-Bit-Struktur wie oben ausgeführt, verwendet wird.
Das heißt, acht 256 kBit (64 kBit x 4) Speicherchips, zwei
Adressensysteme und zwei Wortregister sind erforderlich. Die
Anzahl der Wortregister ist größer als jene, welche im Stand
der Technik in bezug auf Fig. 4 beschrieben wurde, aber die
Anzahl der Speicherchips und der Adressensysteme werden
beträchtlich reduziert.
-
Die obigen Merkmale der vorliegenden Erfindung können
an einer Pipeline-Schaltung zur Vektormusterverarbeitung
angewendet werden, in welcher der DDA und der Speicher
parallel arbeiten können, anstatt der Schaltung, die in Fig.
10 gezeigt wird.
-
Die Fig. 13a bis 13c sind Zeitablaufdiagramme der
Pipeline-Schaltung zur Vektormusterverarbeitung für das in
Fig. 11 gezeigte Vektormuster. Hier wird die
Musterverarbeitungszeit weiter reduziert.