DE3502147A1 - Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung - Google Patents

Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung

Info

Publication number
DE3502147A1
DE3502147A1 DE19853502147 DE3502147A DE3502147A1 DE 3502147 A1 DE3502147 A1 DE 3502147A1 DE 19853502147 DE19853502147 DE 19853502147 DE 3502147 A DE3502147 A DE 3502147A DE 3502147 A1 DE3502147 A1 DE 3502147A1
Authority
DE
Germany
Prior art keywords
memory
data
signal
read
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.)
Granted
Application number
DE19853502147
Other languages
English (en)
Other versions
DE3502147C2 (de
Inventor
Atsushi Koganei Tokio/Tokyo Hasegawa
Masaru Hachioji Tokio/Tokyo Matsumura
Tadahiko Sagamihara Kanagawa Nishimukai
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
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
Priority claimed from JP59008572A external-priority patent/JPH0630074B2/ja
Priority claimed from JP59110764A external-priority patent/JPH06100984B2/ja
Application filed by Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Publication of DE3502147A1 publication Critical patent/DE3502147A1/de
Application granted granted Critical
Publication of DE3502147C2 publication Critical patent/DE3502147C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Description

3502H7
1. HITACHI, LTD., Tokyo
2. Hitachi Microcomputer Engineering Ltd., Tokyo
Jap an
Datenverarbeitungssystem mit verbesserter Pufferspeichersteuerung
Die Erfindung betrifft ein Datenverarbeitungssystem mit Pufferspeicher und ist insbesondere für einen Mikroprozessor, der ein auf einer Speichertabelle beruhendes E/ASystem aufweist, ein einen gemeinsamen Speicher aufweisendes Multiprozessorsystem und dergleichen geeignet.
Zur Steuerung der Eingabe/Ausgabeeinrichtung eines Mikrocomputers wurde bislang in weitem Maße ein E/A-System aufgrund einer gespeicherten Tabelle verwendet. Durch den Zugriff zu einem Eingabe/Ausgabe-Steuerregister, das im selben Adreßraum wie der Arbeitsspeicher liegt, entfallen besondere Ein/Ausgabefehle zur Steuerung der Ein/ Ausgabeeinrichtungen.
Ein Blockschaltbild eines solchen Speichertabellen-E/ASystems ist in Figur 1 dargestellt, in der ein Prozessor 1 einen Arbeitsspeicher 2 und Ein/Ausgabesteuerschaltungen
3 und 5 für entsprechende Eingabe/Ausgabeeinrichtungen
4 und 6 über einen Systembus 100 steuert. Dem Hauptspeicher
680-318301927DE1/At/Al
3502H7
2 und den Eingabe/Ausgabesteuerschaltungen 3 und 5 sind jeweils eigene Adressen zugeordnet. In nicht gezeigten Steuerregistern der Eingabe/Ausgabesteuerschaltungen 3 und 5 gespeicherte Werte werden vom Prozessor 1 erneuert, und die Eingabe/Ausgabeeinrichtungen 4 und 6 werden aufgrund der in den Steuerregistern stehenden neuen Werte gesteuert. Außerdem erneuern die Eingabe/Ausgabeeeinrichtungen 4 und 6, wenn deren eigene Zustände sich ändern, die in den (nicht gezeigten ) Zustandsregistern in den Eingabe/Ausgabesteuerschaltungen 3 und 5 gespeicherten Werte. Wenn auf einen Speicherbefehl die Inhalte des Arbeitsspeichers 2 zu erneuern sind, legt der Prozessor 1 eine dem Arbeitsspeicher 2 zugeteilte Schreibadresse, die zu schreibenden Daten und einen Schreibbefehl auf den Systembus 100. Wenn die Inhalte des Arbeitsspeichers 2 entsprechend einem Ladebefehl auszulesen sind, wird eine dem Arbeitsspeicher 2 zugeteilte Leseadresse und ein Lesebefehl auf den Systembus 100 gelegt, und die vom Arbeitsspeicher 2 dem Systembus 100 übergebenen Daten vom Prozessor 1 als Lesedaten empfangen. Die Eingabe/Ausgabeeinrichtung 4 beginnt ihren Betrieb, sobald ein Startbit in einem (nicht gezeigten) Steuerregister in der Eingabe/Ausgabesteuerschaltung 3 auf 1 gesetzt wird. Beispielsweise beginnt die Eingabe/Ausgabeeinrichtung 4 zu arbeiten, wenn der Speicherbefehl für das Steuerregister auszuführen ist und eine dem Steuerregister eigene Adresse als Schreibadresse des Speicherbefehls verwendet wird. Andererseits wird, um das Ende der Operation der Eingabe/ Ausgabeeinrichtung 4 zu erfassen, das (nicht gezeigte) Statusregister der Eingabe/Ausgabesteuerschaltung 3 mittels des obengenannten Lesebefehls gelesen, und das Betriebsendebit des Statusregisters geprüft, ob es im Ein- oder Auszustand ist. Wenn das Betriebsendebit eingeschaltet ist, werden weitere Bits des Statusregisters geprüft, um die Endebedingung wie ein normales Ende oder ein unnormales Ende zu erfassen. Mittels des obengenannten Speichertabellen-E/A-
System (englisch: "memory mapped I/O system") kann die Eingabe/Ausgabeeinrichtung durch gewöhnliche Befehle ohne besondere Eingabe/Ausgabebefehle gesteuert werden, wodurch sich unter anderem der Adressraum flexibler einteilen läßt.
Häufig enthält der Mikroprozessor zur Leistungserhöhung einen cache (Pufferspeicher). Falls jedoch ein mit einem Pufferspeicher ausgerüstetes System das obengenannte Speichertabellen-E/A-System enthält, ergibt sich ein anhand der Figur 2 erläutertes Problem, die ein Blockschaltbild eines mit einem Pufferspeicher ausgerüsteten Speichertabellen-E/A-System zeigt.
In Figur 2 besteht der Prozessor 1 aus einer Zentralverarbeitungseinheit (CPU) 10, die Befehle ausführt und einem Pufferspeicher 11, der Adressen für den Zugriff zum Arbeitsspeicher 2 sowie Daten enthält, die in den von den Adressen angegebenen Bereichen des Arbeitsspeichers gespeichert sind. Falls die CPU 10 nun einen Zugriff zu den in Bereichen des Arbeitsspeichers 2 gespeicherten Daten,um Befehle oder Daten auszulesen, anfordert, prüft sie zuerst den Pufferspeicher 11. Wenn die gewünschten Daten im Pufferspeicher 11 gefunden wurden, werden diese der CPU 10 zugesandt, wodurch das Daten- oder Befehlsauslesen beendet ist. Wenn jedoch die Daten nicht im Pufferspeicher 11 gefunden wurden, werden diese aus dem Arbeitsspeicher 2 über den Systembus 100 ausgelesen. Die ausgelesenen Daten werden der CPU 10 übertragen und gleichzeitig zusammen mit ihren Leseadressen im Pufferspeicher 11 gespeichert. Wenn die CPU 10 in den Arbeitsspeicher 2 Daten einschreiben will, werden sie zusammen mit den von der CPU 10 erzeugten Schreibadressen über den Systembus 100 dem Arbeitsspeicher 2 zugesendet, und die entsprechenden Schreibdaten in den Arbeitsspeicher 2 eingeschrieben. Gleichzeitig
werden die Schreibdaten und die Schreibadressen auch im Pufferspeicher 11 gespeichert.
Der Pufferspeicher 11 hat eine höhere Zugriffsgeschwindigkeit als der Arbeitsspeicher 2. Deshalb kann, da die aus dem Arbeitsspeicher 2 ausgelesenen oder in diesen eingeschriebenen Daten auch im Pufferspeicher 11 gespeichert sind, die Zugriffszeit zu diesen Daten, wenn ein erneuter Zugriff zu diesen Daten erfolgt, verringert werden, da diese aus dem Pufferspeicher 11 erhältlich sind.
Die Erfinder stellten jedoch ein beim Zugriff zum Statusregister der Eingabe/Ausgabesteuerschaltung 3 oder 5 des obenbeschriebenen Systemtyps entstehendes Problem fest, das nachstehend beschrieben wird.
Es sei angenommen, daß der Prozessor 1 ein Programm ausführt, das das (nicht gezeigte) Statusregister prüft und auf das Ende der Operation der Eingabe/Ausgabeeinrichtung 4 wartet. Sowie die CPU 10 zum Statusregister der Eingabe/-Ausgabesteuerschaltung 3 zugreift, wird der im Statusregister gespeicherte Wert der CPU 10 zugesendet und auch im Pufferspeicher 11 abgespeichert. Die CPU 10 prüft das Endebit des Statusregisters. Wenn das Endebit im Ein-Zustand ist, soll der Betrieb mit den nächsten Programmbefehlen fortgesetzt werden. Welnn das Endebit im Aus-Zustand ist, soll das Statusregister wiederholt gelesen werden und das Endebit wiederholt geprüft werden. Wenn ein Statusregister-Lesebefehl zum zweiten oder wiederholten Male ausgeführt wird, wird jedoch der im Pufferspeicher 11 gespeicherte Wert als Wert des Statusregisters der CPU 10 zugesendet. Deshalb kann, auch wenn die Eingabe/Ausgabeoperation der Eingabe/Ausgabeeinrichtung 4 beendet ist und das Endebit des Statusregisters in der Eingabe/Ausgabesteuerschaltung 3 eingeschaltet ist,
der Prozessor 1 diesen Sachverhalt nicht erfassen, da er ein altes, im Pufferspeicher 11 gespeichertes Datum ansieht. Die Erfinder bemerkten ebenfalls, daß sich ein weiteres Problem ergab, wenn die Inhalte des Statusregisters ausgelesen werden sollten und an deren Stelle die Werte des Steuerregisters ausgelesen wurden. Dies tritt dann auf, wenn der Steuerregisterbereich und der Statusregisterbereich unterschiedlichen Bits desselben Registers mit derselben Adresse zugeordnet sind oder, wenn das Steuerregister und das Statusregister derselben Adresse zugeordnet sind und zum Steuerregister beim Dateneinschreiben und zum Statusregister beim Datenauslesen zugegriffen wird. Dies rührt daher, daß der im Steuerregister eingeschriebene Wert im Pufferspeicher 11 gespeichert ist und, wenn ein Lesebefehl zum Lesen des Statusregisters ausgeführt wird, die im Pufferspeicher 11 für das Steuerregister gespeicherten Daten ausgelesen werden.
Nachstehend wird ein Problem beschrieben, das sich ergibt, wenn eine Nachricht zwischen dem Pufferspeicher und mehreren zur Verteilung der Last miteinander verbundenen Prozessoren eines Multiprozessorsystems ausgetauscht wird.
Ein System, bei dem die Verarbeitung durch Übertragung von Nachrichten zwischen zwei miteinander verbundenen Prozessoren ausführt, wird nachstehend anhand von in Figur 3 und dargestellten Blockschaltbildern beschrieben.
Figur 3 zeigt ein System, das aus Prozessoren 1 und 7, Ortsspeichern 2 und 21, die nur jeweils für den Prozessor bzw. 7 vorgesehen sind und einen zur Übertragung von Nachrichten über die Busleitungen 100 und 101 dienenden Hauptspeicher 8, besteht. Gewöhnlich führt jeder der Prozessoren 1 und 7 eine Verarbeitung mit Hilfe seines eigenen Ortsspeichers 2 bzw. 2' aus. Wenn der Prozessor 1 jedoch den Prozessor 7 zur Ausführung einer Verarbeitung anfordert,
3502U7
schreibt der Prozessor 1 die auszuführende Verarbeitung und die zur Verarbeitung nötigen Daten in vorbestimmte Bereiche des Hauptspeichers 8 und unterbricht dann den Prozessor 7. Auf die Unterbrechung hin liest der Prozessor 7 die Inhalte des Speichers 8 und führt die angeforderte Verarbeitung aus. Wenn die Verarbeitung beendet ist, schreibt der Prozessor 7 die Ergebnisse in den Speicher 8, um sie dem Prozessor 1 mitzuteilen und unterbricht den Prozessor 1. Dann nimmt der Prozessor 7 die vorangehende Verarbeitung wieder auf. Nachdem der Prozessor 1 vom Prozessor 7 unterbrochen wurde, holt der Prozessor 1 die Verarbeitungsergebnisse aus dem Speicher 8 und setzt die Verarbeitung fort. Wenn die Verarbeitung, für die der Prozessor 7 angefordert wurde, ausgeführt ist, führt der Prozessor 1 andere Verarbeitungen mittels des Ortsspeichers 2 aus.
Figur 4 zeigt ein Blockschaltbild eines Systems, bei dem die zwei Prozessoren 1 und 7 mit einem gemeinsamen Systembus 100 verbunden sind und gemeinsam den Hauptspeicher 2 verwenden. Diese Prozessoren greifen zum Hauptspeicher unabhängig voneinander zu. Wenn jedoch der eine Prozessor zum Hauptspeicher 2 zugreift, wird der andere Prozessor so gesteuert, daß seine Zugriffsanforderung im Wartezustand ist. Bei diesem System tauschen die zwei Prozessoren Nachrichten aus, in dem sie einen besonderen Bereich des Hauptspeichers 2 verwenden. Das in Figur 4 dargestellte System ist somit dasselbe wie das in Figur 3 dargestellt, mit der Ausnahme, daß der für das Einschreiben der Nachricht verwendete Bereich ein besonderer Bereich des Hauptspeichers 2 ist.
Falls bei den beiden Systemen gemäß Figur 3 und Figur 4 die Prozessoren 1 und 7 allgemeine Pufferspeicher 11 und aufweisen, ergibt sich folgendes Problem: Wenn beispielsweise der Prozessor 1 zur Übertragung einer Nachricht die
Daten in einen Bereich einschreibt, werden, sowie die Daten einschrieben werden, die Werte im Pufferspeicher 11, der zum Prozessor 1 gehört, erneuert. Der Wert derselben Adresse wird jedoch nicht gleichzeitig, wenn sie im Pufferspeicher 71 des Prozessors 7 steht, erneuert. Demgemäß werden, wenn der Prozessor 7 zum Nachrichtenbereich zugreift, die Daten des Pufferspeichers 71 ausgelesen und der Prozessor 7 empfängt nicht die richtige Nachricht des Prozessors 1.
Die vorliegende Erfindung soll die obengenannten Probleme lösen. Demgemäß ist es Aufgabe der Erfindung, ein Datenverarbeitungssystem, wie ein Speichertabellen-E/A-System mit Mikroprozessoren, ein Multiprozessorsystem oder dergleichen zu ermöglichen, bei denen ein Datenzugriff ohne Inkonsistenz,auch wenn die Mikroprozessoren cache-Speicher zur Erhöhung der Leistung aufweisen, möglich ist.
Zur Lösung der obigen Aufgabe ist in einem System, wie einem Speichertabellen-E/A-Mikrocomputersystem eine Erfassungsschaltung vorgesehen, die erfaßt, ob eine von einer CPU für eine Lesezugriffsanforderung erzeugte Zugriff sadresse ein Teil (wie ein Statusregister im obenerwähnten Mikrocomputersystem) darstellt, zu dem eine andere Verarbeitungseinrichtung, wie eine E/A-Einrichtung zugreifen kann. Diese Erfassung erfolgt im gesamten Speicherbereich (wie in dem vom Arbeitsspeicher und den Statusregistern belegten Speicherbereich), zu dem der Zentralprozessor (die CPU) zugreifen kann. Falls von einem durch die CPU auszuführenden Befehl zu holende Daten im cache-Speicher nicht gefunden werden, werden sie vom gesamten Speicherbereich geholt . Eine Schreibschaltung schreibt die geholten Daten in den Pufferspeicher, wenn die Erfassungsschaltung angibt, daß die Zugriffsadresse nicht für den Teil, zu dem die andere Verarbeitungseinrichtung
innerhalb des gesamten Speicherbereichs zugreifen kann, gilt. Im anderen Fall schreibt die Schreibschaltung die geholten Daten nicht in den Pufferspeicher.
Die Erfindung wird im folgenden anhand der Zeichnungen näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines herkömmlichen Speichertabellen-E/A-Systems ;
Fig. 2 ein Blockschaltbild eines anderen herkömmlichen auf dem Speichertabellen-E/A-System beruhenden Verarbeitungssystems;
Fig. 3 ein Blockschaltbild eines bekannten Multiprozessorsystems mit gemeinsamem Speicher;
Fig. 4 ein Blockschaltbild eines weiteren herkömmlichen Multiprozessorsystems mit gemeinsamem Speicher;
Fig. 5 ein Blockschaltbild eines Ausführungsbeispiels gemäß der Erfindung;
Fig. 6 ein Schaltbild eines in Figur 5 gezeigten cache-Speichers;
Fig. 7 ein Schaltbild einer cache-Speichersteuerschaltung aus Figur 5;
Fig. 8 ein Schaltbild einer in Figur 5 dargestellten Lese/Schreibsteuerschaltung;
Fig. 9 ein Schaltbild einer Eingabe/Ausgabesteuerschaltung aus Figur 5;
Fig. 10 ein Schaltbild einer gemeinsamen Speichersteuerschaltung aus Figur 5;
Fig. 11 ein Schaltbild einer Arbeitsspeichersteuerschaltung aus Figur 5;
Fig. 12 ein Schaltbild einer Speicherverwaltungseinheit aus Figur 5;
Fig. 13 eine im System von Figur 5 verwendete Adresstabelle; und
Fig. 14 ein Schaltbild eines weiteren Ausführungsbeispiels gemäß der Erfindung.
Im folgenden wird ein erstes Ausführungsbeispiel gemäß der Erfindung anhand der Figuren 5 bis 13 erläutert.
Figur 5 zeigt ein Blockschaltbild der Struktur eines erfindungsgemäßen Ausführungsbeispiels, und die Figuren 6 bis 12 zeigen Schaltbilder der Blöcke in Figur 5.
Das in Figur 5 dargestellte Ausführungsbeispiel der Erfindung enthält einen Mikroprozessor 1 (weiterhin als MPU bezeichnet), eine Speicherverwaltungseinheit 9 (weiterhin als MMU bezeichnet), einen Arbeitsspeicher 2, einen gemeinsamen Speicher 8, eine Eingabe/Ausgabesteuerschaltung 3 , eine Eingabe/Ausgabeeinrichtung 4, einen Systembus 100, einen weiteren Mikroprozessor 1A (weiterhin als MPUX bezeichnet), der mit dem Systembus verbunden ist und eine zugehörige Speicherverwaltungseinheit 9A aufweist.
Die MPU 1 besteht aus einer Zentralverarbeitungseinheit (CPU) 10, die Befehle ausführt, einem cache-Speicher 11,
einer cache-Speichersteuerschaltung 13, eine Lese/Schreibsteuerschaltung 14 und einem ODER-Glied 15.Die MPU 1 ist mit der MMU 9 über eine Adressignalleitung 116, eine Datensignalleitung 122, eine Lesesignalleitung 125, eine Schreibsignalleitung 110, eine Freigabe(PURGE)-Signalleitung 126, eine ACK-Signalleitung 128 und eine RMA-Signalleitung verbunden und außerdem mit dem Systembus 100 durch die Datensignalleitung 122, die Lesesignalleitung 125, die Schreibsignalleitung 110, die ACK-Signalleitung 128 und die RMA-Signalleitung 127 verbunden. Die ACK-Signalleitung gibt das Ende einer Operation an, und die RMA-Signalleitung gibt an, ob die Daten in den cache-Speicher 11 geschrieben werden können oder nicht.
Die MMU, die einen Adresszuordner für ein virtuelles Speichersystem darstellt, setzt eine von der CPU 10 auf eine Leitung 116 gelegte logische Adresse auf der Basis einer Adresszuordnungstabelle 90, die logische und physikalische Adresstabellen 901 und 902 enthält, in eine physikalische Adresse um und sendet diese an den Systembus 100 über eine Adressignalleitung 129.
Der Arbeitsspeicher 2 weist eine Arbeitsspeichersteuerschaltung 21 und eine Arbeitsspeichereinheit 22 auf und ist mit dem Systembus 100 über eine Datensignalleitung 152, eine Adressignalleitung 159, eine Lesesignalleitung 155, eine Schreibsignalleitung 154 und eine ACK-Signalleitung 158 verbunden. Es muß herausgestellt werden, daß die RMA-Signalleitung nicht mit dem Arbeitsspeicher 2 verbunden ist. Der Arbeitsspeicher 2 speichert Befehle und Daten, die von der MPU 1 zu verarbeiten sind.
Der gemeinsame Speicher 8 besteht aus einer Steuerschaltung 81 und einer Speichereinheit 82 und ist mit dem Systembus 100 durch eine Datensignalleitung 142, eine Adressignalleitung 149, eine Lesesignalleitung 145,
3502H7
eine Schreibsignalleitung 144, eine ACK-Signalleitung und eine RMA-Signalleitung 147 verbunden. Der gemeinsame Speicher 8 speichert Daten für den Verkehr zwischen der MPU 1 und der MPUX 1A, sowie Befehle und Daten, die von der MPUX 1A zu verarbeiten sind.
Die Eingabe/Ausgabesteuerschaltung 3ist mit dem Systembus 100 durch eine Datensignalleitung 132, eine Adressignalleitung 139, eine Lesesignalleitung 135, eine Schreibsignalleitung 134, eine ACK-Signalleitung 138 und eine RMA-Signalleitung 137 verbunden und steuert die Eingabe/Ausgabeeinrichtung 4 über eine Signalleitung 130, um die Eingabe/Ausgabedaten, die von der Eingabe/Ausgabeeinrichtung 4 abgegeben werden bzw. dieser einzugeben sind, zu übertragen.
Im Systembus 100 werden alle Leitungen für dieselben Signale, wie die ACK-Signalleitung 138, 148, 158 und die RMA-Signalleitungen 137, 147 von den verschiedenen Einrichtungen jeweils mittels einer verdrahteten Oder-(wired OR)-Verknüpfung verbunden. Die mit der MPU 1 verbundenen Leitungen 128 oder 127 für das ACK-Signal bzw. das RMA-Signal werden freigegeben, wenn das ACK-Signal bzw. das RMA-Signal von einer der Einrichtungen MMU 9, Arbeitsspeicher 2, gemeinsamen Speicher 8 oder der Eingabe/Ausgabesteuerschaltung 3 eingeschaltet werden. Umgekehrt wird die ACK-Signalleitung 128 oder die RMA-Signalleitung 127 ausgeschaltet, wenn sämtliche ACK-Signale bzw. RMA-Signale der obengenannten Einrichtungen ausgeschaltet sind.
In Figur 13 ist eine im System von Figur 5 verwendete Adresstabelle dargestellt. Dem Arbeitsspeicher 2 sind Adressen von 0 bis AI-I und dem gemeinsamen Speicher 8 Adressen von A1 bis A3-1 zugeteilt. Der Adressbereich von A2-A3-1 innerhalb des gemeinsamen Speichers 8 ist ein Bereich für den Nachrichtenverkehr zwischen der MPU 1
und der MPUX 1A. Das Statusregister 67, das Steuerregister 75 und das Datenregister 77 sind jeweils mit den Adressen A4, A5 und A6 versehen. Die logische Adresstabelle 910 und die physikalische Adresstabelle 902 der Adresszuordnungstabelle 90 in der MMU9 erhalten jeweils Adressen A7 bis A8-1 und A8 bis A9-1.
Nachfolgend wird das Hauptprinzip des Speichertabellen-E/ASystems im Falle einer Eingabe/Ausgabeeinrichtung 4 eines Kartenlesers beschrieben.
Beim Lesen von Kartendaten schreibt die Eingabe/Ausgabesteuerschaltung 3 Daten, die einen Unterbrechungsfaktor kennzeichnen und unterbricht die MPU 1. Zur Vereinfachung ist die Leitung, die das Unterbrechungssignal der MPU 1 liefert, in Figur 5 nicht eingezeichnet. Die MPU 1 startet ein Programm, das das Statusregister 67 liest und den Unterbrechungsfaktor untersucht. Sobald die MPU 1 weiß, daß sie wegen gelesener Kartendaten unterbrochen wurde, führt sie ein Programm aus, das die Kartendaten über das Datenregister 77 liest und sie in den Arbeitsspeicher 2 einspeichert. Nachdem alle Kartendaten in den Arbeitsspeicher 2 gespeichert sind, führt die MPU 1 einen Befehl aus, der ein Lese-OK-Bit in das Steuerregister 75 schreibt, um das Lesen der nächsten Karte durch den Kartenleser zu ermöglichen. Dann wird die oben dargestellte Operation wiederholt. Es muß hervorgehoben werden, daß das Auslesen des Statusregisters 67 und das Schreiben in das Steuerregister 75 in der ganz gleichen Weise wie das Auslesen oder Einschreiben des Arbeitsspeichers 2 erfolgt, jedoch mit unterschiedlich zugeordneten Adressen.
Im folgenden wird die Funktion des in Figur 5 dargestellten Systems erläutert. Nach Einschalten der Stromversorgung und nachdem die Schaltung in Figur 5 zurückgesetzt ist,
setzt die CPU 10 eine Rücksetzsignalleitung 113 ein und teilt der cache-Steuerschaltung 13 den Befehl mit, den cache-Speicher 11 zu löschen. Die Steuerschaltung 13 schaltet die Löschsignalleitung 117 ein und macht damit alle im cache-Speicher 11 gespeicherten Daten ungültig.
Zum Datenlesen erzeugt die CPU 10 Adressen auf der Adressignalleitung 116 und schaltet die Leseanforderungssignalleitung 111 ein. Die Daten werden auf die Datenleitung 115 entweder vom cache-Speicher 11, dem Arbeitsspeicher 2, dem gemeinsamen Speicher 8 oder der Eingabe/Ausgabesteuerschaltung 3 ausgelesen. Wie nachstehend genauer erläutert, wird die Signalleitung 112 nach dem Ende des Leseoder Schreibvorgangs für die Daten eingeschaltet. Auf das Signal 112 hin empfängt die CPU 10 die Daten auf der Leitung 115 als Lesedaten und beendet das Adressignal auf der Leitung 116. Deshalb wird die Adressignalleitung 111 ausgeschaltet und der Lesevorgang ist beendet.
Der cache-Speicher 11 prüft, ob in ihm Daten für die auf der Adressignalleitung 116 liegende Adresse enthalten sind oder nicht und schaltet die Gültigkeitssignalleitung 121 ein, wenn die Daten enthalten sind,und liest die Daten aus einem im cache-Speicher 11 befindlichen Assoziativspeicher 16 (Figur 6) aus und legt sie auf eine innere Leitung 160 (Figur 6). Dazu parallel schaltet die cache-Steuerschaltung 13 eine Schaltsteuersignalleitung 119 ein, wenn die Signalleitung 111 für die Leseanforderung und die Signalleitung 121 für das Gültigkeitssignal eingeschaltet sind und steuert Schalter 19 (Figur 6) innerhalb des cache-Speichers 11, so daß die ausgelesenen Daten von dem inneren Assoziativspeicher 16 über die Datensignalleitung 115 mittels des inneren Schalters 19 übertragen werden (Figur 6).
3502H7
Inzwischen trifft die Lese/Schreib-Steuerschaltung 14, wenn das Leseanforderungssignal auf Leitung 11 und das Gültigkeitssignal auf Leitung 121 eingeschaltet sind, die Entscheidung, daß die Daten aus dem cache-Speicher 11 auszulesen sind und schaltet die Ende-Signalleitung 114 ein, um über das ODER-Glied 15 die Ende-Signalleitung einzuschalten. Damit wird der CPU 10 mitgeteilt, daß die Datenleseoperation beendet ist. Nach Empfang des Endesignals 112 empfängt die CPU 10 die Daten auf der Leitung 115 und beendet die Leseoperation .
Das Gültigkeitssignal 121 bleibt ausgeschaltet, wenn die entsprechenden Daten nicht im cache-Speicher 11 enthalten sind. Wenn das Leseanforderungssignal auf der Leitung 111 ein und das Gültigkeitsbitsignal auf Leitung 121 aus ist, schaltet die Lese/Schreib-Steuerschaltung 14 das Leseanforderungssignal auf Leitung 125 ein und liefert dem Systembus 100 die Leseanfrage, um Daten von außen in die MPU 1 einzulesen. Die von der MPU 1 erzeugte logische Adresse wird durch die MMU 9 in eine physikalische Adresse umgesetzt, die dem Systeembus 100 durch die Leitung 129 zugeführt wird. Auf das Adressignal und das Leseanforderungssignal auf den Leitungen 159 bzw. 155, die mit dem Systembus 100 verbunden ist, erfaßt die Arbeitsspeichersteuerschaltung 21, ob die Adresse auf der Adressleitung 159 für den Arbeitsspeicher 2 gilt und wenn dies der Fall ist, das heißt, wenn die Adresse zwischen 0 und Al-1 liegt, liest die Arbeitsspeichersteuerschaltung 21 die entsprechenden Daten von der Arbeitsspeichereinheit 22, indem sie die Adresse und Steuersignale über Leitungen 900 und 920 überträgt und die Arbeitsspeichereinheit 22 so steuert, daß die von ihr ausgelesenen Daten auf der Leitung 152 als Datensignale erzeugt werden, wonach sie über den Bus 100 auf die Leitung 222 übertragen werden. Nachdem die Daten komplett gelesen sind, schaltet die Arbeitsspeichersteuer-
schaltung 21 das ACK-Signal auf der Leitung 158 ein, worauf über den Systembus 100 die ACK-Signalleitung 128 den Ein-Zustand annimmt. Da die Arbeitsspeichersteuerschaltung 21 das RMA-Signal nicht erzeugt, bleibt die Leitung 127 für das RMA-Signal ausgeschaltet. Die ACK-Signalleitung 128 ist mit der CPU 10 über das ODER-Glied 15 verbunden und liefert der CPU 10 das Endesignal 112. Zu diesem Zeitpunkt schaltet die cache-Speichersteuerschaltung 13 das Signal auf Leitung 119 entsprechend dem Gültigkeitsbitsignal 121 aus und teilt dem internen Schalter 19 (Figur 6) des cache-Speichers 11 mit, daß das Datensignal auf Leitung 122 mit dem Datensignal auf Leitung 115 zu verbinden ist, woraufhin die Daten, die aus der Arbeitsspeichereinheit 122 ausgelesen wurden, der CPU 10 übertragen werden. Mit der Bedingung, daß die ACK-Signalleitung 128 eingeschaltet und die RMA-Signalleitung 127 ausgeschaltet ist, schaltet die cache-Speichersteuerschaltung 13 das Schreibfreigabesignal auf Leitung 118 und auf die Abwesenheit des Gültigkeitsbitsignals auf Leitung 118 hin die Signalleitung 120 ein und gibt somit an, daß die gelesenen Daten in einem neuen Eintrag des cache-Speichers 11 zu speichern sind. Auf diese beiden Signale hin löscht der cache-Speicher 11 eines der in ihm bereits gespeicherten Daten und speichert die von der Leitung 115 gelesenen Daten und deren von der CPU 10 auf der Leitung 116 erzeugte Adresse ab. Deshalb werden, falls die Daten unter derselben Adresse zu einem späteren Zeitpunkt angefordert werden, die gerade in den cache-Speicher 11, statt der im Arbeitsspeicher 2 gespeicherten Daten ausgelesen. Die Eingabe/ Ausgabesteuerschaltung 3 empfängt auch das Leseanforderungssignal auf der Leitung 125 und die Adresse auf der Leitung 129 jeweils über Leitungen 135 und 139, die beide mit dem Systembus 100 verbunden sind. Die Eingabe/ Ausgabesteuerung 3 erfaßt, ob das Steuerregister 75,
-24- 3502H7
das Datenregister 77 oder das Statusregister 67 in der Eingabe/Ausgabesteuerschaltung 3 aufgrund des Adressignals 139 und des Leseanforderungssignals 135 auszulesen sind. Wenn dies der Fall ist, das heißt, wenn die Adresse einen der Werte A4, A5 oder A6 annimmt, werden die Daten im Steuerregister 75 oder im Statusregister 67 der Datensignalleitung 132 übergeben, und die ausgelesenen Daten an die Datensignalleitung 122 über den Bus 100 zusendet. Gleichzeitig schaltet die Eingabe/Ausgabesteuerschaltung 3 das ACK-Signal auf Leitung 138 und das RMA-Signal auf Leitung 137 ein, wodurch jeweils die ACK-Signalleitung 128 und die RMA-Signalleitung 127, die mit den Leitungen 138 und 137 über den Systembus 100 verbunden sind, in den Ein-Zustand gehen. Auch wenn das Leseanforderungssignal auf Leitung 111 ein und das ACK-Signal 128 ein sind, schaltet die cache-Speichersteuerschaltung 13 das Schreibfreigabesignal 118 nicht ein, falls das RMA-Signal auf Leitung 127 ein ist, und die Daten auf der Leitung 122 werden nicht in den cache-Speicher 11 geschrieben. Da das Gültigkeitssignal 121 im Aus-Zustand ist, hält die cache-Speichersteuerschaltung 13 das Schaltersteuersignal 119 ausgeschaltet. Deshalb verbindet der innere Schalter 19 (Figur 6) des cache-Speichers 11 die Datensignalleitungen 122 und 115 und ermöglicht damit das Auslesen der Daten aus dem Steuerregister 75 oder dem Statusregister 67, die dann der CPU 10 übertragen werden. So wie beim Auslesen aus dem Arbeitsspeicher 2, wird das ACK-Signal 128 zum ODER-Glied 15 übertragen, wodurch die CPU 10 das Ende-Signal 112 erhält.
Dieselbe Operation, wie sie die Eingabe/Ausgabesteuerschaltung 3 ausführt, führt auch die gemeinsame Speichersteuerschaltung 81 aus, die das Adressignal 129 und Leseanforderungssignal 125 jeweils über den Bus und die Leitung 149 bzw. den Bus und die Leitung 145
3502U7
empfängt. Der gemeinsame Speicher 8 ist in zwei Bereiche eingeteilt, das ist ein Adressbereich von A2 bis A3-1 zum Nachrichtenverkehr zwischen der MPU 1 und der MPUX 1A und ein Bereich der von Adresse A1 bis A2-1 reicht, um Befehle und Daten zu speichern, die von der MPUX 1A zu verarbeiten sind. Die MPU 1 greift nur zum Bereich für den Nachrichtenaustausch zu. Wenn die gemeinsame Speichersteuerung 81 aufgrund des Adressignals auf der Leitung 149 und des Leseanforderungssignals auf der Leitung 145 erfaßt, das die Daten aus dem Bereich für den Nachrichtenaustausch im gemeinsamen Speicher 82 zu lesen sind, führt die gemeinsame Speichersteuerung 81 die Leseoperation aus, um die auszulesenden Daten auf die Leitung zu legen und schaltet das RMA-Signal auf der Leitung und das ACK-Signal auf der Leitung 148 ein. Wie die Daten des zuvor genannten Steuerregisters und Statusregisters in der Eingabe/Ausgabesteuerschaltung 3 werden deshalb die Daten des im gemeinsamen Speicher 82 befindlichen Nachrichtenaustauschbereichs der CPU IO zugesendet, jedoch nicht im cache-Speicher 11 der MPU 1 abgespeichert. Falls die MPUX 1A in derselben Weise aufgebaut ist, wie die MPU 1, kann die MPUX 1A zu den Daten im Bereich für den Nachrichtenaustauch über den Bus 100 in derselben Weise zugreifen, und die aus dem gemeinsamen Speicher ausgelesenen Daten werden im (nicht gezeigten) cache-Speicher der MPUX 1A abgespeichert. Andererseits schaltet, wenn die MPUX 1A zu Daten in einem Bereich, der für die MPUX 1A Befehle und Daten speichert, zugreift, die gemeinsame Speichersteuerungsschaltung 81 das RMA-Signal 147 aus. Deshalb schreibt die MPUX 1A die aus diesem Bereich geholten Daten in ihren (nicht gezeigten) cache-Speicher, um diese in derselben Weise, wie die MPU 1 die aus dem Arbeitsspeicher geholten Daten verarbeitet, zu verarbeiten.
Diese Steueroperation wird mittels der gemeinsamen Speichersteuerschaltung 81 mit einer Schaltung realisiert,
die beurteilt, ob die Adresse auf der Leitung 149 zum Bereich der MPU 1 oder zum Bereich der MPUX gehört.
Deshalb kann in diesem Multiprozessorsystem eine Nachricht ohne Inkonsistenz zwischen dem cache-Speicher 11 und dem gemeinsamen Speicher 82 zu erzeugen, übertragen werden.
Die obige Beschreibung befaßte sich mit einem Multiprozessorsystem, das zwei Prozessoren aufweist. Es ist jedoch deutlich, daß dieselbe Steuerfunktion auchwenn drei oder mehr Prozessoren verwendet werden, erzielt werden kann. ■
Als nächstes wird der Zugriff zu der in der MMU 9 enthaltenen Adresszuordnungstabelle 90 erläutert. Das Leseanforderungsignal 125 oder das Schreibanforderungssignal 110 sowie die logische Adresse 116 und die Daten 122 werden ebenfalls der MMU 9 zugeführt. Die MMU 9 antwortet auf die Lese- oder Schreibanforderungssignale 125 bzw. 110, wenn die logische Adresse 116 innerhalb des der logischen Adresstabelle 901 oder der physikalischen Adresstabelle 902 zugeteilten Adressbereichs ist, das heißt im Falle der Figur 13 die Adressbereiche von A- bis Ag-1
oder von A0 bis An-I. In diesem Falle führt die MMU 9 ο y
keine Adressumsetzung aus, sondern liest, wenn das Leseanforderungssignal 125 der MMU 9 zugeführt wird, die Daten einer der zwei Tabellen 901 bzw. 902 über die Leitung 122 aus und erzeugt das ACK-Signal und das RMA-Signal jeweils auf den Leitungen 128 und 127. Das ACK-Signal wird zum ODER-Glied 15 übertragen, das das Ende-Signal 112 erzeugt und der CPU 10 zusendet. Die cache-Speichersteuerschaltung 13 schreibt die Daten auf der Leitung 122 nicht ein, da das Signal RMA der Steuerschaltung 13 eingegeben wurde, wie dies beispielsweise in Verbindung mit dem Datenlesen von der Eingabe/Ausgabesteuerschaltung 3 beschrieben wurde.
3502H7
Der cache-Speicher 11 wird so gesteuert, daß er keine Daten aus der Tabelle 90 einschreibt. Dies wird aus der nachstehenden Erklärung deutlich. Deshalb bleibt das Gültigkeitsbitsignal 121 ausgeschaltet, auch wenn die Adresse 116 dem cache-Speicher 11 anliegt. Deshalb verbindet der Schalter 19 (Figur 6) im cache-Speicher 11 die Leitung 115 mit der Leitung 122 und gibt damit die CPU 10 zum Empfangen der aus der Adresstabelle 90 ausgelesenen Daten frei.
Nachfolgend wird die Operation erläutert, wenn die CPU einen Befehl ausführt, der ein Einschreiben von Daten in den Arbeitsspeicher 2, den gemeinsamen Speicher 8 oder die Eingabe/Ausgabesteuerschaltung 3 erfordert. Um die Daten einzuschreiben, erzeugt die CPU 10 eine Datenschreibadresse auf der Adressignalleitung 116, legt die Schreibdaten auf die Datensignalleitung 115 und schaltet das Schreibanforderungssignal auf Leitung 110 ein. Die Daten werden in den cache-Speicher 11 und entweder dem Arbeitsspeicher 2, dem gemeinsamen Speicher 8 oder der Eingabe/Ausgabesteuerschaltung 3 eingeschrieben. Nach dem Ende des Einschreibvorgangs wird das Ende-Signal auf Leitung 112 eingeschaltet, wie dies beim Datenlesen der Fall war, und die CPU 10 beendet die Verwendung des Adressignals auf Leitung 116 oder des Datensignals auf Leitung 115 und schaltet außerdem das Schreibanforderungssignal auf Leitung 110 aus.
Als nächstes wird die zum Einschreiben von Daten erforderliche Operation beschrieben. Wenn das Lesesignal 111 nicht eingeschaltet wird, hält die cache-Speichersteuerschaltung 13 das Schaltersteuersignal 119 ausgeschaltet und teilt dem cache-Speicher 11 mit, daß die Datensignalleitungen 115 und 122 zu verbinden sind. Auf diesen Befehl hin werden die Schreibdaten von der CPU 10 zum Systembus 100 über die Leitung 115 und 122 und zur MMU 9 übertragen.
Wenn das Schreibanforderungssignal 110 eingeschaltet wird, sendet die Lese/Schreibsteuerschaltung 14 das Schreibanforderungssignal 110 an die MMU 9 und an den Systembus 100. Dann wird die Adresse auf der Adresssignalleitung durch die MMU 9 umgewandelt und dem Systembus 100 zugesendet. Der Arbeitsspeicher 2 ist mit dem Systembus 100 über die Schreibanforderungssignalleitung 154 verbunden. Auf das Adressignal 159 und das Schreibanforderungssignal 154 führt die Arbeitsspeichersteuerschaltung 21 dieselbe Operation wie beim Datenlesen aus, mit der Ausnahme, daß sie die Arbeitsspeichereinheit 22 so steuert, daß die Datensignale 152 an der entsprechenden Adressteile der Arbeitsspeichereinheit 22 eingeschrieben werden. Das heißt, daß die Arbeitsspeichersteuerschaltung 21 das ACK-Signal 158 einschaltet, wenn die Datenschreiboperation beendet ist. Deshalb wird das ACK-Signal 128 eingeschaltet, und das Ende-Signal 112 der CPU 10 über das ODER-Glied 15 zugeführt. Das RMA-Signal 127 bleibt ausgeschaltet.
Auch während der Zeit, während der die Daten eingeschrieben werden, prüft der cache-Speicher 11, ob die Daten der logischen Adressen auf der Leitung 116 eingespeichert wurden und erzeugt, falls das Prüfergebnis dies bestätigt, ein Gültigkeitsbitsignal auf Leitung 121. Mit dem Einschalten der ACK-Signalleitung 128 wird die RMA-Signalleitung 127 ausgeschaltet, das Schreibanforderungssignal 110 ist eingeschaltet und die cache-Speichersteuerschaltung 113 schaltet das Schreibanforderungssignal 118 ein, unabhängig von der Anwesenheit des Gültigkeitsbitsignals auf Leitung 121. Wenn das Gültigkeitsbitsignal 121 eingeschaltet ist, schaltet die cache-Speichersteuerschaltung 13 das Signal 120 aus und ersetzt die Daten im cache-Speicher 11 an einer durch die Adresse auf der Leitugn 116 gekennzeichneten Stelle durch die Daten auf der Leitung 115. Wenn das Signal 121 ausgeschaltet bleibt, schaltet die cache-Speichersteuer-
-29- 3502H7
schaltung 13 jedoch das neue Eintragsschreibsignal 120 ein, löscht eines der bereits eingespeicherten Daten und speichert die Schreibadresse auf der Leitung 116 und die Daten auf der Leitung 115 an der Stelle ein, wo die gelöschten Daten gespeichert waren.
Wenn die von der CPU 10 erzeugten Daten in das Steuerregister 75, das Datenregister 77 oder das Statusregister 67 in der Eingabe/ Ausgabesteuerschaltung 3 einzuschreiben sind, erfaßt die Eingabe/Ausgabesteuerschaltung 3, ob die Anforderung vom Adressignal 139 und das Schreibsignal 134, das von der Leitung 125 über den Bus 110 übertragen wurde, vorhanden sind. Dann schreibt die Eingabe/ Ausgabesteuerschaltung 3 das Datensignal 132 in ein gekennzeichnetes Register und schaltet das ACK-Signal 138 und das RMA-Signal 137 ein. Auch wenn das Signal 110 und das ACK-Signal 128 eingeschaltet ist, schaltet die cache-Speichersteuerschaltung 13 nicht das Schreibfreigabesignal 118 ein, wenn das RMA-Signal 127 eingeschaltet ist.Deshalb werden die Adressen und die Daten des Steuerregisters 75, des Datenregisters 77 oder des Statusregisters 67 in der Eingabe/Ausgabesteuerschaltung 3 nicht in dem cache-Speicher 11 eingeschrieben.
Beim Lesen der Daten vom oder Einschreiben der Daten in das Steuerregister 75, das Datenregister 77 oder das Statusregister 67 in der Eingabe/Ausgabesteuerschaltung 3 prüft der cache-Speicher 11, ob die Daten darin gespeichert sind. Da jedoch von den drei Registern keine Daten gespeichert wurden, bleibt das Gültigkeitsbitsignal 121 immer ausgeschaltet. Wenn Daten auszulesen sind, werden diese von den drei Registern und nicht vom cache-Speicher 11 ausgelesen.
Demgemäß kann das Eingeben und Ausgeben von Daten,auch wenn hier ein cache-Speicher vorgesehen ist, ohne jede Inkonsistenz im Speichertabellen-Eingabe/Ausgabe-System gesteuert werden .
Wenn von der CPU 10 erzeugte Daten in den Bereich der gemeinsamen Speichereinheit 82 zum Nachrichtenverkehr zwischen der MPU 1 und der MPUX 1A eingeschrieben werden sollen, antwortet die gemeinsame Speichersteuerschaltung 81 auf die Adressen auf der Leitung 149 und die Schreibanforderung auf der Leitung 144, die mit der Leitung 124 für das Schreibanforderungssignal über den Bus 100 verbunden ist und führt eine Operation gleich der Datenleseoperation zum Lesen von Daten aus der gemeinsamen Speichereinheit 82 aus, mit der Ausnahme, daß die Steuerschaltung 81 für den gemeinsamen Speicher 8 die Speichereinheit 82 so steuert, daß diese die Daten auf der Leitung 142 einspeichert. Der Betrieb des cache-Speichers ist der gleiche wie beim Datenschreiben in die Eingabe/ Ausgabesteuerschaltung 3.
Als nächstes wird das Einschreiben in die MMU 9 erläutert. Falls das Schreibanforderungssignal 124 der MMU zugeführt wird, werden die Daten in eine der zwei Tabellen 901 und 902 eingeschrieben, falls die Adresse auf der Leitung 116 in einen Bereich von A7 bis Ag-1 fällt. Auch in diesem Fall wird das ACK-Signal und das RMA-Signal wie beim Lesen der Adresszuordnungstabelle 9 erzeugt, so daß in den cache-Speicher 11 nichts eingeschrieben wird. Die MMU 9 erzeugt ein Freigabesignal auf der Leitung 126. Auf den Empfang des Freigabesignals 126 schaltet die cache-Speichersteuerschaltung 13 das Löschsignal 117 ein und macht alle cache-Speicher 11 ungültig. Aufgrund dieses Löschvorgangs wird die Beziehung zwischen den Daten an den logischen Adressen im cache-Speicher 11 und den Daten an den physikalischen Adressen im Speicher aufrecht-
erhalten. Wenn man beispielsweise annimmt, daß die Daten an einer logischen Adresse 100 im cache-Speicher 11 gespeichert sind, und falls diese ausgelesenen Daten, die Daten an der physikalischen Adresse 1000 entsprechen, wegen der Adressumsetzung durch Neuschreiben der Adressumsetztabelle nun der Adresse 500 entsprechen, werden die Daten an der physikalischen Adresse 1000 im cache-Speicher 11 ausgelesen, wenn der Prozessor die Daten der Adresse 100 liest, woraus dann eine Inkonsistenz entsteht. Beim Oberschreiben der Adressumsetztabelle wird das Freigabesignal erzeugt, das den cache-Speicher 11 ungültig macht. Damit wird dieses Problem vermieden.
Nun werden anhand der Figuren 6 bis 10 Schaltungseinzelheiten der Hauptblöcke von Figur 5 beschrieben.
Figur 6 zeigt ein Schaltbild des cache-Speichers 11, der einen Assoziativspeicher 16, einen Zähler 17, ein UND-Glied 18 und einen Schalter 19 aufweist. Der Assoziativspeicher 16 hat eine Vielzahl von Einträgen, die jeweils eine Adresse, Daten und ein Gültigkeitsbit speichern. Wenn am Anfangsbetriebsschritt des Systems das Löschsignal 117 eingeschaltet wird, werden die effektiven Bits des Assoziativspeichers 16 ausgeschaltet und der Speicher gelöscht. Wenn im cache-Speicher 11 geprüft wird, ob Daten vorhanden sind, liest der Assoziativspeicher 16 eine Datengruppe und ein Gültigkeitsbit eines Eintrags aus, der eine Adresse speichert, die mit dem Adressignal 116 auf den internen Signalleitungen 160 und 121 übereinstimmt. Wenn keine gleiche Adresse vorhanden ist, wird das Signal 121 ausgeschaltet. Der Assoziativspeicher 16 führt eine Schreiboperation aus, wenn ein Schreibfreigabesignal 118 eingeschaltet ist. Wenn das Neueintrags-Schreibsignal aus ist, wird das Datensignal 115 in ein Datenfeld eines Eintrags geschrieben, dessen gespeicherte
3502H7
Adresse mit dem Adressignal 116 übereinstimmt, und das Gültigkeitsbit dieses Eintrags wird eingeschaltet. Wenn das Neueintragssignal 120 ein ist, werden das Adresssignal 116 und das Datensignal 115 in die vom Adresszähler 17 angegebene Speicherstelle eingeschrieben und das Gültigkeitsbit eingeschaltet. In diesem Falle wird der Ausgang des UND-Glieds 18, das dem Schreibfreigabesignal 118 folgt und das Neueintragsschreibsignal 120 eingeschaltet, und der Zähler 17 wird mit +1 inkrementiert. Das heißt, daß, wenn ein Adressignal, Daten und ein Gültigkeitsbit dem Assoziativspeicher 16 einzuspeichern sind, der Zähler 17 sequentiell den für das Einschreiben der Daten zu verwendenden Eingang verändert. Der Schalter 19 ist ein Zweirichtungsschalter, der zum einen, wenn das Schaltersteuersignal 119 ein ist, die Datensignalleitung 116 mit der Datensignalleitung 115 verbindet und wenn das Schaltersteuersignal 119 aus ist, die Datensignalleitung 122 mit der Datensignalleitung 115 verbindet.
Figur 7 zeigt ein Schaltbild der cache-Speichersteuerschaltung 13, die aus ODER-Gliedern 51 und 53, UND-Gliedern 52 und 54, Invertern 50 und 220 und einer Latch-Schaltung 55 besteht. Die UND-Glieder 52, das ODER-Glied 53 und der Inverter 50 erzeugen das Schreibfreigabesignal 118 auf das Leseanforderungssignal 111 hin oder das Schreibanforderungssignal 110 und teilen auf das ACK-Signal 128 und ein invertiertes Signal vom RMA-Signal 127 hin, dem cache-Speicher 11 mit, eine Schreiboperation auszuführen. Es muß hervorgehoben werden, daß das Schreibfreigabesignal 118 nicht erzeugt wird, wenn das RMA-Signal 127 ein ist.
Das ODER-Glied 51 erzeugt auf das Rücksetzsignal 113 oder das Freigabesignal 126 hin das Löschsignal 117, um den cache-Speicher 11 ungültig zu machen. Das UND-Glied 54 antwortet auf das Leseanforderungssignal 11 und ein verzögertes Signal des Gültigkeitsbitsignals 121, das von der latche-Schaltung 55 verzögert wurde, die das Gültigkeitsbitsignal 121 bis die aus dem Arbeitsspeicher 2 ausgelesenen Daten den cache-Speicher 11 erreichen, verzögert. Das Neueintragsschreibsignal 120 erzeugt der Inverter 220 auf das verzögerte Signal des Gültigkeitsbitsignals 121 und zeigt dem cache-Speicher 11 an, einen neuen Daten-, Adress- und Gültigkeitsbitsignaleintrag einzuschreiben.
Figur 8 zeigt ein Schaltbild der Lese/Schreibsteuerschaltung 14, die aus einer Verzögerungsschaltung 56, UND-Glieder 57, 58 und einem Inverter 59 besteht. Das Schreibanforderungssignal 110 wird durch die Lese/Schreibsteuerschaltung 14 geleitet und liefert dem Bus 100 das Schreibanforderungssignal 110 (Figur 5).
Das UND-Glied 58 erzeugt das Leseanforderungssignal 125 auf das Leseanforderungssignal 111, das die Verzögerungsschaltung 56 verzögert hat und auf ein vom Inverter 59 invertiertes Gültigkeitsbitsignal 121. Das UND-Glied 57 liefert das Ende-Signal 114 auf das Gültigkeitsbitsignal 121 und auf das verzögerte Signal des Leseanforderungssignals 111 hin. Die Verzögerungsschaltung 56 ist so ausgelegt, daß zum Gültigkeitsbitsignal 121 von den UND-Gliedern 57 und 58 nicht zugegriffen werden kann, bis das Gültigkeitsbitsignal 121 als Ergebnis der Adressprüfung vom cache-Speicher 11 bestimmt ist.
Figur 9 zeigt ein Schaltbild der Eingabe/Ausgabesteuerschaltung 3, die aus einem Decodierer 60, UND-Glieder 63, 65, 66,
76, 78, 79, ODER-Gliedern 64, 90, Tristate-Pufferverstärkern 68 und 88 , Pufferverstärkern 61, 62 mit offenem Emitter, einem Statusregister 67, dem Steuerregister 75 und dem Datenregister 77 besteht. Das Statusregister 67 empfängt von der Eingabe/Ausgabeeinrichtung über die Leitung 400 Statusdaten.
Das Steuerregister 75 sendet seinen Inhalt an die Eingabe/ Ausgabeeinrichtung 4 über die Leitung 410, um die Eingabe/ Ausgabeeeinrichtung 4 zu steuern.
Das Datenregister 77 empfängt von der MPU 1 über die Leitung 132 Daten und sendet diese der Eingabe/Ausgabeeinrichtung 4 über die Leitung 420 oder umgekehrt.
Der Decodierer 60 decodiert das Adressignal 139 und unterscheidet, ob die Eingabe/Ausgabesteuerschaltung 3 gewählt ist oder nicht und unterscheidet außerdem, welches Register gewählt ist. Wenn die Adresse 139 gleich A4, A5 oder A6 ist, wie Figur 13 zeigt, heißt dies, daß das Statusregister 67, das Steuerregister 75 oder das Datenregister 77 jeweils gewählt ist. Wenn der Decodierer 60 erfaßt, daß die Adresse 139 gleich A4 ist, schaltet er die Leitung 300A ein.
Wenn dem Statusregister 67 Daten einzuschreiben sind, das ist, wenn die Schreibanforderung auf der Leitung 134 liegt, wird der Ausgang des UND-Glieds 65 eingeschaltet und legt die Daten auf die Leitung 132. Wenn Daten vom Statusregister 67 zu lesen sind, das ist der Fall, wenn die Leitung 135 die Leseanforderung führt, wird der Ausgang des UND-Glieds 66 und damit der Tristate-Puffer 68 eingeschaltet, der die Daten des Statusregisters 67 an die Datensignalleitung 132 überträgt. Das ODER-Glied 90 sendet das RMA-Signal auf der Leitung 300 D auf das Signal auf der Leitung 300A
hin und sendet damit das RMA-Signal mittels eines Pufferverstärkers 61 mit offenem Emitter über die Leitung 137 aus. Das UND-Glied 63 empfängt des Ausgang des ODER-Glieds 64, das entweder das Leseanforderungssignal 135 oder das Schreibanforderungssignal 134 empfängt. Auf diese Weise erzeugen die Glieder 63 und 64 das ACK-Signal auf das RMA-Signal auf der Leitung 300D und das Leseanforderungssignal 135 hin und ermöglichen dem Puffer 62 das ACK-Signal auf der Leitung 138 abzugeben.
Wenn die Adresse auf der Leitung 139 gleich A5 ist, schaltet der Decoder 60 die Leitung 300 B ein. Das UND-Glied wird durch das Signal auf der Leitung 300B freigegeben, wenn die Schreibanforderung von der Leitung 134 geliefert wird. Wenn das UND-Glied 76 freigegeben ist, empfängt das Steuerregister 75 die Daten auf der Leitung 132 abhängig vom Ausgang des UND-Glieds 76. Das RMA-Signal 137 und das ACK-Signal 138 werden abhängig vom Signal auf der Leitung 300B und von der Schreibanforderung auf der Leitung 134 wie im Falle der Wahl des Statusregisters 76 erzeugt. Wenn die Adresse 139 gleich A6 ist, gibt der Decoder 60 die Leitung 300C und damit die UND-Glieder 78 und 79 frei, wenn das Schreibanforderungssignal 134 oder das Leseanforderungssignal 135 geliefert werden. Der Tristate-Pufferverstärker 88 wird abhängig von einem Ausgang des UND-Glieds 79 freigegeben, wenn diesem das Leseanforderungssignal 135 anliegt und ermöglicht damit das Auslesen der Daten aus dem Datenregister 77 über die Leitung 132. Der Ausgang des UND-Glieds 78 gibt das Datenregister 77 frei und Daten über die Leitung 132 im Datenregister 77 zu speichern, falls die Schreibanforderung auf der Leitung dem UND-Glied 78 anliegt. Das ACK-Signal 138 und das RMA-Signal 137 werden abhängig von einem Ausgang des ODER-Glieds 90 erzeugt, das freigegeben wird, wenn die Leitung 300C freigegeben ist.
35021A7
Figur 10 zeigt ein Schaltbild der Steuerschaltung 81 des gemeinsamen Speichers 8, die aus Dekodierern 69 und 80, Pufferverstärkern 86 und 87 mit offenem Emitter, einem ODER-Glied 83, einem UND-Glied 84 und einer Zeitsteuerschaltung 85 besteht. Der Dekodierer 69 erfaßt, ob der gemeinsame Speicher 8 gewählt ist, das heißt, ob die Adresse auf der Leitung 149 im Bereich A1 bis A3-1 liegt, schaltet daraufhin die Leitung 810 ein und sendet die auf der Leitung 149 liegende Adresse an die gemeinsame Speichereinheit 82 über die Leitung 800, wenn das Erfassungsergebnis des Dekodierers 69 wahr ist. Der Dekodierer 80 erfaßt, ob die Speicherstelle, zu der unter der Adresse auf der Leitung 149 zugegriffen werden soll, im Adressbereich A2 bis A3-1 zum Nachrichtenaustausch liegt. Wenn dieser besondere Bereich gewählt ist, sendet der Decodierer 80 das RMA-Signal. Der Pufferverstärker 86 mit offenem Emitter legt das RMA-Signal auf die Leitung 147. Der Ausgang des ODER-Glieds 83 wird nur eingeschaltet, wenn ein Leseanforderungssignal 145 oder ein Schreibanforderungssignal 144 vorhanden ist. Das UND-Glied 84 antwortet auf das Signal 810 und den Ausgang des ODER-Glieds 83 und aktiviert die Zeitsteuerschaltung 85 nur, wenn zum gemeinsamen Speicher 8 zugegriffen wird.
Die Zeitsteuerschaltung 85 antwortet auf das Schreibanforderungssignal 144 und das Leseanforderungssignal 145, wenn ein freigebender Ausgang des UND-Glieds 84 anliegt und erzeugt Steuersignale auf der Leitung 820, die für den Zugriff zur gemeinsamen Speichereinheit 82 benötigt werden. Ferner erzeugt sie das ACK-Signal zum Ende der Operation. Das ACK-Signal wird über den Pufferverstärker 87 mit offenem Emitter auf die Leitung 148 gelegt.
Figur 11 zeigt ein Schaltbild der Arbeitsspeichersteuerschaltung 21, in dem Bezugsziffern mit einem Strich dieselbe
Schaltung oder dasselbe Schaltelement wie das mit derselben Bezugsziffer in Figur 10 angibt. Ein Vergleich der Schaltung von Figur 10 mit der Schaltung in Figur 11 ergibt, daß sich die Arbeitsspeichersteuerschaltung 21 von der gemeinsamen Speichersteuerschaltung 81 darin unterscheidet, daß der Dekoder 80 von Figur 10, der das RMA-Signal erzeugt, in der Arbeitsspeichersteuerschaltung 21 nicht enthalten ist.
Figur 12 zeigt ein Schaltbild der MMU 9, deren Adresszuordnungstabe He 90 auf die logischen Adressen 116 hin die physikalischen Adressen 129 mittels der logischen Adresstabelle 901 und der physikalischen Adresstabelle erzeugt. Der Dekodierer 91 antwortet auf die logischen Adressen 116 und schaltet jeweils die Leitung 163 oder 161 ein, abhängig davon, ob die Adresse 116 zum Adreßbereich A7 bis A8-1 oder zum Adreßbereich A8 bis A9-1 gehört. Der Dekodierer 91 erzeugt außerdem ein Zeilenwählsignal 162, wenn zu einer der zwei Tabellen 901 und 902 mittels der Adresse 116 zugegriffen werden soll.
Falls eine Schreibanfrage zur logischen Adresstabelle vorliegt, wird das UND-Glied 92 freigegeben, da ihm das Schreibanforderungssignal 124 und das Auswahlssignal für die logische Adresstabelle anliegen. Deshalb werden die Daten 122 in eine Zeile der logischen Adresstabelle 901 (die durch das Signal 162 gekennzeichnet ist) eingeschrieben.
In gleicher Weise wird im Falle einer Schreibanforderung für die physikalische Adresstabelle 902 das UND-Glied eingeschaltet und die Daten 122 in die physikalische Adresstabelle 902 eingeschrieben. Wenn eines der UND-Glieder 92 bzw. 93 eingeschaltet ist, erzeugt das ODER-Glied 94 das Freigabesignal auf der Leitung 126. Außerdem
wird der Ausgang des ODER-Glieds 94 jeweils zu den Leitungen 128 bzw. 127 als ACK-Signal und RMA-Signal mittels des ODER-Glieds 98 und des Pufferverstärkers 89 mit offenem Emitter bzw. mittels des ODER-Glieds 98 und des Pufferverstärkers 99 mit offenem Emitter übertragen.
Bei einer Leseanforderung zur logischen Adresstabelle wird jeweils die logische Adresse und die physikalische Adresse in einer vom Zeilensignal 162 gekennzeichneten Zeile in der logischen Adresstabelle 901 und der physikalischen Adresstabelle 902 über die Tristate-Puffer 73 und 74 ausgelesen. Wenn die Adresse 116 für die logische Adresstabelle 901 gilt, wird das UND-Glied 96 eingeschaltet und die ausgelesene logische Adresse zur Datensignalleitung 122 mittels des freigegebenen Tristate-Puffer 73 übertragen.
In gleicher Weise wird bei der Leseanforderung zur physikalischen Adresstabelle 902 das UND-Glied 95 eingeschaltet und die ausgelesene physikalische Adresse auf die Datensignalleitung 122 gelegt. Wenn das UND-Glied 95 oder das UND-Glied 96 eingeschaltet ist, erzeugen die Ausgänge dieser beiden UND-Glieder das ACK-Signal und das RMA-Signal jeweils auf den Leitungen 127 und 128 mittels der ODER-Glieder 97 bzw. 98 und der Pufferverstärkere mit offenem Emitter 89 und 99.
Die obige Beschreibung macht deutlich, daß erfindungsgemäß verhindert wird, wenn der Prozessor zu einem Speicher zugreift, der einen besonderen Bereich enthält, dessen Inhalte abhängig von verschiedenen Faktoren geändert werden, wie beim Speichertabellen-E/A-System und beim Multiprozessorsystem, daß der cache-Speicher die Daten zum Zeitpunkt des Zugriffs zum besonderen Bereich erhält und einspeichert, so daß keine Inkonsistenz zwischen den Daten, zu denen zugegriffen wurde, auftreten kann.
3502H7
Deshalb kann vorteilhafterweise ein einen cache-Speicher verwendendes System verbessert werden, wobei die Vorteile des Speichertabellen-E/A-Systems, das die Eingabe/ Ausgabeeinrichtungen abhängig von allgemeinen Befehlen genau steuert, als auch die Vorteile des Multiprozessorsystems, das eine Last wirksam verteilt, aufrechterhalten werden können.
Beim beschriebenen erfindungsgemäßen Ausführungsbeispiel enthält der Mikroprozessor 1 den cache-Speicher 11 und die cache-Speichersteuerschaltung 13. Außerdem empfängt die cache-Speichersteuerschaltung 13 im Mikroprozessor 1 das RMA-Signal, das verhindert, daß die Daten in den cache-Speicher 11 eingeschrieben werden. Deshalb kann der cache-Speicher unabhängig vom Mikroprozessor 1 mit der Voraussetzung, daß die einen besonderen Bereich betreffenden Daten nicht eingeschrieben werden, ausgebildet sein. Dementsprechend ist der Aufbau eines allgemein verwendbaren Mikroprozessorsystems möglich.
Die bekannte Steuerschaltung für den gemeinsamen Speicher oder die Steuerschaltung für die E/A-Einrichtung hat keinen Schaltungsteil, der das RMA-Signal , das über die Leitungen 137 bzw. 147 geführt ist, erzeugt. Dies bedeutet, daß die bekannte Steuerschaltung für den gemeinsamen Speicher und dergleichen nicht mit dem in Figur 5 dargestellten Mikroprozessor 1 ohne Modifikation verwendet werden kann.
Figur 14 zeigt ein weiteres Ausführungsbeispiel eines Datenverarbeitungssystems gemäß der Erfindung, bei dem die bekannte Steuerschaltung für den gemeinsamen Speicher und dergleichen mit der Mikroprozessoreinheit 1A gemäß der Erfindung verbindbar ist. Figur 14 zeigt nur den inneren Aufbau der Mikroprozessoreinheit MPU 1A. Die
Mikroprozessoreinheit 1A ist mit dem Arbeitsspeicher 2, dem gemeinsamen Speicher 8 und der E/A-Steuerung 3 mit geringfügigen Modifikationen der beiden zuletzt genannten Schaltungen verbunden.
Dieselben Bezugsziffern in Figur 14 wie die in Figur 5 bis 8 bezeichnen dieselben Schaltungselemente.
Die Mikroprozessoreinheit 1A in Figur 14 unterscheidet sich von der Mikroprozessoreinheit 1 in Figur 5 nur darin, daß die Mikroprozessoreinheit 1A einen Schaltungsteil aufweist, der das im Ausführungsbeispiel von Figur 5 verwendete RMA-Signal erzeugt. In Figur 14 ist der Schaltungsteil, der das Löschen des cache-Speichers 11 oder das Freigeben des cache-Speichers 11 betrifft, zur Vereinfachung nicht dargestellt.
Die Register 302 bis 307, die Decodierer 314 bis 316 und ein ODER-Glied 320 erzeugen das RMA-Signal auf der Leitung 127, wie dies nachstehend im einzelnen erläutert ist.
Deshalb braucht die Mikroprozessoreinheit 1A das RMA-Signal nicht von außerhalb zu empfangen. Aus diesem Grunde können die Steuerschaltung für den gemeinsamen Speicher, die Steuerschaltung für den Arbeitsspeicher und die E/A-Steuerschaltung, die alle in Figur 14 nicht gezeigt sind, wenn sie mit der Mikroprozessoreinheit 1A verbunden werden sollen, unverändert verwendet werden und brauchen keine Schaltungsteile, die das RMA-Signal erzeugen.
Beim ersten Operationsschritt des Systems setzt die CPU 10 die Adressuntergrenze A2 und die Adressobergrenze A3-1 des Nachrichtenverkehrsbereichs des in Figur 13
gezeigten logischen Adressbereichs jeweils in die Register 302 und 303. In gleicher Weise setzt die CPU die Adressen A4 und A6 (Figur 13) jeweils in die Register 304 und 305. Die CPU setzt außerdem die Adressen A7 und A9-1 jeweils in die Register 306 und 307. In diesem Zusammenhang soll Figur 13 eine Speichertabelle für logische Adressen des Ausführungsbeispiels von Figur 14 darstellen.
Wenn die CPU 10 ein Leseanforderungssignal 111 oder ein Schreibanforderungssignal 110 ausgibt, gibt sie ebenfalls die dem ausgegebenen Anforderungssignal zugehörige logische Adresse auf die Leitung 116. Der Dekoder 314 erzeugt das RMA-Signal, wenn die auf die Leitung 116 gegebene logische Adresse in den durch die Register 304 und 305 angegebenen Adressbereich von A2 + A3-1 fällt. Der Dekoder 315 erzeugt das RMA-Signal, wenn die auf der Leitung 116 ausgegebene logische Adresse in den durch die Register 306 und 307 angegebenen Adressbereich von A4 bis A6 fällt.
Der Dekoder 316 erzeugt das RMA-Signal, wenn die auf der Leitung 116 ausgegebene logische Adresse in einen von A7 bis A9-1 reichenden Adressbereich, den die Register 306 und 307 angeben, fällt.
Das von einem der Dekodierer 314 bis 316 erzeugte RMA-Signal wird zum Inverter 50 über das ODER-Glied 320 geleitet. Wenn das RMA-Signal auf der Leitung 127 liegt, werden die Daten nicht eingeschrieben, genau in der gleichen Weise wie dies in Verbindung mit dem Ausführungsbeispiel von Figur 5 erläutert wurde.
Da der Betrieb der Mikroprozessoreinheit 1A derselbe wie der der Mikroprozessoreinheit 1 von Figur 5 ist, kann zur
3502H7
Vereinfachung eine genaue Erläuterung des Betriebs der Mikroprozessoreinheit 1A entfallen.
Gemäß dem in Figur 14 dargestellten Ausführungsbeispiel kann die CPU 10 die Adressen in die Register 302 bis 307, in dem sie Programmbefehle ausführt, setzen. Deshalb kann dieses Ausführungsbeispiel in jedem System angewendet werden, das besondere Adressbereiche hat, deren Daten nicht in den cache-Speicher eingeschrieben werden sollen, und die bekannte Steuerschaltung für den gemeinsamen Speicher oder für die I/O-Einrichtung braucht keinen Schaltungsteil zur Erzeugung des RMA-Signals. Da die Mikroprozessoreinheit IA keine äußere Signalleitung zum Empfang des RMA-Signals benötigt, verringert dies die Stiftzahl für die Mikroprozessoreinheit 1A, die für äußere Signale benötigt wird.
Die Anzahl äußerer Schaltungen, die mit der Mikroprozessoreinheit IA verbindbar sind, ist jedoch durch die Anzahl der Register 302 bis 307 und die Decodierer 314 bis 316 begrenzt. Diese Einschränkung ist beim Ausführungsbeispiel von Figur 5 nicht vorhanden.
- Lee
iriii'te -

Claims (1)

  1. Patentansprüche
    1. Datenverarbeitungssystem
    gekennzeichnet durch
    eine erste Speichereinheit (3; 22; 82), die Daten speichert;
    eine Zentralverarbeitungseinheit (CPU 10 ; MPUX 1A), die mit der ersten Speichereinheit verbunden ist und Befehle ausführt, die zur ersten Speichereinheit zu Adressen, die zu einem ersten bzw. zweiten Speicherbereich in der erstenSpeichereinheit gehören, zugreift;
    eine mit der ersten Speichereinheit verbundene zweite Speichereinheit (11), zu deren Speicherplätzen durch von der Zentralverarbeitungseinheit ausgeführte Befehle zugegriffen wird, die eine erste Einrichtung (13) enthält; die ein Gültigkeitsbitsignal (V) erzeugt, wenn die zweite Speichereinheit (11) bereits Daten eines Speicherplatzes, zu dem mittels einer Zugriffsadresse und einer Leseanforderung, die die Zentralverarbeitungseinheit als Ergebnis eines Befehls erzeugt, speichert,
    eine Leseeinrichtung (13; 14; 21; 81), die mit der ■ Zentralverarbeitungseinheit sowie der ersten und der zweiten Speichereinheit verbunden ist und aus diesen Daten auf die Leseanforderung und die Zugriffsadresse ausliest, wobei bei für die Zugriffsadresse nicht erzeug-
    680-318301927DE1/At/Al
    ten Gültigkeitsbitsignal (V) aus der ersten Speichereinheit und bei erzeugtem Gültigkeitsbitsignal (V) aus der zweiten Speichereinheit (11) gelesen wird;
    eine mit der Zentralverarbeitungseinheit verbundene zweite Einrichtung (9), die erfaßt, ob die Zugriffsadresse einen Speicherplatz im zweiten Speicherbereich adressiert; und
    eine Schreibeinrichtung (13), die mit der Zentralverarbeitungseinheit, die Leseeinrichtung und der zweiten Einrichtung verbunden ist und die auf die Leseanforderung und die Zugriffsadresse hin ausgelesenen Daten in die zweite Speichereinheit (11) nur einschreibt, wenn die zweite Einrichtung (9) erfaßt, daß die Adresse nicht den zweiten Speicherbereich adressiert.
    2. Datenverarbeitungsystem nach Anspruch 1, dadurch gekennzeichnet, daß die Leseeinrichtung (14, 21, 81) aufweist:
    eine Lesesteuereinrichtung (14), die mit der Zentralverarbeitungseinheit und der zweiten Einrichtung (9) verbunden ist und, wenn die erste Einrichtung (13) das Gültigkeitsbitsignal nicht erzeugt, die Leseanforderung und die Zugriffsadresse an die erste Speichereinheit sendet; und
    eine Speicherzugriffseinrichtung (21; 81), die mit der ersten Speichereinheit verbunden ist und Daten aus dieser auf die übertragene Leseanforderung und die Zugriff sadresse hin ausliest; un<i
    die zweite Einrichtung (9) eine mit der Speicherzugriff seinrichtung verbundene Erfassungseinrichtung (91) enthält, die aufgrund der der Speicherzugriffseinrichtung zugesendeten Zugriffsadresse erfaßt, ob diese den zweiten Speicherbereich adressiert.
    3502H7
    3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß die Speicherzugriffseinrichtung aufweist:
    eine erste und zweite Zugriffseinrichtung (21, 81), die jeweils mit dem ersten und zweiten Bereich der ersten Speichereinheit verbunden sind und auf die übertragene Zugriffsadresse hin jeweils abhängig davon, ob die Zugriffsadresse dem ersten oder zweiten Bereich der ersten Speichereinheit zugeordnet ist, ein Lesesignal dem ersten und zweiten Speicherbereich zuführen; und
    die Erfassungseinrichtung (91) mit der zweiten Zugriffseinrichtung verbunden ist und auf die dieser zugesendete Zugriffsadresse anspricht.
    4. Datenverarbeitungssystem nach Anspruch 3, weiterhin gekennzeichnet durch
    einen mit der Leseeinrichtung, der Schreibeinrichtung, der ersten und zweiten Zugriffseinrichtung und der zweiten Einrichtung verbundenen Signalbus (100), der die Lesezugriff sanf orderung und die Zugriffsadresse von der Lesesteuereinrichtung an die erste und zweite Zugriffseinrichtung sowie ein das Erfassungsergebnis der zweiten Einrichtung angebendes Signal an die Schreibsteuereinrichtung überträgt.
    5. Datenverarbeitungssystem nach Anspruch 4, weiterhin gekennzeichnet durch
    eine Eingabe/Ausgabeeinrichtung (3, 4), die mit dem Signalbus (100) verbunden ist und der Zentralverarbeitungseinheit einzugebende Daten auf den Bus legt oder von der Zentralverarbeitungseinheit ausgegebene Daten vom Bus empfängt, wobei
    3502Η7
    der erste Speicherbereich der ersten Speichereinheit einen Arbeitsspeicher (22) der Zentralverarbeitungseinheit und
    der zweite Speicherbereich der ersten Speichereinheit zumindest ein Register als Zustandsregister, das einen Betriebszustand der Eingabe/Ausgabeeinrichtung angibt oder als Datenregister, das von der Eingabe/Ausgabeeinrichtung gelieferte Daten speichert, enthält.
    Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet, daß es eine zweite Zentralverarbeitungseinheit (MPUX 1A) aufweist, die mit dem Bus (100) verbunden ist und Befehle ausführt; und
    der erste Speicherbereich der ersten Speichereinheit ein Arbeitsspeicher (22) der Zentralverarbeitungseinheit und der zweite Speicherbereich der ersten Speichereinheit ein gemeinsamer Speicherbereich (82) ist, der Daten speichert, die zwischen der ersten Zentralverarbeitungseinheit (1 ) und der zweiten Zentralverarbeitungseinheit (MPUX 1A) ausgetauscht werden.
    Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet, daß der erste Bereich (22) der ersten Speichereinheit einen Arbeitsspeicher (22) der Zentralverarbeitungseinheit aufweist, und
    der zweite Bereich (82) der ersten Speichereinheit eine Adreßzuordnungstabelle aufweist, die Daten enthält, die zur Umsetzung einer von der Zentralverarbeitungseinheit erzeugten logischen Zugriffsadresse in eine physikalische Zugriffsadresse verwendet werden.
    8. Datenverarbeitungssystem nach Anspruch 7, weiterhin gekennzeichnet durch
    eine mit der Zentralverarbeitungseinheit verbundene dritte Einrichtung, die auf die Schreibanforderung und eine zugehörige Zugriffsadresse hin, die die Zentralverarbeitungseinheit erzeugt, von der Zentralverarbeitungseinheit erzeugte Daten in die Adreßzuordnungstabelle einschreibt, wenn die zugehörige Zugriffsadresse die Speicherplätze der Tabelle adressiert,
    eine Einrichtung, die ein Freigabesignal erzeugt, wenn die dritte Einrichtung Daten in die Tabelle einschreibt, und
    eine vierte Einrichtung, die mit der das Freigabesignal erzeugenden Einrichtung verbunden ist und auf das Freigabesignal hin die bereits in der zweiten Speichereinheit (11) gespeicherten Daten ungültig macht.
    9. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Leseeinrichtung aufweist:
    eine Lesesteuereinrichtung, die mit der Zentralverarbeitungseinheit und der zweiten Einrichtung verbunden ist und wenn die erste Einrichtung (13) kein Gültigkeitsbitsignal erzeugt, die Leseanforderung und die Zugriffsadresse zur ersten Speichereinheit überträgt;
    eine Speicherzugriffseinrichtung, die mit der ersten Speichereinheit verbunden ist und Daten aus der ersten Speichereinheit auf die übertragene Leseanforderung und Zugriffsadresse hin ausliest und einen Endeindikator aufweist, der ein Endesignal erzeugt, wenn das Auslesen der Daten aus der ersten Speichereinheit beendet ist, um das Ende der Leseoperation der Schreibeinrichtung mitzuteilen, die eine mit der Lesesteuereinrichtung und der zweiten Einrichtung verbundene Schreib-
    steuereinrichtung aufweist, die die ausgelesenen Daten in die zweite Speichereinheit (11) einschreibt, wenn das Endesignal empfangen und das Erfassungsergebnis der zweiten Einrichtung falsch ist und nicht in die zweite Speichereinheit (11) einschreibt, wenn das Endesignal empfangen und das Erfassungsergebnis der zweiten Einrichtung wahr ist.
    10. Datenverarbeitungssystem nach Anspruch 9, dadurch gekennzeichnet, daß die zweite Einrichtung eine mit der Lesesteuereinrichtung verbundene Indikatoreinrichtung aufweist, die auf die Leseanforderung und die Zugriffsadresse ein Auswahlkennzeichnungssignal erzeugt, wenn die Zugriffsadresse zum zweiten Speicherbereich der ersten Speichereinheit gehört, um einen selektiven Zugriff zum zweiten Bereich der ersten Speichereinheit mittels der Zugriffsadresse der Schreibeinrichtung anzugeben, wobei die Schreibsteuereinrichtung eine mit der Lesesteuereinrichtung und der Auswahlindikatoreinrichtung verbundene Einrichtung enthält, die die ausgelesenen Daten in die zweite Speichereinrichtung bei Empfang des Endekennzeichnungssignals, wenn das Auswahlkennzeichnungssignal nicht empfangen wurde, einschreibt und nicht einschreibt, wenn das Ende-Kennzeichnungssignal und das Auswahlkennzeichnungssignal empfangen wurde.
    11. Datenverarbeitungssystem nach Anspruch 10, dadurch gekennzeichnet, daß die Speicherzugriffseinrichtung aufweist:
    eine erste und eine zweite Zugriffseinrichtung, die jeweils mit dem ersten Speicherbereich und dem zweiten Speicherbereich der ersten Speichereinheit verbunden
    sind, um aus diesen Speicherbereichen
    Daten auf eine Leseanforderung hin jeweils abhängig von einer zum ersten Bereich bzw. zum zweiten Bereich der ersten Speichereinheit gehörigen Zugriffsadresse hin auszulesen, wobei
    der Ende-Indikator eine erste und zweite Indikatoreinheit aufweist, die jeweils der ersten und zweiten Zugriffseinrichtung zugehören und jeweils ein Ende-Kennzeichnungssignal erzeugen, wenn das Auslesen jeweils des ersten Speicherbereichs und des zweiten Speicherbereichs beendet ist und wobei die in der Schreibsteuereinrichtung enthaltene Einrichtung jeweils das erste und das zweite Endesignal empfängt.
    12. Datenverarbeitungssystem nach Anspruch 11, weiterhin gekennzeichnet durch einen mit der Leseeinrichtung, der Schreibeinrichtung, der ersten und zweiten Zugriffseinrichtung und der zweiten Einrichtung verbundenen Signalbus (100), über den die Leseanforderung und die Zugriffsadresse von der Lesesteuereinrichtung zur ersten und zweiten Zugriffseinrichtung sowie eine Zugriffsadresse von der Lesesteuereinrichtung zur zweiten Einrichtung, das erste und das zweite Ende-Kennzeichnungssignal an die Schreibsteuereinrichtung als einzelnes Ende-Kennzeichnungssignal und das Auswahlkennzeichnungssignal von der zweiten Einrichtung an die in der Schreibsteuereinrichtung enthaltene Einrichtung übertragen werden.
    13. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß die Leseeinrichtung enthält:
    eine Lesesteuereinrichtung , die mit der Zentralverarbeitungseinheit und der zweiten Einrichtung verbunden
    ist und wenn die zweite Speichereinheit das Gültigkeitsbitsignal nicht erzeugt und die Zentralverarbeitungseinheit eine Leseanforderung erzeugt, die Leseanforderung und die Zugriffsadresse der ersten Speichereinheit zusendet,
    eine erste und zweite Zugriffseinrichtung, die jeweils mit dem ersten Speicherbereich und dem zweiten Speicherbereich der ersten Speichereinheit verbunden sind und jeweils Daten aus dem ersten Bereich und dem zweiten Bereich der ersten Speichereinheit jeweils abhängig von der Leseanforderung und eine dem ersten oder dem zweiten Bereich der ersten Speichereinheit zugehörige Zugriffsadresse hin auslesen, und
    einen mit der Lesesteuereinrichtung, der Schreibeinrichtung, der ersten und zweiten Zugriffseinrichtung und der zweiten Einrichtung verbundenen Signalbus, der die Leseanforderung und die Zugriffsadresse von der Lesesteuereinrichtung an die erste und zweite Zugriffseinrichtung überträgt, wobei die zweite Einrichtung mit einem Signalleitungsteil verbunden ist, der die Zugriffsadresse, die die Zentralprozessoreinheit erzeugt hat, zum Bus überträgt.
DE19853502147 1984-01-23 1985-01-23 Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung Granted DE3502147A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP59008572A JPH0630074B2 (ja) 1984-01-23 1984-01-23 プロセッサ
JP59110764A JPH06100984B2 (ja) 1984-06-01 1984-06-01 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
DE3502147A1 true DE3502147A1 (de) 1985-08-08
DE3502147C2 DE3502147C2 (de) 1987-10-01

Family

ID=26343109

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853502147 Granted DE3502147A1 (de) 1984-01-23 1985-01-23 Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung

Country Status (2)

Country Link
US (7) US5148526A (de)
DE (1) DE3502147A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5259803A (en) * 1991-04-09 1993-11-09 Lyman Ronald L Toy construction set featuring gears and radiant connectors
EP0598570A2 (de) * 1992-11-13 1994-05-25 Cyrix Corporation Adressbereichkonfigurationsystem und Verfahren zur Steuerung von Speichersystemoperationen mittels Adressbereichen

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838946A (en) * 1990-04-14 1998-11-17 Sun Microsystems, Inc. Method and apparatus for accomplishing processor read of selected information through a cache memory
JP3169599B2 (ja) * 1990-08-03 2001-05-28 株式会社日立製作所 半導体装置、その駆動方法、その読み出し方法
JP3230898B2 (ja) * 1993-06-02 2001-11-19 シャープ株式会社 データ駆動型情報処理システム
JP2634141B2 (ja) * 1994-01-19 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
US5900014A (en) * 1994-12-08 1999-05-04 Ast Research, Inc. External means of overriding and controlling cacheability attribute of selected CPU accesses to monitor instruction and data streams
US5983025A (en) * 1995-06-07 1999-11-09 International Business Machines Corporation Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
GB2302604B (en) * 1995-06-23 2000-02-16 Advanced Risc Mach Ltd Data memory access control
JPH0916472A (ja) * 1995-07-04 1997-01-17 Fujitsu Ltd キャッシュメモリ試験方法
JP3123413B2 (ja) * 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
KR0174711B1 (ko) * 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
US6298355B1 (en) * 1996-09-20 2001-10-02 Hitachi, Ltd. Computer system
US5870109A (en) * 1997-06-06 1999-02-09 Digital Equipment Corporation Graphic system with read/write overlap detector
US6014737A (en) * 1997-11-19 2000-01-11 Sony Corporation Of Japan Method and system for allowing a processor to perform read bypassing while automatically maintaining input/output data integrity
JP2000181796A (ja) * 1998-12-14 2000-06-30 Nec Corp 情報処理装置
US20050268019A1 (en) * 2004-06-01 2005-12-01 Che-Hui Chang Chien [interface and system for transmitting real-time data ]
KR100792213B1 (ko) * 2005-08-11 2008-01-07 삼성전자주식회사 메모리 컨트롤러와 메모리를 인터페이싱하는 랩퍼 회로
US8510509B2 (en) * 2007-12-18 2013-08-13 International Business Machines Corporation Data transfer to memory over an input/output (I/O) interconnect
US20090327564A1 (en) * 2008-06-30 2009-12-31 Nagabhushan Chitlur Method and apparatus of implementing control and status registers using coherent system memory
CN104317728B (zh) * 2014-10-13 2018-03-23 大唐移动通信设备有限公司 一种安全复位存储设备的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
US4161024A (en) * 1977-12-22 1979-07-10 Honeywell Information Systems Inc. Private cache-to-CPU interface in a bus oriented data processing system
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
JPS54128634A (en) * 1978-03-30 1979-10-05 Toshiba Corp Cash memory control system
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4264953A (en) * 1979-03-30 1981-04-28 Honeywell Inc. Virtual cache
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
JPS5714636A (en) * 1980-06-13 1982-01-25 Exxon Research Engineering Co Chlorinated butyl rubber/brominated butyl rubber blend compound with improved adhesive properties
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage
US4445170A (en) * 1981-03-19 1984-04-24 Zilog, Inc. Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
JPS5848289A (ja) * 1981-09-17 1983-03-22 Fuji Electric Co Ltd バツフアメモリ制御方式
WO1984002409A1 (en) * 1982-12-09 1984-06-21 Sequoia Systems Inc Memory backup system
US4467921A (en) * 1983-04-08 1984-08-28 Colgate-Palmolive Company Visually clear dentifrice

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5259803A (en) * 1991-04-09 1993-11-09 Lyman Ronald L Toy construction set featuring gears and radiant connectors
EP0598570A2 (de) * 1992-11-13 1994-05-25 Cyrix Corporation Adressbereichkonfigurationsystem und Verfahren zur Steuerung von Speichersystemoperationen mittels Adressbereichen
EP0598570A3 (de) * 1992-11-13 1994-11-09 Cyrix Corp Adressbereichkonfigurationsystem und Verfahren zur Steuerung von Speichersystemoperationen mittels Adressbereichen.

Also Published As

Publication number Publication date
US5822761A (en) 1998-10-13
US5479625A (en) 1995-12-26
US5619677A (en) 1997-04-08
US6381680B1 (en) 2002-04-30
DE3502147C2 (de) 1987-10-01
US5509133A (en) 1996-04-16
US5502825A (en) 1996-03-26
US5148526A (en) 1992-09-15

Similar Documents

Publication Publication Date Title
DE3502147A1 (de) Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
DE3146356C2 (de) Vorrichtung zur Steuerung der Übertragung von Gerätesteuerinformation in einem Datenendgerät
DE3011552C2 (de)
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE2641741C2 (de) Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
DE4010384C2 (de) Verfahren zur Burst-Datenübertragung
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
CH617781A5 (de)
DE2844357A1 (de) Speichererweiterung
CH620306A5 (de)
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
EP1249744A1 (de) Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
DE4123550C2 (de) Informationsverarbeitungssystem mit direktem Speicherzugriff
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE3012951A1 (de) Datenverarbeitungssystem
DE69822364T2 (de) Aufspürung von heissen Stellen in einer Maschine mit nichtuniformen Speicherzugriffen
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3936339C2 (de) DMA-Controller
DE3247083A1 (de) Mehrprozessorsystem
DE3200042C2 (de)
DE2824557C2 (de) Anordnung in Mikroprozessoren für den Aufbau von Multiprozessor-Systemen
DE69334046T2 (de) Cache-Speichervorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition