DE3130460A1 - Datensichtsystem mit einem mikroprozessor - Google Patents

Datensichtsystem mit einem mikroprozessor

Info

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
Application number
DE19813130460
Other languages
English (en)
Inventor
Morton B. 11746 Huntington N.Y. Herman
John F. 11426 Bellerose Village N.Y. Tweedy
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.)
Standard Microsystems LLC
Original Assignee
Standard Microsystems LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Standard Microsystems LLC filed Critical Standard Microsystems LLC
Publication of DE3130460A1 publication Critical patent/DE3130460A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control 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/222Control of the character-code memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control 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/30Control of display attribute
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • G09G5/343Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control 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

Patentanwälte OO
Dipl.-Ing. Hans-Jürgen Müller DipL-Chem. Dr. Gerhard Schupfner DIpL-Ing.Hans-Peter Gauger F.092
Uiclle-Grahn-Str. 38 - D 8000 München 80
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.
Vertikal geteilter Bildschirm:
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)

  1. Patentansprüche
    Datensichtsystem 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 durch
    einen 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,
DE19813130460 1980-10-06 1981-07-23 Datensichtsystem mit einem mikroprozessor Ceased DE3130460A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5052945A (de) * 1973-09-10 1975-05-10
JPS585432B2 (ja) * 1975-05-06 1983-01-31 ソニー株式会社 ガゾウヒヨウジソウチ

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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