DE1909090C3 - Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage - Google Patents
Schutzeinrichtung für den Arbeitsspeicher einer RechenanlageInfo
- Publication number
- DE1909090C3 DE1909090C3 DE1909090A DE1909090A DE1909090C3 DE 1909090 C3 DE1909090 C3 DE 1909090C3 DE 1909090 A DE1909090 A DE 1909090A DE 1909090 A DE1909090 A DE 1909090A DE 1909090 C3 DE1909090 C3 DE 1909090C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- register
- memory area
- protection
- status
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
Description
Die Erfindung bezieht sich auf eine Schutzeinrichtung gemäß dem Oberbegriff des Patentanspruchs 1.
Bei Rechenanlagen soll häufig bereits ein neues Programm ausgeführt werden, während das alte und
seine zugehörigen Daten noch im Arbeitsspeicher gespeichert sind. Daher kann beispielsweise bei einer
> Prozeßrechenanlage, die Betriebsprogramme zur Steuerung oder Überwachung eines Prozesses benutzt,
die Kapazität des Rechners nicht vollständig ausgenutzt sein, weil der Rechner nicht ständig zur Überwachung
oder Steuerung des Prozesses benötigt wird. Dennoch
ίο muß die Rechenkapazität im Bedarfsfalle zur Verfügung
stehen. Jedoch wird die vom Programm nicht benötigte Kapazität, die Rechnerfreizeit, häufig zur Ausführung
eines zweiten Programms verwendet, das noch Fehler enthalten kann. Während der Ausführung dieses
zweiten Programms müssen daher das laufende Programm oder Betriebsprogramm und die zugehörigen
Daten, die zur Steuerung oder Überwachung des Prozesses verwendet werden, geschützt werden.
Bei bekannten Arbeitsspeicherschutzeinrichtungen
:o ist jedem Speicherplatz ein Bit zugeordnet, das den
belegungszustand dieses Speicherplatzes anzeigt. Wenn der Speicherplatz als belegt angezeigt wird, wird seine
Adressierung bei der Ausführung eines zweiten Programms, das noch Fehler enthalten kann, verhindert.
Ji Eine derartige Schutzeinrichtung ist verhältnismäßig
aufwendig, weil sie einen großen Teil der Arbeitsspeicherkapazität zum Speichern der Arbeitsspeicherschutzbits
benötigt.
Bei der bekannten Schutzeinrichtung der gattungsge-
iw mäßen Art (FR-PS 1507 779 IEEE Transactions on
Electronic Computers, Juni 1967, Seiten 320 bis 326 oder The Electrical Communication. Vol. 42, Nr. 2, 1967, S.
196 enthält jedes Schutzzustandswort die Adresse des Speicherbereichs, dem das Schutzzustandswort zu-
·."> geordnet ist. Das heißt, für jeden Speicherbereich (dort
Blöcke genannt) ist eine Speicherschutzinformation zu lesen, was Zeit kostet. Es gibt Programme, die mit
größeren Speicherbereichen arbeiten, deren Teilbereiche einen unterschiedlichen Speicherschutz erfordern.
ίο Aufgabe der Erfindung ist es, beim Arbeiten mit
derartigen Gegebenheiten ein häufiges Lesen der einzelnen den Speicherteilbereichen zugeordneten
Speicherschutzinformationen zu vermeiden.
Diese Aufgabe ist durch die im Patentanspruch 1
r> gekennzeichneten Merkmale gelöst. Weiterbildungen
der Erfindung sind in den Unteransprüchen gekennzeichnet.
Bei dieser Ausbildung der Schutzeinrichtung sind für
die Zustandsbits keine speziellen Adressen erforderlich.
Vi Infolgedessen entfällt nicht nur eine zusätzliche
Codierung und Adressierung, mit dem Vorteil der geiingeren Fehlergefahr, sondern auch zusätzlicher
Speicherraum.
Nachstehend wird ein Ausführungsbeispiel der
μ Erfindung an Hand der Zeichnung beschrieben. Es zeigt
Fig. 1 ein Blockschaltbild der Informationsspeichervorrichtungen,
der Informations- und Steuersignal-Übertragungskanäle zwischen diesen Vorrichtungen
und der größeren Steuervorrichtungen einer Rechenan-
»(I lage,
Fig. 2 eine symbolische Darstellung des Aufbaus eines Steuerwortes,
F i g. 3 schematisch den Aufbau des Arbeitsspeichers der Rechenanlage nach Fig. 1 in Übereinstimmung mit
tv'· der Schutzeinrichtung nach der Erfindung,
F i g. 4 schematisch den Arbeitsspeicherplatz, der das jedem Arbeitsspeicherbereich zugeordnete Schutzzustandswort
enthält.
F i g. 5 den Aufbau eines Schutzzustandswortes und
F i g. 6 ein Blockschaltbild, das die hauptsächlichen Informationsspeicherelemente und logischen Elemente
zeigt, die in der Schutzeinrichtung nach der Erfindung verwertet werden.
F i g. 1 zeigt schematisch eine typische Rechenanlage, die zur Steuerung oder Überwachung eines Prozesses
dient. Die größeren Einheiten der Rechenanlage sind ein Rechen- und Steuerwerk 10, ein Speicher 11 mit
einem Speicher-Multiplexer 12 und einer Magnetkern- iu
Speichereinheit 13, ein Hauptspeicher 14, der einen Platten- oder Trommelspeicher enthält, eine automatische
Programmunterbrechungseinheit 15, ein Eingabe/ Ausgabe-Expander 18, ein peripherer Eingabe/Ausgabe-Zwischenspeicher
16, an den die peripheren Vorrichtungen angeschlossen werden können, z. B. ein Bandoder
Kartenlocher und ein Band- oder Kartenleser. Ein peripheres Steuerwerk 23 kann ebenfalls an den
Speicher-Multiplexer 12 angeschlossen sein. Der Eingabe/Ausgabe-Expander 18 ist über eine F.ingabe/Ausgabe-Mehrtachieitung
25 ans Rechen- und Steuerwerk iO angeschlossen. Er dient als Multiplexer für aus dem zu
steuernden und zu überwachenden Prozeß abgeleitete digitale und analoge Eingangssignale und als Multiplexer
und Verstärker für an den Prozeß abgegebene :ί
Signale.
Um Informationen aus dem Speicher 11 zu holen,
wird die entsprechende Adresse einem Speicher-Adressenregister 80 zugeführt. Nicht gezeigte Adresse.idecodierschaltungen
und Abfrageverstärker bewirken die jo Übertragung des Inhalts des adressierten Speicherplatzes
aus der Magnetkernspeichereinheit 13 in ein Speicher-Datenregister 81, wobei das Datenv/ort dem
Rechen- und Steuerwerk 10 zur Verfügung gestellt wird.
Das Rechen- und Steuerwerk 10 enthält die folgenden r.
Elemente, von denen nicht alle in der erfindungsgemäßen Einrichtung verwendet werden, so daß sie nur kurz
beschrieben werden, um das Verständnis der Anlage zu erleichtern: Ein B-Register 100, ein Adressenregister
101, auch /-Register genannt, ein /!-Register 102, ein P-Register 103, ein Speicherbereichsregister 104. auch
K-Register genannt, ein Zustandsregister 105, auch L-Register genannt, und einen /-Zähler 106 sowie einen
Paralleladdierer 110, ein Taktsteuerwerk 111, ein Operationssteuerwerk 112 und Steuersignalquellenflip- ■»->
flops 113. Die Übertragung von Informationen zwischen den Elementen der Anlage erfolgt parallel.
Die in der Anlage verwendeten Register sind aus Flipflops aufgebaut. In diesen Flipflops werden kurzzeitig
eine Gruppe zusammengehöriger Binärziffern einer ίο
Daten- oder Steuerinformation gespeichert.
Die für die Flipflops irgendeines Registers verwendeten Bezugszeichen setzen sich aus einem auch für das
Register verwendeten Kennbuchstaben und einer Zahl zusammen, die der Stellenwertigkeit des darin gespei- r»
cherten Informationsbits entspricht. So speichert Flipflop A 23 das vierundzwanzigste oder höchstwertige
Bit, das im /4-Register 102 gespeichert ist, während
das Flipflop flOO das niedrigstwertige Bit speichert, das
im 0-Register gespeichert ist. Die in den einzelnen t>o
Flipflops eines Registers gespeicherten Bits werden normalerweise parallel von einem Register in ein
anderes übertragen. Außerdem können die Bits auch zwischen einigen Registern seriell übertragen werden.
Die Grundinformationseinheit bei dieser Anlage ist hi
ein Wort mit 24 Binärziffern. Den Binärziffern zwischen den Bits 23 und 0 sind aufeinanderfolgende abnehmende
Wertigkeiten zugeordnet.
Drei Hauptkategorien von Wörtern werden in der Rechenanlage nach Fig. 1 verwendet. 1) Datenwörter,
2) Befehlswörter und 3) HilfsWörter zur Adressierung und Steuerung. Bei den Hilfswörtern handelt es sich um
folgende Arten:
a) Indexwörter
b) Steuerwörter.
Der Aufbau der Steuerwörter (b) ist in F i g. 2 gezeigt.
Bei der Übertragung von Informationen zwischen dem Speicher 11 und bestimmten peripheren Vorrichtungen
sind die übertragenen binären Datenwörter wählbar in zwei Bytes ä 12 Bits, 3 Bytes a 8 Bits oder 4
Bytes ä 6 Bits unterteilt.
Zur Vereinfachung kann ein Binärwort auch durch eine Folge von »Oktalziffern« kompakter dargestellt
werden, wobei jede Oktalziffer drei benachbarte Binärziffern darstellt.
Die Ausführung von Prozeß- und Steueroperationen wird in der Rechenanlage von einer Folge von
Befehlswörtern verschiedener Arten ,..steuert, die in
der Magnetkernspeichereinheii i3 gespeichert sind und
eins nach dem anderen ausgeführt werden. Die Reihenfolge, in der die Befehle ausgeführt werden, wird
Programmfolge (oder P-Fo!ge) genannt und von einem Zähler ge-reuert. Der Operationscode (die Bits 23—18)
eines VoÜoperanden-Befehlswortes bestimmt den auszuführenden
Operations- oder Programmschritt. Das Operandenadressenfeld (die Bits 13 — 0) bestimmt die
Adresse eines Speicherplatzes im Speicher 11, aus dem
ein Wort zur Verarbeitung oder Steuerung geholt werden soll oder in dem ein Wort während der
Ausführung des Befehls gespeichert werden soll.
Zur Einleitung von Unterprogrammen, die spezielle Funktionen ausführen, z. B. um anzuzeigen, ob eine
Adresse eine Endadresse ist, oder ob eine Adresseninformation durch eine vorbestimmte Größe modifiziert
werden soll, werden andere Befehlswörter verwendet.
Fig.2 zeigt ein Steuerwort, das bei der Ausfühaing
von Operationen zur Übertragung von Informationer aus einer peripheren Vorrichtung in den Speicher 11
oder zur Übertragung von Informationen in eine periphere Vorrichtung aus dem Speicher 11 verwendet
wird. Das MFeId (die Bits 23—18) dts Steuerwortes
bestimmt in Einer-Komplementform die Anzahl der zwischen der entsprechenden peripheren Vorrichtung
und dem Speicher 11 zu übertragenden Wörter. Das AZ-FeId kann bis zu 63 Wörter vorgeben. Das C-FeId (die
Bits 17 und 16) des Steuerwortes bestimmt in jedem Zeitpunkt die Anzahl der noch zwischen der peripheren
Vorrichtung und dem Speicher 11 zu übertragenden Bytes, um die Übertragung des laufenden Wortes zu
vollenden. Das C-FeId wire1 zu Beginn so eingestellt, daß
es derr. PFeId gleicht. Das P-FeId (die Bits 15 und 14)
bestimmt in Zweier-Komplementform die Anzahl der Bytes eins, zwei, dre! oder vier — in jedem Wort, das
zwischen der peripheren Vorrichtung und dem Speicher 11 übertragen wird.
Das y-Feld (die Bits 13—0) des Steuerwortes
bestimmt zu Anfang die um 1 verminderte Anfangsadresse der Gruppe von Speicherplätzen, in die oder aus
denen Daten übertragen werden sollen.
Schutzeinrichtung
Im folgenden wird die Schutzeinrichtung der Rechenanlage im einzelnen beschrieben.
Bei der Benutzung der Schutzeinrichtung nach der Erfindung wird ein Unterschied gemacht zwischen
laufenden oder Betriebsprogrammen, die geprüft und
von allen Programmierfehlern befreit worden sind, und Programmen, die nicht geprüft worden sind und Fehler
enthalten können. Die Schutzeinrichtung nach der Erfindung ist besonders wichtig, wenn die zuletzt
genannten Programme in einer im Zeitmultiplexbetrieb (auch TIME-SHARING genannt) arbeitenden Anlage
geprüft wird, wobei früher geprüfte Betriebsprograinme
gleichzeitig mit dem ungeprüften Programm ausgeführt werden, oder im Zusammenhang mit einem Prozeßrechner,
dessen von vorher geprüften Betriebsprogrammen nicht benötigte Rechenzeit zum Prüfen ungeprüfter
Programme verwendet wird. In jedem Falle darf das ungeprüfte Programm die laufenden Programme oder
Betriebsprogramme nicht stören, und gespeicherte Daten, die bei der Ausführung dieser Betriebsprogramme
benötigt werden, dürfen nicht geändert oder irgendwie zerstört werden. Dieser Schutz der Betriebsprogramme und zugehörigen Daten ist besonders
wichtig bei Prozeßrechenanlagen, bei denen eine derartige Störung eine Unterbrechung oder Beeinträchtigung
der Steuerung oder Regelung des gesteuerten oder geregelten Prozesses oder der gesteuerten oder
geregelten Anlage zur Folge haben kann.
Die in F i g. 6 im einzelnen dargestellte Schutzeinrichtung wird in Verbindung mit der anhand von Fig. 1
beschriebenen Anlage beschrieben. Aus Gründen der Klarheit sind sind nicht alle Verbindungen zwischen den
Blöcken nach den F i g. I und 6 im einzelnen beschrieben. Es dürfte jedoch dem Fachmann aufgrund
der folgenden Beschreibung klar sein, wie die verschiedenen Verbindungen alle vorgenommen sind.
Die Magnetspeichereinheit 13 des Arbeitsspeichers 11 enthält 32 768 Speicherplätze zum Speichern von
Informationen. In Übereinstimmung mit der Schutzeinrichtung ist die Magnetkernspeichereinheit 13 in 64
Speicherbereiche unterteilt, von denen jeder 512 Speicherplätze enthält. Die 512 Speicherplätze jedes
Speicherbereichs sind wiederum in acht Blöcke unterteilt, von denen jeder 64 Speicherplätze enthält.
Die Magnetkernspeichereinheit 13 enthält also 512
unterteilt ist. von denen jeder Block 64 Speicherplätze enthält.
Fig. 3 ist ein Diagramm oder eine Karte der Magnetkernspeichereinheit 13 zur bildlichen Darstellung
der Unterteilung der 32 768 Wörter des Arbeitsspeichers in 512 Blöcke ä 64 Speicherplätze. In F i g. 3
sind die Speicherplatzadressen in Oktalschreibweise angegeben. So ist beispielsweise die in binärer
Schreibweise uurch 15 Nullen dargestellte Speicherplatzadresse in oktaler Schreibweise als 0000O8
und die in binärer Schreibweise durch 15 Einsen dargestellte Adresse in oktaler Schreibweise als 777778
dargestellt Der mit V, bezeichnete Speicherbereich besteht aus den ersten 512 Speicherplätzen des
Arbeitsspeichers, unterteilt in acht Blöcke mit je 64 Speicherplätzen, wie dargestellt. Die mit Vi- V64
bezeichneten Speicherbereiche enthalten je 512 Wortgruppen von Arbeitsspeicherplätzen, wie es in F i g. 3
gezeigt ist
Für jeden der 64 Speicherbereiche des 32 768-Wort-Arbeitsspeichers
ist ein 24-Bit-Schutzzustandswort vorgesehen. Wie Fig.4 zeigt, ist das Schutzzustandswort
für den Speicherbereich V. im Arbeitsspeicherplatz 00100s gespeichert, während die Schutzzustandswörter
für die Speicherbereiche V2- Va jeweils in den
Arbeitsspeicherplätzen 0010I8 bis OO177s gespeichert
sind.
Jedes 24-Bit-Schutzzustandswort bestimmt oder kennzeichnet den Schutzzustand der acht aufeinanderfolgenden
64-Wörter-Arbeitsspeicherblöcke des entsprechenden Speicherbereichs. Nach Fig.5, die den
Aufbau eines Schutzzustandswortes zeigt, bestimmen die Bitstellen Null und Eins des Zustandswortes den
Schutzzustand des ersten 64-Wörter-Blocks des entsprechenden Speicherbereichs. In F i g. 5 stellen die
Buchstaben .^irgendeine der oktalen Ziffernkombinationen
00-07, 10-17, 20-27, 30-37, 40-47. 50-57. 60-67 und 70-77 dar, die den 64 Speicherbereichen entsprechen. So
bestimmen beispielsweise die Bits 0 und 1 des Schutzzustandswortes für den Speicherbereich Vm den
.Schutzzustand der Arbeitsspeicherplätzc 76000» bis
76077m. Die Bitstelle 2 des Zustandswortes wird nicht verwendet. Die Bitstelien 3 und 4 des Zustandswortes
bestimmen den Schutzzustand des zweiten 64-Wörtcr-Biocks
des entsprechenden Speicherbereichs. Die Bitstelle 5 des Zustandswortes wird nicht verwendet. In
ähnlicher Weise bestimmen die Bitstellen 6 und 7, 9 und 10. 12 und 13, 15 und 16, 18 und 19. und 21 und 22 den
Schutzzustand des dritten, vierten, fünften, sechsten, siebten und achten 64-Wörter-Blocks des entsprechenden
Speicherbereichs. Die Bitstellen 2, 5,8, 11, 14, 17. 20
und 23 sind für eine spätere Erweiterung der Schutzeinrichtung vorgesehen. Als Alternative kann
auch cii. .o-Bit-Schutzzustandswort verwendet werden.
Schutzzustandscodes
Zur Bestimmung des Schutzzustands jedes Blocks mit 64 Arbeitsspeicherplätzen sind nach der Erfindung vier
Schutzkodes vorgesehen. Diese vier Schutzkodes sind folgende:
j-, Schutz-/ustaniiscode
Bedeutung
11 Dieser Code bedeutet, daß das laufende Pro
gramm die Speicherplätze des entsprechen-
Ηλτι A4^X/Hrtpr_Rlrw*lrc nnhpcrhränW hi>-
nutzen kann. Das laufende Programm kann den Inhalt der Speicherplätze dieses Blocks
auslesen, Informationen in die Speicherplätze dieses Blocks einlesen und Befehle
aus den Speicherplätzen des Blocks holen.
01 Dieser Code bedeutet, daß das laufende Pro
gramm nur Informationen aus den Speicherplätzen des entsprechenden Blocks au lesen
oder Befehle aus dem Block holen kann. Schreib- und Speicheroperationen sind bei
dem Block nicht gestattet, mit Ausnahme durch einen relativ adressierten Befehl innerhalb
eines Quasi-Unterprogramms. Außerdem dürfen jederzeit Informationen
in Speicherplätzen 0000Og-OOOn8 gespeichert
werden, die zum Speichern von Indexwörtern und Q-Register-Daten verwendet
werden.
10 Dieser Code bedeutet, daß entweder Lese
oder Schreiboperationen in dem entsprechenden Block ausgeführt werden können,
aber kein Befehl aus dem Block geholt werden darf, es sei denn, es ist der Ziel-Befehl
eines .WTC-Befehls, eines Befehls eines Quasi-Unterprogramms oder eines von einer
automatischen Programmunterbrechung
Fortscl/ung
Schul/·· Bedeutung
/uslands-
adressierten Befehls. Im allgemeinen kennzeichnet dieser Code einen Block, der mit
Ausnahme zum Speichern von Befehlen für alle Zwecke verwendet werden kann.
(K) Dieser Code bedeutet, daß der zugehörige
64-Wörter-Arbeitsspeieherbloek für das laufende
Programm unzugänglich ist, mit der Ausnahme, daß
1) das Auslesen eines Befehls während eines Qiiasi-Unterprogranims gestattet
2) organisatorische Befehle während eines Quasi-Unterprogramms diesen Bereich
anwählen dürfen,
3) das Auslesen bzw. Holen des Ziel-Befehls eines ATTC-Befehls gestattet ist,
4) das Adressieren der Arbeitsspeicherplätze 0000O8-OOO 17„ gestattet ist und
5) das Auslesen oder Ausführen irgendeines Befehls gestattet ist. der durch eine autoautomatische
Programmunterbrechung adressiert wird.
Schutzlogik
Das im Rechen- und Steuerwerk enthaltene Zustandsregister
105 dient zur Zwischenspeicherung von Schutzzustandswörtern, wenn die Anlage im Schutzoder
Fangbetrieb arbeitet.
Ein Schutzzustandswort, das über das Arbeitsspeicher-Datenregister
81 (F i g. 1) aus dem Arbeitsspeicher 11 geholt wird, wird im Ö-Register 100 zwischengespeichert.
Das im fl-Register 100 gespeicherte Zustandswort wird einem r araiieiaddierer ι iu zugeführt, der die
unbenutzten Bits des 24-Bit-Zustandswortes abdeckt (maskiert) und die 16 Schutzzustandsbits ins Zustandsregister
105 überträgt. Die Flipflops L 00 und L 01, die den
Bitstellen 0 und 1 des Zustandsregisters 105 zugeordnet sind, speichern also die Zustandsbits für den ersten
64-Wörter-Block des entsprechenden Speicherbereichs, während die Zustandsregister-Flipflops, die den Bitstellen
2 und 3,4 und 5, 6 und 7,8 und 9. 10 und 11,12 und 13,
14 und 15 des Zustandsregisters 105 entsprechen, die Zustandsbits jeweils für den zweiten, dritten, vierten,
fünften, sechsten, siebten und achten 64-Wörter-Block des entsprechenden Speicherbereichs speichern.
Das Speicherbereichsregister 104 speichert die Bits der sechsthöchsten Stellen der Adresse des im
Zustandsregister 105 gespeicherten Schutzzustandswortes. Der Inhalt des Speicherbereichsregisters 104
bestimmt also den Speicherbereich, der dem Zustandswort entspricht das gerade im Zustandsregister 105
gespeichert ist Die im Speicherbereichsregister 104 gespeicherten sechs Bits stellen auch die sechs Bits der
niedrigsten Stellen der Adresse des Arbeitsspeicherplatzes dar, der das im Zustandsregister 105 gespeicherte
Wort enthält Solange wie die Arbeitsspeicherpiätze in
dem durch den Inhalt des Speicherbereichsregisters 104 bestimmten Speicherbereich adressiert sind, ist das
Schutzzustandswort im Zustandsregister 105 anwendbar und bestimmt den Schutzzustand des adressierten
Arbeitsspeicherplatzes.
Jedesmal, wenn der Arbeitsspeicher aus dem P-Register 103 oder Adressenregister 101 adressiert wird,
wenn die Anlage im Schutz- oder Fangbetrieb arbeitet, werden die höchsten sechs Bits der Arbeitsspeicheradresse mit dem Inhalt des Speicherbereichsregisters
104 verglichen. Wenn diese Bits verschieden sind, liegt eine »Speicherbereichsdifferenz« vor, die anzeigt, daß
to das im Zustandsregister 105 gespeicherte Schutzzustandswort
nicht anwendbar ist und den Schutzzustand des adressierten Arbeitsspeicherplatzes nicht bestimmt.
Der Inhalt des Speicherbereichsregisters 104 wird dann so eingestellt, daß er den höchsten sechs Bits des
ii adressierten Arbeitsspeicherplatzes entspricht, und der
neue Inhalt des Speicherbereichsregisters 104 wird zum Auslesen des anwendbaren Schutzzustandswortes aus
dem Arbeitsspeicher in das Zustandsregister 105 verwendet. Wenn der Vergleich ergibt, daß der Inhalt
des Speicherbereichsregisters 104 mit den höchsten sechs Bits des adressierten Arbeitsspeicherplatzes
übereinstimmt, werden die Inhalte des Speicherbereichsregisters 104 und des Zustandsregisters 105 nicht
geändert.
_'j Die Bits der sechs höchsten Stellen (die höchststelligen
sechs Bits) der Adresse im P-Register 103 oder Adressenregister 101, d. h. einschließlich der Bitstelle 9
bis 14, bestimmen also einen der 64 Speicherbereiche der Magnetkernspeichereinheit 13. Diese Bits bilden in
Verbindung mit den angenommenen Bits 001 ΟΟχ die
Adresse des Arbeitsspeicherplatzes, der das Schutzzustandswort enthält, das jenem Speicherbereich entspricht.
Wenn also der Inhalt der Bitstellen 9 bis 14 der in dem P-Register 103 oder Adressenregister 101
)i gespeicherten Adresse gleich 0O8 ist. ist der Arbeitsspeicherplatz,
der das jenem Speicherbereich, d. h. dem Speicherbereich V1, entsprechende Zustandswort enthält,
gleich 00100s. In ähnlicher Weise ist die Adresse des Arbeitsspeicherplatzes, der das Zustandswort für
t» den Speicherbereich Va enthält, der dadurch identifiziert
wird, gleich 00107«. wenn der Inhalt der Bitstellen 9 bis Mgieicnu/gist.
Die Bitstellen 6 bis 8 der im P-Register 103 oder Adressenregister 101 gespeicherten Adressen kenn-
^i zeichnen einen der acht 64-Wörter-Arbeitsspeicherblöcke
in dem durch den Inhalt der Bitstellen 9 bis 14 bestimmten Speicherbereich. Wenn also der Inhalt der
Bitstellen 6 bis 8 der Arbeitsspeicheradresse gleich Os ist,
wie es in F i g. 5 gezeigt ist, befindet sich der adressierte
Vi Arbeitsspeicherplatz in dem ersten 64-Wörter-Arbeitsspeicherblock
dieses Speicherbereichs, und die Flipflops L 00 und L 01 des Zustandsregisters 105 enthalten die
Zustandsbits, die diesem 64-Wörter-Arbeitsspeicherblock entsprechen. In ähnlicher Weise befindet sich der
adressierte Arbeitsspeicherplatz in dem siebten 64-Wörter-Arbeitsspeicherblock des Speicherbereichs,
wenn der Inhalt der Bitstellen 6 bis 8 der Arbeitsspeicheradresse gleich 6g ist und die Flipflops L 12 und
L 13 des Zustandsregisters 105 enthalten den auf diesen
μ 64-Wörter-Arbeitsspeicherblock anwendbaren Zustandscode.
Die Bitstellen 0 bis 5 der im P-Register 103 oder Adressenregister 101 gespeicherten Adresse kennzeichnen den speziellen Arbeitsspeicherplatz, der im
b'i Arbeitsspeicherblock und Speicherbereich adressiert ist
der durch den Inhalt der Bitstellen 6 bis 14 gekennzeichnet ist
dargestellt. Wenn nach Fig.6 der Arbeitsspeicher aus
dem Adressenregister 101 adressiert wird, wird ein Durchschaltsignal SAMI (durch aus Gründen der
Klarheit nicht dargestellte Mittel) erzeugt, das den Inhalt der Adressinregister-Bitstellen 14—9, der durch
Ausgangssignale Fl 14— Fl09 der entsprechenden
Adressenregisttr-FIipflops dargestellt wird, Ausgangsanschlüssen von logischen Verknüpfungsgliedern
MA 14- MA 09 zugeführt, die mit der Bezugszahl 150 versehen sind. Das Durchschaltsignal SAMIschaltet den
Inhalt der Adressenregister-Bilstellen 8 — 6, der durch
Ausgangssignale F/08—F/06 entsprechender Adressenregister-Flipflops
dargestellt wird, auf die Ausgangsanschlüsse logischer Verknüpfungsglieder MA 06—
MA 08 durch, die mit der Bezugszahl 151 versehen sind. In ähnlicher Weise schaltet das Durchschaltsignal SAMI
den Inhalt der Adressenregister-Bitstellen 5 bis 0, der durch Aii5"3ri™ssi™p.a!e F/05— F/00 entsprechender
Adressenregister-Flipflops dargestellt wird, auf Ausgänge logischer Verknüpfungsglicder /VM 05— MA 00
durch, die mit der Bezugszahl 152 versehen sind. Wenn der Arbeitsspeicher aus dem P-Register 103 adressiert
wird, wird das Durchschaltsignal SAMP in ähnlicher Weise durch nicht gezeigte Mittel erzeugt, so daß es den
Inhalt der Bitstellen 14 bis 9, der durch Ausgangssignale FP 14— FP09 entsprechender P-Register-Flipflops dargestellt
wird, auf Ausgangsanschlüsse logischer Verknüpfungsglieder 150 durchschaltet. Das Durchschaltsignal
SAMP schaltet auch den Inhalt der P-Register-Bitstellen 8 — 6, der durch Ausgangssignale FP08
entsprechender P-Register-Flipflops dargestellt wird, und den Inhalt der Bitstellen 5 — 0, der durch
Ausgangssignale FP05—FPOO entsprechender P-Register Flipflops dargestellt wird, jeweils auf die Ausgangsanschlüsse
logischer Verknüpfungsglieder 151 und 152 durch. Unabhängig davon, von welchem Register der
Arbeitsspeicher adressiert wird, kennzeichnen die Ausgangssignale der Verknüpfungsglieder 150 den
Arbeitsspeicherbereich, der den adressierten Arbeitsspeicherplatz enthält, während die Ausgangssignale der
Verknünfuneselieder 151 den ArbeitssDeicherblock im
gekennzeichneten Arbeitsspeicherbereich kennzeichnen, der den adressierten Arbeitsspeicherplatz enthält.
Die Ausgangssignale der Verknüpfungsglieder 152 kennzeichnen den speziellen Arbeitsspeicherplatz im
gekennzeichneten Arbeitsspeicherblock.
Die durch die Ausgangssignale MA 14— MAOO der
Verknüpfungsglieder 150, 151 und 152 dargestellte Arbeitsspeicheradresse wird über den Arbeitsspeicher-Multiplexer
12 in den Arbeitsspeicher übertragen. Die Ausgangssignale MA 14— MA 09 der Verknüpfungsglieder 150 werden auch dem Speicherbereichsregister
104 und eine Vergleichseinrichtung 155 bildenden Verknüpfungsgliedern MCM3—MCMX zugeführt. In
F i g. 1 sind die eine Decodiervorrichtung bildenden Verknüpfungsglieder 150,151 und 152 aus Gründen der
Übersichtlichkeit weggelassen. In der Praxis liegen sie jedoch zwischen den Registern 101 und 103, wie es in
F i g. 6 angedeutet ist, um die erforderlichen Datenübertragungskanäle, wie generell in Fig.) angedeutet, zu
bilden.
Die Ausgangssignale MA0&—MA06 der Verknüpfungsglieder 151 werden Verknüpfungsgliedern M 31 ΧΜ 3XX, gekennzeichnet durch die Bezugszahl 160,
Verknüpfungsgliedern M2XX—M2XI, gekennzeichnet durch die Bezugszahl 161, Verknüpfungsgliedern
MXXX—MXXX, gekennzeichnet durch die Bezugszahl 162, und Verknüpfungsgliedern MOXX-MOXX, ge
kennzeichnet durch die Bezugszahl 163, zugeführt.
Die sechs höchststelligen Bits der Arbeitsspeicheradresse, die durch die Ausgangssignale MA 14—AM 09
der Verknüpfungsglieder 150 dargestellt wird, werden aufgrund der Erzeugung eines Durchschaltsignals
MTAV im Speicherbereichsregister 104 gespeichert. Das Durchschaltsignal MTA Vwird von einer Speicherbereichsdifferenzlogik 168 erzeugt.
Die Vergleichseinrichtung 155 erhält die Ausgangssignale MA 14— MA 09 der Verknüpfungsglieder 150
und die Ausgangssignale der Flipflops des Speicherbereichsregisters 104 und vergleicht den Inhalt des
.Speicherbereichsregisters 104, der den Arbeitsspeicherbereich
bestimmt, auf das das im Zustandsregister 105
gespeicherte Arbeitsspeicher-Schutzzustandswort anwendbar ist, mit den sechs höchststelligen Bits der
augenblicklichen Arbeitsspeicheradresse, die durch die AüSgangSS'gnalp rfff Vprknüpfiingsglieder 150 dargestellt
wird. Bei Feststellung einer Ungleichheit, was bedeutet, daß das im Zustandsregister 105 gespeicherte
Zustandswort nicht auf den adressierten Arbeitsspeicherplatz anwendbar ist, erzeugt die Vergleichseinrichtung
155 ein oder mehrere Steuersignale MCMi, MCM2 oder MCM3 abhängig von den ihnen
zugeführten Eingangssignalen.
Das Verknüpfungsglied MVDF, gekennzeichnet durch die Bezugszahl 165, erhält die Ausgangssignale
der Vergleichseinrichtiing 155 zusätzlich zu den
Signalen MF13, MF14 und MXAQ. Das Verknüpfungsglied
165 gibt Ausgangssignale MVDF ab, wenn eines oder mehrere der Ausgangssignale MCM 1, MCM 2 und
MCM 3 von der Vergleichseinrichtung 155 erzeugt werden und wenn bestimmte andere Bedingungen
erfüllt sind, wie:
1) (MF 13) die Anlage arbeitet im Fangbetrieb (MTRM), die angezeigte Speicherbereichsdifferenz
ist nicht die Folge einer Schutzverletzung (MTRP), die Anlage ist nicht dabei, ein neues Zustandswort
ins Zustandsregister 105 zu übertragen, und zwar wegen der zuvor festgestellten Speich-^rbereichsdifferenz
(MAMV), die Speicherbereichsdifferenz ist keine Folge einer automatischen Programmunterbrechung
(SPIX) und
2) entweder (a) (SCOX MXAQ) der aus dem Arbeitsspeicher
geholte Befehl ist nicht der Zielbefehl eines XEC-Befehls (XEXC) und gehört nicht zu
einem Quasi-Unterprogramm (XQUA) oder (b) (MF 14) der Arbeitsspeicher wird aus dem Adressenregister
101 (SAMI) adressiert, und zwar während eines anderen Reihenfolgesteuerzustands
als des Reihenfolgesteuerzustands 1 (SCOX), nicht als Folge einer automatischen Programmunterbrechung (SPI 2), und der adressierte Operand wird
nicht in einem Quasi-Unterprogramm (MFXl) relativ adressiert. Wenn die letzte Bedingung nicht
erfüllt ist, d. h. der adressierte Operand in einem Quasi-Unterprogramm adressiert wird, wird eine
organisatorische Funktion, die die laufenden Programme nicht stören kann, ausgeführt, und der
Zustand des adressierten Speicherplat ies braucht nicht geprüft zu werden.
Das Ausgangssignal MVDFdes Verknüpfungsgliedes
165 wird der Speicherbereichsdifferenzlogik 168 zugeführt. Die Logik 168 ist mit einem nicht dargestellten
Taktsignalgenerator in an sich bekannter Weise verbunden, um deren Ausgangssignale zeitlich zu
steuern. Beim Auftreten des Signals MVDF and eines Taktsignals wird das Durchschaltsignal MTA V von der
Logik 168 erzeugt und dem Speicherbereichsregister 104 zugeführt, um die höchststelligen sechs Bits der im
Adressenregister 101 oder P-Register 103 gespeicherten Adresse ins Speicherbereichsregister '04 zu
übertragen. Die Speicherbereichsdifferenzlogik spricht auch auf das Signal und ein Taktsignal dahingehend an,
daß sie ein Signal M/tMK erzeugt. Das Signal MAMV
wird dazu verwendet, den neuen Inhalt des Speicherbereichsregisters 104 zu den Verknüpfungsgliedern 152
durchzuschalten. Das Durchschaltsignal MAMV schaltet das Verknüpfungsglied MA 06 der Verknüpfungsglieder 151 durch. Beim Auftreten des Signals MAMV
und eines Taktsignals wird das Signal MLSR von der Logik 168 erzeugt, das alle Flipflops des L-Registers 105
setzt. Das Signal MAH wird ebenfalls von der Logik 168 beim Auftreten des Signals MAMV und eines
Taktsignals erzeugt und schaltet das neue Arbeitsspeicher-Schutzzustandswort.
das aus dem Arbeitsspeicher geholt wird urd an den Ausgängen des Paralleladdierers
110 zur Verfugung steht, ins /.-Register 505 durch. Ein
nicht gezeigtes Signal wird beim Auftreten des Signals MVDFoder MAMV erzeugt und hält das Rechen- und
Steuerwerk nach Fig. I in seinem augenblicklichen Reihenfolgesteuerzustand.
Die Flipflops L 15— LOO des Zustandsregisters 105 _>ί
werden alle aufgrund des von der Speicherdifferenzlogik 168 erzeugten Signals MLSR und eines Taktsignals
in den 1-Zustand gesetzt. Beim Auftreten des von der Soeicherbereichsdifferenzlogik 168 erzeugten Signals
MAL 1 und eines Taktsignals wird das Schutzzustands- κι wort von den Ausgängen des Paralleladdierers 110 ins
L-Register 105 übertragen. Die Ausgangssignale FL 14 — FL 00 und FL 14- FL 00 werden Verknüpfungsgliedern
160—163 zugeführt. Die Verknüpfungsglieder 160—163 crhaltsn auch Ausgangssignale MA 08 — AM 06 der r,
Verknüpfungsglieder 151. Die Ausgangssignale der Glieder 160—163 werden Verknüpfungsgliedern 170
zugeführt. Die Ausgangssignale der Verknüpfungsglieder 160 stellen den Schutzzustandscode dar, der
entweder auf den siebten oder achten 64-Wörter-Ar- w beitsblock des im Speicherbereichsregister 104 angegebenen
anwendbar ist, je nachdem, welcher Arbeitsspeicherblock von den Ausgangssignalen der Verknüpfungsglieder
151 adressiert wird. Die Ausgangssignale der Verknüpfungsglieder 171 stellen den Schutzzu- -r>
Standscode dar, der entweder auf den fünften oder sechsten 64-Wörter-Arbeitsblock des im Speicherbereichsregister
104 angegebenen Speicherbereichs anwendbar ist, je nachdem, welcher Arbeitsspeicherblock
den durch die Ausgangssignale der Verknüpfungsglie- w der 151 adressierten Arbeitsspeicherplatz enthält. Die
Ausgangssignale M1 IA" und MiXi der Verknüpfungsglieder 162 stellen den Schutzzustandscode dar, der
entweder auf den dritten oder den vierten 64-Wörter-Arbeitsblock des im Speicherbereichsregister 104
gekennzeichneten Speicherbereichs anwendbar ist, je nachdem, welcher Arbeitsspeicherblock den durch die
Ausgangssignale der Glieder 151 adressierten Speicherplatz enthält Die Ausgangssignale MO IX-und MOXl
der Verknüpfungsglieder 163 stellen den Schutzzu- ω Standscode dar, der entweder auf den ersten oder den
zweiten 64-Wort-Arbeitsspeicherblock des im Speicherbereichsregister 104 angegebenen Speicherbereichs
anwendbar ist, je nachdem, welcher Arbeitsspeicherblock den durch die Ausgangssignale der t>5
Verknüpfungsglieder 151 dargestellten Speicherplatz enthält
Das Ausgangssignal ML XX der Verknüpfungsgliede?
170 stellt eine binäre Eins dar, wenn das Bit der höchsten
Stelle des Arbeitsspeicherzustandscodes im Zustandsregister 105, der auf den adressierten Arbeitsspeicherplatz
anwendbar ist, eine binäre Eins ist In ähnlicher Weise stellt das Ausgangssignal MLX1 der Verkniipfungsglieder
170 eine binäre Eins dar, wenn das Bit der niedrigsten Stelle des Schutzzustandscodes im Zustandsregister
105, der auf den adressierten Arbeitsspeicherplatz anwendbar ist, eine binäre Eins ist. Die
Ausgangssignale ML IA" und MLX 1 der Verknüpfungsglieder 170 stellen also den Schutzzustandscode dar, der
auf den 54-Wörter-Arbeitsblock des Arbeitsspeicherbereichs anwendbar ist, der dem Zustandswort im
Zustandsregister 105 entspricht und den Arbeitsspeicherplatz enthält, der aus dem Adressenregister 101
oder P-Register 103 adressiert ist. Die Ausgangssignale der Verknüpfungsglieder 170 werden einem Verknüpfungsglied
ML 11. gekennzeichnet durch die Bezugszahl 172, einem Verknüpfungsglied ML 01, gekennzeichnet
durch die Bezugszahl 173, einem Verknüpfungsglied MLQO, gekennzeichnet durch die Bezugszahl 174. und
durch die Bezugszahl 175 gekennzeichneten Verknüpfungsgliedern MFM— MFOl zugeführt.
Das Ausgangssignal ML II des Verknüpfungsgliedes
172 stellt eine Eins dar, wenn der anwendbare Schutzzustandscode 11 ist. Das Ausgangssignal MLOl
des Verknüpfungsgliedes 173 ist eine binäre Eins, wenn
der anwendbare Schutzzustandscode 01 ist. D.is Ausgangssigna! MLOO des Verknüpfungsgliedes 174 ist
eine binäre Eins, wenn der anwendbare Schutzzustandscode 00 ist. Die Ausgangssignale der Verknüpfungsglieder
172, 173 und 174 werden den Verknüpfungsgliedern 175 zugeführt. Die Verknüpfungsglieder 175 erhalten
auch die Ausgangssignale von Verknüpfungsgliedern MFI8, MF17. MF12 und MF10-MF06, die zusammen
durch die Bezugszahl 180 gekennzeichnet sind, und andere Signale, die in der Anlage durch nicht
dargestellte Mittel erzeugt werden, d. h. die Signale SCOI, 5C04, VVDOI. MlRT, TTSE, MTRM, TSCA.
SAMW, DGN2 und MVDA, wie es in Fi g. 6 gezeigt ist.
Diese den Verknüpfungsgliedern 175 zugeführten Signale werden von einer Logik in der hinnctitung in
Abhängigkeit von speziellen Bedingungen in α/ι sich
bekannter Weise erzeugt. Die Verknüpfungsglieder 175 erhalten auch die Ausgangssignale ML IA" und MLX \
von Verknüpfungsgliedern 170.
Die Verknüpfungsglieder 175 und zugehörige Verknüpfungsglieder 180 bestimmen während des Sehutz-
und Fangbetriebs die Bedingungen, unter denen eine Adressierung des durch den Inhalt des Adressenregisters
101 oder P-Registers 103 gekennzeichneten Arbeitsspeicherplatzes zulässig ist, und mithin bestimmen
sie Verletzungen der Schutzanforderungen der Anlage. Die Ausgangssignale der Verknüpfungsglieder
175 werden einem Verknüpfungsglied MFVL zugeführt, das durch die Bezugszahl 185 gekennzeichnet ist Die
Verknüpfungsglieder 185 sind so ausgebildet daß das Ausgangssignal MFVL des Verknüpfungsgliedes 185
zum Anzeigen einer Schutzverletzung erzeugt wird, wenn irgendeines der Ausgangssignale MF04—MFOl
der Verknüpfungsglieder 175 eine binäre Eins darstellt. Das Ausgangssignal MFVL des Verknüpfungsgliedes
185 wird einer Fanglogik 190 zugeführt.
Die speziellen Bedingungen, unter denen eine Schutzverletzung der Anlage auftritt und das Signa!
MFVL erzeugt wird, werden hier nicht im einzelnen beschrieben. Es sei jedoch darauf hingewiesen, daß die
verschiedenen zuvor beschriebenen Bedingungen Anlaß
zu einer Verletzung geben können und daß die Einrichtung so ausgebildet sein kann, daß andere
Bedingungen, je nach der speziell verwendeten Rechenanlage, ebenfalls Anlaß zu einer Schutzverletzung geben können.
Die Fanglogik 190 erhält das Ausgangssignal des Verknüpfungsgliedes 185. Beim Auftreten des Ausgangssignals MFVL des Verknüpfungsgliedes 185 gibt
die Fanglogik 190 das Signal MTRP ab, die einen Korrekturvorgang in der Einrichtung auslöst
Während des Betriebs ist den Speicherplätzen des Arbeitsspeichers, die ein zuvor geprüftes oder laufendes
Programm enthalten, der Schutzzustandscode 00 zugeordnet, um zu verhindern, daß diese Speicherplätze
durch das ungeprüfte Programm, das Fehler enthalten kann, aufgerufen werden. Den Arbeitsspeicherplätzen,
die Informationen und Daten enthalten, die für das laufende Programm benötigt werden und die vor einer
Änderung geschützt werden müssen, ist der Schutzzustandscode 01 zugeordnet, der es einem ungeprüften
Programm gestattet. Informationen aus diesen Speicherpiätzen auszulesen, aber das ungeprüfte Programm daran hindert. Informationen in diejenigen
Arbeitsspeicherplätze einzulesen, denen dieser Zustandscode zugeordnet ist. Der nur zum Auslesen von
Daten vorgesehene Speicherteil kann auch üblicherweise verwendete Unterprogramme enthalten. Den Arbeitsspeicherplätzen, die das ungeprüfte Programm
en1 halten, werden entweder der Schutzzustandscode 11,
der eine unbeschränkte Verwendung der Arbeits- ju
Speicherplätze gestattet, oder der Code 01 zugeordnet, der es dem ungeprüften Programm gestattet, Daten
oder Befehle aus den Arbeitsspeicherplätzen zu lesen. Einem anderen Teil des Arbeitsspeichers kann der
Schutzzustandscode 10 zugeordnet sein, und er kann als Hilfsteil dienen, aus dem Informationen ausgelesen oder
in dem Informationen gespeichert werden können. Programme können jedoch nicht mit dem Hilfsteil
gespeichert werden.
Während des Betriebs wird ein Fangbetriebsflipflop TRM (das zu den Verknüpfungsgliedern 175 gehört)
durch nicht gezeigte Mittel in den 1-Zustand gesetzt, um die Schutzeinrichtung in Betrieb (in den Fangbetrieb) zu
setzen. Im Fangbetrieb ist die Anlage gegen potentielle störende Vorgänge, die durch das ungeprüfte Programm ausgelöst werden, geschützt. Zu diesem Zweck
werden alle Speicherzugriffe überwacht, die das Rechen- und Steuerwerk 10 ausführt, die Benutzung der
Arbeitsspeicherplätze wird durch cien diesen Arbeitsspeicherplätzen zugeordneten Schutzzustandscode ge-
regelt, wodurch geschützte Bereiche des Arbeitsspeichers bewahrt bleiben, unerlaubte Eingabe/Ausgabe-Operationen werden verhindert und der Übergang der
Rechenanlage in einen Zweig oder Zyklus, der die Bedienung anderer Echtzeit-Forderungen verhindern «
würde, wird vermieden.
Jedesmal, wenn der Arbeitsspeicher aus dem Adressenregister 101 oder P-Register 103 adressiert wird,
werden die sechs höchststelligen Bits der Arbeitsspeicheradresse, die das Arbeitsspeichervolumen be- w>
stimmen, das den adressierten Speicherplatz enthält, mit dem Inhalt des Speicherbereichsregisters 104 verglichen, der den Arbeitsspeicherbereich bestimmt, der dem
gerade im Zustandsregister 105 gespeicherten Schutzzustandswort entspricht Wenn eine Differenz bzw. ein 1»
Unterschied zwischen den sechs höchststelligen Bits der Arbeitsspeicheradresse und dem Inhalt des Speicherbereichsregisters 104 besteht, wodurch angezeigt wird.
daß das Zustandsregister 105 nicht den Schutzzustandscode enthält, der auf den adressierten Arbeitsspeicherplatz anwendbar ist, wird eines der Signale MCMI1
MCM 2 oder MCM3 erzeugt Beim Auftreten eines der
Signale AfCAi 1, MCM2 oder MCM3 wird das Signal
MVDF erzeugt, wenn die angezeigte Speicherbereichsdifferenz nicht die Folge einer vorherigen Schutzverletzung ist wenn kein neues Zustandswort wegen einer
vorher festgestellten Speicherbereichsdifferenz ins Zustandsregister 105 übertragen wird und wenn einer
Programmunterbrechungsforderung nicht nachgekommen wird. Das Signal MVDS wird nicht erzeugt wenn
beispielsweise der Arbeitsspeicher nicht durch den Inhalt des Adressenregisters 101 adressiert wird.
Wenn der Arbeitsspeicher 11 das Signal MRLS abgibt, wird ein Signal A/7VIV erzeugt das die sechs
höchststelligen Bits der Arbeitsspeicheradresse aus dem Adressenregister 101 oder dem P-Register 103 ins
Speicherbereichsregister 104 durchschaltet. Das Flipflop AMVm der Logik 168 wird gesetzt um das Signal
MA V zu erzeugen, das den Arbeitsspeicher durch den Inhalt des Speicherbereichsregisters 104 adressiert und
bewirkt daß die Verknüpfungsglieder 151 das Signal MA 06 abgeben, um den Arbeitsspeicherplatz zu
adressieren, der das Schutzzustandswort enthält das dem adressierten Arbeitsspeicherplatz entspricht Das
Signal SAMP oder das Signal SAMI, je nachdem welches anwendbar ist, wird eine binäre Null, weil der
Arbeitsspeicher und aus dem Speicherbereichsregister 104 adressiert wird. Da der Inhalt des Speicherbereichsregisters 104 jetzt den höchsten sechs Bits der Adresse
des vorgeschriebenen Arbeitsspeicherplatzes entspricht, wird das Signal A/VDFeine binäre Null.
Das Schutzzustandswort, das aus dem Speicherbereichsregister 104 adressiert wird, wird aus dem
Magnetkernspeicher 13 adressiert und aus dem Arbeitsspeicher-Datenregister 81 durch ein Durchschaltsignal ins B-Register 100 übertragen. Ein weiteres
Durchschaltsignal schaltet den Inhalt des B-Registers
100 zum Paralleladdierer 110 durch. Ein weiteres Taktsignal bewirkt, daß die Logik 168 das Signal MLSR
erzeugt, das alle Flipflops des Zustandsregisters 105 ir den 1-Zustand setzt Dann wird das Signal MRLi
erzeugt, das seinerseits die Erzeugung des Signals MAL 1 bewirkt, um die 16 Schutzzustandscode-Bits des
24-Bit-Schutzzustandswortes von den Ausgängen des Paralleladdierers HO ins Zustandsregister 105 zu
übertragen. Nachdem das richtige Schutzzustandsworl im Zustandsregister 105 gespeichert ist wird der
Arbeitsspeicher wieder aus dem Adressenregister 101 oder S-Register 103 für die Operation adressiert, die die
Ermittlung der Speicherbereichsdifferenz bewirkt hat In diesem Augenblick kann die Operation beendet
werden, vorausgesetzt, daß keine Schutzverletzung oder kein Fang bzw. keine Falle (TÄ/iP^auftritt.
Wenn das richtige Schutzzustandswort im Zust&ndsregister 105 enthalten ist werden die Bits 6—8 der
Arbeitsspeicheradresse, die den 64-Wörter-Arbeitsspeicherblock des Arbeitsspeicherbereichs anzeigen
der den adressierten Arbeitsspeicherplatz enthält, vor den Verknüpfungsgliedern 160—163 zum Auswähler
des richtigen Schutzzustandscodes verwendet, der in Zustandsregister 1OS gespeichert ist Die Bits de:
ausgewählten Schutzzustandscodes werden von der Verknüpfungsgliedern 170, 172,173 und 174 decodier
und von den Verknüpfungsgliedern 175 zur Überprü fung auf eine Schutzverletzung verwendet fm allgemei
nen wird eine Schutzverletzung festgestellt:
a) Wenn sich der adressierte Arbeitsspeicherplatz in
einem unzugänglichen Teil (Zustandscode 00) befindet; dann wird ein Befehl eines Quasi-Unterprogramms
ausgeführt, aber der Operand nicht relativ adressiert, wodurch angezeigt wird, daß es
sich um eine andere als um eine organisatorische Operation handelt; wenn der Operand relativ
adressiert wäre, könnte die organisatorische Operation die Sicherheit der Anlage nicht beeinträchtigen,
und es würde kein Fang (trap) auftreten (MF04);
b) wenn sich der adressierte Arbeitsspeicherplatz in einem unzugänglichen Teil (Zustandscode 00) und
die Anlage entweder im Reihenfolgesteuerzustand 3 oder im Reihenfolgesteuerzustand 2 befindet und
einen LDX-Bdehl ausführt; wenn der Operand
jedoch in einem Quasi-Unterprogramm relativ adressiert wird, bedeutet dies eine organisatorische
Operation, so daß kein Fang auftritt (MFM);
c) wenn sich der adressierte Arbeitsspeicherplatz entweder in einem unzugänglichen Teil oder in
einem Teil, aus dem nur ausgelesen werden darf (Zustandscode 00 oder 01), und sich die Anlage im
Reihenfolgesteuerzustand 2 befindet und einen D/V/T-Befehl ausführt oder sich im Reihenfolgesteuerzustand
3 befindet und einen STiQ-Befehl
ausführt, sofern die Operanden dieser Befehle in einem Quasi-Unterprogramm relativ adressiert
werden, wodurch eine organisatorische Operation (MFOl angezeigt wird; y,
d) wenn sich der adressierte Arbeitsspeicherplatz in
einem unzugänglichen Teil oder in einem Lese/ Schreib-Teil (Zustandscode 00 oder 10) befindet,
ein Befehl aus dem Arbeitsspeicher geholt wird und nicht der Ziel-Befehl eines XfC-Befehls und kein
Befehl eines Quasi-Unterprogramms (MF03) ist;
oder
e) wenn sich der adressierte Arbeitsspeicherplatz in einem Teil befindet, aus dem nur ausgelesen wird
(Zustandscode 01), wird der 57/4-Befehl ausgeführt,
und wenn der Befehl zu einem Quasi-Unterprogramm gehört, wird der Operand nicht relativ
adressiert, und bei der Operation handelt es sich daher nicht um eine organisatorische Operation
(MF 02). Ji
Obwohl die oben angegebenen Bedingungen für das dargestellte Ausführungsbeispiel vorgeschieben sind,
können sie entsprechend den Schutzbestimmungen einer anderen Anlage geändert werden. Bei dem
dargestellten Ausführungsbeispiel dienen die angegebe- ίι>
nen Bedingungen für eine Schutzverletzung zum angemessenen Schutz der Anlage gegen Fehler, die in
einem ungeprüften Programm auftreten können.
Nachdem das richtige Schutzzustandswort aus dem Arbeitsspeicher geholt und im Zustandsregister 105 '.">
gespeichert ist. wird der auf den adressierten Arbeitsspeicherplatz anwendbare Schutzzustandscode geprüft,
wenn eine Speicherbereichsdifferenz festgestellt wurde. Wenn irgendeines der Verknüpfungsglieder MFOi-
MFM (die auch als Tore bezeichnet werden können) m> der logischen Einheit 175 durchgeschaltet ist und
dadurch eine Schutzverletzung der Anlage anzeigt, erzeugt das Verknüpfungsglied 185 das Signal MFVL
Das Signal MFVL sperrt bestimmte Operationen in dem Rechen- und Steuerwerk, um zu verhindern, daß das t><
ungeprüfte Programm laufende Programme oder Betriebsprogramme stört. So kann beispielsweise das
Speichern von Informationen im Arbeitsspeicher verhindert werden. Als nächstes wird das Fang-Flipflop
in der Fang-Logik 190 in den !-Zustand gesetzt, so daß das Signal MTRP erzeugt wird. Der Inhalt des
Adressenregisters 101 wird dann den Eingängen des Paralleladdierers 110 zugeführt, und außerdem werden
Durchschaltsignale erzeugt, die die Ausgangssignale des Paralleladdierers 110 ins B-Register 100 durchschalten
und dadurch die Übertragung des Inhalts des Adressenregisters 101 ins B-Register 100 vervollständigen. Dann
wird durch nicht gezeigte Mittel ein Signal erzeugt, das die Auslösung einer Schreiboperation im Arbeitsspeicher
gestattet. Durch ein Signal MTRP werden Verknüpfungsglieder bzw. Tore MA 00 und MA 04
durchgeschaltet, um den Arbeitsspeicherplatz 00021a zu
adressieren und den Inhalt des Adressenregisters 101 und des B-Registers 100 in den Arbeitsspeicherplatz
0002I8 zu übertragen.
Als nächstes geht die Anlage in den Reihenfolgesteuerzustand 1 über. Das Verknüpfungsglied MA 04 wird
vom Signal MTRP durchgeschaltet, um die Adresse des Arbeiisspeicherpiatzes 0ÖÖ2Ö8 ins Arbeitsspeicheradressenregister
80 zu übertragen. Der Inhalt des Arbeitsspeicherplatzes OOO2O3 umfaßt einen 5PB-Befehl zum
Auslösen der Ausführung eines Korrekturprogramms. Der Befehl SPB wird ins Rechen- und Steuerwerk
übertragen, und die Fangbetrieb- und Fangflipflops werden zurückgesetzt. Dann wird ein Fehlerprogramm
ausgeführt, um die Ursache zu korrigieren, die den Anlaß der Schutzverletzung bildete.
Zusammenfassend wird für jeden Speicherbereich von 512 Speicherplätzen des Arbeitsspeichers ein
Schutzzustandswort gebildet. Jeder Speicherbereich ist in acht 64-Wort-Blöcke unterteilt, und verschiedene
Bitstellen des Schutzzustandswortes, das einem Speicherbereich zugeordnet ist, bestimmen den Schutzzustand
jedes 64-Wort-Blockes. Die Schutzzustandswörter sind in vorbestimmten Speicherplätzen des
Arbeitsspeichers gespeichert. Das Zustandsregister ist im Rechenwerk angeordnet und dient zur Speicherung
eines Schutzzustandswortes. Das Speicherbereichsregister dient zur Speicherung von sechs Bits, die den
Speicherbereich kennzeichnen, dem das im Zustandsregister gespeicherte Zustandswort zugeordnet ist.
Außerdem ist ein Flipflop vorgesehen, das einen vorbestimmten Zustand einnimmt, wenn das Programm,
das immer noch Fehler enthalten kann, ausgeführt wird, um den Schutzbetrieb der Anlage zu bestimmen.
Jedesmal, wenn der Arbeitsspeicher entweder vom Adressenregister oder vom P-Rcg\%ir des Rechenwerks
während des Schutzbetriebs adressiert wird, werden die Bits der sechs höchsten Stellen der Adresse
mit dem Inhalt des Speicherbereichsregisters verglichen, um festzustellen, ob das richtige Zustandswort im
Zustandsregister gespeichert ist. Wenn der Vergleich ergibt, daß das richtige Zustandswort nicht im
Zustandsregister gespeichert ist, werden die sechs höchststelligen Adressenbits ins Speicherbereichsregister
übertragen, und der Arbeitsspeicher wird vom Speicherbereichsregister adressiert, um das Schutzzustandswort,
das dem adressierten Arbeitsspeicher zugeordnet ist, aus dem Arbeitsspeicher ins Zustandsregister
zu übertragen.
Die Arbeitsspeicheradresse wird zum Auswählen der anwendbaren Bitstellen des Zustandswortes im Zustandsregister
verwendet. Die ausgewählten Zustandsbits werden decodiert und Verknüpfungsgliedern
zugeführt, die auch Informationen erhalten, die den Zweck angeben, für den der Arbeitsspeicher adressiert
wird, d. h. zum Auslesen oder Ausführen von Befehlen, und ob ein Befehl ausgeführt wird, seine Kennung, den
Reihenfolgesteuerzustand, in dem die Anlage arbeitet, das Vorhandensein einer Programmunterbrechung und
anderer Bedingungen oder Zustände der Anlage. Die Verknüpfungslogtk bestimmt, ob eine nicht verlangte
Operation versucht wird, was eine Schutzverletzung der Anlage darstellt. Wenn eine Schutzverletzung aufgetreten
ist, wird ein Signal (MFVL) erzeugt, das die Übertragung des Inhalts des Adressenregisters in einen
bestimmten Arbeitsspeicherplatz veranlaßt Anstelle der normalen Befehlsausleseoperation wird der Inhalt
eines anderen vorbestimmten Arbeitsspeicherplatzes automatisch ins Rechenwerk übertragen, um eine
Korrektur auszuführen.
Die Bitstellen der Zustandswörter, die jedem
64-Wort-Block des Arbeitsspeichers zugeordnet sind, können mindestens vier Schutzzustände bestimmen,
d. h. zugänglich, nicht zugänglich, oder nur zum Datenlesen oder Eefehlslesen zugänglich, oder nur zum
Datenlesen oder üatenschreiben. aber nicht zum Befehlslesen zugänglich. Befehle, die den Inhalt
geschützter Speicherbereiche des Arbeitsspeichers nicht beeinflussen können, dürfen ausnahmslos ausgeführt
werden. Bei den meisten Befehlen hängen Schutzverletzungen der Anlage von der Art der gerade
ausgeführten Befehle, dem Schutzzustand des adressierten Arbeitsspeicherplatzes und anderer Bedingungen
oder Zustände in der Anlage ab. Schutzverletzungen werden als Antwort auf irgendwelche Befehle angezeigt,
die normalerweise Eingabe/Ausgabe-Operationen auslösen würden, d. h. Übertragungen zwischen
dem Arbeitsspeicher und ein.-m Peripheriegerät der
Rechenanlage. Um den ungehinderten Ablauf der Betriebsprogramme bei der Steuerung, Regelung oder
Überwachung des Prozesses zu gewährleisten, verläßt die Anlage den Schutzbetrieb automatisch beim
Auftreten einer Programmunterbrechung.
Die Schutzeinrichtung nach der Erfindung ist also in der Lage, einen wirksamen und zuverlässigen Schutz der laufenden Programme oder Betriebsprogramme und der zugehörigen Daten im Arbeitsspeicher zu bilden, und gestattet gleichzeitig die Speicherung der
Die Schutzeinrichtung nach der Erfindung ist also in der Lage, einen wirksamen und zuverlässigen Schutz der laufenden Programme oder Betriebsprogramme und der zugehörigen Daten im Arbeitsspeicher zu bilden, und gestattet gleichzeitig die Speicherung der
ίο Schutzzustandsinformation für alle Arbeitsspeicherplätze
in einem verhältnismäßig kleinen Teil des Arbeitsspeichers. Die Fähigkeit der Schutzeinrichtung zwischen
verschiedenen Befehlsarten zu unterscheiden und die Fähigkeit mindestens vier Schutzzustände zuzuordneri
steigert die Flexibilität der Einrichtung. Die Verfügbarkeit eines dritten Schutzzustandsbits für
jeden 64-Wörter-Block gestattet die Erweiterung der Anlage auf acht Schulzzustände für jeden Block. Die
Schutzeinrichtung verhindert die Auslösung aller
2« Eingabe/Ausgabe-Operationen während der Ausführung
eines ungeprüften Programms, um die im Arbeitsspeicher gespeicherten Programme und Daten
zu schützen und zu gewährleisten, daß keine unerlaubten Steueroperationen ausgelöst werden. Die Ausführung
von Programmunterbrechungen wird nicht beschränkt, da die Anlage automatisch den Schutz- oder
Fangbetrieb beim Auftr- ten einer Programmunterbrechung
verläßt. Die Einrichtung schützt auch gegen Schleifen oder Zyklen, die durch ein ungeprüftes
V) Programm ausgelöst werden können, das die Ausführung
des laufenden Programms oder Beinebsprogranims
stört, wodurch die Anforderungen an den Echtzeit-Betrieb der Anlage befriedigt werden.
Micr/ii 4 Blatt Zcichininucn
Claims (5)
1. Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage mit einem Adressenregister und in
dem Arbeitsspeicher gespeicherten Zustandswörtern,
die jeweils den Speicherschutz für einen zugeordneten Speicherbereich definieren, gekennzeichnet
durch folgende Merkmale:
a) es ist ein Speicherbereichsregister (104) vorgesehen, das jeweils die Adresse des zuletzt
verwendeten Speicherbereiches (Vy, Vi; · · · VM)
speichert und die Adresse eines neuen Speicherbereiches aus dem entsprechenden Teil des
Adressenregisters (101) übernimmt, wenn eine den Inhalt des Adressenregisters mit dem Inhalt
des Speicherbereichsregisters (104) vergleichende Vergleichseinrichtung (155) Ungleichheit
feststellt;
es ist ein Zustandsregister (105) vorhanden, das das Schur^zustandswort (F i g. 5) für den durch
das Speicherbereichsregister (104) definierten Speicherbereich aus einem reservierten zentralen
Speicherbereich des Arbeitsspeichers (11) übernimmt;
c) jeder Speicherbereich ist in Blöcke unterteilt und jedes Schutzzustandswort enthält in geometrischer
Zuordnung für jeden Block eine vorgegebene Anzahl von Schutzbits, die bei der
Adressierung des jeweiligen Blocks über eine auch mit dem Adressenregister (101) verbündene
Decodiervorrichtung (150—152) entsprechend der geometrischen Zuordnung ausgewählt
und ausgewerte* werden.
2. Schutzeinrichtung nach Anbruch 1, gekennzeichnet
durch Sperrvorrichtungen (175, Signal MTRM) zum Sperren der Schutzeinrichtung
(Fig.6), wenn diese anzeigt, daß der adressierte Arbeitsspeicherplatz nicht geschützt ist.
3. Schutzeinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Schutzeinrichtung (Fig. 6)
eine Vorrichtung (185) enthält, die ein Signal (MFVL) erzeugt, wenn die Kommunikation zwischen
dem Rechenwerk (10) und dem Arbeitsspeicherplatz verhindert ist, und daß die Rechenanlage
auf dieses Signal (MFVL) dahingenend anspricht, daß sie den Zugriff zu diesem Arbeitsspeicherplatz
verhindert.
4. Schutzeinrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Rechenanlage beim Auftreten
dieses Signals (MFVL) einen Programmfehler-Korrekturvorgang auslöst.
5. Schutzeinrichtung nach Anspruch 4, bei der die Rechenanlage eine Programmunterbrechungsvorrichtung
zum wählbaren Unterbrechen der Ausführung des Hauptprogramms durch das Rechenwerk
enthält, dadurch gekennzeichnet, daß die Schutzeinrichtung (Fig.6) eine Vorrichtung (175) enthält, die
auf eine durch die Programmunterbrechungsvorrichtung ausgelöste Programmunterbrechung dahingehend
anspricht, daß sie die Schutzeinrichtung (F i g. 6) sperrt, wenn das Programmunterbrechungs-
Befehlssignal die Ausführung eines Befehls eines fehlerfreien Programms anzeigt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70756468A | 1968-02-23 | 1968-02-23 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1909090A1 DE1909090A1 (de) | 1969-09-04 |
DE1909090B2 DE1909090B2 (de) | 1979-10-31 |
DE1909090C3 true DE1909090C3 (de) | 1980-07-17 |
Family
ID=24842209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1909090A Expired DE1909090C3 (de) | 1968-02-23 | 1969-02-24 | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage |
Country Status (4)
Country | Link |
---|---|
US (1) | US3562717A (de) |
DE (1) | DE1909090C3 (de) |
FR (1) | FR2002539A1 (de) |
GB (1) | GB1262359A (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3683418A (en) * | 1970-04-16 | 1972-08-08 | Bell Telephone Labor Inc | Method of protecting data in a multiprocessor computer system |
JPS4930578B1 (de) * | 1970-09-30 | 1974-08-14 | ||
GB1410631A (en) * | 1972-01-26 | 1975-10-22 | Plessey Co Ltd | Data processing system interrupt arrangements |
US3858182A (en) * | 1972-10-10 | 1974-12-31 | Digital Equipment Corp | Computer program protection means |
FR2258112A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
US3890601A (en) * | 1974-03-11 | 1975-06-17 | Philco Ford Corp | Password operated system for preventing unauthorized or accidental computer memory alteration |
FR2269150B1 (de) * | 1974-04-25 | 1977-10-28 | Honeywell Bull Soc Ind | |
US4017839A (en) * | 1975-06-30 | 1977-04-12 | Honeywell Information Systems, Inc. | Input/output multiplexer security system |
US4074353A (en) * | 1976-05-24 | 1978-02-14 | Honeywell Information Systems Inc. | Trap mechanism for a data processing system |
US4099243A (en) * | 1977-01-18 | 1978-07-04 | Honeywell Information Systems Inc. | Memory block protection apparatus |
US4196476A (en) * | 1977-08-30 | 1980-04-01 | Xerox Corporation | Reproduction machine with selectively disclosable programs |
US4328542A (en) * | 1979-11-07 | 1982-05-04 | The Boeing Company | Secure implementation of transition machine computer |
US4409655A (en) * | 1980-04-25 | 1983-10-11 | Data General Corporation | Hierarchial memory ring protection system using comparisons of requested and previously accessed addresses |
US5404499A (en) * | 1990-01-24 | 1995-04-04 | Logical Services Incorporated | Semi-automatic program execution error detection |
-
1968
- 1968-02-23 US US707564A patent/US3562717A/en not_active Expired - Lifetime
-
1969
- 1969-02-21 GB GB9578/69A patent/GB1262359A/en not_active Expired
- 1969-02-24 DE DE1909090A patent/DE1909090C3/de not_active Expired
- 1969-02-24 FR FR6904603A patent/FR2002539A1/fr not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB1262359A (en) | 1972-02-02 |
DE1909090A1 (de) | 1969-09-04 |
US3562717A (en) | 1971-02-09 |
FR2002539A1 (de) | 1969-10-17 |
DE1909090B2 (de) | 1979-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0512542B1 (de) | Datenschützende Mikroprozessorschaltung für tragbare Datenträger, beispielsweise Kreditkarten | |
DE1951552C3 (de) | Speichereinrichtung mit Sicherung durch Schutzschlüssel | |
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2758152A1 (de) | Speicherschutzanordnung | |
DE3048365A1 (de) | Speicherschutzsystem und datenverarbeitungssystem mit einem solchen speicherschutzsystem | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE1181460B (de) | Elektronische Zifferrechenmaschine | |
DE2316296A1 (de) | Durch mikroprogramme steuerbare verarbeitungseinrichtung | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE2458096C2 (de) | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage | |
DE2054830B2 (de) | Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge | |
DE1935944C3 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE1499206B2 (de) | Rechenanlage | |
DE1524111C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE19955776C1 (de) | Multitasking-Prozessorsystem | |
DE1185404B (de) | Fehlerermittlungsanlage | |
DE1812137A1 (de) | Elektronische Datenverarbeitungseinrichtung | |
DE1956460C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE1184122B (de) | Addiervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |