DE68920148T2 - Anzeigevorrichtung mit graphischem Cursor. - Google Patents

Anzeigevorrichtung mit graphischem Cursor.

Info

Publication number
DE68920148T2
DE68920148T2 DE68920148T DE68920148T DE68920148T2 DE 68920148 T2 DE68920148 T2 DE 68920148T2 DE 68920148 T DE68920148 T DE 68920148T DE 68920148 T DE68920148 T DE 68920148T DE 68920148 T2 DE68920148 T2 DE 68920148T2
Authority
DE
Germany
Prior art keywords
cursor
data
cache
memory
display device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68920148T
Other languages
English (en)
Other versions
DE68920148D1 (de
Inventor
Helen R Ibm United King Bonnor
David Christopher Haigh
Roy Bernard Harrison
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE68920148D1 publication Critical patent/DE68920148D1/de
Application granted granted Critical
Publication of DE68920148T2 publication Critical patent/DE68920148T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/08Cursor circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Description

  • Die Erfindung bezieht sich auf eine Anzeigevorrichtung mit Mitteln zur Anzeige eines graphischen Cursors auf einem Anzeigegerät.
  • Graphische Cursor, welche ebenfalls unter anderen Bezeichnungen bekannt sind, zum Beispiel unter "Sprites", sind jetzt eine gemeinsame Einrichtung von Anzeigevorrichtungen, zum Beispiel von Computern und dergleichen. Die Bereitstellung eines graphischen Cursors ist jedoch relativ teuer. Der Grund hierfür liegt in der Größe eines graphischen Cursors und den hohen Videogeschwindigkeiten von modernen Anzeigegeräten. Ein graphischer Cursor ist normalerweise bis zu 64 Bildelemente breit und 64 Bildelemente hoch, wobei für jedes Bildelement 2 Bits erforderlich sind. Somit ist zur Speicherung eines solchen Cursors ein 1 KB erforderlich. Um ein Anzeigegerät mit einer Videotaktfrequenz von 50 Mhz zu regenerieren, müssen die Cursordaten mit der Geschwindigkeit von 2 Bits pro 20 nS oder von 1 Byte pro 80 nS gelesen werden. Das heißt, daß in Anzeigevorrichtungen im Stand der Technik teuere Hochgeschwindigkeits- RAM zur Speicherung der Daten verwendet werden müssen, welche den Cursor definieren.
  • Die Europäische Patentanmeldung EP-A-0 247 751 beschreibt die Speicherung von nur einer einzelnen Zeile mit Cursordaten, wodurch sich der Speicherbedarf in dem Schnellspeicher reduziert, der als Cache-Speicher verwendet wird. Die Cursordaten werden jedoch nur während der Zeilenaustastzeit aus dem Datenspeicher ausgelesen und in den Schnellspeicher eingelesen, als während des Teils von der angezeigten Abtastzeile, wenn der Cursor nicht angezeigt wird. Das heißt, daß Komponenten und Schaltkreise mit höherer Geschwindigkeit benutzt werden müssen.
  • Ein Gegenstand der Erfindung ist deshalb, eine Anzeigevorrichtung bereitzustellen, die in der Lage ist, einen graphischen Cursor auf wirtschaftliche und wirksame Art anzuzeigen.
  • Gemäß der Erfindung enthält eine Anzeigevorrichtung einen Cursordefinitionsspeicher zur Speicherung von Daten, welche einen graphischen Cursor definieren, einen Cursor-Cachespeicher zur Zwischenspeicherung von einem Teil der Bildelementdaten des graphischen Cursors zur Anzeige auf einem abgetasteten Anzeigegerät, wobei der Cursor-Cachespeicher so ausgelegt ist, daß seine Ausgabedatengeschwindigkeit ausreichend ist, um die Anzeige des graphischen Cursors zu unterstützen und Steuerlogik, um den Cursor-Cachespeicher aus dem Cursordefinitionsspeicher mit einer niedrigeren Datenübertragungsgeschwindigkeit zu aktualisieren.
  • Die Erfindung löst das Problem, wie ein graphischer Cursor wirtschaftlich und wirksam durch Zwischenspeicherung eines Teils der Cursorinformation in einem Cachespeicher bereitzustellen ist, der mit der erforderlichen Datengeschwindigkeit gelesen werden kann. Der Cachespeicher muß nur groß genug sein, um einen Teil des Cursors zu irgendeiner Zeit zu speichern. Deshalb wird der Cursor nur für einen Teil, zum Beispiel für ein zehntel der Abtastzeile angezeigt und der Cachespeicher kann während des Teils der Abtastzeit aktualisiert werden, wenn der Cursor nicht angezeigt wird. Durch die Benutzung eines kleinen Cachespeichers kann ein Cursordefinitionsspeicher verwendet werden, um die Daten für einen graphischen Cursor zu speichern, die mit Videodatenübertragungsgeschwindigkeiten angezeigt werden müssen, ohne daß es notwendig ist, daß der Speicher Daten mit Videodatenübertragungsgeschwindigkeit bereitstellen muß. Deshalb kann dieser Speicher billiger als sonst sein.
  • In einem ersten Beispiel wird eine Bildzeile mit Cursorinformationen in dem Cachespeicher gespeichert. Somit werden für einen graphischen Cursor aus 64 mal 64 Bildelementen bei 2 Bits pro Bildelement nur 128 Bits an schnellem RAM für den Cachespeicher benötigt.
  • Mit etwas unterschiedlicher Steuerung müssen die Daten für nur einen Teil einer Bildzeile gespeichert werden. Bei einem graphischen Cursor aus 64 mal 64 Bildelementen bei 2 Bits pro Bildelement sind so etwas wie 96 Bits an schnellem RAM für einen Datenübertragungsgeschwindigkeitsfaktor (Cachespeicherübertragungsgeschwindigkeit / Speicherübertragungsgeschwindigkeit) von 4 erforderlich. Das heißt, daß ein kleinerer Chipbereich bei einer Implementierung auf dem Chip innerhalb eines integrierten Bildschirmanschlußes erforderlich ist als in dem ersten Beispiel.
  • Ein besonderes Beispiel einer Anzeigevorrichtung gemäß vorliegender Erfindung wird nachstehend mit Bezug auf die beiliegenden Zeichnungen beschrieben, in denen
  • - Figur 1 einen Überblick von einem Personal Computer zeigt, der eine Anzeigevorrichtung gemäß vorliegender Erfindung enthält;
  • - Figur 2 ein schematisches Blockdiagramm darstellt, in dem Elemente einer Anzeigevorrichtung gemäß vorliegender Erfindung abgebildet sind;
  • - Figur 3 ein Flußdiagramm darstellt, das die Funktion eines ersten Beispiels einer Anzeigevorrichtung gemäß vorliegender Erfindung zeigt; und
  • - Figur 4 ein Flußdiagramm darstellt, das die Funktion eines zweiten Beispiels einer Anzeigevorrichtung gemäß vorliegender Erfindung zeigt.
  • Figur 1 zeigt einen Überblick von einer herkömmlichen Arbeitsstation mit einer Zentraleinheit 10 in Form eines konventionellen Mikroprozessors und einer Anzahl von anderen Einheiten einschließlich eines Bildschirmanschlußes 20, der einen Bildschirmspeicher 21 aufnimmt. Die verschiedenen Einheiten werden mit dem Mikroprozessor über einen Systembus 22 verbunden. Mit dem Systembus sind ein Systemspeicher 12 und ein Festwertspeicher (ROS) 11 verbunden. Die Funktion des Mikroprozessors wird von Betriebssystem und Anwendungscode gesteuert, die in dem ROS und dem Systemspeicher gespeichert sind. Ein E/A Adapter 13 ist vorgesehen, um den Systembus mit den Peripheriegeräten 14 zu verbinden, zum Beispiel mit Platteneinheiten. Ein DFV- Adapter 15 ist ebenfalls vorgesehen, der die Datenstation mit den externen Rechnern (z.B. mit einem Hauptrechner) verbindet. Eine Tastatur 17 wird über einen Tastaturadapter 16 mit dem Systembus verbunden. Der Bildschirmanschluß 20 wird zur Steuerung der Anzeige von Daten in einem Anzeigegerät 24 verwendet.
  • Figur 2 zeigt ein Beispiel einer Anzeigevorrichtung gemäß der Erfindung. Figur 2 zeigt insbesondere ein Blockdiagramm von Elementen eines Bildschirmanschlußes zur Aufnahme in einer Datenstation, die in Figur 1 abgebildet ist. Es werden nur solche Einrichtungen des Bildschirmanschlußes gezeigt, die zum Verständnis der Erfindung erforderlich sind. Andere Elemente des Bildschirmanschlußes können konventioneller Art sein. Der Bildschirmspeicher zur Speicherung der Hauptbildinformation und eine zugehörige Palette sowie die Steuerkreise sind nicht abgebildet. Die aus dem Bildschirmspeicher abgeleitete Hauptbildinformation wird von dem Hauptbildserialisierer ausgegeben, der in Figur 2 abgebildet ist.
  • Obwohl ein Beispiel der Erfindung in Form eines Bildschirmanschlußes zum Anschluß an den Bus einer Personal Computer Datenstation beschrieben wird, sollte klar sein, daß der Begriff "Anzeigevorrichtung", der in den Ansprüchen verwendet wird, nicht auf einen "Bildschirmanschluß" zur Verwendung in einer Datenstation oder dergleichen begrenzt ist, sondern beabsichtigt ist, jede Vorrichtung einzuschließen, mit der die Anzeige von Daten einschließlich eines graphischen Cursors möglich ist. Dazu gehört zum Beispiel eine komplette Datenstation.
  • Der Bildschirmanschluß wird mit dem Systembus 22 über die Busschnittstellenlogik 30 verbunden, die den Datenfluß in und aus dem Bus auf herkömmliche Weise steuert. Mit der Schnittstellenlogik 30 sind Register 32, 34 für Daten verbunden, welche die Cursorposition beziehungsweise die Cursorfarbe definieren. Die Cursorpositions- und die Cursorfarbdaten werden von dem Anwendungs- oder von dem Betriebssystem der Datenstation geliefert, welches die Daten steuert, die anzuzeigen sind. Die Positionsdaten identifizieren die Bildschirmposition von einem zuvor bestimmten Punkt (z.B. der oberen linken Ecke) des Cursors und werden in den Cursorpositionsregistern 32 gespeichert. Die Cursorfarbdaten werden in den Cursorfarbdaten-Registern 34 gespeichert und definieren zwei Farben, die zur Anzeige von der Mischlogik 46 ausgewählt werden können.
  • Die Farbedatenregister 34 von Figur 2 enthalten zwei Register von jeweils 24 Bits, die annehmen, daß die gesamte Eingabebreite der Digital-Analog-Wandler(DAC)-Stufe 50 24 Bits beträgt (z.B. 8 Bits pro DAC 50B, 50R, 50G). In Systemen mit 6 Bit breiten DAC's müssen die Farbdaten nur eine Breite von 18 Bits haben. Die Ausgabe von blauen, roten und grünen DAC's (50B, 50R und 50G) sind Farbsignale zur Steuerung des Anzeigegeräts.
  • Mit der Schnittstellenlogik 30 ist ebenfalls die Cursorsteuerlogik 36 verbunden, welche die Anzeige des Cursors als Reaktion auf Befehle aus dem PC-Bus und einem Bildröhrenregler (CRTC) 38 steuert.
  • Bit-Maps definieren die Form der in einem Cursordefinitionsspeicher 40 gespeicherten Cursor. Der Cursordefinitionsspeicher 40 kann als Teil eines Mehrzweckspeichers implementiert werden, obwohl dieser hier als Spezial-Schreib-/Lesespeicher implementiert ist. In Anzeigemodi, in welchen ein graphischer Cursor erforderlich ist (z.B. in Anzeigemodi, in denen graphische Daten oder Bilddaten angezeigt werden) ist dieser Speicher 40 zur Speicherung der Bit-Maps für den vorhandenen graphischen Cursor bestimmt. In Anzeigemodi, in denen ein graphischer Cursor nicht erforderlich ist (z.B. Zeichenanzeigemodi) ist dieser Speicher 40 zum Beispiel zur Speicherung von Schriftarten oder Zeichensätzen verfügbar. Der RAM muß nicht schnell sein, weil auf diesen in alphanumerischen Modi nur einmal je Zeichen zugegriffen wird, was in einer typischen, alphanumerischen Videofreguenz von ca. 30 Mhz alle 300 nS sein kann. Dadurch kann es zu einer Datenübertragungsgeschwindigkeits-Abweichung mit einem Faktor von 3 oder 4 zwischen den Anforderungen des Cursors und dem, was der RAM liefern kann.
  • Die Cursor-Steuerlogik 36 greift auf den Cursordefinitionsspeicher über die Steuer- und Adreßzeilen 37C und 37A zu, um die Cursor-Bildelementdaten zu veranlassen, in einen Cursor- Cachespeicher 42 über die Datenleitungen 37D und 37WD geladen zu werden. Der Cursor-Cachespeicher 42 wird in statischer Speicherung implementiert, die in Anzeigemodi, in denen ein graphischer Cursor vorgesehen wird, zur Zwischenspeicherung von Cursor-Bildelementinformationen bestimmt ist. Auf den Cursor-Cachespeicher wird über die separaten Adreßzeilen zum Lesen und Schreiben (41RA und 41WA) zugegriffen. Dieser ist mit anderen Worten als Dual-Portspeicher in diesem Beispiel konfiguriert. Lese-/Schreibvorgänge werden zusätzlich über die Steuerleitung 41C gesteuert.
  • Es ist zu bemerken, daß in Anzeigemodi, für welche ein graphischer Cursor nicht erforderlich ist, der Cursor-Cachespeicher 42 zur Speicherung von anderen Daten durch Bereitstellung von zusätzlicher Logik (ohne Abbildung) verfügbar gemacht werden kann. Er könnte zum Beispiel als kleiner Palettenspeicher für Farbinformationen konfiguriert werden.
  • Der Ausgang des Cursor-Cachespeichers wird mit einem Cursor- Serialisierer 44 verbunden, wo die Cursordaten aus dem Cursor- Cachespeicher serialisiert werden. Die serialisierten Cursordaten werden mit zusätzlicher Steuerinformation aus der Cursor-Steuerlogik über die Leitung 47C verwendet, um die Mischlogik 46 zu steuern und die Ausgabe aus dem Hauptbildserialisierer mit dem Inhalt der Cursorfarbdefinitionsregister 34 zu mischen. Somit kann der Cursor dazu bestimmt werden, in allen Situationen eine spezifische Farbe oder eine aus einer Anzahl von Farben in Abhängigkeit der zugrunde liegenden Bildinformation zu haben, um sicherzustellen, daß der Cursor stets sichtbar ist. Um dies durchzuführen, ist die Ausgabe aus dem Cursor-Serialisierer zwei Bit breit, was die Auswahl einer von zwei Farben aus den Cursorfarbdatenregistern 34 oder der Farbe aus dem Hauptbildserialisierer 48 (d.h. den Cursor transparent zu machen) oder der Farbergänzung der Farbe aus dem Hauptbildserialisierer ermöglicht.
  • Es folgt eine allgemeine Beschreibung der Funktion des CRTC's 38, die zur Steuerung der Zeiten von Ereignissen sowohl innerhalb einer Abtastzeile als auch innerhalb eines Feldes der Anzeige verantwortlich ist. Da es sich um eine konventionelle Ausführung handelt, gibt es zwei Zähler: einen horizontalen und einen vertikalen Zähler (ohne Abbildung). Der horizontale Zähler zählt in Einheiten von 8 Bildelementen (Zeichen) und der vertikale Zähler zählt Zeilen. Da es sich hierbei auch um konventionelle Einrichtungen handelt, vergleichen Vergleicher (ohne Abbildung) die Werte in diesen Zählern mit Werten in Paramterregistern, um Beginn und Ende von den Ereignissen als Austast- und Synchronisationsimpulse signalisieren zu können. Es wird insbesondere ein Paar von Parameterregistern verwendet, welche aus den Cursor-Positionsregistern 32 gebildet werden, um die horizontale und vertikale Position des oberen linken Bildelements des Cursors zu definieren.
  • Auf jeder Abtastzeile sendet der CRTC der Cursor-Steuerlogik 36 zu geeigneter Zeit ein Startsignal über eine der Leitungen 39C, welches dieser mitteilt, mit der Anzeige des Cursors zu beginnen. Da der horizontale Zähler eher Zeichen als Bildelemente zählt, werden die 3 wertniedrigsten Bits der horizontalen Cursorposition von dem CRTC nicht verwendet. Statt dessen verwendet die Cursor-Steuerlogik 36 diese 3 Bits, um eine Verzögerung von 0 bis 7 Bildelementen zu definieren und das Startsignal wird um diesen Betrag verzögert, bevor es verwendet wird, um mit der Anzeige des Cursors zu beginnen. Auf diese Weise kann die horizontale Position des Cursors mit der Genauigkeit von 1 Bildelement gesteuert werden.
  • Am Anfang jeder Abtastzeile teilt der CRTC 38 der Cursor-Steuerlogik 36 über eine der Steuerleitungen 39C mit, ob der Cursor auf der Abtastzeile angezeigt werden sollte oder nicht; die vertikale Position des Cursors kann somit mit der Genauigkeit von 1 Zeile gesteuert werden. In Zeilen, die den Cursor nicht enthalten, zwingt die Cursor-Steuerlogik 36 die Ausgaben des Cursorserialisierers mittels eines Steuersignals auf dem Pfad 47C in den transparenten Status.
  • Der CRTC 38 enthält ebenfalls einen Zähler (ohne Abbildung), welcher die Zeile des Cursors verfolgt, die als nächste angezeigt wird. Zu Beginn von jeder Abtastzeile sendet der CRTC der Cursor-steuerlogik 36 (über die Zeilen 39LN) die Zeilennummer der Cursorzeile, welche aus dem Cursordefinitionsspeicher 40 abzurufen und in dem Cursor-Cachespeicher 42 während der Zeilenabtastung zu speichern ist. Diese im Cachespeicher gespeicherten Cursordaten werden dann in der nächsten Abtastzeile angezeigt. Bei einem Anzeigegerät, das in einem nicht verketteten Modus arbeitet, ist die von dem CRTC gesendete Cursorzeilennummer um 1 größer als die Zeilennummer des Cursors, der auf der Abtastzeile angezeigt wird. In einem verketteten Modus ist diese um 2 größer.
  • Die Cursor-Steuerlogik 36 führt die Bewegungen zur Anzeige des Cursors durch und ruft die nächste Zeile mit Cursordaten aus dem Cursordefinitionsspeicher 40 auf und speichert diese in dem Cachespeicher, ungeachtet dessen, ob der Cursor auf dieser Zeile anzuzeigen ist oder nicht. Dies sorgt für eine effiziente, sogar unkomplizierte Implementierung der Steuerlogik. Die Logik ist angeordnet, um mit der Abtastung auf einer nicht angezeigten Zeile des Bildschirms zu beginnen (z.B. auf einer horizontalen Austastzeile). Das heißt, daß die Daten für die erste Zeile des Cursors korrekt gepuffert werden, ohne daß eine spezielle Logik für die erste Zeile erforderlich ist. Die Ausgabe des Cursor-Serialisierers wird innerhalb der Abtastzeile und des Rahmens ständig in den transparenten Status gezwungen, wenn der Cursor nicht erscheinen sollte.
  • Angenommen, ein Cursordefinitionsspeicher 40 hat eine Datenbreite von 1 Byte, so sind 1024 Speicherplätze zur Speicherung von einem 64 x 64 x 2 Cursor erforderlich. Deshalb sind die Adressen aus der Cursor-Steuerlogik für den Cursordefinitionsspeicher 40 über die Adreßzeilen 37A 10 Bits breit. Die 6 werthöheren Bits von dieser Adresse sind die Zeilenadreßbits in den Zeilen 39LN aus der CRTC, die definieren, welche der 64 Zeilen des Cursors als nächste angezeigt werden. Die 4 niederwertigen Bits der Cursordefinitionsspeicher 40 Adressen werden aus einer 4-Bit-Zählung erhalten, die in einem Zähler-WC durch die Cursorsteuerlogik aufrechterhalten wird; wobei dieser auf o rückgestellt wird, bevor jede Zeile des Cursors abgerufen und um 1 inkrementiert wird, nachdem jedes Datenbyte aus dem Cursordefinitionsspeicher 40 ausgelesen wurde. Das Mischen der sechs Bits aus den Zeilen 39LN und der vier Bits aus dem Zähler-WC zur Adressierung des Cursordefinitionsspeichers über die Leitungen 37A wird schematisch in Figur 2 durch die gestrichelten Linien P1 dargestellt.
  • In einer ersten, einfachen Implementierung ist die Schreibdatenbreite des Cursor-Cachespeichers gleich der Datenbreite des Cursordefinitionsspeichers, somit kann dieser gleiche 4-Bit Zähler auch die Schreibadresse 41WA für den Cursor-Cachespeicher 44 generieren. Dies wird schematisch durch die gestrichelte Linie P2 in Figur 2 dargestellt. Wenn der Cursor-Cachespeicher eine ganze Cursorzeile speichern kann, können die aktuellen Zählerausgaben die aktuelle Schreibadresse des Cursor-Cachespeichers sein.
  • Wenn, wie in einer zweiten Implementierung, der Cursor-Cachespeicher keine ganze Cursorzeile speichern kann, muß eine Modulo-Transformation auf die 4-Bit-Zählung angewandt werden. Wenn der Cursor-Cachespeicher zum Beispiel eine Kapazität von 12 Byte hat, muß die Schreibadresse des Cursor-Cachespeichers Modulo 12 zählen, die Zählwerte 12 bis 15 werden so in dem Cursor-Cachespeicher in Schreibadreßwerte von 0 bis 3 transformiert.
  • Die 4-Bit-Zählung kann auch verwendet werden, um anzugeben, wenn die ganze Zeile von Cursordaten aus dem Cursordefinitionsspeicher 40 abgerufen wurde. Dies wird durch die Zählwicklung von 15 bis 0 angegeben. Im Falle eines 12 Byte Cursor-Cachespeichers gibt ein Zählwert von 12 an, daß der Cachespeicher voll ist und das Abrufen von Daten warten muß, bis die Anzeige des Cursors beginnt.
  • Ist der Cursor-Cachespeicher kleiner als 16 Byte, funktioniert eine Leseadreßzählung (wird in einem zweiten RC-Zähler behalten) des Cachespeichers vollkommen unabhängig von den anderen Adreßregistern. Dessen Größe ist abhängig von der für den Cursor-Cachespeicher gewählte Lesedatenbreite. Diese muß nicht mit der Schreibdatenbreite identisch sein. Durch die Bereitstellung von zwei Sätzen von Adreßzeilen 41WA/41RA sorgt hierfür das Beispiel von Figur 2.
  • Wenn der Cursor-Cachespeicher die volle Größe von 16 Byte hat, kann der Cursor-Cachespeicher ein Single-Port-Speicher sein und in diesem Fall kann sich der 4-Bit-Zähler-WC als Leseadreßzähler des Cursor-Cachespeichers verdoppeln. In solch einem Fall muß nur ein Satz von Adreßzeilen für den Cursor-Cachespeicher bereitgestellt werden.
  • In beiden Fällen transformiert der Cursor-Serialisierer 44 die Breite der Daten, die aus dem Cachespeicher in die von der Mischlogik benötigte Breite gelesen werden.
  • Ein Beispiel für die Funktion der Steuerlogik 36 von Figur 2 wird nun mit Bezug auf Figur 3 beschrieben. Es wird hier jedoch angenommen, daß zu irgendeiner Zeit die gesamte Cursor- Information für eine Bildzeile in dem Cachespeicher gespeichert wird. Mit anderen Worten, die Bereitstellung von separaten Lese- und Schreibadreßzeilen 41 WA/41RA für den Cursor- Cachespeicher von Figur 2 ist nicht erforderlich.
  • A. Die Cursor-Steuerlogik wartet (61) auf das Startsignal in einer der Zeilen 39C und verzögert dieses wie zuvor beschrieben.
  • B1. In Abtastzeilen, die keinen Cursor (62-N) enthalten, veranlaßt die Cursor-Steuerlogik, daß die Zeile mit Cursordaten in dem Cursor-Cachespeicher serialisiert wird, sorgt jedoch dafür, daß die Anzeige des Cursors unterdrückt wird (63), indem, wie zuvor beschrieben, die Mischlogik die Hauptpalettenserialisierer-Farbe auswählt.
  • B2. In Abtastzeilen, die den Cursor (62-Y) enthalten, veranlaßt die Cursor-Steuerlogik, daß die Zeile mit Cursordaten im Cursor-Cachespeicher über die Mischlogik serialisiert und angezeigt (64) wird.
  • Wenn die Anzeige der aktuellen Zeile des Cursors vollständig ist, wird die nächste Zeile mit Cursordaten aus dem Cursordefinitionsspeicher ausgelesen und in dem Cursor-Cachespeicher gespeichert (65), wo diese für die Anzeige der nächsten Zeile des Cursors bereit ist.
  • Die Schritte A, B1/B2 und C werden entsprechend für die folgenden Abtastzeilen wiederholt (66).
  • Angenommen, der Cursor-Cachespeicher hat nur einen Single-Datenport, dann kann die Aktualisierung des Cursor-Cachespeichers in diesem Beispiel zu Zeiten geschehen, wenn die Cursordaten nicht aus dem Cursor-Cachespeicher in den Cursorserialisierer ausgegeben werden.
  • Um die Größe des Cachespeichers zu reduzieren, kann die Tatsache ausgenutzt werden, daß einige der Daten für die aktuelle Cursorzeile aus dem langsamen RAM gelesen werden können, während der Cursor angezeigt wird. Angenommen, der Cachespeicher enthält 48 Cursor-Bildelemente und das Verhältnis der Datenübertragungsgeschwindigkeit beträgt 4. Während die ersten 48 Bildelemente angezeigt werden, ist es möglich, 12 weitere Bildelemente aus dem langsamen RAM abzuruf en; während diese 12 Bildelemente angezeigt werden, können weitere 3 Bildelemente abgerufen werden, was insgesamt 63 ergibt. In diesem Beispiel wird mit dem Zugriff auf den langsamen RAM vor dem Lesen des ersten Bildelements begonnen, so daß das erste aus der Gruppe mit 12 Bildelementen in den Cachespeicher geschrieben wird, unmittelbar nachdem die Daten gelesen wurden, die sich ursprünglich in diesem Platz des Cachespeichers befinden; es ist möglich, sicherzustellen, daß das 64. Bildelement in den Cachespeicher geschrieben wird, bevor dieses benötigt wird. In anderen Fällen ist dieser frühe Wiederanlauf der langsamen RAM-Zugriffe nicht erforderlich.
  • Für diese Technik ist ein Dual-Port-Cachespeicher erforderlich, da es notwendig ist, gleichzeitig verschiedene Adressen zu schreiben und zu lesen. Es wird keine zusätzliche Steuerinformation aus dem CRTC benötigt, damit die Cursor-Steuerlogik auf diese Weise arbeiten kann. Die Funktion der Cursor-Steuerlogik aus diesem Beispiel wird mit Bezug auf das Flußdiagramm in Figur 4 beschrieben:
  • A. Die Cursor-Steuerlogik wartet (71) in einer der Zeilen 37C auf das Startsignal und verzögert dieses wie zuvor beschrieben.
  • B1. In Abtastzeilen, die keinen Cursor (72-N) enthalten, veranlaßt die Cursor-Steuerlogik, daß der Teil von der Zeile mit Cursordaten in dem Cursor-Cachespeicher serialisiert wird, sorgt jedoch dafür, daß die Anzeige des Cursors unterdrückt wird (73), indem, wie zuvor beschrieben, die Mischlogik die Hauptpalettenserialisierer-Farbe auswählt. Gleichzeitig, gegebenenfalls nach einer entsprechenden Verzögerung, werden die Zugriffe auf den Cursordefinitionsspeicher wiederanlaufen. Weitere Cursordefinitionsdaten überschreiben anschließend die Daten, die gerade verwendet wurden, um das Erscheinen des Cursors zu definieren.
  • B2. In Abtastzeilen, die den Cursor (72-Y) enthalten, veranlaßt die Cursor-Steuerlogik, daß der Teil der Zeile mit Cursordaten im Cursor-Cachespeicher über die Mischlogik serialisiert und angezeigt (74) wird. Gleichzeitig, gegebenenfalls nach einer entsprechenden Verzögerung, werden die Zugriffe auf den Cursordefinitionsspeicher wiederanlaufen. Weitere Cursordefinitionsdaten überschreiben anschließend die Daten, die gerade verwendet wurden, um das Erscheinen des Cursors zu definieren und diese weiteren Daten werden ihrerseits verwendet, um die Anzeige der Zeile des Cursors zu vervollständigen.
  • Wenn die Anzeige der aktuellen Zeile des Cursors vollständig ist, wird der Teil der nächsten Zeile mit Cursordaten aus dem Cursordefinitionsspeicher ausgelesen und in dem Cursor-Cachespeicher gespeichert (75), bis der Cachespeicher voll ist, wo diese für die Anzeige der nächsten Zeile des Cursors bereit ist.
  • Die Schritte A, B oder C werden entsprechend für die folgenden Abtastzeilen wiederholt (76).
  • In diesem Beispiel wird deshalb der Cursor-Cachespeicher wenigstens teilweise zu Zeiten aktualisiert, wenn die Cursordaten aus dem Cursor-Cachespeicher in den Cursor-Serialisierer ausgegeben werden.
  • Die Erfindung ermöglicht es, einen graphischen Cursor auf wirtschaftliche Weise bereitzustellen, indem ein kleiner Hochgeschwindigkeits-Cachespeicher als Zwischenspeicher von Teilen des graphischen Cursors zusammen mit einem langsamen und kostengünstigen RAM für die vollständige Definition dieses Cursors benutzt wird.

Claims (9)

1. Eine Anzeigevorrichtung (20) mit:
einem Cursordefinitionsspeicher (40) zur Speicherung von Daten, welche einen graphischen Cursor definieren;
einem Cursor-Cachespeicher (42) zur Zwischenspeicherung von einem Teil der Bildelementdaten des graphischen Cursors zur Anzeige auf einem abgetasteten Anzeigegerät (24), wobei der Cursor-Cachespeicher (42) so ausgelegt ist, daß seine Ausgabedatengeschwindigkeit ausreichend ist, um die Anzeige des graphischen Cursors zu unterstützen und;
Steuerlogik (36), um den Cursor-Cachespeicher (42) aus dem Cursordefinitionsspeicher (40) mit einer niedrigeren Datenübertragungsgeschwindigkeit zu aktualisieren;
dadurch gekennzeichnet, daß:
die Aktualisierung des Cursor-Cachespeichers (42) aus dem Cursordefinitionsspeicher (40) erfolgt, während keine Cursordaten auf dem Anzeigegerät (24) angezeigt werden.
2. Eine Anzeigevorrichtung (20) wie in Anspruch 1 angemeldet, das jedoch außerdem enthält:
eine Quelle (48) von Hauptbildfarbsignalen zur Definition der Farbe der Hauptbildelemente;
Cursorfarbdefinitionsregister (34) für Farbdaten zur Definition der Farben der Cursor-Bildelemente; und
Mischlogik (46) zum Mischen der Cursorfarbdaten und der Hauptbildfarbdaten als Reaktion auf die Cursordefinitions- Datenausgabe aus dem Cursor-Cachespeicher (42).
3. Eine Anzeigevorrichtung (20) wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei der Cursor-Cachespeicher (42) Kapazität hat, um Daten zur Definition aller Cursor- Bildelemente für eine Bildzeile des Cursors zu enthalten.
4. Eine Anzeigevorrichtung (20) wie in Anspruch 3 angemeldet, wobei die Steuerlogik (36) die Cursordefinitionsdaten in dem Cursor-Cachespeicher (42) veranlaßt, aus diesem für jede Bildabtastzeile ausgegeben zu werden, jedoch die Anzeige der Cursordaten für alle außer die Abtastzeilen unterdrückt, auf welchen der graphische Cursor anzuzeigen ist.
5. Eine Anzeigevorrichtung (20) wie in Anspruch 3 angemeldet, wobei, nach Ausgabe der Cursordefinitionsdaten, die Steuerlogik (36) veranlaßt, die Cursordefinitionsdaten für die nächste Cursorbildzeile aus dem Cursordefinitionsspeicher (40) in den Cursor-Cachespeicher (42) zu laden.
6. Eine Anzeigevorrichtung (20) wie in Anspruch 1 oder Anspruch 2 angemeldet, wobei der Cursor-Cachespeicher (42) Kapazität hat, um Daten zur Definition von Cursor-Bildelementen für nur einen Teil einer Bildzeile des Cursors zu enthalten.
7. Eine Anzeigevorrichtung (20) wie in Anspruch 6 angemeldet, wobei die Steuerlogik (36) veranlaßt, die Cursordefinitionsdaten in dem Cursor-Cachespeicher (42) aus diesem für jede Bildabtastzeile auszugeben, jedoch die Anzeige der Cursordaten für alle außer die Abtastzeilen unterdrückt, auf denen der graphische Cursor anzuzeigen ist, wobei die Steuerlogik (36) zusätzlich weitere Cursordefinitionsdaten für die aktuelle Cursorbildzeile veranlaßt, Cursordefinitionsdaten zu überschreiben, die gerade aus dem Cursor- Cachespeicher (42) ausgegeben wurden und später weitere Cursordefinitionsdaten auszugeben.
8. Eine Anzeigevorrichtung (20) wie in Anspruch 7 angemeldet, wobei, nach Ausgabe weiterer Cursordefinitionsdaten, die Steuerlogik (36) veranlaßt, die Cursordefinitionsdaten für die nächste Cursorbildzeile aus dem Cursordefinitionsspeicher (40) in den Cursor-Cachespeicher (42) zu laden, bis der Cursor-Cachespeicher (42) voll ist.
9. Eine Anzeigevorrichtung (20) wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei der Cursor-Cachespeicher (42) ein statischer Speicher ist.
DE68920148T 1989-10-12 1989-10-12 Anzeigevorrichtung mit graphischem Cursor. Expired - Fee Related DE68920148T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP89310460A EP0422300B1 (de) 1989-10-12 1989-10-12 Anzeigevorrichtung mit graphischem Cursor

Publications (2)

Publication Number Publication Date
DE68920148D1 DE68920148D1 (de) 1995-02-02
DE68920148T2 true DE68920148T2 (de) 1995-06-29

Family

ID=8202816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68920148T Expired - Fee Related DE68920148T2 (de) 1989-10-12 1989-10-12 Anzeigevorrichtung mit graphischem Cursor.

Country Status (5)

Country Link
US (1) US5376949A (de)
EP (1) EP0422300B1 (de)
JP (1) JPH03132793A (de)
CA (1) CA2021828C (de)
DE (1) DE68920148T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
US5859649A (en) * 1995-05-15 1999-01-12 Motorola, Inc. Data processing system having display controller with bursting direct memory access
US5686938A (en) * 1995-06-29 1997-11-11 Batkhan; Leonid Z. Adaptive cursor control system
US6064405A (en) * 1998-04-10 2000-05-16 Ati Technologies, Inc Method and apparatus for a cached video hardware cursor
US6965369B2 (en) * 2002-02-11 2005-11-15 Microsoft Corporation Method and apparatus for smoothing cursor movement in relation to a refresh rate of a display
CN101004904B (zh) * 2006-01-20 2010-06-02 深圳迈瑞生物医疗电子股份有限公司 光标加速显示装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911419A (en) * 1973-11-23 1975-10-07 Xerox Corp Controller for cursor positioning on a display medium
JPS5827509B2 (ja) * 1975-12-26 1983-06-09 株式会社日立製作所 画面分割制御装置におけるカ−ソル移動制御装置
NL179417C (nl) * 1976-06-22 1986-09-01 Hollandse Signaalapparaten Bv Inrichting voor het regelen van de helderheid waarmede videosignalen op een raster-scan-display worden afgebeeld.
DE2939458A1 (de) * 1979-09-28 1981-05-21 Siemens Ag System zur lokalisierung von bereichen bei gemischter text-/bildbearbeitung am bildschirm
US4467322A (en) * 1982-08-30 1984-08-21 Sperry Corporation Digital shade control for color CRT background and cursors
DE3370706D1 (en) * 1983-12-22 1987-05-07 Ibm Raster-scanned cathode ray tube display with cross-hair cursor
JPS61213892A (ja) * 1985-03-19 1986-09-22 株式会社アスキ− デイスプレイ・コントロ−ラ
GB8612930D0 (en) * 1986-05-28 1986-07-02 Int Computers Ltd Video display system
JPS6436327A (en) * 1987-07-31 1989-02-07 Hitachi Ltd Optical printer controller
CA1317041C (en) * 1987-12-24 1993-04-27 Ncr Corporation Apparatus for creating a cursor pattern by strips related to individual scan lines
US4891631A (en) * 1988-01-11 1990-01-02 Eastman Kodak Company Graphics display system

Also Published As

Publication number Publication date
CA2021828A1 (en) 1991-04-13
DE68920148D1 (de) 1995-02-02
US5376949A (en) 1994-12-27
EP0422300B1 (de) 1994-12-21
EP0422300A1 (de) 1991-04-17
JPH03132793A (ja) 1991-06-06
CA2021828C (en) 1995-10-10

Similar Documents

Publication Publication Date Title
DE69020279T2 (de) Mechanismus zur Sicherung von Bildelementen für Adapter für gemischte Darstellung von graphischen Signalen und Video.
DE68920147T2 (de) Anzeigesystem.
DE3853489T2 (de) Grafik-Anzeigesystem.
DE3889136T2 (de) Schnittstelle für eine hochauflösende Grafikanzeige.
DE3687359T2 (de) Rasterpufferspeicher.
DE3787125T2 (de) Mehrfensteranzeigesystem.
DE69735975T2 (de) System und Verfahren zur Überlagerung von wahlweise in unterschiedlichen nativen Formaten gespeicherten Bildern
DE3687358T2 (de) Bildpufferspeicher mit variablem zugriff.
DE3850955T2 (de) Anzeigesystem mit einem Fenstermechanismus.
DE3485765T2 (de) Anzeigesystem fuer zusammengesetzte bilder.
DE3851680T2 (de) Einrichtung zur Änderung der Bildelementdaten, die in einem Direktzugriffsspeicher gespeichert sind.
DE3889240T2 (de) Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen.
DE10101073B4 (de) Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür
DE3718501A1 (de) Videoanzeigegeraet
DE4304653A1 (de)
DE68925569T2 (de) Dynamischer Video-RAM-Speicher
DE3588174T2 (de) Videosystem
DE3887517T2 (de) Steuergerät des die Tiefeninformation enthaltenden Buffers.
DE3885133T2 (de) Anzeigeeinrichtung mit einem Schriftartspeicher für Symbole.
DE69215155T2 (de) Gerät mit schneller Kopierung zwischen Rasterpuffern in einem Anzeigesystem mit Doppel-Pufferspeichern
DE3685857T2 (de) Plasmabildschirmanzeigesysteme.
DE69206678T2 (de) Verfahren und Einrichtung zur Steuerung von Schriftartenspeicherzugriffsanordnungen in einem Anzeigesteuergerät
DE68920148T2 (de) Anzeigevorrichtung mit graphischem Cursor.
EP0500147B2 (de) Verfahren zur Ansteuerung eines Monitors und Monitorsteuerschaltung
DE3781969T2 (de) Regler fuer kathodenstrahl-bildroehre.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee