DE3852695T2 - Multiprozessorsystem mit mehreren Speichern. - Google Patents

Multiprozessorsystem mit mehreren Speichern.

Info

Publication number
DE3852695T2
DE3852695T2 DE3852695T DE3852695T DE3852695T2 DE 3852695 T2 DE3852695 T2 DE 3852695T2 DE 3852695 T DE3852695 T DE 3852695T DE 3852695 T DE3852695 T DE 3852695T DE 3852695 T2 DE3852695 T2 DE 3852695T2
Authority
DE
Germany
Prior art keywords
memory
coprocessor
video
address
processor
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
DE3852695T
Other languages
English (en)
Other versions
DE3852695D1 (de
Inventor
Richard Gregory Fogg
John William 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 DE3852695D1 publication Critical patent/DE3852695D1/de
Application granted granted Critical
Publication of DE3852695T2 publication Critical patent/DE3852695T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Digital Computer Display Output (AREA)
  • Image Input (AREA)

Description

  • Die Erfindung bezieht sich auf ein Datenverarbeitungssystem, und insbesondere auf ein Mehrfachspeichersystem in einer Datenverarbeitungskonfiguration, die mehrere Verarbeitungseinheiten einschließt.
  • Das traditionelle Datenverarbeitungssystem enthält eine einzige Zentraleinheit mit einem Speicher, der einen adressierbaren Speicher für das Speichern von Informationen aufweist, die Instruktionen, Daten und andere Speicheradressen einschließen. Bei dieser Konfiguration sorgt eine Speichersteuereinheit für Zugriff auf die Speicherstellen für die Zentraleinheit. Die Zentraleinheit greift auf die Speicherstellen über die Speichersteuereinheit zu, um innerhalb des Speichers Informationen zu lesen und zu schreiben.
  • Eine Multiprozessor-Konfiguration schließt auch einen Speicher ein und eine Speichersteuereinheit. Da jedoch die mehrfach vorhandenen Verarbeitungseinheiten alle Zugriff auf die Speicherstellen fordern, wird die Funktion der Speichersteuereinheit komplexer. In einigen Multiprozessor- Konfigurationen ist jedem Prozessor ein separater und unabhängiger Speicher zugeordnet, der diesem einzigen Prozessor ausschließlich zugeordnet ist. Jedoch werden in den fortschrittlicheren Multiprozessor-Konfigurationen Speicherstellen von mehreren Prozessoren gemeinsam benutzt.
  • Der IBM RT Personal Computer ist ein Datenverarbeitungssystem mit einer Datenstation, das einen einzigen Prozessor besitzt. Auf diesem Prozessor läuft kein Objektcode, der für ältere Prozessoren, wie z.B. den IBM PC AT assembliert oder kompiliert wurde. Jedoch stellt die RT PC-Datenstation eine Coprozessorumgebung bereit, die den Prozessor des IBM PC AT einschließt, um vorhandenen Code für den IBM PC AT oder andere, auf dem Intel 80286-Mikroprozessor basierende Geräte laufen zu lassen. Der AT-Coprozessor ist mit einem Eingabe-/Ausgabe (E/A)- Kanal konfiguriert, um mit dem RT-Prozessor zu kommunizieren. Diese Anordnung erfordert eine spezielle Speicherumgebung, die in der Veröffentlichung IBM RT Personal Computer Technology, Form-Nummer SA 23-1057 veröffentlicht ist, die zwei Artikel enthält, die den AT-Coprozessor ansprechen. Der erste trägt den Titel "Use of a coprocessor for emulating the PC AT" von John W. Irwin, und der zweite lautet "Coprocessor Software Support" von Rajan Krishnamurty und Terry Mothersole.
  • Ein Problem, auf das man bei solch einer Multiprozessorumgebung stieß, besteht in dem Aktualisieren eines Speichers, z.B. eines Video-Puffers, der beiden Prozessoren gemeinsarn ist.
  • Der Technologiebereich des Standes der Technik schließt das US Patent 4 392 200 ein, das den Titel trägt "Cached MultiProcessor System with Pipeline Timing", das ein Multiverarbeitungssystem beschreibt, das eine gemeinsame Steuereinheit benutzt, die einen Cache-Speicher zum Durchschreiben enthält. Die Speicherverwaltungsschaltung und der Cache werden in abwechselnder Folge durch den Prozessor benutzt.
  • US Patent 4 209 839 mit dem Titel " Shared Synchronous Memory MultiProcessing Arrangements" offenbart ein Multiverarbeitungssystem, das einen gemeinsam benutzten Speicher zwischen dem Prozessor besitzt, der die Speicherschnittstellen synchronisiert. Dies erlaubt es den Prozessoren, einen Speicher, der anderen Prozessoren zugeordnet ist, gemeinsam zu benutzen.
  • Das IBM Technical Disclosure Bulletin mit dem Titel "Read-Only Bypass of Cache", volume 25, number 3B, August 1982, offenbart einen Cache mit einem Hintergrund und einem Speichergerät. Die Speichersteuereinheit leitet ein benutzendes Gerät entweder zu dem Cache oder zu dem Hintergrundspeicher, während jegliches Schreiben ausgeschaltet wird, bis der Hintergrund durch das Benutzergerät gespeichert worden ist.
  • Keines dieser Systeme nach dem Stand der Technik löst voll das Problem des Aufrechterhaltens aktualisierter Daten von zwei oder mehr Prozessoren, ohne wesentlichen Verlust an Verarbeitungszeit. Auf dieses Problem ist die vorliegende Erfindung gerichtet.
  • Gemäß der Erfindung wird ein Multiprozessor-Datenverarbeitungssystem bereitgestellt, das einschließt einen ersten Prozessor und einen zweiten Prozessor, einen ersten Speicher, auf den von jedem Prozessor unabhängig zugegriffen werden kann, und einen zweiten Speicher, und dadurch gekennzeichnet ist, daß der zweite Prozessor in der Lage ist, gleichzeitig sowohl auf den ersten als auch den zweiten Speicher für Schreiboperationen zuzugreifen, wenn der erste Prozesssor auf keinen der Speicher zugreift, um so eine Kopie des in den ersten Speicher eingeschriebenen Datensatzes in dem zweiten Speicher aufrechtzuerhalten, und in der Lage ist, auf den zweiten Speicher zuzugreifen, wenn der erste Prozessor auf den ersten Speicher zugreift und so damit fortfährt, in dem zweiten Speicher eine Kopie des Datensatzes aufrechtzuerhalten, und dadurch, daß der erste Prozessor in der Lage ist, auf den zweiten Speicher für Leseoperationen zuzugreifen, um die Kopie der Daten aus dem zweiten Speicher in den ersten Speicher zu übertragen, bevor dem zweiten Prozessor der Zugriff auf den ersten Speicher bewilligt wird.
  • Ein Ausführungsbeispiel der Erfindung wird jetzt als Beispiel beschrieben unter Bezugnahme auf die zugehörigen Zeichnungen, in denen:
  • Figur 1 ein Systemblockdiagramm eines Multiverarbeitungs systems ist,
  • Figur 2 ein symbolisches Diagramm der Speichermap ist, wie sie von einem Coprozessor gesehen wird,
  • Figur 3 ein symbolisches Diagramm der Speichermap ist, wie sie von dem Hauptprozessor und anderen Geräten gesehen wird, die mit dem Informationsbus verbunden sind,
  • Figur 4 ein Blockdiagramm der Schaltung des Coprozessors, des Zugriffs auf die Video-Warteschlange und der Schreibsteuerung ist,
  • Figur 5 ein Flußdiagramm ist, das die Funktion der logischen Schaltung zur Steuerung der Warteschlange darstellt,
  • Figur 6 ein Zeitdiagramm ist, das die doppelte Schreibfunktion durch die Steuerlogik der Warteschlange darstellt,
  • Figur 7 ein Blockdiagramm des Coprozessors, der Zugriffsschaltung für den Video-Puffer und der Steuerschaltung für das Durchschreiben ist,
  • Figur 8 ein schematisches Blockdiagramm der Ausfilterlogik für Speicheradressen des Coprozessors ist,
  • Figur 9 ein Blockdiagramm der Schaltung des Video- Steuerregisters ist,
  • Figur 10 ein schematisches Blockdiagramm der Schaltung des Steuerregisters für das binäre Eingabe-/Ausgabesystem ist und
  • Figur 11 ein Blockdiagramm der Schaltung zur Speicherverschiebung ist.
  • Diese Erfindung bezieht sich auf ein Speichersystem für eine Multiverarbeitungs-Konfiguration. Das typische Multiprozessorsystem schließt verschiedene unabhängige Prozessoren ein, die miteinander über einen Informationsbus verbunden sind. Gewöhnlich ist der Informationsbus auch mit einigen Eingabe-/ Ausgabe (E-/A)-Geräten und anderen Speichergeräten verbunden, wie z.B. einem Massenspeicher.Figur 1 stellt ein solches Multiverarbeitungssystem dar. Insbesondere stellt Figur 1 die Architektur für die vorliegende Erfindung dar, wie sie verkörpert ist in einer RT PC-Datenstation, die von der International Business Machines Corporation hergestellt wird. Der RT PC schließt einen Hauptprozessor 12 ein, der mit einer Hauptspeichersteuerung 14, einem Hauptspeicher 16 und einem Informations-E-/A-Bus 10 verbunden ist. Zusätzlich schließt in der Konfiguration, die in Figur 1 dargestellt ist, das System einen Coprozessor-Modul 20 ein, der aus einem Coprozessor 22 und einem Speicher 24 besteht. In der Konfiguration nach Figur 1 ist der Coprozessor-Modul mit dem E-/A-Bus 10 über die Leitung 25 verbunden. Der Coprozessor 22 selbst ist mit dem E-/A-Bus 10 über die Leitung 23 verbunden, was einen unabhängigen Zugriff auf den Coprozessor 22 anzeigt. Weiter schließt das Multiprozessorsystem in Figur 10 einen E-/A-Adapter 34 ein, der mit dem E-/A-Bus 10 verbunden ist. Der E-/A-Adapter 34 schließt einen E-/A-Erweiterungsspeicher 36 ein, der Erweiterungen für das Betriebssystem des Coprozessor-Moduls 20 in einem Festwertspeicher (ROS) 36 einschließt. Ein Video-Adapter 18 ist auch mit dem E-/A-Bus 10 verbunden und ist weiter mit einer Anzeige 17 verbunden. Die Information für die Anzeige 17 ist in einem Speicher 19 enthalten, der als Pufferspeicher arbeitet. Der Video-Adapter 18 kann auch einen E-/A-Erweiterungsspeicher 36 enthalten. Jede verschiedene Adapterart, die einen E-/A- Erweiterungs-Festwertspeicher besitzt, spricht auf einen verschiedenen Bereich niedriger Adressen an, um einen Konflikt zu vermeiden.
  • Im Betrieb würde der Hauptprozessor 12 Anzeigeinformationen über den Video-Adapter 18 an den Video-Puffer RAM 19 für die Anzeige 17 liefern. Wenn jedoch der Coprozessor-Modul einbezogen ist, ist für den Coprozessor 22 die Möglichkeit vorhanden, seine eigene Anzeige über den Video-Adapter 18 zu liefern. Um die Zusammenarbeit zwischen dem Hauptprozessor 12 und dem Coprozessor 22 in solch einer Weise zu erleichtern, daß das Ausmaß an Verkehr auf dem E-/A-Bus 10 minimiert wird, ist ein besonderes Merkmal vorgesehen, bei dem der Coprozessor 22 seine Video-Anzeigedaten in dem Coprozessor-Modul RAM 24 als einem Schattenbereich 26 in dem Video-Puffer speichern darf. Wenn daher der Coprozessor 22 den Video-Adapter 18 steuert, behält der Schattenbereich 26 des Video-Puffers einen Datensatz bei, der in die Anzeige 17 geschrieben wurde. Wenn der Hauptprozessor 12 den Video-Adapter 18 steuert, wird der Coprozessor 22 am Schreiben in den Puffer 19 gehindert. Der Schattenbereich 26 des Video-Puffers fährt fort, einen Datensatz des Video-Ausgangs des Coprozessors beizubehalten. Wenn die Steuerung des Video- Adapters 18 wieder von dem Hauptprozessor 12 an den Coprozessor 22 übergeht, stoppt der Hauptprozessor 12 den Coprozessor 22 augenblicklich und kopiert den Schattenbereich 26 des Video- Puffers in den Video-Adapter 18, bevor der Coprozessor 22 erneut Zugriff auf den Video-Puffer 19 erhält. Wenn die Steuerung des Video-Adapters 18 vom Coprozessor 22 zum Hauptprozessor 12 übergeht, ist kein Kopiervorgang erforderlich, da der Schattenpuffer 26 des Video-Adapters einen richtigen Datensatz der Video-Anzeige enthält.
  • Die Video-Adapter Karte kann von einer Art sein, die durch die Software im Coprozessor 22 nicht unterstützt wird. Zum Beispiel kann der Video-Adapter 18 eine an allen Punkten adressierbare (APA) Anzeige sein, während der Code, der auf dem Coprozessor 22 läuft, nur eine Zeichenanzeige unterstützt. In diesem Fall wird der Coprozessor 22 am Schreiben in den Video-Puffer RAM 19 gehindert, und der Hauptprozessor 12 übersetzt den Inhalt des Video-Schattenpuffers 26 und plaziert das übersetzte Bild in den Video-Adapter RAM 19 in einer Form, die für die APA-Anzeige geeignet ist.
  • Eine Unterbrechung für den Hauptprozessor ist jedesmal vorgesehen, wenn der Coprozessor in den Video-Schattenpuffer 26 schreibt. Wenn der Hauptprozessor 12 versucht, den gesamten Anzeigepuffer jedesmal, wenn er geändert wird, zu übersetzen, würde die Arbeitsbelastung des Hauptprozessors 12 und des E-/A-Busses 10 untragbar sein. Aus diesem Grund liefert ein Video-Warteschlangenbereich 30 und die zugehörige Schaltung eine Liste geänderter Zeichen in den Schattenbereich 26 des Video- Puffers. Es sind diese Änderungen, die dann benutzt werden, um den Video-Puffer RAM 19 zu aktualisieren.
  • Zusätzlich enthält der Coprozessormodul 20 RAM 24 einen E-/A-ROS (read only storage=Festwertspeicher)-Schattenbereich 28. Der Speicherbereich 28 dient der Speicherung des BIOS aus der E-/A- Erweiterung ROS 36. Das BIOS wird durch den Hauptprozessor 12 über den E-/A-Bus 10 geladen, wenn der Coprozessormodul 20 initialisiert wird. Dieser BIOS-Bereich 28 ist zusätzlich zu dem normalen PC BIOS-Bereich 32 vorhanden, der auch vorgesehen ist. Bei dem bevorzugten Ausführungsbeispiel ist der Coprozessor 22 ein INTEL 80286. Gemäß der Architektur des 80286 ist die Stelle des PC BIOS-Bereichs 32 innerhalb des Speichers 24 vorgegeben.
  • Die Speichermap für den Coprozessormodul 20 ist in Figur 2 dargestellt. Es ist wichtig, zu verstehen, daß diese Speichermap diejenige ist, die von dem Coprozessor 22 gesehen wird und nicht vom Hauptprozessor 12 oder irgendwelchen anderen Geräten, die mit dem E-/A-Bus 10 verbunden sind. Die Adressen dieser Speichermap variieren von 000000(HEX) bis FFFFFF(HEX). Die Speichermap 40 ist in vier Abschnitte unterteilt gemäß den Adressen, die an der linken Seite der Speichermap selbst dargestellt sind. Speicherstellen von 000000(HEX) bis 09FFFF(HEX) enthalten die 640 K Bytes des aktiven Speichers des Coprozessors. Die Speicherstellen im Bereich 26 (von den Adressen 0A0000(HEX) bis 0BFFFF(HEX)) enthalten den Schattenbereich 26 des Video-Puffers nach Figur 1. Der Speicherbereich zwischen den Adressen 0C0000(Hex) und 0DFFFF(HEX) ist in vier getrennt gesteuerte Unterbereiche unterteilt. Jeder Unterbereich enthält entweder den BIOS- Schattenbereich 28 des 128K E-/A-ROS (Read Only Storage) innerhalb des RAM 24 oder den 128K E-/A-ROS 36 auf dem E-/A- Adapter 34, der von dem E-/A-Bus 10 zugreifbar ist. Auf welchen ROS (28 oder 36) zugegriffen wird, wird bestimmt durch das Setzen von Steuerbits durch den Hauptprozessor 12 auf dem Coprozessormodul 20, was genauer beschrieben wird. Der Speicherbereich 28 ist das BIOS, das durch den Hauptprozessor 12 (Figur 1) von dem E-/A-Adapter 34 (Figur 1) geladen wird. Von den Adressen 0E0000(HEX) bis 0EFFFF(HEX) werden 64 Kilobytes des BASIC-Interpretierers gespeichert mit Ausnahme eines 8K Kilobytes-Bereiches 42, der für die Video-Warteschlange vorgesehen ist. Die nächsten 64 Kilobytes sind dem PC BIOS ausschließlich zugeordnet. Die Speicherstellen von der Adresse 100000(HEX) bis FDFFFF(HEX) sind verfügbar für das Adressieren des E-/A-Busses 10 oder wahlweise des zusätzlichen Speichers des Coprozessors. Von der Speicherstelle FE0000(HEX) bis FEFFFF(HEX) ist ein 64 Kilobytes-Bild des BASIC-Interpretierers angeordnet, wie das früher zusammen mit einem 8K Teil 44 für die Video- Warteschlange diskutiert wurde Von der Speicherstelle FF0000(HEX) bis FFFFFF(HEX) ist ein Bild des 64 Kilobytes-BIOS gespeichert, das früher diskutiert wurde.
  • Figur 3 stellt die Speichermap dar, wie sie von dem Hauptprozessor12 und irgendwelchen anderen Geräten gesehen wird, die auf den E-/A-Bus 10 zugreifen. Die Speichermap 50 erscheint ähnlich zu der Speichermap 40 nach Figur 2. Jedoch ist der Bereich 52 der Video-Pufferspeicher RAM 19 des Video-Adapters 18. Die entsprechende Speicherstelle auf dem Coprozessormodul 20 ist der Schattenbereich 26 (Figur 2) des Video-Puffers. In ähnlicher Weise ist der Bereich der E-/A-Karte ROS BIOS (von den Adressen 0C0000(HEX) bis zur Adresse 0DFFFF(HEX)) die E-/A-Erweiterung BIOS ROS 36 auf dem E-/A-Adapter 34 und dem Video-Adapter 18. Von 0EFFFF(HEX) bis 0F0000(HEX) ist der Speicherbereich für BASIC mit Ausnahme des Bereichs 42, der der Speicherbereich für die Video-Warteschlange ist und nur für Leseoperationen zugreifbar ist. Von 0F0000(HEX) bis 0FFFFF(HEX) ist das BIOS gespeichert und auch nur für Leseoperationen zugreifbar Der Bereich von der Speicheradresse 100000(HEX) bis FFFFFF(HEX) ist ein Lese-/Schreibbereich für jedes Gerät, wie z.B. den Prozessor 12, das auf den Speicher vom E-/A-Bus 10 zugreift.
  • Basierend auf dem Inhalt des Verschiebungsregisters 80 stellt ein voller Adressenbereich 45 von 1 Megabyte den Schreib-/Lesezugriff für den RAM 20 des Coprozessors bereit. Der für das Verschiebungsregister 80 ausgewählte Wert benutzt einen Schutzmechanismus auf dem E-/A-Bus 10, um Zugriff auf den Raum 45 durch alle außer den Hauptprozessor 12 zu verhindern.
  • Wie vorher diskutiert wurde, ist es ein Ziel der vorliegenden Erfindung, für eine Fähigkeit zu sorgen, die es sowohl dem Hauptprozessor 12 (Figur 1) als auch dem Coprozessor 22 (Figur 1) erlaubt, auf den Video-Adapter 18 zuzugreifen und Video-Daten für den Video-Puffer RAM 19 für die Anzeige auf der Video- Anzeige 17 bereitzustellen. Da der Coprozessor 22 Video-Daten dem Video-Puffer RAM 19 nicht liefern kann, wenn der Hauptprozessor 12 solche Video-Daten liefert, werden die Video- Daten des Coprozessors 22 zu dem RAM 24 in dem Coprozessormodul 20 geliefert, wie das vorher diskutiert wurde. Während es eine Lösung sein kann, einen zweiten Puffer in dem Video-Adapter 18 vorzusehen, würde seine Wartung den Datenfluß auf dem E-/A-Bus 10 erhöhen, wenn sowohl der Hauptprozessor 12 als auch der Coprozessor 22 Video-Daten liefern würden. Durch Vorsehen des Puffers auf dem Coprozessormodul 20 werden die Video-Daten des Coprozessors 20 aufgezeichnet, ohne daß sie auf den E-/A-Bus 10 plaziert werden, wenn der Hauptprozessor 12 Daten zu dem Video- Puffer RAM 19 liefert.
  • Wenn die Video-Daten des Coprozessors 22 auf der Anzeige 17 anzuzeigen sind, muß der Hauptprozessor 12 auf den Video- Pufferbereich im RAM 24 des Coprozessormoduls 20 zugreifen, um den Video RAM 19 zu aktualisieren. Es sollte für die Fachleute offensichtlich sein, daß die Adresse des Video-Puffers RAM 19 auf dem E-/A-Bus 10 verschieden sein muß von dem Video- Pufferbereich 26 im RAM 24 des Coprozessormoduls 20 für den Hauptprozessor 12, um die Daten des Coprozessors 22 zu übertragen. Ebenso sollte es für die Fachleute klar sein, daß es für den Coprozessor 22 vorteilhaft ist, sowohl den Video-Puffer RAM 19 als auch den Video-Pufferspeicherbereich 26 im RAM 24 gleichzeitig zu adressieren, d.h., daß die beiden RAM Bereiche die gleiche Adresse haben würden. Ein Ziel der vorliegenden Erfindung ist es, für eine Lösung dieses Dilemmas durch Aktivieren des Coprozessors 22, zu sorgen, um in eine Adresse des Video-Puffers zu schreiben und daher gleichzeitig sowohl in den Video-Pufferbereich 26 als auch in den Video-Puffer RAM 19 zu schreiben, während auch für die Fähigkeit des Hauptprozessors 12 gesorgt wird, unabhängig auf den Video-Puffer RAM 19 zuzugreifen und getrennt und unabhängig auf den Video- Pufferbereich 26. Dies wird dadurch erreicht, daß man den Coprozessor 22 auf den RAM 24 gemäß einer Adreßmap (Figur 2) zugreifen läßt, während man es dem Hauptprozessor 12 gestattet, auf das RAM 24 unter Benutzung einer anderen Adreßmap (Figur 3) zuzugreifen.
  • Es ist auch erwünscht, für einen zweckmäßigen Weg für den Hauptprozessor 12 zu sorgen, um eine PC-kompatible Anzeige auf einer Anzeige einer neuen Generation zu emulieren, die an einer anderen Adresse angeordnet ist oder ein anderes Protokoll erfordert, das durch den auf dem Coprozessor laufenden Code nicht erkannt wird. In diesem Fall liest der Hauptprozessor 12 den Schattenbereich 26 des Video-Puffers und steuert den Video- Adapter 18 durch Schreiben einer geeigneten übersetzten Version des Inhaltes des Schattenbereiches 26 des Video-Puffers in den Video-Puffer RAM 19. Nach der anfänglichen Übersetzung sind daher die einzigen Änderungen, die an den früheren Video-Daten des Coprozessors 22 gemacht werden müssen, die in dem Video- Puffer RAM 19 gespeichert sind, die Aktualisierungen, die an den Video-Daten dieses Coprozessors 22 seit der letzten Übersetzung vorgenommen wurden. Die vorliegende Erfindung sorgt für solch ein zweckmäßiges Aktualisieren durch Vorsehen einer Video- Warteschlange 30 im RAM 24. Diese Video-Warteschlange 30 wird automatisch mit den Adressen all der Video-Daten aktualisiert, die benutzt wurden, um den Video-Puffer 26 durch den Coprozessor 22 zu aktualisieren. Daher werden nur die aktualisierten Daten über den E-/A-Bus 10 geladen und durch den Hauptprozessor 12 übersetzt, um das Video-Bild des Coprozessors 22 in dem Video- Puffer RAM 19 zu aktualisieren.
  • Figur 4 zeigt den Zugriff auf den Video-Puffer 26 durch sowohl den E-/A-Bus 10 als auch den Coprozessor 22. Der Hauptprozessor 12 greift auf den Video-Puffer 26 über den E-/A-Bus 10 durch einen Adreßdecodierer 78 zu. Der Adreßdecodierer 78 bestimmt in Kombination mit dem Verschiebungsregister 80, ob die Adresse auf dem E-/A-Bus 10 den Adreßraum 30 oder 26 adressieren soll. Das Verschiebungsregister 80 speichert eine Adressenverschiebung, die benutzt wird, um zu bestimmen, wo der Adreßraum 45 in der Adreßmap für den Hauptprozessor 12 (siehe Figur 3) residiert. Wenn diese Adressen empfangen werden, wird für die gesamte Adressenmap des Coprozessors einschließlich des Video-Puffers 26 und der Video-Warteschlange 30 für einen verschobenen Zugriff auf den Bus gesorgt. Daher kann der Hauptprozesssor 12 dann Daten der Video-Warteschlange 30 und des Video-Puffers 26 lesen und schreiben.
  • Wie vorher diskutiert wurde, ist eine Schaltung vorgesehen, um es dem Hauptprozessor 12 zu gestatten, in dem Video-Puffer 26 nur aktualisierte Video-Daten zu lesen. Dieses Merkmal besteht aus einem Verfahren zum automatischen Erzeugen einer Schreibinformation für die Video-Warteschlange 30, wenn der Coprozessor 22 Daten in den Video-Puffer 26 schreibt. Dieser Prozeß wird durch das Video-Steuerregister 6- gesteuert, das Befehlssteuerdaten von dem Hauptprozessor 12 über den E-/A-Bus 10 empfängt. Insbesondere wird das Video-Steuerregister 64 gesetzt, um zu bestimmen, über welche Adreßbereiche die Schreibadresse in die Warteschlange 30 eingegeben wird. Das Ausgangssignal des Warteschlangen-Steuerregisters 64 wird an die Video-Steuerlogik 62 geliefert. Die Steuerlogik 62 der Warteschlange steuert alle Speicherzugriffe sowohl intern als auch extern, während die Adreßinformation der Warteschlange und die Daten in dem Coprozessormodul 20 RAM 24 gemultiplext werden. Die Steuerlogik 62 der Warteschlange aktualisiert auch den Adreßgenerator 70 der Warteschlange.
  • Wenn der Coprozessor 22 Daten an den Video-Puffer 26 liefert und die Video-Daten nicht über den E-/A-Bus 10 geliefert werden, zeigt das Video-Steuerregister 64 der Steuerlogik 62 der Warteschlange an, daß die Video-Warteschlange 30 die Adressen aller Änderungen in dem Video-Puffer 26 speichern soll. Wenn daher der Coprozessor 22 eine Aktualisierung an den Video-Puffer 26 liefert, sorgt die Steuerlogik 62 der Warteschlange für die Speicherung dieser Daten in dem Video-Puffer 26, während gleichzeitig in dem Schreibzyklus die Adresse dieser Änderung des Video-Puffers 26 an die Video-Warteschlange 30 geliefert wird. Wenn daher die Aktualisierungen des Video-Puffers 26 über den E-/A-Bus 10 an den Video-Adapter RAM 19 zu liefern sind, aktualisiert der Hauptprozessor 12 lediglich die Daten, die in den Adressen enthalten sind, die in der Video-Warteschlange 30 gespeichert sind.
  • Wenn in Fig. 4 der Coprozessor eine Aktualisierung an den Videopuffer 26 liefert, wird die tatsächliche Adresse der Aktualisierung an den Multiplexer 74 geliefert, der durch die Steuerlogik 62 der Warteschlange gesteuert wird, um die aktualisierten Video-Daten über den Multiplexer 72 in den Bereich 26 des Video-Puffers RAM einzuschreiben. Zusätzlich Verzögert die Steuerlogik 62 der Warteschlange die Beendigung dieses Speicherzugriffs, um zu erlauben, daß die Adresse der Änderung in das Halteregister 66 gesetzt wird. Dann aktualisiert, nachdem die Daten im Video-Puffer 26 aktualisiert worden sind, die Steuerlogik 62 der Warteschlange die Video- Warteschlange 30 mit der Adresse der Änderung. Die Adresse der Änderung wird über den Multiplexer 72 zu der Video-Warteschlange 30 geliefert. Die Adresse der Warteschlange, an der diese Änderungsadresse gespeichert ist, wird über den Multiplexer 74 durchgeschaltet. Die Warteschlangenadresse wird von dem Warteschlangen-Generator 68 empfangen. Der Warteschlangenerator 68 ist mit einem Adreßzähler 70 der Warteschlange verbunden, der lediglich die Warteschlangenadresse jedesmal erhöht, wenn ein Eintrag in die Video-Warteschlange 30 gemacht wird. Für den RAM 24 erscheint der Vorgang als zwei Datenschreibvorgänge. Dem Coprozessor 22 erscheint der Vorgang als ein einzelener Schreibvorgang, bei dem zwei Dateneingaben gleichzeitig gemacht werden.
  • Figur 5 ist eine Darstellung des Arbeitsflusses in der Steuerlogik 62 der Warteschlange. Die Logik 62 bestimmt aus dem Adreßdecoder 60, ob der Coprozessor 22 versucht, Daten in den Video-Pufferbereich im Schritt 100 zu schreiben. Wenn das der Fall ist, wird im Schritt 102 bestimmt, ob oder ob nicht die Warteschlangen-Selbsthalteschaltung in dem Video-Steuerregister 64 gesetzt ist, um Daten für diesen Adreßbereich zu speichern. Im Schritt 104 schickt die Logik 62 ein Signal 206 (Figur 6) NICHT BEREIT, um den Speicherzugriffszyklus des Coprozessors zu erweitern. Im Schritt 106 werden die niederstelligen 16 Bits der Adresse des Coprozessors 22 in dem Adreßhalteregister 66 gespeichert. In Schritt 108 wird die Adresse für die Warteschlange 30 geschaffen durch Verketten einer festen, höherstelligen Adresse mit dem Inhalt des Warteschlangenzählers 70 über den Warteschlangen-Adreßgenerator 68. Zu diesem Zeitpunkt empfängt der Video-Puffer 26, gleichzeitig mit der Funktion der Steuerlogik 62 der Warteschlange, die Adresse der Änderung von dem Multiplexer 72. Nach einer zweckmäßigen Verzögerung, um es dem RAM 24 des Coprozessors zu gestatten, richtig eingeschrieben zu werden, wird der Schreibimpuls im Schritt 110 abeschaltet, um die Adreßänderung zu ermöglichen. An dem Ende dieses ursprünglichen Schreibzyklus schreibt die Steuerlogik 62 der Video-Warteschlange über den Multiplexer 74 im Schritt 112 die geänderte Adresse in die Video-Warteschlange 30 durch Ersetzen der Adresse des Coprozessors mit der Warteschlangen-Adresse des Warteschlangengenerators 68. Im Schritt 114 wird dann der Inhalt 66 des Adreßhalteregisters, das die Adresse der Änderung enthält, als Daten an den Multiplexer 72 zu der Video-Warteschlange 30 geliefert. Die Steuerlogik 62 der Warteschlange aktiviert dann im Schritt 116 wieder den Schreibimpuls für den Speicher 116. Im Schritt 118 wird das Signal NICHT BEREIT entfernt, was es dem Coprozessor 22 erlaubt, fortzufahren. Am Ende dieses Schreibzyklus stellt im Schritt 120 die Steuerlogik 62 der Warteschlange die Multiplexer 72 und 74 rück. Im Schritt 122 wird der Adreßgenerator 68 der Warteschlange erhöht, um auf die nächste Adresse der Warteschlange zu zeigen.
  • Figur 6 stellt das Zeitdiagramm für die Funktion der Steuerlogik 62 der Warteschlange dar. Der Coprozessor liefert anfangs eine Adresse, um die Video-Daten in dem Video-Puffer 26 zu ändern, was als ein Signal 200 dargestellt ist. Der Adreßdecodierer liefert ein Signal 202, das der Steuerlogik 62 der Warteschlange anzeigt, daß die Adresse des Coprozessors für den Video-Puffer 26 bestimmt ist. Der Coprozessor 22 liefert ein Schreibimpulssignal 204. Die Steuerlogik 62 der Warteschlange liefert ein Signal 206 NICHT BEREIT an den Coprozessor 22, was anzeigt, daß der Schreibzyklus zu erweitern ist. Die Daten des Coprozessors 22 werden dann durch das Signal 212 in den RAM 24 geladen. Die Steuerlogik 62 der Warteschlange liefert einen Schreibsperrimpuls 210 an die Multiplexer 72 und 74, um die Adresse von dem Speicher RAM 24 zu entfernen, und zu dem Adreßhalteregister 66, um die Adresse durchzuschalten. Die Steuerlogik 62 der Warteschlange liefert dann das Signal 208 Adresse Der Warteschlange Durchschalten. Der Schreibsperrimpuls 210 wird dann entfernt, und der Schreibimpuls 214 steigt an, um die Adresse der Änderung über den Multiplexer 74 in der Video- Warteschlange 30 an der vom Multiplexer 72 erhaltenen Warteschlangenadresse zu schreiben. Die Steuerlogik 62 der Warteschlange liefert dann das Signal 216 Warteschlangenzähler Weiterschalten, um den Warteschlangen-Adreßzähler 70 zu erhöhen.
  • In Figur 7 ist die Funktion des Coprozessors 20 dargestellt, wenn der Coprozessor 22 Video-Daten sowohl dem Video-Puffer 26 als auch dem Video-Adapter 18 liefert. Bei dieser Konfiguration steuern das Video-Steuerregister 64 und der Adreßdecodierer 60 die Bus-Steuerlogik 82, die Video-Daten über den E-/A-Bus 10 an den Video-Adapter 18 liefert. Wie vorher in Figur 4 erläutert, liefert der Coprozessor 22, wenn er Informationen an den Video- Adapter 18 liefert, gleichzeitig Informationen an den Video- Puffer 26. Dies wird erreicht durch Benutzen der Video-Adresse und der Video-Daten des Coprozessors 22 und durch Liefern sowohl zu dem internen RAM 24, zu dem Video-Puffer 26 als auch über die Steuerlogik 82 des Busses auf den E-/A-Bus 10 zu dem Video- Adapter 18. Da die Adressen für sowohl den Video-Pufferr 26 als auch den Video-Adapter 18 für den Coprozessor 22 die gleichen sind, muß der Coprozessor 22 nicht 2 getrennte Schreiboperationen durchführen. Eine einzige Schreiboperation liefert die Daten sowohl dem Puffer 26 als auch dem Adapter 18. Die Bestimmung, ob Daten auf dem E-/A-Bus geschrieben werden oder nichtt, wird durch die Bits festgelegt die in dem Video- Steuerregister 64 gesetzt sind. Diese Bits werden durch den Hauptprozessor 12 gesetzt. In ähnlicher Weise kann der Hauptprozessor 12 über den Video-Puffer 26 auf Daten zugreifen, wie das früher beschrieben wurde, unter Benutzung einer Verschiebeadresse in dem Verschiebungsregister 80 und der Adresse über den E-/A-Bus 10, die durch den Adreßdecodierer 78 decodiert wird und an die Durchschaltlogik 76 für den Zugriff geliefert wird, um auf die Daten an der Verschiebeadresse in dem Video-Puffer 26 zuzugreifen.
  • Figur 8 ist eine Darstellung der Adressen-Durchschaltlogik des Coprozessor-Moduls 20. Der Zweck der Figur 8 ist es, darzustellen, wie sowohl der Coprozessor 22 als auch der Hauptprozessor 12 über den E-/A-Bus 10 auf den internen RAM 24 des Coprozessor-Moduls 20 zugreifen. Das Register 90 für den BIOS-Modus und die Verschiebung 80 sind durch den Hauptprozessor 12 über den E-/A-Bus 10 adressierbar. Wie das früher erklärt wurde, wird das BIOS-Register 90 benutzt, wenn der Hauptprozessor 12 spezielle Betriebssystemsoftware zu dem Bereich 32 von RAM 24 (siehe Figur 1) liefert. Wenn der Coprozessor 22 versucht, den internen RAM 24 zu adressieren, wird eine Adresse an den Adreßdecodierer 4 geliefert, der feststellt, daß der Coprozessor 22 versucht, auf den internen RAM 24 zuzugreifen. Die Decodierlogik 4 liefert dann Signale an die Speicherzugriffsschaltung 82, die angeben, daß Zugriff gefordert wird, und die Zugriff auf gesteuerte oder Festwert- Speicherbereiche identifiziert. Wenn der Zugriff des Coprozessors 22 nicht für den internen RAM 24 bestimmt ist, wird die Adresse über den dreier Zustände fähigen Treiber 2 an den E-/A-Bus 10 geliefert und der Bus 10 muß vor dem Zugriff freigegeben werden. Die Bus-Steuerlogik 82 würde dem Coprozessor Nicht Bereit signalisieren, bis der Bus 10 erhalten wird. In ähnlicher Weise wird, wenn der Hauptprozessor 12 versucht, den internen RAM 24 zu adressieren, die Adresse über den Empfänger 1 empfangen. Diese Adresse wird gleichzeitig an den Multiplexer 74, die Vergleichsschaltung 76 und den Adreßdecodierer 5 geliefert. Wenn die von der Vergleichsschaltung 76 empfangene Adresse ein Übereinstimmungs-Ausgangssignal an das ODER-Glied 6 liefert, dann versucht der Hauptprozessor 12, auf die verschobene Speichermap zuzugreifen, wie das früher erläutert wurde. Wenn die Adresse durch die Decodierlogik 5 decodiert wird und ein Signal dem ODER-Glied 6 zugeführt wird, versucht der Hauptprozessor 12, die unteren 640K oder die oberen 128K der Speichermap zu adressieren. In jedem Fall wird der Multiplexer 74 aktiviert, um für einen Zugriff des Externen Busses Auf Den Speicher 24 zu sorgen. Die Zeitsteuerung 82 für den Speicherzugriff empfängt auch ein Eingangssignal von der Steuerlogik 62 der Warteschlange, wie das vorher erläutert wurde. Steuerleitungen 8, die zwischen dem Coprozessor 22 und der Steuerschaltung 82 für den Speicherzugriff angeschlossen sind, liefern Steuer- und Taktsignale für den Coprozessor 22, der auf den internen RAM 24 zugreift und für den Coprozessor 22, der auf E-/A-Bus 10 zugreift. Das Ausgangssignal der Zeitgeberschaltung 82 für den Speicherzugriff wird an den Multiplexer 74 geliefert, der eine der verschiedenen Adressen multiplext, um auf die Speicherstelle in dem internen RAM 24 zuzugreifen. Der Adreßgenerator 68 der Warteschlange ist mit dem Multiplexer 74 verbunden, um die Adresse für das Schreiben der Video-Warteschlange zu liefern, wie das vorher unter der Steuerung der Steuerlogik 62 der Warteschlange erläutert wurde.
  • Figur 9 ist ein Diagramm des Video-Steuerregisters 64, das mit dem E-/A-Bus 10 verbunden ist. Das Video-Steuerregister wird durch den Hauptprozessor 12 über den E-/A-Bus 10 gesetzt. Das Setzen des Video-Steuerregisters 64 bestimmt, welche(r) Adreßbereich(e) von der Video-Warteschlange 30 in dem internen RAM 24 zu benutzen sind. Wenn daher eine Adresse vom Coprozessor 22 über den Adreßdecocdierer 60 empfangen wird, liefert der Adreßdecodierer 60 ein Signal auf den angegebenen Leitungen, das in der Zeitgeberschaltuung 82 für den Speicherzugriff mit dem Inhalt der Selbsthalteschaltungen 1A, 2A und 3A des Video- Steuerregisters 64 kombiniert wird, um zu bestimmen, ob (l) Coprozessordaten sowohl in den RAM 19 als auch in den RAM 24 zu schreiben sind, oder (2) die Daten nur in den RAM 24 zu schreiben sind. Wie das früher erklärt wurde, aktiviert das den Coprozessor 22, gleichzeitig in zwei getrennte Speicherbereiche unter der Steuerung des Hauptprozessors 12 zu schreiben, wenn der Coprozessor 22 die Steuerung der Anzeige 17 besitzt oder alternativ nur in den internen RAM 24 zu schreiben, um den Video-Puffer 26 zu aktualisieren, wenn der Hauptprozessor 12 die Steuerung der Anzeige 17 besitzt. Ein zweiter Satz von Selbsthalteschaltungen (1B, 2B, 3B) innerhalb des Video- Steuerregisters 64 bestimmt über die Steuerlogik 62 der Warteschlange, ob die Adresse des Video-Zugriffs in den Warteschlangenbereich 42 geschrieben werden sollte.
  • Figur 10 stellt das Register 90 für den BIOS-Modus dar, das mit dem E-/A-Bus 10 verbunden ist. Das Register 90 für den BIOS- Modus wird durch den Hauptprozessor 12 geladen. Der Adreßdecodierer 94 empfängt Adressen vom Coprozessor 22, um zu bestimmen, ob die Adressen sich in irgendwelchen von vier getrennten Adreßräumen befinden, wie dargestellt. Das Ausgangssignal des Adreßdecodierers 94 wird mit den Einstellungen des BIOS-Modusregisters 90 und der Logik 82 für den Speicherzugriff kombiniert, um zu bestimmen, ob dem Coprozessor 22 die BIOS-Daten von dem internen RAM 24 oder von dem E-/A-Adapter 34 (Figur 1) lesen soll. Wie vorher erortert, aktiviert dies den Prozessor, zu überwachen, wo der Coprozessor 22 auf das Betriebssystem zugreift. Es ist wichtig, zu verstehen, daß dieses Merkmal die tatsächliche Leistung der Funktion des Coprozessors 22 erhöht durch Zulassen, daß dem Hauptprozessor 12 den Coprozessor 22 dazu führt, sein BIOS in dem internen RAM 24 zu lesen. Dieser RAM 24 ist durch den Hauptprozessor 12 bei der anfänglichen Programmladephase des Coprozessors 22 vorgeladen worden. Es versteht sich, daß, wenn der Coprozessor 22 auf den E-/A-Adapter 18 oder 34 zugreift, um die BIOS-Daten zu lesen, der Zugriff ein 8 Bit-Zugriff ist, der einige Zugriffe auf den E-/A-Bus erfordert, um ein 32-Bitwort zu lesen. Auf der anderen Seite greift der Hauptprozessor 12 auf die E-/A-Adapter 18 oder 34 nur einmal während der anfänglichen Programmladezeit zu und überträgt 32 Bits zu einem Zeitpunkt zu dem internen RAM 24 des Coprozessor-Moduls 20. Wenn daher der Coprozessor 22 auf BIOS-Information zugreifen muß, ist er in der Lage, das in dem RAM 24 in einer Breite von 32 Bits zu tun, wobei der Zugriff schneller und ohne eine überschüssige Zahl an Datenübertragungen über den E-/A-Bus 10 bewirkt wird.
  • Figur 11 stellt das Verschieberegister 80 dar, das auch durch den Hauptprozessor 12 über den E-/A-Bus 10 geladen wird. Wie vorher erläutert, wird der Vergleicher 76 dazu benutzt, die Adresse des E-/A-Bus 10 mit der in dem Verschieberegister gespeicherten Adresse zu vergleichen, um zu bestimmen, ob der Hauptprozessor 12 auf die gesamten ein Megabyte des internen RAM 24 zugreifen soll. Der Decodierer 95 prüft die Adresse des Hauptprozessors, um zu bestimmen, ob er nur auf die ersten 640K und die letzten 128K des internen RAM 24 zugreifen soll.

Claims (5)

1. Multiprozessor-Datenverarbeitungssystem, das einschließt einen ersten Prozessor (12) und einen zweiten Prozessor (22), einen ersten Speicher (18), auf den von jedem Prozessor unabhängig zugegriffen werden kann, und einen zweiten Speicher (24) dadurch gekennzeichnet, daß der zweite Prozessor (22) in der Lage ist, gleichzeitig sowohl auf den ersten als auch auf den zweiten Speicher (18, 24) für Schreiboperationen zuzugreifen, wenn der erste Prozessor (12) auf keinen der beiden Speicher zugreift, um so eine Kopie des in den ersten Speicher eingeschriebenen Datensatzes in dem zweiten Speicher aufrechtzuerhalten, und in der Lage ist, auf den zweiten Speicher (24) zuzugreifen, wenn der erste Prozessor auf den ersten Speicher (18) zugreift und so damit fortfährt, in dem zweiten Speicher eine Kopie des Datensatzes aufrechtzuerhalten, und dadurch, daß der erste Prozessor (12) in der Lage ist auf den zweiten Speicher (24) für Leseoperationen zuzugreifen, um die Kopie der Daten aus dem zweiten Speicher in den ersten Speicher (18) zu übertragen, bevor dem zweiten Prozessor (22) der Zugriff auf den ersten Speicher bewilligt wird.
2. System nach Anspruch 1, bei dem der erste Speicher einen ersten Adreßbereich aufweist und der zweite Speicher einen zweiten Adreßbereich besitzt der von dem ersten Adreßbereich verschieden ist, und bei dem eine verschiebbare Adreßeinrichtung den Wert eines Relativzeigers bereitstellt zur Kombination mit Adressen des zweiten Prozessors, um Adressen für den zweiten Speicher während eines gleichzeitigen Zugriffs auf den ersten und den zweiten Speicher zu liefern.
3. System gemäß Anspruch 2, bei dem der zweite Speicher eine erste und eine zweite Gruppe von Speicherstellen einschließt, wobei das System Mittel einschließt zum Schreiben von Informationen in Speicherstellen der ersten Gruppe als Antwort auf Schreibbefehle, die die Schreibadressen definieren, während gleichzeitig die Schreibadressen in Speicherstellen der zweiten Gruppe geschrieben werden, wobei der zweite Prozessor Mittel für das Zugreifen auf die Speicherstellen in der ersten Gruppe durch Bezugnahme auf die Adressen in der zweiten Gruppe einschließt.
4. System gemäß Anspruch 3, weiter dadurch gekennzeichnet, daß der erste Prozessor auf Speicherstellen in der ersten Gruppe zugreift, um Informationen für das Aktualisieren der Informationen in dem ersten Speicher auszulesen.
5. System gemäß irgendeinem der vorhergehenden Ansprüche, bei dem der erste Speicher ein Video-Pufferspeicher ist.
DE3852695T 1987-11-06 1988-10-03 Multiprozessorsystem mit mehreren Speichern. Expired - Fee Related DE3852695T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/117,715 US5008816A (en) 1987-11-06 1987-11-06 Data processing system with multi-access memory

Publications (2)

Publication Number Publication Date
DE3852695D1 DE3852695D1 (de) 1995-02-16
DE3852695T2 true DE3852695T2 (de) 1995-06-29

Family

ID=22374427

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852695T Expired - Fee Related DE3852695T2 (de) 1987-11-06 1988-10-03 Multiprozessorsystem mit mehreren Speichern.

Country Status (4)

Country Link
US (1) US5008816A (de)
EP (1) EP0315321B1 (de)
JP (1) JPH0752404B2 (de)
DE (1) DE3852695T2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6355636A (ja) * 1986-08-27 1988-03-10 Hitachi Ltd デ−タ処理システム
DE3908884A1 (de) * 1989-03-17 1990-09-20 Siemens Ag Anordnung zur verarbeitung von zeitbefehlen
US5239634A (en) * 1989-09-21 1993-08-24 Digital Equipment Corporation Memory controller for enqueuing/dequeuing process
US5293591A (en) * 1991-06-10 1994-03-08 Advanced Micro Devices, Inc. Processing system including memory selection of multiple memories and method in an interrupt environment
US5592678A (en) * 1991-07-23 1997-01-07 International Business Machines Corporation Display adapter supporting priority based functions
EP0525986B1 (de) * 1991-07-26 1996-11-13 Sun Microsystems, Inc. Gerät mit schneller Kopierung zwischen Rasterpuffern in einem Anzeigesystem mit Doppel-Pufferspeichern
JPH05210481A (ja) * 1991-09-18 1993-08-20 Ncr Internatl Inc 直接アクセス式ビデオバス
US5485585A (en) * 1992-09-18 1996-01-16 International Business Machines Corporation Personal computer with alternate system controller and register for identifying active system controller
FR2697360B1 (fr) * 1992-10-26 1994-12-30 Jeux Franc Système d'acquisition et de restitution d'une séquence d'images vidéo animée en temps réel.
JP3579461B2 (ja) * 1993-10-15 2004-10-20 株式会社ルネサステクノロジ データ処理システム及びデータ処理装置
TR27409A (tr) * 1993-11-26 1995-03-27 Jeux Franc Des Hareketli video görüntü silsilesini hakiki zamanda kaydetmeye ve playback yapmaya yönelik bir sistem.
US5553265A (en) * 1994-10-21 1996-09-03 International Business Machines Corporation Methods and system for merging data during cache checking and write-back cycles for memory reads and writes
US5819306A (en) * 1995-02-14 1998-10-06 General Magic Shadow mechanism for a modifiable object oriented system
US5692187A (en) * 1995-02-14 1997-11-25 General Magic Shadow mechanism having masterblocks for a modifiable object oriented system
US5659695A (en) * 1995-06-02 1997-08-19 Motorola, Inc. Method and apparatus utilizing simultaneous memory reads for increasing memory access bandwidth in a digital signal processor
US5694582A (en) * 1996-01-26 1997-12-02 Dell Usa, Lp Operation system independent polled interface for extension BIOS (XBIOS) operations
US5854905A (en) * 1996-09-03 1998-12-29 Intel Corporation Extensible bios for boot support of devices on multiple hierarchical buses
US6356551B1 (en) * 1997-02-14 2002-03-12 Advanced Micro Devices, Inc. Method and network switch having dual forwarding models with a virtual lan overlay
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6829697B1 (en) * 2000-09-06 2004-12-07 International Business Machines Corporation Multiple logical interfaces to a shared coprocessor resource
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US9996279B2 (en) * 2015-12-18 2018-06-12 Intel Corporation Integrity protection for system management mode
JP6523196B2 (ja) * 2016-03-17 2019-05-29 株式会社東芝 推定装置、方法及びプログラム
EP4100943A4 (de) * 2020-02-03 2023-07-19 Tritium Holdings Pty Ltd Verfahren und gerät zur sicheren anzeige von elektronischen informationen

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
US4291371A (en) * 1979-01-02 1981-09-22 Honeywell Information Systems Inc. I/O Request interrupt mechanism
US4325116A (en) * 1979-08-21 1982-04-13 International Business Machines Corporation Parallel storage access by multiprocessors
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4586133A (en) * 1983-04-05 1986-04-29 Burroughs Corporation Multilevel controller for a cache memory interface in a multiprocessing system
JPS6143370A (ja) * 1984-08-03 1986-03-01 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 多重処理システム
JPS61188656A (ja) * 1985-02-15 1986-08-22 Fujitsu Ltd メモリアクセス方式
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
US4757441A (en) * 1985-02-28 1988-07-12 International Business Machines Corporation Logical arrangement for controlling use of different system displays by main proessor and coprocessor
JPS61249153A (ja) * 1985-04-26 1986-11-06 Yokogawa Medical Syst Ltd デ−タ処理装置
JPS62152002A (ja) * 1985-12-26 1987-07-07 Yaskawa Electric Mfg Co Ltd プログラマブルコントロ−ラ
JPS63158657A (ja) * 1986-12-23 1988-07-01 Fanuc Ltd コ・プロセツサ制御方式

Also Published As

Publication number Publication date
US5008816A (en) 1991-04-16
DE3852695D1 (de) 1995-02-16
EP0315321A3 (de) 1991-01-23
JPH0752404B2 (ja) 1995-06-05
EP0315321A2 (de) 1989-05-10
EP0315321B1 (de) 1995-01-04
JPH01156845A (ja) 1989-06-20

Similar Documents

Publication Publication Date Title
DE3852695T2 (de) Multiprozessorsystem mit mehreren Speichern.
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE3151745C2 (de)
DE3909896C2 (de)
DE3724317C2 (de)
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE2847960C2 (de) Speichersteuereinrichtung
DE68926936T2 (de) Vorrichtung und Technik für Burstprogrammierung
DE69331448T2 (de) Dataprozessor mit einem Cachespeicher
DE68902193T2 (de) Datenspeicheranordnung.
DE69432133T2 (de) Datenprozessor mit Cache-Speicher
DE69031411T2 (de) Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff
DE69708188T2 (de) Speichersteuerungseinheit
DE69025302T2 (de) Hochleistungsrasterpuffer- und -cachespeicheranordnung
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE69109803T2 (de) Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2226382B2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE68928343T2 (de) Schreib-Lese/Schreib-Weitergabe-Speichersubsystemzyklus
DE3588061T2 (de) Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät.
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE68925336T2 (de) Datenverarbeitungsvorrichtung mit Cache-Speicher
DE3873388T2 (de) Cache-speicher.
DE69027919T2 (de) Anordnung und Verfahren zur Unterstützung des Zugriffs auf E/A-Geräte durch grosse, direkt abgebildete Datencache-Speicher
DE68924368T2 (de) Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang.

Legal Events

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