DE3688655T2 - Logische Schaltung zur Steuerung der Benutzung durch den Hauptprozessor und den Coprozessor von verschiedenen Anzeigebetriebsarten. - Google Patents

Logische Schaltung zur Steuerung der Benutzung durch den Hauptprozessor und den Coprozessor von verschiedenen Anzeigebetriebsarten.

Info

Publication number
DE3688655T2
DE3688655T2 DE19863688655 DE3688655T DE3688655T2 DE 3688655 T2 DE3688655 T2 DE 3688655T2 DE 19863688655 DE19863688655 DE 19863688655 DE 3688655 T DE3688655 T DE 3688655T DE 3688655 T2 DE3688655 T2 DE 3688655T2
Authority
DE
Germany
Prior art keywords
buffer
coprocessor
data
main processor
address
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
DE19863688655
Other languages
English (en)
Other versions
DE3688655D1 (de
Inventor
Patrick A Buckland
John W Irwin
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 DE3688655D1 publication Critical patent/DE3688655D1/de
Application granted granted Critical
Publication of DE3688655T2 publication Critical patent/DE3688655T2/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/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • 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/04Display device controller operating with a plurality of display units

Landscapes

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

Description

    Technisches Gebiet
  • Diese Erfindung bezieht sich im allgemeinen auf Datenverarbeitungssysteme und insbesondere auf eine Steueranordnung und ein Verfahren, die es erlauben, Daten, die vom Hauptprozessor des Systems verarbeitet werden, und Daten, die vom Coprozessor des Systems verarbeitet werden, einzeln oder gemeinsam selektiv auf jedem Bildschirmgerät einer Vielzahl von Bildschirmgeräten unterschiedlichen Typs, die im System vorhanden sind, anzuzeigen.
  • Hintergrund der Erfindung
  • Der Stand der Technik kennt eine Anzahl von Systemen, in denen ein Coprozessor verwendet wird, um die Hauptverarbeitungseinheit zu unterstützen, einige der zeitaufwendigeren Datenverarbeitungsaufgaben durchzuführen. In diesen Systemen ist es nicht ungewöhnlich, daß im System mehrere verschiedene Bildschirmarten vorhanden sind, beispielsweise ein Schwarzweiß-Bildschirm und ein punktweise adressierbarer Farbbildschirm. Im allgemeinen kann der Bediener während des Einrichtens des Systems jedes Bildschirmgerät wahlweise einem Prozessor zuordnen. Ebenso beruhen in diesen Systemen die Anwendungen, die im System laufen, im allgemeinen auf Programmen, die für ein Multiprozessorsystem mit mehreren Bildschirmgeräten geschrieben wurden, so daß jede beliebige erforderliche Steuerung und Koordinierung der Bildschirmgeräte während der Entwicklung des ablaufenden Programmes in Betracht gezogen wurde.
  • In einer ebenfalls anhängigen Anmeldung, die parallel hierzu unter dem Namen von John Irwin mit dem Titel "Bus Arbiter for a Data Processing System Having an Input/Output Channel" ("Busverwaltung für ein Datenverarbeitungssystem mit einem Ein-/Ausgabe- Kanal") eingereicht und dem Inhaber dieser Erfindung abgetreten wurde, wird ein System dargestellt, in dem ein Coprozessor mit dem Ein-/Ausgabe-Kanal eines Datenverarbeitungssystems verbunden werden kann. Da das Programm, das der Coprozessor ausführt, im Hauptspeicher des Systems gespeichert ist, wird ein E/A-Busverwaltungsschema verwendet, das den Coprozessor daran hindert, den E/A-Kanal mit Befehlsleseanforderungen an den Hauptspeicher an sich zu reißen. Das Busverwaltungsschema erlaubt einen wirklichen Coprozessorzugriff zum Ein-/Ausgabe-Kanal, wenn keine Verwendungszwecke des Systems mit höherer Priorität gefordert werden, und veranlaßt den Coprozessor zum Verzicht auf die Bussteuerung, falls eine Bedieneranforderung mit höherer Priorität vorhanden ist.
  • In einer zweiten, ebenfalls anhängigen Anmeldung, auch unter dem Namen von John Irving unter dem Titel "Processor I/O and Interrupt Filters" ("Prozessor-E/A und Unterbrechungsfilter") und ebenfalls dem Inhaber dieser Erfindung übertragen, wird eine Anordnung dargestellt, die es erlaubt, daß gemeinsame an den E/A-Bus des Systems angeschlossene Betriebsmittel wahlweise entweder dem Hauptprozessor oder dem Coprozessor zugeordnet werden. Die gemeinsamen, wahlweise zugeordneten Betriebsmittel umfassen die Bildschirmgeräte und andere Arten von E/A-Geräten.
  • Das der Gerber Systems Technology Inc. erteilte FR-A-2497588 zeigt ein Verfahren zur Steuerung der Art und Weise, in der Daten in einem Datenverarbeitungssystem mit einem Hauptprozessor, einem Speichersubsystem und einem E/A-Subsystem mit einer E/A- Kanal-Steuereinheit und einem E/A-Bus mit einem Coprozessor und mehreren Bildschirmgeräten angezeigt werden. Alle Bildschirmgeräte haben einen anderen E/A-Adreßraum und enthalten weiterhin einen Videopuffer und Steuerregister zur Speicherung von Anzeigesteuersignalen zur Steuerung der Anzeige von in den Puffer eingegebenen Daten.
  • Wenn in einem derartigen System ein vorhandener Mikroprozessor wie zum Beispiel der INTEL 80286 als Coprozessor benutzt wird, wäre es wünschenswert, wenn Programme laufen könnten, die ursprünglich für den IBM PC als Einzelsystem geschrieben wurden. In solch einer Umgebung werden die Programme, die auf dem Coprozessor laufen, als ungesteuerte Programme bezeichnet, weil sie für eine ganz andere Systemkonfiguration geschrieben wurden. Diese Programme mit unbekannter Herkunft und unbekannten internen Protokollen nehmen den Hauptprozessor und die gemeinsame Benutzung von Betriebsmitteln, die auf dem Bus des Ein-Ausgabe- Kanals auftreten könnte, nicht zur Kenntnis. Da diese früheren Programme verlangen könnten, daß die vom Coprozessor verarbeiteten Daten auf irgendeiner der drei verschiedenen Gerätearten, die normalerweise an den IBM PC angeschlossen werden können, angezeigt werden sollen, muß die neue Umgebung in der Lage sein, verschiedene unterschiedliche Situationen bei der Anzeige von Daten zu behandeln. Jeder Bildschirmart wurde von der Architektur des IBM PC-Systems ein anderer Adreßbereich zugeordnet. Die neue Umgebung paßt sich deshalb an mehrere unterschiedliche Situationen an, die mit den Bildschirmarten im System und den Bildschirmarten, die von den auf dem Coprozessor laufenden Programmen gerufen werden, auftreten könnten. Jede Bildschirmart besteht aus einem Bildschirmmonitor, der von einem Hardware- Adapter gesteuert wird, der einen im Speicher definierten Videopuffer an einem vorher festgelegten Adreßbereich und für die E/A festgelegte Steuerregister an einem vorher festgelegten Adreßbereich besitzt.
  • Beispielsweise muß sich die neue Umgebung auf die Zuordnung eines einzelnen Bildschirmgerätes zum Hauptprozessor und eines anderen Bildschirmgerätes zum Coprozessor einrichten. Sie muß auch verhindern, daß der Coprozessor Daten auf ein Bildschirmgerät überträgt, das dem Hauptprozessor gehört.
  • Zusätzlich zur Bereitstellung der konventionellen Anzeigefunktionen im System liefert die Verfügbarkeit eines zweiten Prozessors im System weitere Funktionen zur Verbesserung der Gesamtanzeigefähigkeit des Systems. Beispielsweise könnte es in vielen Anwendungen vom Standpunkt des Bedieners aus wünschenswert sein, daß man Daten, die entweder vom Hauptprozessor oder vom Coprozessor verarbeitet werden, wahlweise auf einem Bildschirmgerät anzeigen kann, nur durch Betätigung einer Taste auf der Tastatur. Solch eine Anordnung erlaubt es dem Bediener, zwei nicht miteinander zusammenhängende Anwendungen parallel laufen zu lassen und deren Fortgang zu prüfen.
  • Es wäre in manchen Anwendungen auch vorteilhaft, wenn man die Daten, die vom Coprozessor verarbeitet werden, über den Daten, die vom Hauptprozessor angezeigt werden, in einem Fenster anzeigen könnte, so daß der Bediener beide Anwendungen gleichzeitig sehen könnte, ohne die Arbeit eines Programmes zu unterbrechen.
  • Schließlich wäre es wünschenswert, wenn man ein Programm abarbeiten könnte, das zur Unterstützung einer Bildschirmart geschrieben wurde, und das auch auf einer anderen Bildschirmart lauffähig wäre, auf der die Bildelement-(PEL-) Dichten wesentlich anders sind.
  • Diese Eigenschaft der Erfindung erlaubt den Anschluß von Bildschirmgeräten, die zukünftig entwickelt werden und höhere Auflösungen besitzen, in dem vorliegenden System, obwohl der abgearbeitete Programmcode nicht auf dem verbesserten Bildschirmgerät beruht.
  • Die oben beschriebenen verbesserten Anzeigefunktionen werden mit der vorliegenden Erfindung für ein Datenverarbeitungssystem zur Verfügung gestellt, das einen Hauptprozessor und einen Coprozessor enthält, mit sehr wenig zusätzlichen Schaltungen und mit wenig oder gar keinen Auswirkungen auf die Leistungsfähigkeit des Systems.
  • Zusammenfassung der Erfindung
  • Entsprechend der vorliegenden Erfindung nutzt auch der Coprozessor die an das System angeschlossenen Bildschirmgeräte in verschiedenen Betriebsarten auf eine Art und Weise, die für den Bediener und den auf dem Coprozessor laufenden Programmcode transparent ist. In der Situation, in der die an das System angeschlossenen Bildschirmgeräte entweder dem Prozessor oder dem Coprozessor vorher zugeordnet wurden, verhindert die Erfindung nur, daß das auf dem Coprozessor laufende Programm Daten auf einem dem Hauptprozessor zugeordneten Bildschirmgerät versehentlich zerstört.
  • In einer zweiten Situation wird ein Bildschirmgerät von beiden Prozessoren gemeinsam genutzt, wobei der Bediener die anzuzeigenden Daten mit Hilfe einer vorher festgelegten Taste auf der Tastatur, die von einer Datenmenge auf eine andere umschaltet, auswählen kann. Die nicht angezeigten Daten werden trotzdem in einem virtuellen Puffer von ihrem Prozessor aktualisiert, so daß das Bildschirmgerät zu seinem richtigen Zustand zurückkehren kann, wenn es neu zugeordnet wird. Die Daten im realen und im virtuellen Puffer werden ausgetauscht, wenn die Eigentümerschaft wechselt.
  • In der dritten Situation werden die Daten vom Coprozessor in ein Fenster auf dem Bildschirmgerät abgebildet, das dem Hauptprozessor zugeordnet ist. Die vom Hauptprozessor realisierte Abbildungsfunktion kann eine PEL-Auflösung des Bildschirmgerätes besitzen, die sich von der PEL-Auflösung des Bildschirmgerätes unterscheidet, für das der Code ursprünglich entwickelt wurde.
  • Schließlich können die vom Coprozessor verarbeiteten Daten auf dem dem Coprozessor zugeordneten Bildschirmgerät angezeigt werden, selbst wenn sich die PEL-Dichte und das Steuerprotokoll vollständig von den Parametern unterscheiden, die vom ursprünglichen Code unterstützt werden.
  • Die Erfindung umfaßt eine Menge von logischen Schaltungen, die zwischen dem E/A-Kanal des Systems und dem Coprozessor angeordnet sind; ihre Aufgabe ist es, ausgewählte E/A-bezogene Steuersignale vom Coprozessor an die zum System gehörenden Bildschirmgeräte einzufangen. Eine erste Gruppe von logischen Schaltungen unterdrückt Schreibsignale an ein Bildschirmgerät, das nicht ausschließlich dem Coprozessor gehört. Diese Tätigkeit verhindert, daß Steuersignale und Daten an den Steuermechanismus des Videopuffers dieses Bildschirmgerätes geschickt werden, was die vom Hauptprozessor verarbeiteten und angezeigten Daten zerstören würde.
  • Wenn die neue Umgebung zuläßt, daß ein Bildschirmgerät vom Hauptprozessor und vom Coprozessor gemeinsam genutzt wird, wird im Hauptspeicher für jedes zum System gehörende Bildschirmgerät ein virtueller Videopuffer eingerichtet. Wenn Daten nicht angezeigt werden, werden Veränderungen im virtuellen Videopuffer durchgeführt. Wenn sich das Besitzrecht am Bildschirmgerät ändert, werden die Inhalte der realen und virtuellen Videopuffer ausgetauscht. Zusätzlich muß ein zweiter Teil der Unterbrechungslogik Veränderungen in den Nur-Schreib-Registern des Bildschirmsteuermechanismus einfangen und aufzeichnen, selbst wenn der Coprozessor das Bildschirmgerät besitzt, so daß es richtig eingerichtet werden kann, wenn die Steuerung vom Hauptprozessor zurückgegeben werden kann. Nachdem der Hauptprozessor die Steuerinformation für eine spätere Verwendung kopiert hat, muß er auch die von den Systemprotokollen geforderte Antwort an den Coprozessor liefern.
  • Wenn die neue Umgebung erlaubt, daß die vom Coprozessor verarbeiteten Daten im Kontext eines "Fensters" auf einem Gerät angezeigt werden, das dem Hauptprozessor gehört, müssen die logischen Schaltungen auch alle E/A-bezogenen Änderungen der Steuerung des Bildschirmgerätes einfangen. Diese Änderungen werden gespeichert, so daß die erforderliche Wirkung der Änderungen vom Hauptprozessor emuliert werden kann.
  • Die Erfindung umfaßt weiterhin geeignete Steuermittel für die selektive Verschiebung von Lese- und Schreiboperationen im Videopufferadreßbereich auf einen gleichen Bereich des im Speicher definierten virtuellen Bildschirmpuffers. Diese selektive Verschiebung wird auf eine Art und Weise erreicht, die für den Bediener und den vom Coprozessor verarbeiteten Code transparent ist. Wenn sich die Steuerung des Bildschirmgerätes ändert, wird der im Speicher definierte virtuelle Puffer und der reale Puffer ausgetauscht. Die Verschiebungsfunktion des Coprozessors wird gesperrt, wenn das Bildschirmgerät vom Hauptprozessor und vom Coprozessor gemeinsam genutzt wird, und die Steuerung wird dem Coprozessor übergeben, da der Coprozessor direkt in den reellen Videopuffer schreiben kann.
  • Wenn die Daten vom Coprozessor auf dem Bildschirm in einem Fenster angezeigt werden oder wenn das dem Coprozessor zugeordnete Bildschirmgerät nicht PEL-kompatibel zu dem vom Coprozessor verarbeiteten Code ist, müssen alle Lese- und Schreiboperationen für den realen Videopuffer auf den virtuellen Videopuffer im Hauptspeicher verschoben werden.
  • Der Hauptprozessor steuert die Menge logischer Schaltungen entsprechend der gewünschten Operation durch Setzen eines Steuerregisters, das dieser Logik zugeordnet ist. Entweder 1) ordnet die Steuerung dem Coprozessor ein Bildschirmgerät zu, oder 2) sie unterdrückt die Übertragung auf ein Bildschirmgerät, das dem Hauptprozessor gehört, oder 3) sie aktiviert die Verschiebefunktion und richtet im Hauptspeicher einen virtuellen Puffer ein.
  • Wenn die Verschiebefunktion aktiv ist, kann unter der Steuerung des Programmes des Hauptprozessors für jedes Schreiben in den virtuellen Puffer eine Unterbrechung erzeugt werden. Dies erlaubt es dem Hauptprozessor, mit Hilfe verschiedener Algorithmen zu bestimmen, wann die Anzeige aktualisiert werden sollte. Die Unterbrechung stoppt die Arbeit des Coprozessors nicht.
  • Wenn schließlich Daten vom Coprozessor zum virtuellen Puffer des Bildschirmgerätes geschickt werden, entweder zur Anzeige in einem Fenster auf dem Bildschirm oder zur PEL-Konvertierung, dann ist es für den Hauptprozessor nicht sehr effektiv, jede Veränderung bei ihrem Auftreten zu verarbeiten. Beispielsweise kann sich in der "Fenster"-Situation die Änderung auf Daten beziehen, die sich nicht im Fenster befinden. In der PEL-Konvertierungssituation hilft die Tatsache, daß sich etwas geändert hat, nicht bei der Aktualisierung, und es erweist sich nicht als praktisch, durch einen Vergleich herauszufinden, welches Bildelement sich geändert hat, oder den ganzen Puffer zu erneuern, wenn eine Veränderung festgestellt wurde. Deshalb enthält das System weiterhin für jedes Bildschirmgerät eine kreisförmige Warteschlange im Hauptspeicher, die die Aufgabe hat, eine Liste von Videopufferadressen zu führen, die in eine Änderung einbezogen wurden. Die Länge der Warteschlange wird vom Hauptprozessor programmgesteuert festgesetzt. Der Hauptprozessor kann auch bestimmen, welche Position gegenwärtig bedient wird und welche aktuelle Länge die Warteschlange hat. Die Warteschlange wird vom Hauptprozessor bedient, so daß Änderungen, die im virtuellen Puffer vorgenommen werden, in der Warteschlange gestrichen werden. Wenn die Warteschlange voll ist, dann hält der Coprozessor an, bis zusätzlicher Platz in der Warteschlange zur Verfügung gestellt wird, entweder durch Vergrößerung der Warteschlange oder durch Verarbeitung der Elemente in der Warteschlange oder durch Bereitstellung von Platz für eine zweite Warteschlange. Es ist deshalb ein Gegenstand der vorliegenden Erfindung, eine verbesserte Anordnung zur Verfügung zu stellen, die es erlaubt, daß verschiedene an das gleiche System angeschlossene Datenverarbeitungseinheiten an das System angeschlossene Bildschirmgeräte gemeinsam nutzen.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine Anordnung zur Steuerung der Verwendung von Bildschirmgeräten verschiedenen Typs durch zwei an das gleiche System angeschlossene Verarbeitungseinheiten zu steuern.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine verbesserte Anordnung zur Verfügung zu stellen, die verhindert, daß Daten, die auf einem Bildschirmgerät unter der Steuerung eines Hauptprozessors angezeigt werden, durch einen auf einem an das gleiche System angeschlossenen Coprozessor laufenden Code unbekannter Herkunft und mit unbekanntem inneren Protokoll ungünstig beeinflußt werden.
  • Noch ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine verbesserte Anordnung zur Verfügung zu stellen, die es erlaubt, daß ein Bildschirmgerät gemeinsam benutzt wird, um Daten, die entweder vom Hauptprozessor oder vom Coprozessor des Systems verarbeitet werden, selektiv anzuzeigen.
  • Noch ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine verbesserte Anordnung zur Verfügung zu stellen, um Daten, die von einem Coprozessor verarbeitet werden, auf einem Bildschirmgerät in einem Fenster anzuzeigen, wobei das Bildschirmgerät Daten anzeigt, die vom Hauptprozessor des Systems angezeigt werden.
  • Noch ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine verbesserte Anordnung zur Verfügung zu stellen, die Daten eines Coprozessors auf einem Bildschirmgerät anzeigt, das Geräteparameter und Spezifikationen aufweist, die mit den vom Coprozessor verarbeiteten Daten nicht PEL-kompatibel sind. Weitere oben nicht erwähnte Ziele und Vorteile werden aus der folgenden Beschreibung der bevorzugten Ausführung der Erfindung ersichtlich, wenn sie in Verbindung mit den Zeichnungen gelesen wird.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockschaltbild eines Datenverarbeitungssystems, das die vorliegende Erfindung darstellt.
  • Fig. 2 ist eine schematische Darstellung der in Fig. 1 abgebildeten Coprozessorkarte.
  • Fig. 3 ist ein ausführliches Schaltbild der in Fig. 1 in Verbindung mit dem Coprozessor dargestellten Unterbrechungslogikschaltungen zum wahlweisen Fangen von Lese- und Schreibsignalen, die an die realen Videopuffer der Bildschirmgeräte des Systems gerichtet sind.
  • Beschreibung der bevorzugten Ausführung
  • Fig. 1 veranschaulicht in einem Blockschaltbild ein Datenverarbeitungssystem, das die vorliegende Erfindung realisiert. Das System enthält, so wie dargestellt, eine Haupt-Zentraleinheit 10 oder Hauptprozessor (CPU), eine Speichersteuereinheit 11, einen Nur-Lese-Speicherblock (ROS) 12, einen Ladungsauffrischungsblock (REF/CHG) 13 und einen Teil einer Ein-/Ausgabe-Kanalsteuereinheit 14a (IOCC). Die funktionellen Blöcke sind so dargestellt, als ob sie auf einer als Prozessorkarte bezeichneten Leiterkarte 15 montiert sind. Die Prozessorkarte wird so angeordnet, daß sie in ein Buchsenpaar auf einer Grundplatine eingesetzt wird, die Buchsen für andere Karten und funktionelle Module wie die Auffrischungssteuerungen 34, die Unterbrechungssteuereinheit (INTRPT) 22, die Steuereinheit 23 für den direkten Speicherzugriff (DMA), eine Kommunikationssteuereinheit (COMM) 21 und eine Tastatursteuereinheit (KBD) 20 enthält. Die Grundplatine trägt auch den anderen funktionellen Teil 14b der Ein-/Ausgabe-Kanalsteuereinheit, zusätzlich zur Ausstattung mit einer Anzahl von Mehrleiterbussen, die die Signale durch das System führen.
  • Die in Fig. 1 dargestellten zwei Hauptbusse sind der E/A-Bus 24 und der Speicherbus 18, die von der Speichersteuereinheit 11 auf der Prozessorkarte 15 bis zum RAM-Speicher 16 auf der Speicherkarte 17 reichen.
  • Das in Fig. 1 dargestellte System enthält weiterhin drei zusätzliche Karten 26, 27 und 28, die in die Grundplatine gesteckt werden und an den E/A-Bus 24 angeschlossen werden können.
  • Die Karte 26 wird als Coprozessorkarte bezeichnet und enthält die zweite Verarbeitungseinheit im System, die als Coprozessor bezeichnet wird. Es wird vorausgesetzt, daß die Coprozessorkarte 26 zum IBM PC/XT-Mikroprozessor funktionell äquivalent ist. Die Karten 27 und 28 sind Bildschirmgeräte-Adapterkarten, deren primäre Funktion darin besteht, als-herkömmliche Videopuffer für die Bildschirmgeräte 29 bzw. 30 zu fungieren. Es sollte vorausgesetzt werden, daß eine Bezugnahme auf einen Bildschirm oder ein Bildschirmgerät in dieser Beschreibung sowohl die Elektronenstrahlröhre, d. h. den Bildschirm, als auch die zugehörige Elektronik einschließlich des Videopuffers zur Realisierung der Anzeigefunktion umfaßt. Die zusätzliche auf der Adapterkarte vorhandene Elektronik umfaßt eine Bildschirmsteuereinheit, die eine Anzahl von Registern zur Steuerung verschiedener Bildschirmparameter (beispielsweise des speziellen Modus - Grafik- oder Zeichendarstellung, die Anzahl der Bildelemente auf dem Bildschirm, die Wiederholrate des Bildschirms usw.) enthält, die alle zu den Standardsteuerungen für Bildschirmgeräte gehören. Für die Zwecke der Beschreibung wird vorausgesetzt, daß es sich bei dem Bildschirmgerät 29 um ein konventionelles, grün leuchtendes einfarbiges Bildschirmgerät handelt, das an die IBM PC- Familie angeschlossen werden kann. Es sei weiterhin vorausgesetzt, daß das Bildschirmgerät 30 der punktweise adressierbare IBM Farbbildschirm ist, der auch an die IBM Systemfamilie angeschlossen werden kann.
  • Fig. 2 zeigt die verschiedenen funktionellen Baugruppen, die auf der Coprozessorkarte zusätzlich zum Hauptcoprozessormodul 31 untergebracht sind. Der Coprozessor ist mit einem Kristalloszillator 32 ausgestattet, der ein modernes Taktmodul steuert, um alle Taktfunktionen des Coprozessors zur Verfügung zu stellen. Der Coprozessor läuft im allgemeinen in bezug auf den E/A-Bus 24 asynchron, außer wenn er die Steuerung des Busses hat. Während solcher Zeitabschnitte stellt der Coprozessor alle Daten und Steuersignale synchron zum Bustakt zur Verfügung.
  • Die Busverwaltungs-/Rücksetzlauf-Steuerungen 33 sind ebenfalls auf der Coprozessorkarte untergebracht und arbeiten so, wie es in der zuerst zitierten ebenfalls anhängigen Anmeldung beschrieben wurde, wenn der E/A-Bus 24 vom Coprozessor 31 und den anderen an den E/A-Bus angeschlossenen Geräten verwaltet wird. Die Karte enthält außerdem einen konventionellen Adreßdecoder 33a und die Bustreiber und Empfänger 34 sowie eine Unterbrechungssteureinheit 35. Ein numerischer Prozessormodul 36 kann sich ebenfalls auf der Coprozessorkarte 26 befinden.
  • Die übrigen auf der Coprozessorkarte dargestellten Funktionen, nämlich die E/A-Fanglogik 37, die Unterbrechungs-Fang- und Zwinglogik 38, die Video-Warteschlangenlogik- und Verschiebungsfunktion 39 sowie der Fangparameterspeicher 40 werden alle im Zusammenhang mit der bevorzugten Ausführung der vorliegenden Erfindung zur Verfügung gestellt.
  • Von Fachleuten wird festgestellt werden, daß für ein System mit zwei Prozessoren und zwei Bildschirmgeräten vorsichtshalber ein gewisses Maß an Steuerung und Koordination erforderlich ist, um zu sichern, daß die Anwendungen, die auf jedem Prozessor laufen, die Anzeige der Daten des anderen Systems nicht behindern. Man sollte sich daran erinnern, daß beide Bildschirmgeräte über den E/A-Bus zugänglich sind und deshalb jede Zentraleinheit auf die Daten im Videopuffer zugreifen kann, wenn die laufenden Programme dies erlauben oder die gleichen Bildschirmgeräteadressen verwenden. Mit anderen Worten, das Bildschirmgerät weiß nicht, welcher Prozessor an der Übertragung eines Datenbytes aus dem Speicher in den Videopuffer beteiligt ist. Die meisten Anordnungen koordinieren deshalb nur die Programme, die auf jedem Prozessor laufen, und ordnen ein gegebenes Bildschirmgerät einem bestimmten Prozessor zu, unter Ausschluß des anderen Prozessors. Obwohl eine solche Anordnung für viele Anwendungen zufriedenstellend ist, übersieht sie das Potential, das für die Anzeige der Daten in dem System verfügbar ist. Durch das Hinzufügen einer relativ einfachen logischen Anordnung, die unter der Steuerung des Hauptprozessors steht und jeden Befehl einfängt, der vom Coprozessor ausgeführt wird und eines der an das System angeschlossenen Bildschirmgeräte betrifft, wird eine Vielzahl von Anzeigearten ermöglicht, von denen einige Möglichkeiten zur Verfügung stellen, die bisher nicht erreichbar waren.
  • Die einfachste Betriebsart, in der das System arbeitet, wird verwendet, wenn ein gegebenes Biidschirmgerät 29 beispielsweise dem Hauptprozessor 10 zugeordnet ist und die vom Coprozessor 31 abgearbeiteten Programme unbekannter Herkunft sind und ein unbekanntes Protokoll aufweisen. Diese Umgebung erhöht das Potential des Coprozessors 31, der Daten zum Videopuffer des Bildschirmgerätes 29 überträgt, das dem Hauptprozessor gehört, und die angezeigte Information zerstört. Bei dieser Betriebsart wird die aktuelle Datenübertragung unterdrückt, und falls das Protokoll eine Antwort des Gerätes erfordert, wird sie vom Hauptprozessor zum Coprozessor emuliert.
  • Die zweite für die Anzeige von Daten im System verfügbare Betriebsart beinhaltet die gemeinsame Benutzung eines Bildschirmgerätes durch den Coprozessor 31 und den Prozessor 10. Bei dieser Betriebsart wird im Hauptspeicher 16 ein virtueller Videopuffer eingerichtet, entsprechend dem realen Videopuffer, und die Verschiebungslogik ändert effektiv die Adresse für den Videopuffer-Schreibbefehl von der realen Videopufferadresse auf den virtuellen Videopuffer im Hauptspeicher 16. Wenn in dieser gemeinsamen Betriebsart das Bildschirmgerät dem Coprozessor 31 gehört, müssen Änderungen der Steuerung der Nur-Schreib-Steuerregister, die der Bildschirmelektronik auf den Karten 27 oder 28 zugeordnet sind, auch vom Hauptprozessor aufgezeichnet werden; damit kann das Bildschirmgerät richtig initialisiert und in den Zustand gebracht werden, der zu der Zeit vorhanden war, als das Besitzrecht an den Hauptprozessor 10 übertragen wurde.
  • Die Fähigkeit des Systems, einen virtuellen Videopuffer einzurichten, ermöglicht zwei weitere verbesserte Anzeigefunktionen. Die erste erlaubt, daß zum virtuellen Videopuffer übertragene Coprozessordaten mit Daten aus dem realen Videopuffer auf dem Bildschirm in einem Fenster dargestellt werden. Die Besonderheiten der "Fenster"-Anordnung stehen unter der Steuerung des Hauptprozessors 10 und funktionieren in ähnlicher Weise wie andere "Fenster"-Anordnungen. Ihre Einzelheiten werden deshalb in dieser Spezifikation nicht beschrieben. Die zweite verbesserte Funktion beinhaltet die Möglichkeit, daß Coprozessordaten auf einem Bildschirmgerät angezeigt werden, das Bildschirmeigenschaften wie etwa die PEL-Auflösung besitzt, die von dem laufenden Programm nicht unterstützt werden. Der Hauptprozessor 10 liest die in dem virtuellen Videopuffer gespeicherten Daten und überträgt sie in den realen Videopuffer des dem Coprozessor zugeordneten Bildschirmgerätes, nachdem diese Daten in das richtige Format gebracht wurden.
  • In den letzten zwei Betriebsarten, die zuerst ein Schreiben in den virtuellen Videopuffer und dann ein Lesen aus dem Videopuffer beinhalten, wird im Speicher 16 eine kreisförmige Warteschlangenanordnung eingerichtet, um die spezielle Adresse im virtuellen Videopuffer, die geändert wurde, zu speichern. Die kreisförmige Warteschlange wird vom Hauptprozessor 10 auf konventionelle Art und Weise verwaltet. Die Länge oder Größe der Warteschlange kann unter die Steuerung des Hauptprozessors gebracht werden, und der Warteschlangenendezeiger wird zur nächsten Adresse bewegt, wenn der reale Videopuffer vom virtuellen Videopuffer aktualisiert wird.
  • Fig. 3 veranschaulicht die Einzelheiten der Funktionsblöcke 37, 38 und 39 aus Fig. 2, die die oben beschriebenen Funktionen realisieren.
  • Ganz allgemein stellt Fig. 3 Schaltungen dar, die nach dem Ausgang des Coprozessors 31 angeordnet sind, dargestellt durch Adreßleitungen A0 bis A23, Prozeßdatenleitungen PD0 bis PD15 und eine als Speicher OP bezeichnete Leitung; diese Leitungen sind alle mit einer Anzahl von mehrstufigen Registern verbunden, die die jeweiligen Signale auf diesen Leitungen für die weitere Verarbeitung speichern. Die in Fig. 3 dargestellten Schaltungen sind eine Ausführung der verschiedenen Funktionen, die im Zusammenhang mit den vier möglichen Betriebsarten des Bildschirmgerätesystems diskutiert wurden. Es sei in Erinnerung zurückgerufen, daß die IBM PC-Architektur 128-KBytes-Adreßraum für die den Bildschirmgeräten zugeordnete Videopuffer reserviert. Dieser Raum wurde weiterhin in einen Puffer von 64 K und zwei Puffer von 32 K unterteilt. Der Puffer von 64 K wird einem durch eine hexadezimale Adresse "A0000" bezeichneten Adreßraum zugeordnet und für das leistungsfähige Bildschirmgerät reserviert. Der erste Puffer von 32 K ist für das einfarbige IBM Bildschirmgerät bestimmt und dem Adreßraum "B0000" bis "B7FFF" zugeordnet, während der zweite Puffer von 32 K mit dem Adreßraum "B8000" bis "B8FFF" für das PC-Farbbildschirmgerät reserviert ist.
  • Wenn der Coprozessor 31 einen Befehl ausführt, der dazu bestimmt ist, den Videopuffer des Bildschirmgerätes zu aktualisieren, so handelt es sich tatsächlich um die Übertragung von Daten an die auf den Adreßleitungen A0 bis A23 definierte Adresse. Durch Prüfung gewisser Positionen auf diesem Adreßbus können die Schaltungen von Fig. 3 bei der Ausführung eines Speicherschreibbefehls feststellen, ob der Befehl eine Übertragung zu einem der Bildschirmgerätepuffer beinhaltet. Wenn der Befehl eine solche Übertragung beinhaltet, dann antwortet die Logik entsprechend den anfänglichen Betriebsartzuordnungen, die vom Hauptprozessor vorgenommen wurden. Die Betriebsartzuordnung umfaßt die Übertragung eines Bytes vom Hauptprozessor 10 über die E/A-Bus-Datenleitung zu einem achtstufiges Register 44 in Fig. 3.
  • Das achtstufige Videosteuerregister 44 besitzt in Wirklichkeit vier Zweibitfelder, wovon die ersten drei jeweils der Steuerung der drei verschiedenen Bildschirmgerätearten zugeordnet sind, die an den E/A-Bus 24 angeschlossen werden können. Jedes der ersten drei Felder kann in folgender Weise eine von vier verschiedenen, vorher definierten Betriebsarten darstellen:
  • 00 Das Bildschirmgerät ist dem Coprozessor zugeordnet.
  • 01 Unterdrücke die Übertragung von Daten zum Bildschirmgerät durch den Coprozessor.
  • 10 Verschiebe die Daten in den virtuellen Puffer.
  • 11 Verschiebe die Daten und trage die in die Übertragung einbezogene Pufferadresse in die kreisförmige Warteschlange ein.
  • AT 984 087
  • Das vierte Zweibitfeld wird verwendet, um die Größe der kreisförmigen Warteschlange auf 1 K, 2 K, 3 K oder 4 K Elemente festzulegen.
  • Es sollte verständlich sein, daß keine Notwendigkeit für einen virtuellen Videopuffer vorhanden ist, wenn das Bildschirmgerät mit der 00-Bedingung des Zweibitsteuerfeldes dem Coprozessor zugeordnet wurde oder wenn es durch die Einstellung der 01-Betriebsart auf die Unterdrückung der Übertragungsbedingung eingestellt wurde; im ersten Fall werden die Daten direkt in den realen Puffer übertragen, und im zweiten Fall werden sie unterdrückt.
  • Nachdem das Register 44 durch die Daten des Steuerbytes vom Hauptprozessor, die Bits 15 und 16 der Adresse auf Leitung 46, die in den aktuell ausgeführten Befehl einbezogen ist, und den Zustand der Videoselektleitung 60 vom Block der programmierten logischen Anordnung 53 eingestellt wurde, beginnt die Arbeit der Videosteuerlogik 50, die für die anfänglich diskutierten zwei Betriebsarten entweder zu keiner Aktion führt, oder es werden die Speicher-Schreib/Lese-Steuerleitungen 61 unterdrückt, so daß keine Übertragung stattfindet.
  • Die Verschiebefunktion, die an der gemeinsamen Betriebsart selektiv und an den beiden letzten Betriebsarten ständig beteiligt ist, wird ebenfalls von den Schaltungen von Fig. 3 realisiert. Diese Verschiebefunktion umfaßt das Ersetzen der werthöheren Bits 17 bis 23 der vom Coprozessor zur Verfügung gestellten 24- Bit-Adresse, die normalerweise den realen Videopuffer adressiert, wobei die werthöheren Bits den virtuellen Puffer im Hauptspeicher adressieren. In Fig. 3 werden die Adreßbits SA1 bis 7, 8 bis 15 und 16 über die Register 70 und 71 von der Coprozessoradreßleitung 41 zur Verfügung gestellt. Die verschobene Adresse, d. h. die sieben werthöheren Bits LA17 bis 23 der verschobenen Adresse wird vom Register 43 zur Verfügung gestellt, das vom Hauptprozessor 10 geladen wurde, als das Register 44 mit den Betriebsartsteuerbits geladen wurde. Somit werden die Daten, die normalerweise in den realen Videopuffer geschrieben worden wären, in den virtuellen Videopuffer geschrieben, an die Adresse, die vom Register 43 auf der mit LA17-23 bezeichneten Leitung zur Verfügung gestellt wird, die die werthöhere Adresse für den virtuellen Videopuffer im Hauptspeicher 16 bildet.
  • Die zwei restlichen Funktionen, die durch die Schaltungen von Fig. 3 realisiert werden, beziehen sich auf die Verwaltung der kreisförmigen Warteschlange und das Auflisten der Adressen in der Warteschlange, was die Veränderungen im virtuellen Puffer angibt, die noch nicht vom Hauptprozessor 10 in den realen Videopuffer übertragen wurden. ES sei in Erinnerung zurückgerufen, daß die Warteschlangenoperation nur für die Betriebsarten erforderlich ist, in denen die Daten vom Coprozessor 31 "im Fenster angezeigt" werden oder der vom Coprozessor 31 verarbeitete Code für einen Bildschirmgerätetyp bestimmt ist, der für den Coprozessor nicht verfügbar ist.
  • Die in die Warteschlangenfunktion einbezogenen Schaltungen von Fig. 3 umfassen den Zähler 80, den Multiplexer 81, den 12-Bit- Vergleicher 82, die Warteschlangengrenzregister 83 und 84 und den Drei-Status-Puffer 85. Die Warteschlange befindet sich in dem gleichen Speicherbereich von 128 K wie die virtuellen Videopuffer für jedes Bildschirmgerät. Die Größe der Warteschlange wird von den Steuerbytes eingestellt, die vom Hauptprozessor zum Register 44 gesendet werden. Der Zähler 80 kann vom Hauptprozessor 10 auf 0 zurückgesetzt werden; er kann auch über den Puffer 85 den aktuellen Status des Zählers lesen und die Warteschlangengrenzregister 83 und 84 mit der Adresse des neu festgelegten Endes der Warteschlange laden.
  • Wenn die Warteschlangenlänge auf 1 K (1024 Adressen) gesetzt wurde, verwendet der Zähler 80 zehn Bits, um die aktuelle Warteschlangenadresse zu definieren. Für jeden vom Coprozessor verarbeiteten Befehl, der ein verschiebbares Schreiben in den virtuellen Puffer enthält, wird der Zähler um eins erhöht. Der Zähler kann als Zeiger auf die Adresse der nächsten Eintragung in die Warteschlange angesehen werden, die vom Coprozessor 31 zu schreiben ist. Die an der vorhergehenden Warteschlangenadresse gespeicherte Information ist die Pufferadresse eines Bytes im virtuellen Puffer, das im Ergebnis der verschobenen Schreiboperation aktualisiert wurde. Wenn der Hauptprozessor 10 den virtuellen Puffer nicht liest und den realen Puffer nicht schnell genug aktualisiert, dann füllt sich die Warteschlange, was durch den Vergleicher angezeigt wird, der die Gleich-Leitung setzt, was zeigt, daß der Inhalt des Zählers und des Warteschlangengrenzregisters gleich sind. Wenn dies geschieht, stoppt ein Versuch des Coprozessors, in den virtuellen Puffer zu schreiben, den Coprozessor, bis Platz in der Warteschlange zur Verfügung gestellt wird. Platz in der Warteschlange kann durch Bedienung der Warteschlange oder durch Änderung der Warteschlangenadresse in eine andere Adresse im Hauptspeicher zur Verfügung gestellt werden.
  • Der Hauptprozessor verwaltet einen Zähler, der die Adresse des zu lesenden Speicherplatzes der Warteschlange enthält. Er wird gleichzeitig mit dem Warteschlangenzähler auf 0 gesetzt. Die Differenz zwischen dem Inhalt des Hauptprozessorzählers und dem Warteschlangenzähler stellt die Anzahl von Datenfeldern in der Warteschlange dar, die zu bedienen sind.
  • Die Warteschlangenadressen werden in den Registern 90 und 91 von Fig. 3 gebildet und spiegeln entweder den Inhalt des Zählers 80 oder die Warteschlangengrenzregister 83 und 84 und ebenfalls die früher definierte Größe der Warteschlange wider.
  • Die Daten, die an die Warteschlangenadresse geschrieben werden, nämlich die geänderte virtuelle Pufferadresse, werden in Fig. 3 auf den Busleitungen SD0 bis 15 von den Adreßleitungen 41 über das Register 98 und den Sender-Empfänger 99 gebildet. Die Verwaltung der Leseoperation des virtuellen Puffers in der bevorzugten Ausführung beruht auf dem Konzept, daß der Hauptprozessor durch ein Unterbrechungsanforderungssignal selektiv unterbrochen werden kann, das vom Coprozessor 31 gebildet wird, wenn ein Verschiebesignal für den virtuellen Puffer ausgeführt wird. Die Bedienung dieser Unterbrechung durch den Hauptprozessor 10 umfaßt das Lesen der Pufferadreßinformation, die an der durch den Warteschlangenzähler 80 und den Puffer 85 definierten Warteschlangenadresse gespeichert ist, sowie die Aktualisierung des realen Puffers durch ein Datenbyte vom virtuellen Puffer. Wenn nach der Bedienung der ersten Unterbrechung eine weitere Unterbrechung ansteht, dann wird die anstehende Unterbrechung bedient, bevor die Steuerung des E/A-Busses an das System zurückgegeben wird.
  • Die Videosteuerlogik 50 auf der Coprozessorkarte 26 enthält zwei Unterbrechungssteuerregisterbits (nicht dargestellt), die vom Hauptprozessor gesetzt werden können. Ein Bit steuert Unterbrechungen von Steuerpuffer-Bildschirmschreiboperationen, und das andere Bit steuert Unterbrechungen bei der Feststellung einer Warteschlange-voll-Bedingung. Da Veränderungen für das Bildschirmgerät gewöhnlich schubweise kommen, ist der Hauptprozessor so programmiert, daß sich seine Betriebsart entweder an eine unterbrechungsgesteuerte Betriebsart oder an eine Aufrufsbetriebsart anpaßt. Der Hauptprozessor befindet sich im allgemeinen in der unterbrechungsgesteuerten Betriebsart und wartet auf die Coprozessorunterbrechung, die anzeigt, daß eine verschiebbare Schreiboperation für den virtuellen Puffer aufgetreten ist. Wenn eine Unterbrechung festgestellt wird, schreibt der Hauptprozessor 10 das Unterbrechungssteuerbit in das Unterbrechungssteuerregister des Coprozessors zurück, so daß es nicht länger bei verschiebbaren Schreiboperationen für den virtuellen Puffer unterbrochen wird. Der Prozessor 10 ruft dann den Warteschlangenstatus periodisch ab und bedient die anstehenden Veränderungen, die im virtuellen Puffer vorgenommen wurden. Der Hauptprozessor 10 hält seine Betriebsart in der Aufrufsbetriebsart, bis eine Anzahl von Aufrufen anzeigt, daß keine Veränderungen im virtuellen Puffer aufgetreten sind, was dadurch angezeigt wird, daß der Zustand des Zählers unverändert bleibt. Wenn solch eine Bedingung durch den Hauptprozessor 10 festgestellt wird, wird seine Betriebsart auf eine unterbrechungsgesteuerte Betriebsart zurückgeschaltet, indem das Unterbrechungssteuerbit des Unterberechnungssteuerregisters des Coprozessors zurückgeschrieben wird.
  • Wenn die Warteschlangenaktivität des Coprozessors sehr hoch ist, dann bewirkt der Coprozessor eine Unterbrechung "Warteschlange voll". Der Prozessor hat die Fähigkeit, dann zu entscheiden, lediglich den gesamten Videopuffer durch den virtuellen Videopuffer zu aktualisieren, anstatt die in der Warteschlange aufgeführten einzelnen Änderungen zu verarbeiten. Solch eine Operation tritt gewöhnlich auf, wenn der Coprozessor gefordert hat, daß der Bildschirm des Bildschirmgerätes zu löschen ist.
  • Die vorliegende Erfindung stellt somit verbesserte Fähigkeiten von Bildschirmgeräten mit einem Minimum an zusätzlichen Schaltungen und mit wenigen oder keinen Auswirkungen auf die Systemleistung zur Verfügung.

Claims (9)

1. Ein Verfahren zur Steuerung der Art und Weise, in der Daten in einem Datenverarbeitungssystem angezeigt werden, das einen Hauptprozessor (10), ein Speichersubsystem (17) und ein Ein-/Ausgabe-Subsystem mit einer E/A-Kanalsteuereinheit (14A, 14B), einem E/A-Bus (24) und mehreren an den E/A-Bus angeschlossenen Einheiten enthält, darunter ein Coprozessor (26) und mehrere Bildschirmgeräte (29, 30), von denen jedes einen gesonderten reservierten E/A-Adreßraum besitzt und jedes Bildschirmgerät einen realen Videopuffer (27, 28) und Steuerregister zur Speicherung der Bildschirmgerätesteuersignale enthält, die die Anzeige von in den realen Puffer eingegebenen Daten steuern.
Das Verfahren wird dadurch charakterisiert, daß es weiterhin die folgenden Schritte einschließt:
Unterbrechung jedes vom Coprozessor ausgeführten Befehls, der das Schreiben eines Datenbytes an eine Adresse innerhalb des E/A-Adreßraumbereiches einschließt, der für das jeweilige Bildschirmgerät reserviert ist, und
Abschluß des unterbrochenen Befehls entsprechend einer durch den Nutzer vorher festgelegten Betriebsart, indem entweder
- in einer ersten Betriebsart das entsprechende Datenbyte an die definierte Adresse transportiert wird oder
- in einer zweiten, vom Nutzer ausgewählten Betriebsart der Transport des entsprechenden Datenbytes zu irgendeinem Zielpunkt unterdrückt wird oder
- für jedes an das System angeschlossene Bildschirmgerät ein virtueller Puffer eingerichtet und das entsprechende Datenbyte in den virtuellen-Puffer gebracht wird, der dem Videopuffer entspricht.
2. Das Verfahren gemäß Anspruch 1 mit dem weiteren Schritt der Übertragung von Bildschirmgerätesteuerinformation vom Hauptprozessor (10) zum Coprozessor (26), wenn das System initialisiert wird und der Schritt des Abschlusses des unterbrochenen Befehls entsprechend den durch die Steuerinformation definierten Aktionen ausgeführt wird.
3. Das Verfahren gemäß Anspruch 2, wobei der Schritt der Übertragung der Bildschirmgerätesteuerinformation den Schritt der Übertragung einer partiellen Adresse eines Hauptspeicherbereiches umfaßt, der für die Unterbringung des virtuellen Puffers benutzt werden soll.
4. Das in Anspruch 3 dargestellte Verfahren mit dem weiteren Schritt der Substitution der partiellen Adresse für einen entsprechenden Teil der Pufferadresse, wenn ein Befehl für eine Anzeigebetriebsart abgeschlossen wird, der die Übertragung des Datenbytes in den virtuellen Puffer erfordert.
5. Das in Anspruch 4 dargestellte Verfahren mit dem weiteren Schritt der Übertragung von Daten aus dem virtuellen Puffer im Hauptspeicher in den realen Puffer eines der Bildschirmgeräte durch Ausführung von Befehlen im Hauptprozessor.
6. Das in Anspruch 5 dargestellte Verfahren, wobei der reale Puffer von einem der Bildschirmgeräte dem Hauptprozessor gehört und der in Anspruch 5 dargestellte Schritt der Datenübertragung aus dem virtuellen Puffer auf die Datenübertragung nur eines Teils des realen Puffers begrenzt wird, der vom Hauptprozessor definiert wurde, um zu ermöglichen, daß Coprozessordaten auf dem Bildschirmgerät zusammen mit Daten vom Hauptprozessor "in einem Fenster dargestellt" werden.
7. Das in Anspruch 5 dargestellte Verfahren mit den weiteren Schritten der Ausführung einer Pixelkonvertierung des von einer Adresse im virtuellen Speicher gelesenen Datenbytes durch den Hauptprozessor und des Schreibens der pixelkonvertierten Daten in den realen Puffer.
8. Das in Anspruch 5 dargestellte Verfahren mit den weiteren Schritten der Verwaltung einer zyklischen FIFO-Warteschlange für aktualisierte Adreßstellen des virtuellen Puffers und der Aktualisierung des realen Videopuffers durch Übertragung von Daten aus dem virtuellen Puffer entsprechend der Liste von Adreßstellen in der aktuellen Warteschlange.
9. Das in Anspruch 8 dargestellte Verfahren mit den weiteren Schritten der Unterbrechung des Hauptprozessors, wenn der Coprozessor zum ersten Mal ein Datenbyte in den virtuellen Puffer überträgt, und der Blockierung von weiteren Unterbrechungsanforderungen durch den Coprozessor auf der Grundlage von nachfolgenden Datenübertragungen in den virtuellen Puffer, und der periodischen Aktualisierung des realen Puffers mit Elementen der zyklischen Warteschlange, und der Rückkehr des Systems zu seiner ursprünglichen unterbrechbaren Betriebsart, wenn die zyklische Schlange leer bleibt, nachdem eine vorher festgelegte Anzahl von Versuchen, den realen Puffer zu aktualisieren, zu keiner Aktualisierungsaktivität führte.
DE19863688655 1985-02-28 1986-01-02 Logische Schaltung zur Steuerung der Benutzung durch den Hauptprozessor und den Coprozessor von verschiedenen Anzeigebetriebsarten. Expired - Fee Related DE3688655T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US70680385A 1985-02-28 1985-02-28

Publications (2)

Publication Number Publication Date
DE3688655D1 DE3688655D1 (de) 1993-08-12
DE3688655T2 true DE3688655T2 (de) 1994-01-20

Family

ID=24839105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863688655 Expired - Fee Related DE3688655T2 (de) 1985-02-28 1986-01-02 Logische Schaltung zur Steuerung der Benutzung durch den Hauptprozessor und den Coprozessor von verschiedenen Anzeigebetriebsarten.

Country Status (5)

Country Link
EP (1) EP0196400B1 (de)
JP (1) JPS61198331A (de)
BR (1) BR8600666A (de)
CA (1) CA1245772A (de)
DE (1) DE3688655T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148516A (en) * 1988-08-30 1992-09-15 Hewlett-Packard Company Efficient computer terminal system utilizing a single slave processor
US5305436A (en) * 1990-04-02 1994-04-19 Hewlett-Packard Company Hose bus video interface in personal computers

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4117469A (en) * 1976-12-20 1978-09-26 Levine Michael R Computer assisted display processor having memory sharing by the computer and the processor
US4119953A (en) * 1977-01-24 1978-10-10 Mohawk Data Sciences Corp. Timesharing programmable display system
JPS55103634A (en) * 1979-02-01 1980-08-08 Toshiba Corp Display unit
FR2490372A1 (fr) * 1980-09-15 1982-03-19 Assigraph Sa Concentrateur multiplexeur intelligent pour postes de travail graphique
JPS57117044A (en) * 1981-01-02 1982-07-21 Gaabaa Shisutemusu Tekunorojii Data controller for interactive graphic system
JPS57126713A (en) * 1981-01-30 1982-08-06 Fuji Heavy Ind Ltd Mounting structure of car window glass and its method
JPS6116642U (ja) * 1984-06-30 1986-01-30 外伸 篠田 コンピユ−タ−・システム

Also Published As

Publication number Publication date
DE3688655D1 (de) 1993-08-12
EP0196400A2 (de) 1986-10-08
EP0196400B1 (de) 1993-07-07
JPH04298B2 (de) 1992-01-07
EP0196400A3 (en) 1990-09-05
BR8600666A (pt) 1986-11-04
CA1245772A (en) 1988-11-29
JPS61198331A (ja) 1986-09-02

Similar Documents

Publication Publication Date Title
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE69124946T2 (de) Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
DE69724463T2 (de) Verfahren und gerät um einen gleichzeitigen zugriff von mehreren agenten auf einem gemeinsamen speicher zu gewährleisten
DE60026539T2 (de) Ein-/ausgabeadressübersetzung in einer brücke in unmittelbarer nähe eines lokalen ein-/ausgabebuses
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE69630126T2 (de) Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
DE68917771T2 (de) Virtueller Anzeigeadapter.
DE69031231T2 (de) Synchronisierung und Verarbeitung von Speicherzugriffsoperationen
DE69030861T2 (de) Bus-Master-Steuerprotokoll
DE3689042T2 (de) Gerät zur Pufferung von Schreibanforderungen.
DE69534616T2 (de) System und Verfahren zum Verarbeiten von E/A-Anfragen über einen Schnittstellenbus zu einer Speicherplattenanordnung
DE3587622T2 (de) Emulationseinrichtung in einem Datenverarbeitungssystem.
DE69117112T2 (de) Verfahren und Vorrichtung zur Bildwiedergabe
DE69722117T2 (de) Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE102004042170B4 (de) Nachrichtenbasierte Interrupttabelle
DE3855289T2 (de) Maus-Zeiger mit umschaltbarem Emulations-Betriebsmodus
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE69027806T2 (de) Multifunktionskoppler zwischen einer zentralen Verarbeitungseinheit eines Rechners und verschiedenen Peripheriegeräten dieses Rechners
DE3885780T2 (de) Adressierung in einer Computer-Anordnung.
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
DE69107602T2 (de) Verfahren und Vorrichtung zum direkten Schreiben in einem Rasterpufferspeicher eines Rechners mit einem Fenstersystem, das den Bildschirm steuert.
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung

Legal Events

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