-
Diese Beschreibung ist Teil eines Satzes von sieben
Beschreibungen, von denen sich jede auf eine andere Erfindung bezieht, die
jedoch eine gemeinsame exemplarische Ausführungsform besitzen.
Um eine wiederholte Darstellung zu vermeiden, nehmen alle sieben
Beschreibungen aufeinander Bezug. Die zugehörigen Anmeldungen
sind:
-
EP-A-0279225, (AT 986 070) mit "RECONFIGURABLE COUNTERS FOR
dem Titel ADDRESSING IN GRAPHICS
DISPLAY SYSTEMS".
-
EP-A-0279229, (AT 986 O72) mit "A GRAPHICS DISPLAY SYSTEM".
dem Titel
-
EP-A-0279231, (AT 986 073) mit "A GRAPHICS FUNCTION
dem Titel CONTROLLER FOR A HIGH
PERFORMANCE VIDEO DISPLAY SYSTEM".
-
EP-A-0279226, (KI 986 029) mit "HIGH RESOLUTION DISPLAY
dem Titel ADAPTER".
-
EP-A-0279227, (YO 986 051) mit "RASTER DISPLAY VECTOR
GENEdem Titel RATOR"
-
EP-A-0279230, (YO 986 104) mit "VIDEO ADAPTER WITH IMPROVED
dem Titel DATA PATHING".
-
EP-A-0279228, (YO 986 105) mit "A FRAME BUFFER IN OR FOR A
dem Titel RASTER SCAN VIDEO DISPLAY".
-
Die vorliegende Erfindung bezieht sich auf Videoadapter mit
verbessertem Datenfluß, im allgemeinen auf dem Gebiet von
Schnittstellen zwischen einem Rechner und einem angeschlossenen
Zeilenraster-Bildschirmgerät und ist dazu gedacht, an einem kleinen,
kostengünstigen, Einzelarbeitsplatz viele Funktionen bereit
zustellen,
die vorher für kleine Mikro- und Minisysteme nicht
verfügbar waren.
-
Mit Anwachsen von Geschwindigkeit und Dateikapazität bei
Personalcomputer-Arbeitsplätzen wächst auch der Bedarf an
intelligenten Anzeigeadaptern mit hoher Auflösung. Umfangreiche
Graphikanwendungen, die früher auf Großrechnern mit
Spezialgraphikbildschirmgeräten beschränkt waren, können dieses erhöhte
Leistungsvermögen der Schnittstellen nutzen, um ihre Graphikanwendungen
auf Einzelplatzsysteme zu übertragen. Die vorliegende Erfindung
beschreibt Funktionen, die in einen Videoanzeigeadapter
integriert werden können, um an Einzelarbeitsplätzen die
Graphikfunktionen und die Leistungsfähigkeit bereitzustellen, wie sie
von derartigen komplexen Graphikanwendungen gefordert werden.
-
Derartige Anzeigeadapter mit vergrößertem Leistungsvermögen
werden speziell für solche kleine Einzelplatzsysteme wie den IBM
PC/AT und den IBM RT/PC benötigt, die
Hochleistungs-Adapterfunktionen bei moderaten Kosten bereitstellen können, die ein sehr
breites Spektrum von Anwendungen abdecken.
-
Die hauptsächliche Rolle des Bildelement-Datenpfades besteht
darin, für einen Zentralrechner einen bequemen Zugriff auf
Bildwiederholspeicher-Daten bereitzustellen. Es gibt mehrere
Probleme, die in der Regel durch die existierende Vorgehensweise für
die Architektur eines derartigen Datenpfades nicht vollständig
gelöst werden.
-
Die Architektur des Bildwiederholspeichers unterstützt in der
Regel entweder die Bildelement- oder die Ebenenstruktur eines
Bildes. Das heißt, daß die herkömmliche Architektur lediglich
für ein bestimmtes Anwendungsgebiet eine gute Leistungsfähigkeit
bereitstellt.
-
So wird bei einer bildelementorientierten Architektur (z.B.
bildverarbeitenden Anwendungen) herkömMlicherweise auf mehrere
Bildelemente parallel zugegriffen, es kann jedoch nur die
gleiche
Anzahl von Bits in einer Ebene verarbeitet werden. Somit ist
die Leistungsfähigkeit für ebenenorientierte Anwendungen in der
Regel gering, da die E/A-Breite des Bildwiederholspeichers nicht
vollständig genutzt werden kann.
-
Bei ebenenorientierten Systemen (z.B. 2,5D-Graphik) kann
problemlos auf Mehrfachbit-Daten der gleichen Ebene zugegriffen
werden, für Anwendungen jedoch, die einen Zugriff auf ein
Bildelement erfordern, muß eine Anzahl von Speicherzyklen ausgeführt
werden, um auf ein Bildelement zuzugreifen.
-
Die Darstellung von Daten für den Zentralrechner ist abhängig
von der Anwendung. Um als Beispiel einen 32-Bit-Zentralrechner
zu nehmen, kann ein Prozessorwort bei bildelementorientierten
Anwendungen für vier (8 Bit) Bildelemente oder bei
ebenenorientierten Problemen für 32 Bit der gleichen Ebene oder bei der
Verarbeitung von Bildelement-Datenfeldern für eine entsprechende
Anzahl von Eildelement-"Scheiben" stehen.
-
Wenn der Datenbus des Zentralrechners mit einem
Bildwiederholspeicher "fest verdrahtet" ist, muß der Zentralrechner Worte
umordnen, indem Bits entsprechend dem E/A-AufBau des
Bildwiederholspeichers angeordnet werden.
-
Die herkömmliche Idee des Bit-blt-Elementes, das in J. D. Foley,
A. Van Dam, "FUNDAMENTALS OF INTERACTIVE COMPUTER GRAPHICS",
Addison-Wesley, Reading, NA. 1982, Seiten 465, 484 bis 485,
offenbart ist, erlaubt lediglich für eine einfache Bereichskopie
oder logische Operationen zwischen Ebenen eine erhöhte
Leistungsfähigkeit. Die Integration von arithmetischen Operationen
in die Bit-blt-Hardware wurde versucht, hat sich jedoch im
allgemeinen für Farbgraphiken als nutzlos erwiesen, weshalb die
Verarbeitung von Farben in der Regel durch den Zentralrechner
erfolgte.
-
Auf dem Gebiet der Farbgraphiken gibt es jedoch eine sehr
wichtige Anwendung, speziell eine schnelle Antialias-Kopie von
Zeichen
oder Vektoren, siehe Paul N. Sholtz, "MAKING HIGH-QUALITY
COLORED IMAGES ON RASTER DISPLAYS", Research Report RC9632,
erhältlich von der Bibliothek des IBM Thomas J. Watson Research
Center, Yorktown Heights, New York 1982. Diese Operation liefert
sogar auf einem Bildschirm mit geringer Auflösung eine sehr hohe
Textqualität (oder Graphikqualität), und in dem Fall einer
begrenzten Anzahl von Farben (z.B. l6 für den Hintergrund und 16
für die Zeichen) erfordert sie lediglich einfache und
einheitliche arithmetische Operationen für Bildelementintensität und
Farbattribute.
-
Ein punktadressierbarer Bildwiederholspeicher (wie in EP-A-
0279228, (YO9-86-105) beschrieben) erfordert eine bestimmte Art
von Datenausrichtung, die in der Lage ist, eine geeignete
Bitordnung in dem Wort, auf das zugegriffen wird, unabhängig von
seiner Adresse bereitzustellen, siehe Robert F. Sproull, Ivan E.
Sutherland, Alistair Thompson, Satish Gupta und Charles Minter,
"The 8 BY 8 DISPLAY", ACM Trans. Graphics, Vol. 2, No. 1, Jan.
1983, Seiten 32 bis 56.
-
Der Zentralrechner kann eine derartige Operation abwickeln,
jedoch in einer zeitraubenden und anwendungsabhängigen Weise. Die
vorliegende Erfindung stellt eine spezielle Ausrichtungseinheit
bereit, welche diese Ausrichtung für den Anwender unsichtbar
macht.
-
Mit der Verwendung von l-Meg-Speicherchips, die nun im Handel
erscheinen, kann sich die Leistungsfähigkeit für
ebenenorientierte Operationen aufgrund der geringeren Datenbreite des
Bildwiederholspeichers drastisch reduzieren. Z.B. kann bei der
Verwendung von 256-K-Chips (64 K mal 4) der Datenpfad viermal
breiter sein, als es bei 1-Meg-Chips (256 K mal 4) der Fall ist.
-
Zusätzlich zu jenen hier zuvor erörterten Referenzen bilden die
folgenden Referenzen den nächstliegenden Stand der Technik, der
in einer diesbezüglichen Untersuchung aufgefunden wurde, und
bilden zusammen mit den zuvor erwähnten Referenzen den
nächstliegenden
relevanten Stand der Technik, der den Erfindern
bekannt ist.
-
Das US-Patent Nr. 4 434 502 von Arakawa et al. mit dem Titel "A
MEMORY SYSTEM HANDLING A PLURALITY OF BITS AS A UNIT TO BE
PROCESSED" sowie das US-Patent Nr. 4 442 503 von D. Schutt et al.
mit dem Titel "DEVICE FOR STORING AN DISPLAYING GRAPHIC
INFORMATION" beschreiben beide Architekturen von
Videobildwiederholspeichern mit angeschlossenen Datenpfaden oder -kanälen, die den
Pufferspeichern Daten zuführen. Die vorliegende Erfindung
unterscheidet sich von diesen zwei Patenten in mehrerlei Hinsicht,
wie nachfolgend dargelegt.
-
Keines der zwei Patente beschäftigt sich mit der Ausdehnung der
herkömmlichen Bit-blt-Operationen, um antialiasierten Text oder
Graphik mit hoher Leistungsfähigkeit und hoher Qualität
bereitzustellen.
-
Die Patente beschreiben einen Bildwiederholspeicher, auf den in
einfacher Weise lediglich über Ebenen zugegriffen werden kann.
-
Um auf ein Bildelement zuzugreifen, müssen alle Ebenen parallel
gelesen werden. Beim nächsten Schritt kann ein externes
Bauelement (z.B. ein Mikroprozessor) Bits umgruppieren, die von dem
Bildwiederholspeicher gelesen werden, um arithmetische
Operationen mit Bildelementwerten bereitzustellen. Die vorliegende
Erfindung stellt eine einfache Umgruppierung des
Bildwiederholspeicher-Datenpfades zur Verfügung, wobei er in einer Weise
modifiziert wird, die sowohl für arithmetische Operationen mit
Bildelementwerten als auch für logische Operationen mit
Bitwerten geeignet ist.
-
Keines der Patente bezieht sich auf Speicherchips mit größerer
Dichte. Ganz im Gegenteil, Chips mit geringerer Dichte können
zum Aufbau separater Bildwiederholspeicher-Module besser
verwendet werden. Daher muß die Datenausrichtung für jedes Modul
separat in Abhängigkeit von der Adresse, die dem speziellen Modul
zugeführt wurde, ausgeführt werden.
-
Durch die vorliegende Erfindung wird gerade der gegenteilige Weg
eingeschlagen. Sie betrachtet den Bildwiederholspeicher als
einen einzelnen Block. So wird die gesamte Daten-Umgruppierung in
der gleichen einfachen Weise für alle Eingabe-Ausgabe-Bits des
Bildwiederholspeichers durchgeführt. Demzufolge vereinfacht sie
die für eine Bitumgruppierung erforderliche Hardware.
-
Außer der Bitumgruppierung für eine Punktadressierbarkeit wird
in der vorliegenden Erfindung eine zusätzliche Umgruppierung der
Eingabe-/Ausgabe-Schnittstelle vorgenommen. Sie stellt eine
geeignete Schnittstelle mit einem externen Mikroprozessor
basierend auf den Anforderungen einer Anwendung bereit. Das bedeutet,
daß, vom Standpunkt des Mikroprozessors aus, der
Bildwiederholspeicher so eingerichtet werden kann, daß er ebenenweise,
bildelementweise oder scheibenweise organisiert erscheint. In
Fällen, in denen der Bildwiederholspeicher für eine Anwendung
verwendet wird, bei welcher der Zugriff auf ein Bildelement oder
eine Scheibe wichtiger ist als der bitweise Zugriff, stellt er
durch Reduzieren des zusätzlichen Platzbedarfs des externen
Prozessors ein viel höheres Leistungsvermögen zur Verfügung.
-
Die vorliegende Erfindung stellt einen Videoadapter bereit, um
einen Monitor vom Rasterbildtyp mit einem Zentralrechnersystem
zu verbinden, wobei der Adapter einen bedienenden E/A-Datenbus,
einen digitalen Signalprozessor, der so verschaltet ist, daß er
Befehle über den Bus empfängt, einen Bildelementprozessor und
einen Bildwiederholspeicher beinhaltet, der mit dem
Bildelementprozessor verbunden ist, um auf dem Monitor anzuzeigende
Videodaten zu speichern, wobei der Bildwiederholspeicher in einem
einzelnen Speicherzyklus einen punktadressierbaren Zugriff auf M
Bildelemente mit jeweils Z Bit Videodaten oder eine Zeile von
Bildelementen auf dem Monitorbildschirm besitzt, wobei der
Adapter als Elemente des Bildelementprozessors einen
Eingangspufferspeicher, der zum Empfang von Videodaten von dem Zentralrechner
eingerichtet und mit Z selektiv ansteuerbaren Ausrichtungs- und
Speicherblöcken verbunden ist, wobei jeder Block wenigstens ein
Speicherregister (SR) mit M darin befindlichen Speicherplätzen
aufweist, wobei jedes der ein gegebenes Bildelement ausmachenden
Bits in einem entsprechenden Speicherplatz in jedem der Z
Speicherregister gespeichert ist, M Arithmetik-/Logikeinheiten
(COMBS), die selektiv mit den Z Speicherregistern (SR) oder mit
Z der Speicherregister in einer Mehrzahl von Konfigurationen
verbunden werden können, wodurch das Schreiben einer Konstante
in allen M Bildelement-Speicherplätzen, auf die zugegriffen
wird, eine einfache Bit-blt-Kopieroperation oder eine logische
Bit-blt-Operation, ermöglicht wird, ein Paar von Multiplexern,
die sich zwischen dem Eingangspufferspeicher und den Eingängen
der Z Ausrichtungs- und Speicherblöcke befinden, welche die in
dem Eingangspufferspeicher gespeicherten Daten selektiv
rekonfigurieren, sowie Mittel beinhaltet, um von dem
Bildelementspeicher-Prozessor verarbeitete Daten in ein Format umzuformatieren,
das zur Darstellung bei dem Zentralrechnersystem geeignet ist.
-
Es ist beabsichtigt, einen wirtschaftlichen Weg bereitzustellen,
um einen Datenpfad für jene Fälle zu organisieren, in denen
Speicherchips mit hoher Dichte verwendet werden (z.B. 1 Megabit)
und demzufolge lediglich eine geringe Anzahl von
Eingabe-/Ausgabe-Leitungen verfügbar sind. Keines der zwei Patente US-A-
4434502 und US-A-4442503 erörtert dies, da die Verwendung von
Chips mit hoher Dichte in der in diesen Patenten beschriebenen
Weise zu einer beträchtlichen Verschwendung von
Speicherkapazität führen würde.
-
Demzufolge sind die durch die vorliegende Erfindung
vorgestellten Lösungen geeigneter für ein VLSI-Design als die
Vorgehensweise sowohl des US-Patents 4 434 502 als auch des US-Patents
4 442 503, sie stellen eine höhere Leistungsfähigkeit für eine
breitere Klasse von Anwendungen bereit und können erfolgreich
mit heutigen Speicherchips hoher Dichte verwendet werden.
-
Die vorliegende Erfindung wird weiter beispielhaft unter
Bezugnahme auf Ausführungsformen derselben beschrieben, wie sie in
den begleitenden Zeichnungen dargestellt sind, in denen:
-
FIG. 1 ein hochabstrahiertes Funktions-Blockschaltbild eines
Beispiels eines Videoanzeigeadapters der vorliegenden Erfindung
ist;
-
FIG. 2 die Organisation der Speicherchips in dem
Bildwiederholspeicher darstellt und des weiteren die Markierung von einzelnen
Bildelementen festlegt, wie sie auf dem Anzeigebildschirm
erscheinen würden;
-
FIG. 3 bis 6 vier der möglichen Abbildungen eines
16-Bit-Zentralrechnerwortes auf ein Datenfeld von vier Bildelementen mal
vier Bildelementen mal acht Bit, wie die Bildelemente auf dem
Anzeigebildschirm erscheinen würden, darstellen;
-
FIG. 7 drei mögliche Formate eines
16-Bit-Zentralrechner-Datenwortes an der Schnittstelle zwischen
Bildelementdaten-Coprozessor und Zentralrechner zeigt;
-
FIG. 8 ein Funktions-Blockschaltbild einer Version der gesamten
Coprozessor-Architektur für den Bildelementdatenpfad ist, die in
erster Linie für Bildelement-Operationen strukturiert ist;
-
FIG. 9 ein der FIG. 8 ähnliches Funktions-Blockschaltbild einer
alternativen Ausführungsform der Coprozessor-Architektur für den
Bildelementdatenpfad (PDC) ist, die so strukturiert ist, daß sie
die vielseitigere Verarbeitung von entweder Bildelement- oder
Ebenenoperationen ermöglicht;
-
FIG. 10 ein Funktions-Blockschaltbild eines Ebenenkanals (PCH
BLOCK) von FIG. 9 ist;
-
FIG. 11 ein Funktions-Blockschaltbild des in FIG. 8 gezeigten
Dateneingangsformatiererblocks (INFORM) ist,
-
FIG. 12, 13 und 14 die drei möglichen Eingangsformatarten
darstellen, die sich auf die Organisation der Adressierung des
Bildwiederholspeichers beziehen;
-
FIG. 15 ein Funktions-Blockschaltbild des
Datenausgangsformatierer-Blocks (OUTFORM) von FIG. 8 ist;
-
FIG. 16 ein Funktions-Blockschaltbild eines Steuerschaltkreises
ist, der ein Farb-Antialias erleichtert;
-
FIG. 17 ein Funktions-Blockschaltbild einer alternativen
Ausführungsform der Datenpfad-Architektur ist, die sowohl
Bildelementals auch Ebenenoperationen erlaubt, die jedoch jeweils eine
separate Hardware verwendet; und
-
FIG. 18 die Nomenklatur illustriert, die in der Beschreibung der
Ausführungsform von FIG. 17 verwendet wird.
-
Bevor mit einer detaillierten Beschreibung der vorliegenden
Bildelementdatenpfad-Architektur zur Verwendung mit einem
punktadressierbaren Bildwiederholspeicher fortgefahren wird, wird ein
kurzer Überblick über eine Videoadapterform gegeben. Es versteht
sich natürlich, daß der hier beschriebene Videoadapter lediglich
zu Erläuterungszwecken gedacht ist.
-
Der insgesamt in Figur 1 gezeigte Videoanzeigeadapter ist als
ein hochauflösender Graphikanzeigeadapter mit durchschnittlicher
Funktionsausstattung eines Datenträgers anzusehen, der eine
beliebige aus einer Anzahl von gegenwärtig erhältlichen
Anzeigemonitoreinheiten, wie die IBM 5081, anzusteuern vermag. In einer
gegenwärtig realisierbaren Form unterstützt er einen solchen
Monitor mit einer Auflösung von 1024 mal 1024 Bildelementen und
stellt acht Bit pro Bildelement Videodateninformation bereit,
die 256 mögliche Steuermerkmale zur Verfügung stellt, die
zwischen Farb- und/oder Grauwert-Daten aufgeteilt sein können.
-
Das Folgende beinhaltet eine kurze Beschreibung der
Gesamtfunktion der Schnittstelle, wobei sich versteht, daß für eine
detailliertere Beschreibung einer derartigen Schnittstelle auf EP-
A-0279226 (KI9-86-029) Bezug zu nehmen ist. Da das
hauptsächliche Ziel des gesamten Videoanzeigeadapters darin besteht,
verbesserte Videoanzeigefunktionen in einem vergleichsweise
kostengünstigen Adapter bereitzustellen, der wiederum geeignet ist,
mit Prozessoren oder CPUs mit einer etwas begrenzten
Verarbeitungs-Leistungsfähigkeit verbunden zu werden, sind diejenigen
Funktionen, die ansonsten in einer hochentwickelteren CPU
durchführbar wären, in dem vorliegenden Adapter vorgesehen. Des
weiteren sind diese Funktionen über einen relativ direkten und
vereinfachten Satz von Befehlen ausführbar.
-
Bezugnehmend auf FIG. 1 besteht der gesamte Adapter aus den
folgenden Hauptkomponenten. Der digitale Signalprozessor 10 wird
dazu verwendet, die gesamten Betriebsmittel des Adapters zu
verwalten, er formt Anzeigekoordinaten um und führt eine Anzahl
weiterer, ziemlich hochentwickelter Signalverarbeitungsaufgaben
aus.
-
Der Befehls- und Datenspeicherblock 12 ist ein Befehls-RAM, das
mit einem zusätzlichen Mikrocode für den Signalprozessor geladen
werden kann, wie verständlich sein wird. Der Block 12 wirkt auch
als ein Daten-RAM und stellt die hauptsächliche Schnittstelle
zwischen dem Signalprozessor 10 und dem Systemprozessor dar. Er
übt auch die Funktion als ein Hauptspeicher für den
Signalprozessor 10 aus.
-
Der Block 14, der mit dem Befehl FIFO markiert ist, dient als
Eingangspufferspeicher, um über einen E/A-Bus 16 sequentielle
Befehle zu dem digitalen Signalprozessor 10 zu leiten, und
verbindet, wie offensichtlich ist, den Videoanzeigeadapter mit dem
Systemprozessor.
-
Der Bildelementprozessor 18 enthält eine Logik, die eine Anzahl
von Anzeigeunterstützungsfunktionen, wie Linienschreiben und
Adressenmanipulation, ausführt, was es ermöglicht, begrenzte
Gebiete des Anzeigebildschirmes zu manipulieren (Bit-blt) . Eine
Anzahl von neuartigen Aspekten des vorliegenden Videoadapters
liegen in dem Bildelementprozessor-Block.
-
Der Block 20, der als Bildwiederholspeicher markiert ist,
beinhaltet den Video-Direktzugriffsspeicher, der über einen
geeigneten Schaltungsaufbau zur Digital-Analog-Wandlung den Monitor
speist. Wie ersichtlich ist, weist die hier offenbarte
Konfiguration eine Auflösung von ungefähr 1 K mal 1 K Bildelementen
auf, wobei jedes Bildelement ein diskretes Element von auf dem
Monitor anzuzeigenden Videodaten darstellt. Jedes Bildelement
kann so viel Information enthalten, wie in den acht Ebenen des
Bildwiederholspeichers speicherbar ist, und dies bedeutet, wie
sich ebenso versteht, daß acht Bit an Daten pro Bildelement
vorhanden sind. Wie sich des weiteren versteht, können diese acht
Bit unter den Farben rot, grün und blau eines Farbmonitors oder
einfach für die Intensitätsinformation in einem
Schwarzweiß-Monitor mit Grauskala aufgeteilt sein.
-
Die Verbesserungen, deren Bereitstellung mit der vorliegenden
Erfindung beabsichtigt ist, liegen in der Architektur des
Bildelementprozessors 18 und stellen eine Anzahl von Merkmalen
bereit, die erlauben, daß der Betrieb des Videoadapters
signifikant beschleunigt wird, wie aus der nachfolgenden Beschreibung
ersichtlich werden wird.
-
Nun bezugnehmend auf die Details der vorliegenden
Ausführungsform, sei angenommen, daß der 8-Bit-Bildwiederholspeicher mit
der Auflösung 1 K mal 1 K einen punktadressierbaren
vier-in-Linie (Bildelement) -Zugriff besitzt.
-
Ein derartiger Bildwiederholspeicher kann aus acht 256 K mal 4
Speicherchips, wie in FIG. 2 gezeigt, aufgebaut sein. Die E/A-
Daten des Bildwiederholspeichers sind 32 Bit breit und
ermöglichen eine Lese-/Schreib-Operation parallel für 4 Bildelemente,
wenn auch ohne weiteres ersichtlich ist, daß eine größere oder
kleinere Anzahl von Bildelementen vorgesehen sein kann.
-
Es ist außerdem zu erwähnen, daß die in EP-A-0279228, (YO9-86-
105) offenbarte und beschriebene
Bildwiederholspeicher-Architektur ebenfalls 4 Bildelemente parallel bereitstellt. Sie weist
die zusätzliche Fähigkeit auf, einen sehr schnellen Zugriff auf
zusätzliche drei Zeilen von 4 Bildelementen für ein insgesamt 4
mal 4 bzw. ein aus sechzehn Bildelementen bestehendes
quadratisches Feld zu ermöglichen. Selbstverständlich kann die Anzahl
von Bildelementen bei Zugriff auf eine Zeile ohne weiteres durch
Andern der Anzahl von Speicherchips und der Anzahl von
Schieberegisterakkumulatoren sowie einen geeigneten
Steuerschaltungsaufbau geändert werden, wie ohne weiteres verständlich sein
wird.
-
Außerdem wird angenommen, daß die Breite des
Zentralrechner-Datenbusses 16 Bit beträgt. Alle Resultate können ohne weiteres
und in der gleichen Weise auf einen Bildwiederholspeicher, der
aus Chips mit geringerer Dichte und/oder mit einer quadratischen
Zugriffs-Konfiguration (wie oben erwähnt) aufgebaut ist, sowie
auf eine andere Breite des Zentralrechner-Datenbusses ausgedehnt
werden.
-
Das 16-Bit-Wort des Zentralrechners kann in Abhängigkeit von der
Anwendung verschieden interpretiert werden. Während eines
Speicherzugriffszyklus können zwei Bildelemente (FIG. 3), vier 4-
Bit-Bildelementscheiben (FIG. 4) oder 16 Bit der gleichen Ebene
eines 4 mal 4 Bildelementfeldes (FIG. 15) aktualisiert oder
gelesen werden. Als spezieller Fall der
16-Bit-Ebenen-Aktualisierung kann ein 4-Bit-Vektor unter Verwendung eines
Maskierungsmechanismus in den Bildwiederholspeicher geschrieben werden
(FIG. 6). Bei der vorliegenden Erfindung wird die Maskierung als
ein Teil der Schreib-Freigabesteuerung des
Bildwiederholspeichers betrachtet, wie in EP-A-0279228, (YO9-86-105) beschrieben,
und wird nicht als ein Teil der vorhandenen Hardware für den
Datenpfad angesehen.
-
Wie in den FIG. 3 bis 6 gezeigt, besitzt das 16-Bit-Datenwort
des Zentralrechners einen andersartigen Aufbau oder eine
andersartige Organisation für Feld-, Bildelement- und
Scheiben-Betriebsarten (FIG. 7). Es können zwei linke oder zwei rechte
Bildelemente (eines 4-Bildelement-Zugriffs) im Bildelement-Modus
sowie untere Hälften oder obere Hälften aller vier Bildelemente
im Scheiben-Modus verarbeitet werden.
-
Basierend auf einem linearen 4-Bildelement-Zeilenzugriff (d.h.
einen 4-Bildelement-Zeilenzugriff wie in EP-A-0279228, (YO9-86-
105) beschrieben), kann die Datenpfad-Architektur im einfachsten
Fall als aus vier Kanälen bestehend dargestellt werden, wobei
jeweils einer ein Bildelement unterstützt (FIG. 8) . Der
Bildelementkanal beinhaltet einen Multiplexer MUX, ein Zielregister DR,
ein Quellenregister SR, eine Kombinationseinheit COMB und einen
Drei-Zustands-Pufferspeicher B.
-
Der 3-zu-1 Multiplexer MUX erlaubt, daß das DR-Register entweder
Bildwiederholspeicher-Daten oder Zentralrechnerdaten oder das
Resultat der Kombination der SR- und DR-Daten von der
COMB-Einheit annimmt.
-
Die Register DR und SR dienen Bit-blt-Operationen, wobei
Quellen- und Zieldaten des Bildwiederholspeichers gespeichert
werden.
-
Die COMB-Einheit stellt logische und arithmetische Operationen
für die DR- und SR-Daten bereit. Der Ausgang des MUX ist
außerdem mit dem Pufferspeicher B verbunden, um dem E/A-Bus des
Bildwiederholspeichers Aktualisierungsdaten zuzuführen.
-
Die Register SR und DR werden im Pipelinebetrieb bearbeitet, was
eine Anzahl verschiedener Bit-blt-Operationen erlaubt. Zum
Beispiel kann eine Bit-blt-Kombination für vier Bildelemente
parallel und wiederholt für ein größeres Bildelementgebiet (z.B.
4x4) durchgeführt werden. Es können auch Zentralrechnerdaten in
das SR-Register übertragen und als konstante Quellendaten zum
Löschen eines gewünschten Gebietes des Bildwiederholspeichers
oder als konstante Quelle für ein Kopieren oder für eine Bit-
blt-Kombination verwendet werden. Im letzteren Fall muß die SR-
Aktualisierung deaktiviert werden, nachdem die
Zentralrechnerdaten in dieses geladen wurden.
-
Um eine Umgruppierung der Zentralrechnerdaten zu ermöglichen,
sind zwei zusätzliche Einheiten erforderlich: INFORM (der
Dateneingangsformatierer) und OUTFORM (Datenausgangsformatierer), die
weiter unten beschrieben werden. Der MUX-Ausgang ist mit dem
Eingang der OUTFORM-Einheit verbunden, und der
OUTFOPM-Dreizustandsausgang sowie der INFORM-Eingang sind mit dem
bidirektionalen Zentralrechner-Datenbus verbunden.
-
Jeder Kanal des Datenpfades in FIG. 8 besitzt eine
8-Bit-Struktur, die eine Arbeit mit ebenenorientierten Anwendungen
erschwert, die es jedoch möglich macht, eine COMB-Einheit mit
Bildelementdaten für bildelementorientierte Anwendungen
bereitzustellen. Um beiden Anwendungsarten zu genügen, ist die
Kommunikation zwischen dem Bildwiederholspeicher und dem
Bildelement-Datenpfad bevorzugt nicht "bildelementweise" sondern in einer
kombinierten "bildelement-ebenenweisen" Art ausgeführt (FIG. 9).
-
Anstelle von vier 8-Bit-Bildelement-Kanälen besteht der
Datenpfad aus acht 4-Bit-Ebenen-Kanälen PCH 0 bis 7 und vier 8-Bit-
Kombinationseinheiten COMB (0 bis 3).
-
Die in FIG. 2 gezeigten 4-Bit-Ebenen 0 bis 7 des
Bildwiederholspeichers sind mit entsprechenden Y-Eingängen der
4-Bit-Multiplexer MUX der Ebenen-Kanäle PLH 0 bis 7 verbunden, wie in FIG.
10 gezeigt. Die vier Bit-Register SR und DR jedes der Ebenen-
Kanäle (PCH) weisen die gleichen Verbindungen untereinander und
mit den Multiplexern MUX auf, wie in FIG. 8 gezeigt. Die
Ausgänge der Register DR und SR der Ebenen-Kanäle sind jedoch mit den
vier 8-Bit-Kombinationseinheiten COMB derart verbunden, daß jede
der Einheiten mit den erforderlichen Bildelementdaten versorgt
wird. Demgemäß sind in FIG. 9 drei interne 32-Bit-Datenbusse
gezeigt. Der Zielbus nimmt alle Ausgaben der DR-Register an, der
Quellenbus ist mit den Ausgängen der SR-Register verbunden, und
der Kombinationsbus nimmt Ausgaben der COMB-Einheiten an.
Außerdem werden, um die Aktualisierung der Bildelementhälften zu
steuern, die SR-Register in den unteren vier Kanälen PCH 0 bis 3
durch ein LD1-Signal geladen, und die SR-Register in den oberen
vier Kanälen PCH 4 bis 7 werden durch ein LD2-Signal geladen.
-
Der A-Eingang des COMB 0 nimmt die acht Bits 0 aller DR-Register
an, der B-Eingang des COMB 0 ist mit den Bits 0 aller
SR-Register verbunden, der A-Eingang des COMB 1 ist mit den Bits 1
aller DR-Register verbunden etc.. Die A-Eingänge des COMB 0 nehmen
Bildelement-0-Daten von dem Zielbus an. Die B-Eingänge des COMB
0 nehmen Bildelement-0-Daten von dem Quellenbus an etc.. Der A-
< 0> -Eingang des COMB 0 nimmt das Bit 0 des Bildelementes 0 von
dem Zielbus an. Der B-< 0> -Eingang des COMB 0 nimmt das Bit 0 des
Bildelementes 0 von dem Quellenbus an etc..
-
Die 8-Bit-COMB-Ausgänge wiederum sind den entsprechenden
Z-Eingängen der Multiplexer MUX (wie in den FIG. 9 und 10 gezeigt) in
einer Weise zugeteilt, daß jedes PCH die korrekten
4-Bit-Ebenendaten bekommt. So sind die acht Bits 0 der Z-Eingänge der
Multiplexer MUX in PCH 0 bis 7 mit den Bits 0 bis 7 der Einheit
COMB 0 verbunden, die Bits 1 der Z-Eingänge sind mit den Bits 0
bis 7 der Einheit COMB 1 verbunden, etc..
-
Demgemäß wird das Resultat von Operationen mit Bildelementwerten
zwischen Ebenen verteilt, und die Daten der Ebenen werden
gesammelt, um die Kombinationseinheiten mit den Daten der
Bildelemente zu versorgen. Demzufolge können die COMB-Einheiten für
bildelementorientierte Anwendungen parallel arithmetische oder
logische Operationen mit Bildelementen bereitstellen. Für
ebenenorientierte Operationen liefern die logischen Operationen mit
den entsprechenden Bildelement-Bits die erforderlichen logischen
Kombinations-Operationen für Ebenen. Ein derartiger
Universalismus unterscheidet die hier offenbarte Architektur von mehr
herkömmlichen Datenpfad-Methoden und erlaubt es, eine
unterstützende Hardware für Antialias-Kopie einzubeziehen, wie später
gezeigt.
-
Ein weiterer Vorteil dieser Struktur besteht darin, daß die
Bitstellenverschieber, die für die Datenausrichtung bei der
punktadressierbaren Methode erforderlich sind, nun problemlos in
dem Datenpfad installiert werden können und daß ihre Steuerung
einfach wird.
-
Acht 4-Bit-Bitstellenverschieber (BSH) sind in den
Ebenen-Kanälen enthalten und besitzen eine gemeinsame Steuerung (siehe FIG.
10), wobei die Schieberichtung durch das Bildwiederholspeicher-
Schreibfreigabesignal (FBWE) gesteuert wird, und die Anzahl der
zu schiebenden Positionen durch die zwei geringstwertigen Bits
des horizontalen Teils der Bildwiederholspeicheradresse XAD< 0,1>
festgelegt ist. Die Plazierung für den BSH ist zwischen dem MUX
und dem DR-Register gewählt, was erlaubt, daß er doppelt
verwendet wird, während Lese- (das FBWE-Signal ist deaktiviert) und
während Schreib-Operationen (das FBWE-Signal ist freigegeben),
wodurch sichergestellt ist, daß die Ausrichtung der
Bildwiederholspeicher-Daten automatisch ohne irgendein Eingreifen des
Zentralrechners ausgeführt wird.
-
Um den Ausrichtungs-Mechanismus zu erläutern, werden die
Eingangs-Bits des MUX mit A, B, C, D für jeden 4-Bit-Pfad X, Y, Z
bezeichnet, der die entsprechenden Ausgangs-Bits A, B, C, D des
MUX mit den Bits 0 bis 3 des Registers DR verbindet (FIG. 10)
Wenn nun das Bildwiederholspeicher-Wort innerhalb der
Wortgrenzen liegt und die geringstwertigen Bits der horizontalen Adresse
XAD< 0,1> 0 sind, dann ist die Schiebeanzahl des
Eitstellenverschiebers BSH null, und die Bits A aller Y-Eingänge der
Multiplexer MUX sind mit dem am weitesten links gelegenen Bildelement
A verbunden (das geringstwertige Bit 0 des Bildelementes A ist
mit dem Bit A des Eingangs Y des MUX in der PCH 0 verbunden, das
höchstwertige Bit 7 des Bildelementes A ist mit dem Bit A des
MUX in der PCH 7 verbunden), die Bits B aller Y-Eingänge sind
mit dem nächsten Bildelement B verbunden etc.. Entsprechend sind
die Datenbits 0 bis 7 des Bildelementes A mit den Bits 0 des
Registers DR in den Kanälen PCH 0 bis 7 verbunden, die Datenbits
0 bis 7 des Bildelementes B sind mit den Bits 1 des Registers DR
in den Kanälen PCH 0 bis 7 verbunden etc..
-
Wenn das Bildwiederholspeicher-Wort nicht innerhalb der
Wortgrenzen
liegt, z.B. wenn XAD< O,1> 0,1 ist, dann werden die Daten
der Bildelemente A, B, C und D, die von dem
Bildwiederholspeicher gelesen werden, den Bits B, C, D, A der Y-Eingänge der
Multiplexer zugeführt. Die Bitstellenverschieber schieben die
MUXAusgaben um eine Stelle nach links, und die Bits 0 der
DR-Register nehmen wieder Daten des Bildelementes A an, die Bits 1
nehmen Daten des Bildelementes B an etc..
-
Während des Schreibvorgangs, z.B. während die Ausgabedaten der
Kombinationseinheiten zurück in den Bildwiederholspeicher an die
Stelle mit XAD< 1,0> 0,1 geschrieben werden, erfolgt ein
Schieben um eine Stelle nach rechts, was eine geeignete Verteilung
von Bildelementen auf die entsprechenden E/A-Anschlüsse des
Bildwiederholspeichers ergibt.
-
Mit anderen Worten wird die Bildelement-Ausrichtung durch
gleiches Schieben der acht Ebenen bewerkstelligt.
-
Es ist zu erwähnen, daß auf FIG. 11 Bezug genommen werden
sollte, um zu sehen, wie die verschiedenen Bits und Bildelemente,
wie sie in den FIG. 2, 7 sowie 12 bis 14 bezeichnet sind, in dem
Dateneingangsformatierer von FIG. 11 gespeichert und durch ihn
hindurch geleitet werden, siehe besonders die Organisation der
durch die zwei Eingangsmultiplexer (INMUX 1 und 2)
hindurchlaufenden Bits. Wie für einen Fachmann offensichtlich - implizieren
die Bitbezeichnungen in dem unteren Teil der zwei
INMUX-Einheiten keine Speicherung, sie sind lediglich dazu bestimmt,
diagrammatisch zu zeigen, wie die Anordnung der Bits, welche die
Bildelemente, Bildelementscheiben oder Ebenen bilden, während
der drei möglichen Betriebsarten organisiert sind, wenn sie
durch diese Einheit hindurchlaufen. Diese Figur zeigt somit
klar, wie die gesamte Architektur auf die Daten des
Zentralrechners einwirkt, indem die Spur der verschiedenen Bildelemente und
Ebenen verfolgt wird, wenn die Daten in die Ebenen-Kanal-Logik
hineinlaufen.
-
Um den Bildwiederholspeicher unter Verwendung von
Zentralrechnerdaten
zu aktualisieren, sollten diese in das Dateneingangs
register DINR der INFORM-Einheit (FIG. 11) geladen werden. Diese
Einheit beinhaltet außerdem zwei Multiplexer INMUX 1 und INMUX
2, welche die Datenbits des Zentralrechners auf die geeigneten
X-Eingangsbits der Multiplexer MUX in den Ebenen-Kanälen
verteilen.
-
Jeder INMUX-Multiplexer nimmt in Abhängigkeit von der
"Betriebsart" eines von drei 16-Bit-Worten an und leitet eines von ihnen
zu dem 16-Bit-Ausgang. Er besteht aus sechzehn 3-zu-1
Multiplexern und wird durch ein 3-Bit-Signal MODE SELECT gesteuert. Es
gibt drei Betriebsarten - "Ebene", "Scheibe" und "Bildelement",
die den vier Aufbaumöglichkeiten des Datenwortes des
Zentralrechners entsprechen (FIG. 7).
-
Die Ausgänge 0 bis 15 der INMUX-Multiplexer sind mit den
X-Eingängen der MUX-Multiplexer in einer Weise verbunden, die in FIG.
11 gezeigt ist. Die Ausgänge 0 bis 15 des DINR sind mit den
sechs 16-Bit-Eingängen der INMUX-Multiplexer in einer bestimmten
Reihenfolge verbunden, die ebenfalls vollständig durch FIG. 11
durch die in die INMUX-Kästchen hineingeschriebenen Zahlen
dargestellt ist. Speziell sind im "Ebenen"-Modus die Ausgänge 0 bis
3 des INMUX 1 oder INMUX 2 lediglich mit dem Bit 0 des DINR
verbunden, die Ausgänge 4 bis 7 sind mit dem Bit 1 des DINR
verbunden, etc.. Im "Scheiben"-Modus sind die Ausgänge 0 bis 3 mit den
Bits 0 bis 3 des DINR verbunden, und so weiter. Im
"Bildelement"-Modus sind die Bits 0 bis 3 des INMUX1-Ausgangs mit den
Bits 0 bis 3 des DINR verbunden, die Bits 4 bis 7 sind mit den
Bits 8 bis 11 des DINR verbunden etc., die Bits 0 bis 3 des
INMUX2-Ausgangs sind mit den Bits 4 bis 7 des DINR verbunden etc..
-
Demzufolge sind die Daten des Zentralrechners (FIG.7) auf die
Bildelemente und Ebenen so verteilt, wie dies in den FIG. 12 bis
14 gezeigt ist. Nun kann im Bildelement-Modus ein
16-Bit-Datenwort direkt an die Bildelementstellen des Bildwiederholspeichers
geschrieben oder in die DR-Register geladen werden, entsprechend
Paaren von Bildelementen A, B sowie C, D, und kann dann zur
Aktualisierung eines beliebigen Bildelementpaares verwendet
werden. Im "Scheiben" -Modus kann ein Datenwort des Zentralrechners
zur Aktualisierung der unteren Hälften aller 4 Bildelemente oder
der oberen Hälften aller 4 Bildelemente verwendet werden. Im
Ebenen-Modus können die Bits 0 bis 3 in eine beliebige Ebene des
Bildwiederholspeichers geladen werden.
-
Um die Nichtnutzung von 12 Bit des DINR zu vermeiden, wenn im
Ebenen" -Modus gearbeitet wird, weist dieses Register ebenfalls
eine spezielle Struktur auf. Im wesentlichen besteht es aus vier
4-Bit-Registern in Pipelinestruktur (FIG. 11) . Der
16-Bit-Datenwert des Zentralrechners wird durch ein Signal LOAD, das die
Bits 0 bis 3 zum Laden in den Bildwiederholspeicher bereit
macht, in das DINR-Register geladen. Nach dem ersten
Schreibzyklus schiebt die hintere Flanke des FBWE-Signals DINR-Daten um
vier Stellen nach links, wodurch die nächsten vier Bits 4 bis 7
für eine Aktualisierung des Bildwiederholspeichers bereit
gemacht werden. Nach den vier Schreibzyklen sind zum Beispiel im
Seitenmodus (wobei in horizontaler Richtung geschrieben wird)
oder unter Bit-blt-Adressiersteuerung (in vertikaler oder
diagonaler Richtung) alle 16 Bit des Datenwortes des Zentralrechners
in den Bildwiederholspeicher geschrieben. Der Zentralrechner hat
zusätzliche Zeit, während dieser vier Schreibzyklen das nächste
Wort vorzubereiten, so daß der DNA-Modus des Zentralrechners mit
dem Seitenmodus des Bildwiederholspeichers kombiniert werden
kann. Auch kann für eine derartige "Block" -Aktualisierung ein
zusätzliches Register verwendet werden. Es nimmt die Daten des
Zentralrechners an, überträgt sie zum DINR, und während das DINR
zum Schieben von Ebenendaten verwendet wird, ist dieses Register
frei, um die nächsten Daten von dem Zentralrechner zu
anzunehmen.
-
Es ist zu erwähnen, daß während der Übertragung von dem DINR- zu
dem DR-Register XAD< O,1> 0,0 sein sollte, was die Ausrichtungs-
Hardware "sperrt".
-
Die nächste Anforderung an den Bildelement-Datenpfad besteht
darin, Daten, die von dem Bildwiederholspeicher zu lesen sind,
für den Datenbus des Zentralrechners vorzubereiten. Diese
Funktion wird von der in FIG. 15 gezeigten
Datenausgangsformatierereinheit (OUTFORM) ausgeführt. Sie beinhaltet einen
Bildelementscheiben-Multiplexer PXSLMUX, einen Ebenen-Multiplexer PLMUX,
ein 12-Bit-Register OUTR und einen Multiplexer OUTMUX. Der 64-
zu-16 PXSLMUX-Multiplexer stellt einen 16-Bit-Ausgangs des 32-
Bit-Zielbusses unter der Steuerung eines 2-Bit-Signals MODE
CONTROL bereit.
-
Im "Bildelement"-Modus wird ein beliebiges Paar A, B oder C, D
von 8-Bit-Bildelementen zu den Eingängen des OUTMUX-Multiplexers
übertragen, wodurch die Daten der zwei am weitesten links oder
der zwei am weitesten rechts gelegenen Bildelemente an die
OUTMUX-Eingänge geliefert werden. Im "Scheiben"-Modus werden
untere oder obere Hälften aller vier Bildelemente an die OUTMUX-
Eingänge geliefert.
-
Der "Ebenen"-Modus verwendet ebenfalls den PXSLMUX im
"Scheiben"-Modus, die von dem PXSLMUX ausgewählten Hälften von vier
Bildelementen werden jedoch als Eingabedaten für den 16-zu-4
PLMUX-Multiplexer verwendet, der wiederum eine bestimmte Ebene
(eine von vier Ebenen) unter der Steuerung des Ebenennummern-
Signals PLN auswählt. Wenn zum Beispiel die Ebene 5 von dem
Bildwiederholspeicher gelesen werden soll, stellt der PXSLMUX
die Daten der oberen Hälften der Bildelemente bereit, und der
PLMUX liefert vier Bits der Ebene 5 an den OUTMUX.
-
Um die Leistungsfähigkeit des Systems zu erhöhen, sollten dem
Datenbus des Zentralrechners wiederum 16-Bit-Ebenen-Daten
geliefert werden. Das OUTR-Register dient diesem Zweck. Es besteht
aus drei 4-Bit-Registern, die im Pipelinebetrieb bearbeitet
werden, und verwendet das Bildwiederholspeicher-Lesesignal FBRD als
Transfertakt. Im wesentlichen ist die OUTR-Struktur dieselbe wie
die des INDR, die Rolle des oberen Registers wird jedoch von dem
DR übernommen. Nach vier Speicher-Lesezyklen werden die unteren
12 Bit in dem OUTR gespeichert, und die oberen vier Bit werden
durch die DR-Register bereitgestellt. Jener 16-Bit-Datenwert von
der gleichen Ebene ist nun bereit, zu dem Datenbus des
Zentralrechners durch den OUTMUX-Multiplexer übertragen zu werden.
-
Die letzte Funktion des Bildelement-Datenpfades besteht darin,
eine Unterstützung für die Farb-Antialias-Kopie von graphischen
Objekten bereitzustellen. Dies ist besonders wichtig für ein
Hochleistungsschreiben von Texten hoher Qualität für Anzeigen im
niedrigen oder mittleren Kostenbereich. Die nachfolgende
Beschreibung bezieht sich auf das Schreiben eines Textes,
wenngleich keine Abhängigkeit von der Gestalt des Objektes besteht.
-
Die Antialias-Prinzipien sind in einer Veröffentlichung von
Paul N. Sholtz, "MAKING HIGH-QUALITY COLORED IMAGES ON RASTER
DISPLAYS", Research Report RC9632, IBM Thomas J. Watson Research
Center, Yorktown Heights, N. Y. 1982, beschrieben.
-
Im allgemeinen Fall besitzen die Bildelement-Daten zwei Felder,
die den Farb-Code und den Intensitäts-Code repräsentieren. Die
Farbe auf dem Bildschirm basiert auf dem Laden der
Video-Nachschlagetabelle und erfordert keinerlei bestimmte Verteilung von
Bildelement-Bits zwischen den Feldern. Der Zentralrechner
vergleicht die Bildelement-Intensitäten und -Farben von Quelle und
Ziel und entscheidet, welche Farb- und Intensitäts-Codes dem
Ziel zuzuweisen sind.
-
Die Idee der vorliegenden Erfindung besteht darin, aus der
Tatsache Nutzen zu ziehen, daß 16 Intensitätsniveaus im allgemeinen
für praktische Zwecke, sogar für hochauflösende Anzeigen,
ausreichend sind. Somit können durch Aufteilung der Bildelement-
Daten auf zwei gleiche 4-Bit-Felder, wobei eines von ihnen stets
die Intensität und das andere die Farb-Codes repräsentiert, 15
Farben eines Antialias-Textes auf einer beliebigen bestimmten
Hintergrundfarbe bereitgestellt werden.
-
Zum Zwecke der Erläuterung werden die folgenden Abkürzungen
verwendet, um die Bildelementfelder darzustellen: DC und SC -
Zielund
Quellen-Farbcodes, DI und SI - entsprechende Intensitäts-
Codes und MAX/MIN - ein 1-Bit-Steuersignal, das steuert, ob die
direkte oder umgekehrte Intensität des Quellen-Bildelementes
verwendet werden soll.
-
Der Algorithmus zum Berechnen einer neuen Ziel-Intensität kann
mit dem folgenden Unterprogramm illustriert werden:
-
If MAX/MIN = 1 Then
-
Do
-
If DC = SC Then DI = MAX(SI, DI)
-
Else DI = SI
-
End
-
Else
-
Do
-
If DC = SC Then DI = MIN(SI, DI)
-
Else DI = SI
-
End
-
End
-
Die Ziel-Farbe bleibt die gleiche.
-
Basierend auf diesem Unterprogramm sollte die herkömmliche 8-
Bit-Arithmetik-Logikeinheit (ALU), die in der COMB-Einheit
integriert sein kann, einen zusätzlichen Logikblock beinhalten, der
in FIG. 16 gezeigt ist. Dieser Zusatz beinhaltet zwei
4-BitKomparatoren CMP1 und CMP2, XNOR- und UND-Gatter sowie einen 4-Bit-
Multiplexer MUX. Der Ausgang des MUX stellt einen neuen DI-Wert
bereit, während DC, wie gezeigt, direkt von dem Eingang des
Logikblocks abgeleitet wird.
-
Nun kann unter der Annahme, daß die Farb-Codes die oberen Bits
der Bildelement-Werte (obere Scheibe) annehmen und die
Intensitäts-Codes die unteren Werte (untere Scheibe) annehmen, der
Antialias-Kopiervorgang folgendermaßen beschrieben werden.
-
Als ersten Schritt stellt der Zentralrechner den Datenpfad mit
zwei 16-Bit-Worten bereit, welche Farbe und Intensität für die
ersten vier Quellen-Bildelemente repräsentieren. Das erste 16-
Bit-Wort, das die Quellen-Farbe repräsentiert, wird in die Bits
4 bis 7 der Quellen-Register SR (die in den FIG. 9 und 10
gezeigt sind) übertragen, und dem Laden dieser Register folgend
wird das nächste 16-Bit-Wort, das die Intensitätswerte der
ersten 4 Bildelemente repräsentiert, in die Bits 0 bis 4 der
Löschungs-Register DR geladen.
-
Dann beginnt der folgende, sich wiederholende Prozeß (der auch
die Bit-blt-Adressiersteuerung enthält)
-
1. Der Zentralrechner startet einen Speicher-Lesezyklus.
Am Ende dieses Zyklus wird die Quellen-Intensität in
die Bits 0 bis 3 der SR-Register geladen, die Ziel-
Farbe und -Intensität werden in den Bits 0 bis 7 der
DR-Register angeordnet, und die Kombinationseinheit
berechnet die neuen Ziel-Bildelementwerte.
-
2. Der Zentralrechner führt dem DINR neue
Quellen-Intensitätswerte zu und leitet zur gleichen Zeit einen
Speicher-Schreibzyklus ein. Am Ende dieses Zyklus wird
der Bildwiederholspeicher aktualisiert und es werden
neue Quellen-Intensitätswerte in die Bits 0 bis 3 der
DR-Register geladen.
-
3. Der Prozeß wird wiederholt, es sei denn, daß ein neuer
Quellen-Farbwert erforderlich ist.
-
Demzufolge sind lediglich zwei Zentralrechnerzyklen zum
Schreiben eines Antialias-Textes erforderlich. Außerdem liefert der
Zentralrechner lediglich 16-Bit-Intensitätswerte, wobei eine
parallele Aktualisierung von 32 Bit von vier Ziel-Bildelementen
erfolgt.
-
Die Antialias-Kopie ist besonders wichtig für Farbanzeigen mit
einer geringen Anzahl von Bits pro Bildelement.
Selbstverständlich sind die offenbarten Prinzipien für den Aufbau des
Bildelement-Datenpfades auch auf einen längeren Bildelementwert
anwendbar. Zum Beispiel in Echtfarbsystemen mit 24 Bit pro Bildelement
können aber die notwendigen Berechnungen direkt mit Bildelement-
Farbwerten und nicht mit Farb- und Intensitäts-Codes
durchgeführt werden, siehe die Veröffentlichung von C.J. Evangelisti,
L. Lumelsky und P. N. Sholtz, "COPY OPERATION FOR COLOR
ANTIALIASING", IBM Technical Disclosure Bulletin, Vol. 27, Nr. 10B,
März 1983, Seiten 6234 bis 6236.
-
In diesem Fall können drei parallel genutzte
Bildelement-Datenpfadeinheiten vorhanden sein, und Farbberechnungen können
weiterhin von COMB-Einheiten durchgeführt werden, jedoch unter
Verwendung des herkömmlichen Betriebssatzes.
-
Es folgt eine kurze Beschreibung einer alternativen
Ausführungsform der vorliegenden Erfindung. Sie wird etwas
funktionsbezogener gezeigt und beschrieben als die zuvor beschriebene
Ausführungsform. Der wesentliche Unterschied besteht darin, daß ein
zusätzlicher, separater Schaltungsaufbau (z.B. Schieber und
Akkumulatoren) für Bildelement- und Ebenenoperationen mit etwas
vereinfachten Steuerungen verwendet werden. Es sind jedoch mit
beiden Ausführungsformen im wesentlichen die gleichen
Betriebsarten erzielbar, d.h. Bildelement, Bildelementscheibe sowie
Ebene.
-
Nun bezugnehmend auf FIG. 17 sind der Systemdatenbus-Eingang und
der Systemdatenbus-Ausgang mit dem Zentralrechner verbunden, der
das Anzeige-Subsystem steuert. Es handelt sich um einen
bidirektionalen 16-Bit-Bus. Speicherdatenbus-Eingang und -Ausgang sind
mit dem Bildwiederholspeicher verbunden. Es handelt sich um
einen bidirektionalen 32-Bit-Bus.
-
Es werden vier verschiedene Bildwiederholspeicher-Speicherzyklen
gefahren, die den Datenfluß durch diese Logik beeinflussen. Ein
Speicher-"Lese"-Zyklus übernimmt Daten von dem Speicherdatenbus,
leitet diese Daten durch die Ebenenauswahllogik, den
Datenpfad-MUX-Eingang, den Bitstellenverschieber sowie die Logikeinheit
und speichert die Daten in dem ACCUM-Zwischenspeicher. Wenn
diese Sequenz beendet ist, liest das System die Daten des
Akkumulators, womit der Lese-Zyklus abgeschlossen wird, und der Prozeß
ist beendet. Ein Speicher-"Schreib"-Zyklus übernimmt Daten von
dem Systemdatenbus, leitet diese Daten durch die Bildelement-
/Halbscheibendatenformat-Logik, den Datenpfad-MUX-Eingang, den
Bitstellenverschieber sowie die Logikeinheit und speichert die
Daten in dem ACCUM-Zwischenspeicher. Dann wird der Speicher des
Bildwiederholspeichers zyklisch betrieben, wobei die Daten durch
beide Datenpfad-MUXIS, den Bitstellenverschieber und durch den
Speicherdatenbus MUX hinaus in den Speicher geleitet werden. Ein
Speicher-" LADE "-Zyklus ist einem "LESE"-Zyklus sehr ähnlich, mit
der Ausnahme, daß das System keine Daten von dem
ACCUM-Zwischenspeicher liest. Ein Speicher-"EINSPEICHER"-Zyklus übernimmt
Daten in den ACCUM-Zwischenspeicher und speichert sie in dem
Bitmap-Speicher in der gleichen Weise wie der "Schreib "-Zyklus, und
das System ist an diesem Zyklus wiederum nicht beteiligt. Jeder
Teil der Datenpfadlogik wird nachfolgend beschrieben.
Bildelement-/Halbscheibenformat-Logik
-
Diese Logik verbindet den 16-Bit-Bus des Mikroprozessors mit dem
32-Bit-Datenpfad-Schaltkreis. Die Speicherorganisation des
Bildwiederholspeichers ist in FIG. l8 gezeigt. Bei diesem Aufbau
werden Bildelemente in dem Speicher in Vierergruppen
ineinandergeschachtelt. Da jedes Bildelement aus 8 Bit (1 Bit pro
Speicherebene) für einen beliebigen Speicherzugriff aufgebaut ist,
sind 32 Bit an Daten steuerbar. Bei dieser Ausführung ist das
System in der Lage, in einem von zwei Formaten in den Speicher
des Bildwiederholspeichers zu schreiben. Im "Bildelement"-Modus
können Daten in jedes der äußeren Paare benachbarter
Bildelemente über alle 8 Bit geschrieben werden.
-
Wenn zum Beispiel das Bildelement 0 im Bildelement-Modus
adressiert ist, bildet ein Schreibzyklus die Systemdatenbits 15 bis 8
jeweils auf die Bits 7 bis 0 des Bildelementes 0 und die
Systemdatenbits 7 bis 0 jeweils auf die Bits 7 bis 0 des Bildelementes
1 ab. Im "Halbscheiben"-Modus werden die Systemdaten auf alle
vier Bildelemente entweder auf die Bits 0 bis 3 oder 4 bis 7
unter der Steuerung eines Steuerbits in dem statischen
Befehlsregister abgebildet. Diese gleiche Logik ist an der
Ausgangsseite des ACCUM-Zwischenspeichers angeordnet, um zu erlauben, daß
diese gleichen Formatmodi verwendet werden, wenn das System
Daten liest, die von dem Bitmap (einem Speicher-"Lese"-Zyklus) in
den Akkumulator geladen wurden.
Ebenenauswahllogik
-
Wie oben gezeigt, ist der zweiunddreißig-Bit-Speicherdatenbus
mit vier Bildelementen aus 8-Bit-Ebenen pro Bildelement
angeordnet. Die Datenpfadlogik, mit zweiunddreißig Bit gezeigt, ist mit
8 vier-Bit-"Ebenen-Kanälen" ausgeführt. Jede Datenebene wird
separat betrieben und zur Ausgabe an den Bitmap-Speicher
vermischt. Die Ebenenauswahllogik ist dafür vorgesehen, Daten von
einer ausgewählten Speicherebene zu den "Ebenen-Kanälen" der
anderen Ebenen zu transferieren. Sie wird zum Beispiel
verwendet, wenn eine Maske in einer Ebene gespeichert ist, um zu
ermöglichen, daß die Maskendaten mit Daten in allen anderen Ebenen
logisch vermischt werden.
Datenpfad-MUX-Eingangsschaltkreis
-
Dieser Schaltkreis sorgt für mehrere Quellen von Daten, die
durch den Bitstellenverschieber und den Schaltungsaufbau der
Logikeinheit fließen müssen. Diese Quellen sind 1) Systemdaten,
2) Speicherdaten des Bildwiederholspeichers, 3) Daten des
Akkumulators. Da jede dieser Datenquellen den Bitstellenverschieber
und die Logikeinheit verwenden muß, um nicht ausgerichtete
(nicht entlang einer Wortgrenze) Datenzugriffe auf den
Bildwiederholspeicher zu ermöglichen, ist die Verwendung dieser
Multiplexer-Methode
sehr vorteilhaft, um verglichen mit dem
Bereitstellen eines separaten Bitstellenverschiebers und einer
separaten Logikeinheit für jeden Pfad Logik einzusparen. Für die
Bereitstellung dieser Multiplex-Funktion ergibt sich keine
Leistungseinbuße, da lediglich einer dieser Pfade bei einem
gegebenen Speicherzyklus aktiv sein und bei jedem Speicherzyklus ein
neuer Pfad spezifiziert werden kann.
Bitstellenverschieber-Schaltkreis
-
Der Bitstellenverschieber-Schaltkreis ist aus 8 Gruppen von 4-
Bit-Bitstellenverschiebern zusammengesetzt. Jeder
4-Bit-Bitstellenverschieber arbeitet auf einem Ebenen-Kanal. Bei einem
Lesezyklus wird der Bitstellenverschieber dafür verwendet, die vom
Speicher kommenden Daten auszurichten, bevor sie zu der
Logikeinheit und dem Akkumulator geleitet werden. Das System liest
dann die Daten von dem Akkumulator, und der
Bitstellenverschieber ist nicht beteiligt. Bei einem Schreibzyklus wird der
Bitstellenverschieber so gesetzt, daß er unverschobene Systemdaten
in die Logikeinheit und den Akkumulator leitet. Dann wird ein
Speicherzyklus eingeleitet, und die Daten laufen zur Ausrichtung
von dem Akkumulator durch die Datenpfad-Multiplexer zu dem
Bitstellenverschieber, bevor sie in den Bildwiederholspeicher
geschrieben werden. Bei einem Ladezyklus wird der
Bitstellenverschieber dafür verwendet, die Daten auszurichten, die vom
Speicher kommen, bevor sie zu der Logikeinheit und dem Akkumulator
geleitet werden. Bei einem Einspeicherzyklus wird ein
Speicherzyklus eingeleitet, und die Daten werden zur Ausrichtung von dem
Akkumulator durch die Datenpfad-Multiplexer zu dem
Bitstellenverschieber geleitet, bevor sie in den Bildwiederholspeicher
geschrieben werden.
Logikeinheit/ACCUM-Zwischenspeicher
-
Die Logikeinheit besitzt zwei Eingangspfade, den ersten für
Daten, die über den Bitstellenverschieber und den Datenpfad-MUX-
Eingang kommen, und den zweiten von dem ACCUM-Zwischenspeicher
her. Dies erlaubt, daß mit Daten, die bereits in dem
Akkumulator-Zwischenspeicher gespeichert sind, Logikoperationen an
hereinkommenden Daten ausgeführt werden. Die Logikeinheit ist
lediglich an "Lese-/Schreib"-Zyklen und "Lade"-Zyklen beteiligt,
sie ist nicht an dem "Speicher"-Zyklus beteiligt. Die Funktionen
der Logikeinheit beinhalten: Weiterleiten von
Bitstellenverschieber-Daten oder invertierten Bitstellenverschieber-Daten und
Weiterleiten von ACCUM-Zwischenspeicher-Daten oder invertierten
ACCUM-Zwischenspeicher-Daten. Außerdem sind die folgenden
Verknüpfungen von zwei Variablen der Bitstellenverschieber-Daten
und der ACCUM-Zwischenspeicher-Daten vorgesehen: UND, ODER, XOR,
NAND, NOR, XNOR.
-
Der Akkumulator-Zwischenspeicher ist der Haupt-Zwischenspeicher
in dem System. Dieser Zwischenspeicher hält Daten, die von dem
System kommen, bevor sie in den Bildwiederholspeicher
geschrieben werden. Er hält außerdem Daten, die von dem
Bildwiederholspeicher gelesen werden, bevor er sie zu dem System
weiterleitet. In "Lade- und Einspeicher"-Zyklen wird dieser
Zwischenspeicher dafür verwendet, die Daten zu halten, wenn sie von der
Quelle zum Ziel innerhalb des Bildwiederholspeichers fließen.
Linie-auf-Linie-Logik
-
Diese Logik ist zur Ermöglichung der Erkennung von Linien, die
übereinander geschrieben werden, entworfen. Dies ist bei
Entwurfsanwendungen, bei denen der Benutzer mit Schreiben und
Hinzufügen neuer Linien in Interaktion ist, sehr nützlich.
-
Die Logik besteht aus 3 Registern und einer Vergleichsschaltung.
-
Ein Register ist mit der Vergleichsfarbe geladen, das zweite
Register ist mit der "Treffer"-Farbe geladen, und das dritte
Register ist mit der "Fehltreffer"-Farbe geladen. Um diese Logik
während des Schreibens von Linien zu verwenden, muß ein
Lade-/Einspeicher-Zyklus in der Befehlswarteschlange codiert sein.
-
Wenn eine neue Linie geschrieben wird, wird der Datenwert zuerst
in den Akkumulator geladen und auf einer
Bildelement-für-Bildelement-Basis
mit der Vergleichsfarbe verglichen; wenn eine
Übereinstimmung festgestellt wird, dann wird für dieses
Bildelement durch den Einspeicherzyklus die "Treffer"-Farbe
geschrieben, für alle diejenigen Bildelemente, die nicht mit der
Vergleichsfarbe übereinstimmen, schreibt der Einspeicherzyklus die
"Fehltreffer"-Farbe. Um das Arbeiten dieser Funktion zu
bewirken, wird bei dieser Anwendung die Vergleichsfarbe mit der Farbe
derjenigen Linien geladen, nach denen gesucht wird. Wenn eine
neue Linie Linien mit der Vergleichsfarbe schneidet, setzt in
diesem Modus ein Hervorhebungsprozeß ein. Zusätzlich ist ein
Register in der Schaltung enthalten, um lediglich ausgewählte
Ebenen zur Verwendung beim Vergleich von Farben freizugeben. Das
heißt, durch Setzen dieses Registers auf bestimmte Werte können
verschiedene Speicherebenen selektiv "unberücksichtigt" bleiben.
Datenpfad OUTMUX
-
Diese Logik wählt Daten von dem Linie-auf-Linie-Schaltkreis oder
Daten von dem Akkumulator-Zwischenspeicher aus, die in den
Speicher herauszuschreiben sind.
Ebenenschreibmasken-Zwischenspeicher/Speicher-Datenbus MUX
-
Bei jedem Speicher-Schreibzyklus führt diese Logik ein
Multiplexen der Schreibinformation pro Bit und der
Speicherdatenausgabe an den Bildwiederholspeicher durch. Die Nutzung der
Schreiben-pro-Bit-Eigenschaft des Bildwiederholspeichers ermöglicht
die Durchführung selektiver Ebenen-Schreibvorgänge.
Konstanten-Register/Logikeinheit B Leg MUX
-
Diese Schaltung stellt Mittel zum Durchführen logischer
Operationen oder einer Farberweiterung auf "A-Leg"-Daten mit einer
Konstanten bereit, die in dem Konstanten-Register gespeichert
ist. Da der Wert in dem ACCUM-Zwischenspeicher während der
logischen Operation gelöscht wird, wird die Farbe in dem
Konstanten-Register gespeichert und der B-Leg-MUX wird so gesetzt, daß
diese
Daten zu der Logikeinheit weitergeleitet werden.
-
Diese Schaltung ist so aufgebaut, daß die Datenpfad-Operationen
eines großen Bildwiederholspeichers mit mehreren einzelnen
Logikfunktionen rationalisiert werden.
-
Es ist zu erwähnen, daß die Architektur der Ausführungsform von
FIG. 17 etwas verschieden von derjenigen der Ausführungsform der
FIG. 8 und 10 ist, die durchgeführten Funktionen jedoch im
wesentlichen gleichartig sind. Es folgt eine kurze Auflistung der
funktional analogen Blöcke der beiden Ausführungsformen. Die
bezifferten Blöcke beziehen sich auf die funktionellen Blöcke
von FIG. 17.
-
Block 10 ist äquivalent zu dem INFORM-Block von FIG. 8. Block 12
entspricht dem OUTFORM-Block von FIG. 8. Die Funktionen der
Blöcke 14 und 15 werden durch den MUX der FIG. 8 und 10
ausgeführt. Der Block 16 ist äquivalent zu dem BSH
(Bitstellenverschieber) der FIG. 8 und 10. Die Funktionen der Blöcke 20 und 22
werden im wesentlichen durch die COMB-Blöcke der FIG. 8 und 10
ausgeführt. Der Block 24 ist äquivalent zu dem DR-Block der FIG.
8 und 10. Die Funktion von Block 26 wird durch den SR-Block der
FIG. 8 und 10 ausgeführt.
-
Die wesentlichen Konzepte der vorliegenden Erfindung sind
folglich in beide Ausführungsformen integriert. Sie stellen beide
eine Datenpfad-Architektur mit einem Schaltungsaufbau bereit,
der in der Lage ist, Operationen entweder an Bildelementen oder
an Ebenen durchzuführen. Wie für einen Fachmann klar
ersichtlich, ist diese Architektur in der Lage, sowohl die bei Schwarz-
Weiß-Anzeigen verwendeten logischen Operationen als auch die bei
Farbanzeigen verwendeten, im wesentlichen arithmetischen
Operationen durchzuführen.
-
Aus der vorhergehenden detaillierten Beschreibung der ersten
offenbarten Ausführungsform und der funktionsbezogenen
Beschreibung der alternativen Ausführungsform der vorliegenden
Datenpfad-Architektur
ist ersichtlich, daß eine Anzahl von Änderungen
in den Architektur- und Hardwaredetails möglich ist, ohne von
den zugrundeliegenden Prinzipien der vorliegenden Erfindung
abzuweichen.
-
Beide Ausführungsformen besitzen die Eigenschaft, automatisch
die notwendige funktionelle Fähigkeit bereitzustellen, die
Videodaten so auszurichten, daß mit einem Minimum an Interaktion
von dem Zentralrechnersystem auf den APA-Bildwiederholspeicher
zugegriffen werden kann. Weitere Änderungen in Details der
Architektur sind ebenfalls möglich, ohne vom Umfang der
beigefügten Patentansprüche abzuweichen.