DE3130460A1 - Datensichtsystem mit einem mikroprozessor - Google Patents
Datensichtsystem mit einem mikroprozessorInfo
- Publication number
- DE3130460A1 DE3130460A1 DE19813130460 DE3130460A DE3130460A1 DE 3130460 A1 DE3130460 A1 DE 3130460A1 DE 19813130460 DE19813130460 DE 19813130460 DE 3130460 A DE3130460 A DE 3130460A DE 3130460 A1 DE3130460 A1 DE 3130460A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- address
- series
- screen
- 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.)
- Ceased
Links
- 239000000872 buffer Substances 0.000 claims description 38
- 238000011084 recovery Methods 0.000 claims description 3
- 108091081062 Repeated sequence (DNA) Proteins 0.000 claims 1
- 238000000034 method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 238000000926 separation method Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004397 blinking Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/222—Control of the character-code memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/30—Control of display attribute
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/34—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
- G09G5/343—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a character code-mapped display memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Description
Dipl.-Ing. Hans-Jürgen Müller DipL-Chem. Dr. Gerhard Schupfner
DIpL-Ing.Hans-Peter Gauger F.092
Standard Microsystems Corporation
35 Marcus Boulevard Hauppauge, N.Y. 11787
USA
Datensichtsystem mit einem Mikroprozessor
Datensichtsystem auf Mikroprozessor-Basis
Die Erfindung bezieht sich auf Datensichtgeräte, insbesondere auf ein Videoprozessor- und -Steuergerät zur
Verwendung.mit Datensichtsystemen auf Mikroprozessor-Basis.
Verschieden aufgebaute Datensichtgeräte sind bekannt und werden in großem Umfang eingesetzt. Seit der Einführung
des Mikroprozessors sind Datensichtgeräte "intelligent"; d. h. sie sind nicht mehr vollständig von einem externen
Prozessor für die Dateneingabe, die Abwicklung sowie für Anschlußzusätze wie Unterstreichen, Blinkunterstreichen,
invertierte Zeichendarstellung, geteilter Bildschirm etc. abhängig.
Die ersten Datensichtsysteme benötigten mindestens 100
Mittel- und Kleinbereichs-Integrationselemente zur Realisierung einer relativ geringen Anzahl von Änschlußzusätzen.
Ein Beispiel für ein frühes Datenendgerät ist das Lear-Seigler-ADM-3-Gerät. Datensichtsysteme der zweiten
Generation begannen mit dem Einsatz eines Mikroprozessors in Verbindung mit Großintegrations-Videosteuergeräten,
die viele notwendige Funktionen* die vorher mit Mittel- und
31304ÖU
Kleinbereichs-Integration erhalten wurden, ζ. Β»
Synchronzeitsteuerung und Speicheradressierung, ausüben konnten. Ein Beispiel für ein solches Videosteuergerät
der zweiten Generation ist das Gerat SMC CRT 5027 der Standard Microsystems Corporation, Hauppauge, New
York. Durch die Verwendung eines Mikroprozessors in Verbindung mit einem Großintegrations-Videosteuergerät ergab
sich ein Mittel, mit dem "intelligente" Zusätze wie Zeichen- und Zeilenaufbereitung und andere Wortverarbeitungszusätze
in das Anzeigesystem eingebaut werden konnten. Bei Datensichtsystemen der zweiten Generation treten
jedoch immer noch viele ungelöste Probleme auf, die nachstehend erläutert werden.
Speieher-Konkurrenzbetrieb:
In einem Datensichtsystem müssen der Mikroprozessor und
das Videosteuergerät Zugriff zum gleichen Speicher haben, der zur.Speicherung von Information vor der Anzeige verwendet
wird. Das Videosteuergerät muß ständig Zugriff zum Speicher haben, um den Bildschirm "aufzufrischen" bzw.
die Bilder zu wiederholen; der Mikroprozessor muß Zugriff zum Speicher haben, um Speicherplätze für die Anzeige
von Information auf dem Bildschirm zu aktualisieren oder zu modifizieren. Zeitweise verlangen sowohl der Mikroprozessor
als auch das Videosteuergerät gleichzeitig Speicherzugriff. Eine Lösung des Problems des Speicher-Konkurrenzbetriebs
muß sowohl eine Sichtanzeige-Integrität und -Beständigkeit sicherstellen als auch gleichzeitig
einen schnellen Zugriff zum Speicher ermöglichen. Bisherige Video-Steuergeräte sind hinsichtlich der Lösung
dieses Problems des Speicher-Konkurrenzbetriebs insofern ineffizient, als sie eine Aktualisierung des Mikroprozessors
nur während des Vertikal- oder Horizontalrücklaufs ermöglichen, wodurch die Dateneingangsgeschwindigkeitin
das System begrenzt wird, oder indem sie eine große
Anzahl externer Schaltungen benötigen, um einen annehmbaren Durchsatz des Mikroprozessors sicherzustellen. Bekannte Videosteuergeräte haben ferner nur wenige verfügbare Möglichkeiten für den Speicher-Konkurrenzbetrieb,
wodurch die Flexibilität der Systemauslegung eingeschränkt wird.
Leichtigkeit und Flexibilität der Hardware- und Software-Implementierung:
Bisherige Videosteuergeräte benutzen hauptsächlich das
sequentielle Speicherzugriffsverfahren zur Bildwiederholung. Dies bedingt, daß sämtliche anzuzeigenden Daten
in unmittelbar aufeinanderfolgenden Speicherplätzen gespeichert sind. Um mit diesem Verfahren eine Bildschirm-Aufbereitungsoperation wie etwa das Auslassen einer Zeile
durchzuführen, muß durchschnittlich die Hälfte der gesamten Bildschirmdaten im Speicher verschoben werden.
Dadurch wird der Mikroprozessor belastet und der Durchsatz stark verringert.
Ferner ist es hin und wieder erwünscht, Reihen von Zustandsdaten anzuzeigen, die den Bediener über spezielle
Zustandsbedingungen im System informieren, während gleichzeitig nicht den Zustand betreffende Datenreihen vom
Bildschirm wegbewegt werden, während neue Daten in den Speicher eingegeben werden (z. B. von einem Datenübertragungs-Pufferspeicher). Bisherige Videosteuergeräte erfordern schwierige und zeitraubende Software und/oder
zusätzliche Hardware zur Ausführung dieser Funktionen.
Bisher ist es schwierig gewesen, einen vertikal geteilten Bildschirm zu realisieren, d. h. eine Anzeige mit
zwei oder mehr unabhängigen Spalten. Ein Beispiel für diese
Anwendung ist ein Zweisprachen-Bildschirm, auf dem die linke Seite eine Sprache, r. B. Englisch, und die rechte
Seite eine zweite Sprache, z. B. Französisch, angibt. Bei solchen Anwendungen ist es erwünscht, jede Seite
des Bildschirms unabhängig modifizieren zu können. Bisher war dies schwierig, weil bei den heutigen Videosteuergeräten
zur Änderung eines Teils des Bildschirms der ganze Bildschirm manipuliert werden muß.
Gleichmäßiges Verschieben:
Heutige Steuergeräte können nicht in wirksamer Weise gleichmäßige Verschiebeoperationen unterstützen. Damit
ist die Fähigkeit gemeint, die Anzeige z. B. um nur eine Rasterbildzeile je Datenübertragungsblock nach -oben
oder unten zu verschieben. Auf bestimmten Anwendungsgebieten ist es auch erforderlich, daß ein Teilausschnitt
der Anzeigeseite gleichmäßig verschoben werden kann. Um diese Verschiebezusätze bei heutigen Videosteuergeräten
zu realisieren, ist viel zusätzliche Hardware erforderlich,
wodurch die Kosten für das Gesamtsystem steigen.
Attribut-Handhabung:
Heute gibt es grundsätzlich zwei Arten von Zeichenattributen, die entweder eingebaut oder unsichtbar sind.
Bei der Methode mit "eingebauten Attributen" (embedded attributes) werden Attribute erzeugt, indem Attributzeichen
in den Anzeigezeichenstrom eingefügt (eingebettet bzw. eingebaut) werden. Ein Anzeigezwischenraum auf dem Bildschirm
wird für jede Attributänderung benötigt, und das neue Attribut ist bis zum Auftreten der nächsten Attributänderung
wirksam. Bei eingebauten Attributen ist es unmöglich, Attribute wie Farbe, Blinken, invertierte Zeichendarstellung
oder Unterstreichen auf einer Zeichen-zuZeichen-Basis zu handhaben. Unsichtbare Attribute nehmen
zwar keinen Anzeigezwischenraum ein, dafür wird jedoch die
Bitbreite jedes Zeichens im Speicher vergrößert, um ein Bit für jedes unabhängige Attribut aufzunehmen. Um also
drei Attribute aufnehmen zu können, muß der Zeichenspeicher selbst um drei Bits verbreitert werden. Dadurch
ergibt sich ein sehr großer zusätzlicher Mikroprozessorplatzbedarf, insbesondere, wenn ein 8-Bit-Standardmikroprozessorsy
stern verwendet wird.
Doppelte Reihenhöhe und -breite:
Heutige Videosteuergeräte ermöglichen keine doppeltbreiten und doppelthohen Zeichenreihen oder ein gleichmäßiges
Verschieben solcher Reihen. Zur Implementierung dieser Zusätze ist sehr viel kostspielige Hardware und
Software erforderlich.
Aufgabe der Erfindung ist die Schaffung eines Videosteuergeräts, mit dem die bei bekannten Videosteuergeräten auftretenden
Probleme lösbar sind, ohne daß Hardware und Software zusätzlich komplizierter werden; dabei soll ein
Datensichtsystem geschaffen werden, bei dem Endgerätezusätze, die bisher nicht verfügbar waren, in einfacher
Weise implementiert werden können.
Das Datensichtsystem nach der Erfindung mit einem Mikroprozessor, einem Speicher, einem Videoprozessor-
und -Steuergerät, einem Datenbus, der das Videoprozessor- und -Steuergerät mit dem Mikroprozessor und
dem Speicher verbindet, und einem Adreßbus, der das Videoprozessor- und -Steuergerät mit dem Mikroprozessor
und dem Speicher verbindet, ist dadurch gekennzeichnet, daß das Videoprozessor- und -Steuer-
/It
gerät aufweist eine Mehrzahl programmierbare Speicherregister, wobei ein erster Teil der Mehrzahl Speicherregister
an den Datenbus und ein zweiter Teil der Mehrzahl Speicherregister sowohl an den Datenbus
als auch an den Adreßbus angeschlossen ist und jedes Speicherregister von dem Mikroprozessor
so programmierbar ist, daß ausgewählte Adreßzeichen und Steuerzeichen speicherbar sind, und
Einheiten für den Zugriff zu den programmierbaren Speicherregistern über den Adreßbus und den Datenbus
und für die Nutzung der in den Speicherregistern gespeicherten ausgewählten Adreß- und
Steuerzeichen zur Wiedergewinnung ausgewählter Information aus dem Speicher zwecks Anzeige auf
dem Bildschirm des Datensichtsystems.
In vorteilhafter Ausbildung der Erfindung umfaßt das
Datensichtsystem einen Zeichengenerator zur Anzeige von Zeichen auf dem Bildschirm und einen Datenpuffer,
der zwischen den Speicher und den Zeichengenerator geschaltet ist.
In weiterer Ausbildung der Erfindung ist vorgesehen,
daß das Videoprozessor- und -Steuergerät Information aus dem Speicher wiedergewinnt, die Information im
Datenpuffer speichert und sie dem Zeichengenerator zuführt, ohne daß ein weiterer Speicherzugriff
durch das Videoprozessor- und -Steuergerät erforderlich ist;
Fig. | 5 |
und | 6 |
Fig. | 7 |
und | 8 |
Fig. | |
-yf-
Anhand der Zeichnung wird die Erfindung beispielsweise näher erläutert. Es zeigen:
Fig. 1 das Blockschaltbild eines Datensichtsystems auf Mikroprozessor-Basis;
Fig. 2 das Blockschaltbild des Videoprozessors und Steuergeräts nach der Erfindung;
Fig. 3 einen sequentiellen Speicheradressierungsplan nach der Erfindung;
Zeilentabellen-Adressierpläne nach der Erfindung;
Attribut-Assemblerspeicherung nach der
Erfindung; und
ein weiteres Ausführungsbeispiel des Videoprozessors und Steuergeräts nach der Erfindung.
Nach Fig. 1 wird auf einem Bildschirm (nicht gezeigt) anzuzeigende Information in einem Videospeicher 10 gespeichert,
der ein handelsüblicher Halbleiter-Direktzugriffsspeicher bzw. RAM ist. Zu dem RAM haben ein Mikroprozessor 20 oder
ein Videoprozessor-und -steuergerät VPAC ^O Zugriff. Information ist in dem Speicher 10 entweder über ein lokales
Tastenfeld (nicht gezeigt) oder eine entfernte Datenquelle speicherbar. Der Datenfluß in den und aus dem Videospeicher
10 wird von dem VPAC ^O über einen Adressenbus 70 und einen
Datenbus 60 gesteuert. Der Mikroprozessor 20 führt Datensteuer- und -managementfunktionen für das Datensichtgerät
aus, die nicht Teil der vorliegenden Erfindung sind.
Ein Datenpufferspeicher 30 dient als Schnittstelle zwischen
dem Videospeicher 10 und einem Zeichengenerator 50 und wirvon dem VPAC k0 gesteuert. Der Datenpufferspeicher führt eine
Vielzahl Funktionen aus, wie noch erläutert wird; haupt-
sächlich handelt es sich dabei um Funktionen zum vorübergehenden
Speichern von Daten aus dem Speicher, während gleichzeitig vorher empfangene Daten dem Zeichengenerator
zugeführt werden. Mit dem Datenpufferspeicher ist es möglich, Information aus dem Speicher mit geringerer Geschwindigkeit
zu empfangen, als sie für die Zufuhr von Daten zum Zeichengenerator und zum Bildschirmgerät erforderlich
ist.
Der Zeichengenerator 50 hat die Funktion, im Videospeicher
gespeicherte Daten in Zeichen zur Anzeige auf dem Bildschirmgerät umzusetzen. Dieser Vorgang wird unter Steuerung
durch das VPAC ausgeführt. Ein Bildschirmgerät muß ständig aufgefrischt werden, um eine stabile Bilddarstellung zu
erzeugen. Daher muß das VPAC den Video-RAM ständig adressieren und Daten aus dem RAM ständig zu dem Datenpufferspeicher
und von dort zu dem Zeichengenerator richten, um eine Bildwiederholung sicherzustellen. Zeichengeneratoren sind
bekannt; ein typischer Zeichengenerator ist das Modell CRT 8002 der Standard Microsystems Corporation, Hauppauge,
New York.
Der Kern des Systems ist das VPAC. Dieses Gerät erzeugt sämtliche erforderlichen Taktsignale wie Vertikalsynchronimpulse,
Horizontalsynchronimpulse und Austastimpulse zur Steuerung des Bildschirmgeräts. Zusätzlich löst das VPAC
vorteilhafterweise die bei bekannten Videosteuergeräten auftretenden Probleme und sieht hochentwickelte Video-Zusätze
vor, die nachstehend erörtert werden.
Das hier angegebene VPAC handhabt den Speicher-Konkurrenzbetrieb in verschiedener Weise. Eine Möglichkeit ergibt
sich durch die Verwendung des externen Datenpufferspeichers
30 nach Fig. 1. An der ersten Bildzeile jeder
neuen Datenreihe verlangt das VPAC ^O direkten Speicherzugriff
zum Mikroprozessor 20 über den Direkt-Speieherzugriffs-Bus
80. Der Mikroprozessor muß diese Direkt-Speicherzugriffs-Anforderung
vor Beginn der aktiven Sichtanzeige gewähren, und zwar normalerweise innerhalb einiger Mikrosekunden. Wenn die Mikroprozessor-Erlaubnis
vorliegt, werden dem Videospeicher 10 von dem VPAC während der ersten Bildzeile der Datenreihe Videoadressen präsentiert.
Da diese Adressen dem Speicher mit der Anzeigezeichengeschwindigkeit präsentiert werden, werden die aus
dem Speicher ausgelesenen Zeichen an den Datenzwischenspeicher 30 und gleichzeitig an den Zeichengenerator 50
ausgegeben. Am Ende der ersten Bildzeile in der Datenreihe sind sämtliche Daten in den Datenzwischenspeicher
eingeschrieben. Dann gibt das VPAC die Direkt-Speieherzugriff
s-Anforderungsleitung zum Mikroprozessor auf, so daß
der Mikroprozessor Speicher zugriff für andere Operationen
hat.
Bei den übrigen N-I Bildzeilen, wobei N = Gesamtanzahl
Bildzeilen je Datenreihe, werden die Bildschirmwiederholdaten aus dem Datenzwischenspeicher ohne zusätzlichen
Zugriff zum Speicher ausgelesen. Dies erlaubt einen unbegrenzten Speicherzugriff für N-I Bildzeilen der insgesamt
N Bildzeilen je Datenreihe. Dies bedeutet bei einer typischen Anzeige mit 12 Bildzeilen je Datenreihe, daß
das VPAC während nur 8 % der insgesamt verfügbaren Speicherzykluszeit
Zugriff zum Speicher hat und daß dem Mikroprozessor die übrigen 92 % des Speicherzyklus zur Verfügung
stehen. Dadurch ergibt sich eine hohe Busbandbreiten-Nutzung, ein hoher Durchsatz für den Mikroprozessor und ein geringes
Laden des Systems durch das VPAC.
Diese Methode zur Lösung des Speicher-Konkurrenzbetriebs
ist für viele Anwendungsgebiete befriedigend. Bei bestimmten
Systemanwendungen ist es jedoch unerwünscht, den Mikroprozessor für die Dauer einer Bildzeile (typischerweise
50-60 us) vom Speicher auszuschließen. Dieser Zustand kann in einer Situation eintreten, in der der Mikroprozessor
ein Hochgeschwindigkeits-Peripheriegerät, z. B. ein Floppy-disk, bedient, was einen Speicherzugriff zum Auslesen
oder Einschreiben von Information mit einer Häufigkeit bis zu einem Byte je 14 us erforderlich machen kann. In dieser
Situation wird durch das VPAC eine zweite Möglichkeit zur Lösung des Speicher-Konkurrenzbetriebs geschaffen. Dabei
wird das VPAC mit dem Mikroprozessor softwareprogrammiert
zur Zusammenarbeit mit einem externen Doppelreihen-Pufferspeicher (nicht gezeigt). Ein Doppelreihen-Pufferspeicher
entspricht im wesentlichen dem Pufferspeicher 30, kann jedoch
zwei Datenreihen speichern. Mit einem Doppelreihen-Pufferspeicher
wird die erste Datenreihe in den Pufferspeicher während
des VertikalrücklaufIntervalls eingelesen, und während
die erste Datenreihe zur Anzeige gebracht wird, wird in die zweite Hälfte des Doppelreihen-Pufferspeichers die
zweite Datenreihe eingelesen. Somit stehen dem VPAC insgesamt N Bildzeilen (H = Anzahl Bildzeilen je Datenreihe)
zur Verfügung, in denen die Datenreihen-Inhalte in die
zweite Hälfte des Doppelreihen-Pufferspeichers einlesbar
sind. Das VPAC kann in einer Stoß-ZVerzögerungs-Direkt-Speicherzugriffs-Betriebsart
programmiert sein, so daß das Direkt-Speicherzugriffs-Signal nur M Zyklen anfordert
(M = eine programmierbare Zahl) und dann für die Dauer von P Zyklen inaktiv wird (P = ebenfalls eine programmierbare
Zahl),, so daß während des P-Intervalls der Bus und der
Speicher einem anderen Gerät zur Verfugung stehen. Ein typisches Beispiel hierfür ist ein Direkt-Speicherzugriffs-Stoß
von 16 Zeichenzyklen, gefolgt von einer Direkt-Speicherzugrif fs-Verzögerung von 8 Zyklen vor dem nächsten
Stoß von 16 Zyklen. Ein System, das mit einer Zeichenge-
ης ■
schwindigkeit von 500 ns arbeitet, würde dann einen externen Zugriff von einem Gerät wie einem Floppy-disk mit ■
einer Häufigkeit von bis zu einmal während jeweils 8 us ; ermöglichen. Da Direkt-Speicherzugriffs-2yklen nicht ·
kontinuierlich, sondern stoßweise auftreten, erfordert
das Einlesen der Datenreihe in den Pufferspeicher mehr
als eine Bildzeile. Da jedoch die Operation nunmehr mit j
einem Doppelreihen-Pufferspeicher durchgeführt wird,
stehen dem VPAC bis zu N Bildzeilen zur Vervollständigung !
des Einlesens zur Verfügung.
Zusätzlich zu den Möglichkeiten zur Lösung des Speicher-Konkurrenzbetriebs mit Einzel- und Doppelreihen-Pufferspeicher ist es auch möglich, das VPAC ohne Pufferspeicher
zu betreiben. Dabei bietet das VPAC seine Adressen dem Speicher während jeder Bildzeile an. Der Mikroprozessor
kann jedoch eingreifen und direkt aus dem Speicher auslesen bzw. in diesen einschreiben, so daß der Benutzer
vorsichtig sein muß, wenn ohne Pufferspeicher gearbeitet wird. Durch den Wegfall des Pufferspeichers wird zwar
Hardware eingespart, dieses Vorgehen begrenzt jedoch den Systemdurchsatz, wenn nicht zusätzliche Hardware wie
ein Mehrphasenspeicher eingesetzt wird oder eine gelegentliche Bildschirmstörung oder ein Bildverlust annehmbar sind.
Eine Bildschirmstörung oder ein Bildverlust treten auf, da immer dann, wenn der Mikroprozessor Speicherzugriff hat
und gleichzeitig das VPAC einen Speicherzugriff wünscht, ein momentaner Bildwiederholausfall auftritt, wenn der
Mikroprozessor Priorität erhält.. Eine andere Möglichkeit zur Begrenzung einer Bildwiederholunterbrechung im Fall
des Arbeitens ohne Pufferspeicher besteht darin, den
Speicherzugriff des Mikroprozessors auf nur diejenigen Zeiten zu beschränken (unter Verwendung von weiterer Hardware), in denen das VPAC keinen Speicherzugriff hat, also
während der Horizontal- und Vertikalsynchronisierintervalle. Bei diesem Verfahren wird aber ebenfalls der Durchsatz
verringert.
Das VPAC gibt die Adressen an den Speicher 10, die das Auslesen der Anzeigedaten aus dem Speicher zur Bildwiederholung
auf dem Bildschirm bewirken. Es sind verschiedene Methoden der Speicheradressierung realisiert, wodurch
sich eine erhebliche Flexibilität in bezug auf Hardware und Software für den Systemkonstrukteur ergibt. Diese
Methoden umfassen eine sequentielle Adressierbetriebsart und eine Reihenadressierbetriebsart.
Fig. 2 zeigt die interne Bus- und Registeräuslegung des
VPAC. Eine Mehrzahl Register 201, 202 usw., die vom Anwender
programmierbar sind, sind so ausgelegt, daß sie bestimmte Steuer- und Adresseninformation speichern, die noch
erläutert wird. Dedes Register kann in einen bestimmten Zustand vom Mikroprozessor voreingestellt werden, nachdem
es vom Benutzer des Bildschirmgeräts richtig programmiert wurde. Die Register sind vorteilhafterweise so angeordnet,
daß sie vom Datenbus 210 oder vom Adressenbus 206 aus zugänglich sind. Die zeitliche Steuerung die Steuerung
für das VPAC erfolgt von der Stufe 203 aus, die nicht Teil der Erfindung ist und daher nicht erläutert wird.
Für die sequentielle Videoadressierbetriebsart ist ein linkes Startadreßregister 205 so programmiert, daß es
die Speicheradresse des ersten Zeichens der ersten Datenreihe auf dem Bildschirm enthält. Wenn die Operation in
der sequentiellen Betriebsart durchgeführt wird, werden Q Zeichen sequentiell aus dem Speicher ausgelesen, wobei
mit dem Zeichen an der im Register 205 vorhandenen Adresse begonnen wird. Wenn z. B. die Anzeige eine 80-Zeichen-mal-25-Reihen-Anzeige
ist, befinden sich 2000 Zeichen auf dem Bildschirm. Wenn die Adresse im Register 205 1000 ist,
ist die Adresse des letzten Zeichens in der letzten Reihe 2999; d. h. die Zeichen nehmen aufeinanderfolgende Speicherplätze im Speicher ein.
η?.
-μ -
Fig. 3 zeigt die sequentielle Speicheradressierung. Die Adresse im Register 205 wird dem Speicher über den
Adressenbus 206 zugeführt, und infolgedessen werden Datenwörter
aus dem Speicher wiedergewonnen, dem Zeichengenerator zugeführt und zur Anzeige gebracht. Ein Register/
Zähler 208 erhöht die im Register 205 gespeicherte Adresse jedesmal, wenn Information aus dem Speicher empfangen wird,
um eine sequentielle Wiedergewinnung aus aufeinanderfolgenden
Speicherplätzen sicherzustellen.
Das Startadreßregister 205 zusammen mit einem Hilfsadreßregister
I 213 sowie einem dritten Register 212, das als Sequenztrennregister I bezeichnet ist, werden verwendet,
um ein Verschieben oder Rollen von Anzeigespeicheradressen zu ermöglichen, so daß neue Information, die z. B. von
einer Übertragungsleitung im Speicher empfangen wird, am Unterende des Bildschirms angezeigt werden kann und alte
Information am Oberende des Bildschirms weggerollt werden kann. Dazu ist das Hilfsadreßregister I auf die Adresse
des Speicherbeginns, d. h. auf den Beginn des Bildschirmspeichers,
wo ankommende Information gespeichert wird, eingestellt, und das Register 205 ist auf die Adresse des
Beginns der Zeile eingestellt, die am oberen Rand der Anzeigeseite angezeigt werden soll. Das Sequenztrennregister I
bewirkt eine Umschaltung der Adreßsteuerung vom Register zum Hilfsadreßregister I an der im Sequenztrennregister I
bezeichneten Zeile. Somit sollte bei einer 24-Reihen-Anzeige
zum Vorrollen der Anzeige um eine Zeile das Sequenztrennregister I auf 23 eingestellt und das Register 205 auf
die Adresse eingestellt sein, die normalerweise der zweiten angezeigten Datenreihe entspricht.
Wenn bei dieser Betriebsart die Adreßsteuerung beim Register
205 liegt, wird die Adresse von dem Register/Zähler 209 wie erläutert erhöht, um einen sequentiellen Zugriff zum
Speicher zu erreichen. Wenn die Adreßsteuerung zu dem Hilfs-
31 304ÖU
adreßregister I übertragen wird, wird die in diesem Speicher
gespeicherte Adresse von einem Register/Zähler 211 in derselben Weise erhöht, in der das Register 208 die Speicheradresse
erhöht. Adressen werden zu dem Speicher auf dem Adressenbus 206 übertragen, und die Steuerung geht
an das Register 205 zurück, wenn eine neue Anzeigeseite beginnt.
Eine weitere Steigerung der sequentiellen Betriebsart ist
möglich. Zusätzlich zu der vorher erläuterten Rolloperation kann am Unterende des Bildschirms oder an dessen Oberkante
eine Statusreihe konstantgehalten werden, während die anderen Reihen bewegt werden. Dies kann erreicht werden
durch Verwendung eines Registers 202, das als Hilfsadreßregister II bezeichnet wird, und eines Registers 214, das
als Sequenztrennregister II bezeichnet wird. Durch Einstellen des Sequenztrennregisters II auf die letzte Datenreihennummer
(z. B. 24 in einer Anzeige von 25 Datenreihen) und durch Einstellen des Hilfsadreßregisters II auf den
Speicherplatz im Speicher, der der in der Zustandsreihe anzuzeigenden Information entspricht, wird die Adreßsteuerung
zum Hilfsadreßregister II übertragen, wenn die letzte
Datenreihe anzuzeigen ist. Dadurch wird die Zustandsreihe ausgelesen und in die letzte Datenreihenlage auf dem Bildschirm
eingesetzt. Die sequentielle, oben erläuterte Betriebsart des VPAC gibt dem Anwender von Systemen im unterem
bis mittleren Bereich eine erweiterte Möglichkeit zur Realisierung einer sequentiellen Datenanzeige, wobei diese
Methode gleichzeitig relativ leicht realisierbar ist, was sowohl Software als auch Hardware betrifft.
In der Videoadreßbetriebsart mit Reihentabellenansteuerung
ist jede für die Sichtanzeige bestimmte Datenreihe mit ihrer eigenen Adresse bezeichnet. Dies gibt dem Anwender
eine wesentlich größere Flexibilität als die sequentielle
Adressierung, da die Reihen von Zeichen durch Schreibmarken verknüpft sind, anstatt in sequentiellen Speicherplätzen
vorhanden zu sein. Operationen wie Datenreihen-Einfügung,
-Auslassung und -Wiederholung sind leicht durchführbar, indem Schreibmarken anstelle von ganzen Zeilen manipuliert
werden. Die Reihentabelle kann im Speicher entweder als zusammenhängendes Format oder als verknüpfte Liste gespeichert
werden. Diese beiden Formate werden nachstehend unter Bezugnahme auf die Fig. 4 bzw. 5 erläutert.
In der Betriebsart mit Reihentabellen-Ansteuerung hat jede Datenreihe auf dem Bildschirm ihre eigene Startadresse,
und im Speicher gibt es eine Reihentabelle, die die Startadresse für jede Datenreihe enthält. Z. B. besteht bei
einem Bildschirm mit 24· Datenreihen die Reihentabelle aus
ZW l^-Bit-Adressen, deren jede auf die erste Zeichenstellung
ihrer entsprechenden Datenreihe weist. Bei dem zusammenhängenden Reihentabellenformat nach Fig. k sind Reihentabellenadressen
in zusammenhängenden, d. h. sequentiellen, Speicherplätzen gespeichert, und der Anwender programmiert
das Startadreßregister 205 mit der Startadresse der zusammenhängenden Reihentabelle.
Wenn das VPAC bereit ist, die Anzeige einer neuen Datenreihe zu beginnen, wird die Adresse im Register 205 dem Speicher
auf dem Adressenbus 206 zugeführt, und die erste Hälfte der Adresse der ersten Reihe (Adresse A in Fig. A-) wird
abgerufen und im Register 201 über den Datenbus 210 gespeichert. Die zweite Hälfte der Adresse der ersten Reihe
(Adresse B in Fig. 3) wird dann abgerufen und ebenfalls über den Datenbus 210 im Register 201 gespeichert. Dann
wird die vollständige Adresse der ersten Reihe dem Videospeicher über den Videoadreßregister/Zähler 211 und den
Adressenbus 206 zugeführt, und daraufhin wird das erste Zeichen der ersten Datenreihe (vgl. Fig. 4) aus dem Speicher
abgerufen und zur Anzeige gebracht. Der Register/Zähler
inkrementiert diese Adresse, so daß sequentiell aus dem
Speicher sämtliche 80 Zeichen der ersten Datenreihe abgerufen werden. Wenn die erste Datenreihe angezeigt ist,
wird die Startadresse für die zweite Datenreihe abgerufen, im Register 201 gespeichert und der obige Vorgang wiederholt,
so daß die zweite Datenreihe angezeigt wird. Die übrigen Datenreihen auf dem Bildschirm werden in der
gleichen Weise angezeigt.
Aus der Betriebsart mit Reihentabellenansteuerung ergeben sich eine Anzahl Vorteile. Um z. B. eine Datenreihe
zu löschen, braucht der Software-Designer nur die Reihentabellen-Schreibmarke
im Speicher für diese bestimmte Datenreihe zu ändern und sie auf eine gelöschte Datenreihe
im Speicher zu richten. Zu ein Löschen des gesamten Bildschirms durchzuführen, kann jede Reihenadresse in der
Reihentabelle auf eine einzelne Datenreihe im Speicher weisen. Oder es kann z. B. eine neue Zeile auf dem Bildschirm
eingesetzt werden und das Unterende vom Bildschirm verschwinden, indem sämtliche Reihenschreibmarken, die der
einzusetzenden Reihe folgen, im Speicher um eine Reihe nach unten bewegt werden und die neue Reihenschreibmarke in
dem Raum eingesetzt wird, der in der Reihentabelle geöffnet wurde. Mit dieser Betriebsart ist es zum Löschen des Bildschirms nicht erforderlich, einen gesamten Bildschirm mit
Daten zu bewegen, sondern nur die Reihentabeile selbst zu manipulieren.
Bei dem Reihentabellenformat mit verbundener Liste nach
Fig. 5 bezeichnet das Startadreßregister 205 die Speicheradresse, die die Operation des gesamten Adressierschemas
startet. Zu Beginn der ersten Datenreihe bezeichnen die ersten beiden vom VPAC ausgelesenen Bytes die Adresse der
nächsten Datenreihe. Diese Adresse wird intern gespeichert. Das dritte sequentiell ausgelesene Byte ist das erste an-
zeigbare Zeichen der momentanen Datenreihe. Die übrige Datenreihe wird sequentiell ausgelesen. 3ede folgende
Datenreihe enthält die Startadresse der nächsten Datenreihe. Bei vielen Arten von Systemplänen ergibt sich
mit dieser Methode der Speicheradressierung eine einfache Software-Realisierung, da z. B. zum Einsetzen einer
Datenreihe nur die Reihentabellenadressen für die Reihe über der einzusetzenden Reihe und die einzusetzende Reihe
selbst manipuliert werden müssen. Es brauchen keine weiteren Reihentabellenadressen geändert zu werden, da sie
bereits anzuzeigenden Daten zugeordnet sind.
Sowohl für das zusammenhängende Reihentabellenformat als
auch das Reihentabellenformat mit verbundener Liste ist
eine weitere Steigerung möglich, und zwar kann durch Verwendung des Sequenztrennregisters I und des Hilfsadreßregisters I
eine Zustandsreihe oder Zustandsreihen am Ober- oder Unterende des Bildsqhirms gebildet werden. Z. B. wird
auf einer 25-Datenreihen-Anzeige durch Stellen des Sequenztrennregisters
I auf 21 die Adreßsteuerung bei der 22. Datenreihe zum Hilfsadreßregister I umgeschaltet. Sämtliche
dann der 21. Datenreihe folgenden Datenreihen werden sequentiell mittels des Hilfsadreßregisters I adressiert.
Diese Erweiterungsmöglichkeit erlaubt eine schnelle Software-Kontextumschaltung und -Anzeige. Dies ist besonders
vorteilhaft, wenn Daten zu einem Sicht- oder Endgerät von einer Hochgeschwindigkeits-Prioritätsquelle sofort
auf dem Bildschirm anzuzeigen sind.
Bei der Betriebsweise mit vertikal geteiltem Bildschirm
wird der Bildschirm in mehrere gesonderte vertikale Informationsspalten
unterteilt. Die einfachste Methode ist eine einzige Unterteilung von oben nach unten in der
Bildschirmmitte, wobei auf jeder Bildschirmseite die gleiche Anzahl Zeichen vorhanden ist. Die Operation mit Bildschirm»
unterteilung könnte vollständig mit Software ausgeführt
werden, indem sämtliche Inhalte des Bildschirms manipuliert werden, wenn eine Aktualisierung eines Abschnitts des
geteilten Bildschirms erwünscht ist. Um jedoch eine Bildschirmunterteilung mit gutem Wirkungsgrad und mit einem
Minimum an Software-Komplexität und maximalem Systemdurchsatz
zu erzielen, ist eine Hardware-Lösung wesentlich. Ein einfacher zweiteiliger Bildschirm, der für Operationen
wie nebeneinander befindliche Sprachübersetzung und Zeitungsspalten nützlich ist, kann durch ein Bildschirmteilungs-Grenzregister
200, ein Rechts-Startadreßregister 207 und ein Links-Startadreßregister 205 (vgl. Fig. 2)
definiert werden. Im Betrieb definiert das Bildschirmteilungs-Grenzregister
die Zeichenstelle, an der die Unterteilung erfolgen soll. Z. B. sind auf einem 80 Zeichen
breiten Bildschirm die Zeichen von 0-79 numeriert. Wenn das Bildschirmteilungs-Grenzregister auf A-O eingestellt
wird, erfolgt die Übertragung der Steuerung von dem Links-Startadreßregister
205 zum Rechts-Startadreßregister 207 bei dem vierzigsten Zeichen. Dies ermöglicht die Durchführung
gesonderter Datenoperationen auf der linken und der rechten Bildschirmseite, ohne daß die Daten auf dem
Gesamtschirm geändert werden müssen. Durch die Einschaltung einer ausreichenden Anzahl von linken und rechten Hilfsadreßregistern
und linken und rechten Trennregistern können Operationen mit geteiltem Bildschirm als zwei gesonderte
Informationseinheiten, d. h. als zwei gesonderte Bildschirme,
behandelt werden. Das Register-/Zähler-Glied 209 hat die gleiche Funktion wie das Register-/Zähler-Glied 208
bei der Erhöhung der im Register 207 gespeicherten Adresse,
wenn die Steuerung auf das Rechts-Startadreßregister übergegangen ist.
Die Anzahl von vertikal unterteilten Bildschirmen oder Spalten, die realisierbar ist, wird nur durch die Anzahl
Register in der Implementierung begrenzt. Z. B. können
vier Vertikalteilungen definiert werden, indem drei
Bildschirmunterteilungs-Grenzregister vorgesehen werden.
Beim Auftreten jeder neuen Datenreihengrenze erfolgt die
Adreßsteuerungs-Übertragung von einem Startadreßregister zum nächsten Startadreßregister. Selbstverständlich
müssen jedem neuen Bildschirmteilabschnitt Hilfsadreßregister
zugeordnet sein.
Um eine gute Human-Schnittstelle mit einem Bildschirm-
> system zu erhalten, ist es häufig erwünscht, daß vorher angezeigte Daten gleichmäßig bzw. sprungfrei am Oberende
des Bildschirms wegrollen, während neue Information ebenfalls gleichmäßig am Unterende des Bildschirms angezeigt
wird. Dies steht im Gegensatz zu einem "sprunghaften"
Verschiebe- bzw. Abrollverfahren, bei dem die Gesamtzeile am Unterende des Bildschirms sofort auftritt und eine
ganze Zeile am Oberende des Bildschirms wegbewegt wird. Sprungfreies Verschieben erfordert, daß Daten von dem
Bildschirm auf der Basis einer Bildzeile nach der anderen wegbewegt werden. Die Geschwindigkeit, mit der Information
vom Bildschirm wegbewegt wird, und die relative Gleichmäßigkeit
dieses Vorgangs können dadurch eingestellt werden, daß die Anzahl Bildzeilen pro Datenübertragungsblock, die vom
Bildschirm wegbewegt werden, geändert wird. Zusätzlich zu einer gleichmäßigen Verschiebeoperation über den Gesamtbildschirm
kann die Verschiebefläche durch einen bestimmten Platz auf dem Bildschirm begrenzt werden. D. h., es kann
eines Teilseiten-Verschiebung definiert werden, so daß die
Reihen über und unter dem Verschiebebereich gleich bleiben, während die Datenreihen in dem Verschiebebereich fortgesetzt
verschoben werden.
Zwei vom Anwender programmierbare Register erlauben es dem
Anwender, die Startdatenreihe und die Enddatenreihe für die gleichmäßige Verschiebeoperation zu bestimmen (vgl. Fig. 2),
2?
Das Datenreihe-Startregister 216 dient zur Bestimmung der Startdatenreihen, und das Sequenztrennregister II dient
zum Bestimmen der Enddatenreihe. Ein Programmeingriff ist für jeden Datenübertragungsblock erforderlich. Das
VPAC stellt eine Unterbrechung während des Vertikalrücklaufintervalls
ein, wodurch Bedienung durch den Mikroprozessor angefordert wird. Daraufhin liest der Mikroprozessor
in das Verschiebe-Offsetregister 204 die Bildzeilenzahl
ein, die die Anfangsbildzeile der ersten Datenreihe des Verschiebebereichs bezeichnet.
Eine gleichmäßige Verschieberate von einer Bildzeile je Datenübertragungsblock kann implementiert werden, indem
das Register 20Λ mit einer Versetzung von Null im ersten Datenübertragungsblock, von Eins im zweiten, von Zwei im
dritten Datenübertragungsblock usw. programmiert wird, bis N Bildzeilen versetzt sind, wobei N die Anzahl BiIdzeilen
je Datenreihe ist. An diesem Punkt ist die gesamte Datenreihe aus dem Verschiebebereich wegbewegt, und
dann muß die Reihentabelle manipuliert werden, um jede
der verbliebenen Datenreihen um eine Position nach oben
zu bewegen. Das Verschiebe-Offsetregister wird auf Null
rückgesetzt, und die Folge kann wiederholt werden, wenn weitere Informationszeilen wegbewegt werden sollen.
Durch Vermindern des Verschiebe-Offsetregisters anstatt
Erhöhen kann eine gleichmäßige Verschiebung in Abwärtsrichtung des Bildschirms erreicht werden. Da eine gleichmäßige
Verschiebung momentan in einer Teildatenreihe, die aus einer Bildzeile besteht, resultieren kann, muß das
Einlesen in den Datenzwischenspeicher 30 (vgl. Fig. 1) für die Start- und Enddatenreihen während des Verschiebevorgangs
zwangsweise in einer Bildzeile erfolgen. Diese Bedingung setzt die programmierbaren Direkt-Speicherzugriffs-Stoß-/Verzögerungs-Anforderungen
außer Kraft.
Um Video-Attribute wie invertierte Darstellung von Zeichen, Blinken, Unterstreichen, Durchstreichen und Betriebsarten,
die sich Zeichen für Zeichen ändern müssen, zu erzeugen, ist es bisher notwendig, jedem anzuzeigenden Zeichen ein Bit
für jedes unabhängige Attribut anzufügen. Normalerweise erfordert das den Einsatz eines Videospeichers, dessen
Bitbreite gleich der Anzahl der für jedes Zeichen erforderlichen Bits ist. Um z. B. ein ASCII-Zeichen mit den
Attributen Blinken, invertierte Darstellung, Unterstreichen und einer von zwei Farben anzuzeigen, sind 11 Bits je
Zeichen erforderlich. Sieben Bits bilden das Zeichen, und
vier weitere Bits sind für die vier einzelnen Attribute angefügt, so daß sich insgesamt 11 Bits ergeben. Wenn für
die Anzeigesysteme ein typischer Acht-Bit-Mikroprozessor eingesetzt wird, ist das Einlesen und Manipulieren einer
mehr als acht Bits umfassenden Speichergröße umständlich und kann zusätzliche Hardware erforderlich machen. Die
Attributassembler-Betriebsarten des VPAC lösen dieses Problem, indem die Speicherung sowohl von Information als
auch von Attributen in einem Acht-Bit-Speicher ermöglicht wird und die Attribute zusammen mit dem Zeichen unmittelbar
vor der Informationsanzeige assembliert werden.
Zwei Attributassembler-Betrieb'sarten sind möglich und in
dem Ausführungsbeispiel nach Fig. 8 dargestellt. In der ersten Betriebsart werden Information und Attribute in
unmittelbar aufeinanderfolgenden Byteplätzen im Speicher
gespeichert (vgl. Fig. 6). Wenn das VPAC die adressierten Datenplätze im Speicher ausliest (entweder durch Reihentabellen-Operationen
oder durch sequentielles Adressieren), ist das erste vom Speicher ausgelesene Byte als Attribut
anzusehen, das in ein internes Attribut-Speicher-Flipflop
(nicht gezeigt) des VPAC eingelesen wird. Dann ruft das VPAC das zweite Byte im Anzeigespeicher ab. Dieses Byte ist das
Ζύ>
dem vorher ausgelesenen Attributbyte zugeordnete Zeichenbyte. Während desselben Taktzyklus trennt das VPAC seinen
Bus vom Hauptsystembus über einen externen Dreizustandspuffer
800 (vgl. Fig. 8) und gibt das im Attribut-Speicherflipflop enthaltene Attributbyte an einen Doppelreihen-Datenpuffer
801 aus. Gleichzeitig wird der Hauptdatenbus, der das ASCII-Zeichenbyte enthält, an einen zweiten
Doppelreihen-Datenpuffer 802 angeschlossen. Die beiden
Informationsbytes (Attribut- und Zeichenbyte) werden in ihre jeweiligen Doppelreihen-Datenpuffer eingelesen. Dann
ruft das VPAC das nächste Attribut- und Datenbyte·ab und liest diese wiederum in die beiden Doppelreihen-Datenpuffer
ein. Dieser Prozeß wird fortgesetzt, bis die gesamte Datenreihe aus dem Speicher ausgelesen und in den beiden
Doppelreihen-Puffern 801 und 802 assembliert ist.
Wenn es an der nächsten Datenreihengrenze Zeit ist, die gerade assemblierte Datenreihe anzuzeigen, werden die
Daten und Attribute gleichzeitig aus den beiden Datenpuffern ausgelesen, so daß für Information und verschiedene
zugeordnete Attribute volle 16 Bits zur Verfügung stehen. Tatsächlich sind zwei im Speicher in aufeinanderfolgenden
Positionen befindliche Bytes als ein einziges 16-Bit-Wort assembliert und zum Zeichengenerator und dem Bildschirmgerät
ausgelesen worden. Diese Betriebsart sieht vor, daß jedem Zeichen zwei Bytes zugeordnet sind. Im Fall
einer 80 Zeichen breiten Anzeige müssen also 160 Bytes vorgesehen sein, die für jede Datenreihe adressiert werden.
Bei der zweiten Betriebsart für die Attributassemblierung sind Attributbytes nur in einem 8-Bit-Speicher angeordnet,
wobei Attribute entsprechend Fig. 7 auf dem Bildschirm geändert werden sollen. Wenn also z. B. ein ganzes Wort
zu unterstreichen ist, erscheint ein Attributbyte im
Ζψ
Speicher unmittelbar vor den Datenbytes dieses Worts.
Dieses Attributbyte enthält die richtigen Attribute für das nächstfolgende Wort. Es kann jedoch nur sieben Bits
enthalten, da das höchstwertige Bit für einen bestimmten Zweck verwendet wird, wie noch erläutert wird. Diesem
Attributbyte können dann im Speicher ASCII-Datenbytes folgen.
Im Betrieb liest das VPAC jedes im Speicher gespeicherte Byte und bestimmt, ob das höchstwertige Bit ein Attributoder
ein Datenbyte ist. Wenn das höchstwertige Bit Eins ist, bedeutet dies ein Attributbyte. Das Attributbyte
wird in das interne Attribut-Speicherflipflop im VPAC
gebracht und bleibt dort, bis der Zugriff zum nächsten Attributbyte erfolgt. Immer, wenn ein Datenbyte aus dem
Speicher ausgelesen wird, was dadurch bezeichnet ist,
daß sein höchstwertiges Bit gleich Null ist, werden sowohl das Datenbyte und sein zugehöriges Attribut im Speicherflipflop
in zwei Doppelreihen-Datenpuffer 801, 802 eingelesen.
Diese Betriebsart verlangt, daß der Prozessor nur ausreichend Speicherplatz zur Aufnahme der Höchstzahl
von Attributen, die je Datenreihe zu erwarten sind, reserviert. Dies ist üblicherweise weniger Speicherraum als
für die im Vorhergehenden erläuterte Attributassemblier-Betriebsart.
Nachstehend wird die Betriebsweise mit doppelt hohen und doppelt breiten Datenreihen erläutert. Dabei werden die
Register 201 bzw. 202 als linkes bzw. rechtes Adreßregister verwendet. Beide Register sind 16-Bit-Register, die
eine l^-Bit-Speicheradresse für die Reihentabelle plus
zwei Bits für Reihenattribute enthalten. Diese beiden Reihenattribut-Bits sind wie folgt codiert:
2$
- yi -
00 = Normalhöhe und Normalbreite
01 = Normalhöhe und doppelte Breite
10 = doppelte Höhe und doppelte Breite oben
11 = doppelte Höhe und doppelte Breite unten.
Bei einem vertikal geteilten Bildschirm müssen die Register 201 und 202 die gleichen Höhen- und Breiten-Betriebsart-Bits
enthalten.
Wenn eine doppelthohe Reihe durch einen "10"- oder einen
"ΙΓ'-Code bezeichnet ist, inkrernentiert das VPAC Bildzeilenausgänge
bei jeder zweiten horizontalen Bildzeile anstatt bei jeder Bildzeile. Dadurch wird die gleiche
Bildzeileninformation aus dem Speicher auf zwei aufeinanderfolgenden
Bildzeilen ausgelesen, so daß dadurch die Höhe der Datenreihe verdoppelt wird. Ein internes Adressensteuerglied
im VPAC fährt fort, den Speicher so zu adressieren, als ob es zwei normale Datenreihen des
Speichers adressieren würde; somit wird für eine doppelthohe Reihe eine zweite Reihentabellen-Speicheradresse
aus der unteren Hälfte der Datenreihe ausgelesen. Der Mikroprozessor muß sicherstellen, daß die Schreibmarke
für die untere Hälfte auf die gleiche Information im Speicher weist wie für die obere Hälfte der Datenreihe.
Bei der sequentiellen Adressier-Betriebsart müssen die Daten der oberen Hälfte der Datenreihe beim Auslesen aus
dem Speicher während der unteren Hälfte der Datenreihe
dupliziert werden. .
Üblicherweise wird die untere Hälfte einer doppelthohen
Reihe unmittelbar nach der oberen Hälfte der doppelthohen
Reihe ausgelesen, so daß eine volle doppelthohe Reihe erscheint. Es ist jedoch möglich, daß manche Systemdesigner
für spezielle Effekte nur die obere oder nur die untere
Hälfte der Datenreihe auslesen wollen. Dies kann nur mit einer Doppelreihen-Datenpuffer-Konfiguration der oben
beschriebenen Art erfolgen. In diesem Fall wird in
den höchstwertigen Bitstellen des Reihentabellen-Schreibmarkenregisters entweder ein "10"- oder ein "ll"-Bitmuster
plaziert, so daß entweder die obere oder die untere Hälfte einer doppelthohen Reihe ausgelesen wird.
Die doppeltbreite Datenreihen-Betriebsart ist durch einen
"01"-, "10"- oder "ll"-Code in den höchstwertigen Bitstellen
der Reihentabellen-Schreibmarke, die für jede Datenreihe ausgelesen wird, angezeigt. Bei einer doppeltbreiten
Datenreihe wird die Adresse zum Videospeicher für Jede zweite Zeichenzeit geändert, so daß während zwei
unmittelbar aufeinanderfolgenden Zeichenzeiten dieselbe
Information adressiert wird. Diese Information wird dann (entweder mit oder ohne Puffer) dem externen Video-Zeichengenerator
präsentiert, der dann die Aufgabe hat, jeden Punkt auf dem Bildschirm als doppeltbreiten Punkt anzuzeigen,
so daß das angezeigte Zeichen zwei normalbreite Zeichenpositionen einnimmt. Ein geeignetes Doppelbreite-Signal
kann in einem externen Flipflop gehalten und dazu genutzt werden, den Zeichengenerator in den Zustand zur
Erzeugung doppeltbreiter Zeichen zu bringen. Es ist zu beachten, daß, da die Zeichen doppeltbreit sind, eine
Datenreihe, die normalerweise 80 Zeichen breit ist, nur die ersten ^O Zeichen in diesem Speicheradressenraum
anzeigt. Die übrigen Zeichen werden von dem VPAC nicht
abgerufen.
Leerseite
Claims (1)
- PatentansprücheDatensichtsystem mit einem Mikroprozessor, einem Speicher, einem Videoprozessor- und -Steuergerät, einem Datenbus, der das Videoprozessor- und -Steuergerät mit dem Mikroprozessor und dem Speicher verbindet, und einem Adreßbus, der das Videoprozessor- und -Steuergerät mit dem Mikroprozessor und dem Speicher verbindet, dadurch gekennzeichnet, daß das Videoprozessor- und -Steuergerät (VPAC) aufweist:- eine Mehrzahl programmierbare Speicherregister (201, 202, 20Λ, ...), wobei ein erster Teil der Mehrzahl Speicherregister an den Datenbus (60) und ein zweiter Teil der Mehrzahl Speicherregister sowohl an den Datenbus (60) als auch an den Adreßbus (70) angeschlossen ist und jedes Speicherregister von dem Mikroprozessor so programmierbar ist, daß ausgewählte Adreßzeichen und Steuerzeichen speicherbar sind, und- Einheiten für den Zugriff zu den programmierbaren Speicherregistern (201, 202, 20A-, ...) über den Adreßbus (70) und den Datenbus (60) und für die Nutzung der in den Speicherregistern gespeicherten ausgewählten Adreß- und Steuerzeichen zur Wiedergewinnung ausgewählter Information aus dem Speicher (10) zwecks Anzeige auf dem Bildschirm des Datensichtsystems.2. Datensichtsystem nach Anspruch 1, gekennzeichnet durcheinen von dem Videoprozessor- und -Steuergerät (A-O) gesteuerten Zeichengenerator (50), der aufgrund der aus dem Speicher (10) wiedergewonnenen Information Zeichen auf dem Bildschirm zur Anzeige bringt.3. Datensichtsystem nach Anspruch 2, dadurch gekennzeichnet,- daß jede auf dem Bildschirm angezeigte Datenreihe N Daten-Bildzeilen umfaßt, und- daß das Videoprozessor- und -Steuergerät (40) Mittel aufweist,; mit denen aus dem Speicher (.1.0) eine vollständige Datenreihe während eines ersten Bildzeilenintervalls wiedergewinnbar und in einem Datenpuffer (30) speicherbar ist, sowie Mittel, mit denen während der übrigen N-I Bildzeilenintervalle die vollständige Datenreihe dem Zeichengenerator (50) zuführbar ist.k. Datensichtsystem nach Anspruch 3, dadurch gekennzeichnet,daß das Videoprozessor- und -Steuergerät (40) ferner umfaßt:- Mittel zur Wiedergewinnung einer ersten Datenreihe aus dem Speicher (10) während eines Vertikalrücklauf· Intervalls und zur Speicherung dieser ersten Datenreihe im Datenpuffer (30),- Mittel zur Zuführung der ersten Datenreihe zum Zeichengenerator (50) während eines ersten Datenreihenintervalls, und- Mittel zur Wiedergewinnung einer zweiten Datenreihe aus dem Speicher (10) und Speicherung dieser zweiten Datenreihe im Datenpuffer (30) während des ersten Datenreihenintervalls.5. Datensichtsystem nach Anspruch k, dadurch gekennzeichnet,- daß die Mittel zur Wiedergewinnung der ersten-und der zweiten Datenreihe Mittel zur Wiedergewinnung von Datenreihen aus dem Speicher (10) in einer ' kontinuierlichen und wiederholten Folge aufweisen, wobei die Folge ein vorbestimmtes Wiedergewinnungsintervall, gefolgt von einem vorbestimmten Verzögerungsintervall, umfaßt und das Wiedergewinnungsintervall kürzer als die zur Wiedergewinnung einer vollständigen Datenreihe erforderliche Zeit ist,
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US19443580A | 1980-10-06 | 1980-10-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3130460A1 true DE3130460A1 (de) | 1982-05-27 |
Family
ID=22717597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813130460 Ceased DE3130460A1 (de) | 1980-10-06 | 1981-07-23 | Datensichtsystem mit einem mikroprozessor |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5792378A (de) |
CA (1) | CA1162319A (de) |
DE (1) | DE3130460A1 (de) |
FR (1) | FR2491651A1 (de) |
GB (1) | GB2084836B (de) |
IT (1) | IT1167999B (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3339666A1 (de) * | 1982-11-03 | 1984-05-03 | Ferranti plc, Gatley, Cheadle, Cheshire | Informations-display-system |
DE3319944A1 (de) * | 1983-06-01 | 1984-12-06 | Siemens AG, 1000 Berlin und 8000 München | Einrichtung zum schreib-lese-betrieb eines bildspeichers |
DE3508336A1 (de) * | 1984-03-09 | 1985-09-12 | Daikin Industries, Ltd., Osaka | Hochgeschwindigkeits-speicherzugriffschaltung einer katodenstrahlroehren-display-einheit |
DE3501673A1 (de) * | 1985-01-19 | 1986-07-24 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Oeffentliches bildschirmtextendgeraet |
DE3808832A1 (de) * | 1987-03-20 | 1988-09-29 | Ibm | Steuereinrichtung fuer rasteranzeigegeraete |
DE3937357A1 (de) * | 1988-11-10 | 1990-05-17 | Sanyo Electric Co | Sichtanzeigegeraet fuer mikrocomputer |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2145910B (en) * | 1983-09-01 | 1987-10-07 | Philips Electronic Associated | Data display arrangement with scrolling |
GB2146208B (en) * | 1983-09-01 | 1987-10-14 | Philips Electronic Associated | Character display arrangement with stack-coded-to-explicit attribute conversion |
IT1162945B (it) * | 1983-09-30 | 1987-04-01 | Olivetti & Co Spa | Apparecchiatura di visualizzazione di immagini definite da una pluralita di righe di dati |
JPS61151592A (ja) * | 1984-12-20 | 1986-07-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 表示装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2540687A1 (de) * | 1974-09-23 | 1976-04-08 | Hewlett Packard Co | Verfahren und vorrichtung zum ansteuern eines datensichtgeraetes |
DE2922540A1 (de) * | 1978-06-02 | 1979-12-13 | Hitachi Ltd | Datenverarbeitungsanlage |
DE3016357A1 (de) * | 1979-04-30 | 1980-11-13 | Honeywell Inf Systems | Hardware/firmware-verbindungssystem fuer eine bildschirmdarstellung |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5052945A (de) * | 1973-09-10 | 1975-05-10 | ||
JPS585432B2 (ja) * | 1975-05-06 | 1983-01-31 | ソニー株式会社 | ガゾウヒヨウジソウチ |
-
1981
- 1981-06-18 GB GB8118778A patent/GB2084836B/en not_active Expired
- 1981-06-26 CA CA000380700A patent/CA1162319A/en not_active Expired
- 1981-07-07 FR FR8113355A patent/FR2491651A1/fr active Granted
- 1981-07-23 DE DE19813130460 patent/DE3130460A1/de not_active Ceased
- 1981-09-22 JP JP56150507A patent/JPS5792378A/ja active Granted
- 1981-10-05 IT IT09536/81A patent/IT1167999B/it active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2540687A1 (de) * | 1974-09-23 | 1976-04-08 | Hewlett Packard Co | Verfahren und vorrichtung zum ansteuern eines datensichtgeraetes |
DE2922540A1 (de) * | 1978-06-02 | 1979-12-13 | Hitachi Ltd | Datenverarbeitungsanlage |
DE3016357A1 (de) * | 1979-04-30 | 1980-11-13 | Honeywell Inf Systems | Hardware/firmware-verbindungssystem fuer eine bildschirmdarstellung |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3339666A1 (de) * | 1982-11-03 | 1984-05-03 | Ferranti plc, Gatley, Cheadle, Cheshire | Informations-display-system |
DE3319944A1 (de) * | 1983-06-01 | 1984-12-06 | Siemens AG, 1000 Berlin und 8000 München | Einrichtung zum schreib-lese-betrieb eines bildspeichers |
DE3508336A1 (de) * | 1984-03-09 | 1985-09-12 | Daikin Industries, Ltd., Osaka | Hochgeschwindigkeits-speicherzugriffschaltung einer katodenstrahlroehren-display-einheit |
DE3508336C2 (de) * | 1984-03-09 | 1991-08-01 | Daikin Industries, Ltd., Osaka, Jp | |
DE3501673A1 (de) * | 1985-01-19 | 1986-07-24 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Oeffentliches bildschirmtextendgeraet |
DE3808832A1 (de) * | 1987-03-20 | 1988-09-29 | Ibm | Steuereinrichtung fuer rasteranzeigegeraete |
DE3937357A1 (de) * | 1988-11-10 | 1990-05-17 | Sanyo Electric Co | Sichtanzeigegeraet fuer mikrocomputer |
US5101196A (en) * | 1988-11-10 | 1992-03-31 | Sanyo Electric Co., Ltd. | Display device for microcomputer |
Also Published As
Publication number | Publication date |
---|---|
GB2084836A (en) | 1982-04-15 |
FR2491651A1 (fr) | 1982-04-09 |
JPS5792378A (en) | 1982-06-08 |
IT1167999B (it) | 1987-05-20 |
JPH0259473B2 (de) | 1990-12-12 |
FR2491651B3 (de) | 1984-04-27 |
IT8109536A0 (it) | 1981-10-05 |
GB2084836B (en) | 1984-05-23 |
CA1162319A (en) | 1984-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3346816C2 (de) | ||
DE69019875T2 (de) | Anzeigegerät mit verbesserten Verschiebungsfähigkeiten. | |
DE4332573C2 (de) | Videographiksystem zum Anzeigen von Signalverläufen auf einem Videomonitor | |
DE2536616C3 (de) | Schaltungsanordnung zur Verbindung einer eine Eingabetastatur und eine Anzeigeeinrichtung enthaltenden Engabe/Ausgabe-Einrichtung über eine Busleitung mit einem zu einem Mikrorechner gehörenden Mikroprozessor | |
DE2233757A1 (de) | Steuerschaltung fuer eine zeichendarstellanordnung | |
DE2950712A1 (de) | Einrichtung zur erzeugung eines elektronischen hintergrundrasterfeldes | |
DE3851285T2 (de) | Anzeige-Steuersystem. | |
DE2459106C2 (de) | Schaltungsanordnung zur Darstellung von Zeichen auf einem Bildschirm mittels eines Kathodenstrahls | |
DE4106409C2 (de) | Bildschirm-Displayverfahren | |
DE3043100C2 (de) | ||
DE3022118A1 (de) | Treiber fuer zeichen/graphik-anzeigegeraet | |
DE2223332A1 (de) | Einrichtung zur sichtbaren Anzeige von Daten auf einem Wiedergabegeraet | |
DE3130460A1 (de) | Datensichtsystem mit einem mikroprozessor | |
DE3888891T2 (de) | Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit. | |
DE3011733A1 (de) | Computer-terminal | |
DE3100481A1 (de) | "verfahren und durchfuehrungsanordnung zum aufbau und zur wiedergabe graphischer informationen in form eines bildes auf einem wiedergabegeraet" | |
DE1913502A1 (de) | Datengesteuerter Schriftzeichengenerator | |
DE3685857T2 (de) | Plasmabildschirmanzeigesysteme. | |
DE2708150C3 (de) | Schaltungsanordnung zur Schaustellung von alphanumerischen Zeichen durch ein Punktmuster auf dem Schirm einer Kathodenstrahlröhre | |
EP0500147B2 (de) | Verfahren zur Ansteuerung eines Monitors und Monitorsteuerschaltung | |
DE2324063B2 (de) | Pufferspeichereinrichtung | |
DE3854641T2 (de) | Arbeitstellen-Steuergerät zum Schreiben auf einem vollen Bildschirm und zum teilweise Schreiben auf einem Bildschirm. | |
DE3151357A1 (de) | Verfahren zum steuern eines cursors | |
DE3781969T2 (de) | Regler fuer kathodenstrahl-bildroehre. | |
DE2612295A1 (de) | Verfahren und datenanzeigeanlage zum anzeigen von daten an mehreren endstellen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |