DE2456746C3 - Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung - Google Patents

Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung

Info

Publication number
DE2456746C3
DE2456746C3 DE19742456746 DE2456746A DE2456746C3 DE 2456746 C3 DE2456746 C3 DE 2456746C3 DE 19742456746 DE19742456746 DE 19742456746 DE 2456746 A DE2456746 A DE 2456746A DE 2456746 C3 DE2456746 C3 DE 2456746C3
Authority
DE
Germany
Prior art keywords
register
vector
data
value
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19742456746
Other languages
English (en)
Other versions
DE2456746A1 (de
DE2456746B2 (de
Inventor
Alfred Alexander Gaithersburg Md.; Stewart Joseph Robert Lexington Ky.; Schwartz (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to DE19742456746 priority Critical patent/DE2456746C3/de
Publication of DE2456746A1 publication Critical patent/DE2456746A1/de
Publication of DE2456746B2 publication Critical patent/DE2456746B2/de
Application granted granted Critical
Publication of DE2456746C3 publication Critical patent/DE2456746C3/de
Expired legal-status Critical Current

Links

Description

Die Erfindung betrifft eine Anordnung, wie sie dem Oberbegriff des Patentanspruchs 1 zu entnehmen ist, und ein Verfahren unter Anwendung dieser Anordnung.
Datensichtgeräte üblicher Bauart erzeugen Linienzeichnungen durch Speicherung eines Anzeige-Bits für jedes Bildebment. F i g. 1 zeigt ein typisches Datensichtgerät dieser Art. Von einem externen Prozessor als Rechner 6 werden die für die bildliche Darstellung vorgesehenen Vektoren und Zeichen aus einer Gruppe von Anzeige-Bits aufgebaut, die vom Zeichengenerator 10 und dem Vektorgenerator 12 bereitgestellt sind und einem Rasterspeicher 14, üblicherweise einem
20
30
Kernspeicher 14, zusammengesetzt werden. Bei Datensichtgeräten mit einer Rastermatrix von 1024 Bildpunkten müßten insgesamt eine Million Anzeige-Bits im Rasterspeicher 14 gespeichert werden. Nach Zusammensetzung der Anzcigedarstellung wird eine Folge von einer Million Anzeige-Bits aus dem Rasterspeicher 14 über einen Multiplexer 16 auf einen vorgegebenen Kanal zur Speicherung in einem zugeordneten Auffrischungspuffer 22 übertragen. Falls das Datensichtgerät eine farbige Anzeige mit den drei Grundfarben gestattet, sind drei separate Übertragungslinien mit Speicherung einer Million Bits für jede der drei darzustellenden Grundfarben erforderlich.
Ein wesentlicher Nachteil derartiger Datensichtgeräte besteht darin, daß jede Änderung der dargestellten Abbildung entweder die Erzeugung einer neuen Abbildung oder die Entfernung einer Millionen Bits aus dem Auffrischungspuffer, der eine Speicherplatte 22 sein kann, unter Eingabe in den Rastcrspcichcr 14 erfordert, um die Veränderung der gewünschten Bits mit anschließender RUckUbcrtragung einer Million Bits in den Auffrischungspuffer 22 vorzunehmen. Um beispielsweise einen Vektor zu löschen, müßte das ganze Raster im Speicher 14 neu zusammengesetzt werden.
Wenn zwei Vektoren sich einander kreuzen, wird durch dieses Löschen aber auch eine Anzahl von den beiden Vektoren gemeinsamen Bits entfernt, so daß der verbleibende Vektor mit einer die Teile zu beiden Seiten des gelöschten Vektors trennenden Lücke verschen ist.
Wenn die abzubildende Darstellung einmal in den Auffrischungspuffer 22 geschrieben ist, verlieren damit die Vektoren ihre Identität, d. h„ jedes Bit wird in gleicher Weise in den Auffrischungspuffcr 22 und in das Datensichtgerät 34 geschrieben. Um mit dieser Technik eine Grauwert- oder Farbnnzcigc zu ermöglichen, müssen zusätzliche Spcichcrcinhcitcri belegt werden, die zudem synchron arbeiten müssen. Infolgedessen braucht man zur Erzeugung von Anzeigen mit mehreren Intensitätsstufen, verschiedenen Farben oder anderer, die Einzelbehandlung von Vektoren erfordernder Wirkung im allgemeinen das Zwei- oder Dreifache des Speicherplatzbedarfs als für einen Kanal allein.
Ein Problem besteht weiterhin darin, jeden Vektor für sich in verdichteter und identifizierbarer Form zu speichern, so daß sich seine Besonderheiten beibehalten lassen und seine Identifizierung ohne großen Speicherplatzbedarf möglich ist. Ohne einen mit Eingabe/Ausgabe-Geräten nicht zu vereinbarendem Großraumspeicher ist man bisher allerdings nicht in der Lage, individuelle Vektoren im Auffrischungsspeicher zu adressieren oder Vektoren verschiedener Farbe, unterschiedlichen Grauwerts oder mit anderen Merkmalen im selben Speichermodul zu speichern.
Es ist zwar mit der deutschen Offenlegungsschrift DT-OS 2063 243 eine Anordnung zur Zeichen- und Symboldarstellung der eingangs beschriebenen Art bekanntgeworden; jedoch gilt auch hier, daß trotz der Partialrasterspeicherung ein Massenspeicher erforderlich ist, um alle zur Zeichen- und Symboldarstellung erforderlichen Daten zu speichern.
Die Aufgabe der Erfindung besteht darin, Vektorbilddaten in verdichteter Form so zu speichern, daß sie ihre Identität und Sondereigenschaften, wie Farbe, Grauwert oder Aufblinken beibehalten und entsprechend aufgerufen werden können, ohne daß ein Großraumspeicher zur zuverlässigen und zufriedenstellenden Betriebsweise erforderlich sein soll.
Die Lösung dieser Aufgabe geschieht erfindungsgemäß durch die im Patentanspruch angeführte Lehre zum technischen Handeln.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung lassen sich den Unteransprüchen entnehmen.
Das erfindungsgemäße Datensichtgerät unter Verwendung codierter Vektoren enthält einen Kleinrcchner od. dgl. zur Berechnung des Anfangspunktes, der Richtung und der Länge des auf dem Bildschirm darzustellenden Vektors. Ein mit seinem Eingang an den Kleinrechner angeschlossener Vektorsegmentcodiercr empfängt die Daten für Anfangspunkt, Richtung und Länge des Vektors und verarbeitet diese Daten zu einer Folge von Vektorsegmentwörtern, die in eine Folge von Vektorsegmenten, gewissermaßen als Einheitsvektoren des abzubildenden Vektors darstellen. Jedes Vektorsegment ist also ein vereinheitlichtes Symbol, das in einem Symbolsatz enthalten und durch einen Symbolcode bezeichnet ist. Jedes Vektorsegmentwort enthalt die Koordinatenwerte für den Vektoranfangspunkt, eine Längenangabc und den Symbolcode.
Ein Warteschlangcn-Zwischenrcgister ist mit seinem Eingang an den Vektorsegmentcodiercr angeschlossen und empfängt Vcktorscgmcntwörtcr mit zufälliger Folge von X- Y-Anfnngspunkt-Koordinatcnwcrtcn und sortiert und speichert diese verschachtelten Wörter in Wartcschlungen, je nach gleichem Y- Wert.
Ein elastischer Auffrischungspuffer ist mit seinem Eingang an diis Wartcschlangcnzwischcnrcgistcr angeschlossen und fragt ihn nach Vcktorscgmcnlwörtern ab, die einen durch den Auffrischungspuffer bezeichneten V-Wcrt haben und speichert dann diese Vcktoisegmcntwörtcr in einer nach V-Wcrtcn geordneten verdichteten Liste. Der elastische Auffrischungspuffcr liest zyklisch die Vcklorscgmentwörtcr um Kopf der verdichteten Liste «us und leitet jedes Wort zur
35
Decodie
dann dit
Liste in 1
puffer ί
V-Koon
die von
werden,
gleichze.
schungsi
mehr ge
mentwö·
Auffrisc
gleichze
Liste au?
Auffrisci
ner Vek
verschie
Merkma
schungsi gestatte dem BiI Ergänzu mehr be Ein S; elastisch empfän{ Vektors SymboU Symbol; Symbol; beleuch den Vek Ein b seinem angesch punktbc net nac und zui dem P punktkt ment, < gespcic! dienen, den Pai stellend zur wal speiche Ein 1 Partialt fängt d tung de Dies Vektor Form s Aufiris dung / weise bzw. / wicht s sichtg» KunUli oder 1 Spciel Vor schirn gcmäl moglii
Decodierung sowie Anzeige zyklisch aus und schreibt dann dieses Vektorsegmentwort wieder am FuO der Liste in den Speicher ein. Der elastische Auffrischungspuffer schreibt am Fuß der Liste geordnet nach V-Koordinatenwerte neue Vektorsegmentwörteir ein, die vom Warteschlangenzwischenregister zugeführt werden, während das zyklische Lesen am Kopf der Liste gleichzeitig unterbrochen wird. Der elastische Auffrischungspuffer liest zyklisch am Kopf der Liste nicht mehr gebrauchte bzw. nicht mehr aktuelle Vektorsegmentwörter aus, die aus der Liste gestrichen, also im Auffrischungspuffer gelöscht werden sollen, wobei gleichzeitig das zyklische Neueinschreiben am Fuß der Liste ausgesetzt wird. Die Organisation des elastischen Auffrischungspuffers gestattet die Adressierung dnzelner Vektoren und die Speicherung von Vektoren mit verschiedenen Farben, Grauwerten oder anderen Merkmalen.
Das Wechselspiel zwischen elastischem Auffrischungspuffer und Warteschlange und Zwischenregister gestattet, die zyklische Auffrischung der Anzeige auf dem Bildschirm, Annahme wahlweiser Zusätze bzw. Ergänzungen in der Liste sowie eine Löschung nicht mehr benötigter Daten.
Ein Symbolgenerator ist mit seinem Eingang an den elastischen Auffrischungspuffer angeschlossen und empfängt die von diesem zyklisch ausgegebenen Vektorsegmentwörter und decodiert den jeweiligen Symbolcode in den Vektorsegmentwörtern, der dem Symbolsatz entnommen und hierin enthalten ist. Der Symbolgenerator erzeugt ein Musler von Rasterpunktbelcuchtungssignalen, welches dem eines darzustellenden Vektorsegments entspricht.
Ein besonderer Partialrasteraufbauspeichcr ist mit seinem Eingang an den Symbolgeneratorausgang angeschlossen und empfängt das Muster der Rasterpunktbeleuchtungssignale und speichert dieses geordnet nach einem X- Y- Koordinatenwert zum Auslesen und zur Anzeige. Der Symbolgenerator überträgt auf dem Partialrasteraufbauspcicher die X Y-Anfangspunktkoordinatcn für das darzustellende Vektorsegment, die als Stcllcnadrcsse für das Muster aus gespeicherten Signalen im Partialrasteraufbauspcicher dienen. Der Symbolgcncrator überträgt außerdem auf den Partialaufbaurasterspcichcr die Länge eines darzustellenden Vektorsegments, die in Form eines Signals zur wahlwcisen Abkappung des im Partialrasteraufbauspcicher gespeicherten Signalmustcrs dient.
Ein Bildschirmmonitor ist mit seinem Eingang an den Pariialrastcraufbauspcichcr angeschlossen und cmpfängt das dort gespeicherte Signalmuster zur Beleuchtung der gewählten Bildpunktc.
Dieses crfindungsgemiiße Datensichtgerät kann jedes Vektorsegment in verdichteter und identifizierbarer Form so speichern, daß seine Eigenheit und Identität im M Auffrischungsspcichcr erhalten blieben. Das der Erfindung zugrunde liegende Prinzip ermöglicht die wahlweise Anzeige von Vektoren, wobei ihre Veränderung bzw. Abänderung ohne Zerstörung des ßildglcichgcwichts erfolgen kann. Das erfindungsgemäße Daten- f*> sichtgerät gestattet die Anzeige über verschiedene Kanäle mit unterschiedlichen Färb· und Grnuwcrtcn oder mit anderen Eigenschaften aus einem einzigen Spcichcrinodul.
Vorteilhafter Multiplexbetrieb mit mehreren Bild- M schirmgcrätcn mit Hilfe einer gemeinsamen crfindungsgemäßen Vcktorcodicrung ist in cinfucher Weise mnulich. Ein Ausführungsbcispicl der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigt
Fig. 1 ein Beispiel für ein bisher übliches digitales Kathodenstrahldatensichtgerät, Blockschaltbild unter Anwendung konventioneller Auffrischungsverfahren,
F i g. 2A, 2B das codierte Vektorsegment und den codierten alphanumerischen Zeichensatz,
F i g. 3 als Beispiel die Zerlegung darzustellender Vektoren in Vektorsegmentsymboie, wie sie sich aus Fig. 2A.2B ergeben,
Fig.4 das erfindungsgemäße digitale Kathodenstrahldatensichtsystem für codierte Vektoren im Blockschaltbild,
F i g. 5 ein Schema für das aufeinanderfolgende Laden des Warteschlangen-Zwischenspeichers,
F i g. 6 ein Organisationsschema für den Warteschlangen-Zwischenspeicher.
Fig.7A bis 7D die Grundlagen des Teilrasterbildungsspeichers,
F i g. 8 die Kleinrechner-Wortformate, F i g. 9 das Vektoroktanten-Codierschema,
F i g. 10 die Grundlage des vom Vektorsegmentcodierer angewandte Verfahren zur Gewährleistung der graphischen Stetigkeit zwischen aufeinanderfolgenden Vektorsegmenten,
Fig. 11 das Blockschaltbild des erfindungsgemäßen Vektorsegmentcodierers,
Fig. 12 das Blockschaltbild des erfindungsgemäßen Warteschlangen-Zwischenregisters,
Fi g. 13 die Auffrischungszwischenspeicher-Wortformate,
Fig. 14 den elastischen Auffrischungszwischenspeicher gemäß der Erfindung als Blockschaltbild,
Fig. 15 den Zeichengenerator und den Teilrastcrbildungsspeicher als Blockschaltbild,
Fig. 16 eine durch das mit codierten Vektoren arbeitende digitale Kathodenstrahl-Datcnsichlsystcm erzeugte Musterdarstellung.
Eine Grundlage des erfindungsgemäßen digitalen Datensichtsystems ist die Verwendung eines Satzes von Untervektorcodes. Diese Codes werden erzeugt durch Zuordnung einer Zahl zu jeder Linie, die von einem Grund-Teilsatz von Bilddcmenten in einem rechteckigen Bildschnitt ausgehen kann, wenn ein Ende der Linie entsprechend der Darstellung in F i g. 2A, 2B im oberen linken oder rechten Element liegen kann. Der Grund-Bildausschnitt ist 16 mal 16 Video Bits groß. An der oberen linken Ecke am Bit mit der Bezeichnung »Adrcßclcmcnt links« (AEL) beginnende Untcrvcktoren sind so mit den Code-Zahlen 0 bis 31 bezeichnet. An der oberen rechten Ecke des.Bildausschnitts am Video Bit mit der Bezeichnung »Adrcßclcmcnt rechts« (AER) beginnende Untervektoren sind mit den Codc-Zuhlcn 32 bis 63 bezeichnet.
Untervektoren, die ihren Ursprung in der linken oberen Ecke AEL des Bildausschnilts mit 16 mal Ib Elementen der F i g. 2 haben, liegen entweder im ersten oder im zweiten Oktantcn der Fig.9. Im ersten Oktanlcn können Untervektoren in einem der sechzehn Elcmcniarquadratc in der rechten Spalte des Bildaus· Schnitts mit 16 mal 16 Elementen enden. Diese Quadrate sind in aufsteigender Reihenfolge, beginnend oben, mit 0 und unten endend mit 15, numeriert. Im zweiten Oktnntcn können die Unlcivektorcn in einem der 16 Elcmcntarquudrntc in der untersten Reihe des Bildausschnitts mit 16 mal 16 Elementen enden'. Diese Quadrate sind in nufstcigcndcr Reihenfolge von links nach rechts, beginnend mit 16 ganz links und endend mit 31 ganz
rechts, numeriert.
Untervektoren mit einem Ursprung in der rechten oberen Ecke AER des Grund-Bildausschnitts mit 16 mal 16 Elementen der Fig.2A, 2B liegen entweder im dritten oder vierten Oklanten der Fig.9. Im vierten Oktanten können Untervektoren in jedem der 16 Elementquadrate in der äußersten linken Spalte des Bildausschnitts mit 16 mal 16 Elementen enden. Diese Quadrate sind in aufsteigender Reihenfolge numeriert, beginnend mit 32 oben und endend mit 47 unten. Im dritten Oktanten können Untervektoren an jedem der Ί6 Elementquadrate in der untersten Zeile des Bildausschnitts mit 16 mal 16 Elementen enden. Diese Quadrate sind in aufsteigender Reihenfolge von rechts nach links numeriert, beginnend mit 48 rechts und endend mit 63 links.
Alle darzustellenden Vektoren werden dadurch zusammengesetzt, daß man diese Untervektoren verkettet auf den Bildschirm überträgt. Der unterste Untervektor eines jeden Vektors kann auf die richtige Länge abgekappt werden. Die Untervektoren werden durch ihre oberen rechten Bildelemente AER oder ihre Bildelemente in der oberen linken Ecke AEL adressiert. Ein vollständiger Zeichensatz aus 256 Zeichen kann mit acht binären Bits codiert werden und zusätzlich zu den 64 Untervektorelementen in Fig.2A, 2B einen kompletten Satz alphanumerischer Zeichen von A bis Z und von 0 bis 9 sowie Sonderzeichen enthalten, die durch die Maschinenbedienung oder Programmierung zur Erzeugung von Sonderdarstellungen bezeichnet werden können. Unter diesen Sonderdarstellungen befindet sich: Bereichsschwärzung, Kreuzschraffur, Bereichsschattierung oder -einfärbung. Andere Sonderzeichen können charakteristisch für die jeweilige Anwendung sein, in der das erfindungsgemäße System verwendet wird; so können beispielsweise bei Anwendung in der Luftverkehrskontrolle Flugbahn-Verfolgungszeichen benutzt werden. Das Datensichtsystem mit codierten Vektoren kann gemäß der Erfindung solche Sonderzeichen durch Abkappen, Verbinden und Überlagern so zusammensetzen, daß gewünschte Makrozeichen zur Wiedergabe gebildet werden. Mit der Möglichkeit, programmierte Zeichen auf frei gewählte Rastcrstcllen zu setzen, kann man eine Vielzahl von Sondcrdarstellungcn erzeugen.
Fig.3 zeigt ein Beispiel zur Darstellung zweier Vektoren A und ßals verkettete Folge von Untervektoren. Der Vektor A benutzt Untervektoren mit dem Anfangspunkt oben links (Codes 0-31, insbesondere Untervektorcode 13). Der Vektor B benutzt Untcrvcktorcn mil dem Anfangspunkt oben rechts (Codes 32-63, insbesondere Untervektorcode 51). Dur Anfangspunkt (XY)UCS Vektors A ist gleich 2, 93 und der Endpunkt gleich 76,28. Der Vektor A wird zerlegt in die Untcrvcktorclcmcntc A 1 mit einem linken Adrcßelemcnt AKL von XVglcich 2,93; den Untervektor A 2 mit dem linken Adrelklement Aiii. 18,79; den Untervektor A 3 mit dorn AEL 34,65; den Untervektor A 4 mit dem AlU. 50. 51 und den Untorvektor A 5 mit dem Aiii. 50, 51 und den Untervektor A 5 mit dem ARL 66, 37. Das Anfangs-A/:/. eines jeweils nnchfolgcndcn Untcrvcktorelcmcnts schließt somit immer an tins F.ml-Hiklele· mcnt des vorhergehenden Untervektors an. leder der /t-lJntcrvcklurcn hut einen Unlcrvcktor vom Code !3. Hs ist zu beuchten, daß der abschließende Untervektor A 5 ubgckuppt ist und am Punkt 76, 28 endet. Der Vektor A wird durch eine Folge von fünf Untervektorwortern in codierter Form dargestellt, von denen jedes die Koordinate des linken Adreßelements, den Code für den Untervektor und, falls er abgekappt ist, die Restlänge enthält. Daraus geht hervor, daß die Spezifikation von A vollständig unabhängig von der Spezifikation des Vektors B ist. Der Vektor A kann unabhängig vom Vektor B angesprochen werden und ganz andere Attribute haben als der Vektor B. Die Implementierung dieser Eigenschaften in einem Bildanzeigesystem wird anschließend weiter im Zusammen- hang mit dem digitalen Datensichtsystem für codierte Vektoren beschrieben.
Dieses Datenüichtsystem ist in F i g. 4 in Form eines Blockdiagramms dargestellt. Der Kleinrechner 50 als Spezialrecheneinheit stellt ein Informationsaustausch-
'5 glied zwischen externem Rechner 40 und Datensichtsystem über Kanali 42 dar und nimmt an der Vektorerzeugung durch Vorverarbeitung der Vektoren teil. Er trennt zusammenhängende Vektoren auf und vertauscht bei Bedarf Anfangs- und Endpunkte so, daß alle an den
»ο Vektorsegmentcodieirer 100 gesendeten Vektoren von oben nach unten gerichtet sind, indem so der Vektoranfangspunkt immer einen größeren V-Wert als der Vektorendpunkt zugewiesen bekommt. Der Kleinrechner 50 errechnet auch die Richtung der Vektoren.
An den Vektorsegmentcodierer 100 gesendete Vektoren werden durch die Anfangspunktkoordinaten X und V, ihre Länge und ihre Richtung in bezug zur X-Achse bestimmt. Die angegebene Länge ist der größere der beiden Werte von Delta X oder Delta Y. Die Richtung ist definiert ah reiner Zahlenwert, der gleich dem kleineren der beiden Absolutwerte von Delta X über Delta V und Delta Vüber Delta X ist. Mit zwei binären Bits wird einer der vier möglichen Oktanten angegeben, in dem der Vektor liegt. Diese Daten werden über die Leitung 62 an den Vektorsegmentcodierer 100 übertragen.
Der Kleinrechner 50 trennt auch Schreibmaschinenbetriebszcichen unter Errechnung des richtigen Abstands ab und spezifiziert die alphanumerischen Zeichen
durch Anfangskoordinaten ihres Symbolblocks-Adreßelcments-links, gemäß F i g. 2 und Symbolcode. Die alphanumerischen Daten werden auf der Leitung 60 direkt in das Warteschlangenzwischenregister bzw. Warteschlungenpuffer 200 übertragen. Die Steucrinfor-
mation für Vektoren und alphanumerischen Zeichen ist auf Leitung 60 !festgehalten, so daß der Kleinrechner 50 nur diejenigen Stcucrwörter zu senden braucht, die sich zwischen aufeinanderfolgenden Zeichen ändern. Ein zusätzliches zu jedem Symbol gehörendes Wort gibt die
Zahl des Kanals, über dem die Anzeige erfolgen soll,
eine Schrcib-i'Löschbczcichnung und Sondcreigcn-
schaften, wie Farbandcmngen, Intensiintsiindcrung
oder An/.eigcfluktationcn, wie Blinken, an.
Wenn Daten für einen Vektor in den Vcktorsegment-
codierer geladen worden sind, wird dieser eingeschulte!. Der Vektorsegmentcodierer 100 bestimmt die Anfangskoordinaten für den Anfang AEL oder AER eines jeden Vckiorsegmcnls, errechne! seinen Symbolcode und seine Lunge. Mil Ausnahme des abschließenden
Vektorsegments am EmIe des darzustellenden Vektors hüben ulic Segmente eine llöchstlllnge von lt> l-inhcitcn. Das letzte Segment ist kürzer und so abgekappt, daß es am KmIpunkt des dargestellten Vektors aufhört Sowie jedes Segment errechnet ist, wird es in den
ft5 Wurlcschlangiinpuffer 200 geladen. Alphanumerische Zeichen gelangen ohne weitere Verarbeitung am Vcktorgcnerulor vorbei auf Leitung 60 direkt in den Warteschlungenpuffer 200.
Der Warteschlangenpuffer 200 ist ein 8 K mal 18 Bit großer Kernspeicher, mit zwei Funktionen. Er empfängt Zeichen in zufälliger Reihenfolge vom Vektorsegmentcodierer und Kleinrechner und speichert sie, bis sie in den elastischen Auffrischungspuffer 300 geladen werden können. Dann sortiert der Warteschlangenpuffer die gespeicherten Symbole nach der V-Adresse ihres AEL- oder /lEÄ-Anfangs. Die Sortierung im Warteschlangenpuffer ist ein wesentliches Merkmal der Erfindung und befreit von der Erfordernis eines großen Rasterspei- >° chers 14, wie in herkömmlichen Systemen, z. B. nach Darstellung in Fig. 1. Die Symbole werden aus dem Warteschlangenpuffer 200 in Symbolbündeln jeweils gleicher V-Adresse ausgelesen.
Nach der X-Koordinate wird nicht sortiert, und die «5 X-Adresse wird mit jedem Zeichen geführt. Die Speicherung erfordert einen Abschnitt, der aus drei Wörtern pro Zeichen besteht, von denen das erste in der Sortierung benutzt wird. Die Sortierung erfolgt durch verschachtelte Listen, wobei eine Liste für jede «> V-Adresse entsprechend jeder sichtbaren Anzeigezeile auf dem Bildschirm vorgesehen ist. Die Index Wörter oder Zeiger dieser Listen werden in den ersten Speicherregistern gespeichert, von denen für jede Liste eines verwendet wird. Zur laufenden Erfassung aller leeren Register verwendet man eine weitere Liste. Da diese Liste jedesmal adressiert wird, wenn ein Zeichen eingegeben wird, ist ihre Hinweisadresse, nämlich das nächste leere Register, als aktives Register implementiert. Die Warteschlange wird gestartet durch den Kleinrechner 50, so daß alle Drei-Wort-Abschnitte ineinander verschachtelt sind, wobei jeder die Adresse des anderen in seinem ersten Wort speichert. Die Adresse des ersten Wortes in einer Folge wird im nächsten leeren Register gespeichert und das Ende der Folge wird durch ein Kennzeichen markiert. Kennzeichen in allen Indexwörtern werden gelöscht, um anzuzeigen, daß ihre Listen leer sind, und die erste Eintragung in einer Liste anzeigenden Kennzeichen jedes Abschnitts werden gelöscht. Da die Warteschlangc als »zuletzt-cin-zucrst-ausw-Puffcr arbeitet, ist damit das Ende einer Liste beim Auslesen markiert.
Daten vom Vcktorsegmcntcodierer 100 werden in den Warlcschlangcnpuffer 200 in vier Speicherzyklcn geladen, wobei zum Vcrschachteln der Liste ein Adreßaustausch erfolgt. Nach Darstellung in Fig. 5 wird das Indexregister gewählt und gelesen, welches der V-Adresse entspricht. Die Liste enthalt einen Abschnitt mit zugefügten Endmarkicriingsbits. Das letzte leere Register gibt die Adresse eines leeren Abschnitts (p)i\n. so Die Adresse von ρ wird in das Indexregister geladen und dünn der Abschnitt ρ gelesen, um die Adresse dos leeren Abschnitts (q) zur Benutzung beim nllchslcn MnI zu erhalten. Wenn ρ erneut geschrieben wird, ersetzt »das dort gespeicherte q, um damit diis Verschachtelt! zu beenden. Die übrigen beiden Speicherzyklcn weiden /um Speichern von Daten benutzt. IMg. b zeigt das Vcrschachteln der Liste nach Abschluß dieser Operation. Das Indexregister verweist jetzt auf den Abschnitt /) und dieser wiederum auf den Abschnitt n. Die <* einmal zugefügte Markierung wird hierbei verschoben; sie wird aber geloscht, wenn sein Inhalt in den Atiffrischungspuffcr übertrugen wird.
Der Wartcschlnngcnpuffer 200 wird die V-Speieherstclle ausgelesen, Das Indexregister wird gelesen, seine '1S Markierung auf »leer« gelöscht und die Abschnitte werden in umgekehrter Reihenfolge gelesen, wie sie Besehrieben wurden. Heim Lesen jeden Abschnitts wird er geleert, wobei seine Adresse im nächsten leeren Register gespeichert wird, während der vorherige Inhalt des nächsten leeren Registers im Abschnitt gespeichert wird. Das Verschachteln leerer Abschnitte wird somit beibehalten, während sich der Warteschlangenpuffer füllt und leert trotz gegenüber Schreiben anderer Reihenfolge beim Lesen.
Der elastische Auffrischungspuffer 300 enthält die geordneten Listen der codierten Daten nach Färb- und Längenbits, X-Position, Kanalzahl und Steuerbits. Er kann von mehreren Anzeigekanälen gleichzeitig benutzt werden. Die V-Position ist angegeben durch ein V-Steuerwort, welches in den Auffrischungspuffer vor den Daten für jede Anzeigezeile geladen wird. An den V-Steuerwörtern sind alle Kanäle beteiligt. Ein Kernspeicher wurde als wirtschaftlichstes Mittel zur Verwirklichung des elastischen Auffrischungspuffers ausgewählt, andere Speichertypen, wie Halbleiterspeicher, sind an sich ebensogut geeignet.
Im erweiterungsfähigen Auffrischungspuffer wird eine kontinuierliche Verschiebeorganisation verwendet. Man arbeitet mit einer Art geteilten Zyklus, in dem Daten gelesen, die Adresse verändert und die Daten dann wieder in die neue Adresse geschrieben werden. Lesen und Schreiben sind zyklische Operationen, wobei die Adresse nach jeder Operation fortgeschaltet wird, so daß die beschriebene Stelle durch die jeweils vorhergehende Leseoperation dieser Stelle gelöscht ist. Einschiebungen und Streichungen können nur während des Lesens in zyklischer Routine erfolgen, die mit einer Anzeigeoperation im Schritt ist. Dieses Verfahren hält al'e vollen Register in einer geschlossenen Gruppe oder als Bündel zusammen; gewissermaßen umlaufend, da der Speicher in zyklischer Adreßfolge betrieben wird. Den Betrieb eines erweiterungsfähigen Auffrischungspuffers stellt man sich am besten so vor, daß eine Datenspalte, die oben gelesen und gelöscht wird, unten wieder geschrieben wird. Zum Löschen von Daten wird oben gelöscht und unten nicht wieder geschrieben und zur Dateneingabe wird einfach unten geschrieben.
Der Zeichengenerator 400 kann als wahlfreier Zugriffsspeicher, Festspeicher oder Kombination beider Speichertypen ausgeführt sein und von mehreren Datensichtgeräten gemeinsam benutzt sein.
Zeichen werden spaltenparallel und zcilenscricll erzeugt. Anzeigen erfolgen ineinandergreifend, und daher hat jede Spalte nur acht und nicht sechzehn Bits, um so die DatenfUhrung zu erleichtern. Der Zeichengenerator 400 ist in vier Abschnitte unterteilt, von denen jeder vier Spalten pro Zeichen liefert und anschließend Zeichencode und Kanalbezeichnung in den nächsten Abschnitt weiterleitet. Daten für einen Kanal können Zugriff zum ersten Abschnitt haben, sobald dieser frei ist, vorausgesetzt, daß der Kanal keinen Abschnitt benutzt. Der Daleiulurchsalz kann verbessert werden, indem man den elastischen Auffrischtingspuffcr mit der Höchstzahl von Kanalanschlüssen IiIiIl
Daten vom Zeichengenerator 400 und Steuerinformalion vom einmischen Auffrischiingspuffei· werden in den jeweils zugeordneten Pnrlialrustcrauibuu-Spcieher (PRAS) WK) bis 622 geleitet, wo ein kleines Band des Bildes zusammengesetzt wird. Hin Minimal-PRAS konnte einen Speicher für neue An/.eigebild/.eilen haben, von denen acht für die eigentliche Duten/.usummcnscl/.ung benutzt würden, wahrend die Neunte ausgelesen werden würde. Bei Benutzung eines PRAS dieser (1 rolle müßten alle auf einer Zeile nach dem ausgelesenen Zeichen beginnenden Zeichen wllhrend
dieser Zeilenzeit zusammengesetzt werden, so daß Datenspitzen nicht aufgefangen werden könnten. Aus diesem Grund sind nach Darstellungen in den F i g. 7 sechszehn Anzeigebildzeilen im Speicher vorgesehen. Acht Zeilen bilden dabei die erforderliche Grundaufbaukapazität, sechs Zeilen sorgen für den Ausgleich während einer Spitzenbelastung und eine Zeile ist zum Auslesen gedacht. Die sechzehnte Zeile wird gebraucht, weil TTL-Festspeicher, die wegen ihrer Zugriffsgeschwindigkeit benutzt werden, nicht destruktiv auslesen und jede Zeile während der Anzeigebildzeile gelöscht sein muß, nachdem sie gelesen ist. Jeder PRAS umfaßt eine Steuerlogik und sechzehn identische Speichereinheiten (SU). Für Färb- oder Graupegel können zusätzlich Sätze von Speichereinheiten vorgesehen werden. St/s mit vier wahlfreien Zugriffsspeichern von 256 mal 1 Bit bilden einen Speicher für 1024 Elemente mit ausreichender Zugriffsgeschwindigkeit, für den Betrieb mit 1125 Fernsehzeilen.
die in F i g. 2 gezeigten Elementar-Untervektoren von 16 mal 16 Bildbits vornimmt, die wiederum in codierter Form in den Puffer 200 geladen werden.
Der Kleinrechner liefert die Anfangskoordinaten X und Y für den Vektoranfang. Außerdem liefert er die Richtung als negativen Wert Delta Y über dem Absolutwert von Delta X für Vektoren in den Oktanten 1 und 4 der F i g. 9 und die umgekehrte Richtung in Form von Absolutwerten von Delta Λ über dem negativen Delta Y für Vektoren in den Oktanten 2 und 3. Außerdem liefert er die Länge bzw. Anzahl von Punkten im Vektor, womit der Absolutwert von Delta X in den Oktanten 1 und 4 und negative Wert von Delta Y in den Oktanten 2 und 3 vorliegt. Mit zwei Bits werden die Oktanten bestimmt. Horizontale Zeilen werden gemäß Darstellung in F i g. 8C codiert.
Der Kleinrechner an sich ist kein wesentliches Element der Erfindung. Die obenerwähnten von ihm ausgeführten Funktionen können auch durch eine d
Fig.7 zeigt die PRAS-Operation. Fig.7A stellt »I« 20 entsprechend ausgebildete Logik oder im externen
Rechner 40 selbst ausgeführt werden.
Der Vektorsefementcodierer 100 ist im einzelnen in F i g. 11 dargestellt. Vier Datenwörtcr werden vom Kleinrechner 50 über Leitung 62 an den Vektorseg-
dar, dessen oberer Querbalken auf Anzeigebildzeile 14 erscheinen soll, die gerade in den PRAS geschrieben wurde. Da das Feld A des ineinandergreifenden Bildes geschrieben wird, ist der untere Querbalken nicht
vorhanden, da er im Feld ß steht. Das I wird in den 25 mentcodierer übertragen. Die Wörter 1 und 2 stellen die
PRAS geladen, während die Feldzeile 0, die gleichzeitig die Anzeigebildzeile 0 ist, gelesen wird. Dies ist der früheste Zeitpunkt, zu dem die Zeile 0 geschrieben worden wäre, da die vorhergehende Anzeigebildzeile Zeile 2 St/6) gelöscht wurde. Wenn eine Zeile früher geschrieben worden wäre, hätte es keinen Platz für das unterste Element gegeben. Es hätte erst geschrieben werden können, während die Feldzeit 6 gelesen worden wäre. Damit ist ein Ausgleich von Datenspitzenbelastung über sieben Feldzeilen möglich.
Fig.7B zeigt das »I« eine Zeile später. Es können noch mehr Daten für die Anzeigebildzeile 14 hinzugefügt werden, indem man die SiJs 15 bis 6 adressiert. F i g. 7C zeigt, wie der obere Querbalken des »I« Koordinaten Y und X des Vektoranfangs dar und werden in den Registern 108 und 106 des Vektorsegmentcodierers gespeichert. Das Wort 3 gibt den Oktanten des Vektors und seine Länge an, die der größere der beiden Werte Delte X und Delta Yist, und diese Daten werden im Register 104 des Vektorsegmentcodierers gespeichert. Das Wort vier gibt die Richtung des Vektors an und wird im Register 102, des in F i g. 11 gezeigten Vektorsegmentcodierers gespeichert.
Die sechs höherstelligen Bits des Längen- oder Streckenfeldes des Wortes 3 bestimmen die Anzahl vollständiger Vektorsegmente, die je eine Länge von 16 haben, in die der darzustellende Vektor zerlegt wird.
gelesen wird und F i g. 7D zeigt, wie das Fußelement des 40 Wenn angenommen wird, daß mindestens ein Vektor-
halben »I« gelesen wird.
In der in Fig.4 gezeigten Ausführung können insgesamt vier Kanäle aufgefrischt werden. Die Bildschirme haben 1024 mal 1024 Rastereinheiten. Das
segment gebraucht wird, so werden die fünf höherstelligen Bits der Richtung untersucht, um festzustellen, welche der zwei möglichen Stellen für den Anfang des nächsten Vektorsegments zu wählen ist Um den
Bild ist äquivalent 1130 Vektoren und 570 Zeichen (o^er 45 Anfangspunkt für das nächste Vektorsegment bestim-
4800 Zeichen ohne Vektoren) auf dem der vier Datensichtgeräte. Der für alle Puffer, Symbolspeicher und Auffrischungsspeicher benutzte Speicher, liegt unter zwei Millionen Bits. Zur Erzeugung äquivalenter Bildanzeige mit herkömmlichen zweideutigen Auffrischungsverfahren brauchte man immerhin über fünf Millionen Bits.
Der Kleinrechner 50 hat einen 15 Bit parallelen Datenweg, der zwei Arten von Bildinformationen für das System vorbereitet, nämlich alphanumerische Information zur Ausgabe über die Leitung 60 und Vektorinformation zur Ausgabe über Leitung 62. Alphanumerische Information wird direkt in den Warteschlangenpuffer 200 eingegeben und der Kleinrechner 50 führt die ganze AdrelBberechnung und Datenformatierung aus. Formate üind in Fig.8B gezeigt. Die Vektorvorverarbeitung durch den Kleinrechner 50 stellt sicher, daß Delta Y immer negativ ist (wobei der Ursprung des Bildes in der linken unteren Ecke liegt) und trennt verbundene Vektoren. Vektoren in den Formaten der F i g. 8D werden in den Vektorsegmentcodierer 100 eingespeist, der die erforderlichen Berechnungen zur Zerlegung der Vektoren in men zu können, muß ein laufender Vergleich zwischen dem aufgelaufenen Richtungsfehler und der bereits berechneten Untervektoren und der Soll-Richtung des darzustellenden Vektors vorgenommen werden. Kumulative Richtungsfehler der Untervektoren müssen dann so korrigiert werden, daß der anzuzeigende Vektor genau dargestellt wird. Diese Korrektur wird wie folgt vorgenommen. Während der Anfangseinstellung werden die zehn wertniederen Bits der Richtung, die im Register 102 gespeichert sind, in das Prüfregister 150 übertragen. Diesen Wert nennt man den Richtungsrest und wenn er kleiner als 0,5 ist, bleibt der ganzzahlige Wert der Richtung, wie er durch die werthohen Bits der Richtung im Register 102 angezeigt wird, unverändert Wenn der Rest größer als 0,5 ist, wird der Richtungswert in den werthohen Bits des Registers 102 um eins erhöht, wodurch der Anfangspunkt des nächsten Vektorsegments um eine Einheit verschoben wird. Jedesmal wenn ein Untervektor erzeugt wird, werden die zehn
6<l wertniederen Bits der Richtung akkumuliert mit dem vorhergehenden Inhalt des Prüf registers, so daß der kumulative Fehler bei Darstellung des Vektors durch die Folge von Untervektoren bestimmt wird. Jedesmal,
on
ter
die
:m
en
rte
»er
12
on
X Y
en
en
es
m
ie
Z-ie
id
η
:r
d
nn festgestellt ist, daß der Anfangspunkt für einen
ä hsten Untervektor um eine Einheit zu verschieben "ι weil der Rest des kumulativen Richtungsfehlers
-fler als 0,5 ist, wird der Inhalt des Prüfregisters 150 !Leins reduziert.
Die Anfangskoordinaten des Vektors XY, die in den
istern 106 unc) tO8 gespeichert sind, werden als
Anfangsadresse des ersten Vektorsegments benutzt.
C cn Codierung des ersten Vektorsegments wird der
Wert X und Y in den Registern 110 und 112
rechend ^61. Anfangslage des nächsten Untervektors verändert, und die sechs im Register 104
speicherten werthohen Bits des Längenfeldes werden
m eins erniedrigt. Vollständige Vektorsegmente werden erzeugt, bis die sechs werthohen Durchlaufbits gleich Null sind, was durch den Inhalt des Längenregit «118 bestimmt wird. Wenn die sechs werthohen Bits für die Strecke 0 sind, werden die vier wertniederen Bits untersucht. Wenn sie von 0 verschieden sind, muß ein Segment mit einer kleineren Länge als 16 erzeugt werden. Das erfolgt genauso wie die Erzeugung vollständiger Segmente, der Längencode wird jedoch gegenüber der verbleibenden Strecke um eins vermindert, das bedeutet, daß z. B. eine Länge von eins als Null dargestellt wird.
[m Betrieb wird der Wert für die X- und y-Koordinaten des Anfangs eines darzustellenden Vektors in den Registern 106 und 108 gespeichert und zunächst in den Registern 110 und 112 dargestellt. Der Betrieb des Vektorsegmentcodierers wird durch die Steuerung 152 gesteuert, die feststellt, daß das Streckenregister 118 einen Wert größer als Null enthält und anzeigt, daß mindestens ein weiteres Vektorsegment codiert werden muß. Wenn diese Bedingung herrscht, befinden sich die Koordinatenwerte des zu codierenden Anfangs des Vektorsegments auf den Ausgangsleitungen 116 und 206. Das Streckenregister hat einen Wert größer als eins, und daher schaltet der Vergleicherblock 120 das Schaltglied 122 ein, wodurch der Wert 16 in das Längenregister 124 und auf die Ausgabeleitung 126 gegeben wird. Der wertniedere Teil der Richtung im Register 102 wird zum bereits im Prüfregister 150 akkumulierten Rest des Richtungsfehlers addiert. Die Summe wird in das Vergleicherregister 134 eingegeben und mit dem Wert 0,5 durch den Vergleicherblock 136 verglichen. Wenn der kumulative Richtungsfehler im Fehlerregister jetzt größer als 0,5 ist, ist der kumulative Richtungsfehler damit groß genug, um eine Korrektur der Richtung des vorliegenden Untervektors zu rechtfertigen. Diese Korrektur erfolgt durch Einschalten des UND-Gliedes 138, wodurch der Wert eins zum werthohen Teil der im Register 102 gespeicherten Richtungsneigung addiert wird. Diese Summe wird in das modifizierte Richtungsregister 142 eingegeben. Da die Korrektur vorgenommen wurde, um den kumulativen Richtungsfehler auszugleichen, wird der Wert des Restes im Prüfregister 150 durch den Subtraktionsblock 158 um eins vermindert, indem eine Eins vom Inhalt des Prüfregisters 150 subtrahiert wird. Wenn der Inhalt des Vergleichsregisters 134 kleiner als 0,5 ist, wird der Inhalt des Vergleicherregisters lediglich für den vorliegenden Inhalt des Prüfregisters 150 eingesetzt, das UND-Glied 138 wird nicht eingeschaltet und die im Register 102 gespeicherten werthohen Richtungsbits nicht verändert, sondern direkt in das modifizierte Richtungsregister 142 eingegeben.
Der Inhalt des modifizierten Richtungsregisters gibt an welchem der 16 Endpunkte in einem der
an.
geltenden Oktanten, wie in Fig. 10 gezeigt, der Untervektor endet. Diese Daten müssen mit dem Vier-Wert-Oktantencode im Register 104 kombiniert werden, um anzugeben, welcher von den 64 Untervektorcodes der F i g. 2 das Vektorsegment darstellen soll. Diese Kombination erfolgt durch die Vektorsegment-Codiermatrix 128, die nur ein 4 mal 16-Matrixschalter ist, der auf die Ausgabeleitung 130 den Code für das durch das modifizierte Richtungsregister und den Oktantencode angegebene Vektorsegment abgibt. Die vier wertniederen Bits des von der Matrix 128 ausgegebenen Vektorzeichencode sind gleich dem Inhalt des modifizierten Richtungsregisters, wenn es einen Wert zwischen 0 und 7 hat. Die vier wertniederen Bits des von der Matrix 128 ausgegebenen Vektorcodes sind gleich dem Inhalt des modifizierten Richtungsregisters minus Eins, wenn der Wert des Inhalts zwischen 8 und 16 liegt. Die beiden werthohen Bits des von der Matrix 128 ausgegebenen Vektorcodes sind gleich dem Oktantencode entsprechend der Darstellung in Fig. 9. Wenn also die modifizierte Richtung 5 ist (0101), ist der Symbolcode für den ersten Oktanten 5 (000101); für den zweiten Oktanten ist er 21 (010101); für den dritten Oktanten 53 (110101); und für den vierten Oktanten 37 (100101). Wenn die modifizierte Richtung 10 ist (1010), dann ist 10 weniger 1 gleich 9 (1001), und der Symbolcode für den ersten Oktanten ist 9 (001001); für den zweiten Oktanten ist er 25 (0011001); für den dritten Oktanten ist er 57 (111001) und für den vierten Oktanten 41 (101001). Die Ausgabeleitung 116 überträgt die X-Koordinate für den Anfang des vorliegenden Vektorsegmenis, die Ausgabeleitung 130 den Code für das vorliegende Vektorsegment. Diese Leitungen bilden die Eingabedatenleitung 204 für die Warteschlange. Die Ausgabeleitung 206 enthält den V-Wert für das vorliegende Vektorsegment, welches an die Warteschlange geleitet wird.
Die Koordinaten für den Anfang des nächsten Vektorsegments werden wie folgt erzeugt. Den Inhalt des modifizierten Richtungsregisters für das vorliegende Vektorsegment wird an die arithmetische und logische Einheit (ALU) 146 geleitet. Der Oktantencode für den darzustellenden Vektor, der im Register 104 gespeichert ist, wird an die ALU 146 durch die Steuerung 156 geleitet. Der numerische Wert 16 wird außerdem an die ALU 146 gegeben. Wenn der darzustellende Vektor im· ersten Oktanten liegt, wird der im Register 110 gespeicherte X-Wert in der ALU 146 um 16 erhöht und der im Register 112 gespeicherte V-Wert in der ALU 146 um den Inhalt des modifizierten Richtungs-Registers 142 heruntergesetzt.
Wenn der darzustellende Vektor im zweiten Oktanten liegt, wird der X-Wert im Register 110 in der ALU 146 um den Inhalt des modifizierten Richtungs-Registers 142 erhöht und der V-Wert im Register 112 in der ALU 146 um den Wert 16 erniedrigt.
Wo der dazustellende Vektor im dritten Oktanten liegt, wird der X-Wert im Register UO durch die ALU 146 um den Inhalt des modifizierten Richtungs-Registers 142 und der Y-Wert im Register 112 um den Wert 16 heruntergesetzt.
Wenn der darzustellende Vektor im vierten Oktanten liegt, wird der λ'-WeH im Register 110 durch die ALU 146 um 16 und der V-Wert im Register 112 um den Inhalt des modifizierten Richtungs-Registers 142 heruntergesetzt.
Die Codierung des nächsten Vektorsegments wird beendet durch Auslesen des Inhalts des Längenregisters
18
124 auf die Leitung 126 und die Erzeugung des Codes für das Vektorsegment aus der Segment-Codiermatrix 128 zur Ausgabe auf die Ausgabeleitung 130. Der Vektorsegment-Codierzyklus läuft unter Steuerung der Steuereinheit 152 weiter, bis das Streckenregister 118 den Wert 0 enthält. Zu diesem Zeitpunkt wird die im Register 104 gespeicherte wertniedere Strecke in das Längenregister 124 eingegeben und der letzte den anzuzeigenden Vektor darstellende Uniervektor mit einer abgekappten Länge so codiert, daß der Untervektor am Endpunkt des darzustellenden Vektors endet. Alle Ausgangssignale des Vektorsegmentcodierers werden in den Warteschlangenpuffer 200 der Fig. 12 geleitet.
Fig. 12 zeigt in Form eines Rlockdiagramms den erfindungsgemäß verwendeten Warteschlangenpuffer. Um neue Daten in die Warteschlange 202 zu laden, werden die Daten auf die Eingangsleitung 204 und die K-Koordinate für die Daten auf die Leitung 206 gegeben und ein Ladebefehl an die Leitung 208 geliefert. Durch den Ladebefehl prüft die Steuerung 210 über Leitung 240 den Zustand des Endbits 212 des nächsten leeren Registers 214. Wenn dieses Endbit auf Eins steht, ist die Schlange 202 voll, und der Ladebefehl auf Leitung 208 wird ausgesetzt, bis eine Warteschlangenstelle verfügbar wird. Die Verfügbarkeit wird angezeigt durch die Nullstellung des Endbits (EOT) des nächsten leeren Registers (NER)2i4.
Wenn das EOT-Bh des NER 214 gleich 0 ist, wird die K-Koordinate für die Daten auf der Leitung 205 in das Indexadreßregister (IAR)216 geladen. Das Indexadreßregister adressiert über Leitung 242 das Indexhinweisadressenwort im Indexspeicher 232, welches der K-Koordinate entspricht. Das Indexhinweisadressenwort wird über Leitung 244 in das Indexdatenregister (IDR)HS und in das Kurzzeitadreßregister (TAR)220 gelesen. Die Steuerung 210 setzt dann über Leitung 248 das ElNE-Bh 222 des Indexdatenregisters 218 auf 1, und das Adreßfeld des nächsten leeren Registers (NER) 214 wird über die Leitung 252 in das Hinweisadressenfeld des Indexdatenregisters (IDR) 218 geladen. Der Inhalt des IDR 218 wird jetzt über Leitung 254 im Indexspeicher 232 an der im Indexadreßregister gehaltenen Stelle, die noch der K-Koordinate entspricht, gespeichert. Dadurch, daß das Leer/Nichtleer-Bit auf 1 gesetzt ist, wird angezeigt, daß Daten im Warteschlangenspeicher 202 vorhanden sind. Das Adreßfeld des NER 214 wird ebenfalls über Leitung 252 in das Warteschlangenadreßregister (QAR) 224 geschrieben. Dieses Register adressiert das Warteschlangenwort, welches dieser Adresse entspricht, über Leitung 258. Das adressierte Wort wird über Leitung 260 in das Warteschlangendatenregister (QDR) 226 gelesen. Das Endbit 112 und das nächste Adreßfeld des QDR 22§ werden ebenfalls in das nächste leere Register NER 214 geladen. Das Endbit 228 im Warteschlangendatenregister wird jetzt über Leitung 264 auf 1 gesetzt, wenn das Markierungsbit im Kurzzeitdatenregister TDR 220 auf 0 steht. Das Endbit 228 wird auf 0 gesetzt, wenn das Markierungsbit im TDR 220 auf 1 steht. Diese Umkehrungen erfolgen durch den Inverter 226. Das Adreßfeld des TDR 220 wird über Leitung 268 in das nächste Adreßfeld des Warteschlangendatenregisters 226 geladen und die Daten werden in das Datenfeld des QDR durch Leitung 204 übertragen. Das modifizierte QDR-Won wird jetzt durch Leitung 270 in das Warteschlangenregister 202 an derjenigen Stelle neu geschrieben, die im Warteschlangenadreßregister 224 gespeichert ist. Damit wird der Ladezyklus beendet.
Um Daten zu entladen, wird die V-Koordinate für die gewünschten Daten auf die Eingabeleitungen 206 gesetzt und das Endladekommando auf die Leitung 230 gegeben. Die Steuerung 210 veranlaßt dann über Leitung 250 ein Laden der K-Koordinate auf Leitung in das Indexadreßregister 216 und das Lesen des entsprechenden Indexwortes über Leitung 244 in das Indexdatenregister 218. Wenn das EINE-Bh 222 im Indexdatenregister 218 gemäß der Abfühlung auf der Leitung 272 eine 0 ist, stehen keine Daten in der Warteschlange 202 für die angegebene K-Koordinate und die Steuerung 210 signalisiert den Abschluß des Entladens auf Leitung 236. Die nächste K-Koordinate kann dann in der tntladefolge verarbeitet werden.
Wenn das E.'NE-Bh 222 auf 1 steht, wird das Zeigerfeld des Indexdatenregisters 218 über die Leitung in das Waneschlangenadreßregister 224 geladen und das EINE-Bh 222 des Indexdatenregisters 218 über Leitung 248 auf 0 gesetzt. Der Inhalt des Indexdatenregisters 218 wird dann über Leitung 254 neu in den Index an der Stelle geschrieben, die im Indexadreßregister gespeichert ist.
Die Daten in den durch das Warteschlangenadreßregister 224 angezeigten Warteschlangenstellen werden jetzt durch Leitung 260 in das Warteschlangendatenregister 226 gelesen und die Steuerung 210 gibt ein entsprechendes Signal für vorhandene Daten auf die Leitung 234. Die gewünschten Daten werden dann aus dem Warteschlangendatenregister auf Leitung 238 ausgelesen. Wenn die angenommenen Daten auf Leitung 290 auftreten, werden die auf Leitung 234 vorhandenen Daten fallengelassen. Das Endbit 228 und das nächste Adreßfeld des Warteschlangendatenregisters 226 werden ebenfalls durch Leitung 262 in das Markierungs-Bit- und Adreßfeld des Kurzzeitadreßregisters 220 geladen. Der Inhalt des nächsten leeren Registers 214 wird dann durch Leitung 276 in das Endbit und nächste Adreßfeld des Warteschlangendatenregisters 226 geladen. Der Inhalt des Warteschlangendatenregisters wird dann durch Leitung 270 in die Warteschlange 202 an der jeweiligen Stelle geschrieben, die auf dem Warteschlangenadreßregister 224 gespeichert ist. Gleichzeitig wird der Inhalt des Warteschlangenadreßregisters 224 durch Leitung 256 in das Adreßfeld des nächsten leeren Registers 214 geschrieben und das Endbit 212 durch die Leitung 278 auf 0 zurückgestellt. Das Markierungsbit des Kurzzeitdatenregisters 220 wird jetzt über Leitung 280 an der Steuerung 210 geprüft. Entspricht es 1, sind keine weiteren Daten für die K-Koordinate vorhanden, und das Abschlußsignal für das Entladen wird auf die Leitung 236 gegeben. Wenn das Markierungsbit eine 0 ist, wird das Adreßfeld im Kurzzeitdatenregister 220 durch Leitung 282 in das Warteschlangenadreßregister geladen und die entsprechende Stelle im Warteschlangenregister 202 durch Leitung 260 in das Warteschlangendatenregister 226 gelesen. Die nach dem vorher beschriebenen Leseschritt folgenden Schritte werden so lange wiederholt, bis keine Daten für die K-Koordinate mehr in Betracht kommen. Ein Entiadeabschlußsignal wird dann auf Leitung 236 erzeugt.
Der in Fig. 14 im einzelnen gezeigte elastische Auffrischungspuffer empfängt Daten vom Warteschlangenpuffer 300 und gibt die Daten wiederholt zur Bildanzeige an die Monitore 700. Wortformate für den Auffrischungspuffer sind in F i g. 13 gezeigt.
ein; Sch eint wie· gesi zyki so vorl Dad mit schl. posi
Bild neuf koni Länj zum seric Adri ster Anfz im Bilde K- Rf einei Sehr Stell. Bilde die Date 328 Won Ausg Ausg ange: von i bei ( Addi. te W gespe Sumn Aufd Datei regist
ig
es
as
m
er
er
te
es
te
ig
;n
er
Der elastische Auffrischungspuffer ist eng mit dem Betrieb des Partialrasteraufbau-Speichers 604 verbunden Der PRAS besteht aus 16 identischen Speichereinh-iten (SU)nach Darstellung in den F i g. 7 A bis 7D. Der Aufbau des Rasters erfolgt in den unteren 14 Speichereinheiten 800. Die 15. Speichereinheit 802 wird an den Monitor 700 ausgelesen und die 16. Speichereinheit 804 in ihrem Inhalt gelöscht, und zu diesem Zeitpunkt wird die Adresse aller Speichereinheiten um 1 erhöht Dabei nimmt die gelöschte Speichereinheit eine ·ο Adreßstelle unten in der Zusammensetzung der Speichereinheit ein, die für den Rasteraufbau (Schreiben) 800 zur Verfügung steht. Wenn jede Speichereinheit in PRAS ausgelesen und gelöscht wird, wird die Bildanzeige-Zeilenzahl um 1 in der PRAS-Steuerung erhöht und über Leitung 320 an den elastischen Auffrischungspuffer übertragen. Mit dtr Bildanzeige-Zeilenzahl wird der Auffrischungspuffer nachgefiihrt, und beim Vergleich dieser Zahl mit der vorliegenden Datenposition im Auffrischungspuffer ist sie ein Maß für die Nachlaufzeit, die für das Aufnehmen neuer Daten aus dem Warteschlangenpuffer 200 zur Verfugung steht.
Der elastische Auffrischungspuffer 300 ist im einzelnen in Fig. 14 gezeigt. Es sind separate Lese- und Schreibadreßregister 302 und 304 vorhanden. Es wird *5 eine Form eines aufgeteilten Zyklus verändert, und dann wieder in den Speicher 306 an dieser neuen Adresse geschrieben werden. Das Lesen und Schreiben erfolgt zyklisch, die Adresse wird nach jeder Operation erhöht, so daß die einzuschreibende Stelle jeweils durch vorhergehendes Auslesen dieser Stelle gelöscht wurde. Dadurch ist jedoch die Verwendung eines Festspeichers mit nicht destruktivem Auslesen keineswegs ausgeschlossen. In diesem Fall ist die Schreiboperation immer positiv,da Einsen und Nullen geschrieben werden.
Der elastische Auffrischungspuffer speichert zyklisch Bilddaten in einem gepackten Bündel, das beim Laden neuer Daten erweitert werden kann. Die Grundpufferkonfiguration umfaßt den Umlaufspeicher 306 mit einer Länge von π Wörtern und einer Eingangsleitung 238 zum Empfang von Bilddaten aus dem Puffer 200 in seriell benachbarten Stellen im Speicher 306. Mit einem Adreßeingang des Speichers 306 ist das Leseadreßregister 302 verbunden, welches zyklisch erste Stellen am Anfang des gepackten Bündels der Speicherbilddaten irn Speicher 306 zum destruktiven Auslesen von Bilddatenwörtern aus diesem Speicher 306 in das V-Register310unddas Datenregister 334 adressiert. An einem Adreßeingang des Speichers i()6 ist das Schreibadreßregister 304 angeschlossen, um zweite Stellen am Ende des gepackten Bündels gespeicherter Bilddaten im Speicher 306 zyklisch zu adressieren und die gespeicherten Bilddatenwörter am Ende des Datenbündels neu zu schreiben. Eine den Wortzähler 328 und den Modulo-n-Addierer 330 umfassende Wortzähleinrichtung ist mit einem Eingang an den Ausgang des Leseadreßregisters 302 und mit einem Ausgang an den Eingang des Schreibadreßregisters 304 angeschlossen. Der Wortzähler 328 zählt die Anzahl von im Speicher 306 gespeicherten Bilddatenwörtern bei der Abfühlung durch die Steuerung 338. Der Addierer 330 addiert die im Wortzähler 328 gespeicherte Wortzah! Modulo-/? zu dem Leseadreßregister 302 gespeicherten Inhalt. Der Addierer 330 lädt dann die Summe in den Eingang des Schreibadreßregisters 304. Auf diese Weise werden von einer Stelle am Anfang des Datenbündels im Speicher 306 durch die im Leseadreßregister 202 gespeicherte Adresse gelesene Daten am Ende des Datenbündels neu geschrieben, und zwar an derjenigen Adresse, die im Schreibadreßregister 304 gespeichert ist. Ein den Modi«!o-/?-Addierer324 und eine das neue Leseadreßregister 326 umfassende Adreßerhöhungseinrichtung ist mit einem Ausgang an den Eingang des Leseadreßregisters 302 angeschlossen, um das Leseadreßregister mit einer serienweise Modulo-n indexierten Adresse vor jedem Speicherzugriff durch das Leseadreßregister 302 zu laden. Die im Leseadreßregister 302 gespeicherte Leseadresse wird durch den Modulo-n-Addierer 324 ausgegeben und dazu der Wert 1 addiert, um die Summe in das neue Adreßregister 326 zu übertragen. Das neue Adreßregister 326 gibt dann seinen Inhalt an das Leseadreßregister 302 aus, um den nächsten Lesezugriff des Speichers 306 unter Steuerung der Steuereinheit 338 vorzubereiten. Ein Modulo-/7-Addierer hat die Eigenschaft, daß die arithmetische Summe des Augenden und des Addenden durch die Menge η dividiert und der Rest ausgegeben wird. Wenn die Bildanzeigedaten weder ausgegeben noch zu dem im Speicher 306 gespeicherten Datenbündel addiert werden, stellt man sich diese zyklischen Operationen am besten als eine Spalte von Daten vor, die oben gelesen und gelöscht und unten neu eingeschrieben wird. Um Daten zu löschen, wird oben gelöscht, ohne neu zu schreiben, und um Daten zu addieren, werden die neuen Daten einfach unten geschrieben ohne zu lesen.
Um ein neues Anzeigedatenwort auf der Leitung 238 in den Speicher 306 zu laden, stoppt der Steuerkreis 338 die zyklische Adressierung durch das Leseadreßregister 302, während das Schreibadreßregister 304 den Speicher 306 weiter zyklisch adressiert. Zu jedem Zyklus gehört die Erhöhung der Einheit im Wertzähler 328. Ein Anzeigedatenwort wird aus dem Speicher 306 gelöscht, indem die Steuerung 338 die zyklische Adressierung des Speichers 306 durch das Schreibadreßregister 304 unterbricht, während die zyklische Adressierung des Speichers durch das Leseadreßregister 302 fortgesetzt wird und der Wortzähler 328 in jedem Zyklus um eine Einheit abwärts zählt.
Beim Lesen einer jeden Stelle aus dem Speicher 306 wird das Bit 2 des BSM-2-Wortes geprüft. Wenn es eine Eins ist, ist das Wort ein Steuerwort, welches die y-Adresse der nachfolgenden Datenwörter enthält. Das Steuerwort wird im V-Register 310 gespeichert. Wenn das nächste Wort kein Steuerwort ist, wird das Steuerwort an die Stelle im Speicher 306 geschrieben, die der Schreibadresse im Register 304 entspricht. Jedes Steuerwort, dem ein anderes Steuerwort unmittelbar folgt, wird nicht wieder eingeschrieben, sondern gelöscht. Der Inhalt des V-Registers 310 wird kontinuierlich durch den Vergleicher 316 mit der darzustellenden Anzeigebild-Zeilen-Zahl 320 verglichen. Wenn die Differenz zwischen 1 und 8 liegt, werden Anzeigedatenwörter aus dem Speicher 306 in den Auffrischungspuffer gelesen und über die Ausgabeleitungen 314 und 368 an den Symbolgenerator 400 geleitet. Wenn der Symbolgenerator das Wort empfängt, überträgt er die X-Adresse an den entsprechenden PRAS-Modul 604 und das Anzeigedatenwort wird im Speicher 306 an der Stelle wieder eingeschrieben, die durch das K-Schreibadreßregister 304 bezeichnet ist. Wenn ein »Blinkbit« im Feld 5 des tlSM-Wortes 1 des Symbolwortes in Fig. 13A in Form einer binären 1 auftritt und der Blinktaktgeber sich im Zustand »nicht anzeigen« befindet, wird das Datenwort nicht an den Zeichengenerator 400 gegeben, sondern direkt in den
Speicher 306 an der Stelle wieder eingeschrieben, die durch das Schreibadreßregister 304 bezeichnet ist.
Der Auffrischungspuffer 300 kann einer Datenspitzenbelastung ausgesetzt sein, so daß eine entsprechende Zusammensetzung im PRAS-Modul 604 in der verfügbaren Zeit nicht erfolgen kann. Wenn diese Situation auftritt und nicht aus einem Zeitverlust resultiert, der sich ergibt, weil der Puffer 200 Daten an den Auffrischungspuffer 300 überträgt, werden die adressierten Daten gelöscht und ein Zustandsanzeiger im Steuerkreis 338 gesetzt. Die Bedingung wird durch eine Daten-Überschußverriegelung in der Steuerung 338 erkannt, die jedesmal beim Auslesen eines Steuerworts aus dem Speicher 306 gesetzt wird, wenn der Unterschied zwischen dem im V-Register 310 gespeicherten Inhalt und der Feldzeile 320 sich auf 8 beläuft. Die Verriegelung wird zurückgestellt, sobald ein Leer/Nichtleer-Bit im Indexspeicher 232 des Puffers 200 als Dinare 1 festgestellt wird. Die Überlaufbedingung besteht, wenn der Unterschied zwischen dem im V-Register 310 gespeicherten Inhalt und der Feldzeile 320 gleich Null ist, während die Datenüberschußverriegelung in der Steuerung 338 eingestellt ist. Die Daten werden dann gelöscht, bis das nächste Steuerwort aus dem Speicher 306 gelesen wird.
Wenn der Speicher mit zyklischer Adreßfolge im erweiterungsfähigen Auffrischungspuffer 300 zur Bildanzeige ausgelesen wird, sollte er auch geladen und über Eingangsleitung 238 vom Warteschlangenpuffer 200 von Bilddaten gereinigt werden. Beim Lesen eines jeden Steuerwortes aus dem Speicher 306 und Laden in das V-Register 310 wird der vorhergehende Inhalt des V-Registers 310 in das V-Register 318 übertragen. Da die Bilddaten aus dem Speicher 306 in aufsteigenden Werten für V ausgelesen werden, ist der Wert des im V-Regtster 318 gespeicherten Inhalts niedriger als der Wert des im V-Register 310 gespeicherten Inhalts. Somit kann der Indexspeicher 232 des Puffers 200 an den V-Index wertstellen von V + l bis V während der Zeit abgefragt werden, in der das Steuerwort des Wertes V im V-Register 310 gespeichert bleibt, um festzustellen, ob der Warteschlangenspeicher 202 Bilddaten entsprechend einem Wert des V-lndcxes zwischen V + l und V gespeichert hat. Der Indexspeicher 232 w ird über den Zähler 362, den Addierer 360, die Vergleichereinrichtung 364 und das Schaltglied 366 des elastischen Auffrischungspuffers 300 adressiert. Der Zähler 362 wird auf 0 gesetzt und durch die Steuerung 338 mit einer Einheit induziert. Die Ausgabe des Zählers wird vom Addierer 360 zum Wert des im V-Register 318 gespeicherten Inhalts von V hinzuaddiert. Die Summe wird über Vergleiche!· 364 mit dem im V-Rcgistcr 310 gespeicherten VWert verglichen, und wenn sie nicht größer als V ist, wird das Schaltglicd eingeschaltet und die hier als V-Index bezeichnete Summe über die Leitung 206 an das Indcxndrcßregistcr 216 des Puffers 200 ausgegeben. Die entsprechende Stelle im Indcxspcichcr 232 wird adressiert und die fndcxdutcn in das Indcxdntcnrcgistcr 218 übertragen, wo der Zustand des Lcer/Nicht-Lccr-Bits über die Leitung 272 durch die Steuerung 210 ermittelt wird. Wenn dieses Bit eine binäre 0 ist, sind keine Bilddaten im Warteschlangcnspcichcr 202 gespeichert, die dem Wert des V-Indcx entsprechen, und daher überträgt die Steuerung 210 des Puffers 200 ein Entladeabschlußsignal über die Leitung 236 an die Steuerung 338 des elastischen Auffrischutigspuffcrs 300. Die Steuerung indiziert dann den Zähler 362 so, daß die Abfrage der nächsthöheren V-Indexstelle im Indexregister 232 beginnt. Wenn das Leer/Nicht-Leer-Bit im Indexdatenregister 218 des Puffers 200 eine binäre 1 ist, dann heißt das, daß Bilddaten im Speicher 202 gespeichert sind, die
dem V-Indexwert entsprechen, der vom elastischen Auffrischungspuffer 300 auf die Leitung 206 ausgegeben wurde. In diesem Fall sendet die Warteschlangen-Puffersteuerung 210 einen Datenauftrittimpuls über die Leitung 234 an die Steuerung 238 des elastischen
ίο Auffrischungspuffers. Der Empfang des ersten Datenauftrittimpulses über Leitung 234 veranlaßt die Warteschlangen-Entladebefehlsleitung 230 zum Einschalten und zeigt damit der Warteschlangenpuffersteuerung 210 an, daß sie mit dem Entladen des Warteschlangen·
is Speichers 202 beginnen soll. Die erste Dateneingabe zum Speicher mit zyklischer Adressierung 306 ist das in Fig. 13C gezeigte Steuerwort, welches den V-Indexwert vom Addierer 360 enthält, der gleich der V-Rasterstelle ist, an der die neuen Bilddaten stehen.
Wenn das erste Wort der Bilddaten auf die Leitung 238 vom Warteschlangenpuffer ausgegeben wird, wird der zweite Datenauftrittimpuls über die Leitung 234 übertragen. Die Steuerung 338 unterbricht dann die zyklische Leseoperation des Leseadreßregisters 302
und erhöht den Wortzähler 328 um 1, während sie die zyklische Operation des Schreibadreßregisters 304 für einen Zyklus beibehält und so die von dem Warteschlangenpuffer übertragenen Bilddaten in die unterste Stelle des Datenbündels im Speicher 306 lädt, die durch den
Inhalt des Schreibadreßregisters 304 angegeben ist. Die Steuerung 338 des elastischen Auffrischungspuffers sendet dann einen Datenempfangsimpuls über die Leitung 290 an die Steuerung 210 des Wartcschlangenpuffers und zeigt an, daß das nächste im Warteschlan-
genspeicher 202 gespeicherte Bilddatenwort adressiert werden kann. Wenn das Ende der Bilddatenreihe, die im Speicher 202 gespeichert ist, entsprechend dem V-Indexwert in das Datenregister 226 gelesen wird, ist das Folgenendbit im Folgendalenwort gleich I, die
Puffersteuerung 210 erkennt diesen Zustand und überträgt ein Entlade-Fcrtigsignal über die Leitung 236
an v!C StCUCrUug 23S dc» c'iUMiMjiicii AufffiiCuUngSpl!·"
fers. Die Steuerung 338 nimmt dann die lnduzicrung des V-Indexwcrtes und die Abfrage des Index 232 wieder
auf. bis die Vcrgleichereinrichtung 364 feststellt, daß der V-Index gleich dem V-Register 310gespeicherten Inhalt ist. Zu diesem Zeitpunkt wird das im Umlaufspeicher 306 gespeicherte Stcucrwort oben in das Datcnbündcl gelesen an der Stelle, die im Lcscadreßrcgistcr
gespeichert ist, und es wird normal für die Bildnn/cigc zyklisch ausgelesen.
Ein Löschbcfchlzusatz ist im Symbolwort vor Laden im Auffrischungspuffer vorgesehen. Das entsprechende Format ist in Tabelle 4 gezeigt. Wenn der Wert des
V-Indcx auf der Leitung 206 gleich ist dem "" V-Register 310 gespeicherten Wert, wird in einem Ober die Leitung 238 eingegebenen Symbolwort ein Loschbc· fehl erkannt und das Symbolwort in das l-oschrcgister 332 gespeichert. Die im Speicher 306 unmittelbar hinter
dem V-Stcucrwort gespeicherten Bilddaten werden in das Datenregister 334 geschoben, wo ihr Inhalt mit dem Inhalt des im Löschregistcr 332 gespeicherten Symbol· Wortes verglichen wird. Wenn im Vcrglcichcrblock eine Übereinstimmung festgestellt wird, wird dieses
Symbol nicht in den Speicher erneut geschrieben und damit dann »us dem Datenbündcl gelöscht. Auf diese Weise sorgt die Steuerung 338 dafür, daß die Lcscadressc ihre normale zyklische Operation durch-
23
datenheißt ad, die isdien geben j-Puf- :r die sehen taten-'arte· ialten ;fung igen- I
las in idexder :hea -23J ί der 2M > die
•diel IfOi Jj Jan \ .eile !
Die '.
fers ί
die .t «d ί ) uf- -S les ' !er :; *r ill er IeI
läuft, während die zyklische Operation des Schreibadreßregisters 304 aussetzt und der Wortzähler 328 um eine Einheit heruntergezählt wird. Wenn Löschwörter gefunden werden, bevor der y-lndex auf der Leitung 206 den gleichen Wert hat wie der Inhalt des S V-Registers 310, handelt es sich um Fehler, die eliminiert werden. Der Kleinrechner 50 ist durch Lesen des Zustands informiert. Eine Warteschlange für Auffrischungspufferübertragungen kann dazu führen, daß das Lesen des Auffrischungspuffers gegenüber der anzuzeigenden Anzeigen-Zeilenzahl verzögert ist. Dieser Umstand wird durch den Vergleicherblock 316 erkannt, wenn die Differenz zwischen Inhalt des V-Registers und Anzeigen-Zeilenzahl 320 gleich 0 ist. In diesem Fall laufen die Operationen des Auffrischungspuffers und der Warteschlange weiter, der PRAS-Modul 604 wird jedoch so lange angehalten, bis der Auffrischungspuffer aufgeholt hat.
Fig. 15 zeigit im einzelnen den Symbolgenerator 402, der den K-Wert für das Raster über Leitung 368 empfängt, welcher im wesentlichen das Steuerwort der Fig. 13C ist und vom elastischen Auffrischungspuffer 300 über Leitung 314 die Bilddaten, die im wesentlichen das Symbolwort der Fig. 13A sind. Die Steuerung erzeugt ein Datenannahmesignal über Leitung 346, a$ wenn die Ras'erstelle und die Bilddaten vom Auffrischungspuffer angenommen werden. Symbolmuster werden in vier separaten elektrisch änderbaren Segmentspeichern 410, 412, 413 und 414 gespeichert. Hierin sind jeweils 1024 Wörter mit je 16 Bits enthalten, wobei alle diese Bits mit 4 vertikalen Spalten für alle Zeichen des alphanumerischen und Vektorsegment-Zeichensatzes gespeichert sind. Mit anderen Worten: Jeder Symbolspeicher enthält 256 Symbole χ 4 Spalten pro Symbol χ 8 Zeilen pro Feld χ 2 Felder. Die Symbolcoderegister 404, 406, 407 und 408 empfangen den Symbolcode von der Steuerung 402 und erzeugen in Verbindung mit dem A- oder ß-Feldsignal die A- oder ß-Feldkonfiguration für das gewünschte Symbol als Muster von Rasterleuchtpunkten. Die Bildkanaldaten werden in den Registern 424. 426, 427 und empfangen und an den Multiplexer 4io zusuiumcü mit dem aus den Symbolspcichern abgelesenen Symbolmuster weitcrgeleitet. Der Multiplexer gibt das Rastcrleuchtmustcr an die durch die Kanalzahl bezeichnete PRASSteuerung 430, 432, 434 oder 436 aus. Die PRAS-Stcuerung sortiert die Daten nach Farben oder anderen Eigenschaften und ladt die 8 Zeilen des Symbols im jeweils anzuzeigenden A- oder ö-I-cld in den Rastcrbercich 800 des PRAS wie in Hg. 7Λ gezeigt.
In jedem PRAS sind 16 Anzcige-Spcichcrzcilcn vorgesehen. Acht Zeilen sind für die Grunduufbaukapnzitat vorgesehen, während sechs Zeilen während eier Datcnspilzcnbelastung zuerst als Ausgleich dienen; eine Zeile ist für das Auslesen und eine weitere für das Löschen vorgesehen. Die Löschstufc ist erforderlich, da die wegen ihrer Umschalt-Gcschwindigkcit verwendeten wahlfreien Halblcitcr-Zugriffsspcichcr nicht ccstruktiv ausgelesen werden und jede Zeile während der Anzcigc-Zeilc nech ihrem Lesen gelöscht werden muli. Jeder PRAS umfaßt eine Stcuerlogik und 16 wcnii«chL Spcichcrcinhcitcn (SU). Jede SU ist ein 4 x 256 Bit großer wahlfreier Zugriffsspeicher, der 1024 Llemcnit mit einer für den Betrieb von 1125 Anzeige-Zeilen es ausreichenden Geschwindigkeit speichern kann. Die in der Speichcrcinhcit 802 des in FI g. 7A gezeigten l ras KCSDcichertcn Daten werden an den digitalen lcrnscnmonitor 700 als Anzeigeausgangssignal ausgegeben.
Die beschriebene digitale Datensichtanzeigeanlage verwendet codierte und alphanumerische Vektorsymbole, die im erfindungsgemäßen Vektorsegmentcodierer codiert, im erfindungsgemäßen Warteschlangenverschachtelungspuffer sortiert und im erfindungsgemäßen elastischen Auffrischungspuffer zusammengesetzt werden, der die Speicherung eines jeden Vektors so ermöglicht, daß seine Eigenschaften und Identität darin beibehalten bleiben und damit die Bildanzeige mehrerer Kanäle, Farben, Intensitäten oder anderer Attribute von einem einzigen Speichermodul ermöglicht wird.
Die Arbeitsweise des digitalen Datensichtsystems, die codierte Vektordarstellungen verwendet, wird im Zusammenhang mit der Anzeige von Vektordaten und alphanumerischen Daten beschrieben, wie sie in F i g. 16 und in den Tabellen 1,2 und 3 dargestellt sind. Für dieses Beispiel sei angenommen, daß momentan Bilddaten gespeichert, in den Zeilen 100 und 195 dargestellt werden sollen und daß neue Daten in dem elastischen Auffrischungspuffer zur Bildanzeige eingegeben werden sollen.
Fi g. 16 zeigt die neue einzugebende Information, die aus den Vektoren 1,2 und 3 und dem alphanumerischen Zeichen B besteht, wie sie durch das Datensichtgerät das erfindungsgemäß mit codierten Vektoren arbeitet, angezeigt werden würde. Die in den Kleinrechner 50 vom externen Rechner 40 für die darzustellenden Vektoren eingegebenen Daten sind demnach Anfangsund Endpunkte für jeden Vektor, nämlich: Vektor 1 (X\, V1) = (161, 224) und (X2, Y2) = (240. 184 und 176/256); Vektor 2 (Xy, Yx) = (193,224) und (X2, Y2) = (239.161). Das alphanumerische Zeichen B hat ein Adreßelement links, mit den Koordinaten (X, Y) - (161, 1684). Diese Daten werden sequentiell vom Kleinrechner 50 nach der vom Fremdprozessor für Farbe, Blinken, Länge, Schreib- oder Löschkommandos, Betriebsart und Kanalanzeigccharakteristik eines jeden Symbols oder Vektors verarbeitet. Betriebsartenwärter im in F i g. 8A gezeigten Format werden vom Kleinrechner auf die Leitung 60 ausgegeben. Alphanumerische Daten im in Γ ί E. SS "C'ci*"'"!'. Format vycrdcn ob?*"' "itnni» 60 vom Kleinrechner ausgegeben. Vektordaten mit dem in F i g. 8B gezeigten Format werden über Leitung 62 vom Kleinrechner 50 an den Vektorsegmentcodiercr 100 ausgegeben. Die vom Kleinrechner für die Vektorzahl 1 ausgegebenen Daten sind in Tabelle 1 aufgeführt, nämlich Vcktorrichtung 8 und V|b, Oktant 1 und 5, bei Anfangskoordinaten (X, Y) - (161, 224). Die vom Kleinrechner 50 an den Vektorsegmentcodiercr 100 für die Vektorzahl 2 ausgegebenen Daten sind in Tabelle 2 gezeigt und betragen: Vcktorrichtung 16, Oktant 1 Länge 3, bei Anfangskoordinaten (X, Y) - (193, 224) Die vom Kleinrechner 50 an den Vcktorscgmcntcodic rcr 100 für die Vektorzuhl 3 ausgegebenen Daten sind ir Tabelle 3 gezeigt und betragen: Vektorrichtung 7 V4 Oktant 2, Länge 4, bei Anfangskoordinaten (X1 Y) (209, 224). Nachdem die Vcktordatcn-Vorvcrarbcitunt des Kleinrechners abgeschlossen ist, erscheint auf dci Leitung 154 ein Datcnvcrfügbarkcitssignal für du Steuerung 152 des Vcklorscgmcntcodicrcrs, um anzu zeigen, daß Daten für einen darzustellenden Vektor an Kleinrechner zur Verfügung stehen. Wenn der Vektor scgmcntcodicrcr 100 nicht anderweitig belegt ist, sende die Steuerung 152 einen Datenimpuls 155 an dci Kleinrechner. Zu diesem Zeitpunkt werden Daten fü den darzustellenden Vektor über Leitung 62 übertrager Das Wort 1 der F i g. 8D wird in das V-Rcgistcr 108, da
26
Wort 2 der F i g. 8D in das X-Register 106 eingegeben, Wort 3 enthält die Oktanten- und Längeninformation und wird in das Register 104 eingegeben, Wort 3 enthält die Oktanten- und Längeninformation und wird in das Register 104 eingegeben, und Wort 4 enthält die Richtungsinformation und wird in das Register 102 des Vektorsegmentcodierers der F i g. 11 eingegeben.
Zu diesem Zeitpunkt beginnt die Zerlegung des Vektors in die darzustellende verkettete Reihenfolge von Vektorsegmente und seine Codierung in Vektorsegmentwörtern, die an den Speicher 202 des verschachtelten Warteschlangenpuffers ausgegeben werden. Wenn jedes Segment erzeugt ist, wird ein Datenverfügbarkeitssignal von der Steuerung 152 des Vektorsegmentcodierers über Leitung 209 an die Puffersteuerung 210 in Fig. 12 ausgegeben. Wenn der verschachtelte Warteschlangenpuffer nicht anderweitig belegt ist, gibt seine Steuerung 210 einen Ladebefehl über Leitung 208 zur Steuerung 152 des Vektorsegmentcodierers. Die Tabelle 1 zeigt den Zustand der im Prüfregister 150, im Vergleicherregister 134, im modifizierten Richtungsaddierer 140 und im modifizierten Richtungsregister 152 für jedes für die Vektorzahl 1 errechnete Vektorsegment die gespeicherten Daten an. Außerdem sind für jedes errechnete Vektorsegment der Zeichensatzcode, die Koordinaten der jedem errechneten Vektorsegment zugeordneten Adreßelemente links und die entsprechenden Koordinaten des wahren darzustellenden Vektors gezeigt, um einen Vergleich der errechneten Lage der Vektorsegmente und der tatsächlichen Lage des wahren Vektors zu ermöglichen. Für den Vektor 1 hat das erste errechnete Vektorsegment die Anfangskoordinaten des Adreßelements links mit: (X, Y) - (161,224). Entsprechende Signale ergeben sich auf den Ausgangsleitungen 116 bzw. 206. Das Längenrestregister 118 enthält die Menge 5 und somit veranlaßt der Vergleicher 122, der feststellt, daß dieser Wert größer als 0 ist, das Längenregistcr 124 zur Ausgabe der Länge 16 auf die Ausgabeleitung 126. Das Prüfregister 150 hat zu diesem Zeitpunkt noch keinen Richtungsfehler aufgenommen und enthält so den Wert 0. Hierzu werden die im Register 162 gespeicherten niedrigen Stellen des Richtungswerts hinzuaddiert und in das Vergleicherrcgister 134 als Quantität 1/16 eingegeben. Der Vergleichcrblock 136 stellt fest, daß die Quantität kleiner als 0,5 ist, und daher wird das Schaltglied 128 nicht betätigt, der modifizierte Riehtungsaddiercr überträgt lediglich den Inhalt der hohen Stellen des Richtungswertes im Register 102 und gibt den Wert acht in das modifizierte Richtungsregister ein. Der vom modifizierten Richtungsregister in die Rcgmcntcodicrmatrix 128 ausgegebene Wert 9 ergibt mich Reduzierung um I in Kombination mit dem Oktuntcn-Wcrt von 00, wie er in der Oktanicn-Stclle des Registers 104 gespeichert ist, einen Symbolcode Hilf Leitung 130 zur Darstellung des errechneten Vektorsegments. Die K-Adrossc wird in das Indcxudreßrcgister 216 des Warteschlangenpiiffcr.s und die ,Y-Koordmaie uuf die Leitung 116 ausgegeben, die Vcktorsegmcntlllnge auf der Leitung 126 und der Symbolcode auf der Leitung 130 werden über Leitung 204 in den Datenteil des Warlcsehlangcndatenrcgisters des in Fig. 12 gezeigten Puffers eingegeben. Die Vektorscgmentcodicrersleueriing 152 betätigt jetzt die ALU 146, die den Oklantencodewert (K) empfangt, der im Register 104 gespeichert ist, als Schlüssel zur Modifizierung der in den Registern 110 bzw. gespeicherten Werte für X und Y. Der Wert von X wird um 16 erhöht und wieder in das X-Regisler 110 eingegeben. Der Wert von Y wird um den im modifizierten Richtungsregister gespeicherten Wert 8 erniedrigt und dann wieder in das Y-Register 112 eingegeben. Der Inhalt der X- und V-Register 110 und 112 besteht jetzt aus den Werten 177 bzw. 216 als Koordinaten des Adreßelement-Iinks-Anfangs für das nächste zu erzeugende Vektorsegment. Die Steuerung 152 veranlaßt jetzt den Längenrestvergleicher 121 zur Feststellung, ob der jetzt im Restregister 118 gespeicherte Wert, nämlich der Wert 4, größer als der Wert 0 ist. Unter Feststellung des Zustands betätigt der Vergleicher das Schaltglied 122, so daß dadurch das Längenregister 124 den Wert 16 auf die Ausgabeleitiing »5 126 als Länge des nächsten zu erzeugenden Vektorsegments ausgibt. Das Prüfregister enthält jetzt den Wert '/i6, der durch den Richtungsaddierer 132 zum wertniederen Inhalt des Richtungsregisters 102 hinzuaddiert wird und dann wird die Summe in das Vergleicherregister 134 eingegeben. Diese Quantität 2Im wird durch den Vergleicher 136 als kleiner als der Wert 0,5 bestimmt, und daher wird das Schaltglied 128 nicht betätigt. Der modifizierte Richtungsaddierer 140 überträgt lediglich den werthohen Inhalt im Richtungsregi- »5 ster 102 in das modifizierte Richtungsregister 142 als Werte. Wieder wird der Inhalt des modifizierten Richtungsregisters mit dem Oktanten des Registers 104 in der Segmentcodiermatrix 128 zum Symbolcode 107 auf der Ausgabeleitung 130 kombiniert. Die Daten für das zweite Vektorsegment stehen somit auf den Ausgangsleitungen 206, 116, 1126 und 130 zur Eingabe in den Warteschlangenpuffer 200 zur Verfugung. Der Vektorsegmentcodierer arbeitet weiter, bis die im Restregister 118 gespeicherte Menge gleich 0 ist. Zu diesem Zeitpunkt stellt die Steuerung 152 fest, ob das wertniedere Längenfeld des Registers 104 einen gebrochenen Längenwert enthält. Wenn das der Fall ist. wird diese Quantität in das Längenregister 124 als Lange des abschließenden Vektorsegments eingegeben. Im Fall der Vektorzahl 1 ist im wertniederen Langenfeld nichts gespeichert, und daher wurde die Vektorzahl I vollständig in eine Folge von 5 Vektorsegmenten zerlegt, von denen jedes als ein Vektor«ymholcode 7 codiert ist, und an den Puffer 200 der Fig-12 ausgegeben. Die Hauplsteuerung 550 der Fig.4 synchronisiert den Betrieb des Kleinrechners 50, des Vektorsegmentcodierers 100 und des Puffers 200 so, daß jedes durch den Veklorscgmentcodierer 100 erzeugte und auf die Leitung 64 ausgegebene codierte Vektorsegmcnlwort mit einem in Fig.8Λ gezeigten Betriebsartenwort gemischt wird, welches die Merkmale des durch das Vektorsegment dargestellten Vektors so enthüll, daß das kombinierte Bctriebsurtenworl und d«s codierte Vcklorsegmeniwort, welches in den Diitentcil des Warleschlangenclatenregisters 226 über die Leitung 204 eingegeben wird, das dus unter Überschrift »Daten« in Tabelle 4 gezeigte Format hat.
Tabelle 4 zeigt den Zustand des Indexspeichers und des Warleschlangenspcichers des Puffers 200 vor Eingabe von Daten vom Vektorsegmcntcodierer. Die leeren Stellen sind miteinander verbunden und das nächste leere Register NhR zeigt auf die Wartcsehlnn· gensiclle I als den Anfang der Verschnchtelung. '?|C Warteschlangenslellc Ib enthalt ein Einerbil Mt Feldeiule und zeigt nn, daß es sich hier um das linde der Reihe leerer Stellen im Wartesehlimgenspcieher handelt. 9 Raslerlinienwerte sind unter der Überschrift O'-Koordinate) im liulexspeicher angegeben. Has
Leer-Nicht-1 enthält ein r< Bilddaten irr Rasterliniens Tabelle 5a 232, und <k ersten Untei mentcodiere Y-Adreßleiti ster 216 zur Indexspeicht Nichtleer-Fe V-Wert 22 lndexdatenr 220 ausgegel Signal auf lndexdatenr. Adreßfeldes über die Leil gisters 218 g wird jetzt üt die im Inde? K-Koordina Das so ges| schlangensti von in die entsprechen Stelle für Bi Vektors 1 ei 21 zeigt i Warteschlar des NER 21 in das War Das Wartes tung 258 da Zeigerwort gcnwoit wir datenadrcßi endbil212u gendatenrcf leere Regist endbit 228 i durch ein Si1 Kennzeichc 0 steht. Das stelle im W das Ende d Kurzzcitadr nächste Ad 226 und die Datenfeld < Das modif wird jetzt ii register 2< Warteschla damit wird Inhalts des Speichers Tabelle ί Speichers ; Vcktorsegi Die Wailt linden scr Inhalt der zeigerfeld 232 und Warteschi im Indcxsr
27
und : als das •ung zur pel· :rtO der das ung seg-'/ert ium hindas
/en icht jeregi· als •ten 104 107 für den abe Der im Zu das ien isi. als ien. eld Ml ten Ie? .12
IaO gtc et· »· rch alt, das teil ing
ind vor Die das an· Die im der in· rill >as
Leer-Nicht-Leer-Feld an jedem Y-Koordinatenwert enthält ein Nullbit und zeigt an, daß gegenwärtig keine Bilddaten im Speicher 202 gespeichert sind, die dieser Rasterlinienstelle entsprechen.
Tabelle 5a zeigt die Arbeitsweise des Indexspeichers ,232, und der Warteschlangenspeicher 202 lädt den ' ersten Untervektor des Vektors 1 aus dem Vektorsegmentcodierer. Der V-Adreßwert von 224 wird über die V-Adreßleitung 206 eingegeben und im Indexadreßregister 216 zur Adressierung des V-Stellenwerts 224 im Indexspeicher 232 gespeichert. Der Inhalt des Leer-Nichtleer-Feldes und des Zeigerfeldes in der dem V-Wert 224 entsprechenden Stelle wird in das Indexdatenregister 218 und das Kurzzeitadreßregister 220 ausgegeben. Die Steuerung 210 setzt dann durch ein >S Signal auf der Leitung 248 das BNE-Bn 22 des Indexdatenregisters 218 auf 1, und der Inhalt des Adreßfeldes des nächsten leeren Registers 214 wird über die Leitung 252 in das Zeigerfeld des Indexdatenregisters 218 geladen. Der Inhalt des Indexdatenregisiers »° wird jetzt über Leitung 244 in den Indexspeicher 232 an die im Indexadreßregister beibehaltene und noch dem V-Koordinatenwert 224 entsprechende Stelle geladen. Das so gespeicherte Zeigerfeld zeigt auf die Warteschlangenstelle Nr. 1, die das Ende der Verschachtelung »5 von in die Warteschlange einzugebenden Daten ist, entsprechend dem V'-Wert 224 und ist tatsächlich die Stelle für Bilddaten, die dem ersten Vektorsegment des Vektors 1 entsprechen. Das Einschalten des £/£/V-Bits 21 zeigt an, daß die entsprechende Stelle im Warteschlangenregister nicht leer ist. Das Adreßfeld des NER 214 enthält die Quantität 1 und wird ebenfalls in das Warteschlangenadreßregister 224 geschrieben. Das Warteschlangenadreßregistcr adressiert über Leitung 258 dasjenige Warteschlangenwort, welches dem Zeigerwort entspricht. Das adressierte Warteschlangcnwort wird über Leitung 260 in das Warteschlangendatenadrcßregister 226 gelesen. Das Verschachtelungsendbit 212 und das nächste Adreßfeld des Warteschlangenclatenregisters 226 werden ebenfalls in das nächste leere Register NER 214 geladen. Das Verschachtclungscndbit 22S im WärtSicbliingpnrliMpnrpeister wird ietzt durch ein Signal auf Leitung 264 auf 1 gesetzt, wenn das Kennzeichenbit im Kurzzeichenadreßregister TAR auf 0 steht. Das zeigt, daß der in die erste Wartcschlangcnstelle im Wartcüchlangcnspeichcr 202 geladene Inhalt das Ende der Verschachtelung ist. Das Adreßfeld des Kurzzcitadrcßregisters 220 wird über Leitung 268 in das nächste Adreßfeld des Wartcschlnngcndutcnrcgistcrs 226 und die Daten werden über die Leitung 204 in das Datenfeld des Warteschlangcndatcnregisters geladen. Das modifizierte Wartcschlangen-Datenrcgislcrwort wird jetzt über Leitung 270 neu in das Warteschlangenrcgister 202 un der Stelle geschrieben, die im Wiirtesehlangenadreßregister 224 gespeichert ist, und damit wird der Ladczyklus beendet. Der Zustand des Inhalts des Indexspeichers 234 und des Wartesehlangcnspcichcrs 202 sind in Tabelle 5u gezeigt.
Tabelle 5b zeigt den Zustand des Wnrtcschlanger.-speichers 202, nachdem die Bilddaten für das zweite Vektorsegment des Vektors Nr. 1 geladen worden sind. Die Wurtcschlangcnstcllc I und die Stelle 2 sind die linden separater Vcrschnchtulungen, wobei auf den Inhalt der Stelle 1 durch das Wnrtesehliingcnstcllen· zeigerfcld an der V-Koordinate 224 im Indexspeichcr «5 232 und mif den Inhalt der Stelle 2 durch den Waricschlangenstcllen/.cigcr an der V-Konrdinole 21b im Indexspeichcr 232 gezeigt wird.
Tabelle 5c zeigt den Zustand des Warteschlangenspeichers 202 im Indexspeicher 232 nach dem vollständigen Laden des Vektors 1 in die Warteschlange, derart, daß das erste Vektorsegment in der Warteschlangenstelle 1, das zweite Vektorsegment in der Stelle 2, das dritte Vektorsegment in der Stelle 3, das vierte Vektorstellensegment in der Warteschlangenstelle 4 und das fünfte Vektorsegment in der Stelle 5 steht. Die Bilddaten in jeder der Stellen 1 bis 5 werden jeweils als Ende einer separaten Datenverschachtelung bezeichnet, die den 5 separaten Rasterlinienpositionen für den Anfang des Adreßelement-links eines jeden Vekiorsegments nach Darstellung in Fig. 16 entsprechen. Die Reihe der leeren Stellen beginnt an der Warteschlangenstelle 6 nach den Angaben im yV£7?der Tabelle 5c.
Nachdem der Vektor Nr. 1 vollständig zerlegt und in den Puffer 200 geladen wurde, zeigt der vorverarbeitete Daten für den Vektor Nr. 2 bereithabende Kleinrechner 50 an, daß Daten über Leitung 154 für die Steuerung 152 des Vektorsegmentcodierers zur Verfugung stehen. Der Vektorsegmentcodierer gibt ein Daitensendesignal über die Leitung 155 ab und die Register 102,104,106 und 108 des Vektorsegmentcodierers werden über Leitung 62 vom Kleinrechner geladen. Tabelle 2 zeigt den Zustand des Prüfregisters 150, des Vergleichel registers 134, des modifizierten Richtungsaddterers 140, des modifizierten Richtungsregisters 142 und die Ausgabe der Segmentcodiermatrix 128 für jedes der drei Vektorsegmente an, in die der Vektor Nr. 2 zerlegt ist. Auf der Leitung 209 wird von der Vektorsegmentcodiersteuerung 152 ein Datenverfügbarkeitssignal erzeugt, welches der Puffersteuerung 210 anzeigt, wenn jedes Vektorsegment verfügbar wird. Wenn die Steuerung 210 bereit ist, gibt sie einen Ladebefehl auf die Leitung 208 zurück. Das Laden des ersten Untervektors des Vektors 2 in den Warteschlangenspeicher 202 ist in Fig.6a gezeigt. Wenn der V-Rasterwert 224 in das Indexadreßregister 216 eingegeben und das entsprechende im Indexspeicher 232 gespeicherte Indexzeigerwort adressiert und in das IDR 218 gelesen wird, wird der Inhalt des nächsten leeren Registers, welches die Stelle des gegenwärtigen Anfangs der Reihe der leeren Stellen im Warteschlangenspeicher ist, im Zcigerfeld des IDR gespeichert. Das Zeigerfcld des IDR enthält jetzt den Wert 6, der die Stelle des Anfangs der Datenverschachtelung für
Y " 224 ist. Wenn das Datenwort in dem Warteschlangen-Datenrcgister zur Speicherung im Wartcschlangcnspcichcr 202 angesetzt wird, wird das Adreßfeld des TAR, welches den Wert 1 als vorherigen Anfang der Datenverschachtelung für Y ·» 224 enthält, eingesetzt in das Wartesehlangendatenwort des QDR. Dci V-Koordinntenwert 224 im Indexspeicher 232 enthäl also einen Wartcsehlungenstellcnzeiger mit den Wert 6, der auf den neuen Anfang der Diitcnversehiieh telling für V - 224 zeigt. Der Inhalt des Warteschlan gcnwortes an der Stelle b und die Wurtcschliingi enthalten den Wert I, welches die Stelle des nnchstci Bilddiitenwortcs in der Daicnversdiaehtclung fü
V - 224 ist. Die Reihe von leeren Stellen hat ihrci Anfang jetzt im der Wuricschlnngc 7.
TubcUcbb zeigt den Zustand dos Wurtcschlangcn Speichers 202 und lies Indcxspcichcrs 232, nachdem di Vektor/.nhl 2 vollständig geladen worden ist. h Wiirteschlnngenspeicher gibt es drei Reihen von Date und eine Reihe leere Stellen. Die Datenreihe für V 22 hat ihren Anfang an der Stelle b und ihr Uncle an de Stelle I. Die Diitcnrcihc für V » 208 hut ihren Anfiin
an der Stelle 7 und ihr Ende an der Stelle 3. Die Datenreihe für Y = 192 hat ihren Anfang an der Stelle 8 und ihr Ende an der Stelle 5. Die Reihe leerer Stellen hat ihren Anfang an der Stelle 9 und ihr Ende an der Stelle 16.
Nachdem die Vektorzahl 2 vollständig zerlegt und ihre Segmente codiert und an den Puffer 200 übertragen wurden, reagiert der Vektorsegmentcodierer 100 auf das Datenverfügbarkeitssignal auf der Leitung 154 vom Kleinrechner und überträgt auf Leitung 162 die vorverarbeitenden Daten für die Vektorzahl 3 und lädt die Register 102, 104, 106 und 108 des Vektorsegmentcodierers. Die Vektorzahl 3 hat eine Richtung von 7 und 3Z4 und liegt im Oktanten 2 mit einer Länge von 4. Der große Restwert der Richtung, der im wertniederen Richtungswert des Registers 102 gespeichert ist, zeigt an, daß ein ausreichender Richtungsfehler während der Zerlegung der Vektorzahl 3 aufgelaufen ist, so daß die Fehlerkompensation des Vektorsegmentcodierers eingeleitet wird. Tabelle 3 zeigt den Zustand des Prüfregi- ao sters 150, des Vergleicherregisters 134, des modifizierten Richtungsaddierers 140, des modifizierten Richtungsregisters 142 und die Ausgaben der Segmentcodiermatrix 128 für jedes der vier Vektorsegmente an, in die die Vektorzahl 3 zerlegt wurde. Wenn der erste »5 Untervektor verarbeitet wird, ist der Inhalt des Prüfregisters 150 gleich 0, und hierzu werden die wertniederen Stellen des Richtungswerts von 3/4 hinzuaddiert und im Vergleicherregister 134 durch den Vergleicher 136 mit dem Wert 0,5 verglichen, wobei 3» festgestellt wird, daß dieser Wert größer ist. Der Vergleicher veranlaßt dann den Subtraktionsblock 148 zur Subtraktion des Wertes 1 vom Inhalt des Prüfregisters 150 und zur Speicherung der Differenz im Prüfregister 150. Der Vergleicher 136 schaltet dann das Schaltglied 128 ein, wodurch der modifizierte Richtungsaddierer 150 die Quantität I zum Wert 7, der im werthohen Stellen des Richtungsregisters 102 gespeichert ist, addiert wird und die Summe 8 in das modifizierte Richtungsregister 142 gelangt. Der so korrigierte Richtungswert wird vom Register 142 in die Vektorsegmentcodiermatrix 128 übertragen, die bei Reduzierung um 1 und Kombination mit dem im Oktanten-Teil des Registers 104 gespeicherten Wert Ot einen Symbolcode von 23 für das erste codierte Vektorsegment ergibt. Die durch Einschalten dos Schaltglieds 128 bewirkte Korrektur addiert die Quantität V4 zur wahren Richtung der Vektorzahl 3 und schließt dadurch einen Abrundungsfehler dieser Größenordnung ein. Dieser Abrundungsfehler von V4 wird als Viertel mit negativem Vorzeichen im Prüfregister 150 gespeichert. Während der Codierung des zweiten Vektorsegments wird die im Prüfregister 150 gespeicherte Quantität von - V4 zu der im unteren Teil des Richtungsregisters 102 gespeicherten Quantität von 3/4 addiert und ergibt die Summe V2, die in das Vergleichsregister 134 eingegeben wird. Der Vergleicher 136 stellt fest, daß diese Quantität genauso groß oder größer als 0,5 ist und veranlaßt noch einmal den Subtraktionsblock 148 zum Substrahieren der Quantitat 1 vom Inhalt des Prüfregisters, zum Einsetzen dieser Differenz in das Prüfregister 150 und schaltet das Schaltglied 128 ein. Die Quantität 1 wird vom modifizierten Richtungsaddierer 140 zum Inhalt der Quantität 7 der werthohen Stellen des Richtungsteils des Registers 102 addiert und ergibt einen modifizierten Richtungswert 8, der im modifizierten Richtungsregister 142 gespeichert wird. Wieder erzeugt die Vektorsegmentcodiennatrix 128 einen Vektorsegmentcode 23 für das zweite Vektorsegment. Während der Codierung des dritten Vektorsegments ist im Prüfregister 150 der Wert - V2 gespeichert und diese Quantität wird durch den Addierer 132 zu wertniederen Stellen der Richtung mit der Quantität V4 addiert, die im Register 102 gespeichert ist, und ergibt die Summe V4, die im Vergleichsregister 134 gespeichert wird. Diese Quantität wird durch den Vergleicher 136 als kleiner ermittelt als die Quantität 0,5, und daher wird der Inhalt des Vergleichsregisters 134 übertragen und an die Stelle des Inhalts des Prüfregisters 150 gesetzt, und das Schaltglied 128 bleibt abgeschaltet. Der modifizierte Richtungsaddierer 140 überträgt daher lediglich den Wert 7 von werthohen Stellen des Richtungsregisters 102 in das modifizierte Richtungsregister 142 und enthält dadurch keine Korrektur für den hohen Richtungswert. Dadurch wird effektiv der durch die Richtungskorrekturen des codierten ersten und zweiten Vektorsegments angesammelte Rundungsfehler kompensiert.
Die Menge wii .1 vom modifizierten Richtungsregister 142 in die Segmentcodiermatrix 128 übertragen, wo sie nicht um 1 reduziert wird, da sie, wie in F i g. 10, kleiner als 8 ist. Sie wird mit dem im Oktanten-Register 104 gespeicherten Wert 01 kombiniert und ergibt einen Vektorsymbolcode 23, der auf die Ausgabeleitung 130 gesendet wird. Die X-Koordinate für den Anfang des Adreßelements links für den ersten Untervektor wurde mit 209 errechnet und für den zweiten Unlervektor mit 217 und für den dritten Untervektor mit 225. Für die X-Werte des codierten ersten, zweiten und dritten Untervektors ergibt sich eine Differenz von 8 Einheiten. Durch die Kompensation für die Rundungsfehlerakkumulation, die für das codierte dritte Vektorsegment erfolgt, wird die resultierende X-Koordinate für das vierte Vektorsegment, die graphisch an das dritte Vektorsegment anschließen muß, nach Darstellung in Tabelle 3 modifiziert. Nachdem das Datenwort für das dritte Vektorsegment errechnet und an den Puffer 200 ausgegeben wurde, veranlaßt die Vektorsegmentcodierersteuerung 152 die ALU zur Addition der im modifizierten Richtungsregister gespeicherten Menge 7 zur X-Koordinate des dritten Vektorsegments, die noch im Register 110 gespeichert ist und setzt diese Summe an Stelle des Inhalts des A"-Registers 110. Die Differenz zwischen aufeinanderfolgenden Werten von X für die Koordinaten der Adreßelemente links in aufeinanderfolgenden Vektorsegmenten ist nun nicht mehr 8, sondern statt dessen ist der Wert der -Y-Koordinate für den Anfang des vierten codierten Vektorsegments 232, also genau 7 Einheiten kleiner als der vorher für das dritte Vektorsegment errechnete Wert von 225. Während der Codierung des vierten Vektorsegments hat der Inhalt des Prüfregisters 150 den Wert V4. Dieser Wert wird zum Inhalt der wertniederen Stellen der Richtung mit der Quantität 3/4 im Addierer 132 addiert, und die Summe 1 wird in das Vergleichsregister 134 gegeben. Der Vergleicher 136 stellt fest, daß die Quantität größer als 0,5 ist und veranlaßt daher den Subtraktionsblock 148 zur Subtraktion der Quantität 1 von dem im Prüfregister 150 gespeicherten Wert und setzt die Differenz wieder in das Prüfregister 150 und schauet auch das Schaiiglied 12S ein. Der modifizierte Richtungsaddierer 140 addiert daher die Quantität zum hohen Richtungswert 7, der im Register 102 gespeichert ist, und diese Summe von 8 wird im modifizierten Richtungsregister 142 gespeichert. Die modifizierte
Vek Kor runj VeK ner T
eher ersti Vek drei verli Nr.: in c ents War diesi dem lung le H Stell dem lung Stell· Ende enthi den j Ende ihren gems 16.
zerle;
zyklis
Stelle
regist
ist da
sters;
aufste
des im
Der Ii
Richtung von 8 wird vom modifizierten Richtungsregister 142 in die Segmentcodiermatrix 128 übertragen und bei Kombination mit der im Oktanten-Register 104 gespeicherten Quantität ergibt sich der Vektorsegmentcode 23 für das Viertelvektorsegment, und dieser Code wird auf Leitung 130 ausgegeben. Die Zerlegung des Vektors Nr. 3 ist damit abgeschlossen und enthält eine Korrektur für Rundungsfehler, die sich durch Annäherung der wahren Richtung des Vektors 3 an die von den Vektorsegmentsymbolen festgesetzte Richtung zu seiner Darstellung ergibt.
Tabelle 7 zeigt den Zustand des Warteschlangenspeichers 202 und des Indexspeichers 234, nachdem das erste, zweite, dritte und vierte Vektorsegment des Vektors Nr. 3 in den Puffer 200 geladen wurden. Die drei Datenverschachtelungen der Tabelle 6b wurden so verlängert, daß sie die Untervektordaten des Vektors Nr. 3 enthalten und die Reihe von leeren Stellen wurde in der Länge reduziert. Die Datenverschachtelung entsprechend Y = 224 hat einen Anfang an der Warteschlangenstelle 9, die auf die Stelle 6 zeigt und diese wiederum auf die Stelle 1. das Ende der Reihe. Die dem Wert Y = 208 entsprechende Datenverschachtelung liegt mit ihrem Anfang an der Warteschlangenstelle 10, die wiederum auf die Stelle 7 und diese auf die Stelle 3 zeigt, die das Ende dieser Datenreihe bildet. Die dem Wert Y= 192 entsprechende Datenverschachtelung liegt mit ihrem Anfang an der Stelle 11, die auf die Stelle 8 und diese wiederum auf die Stelle 5 zeigt, die das Ende dieser Reihe bildet. Die Warteschlangenstelle 12 enthält die einzigen der V-Koordinate 176 entsprechenden gespeicherten Daten und hat daher ein Einerbit im Ende des Reihenfeldes. Die Reihe leerer Stellen liegt mit ihrem Anfang an der Warteschlangenstelle 13 und endet gemäß Anzeige im NER an der Warteschlangenstelle
Zweckmäßigerweise sei angenommen, daß während einer vorausgegangenen Periode, in der die Vektoren Nr. 1, 2 und 3 durch den Vektorsegmentcodierer 100 zerlegt und ihr codiertes Vektorsegment in den Puffer 200 geladen wird, der elastische Auffrischungspuffer ausgelesen ist und für die V-Rasterzeilenstellen von y= 225 bis Y= 1023 und von Y = 0 bis 0 = 175 gespeicherte Daten dargestellt hat. Diese Annahme eestattet die Beendigung des Ladeprozesses, bevor die Übertragung in den elastischen Auffrischungspuffer beginnt. In diesem Bildanzeigebetrieb arbeitet man mit einer Art aufgeteiltem Zyklus im elastischen Auffrischungspuffer, in den aus dem Speicher 306 mit zyklischer Adressierung an der Spitze eines dichtgepackten Datenbündels ausgelesene Bilddaten an eine Stelle eingegeben werden, deren Adresse im Leseadreßregister 302 gespeichert ist. Das erste ausgelesene Wort ist das in Fig. 13C gezeigte Steuerwort, welches den K-Wert für die Rasterstelle der zugehörigen Daten enthält. Dieser V-Wert wird im V-Register 310 gespeichert und der vorhergehende Inhalt des V-Registers 310 in das V-Register 318 übertragen. Der Inhalt des V-Registers 310 wird kontinuierlich im Vergleicher 316 mit der gegenwärtig im Monitor 700 angezeigten Anzeige-Zeilenzahl 320 verglichen. Da die Auslesereihenfolge der Bilddaten vom Umlaufspeicher 306 in aufsteigenden Werten für Y geordnet ist, ist der Wert des im V-Register 318 gespeicherten Inhalts kleiner als der Wert des im V-Register 310 gespeicherten Inhalts. Der Indexspeicher 232 des Warteschlahgenpuffers 200 kann somit an V-Indexwertstellen von V + 1 bis V während der Zeit abgefragt werden, in der das Steuerwort des Y-Werts im V-Register 310 gespeichert bleibt, um so festzustellen, ob der Warteschlangenspeicher 202 angezeigte Daten gespeichert hat, um auf einen V-Indexwert zwischen V -i- I und V zu reagieren. Die Abfrage des Indexspeichers erfolgt durch den Zähler 362, durch Addition ganzer Zahlen im Erneuerungspuffer zum Inhalt des V-Registers und Ausgabe dieser Werte als V-Index auf die Leitung 206. Diese Summe wird in der Vergleichereinrichtung 364 mit dem im V-Register 310 gespeicherten Wert verglichen und wenn der V-Summenindex genauso groß ist wie der im V-Register 310 gespeicherte Inhalt, sind die Indexspeicherstellen zwischen V + 1 und Verschöpft. Wenn die Differenz zwischen dem Inhalt des V-Registers 310 und der Anzeige-Zeilenzahl 320 zwischen 1 und 8 liegt, werden die Bilddatenwörter, die dem im V-Register 310 gespeicherten V-Wert entsprechen, oben aus dem gepackten Datenbündel im Speicher 306 mit zyklischer Adressierung ausgelesen und über die Ausgabeleitungen 314 mit dem auf die Leitung 368 ausgegebenen Wert an den Symbolgenerator 400 geleitet. Wenn der Symbolgenerator das Wort annimmt, wird die X-Adresse an den entsprechenden PRAS-Modul 604 übertragen und das Bilddatenwort in den Umlaufspeicher unten am dichtgepackten Datenbündel an der Stelle wieder eingeschrieben, die durch das Schreibadreßregister 304 bezeichnet ist.
Wenn also das den Wert V= 100 enthaltende Steuerwort aus dem Speicher 306 mit zyklischer Adressierung gelesen und in das V-Register 310 gesetzt wird, stellt der Vergleicher 364 fest, daß es größer ist als der vorhergeheüde Inhalt des V-Registers 310, der jetzt im V-Register 318 steht. Wenn diese Bedingung vorliegt, werden V-Werte zwischen dem im V-Register gespeicherten Inhalt und dem Wert V= 100 erzeugt, und die Puffersteuerung 210 gibt das Entlade-Abschlußsignal auf die Leitung 236 für jede Abfrage, da keine Daten an diesen Stellen im Warteschlangenspeicher 202 gespeichert sind. Nachdem der Wert des V-Index erhöht wurde und den Wert V = 100 im V-Register erreicht hat und wenn die Anzeigezeilenzahl zwischen 92 und 99 liegt, werden die im Speicher mit zyklischer Adressierung oben im gepackten Datenbündel gespeicherten Bilddaten auf den Symbolgenerator 400 zur Anzeige ausgelesen und dann unten im gepackten Datenbündel im Speicher 306 mit zyklischer Adressierung an der Adresse wieder eingeschrieben, die durch das rechte Adreßregister 304 angegeben ist.
Das nächste im elastischen Auffrischungspuffer gespeicherte Steuerwort hat den V-Wert 195 und wird aus dem Speicher 306 mit zyklischer Adressierung gelesen und in das V-Register 310 gesetzt. Der vorhergehende Inhalt des V-Registers 310 mit dem Wert 100 wird in das V-Register 318 übertragen. Solange der Wert der Anzeige-Zeilenzahl 320 kleiner ist als 187, kann der Indexspeicher 232 des Warteschlangenpuffers auf V-Indexwerte zwischen 100 und 195 abgefragt werden. Die Steuerung 338 setzt den Zähler 362 auf 0, und die zyklische Erhöhung des V-Indexwertes auf der Leitung 206 beginnt. Wenn der Wert des V-Index 176 beträgt, erzeugt die Puffersteuerung 210 ein Signal auf der Leitung 234, welches anzeigt, daß Daieii vorhanden sind. Diese genannten Daten sind das codierte Wort für das codierte Vektorsegment des Vektors 3. Der V-Indexwert von 176 wird in den Speicher mit zyklischer Adressierung als das in Fig. 13C für die aus dem Warteschlangenpuffer entsprechenden Wert V= 176 zu ladenden Daten
gezeigte Steuerwort geleitet. Dieses Steuerwort wird in den Speicher 306 mit zyklischer Adressierung unten am gepackten Datenbündel an derjenigen Adresse geladen, die im Schreibadreßregister 304 gespeichert ist. Gleichzeitig erhöht die Auffrischungspuffersteuerung 338 den Wert im Wortzähler 328 und damit die Schreibadresse um eine Einheit, während die Leseadresse im Leseadreßregister 302 unbeeinflußt bleibt. Ein Entladekommandosignal wird durch die Steuerung 338 auf der Leitung 230 erzeugt und der Warteschlangen- >° puffer beginnt, alle im Warteschlangenspeicher 202 gespeicherten Bilddaten zu entladen, die dem V-Indexwert 176 entsprechen.
Der V-lndexwert 176 wird über die Leitung 206 im Warteschlangenpuffer 200 in das Indexadreßregister >5 216 gegeben. Das dem Y-Wert 176 entsprechende Indexzeigerwort wird vom Indexspeicher 232 adressiert und an das Indexdatenregister und das Kurzzeitadreßregister 218 bzw. 220 ausgegeben. Das ElNE-Bn 222 im Indexdatenregister wird auf 0 gesetzt, da nach dem Entladen der entsprechenden Bilddaten aus dem Speicher 202 die Warteschlange leer ist. Der Inhalt des Indexdatenregisters 218 wird dann in den Indexspeicher 232 neu geschrieben. Das Adreßfeld des TAR220 wird in das Warteschlangenadreßregister 224 geladen, und *5 der Anfang der zu dem Wert Y = 176 gehörenden Datenverschachtelung wird im Speicher 202 adressiert und in das Warteschlangendatenregister 226 geladen. Die Puffersteuerung 210 geht jetzt zu dem Signal «Daten vorhanden« auf der Leitung 224, und dann werden die gewünschten Daten aus dem Datenregister auf die Leitung 238 ausgelesen und in den Speicher 306 mit zyklischer Adressierung des elastischen Auffrischungspuffers geladen. Das Format der in den Speicher mit zyklischer Adressierung geladenen Bilddaten ist in Fig. 13A gezeigt. Diese Daten werden unten in das gepackte Datenbündel im Speicher 306 an der Stelle geladen, die durch das Schreibadreßregister 304 angegeben ist. Die Steuerung 338 des Auffrischungspuffers erhöht dann den Inhalt des Wortzählers 328 um 1 und veranlaßt das Schreibadreßregister 304 zur Erhöhung seines Inhalts um 1, während der Inhalt des Leseadreßregisters 302 derselbe bleibt. Im Puffer 200 werden die Verschachtelungsendbits 328 und das nächste Adreßfeld im Warteschlangenregister 226 durch die Leitung 262 in das Kennzeichenbit und das Adreßfeld des Kurzzeitadreßregisters 220 geladen. Der Inhalt des nächsten leeren Registers 214 wird dann über die Leitung 276 in das Verschachtelungsendbit 228 und das nächste Adreßfeld des Warteschlangenregisters 226 geladen. Der Inhalt des Warteschlangenregisters 226 wird dann über die Leitung 270 in den Warteschlangenspeicher 202 an der Stelle geschrieben, die im Warteschlangenadreßregister 224 gespeichert ist. Gleichzeitig wird der Inhalt des Warteschlangenadreßregisters 224 über die Leitung 256 in das Adreßfeld des nächsten leeren Registers 214 geladen, und das Verschachtelungsendbit 212 wird über ein Signal auf der Leitung 276 auf 0 zurückgestellt. Das Kennzeichenbit des Kurzzeitdatenregisters 220 wird jetzt durch ein Signal auf der Leitung 280 an der Steuerung 210 geprüft. Wenn es auf 1 steht, gibt es keine weiteren Daten für die V-Koordinaie, und das Entlade-Abschlußsignal wird auf die Leitung 236 gegeben. Das Ergebnis dieser Operation ist in Tabelle 8A gezeigt. Die Reihe der leeren Stellen wurde also auf den neuesten Stand gebracht und enthält die Stelle 12, wo die dem Wert Y - 1 76 entsprechenden Bilddaten entladen wurden.
Der elastische Auffrischungspuffer nimmt die Erhö- nimmt die hung des V-Indexwertes auf der Leitung 206 und die 2O6 wied( Abfrage des Indexspeichers 232 wieder auf. Wenn der der Wert K-Indexwert 192 ist, erzeugt die Puffersteuerung 210 ein Wenn dii Signal (Daten vorhanden) auf der Leitung 234. Somit liegt, wer wird der V-Indexwert 192 in den Speicher 306 mit Bilddaten zyklischer Adressierung vom Addierer 360 unten in das gepackte: gepackte Datenbündel als an der Stelle geladenes inhalt de; Steuerwort eingegeben, die durch das Schreibadreßre- und untei gister 304 angegeben ist. Die Steuerung 338 erhöht den wieder ei Inhalt des Wortzählers 328 und des Schreibadreßregi- ster 304 sters 304 um 1. Die Steuerung 338 erzeugt dann den Schreiba( Warteschlangenentladebefehl auf der Leitung 230. Die nachfolge Tabelle 8A zeigt den Zustand des Warteschlangenspei- zejgt. chers 202, wenn dei Warteschlangenentladebefehl In dies gegeben wird. Der Warteschlangenstellenzeiger im damit bes Indexspeicher 232, der der V-Koordinate 292 entspricht, lesen und zeigt auf die Warteschlangenstelle 11 im Speicher 202 befehlslei als den Anfang der Datenverschachtelung entsprechend steht daht Y= 192. Bei Adressierung und Ausgabe der Bilddaten dierer od an der Stelle 11 auf die Leitung 238 gibt die zur Verl Puffersteuerung 210 einen Impuls »Daten vorhanden« Wartesch über die Leitung 234 an die Steuerung 238. Dieses vom Klei; Vektorsegmentwort entspricht dem dritten Vektorseg- rjscne Ze ment des Vektors 3 und wird in den Speicher 306 mit ist. Die P zyklischer Adressierung des elastischen Auffrischungs- den Kleii puffers unten in das gepackte Datenbündel geladen. Zeichen I Wenn die Stelle 11 aus dem Speicher 202 entladen ist, nächste k wird sie an den Anfang der Reihe leerer Stellen im des NER Warteschlangenspeicher gesetzt durch Übertragen Speichers ihrer Stellenzahl in das Adreßfeld des nächsten leeren Zeitpunkt Registers. Das Kurzzeitadreßregister 220 enthält in jedes c seinem Adreßfeld den Zeigerwert, der in der nächsten symbol st Adreßstelle des Datenworts in der Warteschlangenstel- tor 400 2 Ie 11 stand und bezeichnet die Stelle Nr. 8 als die nächste dem YR Stelle im Speicher 202, die entladen und auf die Leitung kleiner ί 238 zum Auffrischungspuffer ausgegeben wird. Dieses PRAS-Of codierte Vektorwort entspricht dem zweiten Vektor- alphanurr segment des Vektors Nr. 2 und wird in den Speicher 306 werden s mit zyklischer Adressierung des elastischen Auffri- oder das schuiigspuffers unten in das gepackte Datenbündel teilen Ab geladen. Der Inhalt des Wortzählers 328 und des den Buc Schreibadreßregisters 304 wird jeweils um 1 erhöht. Das elastische nächste Stellenfeld des an der Warteschlangenstelle 8 gespeicherten Datenwortes enthält den Wert 5 und zeigt auf die Warteschlangenstelle 5, die das Ende der dem Y-Wert 192 entsprechenden Datenverschachtelung ist. Die Stelle 5 wird entladen und auf die Leitung 238 zum elastischen Auffrischungspuffer ausgegeben. Das in der Warteschlangenstelle 5 gespeicherte Datenwort entspricht dem 5. Vektorsegment des ersten Vektorwortes und wird in den Speicher 306 mit zyklischer Adressierung des elastischen Auffrischungspuffers am Boden des gepackten Datenbündels geladen. Der Inhalt des Wortzählers 328 und des Schreibadreßregisters 304 wird um 1 erhöht. Tabelle 8B zeigt den Zustand des Speichers 202, nachdem die dem Y-Wert 192 entsprechende Datenverschachtelung entladen wurde. Die Warteschlangenstelle 5, die das Ende der Datenreihe für Y= 192 ist, ist jetzt das nächste leere Register entsprechend der Anzeige des Adreßfeldes NER und stellt den Anfang der Reihe leerer Stellen im Warteschlangenspeicher dar. Beim Entladen von Daten aus dem Warteschlangenspeicher werden die entsprechenden Stellen in die Reihe leerer Stellen eingereiht. Wenn das Verschachtelungsendbit erkannt wird, gibt die Puffersteuerung 210 Entladeabschlußsignale auf die Leitung 236 und die Auffrischungspuffersteuerung 338
35
e Erhö- und die enn der : 210 ein l· Somit 306 mit ■η in das :ladenes idreßreiöht den reßregiann den 230. Die genspei-Jebefehl iger im tspricht, -her 202 rechend ilddaten 7M die banden« - Dieses ktorseg-306 mit ichungsgeladen. aden ist, eilen im ertragen η leeren ithält in lächsten igenstel-1 nächste Leitung t Dieses Vektorcher3O6 Auffriraböndel ^ad des
immt die Erhöhung des V-Indexwertes auf der Leitung 706 wieder auf, bis der V-Indexwert 195 beträgt, das ist Her Wert, der jetzt im V-Register 310 gespeichert ist. Wenn die Anzeige-Zeilenzahl zwischen 187 und rlgt werden die dem V-Indexwert 195 entsprechenden Bilddaten aus dem Auffrischungspuffer oben am I eDackten Datenbündel an einer Stelle gelesen, die dem "'· fnhalt des Leseadreßregisters 302 entspricht, dargestellt < d unten in das gepackte Datenbündel an der Stelle wieder eingeschrieben, die durch das Schreibadreßregiter 304 angegeben ist. Die Leseadresse und die Schreibadresse werden dann um eins erhöht und nachfolgende Bildanzeigewörter ausgelesen und angezeigt·
•stelle 8 π 5 und Inde der ehachte-Leimng gegeben, f Dztea- : ersten 386 mit
\n dieser Zeit ist der elastische Auffrischungspuffer '5 damit beschäftigt, vorher gespeicherte Bilddaten auszulesen und anzuzeigen. Auf der Warteschlcngen-Entladehefehlsleitung 230 liegt kein Signal an. Der Puffer : teht daher zum Empfang neuer vom Vektorsegmentcodierer oder dem Kleinrechner 50 eingegebener Daten : zur Verfügung. Zu diesem Zeitpunkt erhält der Warteschlangenpuffer ein Datenverfügbarkeitssignal vom Kleinrechner, welches anzeigt, daß das alphanumerische Zeichen B zum Laden auf der V-Zeile 176 bereit ist Die Puffersteuerung 210 gibt einen Ladebefehl an den Kleinrechner und das codierte alphanumerische Zeichen B wird in die Warteschlangenstelle 5, das nächste leere Register gemäß Anzeige des AdreÜfeldes des NER geladen. Der Zustand des Warteschlangenspeichers 202 und des Indexspeichers 232 zu diesem Zeitpunkt ist in Tabelle 9 gezeigt.
jedes codierte alphanumerische und Vektorsegmentsvmbol steht zur Übertragung an einem Symbolgenerator 400 zur Verfügung, wenn die Differenz zwischen dem y-Register 310 und der Anzeige-Zeilenzahl 320 kleiner als 8 ist. Aus der in Fig.7A gezeigten PRAS-Operation geht der Grund hervor. Wenn das alphanumerische Symbol 1 in das PRAS geschrieben werden soll, wird zu einem Zeitpunkt nur das A-FeId oder das ß-Feld beschrieben auf Grund der verschach- \ te|len Abtastung der Daten-Bildanzeige. Wenn also das • den Buchstaben 1 darstellende Zeichen aus dem elastischen Erneuerungspuffer 300 genau zu dem Zeitpunkt ausgelesen wird, an dem die Differenz zwischen dem V-Wert, bei dem der Buchstabe darzustellen ist, und der Anzeige-Zeilenzahl gleich 8 ist, wird das A-FeId des Buchstaben 1 in PRAS gemäß der Darstellung in Fig. 7A zusammengesetzt. Wenn die Differenz zwischen der Y-Rasterlinie, an der der Buchstabe darzustellen ist, und der Anzeige-Zeilenzahl, die gegenwärtig dargestellt wird, genau 7 ist, liegt das A-FeId für das alphanumerische Zeichen 1 in PRAS so, wie es in Fig.7B gezeigt ist. Da 14 Speichereinheiten 800 im PRAS zur Verfügung stehen, wo das Symbol zusammengesetzt werden kann und das A-FeId des Symbols acht dieser Speichereinheiten belegt, gibt es also einen Zeitabschnitt mit 7 Speichereinheiten Breite, in dem das darzustellende Symbol zusammengesetzt werden kann. Wenn also die Differenz zwischen dem y-Register 310 und der Anzeige-Zeilenzahl 320 größer als 8 ist, könnte das Zeichen im Abschnitt 800 des PRAS nicht vollständig zusammengesetzt werden. Wenn diese Differenz kleiner als 1 ist, kommt die vom Auffrischungspuffer an das PRAS über den Symbolgenerator übertragene Bildinformation zu spät an, um im Abschnitt 800 des PRAS zusammengesetzt zu werden.
Wenn die Differenz zwischen dem V-Register und der Anzeige-Zeilenzahl 8 oder kleiner ist, wird durch die Steuerung 338 des elastischen Auffrischungspuffers ein Datenverfügbarkeitssignal auf der Leitung 348 erzeugt und wenn der Symbolgenerator 400 nicht belegt ist, wird durch die Steuerung 402 des Symbolgenerators auf der Leitung 346 ein Datenannahmesignal erzeugt. Die Daten werden dann zyklisch zur Anzeige aus dem elastischen Auffrischungspuffer gelesen. Die codierten Symboldaten werden im Symbolspeicher 410, 412, 413, 414 des Symbolgenerators zu einem entsprechenden Muster von Rasterleuchtsignalen decodiert. Diese Rasterleuchtsignale werden durch den Multiplexer 415 an den entsprechenden Kanal und die PRAS-Steuerung 430 geleitet. Im vorliegenden Beispiel wird der Vektor 1 im blauen PRAS 444, der Vektor 2 im roten PRAS und der Vektor 3 im grünen PRAS 442 des Kanals 1 zusammengesetzt. Die Vektoren werden wie in Fig. gezeigt auf dem Bildschirm-Monitor dargestellt.
22Et den
37 Tabelle 1
Vektor 1 (Xl, Yl) = (161, 224) (XZ, Y2) = (240,184"·/*«)
Vektor-Richtung =
Oktant = 1
Länge = 5
Vektor-Abschnitte Vektor-Segment Test- Vergleichs- Addierer Modifizierte Symbol
Register Register Richtungs- Code
X Y A'-Register X-Register Register
(110 (200 (150) (134) (140) (142) (130)
161 224 224 224 224) 161 224 0 = 1 224 0 2 224 0 Vu 0 8 7
177 215»/h 208 208 177) 177 216 Vu 3 208 0 4 208 .... i/4 Vu 0 8 7
193 2071Vu 192 192 193 208 Vu Vektor-Segment Test-
Register
A'-Register K-Register
(110 (20O (15·)
192 0 Veklor-Stgment Te»t-
Regidtcr
Λ-Register V-Register
(HO (2M) (IM)
192 ■ -V1 Vu 0 8 7
209 199>V.« 176 209 200 Vu 193 209 176 V4 Vu 0 8 7
225 191«/»· 225 192 Vu 209 Vektor-Richtung = 7V4 217 5Ae 0 8 7
Tabelle 2 = (209, 225 Oktant = 225
Vektor 2 = (239, Vektor-Richtung = 16 Länge - 232
(X 1,Yl) = (193, Vektor-Abschnitte
* Y
Oktant =
(X2, Yl) = (240, 209 224) Länge =
Vektor-Abschnitte
X Y
216V4 161) Vergleichs-
Register
(134)
Addierer
(140)
Modifilierte
Richtungs-
Register
(142)
Symbol
Code
(130)
193 224'Ί 0 0 16 15
209 232V4 0 0 16 15
225 0 0 16 15
Tabelle 3
Vektor 3
(Xl.Yl)
(X 2, Y 2)
Vergleichs-
Register
(1Λ4)
Addierer
(140)
Modifizierte
Rii-htungs-
Register
(142)
Symbol
Code
(130)
V4 1 8 23
Vt 1 8 23
V4 0 7 23
1 I H ?1
y a •c
TABELLE 4 Grundai;ustand der verschachtelten Warteschlange
XHDBX
Y-RDOTd.
224
216
192
184
176
Leer/ Sichtleer
2OO [Ι
E/tE
11X1 I b"
Harteschl.· Stellen-Anzeige
E/NE
INFORMATIONS-WARTESCHLANGE
NÄCHST.1,EESES REG. QftR
CO Il
JLl JL2 JLl
DATEN
X-Koord.
<j2 c
TABELLE 5a
Lade-Velctor 1 in Warteschlange 1. Untervektor (161,224)
INDEX i
Υ—Roord.
Leer/
ffichtleer
• E/NE
4 ! O 1 Warteschl.-
Stellen-
Anzeige
I r b ι ι
1 ι ο I b
224 1 O 1
• f k I O
216 Il O O b
t «
208 j I 0 » ·
b
I (
2CO 11 0 b
• · ► ·
192 [ b
: ,· » ·
184 t b
: !·
176 I
168 I
160 I
S Iff: ■6|ί
11
J.4 1 fi
INFORMATIONS-WARTESCHLANGE
il
Q_
10
15
τ fi
DATEN
0011 ι ι I
Χ-KOord·
-b-
Γ)
WR TAR
Ε/ΝΕ
NSCHST.LERES REG. QAR
TABELLE 5b
I1ABELLE 5b
Lade-Vektor 1 in Warteschlange 2. Untervektor (177,216)
INDEX Y-Koord, Leer/
Sichtleer
«Ε/ΙΕ
1 I I Warteschl.-
SteUei-
Anzeige
2 ι h
ι > < I ° ι ι » ·
224 216 |i 1 1 h
ϊ t _ί · 1 ο h
2OS I ° > ·
209 ! > ·
ΐ ι h
I ο h
184 I 168 Η O h
16Ο Η Ο
ι?6 I : 'ft 1
ζ ζ
INFORMATIONS-WARTESCHLANGE
JLCL
_LL
14
1 ς
CPR
Ό θ Ο
Φ Ό
Π W Il
DATEN
X""Koord.
177
CQ
_ O
Ii
IhIiI?! 177
JL6
lfi
J_fi_
IBR [
NSCESTJLEERES BEG. [ OAR
ΤΊ
TABELLE 5c
Lade-Vektor 1 in Warteschlange
3., 4. und 5. Untervektor (193,208) ;2O9,200) ;225,192).
INDEX
Leer/
»ichtleer
* E/NE
4 1 1 Wtoteschl.-
Stellen-
Anzaige
f
: i i i 1 t 3 I
224 1 I ι 1 1
i 4
216 J 0 2 > ·
* ι 5
208 I I ° ■ ·
;: ι b
200 I J-a— I ·
:: < I ο b
192 I ■I
b
184 I b
: \
176 I
168 I
160 I
: 1
C-
c-
C-
6^
JJL
TA.
Tfi INFORMATIONS-WARTESCHLANGE
Ii.
DATEN
I τ I X—Koord.
TfiT
177
2Q9
τ I ? I
-H r-t
cn
JLS
ι ρ
IDR
'CAR
Έ/ΝΕ
MVRK
nKcbst.leeres reg.
OAR
JL-J
JJM Γ
1SSUi £
NÄCHST.LEERES T(EXS. TABELLE 6a
Lade-Vektor 2 in Warteschlange 1. Subvektor (193,224)
INDEX
Y-Jtoord. Leer/
Sichtleer
- Ε/ΪΒ
1 1 Warteechl.-
Stellet-
Anaeige
1 ■ 5
: I I ι ·
224 ι · 1 6 I ° b
» I ι ι \ ι f ·
216 j I ι 2 0 b
ι ι \ i ► ·
208 ! 3 168 I 0 b
200 I 4 ioO i b
: J : I I I
192 1 \ *
i °
184 I
:
176 J
lfi INFORMATIONS-WARTESCHLANGE
<u5 J
DATEN
0)
GPR InT X—Koord.
16Ί
177
2Ο9
Cu
L H a>
_Q
JL6
JL£_
1 fi
JLfi_
1 fi
τ ς
ι ς
E/NE
REG* OAR
TABELLE 6b
INDEX
Lade-Vektor 2 in Warteschlange
2. und 3. Untervektor (209,208) und (225,192)
INFORMATIONS-WARTESCHLANGE
Y-Kbord. Leer/.
Nichtleer
= E/HE
1 i 216 |! 1 »! * 0 i Warteschi.-
Stellen-
Anzeige
6 2
: ·< s ,· I ι
224 I I 7
: ■■ 208 j! 1 1
»1 * 4
200 j 0
; I ■{ < 8
192 I 0 ι ι
Ί ' b
184 I 0 > O
: b
176 j ι I
b
168 I
b
160
Ύ/Μ
TAR [_
MARK
-LQ
Jl
JLl
JlA
JL5.
JLA
DATEN
X-Koord.
lfil
177
I η I * I ι I ? I
NÄ3ST.LEERES REG. QAR fei
CQ
IfS
if;
1 fi,
1 fi
1 fi
Tisl
TABELLE 7
TAR
rJOT
MARK
INDEX 1 1 1 Warteschl.-
Stellen-
Anzeige
Υ-Kbord. Leer/
SJichtleer
= EAJE
< i * ·, 0 9
224 208 Il 1 J «
: * I ° 2
216 j 200 I 10
192 4
> '
184 I 11
:
176 j b
: · t ι ι
168 I 12
: f ι ι
160 I b
: \
ft ' I b
I ι f t
1
·; «
0
TABELLE
Lade-Vektor 3 in Warteschlange
1, 2, 3, und 4, Untervektor (209,224)τ(217 ,208);C25,192)j*
(232,176)
INFORMATIONS-WARTESCHLANGE
10
11
12
13
14
ι ς
lfi (D Ό 'S W Il
DATEN
co
B I \
14
lfi
J I
X-Koord.
161
177
193
209
225
193
209
717
Farbe
r;
ken
Bli
16
16
16
16
lfi
lfi
1 fi
16
lfi
16
1 6
1 1 1 h 1 1 1 2 I 239 I
O (U
I5
23
93
O I lfi
IDR TAR
Έ7ΝΕ
0
KBVSK
12
.leeres reg.
S3
« H
K) «Η GO W
W 9 W H
S £
13
υ co
CQ SS
aqiB.1
•41PBIPSJ3,
in u»
ν cm
g §
I
Γ
ι
I
·>
k
i
>·■ <^ ·· (M ·■ D
H
·· "* ·· <H
•H
■·< A ·· ΓΜ ·■
O ■·■ X)
Anzeige j H H H iH O O ·· DO
to
·' O
>■ * ·■ ·· at>
O
N
·· 8 M
^>
I 184 1 I 176 1 I 16O_l
j ·<►■
»■
(M
§ ί
Ε/ΜΕ
OKIt
SUIT
TABELLE 8b
Entlade alle Daten mit y = 192
INDEX
Y-KDOxd. I Leer/
foichtleer
j = E/KE
Warteschl.-
StPiIpn-
Anzeige
I (
224 j 1 9
: ι I
216 1 2
: ■ 4
2O8 1 1 10
• <
200 I j 1 4
». * » ·
192 Il 0 11 j
» *
!
; 9
'[I
IER
JftRK
12
I 0 I 11 I
E/NE
I .i I b I
Z.
JL
dL
JL
i. INFORMATIONS-WARTESCHLANGE
CPR
NHCHST.LEEFES REG.
t5
Ul Il
JJL
JJ2
JJ.
15
Ji
DATEN
(U
X-Kcord.
161
177
193
2Ω3.
209
Ja.
209
217
0. L-Q-
JL
SL
SL
Sl
16
16
Ji.
JLL·
16
0 (D
JLo.
J L
JJL
JJl
JiJ-J
0 I 8 I b I i !
TABELLE 9
IKUEX
Y—Köonl.
224
Leer/
^ichtleer = E/NE
Warteschi.· Stellen-Anzeige
216 ίΐ 1 < 1 1 2 » 10 » 4 » 11 f 0 « 0 » b » b τ
: · 0 j 12
208 1 5 «
: ·
200 H 1
192 Η 0
184 j!
176 Jj
J
16S
: ·
160 {j
: ft
Lade alphanumerisches Symbol B- (161,184)
INFORMATIONS-WARTESCHLANGE
Λ2.
JJL
JJ.
DATEN
(U
X-Koord.
177.
-L3JL
209
209
209
217
Ja.
•H rH OQ
SL
SL
SL
SL
SL
bid.
AL·
IL·
JJEl
AL·.
JLfi.
-UL
Jy »TI U)
_L5-
23
ι 1 121 ι I 3 1 lsi I η I ι 1 h
IDR
TAR
E/NE
NÄ3BT„LEERES REG.

Claims (15)

PatentansprücheT*"^
1. Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Büdschirmeinheiten als Monitoren mit Einrichtungen zur Bereitstellung von Zeichen und Vektoren, die im Ansprechen auf zugeführte Eingangs- bzw. Steuerdaten über eine Speichervorrichtung darzustellender Symbole und einen Multiplexer mit den einzelnen Monitorkanälen wahlweise in Verbindung stehen, indem durch einen hieran angeschlossenen Generator ein Muster von Bildpunkten erzeugt wird und Partialrasteraufbauspeicher vorgesehen sind; gekennzeichnet durch eine Spezialrecheneinheit (50) sowohl zur Festlegung von Anfangspunkt, Richtung und Länge eines jeweils darzustellenden Vektors als auch zur Bestimmung des Zeichenabstands, Unterdrückung von Betriebszeichen und Spezifizierung darzustellender Zeichen, die direkt einem Warteschlangen-Zwischenregister (200) zuführbar sind, durch einen an die Spezialrecheneinheit (50) angeschlossenen Vektorsegmentcodierer (100) sowohl zur Zerlegung des Vektors in eine untereinander verbundene Folge von Vektorsegmenten als auch zur Codierung der Segmente in Vektorsegmentworte, die jeweils aus den Anfangskoordinatenwerten, der Länge und den Symbolcodedaten bestehen, durch das sowohl zur Übertragung alphanumerischer Zeichen mit der Spezialrechnereinheit (50) direkt verbundene als auch an den Vektorsegmentcodierer (100) angeschlossene Warteschlangenzwischenregister (200) zur Sortierung der in zufälliger Reihenfolge zugelieferten Symbole nach der K-Adresse ihres jeweiligen Anfangs und Ausgabe in entsprechender Verschachtelung als Symbolbündel jeweils gleicher K-Adresse; durch ein hieran angeschlossenes Auffrischungsregister (300), in dem die Vektorsegmentworte in einem erweiterungs- bzw. fortschreibungsfähigen Listenspeicher (Liste 306* geordnet nach Rasterzeilenwerten der Bildschirmanzeige speicherbar sind, wobei die Vektorsegmentworte zyklisch am Kopf der Liste zur Ausgabe für Decodierung und Anzeige auslesbar und am Fuß dieser Liste (306) geordnet nach dem K-Wert zyklisch wieder einschreibbar sind, indem neue Vektorsegmentworte vom Vektorsegmentcodierer (100) bei Unterbrechung der zyklischen Operation des Lesens vom Kopf der Liste (306) zuführbar und überholte bzw. nicht mehr gebrauchte Vektorsegmentworte aus der Liste (306) durch Unterbrechung des zyklischen Schreibvorgangs am Fuß der Liste (306) ausstreichbar sind.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Vektorsegmentcodierer (Fig. 11) jeweils Register (102, 104, 106, 108) zur Aufnahme der Daten für Richtung (Steigungsregister), Oktanten, Länge (Abstandsregister) und Anfangspunktkoordinaten (X- und V-Eingangsregister) der darzustellenden Vektoren von einem externen Prozessor (40) enthält, daß zur Zerlegung in Untervektoren eine mit dem Abstandsregister (104) verbundene zyklisch betriebene Subtraktionsanordnung (118, 120,121), der eine Vektorstandardlänge als Substrahent zuführbar ist und die ein Restregister (118) zur zyklischen Speicherung der jeweils reduzierten Vektorlänge als Restlänge unter jeweiligem zyklischen Längenvergleich aufweist, und daß mit dem Steigungsregister (102) verbundene Richtungsmcdifizierungsmittel (132, 134, 136, 148, 150) zyklisch die Differenz zwischen eingegebenen Richtungswerten und einem Standardrichtungswert für eins von mehreren Vektorsegmenten, in welche der darzustellende Vekior zerlegt ist, ermitteln, wobei Mittel (138, 140) vorgesehen sind, um einen kumulierten Richtungsabrundungsfehler zu korrigieren, an deren Ausgang ein modifiziertes Steigungs-Register (142) liegt, das mit seinem Ausgang einerseits mit der Vektorsegmentcodiermatrix (128) verbunden ist, deren zweiter Eingang am Ausgang des Oktantenregisters (OKT) liegt, und andererseits mit einer ALU (146) (arithmetisch logische Einheit) zur Berechnung und zyklischen Erzeugung der jeweiligen Anfangspunktkoordinaten der Vektorsegmente des darzustellenden Vektors verbunden ist.
3. Anordnung nach Anspruch 1 und/oder Anspruch 2, dadurch gekennzeichnet, daß das Warteschlangenregister (Fig. 12) einen mit seiner Eingangsleitung verbundenen Indexspeicher (232) zur Speicherung der Warteschlangen-Hinweisadressen entsprechend den jeweils zugeordneten Rasterzeilenwerten der Darstellungsanzeige besitzt, wobei die Hinweisadressen jeweils diejenige Stelle in einem Wurteschlangenspeicher (202) anzeigen, die den Anfang entsprechender Datenverschachtelung zugeordnet ist, daß der Indexspeicherausgang mit dem Eingang des Warteschlangenspeichers (202) zum Erfassen des Verschachtelungsanfangs der hierin gespeicherten Darstellungsanzeigedaten verbunden ist, daß ein NER-Register (214) mit dem Warteschlangenspeicher (202) in Verbindung steht, um die Warteschlangen-Speicherstelle des Verschachtelungsanfangs für die Warteschlange leerer Register zu speichern und daß mit dem A/FÄ-Regjster (214) und mit dem Warteschlangenspeicher (202) sowohl zum Auslesen der Darstellungsanzeigedaten in einer Verschachtelungsdatenfolge entsprechend denn akzeptierten Rasterzeilenwert im Indexspeicher (232) als auch zum Verschachteln der geleerten Speicherstellen im Warteschlangenspeicher (202) mittels Speicherung der jeweils zugeordneten Adresse in das NER-Register (214) als nächster Verschachtelungsanfang leerer Speicherstellen ein Steuerkreis (210) vorgesehen ist.
4. Anordnung mindestens nach Anspruch 1, dadurch gekennzeichnet, daß das Auffrischungsregister (Fig. 14) aie Liste als Speicher (306) mit zyklischer Adreßfolge für η aufeinanderfolgende Worte enthält, dessen Eingang mit dem Ausgang des Warteschlaingenregisters (200) verbunden ist, dessen abgegebene Daten in Form der aufeinanderfolgenden Worte speicherbar sind und dessen Ausgang an den Eingang des Symbolgenerators (400) angeschlossen ist, daß eine Speicherleseeinrichtung (302, 326, 324) mit einer Lesezugriffsstation (326) versehen ist, um erste Speicherstellen am Kopf der Liste unter Übertragung der hierin enthaltenen Darstellungsanzeijieworte auf den Symbolgenerator löschend auszulesen, daß eine Schreibzugriffsstation (304) vorgesehen ist, um diese Darstellungsanzeigeworte wieder in zweite Speicherstellen am Fuß der Liste einzuschreiben, daß Steuermitte! (338) im elastischen Auffrischungsregister enthalten sind, um sowohl den zyklischen Lese-Zugriff der Eingabe neuer Darstellungsanzeigeworte an den Fuß der Liste als auch den zyklischen Schreib-Zugriff zum
Löschen gespeicherter
am kopf der Liste zu umei-breche».
5. Anordnung nach einem der ^iibprüche t bis 4, dadurch gekennzeichnet, tiaU jedes Vektorsegmeutwort die Vektorunfangspunkikooidinaieri als X-, y-Werte, die Vektorlänge und eilten Synibolco.je für das jeweils zugehörige Vektorsegment spezifiziert, wobei di<i Vektorsegnientworte in zufälliger Kolge ihrer X-. y-Anfaogskoordinatenwerie vom Warteschlangenregister (200) aufgenommen, jeweils ent sprechend gemeinsamer Y-Werte in Form verschachtelter Warteschlangen hierin speicherbar sind, daß der Eingang des Auffrischungsregisiers (300) am Ausgang des Warteschlangenregisiers (200) liegt, um die Vektorsegmentworte mit einem durch das Auffrischungsregister (300) spezifizierten Y-Wert hierin in einer nach V-Werten geordneten Liste (306) zu speichern
6. Anordnung mindestens nach Anspruch l, dadurch gekennzeichnet, daö der Eingang jedes Partialrasteraufbauspeichers (z. B. 604) zur Aufnahme des Rasters von Punktbeleuchtungssignalen dient, die zum Auslesen und zur Anzeige in einem hieran angeschlossenen Speicher, geordnet nach ,Y-. y-Werten speicherbar sind, wobei die X-, V-Anfangskoordinatenwerte des jeweils darzustellenden Vektorsegmems als Speicherstetlenadresse des genannten Rasters und die Vektorseginentlängensignale zur wählbaren Abkappung obengenannter, im Speicher vorhandener Signalraster dienen.
7. Anordnung nach den Ansprüchen I bts b, dadurch gekennzeichnet, daß die Vektorsegmentfolge zur Beschreibung eines darzustellenden Vektors aus einem Symbolsatz von 4 n-Vektoren ausgewählt ist, wovon jedes vollständige Vektorsegmem orthogonale Komponenten der Größen und nt besitzt, wobei gilt: 0 < m < η für ganzzahlige .α
8. Anordnung nach den Ansprüchen 1 bis 7. dadurch gekennzeichnet, daß in der Spezialrecheneinheit (50) Mittel vorgesehen sind, um sicherzustellen, daß die Ordinate des Vektoranfang:spunktes für den darzustellenden Vektor nicht kleiner ist als die Ordinate der Vektorspitze.
9. Anordnung nach den Ansprüchen I bis 8. dadurch gekennzeichnet, daß die Richtungsdatenworte für einen darzustellenden Vektor aus einem Oktantenteil zur Beschreibung, welcher der vier Oktanten einen negativen Ordinatemvert besitzt, aus einem hohen Stellenwertteil, der den angenäherten Wert als min für den Winkel zwischen darzustellendem Vektor und der Abszisse bzw. Ordinate, wie er im Oktantenteit enthalten ist, wiedergibt, und aus einem niedrigen Stellenwertlei! besteht, der die Differenz zwischen dem Wert ml η und dem wahren Wert für den Tangens des genannten Winkels wiedergibt.
10. Anordnung nach den Ansprüchen 1 bis 9, dadurch gekennzeichnet, daß die Längendatenworte aus einem Oktantenteil, aus einem hohen Stellenwertteil zur ohne Überschreitung der wahren Länge des darzustellenden Vektors dienenden Erfassung der Anzahl vollständiger Vektorsegmente mit orthogonalen Komponenten jeder Lunge η längs der in in dem durch den Oktantenteil definierten Oktanten enthaltenen Ordinate bzw. Abszisse, und aus einem niederen Stellenwertteil zur bei sonst gleichen Bedingungen dienenden Erfassung der Differenz zwischen wahrer Vektorlänge und der
40
50
5s durch die Gesamtheit aller Vektorseginente gebildete» Vektorlänge.
11. Anordnung imch den Ansprüchen I bis 10, dadurch gekennzeichnet. Juli ein X-Abszisst;nregister (110) und ein V-Ordinatenregister (t!2) steuerbar mit dein X- bzw. Y-EUigangsregister (106, 1(W) verbunden sind, um den Anfangskoordinatenwert für ein erstes Vekiorsegmem zu speichern.
12. Anordnung mindestens nach Anspruch 2 und Anspruch 10, dadurch gekennzeichnet, daß das Resiregisicr (I tS) für die Vektoriänge steuerbar nut dem hohen Stellenweriieil des Abstandsregisters (104) zur Speicherung der Anzahl vollständiger V'ektorseginente verbunden ist, wobei zur schrittweisen Verminderung des Resrregisterinhaits nach Codierung jedes Vektorsegmeniwories eine Subirakiiomeinrichiung (123) an das Restregister (118) angeschlossen ist, und eine Vergleichsemnchtung (120) den Kegisterinhak mitO vergleicht
i i. Anordnung mindestens nach Anspruch 2 und Anspruch tO, dadurch gekennzeichnet, daß ein erste! Addierer (132) steuerbar mit dem niederen Stellenwmieil des Sieigungsregisters (102) verbunden ist, um den Richtungs-Restwert für ein vorgegebenes Vektorsegment zu den kumulierten Richtungs-Restwerten vorher codierter Vektorsegmeute zu addieren, indem das Testregister (150) als kumulatives Richtungs-Restregtster steuerbar mit dem ersten Addierer (132) verbunden ist» um die kumulierten Richtungs-Restwerte für die vorher codierten Vektorsegmente zu speichern und auf den erste» Addierer (132) übertragen zu können, und ein zweiter Vergleicher (136) zum Vergleich de> kumulativen Richtungsrestes mit dem Wert 0.5 an den ersten Addierer (132) angeschlossen ist, so daß der Inhalt des kumulativen Richtungs-Restregisters jeweils um den Richtungsrestwert bei Werten kleiner als 0,5 erhöht und jeweils um 1 verringert wird, wenn der kumulative Richtungs-Restwert größer als 0,5 ist und daß fernerhin ein, zweiter Addierer (140) mit dem hohen Stellenwertteti des Steigungsregisters (102) steuerbar verbunden ist und andererseits an den Richtungsvergleichsmitteln (136) angeschlossen ist. so daß selektiv die Richtung des zu codierenden Vektorsegments von cn/η nach (m + ly/i abgeändert wird, wenn der kumulative Richtungs-Restwert größer als Oö wird.
14. Anordnung mindestens nach den Ansprüchen I, 2 und 13, dadurch gekennzeichnet, daß die arithmetisch logische Einheit (146) ALU jeweils steuerbar mit dem zweiten Addierer (140X mit dem Oktanlen-Register und mit dem A'-Abszissenregistei (110) sowie dem V-Ordinatenregister (112) in Verbindung steht, um die Anfangspunktkoordinaten des nächsten zu codierenden Vektorsegments einmal durch Addition vom Wert η entweder zu den Inhalten des Λ-Abszissen- (HO) txier V-Ordinaten Registers (112), wenn X- oder V-kooidinatenwerte jeweils den im X-Abszissenregister (HO) und im V-Ordinatenregister (112) enthaltenen Werten entsprechen, oder zu den im durch das Oktantenregister ausgewiesenen Oktanten enthaltenen Abszissen· und Ordinatenwerten zu errechnen und zum anderen, wenn X- oder V-Koordinaten werte jeweils den im X-Abszissenregister (110) und im V-Ordinatenregister (112) enthaltenen Werten nicht entsprechen, durch Addieren oder Subtrahieren des Wertes der modifizierten Richtung zum bzw. von den
Inhalten der X-Abszissen (UO), V-Ordinatenregister (112) oder zu bzw. von den Abszissen- oder Ordinatenwerten im Oktanten.
15. Verfahren zur Erzeugung einer Folge von Vektorsegmentworten unter Anwendung einer Anordnung nach den Ansprüchen 1 bis 14, dadurch gekennzeichnet, daß ein darzustellender Vektor mit einer solchen Orientierung, bei der die Ordinate des Vektoranfangspunktes nicht kleiner als die der Vektorspitze ist bezüglich seines Anfangspunkts, seiner Länge und seiner Richtung berechnet und entsprechende Datenworte codiert werden und daß der im Richtungsdatenwort enthaltene Oktantenteil anzeigt, welcher der vier negativen Oktanten den darzustellenden Vektor enthält.
IO
DE19742456746 1974-11-30 Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung Expired DE2456746C3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19742456746 DE2456746C3 (de) 1974-11-30 Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19742456746 DE2456746C3 (de) 1974-11-30 Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung

Publications (3)

Publication Number Publication Date
DE2456746A1 DE2456746A1 (de) 1976-08-12
DE2456746B2 DE2456746B2 (de) 1977-02-10
DE2456746C3 true DE2456746C3 (de) 1977-09-29

Family

ID=

Similar Documents

Publication Publication Date Title
DE2829668C3 (de) Kanaldatenpufferspeicher
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
EP0096079B1 (de) Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen
DE3718501A1 (de) Videoanzeigegeraet
DE3625390A1 (de) Graphisches anzeigesystem mit beliebiger rberlappung von bildausschnitten
DE2132250C3 (de) Datenübertragungssystem
DE2264090A1 (de) Datenverdichtungssystem
DE2731955A1 (de) Zeichengenerator mit hoher aufloesung
DE2550268A1 (de) Schnelldrucker fuer datenverarbeitungssysteme
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
DE4408990C2 (de) Verfahren zur Verwaltung von Farbdaten
DE3490148C2 (de) Vorrichtung zur Erzeugung unterschiedlicher Figuren in einem computergesteuerten Darstellungssystem
DE2652900C2 (de) Steuerschaltung zur Bildwiederholung für ein Raster-Datensichtgerät
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3347644A1 (de) Grafikanzeigeeinrichtung
DE2423817A1 (de) Verfahren und schaltungsanordnungen zur codierung zweidimensionaler bildinformationen
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
EP0099321B1 (de) Anordnung zur Wiedergabe von graphischen Informationen
DE2213953C3 (de) Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes
DE2550212B2 (de) Drucker mit pufferspeicher
DE3209187A1 (de) Verfahren zur darstellung eines textes auf einer einzeiligen anzeigevorrichtung eines texterstellungsgeraetes
DE2744321A1 (de) Bildschirmgeraet
DE3941550C2 (de) Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur
DE2456746C3 (de) Anordnung zur Zeichen- und Symboldarstellung auf Kathodenstrahl-Bildschirmeinheiten und Verfahren unter Anwendung der Anordnung
DE2641971A1 (de) Digitale tisch-buchungs- und -rechenmaschine