DE3502147C2 - - Google Patents
Info
- Publication number
- DE3502147C2 DE3502147C2 DE3502147A DE3502147A DE3502147C2 DE 3502147 C2 DE3502147 C2 DE 3502147C2 DE 3502147 A DE3502147 A DE 3502147A DE 3502147 A DE3502147 A DE 3502147A DE 3502147 C2 DE3502147 C2 DE 3502147C2
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing 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
Die Erfindung betrifft ein Datenverarbeitungssystem mit
Pufferspeicher gemäß dem Oberbegriff des Anspruchs 1. Es ist
insbesondere für Mikroprozessoren, die ein auf einer Speichertabelle
beruhendes Ein/Ausgabe-System aufweisen und für
einen gemeinsamen Speicher aufweisende Multiprozessorsysteme
geeignet.
Ein Datenverarbeitungssystem mit Puffer-(Cache-)Speicher
gemäß dem Oberbegriff des Anspruchs 1 ist aus der US-PS
44 10 944 bekannt.
Zunächst wird der Stand der Technik allgemein anhand der
Fig. 1 bis 4 erläutert. 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/Ausgabebefehle zur
Steuerung der Ein/Ausgabeeinrichtungen.
Ein Blockschaltbild eines solchen Speichertabellen-E/A-Systems
ist in Fig. 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
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/Ausgabeeinrichtungen 4 und 6,
wenn deren eigene Zustände sich ändern, die in den (nicht
gezeigten) Zustandsregistern in den Eingabe/Ausgabesteuerschaltungen
3 und 5 gespeicherte 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 Startbild 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-Systems
(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 Adreßraum 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
Fig. 2 erläutertes Problem, die ein Blockschaltbild
eines mit einem Pufferspeicher ausgerüsteten Speichertabellen-E/A-System
zeigt.
In Fig. 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. Wenn 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 Fig. 3 und 4
dargestellten Blockschaltbildern beschrieben.
Fig. 3 zeigt ein System, das aus Prozessoren 1 und 7,
Ortsspeichern 2 und 2′, die nur jeweils für den Prozessor 1
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,
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 11 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.
Fig. 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 2
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 Fig. 4 dargestellte
System ist somit dasselbe wie das in Fig. 3 dargestellte,
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äß Fig. 3 und Fig. 4
die Prozessoren 1 und 7 allgemeine Pufferspeicher 11 und 71
aufweisen, ergibt sich folgendes Problem: Wenn beispielsweise
der Prozessor 1 zur Übertragung einer Nachricht die
Daten in einen Bereich einschreibt, werden, sowie die Daten
eingeschrieben 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 ein Datenverarbeitungssystem gemäß dem Oberbegriff des
Anspruchs 1 offenbarende US-PS 44 10 944 verwendet, um die
Datenkoinzidenz zwischen dem Inhalt eines einem jeweiligen
Prozessor zugeordneten Pufferspeichers (Cache-Speicher) und
dem Inhalt von durch mehrere Prozessoren gemeinsam benutzten
Speicherbereichen aufrechtzuerhalten, zwischen diesen und
den Cache-Speichern ausgetauschte Schlüsselworte jeweils für
Schreib- und Leseoperationen der einzelnen Prozessoren. Die
Schlüsselworte werden jeweils mittels einer Vergleichslogik
auf Koinzidenz geprüft und bei vorliegender Nichtkoinzidenz
wird ein Auffrischvorgang sowohl für den einem Prozessor zugeordneten
als auch für den einem anderen Prozessor zugeordneten
Cache-Speicher einschließlich der zum Vergleich dienenden
Schlüsselworte eingeleitet.
In jedem gemeinsamen Speicher ist die genannte Schlüsselwort-Vergleichslogik
einzeln für jeden angeschlossenen Prozessor,
der zum gemeinsamen Speicher zugreift, vorgesehen.
Die daraus sich ergebende, bekannte Lösung, ist zwar wirkungsvoll
zur Aufrechterhaltung der Datenkoinzidenz, jedoch
sehr aufwendig. Eine Lösung zur Aufrechterhaltung der Datenkoinzidenz
für ein nur einen einzigen Prozessor aufweisendes
Datenverarbeitungssystem mit dem genannten Speichertabellen-E/A-System
ist in der US-PS 44 10 944 nicht offenbart.
Es ist Aufgabe der Erfindung, ein Datenverarbeitungssystem,
wie ein Speichertabellen-E/A-System oder ein Multiprozessorsystem
mit allgemein verwendbaren Mikroprozessoren zu ermöglichen,
bei denen in vereinfachter Weise ein Datenzugriff
ohne Inkonsistenz, auch wenn die Mikroprozessoren Cache-Speicher
zur Erhöhung der Leistung aufweisen, bei gleichzeitiger
Verringerung der Stiftzahl des Mikroprozessorchips
möglich ist.
Die obige Aufgabe wird bei einem Datenverarbeitungssystem
mit Pufferspeicher gemäß dem Oberbegriff des Anspruchs 1
erfindungsgemäß durch die in seinem Kennzeichen angegebenen
Merkmale gelöst.
Die Unteransprüche 2 bis 12 kennzeichnen vorteilhafte Weiterbildungen
davon.
Die Erfindung wird im folgenden anhand der Zeichnungen näher
beschrieben. Es zeigen:
Fig. 5 ein Blockschaltbild eines Ausführungsbeispiels gemäß
der Erfindung.
Fig. 6 ein Schaltbild eines in Fig. 5 gezeigten Cache-Speichers;
Fig. 7 ein Schaltbild einer Cache-Speichersteuerschaltung
aus Fig. 5;
Fig. 8 ein Schaltbild einer in Fig. 5 dargestellten Lese/Schreibsteuerschaltung;
Fig. 9 ein Schaltbild einer Eingabe/Ausgabesteuerschaltung
aus Fig. 5;
Fig. 10 ein Schaltbild einer gemeinsamen Speichersteuerschaltung
aus Fig. 5;
Fig. 11 ein Schaltbild einer Arbeitsspeichersteuerschaltung
aus Fig. 5;
Fig. 12 ein Schaltbild einer Speicherverwaltungseinheit
aus Fig. 5;
Fig. 13 eine im System von Fig. 5 verwendeten Adreßtabelle; und
Fig. 14 ein Schaltbild eines weiteren Ausführungsbeispiels
gemäß der Erfindung.
Im folgenden wird ein erstes Ausführungsbeispiel gemäß
der Erfindung anhand der Fig. 5 bis 13 erläutert.
Fig. 5 zeigt ein Blockschaltbild der Struktur eines erfindungsgemäßen
Ausführungsbeispiels, und die Fig.
6 bis 12 zeigen Schaltbilder der Blöcke in Fig. 5.
Das in Fig. 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 1 A (weiterhin als MPUX bezeichnet),
der mit dem Systembus verbunden ist und eine
zugehörige Speicherverwaltungseinheit 9 A aufweist.
Die MPU 1 besteht aus einer Zentralverarbeitungseinheit
(CPU) 10, die Befehle ausführt, einem cache-Speicher (Pufferspeicher) 11,
einer cache-Speichersteuerschaltung 13, eine Lese/Schreibsteuerschaltung
14 und einem ODER-Glied 15. Die MPU 1 ist
mit der MMU 9 über eine Adreßsignalleitung 116, eine Datensignalleitung
122, eine Lesesignalleitung 125, eine Schreibsignalleitung
110, eine Freigabe(PURGE)-Signalleitung 126,
eine ACK-Signalleitung 128 und eine RMA-Signalleitung 127 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 Adreßzuordner für ein virtuelles
Speichersystem darstellt, setzt eine von der CPU 10
auf eine Leitung 116 gelegte logische Adresse auf der
Basis einer Adreßzuordnungstabelle 900, die logische und
physikalische Adreßtabellen 901 und 902 enthält, in
eine physikalische Adresse um und sendet diese an den
Systembus 100 über eine Adreßsignalleitung 129.
Der Arbeitsspeicher 2 weist eine Arbeitsspeichersteuerschaltung
21 und eine Arbeitsspeichereinheit 22 auf und
ist mit dem Systembus 100 über eine Datensignalleitung
152, eine Adreßsignalleitung 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
Adreßsignalleitung 149, eine Lesesignalleitung 145,
eine Schreibsignalleitung 144, eine ACK-Signalleitung 148
und eine RMA-Signalleitung 147 verbunden. Der gemeinsame
Speicher 8 speichert Daten für den Verkehr zwischen der
MPU 1 und der MPUX 1 A, sowie Befehle und Daten, die von
der MPUX 1 A zu verarbeiten sind.
Die Eingabe/Ausgabesteuerschaltung 3 ist mit dem Systembus 100
durch eine Datensignalleitung 132, eine Adreßsignalleitung
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 Fig. 13 ist eine im System von Fig. 5 verwendete
Adreßtabelle dargestellt. Dem Arbeitsspeicher 2 sind
Adressen von 0 bis A 1-1 und dem gemeinsamen Speicher 8
Adressen von A 1 bis A 3-1 zugeteilt. Der Adreßbereich
von A 2-A 3-1 innerhalb des gemeinsamen Speichers 8 ist
ein Bereich für den Nachrichtenverkehr zwischen der MPU 1
und der MPUX 1 A. Das Statusregister 67, das Steuerregister
75 und das Datenregister 77 sind jeweils mit den Adressen
A 4, A 5 und A 6 versehen. Die logische Adreßtabelle 910
und die physikalische Adreßtabelle 902 der Adreßzuordnungstabelle
90 in der MMU 9 erhalten jeweils Adressen
A 7 bis A 8-1 und A 8 bis A 9-1.
Nachfolgend wird das Hauptprinzip des Speichertabellen-E/A-Systems
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 Unterbrechungsssignal der MPU 1
liefert, in Fig. 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 Fig. 5 dargestellten
Systems erläutert. Nach Einschalten der Stromversorgung
und nachdem die Schaltung in Fig. 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
Adreßsignalleitung 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 Lese-
oder 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 Adresssignal
auf der Leitung 116. Deshalb wird die Adreßsignalleitung
111 ausgeschaltet und der Lesevorgang ist beendet.
Der cache-Speicher 11 prüft, ob in ihm Daten für die auf
der Adresssignalleitung 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 Assoziationsspeicher
16 (Fig. 6) aus und legt sie auf eine
innere Leitung 160 (Fig. 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 (Fig. 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 (Fig. 6).
Inzwischen trifft die Lese-Schreibsteuerschaltung 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 112
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 Systembus 100 durch die Leitung 129 zugeführt
wird. Auf das Adreßsignal 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 Adreßleitung 159 für den Arbeitsspeicher
2 gilt und wenn dies der Fall ist, das heißt,
wenn die Adresse zwischen 0 und A 1-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 Arbeitsspeichersteuerschaltung
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
(Fig. 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 zu 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,
das Datenregister 77 oder das Statusregister 67 in der
Eingabe/Ausgabesteuerschaltung 3 aufgrund des Adreßsignals
139 und des Leseanforderungssignals 135 auszulesen sind.
Wenn dies der Fall ist, das heißt, wenn die Adresse einen
der Werte A 4, A 5 oder A 6 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 (Fig. 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 Adreßsignal 129
und Leseanforderungssignal 125 jeweils über den Bus
und die Leitung 149 bzw. den Bus und die Leitung 145
empfängt. Der gemeinsame Speicher 8 ist in zwei Bereiche
eingeteilt, das ist ein Adreßbereich von A 2 bis A 3-1
zum Nachrichtenverkehr zwischen der MPU 1 und der MPUX 1 A
und ein Bereich der von Adresse A 1 bis A2-1 reicht, um
Befehle und Daten zu speichern, die von der MPUX 1 A zu
verarbeiten sind. Die MPU 1 greift nur zum Bereich für
den Nachrichtenaustausch zu. Wenn die gemeinsame Speichersteuerung
81 aufgrund des Adreßsignals 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 132
zu legen und schaltet das RMA-Signal auf der Leitung 147
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 10 zugesendet,
jedoch nicht im cache-Speicher 11 der MPU 1 abgespeichert.
Falls die MPUX 1 A in derselben Weise aufgebaut ist, wie
die MPU 1, kann die MPUX 1 A zu den Daten im Bereich für
den Nachrichtenaustausch über den Bus 100 in derselben
Weise zugreifen, und die aus dem gemeinsamen Speicher 82
ausgelesenen Daten werden im (nicht gezeigten) cache-Speicher
der MPUX 1 A abgespeichert. Andererseits schaltet,
wenn die MPUX 1 A zu Daten in einem Bereich, der für die
MPUX 1 A Befehle und Daten speichert, zugreift, die gemeinsame
Speichersteuerungsschaltung 81 das RMA-Siganl 147 aus.
Deshalb schreibt die MPUX 1 A 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ß dieselben Steuerfunktion auch wenn drei oder mehr
Prozessoren verwendet werden, erzielt werden kann.
Als nächstes wird der Zugriff zu der in der MMU 9 enthaltenen
Adreßzuordnungstabelle 900 erläutert. Das Leseanforderungssignal
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
Adreßtabelle 901 oder der physikalischen Adreßtabelle
902 zugeteilten Adreßbereichs ist, das heißt
im Falle der Fig. 13 die Adreßbereiche von A₇ bis A₈-1
oder von A₈ bis A₉-1. In diesem Falle führt die MMU 9
keine Adreßumsetzung 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.
Der cache-Speicher 11 wird so gesteuert, daß er keine
Daten aus der Tabelle 900 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 (Fig. 6) im cache-Speicher 11
die Leitung 115 mit der Leitung 122 und gibt damit
die CPU 10 zum Empfangen der aus der Adreßtabelle 90
ausgelesenen Daten frei.
Nachfolgend wird die Operation erläutert, wenn die CPU 10
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 Adreßsignalleitung 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
Adreßsignals 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 Adreßsignalleitung 116
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 Adreßsignal 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 Adreßstelle 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ültigkeitssignal 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 Leitung 116 gekennzeichneten Stelle
durch die Daten auf der Leitung 115. Wenn das Signal 121
ausgeschaltet bleibt, schaltet die cache-Speichersteuerschaltung
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 Adreßsignal 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 ASCK-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 erzeugten Daten in den Bereich der gemeinsamen
Speichereinheit 82 zum Nachrichtenverkehr zwischen
der MPU 1 und der MPUX 1 A 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 11
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 9
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 A₇ bis A₉-1 fällt. Auch
in diesem Fall wird das ACK-Signal und das RMA-Signal
wie beim Lesen der Adreßzuordnungstabelle 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 aufrechterhalten.
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 Überschreiben der Adreßumsetztabelle
wird das Freigabesignal erzeugt, das den cache-Speicher
11 ungültig macht. Damit wird dieses Problem vermieden.
Nun werden anhand der Fig. 6 bis 10 Schaltungseinzelheiten
der Hauptblöcke von Fig. 5 beschrieben.
Fig. 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 Adreßsignal 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 eine
Datenfeld eines Eintrags geschrieben, dessen gespeicherte
Adresse mit dem Adreßsignal 116 übereinstimmt, und das
Gültigkeitsbit dieses Eintrags wird eingeschaltet.
Wenn das Neueintragssignal 120 ein ist, werden das Adreßsignal
116 und das Datensignal 115 in die vom Adreßzä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 Adreßsignal, 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.
Fig. 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 Lesesignal 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 auf die aus dem Arbeitsspeicher
2 ausgelesenen Daten der 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.
Fig. 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 (Fig. 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 Adreßprüfung vom cache-Speicher 11 bestimmt
ist.
Fig. 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/Ausgabeeinrichtung
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 Adreßsignal 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 A 4, A 5 oder A 6 ist,
wie Fig. 13 zeigt, heißt dies, daß das Statusregister 67,
das Steuerregister 75 oder das Datenregister 77
jweils gewählt ist. Wenn der Decodierer 60 erfaßt, daß
die Adresse 139 gleich A 4 ist, schaltet er die Leitung 300 A
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 300 A
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 den 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 300 D 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 A 5 ist, schaltet
der Decoder 60 die Leitung 300 B ein. Das UND-Glied 76
wird durch das Signal auf der Leitung 300 B 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
300 B und von der Schreibanforderung auf der Leitung 134
wie im Falle der Wahl des Statusregisters 76 erzeugt.
Wenn die Adresse 139 gleich A 6 ist, gibt der Decoder 60
die Leitung 300 C 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 134
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
300 C freigegeben ist.
Fig. 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 A 1 bis A 3-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 Adreßbereich A 2 bis A 3-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 die das ACK-Signal zum Ende der Operation.
Das ACK-Signal wird über den Pufferverstärker 87 mit
offenem Emitter auf die Leitung 148 gelegt.
Fig. 11 zeigt ein Schaltbild der Arbeitsspeichersteuerschaltung
21 , in dem Bezugsziffern mit einem Strich dieselbe
Schaltung oder dasselbe Schaltelement wie das mit derselben
Bezugsziffer in Fig. 10 angibt. Ein Vergleich der
Schaltung von Fig. 10 mit der Schaltung in Fig. 11
ergibt, daß sich die Arbeitsspeichersteuerschaltung 21
von der gemeinsamen Speichersteuerschaltung 81 darin
unterscheidet, daß der Dekoder 80 von Fig. 10, der das
RMA-Signal erzeugt, in der Arbeitsspeichersteuerschaltung
21 nicht enthalten ist.
Fig. 12 zeigt ein Schaltbild der MMU 9, deren Adreßzuordnungstabelle
90 auf die logiaschen Adressen 116 hin
die physikalischen Adressen 129 mittels der logischen
Adreßtabelle 901 und der physikalischen Adreßtabelle 902
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
A 7 bis A 8-1 oder zum Adreßbereich A 8 bis A 9-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 Adreßtabelle 901
vorliegt, wird das UND-Glied 92 freigegeben, da ihm das
Schreibanforderungssignal 124 und das Auswahlsignal 163
für die logische Adreßtabelle anliegen. Deshalb werden
die Daten 122 in eine Zeile der logischen Adreßtabelle
901 (die durch das Signal 162 gekennzeichnet ist) eingeschrieben.
In gleicher Weise wird im Falle einer Schreibanforderung
für die physikalische Adreßtabelle 902 das UND-Glied 93
eingeschaltet und die Daten 122 in die physikalische
Adreßtabelle 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 Adreßtabelle 901
wird jeweils die logische Adresse und die physikalische
Adresse in einer vom Zeilensignal 162 gekennzeichneten
Zeile in der logischen Adreßtabelle 901 und der physikalischen
Adreßtabelle 902 über die Tristate-Puffer 73
und 74 ausgelesen. Wenn die Adresse 116 für die logische
Adreßtabelle 901 gilt, wird das UND-Glied 96 eingeschaltet
und die ausgelesene logische Adresse zur Datensignalleitung
122 mittels des freigegebenen Tristate-Puffers 73
übertragen.
In gleicher Weise wird bei der Leseanforderung zur physikalischen
Adreßtabelle 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ärker mit offenem
Emitter 89 und 99.
Die obige Beschreibung macht deutlich, daß gemäß dem Ausführungsbeispiel
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.
Deshalb kann vorteilhafterweise ein einen cache-Speicher
verwendendes System verbessert werden, wobei die Vorteile
des Speichertabellen-E/A-Systems, das die Eingabe/Ausgabereinrichtungen
abhängig von allgemeinen Befehlen
genau steuert, als auch die Vorteile des Multiprozessorsystems,
das eine Last wirksam verteilt, aufrechterhalten
werden können.
Bei 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 Mikroporzessor 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 Fig. 5
dargestellten Mikroprozessor 1 ohne Modifikation verwendet
werden kann.
Fig. 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 1 A gemäß
der Erfindung verbindbar ist. Fig. 14 zeigt nur den
inneren Aufbau der Mikroprozessoreinheit MPU 1 A. Die
Mikroprozessoreinheit 1 A 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 Fig. 14 wie die in Fig. 5 bis
8 bezeichnen dieselben Schaltungselemente.
Die Mikroprozessoreinheit 1 A in Fig. 4 unterscheidet
sich von der Mikroprozessoreinheit 1 in Fig. 5 nur darin,
daß die Mikroprozessoreinheit 1 A einen Schaltungsteil
aufweist, der das im Ausführungsbeispiel von Fig. 5
verwendete RMA-Signal erzeugt. In Fig. 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 1 A 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 Fig. 14 nicht
gezeigt sind, wenn sie mit der Mikroprozessoreinheit 1 A
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 Adreßuntergrenze A 2 und die Adreßobergrenze
A 3-1 des Nachrichtenverkehrsbereichs des in Fig. 13
gezeigten logischen Adreßbereichs jeweils in die Register
302 und 303. In gleicher Weise setzt die CPU die
Adressen A 4 und A 6 (Fig. 13) jeweils in die Register
304 und 305. Die CPU setzt außerdem die Adressen A 7 und
A 9-1 jeweils in die Register 306 und 307. In diesem Zusammenhang
soll Fig. 13 eine Speichertabelle für logische
Adressen des Ausführungsbeispiels von Fig. 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 Adreßbereich von A 2 + 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 Adreßbereich
von A 4 bis A 6 fällt.
Der Dekoder 316 erzeugt das RMA-Signal, wenn die auf der
Leitung 116 ausgegebene logische Adresse in einen von
A 7 bis A 9-1 reichenden Adreßbereich, 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 Fig. 5 erläutert wurde.
Da der Betrieb der Mikroprozessoreinheit 1 A derselbe wie
der der Mikroprozessoreinheit 1 von Fig. 5 ist, kann zur
Vereinfachung eine genaue Erläuterung des Betriebs der
Mikroprozessoreinheit 1 A entfallen.
Gemäß dem in Fig. 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 Adreßbereiche 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 1 A keine äußere Signalleitung
zum Empfang des RMA-Signals benötigt, verringert
dies die Stiftzahl für die Mikroprozessoreinheit 1 A,
die für äußere Signale benötigt wird.
Die Anzahl äußerer Schaltungen, die mit der Mikroprozessoreinheit
1 A 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 Fig. 5 nicht vorhanden.
Claims (14)
1. Datenverarbeitungssystem
mit einer ersten Speichereinheit (2, 8), die Daten
speichert,
mindestens einer Zentralverarbeitungseinheit (CPU 10; MPUX 1 A), die mit der ersten Speichereinheit (2, 8) verbunden ist und Befehle ausführt, die zur ersten Speichereinheit zu Adressen, die zu einem ersten bzw. zweiten Speicherbereich (22, 82) der ersten Speichereinheit (2, 8) gehören, zugreifen,
einer mit der ersten Speichereinheit (2, 8) verbundenen zweiten Speichereinheit (11), zu deren Speicherplätzen durch von der Zentralverarbeitungseinheit (CPU 10) ausgeführten Befehle zugegriffen wird, die eine erste Einrichtung (16 C) 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 (CPU 10) als Ergebnis eines Befehls erzeugt, zugegriffen wird, speichert,
einer Lese-Schreibsteuereinrichtung (13, 14), die mit der Zentralverarbeitungseinheit (CPU 10) sowie der ersten und der zweiten Speichereinheit (2, 8, 11) verbunden ist und aus diesen Daten auf eine Leseanforderung und die Zugriffsadresse hin ausliest, wobei für die Zugriffsadresse nicht erzeugtem Gültigkeitsbitsignal (V) aus der ersten Speichereinheit (2, 8) und bei erzeugtem Gültigkeitsbitsignal (V) aus der zweiten Speichereinheit (11) gelesen wird,
einer mit der Zentralverarbeitungseinheit (CPU 10) verbundenen Speicherverwaltungseinrichtung (MMU 9), die erfaßt, ob die Zugriffsadresse einen Speicherplatz im zweiten Speicherbereich (82) adressiert und
einer Lese-Schreibsteuereinrichtung (13, 14), die mit der Zentralverarbeitungseinheit (CPU 10), der Lesesteuereinrichtung und der Speicherverwaltungseinrichtung (MMU 9) verbunden ist,
mindestens einer Zentralverarbeitungseinheit (CPU 10; MPUX 1 A), die mit der ersten Speichereinheit (2, 8) verbunden ist und Befehle ausführt, die zur ersten Speichereinheit zu Adressen, die zu einem ersten bzw. zweiten Speicherbereich (22, 82) der ersten Speichereinheit (2, 8) gehören, zugreifen,
einer mit der ersten Speichereinheit (2, 8) verbundenen zweiten Speichereinheit (11), zu deren Speicherplätzen durch von der Zentralverarbeitungseinheit (CPU 10) ausgeführten Befehle zugegriffen wird, die eine erste Einrichtung (16 C) 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 (CPU 10) als Ergebnis eines Befehls erzeugt, zugegriffen wird, speichert,
einer Lese-Schreibsteuereinrichtung (13, 14), die mit der Zentralverarbeitungseinheit (CPU 10) sowie der ersten und der zweiten Speichereinheit (2, 8, 11) verbunden ist und aus diesen Daten auf eine Leseanforderung und die Zugriffsadresse hin ausliest, wobei für die Zugriffsadresse nicht erzeugtem Gültigkeitsbitsignal (V) aus der ersten Speichereinheit (2, 8) und bei erzeugtem Gültigkeitsbitsignal (V) aus der zweiten Speichereinheit (11) gelesen wird,
einer mit der Zentralverarbeitungseinheit (CPU 10) verbundenen Speicherverwaltungseinrichtung (MMU 9), die erfaßt, ob die Zugriffsadresse einen Speicherplatz im zweiten Speicherbereich (82) adressiert und
einer Lese-Schreibsteuereinrichtung (13, 14), die mit der Zentralverarbeitungseinheit (CPU 10), der Lesesteuereinrichtung und der Speicherverwaltungseinrichtung (MMU 9) verbunden ist,
dadurch gekennzeichnet,
daß die Lese-Schreibsteuereinrichtung (13, 14) auf die Leseanforderung
und die Zugriffsadresse hin ausgelesene
Daten in die Speichereinheit (11) nur einschreibt,
wenn die Speicherverwaltungseinrichtung
(MMU 9) erfaßt, daß die Adresse nicht den zweiten
Speicherbereich (82) adressiert.
2. Datenverarbeitungssystem nach Anspruch 1,
dadurch gekennzeichnet, daß
die Lese-Schreibsteuereinrichtung (13, 14),
wenn die erste Einrichtung (16 C) das Gültigkeitsbitsignal (V) nicht erzeugt, die Leseanforderung und die Zugriffsadresse an die erste Speichereinheit (2, 8) sendet, und
eine Speicherzugriffseinrichtung (21, 81) mit der ersten Speichereinheit (2, 8) verbunden ist und Daten aus dieser auf die übertragene Leseanforderung und die Zugriffsadresse hin ausliest, und
die Speicherverwaltungseinrichtung (MMU 9) eine mit der Speicherzugriffseinrichtung (21, 81) verbundene Erfassungseinrichtung (90) enthält, die aufgrund der der Speicherzugriffseinrichtung (21, 81) zugesendeten Zugriffsadresse erfaßt, ob diese den zweiten Speicherbereich (82) adressiert.
die Lese-Schreibsteuereinrichtung (13, 14),
wenn die erste Einrichtung (16 C) das Gültigkeitsbitsignal (V) nicht erzeugt, die Leseanforderung und die Zugriffsadresse an die erste Speichereinheit (2, 8) sendet, und
eine Speicherzugriffseinrichtung (21, 81) mit der ersten Speichereinheit (2, 8) verbunden ist und Daten aus dieser auf die übertragene Leseanforderung und die Zugriffsadresse hin ausliest, und
die Speicherverwaltungseinrichtung (MMU 9) eine mit der Speicherzugriffseinrichtung (21, 81) verbundene Erfassungseinrichtung (90) enthält, die aufgrund der der Speicherzugriffseinrichtung (21, 81) zugesendeten Zugriffsadresse erfaßt, ob diese den zweiten Speicherbereich (82) adressiert.
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 SpeicherBereich (22 und 82) der ersten Speichereinheit (2, 8) verbunden sind und auf die übertragene Zugriffsadresse hin jeweils abhängig davon, ob die Zugriffsadresse dem ersten oder zweiten Bereich der ersten Speichereinheit (2, 8) zugeordnet ist, ein Lesesignal dem ersten und zweiten Speicherbereich (22, 82) zuführen, und
die Erfassungseinrichtung (90) mit der zweiten Zugriffseinrichtung (81) verbunden ist und auf die dieser zugesendeten Zugriffsadressen anspricht.
eine erste und zweite Zugriffseinrichtung (21, 81), die jeweils mit dem ersten und zweiten SpeicherBereich (22 und 82) der ersten Speichereinheit (2, 8) verbunden sind und auf die übertragene Zugriffsadresse hin jeweils abhängig davon, ob die Zugriffsadresse dem ersten oder zweiten Bereich der ersten Speichereinheit (2, 8) zugeordnet ist, ein Lesesignal dem ersten und zweiten Speicherbereich (22, 82) zuführen, und
die Erfassungseinrichtung (90) mit der zweiten Zugriffseinrichtung (81) verbunden ist und auf die dieser zugesendeten Zugriffsadressen anspricht.
4. Datenverarbeitungssystem nach Anspruch 3,
gekennzeichnet durch
einen mit der Lese- und Schreibsteuereinrichtung
(13, 14) der ersten und zweiten Zugriffseinrichtung (21,
81) und der Speicherverwaltungseinrichtung (MMU 9) verbundenen
Signalbus (100), der die Lesezugriffsanforderung
und die Zugriffsadresse von der Lese-Schreibsteuereinrichtung
(13, 14) an die erste und zweite Zugriffseinrichtung
(21, 81) sowie ein das Erfassungsergebnis der Speicherverwaltungseinrichtung
(MMU 9) angebendes Signal an die
Lese-Schreibsteuereinrichtung (14) überträgt.
5. Datenverarbeitungssystem nach Anspruch 4,
gekennzeichnet durch
eine Eingabe/Ausgabeeinrichtung (3, 4), die mit dem Signalbus
(100) verbunden ist und der Zentralverarbeitungseinheit
(CPU 10) einzugebende Daten auf den Bus legt
oder von der Zentralverarbeitungseinheit (CPU 10) ausgegebene
Daten vom Bus (100) empfängt, wobei
der erste Speicherbereich (22) der ersten Speichereinheit
(2, 8) einen Arbeitsspeicher (22) der Zentralverarbeitungseinheit
(CPU 10) bildet und
der zweite Speicherbereich (82) der ersten Speichereinheit (2, 8) zumindest ein Register (67) als Zustandsregister, das einen Betriebszustand der Eingabe/Ausgabeeinrichtung (3, 4) angibt oder ein Datenregister (77), das von der Eingabe/Ausgabeeinrichtung (3, 4) gelieferte Daten speichert, enthält.
der zweite Speicherbereich (82) der ersten Speichereinheit (2, 8) zumindest ein Register (67) als Zustandsregister, das einen Betriebszustand der Eingabe/Ausgabeeinrichtung (3, 4) angibt oder ein Datenregister (77), das von der Eingabe/Ausgabeeinrichtung (3, 4) gelieferte Daten speichert, enthält.
6. Datenverarbeitungssystem nach Anspruch 4,
dadurch gekennzeichnet, daß
eine zweite Zentralverarbeitungseinheit (MPUX 1 A) vorgesehen
ist, die mit dem Signalbus (100) verbunden ist und
Befehle ausführt, und
der erste Speicherbereich (22) der ersten Speichereinheit (2, 8) einen Arbeitsspeicher (22) der ersten Zentralverarbeitungseinheit (CPU 10) bildet und der zweite Speicherbereich (82) der ersten Speichereinheit (2, 8) einen gemeinsamen Speicherbereich (Adressen A 2 bis A 3-1 in Fig. 13) aufweist, der Daten speichert, die zwischen der ersten Zentralverarbeitungseinheit (CPU 10) und der zweiten Zentralverarbeitungseinheit (MPUX 1 A) ausgetauscht werden.
der erste Speicherbereich (22) der ersten Speichereinheit (2, 8) einen Arbeitsspeicher (22) der ersten Zentralverarbeitungseinheit (CPU 10) bildet und der zweite Speicherbereich (82) der ersten Speichereinheit (2, 8) einen gemeinsamen Speicherbereich (Adressen A 2 bis A 3-1 in Fig. 13) aufweist, der Daten speichert, die zwischen der ersten Zentralverarbeitungseinheit (CPU 10) und der zweiten Zentralverarbeitungseinheit (MPUX 1 A) ausgetauscht werden.
7. Datenverarbeitungssystem nach Anspruch 3,
dadurch gekennzeichnet, daß
der erste Bereich (22) der ersten Speichereinheit (2, 8) einen
Arbeitsspeicher (22) der Zentralverarbeitungseinheit (CPU 10)
bildet, und
der zweite Bereich (82) der ersten Speichereinheit (2, 8) eine Adreßzuordnungstabelle (900; Adressen A 7 bis A 9-1 in Fig. 13) aufweist, die Daten enthält, die zur Umsetzung einer von der Zentralverarbeitungseinheit (CPU 10) erzeugten logischen Zugriffsadresse in eine physikalische Zugriffsadresse verwendet werden.
der zweite Bereich (82) der ersten Speichereinheit (2, 8) eine Adreßzuordnungstabelle (900; Adressen A 7 bis A 9-1 in Fig. 13) aufweist, die Daten enthält, die zur Umsetzung einer von der Zentralverarbeitungseinheit (CPU 10) erzeugten logischen Zugriffsadresse in eine physikalische Zugriffsadresse verwendet werden.
8. Datenverarbeitungssystem nach Anspruch 7,
dadurch gekennzeichnet, daß
die Speicherverwaltungseinrichtung (MMU 9) eine Einrichtung
(91, 92, 93), die auf eine von der Zentralverarbeitungseinheit
(CPU 10) erzeugte Schreibanforderung und eine
zugehörige Zugriffsadresse hin Daten von der Zentralverarbeitungseinheit
(CPU 10), in die Adreßzuordnungstabelle (900)
einschreibt, wenn die Zugriffsadresse die Speicherplätze
der Tabelle adressiert, und
eine Einrichtung (94) aufweist, die ein Freigabesignal erzeugt, wenn die Einrichtung (91, 92, 93) Daten in die Tabelle (900) einschreibt, wobei auf das Freigabesignal hin die bereits in der zweiten Speichereinheit (11) gespeicherten Daten ungültig gemacht werden.
eine Einrichtung (94) aufweist, die ein Freigabesignal erzeugt, wenn die Einrichtung (91, 92, 93) Daten in die Tabelle (900) einschreibt, wobei auf das Freigabesignal hin die bereits in der zweiten Speichereinheit (11) gespeicherten Daten ungültig gemacht werden.
9. Datenverarbeitungssystem nach Anspruch 2,
dadurch gekennzeichnet, daß
die Speicherzugriffseinrichtung (21, 81) einen Ende-Indikator
(85, 87 in Fig. 10) aufweist, der ein Endesignal
(ACK) erzeugt, wenn das Auslesen der Daten aus der
ersten Speichereinheit beendet ist, um das Ende der
Leseoperation der Lese-Schreibsteuereinrichtung (13, 14) mitzuteilen,
die darauf die ausgelesenen Daten in die zweite
Speichereinheit (11) einschreibt, wenn das
Erfassungsergebnis der Erfassungseinrichtung (90) der
Speicherverwaltungseinrichtung (MMU 9) falsch ist und
nicht in die zweite Speichereinheit (11) einschreibt,
wenn das Erfassungsergebnis der Erfassungseinrichtung
(90) wahr ist.
10. Datenverarbeitungssystem nach Anspruch 9,
dadurch gekennzeichnet, daß
die Speicherverwaltungseinrichtung (MMU 9) eine mit der
Lese-Schreibsteuereinrichtung (13, 14) verbundene Indikatoreinrichtung
(97, 98, 99 in Fig. 12) aufweist, die auf die
Leseanforderung und die Zugriffsadresse ein Auswahlkennzeichnungssignal
(RMA) erzeugt, wenn die Zugriffsadresse
zum zweiten Speicherbereich (82) der ersten
Speichereinheit (2, 8) gehört, um einen selektiven
Zugriff zu diesem Speicherbereich mittels der Zugriffsadresse
der Lese-Schreibsteuereinrichtung (13, 14) anzugeben,
die ihrerseits eine mit der Lesesteuereinrichtung und
der Indikatoreinrichtung (97, 98, 99) verbundene Einrichtung
(52 in Fig. 7) enthält, die
die ausgelesenen Daten in die zweite Speichereinrichtung
(11) bei Empfang des Endekennzeichnungssignals (ACK),
wenn das Auswahlkennzeichnungssignal (RMA) nicht empfangen
wurde, einschreibt und nicht einschreibt, wenn das
Endekennzeichnungssignal (ACK) und das Auswahlkennzeichnungssignal
(RMA) empfangen wurde.
11. Datenverarbeitungssystem nach Anspruch 10,
dadurch gekennzeichnet, daß
die Speicherzugriffseinrichtung aufweist:
eine erste und eine zweite Zugriffseinrichtung (21, 81),
die jeweils mit dem ersten Speicherbereich (22) und dem
zweiten Speicherbereich (82) der ersten Speichereinheit
(2, 8) 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
(21, 81) zugehören und jeweils ein
eigenes Endekennzeichnungssignal (ACK) erzeugen, wenn
das Auslesen jeweils des ersten Speicherbereichs (22) und des
zweiten Speicherbereichs (82) beendet ist und wobei die in
der Lese-Schreibsteuereinrichtung (13, 14) enthaltene Einrichtung
(52) jeweils das erste und das zweite Endekennzeichnungssignal
empfängt.
12. Datenverarbeitungssystem nach Anspruch 11,
weiterhin gekennzeichnet durch
einen mit der Schreibsteuereinrichtung (13, 14),
der ersten und zweiten Zugriffseinrichtung (21, 81) und der
zweiten Einrichtung verbundenen Signalbus (100), über
den die Leseanforderung und die Zugriffsadresse von der
Lese-Schreibsteuereinrichtung (13, 14) zur ersten und zweiten Zugriffseinrichtung
(21, 81) sowie eine Zugriffsadresse von der Lese-Schreibsteuereinrichtung
(13, 14) zur Speicherverwaltungseinrichtung
(MMU 9), das erste und das zweite Endekennzeichnungssignal
(ACK) an die Lese-Schreibsteuereinrichtung (13, 14) als einzelnes
Endekennzeichnungssignal und das Auswahlkennzeichnungssignal
(RMA) von der zweiten Einrichtung an die in der
Lese-Schreibsteuereinrichtung (13, 14) enthaltene Einrichtung
(52) übertragen werden.
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 DE3502147A1 (de) | 1985-08-08 |
DE3502147C2 true 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) |
Families Citing this family (21)
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 | 株式会社日立製作所 | 半導体装置、その駆動方法、その読み出し方法 |
US5259803A (en) * | 1991-04-09 | 1993-11-09 | Lyman Ronald L | Toy construction set featuring gears and radiant connectors |
JPH06208505A (ja) * | 1992-11-13 | 1994-07-26 | Cyrix Corp | アドレス領域によりメモリ・サブシステム動作を制御するための領域構成システム及び方法 |
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 | 大唐移动通信设备有限公司 | 一种安全复位存储设备的方法和装置 |
Family Cites Families (21)
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 |
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 |
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 |
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 |
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 |
JPS5848289A (ja) * | 1981-09-17 | 1983-03-22 | Fuji Electric Co Ltd | バツフアメモリ制御方式 |
JPS59160899A (ja) * | 1982-12-09 | 1984-09-11 | セコイア・システムス・インコ−ポレ−テツド | メモリ−・バツク・アツプ・システム |
US4467921A (en) * | 1983-04-08 | 1984-08-28 | Colgate-Palmolive Company | Visually clear dentifrice |
-
1985
- 1985-01-23 DE DE19853502147 patent/DE3502147A1/de active Granted
-
1988
- 1988-04-08 US US07/183,401 patent/US5148526A/en not_active Expired - Lifetime
-
1991
- 1991-12-11 US US07/804,739 patent/US5479625A/en not_active Expired - Lifetime
-
1995
- 1995-03-29 US US08/413,110 patent/US5502825A/en not_active Expired - Lifetime
- 1995-05-05 US US08/435,958 patent/US5509133A/en not_active Expired - Lifetime
-
1996
- 1996-05-17 US US08/649,333 patent/US5619677A/en not_active Expired - Fee Related
-
1997
- 1997-02-06 US US08/795,639 patent/US5822761A/en not_active Expired - Fee Related
-
1998
- 1998-06-01 US US09/087,900 patent/US6381680B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5148526A (en) | 1992-09-15 |
US5479625A (en) | 1995-12-26 |
US5502825A (en) | 1996-03-26 |
US5619677A (en) | 1997-04-08 |
DE3502147A1 (de) | 1985-08-08 |
US5509133A (en) | 1996-04-16 |
US6381680B1 (en) | 2002-04-30 |
US5822761A (en) | 1998-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3502147C2 (de) | ||
DE3011552C2 (de) | ||
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3803759C2 (de) | ||
DE3146356C2 (de) | Vorrichtung zur Steuerung der Übertragung von Gerätesteuerinformation in einem Datenendgerät | |
DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE3439302C2 (de) | ||
DE69724355T2 (de) | Erweiterte symmetrische Multiprozessorarchitektur | |
DE2240433C3 (de) | Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
DE2415900A1 (de) | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen | |
DE4417068A1 (de) | Verfahren und Einrichtung zum Betreiben eines Einzel-Prozessor-Computersystems als Mehr-Prozessor-System | |
EP1249744A1 (de) | Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen | |
DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE3012951A1 (de) | Datenverarbeitungssystem | |
DE69822364T2 (de) | Aufspürung von heissen Stellen in einer Maschine mit nichtuniformen Speicherzugriffen | |
DE69724732T2 (de) | Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE3936339C2 (de) | DMA-Controller |
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 |