DE2607685B2 - Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem - Google Patents
Verfahren zum Betrieb von Prozessoren in einem MultiprozessorsystemInfo
- Publication number
- DE2607685B2 DE2607685B2 DE19762607685 DE2607685A DE2607685B2 DE 2607685 B2 DE2607685 B2 DE 2607685B2 DE 19762607685 DE19762607685 DE 19762607685 DE 2607685 A DE2607685 A DE 2607685A DE 2607685 B2 DE2607685 B2 DE 2607685B2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- processors
- cpu2
- command
- cpu1
- 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
- 238000000034 method Methods 0.000 title claims description 7
- 230000002427 irreversible effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims 1
- 101100341041 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IOC2 gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren gemäß dem Oberbegriff des Patentanspruchs.
Aus »Automatic Control«, Dezember 1959, Seiten 46 bis 52, ist ein Multiprozessorsystem mit zwei
gleichen Prozessoren bekannt, die die parallele Ausführung der gleichen Aufgabe oder die gleichzeitige
Ausführung verschiedener Aufgaben erledigen können. Stellt der eine Prozessor einen Fehler des anderen
Prozessors fest, dann übernimmt er dessen Aufgabe allein bzw. zusätzlich. Zu diesem Zweck sind die Prozessoren
in der Lage, gegenseitig Daten auszutauschen. Weiterhin kann ein Prozessor durch eine entsprechende
Ausbildung des Betriebssystems (allgemeines Betriebsprogramm) als Masterprozessor bestimmt
werden, der dem anderen Prozessor (Slave-
prozessor) ausgewählte Unteraufträge erteilt.
Multiprozessorsysteme könne-n auch aus Prozessoren
gebildet sein, die sich trotz weitgehender Übereinstimmung,
durch das Vorhandensein bzw. Fehlen einzelner spezieller Funktionseinheiten unterscheiden.
Maschinenbefehle, die solche speziellen Funktionseinheiten benützen müssen, durften bisher nur dem
Prozessor zugeleitet werden, der mit den speziellen Funktionseinheiten ausgerüstet .ist. Dafür mußte
ίο durch eine entsprechende Ausbildung des Betriebssystems
gesorgt werden. Das führte dazu, daß die Verschiedenheit der Prozessoren auf der Ebene der Maschinensprache
erkennbar war.
Ein häufig vorkommendes Beispiel für Prozessoren mit unterschiedlichen Funktionseinheiten sind solche
mit integrierten Eingabe-Ausgabe-Steuerungen. Während selbständige Eingabe-Ausgabessteuerungen
im allgemeinen von jedem Prozessor direkt erreichbar sind, kann eine integrierte Eingabe-Ausgabe-Steuerung
nur über den Prozessor angesprochen werden, dem sie zugeordnet ist.
Durch die DE-AS 2048473 ist ein Multiprozessorsystem
mit einem Hauptprozessor und einem dagegen wesentlich vereinfachten Fehlerdatenprozessor bekannt.
Der Fehlerdatenprozessor überwacht den Hauptprozessor und übernimmt die Ausführung eines
Befehls, wenn der Hauptprozessor infolge einer Störung uazu nicht in der Lage ist. Anschließend überträgt
der Fehlerdatenprozessor das Ergebnis der Befehlsausführungzu dem in Wartestellung befindlichen
Hauptprozessor, der hierauf seine eigene Arbeit, wenn möglich, fortsetzt.
Davon ausgehend liegt der Erfindung die Aufgabe zugrunde, Maßnahmen anzugeben, die trotz tatsäch-Hch
bestehender Unterschiede eine bezüglich des in Maschinensprache vorliegenden Betriebssystems
wirksame Gleichheit der Prozessoren bewirken, ohne daß dadurch die Gefahr der gegenseitigen Blockierung
entsteht. Die Lösung dieser Aufgabe ist dem kennzeichnenden Teil des Patentanspruchs zu entnehmen.
Der besondere Vorteil der Erfindung besteht darin, daß das Betriebssystem nur an das Gesamtsystem angepaßt
werden muß, aber nicht mehr auf die speziellen Eigenschaften der einzelnen Prozessoren Rücksicht zu
nehmen braucht. Damit entfällt auch eine Anpassung des Betriebsystems beim Ersatz eines Prozessors
durch einen Prozessor mit anderen Funktionseinheiten.
Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels, das sich auf den schon erwähnten
Fall von Prozessoren mit integrierten Eingabe-Ausgabe-Steuerungen bezieht, näher erläutert. In der
Zeichnung, welche das Verständnis der folgenden Ausführungen erleichtern soll, zeigt
Fig. 1 ein vereinfachtes Blockschaltbild eines MuI-tiprozessorsystems,
Fig. 2, 3a und 3 b Zeitdiagramme von Befehlsabläufen.
bo Den beiden Prozessoren CPUl und CPU2 nach
Fig. 1 sind die Eingabe-Ausgabe-Steuerungen /OCl und IOC2 jeweils fest zugeordnet. Es sei vorausgesetzt,
daß die jeweilige Eingabe-Ausgabe-Steuerung /OCl bzw. IOC2 in dem Prozessor, dem sie zugeordnet
ist, integriert ist. Eine eindeutige Abgrenzung läßt sich demnach nicht angeben. Das ist in Fig. 1 durch
die gestrichelte Begrenzungslinie zwischen dem Prozessor und der zugeordneten Eingabe-Ausgabe-
Steuerung angedeutet. Jede Eingabe-Ausgabe-Steuerung möge in der l^age sein, vier Eingabe-Ausgabekanäle
lOi bis /04 bzw. /OS bis IOS zu
versorgen. Beide Prozessoren CPUl und CPLJ2 können gemeinsam zu dem Arbeitsspeicher MM zugreifen
und über die Mehrfachverbindung IF gegenseitig Informationen austauschen.
Taucht nun in der Befehlsfolge, die durch den Prozessor
CPIIl abgearbeitet wird, ein Befehl auf, von dem der Prozessor CPUl nach seiner Interpretierung
erkennt, daß er nur über den Eingabe-Ausgabe-Kanal IO 8 abwickelbar ist, dann bietet der Prozessor CPUl
dem Prozessor CPUl alle Befehlsparameter an, die dieser zur Ausführung des Befehls benötigt. Der Prozessor
CPUI nimmt im allgemeinen den Auftrag beim nächstfolgenden unterbrechbaren Punkt seiner eigei.en
Befehlsfolge an, führt den Befehl mit den ihm übergebenen Parametern so weit aus, bis die gewünschten
Ergebnisse vorliegen und meldet diese Ergebnisse an den Prozessor CPUl zurück. Darüber
hinaus verwertet er die Ergebnisse nicht selbst, insbesondere speichert er sie nicht ab. Der Prozessor
CPUl, der von der Absendung des Auftrags bis zur Rückmeldung der Ergebnisse im Wartezustand war,
verwertet hingegen die an ihn zurückgemeldeten Er- 2ϊ
gebnisse so, als ob es seine eigenen Ergebnis se seien, speichert sie z. B. ab und vollendet die Ausführung
des Befehls.
Die beschriebenen Abläufe sind in Fig. 2 schematisch dargestellt. Die senlcrechten Striche unter CPUl m
und CPUl stellen Befehle oder Programmteile in Maschinensprache
dar, die von den Prozessoren ausgeführt werden. Die unterbrechbaren Punkte im Befehlsablauf
sind durch kurze Querstriche markiert. Es ist angenommen, daß der Prozessor CPUl nach einer 1^
Zeit Π erkennt, daß der Befehl Bin zu seiner vollständigen
Ausführung eine spezielle Funktionseinheit benötigt, die in dem Prozessor CPUl integriert ist.
Der Prozessor CPUl sendet daher einen Auftrag an den anderen Prozessor CPUl, der nach dem nächst- w
folgenden unterbrechbaren Punkt in dessen Befehlsfolge von diesem angenommen und ausführt wird. Die
Ergebnisse der Befehlsausführung liefert der Prozessor CPUl an den Prozessor CPUl zurück, der die
Befehlsausführung abschließt. Beide Prozessoren können in der Bearbeitung ihrer eigenen Befehlfolgen
fortfahren.
Wenn, wie in dem zugrundegelegten Ausführungsbeispiel, zwei Prozessoren jeweils eine spezielle Funktionseinheit
besitzen, kann der Fall eintreten, daß sich beide Prozessoren innerhalb der für die Ausführung
entsprechender Befehle benötigten ZeiUpanne mit einem Auftrag an den jeweils anderen Prozessor wenden.
Ohne besondere Vorkehrungen wurden in diesem Fall beide Prozessoren auf die Bearbeitung ihres
Auftrags durch den anderen Prozessor warten. Das würde dann zu einer gegenseitigen Verriegelung der
beiden Prozessoren führen.
Zwei derartige Konfliktsituationen sind in den Fig. 3a und 3b dargestellt. Gemäß Fig. 3a erkennt b0
der Prozessor CPUl nach einer Zeit Tl, die er für
die Interpretierung des Befehls braucht, daß der Befehl zu seiner Ausführung eine spezielle Funktionseinheit des Prozessors CPUl benutzen muß. Der betreffende
Auftrag an den Prozessor CPUl trifft dort b5
jedoch erst dann ein, wenn in diesem Prozessor bereits ein analoger Befehl abläuft, der sich seinerseits an eine
spezielle Funktionseinheit des Prozessors CPUl wendet. Der Prozessor CPUl richtet daher nach der ihm
eigenen Interpretierungszeit Tl einen Aul trag an den Prozessor CPUl.
Eine gegenseitige Blockierung zweier Prozessoren kann jedoch durch folgende Maßnahmen verhindert
werden.
a) Es wird (z. B. durch entsprechende Mikroprogrammierung)
dafür gesorgt, daß wiihrend der Zeitspanne Tl bzw. Tl, welche der Prozessor
für die Interpretierung des Befehls benötigt, keine irreversiblen Änderungen von Daten auftreten,
d. h. daß Daten weder im Speicher MM noch in Registern verändert werden.
b) Einer der beiden Prozessoren, nach willkürlicher Festlegung beispielsweise der Prozessor CPUl,
wartet nach Absendung eines Auftrags noch mindestens die Zeitspanne T2 ab, die der andere
Prozessor (CPUl) zur Interpretierung eines Befehls benötigt. Enthält der erste Prozessor während
dieser Zeit keinen Auftrag des anderen Prozessors oder werden ihm bereits die Ergebnisse
seines eigenen Auftrags zurückgemeldet, dann weiß der erste Prozessor, daß ein Auftrag
des anderen Prozessors nicht vorgelegen hat. Trifft jedoch während der zusätzlichen Wartezeit
Tl des ersten Prozessors CPUl ein Auftrag des anderen Prozessors CPUl ein, dann zählt der
erste Prozessor CPUl seinen Befehlszähler um eine Befehlslänge zurück. Er kommt damit zu
einem unterbrechbaren Punkt der Befehlsfolge und kann somit den Auftrag des anderen Prozessors
bearbeiten. Nach der Ausführung des fremden Auftrags richtet er nunmehr nochmals einen
eigenen Auftrag an den anderen Prozessor. In aller Regel ist dieser Prozessor nach Erreichen
eines unterbrechbaren Punktes seiner Befehlsfolge nunmehr in der Lage, dierscn Auftrag
durchzuführen. Anderenfalls muß der beschriebene Vorgang wiederholt werden.
Ein weiteres Beispiel für das Auftreten einer Konfliktsituation zeigt die Fig. 3b. Hier erkennt der Prozessor
CPUl kurz nach dem Verlassen eines unterbrechbaren Punktes in der Befehlsfolge des Prozessors
CPUl einen Befehl, der einen Auftrag an den Prozessor
CPUl auslöst. Dieser erkennt den fremden Auftrag unmittelbar nach dem Absenden seines eigenen
Auftrags. Er kann daher auch sofort seinen Befehlszähler zurückstellen und kehrt damit ohne zusätzliche
Wartezeit auf den vorausgehenden unterbrechbaren Punkt in seiner Befehlsfolge zurück.
Es sei ausdrücklich darauf hingewiesen, daß das Zurücksetzen des Befehlszählers in einer Konfliktsituation
nur in einem Prozessor vorgenommen werden darf.
Die Auflösung einer Konfliktsituation gelingt auch in einem Multiprozessorsystem mit mehr als zwei Prozessoren.
Beispielsweise wird in einem Multiprozessorsystem mit drei Prozessoren eine Konfliktsituation
zunächst zwischen dem ersten und zweiten Prozessor und sodann zwischen dem zweiten und dritten Prozessoi
bereinigt. Es ist zu bemerken, daß die Wahrscheinlichkeit für das Auftreten einer Konfliktsituation,
an der alle drei Prozessoren beteiligt sind, außerordentlich gering ist.
Hierzu 1 Blatt Zeichnungen
Claims (1)
- Patentanspruch:Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem, die sich in einzelnen speziellen Funktionseinheiten unterscheiden, wobei ein erster Prozessor die Aufgabe eines zweiten Prozessors übernimmt, wenn der zweite Prozessor zur Ausführung dieser Aufgabe nicht selbst in der Lage ist, und wobei der zweite Prozessor die Rückmeldung der aus der Ausführung dieser Aufgabe durch den ersten Prozessor resultierenden Ergebnisse abwartet und sodann seine eigene Tätigkeit fortsetzt, dadurch gekennzeichnet, daßa) jeweils zwei Prozessoren (z. B. CPUl und CPU2) sich gegenseitig Aufgaben direkt übertragen können,b) jeder der Prozessoren (z. B. CPUl) nach Interpretierung eines vorliegenden, aber infolge einer nicht vorhandenen Funktionseinheit nicht ausführbaren Befehls an den jeweiligen anderen Prozessor von sich aus ein Anforderungssignal zur Befehlsübernahme abgibt,c) irreversible Änderungen von Daten während der Zeiten (z. B. Tl bzw. Tl), die beide Prozessoren (CPUl bzw. CPU2) für die Interpretierung ihrer Befehle benötigen, verhindert werden,d) einer der beiden Prozessoren (z. B. CPUl) nach Abgabe einer Übernahmeanforderung an den anderen Prozessor (CPU2) mindestens für die Zeit (T2), die der andere Prozessor (CPU2) für die Interpretierung eines Befehls benötigt, in die Wartestellung übergeht,e) beim Zusammentreffen der Wartestellung mit einer vom anderen Prozessor (CPU2) kommenden Anforderung bei dem in Wartestellung befindlichen Prozessor (CPUl) der Befehlszähler auf den vorhergehenden Stand zurückgesetzt, der vom anderen Prozessor (CPU2) übertragene Befehl ausgeführt und anschließend die eigene Anforderung an den anderen Prozessor (CPU2) gesteuert durch den zurückgesetzten Befehlszähler wiederholt wird.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19762607685 DE2607685C3 (de) | 1976-02-25 | 1976-02-25 | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
CH40477A CH610122A5 (en) | 1976-02-25 | 1977-01-13 | Method for operating a multi-processor system having different processors |
FR7701981A FR2342530A1 (fr) | 1976-02-25 | 1977-01-25 | Procede pour realiser la symetrie fonctionnelle de processeurs d'un systeme multiprocesseur |
AT50677A AT353363B (de) | 1976-02-25 | 1977-01-27 | Multiprozessorsystem mit zwei oder mehreren auf der systemebene einer maschinensprache arbeitenden prozessoren |
NL7701537A NL7701537A (nl) | 1976-02-25 | 1977-02-14 | Werkwijze voor het tot stand brengen van de functionele symmetrie van processoren van een multi-processorsysteem. |
GB665177A GB1576276A (en) | 1976-02-25 | 1977-02-17 | Data processing system comprising a plurality of processor |
IT2055377A IT1078233B (it) | 1976-02-25 | 1977-02-22 | Impianto a piu'elaboratori con simmetria funzionale degli elaboratori stessi |
BE175270A BE851840A (fr) | 1976-02-25 | 1977-02-25 | Procede pour realiser la symetrie fonctionnelle de processeurs d'un systeme multiprocesseur |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19762607685 DE2607685C3 (de) | 1976-02-25 | 1976-02-25 | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2607685A1 DE2607685A1 (de) | 1977-09-01 |
DE2607685B2 true DE2607685B2 (de) | 1980-04-30 |
DE2607685C3 DE2607685C3 (de) | 1981-01-15 |
Family
ID=5970849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762607685 Expired DE2607685C3 (de) | 1976-02-25 | 1976-02-25 | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
Country Status (8)
Country | Link |
---|---|
AT (1) | AT353363B (de) |
BE (1) | BE851840A (de) |
CH (1) | CH610122A5 (de) |
DE (1) | DE2607685C3 (de) |
FR (1) | FR2342530A1 (de) |
GB (1) | GB1576276A (de) |
IT (1) | IT1078233B (de) |
NL (1) | NL7701537A (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3486465D1 (de) * | 1983-04-18 | 1998-04-02 | Motorola Inc | Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit |
EP0442041A3 (en) * | 1990-01-18 | 1991-09-04 | National Semiconductor Corporation | Integrated digital signal processor/general purpose cpu with shared internal memory |
GB2343269A (en) | 1998-10-30 | 2000-05-03 | Ericsson Telefon Ab L M | Processing arrangements |
JP2003330900A (ja) * | 2002-05-09 | 2003-11-21 | Nec Corp | アプリケーション並列処理システム及びアプリケーション並列処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL286251A (de) * | 1961-12-04 | |||
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
-
1976
- 1976-02-25 DE DE19762607685 patent/DE2607685C3/de not_active Expired
-
1977
- 1977-01-13 CH CH40477A patent/CH610122A5/xx not_active IP Right Cessation
- 1977-01-25 FR FR7701981A patent/FR2342530A1/fr active Granted
- 1977-01-27 AT AT50677A patent/AT353363B/de not_active IP Right Cessation
- 1977-02-14 NL NL7701537A patent/NL7701537A/xx not_active Application Discontinuation
- 1977-02-17 GB GB665177A patent/GB1576276A/en not_active Expired
- 1977-02-22 IT IT2055377A patent/IT1078233B/it active
- 1977-02-25 BE BE175270A patent/BE851840A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE2607685C3 (de) | 1981-01-15 |
NL7701537A (nl) | 1977-08-29 |
FR2342530B1 (de) | 1983-09-30 |
DE2607685A1 (de) | 1977-09-01 |
AT353363B (de) | 1979-11-12 |
BE851840A (fr) | 1977-08-25 |
FR2342530A1 (fr) | 1977-09-23 |
CH610122A5 (en) | 1979-03-30 |
IT1078233B (it) | 1985-05-08 |
ATA50677A (de) | 1979-04-15 |
GB1576276A (en) | 1980-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2015971C3 (de) | Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren | |
DE4135749A1 (de) | Prozessormodul fuer eine programmierbare steuerung mit einer intelligenten funktionsmodulschnittstelle | |
DE69025650T2 (de) | Multiprozessorsystem mit Vektorpipelinen | |
DE3223827A1 (de) | Programmierbare logische steuereinrichtung | |
DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
DE4223454A1 (de) | Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung | |
DE69029608T2 (de) | Digitale Signalprozessorvorrichtung | |
DE3538214C2 (de) | Multiprozessorsystem | |
DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
DE2607685C3 (de) | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem | |
DE2230727B2 (de) | Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung | |
DE69028811T2 (de) | Extern erweiterbare speicherprogrammierbare steuerung | |
EP1283471A2 (de) | Programmgesteuerte Einheit | |
DE2037506C3 (de) | Programmierbare Datenverarbeitungsanlage mit einer steuerbaren Hauptsteuerung | |
WO2018130331A1 (de) | Steuerung eines technischen prozesses auf einer mehr-rechenkern-anlage | |
DE3223678C2 (de) | ||
DE102021126271A1 (de) | Verfahren und System zur Verknüpfung von Fehlermeldungen | |
DE2457274C3 (de) | Anordnung für die automatische Steuerung des Informationsaustauschs zwischen einer Zentraleinheit und mehreren externen Einheiten | |
DE2247735C3 (de) | Schaltungsanordnung zur dynamischen Zuteilung von Rechenzeit | |
DE2325687C3 (de) | Verfahren und Vorrichtung zur Festlegung der Reihenfolge, in der mehrere von mehreren Einheiten einer Datenverarbeitungsanlage an eine Einheit der Datenverarbeitungsanlage gestellte Anforderungen verschiedenen Typs durch eine Warteschlangensteuerung abgearbeitet werden | |
CH654157A5 (de) | Schaltungsanordnung zur erweiterung des adressbereichs einer rechnergesteuerten vermittlungsanlage. | |
DE2250080A1 (de) | Vorrichtung zur elektronischen datenverarbeitung | |
DE2430693A1 (de) | Schnittstellenschaltung fuer den anschluss einer satelliten-datenverarbeitungsanlage an einen datenuebertragungskanal | |
DE2645593B2 (de) | Verfahren zur prioritätsgesteuerten Unterbrechung einer Datenverarbeitungsanlage | |
DE4497671B4 (de) | Verfahren und System zur Übertragung von Daten zwischen Prozessoren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |