DE3888445T2 - Graphisches Anzeigesystem mit einem Sekundärbildspeicher für Bildelemente. - Google Patents

Graphisches Anzeigesystem mit einem Sekundärbildspeicher für Bildelemente.

Info

Publication number
DE3888445T2
DE3888445T2 DE3888445T DE3888445T DE3888445T2 DE 3888445 T2 DE3888445 T2 DE 3888445T2 DE 3888445 T DE3888445 T DE 3888445T DE 3888445 T DE3888445 T DE 3888445T DE 3888445 T2 DE3888445 T2 DE 3888445T2
Authority
DE
Germany
Prior art keywords
display
pixel
image
data
primary
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
DE3888445T
Other languages
English (en)
Other versions
DE3888445D1 (de
Inventor
John Charles Dalrymple
Byron Gene Paul
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.)
Tektronix Inc
Original Assignee
Tektronix Inc
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 Tektronix Inc filed Critical Tektronix Inc
Publication of DE3888445D1 publication Critical patent/DE3888445D1/de
Application granted granted Critical
Publication of DE3888445T2 publication Critical patent/DE3888445T2/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/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/363Graphics controllers
    • 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/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)
  • Computer Graphics (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

    Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft ein graphisches Anzeigesystem mit einem Bildprozessor, der Bildelementdaten zur Speicherung als aus Bildelementen bestehendes Bild in einem Rahmenpufferspeicher (Bildspeicher) erzeugt, der eine graphische Anzeige steuert, wobei der Bildelementdatenausgang des Bildprozessors auch selektiv als sekundäres, aus Bildelementen bestehendes Bild in einem anderen Speicher gespeichert werden kann.
  • Ein typisches rechnergestütztes graphisches Anzeigesystem speichert graphische Darstellungen in Form von Anzeigelisten in einem Speicher. Eine Anzeigeliste kann eine Vielzahl von Anweisungen und Daten enthalten, die Verschiedene graphische Objekte beschreiben, die eine graphische Darstellung umfassen. Bei einigen graphischen Anzeigesystemen werden Anzeigelisten von einem Steuerprozessor aufgebaut und gehalten, und wenn eine bestimmte graphische Darstellung auf einem Rechnerbildschirm angezeigt werden soll, wird die diese beschreibende Anzeigeliste an einen getrennten "Bildprozessor" übertragen, der die Anzeigeliste verarbeitet, um Steuer- und Bildelementdaten zur Übertragung an eine Anzeigesteuerung zu erzeugen. Die Anzeigesteuerung weist einen Rahmenpufferspeicher auf, der eingehende Bildelementdaten an Adressen, die von den vom Bildprozessor bereitgestellten Steuerdaten bestimmt werden, speichert. Graphische Darstellungen auf dem Rechnerbildschirm werden durch eine Bildelementmatrix mit Verschiedenen Attributen (z. B. Farbe, Intensität, etc.) gebildet und die Bildelementdaten an jeder Adresse geben Anzeigeattribute eines separaten Bildelementes an. Die Anzeigesteuerung aktualisiert periodisch die Anzeige gemäß den Bildelementdaten, die sich zu diesem Zeitpunkt im Rahmenpufferspeicher befinden.
  • Von einer beliebigen Graphiksoftware erzeugte Anzeigelisten beinhalten präzise Anweisungen zum Erzeugen relativ großer Mengen von Bildelementdaten. Zum Beispiel kann eine zwischen zwei Punkten in einem bestimmten Koordinatensystem Verlaufende Linie in einer Anzeigeliste als kurze Datensequenz dargestellt sein, die die Koordinaten der beiden Punkte definiert und verschiedene Attribute der Linie, wie Farbe, Dicke usw. identifiziert. Die die Linie beschreibende Datensequenz wird durch eine Anweisung an den Bildprozessor erzeugt, die das Format der nachfolgenden Datensequenz angibt. Als Reaktion auf die Anweisung verarbeitet der Bildprozessor die Datensequenz zur Erzeugung von Bildelementdaten, die jedem Bildelement entsprechen, welches auf der Linie auf dem Bildschirm enthalten sein soll. Vor dem Übertragen der Bildelementdaten an die Anzeigesteuerung erzeugt der Bildprozessor auch Steuerdaten und überträgt diese an die Anzeigesteuerung, wodurch diese angewiesen wird, wie die Adressen des Rahmenpufferspeichers zu berechnen sind, an denen die Bildelementdaten gespeichert werden sollen. Danach erzeugt bei Übertragung von Bildelementdaten durch den Bildprozessor an die Anzeigesteuerung die Anzeigesteuerung geeignete Rahmenpufferspeicheradressen und speichert die Bildelementdaten im Rahmenpufferspeicher.
  • Es kann jedoch auch eine Linie oder ein anderes graphisches Objekt in einer Anzeigeliste als Bildelementdatensequenz dargestellt werden, die das Objekt direkt auf den Bildschirm abbildet, wobei der Sequenz Steuerdaten Vorangehen, die angeben, daß es sich bei der Sequenz um Bildelementdaten handelt und die Adressen im Rahmenpufferspeicher angeben, an denen die Bildelementdaten gespeichert werden sollen. Als Reaktion auf derartige Steuerdaten leitet der Bildprozessor die Bildelement- und Steuerdaten ohne ausgiebige Verarbeitung, da die Bildelement- und Steuerdaten in der Anzeigeliste bereits imwesentlichen in der von der Anzeigesteuerung benötigten Form vorliegen, an die Anzeigesteuerung weiter. Somit benötigt der Bildprozessor im typischen Fall weniger Zeit zur Verarbeitung einer Anzeigeliste, die vorwiegend Bildelemente und Steuerdaten beinhaltet, als er zur Verarbeitung einer Liste benötigt, die Anweisungen einer höheren Ebene zur Berechnung von Steuer- und Bildelementdaten enthält. Wenn möglich, erzeugt eine Graphiksoftware im typischen Fall jedoch Anzeigelisten unter Verwendung von Anweisungen einer höheren Ebene anstelle von als digitales Muster Vorliegender ("bit-mapped") Bildelementdaten zur Beschreibung von graphischen Objekten, da derartige Formate üblicherweise kompakter gespeichert werden und für einen Allzweck-Steuerprozessor leichter manipulierbar sind.
  • Bei einigen Systemen können getrennte Anzeigelisten für jede einzelne von mehreren graphischen Darstellungen verwaltet werden, und ausgewählte Abschnitte ("Fenster") einer oder mehrerer der Darstellungen können gleichzeitig auf dem Bildschirm der Kathodenstrahlröhre angezeigt werden. Wird eine eine graphische Darstellung definierende Anzeige an den Bildprozessor übertragen, wird ein Satz Anweisungen der Anzeigeliste hinzugefügt, um das anzuzeigende Fenster und die Position eines bestimmten Bereiches ("Darstellungsbereich") der Kathodenstrahl röhre, in dem das Fenster angezeigt werden soll, anzugeben. Fenster können üblicherweise als Reaktion auf Befehle der Bedienungsperson auf dem Bildschirm umher bewegt werden, und ein Fenster kann ein anderes teilweise oder auch vollständig überlappen. Bewegt sich zum Beispiel ein erstes Fenster über ein zweites Fenster hinweg, wobei es vorübergehend dieses zweite Fenster überdeckt und dann wieder aufdeckt, dann muß der Bildprozessor Anzeigelisten Verarbeiten, die beide Fenster vielmals beschreiben, so daß beide Fenster in Schneller Folge neu gezeichnet werden, um einen glatten Übergang der dargestellten Bewegung des ersten Fensters über das zweite hinweg zu ermöglichen. Liegen die Anzeigenlisten jedoch in Formen vor, die eine ausgiebige Verarbeitung erfordern, dann ist der Bildprozessor vielleicht nicht in der Lage, Bildelementdaten schnell genug an die Anzeigesteuerung zu übertragen, um die Illusion einer glatten Fensterbewegung zu erzeugen.
  • Zusammenfassung der Erfindung
  • Merkmale der vorliegenden Erfindung sind in den beigefügten Ansprüchen ausgeführt. Ein graphisches Anzeigesystem gemäß bevorzugter Ausführungsform besteht aus einem Hauptspeicher, einem Steuerprozessor sowie einem über einen Rechnerbus damit verbundenen Bildprozessor. Der Hauptspeicher speichert primäre Anzeigelisten, die Sätze von Anweisungen umfassen, welche graphische Darstellungen definieren, wobei diese primären Anzeigelisten vom Steuerprozessor erzeugt werden. Der Bildprozessor liest und verarbeitet die primären Anzeigelisten, um Steuerdaten und Bildelementdaten zur Übertragung an eine Anzeigesteuerung bereitzustellen. Die Anzeigesteuerung speichert die Bildelementdaten in Form einer Bildelementdatenmatrix ("aus Bildelementen bestehendes Bild") in einem Rahmenpufferspeicher und erzeugt eine graphische Anzeige auf einem Bildschirm einer Kathodenstrahlröhre (CRT), wobei die Anzeige durch das gespeicherte, aus Bildelementen bestehende Bild definiert wird. Eine Leitschaltung ist im Datenweg zwischen dem Bildprozessor und der Anzeigesteuerung vorgesehen, um zu ermöglichen, durch den Bildprozessor zugeführte Ausgangsdaten von der Anzeigesteuerung selektiv wegzuleiten und als Reaktion auf Befehle vom Steuerprozessor zum Rechnerbus hinzuleiten.
  • Gemäß der bevorzugten Ausführungsform liest der Steuerprozessor die auf den Rechnerbus geleiteten Steuer- und Bildelementdaten und erzeugt ein sekundäres, aus Bildelementen bestehendes Bild im Hauptspeicher, wobei das sekundäre, aus Bildelementen bestehende Bild einem aus Bildelementen bestehenden Bild ähnlich ist, das ansonsten von der Anzeigesteuerung erstellt würde, wenn die Steuer- und Bildelementausgangsdaten des Bildprozessors an die Anzeigesteuerung übertragen worden wären.
  • Soll die Anzeige aktualisiert werden, kann der Steuerprozessor die im Hauptspeicher gespeicherten Bildelementdaten in eine sekundäre Anzeigeliste eingliedern und diese sekundäre Anzeigeliste an den Bildprozessor übertragen, anstelle der primären Anzeigeliste, aus der die Bildelementdaten abgeleitet wurden. Die sekundäre Anzeigeliste stellt dieselbe graphische Darstellung dar, wie sie von der primären Anzeigeliste definiert ist, sie umfaßt jedoch Bildelement- und Steuerdaten, die bereits im wesentlichen in einer für die Anzeigesteuerung verständlichen Form vorliegen. Somit kann der Bildprozessor die sekundäre Anzeigeliste schneller verarbeiten als die primäre Anzeigeliste. Dieses Merkmal der Erfindung ist beispielsweise in einem System von Nutzen, in dem mehrere graphische Darstellungen in separaten, überlappenden Fenstern auf einem Bildschirm angezeigt werden. Ein sekundäres, aus Bildelementen bestehendes Bild eines teilweise oder vollständig abgedeckten Fensters kann im Hauptspeicher gehalten werden und bei jedweder Änderung der Anzeigeliste, auf der es beruht, aktualisiert werden. Wird ein Abschnitt des Fensters aufgedeckt, dann wird die graphische Anzeige durch Erzeugen und Übertragen einer sekundären Anzeigeliste, welche die im Hauptspeicher gespeicherten Bildelementdaten an den Bildprozessor überträgt, und nicht der entsprechenden primären Anzeigeliste, die vielleicht nicht mehr im Speicher vorhanden ist, aktualisiert. Da die sekundäre Anzeigeliste Daten enthält, die bereits im wesentlichen in einer für die Anzeigesteuerung verständlichen Form vorliegen, kann der Bildprozessor die Daten nach nur minimaler Verarbeitung schnell an die Anzeigesteuerung weiterleiten, so daß die Anzeige schnell aktualisiert werden kann.
  • Die Erfindung kann somit ein verbessertes graphisches Anzeigesystem zur Verfügung stellen, bei dem Bildelement- und Steuerdaten, die von einem Bildprozessor als Reaktion auf eine Anzeigeliste erzeugt wurden, selektiv entweder an eine Anzeigesteuerung übertragen werden, um aus diesen eine Anzeige zu erzeugen, oder an einen Prozessor, um aus diesen ein sekundäres, aus Bildelementen bestehendes Bild in einem Speicher zu erzeugen.
  • Der Gegenstand der vorliegenden Erfindung ist in dem abschließenden Teil dieser Schrift insbesondere erläutert und im einzelnen beansprucht sowohl die Organisation als auch das Betriebsverfahren der Erfindung, zusammen mit weiteren Vorteilen dieser, sind jedoch am besten unter Bezugnahme auf die nachfolgende Beschreibung in Verbindung mit den beigefügten Zeichnungen verständlich, in denen gleiche Bezugszeichen gleiche Elemente kennzeichnen.
  • Beschreibung der Zeichnung
  • Fig. 1 ist ein Blockschaltbild eines Verbesserten graphischen Anzeigesystems gemäß vorliegender Erfindung;
  • Fig. 2 ist ein Blockschaltbild der Leitschaltung gemäß Fig. 1;
  • Fig. 3 ist ein Datenflußdiagramm, das den Transfer von Nachrichten und Daten zwischen vom Steuerprozessor gemäß Fig. 1 ausgeführten Prozessen und Funktionen darstellt;
  • Fig. 4 ist ein Flußdiagramm, das den Betrieb der Queue-Steuerfunktion gemäß Fig. 3 darstellt;
  • Fig. 5 ist ein Flußdiagramm, das den Betrieb des Anzeigesteuerungs-Emulationsprozeß gemäß Fig. 3 zeigt; und
  • Fig. 6 ist ein Flußdiagramm, das den Betrieb des Emulations- Programms gemäß Fig. 5 zeigt.
  • Beschreibung der bevorzugten Ausführungsform
  • In Fig. 1 besteht ein graphische Anzeigesystem 10 aus einem Hauptspeicher 12 zum Speichern primärer Anzeigelisten, wobei jede primäre Anzeigeliste Anweisungen zum Erzeugen einer graphischen Anzeige auf einem Bildschirm umfaßt. Eine primäre Anzeigeliste kann von einem Host-Rechner 17 erzeugt und an den Hauptspeicher 12 übertragen werden, und kann durch einen Steuerprozessor 14 unter Steuerung einer Graphiksoftware geändert werden, welche ebenfalls im Speicher 12 gespeichert sein kann. Der Steuerprozessor 14 kann eine primäre Anzeigen liste im Speicher 12 ändern, um die graphische Darstellung, die sie darstellt, als Reaktion auf Benutzerbefehle, die durch eine Tastatur, eine Maus, einen Fernrechner ("Remote Computer") und/oder andere Eingabevorrichtungen über die Schnittstellenschaltung 16 an den Steuerprozessor 14 übertragen werden, zu Verändern. Der Hauptspeicher 12, der Prozessor 14, die Benutzerschnittstellenschaltung 16 und der Host-Rechner 17 sind über einen Rechnerbus 18 miteinander verbunden, welcher ebenfalls an einen Bildprozessor 20 angeschlossen ist.
  • Eine im Hauptspeicher 12 gespeicherte primäre Anzeigeliste kann ausgelesen und über Bus 18 an den Bildprozessor 20 geleitet werden. Der Bildprozessor 20 ist ein zweckbestimmter Prozessor, der zur Verarbeitung von Anzeigelisten mit hoher Geschwindigkeit ausgelegt ist, um Bildelemente und Steuerdaten zu erzeugen, die über einen ersten lokalen Anzeigebus 21, eine Leitschaltung 26 und einen zweiten lokalen Anzeigebus 23 an eine Videoanzeigesteuerung 22 übertragen werden. Die Anzeigesteuerung 22 speichert die von ihr empfangenen Bildelementdaten in einem in ihr enthaltenen Rahmenpufferspeicher und Verwendet die gespeicherten Bildelementdaten zur Steuerung von Videosignalen, die eine auf dem Bildschirm von Kathodenstrahlröhre (CRT) 24 erzeugte Anzeige aktualisieren. Somit arbeitet das graphische Anzeigesystem 10 als Datenverarbeitungsübertragungsleitung zur Aktualisierung einer angezeigten graphischen Darstellung. Die erste Stufe der Übertragungsleitung ist der Steuerprozessor 14 oder Host-Rechner 17, wobei diese Stufe eine primäre Anzeigeliste zur Speicherung in einem Hauptspeicher 12 erstellt, und die zweite Stufe der Übertragungsleitung ist der Bildprozessor 20, der die primäre Anzeigeliste verarbeitet, um Steuer- und Bildelementdaten zu erzeugen. Die dritte Stufe der Leitung ist die Videoanzeigesteuerung 22, die die Bildelementdaten in ihrem internen Rahmenpufferspeicher speichert und entsprechend eine Anzeige steuert. Der Bildprozessor 20 selbst kann ebenfalls eine interne Architektur aufweisen, durch die primäre Anzeigelisten in der Art der Übertragungsleitung verarbeitet werden.
  • Während der Steuerprozessor 14 geeigneterweise ein Allzweck- Mikroprozessor ist, ist der Bildprozessor 20 ein anwendungsspezifischer Anweisungsprozessor, der zur schnellen Verarbeitung von Anzeigelisten ausgelegt ist, um Steuer- und Bildelementdaten für die Anzeigesteuerung 22 zu erzeugen. In einigen graphischen Anzeigesystemen des Standes der Technik führt ein Allzweck-Prozessor, der die primären Anzeigelisten manipuliert, auch die Funktion des Bildprozessors 20 aus, durch die Verwendung eines anwendungsspezifischen zweckgerichteten Bildprozessors 20 zur Erstellung der Bildelementdaten aus den Anzeigelisten jedoch erhöht sich die Geschwindigkeit der Anzeigeaktualisierungen, da ein anwendungsspezifischer Bildprozessor Anzeigelisten schneller verarbeiten kann als ein Allzweck- Mikroprozessor. Außerdem ermöglicht es die Leitungsarchitektur des Systems dem Bildprozessor 20, Anzeigelisten zur gleichen Zeit zu verarbeiten, zu der der Steuerprozessor andere Operationen durchführt.
  • Anzeigelisten enthalten häufig Anweisungen einer "höheren Ebene", was erfordert, daß der Bildprozessor 20 verschiedene Verarbeitungsvorgänge ausführt, um sie in Steuer- und Bildelementdaten umzusetzen, die zur Übertragung an die Anzeigesteuerung 22 geeignet sind. Anzeigelisten können auch unmittelbar Bildelement- und Steuerdaten führen, die bereits in einer an die Anzeigesteuerung ohne wesentliche Verarbeitung übertragbaren Form vorliegen. Der Bildprozessor 20 benötigt daher weniger Zeit zur Verarbeitung einer primären Anzeigeliste, die hauptsächlich Bildelement- und Steuerdaten einer niedrigen Ebene enthält, als er zur Verarbeitung einer Anzeigeliste benötigt, welche vorwiegende höhere Anweisungen zur Erzeugung von Bildelementdaten enthält. Graphiksoftware verwendet jedoch häufig Anzeigelisten, die Anweisungen einer höheren Ebene enthalten, da sie üblicherweise kompakter im Hauptspeicher 12 gespeichert sind und schneller vom Steuerprozessor 14 oder Host-Rechner 17 manipuliert werden können, um eine Veränderung der durch die Anzeigelisten dargestellten graphischen Darstellungen zu bewirken.
  • Gemäß der Erfindung ist die Ausgangsleitschaltung 26 im Datenweg zwischen dem Bildprozessor 20 und der Anzeigesteuerung 22 eingefügt und auch mit dem Rechnerbus 18 verbunden. Der Steuerprozessor 14 kann einen Befehl an die Leitschaltung legen, den Bildelement- und Steuerdatenausgang des Bildprozessors 20 über Bus 18 zurück an den Steuerprozessor 14 und nicht an die Videoanzeigesteuerung 22 zu leiten. Der Steuerprozessor 14 liest die auf dem Rechnerbus 18 liegenden Steuer- und Bildelementdaten und erstellt im Hauptspeicher 12 eine Bildelementdatenmatrix ("aus Bildelementen bestehendes Bild") ähnlich einem aus Bildelementen bestehenden Bild, das ansonsten im Rahmenpufferspeicher innerhalb der Anzeigesteuerung 22 erzeugt würde, wenn die Steuer- und Bildelementdaten an die Anzeigesteuerung geschickt worden wären. Danach kann der Steuerprozessor 14 die im Hauptspeicher 12 gespeicherten Bildelementdaten in eine "sekundäre" Anzeigeliste eingliedern, welche ebenfalls die graphische Darstellung definiert, aber direkt Steuer- und Bildelementdaten anstelle höherer Anweisungen zum Erzeugen derartiger Daten enthält. Wird diese sekundäre Liste anstelle der primären Anzeigeliste, aus der sie abgeleitet wurde, an den Bildprozessor 20 geleitet, dann kann der Bildprozessor die sekundäre Anzeigeliste schnell verarbeiten und die darin enthaltenen Steuer- und Bildelementdaten zur schnellen Aktualisierung des darin gespeicherten, aus Bildelementen bestehenden Bildes weiterleiten.
  • Die Erstellung und Verwaltung des sekundären, aus Bildelementen bestehenden Bildes im Hauptspeicher 12 ist beispielsweise dann nützlich, wenn mehrere graphische Darstellungen in getrennten, bisweilen überlappenden Fenstern auf einem Bildschirm angezeigt werden. Ein sekundäres, aus Bildelementen bestehendes Bild eines zum Teil oder vollständig von einem anderen Fenster verdeckten Fensters kann im Hauptspeicher 12 verwaltet und jedesmal dann aktualisiert werden, wenn die primäre Anzeigeliste, auf der es basiert, verändert wird. Bei Aufdecken eines Teils des Fensters kann der Steuerprozessor 14 die Aktualisierung der graphischen Anzeige durch Erzeugen und Übertragen einer sekundären Anzeigeliste auslösen, welche das im Hauptspeicher 12 gespeicherte, aus Bildelementen bestehende Bild an den Bildprozessor 20 überträgt, anstatt durch Übertragen der primären Anzeigeliste an den Bildprozessor. Da die sekundäre Anzeigeliste Bildelement- und Steuerdaten enthält, die in im wesentlichen für die Anzeigesteuerung verständlicher Form vorliegen, kann der Bildprozessor 20 die Daten schnell unter minimaler Verarbeitung an die Anzeigesteuerung weiterleiten, so daß die Anzeige schnell aktualisiert werden kann. Außerdem sind die primären Anzeigelisten vielleicht nur temporär unmittelbar vor der Übertragung an den Bildprozessor 20 im Hauptspeicher 1 gespeichert und können danach mit anderen Daten überschrieben werden. Durch die Verwaltung eines sekundären, aus Bildelementen bestehenden Bildes und die Erzeugung von sekundären Anzeigelisten aus diesen entfällt das Erfordernis zum Einholen einer primären Anzeigeliste vom Host-Rechner 17 jedesmal dann, wenn ein Fenster aufgedeckt wird.
  • Ein sekundäres, aus Bildelementen bestehendes Bild kann ebenfalls im Hauptspeicher 12 für eine graphische Darstellung verwaltet werden, die durch eine primäre Anzeigeliste definiert ist, welche gelegentlich geändert wird, bei der jedoch die Darstellung nicht immer auf der CRT 24 angezeigt wird. Bei jeder Aktualisierung der primären Anzeigeliste wird diese an den Bildprozessor 20 übertragen, aber die Leitschaltung 26 leitet den Ausgang des Bildprozessors zurück zum Steuerprozessor 14, anstelle ihn an die Anzeigesteuerung 22 weiterzuleiten, und der Steuerprozessor speichert ein sekundäres, aus Bildelementen bestehendes Bild der Anzeige im Hauptspeicher. Danach kann der Steuerprozessor schnell die Anzeige der Darstellung auslösen, indem er den Bildprozessor mit einer sekundären Anzeigeliste versorgt, die das sekundäre, aus Bildelementen bestehende Bild führt, anstelle ihn mit der primären Anzeigeliste zu versorgen, auf der das sekundäre, aus Bildelementen bestehende Bild basiert.
  • Fig. 2 ist ein Blockschaltbild der Leitschaltung 26 aus Fig. 1. Der lokale Anzeigebus 21 überträgt einen Satz von DATEN- Bits und ein SCHREIBEN-Signal an ein Register 30 innerhalb der Leitschaltung 26 und überträgt ein WARTEN-Signal von der Leitschaltung zurück an den Bildprozessor. Das Register 30 wird durch ein LADEN-Signal von einer lokalen Anzeigebus- (LDB)- Steuerschaltung 32 zur Eingabe freigegeben, welche ein BEREIT- Signal über Bus 23 von der Anzeigesteuerung empfängt, wenn diese zum Empfang von Daten auf Bus 23 bereit ist. Die LDB- Steuerschaltung 32 setzt kontinuierlich das LADEN-Signal, nachdem das BEREIT-Signal gesetzt ist, wodurch bewirkt wird, daß jedwede Daten auf Bus 21 in das Register 30 geladen werden. Das SCHREIBEN-Bit der Daten in Register 30 wird als Eingang an die LDB-Steuerschaltung 32 gelegt. Ist das SCHREIBEN- Bit gesetzt, was angibt, daß gültige Daten sich auf dem lokalen Anzeigebus 21 befinden, dann nimmt die LDB-Steuerschaltung 32 das LADEN-Signal zurück, so daß das Register 30 nicht mehr zur Eingabe freigegeben ist. Die LDB-Steuerschaltung überträgt dann ein SCHREIBEN-Signal an die Anzeigesteuerung über Bus 23, um anzugeben, daß sich gültige Daten auf dem Bus 23 befinden. Die Anzeigesteuerung nimmt daraufhin das BEREIT-Signal zurück, liest und verarbeitet die Daten auf dem Bus 23 und setzt später erneut das BEREIT-Signal, wenn sie zum Empfang weiterer Daten bereit ist. Das von der LDB-Steuerschaltung 32 erzeugte LADEN-Signal wird auch als Eingang an einen Puffer 34 gelegt, der als Ausgang das an den Bildprozessor übertragene WARTEN- Signal erstellt. Bei Rücknahme des LADEN-Signals wird der Bildprozessor durch das WARTEN-Signal angewiesen, keine neuen Daten auf den Bus 21 zu setzen. Bei anschließendem Setzen des LADEN-Signals wird dem Bildprozessor durch das WARTEN-Signal mitgeteilt, daß er mehr Daten auf den Bus 21 setzen kann. Hat der Bildprozessor keine Daten zur Übertragung an den Bus 21, dann setzt er erneut das SCHREIBEN-Bit, um anzuzeigen, daß sich keine gültigen Daten auf dem Bus befinden.
  • Der Steuerprozessor 14 aus Fig. 1 bestimmt, ob die Leitschaltung 26 Daten über den Rechnerbus 18 an die Anzeigesteuerung oder zurück zum Steuerprozessor überträgt. Die Leitschaltung 26 weist des weiteren eine Busschnittstellenschaltung 36 zum Dekodieren von Eingabe/Ausgabe-Raumadressen auf, die auf dem Rechnerbus 18 gesetzt sind, um auf dem Rechnerbus 18 befindliche Daten in einem Steuerregister 38 zu speichern, wenn er adressiert wird, und zum Dekodieren von Anweisungen auf dem Rechnerbus. Ein im Steuerregister 38 gespeichertes FREIGABE- Bit wird an die LDB-Steuerschaltung 32 geführt und wenn das FREIGABE-Bit gesetzt ist, leitet die Leitschaltung Daten an den Rechnerbus 18. Die Busschnittstellenschaltung 36 gibt auch als Reaktion auf über den Bus 18 zugeführte Steuersignale einen Puffer 39 zur Ausgabe frei, und wenn er zur Ausgabe freigegeben ist, leitet der Puffer 39 die DATEN-Bits in das Register 30 und ein von der Busschnittstellenschaltung 36 erzeugtes GÜLTIG-Bit auf den Rechnerbus 18. Das SCHREIBEN-Bit im Register 30 wird als Eingang an die Busschnittstellenschaltung 36 gelegt, welche das GÜLTIG-Bit setzt, um den Zustand des SCHREIBEN-Bits anzugeben.
  • Wenn das FREIGABE-Bit gesetzt ist, ignoriert die LDB-Steuerschaltung 32 das BEREIT-Signal von der Anzeigesteuerung und setzt nicht das SCHREIBEN-Signal an die Anzeigesteuerung, so daß die Anzeigesteuerung keine Daten auf Bus 23 liest. Stattdessen werden die im Register 30 gespeicherten Daten und das GÜLTIG-Bit auf den Rechnerbus 18 gelegt, wenn der Puffer 39 zur Ausgabe freigegeben ist, und die Schnittstellenschaltung 36 überträgt ein BEREIT-Signal an die LDB-Steuerschaltung 32, wenn der Steuerprozessor über Signale auf dem Bus 18 angibt, daß er die Daten auf dem Rechnerbus gelesen hat. Die LDB- steuerschaltung 32 steuert das LADEN-Signal als Reaktion auf das von der Busschnittstellenschaltung erzeugte BEREIT-Signal auf dieselbe Art und Weise, wie sie ansonsten das LADEN-Signal als Reaktion auf das BEREIT-Signal von der Anzeigesteuerung steuern würde.
  • Somit leitet, wenn das FREIGABE-Bit nicht gesetzt ist, die Leitschaltung 26 die Daten auf dem Bus 21 an die Anzeigesteuerung über Bus 23 weiter und setzt das SCHREIBEN-Signal, um zu bewirken, daß die Anzeigesteuerung die Daten auf Bus 23 annimmt. Andererseits leitet bei gesetztem FREIGABE-Bit die Leitschaltung 26 die Daten auf Bus 21 an den Steuerprozessor 14 aus Fig. 1 über den Rechnerbus 18 weiter. Der Betriebsmodus der Leitschaltung 26 wird durch den Steuerprozessor 14 über auf dem Bus 13 zugeführte Steuerdaten gesteuert und im Steuerregister 38 gespeichert.
  • Fig. 3 ist ein Datenflußdiagramm, aus dem hervorgeht, wie verschiedene Software-Prozesse und Funktionen, wie sie vom Steuerprozessor 14 aus Fig. 1 implementiert werden, mit dem Bildprozessor 20 und der Leitschaltung 26 interagieren. In Fig. 3 sind die Prozesse durch Ellipsen (bzw. Kreise) dargestellt, Funktionen sind durch Kästchen mit abgerundeten Ecken dargestellt und im Hauptspeicher 12 aus Fig. 1 gespeicherte Datenblöcke sind durch Kästchen mit scharfen Ecken dargestellt. Die Richtung des Daten- oder Nachrichtflusses ist durch durchgezogene Pfeile dargestellt, während die Richtung eines Zeigers in einer Speicheradresse an eine andere Speicheradresse im Hauptspeicher 12 durch eine gestrichelten Pfeil dargestellt ist.
  • Der Steuerprozessor 14 aus Fig. 1 ist geeigneterweise von der Gattung, die zur gleichzeitigen Implementierung mehrerer Prozesse, die über Nachrichten miteinander kommunizieren, in der Lage ist. Jede primäre Anzeigeliste 40 wird von einem Master- Steuerprozeß 48 im Hauptspeicher gespeichert, wobei die primären Anzeigelisten durch Anzeigelistenprozesse 42 bereitgestellt werden, die Graphiksoftware zur Erzeugung primärer Anzeigelisten ausführen kann oder die primäre Anzeigelisten vom Host-Rechner 17 aus Fig. 1 erfassen kann. Ein Anzeigelistenprozeß 42 kann einen Master-Steuerprozeß 48 zur Übertragung einer primären Anzeigeliste an den Bildprozessor anfordern. Der Master-Steuerprozeß 48 ruft eine Anzeigelistenanweisungs- Queuefunktion 50 auf, die eine Anzeigelistenanweisungs-Queue 44 verwaltet, die Anweisungen zur Ausführung durch den Bildprozessor enthält. Der Bildprozessor greift auf Anweisungen in der Queue 44 zu und führt diese in der Reihenfolge, in der sie gespeichert sind, aus. Die Anweisungs-Queue 44 umfaßt einen Satz zusammenhängender Adressen im Hauptspeicher, die zum Speichern der Anweisungen reserviert sind. Soll der Queue ein neuer Satz Anweisungen hinzugefügt werden, es ist jedoch nicht genügend Platz in der Nähe des Endes des Adreßraumes vorhanden, der für die Queue zu Speichern neuer Anweisungen reserviert ist, dann setzt die Queue-Steuerfunktion eine "Spring"- Anweisung als letzte Anweisung in der Queue hinzu, um den Bildprozessor zurück zum Anfang der Queue zu leiten, die Funktion wartet, bis eine ausreichende Anzahl von Anweisungen im vorderen Teil der Queue vom Bildprozessor ausgeführt wurden und überschreibt dann früher durchgeführte Anweisungen am Anfang der Queue mit dem neuen Anweisungssatz.
  • Zur "Übertragung" einer primären Anzeigeliste an den Bildprozessor ruft der Master-Steuerprozeß 48 die Queue-Steuerfunktion 50 auf und versorgt sie mit Information bezüglich der Adresse und Länge der Anzeigeliste. Die Queue-Steuerfunktion 50 fügt einen Satz Anweisungen der Queue 44 zu, die auf die Anfangsadresse im Hauptspeicher der primären Anzeigeliste zeigen, die Länge der Anzeigeliste angeben und den Bildprozessor anweisen, die Anzeigeliste beginnend an dieser Adresse zu lesen. Bei Erreichen des Anweisungssatzes liest und verarbeitet der Bildprozessor sequentiell Anweisungen und Daten in der Anzeigeliste, und nimmt dann das Lesen und Ausführen von Anweisungen in der Anzeigelistenanweisungs-Queue 44 wieder auf. Die nächste von der Queue-Steuerfunktion 50 im Anschluß an einen Satz von Anweisungen zum Lesen einer Anzeigeliste in die Anweisungs-Queue gesetzte Anweisung ist eine "Bewege sofort"-Anweisung (PP_MI), die den Bildprozessor anweist, einen LETZTER STOP-Zeiger in einem Steuerblock 56 zu speichern, einem Teil des Adreßraumes des Hauptspeichers, der zum Speichern von Steuerdaten, Flags und Bildprozessorbefehlen reserviert ist. Der LETZTER STOP-Zeiger deutet auf die Adresse der nächsten Anweisung, die auf die PP_MI-Anweisung folgt. Diese nächste Anweisung ist eine "stop"-Anweisung (PP_S), die den Bildprozessor anweist, mit dem Lesen von Anweisungen von der Anweisungs-Queue 44 auf zuhören und auch ein GESTOPPT-Flag im Steuerblock 56 zu setzen.
  • Die Queue-Steuerfunktion 50 speichert einen "Ende der Anzeigelistenanweisungs-Queue"- (EDLQ)-Zeiger im Steuerblock 56, der auf die Adresse der letzten Anweisung (d. h. die PP_ S-Anweisung) zeigt, die in der Queue gespeichert ist. Vor dem Hinzufügen eines neuen Satzes Anweisungen in die Anweisungs-Queue überprüft die Queue-Steuerfunktion 50 die EDLQ und die ZULETZT GESTOPPT-Zeiger, um eine Anfangsadresse zu bestimmen, an der die neuen Anweisungen hinzuzufügen sind, und zu bestimmen, ob am Anfang oder Ende der Queue Platz zum Hinzufügen der Anweisungen vorhanden ist. Da der Bildprozessor den ZULETZT GESTOPPT-Zeiger jedesmal dann zurückstellt, wenn er die Verarbeitung einer Anzeigeliste abgeschlossen hat, ist der ZULETZT GESTOPPT-Zeiger eine Angabe dessen, wie weit in die Anzeigelistenanweisungs-Queue der Bildprozessor hinein fortgeschritten ist. Wenn die Zeiger angeben, daß zum Hinzufügen der Anweisungen Platz in der Queue vorhanden ist, fügt die Queue- Steuerfunktion 50 sie zusammen mit den vorher erwähnten PP_MI- und PP_S-Anweisungen zur Queue hinzu. Die Funktion 50 setzt auch einen "Neues Ende der Anzeigeleistenanweisungs-Queue"- (NEDLQ) Zeiger, um die Speicheradresse der letzten, gerade der Queue hinzugefügten Anweisung (der PP_S(-Anweisung)) anzugeben. Der NEDLQ-Zeiger ist auch im Steuerblock 56 enthalten.
  • Die Queue-Steuerfunktion 50 aktualisiert jedoch den EDLQ- Zeiger noch nicht. Statt dessen überprüft die Funktion 50 den EDLQ-Zeiger, um die Adresse der PP_S-Anweisung zu bestimmen, die sich früher am Ende der Queue befand, und überschreibt diese Anweisung mit einer "Kein-Betrieb"- (NO_OP)-Anweisung. Diese Anweisung weist den Bildprozessor an, mit dem Lesen von Anweisungen von der Queue ohne Unterbrechung fortzufahren. Die Steuerfunktion 50 überprüft dann das GESTOPPT-Flag, um zu bestimmen, ob der Bildprozessor tatsächlich angehalten ist. Ist dies der Fall, setzt die Queue-Steuerfunktion das GESTOPPT-Flag zurück und setzt den START-Zeiger im Steuerblock 56 gleich EDLQ, die Adresse der NO_OP-Anweisung, die vor dem als letzten hinzugefügten Satz Anweisungen kommt. Die Queue- Steuerfunktion 50 setzt dann einen START-Befehl im Steuerblock 56 und überträgt einen Interrupt über den Rechnerbus an den Bildprozessor. Als Reaktion auf den Interrupt liest der Bildprozessor den START-Befehl im Steuerblock. Dieser Befehl weist den Bildprozessor an, das Lesen von Anweisungen in der Anzeigeliste wieder aufzunehmen, beginnend an der vom START-Zeiger im Steuerblock 56 angegebenen Adresse. Danach setzt die Queue- Steuerfunktion 50 den EDLQ-Zeiger gleich dem NEDLQ-Zeiger, um die Adresse der letzten in die Queue gesetzten Anweisung anzugeben und endet dann.
  • Der Master-Steuerprozeß 48 speichert eine Rechteckliste 51, die Information bezüglich der Anzeige verschiedener graphischer Darstellungen enthält, einschließlich Information, die angibt, welche Abschnitte verschiedener graphischer Darstellungen, die durch jede primäre Anzeigeliste 40 dargestellt werden, in Fenstern auf dem CRT-Bildschirm angezeigt werden sollen, die Position eines jeden Fensters auf dem Bildschirm sowie die Reihenfolge, in der sich die Fenster überschneiden. Wenn ein Anzeigelistenprozeß 42 durch eine Nachricht angibt, daß er eine primäre Anzeigeliste 40 an die Anweisungs-Queue schicken möchte, ändert der Master-Steuerprozeß 43 die Anzeigeliste so, daß sie Anweisungen enthält, die aus einer Rechteckliste 51 stammen, die zum Beispiel den Bildprozessor anweisen, daß Bildelementdaten, die Abschnitte der Graphik außerhalb festgelegter Fenster darstellen oder Abschnitte eines Fensters darstellen, die von einem anderen Fenster überdeckt sind, nicht an die Anzeigesteuerung übertragen werden sollen. Der Master-Steuerprozeß 43 kann dann die Anzeigelistenanweisungs-Queuesteuerfunktion 50 aufrufen, um die primäre Anzeigeliste über in die Anweisungs-Queue gesetzte Anweisungen an den Bildprozessor weiterzuleiten. Bei anschließender Verarbeitung der Anzeigeliste durch den Bildprozessor sendet dieser keine Bildelementdaten, die Abschnitte einer Graphik definieren, welche nicht in einem Fenster enthalten sind oder die durch ein anderes Fenster abgedeckt sind, an die Anzeigesteuerung.
  • Der Master-Steuerprozeß 48 wählt auch den Betriebsmodus der Leitschaltung 26 aus Fig. 1 aus, durch die der Ausgang des Bildprozessors 20 entweder an den Rechnerbus 18 oder an die Anzeigesteuerung 22 geleitet wird. Um den Betriebsmodus der Leitschaltung zu verändern, ruft der Master-Steuerprozeß 48 Queue-Steuerfunktion 50 auf und leitet an diese Argumente, die angeben, ob die Leitschaltung Daten an die Anzeigesteuerung oder an den Rechnerbus leiten soll, und die auch die Hauptspeicheradresse und Dimensionen eines bestimmten sekundären, aus Bildelementen bestehenden Bildes angeben, das aktualisiert werden soll, wenn der Ausgang des Bildprozessors an den Rechnerbus geleitet werden soll.
  • Wenn sie zur Veränderung der Leitung des Datenausganges des Bildprozessors aufgerufen ist, erstellt die Queue-Steuerfunktion 50 im Hauptspeicher einen "Antwort"-Block 54, der Anweisungen zur Durchführung durch den Steuerprozessor 14 aus Fig. 1 enthält (beispielsweise das Schalten des Betriebsmodus der Leitschaltung), wenn der Bildprozessor 20 anschließend einen Interrupt an den Steuerprozessor über eine in Fig. 1 dargestellte Interrupt-Leitung überträgt. Die Queue-Steuerfunktion 50 fügt dann einen bestimmten Satz Anweisungen der Anzeigelistenanweisungs-Queue 44 auf dieselbe Weise hinzu, wie sie Anweisungen zum Lesen von Anzeigelisten wie oben beschrieben hinzufügt. Hat der Bildprozessor 20 eine übertragungsleitungsförmige innere Architektur, dann kann er zu jeder gegebenen Zeit mit der Verarbeitung von mehr als einer Anzeigelistenanweisung beschäftigt sein. Um sicherzustellen, daß alle Anweisungen in der Übertragungsleitung des Bildprozessors vor dem Schalten des Umleitmodus der Leitschaltung 26 ausgeführt sind, ist die erste Anweisung, die die Queue-Steuerfunktion 50 aus Fig. 3 in die Anweisungs-Queue 44 setzt, eine "PP-RR"- Anweisung, die bewirkt, daß der Bildprozessor die Verarbeitung aller gegenwärtig in seiner Übertragungsleitung befindlichen Anweisungen abschließt, ehe er eine weitere Anweisung aus der Queue erhält.
  • Die nächste Anweisung in der Queue ist eine "Bewege Sofort"- Anweisung (PP_MI), die den Bildprozessor anweist, ein UNTER- BROCHEN-Flag im Antwortblock 54 zu setzen. (Der Zweck dieses Flags ist nachstehend erläutert). Danach weist eine Interrupt- (PP_I)-Anweisung in der Queue den Bildprozessor an, den Steuerprozessor über die Interrupt-Leitung 15 aus Fig. 1 zu unterbrechen. Im Anschluß an die Interrupt-Anweisung bewirkt eine weitere PP_MI-Anweisung, daß der Bildprozessor die nächste Queue-Adresse als LETZTER STOP-Zeiger in Block 56 speichert. Die letzte durch die Queue-Steuerfunktion an die Anweisungs- Queue 44 übertragene Anweisung ist eine Stop-Anweisung PP_S, die den Bildprozessor anweist, den Zugriff auf die Anzeigelistenanweisungs-Queue zu unterbrechen und das GESTOPPT-Flag im Steuerblock 56 zu setzen.
  • Das vom Bildprozessor als Reaktion auf die Interrupt-Anweisung PP_I in Anweisungs-Queue 44 an den Steuerprozessor übertragene Interrupt-Signal teilt einem Interrupt-Dienst-Programm (PP_ISR) 62 mit, einen Interrupt-Dienst-Prozeß (PP_ISP) 64 einzuleiten. Der Interrupt-Dienst-Prozeß 64 überprüft alle Antwortblöcke, die im Hauptspeicher gespeichert sein können, um einen zu finden, der ein gesetztes INTERRUPT-Flag enthält. In diesem Fall erzeugte der Bildprozessor den Interrupt nach dem Setzen des INTERRUPT-Flags in dem bestimmten Antwortblock 54, wie er von der Queue-Steuerfunktion 50 erstellt wurde. Bei Entdecken des Interrupt-Flags im Antwortblock 54 liest der Interrupt-Dienst-Prozeß 64 Anweisungen, die im Antwortblock enthalten sind, und führt diese aus, und diese Anweisungen weisen ihn an, eine Nachricht an den Anzeigesteuerungsemulationsprozeß 66 zu übertragen.
  • Der Emulationsprozeß 66 hält ein oder mehrere sekundäre, aus Bildelementen bestehende Bilder 68 im Hauptspeicher und steuert auch den Betriebsmodus der Leitschaltung gemäß Fig. 1 und 2. Die an den Emulationsprozeß 66 übertragene Nachricht gibt an, ob der Datenausgang des Bildprozessors auf den Rechnerbus geleitet werden soll. Wenn die Nachricht angibt, daß eine derartige Leitung freigegeben werden soll, gibt sie auch an, welches sekundäre, aus Bildelementen bestehende Bild 68 gemäß an den Rechnerbus geleiteten Steuer- und Bildelementdaten aktualisiert werden soll. Als Reaktion auf eine eingehende FREI- GABE-Nachricht überträgt der Emulationsprozeß 66 eine Anweisung an die Leitschaltung 26 aus Fig. 2 über den Rechnerbus 18, die bewirkt, daß die Leitschaltung das FREIGABE-Bit in ihrem Steuerregister 38 setzt, wodurch bewirkt wird, daß die Leitschaltung Daten an den Rechnerbus 18 und nicht an die Anzeigesteuerung überträgt. Der Emulationsprozeß 66 überträgt dann eine FREIGEGEBEN-Nachricht an die Queue-Steuerfunktion 50 und beginnt mit dem Lesen von Steuer- und Bildelementdaten, die von der Leitschaltung auf den Rechnerbus gesetzt wurden, und dem Aktualisieren eines bestimmten sekundären, aus Bildelementen bestehenden Bildes 68, das von der FREIGABE-Nachricht gemäß den Daten, die er liest, identifiziert wird.
  • Empfängt die Queue-Steuerfunktion 50 eine FREIGEGEBEN-Nachricht, dann leitet sie eine Angabe der empfangenen Nachricht an den Master-Steuerprozeß 48, so daß der Master-Steuerprozeß das Übertragen von Anzeigelisten über die Anzeigelisten- Queue an den Bildprozessor wiederaufnehmen kann. Danach werden, bis zu dem Zeitpunkt, an dem der Betriebsmodus der Leitschaltung verändert wird, die Bildelement- und Steuerdaten, die der Bildprozessor als Reaktion auf diese Anzeigelisten erzeugt, an den Anzeigesteuerungsemulationsprozeß 66 und nicht an die Anzeigesteuerung übertragen, wodurch der Emulationsprozeß ein sekundäres, aus Bildelementen bestehendes Bild 68 im Hauptspeicher aktualisieren kann.
  • Andererseits setzt, wenn der Antwortblock 54 den InterruptDienst-Prozeß 64 anweist, eine UNTERBRECHEN-Nachricht an den Emulationsprozeß 66 zu übertragen, der Emulationsprozeß das FREIGABE-Bit im Register 38 aus Fig. 2 zurück, so daß die Leitschaltung anschließend mit dem Leiten von Daten an die Anzeigesteuerung und nicht an den Rechnerbus 13 beginnt. Der Emulationsprozeß überträgt auch eine UNTERBROCHEN-Nachricht an die Queue-Steuerfunktion 50, was bewirkt, daß die Queue- Steuerfunktion eine Angabe an den Master-Steuer-Prozeß zurücksendet, daß das Leiten von Bildelement- und Steuerdaten an den Rechnerbus unterbrochen wurde. Danach nimmt der MasterSteuer-Prozeß das Übertragen von Anzeigelisten an den Bildprozessor wieder auf, und bis der Betriebsmodus der Leitschaltung wieder verändert wird, werden die Bildelement- und Steuerdaten, die der Bildprozessor erzeugt, an die Anzeigesteuerung weitergeleitet. Der Anzeigesteuerungsemulationsprozeß 66 überträgt eine FEHLER-Nachricht an die Queue-Steuerfunktion 50, wenn der Interrupt-Dienst-Prozeß eine UNTERBRECHEN-Nachricht an den Prozeß 66 schickt, wenn das Leiten von Bildelementdaten an den Rechnerbus bereits unterbrochen ist. Die Queue-Steuerfunktion 50 gibt nach Beendigung eine Angabe des Fehlers an den Master-Steuer-Prozeß 48 zurück.
  • Wird ein sekundäres, aus Bildelementen bestehendes Bild 68 entsprechend einer primären Anzeigeliste 40 gespeichert und dieses ist insofern aktuell, als daß es den aktuellen Zustand einer entsprechenden primären Anzeigeliste wiedergibt, dann kann der Master-Steuer-Prozeß 48 im Hauptspeicher eine sekundäre Anzeigeliste bilden und speichern, die sich auf Bildelementdaten, welche im zweiten, aus Bildelementen bestehenden Bild gespeichert sind, bezieht. Der Master-Steuer-Prozeß ruft dann die Queue-Steuerfunktion 50 auf, um die sekundäre Anzeigeliste an den Bildprozessor zu senden, unter Verwendung der Anzeigelistenanweisungs-Queue 44 auf dieselbe Art und Weise, wie er die Queue zum Senden einer primären Anzeigeliste an den Bildprozessor verwendet. Der Master-Steuer-Prozeß führt dies aus, wenn Veränderungen der Rechteckliste 51 angeben, daß eine Veränderung des primären, aus Bildelementen bestehenden Bildes erforderlich ist, zum Beispiel zum Bewegen oder Verändern der Größe eines angezeigten Fensters oder zum Verändern eines Abschnittes des bedeckten Fensters. Da der Bildprozessor in der Lage ist, eine derartige sekundäre Anzeigeliste schneller zu verarbeiten, als er in der Lage ist, die primäre Anzeigeliste zu verarbeiten, kann der Rahmenpufferspeicher in der Anzeigesteuerung schneller aktualisiert werden.
  • Fig. 4 ist ein Flußdiagramm für Software, die die Queue- Steuerfunktion 50 aus Fig. 3 implementiert. Beginnend bei Schritt 70, wenn der Aufruf der Queue-Steuerfunktion von dem Master-Steuer-Prozeß ein Argument enthält, das angibt, daß die Queue-Steuerfunktion die Leitung von Bildelementdaten an den Rechnerbus freigeben oder unterbrechen soll, erstellt die Queue-Steuerfunktion den Antwortblock 54 aus Fig. 3 (Schritt 72). Nach Schritt 70 (oder nach Schritt 72, wenn durchgeführt) liest die Queue-Steuerfunktion die EDLQ- und ZULETZT GESTOPPT- Zeiger im Steuerblock 56 aus Fig. 3 und die Funktion berechnet (Schritt 74) auf der Grundlage der Zahl von Anweisungen, die der Queue hinzugefügt werden sollen, und des Wertes von EDLQ, wohin die Adresse NDLEQ der letzten Anweisung in der Anweisungs-Queue fallen würde. Aus den Werten von NEDLQ und ZULETZT GESTOPPT bestimmt die Queue-Steuerfunktion, ob ausreichend Platz in der Queue zum Speichern der hinzuzufügenden Anweisungen vorhanden ist (Schritt 76) Wenn nicht, überprüft die Funktion weiterhin den Wert von ZULETZT GESTOPPT, bis sie angibt, daß der Bildprozessor genug Anweisungen in der Queue ausgeführt hat, um genug Platz zum Aufnehmen der neuen Anweisungen zu schaffen. An diesem Punkt fügt die Queue-Steuerfunktion die neuen Anweisungen der Queue hinzu, einschließlich einer Spring-Anweisung falls erforderlich, um den Bildprozessor zum vorderen Teil des Queue-Adreßraumes umzuleiten, und ebenfalls einschließlich der "Bewege Sofort" PP_MI und Stop PP_ S-Anweisungen (Schritt 78). Er überschreibt dann die vorhergehende Stop-Anweisung PP_S an der vom EDLQ-Zeiger angegebenen Adresse mit einer NO-OP-Anweisung (Schritt 80) und überprüft das GE- STOPPT-Flag in Steuerblock 56 aus Fig. 3, um zu bestimmen, ob der Bildprozessor tatsächlich gestoppt ist (Schritt 82). Ist dies der Fall, setzt die Funktion den START-Zeiger auf den Wert von EDLQ, um die Adresse der ersten Anweisung des neuen Anweisungssatzes (Schritt 84) anzugeben, speichert einen START-Befehl im Steuerblock (Schritt 85) und unterbricht den Bildprozessor (Schritt 86).
  • Nach Schritt 86, oder unmittelbar nach Schritt 82, wenn der Bildprozessor nicht angehalten ist, setzt die Queue-Steuerfunktion den Wert von EDLQ gleich NEDLQ (Schritt 87). Wurde die Funktion aufgerufen, um das Leiten von Bildelementdaten (Schritt 88) zu schalten, dann wartet sie (Schritt 89) auf eine FREIGABE-, UNTERBROCHEN- oder FEHLER-Nachricht vom Anzeigesteuerungsemulationsprozeß 66 aus Fig. 3, die angibt, wann und wie die Bildelementleitung geschaltet wurde, oder die angibt, daß ein Fehler aufgetreten ist. Danach gibt die Funktion eine Angabe über den Empfang der Nachricht an die Mastersteuerung zurück. Wurde die Funktion nicht zum Schalten der Bildelementdatenleitung (Schritt 88) aufgerufen, dann kehrt die Funktion einfach zurück und gibt so an, daß sie ihre Operation abgeschlossen hat.
  • Fig. 5 ist ein Flußdiagramm, das den Betrieb des Anzeigesteuerungsemulationsprozesses 66 aus Fig. 3 veranschaulicht. Beim Hochfahren des Systems wartet der Prozeß auf eine FREIGABE- oder UNTERBRECHEN-Nachricht von dem Interrupt-Dienst-Prozeß (Schritt 90). Das Leiten von Bildelementdaten vom Bildprozessor an den Rechnerbus sollte anfänglich unterbrochen sein, deshalb schickt der Prozeß, wenn die Nachricht nicht FREIGABE lautet (Schritt 92), eine FEHLER-Nachricht an die Queue-Steuerfunktion (Schritt 94) und kehrt zu Schritt 90 zurück. Handelt es sich bei der empfangenen Nachricht um FREIGABE, dann wird das FREIGABE-Bit im Steuerregister 38 von Fig. 2 gesetzt (Schritt 96) und eine FREIGEGEBEN-Nachricht wird an die Queue- Steuerfunktion (Schritt 98) übertragen. Ein Anzeigesteuerungsemulationsprogramm wird dann aufgerufen (Schritt 100) und mit einem Argument versorgt, das sich auf eine Startadresse und Dimensionen eines bestimmten sekundären, aus Bildelementen bestehenden Bildes, das im Hauptspeicher gespeichert ist, bezieht, wobei die Adresse des aus Bildelementen bestehenden Bildes durch die in Schritt 90 empfangene Nachricht identifiziert wird. Das Emulationsprogramm liest und verarbeitet Steuer- und Bildelementdaten, die von der Leitschaltung auf den Rechnerbus gesetzt wurden, und aktualisiert das identifizierte sekundäre, aus Bildelementen bestehende Bild entsprechend. Danach (Schritt 102) überprüft der Prozeß, ob eine weitere FREIGABE- oder UNTERBRECHEN-Nachricht vom Interruptprozeß gesandt wurde. Ist dies nicht der Fall, wird das Emulationsprogramm wieder aufgerufen (Schritt 100), um zusätzliche Daten auf dem Rechnerbus zu erfassen und zu verarbeiten. Wurde jedoch eine FREIGABE-Nachricht empfangen (Schritt 104), dann kehrt der Prozeß zu Schritt 98 zurück, wo er eine weitere FREIGABE-Nachricht an die Queue-Steuerfunktion schickt. Wird in Schritt 102 eine UNTERBRECHEN-Nachricht empfangen, dann fließt der Emulationsprozeß von Schritt 102 über Schritt 104 zu Schritt 106, wobei der Prozeß das FREIGABE-Bit im Steuerregister der Leitschaltung zurückstellt, wodurch das Leiten von Daten an den Rechnerbus unterbrochen wird. Der Emulationsprozeß leitet auch die UNTERBROCHEN-Nachricht an die Queue-Steuerfunktion weiter. Danach kehrt der Emulationsprozeß zu Schritt 90 zurück, um auf eine weitere Nachricht zu warten.
  • Der Typ des in Schritt 100 aus Fig. 5 aufgerufenen Emulationsprogramms hängt von der Art der Anzeigesteuerung 22 aus Fig. 1, die es emuliert, ab. In der bevorzugten Ausführungsform der Erfindung schickt der Bildprozessor 20 aus Fig. 1 Sequenzen von Bildelementdaten an die Anzeigesteuerung, wobei jeder Bildelementdatensequenz Steuerdaten vorangehen, die eine Startadresse des Rahmenpufferspeichers in der Anzeigesteuerung führen, an der das erste Bildelementdatenelement der Sequenz im Rahmenpufferspeicher gespeichert werden soll. Die Steuerdaten geben ebenfalls an, wie die anfängliche Adresse für jedes nacheinander folgende Element der Bildelementdatensequenz inkrementiert bzw. dekrementiert werden soll, und sie geben an, wie die Bildelementdaten vor ihrer Speicherung modifiziert werden können.
  • Die Rahmenpufferspeicheradressierung ist in einer zweidimensionalen X,Y-Matrix organisiert, in der jede Adresse eine X- und eine Y-Komponente hat. Die Anzeige auf dem Bildschirm von CRT 24 aus Fig. 1 wird durch eine entsprechende X,Y-Matrix von Bildelementen gebildet, und die an Adresse (X,Y) gespeicherten Bildelementdaten steuern Anzeigeattribute eines Bildelementes an einem Punkt (X,Y) auf dem Bildschirm. Die X-Komponente der Startadresse wird in einen X-Adreßzähler geladen und die Y- Komponente der Startadresse wird in einen Y-Adreßzähler geladen. Jeder Zähler kann jedesmal dann von der Startadresse X- und Y-Komponenten hoch- oder herunterzählen, wenn die Anzeigesteuerung ein zusätzliches Element der Bildelementdatensequenz empfängt. Die Ausgänge der Zähler adressieren den Rahmenpufferspeicher bei der Speicherung des Bildelementdatenelementes in diesem. Die Zählrichtung eines jeden Zählers wird von den adressierenden Steuerdaten gesteuert, die vor der Bildelementdatensequenz kommen, wobei diese Steuerdaten in ein Adreßsteuerregister in der Anzeigesteuerung geladen werden. Ein zusätzliches Adressiersteuerbit (ein SPERR-Bit), das jedes Bildelementdatenelement der Sequenz begleitet, kann ebenfalls einen der Zähler für das Zählen sperren, so daß nur eine X- oder nur eine Y-Komponente der Adresse inkrementiert bzw. dekrementiert wird, wobei die bestimmte zu sperrende Komponente von den vorher gespeicherten Adressiersteuerdaten bestimmt wird.
  • Jede an die Anzeigesteuerung übertragene Sequenz von Bildelementdaten stellt ein einzelnes Bildelement oder eine Zeile mehrerer Bildelemente dar, die in jedweder Richtung auf dem CRT-Schirm vom Bildelement an Punkt (X,Y) verlaufen können. Die Zählrichtung eines jeden Adreßzählers steuert die Art und Weise, in der die Rahmenpufferspeicheradresse verändert wird, ehe jedes Bildelementdatenelement einer Sequenz gespeichert wird, und die X- und Y-Abschnitte der Rahmenpufferspeicheradresse werden jeweils gemäß den Adressiersteuerdaten und dem SPERR-Bit, das mit den Bildelementdaten übertragen wurde, inkrementiert, dekrementiert oder konstant gehalten, so daß die gespeicherten Bildelementdaten eine Bildelementzeile auf dem Bildschirm steuern, die an dem festgelegten Startpunkt (X,Y) beginnt und in die entsprechende Richtung verläuft.
  • Die Anzeigesteuerung enthält einen Schaltungsaufbau, der verschiedene logische oder Maskieroperationen an den Bildelementdaten vornehmen kann, ehe diese im Rahmenpufferspeicher gespeichert werden. Derartige Operationen sind zum Beispiel dann nützlich, wenn jedes Bit eines Bildelementdatenelementes eine getrennte "Schicht" der Anzeige steuert. Durch Maskieren verschiedener Bits eingehender Bildelementdatenelemente vor ihrer Speicherung im Rahmenpufferspeicher kann das Anzeigen verschiedener Schichten der Anzeige gesperrt werden. Die bestimmte, von der logischen und Maskierungsschaltung an jedem Element einer Bildelementdatensequenz vor zunehmende Operation wird von Steuerdaten gesteuert, die in Steuerregistern in der Anzeigesteuerung gespeichert sind, die von dem Bildprozessor vor der Übertragung an die Bildelementdatensequenz dorthin geschickt wurden.
  • Fig. 6 ist ein Flußdiagramm, das den Betrieb eines in Schritt 100 aus Fig. 5 aufgerufenen Programms darstellt, welches den Betrieb der Anzeigesteuerung 22 im Hinblick auf die Erstellung eines aus Bildelementen bestehenden Bildes von durch den Bildprozessor erzeugten Ausgangsdaten emuliert. Beginnend mit Schritt 110 liest das Programm die zu diesem Zeitpunkt auf dem Rechnerbus befindlichen Daten und überprüft (in Schritt 112) das von der Schnittstellenschaltung 36 aus Fig. 2 zugeführte GÜLTIG-Bit, um festzustellen, ob die Daten gültig sind. Sind die Daten nicht gültig, dann endet das Programm. Sind die Daten auf dem Bus gültig, dann wird ein ADRESS_ZYKLUS-Bit, das angibt, ob die Daten Adressierinformation tragen, in Schritt 114 überprüft. Tragen die eingehenden Daten Adressierinformation, dann wird (in Schritt 116) ein SPEICHER_PLATZ-Bit überprüft. Ist es nicht gesetzt, gibt das SPEICHER_PLATZ-Bit an, daß die eingehenden Daten auf dem Rechnerbus eine Adresse eines Steuerregisters in der Anzeigesteuerung zum Speichern von Daten führen, die die Art der an den folgenden Bildelementdaten vor zunehmenden logischen oder Maskieroperationen steuern. In einem solchen Fall wird das SPEICHER_PLATZ-Flag "false" (= falsch) gesetzt (Schritt 117) und die in den eingehenden Daten enthaltene Registeradresse wird gespeichert (Schritt 118). Alternativ, wenn das SPEICHER_PLATZ-Bit gesetzt ist, gibt es an, daß die eingehenden Daten die X,Y-Startadresse für eine Sequenz der folgenden Bildelementdaten tragen und Daten tragen, die die Art und Weise steuern, auf die die Rahmenpufferspeicheradresse inkrementiert werden soll. In diesem Fall setzt das Programm das SPEICHER_PLATZ-Flag "true" (= richtig) (Schritt 119) und speichert die Start-X,Y-Adreß- und Steuerdaten (Schritt 120).
  • Ist das ADRESS_ZYKLUS-Bit nicht gesetzt (Schritt 114), dann enthalten die eingehenden Daten entweder Bildelementdaten oder Daten zum Steuern von logischen Operationen an Bildelementdaten. In einem solchen Fall wird das SPEICHER_PLATZ-Flag überprüft (Schritt 122) und wenn dieses Flag "false" ist, führen die eingehenden Daten Steuerdaten zum Steuern von Maskierungs- oder logischen Operationen an Bildelementdaten. Daher wird die zuletzt in Schritt 118 gespeicherte Steuerregisteradresse dekodiert (Schritt 124), um die gewissen Steuerdaten zu bestimmen, die in den eingehenden Daten enthalten sind, und diese Steuerdaten werden zur Verwendung bei der Steuerung aufeinanderfolgender Operationen an den eingehenden Bildelementdaten gespeichert (Schritt 126).
  • Ist das SPEICHER_PLATZ-Flag "true" (Schritt 122), gibt es an, daß es sich bei den eingehenden Daten um Bildelementdaten handelt, und daher wird eine gespeicherte X,Y-Rahmenpufferspeicheradresse entsprechend aktualisiert (Schritt 128), gemäß den zuletzt in Schritt 120 gespeicherten Adressiersteuerdaten, und gemäß dem vorher erörterten SPERR-Bit, das in den eingehenden Bildelementdaten enthalten ist. Die Bildelementdaten werden fakultativ auf eine Art und Weise maskiert oder anderweitig verändert (Schritt 130), wie sie von den in Schritt 126 gespeicherten logischen und Maskier-Steuerdaten angegeben wird, und danach zu dem sekundären, aus Bildelementen bestehenden Bild im Hauptspeicher (Schritt 132) an einer Adresse hinzugefügt, die der zu diesem Zeitpunkt gespeicherten X,Y- Adresse entspricht (obgleich sie nicht unbedingt äquivalent zu dieser ist). Die in Schritt 128 aktualisierte X,Y-Adresse wird in einen Teil des Hauptspeicherraumes abgebildet, der für das gerade aktualisierte bestimmte sekundäre, aus Bildelementen bestehende Bild reserviert ist, wobei das bestimmte sekundäre, aus Bildelementen bestehende Bild durch ein Argument identifiziert wird, das an das Emulationsprogramm weitergeleitet wird, wenn dieses aufgerufen wurde. Nach einem der Schritte 118, 120, 126 oder 132 kehrt das Programm zu Schritt 110 zurück, um das Lesen und Verarbeiten der nächsten auf dem Rechnerbus erscheinenden Daten zu beginnen.
  • Somit, wie in Fig. 6 zu sehen ist, fährt bei jedem Aufruf des Emulationsprogrammes dieses Programm mit dem Lesen und Verarbeiten von Daten auf dem Rechnerbus fort, bis es auf ungültige Daten trifft. Bei jedem Lesen gültiger Daten werden in den Daten enthaltene Bits oder Flags, die angeben, welche Art von Information die Daten führen, in den Entscheidungsschritten 112, 114, 116 und 122 geprüft und diese Schritte führen das Programm zur geeigneten Aktion. Obgleich das in Fig. 6 gezeigte Emulationsprogramm eine bevorzugte Ausführungsform der Anzeigesteuerung 22 aus Fig. 1 emulieren soll, versteht sich, daß die Art des Emulationsprogrammes problemlos geändert werden kann, um anderen Ausführungsformen des Bildprozessors und der Anzeigesteuerung gerecht zu werden, die sich in der Art der Kodierung der Bildelement- und Steuerdaten unterscheiden können.
  • Es wurde ein verbessertes graphisches Anzeigesystem beschrieben, das einen Bildprozessor zur Erzeugung von Bildelement- und Steuerdaten und zur Übertragung an eine Anzeigesteuerung aufweist, wobei die Anzeigesteuerung die Bildelementdaten als aus Bildelementen bestehendes Bild in einem Rahmenpufferspeicher speichert und eine Graphikanzeige gemäß dem gespeicherten, aus Bildelementen bestehenden Bild steuert. Eine Leitschaltung, die in den Datenpfad zwischen dem Bildprozessor und der Anzeigesteuerung geschaltet ist, leitet den Datenausgang des Bildprozessors selektiv an den Steuerprozessor um, so daß der Steuerprozessor ein sekundäres, aus Bildelementen bestehendes Bild im Hauptspeicher erzeugen und speichern kann.
  • Während in der bevorzugten Ausführungsform der Erfindung der Steuerprozessor 14 sekundäre, aus Bildelementen bestehende Bilder als Reaktion auf den Ausgang des Bildprozessors 20 über die Leitschaltung 26 aktualisiert, kann in alternativen Ausführungsformen ein zweckbestimmter Anweisungsprozessor vorgesehen sein, um diese Funktion auszuführen, wodurch der Steuerprozessor zur gleichzeitigen Ausführung anderer Aktivitäten freigestellt wird. Der zusätzliche Prozessor kann mit einem Rechnerbus 18 auf dieselbe Art und Weise verbunden sein wie der Steuerprozessor 14, oder er kann in den Datenweg zwischen der Leitschaltung 26 und dem Bus 13 eingesetzt sein und mit Zugriff auf zusätzlichen Speicher zum Speichern sekundärer, aus Bildelementen bestehender Bilder versehen sein. In einer derartigen Ausführungsform kann der zusätzliche Prozessor Steuer- und Bildelementdaten vom Bildprozessor empfangen und sekundäre, aus Bildelementen bestehende Bilder ohne Konkurrenz bezüglich der Verwendung des Rechnerbusses 18 aktualisieren.
  • Obgleich eine bevorzugte Ausführungsform der vorliegenden Erfindung dargestellt und beschrieben wurde, versteht es sich für den Fachmann, daß viele Veränderungen und Modifikationen möglich sind, ohne hierbei von der Erfindung in ihrem breiteren Sinne abzugehen.

Claims (7)

1. Graphikanzeigesystem der Gattung, bei der ein Bildprozessor als Reaktion auf eingegebene Anzeigelisten, die Anweisungen an den Bildprozessor zur Erzeugung der Bildelementausgangsdaten enthalten, Bildelementausgangsdaten erzeugt und bei der eine Anzeigesteuerung ein primäres, aus Bildelementen bestehendes Bild speichert, wobei das Graphikanzeigesystem eine Anzeige gemäß dem primären, aus Bildelementen bestehenden Bild steuert und als Reaktion auf Bildelementdaten, die als Eingang an dieses gelegt werden, das primäre, aus Bildelementen bestehende Bild ändert, wobei das Graphikanzeigesystem folgendes umfaßt:
eine Speichervorrichtung zum Speichern eines zweiten oder sekundären, aus Bildelementen bestehenden Bildes;
eine Steuerprozessorvorrichtung zum Ändern des in der Speichervorrichtung gespeicherten, sekundären, aus Bildelementen bestehenden Bildes gemäß Bildelementdaten, die als Eingang an diese angelegt sind, und zum Erzeugen eines Auswahlsteuersignals; und
eine Leitvorrichtung zur Übertragung von durch den Bildprozessor erzeugten Bildelementdaten als Eingang selektiv entweder an die Anzeigesteuerung oder an die Steuerprozessorvorrichtung, wobei diese Wahl von dem von der Steuerprozessorvorrichtung erzeugten Auswahlsteuersignal gesteuert wird.
2. Graphikanzeigesystem der Gattung, bei der eine Anzeigesteuerung ein primäres, aus Bildelementen bestehendes Bild speichert, wobei dieses Graphikanzeigesystem eine Anzeige gemäß dem primären, aus Bildelementen bestehenden Bild steuert und als Reaktion auf Bildelementdaten, die als Eingang an dieses angelegt sind, das primäre, aus Bildelementen bestehende Bild ändert, und bei dem ein Bildprozessor als Reaktion auf eingegebene Anzeigelisten Bildelementausgangsdaten erzeugt, wobei einige der eingegebenen Anzeigelisten Anweisungen an den Bildprozessor zur Erzeugung von Bildelementausgangsdaten enthalten und andere der eingegebenen Anzeigelisten Bildelementdaten, die als Ausgang vom Bildprozessor erzeugt werden sollen, direkt übertragen, wobei das Graphikanzeigesystem folgendes umfaßt:
eine Speichervorrichtung zum Speichern einer primären Anzeigeliste, die Anweisungen zum Erzeugen von Bildelementdaten enthält, und zum Speichern eines sekundären, aus Bildelementen bestehenden Bildes, das Bildelementdaten enthält;
eine Steuerprozessorvorrichtung zum Ändern des in der Speichervorrichtung gespeicherten sekundären, aus Bildelementen bestehenden Bildes gemäß Bildelementdaten, die als Eingang an diese angelegt sind, zum Erzeugen einer sekundären Anzeigeliste, die Bildelementdaten des sekundären, aus Bildelementen bestehenden Bildes enthält, und zum Erzeugen eines Auswahlsteuersignals;
eine Vorrichtung zum Übertragen der in der Speichervorrichtung gespeicherten primären Anzeigeliste und der von der Steuerprozessorvorrichtung erzeugten sekundären Anzeigeliste als Eingang an den Bildprozessor; und
eine Leitvorrichtung zum Senden von Bildelementausgangsdaten, die vom Bildprozessor erzeugt wurden, als Eingang selektiv entweder an die Anzeigesteuerung oder an die Steuerprozessorvorrichtung, wobei diese Wahl gemäß dem von der Steuerprozessorvorrichtung erzeugten Auswahlsteuersignal gesteuert wird.
3. Graphikanzeigesystem zur Erzeugung einer Anzeige einer Graphikauslegung gemäß Anweisungen von einem Benutzer, mit:
einer Anzeigesteuerung zum Speichern eines primären, aus Bildelementen bestehenden Bildes, das eine Graphikauslegung definiert, zum Steuern einer Graphikanzeige gemäß dem primären, aus Bildelementen bestehenden Bildes, und zum Ändern des primären, aus Bildelementen bestehenden Bildes gemäß Bildelementdaten, die als Eingang an diese angelegt sind;
einem Bildprozessor zum Erzeugen von Bildelementausgangsdaten als Reaktion auf eine eingegebene primäre Anzeigeliste, wobei die primäre Anzeigeliste Anweisungen an den Bildprozessor zum Erzeugen der Bildelementdaten enthält, und als Reaktion auf eine eingegebene sekundäre Anzeigeliste, die direkt Bildelementdaten enthält;
einer Speichervorrichtung zum Speichern der primären Anzeigeliste und zum Speichern eines sekundären, aus Bildelementen bestehenden Bildes, das Bildelementdaten enthält und eine Graphikauslegung definiert;
einer Steuerprozessorvorrichtung zum Ändern der in der Speichervorrichtung gespeicherten primären Anzeigeliste gemäß Anweisungen vom Benutzer, zum Ändern des in der Speichervorrichtung gespeicherten sekundären, aus Bildelementen bestehenden Bildes gemäß Bildelementdaten, die als Eingang an diese angelegt sind, zum Erzeugen der sekundären Anzeigeliste, die Bildelementdaten des sekundären, aus Bildelementen bestehenden Bildes enthält, zum Erzeugen eines Auswahlsteuersignals, und zum selektiven Anlegen der in der Speichervorrichtung gespeicherten primären Anzeigeliste und der sekundären Anzeigeliste als Eingänge an den Bildprozessor; und
einer Vorrichtung zum Übertragen von durch den Bildprozessor erzeugten Bildelementausgangsdaten als Eingang selektiv an die Anzeigesteuerung oder an die Steuerprozessorvorrichtung, wobei diese Wahl durch das von der Steuerprozessorvorrichtung erzeugte Auswahlsteuersignal gesteuert wird.
4. Verfahren zum Betrieb eines Graphikanzeigesystems der Gattung umfassend einen Bildprozessor zum Erzeugen von Bildelementausgangsdaten als Reaktion auf eingegebene Anzeigelisten, die Graphikauslegungen definieren, wobei einige der Anzeigelisten Anweisungen an den Bildprozessor zum Erzeugen von Bildelementdaten zur Übertragung an eine Anzeigesteuerung umfassen und andere der Anzeigelisten direkt Bildelementdaten enthalten, die vom Bildprozessor an die Anzeigesteuerung weitergeleitet werden sollen, wobei die Anzeigesteuerung Bildelementdaten speichert, die in einem Bildpufferspeicher empfangen werden, und eine Anzeige von Graphikauslegungen gemäß den im Bildpufferspeicher gespeicherten Bildelementdaten steuert, wobei das Verfahren folgende Schritte umfaßt:
Übertragen einer primären Anzeigeliste, die Anweisungen zum Erzeugen von Bildelementdaten an den Bildprozessor enthält, wenn die primäre Anzeigeliste geändert wird, so daß der Bildprozessor Bildelementausgangsdaten gemäß Anweisungen der primären Anzeigeliste erzeugt; Übertragen von Bildelementdaten, die vom Bildprozessor erzeugt wurden, gemäß der primären Anzeigeliste an die Anzeigesteuerung, wenn eine von der primären Anzeigeliste definierte Graphikauslegung angezeigt werden soll, so daß die Anzeigespeicherung die Bildelementausgangsdaten im Bildpufferspeicher speichert; und
Speichern von durch den Bildprozessor als Reaktion auf die primäre Anzeigeliste erzeugten Bildelementausgangsdaten in einem zweiten Speicher anstelle des Übertragens der Bildelementdaten an die Anzeigesteuerung, wenn die von der primären Anzeigeliste definierte Auslegung nicht angezeigt werden soll.
5. Verfahren nach Anspruch 4 mit weiteren folgenden Schritten:
Auslesen der im zweiten Speicher gespeicherten Bildelementdaten; und
Übertragen der ausgelesenen Bildelementdaten an die Anzeigesteuerung, so daß die Anzeigesteuerung die ausgelesenen Bildelementdaten zur Steuerung der Anzeige gemäß den ausgelesenen Bildelementdaten im Bildpufferspeicher speichert.
6. Verfahren nach Anspruch 4 mit weiteren folgenden Schritten:
Erzeugen einer sekundären Anzeigeliste, die im zweiten Speicher gespeicherte Bildelementdaten enthält; und
Übertragen der sekundären Anzeigeliste an den Bildprozessor, so daß der Bildprozessor in der sekundären Anzeigeliste enthaltene Bildelementdaten an die Anzeigesteuerung weiterleitet und die Anzeigesteuerung die weitergeleiteten Bildelementdaten im Bildpufferspeicher speichert.
7. Verfahren zum Erstellen einer Graphikanzeige mit folgenden Schritten:
Speichern einer ersten Anzeigeliste, die Anweisungen zum Erzeugen von eine Graphikauslegung darstellenden Bildelementdaten enthält;
Übertragen der primären Anzeigeliste an eine Bildprozessorvorrichtung zum Durchführen der Anweisungen in Anzeigelisten zum Erzeugen von Bildelementausgangsdaten und zum Abrufen von in Anzeigelisten enthaltenen Bildelementdaten zum Erzeugen von Bildelementausgangsdaten, so daß die Bildprozessorvorrichtung als Reaktion auf Anweisungen in der primären Anzeigeliste Bildelementausgangsdaten erzeugt;
Speichern eines sekundären, aus Bildelementen bestehenden Bildes, das die von der Bildprozessorvorrichtung als Reaktion auf die primäre Anzeigeliste erzeugten Bildelementausgangsdaten enthält;
Auslesen des sekundären, aus Bildelementen bestehende Bild aus der Speichervorrichtung und Erzeugen einer sekundären Anzeigeliste, die Bildelementdaten des sekundären, aus Bildelementen bestehenden Bildes enthält;
Übertragen der sekundären Anzeigeliste an die Bildprozessorvorrichtung, so daß der Bildprozessor als Ausgang Bildelementdaten erzeugt, die in der sekundären Anzeigeliste enthalten sind;
Speichern eines primären, aus Bildelementen bestehenden Bildes, das die Graphikauslegung darstellt, in einem Bildpufferspeicher, wobei das primäre, aus Bildelementen bestehende Bild die von der Bildprozessorvorrichtung als Reaktion auf die sekundäre Anzeigeliste als Ausgang erstellten Bildelementdaten umfaßt; und
Anzeigen einer Graphikauslegung gemäß des primären, aus Bildelementen bestehenden Bildes, das im Bildpufferspeicher gespeichert ist.
DE3888445T 1987-10-26 1988-10-25 Graphisches Anzeigesystem mit einem Sekundärbildspeicher für Bildelemente. Expired - Fee Related DE3888445T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/113,028 US4862155A (en) 1987-10-26 1987-10-26 Graphic display system with secondary pixel image storage

Publications (2)

Publication Number Publication Date
DE3888445D1 DE3888445D1 (de) 1994-04-21
DE3888445T2 true DE3888445T2 (de) 1994-10-27

Family

ID=22347213

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3888445T Expired - Fee Related DE3888445T2 (de) 1987-10-26 1988-10-25 Graphisches Anzeigesystem mit einem Sekundärbildspeicher für Bildelemente.

Country Status (4)

Country Link
US (1) US4862155A (de)
EP (1) EP0314440B1 (de)
JP (1) JP2673897B2 (de)
DE (1) DE3888445T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276786A (en) * 1988-09-05 1994-01-04 Quantel Limited Video graphics systems separately processing an area of the picture before blending the processed area into the original picture
JPH03219291A (ja) * 1989-11-09 1991-09-26 Matsushita Electric Ind Co Ltd 大画面画像表示法
SE464265B (sv) * 1990-01-10 1991-03-25 Stefan Blixt Grafikprocessor
EP0439873B1 (de) * 1990-01-29 1995-09-06 International Business Machines Corporation Datenverarbeitungssystem
US5287503A (en) * 1991-09-27 1994-02-15 Sun Microsystems, Inc. System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5619624A (en) * 1994-05-20 1997-04-08 Management Graphics, Inc. Apparatus for selecting a rasterizer processing order for a plurality of graphic image files
US5666030A (en) * 1994-07-20 1997-09-09 Ncr Corporation Multiple window generation in computer display
US6067098A (en) * 1994-11-16 2000-05-23 Interactive Silicon, Inc. Video/graphics controller which performs pointer-based display list video refresh operation
US5838334A (en) * 1994-11-16 1998-11-17 Dye; Thomas A. Memory and graphics controller which performs pointer-based display list video refresh operations
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
JPH08279877A (ja) * 1995-04-04 1996-10-22 Ricoh Co Ltd 情報処理装置及びそれによる情報判断方法と情報処理方法
US6452600B1 (en) * 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6567091B2 (en) 2000-02-01 2003-05-20 Interactive Silicon, Inc. Video controller system with object display lists
US6694355B1 (en) * 2000-03-14 2004-02-17 Reuben Bahar Method and system for collectively generating user-created designs of products and property via a communications network
US8817029B2 (en) * 2005-10-26 2014-08-26 Via Technologies, Inc. GPU pipeline synchronization and control system and method
CN101989418B (zh) * 2009-07-31 2014-07-02 联咏科技股份有限公司 画面翻转方法及系统
US20120218277A1 (en) * 2011-02-25 2012-08-30 ST-Ericcson SA Display list mechanism and scalable display engine structures

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555775B1 (en) * 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US4679038A (en) * 1983-07-18 1987-07-07 International Business Machines Corporation Band buffer display system
US4700181A (en) * 1983-09-30 1987-10-13 Computer Graphics Laboratories, Inc. Graphics display system
US4651146A (en) * 1983-10-17 1987-03-17 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
JPS6162980A (ja) * 1984-09-05 1986-03-31 Hitachi Ltd 画像メモリ周辺lsi
US4760390A (en) * 1985-02-25 1988-07-26 Computer Graphics Laboratories, Inc. Graphics display system and method with enhanced instruction data and processing
EP0194092A3 (de) * 1985-02-25 1990-02-07 Computer Graphics Laboratories, Inc. Anzeigesystem und -verfahren
GB2180128B (en) * 1985-08-28 1990-01-10 Anamartic Ltd Window graphics system
US4761642A (en) * 1985-10-04 1988-08-02 Tektronix, Inc. System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer

Also Published As

Publication number Publication date
JPH01147681A (ja) 1989-06-09
DE3888445D1 (de) 1994-04-21
JP2673897B2 (ja) 1997-11-05
US4862155A (en) 1989-08-29
EP0314440A3 (de) 1991-03-13
EP0314440B1 (de) 1994-03-16
EP0314440A2 (de) 1989-05-03

Similar Documents

Publication Publication Date Title
DE3888445T2 (de) Graphisches Anzeigesystem mit einem Sekundärbildspeicher für Bildelemente.
DE3751075T2 (de) Verfahren und System zur Steuerung einer Multibildschirmanzeige.
DE69428647T2 (de) Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals
DE69117112T2 (de) Verfahren und Vorrichtung zur Bildwiedergabe
DE69523593T2 (de) Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
DE3687215T2 (de) Mehrfachprozessanzeigesystem mit bildfenstern.
DE3485765T2 (de) Anzeigesystem fuer zusammengesetzte bilder.
DE69026647T2 (de) Zoommodusbetriebsarten in einem Anzeigegerät
DE69323260T2 (de) Aktualisierung der Anzeigeeinrichtung eines entfernten Rechnerarbeitsplatzes
DE69620301T2 (de) Fensterverwaltung
DE69427574T2 (de) NTSC-Anzeige der Animation bewegter Bilder
DE3787127T2 (de) Datenanzeigesystem.
DE3650119T2 (de) Verfahren zur Anzeigesteuerung für ein System mit mehreren Bildausschnitten.
DE69132209T2 (de) Anzeigeadapter
DE19733151B4 (de) Vorrichtung und Verfahren für einen virtuellen Gerätezugriff in einem Computersystem
DE69702245T2 (de) Listengesteuerte videoverarbeitungen
DE69021429T2 (de) Speicherzugriffssteuerschaltung für Grafik-Steuergerät.
DE3852257T2 (de) Anwenderprogramm-Schnittstelle für Vollbild-Eingabe/Ausgabe.
DE3855234T2 (de) Hochleistungsfähiges graphisches endgerät sowie betriebsverfahren dafür
DE69404469T2 (de) Objektorientiertes zeichnungserzeugungsgerät
DE3855289T2 (de) Maus-Zeiger mit umschaltbarem Emulations-Betriebsmodus
DE60105510T2 (de) Bilderzeugungsgerät
DE69314763T2 (de) Verfahren zur Fehlerbeseitigung bei Anwendungen für eine grafische Benutzeroberfläche
DE69122147T2 (de) Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System
DE10005812A1 (de) Vom Benutzer ausgewählte Anzeige von zweidimensionalem Fenster in drei Dimensionen auf einem Rechnerbildschirm

Legal Events

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