DE4005319C2 - Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern - Google Patents
Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten CachespeichernInfo
- Publication number
- DE4005319C2 DE4005319C2 DE4005319A DE4005319A DE4005319C2 DE 4005319 C2 DE4005319 C2 DE 4005319C2 DE 4005319 A DE4005319 A DE 4005319A DE 4005319 A DE4005319 A DE 4005319A DE 4005319 C2 DE4005319 C2 DE 4005319C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- stc
- cache
- sic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Description
Die Erfindung bezieht sich auf ein Verfahren und eine Anord
nung zur Aufrechterhaltung der Datenkonsistenz in einem Multi
prozessorsystem gemäß dem Oberbegriff des Patentanspruches 1 bzw. 6.
Will in einem solchen System einer der Prozessoren schreibend
auf Daten des Arbeitsspeichers zugreifen, die sich gleichzeitig
in einem Cachespeicher für einen anderen Prozessor befinden,
dann muß sichergestellt werden, daß die in anderen Cachespei
chern vorhandenen gleichadressierten Daten entweder angepaßt
oder aber - weil insgesamt weniger aufwendig - für ungültig
erklärt werden. Demzufolge müssen alle Schreibanforderungen an
alle übrigen Cachespeicher weitergeleitet werden, und es muß
anhand der Steuerdaten überprüft werden, ob die betroffenen Da
ten dort vorhanden sind. Ähnliches gilt für Leseanforderungen,
wenn sich die gewünschten Daten noch nicht im zugehörigen
Cachespeicher befinden. In diesem Falle müssen bei Weiterlei
tung der Leseanforderung an den Arbeitsspeicher ebenfalls alle
anderen Cachespeicher überprüft werden, denn es könnten dort
vorhandene gleichadressierte Daten inzwischen geändert sein und
damit nicht mehr mit denen im Arbeitsspeicher übereinstimmen.
Die in einem anderen Cachespeicher vorliegenden geänderten Da
ten müssen dann erst in den Arbeitsspeicher übertragen werden,
bevor sie dem anfordernden Cachespeicher zur Verfügung gestellt
werden können.
Der Umfang der an die einzelnen Cachespeicher zu richtenden
Überprüfungsanforderungen und der damit verbundene Datenaus
tausch können die Steuerungen der Cachespeicher erheblich be
lasten, was insgesamt eine Verminderung der Verarbeitungs
leistung des gesamten Systems bedingt.
Um den Umfang der Anforderungen an die übrigen Cachespeicher
zu verringern, arbeitet man daher vielfach mit Steuerkennzei
chen im Arbeitsspeicher oder in der Zugriffssteuerung für den
Arbeitsspeicher, die das Vorhandensein gleichadressierter Daten
in den einzelnen Cachespeichern und ihre dortige Änderung
kennzeichnen.
Aus der DE-PS 28 56 715 ist diesbezüglich ein Verfahren und eine
Anordnung gemäß dem Oberbegriff der Patentansprüche 1 bzw. 6
bekannt, bei denen die Steuerkennzeichen zur Kennzeichnung der
mit gleichadressierten Daten belegten Cachespeicher bei jedem
Eintrag in dem zwischen dem Cachespeicher und dem Arbeitsspei
cher vorhandenen Pufferspeicher vorgesehen werden. Trifft dabei
eine Schreibanforderung auf einen Eintrag im Pufferspeicher,
dann werden Anforderungen zum Ungültigerklären der gleichadres
sierten Daten nur an die gekennzeichneten Cachespeicher gerich
tet, im anderen Falle an alle Cachespeicher. Bei Leseanforderungen
werden dagegen keine solchen Anforderungen ausgesandt,
sondern es wird lediglich das Belegungskennzeichen für den zu
gehörigen Cachespeicher eingetragen.
Weiterhin wird ein Auseinanderlaufen der Daten im Arbeitsspei
cher mit den gleichadressierten Daten in den Cachespeichern bei
Änderung dieser Daten dadurch vermieden, daß bei jeder Änderung
von Daten in einem Cachespeicher die geänderten Daten auch an
den Pufferspeicher für den Arbeitsspeicher weitergeleitet wer
den (Store-Through-Prinzip).
Der Speicheraufwand für die zusätzlichen Belegungskennzeichen
ist verhältnismäßig gering, und außerdem werden die Anforderungen
an die Cachespeicher durch die Steuerung abhängig von den
Belegungskennzeichen im Pufferspeicher verringert. Dennoch be
lastet jede Anforderung an einen Cachespeicher das System, da
der Cachespeicher für die Dauer der Prüfung und der Änderung
dem eigenen Prozessor entzogen ist.
Aufgabe der Erfindung ist es daher, die Datenkonsistenz bei
hohem Datendurchsatz eines Multiprozessorsystems der genannten
Art mit einen dem Arbeitsspeicher vorgeschalteten Pufferspei
cher mit geringem Aufwand zu gewährleisten.
Diese Aufgabe wird
hinsichtlich des Verfahrens gemäß der Erfindung durch die Merk
male des Patentanspruches 1 gelöst.
Die Erfindung mach sich dabei eine andere bekannte Lösung zu
nutze, man siehe z. B. DE 34 39 302 C2, wonach Kopien der in den
einzelnen privaten Cachespeichern vorhandenen Steuerdaten in
Form von Adressen und Steuerbits in Verbindung mit der Zu
griffssteuerung verwendet werden und wonach bei jeder Schreib
anforderung an den Arbeitsspeicher die Speicheradresse an alle
Kopien weitergeleitet wird, um zu prüfen, ob der zugehörige Ca
chespeicher gleichadressierte Daten enthält, die dann für ungül
tig zu erklären sind. Abweichend hiervon wird gemäß der Erfin
dung nun nicht erst an Hand dieser Kopien bei jedem Arbeitsspei
cherzugriff ermittelt, in welchem Cachespeicher geänderte gleich
adressierte, gegebenenfalls zuvor abgeholt bzw. gleichadressier
te Daten für ungültig erklärt werden müssen, um die Datenkon
sistenz zu gewährleisten. Sondern die Ansteuerung erfolgt in
erster Linie gezielt abhängig von den Belegungskennzeichen im
Pufferspeicher, so daß bei jedem Arbeitsspeicherzugriff also
nicht grundsätzlich alle Kopien anzusteuern und zu prüfen sind.
Lediglich bei nicht im Pufferspeicher vorhandenen Daten müssen
alle Kopien wie bei der bekannten Lösung überprüft werden, weil
wegen nicht vorhandener Belegungskennzeichen eine Differenzie
rung nicht möglich ist. Gemäß der Erfindung werden also nicht
nur die Steuerungen der Cachespeicher, sondern auch die für die
Kopien weitgehend entlastet. Die durch die Kopien erzielte Fil
terwirkung kommt insbesondere auch dann zum Tragen, wenn zur
Erhöhung der Speicherleistung Einträge im Pufferspeicher nicht
nur bei Schreibanforderungen, sondern auch bei Leseanforderungen
erfolgen, so daß bei aufgrund von Leseanforderungen neu anzu
legenden Einträgen alle Cachespeicher auf Verdacht als belegt
gekennzeichnet werden müssen, weil nicht auszuschließen ist,
daß die angeforderten Daten in einem der Cachespeicher noch vor
handen sind. Aufeinanderfolgende Leseanforderungen für gleich
adressierte Daten von verschiedenen Prozessoren können so
schneller beantwortet werden.
Das Problem der Aktualisierung der Kopien des jeweils anfor
dernden Cachespeichers wird dabei in einfacher Weise durch
Ausnutzung der Signale für die Aufforderungen zum Ungültig
erklären von Daten gelöst, indem zusätzlich die Art der Spei
cheranforderung bewertet wird, was in einfacher Weise an den
weiterzuleitenden Speicherparametern erkennbar ist. Zusätzliche
Signalgeneratoren für die Aktualisierung können daher entfal
len.
Letzteres kommt auch zum Tragen, wenn gemäß Patentanspruch 3
bei Schreibanforderungen die Daten außer in den Pufferspeicher
auch immer in den Cachespeicher eingetragen werden und entspre
chend die Kopie ebenfalls zu aktualisieren ist.
Die durch die neue Lösung bewirkte Leistungssteigerung wirkt
sich besonders dann aus, wenn der Arbeitsspeicher gemäß Patent
anspruch 4 in mehrere getrennt ansteuerbare Module unterteilt
und jedem Modul ein eigener Pufferspeicher zugeordnet ist, wo
bei die Aufforderungen für die Überprüfung der Cachespeicher
vom für die jeweilige Arbeitsspeicheranforderung zuständigen
Pufferspeicher ausgehen. In diesem Falle werden alle mit ver
schiedenen Modulen des Arbeitsspeichers zusammenarbeitenden
Prozessoren kaum blockiert, da auch bei gleichzeitigen Schreib
anforderungen von mehreren Prozessoren die Anzahl der ausgelö
sten Überprüfungsaufträge beschränkt bleibt.
Eine Anordnung gemäß der Erfindung ergibt sich aus den Merkma
len des Patentanspruches 6, wobei sich die daran anschließen
den Patentansprüche 7 und 8 auf Weiterbildungen dieser Anord
nung entsprechend den verschiedenen Verfahrensvarianten bezie
hen.
Einzelheiten der Erfindung sind nachfolgend anhand eines in
der Zeichnung dargestellten Ausführungsbeispieles näher er
läutert.
Im einzelnen zeigen
Fig. 1 ein Übersichtschaltbild eines Multiprozessorsystems ge
mäß der Erfindung,
Fig. 2 eine logische Tabelle für die Ermittlung der Belegungs
kennzeichen und der Steuersignale,
Fig. 3 ein Blockschaltbild für einen der Pufferspeicher von
Fig. 1,
Fig. 4 ein Blockschaltbild für die Einrichtungen zur Ermittlung
der Belegungskennzeichen von Fig. 3 und
Fig. 5 ein Blockschaltbild für die Einrichtungen zur Erzeugung
der Steuersignale von Fig. 3.
Das Übersichtschaltbild von Fig. 1 zeigt in seinem unteren Teil
eine Reihe von Prozessoren CPU₀ bis CPUm mit ihren privaten
Cachespeichern STC₀ bis STCm und den zugehörigen Steuerdaten
teilen T₀ bis Tm sowie eine Reihe von Ein-/Ausgabewerken IOP₀
bis IOPm ohne private Cachespeicher. Alle diese Prozessoren und
Ein-/Ausgabewerke können über die gemeinsame Zugriffssteuerung
MAC zum Arbeitsspeicher ASP . . ., der in mehrere getrennt an
steuerbare Module ASP₀ bis ASPi unterteilt ist, zugreifen, wo
bei der Zugriff von den Prozessoren CPU . . . aus über den jeweils
zugehörigen privaten Cachespeicher STC . . . erfolgt, wenn die ge
wünschten Daten in diesem nicht greifbar sind.
Jedem Arbeitsspeichermodul ASP₀ bis ASPi des Arbeitsspeichers
ist ein Pufferspeicher SIC₀ bis SICi vorgeschaltet, der im vor
liegenden Fall sowohl die aus dem zugehörigen Arbeitsspeicher
modul gelesenen als auch die in dieses einzuschreibenden Daten
mit den dazugehörigen Adressen zwischenspeichert, beispielswei
se so lange, bis Platz für neue Daten benötigt wird. Diese Puf
ferspeicher können als einfache Pufferspeicher oder auch als
Cachespeicher ausgebildet sein, wobei ähnlich dem Funktions
prinzip der einfachen Pufferspeicher nach dem Store-In-Prinzip
arbeitende Cachespeicher verwendet werden.
Innerhalb der Zugriffssteuerung MAC sind weiterhin für jeden
privaten Cachespeicher STC₀ bis STCm Kopien TK₀ bis TKm der
zugehörigen Steuerdaten T₀ bis Tm vorgesehen.
An die Zugriffssteuerung MAC gerichtete Speicheranforderungen
werden von dieser in bekannter Weise überwacht und einzeln
nacheinander bearbeitet, indem das jeweils durch die mitge
teilte Adresse bestimmte Arbeitsspeichermodul ASPx ausgewählt
und der Auftrag mit den zugehörigen Parametern an den zuge
hörigen Pufferspeicher SICx weitergeleitet wird. Handelt es
sich um eine Schreibanforderung, werden die in den Arbeits
speicher einzuschreibenden Daten mit übergeben, und handelt
es sich um eine Leseanforderung, dann werden die gewünschten
Daten, falls sie nicht im Pufferspeicher vorrätig sind, aus dem
Arbeitsspeicher gelesen und in den Pufferspeicher eingetragen,
sowie an den anfordernden Cachespeicher STCx bzw. an das an
fordernde Ein-/Ausgabewerk IOPy weitergeleitet. Die damit ver
bundene Übertragung der Parameter und Daten übernimmt in an
sich bekannter Weise ein gemeinsames Leitungssystem AC-BUS.
Mit jeder Anforderung an den Arbeitsspeicher sind nun zusätz
lich Überwachungs- und Steuerungsmaßnahmen zur Aufrechterhal
tung der Datenkonsistenz erforderlich, da mehrere Prozessoren
gegebenenfalls dieselben Daten aus dem Arbeitsspeicher benöti
gen und gleichadressierte Daten gleichzeitig in mehreren priva
ten Cachespeichern eingetragen sein können. Solange auf diese
Daten nur lesend zugegriffen wird und diese Daten nicht verän
dert werden, besteht keine Gefahr, daß die Daten im Arbeits
speicher ASP . . . bzw. dem vorgeschalteten Pufferspeicher SIC . . .
einerseits und in den privaten Cachespeichern STC . . . auseinan
derlaufen. Wird dagegen von einem der Prozessoren CPU . . . eine
Änderung vorgenommen, dann muß sichergestellt werden, daß im
Arbeitsspeicher ASP . . . und in anderen privaten Cachespeichern
STC . . . vorhandene gleichadressierte Daten angepaßt bzw. für un
gültig erklärt werden.
Die Anpassung der Daten im Arbeitsspeicher ASP . . . wird in ein
facher Weise dadurch sichergestellt, daß als private Cachespei
cher solche verwendet werden, die nach dem Store-Through-Prin
zip arbeiten und demzufolge geänderte Daten unmittelbar an den
Arbeitsspeicher ASP weitergeleitet werden.
Außerdem muß überprüft werden, in welchem Cachespeicher gleich
adressierte Daten eingetragen sind, die für ungültig zu erklä
ren sind.
Zu diesem Zweck ist in den Pufferspeichern SIC . . . zusätzlich
für jeden Eintrag ein Speicherabschnitt zur Aufnahme von den
einzelnen privaten Cachespeichern STC₀ bis STCm individuell
zugeordneten Belegungskennzeichen vorgesehen. Diese Belegungs
kennzeichen können z. B. aus einem Steuerbit bestehen, das den
logischen Wert "1" annimmt, wenn auch im zugehörigen Cache
speicher STC . . . die zugehörigen Daten eingetragen werden oder
eingetragen sein können. Anhand dieser Belegungskennzeichen
kann daher bei einer Schreibanforderung unmittelbar erkannt
werden, ob gleichadressierte Daten noch in einem anderen priva
ten Cachespeicher eingetragen sein können und daher für ungül
tig erklärt werden müssen.
An die zugehörigen Kopien TK . . . werden daher entsprechende
Überprüfungsaufforderungen gerichtet, und nur wenn die dadurch
ausgelösten Überprüfungen positiv ausgefallen sind, wird der
zugehörige Eintrag in der Kopie TK . . . für ungültig erklärt
sowie ein entsprechender Auftrag an den zugehörigen privaten
Cachespeicher STC . . . weitergeleitet und in diesem der dortige
Eintrag ebenfalls für ungültig erklärt.
Bei allen Schreibanforderungen, für die im jeweils betroffenen
Pufferspeicher SIC . . . Daten eingetragen sind, kann anhand der
Belegungskennzeichen im Pufferspeicher entschieden werden, ob
und welche Kopien TK . . . anderer privater Cachespeicher STC . . .
zu überprüfen sind, während bei nicht im Pufferspeicher SIC . . .
eingetragenen Daten immer alle Kopien TK . . . der anderen priva
ten Cachespeicher STC . . . überprüft werden müssen. Die für die
Überprüfung der Kopien TK . . . und für das Ungültigerklären von
gleichadressierten Daten notwendigen Übertragungswege sind aus
Fig. 1 ebenfalls ersichtlich.
Bei mehrfach aufeinanderfolgenden Schreibanforderungen für die
selben Daten durch verschiedene Prozessoren wird daher die An
zahl der auszulösenden Überprüfungsanforderungen für die Steu
erdatenkopien TK . . . wesentlich reduziert. Auch führen an mehre
re Pufferspeicher SIC . . . gleichzeitig gerichtete Schreiban
forderungen für in diese gespeicherte Daten nicht zu einer
Überlastung der Steuerung für die Kopien TK . . ., da infolge der
Belegungskennzeichen sich überlagernde Überprüfungsanforderun
gen der einzelnen Pufferspeicher vermieden werden
und daher nicht in ein die Leistungsfähigkeit des Systems be
einträchtigendes zeitliches Nacheinander aufgelöst werden müssen.
Fig. 2 zeigt in Form einer logischen Tabelle die Ableitung der
jeweils neuen Belegungskennzeichen UNx und eines Steuersignales
STROBEx abhängig davon, ob die Anforderung von dem dem Bele
gungskennzeichen UNx zugeordneten Prozessor (CPUANFx=1) oder
einem anderen Prozessor (CPUANFx=0) ausgeht, ob es eine
Schreibanforderung (WR=1) oder eine Leseanforderung (WR=0)
ist und ob die gewünschten Daten bereits im Pufferspeicher ein
getragen sind (HIT=1) oder nicht (HIT=0).
Dementsprechend gliedert sich die Tabelle in zwei Hälften, wo
bei sich die untere Hälfte entsprechend CPUANFx=1 auf das Be
legungskennzeichen für den anfordernden Cachespeicher und die
obere Hälfte entsprechend CPUANF=0 immer auf die Belegungs
kennzeichen für die übrigen privaten Cachespeicher bezieht.
Handelt es sich um einen Schreibzugriff entsprechend WR=1 und
ist HIT=1, bleibt für den anfordernden Cachespeicher das alte
Belegungskennzeichen UAx unverändert, wenn bei einer infolge ei
nes nicht vorhandenen Eintrags im privaten Cachespeicher ausge
lösten Schreiban
forderung an den Pufferspeicher nicht gleichzeitig ein Eintrag
im zugehörigen privaten Cachespeicher vorgenommen wird. Ist
letzteres der Fall, wird das Belegungskennzeichen auf "1" ge
setzt, was in Klammern angegeben ist.
Ist dagegen HIT=0, so wird das Belegungskennzeichen auf jeden
Fall gesetzt, da auch bei nicht gleichzeitigem Eintrag im
privaten Cachespeicher ein solcher Eintrag vorhanden sein kann,
der aus dem Pufferspeicher zwischenzeitlich wieder verdrängt
ist. Für alle anderen privaten Cachespeicher wird entsprechend
der oberen Hälfte der Tabelle jeweils bei einem Schreibzugriff
(WR=1) das Belegungskennzeichen auf "0" gesetzt und damit
gelöscht.
Erfolgt dagegen ein Lesezugriff (WR=0), bei dem die gelesen
en Daten immer in den anfordernden privaten Cachespeicher
übertragen werden, wird das Belegungskennzeichen für diesen
Cachespeicher immer gesetzt, während die Belegungskennzeichen
für alle übrigen Cachespeicher bei HIT=1 unverändert blei
ben und bei HIT=0 ebenfalls gesetzt werden, da in diesem
Falle Einträge dort vorhanden sein könnten, die inzwischen aber
aus dem Pufferspeicher verdrängt worden sind.
Parallel zu den bei jeder Anforderung zu ermittelnden Bele
gungskennzeichen UNx werden gegebenenfalls gleichzeitig Steu
ersignale STROBEx für die Ansteuerung der Kopien TK . . . erzeugt.
Wie bereits erwähnt, erfordert jede Schreibanforderung (WR=1)
unter bestimmten Bedingungen eine Überprüfung der Kopien TK . . .,
um zu prüfen, ob gleichadressierte Daten auch in anderen pri
vaten Cachespeichern STC . . . eingetragen und daher für ungültig
zu erklären sind, während die Kopie des anfordernden Cachespei
chers nicht zu berücksichtigen ist. Ein Steuersignal STROBEx=1
wird daher, wenn der gewünschte Eintrag im Pufferspeicher nicht
vorhanden ist (HIT=0), für alle anderen Kopien erzeugt, und wenn der
Eintrag vorhanden ist (HIT=1), nur für die durch das zuge
hörige Belegungskennzeichen UAx=1 gekennzeichneten Kopien.
Dieses Steuersignal führt dann bei einer Schreibanforderung zur
Ungültigerklärung des in der jeweils überprüften Kopie TK . . .
gefundenen gleichadressierten Eintrages.
Das Signal STROBEx wird gemäß der Erfindung aber nicht nur zur
Überprüfung der Kopien TK . . . anderer privater Cachespeicher
STC . . ., sondern auch zur Aktualisierung der Kopie des eigenen
Cachespeichers verwendet. Deshalb wird entsprechend der unteren
Hälfte der Tabelle von Fig. 2 bei einer Leseanforderung (WR=0)
ebenfalls ein Steuersignal entsprechend STROBEx=1 ausgelöst.
Ebenso bei jeder Schreibanforderung für den Pufferspeicher ent
sprechend den Klammereinträgen, wenn mit jeder Schreibanforde
rung auch ein Eintrag im privaten Cachespeicher STC . . . verbun
den ist. In all diesen Fällen bewirkt das Signal STROBEx=1
nicht eine Überprüfung, sondern die Vornahme des neuen Eintrags
in der zugehörigen Kopie, damit diese mit dem Original der
Steuerdaten im Cachespeicher übereinstimmt, ohne daß der pri
vate Cachespeicher hierfür zu sorgen hat.
Fig. 3 zeigt einen Pufferspeicher SICi, der als nach dem Store-
In-Prinzip arbeitender Cachespeicher mit zwei Bänken A und B
ausgebildet ist und in an sich bekannter Weise aus einem Daten
speicher DAT-SP und einem Steuerdatenspeicher TAG-ST besteht.
Die Ansteuerung erfolgt vom Leitungssystem AC-BUS der Zugriffs
steuerung MAC aus mit Übernahme der Zugriffsparameterdaten PAR
in ein Register REG3. Aus diesem heraus erfolgt mit einem
Adressenteil LOCAD unmittelbar die parallele Ansteuerung der
zugehörigen Speicherabschnitte in beiden Speichern und die
HIT/MISS-Steuerung H/M-AW vergleicht die zugehörigen Adressen
einträge aus dem Steuerdatenspeicher TAG-SP mit dem Adressen
Teil TAG-AD der Parameterdaten PAR. Ergibt sich dabei für eine
der beiden Bänke eine Trefferanzeige HIT=1, weil die ge
wünschten Daten im Datenspeicher DAT-SP vorhanden sind, dann
werden diese bei einem Lesezugriff über den entsprechend mit
dem Auswahlsignal SELBKB eingestellten Bankauswahlschalter BK-SEL
aus dem Datenspeicher DAT-SP gelesen und im Register REG1
für die Übertragung zum anfordernden privaten Cachespeicher
STC . . . bereitgestellt oder aber es werden bei einem Schreib
zugriff die angelieferten und im Register REG2 zwischenge
speicherten Daten in den ermittelten Speicherabschnitt des
Datenspeichers DAT-SP eingetragen.
Sind die gewünschten Daten entsprechend HIT=0 nicht im
Pufferspeicher eingetragen, wird bei einer Leseanforderung in
an sich bekannter Weise die Anforderung an den Arbeitsspeicher
ASP . . . weitergeleitet und im vorliegenden Fall für die gele
senen Daten ein Eintrag vorgenommen, während bei einem Schreib
zugriff sofort ein Eintrag für die zu schreibenden Daten ausge
löst wird. Mit den Einträgen werden zugleich auch die Steuerda
ten im Steuerdatenspeicher TAG-SP jeweils in der üblichen Weise
angepaßt. Zu den Steuerdaten gehören auch
die individuellen Belegungskennzeichen UAx für jeden privaten
Cachespeicher STC₀ bis STCi des Multiprozessorsystems, deren
Gesamtheit im Steuerdatenspeicher TAG-SP mit Σ UA gekennzeich
net ist. Bei jeder Anforderung an den Pufferspeicher SICi wer
den diese Belegungskennzeichen durch die Einrichtung U-GEN neu
ermittelt und als Σ UN im Steuerdatenspeicher TAG-SP mit abge
speichert, wobei bei bereits vorliegenden Einträgen entspre
chend HIT=1 die gelesenen Belegungskennzeichen Σ UA berück
sichtigt werden. Parallel dazu werden mit der Einrichtung
ST-GEN die individuellen Anforderungssignale STROBEx für die
anzusteuernden Steuerdatenkopien TK . . . erzeugt, wobei bereits
vorliegende Belegungskennzeichen Σ UA ebenfalls berücksichtigt
werden.
Zusammen mit diesen Steuersignalen STROBEx werden die im Re
gister 3 zwischengespeicherten Parameterdaten PAR, die die Art
der Anforderung kennzeichnen und die Adressenteile TAGAD und
LOCAD sowie die Banknummer im privaten Cachespeicher beinhal
ten, parallel an alle Steuerdatenkopien, z. B. TK₀ bis TKm,
übertragen, so daß die dortigen Steuerungen anhand der Para
meterdaten entscheiden können, wie sie gegebenenfalls zu
reagieren haben und welcher Eintrag von der Reaktion betroffen
ist.
Fig. 4 zeigt eine Teilschaltung U-GENx der Einrichtung U-GEN für
die Ermittlung eines der Belegungskennzeichen UNx. Für jedes
der benötigten Belegungskennzeichen ist eine entsprechende
Teilschaltung vorzusehen. Der gestrichelte Teil der Schaltung
von Fig. 4 ist durch die Aufteilung in zwei Bänke A und B be
dingt und nur erforderlich, wenn unabhängig von der endgültigen
Entscheidung über die zutreffende Bank - Vorliegen des Signals
SELBKB der HIT/MISS-Auswahlsteuerung H/M-AW in Fig. 3 - die Er
mittlung der neuen Belegungskennzeichen UNx schon eingeleitet
werden soll, um Zeit zu gewinnen. Die Ermittlung erfolgt ent
sprechend der Tabelle von Fig. 2 anhand der gezeigten Signale.
Für alle Eingangssignale sei dabei unterstellt, daß sie in Re
gistern zwischengespeichert sind, so daß das Ausgangssignal UNx
so lange stabil ist, bis der Schreibvorgang abgeschlossen ist.
Die Teilschaltung besteht im wesentlichen aus drei Multiplexern
MUX1 bis MUX3 und je einem weiteren Multiplexer, z. B. MUX4, für
jede weitere Bank. Die Eingangsbeschaltung der Multiplexer MUX3
und MUX4 für das Belegungskennzeichen UAx der einzelnen Bänke
BKA und BKB ist gleichartig. Handelt es sich um eine Anforde
rung eines fremden Prozessors entsprechend CPUANFx=0, wird
beim Lesen entsprechend WR=0 das am Signaleingang 0 anliegende
Belegungskennzeichen UAx und beim Schreiben entsprechend
WR=1 das am Signaleingang 1 fest anliegende logische Signal
"0" durchgeschaltet. Liegt dagegen eine Anforderung des eigenen
Prozessors entsprechend CPUANFx=1 vor, dann wird einer der
Signaleingänge 2 oder 3 ausgewählt, und zwar bei WR=0 der
Eingang 2 mit dem festen logischen Signal "1" und bei WR=1
der Eingang 3 mit dem anliegenden Belegungskennzeichen UAx.
Die Ausgänge dieser Multiplexer MUX3 und MUX4 sind auf die
Signaleingänge, z. B. 1 und 3 des Ausgangsmultiplexers MUX2 ge
führt, die bei Vorliegen eines Eintrages im Pufferspeicher ent
sprechend HIT=1 durchgeschaltet werden, während die bei
HIT=0 durchgeschalteten Signaleingänge, z. B. 0 und 2 alle
an den Ausgang des Multiplexers 1 angeschlossen sind, da bei
nicht bereits vorliegenden Belegungskennzeichen UAx die neuen
Belegungskennzeichen UNx für alle Bänke in gleicher Weise ge
bildet werden. Der Multiplexer MUX1 schaltet abhängig vom Ein
gangssignal CPUANFx entweder das durch den Inverter IN1 ne
gierte Schreibsignal WR am Signaleingang 0 durch, so daß bei
einer Anforderung von einem fremden Prozessor beim Schreiben
entsprechend WR=1 ein Ausgangssignal "0" bzw. beim Lesen ent
sprechend WR=0 ein Ausgangssignal "1" erzeugt wird, oder aber
den mit dem festen Signal "1" beschalteten Signaleingang 1.
Welches Signalpaar, z. B. 0 und 1 oder 2 und 3, des Ausgangsmul
tiplexers MUX2 dann ausgewählt wird, hängt letztendlich von der
betroffenen Bank ab. Bei noch mehr Bänken würde sich die Anzahl
der am Multiplexer MUX2 anliegenden Signaleingangspaare ent
sprechend vergrößern, ebenso die Anzahl der Steuereingänge für
die bankbezogene Auswahl.
Fig. 5 zeigt die entsprechende Teilschaltung ST-GENx für die
Erzeugung eines der Strobesignale STROBEx. Die benötigten Ein
gangssignale sind dieselben wie die für die Teilschaltung von
Fig. 4, wobei der gestrichelt gezeichnete Multiplexer MUX6 nur
bei mehreren Bänken benötigt wird. Die Verknüpfung der Signale
entspricht wiederum der der Tabelle von Fig. 2 zugrundeliegenden
Verknüpfung.
Entsprechend den beiden Anforderungsarten Lesen (WR=0) oder
Schreiben (WR=1) sind zwei Signaleingangspaare 0 und 1 sowie
2 und 3 am Multiplexer MUX5 vorgesehen. Da beim Lesen durch den
eigenen Prozessor immer ein Steuersignal STROBEx zur Aktuali
sierung des Eintrags in der zugehörigen Steuerdatenkopie TKx
ausgelöst wird, ist das Signal CFUANFx parallel auf beide
Signaleingänge 0 und 1 geschaltet. Beim Schreiben (WR=1)
dient das Signal STROBEx zum Ungültigerklären gegebenenfalls
vorliegender gleichadressierter Daten, wobei bei HIT=0 alle
fremden Kopien zu überprüfen sind, so daß das Signal in ein
facher Weise vom am Inverter IN2 invertierten Signal CPUANFx
am Signaleingang 2 abgeleitet werden kann. Bei HIT=1 ist
dagegen das Ausgangssignal zusätzlich vom Vorliegen des Be
legungskennzeichens UAx abhängig, was durch das UND-Glied U1
erfaßt wird, über das der Signaleingang 3 angesteuert wird. Die
Ausgangssignale der Multiplexer MUX5 aller Teilschaltungen wer
den dann noch mit einem gemeinsamen Taktimpuls T durch das
UND-Glied U2 verknüpft, um es passend zu den übrigen Steuerab
läufen wirksam werden zu lassen.
Die in der Tabelle von Fig. 2 in Klammern angegebenen Verknüpf
ungsalternativen bei der Ermittlung der Belegungskennzeichen
und der Erzeugung der Steuersignale wurde hierbei nicht be
rücksichtigt. Die in Fig. 4 und Fig. 5 gezeigten Teilschaltungen
lassen sich aber ohne Schwierigkeiten entsprechend abändern.
Beim vorangehend beschriebenen Ausführungsbeispiel ist unter
stellt, daß der Pufferspeichers SIC . . . eine ausreichende Spei
cherkapazität im Vergleich zu der der privaten Cachespeicher
STC . . . aufweist, so daß nicht nur bei Schreibanforderungen,
sondern auch bei allen Leseanforderungen an den Arbeitsspei
cher ASP . . . Einträge angelegt werden. Mit abnehmender Spei
cherkapazität für den Pufferspeicher SIC . . . steigt jedoch die
Wahrscheinlichkeit, daß durch die Einträge bei Leseanforderun
gen die für den Steuerungsablauf wichti
geren Einträge bei Schreibanforderungen in zunehmendem Maße
verdrängt werden und damit der durch die Belegungskennzeichen
gegebene Steuerungsvorteil verringert wird. Um dem entgegen
zuwirken, besteht die Möglichkeit, bei Leseanforderungen Ein
träger nur dann anzulegen, wenn die Wahrscheinlichkeit besteht,
daß dieselben Daten im nachhinein auch noch für Schreibanfor
derungen benötigt werden, d. h. Einträge werden nur bei vorge
gebenen Leseanforderungen angelegt, z. B. beim Lesen des ersten
Operanden eines SS-Befehles. Im Extremfall kann man auf das
Anlegen von Einträgen bei Leseanforderungen auch ganz verzich
ten und den Pufferspeicher lediglich als Schreibpuffer für in
den Arbeitsspeicher ASP . . . zu übertragende Daten benutzen.
Die sich daraus ergebenden Auswirkungen auf die Gestaltung der
Schaltungen von Fig. 4 und Fig. 5 sind gering. Sie können vom
einschlägigen Fachmann ohne Schwierigkeiten an die jeweiligen
Randbedingungen angepaßt werden.
Claims (8)
1. Verfahren zur Aufrechterhaltung der Datenkonsistenz in einem
Multiprozessorsystem mit einem gemeinsamen Arbeitsspeichersy
stem (ASP/MAC),
- - bei dem den einzelnen Prozessoren (CPU . . .) jeweils ein priva ter Cachespeicher (STC . . .) zur Aufnahme von Daten aus dem Ar beitsspeichersystem (ASP/MAC) zugeordnet ist und Anforderungen der Pro zessoren (z. B. CPUm) zuerst an den zugehörigen Cachespeicher (STCm) gerichtet und, wenn die gewünschten Daten nicht vorhan den sind, an das Arbeitsspeichersystem weitergeleitet werden, wobei im Rahmen von Leseanforderungen (WR=0) die gewünschten Daten entweder direkt vom Cachespeicher (STC . . .) oder aber erst nach Übernahme vom Arbeisspeichersystem (ASP/MAC) an den Pro zessor (CPU . . .) geliefert werden, während im Rahmen von Schreibanforderungen (WR=1) die vom Prozessor gelieferten Daten immer an das Arbeitsspeichersystem weitergeleitet und bei vor handenem Eintrag im Cachespeicher (STC . . .) auch in diesen ein gespeichert werden (Store-Through-Prinzip) und
- - bei dem die mit dem Arbeitsspeichersystem (ASP/MAC) auszutau schenden Daten in einem Arbeitsspeicher (ASP) vorgeschal teten Pufferspeicher (SIC . . .) zwischengespeichert werden und jeder Eintrag im Pufferspeicher mit zusätzlichen, individuellen Belegungskennzeichen (UAx) für alle vorhandenen privaten Cache speicher (STC . . .) zur Kennzeichnung der jeweils gleichadres sierte Daten aufweisenden privaten Cachespeicher versehen wird, wobei durch mit einer Zugriffssteuerung (MAC) gekoppelte Steu ereinrichtungen (ST-GEN/U-GEN) bei jeder Anforderung, ausgehend vom gegebenen Betriebszustand in Abhängigkeit von der Art der Anforderung (WR) und dem Belegungszustand (HIT) des Pufferspei chers (SIC . . .) die Belegungskennzeichen (UAx) dem sich daraus ergebenden neuen Betriebszustand angepaßt und bei Schreibanfor derungen die gegebenenfalls notwendig werdenden Aufforderungen zum Ungültigerklären von gleichadressierten Daten in den ande ren privaten Cachespeichern ausgelöst werden, indem bei Vorhan densein der gewünschten Daten im Pufferspeicher (SIC) die Auf forderungen nur an die durch ein Belegungskennzeichen (UAx) ge kennzeichneten anderen Cachespeicher und im anderen Falle an alle anderen Cachespeicher gerichtet werden, dadurch gekennzeichnet,
- - daß Abbildungen der Steuerdaten für die einzelnen privaten Cachespeicher (STC₀ bis STCm) in Form von Kopien (TK₀ bis TKm) in der Zugriffssteuerung (MAC) verwendet werden,
- - daß die Aufforderungen (Signale STROBEx, PAR) zum Ungültigerklären der gleichadressierten Daten in den betroffenen Cache speichern (STC . . .) zunächst nur an die zugehörigen Kopien (TK . . .) der Steuerdaten gerichtet und von diesen an die Cache speicher (STC . . .) nur weitergeleitet werden, wenn die Überprü fung der jeweiligen Kopie (TK . . .) ergibt, daß die für ungültig zu erklärenden Daten sich tatsächlich im zugehörigen Cachspei cher (STC . . .) befinden,
- - daß bei allen Leseanforderungen (WR=0) an das Arbeitsspei chersystem (ASP/MAC) die Kopie (TK . . .) der Steuerdaten für den anfordenden privaten Cachespeicher (STC . . .) aktualisiert wird und
- - daß für die Aktualisierungsaufforderungen dieselben Steuer signale (STROBEx, PAR) wie für die Aufforderungen zum Ungültig erklären von gleichadressierten Daten verwendet werden, wobei die unterschiedliche Wirkung dieser Signale davon abhängig ist, ob der jeweils zugehörige Prozessor (z. B. CPUm) die Speicheran forderung gestellt hat oder nicht.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß auch bei Leseanforderungen an das Arbeitsspeichersystem
(ASP/MAC), für die noch kein Eintrag vorliegt (HIT=0), die
Daten aus dem Arbeitsspeicher (ASP) in den Pufferspeicher (SIC)
übertragen werden, wobei zusätzlich das Belegungskennzeichen
(UNx) für alle übrigen privaten Cachespeicher (STC₀ bis STCm)
eingetragen wird.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß bei Verwen
dung von privaten Cachespeichern (STC₀ bis STCm), bei denen
im Rahmen einer Schreibanforderung bei nicht im Cachespeicher
vorhandenem Eintrag die geänderten Daten außer in den Puffer
speicher (SIC . . .) auch in den Cachespeicher eingetragen werden,
bei jeder einen Eintrag im Pufferspeicher (SIC . . .) auslösenden
Schreibanforderung auch das entsprechende Belegungskennzeichen
(UNx) eingetragen und eine in gleicher Weise wie bei den Lese
anforderungen gebildete Aktualisierungsaufforderung an die zu
gehörige Kopie (TK . . .) der Steuerdaten des anfordernden Cache
speichers (STC . . .) gerichtet wird.
4. Verfahren nach einem der Ansprüche 1 bis 3,
gekennzeichnet durch die Verwendung eines
in mehrere getrennt ansteuerbare Module (ASP₀ bis ASPi) unter
teilten Arbeitsspeichers und eines jedem Modul zugeordneten
eigenen Pufferspeichers (SIC₀ bis SICi), wobei die Aufforderun
gen (Signale STROBEx, PAR) für das Ungültigerklären von gleichadres
sierten Daten in den privaten Cachespeichern (STC₀ bis STCm)
jeweils von dem für die jeweilige Arbeitsspeicheranforderung
zuständigen Pufferspeicher (z. B. SIC₀) ausgelöst werden.
5. Verfahren nach einem der Ansprüche 1 bis 4,
gekennzeichnet durch die Verwendung von
Cachespeichern als Pufferspeicher (SIC₀ bis SICi), die die
von den privaten Cachespeichern (STC₀ bis STCm) gelieferten
geänderten Daten so lange ohne Weiterleitung an den Arbeits
speicher (ASP) zwischenspeichern, bis der belegte Speicherab
schnitt für andere Daten aus dem Arbeitsspeicher benötigt
wird (Store-In-Prinzip).
6. Anordnung zur Aufrechterhaltung der Datenkonsistenz in
einem Multiprozessorsystem, bestehend
- - aus mehreren Prozessoren (CPU₀ bis CPUm) mit privaten, nach dem Store-Through-Prinzip arbeitenden Cachespeichern (STC₀ bis STCm) zur Entgegennahme von Speicheranforderungen des zugehöri gen Prozessors,
- - aus einem gemeinsamen Arbeitsspeicher (ASP . . .) mit vorge
schaltetem Pufferspeicher (SIC . . .) und einer gemeinsamen Zu
griffssteuerung (MAC) zur Koordinierung der von den privaten
Cachespeichern (STC₀ bis STCm) weitergeleiteten Speicheranfor
derungen, wobei
im Pufferspeicher (SIC . . .) für jeden Eintrag zusätzliche Spei cherabschnitte zur Aufnahme von den einzelnen Cachespeichern (STC₀ bis STCm) individuell zugeordneten Belegungskennzeichen (UA) zur Kennzeichnung der privaten Cachespeicher, in denen gleichadressierte Daten vorhanden sind, vorgesehen sind und wobei
mit dem Pufferspeicher (SIC) Einrichtungen (U-GEN) zur Ermitt lung der Belegungskennzeichen (UNx) für die einzelnen privaten Cachespeicher (STC₀ bis STCm) bei jeder Anforderung, für die ein Eintrag im Pufferspeicher (SIC . . .) vorliegt oder anzulegen ist, und Einrichtungen (ST-GEN) zur Erzeugung der für die An steuerung der von für ungültig zu erklärenden Speicherdaten be troffenen privaten Cachespeicher (STC . . .) erforderlichen Steu ersignale (STROBEx) abhängig von den jeweiligen Belegungskenn zeichen gekoppelt sind,
gekennzeichnet - - durch in der gemeinsamen Zugriffssteuerung (MAC) gespeicherte
Kopien (TK₀ bis TKm) der Steuerdaten der privaten Cachespei
cher (STC₀ bis STCm) mit Einrichtungen
- - zur Auswertung der von den Einrichtungen des Pufferspeichers (SIC . . .) ausgesandten Steuersignale (STROBEx, PAR),
- - zur Überprüfung der Kopien (TK . . .) auf gleichadressierte Daten,
- - zur Änderung der Einträge im Falle eines positiven Prüfungs ergebnisses und
- - zur Weiterleitung von überprüften Steuersignalen (PAR) an den jeweils zugehörigen privaten Cachespeicher (STC . . .) bei einem positiven Prüfergebnis, wenn gleichadressierte Daten für ungültig zu erklären sind,
- - durch in den Einrichtungen (ST-GEN) zur Erzeugung der Steu ersignale (STROBEx) enthaltene Auswerteelemente (MUX5) zur Überwachung der Speicheranforderungen und zur Erzeugung des Steuersignales (STROBEx) als Aktualisierungsaufforderung für den anfordernden Prozessor (CPU . . .).
7. Anordnung nach Anspruch 6,
gekennzeichnet durch einen in mehrere ge
trennt ansteuerbare Module (ASP₀ bis ASPi) unterteilten Ar
beitsspeicher und durch einen jedem Modul individuell zugeord
neten Pufferspeicher (SIC₀ bis SICi) mit Einrichtungen (U-GEN/
ST-GEN) zur Ermittlung der Belegungskennzeichen (UNx) und zur
Erzeugung der Steuersignale (STROBEx) für die Ansteuerung der
Kopien (TK₀ bis TKm) der privaten Cachespeicher (STC₀ bis
STCm).
8. Anordnung nach Anspruch 6 oder 7,
dadurch gekennzeichnet, daß der bzw.
die Pufferspeicher (SIC₀ bis SICi) als nach dem Store-In-Prin
zip arbeitende Cachespeicher ausgebildet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP89103064 | 1989-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4005319A1 DE4005319A1 (de) | 1990-08-23 |
DE4005319C2 true DE4005319C2 (de) | 1994-06-16 |
Family
ID=8200989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4005319A Expired - Fee Related DE4005319C2 (de) | 1989-02-22 | 1990-02-20 | Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4005319C2 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2043493C (en) * | 1990-10-05 | 1997-04-01 | Ricky C. Hetherington | Hierarchical integrated circuit cache memory |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
DE4325729C2 (de) * | 1992-09-08 | 1998-05-07 | Hewlett Packard Co | Hierarchische Speicheranordnung für ein Multiprozessorsystem |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5849945B2 (ja) * | 1977-12-29 | 1983-11-08 | 富士通株式会社 | バツフア合せ方式 |
JPS6093563A (ja) * | 1983-10-27 | 1985-05-25 | Hitachi Ltd | バツフア記憶制御方式 |
-
1990
- 1990-02-20 DE DE4005319A patent/DE4005319C2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE4005319A1 (de) | 1990-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3932675C2 (de) | ||
DE3102150C2 (de) | Multiprozessor-Datenverarbeitungsanlage | |
DE2856715C3 (de) | Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
DE10002120B4 (de) | Adressumsetzpufferanordnung und Verfahren für den Betrieb einer Adressumsetzpufferanordnung | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
DE3502147C2 (de) | ||
DE1499182B2 (de) | Datenspeichersystem | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE10006430B4 (de) | Verfahren zur Aufrechterhaltung einer Kohärenz für ein Multi-Prozessor-System | |
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE69130626T2 (de) | Verfahren zur Verwaltung einer Cache-Speicheranordnung | |
DE60003426T2 (de) | Statusbits für cachespeicher | |
DE2710477C2 (de) | ||
DE4005319C2 (de) | Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern | |
DE1774211C3 (de) | Datenspeicheranordnung für ein Datenverarbeitungssystem | |
DE102007055138B4 (de) | System zum Zugreifen auf einen Einzelport-Mehrwege-Cache | |
DE19905541A1 (de) | Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens | |
DE2750126B2 (de) | ||
DE69334046T2 (de) | Cache-Speichervorrichtung | |
DE1774212B2 (de) | En 20417 12.08.67 " 37132 bez: datenverarbeitungsanlage | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: SIEMENS NIXDORF INFORMATIONSSYSTEME AG, 33102 PADE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |