DE2847960A1 - Speichersteuereinrichtung - Google Patents
SpeichersteuereinrichtungInfo
- Publication number
- DE2847960A1 DE2847960A1 DE19782847960 DE2847960A DE2847960A1 DE 2847960 A1 DE2847960 A1 DE 2847960A1 DE 19782847960 DE19782847960 DE 19782847960 DE 2847960 A DE2847960 A DE 2847960A DE 2847960 A1 DE2847960 A1 DE 2847960A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- filter
- memory
- bias
- control device
- 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
Links
Classifications
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
Γ _ w
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
te/ms
Speichersteuereinrichtung
Speichersteuereinrichtung
Die Erfindung betrifft eine Speichersteuereinrichtung nach
dem Oberbegriff des Hauptanspruchs.
In handelsüblichen Datenverarbeitungssystemen mit einem oder mehreren Prozessoren, die Cache-Speicher verwenden (d.h.
schnelle Prozeßpufferspeicher mit den jeweils benötigten Programmseiten für den Prozessor), können Daten und Befehle
in mehreren Kopien in einem oder mehreren Cache-Speichern stehen. Es sind dort Einrichtungen vorgesehen, um sicherzustellen,
daß bei Veränderung des Inhaltes einer Cache-Speicherkopie die anderen Kopien ebenfalls geändert werden.
Beispielsweise wird im IBM-System 370, Modell 168 MP die
Datenintegrität dadurch erhalten, daß man jede Schreibadresse (im Gegensatz zu einer Leseadresse), die von einem entfernt
gelegenen Prozessor stammt (nicht-lokale Adresse), mit der Adresse vergleicht, die gegenwärtig im Cache-Inhaltsverzeichnis
des lokalen Prozessors steht. (Zu den nicht-lokalen Adressen gehören auch Speicheradressen, die mit einem durch einen Kanal
oder vom anderen Prozessor zu speichernden Doppelwort geliefert werden.) Ein Adreßstapel für das Ungültigsetzen des Pufferspeichers,
nachfolgend BIAS genannt, ist in jedem Prozessor vorgesehen, um nicht-lokale Schreibadressen zu empfangen und
sie im Cache-Inhaltsverzeichnis des gegebenen Prozessors Ungültig zu setzen. Jede solche Anforderung zum Ungültigsetzen,
die in jeden BIAS eingegeben wird, braucht ein oder zwei Maschinenzyklen des lokalen Prozessors, um dessen Cache-Ver-'zeichnis
auf die Adresse der betreffenden Schreibanforderung abzufragen. Wenn diese Adresse im Cache-Verzeichnis als gültig
PO 977 026
909822/056Ö
gefunden wird, wird sie ungültig gesetzt und damit die
Datenintegrität in einem System mit mehreren Prozessoren aufrechterhalten. BIAS-Abfragen zum üngültigsetzen haben
Priorität vor den Zugriffen des lokalen Prozessors zu seinem zugehörigen Cache-Verzeichnis. Insbesondere braucht jede
3IAS-Abfrage eines Cache-Verzeichnisses zwei Zyklen des Prozessors für einen Cache-Treffer und einen Zyklus für
keinen Treffer. Da die Anzahl der BIAS-Abfragen mit jedem 'zusätzlichen Prozessor zunimmt, bekommt der Prozessor immer
weniger Zugriff zu seinem eigenen Cache-Speicher und seine Leistung sinkt.
Der Cache-Speicher in jedem Prozessor in einem Modell 168MP hat z. B. eine Cache-Blockgröße von 32 Bytes. Wenn einer der
Prozessoren eine Blockspeicheroperation ausführt, z. B. einen Befehl zur Bewegung von Zeichen wie MVC oder MVCL, so ist für
jedes zu speichernde Doppelwort eine BIAS-Abfrage zum Ungültigsetzen
des Cache-Verzeichnisses im anderen Prozessor erforderlich. Da die Blockgröße vier Doppelwörter enthält, sind
für jeden durch den gegebenen Prozessor an den Hauptspeicher übertragenen Datenblock im anderen Cache-Verzeichnis vier
BIAS-Zugriffe zum Ungültigsetzen erforderlich; dadurch wird
derselbe Block zweimal ungültig gemacht. Jede Blockübertragung beansprucht daher vier bis sechs Maschinenzyklen für die
BIAS-Operation des anderen Prozessors, so daß dessen Leistung und damit die MP-Leistung entsprechend heruntergeht.
Die vorliegende Erfindung stellt sich daher die Aufgabe, die Anzahl von BIAS-Abfragen für den Cache-Speicher eines
Prozessors herunterzusetzen; außerdem soll beim Schreiben von Blöcken im Cache in den meisten Fällen nur eine BIAS-Abfrage
pro Cache-Block erfolgen und nicht für jede einzelne Doppelwortspeicheranforderung
durch einen anderen Prozessor oder Kanal. Eine weitere Aufgabe dieser Erfindung besteht darin,
PO 977 026
009822/ΟδβΟ
2SA7960
j - 7 -
jeine BIAS-Pilterung zur Reduzierung der Größe des BIAS-Spei-
phers vorzusehen, mit der Anzahl und Frequenz der Eintragungen
jin den BIAS-Spei eher herabgesetzt werden können.
jDiese Aufgabe wird durch die im Hauptanspruch gekennzeichnete Erfindung gelöst. Ausgestaltungen der Erfindung sind in den
Ünteransprüchen gekennzeichnet.
pie vorliegende Erfindung vermindert die Reduzierung der
!Prozessorleistung dadurch, daß viele redundante BIAS-Abfragen
seines jeden Cache-Speichers erkannt und eliminiert werden, so idaß jeder Prozessor den größten Teil der Maschinenzyklen
!nutzen kann, die bei herkömmlichen Maschinen durch BIAS-Abfrajgen
eines jeden Cache-Speichers verloren gingen.
Die Erfindung erkennt jede nicht-lokale Schreibanforderung zu demselben Cache-Speicherblock nach der ersten BIAS-Anforderung
'für diese Blockadresse. In einer Folge von acht Prozessor-Doppelwort-Schreibanforderungsadressen
beispielsweise, beginnend am Anfang eines Cache-Speicherblocks von acht
Doppelwörtern, wird die erste Doppelwort-Schreibanforderung in einem Cache-Speicherblock erkannt als eine BIAS-Abfrage eines
jeden anderen Cache-Speichers, der denselben gemeinsam !benutzten Hauptspeicher adressieren kann. Danach verhindert
die Erfindung, daß in den entfernt gelegenen BIAS die übrigen sieben Doppelwort-Sehreibanforderungen zu demselben Block
eingegeben werden, d.h. sie filtert diese aus. Somit werden durch die Erfindung für die BIAS-Operation ein bis zwei
Maschinenzyklen belegt, während im herkömmlichen M168 acht
bis zwölf Zyklen für dieselbe Operation mit den acht Doppelwörtern gebraucht werden. Die Leistung des Multiprozessorsystems
(MP) wird somit verbessert.
Durch die Erfindung ist für jeden BIAS und jedes Cache-Inhaltsverzeichnis
ein Filterspeicher vorgesehen. Jeder Filterspeicher enthält die letzten Cache-Blockadressen, die an seinen
PO 977 026
S09822/OSS0
|BIAS zur Abfrage des zugehörigen Cache-Inhaltsverzeichnisses Weitergeleitet wurden (das Inhaltsverzeichnis wird oft auch
(Pufferadreßspeicher genannt) . Spätere Adressen, die nichtfLokal
durch einen anderen Prozessor oder Kanal geliefert Werden und dieselbe Cache-Blockadresse anfragen würden, werden
dadurch ausgefiltert, so daß sie nicht an den zugehörigen (BIAS geleitet werden. Durch Ausfiltern vieler unnötiger
Abfragen des Cache-Inhaltsverzeichnisses wird ein großer Teil per nicht-lokal erzeugten Störung verhindert, die bei herkömmlichem
MP den Zugriff eines Prozessors zum eigenen bache-Speicher verzögerte.
Wenn sich die Adressen im Cache-Inhaltsverzeichnis beim Einlesen von'Blöcken in den Cache-Speicher des Prozessors
ändern, wird die entsprechende Adresse im Filterspeicher ungültig gemacht und die Eintragung steht zum Empfang einer
anderen Cache-Blockadresse von der nächsten neuen Schreibanforderung zur Verfügung.
Der Filterspeicher kann als Matrixspeicher oder in Form eines oder mehrerer Register implementiert werden. Nicht-lokale
Prozessorschreibanforderungen und lokale und nicht-lokale Kanalschreibanforderungen werden eingegeben und mit Adressen
im Filterspeicher verglichen. Bei Ungleichheit mit einer
gültigen Adresse wird im Filterspeicher die eingegebene Adresse· als gültige Eintragung im Filterspeicher aufgezeichnet und in
den BIAS geleitet. Bei Übereinstimmung mit einer gültigen Adresse wird die eingegebene Adresse nicht in den Filterspeicher
eingetragen und nicht an den BIAS geleitet, so daß der Cache-Speicher nicht abgefragt wird.
Einträge im Filterspeicher werden gelöscht, wenn der zugehörige Prozessor einen Datenblock in seinen Cache-Speieher einliest
und dadurch die Daten in einem Block seines Cache-Speichers ändert. In den Ausführungsbeispielen der Erfindung wird das
PO 977 026
dadurch überwacht, daß jede in das Leseadreßregister (FAR) des ;
Prozessors gesetzte Blockabrufadresse mit jeder gültigen '
Adresse im Filterspeicher verglichen wird. Bei Übereinstimmung wird die verglichene Adresse dadurch aus dem Filterspeicher
gelöscht, daß die diese Adresse enthaltende Eintragung ungültig gemacht wird. Andererseits können bei einem Blockabruf auch "
alle Eintragungen im Filterspeicher ungültig gemacht werden, ; um den maschinellen Aufbau der Erfindung bei einigem Leistungsverlust zu vereinfachen.
Zur wirksamen Filterung wird kein besonders großer Filterspeicher gebraucht. Zwei, einen Filterspeicher bildende Regi- .
ster brachten schon eine wesentliche Verbesserung der Systemleistung.
Wenn jeder Prozessor in einem Mehrprozessorsystem (MP) mit
einer Schreibanforderung Priorität zum Zugriff des gemeinsam benutzten Hauptspeichers (MS) hat, wird die Schreibadresse an
die zu den anderen Prozessoren im MP gehörenden Filterspeicher gesendet. Die gesendete Schreibadresse wird mit der gültigen
Adresse in jedem Filterspeicher im MP verglichen. Bei Ungleichheit in einem Filterspeicher oder Ungültigkeit aller Eintragungen
in einem Filterspeicher wird die gesendete Schreibadresse in den Filterspeicher geladen und in den zugehörigen
BIAS ausgeleitet. Bei Übereinstimmung in einem Filterspeicher wurde die Adresse bereits in den zugehörigen BIAS gesetzt und
wird nicht wieder in den Filterspeicher oder den zugehörigen BIAS übertragen. Dadurch wird jede künftige Ungültigkeitsabfrage
derselben Adresse verhindert, d.h. diese wird ausgefiltert, bis sie aus dem Filterspeicher gelöscht ist. Das Löschen I
dn einem Filterspeicher erfolgt beim Laden des Leseadreßregi- !
sters im Prozessor. Die Blockabrufadresse in diesem Register
wird mit allen gültigen Blockadressen im zugehörigen Filter- ! speicher verglichen und bei Übereinstimmung wird die Eintragung:
im zugehörigen Filterspeicher ungültig gemacht. ■
PO 977 026
S09822/0S60
I Die Leistung eines Einprozessor-Systems kann ebenfalls durch i
äie vorliegende Erfindung verbessert werden, wenn sehr schnelle!
[Kanäle angeschlossen sind, da diese wie unabhängige Prozessoren! jin Bezug auf den gemeinsam benutzten Hauptspeicher wirken. ■
I ;
i '
Ausführungsbeispiele der Erfindung sind in den beigefügten
Zeichnungen dargestellt und werden anschließend näher j beschrieben. Es zeigen:
JFig. 1 in einem Gesamtblockdiagramm ein System mit j
ι mehreren Prozessoren, das die vorliegende ;
j Erfindung enthält, \
! i
JFig. 2 die BIAS-Steuerung eines Cache-Inhaltsverzeich- i
nisses, |
ign. 3 bis 6 verschiedene Ausführungsbeispiele der Erfindung [ und j
ι ι
Fig. 7 in einem Ablaufdiagramm die Arbeitsweise der I
I , Erfindung.
jFig. 1 zeigt ein System mit mehreren Prozessoren, nachfolgend
auch Multiprozessor-(MP-)System genannt, das die vorliegende
Erfindung enthält. Das MP-System hat zwei Prozessoren, A und B.
Die Kanäle A sind physikalisch mit dem Prozessor A und die
Kanäle B mit dem Prozessor B verbunden.
Durch die Bezugszahlen in Fig. 1 mit den Buchstaben A und B
wird der Prozessor bezeichnet, zu dem die Bezugszahl gehört.
Die BIAS-Filterschaltungen 11A und 11B empfangen jeweils
Schreibanforderungsadressen von dem anderen entfernt gelegenen Prozessor und von den lokalen und entfernten Kanälen. Lokal
bezeichnet hier Teile, die zum jeweiligen Prozessor gehören und entfernt bezeichnet Teile, die zu dem jeweils
anderen Prozessor gehören. Die Filterschaltungen 11A sind also j für den Prozessor A lokale Schaltungen und empfangen Schreib-
wird der Prozessor bezeichnet, zu dem die Bezugszahl gehört.
Die BIAS-Filterschaltungen 11A und 11B empfangen jeweils
Schreibanforderungsadressen von dem anderen entfernt gelegenen Prozessor und von den lokalen und entfernten Kanälen. Lokal
bezeichnet hier Teile, die zum jeweiligen Prozessor gehören und entfernt bezeichnet Teile, die zu dem jeweils
anderen Prozessor gehören. Die Filterschaltungen 11A sind also j für den Prozessor A lokale Schaltungen und empfangen Schreib-
PO 977 026
284796Q
ι - 11 -
anforderungen von den lokalen Kanälen A sowie vom entfernten
Prozessor B und den entfernten Kanälen B. In gleicher Weise
bind die Filterschaltungen 11B für den Prozessor B lokal und , jempfangen Schreibanforderungen von ihren lokalen Kanälen B ! fund vom entfernten Prozessor A und den entfernten Kanälen A. ]
Prozessor B und den entfernten Kanälen B. In gleicher Weise
bind die Filterschaltungen 11B für den Prozessor B lokal und , jempfangen Schreibanforderungen von ihren lokalen Kanälen B ! fund vom entfernten Prozessor A und den entfernten Kanälen A. ]
Die Cache-Speicher-Steuerschaltungen 12A und 12B umfaßen je- ΐ
weils ein Cache-Inhaltsverzeichnis und die Steuerschaltungen 14
sowie ihren BIAS-Speicher 13. Das Cache-Inhaltsverzeichnis 14 |
lokalisiert Zugriffe in einem zugehörigen Cache-Speicher 16. >
ι Beide Cache-Speicher 16A und 16B sind direkt oder indirekt an j
einen gemeinsam benutzten Hauptspeicher angeschaltet. ■
!Fig. 2 zeigt im einzelnen die BIAS-Steuerung mit jeder CacheiSpeicher-Steuerschaltung
12. Sie enthält die BIAS-Matrix 13,
die so angeschlossen ist, daß sie die Ausgangssignale gemäß der !vorliegenden Erfindung empfängt, die von einem der in den
JFign. 3,4, 5 oder 6 gezeigten Ausführungsbeispielen kommen
öcanne*,Ein Adreßtrigger 21 empfängt jede vom BIAS 13 ausgegebene Ungültigkeitsanforderungsadr es se (die in jedem Cachejlnhaltsverzeichnis 34 ungültig zu setzen ist) . Der Adreßjtrigger 21 empfängt auch jede Schreib- und Leseanforderungsjadresse vom lokalen Prozessor. Eine Prioritätsschaltung 10
herkömmlicher Bauart steuert die Eingänge zum Adreßtrigger 21
lund gibt einer Ungültigkeitsanforderung vom BIAS 13 auf einer
Leitung 1OD Priorität gegenüber einer Prozessoranforderung auf
der Leitung 1OC, wenn sie gleichzeitig an den Adreßtrigger 21
[ausgeben wollen. Jede im Adreßtrigger 21 empfangene Anforderung bleibt dort für einen halben Maschinenzyklus und überträgt
ihren Inhalt in eine Adreßverriegelung 22. Der Adreßtrigger 21
und die Adreßverriegelung 22 halten die Adresse für einen
Maschinenzyklus mit einer Überlappung von einem Zyklus.
die so angeschlossen ist, daß sie die Ausgangssignale gemäß der !vorliegenden Erfindung empfängt, die von einem der in den
JFign. 3,4, 5 oder 6 gezeigten Ausführungsbeispielen kommen
öcanne*,Ein Adreßtrigger 21 empfängt jede vom BIAS 13 ausgegebene Ungültigkeitsanforderungsadr es se (die in jedem Cachejlnhaltsverzeichnis 34 ungültig zu setzen ist) . Der Adreßjtrigger 21 empfängt auch jede Schreib- und Leseanforderungsjadresse vom lokalen Prozessor. Eine Prioritätsschaltung 10
herkömmlicher Bauart steuert die Eingänge zum Adreßtrigger 21
lund gibt einer Ungültigkeitsanforderung vom BIAS 13 auf einer
Leitung 1OD Priorität gegenüber einer Prozessoranforderung auf
der Leitung 1OC, wenn sie gleichzeitig an den Adreßtrigger 21
[ausgeben wollen. Jede im Adreßtrigger 21 empfangene Anforderung bleibt dort für einen halben Maschinenzyklus und überträgt
ihren Inhalt in eine Adreßverriegelung 22. Der Adreßtrigger 21
und die Adreßverriegelung 22 halten die Adresse für einen
Maschinenzyklus mit einer Überlappung von einem Zyklus.
Jim einzelnen betrachtet empfängt der BIAS 13 Cache-Speicherladressen
für Anforderungen zum Ungültigmachen, die durch diese
[Erfindung gefiltert sind. Der BIAS 13 speichert jede empfangene
[Erfindung gefiltert sind. Der BIAS 13 speichert jede empfangene
PO977 026
Ungültigkeitsanforderung an einer Eintragungsstelle, die durch
den Wert in einem Eingabezeigerzähler 13C gewählt ist, der so
erhöht wird, daß er die nächste BIAS-Stelle im BIAS 13 '■
!adressiert, unmittelbar nachdem jede Ungültigkeitsanforderung ;
lin den BIAS 13 eingegeben wurde. Jede im BIAS 13 empfangene Eintragung wird von dort in der FIFO-Reihenfolge (zuerst ein - :
zuerst aus) ausgegeben und durch den Wert in einem Ausgabezeigerzähler 13D lokalisiert, der auf den nächst höheren Wert j
erhöht wird, unmittelbar nachdem eine Eintragungsadresse vom !
BIAS 13 ausgegeben wird. Die Ausgabe einer nächsten BIAS-
Eintragung in den Adreßtrigger 21 wird bei jedem Maschinenzyklus fortgesetzt, bis alle eingegebenen Eintragungen ausgegeben
wurden, was durch ein Gleichheitssignal vom Vergleicher 13E angezeigt wird, der die BIAS-Lageadressen im Eingabezeigerzähler
13C und dem Ausgabezeigerzähler 13D vergleicht. Sobald
der Vergleicher 13E ein Übereinstimmungsausgangssignal liefert, liefert der Inverter 13G ein Sperrsignal an die
Prioritätsschaltung 10 und verhindert so, daß eine Ausgangs-[JND-Schaltung
13F eine weitere Signalausgabe vom BIAS 13 an ilen Adreßtrigger 21 liefert.
3in Prioritätssignal auf der Leitung 1OD löst die Ausgabe einer Jngültigkeitsanforderung von Ausgangs-UND-Schaltung 13F an
len Adreßtrigger 21 aus und erhöht den. Inhalt des Ausgabezeigerzählers
13D auf den nächsten Wert.
Sowohl der Eingabezeigerzähler 13C als auch der Ausgabezeigerzähler
13D werden am Anfang auf Null zurückgestellt, so daß die ärste Eintragung im BIAS 13 den ersten Eingang bekommt. Beide
2ähler laufen auf Null zurück, nachdem sie die höchste Stelle Lm BIAS 13 enthalten haben.
Sobald also der BIAS 13 eine Adresse an den Adreßtrigger 21 lusgibt, wird der Empfang von Schreib- und Leseanforderungen
rom Lokalprozessor im Adreßtrigger 21 durch die Prioritätsschal tung PRTY 10 gesperrt, die den Ausgaben des BIAS 13 Priorität
PO 977 026
909822/0560
gibt. Die Anforderungen vom lokalen Prozessor werden somit in ;
das Adreßregister 21 eingegeben, wenn keine Ausgabe vom BIAS ;
kommt, so daß die normalen Cache-Speicher-Zugriffsoperationen ι
vom lokalen Prozessor dann ablaufen können. '■
Bei den meisten BIAS-Operationen ist wahrscheinlich eine ein- ■<
zige Ungültigkeitsadresse betroffen, die zu einer Zeit im BIAS
13 enthalten ist; zwischen der Eingabe von Ungültigkeitsadressen in den BIAS 13 können viele Maschinenzyklen liegen.
Dadurch kann der lokale Prozessor zwischen den Ungültig- i keitsZugriffen zum Cache-Speicher selbst oft Zugriff zum |
13 enthalten ist; zwischen der Eingabe von Ungültigkeitsadressen in den BIAS 13 können viele Maschinenzyklen liegen.
Dadurch kann der lokale Prozessor zwischen den Ungültig- i keitsZugriffen zum Cache-Speicher selbst oft Zugriff zum |
Cache-Speicher nehmen. j
, i
In Fig. 2 ist gezeigt, daß jede in den Adreßtrigger 21 einge- j gebene BIAS-Ungültigkeitsanforderung einen Maschinenzyklus für I
die Abfrage des Cache-Inhaltsverzeichnisses belegt. Wenn die I Ungültigkeitsanforderung im Cache-Inhaltsverzeichnis 34 gefun- ί
den wird, wird dem lokalen Prozessor ein weiter Zyklus weggenommen,
um die im Cache-Inhaltsverzeichnis 34 gefundene Adresse ungültig zu machen. Während jedes weggenommenen Zyklus wird
der lokale Prozessor daran gehindert, eine Lese- oder Schreib-
|anforderung in den Adreßtrigger 21 einzugeben, wodurch der
Prozessor in seiner Leistung heruntergesetzt wird.
der lokale Prozessor daran gehindert, eine Lese- oder Schreib-
|anforderung in den Adreßtrigger 21 einzugeben, wodurch der
Prozessor in seiner Leistung heruntergesetzt wird.
pas BIAS-Ausgabesignal auf der Leitung 1OD schaltet einen
BIAS-Annahmetrigger 21C, der eine gegenwärtig im Adreßtrigger
21 stehende BIAS-Ungültigkeitsanforderung kennzeichnet. Der
trigger 21C bleibt für einen Maschinenzyklus eingeschaltet
'(synchron mit dem Adreßtrigger 21) und leitet sein aus einem
Bit bestehendes Ungültigkeitssignal an eine BIAS-Annahmeverjriegelung 22C (synchron mit der Adreßverriegelung 22) , die
eine UND-Schaltung 23D vorbereitet, um das Ungültigkeitssignal
an einen Ungültigkeitsanforderungstrigger 23C weiterzuleiten,
ftfenn festgestellt wird, daß das Cache-Inhaltsverzeichnis eine
gültige Blockadresse enthält, die mit der vom Adreßtrigger 21
BIAS-Annahmetrigger 21C, der eine gegenwärtig im Adreßtrigger
21 stehende BIAS-Ungültigkeitsanforderung kennzeichnet. Der
trigger 21C bleibt für einen Maschinenzyklus eingeschaltet
'(synchron mit dem Adreßtrigger 21) und leitet sein aus einem
Bit bestehendes Ungültigkeitssignal an eine BIAS-Annahmeverjriegelung 22C (synchron mit der Adreßverriegelung 22) , die
eine UND-Schaltung 23D vorbereitet, um das Ungültigkeitssignal
an einen Ungültigkeitsanforderungstrigger 23C weiterzuleiten,
ftfenn festgestellt wird, daß das Cache-Inhaltsverzeichnis eine
gültige Blockadresse enthält, die mit der vom Adreßtrigger 21
p0 977 026
909822/0560
i j
ι - 14 - I
I I
j 1
[empfangenen Ungültigkeitsanforderung übereinstimmt. Wenn das J Inhaltsverzeichnis keine gleiche gültige Blockadresse hat oder i
das gewählte Blockgültigkeitsbit ungültig geschaltet ist, wird j |die UND-Schaltung 23D durch ein Ausgangssignal von der ODER- |
!schaltung 37D abgeschaltet und das Ungültigkeitssignal in der '
Verriegelung 22C wird zurückgesetzt. Wenn die Ungültigkeitsan- j
!förderung jedoch im Inhaltsverzeichnis gefunden wird, wird der ι
•Trigger 23C während des nächsten Maschinenzyklus einge- !
schaltet und das Ungültigkeitssignal einen halben Zyklus später!
an eine Ungültigkeitsanforderungsverriegelung 23G weiterge- j leitet und in dieser Zeit ein Ausgangssignal· für einen Zykius I
auf einer Leitung 23H gegeben.
Das Üngültigkeitsaussgangssignal der Verriegelung 23G wird
auch an die Prioritätsschaltung 10 zurückgegeben, um eine
Eingabe zum Adreßtrigger 21 während des nächsten Zyklusses
zu sperren, während dem das gewählte Gültigkeitsbit im
Zache-Inhaltsverzeichnis durch das Signal· auf der Leitung 23H
in den ungültigen Zustand zurückgeschaltet wird. Weil· Eingänge zum Adreßtrigger 21 gesperrt sind, geht ein Maschinenzykius
verloren für die Ungültigschaitung der B^ckadresse, die im
iache-Inhaitsverzeichnis gefunden wurde gemäß den Signaien
von der ODER-Schal·tung 37D. Für die Ungüitigschaitung geht
jedoch kein Maschinenzykius verloren, wenn keine gleiche und
jültige Verzeichnisadresse für eine Ungüitigkeitsanforderung
von dem BIAS 13 gefunden wurde, weil· das Ungüitigkeitssignal·
in der Torschaitung 23D beendet wurde, da kein Cache-Treffersignal· von der ODER-Schal·tung 37D eintraf.
auch an die Prioritätsschaltung 10 zurückgegeben, um eine
Eingabe zum Adreßtrigger 21 während des nächsten Zyklusses
zu sperren, während dem das gewählte Gültigkeitsbit im
Zache-Inhaltsverzeichnis durch das Signal· auf der Leitung 23H
in den ungültigen Zustand zurückgeschaltet wird. Weil· Eingänge zum Adreßtrigger 21 gesperrt sind, geht ein Maschinenzykius
verloren für die Ungültigschaitung der B^ckadresse, die im
iache-Inhaitsverzeichnis gefunden wurde gemäß den Signaien
von der ODER-Schal·tung 37D. Für die Ungüitigschaitung geht
jedoch kein Maschinenzykius verloren, wenn keine gleiche und
jültige Verzeichnisadresse für eine Ungüitigkeitsanforderung
von dem BIAS 13 gefunden wurde, weil· das Ungüitigkeitssignal·
in der Torschaitung 23D beendet wurde, da kein Cache-Treffersignal· von der ODER-Schal·tung 37D eintraf.
Wenn eine Ungüitigkeitsanforderung im Adreßtrigger 21 empfangen
and durch Einschaiten des Annahmetriggers 21C angezeigt wird,
rd in einer Ungüitigkeitsprüfung festgestel·^, ob diese
\dresse güitig im Cache-Inverhaitsverzeichnis 34 steht. Diese
Jngüitigkeitsprüfung wird durch die UND-Schaitung 36D gesteuert), lie durch den Annahmetrigger 21C eingeschaitet wird. Die i
\dresse güitig im Cache-Inverhaitsverzeichnis 34 steht. Diese
Jngüitigkeitsprüfung wird durch die UND-Schaitung 36D gesteuert), lie durch den Annahmetrigger 21C eingeschaitet wird. Die i
PO 977 026
909822/0580
ι - 15 -
!UND-Schaltung 36D leitet dann die Ungültigkeitsadreßbits j
J8 bis 20 vom Adreßtrigger 21 über den ODER-Schaltkreis 36 an I
das Cache-Inhaltsverzeichnis. ι
(iienn kein Ungültigkeitsbit im Annahmetrigger 21C gesetzt ist, i
Wird unter Steuerung eines logischen Adreßsignales auf der Leitung 36H vom Prozessor ein normaler Cache-Speicherzugriff j
vom Prozessor ausgeführt. Für normale Prozessoranforderungen i
im Adreßtrigger 21 wird entweder die UND-Schaltung 36C oder die JUND-Schaltung 36F aktiviert. Ein Inverter 36E bereitet diese
beiden Schaltglieder während der normalen Prozessoranforderungen vor. Die UND-Schaltung 36C wird aktiviert, wenn eine logische
Adresse im Adreßtrigger 21 steht, die in der Übersetzungstabelle DLAT 31 übersetzt werden muß. Eine übersetzte Adresse
VOn der DLAT 31 erhält man mit den Bitpositionen 9 bis 20 des
l^dreßtriggers 21, die in die DLAT-Adreßschaltung 32 übertragen
werden. Die übersetzten Adreßbits 8 bis 20 von der DLAT-Schaltung 31C werden durch die UND-Schaltung 36C und eine ODER-Schaltung
36 an das Verzeichnis geleitet. Die UND-Schaltung 36F wird aktiviert, wenn die Adresse im Adreßtrigger 21 nicht übersetzt
zu werden braucht, was vom Inverter 36E angezeigt wird. !Sie kann direkt im Cache-Inhaltsverzeichnis 34 nachgesehen weräen,
wenn die Adreßbits 8 bis 20 von der UND-Schaltung 36F
durch die ODER-Schaltung 36 geleitet worden sind.
Die Verzeichnissuchoperation wird gleichzeitig mit dem Empfang der Bits 8 bis 20 für die Eingabe in die ODER-Schaltung 36
(begonnen. Das bedeutet auch, daß gleichzeitig die Bitpositionen 20 bis 25 des Adreßtriggers 21 in einen Spaltendecodierer 33
übertragen werden, um eine Spalte im Cache-Inhaltsverzeichnis 34 zu lokalisieren, wobei es keine Rolle spielt, ob der
Adreßtrigger 21 eine Ungültigkeitsanforderung oder eine Prozessoranforderung
enthält. Die Ausgabebits 8 bis 20 von der ODER-Schaltung 36 werden in jeden der 16 Vergleichsschaltungen
37 für Zeilen (Reihen) eingegeben. Jeder Zeilenvergleich ist ein Vergleich der empfangenen Bits 8 bis 20 mit je 16 Sätzen
PO 977 026
909822/0560
der Bits 8 bis 20 in den 16 Zeilen der durch Spaltendecodierer ;
l33 mit seinen Eingabebits 20 bis vom Adreßtrigger 21 gewählten
Spalte. Eine Übereinstimmung in einem der 16 Vergleiche in den jzeilenvergleichern 37 zeigt einen Cache-Treffer an und aktiviert
leine entsprechende Ausgangs leitung 0 bis 15.
enn sich also die in den Triggern 21 stehende angeforderte Adresse im Inhaltsverzeichnis findet, wird einer der 16
Ausgänge 0 bis 15 aktiviert. Wenn sich die angeforderte Adresse nicht findet, wird keiner der 16 Ausgänge aktiviert und ein
entsprechendes Signal für das Nichtauffinden auf die Leitung 37E gegeben.
Während des nächsten Zyklusses werden die Bitpositionen 20 bis 28 in der Adreßverriegelung 22 übertragen in die Bitposi- ι
tionen 4 bis 12 in einem Cache-Adreßregister 23, in dem die j Bitpositionen 4 bis 9 die Spalte des im Cache-Speicher oder im j
Cache-Speicherverzeichnis zu wählenden Blockes wählen. Gleich- j zeitig empfängt der Zeilendecodierer 37C die Ausgänge 0 bis |
15 von den Zeilenvergleichern 37 und codiert das eine der
16 Signale in ein aus 4 Bits kombiniertes Signal, das in die Bitpositionen 0 bis 3 des Cache-Adreßregisters 23 eingegeben
wird.
Die ODER-Schaltung 37D prüft also für jede üngültigkeitsanforderung
vom BIAS 13, ob ein gültiger Block im Cache-Speicher existiert, wenn sie Signale von den Ausgängen 0 bis 15 der
Zeilenvergleicher 37 empfängt. Wenn keine gültige Blockadresse
im Cache-Inhaltsverzeichnis existiert, wird von der ODER-Schaltung 37D kein Ausgang aktiviert. Wenn ein gültiger Block
gefunden wird, leitet die ODER-Schaltung 37D den einen der 16 Ausgänge 0 bis 15 der Zeilenvergleicher 37 weiter, der
durch die Vergleichsübereinstimmung einer der 16 Werte in der gewählten Inhaltsverzeichnisspalte mit den Anforderungsbits
PO 977 026
909822/OS60
8 bis 20 von der Schaltung 36 aktiviert wird. Die ODER-Schaltung 37D gibt im aktivierten Zustand ein Signal "Block gefunden"
an die UND-Schaltung 23D, so daß diese den Trigger 23C ' einschaltet, wenn eine BIAS-Anforderung für diese Cache-Spei- ;
cheroperation verantwortlich ist. Wenn keiner der Ausgänge O bis 15 aktiviert ist, wird kein Block im Cache-Speicher gewählt.
Für Zugriffe des lokalen Prozessors (dadurch bezeichnet, daß kein Ungültigkeitssignal in der Anforderungsverriegelung 23G
steht) wird die Ausgabe vom Cache-Adreßregister 23 über die UND-Schaltungen 23J, 23K, 23L für die Zeile, die Spalte bzw.
die Doppelwortstelle im Cache-Speicher gegeben. Der Inverter
betätigt dann die UND-Schaltungen 23J, 23K, 23L. j
Wenn jedoch ein Ungültigkeitssignal in der Verriegelung 23G j
steht, sperrt der Inverter die genannten UND-Schaltungen und ! schaltet stattdessen die Torschaltung 23E und 23F ein, um
die Zeilen- und Spaltensignale in das Inhaltsverzeichnis ■zurückzuleiten und wieder das benötigte Blockgültigkeitsbit
* i
zu lokalisieren, das dann ungültig gemacht wird mit dem !
Ungültigkeitssignal auf der Leitung 23H. |
Auf diese Weise gehen BIAS-Anforderungen ein zweites Mal in das'
Cache-Inhaltsverzeichnis zurück, um das Ungültigkeitsbit für den gewählten Block zu setzen, während für normale Prozessoranforderungen
dieselbe Ausgabe des Cache-Adreßregisters 23 !stattdessen während des Maschinenzyklusses zum Adressieren
;eines Doppelwortes im Cache-Speicher benutzt ürde.
Fig. 3 zeigt eine minimale Maschinenausführung, bei der ein Filterspeicher mit nur einer Eintragung durch das Filterregi-'ster
44 und einem Gültigkeitsbit 45 dargestellt wird. Fig. 4
jzeigt ein Ausführungsbeispiel mit einem Doppelfilter-Eingangsispeicher.
In den Fign. 3 und 4 gibt ein ODER-Schaltkreis 41 !jeweils eine Schreibanforderung aus, die aus einer von einem
PO 977 026
909822/0560
; - 18 -
lokalen oder entfernten Kanal oder einem entfernten Prozessor
empfangenen Speicheradresse besteht. Die Ausführungsbeispiele
[in den Fign. 3 und 4 filtern jedoch nur Schreibanforderungen vom Fernprozessor bzw. Fernkanal. Schreibanforderungen vom
lokalen Kanal werden nicht gefiltert, weil sich in manchen MP-Konfigurationen die Verdrahtung dadurch vereinfachen läßt,
daß man die Schreibanforderungen eines Prozessors und seiner physikalisch zugehörigen Kanäle kopiert. Dadurch, daß man
üie Schreibanforderungen des lokalen Kanales nicht filtert, ,zeigte sich eine nur sehr geringfügige Leistungsminderung im
Filterbetrieb, weil die Schreibanforderungen des lokalen Kanals im Vergleich zu der wesentlich höheren Rate jedes der
Prozessoren relativ selten sind. Es kommt z. B. eine Kanalan-Eorderung auf rund 100 Prozessoranforderungen. Die Schreibanforderungen
vom Fernprozessor und den Fernkanälen werden ladurch gefiltert, daß man ein Filtertor 42 mit dem Ausgangssignal
der Vergleicherschaltung 47 und eines Inverters 48 steuert.
Durch die anfängliche Systemrückstellung wird jedes Gültigceitsbit
45 in den üngültigkeitszustand geschaltet und dadurch
jede Vergleicherschaltung 47 zur Ausgabe eines "Ungleich"-Bignales
gezwungen; das Filtertor 42 leitet dann die zuerst smpfangene Ungültigkeitsanforderung an den BIAS weiter und
schaltet ein Ladetor 43 ein zum Aufzeichnen der ersten Ungülbigkeitsanforderung
im Filterspeicher.
Die Vergleicherschaltung 47 liefert einen ungleichen Ausgang,
solange ihre Eingänge nicht gleich oder das in sie eingegebene Sültigkeitsbit 45 auf ungültig geschaltet ist. Das Gültigkeitsoit
45 wird gültig geschaltet, wenn eine eingegebene Schreibmf orderung in ein Filterregister geladen wird. Die ungleiche
^.usgabe der Vergleicherschaltung 47 aktiviert eine Ausgabe vom
Cnverter 48, mit der eine Ungültigkeitsanforderung durch das :?iltertor 42 auf den zugehörigen BIAS geleitet und das Ladetor
PO 977 026
909822/0560
28A796Q
j43 eingeschaltet wird, um die Ungültigkeitsanforderung in das
angeschlossene Filterregister zu laden.
Jede vom ODER-Schaltkreis 41 kommende Schreibanforderung wird
in das Filtertor 42 eingegeben, das die Filterung dadurch vornimmt, daß es die Schreibanforderung zum zugehörigen BIAS
entsprechend der Operation aller angeschlossenen Vergleicherschaltungen
47 sperrt oder weiterleitet. Sobald die Vergleicherschaltung 47 eine Übereinstimmung der verglichenen Adressenj
anzeigt, sperrt die Ausgabe vom Inverter 48 die Weiterleitung der Schreibanforderung zum BIAS, da die Adreßübereinstimmung
anzeigt, daß die Adresse schon früher an den BIAS geleitet !wurde. Die Inverterausgabe sperrt auch ein Laden der eingegebenen
Schreibanforderung in ein Filterregister, so daß sein
!früherer Inhalt gültig bleibt.
[Lokale Kanalspeicher werden nicht gefiltert, da sie in der |Vergleicherschaltung der Fign. 3 und 4 nicht zu einem überjeinstimmenden
Vergleichsergebnis führen können. Sie laufen also alle durch den ODER-Schaltkreis 41 und das Filtertor 42
zum BIAS, weil die Vergleicherschaltung 47 dann ein Signal für Ungleichheit liefert. Jede Anforderung von einem lokalen
Kanal wird in das Filterregister 44 geladen, das jedoch keine Filterfunktion ausführen kann, weil die Anforderungen vom
jlokalen Kanal nicht vom anderen Eingang zu einer Vergleicherlschaltung 47 empfangen werden.
Jede Ungültigkeitsadresse auf der Leitung 40 im Filterspeicher, äie an den BIAS ausgegeben wird, wird an ihrem wertniederen
Ende auf eine Blockgrenzadresse im Cache-Speicher beschnitten, jä.h. in einer 24 Bit großen Adresse in den Positionen 8 bis
sind die Bitpositionen 8 bis 25 wertdarstellend und die Positionen 26 bis 31 werden ausgenullt oder abgeschnitten.
Dadurch wird die empfangene Anforderung von einer Doppelwortädresse in eine Cash-Speicherblockadresse geändert. Das
PO 977 026
909822/0560
284796Q
!geschieht ebenfalls in jedem der hier gezeigten Ausführungs-Ibeispiele.
IDas in Fig. 4 gezeigte Ausführungsbeispiel wird wegen seiner
einfachen Schaltung und guten Leistung bevorzugt. Es unterscheidet sich von dem in Fig. 3 gezeigten Ausführungsbeispiel
durch den Filterspeicher mit zwei Eingängen, gebildet durch die Filterregister 1 und 2 mit entsprechenden Gültigkeitsbitpositionen
45-1 und 45-2. Die Filterregister werden nach dem IFIFO-Prinzip (zuerst ein - zuerst aus) geladen. Die Ladefolge
Wird durch eine FIFO-Ersetzungsschaltung 46, bestehend aus
,einem Triggerflipflop, gesteuert, die beim Empfang eines jeden
Eingangsimpulses vom Inverter 48 in den entgegengesetzten bistabilen Zustand umschaltet. Wenn die FIFO-Austauschschaltung
46 in ihren wahren Zustand geschaltet ist, bereitet sie das Ladetor 43-1 zum Laden der nächsten Schreibanforderungsadresse
in das Filterregister 1 vor und betätigt die UND-Schaltung 49-1 so, daß das Gültigkeitsbit 45-1 gültig geschaltet wird. Wenn
andererseits die FIFO-Austauschschaltung 46 in den Komplementärzustand
geschaltet ist, wird das Ladetor 43-2 zum Laden der ; nächsten Schreibanforderungsadresse in das Filterregister 2 i
vorbereitet und die UND-Schaltung 49-2 schaltet das Gültig- · keltsbit 45-2 gültig. j
In den Fign. 3 und 4 wird jede Eintragung im Filterspeicher [
ungültig gemacht, sobald der lokale Prozessor einen Block in j seinen Cache-Speicher einliest, ungeachtet dessen, ob die I
eingegebene Schreibanforderung mit einer gültigen Adresse im Filterspeicher übereinstimmt oder nicht. Ein Blockabruf wird
signalisiert durch ein Signal auf der Leitung "FAR erstejf
Block—lesen" vom Hauptspeicher (MS) des Systems, wenn das erste
Doppelwort eines Cache-Speicherblocks gelesen wird. Das erste Blocklesesignal tritt somit am Beginn der Cache-Speicherblockübertragung auf und stellt jedes Gültigkeitsbit auf ungültig
zurück, so daß der Inhalt eines jeden Filterregisters zur Filterung nicht mehr zur Verfügung steht.
PO "977 026
909822/0560
284796Q
Die beiden Vergleicherschaltungen 47-1 und 47-2 in Fig. 4 ι
vergleichen gleichzeitig eine eingegebene Schreibanforderung | mit beiden in den Filterregistern 1 und 2 gespeicherten :
gültigen Adressen. Eine Leitung 40 gibt die entfernte Schreib- ; anforderung an einen Eingang einer jeden der beiden Verglei- '
cherschaltungen 47-1 und 47-2. Ein anderer Eingang zu den [
Vergleicherschaltungen ist mit den Ausgängen der Gültigkeits- ι
bitpositionen 45-1 bzw. 45-2 verbunden. Wenn ein Bit 45 auf ungültig geschaltet ist, zwingt es die angeschlossene Vergleicherschaltung
zur Ausgabe eines Signales für Nichtübereinstimmung. Wenn eine Vergleicherschaltung eine Übereinstimmung
zwischen der empfangenen Adresse und der Adresse im angeschlossenen Filterregister feststellt, während das Gültigkeitsbit
gesetzt ist, liefert diese Vergleicherschaltung ein Ausgangssignal für Gleichheit und sperrt dadurch das Filtertor
42, weil der Inverter 48 dann ein Abschaltsignal an dieses Filtertor 42 liefert. Die empfangene Schreibanforderung wird
daher nicht an den BIAS übertragen. Außerdem kommt kein Eingangssignal vom abgeschalteten Ausgang des Inverters 48 an die
FIFO-Austauschschaltung 46, die daher in ihrem früheren Zustancf
bleibt. !
In dem in Fig. 5 gezeigten Ausführungsbeispiel läßt sich die Ungültigschaltung innerhalb des Filterspeichers effektiver
kontrollieren als in dem in Fig. 4 gezeigten Ausführungsbeispiel. Anstatt alle Eintragungen im Filterspeicher bei einem
Blockabruf durch den lokalen Prozessor ungültig zu machen, wie (es dem Ausführungsbeispiel der Fig. 4 geschieht, wird bei dem
;in Fig. 5 gezeigten Ausführungsbeispiel ein Filterregister nur dann ungültig gemacht, wenn seine Adresse mit der Adresse des
Abrufblockes übereinstimmt. Wenn Adressen im Filterspeicher ,daher gültig sind, aber nicht mit der Abrufblockadresse Überbeins
timmen, wird im Filterspeicher keine Adresse ungültig gej
macht. Dadurch braucht man dieselbe Adresse nicht wieder in den Filterspeicher zu laden und auch nicht an den BIAS weiterzuge-
macht. Dadurch braucht man dieselbe Adresse nicht wieder in den Filterspeicher zu laden und auch nicht an den BIAS weiterzuge-
PO 977 026
909822/0560
28479^0
ben, wenn sie im lokalen Prozessor aktiv ist. Durch diese Ein- '·
!richtung ist theoretisch ein größerer Wirkungsgrad im Betrieb des Filterspeichers gegeben als bei dem in Fig. 4 gezeigten ■
jAusführungsbeispiel; dieser geht jedoch auf Kosten einer umifangreicheren
Steuerschaltung. Die zusätzliche Schaltung in : Fig. 5 enthält ein Paar Vergleicher 50-1 und 50-2, die entsprechend
eine Übereinstimmmung zwischen der Blockabrufadresse
lim Leseadreßregister FAR und dem Inhalt des Filterregisters 1 bzw. 2 feststellen, um die entsprechenden Gültigkeitsbits 45-1
!«and 45-2 zurückstellen zu können. Die Blockabruf adresse für die1
Iiη Fig. 5 gezeigten Vergleicher 50-1 und 50-2 wird von einem
Tor 52 abgeleitet, das die Hauptspeichervorschaltung für die j
erste Anforderung in einem Cache-Speicherblock und die Ausgabe ; des Leseadreßregisters (FAR) 51 empfängt, das die Anforderung \
für den Cache-Speicherblockabruf vom Hauptspeicher abgibt. \
Sin weiterer Unterschied der in Fig. 5 gezeigten Ausführung
gegenüber den Ausführungen 3 und 4 besteht darin, daß alle lurch den ODER-Schaltkreis 41 laufenden Schreibanforderungen
jefiltert werden, also auch die Anforderungen des lokalen Kanals und die Schreibanforderungen vom entfernten Prozessor j
and vom entfernten Kanal. Alle Anforderungen werden an den FiI-berspeicher
und seine Vergleicherschaltung 47 auf den Leitungen 40C vom Ausgang des ODER-Schaltkreises 41 gegeben.
?ig. 6 zeigt ein weiteres Ausführungsbeispiel mit einer Spei-
:hermatrix 44C als Filterspeicher. Alle Schreibanforderungen
(mit Ausnahme der Anforderungen vom lokalen Prozessor) werden gefiltert. Die Ausgabe des ODER-Schaltkreises 41 geht an das
Adreßregister 61, das die Adresse einen Maschinenzyklus lang j
festhält und sie an eine Adreßverriegelung 62 ausgibt; diese I lält die Adresse einen Maschinenzyklus lang fest (mit einer I
lalben Zyklusüberlappung) und gibt sie dann an das Filtertor 63 j.
Die Bitpositionen 21 bis 25 im Adreßregister 61 werden an den i Jeseeingang eines Decodierers 64 geleitet, um eine Zeile in der
PO 977 026
909822/0560
284796jQ
Bpeichermatrix 44C zu wählen, die vier Spalten zum gleichzei- '
tigen Auslesen von vier aufgezeichneten Adressen an die ent- I sprechenden Vergleicherschaltungen 47C, D, E und F enthält, j
die den Inhalt der Adreßbits 8 bis 20 (gelesen aus den ent- '
sprechenden Spalten) vergleichen mit den Bits 8 bis 20 im ; Adreßregister 61. Wenn ein Vergleicher eine Übereinstimmung
seiner Eingänge feststellt, gibt er ein Gleichheits-Ausgangs- (
signal an den Inverter 48, der das Filtertor 63 so sperrt, daß ; die Ungültigkeitsadresse in der Verriegelung 62 nicht an den j
BIAS übertragen wird.
Wenn andererseits alle Vergleicherschaltungen 47C bis 47F ein i
Ausgangssignal für Ungleichheit liefern, liefert der Inverter 48 ein aktives Ausgangssignal an das Filtertor 63, das dann J
die Ungültigkeitsadresse von der Verriegelung 62 an den BIAS
weiterleitet und auch die Ungültigkeitsadreßbits 8 bis 20 auf leinen Eingang einer jeden UND-Schaltungen 43C bis 43F gibt.
{Durch Einschalten einer der vier Ausgangsleitungen von einer
!Austauschmatrix 66 werden die ^adetore 43C bis 43F gewählt,
Während die Verriegelung 62 die Bits 21 bis 25 durch einen jZeilendecodierer 64 schickt, um eine Filterspeicherzeile zu
wählen. Die Spalte in der gewählten Zeile in der Filterspei-'chermatrix
44C wird durch die aktive Leitung von der Austausch-
,schaltung 66 gewählt.
Die Ersetzungs- oder Austauschschaltung 66 enthält genausoviel Zeilen wie die Speichermatrix 44C und jede Zeile hat zwei
binäre Bitpositionen. Sobald der Zweierbitwert in einer Zeile 'der Austauschschaltung an den Decodierer 67 ausgelesen wird,
Iwird er auf den nächst höheren Wert (Modul 4) erhöht, z. B.
00, 01, 10, 11, 00 usw. Die vier Werte für jede Zeile werden
somit der Reihe nach in Umlaufform erhöht, um eine Spalte im jFilterspeicher zu wählen, um die eingegebenen Adreßbits 8 bis
I20 zu schreiben und ein Gültigkeitsbit V gültig zu schalten.
I
ι
PO 977 026
ι
PO 977 026
9 09 8 22/0S80
I - 24 -
feine Üngultigkeitsadreßeintragung wird somit jeweils in die
^peichermatrix 44C geschrieben, vier Eintragungen werden jedoch
gleichzeitig assoziativ ausgelesen. Das Schreiben und Lesen erfolgt zu fünf verschiedenen Taktzeiten, weil sie von den
Schaltungen 61 und 62 zu verschiedenen Halbzyklusperioden vorgenommen werden.
Fig. 7 zeigt die gesamte Arbeitsweise der Erfindung. Die Stellungen der Schalter 94C und 94D stellen die Umstände dar,
in denen die BIAS-Filterung (1) nur mit Fernprozessorspeichern
pder (2) nur mit Fernprozessorspeichern und Fernkanalspeichern t>der (3) mit Fernprozessor speichern, Fernkanalspeichern und
fciOkalkanalspeichern vorgenommen werden kann. Es ist die zweite
Schalterstellung gezeigt, d.h. es werden nur Fernprozessor-Bpeicher
und Fernkanalspeicher gefiltert, Lokalkanalspeicher (werden jedoch nicht gefiltert, weil sie durch den Schalter 94D =
zum Kasten 99 laufen, der die Adresse in den BIAS gibt. Aus Fig. 7 ist klar zu ersehen, daß eine lokale Prozessorabruf- :
anforderung ein erstes Vorschaltsignal vom Hauptspeicher für : ien Cache-Speicherblockabruf einleitet und Schreibanforderungen
vom Lokalprozessor nur einen Zugriff zum lokalen Cache-Speicher; and Hauptspeicher auslösen, um ein Doppelwort zu speichern. '.
PO 977 026
909822/0560
ι -
Lee
Claims (1)
- PATENTANSPRÜCHESpeichersteuereinrichtung für Datenverarbeitungsanlagen mit einem Hauptspeicher, der von einem oder mehreren Prozessoren und/oder Eingabe-/Ausgabekanälen gemeinsam genutzt wird und mit einem, jedem Prozessor zugeordneten Prozeßpufferspeicher (Cache-Speicher), dem jeweils ein Adreßstapel (BIAS) zum Ungültigsetzen von Adressen im Cache-Inhaltsverzeichnis zugeordnet ist, dadurch gekennzeichnet,daß jedem Adreßstapel (BIAS, 13A, B; Fig. 1) eine Filterschaltung (11A, 11B) vorgeschaltet ist, die Anforderungen zum Ungültigsetzen von Adressen im zugeord neten Cache-Inhaltsverzeichnis (14A, 14B) daraufhin prüft, ob eine entsprechende Adresse dort enthalten und schon ungültig gesetzt ist, um in diesem Fall eine weitere Abfrage des Cache-Inhaltsverzeichnisses zu sperren.2. Speichersteuereinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Eingänge der Filterschaltungen (11A, 11B) mit allen Kanälen und mit allen nicht-lokalen Prozessoren verbunden sind.3. Speichersteuereinrichtung nach Anspruch 2, dadurch gekennzeichnet,daß die ungültig zu setzenden Adressen Schreibanforderungen von nicht-lokalen Prozessoren und/oder Kanälen zu gemeinsam benutzten Teilen des Hauptspeichers betreffen.4. Speichersteuereinrichtung nach Anspruch 3, dadurch gekennzeichnet,daß Schreibanforderungen von lokalen Kanälen (z.B. Kanal A von Prozessor A in Fig. 1) in der Filterschaltung (11A) nicht geprüft werden.PO 977 026ORIGINAL INSPECTEDSpeichersteuereinrichtung nach einem der Ansprüche1 bis 4,dadurch gekennzeichnet,daß sich die ungültig zu setzenden Schreibadressen aufBlöcke im Hauptspeicher beziehen.Speichersteuereinrichtung nach einem der Ansprüche
1 bis 5,dadurch gekennzeichnet,daß die Filterschaltungen (11A, 11B) Speichereinrichtungen (Filterregister, Filterspeicher, 44) zur Aufnahme
der Adressen enthalten, für die keine Ungültigsetzung
im Cache-Inhaltsverzeichnis erforderlich ist.Speichersteuereinrichtung nach Anspruch 6,dadurch gekennzeichnet,daß die Filterspeichereinrichtungen (44) und der Adreß-stapel (BIAS) mit der Adresse einer Schreibanforderunggeladen werden, wenn in einer Vergleichsschaltung (47)festgestellt wird, daß die Schreibadresse nicht mit denin der Filterspeichereinrichtung enthaltenen Adressen |übereinstimmt. ·,8. Speichersteuereinrichtung nach einem der Ansprüche j 1 bis 7, jdadurch gekennzeichnet,; ιι daß die Filterspeichereinrichtung aus zwei Registern i(Filter Reg 1, Filter Reg 2, Fig. 4) besteht, die I abwechselnd nach dem FIFO-Verfahren benutzt werden.9. Speichersteuereinrichtung nach einem der Ansprüche j 1 bis 8, ! dadurch gekennzeichnet, Idaß als Filterspeicher eine Matrix (44C, Fig. 6) vorge- iI sehen ist, die in jeder Zeile Speicherplätze (Spalten) \PO 977 026909822/0560_ ο mmfür Adressen mit zugeordnetem Gültigkeitsbit enthält, daß für das Ausgangssignal jeder Spalte eine Vergleichsschaltung (47) vorgesehen ist,daß die Auswahl einer Zeile durch die niedrigsteiligen Bits der untersuchten Schreibadresse (61) erfolgt und daß beim Einschreiben einer neuen Adresse in die Matrix die Spalte mit Hilfe einer Ersetzungsmatrix (66) ausgewählt wird, in der für jede Zeile eine Modulo-Fortschaltung der Spaltenposition erfolgt.10. Speichersteuereinrichtung nach einem der Ansprüche1 bis 9, :dadurch gekennzeichnet, :daß die Einträge in den Filterspeichereinrichtungen ganz ·oder teilweise gelöscht werden, wenn ein neuer \ί Speicherblock in den Cache-Speicher des lokalen Prozessors!geladen wird oder wenn die Datenverarbeitungsanlage in den Ausgangszustand zurückgesetzt wird.11. Speichersteuereinrichtung nach Anspruch 10, dadurch gekennzeichnet,j daß in den Filterspeichereinrichtungen nur die Adressen gelöscht werden, die im übertragenen Speicherblock enthalten sind.'12. Speichersteuereinrichtungen nach Anspruch 11, ι dadurch gekennzeichnet,j daß Vergleichseinrichtungen (501I, 50'2, Fig. 5) vorge-' sehen sind, die beim Einlesen eines Blocks in den ι Cache-Speicher die im Leseadreßregister (FAR) enthaltene Adresse mit den in den Filterspeichereinrichtungen (Filter Reg 1, 2) enthaltenen Adressen vergleichen und bei Übereinstimmung den jeweiligen Eintrag der Filterspeichereinrichtung löschen.PO 977 026909822/Q5SO2S4796013. Speichersteuereinrichtung nach einem der Ansprüche 1 bis 12,dadurch gekennzeichnet, daß den Einträgen der Filterspeichereinrichtung (44) Gültigkeitsbits (45) zugeordnet sind, die zum Löschen der Einträge zurückgesetzt werden.PO 977 026ÖÖ9822/ÖSSÖ
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/855,485 US4142234A (en) | 1977-11-28 | 1977-11-28 | Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2847960A1 true DE2847960A1 (de) | 1979-05-31 |
DE2847960C2 DE2847960C2 (de) | 1987-01-29 |
Family
ID=25321369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2847960A Expired DE2847960C2 (de) | 1977-11-28 | 1978-11-04 | Speichersteuereinrichtung |
Country Status (6)
Country | Link |
---|---|
US (1) | US4142234A (de) |
JP (1) | JPS5476042A (de) |
DE (1) | DE2847960C2 (de) |
FR (1) | FR2410335A1 (de) |
GB (1) | GB1586847A (de) |
IT (1) | IT1160070B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3919802A1 (de) * | 1988-06-17 | 1989-12-21 | Hitachi Ltd | Speicherbaustein mit vektorprozessoren und einem skalarprozessor |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5849945B2 (ja) * | 1977-12-29 | 1983-11-08 | 富士通株式会社 | バツフア合せ方式 |
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
JPS55134459A (en) * | 1979-04-06 | 1980-10-20 | Hitachi Ltd | Data processing system |
JPS5724086A (en) * | 1980-07-16 | 1982-02-08 | Fujitsu Ltd | Repealing cotrol system of buffer memory |
CA1187198A (en) * | 1981-06-15 | 1985-05-14 | Takashi Chiba | System for controlling access to channel buffers |
US4525777A (en) * | 1981-08-03 | 1985-06-25 | Honeywell Information Systems Inc. | Split-cycle cache system with SCU controlled cache clearing during cache store access period |
US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
US4504902A (en) * | 1982-03-25 | 1985-03-12 | At&T Bell Laboratories | Cache arrangement for direct memory access block transfer |
US4571674A (en) * | 1982-09-27 | 1986-02-18 | International Business Machines Corporation | Peripheral storage system having multiple data transfer rates |
US4747043A (en) * | 1984-02-10 | 1988-05-24 | Prime Computer, Inc. | Multiprocessor cache coherence system |
EP0153109B1 (de) * | 1984-02-10 | 1991-04-17 | Prime Computer, Inc. | Cache-Kohärenz-Anordnung |
US4638431A (en) * | 1984-09-17 | 1987-01-20 | Nec Corporation | Data processing system for vector processing having a cache invalidation control unit |
FR2571163B1 (fr) * | 1984-09-28 | 1989-02-10 | Nec Corp | Systeme de traitement de donnees pour traitement de vecteurs ayant un ensemble de commande d'invalidation d'antememoire. |
US5734871A (en) * | 1985-10-29 | 1998-03-31 | Mitem Corporation | Method for and apparatus for controlling the execution of host computer application programs through a second computer |
JPS62202247A (ja) * | 1985-11-25 | 1987-09-05 | Nec Corp | キヤツシユメモリ内容一致処理方式 |
JPS62147548A (ja) * | 1985-12-23 | 1987-07-01 | Mitsubishi Electric Corp | 外部記憶制御装置 |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
US5107419A (en) * | 1987-12-23 | 1992-04-21 | International Business Machines Corporation | Method of assigning retention and deletion criteria to electronic documents stored in an interactive information handling system |
DE68924306T2 (de) * | 1988-06-27 | 1996-05-09 | Digital Equipment Corp | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. |
US5058006A (en) * | 1988-06-27 | 1991-10-15 | Digital Equipment Corporation | Method and apparatus for filtering invalidate requests |
US5247688A (en) * | 1988-10-14 | 1993-09-21 | Ricoh Company, Ltd. | Character recognition sorting apparatus having comparators for simultaneous comparison of data and corresponding key against respective multistage shift arrays |
EP0366323A3 (de) * | 1988-10-28 | 1991-09-18 | Apollo Computer Inc. | Warteschlange zur Duplikatetikettenspeicherinvalidation |
US5226146A (en) * | 1988-10-28 | 1993-07-06 | Hewlett-Packard Company | Duplicate tag store purge queue |
US5163142A (en) * | 1988-10-28 | 1992-11-10 | Hewlett-Packard Company | Efficient cache write technique through deferred tag modification |
US5185875A (en) * | 1989-01-27 | 1993-02-09 | Digital Equipment Corporation | Method and apparatus for reducing memory read latency in a shared memory system with multiple processors |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
US5214766A (en) * | 1989-04-28 | 1993-05-25 | International Business Machines Corporation | Data prefetching based on store information in multi-processor caches |
US5230070A (en) * | 1989-09-08 | 1993-07-20 | International Business Machines Corporation | Access authorization table for multi-processor caches |
US5197139A (en) * | 1990-04-05 | 1993-03-23 | International Business Machines Corporation | Cache management for multi-processor systems utilizing bulk cross-invalidate |
US5325510A (en) * | 1990-05-25 | 1994-06-28 | Texas Instruments Incorporated | Multiprocessor system and architecture with a computation system for minimizing duplicate read requests |
US5404483A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills |
US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
US5276852A (en) * | 1990-10-01 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions |
IE860318L (en) * | 1990-10-01 | 1986-08-05 | Digital Equipment Corp | System bus for a multi-cache data processing system |
JP2641819B2 (ja) * | 1990-11-05 | 1997-08-20 | 三菱電機株式会社 | キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式 |
US5829030A (en) * | 1990-11-05 | 1998-10-27 | Mitsubishi Denki Kabushiki Kaisha | System for performing cache flush transactions from interconnected processor modules to paired memory modules |
JPH04372037A (ja) * | 1991-06-21 | 1992-12-25 | Matsushita Electric Ind Co Ltd | システム管理情報設定装置 |
US5953510A (en) * | 1991-09-05 | 1999-09-14 | International Business Machines Corporation | Bidirectional data bus reservation priority controls having token logic |
US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
US5423008A (en) * | 1992-08-03 | 1995-06-06 | Silicon Graphics, Inc. | Apparatus and method for detecting the activities of a plurality of processors on a shared bus |
US5504874A (en) * | 1993-09-29 | 1996-04-02 | Silicon Graphics, Inc. | System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions |
US5634081A (en) * | 1994-03-01 | 1997-05-27 | Adaptec, Inc. | System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer |
JPH07334450A (ja) * | 1994-06-10 | 1995-12-22 | Mitsubishi Denki Semiconductor Software Kk | インタフェイス装置 |
JPH0816470A (ja) * | 1994-07-04 | 1996-01-19 | Hitachi Ltd | 並列計算機 |
US5778437A (en) * | 1995-09-25 | 1998-07-07 | International Business Machines Corporation | Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory |
US6892173B1 (en) * | 1998-03-30 | 2005-05-10 | Hewlett-Packard Development Company, L.P. | Analyzing effectiveness of a computer cache by estimating a hit rate based on applying a subset of real-time addresses to a model of the cache |
US6651143B2 (en) | 2000-12-21 | 2003-11-18 | International Business Machines Corporation | Cache management using a buffer for invalidation requests |
US9646992B2 (en) * | 2015-09-03 | 2017-05-09 | Kabushiki Kaisha Toshiba | Semiconductor memory |
US9898296B2 (en) | 2016-01-08 | 2018-02-20 | International Business Machines Corporation | Selective suppression of instruction translation lookaside buffer (ITLB) access |
US9354885B1 (en) | 2016-01-08 | 2016-05-31 | International Business Machines Corporation | Selective suppression of instruction cache-related directory access |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4056844A (en) * | 1974-02-26 | 1977-11-01 | Hitachi, Ltd. | Memory control system using plural buffer address arrays |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
FR129151A (de) * | 1974-02-09 | |||
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
-
1977
- 1977-11-28 US US05/855,485 patent/US4142234A/en not_active Expired - Lifetime
-
1978
- 1978-05-30 GB GB24272/78A patent/GB1586847A/en not_active Expired
- 1978-10-09 JP JP12368378A patent/JPS5476042A/ja active Granted
- 1978-10-24 FR FR7830979A patent/FR2410335A1/fr active Granted
- 1978-11-04 DE DE2847960A patent/DE2847960C2/de not_active Expired
- 1978-11-14 IT IT29733/78A patent/IT1160070B/it active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4056844A (en) * | 1974-02-26 | 1977-11-01 | Hitachi, Ltd. | Memory control system using plural buffer address arrays |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3919802A1 (de) * | 1988-06-17 | 1989-12-21 | Hitachi Ltd | Speicherbaustein mit vektorprozessoren und einem skalarprozessor |
Also Published As
Publication number | Publication date |
---|---|
FR2410335A1 (fr) | 1979-06-22 |
US4142234A (en) | 1979-02-27 |
JPS5713945B2 (de) | 1982-03-20 |
DE2847960C2 (de) | 1987-01-29 |
GB1586847A (en) | 1981-03-25 |
IT7829733A0 (it) | 1978-11-14 |
FR2410335B1 (de) | 1984-09-28 |
IT1160070B (it) | 1987-03-04 |
JPS5476042A (en) | 1979-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2847960A1 (de) | Speichersteuereinrichtung | |
DE2749850C3 (de) | Hybrider Halbleiterspeicher mit assoziativer Seitenadressierung, Seitenaustausch und Steuerung auf dem Chip | |
DE68924306T2 (de) | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE69715203T2 (de) | Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff | |
DE69421058T2 (de) | Vorrichtung und Verfahren zur Cache-Speicher Kohärenz Überprüfung mit doppelter Abhörmechanismus | |
DE68924206T2 (de) | Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen. | |
DE2240433C3 (de) | Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb | |
DE69616465T2 (de) | Cachespeicher mit Datenvorausladung | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE2717702C2 (de) | Speicher-Zugriff-Steuersystem | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE68921365T2 (de) | Anordnung und Verfahren zum automatischen Auffinden von Speicherplätzen mit hoher Zugriffsrate und zum Ableiten dieser Zugriffe vom Speicherverkehr in einem Multiprozessorsystem. | |
CH627580A5 (de) | Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie. | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE19807872A1 (de) | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. | |
DE3724730A1 (de) | Cache-steuereinrichtung | |
DE2547488C2 (de) | Mikroprogrammierte Datenverarbeitungsanlage | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE3688400T2 (de) | Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks. | |
DE68928333T2 (de) | Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE69808628T2 (de) | Mikroprozessorcachespeicherübereinstimmung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: RUDOLPH, W., PAT.-ASS., 7030 BOEBLINGEN |
|
8125 | Change of the main classification |
Ipc: G06F 12/08 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |