DE2758152A1 - Speicherschutzanordnung - Google Patents

Speicherschutzanordnung

Info

Publication number
DE2758152A1
DE2758152A1 DE19772758152 DE2758152A DE2758152A1 DE 2758152 A1 DE2758152 A1 DE 2758152A1 DE 19772758152 DE19772758152 DE 19772758152 DE 2758152 A DE2758152 A DE 2758152A DE 2758152 A1 DE2758152 A1 DE 2758152A1
Authority
DE
Germany
Prior art keywords
register
line
command
memory
security level
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.)
Withdrawn
Application number
DE19772758152
Other languages
English (en)
Inventor
Peter Willy Markstein
Alan Levi Tritter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2758152A1 publication Critical patent/DE2758152A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Description

Anmelderin: International Business Machines
i Corporation, Armonk, N.Y. 10504
km-bd
Speicherschutzanordnung
Die Erfindung betrifft eine Speicherschutzanordnung bei Da- : tenverarbeitungsanlagen mit einem wahlfrei zugreifbaren Spei- j eher zur Aufnahme von Daten und Befehlsfolgen und mit einer I Einrichtung zur Prüfung von in diesen Informationen enthalte- j nen Schutzfeldern auf Übereinstimmung mit einem dem Zugriffs- I befehl entsprechenden Schutzschlüssel.
Bei komplexen Datenverarbeitungsanlagen ist die Gewährleistung der Datensicherheit von erheblicher Bedeutung. Hierbei werden unter Datensicherheit Vorkehrungen sowohl gegen unerlaubten Zugriff zu gespeicherten Daten durch einen hierzu nicht autorisierten Benutzer als auch gegen ein unerwünschtes überschreiben von gespeicherten Daten aufgrund eines Programmierfehlers oder einer fehlerhaften Operation der beteiligten Schaltungsanordnungen verstanden. Das Ziel solcher Vorkehrungen ist die Verhinderung eines Datenmißbrauchs und einer Zerstörung von schwer ersetzbaren Daten.
bie Datensicherheit erfordert besondere dann Beachtung, wenn an eine Datenverarbeitungsanlage eine größere Anzahl von Behutzerstationen angeschlossen ist, die sich in die Verarbeitung 8- und Speicherkapazität der Anlage teilen. Die Daten-Sicherheit kann jedoch auch dadurch verletzt werden, daß in ler Datenverarbeitungsanlage gespeicherte Programme oder Jnterprogramme sich gegenseitig aufrufen und Daten zur Weiterverarbeitung übergeben, die ihererseits durch unterschiedliche Programme für unterschiedliche Benutzer zugänglich sind. Z.B
! 8 0 9 8 28 /^0_6_4_9_
YO 973 080
'kann ein übergeordnetes Programm (Hauptprogramm) eine Daten-
bank mit vertraulichen Daten, beispielsweise Personaldaten| verwalten, deren Verbreitung trotz vielfältiger, mit unterschiedlichen Programmen auszuführenden Verarbeitungsgängen so weit wie möglich eingeschränkt bleiben soll.
Zur Gewährleistung der Datensicherheit ist es bekannt, bei jedem Speicherzugriff eine Schutzschlüsselprüfung vorzunehmen. Einem Benutzer oder einem Programm wird ein bestimmter Speicherbereich zugeteilt, der durch einen Schutzschlüssel markiert ist. Hierzu können die Speicherplätze dieses Bereichs besondere Schutzfelder aufweisen, in die der dem Benutzer zugeteilte Schutzschlüssel eingespeichert wird. Bei jedem Zugriff zu dem Speicherbereich wird der Schutzschlüssel vom Benutzer erneut eingegeben bzw. von dem Programm, das den Zugriff anfordert, als Teil des Zugriffsbefehls bereitgestellt. Es wird ein Vergleich ausgeführt zwischen dem Inhalt des Schutzfeldes des !adressierten Speicherplatzes und dem eingegebenen oder bereitgestellten Schutzschlüssel. Zeigt dieser Vergleich eine !Übereinstimmung an, wird der Speicherzugriff (Lesen oder Einschreiben von Daten oder Programmbefehlen) gestattet. Im anderen Falle wird ein Zugriff gesperrt, eine Sicherheitsver- i letzung angezeigt und möglicherweise eine Programmunterbrechung Veranlaßt. Für dieses Verfahren der Schutzschlüsselprüfung
ist es erforderlich, daß einzelne Benutzer oder Programme ipriviligiert sind, den Speicherbereichen Schutzschlüssel zuzuteilen oder sie ihnen zu entziehen. Dies ist üblicherweise Aufgabe eines Uberwachungsprogramms.
Bei Anordnungen dieser Art ist es auch bekannt, mit Hilfe des Schutzfeldes das Zusammenwirken von zwei Einheiten einer Datenverarbeitungsanlage zu steuern, die sich in die Benutzung jeines gemeinsamen Speicherbereiches teilen (DE-PS 1 499 742).
809828/0649
YO 973 080
Eine zum Zugriff autorisierte Einheit bringt einen Teil des Schutzfeldes in einen Zustand, der einen bedingten Schutz angibt. Eine zweite Einheit erhält dadurch die Möglichkeit zu einer Abänderung des Schutzfeldes, um einen Zugriffswunsch
anzuzeigen. Hierauf führt die erste Einheit eine weitere Abänderung des Schutzfeldes aus, wodurch die zweite Einheit die Möglichkeit des Zugriffs zum gemeinsamen Speicherbereich erhält. Dieses Verfahren ist insbesondere für die Kommunikation zwischen zwei Benutzer über den Zugriff zu einem gemeinsamen Speicherbereich geeignet, wobei der eine Benutzer gegenüber dem anderen Priorität besitzt. Es eignet sich jedoch nicht zur absoluten Zugriffskontrolle bei Datenverarbeitungsanlagen, deren Speicher von einer Vielzahl von Benutzer bzw. Programmen unterschiedlicher Autorisierung in Anspruch genommen werden.
Aufgabe der Erfindung ist es, eine Datenverarbeitungsanlage mit einem verbesserten SpeicherZugriffsschutz anzugeben, die eine flexible Anpassung an die praktischen Erfordernisse des Speicherschutzes und insbesondere eine Hierarchie in der Zugriffsberechtigung herzustellen, aufrecht zu erhalten und zu verändern gestattet.
Die Merkmale zur Lösung dieser Aufgabe sind aus dem Anspruch 1 ersichtlich. Die Unteransprüche enthalten verschiedene vor- | teilhafte Ausgestaltungen und Weiterbildungen der Erfindung. j
Nachfolgend ist ein Ausführungsbeispiel der Erfindung anhand | von Figuren beschrieben. Es zeigen:
Fig. 1 ein vereinfachtes Blockschaltbild eines Aus-
i führungsbeispiels der Erfindung, i
80982 8/0649
YO 973 080
Fig. 2 die Zusammengehörigkeit der Fign. 2A bis 2F, die ein detailliertes Blockschaltbild der Anordnung von Fig. 1 angeben,
Fig. 3 die Zusammengehörigkeit der Fign. 3A bis
3D, die ein detailliertes Blockdiagramm
. des Verbindungsstapelspeichers der Anordnung
von Fig. 2A bis 2F darstellen,
!Fig. 4 ein detailliertes Blockschaltbild der Schutzschaltung in der Anordnung von Fign. 2A bis
ι 2F'
JFig. 5 ein detailliertes Blockschaltbild einer ; Schutzschlüssel-Einsetzschaltung zur Ver-
; wendung in der Anordnung von Fign. 2A bis
2F und
jFig. 6 die Zusammengehörigkeit der Fign. 6A und
6B, die verschiedene Befehlsformate angej ben, wie sie in der Anordnung von Fign. 2A
ι bis 2F verwendet werden.
!Das beschriebene Ausführungsbeispiel ist in den Fign. 2A bis !2F im Detail dargestellt. Die Fig. 1 gibt in Form einer schema-
tischen Blockdarstellung die Hauptkomponenten des Systems an, die sich um eine zentrale Verarbeitungseinheit CPU gruppieren, welche eine Befehlsausführungseinheit 601 und einen Speicher 602 umfaßt. Beim Zugriff zu Befehlen im Speicher 602 oder bei der Einspeicherung von Befehlen sind Sicherheitsprüfungen notwendig, die üblicherweise in Form einer Schlüsselwortprüfung ausgeführt werden, innerhalb der bestimmt wird, ob eine bestimmte Einspeicher- oder Speicherentnahmeoperation
809828/0649
YO 973 080
die Erfordernisse erfüllt, die durch ein Schutzfeld im auf- j gerufenen Speicherplatz für das jeweils laufende Programm \ angegeben wird. Im beschriebenen System wird vom Inhalt des ; Schutzfeldes jeweils nur soviel für die Prüfung herangezogen, | wie für das laufende System notwendig ist. Der zu prüfende ; Teil des Schutzfeldes ist abhängig von der jeweils geltenden i Sicherheitsstufe. Je niedriger die Sicherheitsstufe ist (je i niedriger die Stufennummer ist), um so kleiner ist das Schutz- ; feld, das zur Prüfung herangezogen wird. Das System erlaubt ; die Einstellung unterschiedlicher hierarchischer Sicherheitsstufen für ein Programm oder Programmteile und ermöglicht es j der Befehlsausführungseinheit, Verzweigungen zwischen Program- ; men oder Programmteilen unterschiedlicher Sicherheitsstufen ! auszuführen, solange bestimmte Sicherheitsforderungen erfüllt !
sind. ;
Das Grundprinzip, das dem beschriebenen System zugrunde liegt, besteht in der Zuordnung einer ausgewählten Sicherheitsstufe zu einem gegebenen Programm, wobei diese Zuordnung unter der Schlüsselwortkontrolle des Programms erfolgt, das resident im System gespeichert ist. Das System hält das der zugewiesenen Sicherheitsstufe entsprechende Schutzfeld fest und führt Buch über alle zugewiesenen Schutzfelder für die verschiedenen Programme bzw. Programmteile, die auch die Schutzfelderfordernisse des jeweils aufrufenden Programms erfüllen müssen. Diese Funktion wird durch eine Schutzschaltung 604 wahrgenommen, die in den Fign. 2D und 4 im Detail dargestellt ist. !Dieser Schaltung werden Informationen von einer SchutzSchlüsse !Einsetzschaltung 603 zugeführt, die in den Fign. 2E und 2F j sowie in Fig. 5 im Detail dargestellt ist.
Die Schutzschaltung 604 führt die verschiedenen Vergleichsoperationen in Abhängigkeit von der jeweils wirksamen Sicher-
; 809828/ 0 64 9
YO 973 080
heitsstufe für das laufende Programm aus. Dies bedeutet, daß ,das Schutzfeld, welches bei einer bestimmten Speicheroperation geprüft wird, über eine Sammelleitung 108 in Fig. 4 zugeführt wird, und daß das Schutzfeld des aufgerufenen Speicherplatzes über eine Sammelleitung 170 der Schutzschaltung 604 (Fig. 4 ) zugeführt wird. Zugleich erscheint auf einer von acht Leitungen 185 eine Anzeige der jeweils wirksamen Sicherheitsstufe.
ι Diese Information wird aus dem Schutzfeld des aufgerufenen Speicherplatzes gewonnen und über ein Kabel 130 dem Codierer 606 (Fig. 2C) zugeführt. Die Schaltung 604 zeigt auf ihrer •Ausgangsleitung 106 an, ob das richtige Schutzfeld vorliegt oder nicht. Im letzteren Falle erfolgt eine Unterbrechung des laufenden Programms aufgrund einer Verletzung der '< Sicherungskriterien.
Das in Fig. 1 dargestellte System umfaßt ferner einen Ver-'bindungsstapel 605, der in den Fign. 2C und 2D sowie 3A bis j 3D dargestellt ist und der aus einer Anzahl von Registern j besteht, die zur Speicherung von bis zu acht hierarchisch gej ordneten Sicherheitsstufen innerhalb eines gegebenen Programm-: istromes (zu einer bestimmten Zeit) vorliegen, wobei der voll- i
ständige Zugriffsschutz für alle Sicherheitsstufen in bezug ; I
;auf das jeweils laufende Programm aufrecht erhalten wird.
ι '
j üblicherweise wird ein Speicherblock mit einer größeren An-I zahl von Speicherplätzen, wie beispielsweise 1000 Bytes oder i darüber als eine Einheit behandelt. Alle Speicherplätze eines ! Blockes sind gleichzeitig aufrufbar für eine Wertentnahme oder Einspeicherung. Zusätzlich können bestimmte Bereiche des Speichers einem bestimmten Programm zugewiesen werden und die gleiche Schutzschaltung zur Beschränkung von Speicherzugriffen durch dem betreffenden Programm untergeordnete Programme benutzen. Damit wird eine Hierarchie der Speicherzugriffsteuerung erreicht.
80 9828/06 49
YO 973 080
Ein Speicherplatz (Wort) kann beispielsweise aus 64 Datenbits und acht Fehlerkorrekturcode-Bits bestehen, so zusammen aus 72 Bits. Zusätzlich enthält der Speicherplatz weitere ! Nicht-Datenbits zur Darstellung des Schutzschlüsseis und i
der Sicherheitsstufe. Nicht-negative ganzzahlige Werte j
(Stufenwerte) sind den einzelnen Sicherheitsstufen zugeordnet. { Ein besonderes Register, das hierin als Stufenregister 608 bezeichnet wird und das Teil des Verbindungsstapels 605 ist, dient jeweils zur Anzeige der Sicherheitsstufe, die das j gerade laufende Programm besitzt (Fig. 3B). Für ein Programm \ der Stufe η sind alle fehlenden η-Bits des Schutzfeldes zu- : ^in-jllch zum Einschreiben von Informationen, wie beispielsweise) zum Einschreiben des Schutzschlüssels. Diese fehlenden n-Bits des Schutzfeldes massen mit den fehlenden η-Bits in einem Schutzregister 610 übereinstimmen, wenn ein Speicherzugriff gültig sein soll. Die Stufe 0 ist somit die am meisten prlviligierte Stufe, da in diesem Fall 0 Bits zu prüfen sind und alle Bits in den Schutzfeldern modifiziert werden können. Für die übrigen Stufen ist dagegen eine Modifizierung der führenden η-Bits ausgeschlossen und es können nur die restlichen Bits der Schutzfeider modifiziert werden.
Wenn das Stufenregister k-Bitstellen enthält, sind 2k Sicherheitsstufen möglich, und die Schutzfelder sowie das Schutzregister können bis zu 2 -1 Bitstellen enthalten. Es sind
je
bis zu 2 -1 unterschiedliche Schutzfeldinhalte möglich. Ein Programm, das auf der Stufe η läuft, kann unterscheiden zwischen bis zu 2*m n) untergeordneten Programmen, die auf einer Stufe m laufen, wobei m<k.
Ein Programm, das auf der Stufe η läuft, kann ein untergeordnetes Programm der Stufe m aufrufen unter der Vorraussetzung, daß m>n. Bevor dies geschieht, stellt das Programm
809828/0649
YO 973 080
die Bits η bis m-1 des Schutzfeldes in jedem Speicherwort iso ein, daß ihr Inhalt für alle Speicherplätze einheitlich |ist, zu denen das untergeordnete Programm Zugriff hat. Alle anderen Speicherplätze (Speicherwörter) besitzen dagegen in den betreffenden Bitstellen des Schutzfeldes einen anderen Inhalt. Wenn ein untergeordnetes Programm der Stufe m einen Zugriff zu einem Wort versucht, für welches die führenden m-Bits des Schutzfeldes nicht mit den führenden m-Bits im Schutzregister 610 übereinstimmen, liegt eine Sicherheitsverletzung vor, die eine Programmunterbrechung zur Folge hat.
Ein untergeordnetes Programm auf einer Ebene m kann nicht die Steuerung in beliebiger Weise an eine Stufe 1 abgeben, wobei :l<m ist. Das System stellt hingegen sicher, daß bei Abgabe !der Steuerung durch ein untergeordnetes Programm der Stufe m an ein Programm einer höheren Stufe das letztere Programm stets dasjenige sein muß, welches das betreffende Unterprogramm !aufgerufen hat, und daß dieses Programm noch auf der gleichen
'Stufe steht, die es einnahm, als der Aufruf erfolgt ist.
Im folgenden wird ein Beispiel erläutert, wie die hierin be- !schriebene Einrichtung durch Abänderung eines bekannten Dajtenverarbeitungssystems (z.B. IBM System/370) ausgeführt Iwerden kann. Es wird davon ausgegangen, daß die Datenfluß- !breite der bekannten Anlage 144 Bits beträgt, von denen 128
jDatenbits sind. Es sei weiter angenommen, daß von den NichtjDatenbits neun Bits für den Fehlerkorrekturcode benötigt werden, so daß sieben Bits für das Schutzfeld zur Realisierung der hierarchischen Sicherheitssteuerung zur Verfügung stehen.
!Zusätzlich zu den 144 Bits umfassenden Speicherplätzen ist ein Verbindungsstapel 605 erforderlich, der acht Register 620 bis 626 umfaßt, denen die Stufenwerte 0 bis 7 zugeordnet
809828/0649
YO 973 080
sind. Jedes Register des Verbindungsstapels enthält zwei j Felder: ein Stufenfeld, bestehend aus drei Bits, und ein !
Adressenfeld bestehend aus 24 Bits. In den Fign. 3A bis 3D j
ist der Stufenfeld-Teil dieser Register jeweils mit L ge- j kennzeichnet und der Adressenteil mit R. '
Das Register der Stufe O nimmt eine Sonderstellung ein: |
a) das Stufenfeld ist fest auf den Wert 000 eingestellt, j
b) die Bits der niedrigsten sieben Bitstellen im Adressen- i feld dienen als Schutzregister, '
c) die Bitstellen 5, 6 und 7 im Adressenfeld werden als Stufenregister benutzt.
Im folgenden werden die Funktionen von acht Befehlen erläutert, die von der in den Fign. 2A bis 2F dargestellten Einrichtung ausgeführt werden.
J1. Schutzschlüssel Laden
;Dieser Befehl gibt an, daß beginnend mit dem 16-Byte-Wort, das in einem Adressenfeld dieses Befehls angegeben wird, und mit allen sich unmittelbar anschließenden 16-Byte-Wörtern, deren Zahl durch ein Wortzählfeld im Befehl angegeben ist, die folgenden Operationen ausgeführt werden. Wenn die führenden η-Bits des Schutzfeldes und des Schutzregisters 610 übereinstimmen müssen, wobei η der Inhalt des Stufenregisters ist, wenn sich das System im Anwendungsprogramm-Zustand befindet, oder 0 ist, wird der Inhalt des Speicherfeldes ersetzt durch den Inhalt des Stufenregisters. Wenn sich das System im Uberwachungsszustand befindet, wird das Schutzfeld im Speicher durch den Inhalt des Schutzregisters 610 ersetzt. Es werden keine weiteren Prüfoperationen ausgeführt, außer der Prüfung der vorgenannten Obereinstimmung, die bei jedem Datenzugriff und jeder Speicheroperation erfolgt.
809828/0649
YO 973 080
Der Befehl ermöglicht es, daß das System einem Programm einen Teil des Speichers zuweist als Vorbereitung für den Aufruf eines Unterprogramm bzw. eines untergeordneten Programms, das nicht autorisiert ist zum Zugriff zu allen Daten des aufrufenden Programms. In diesem sogenannten Anwendungsprogramm-Status fordert das System, daß das betreffende Programm innerhalb der vorausgehend zugewiesenen Speichergrenzen bleibt, wozu eine Prüfung des Schutzfeldes im Bereich der höchsten Bits erfolgt. Wird hierbei eine Übereinstimmung gefunden, kann das Programm weitere Schutzbits für ein untergeordnetes Programm und damit eine höhere, d.h. zusätzliche Einschränkungen enthaltende Sicherheitsstufe angeben, indem η auf einen größeren Wert gebracht wird. Der Grund, daß der Stufenwert im Überwachungszustand 0 ist, trägt dem Umstand Rechnung, daß das System im Überwachungszustand in der Zuweisung von Speicherplatz zu den einzelnen Anwendungspprogrammen frei ist, was besonders für die anfängliche Speicherplatzzuweisung zu neu in das System aufzunehmenden Anwendungsprogrammen von Bedeutung ist. In dieser Situation wird keine Prüfung vorgenommen, ob der Inhalt eines Schutzfeldes mit dem Inhalt des Schutzregisters übereinstimmt, da zu diesem Zeitpunkt im Speicher noch keine zu schützenden IDaten enthalten sind.
Wenn die ausgewählte Anzahl Bits des Schutzfeldes nicht mit dem Inhalt des Schutzregisters übereinstimmen, wird keine
!Änderung Im Speicher vorgenommen und stattdessen eine Sicher-
;heitsverletzung des Typs 1 angezeigt. Damit unterbleibt für den bezeichneten Speicherbereich eine Zuweisung zu dem gegebenen Anwendungsprogramm.
2. Verbindung zu höherer Stufe ;
Dieser Befehl veranlaßt die folgenden Operationen: im Anwendungsprogramm-Zustand des Systems wird das Stufenfeld
809828/0649
YO 973 080
i auf das Vorhandensein des Wertes η geprüft, der zu diesem i Zeitpunkt im Stufenregister 608 enthalten ist. Wenn der zu ι überprüfende Wert größer ist, wird zunächst der laufende Wert im Stufenregister im Stufenfeld des I-ten Register des \ Verbindungsstapels 605 gespeichert, wobei I die Stufe ist, die in einem Stufenfeld des Befehls angegeben ist. Desweiteren wird der Inhalt des auf dem aktuellen Stand befindlichen Befehlszählers IC, der zu diesem Zeitpunkt die Rückverzweigungsadresse in die Befehlsfolge enthält, von der aus die Verbindung herzustellen ist, in das Adressenfeld des I-ten Registers im Verbindungsstapel übertragen. Der Befehlszähler IC wird daraufhin mit dem Inhalt des Feldes "Verzweigungsadresse" im Befehl geladen, und der Wert I aus dem Stufen- j feld dieses Befehls wird in das Stufenregister 608 übertragen. Hierdurch wird das System veranlaßt, die nachfolgenden Schritte unter der Steuerung einer höheren Sicherheitsstufe auszu- ι führen. Dies bedeutet, daß bei den folgenden Speicheraufrufen j eine erhöhte Anzahl Bits im Schutzfeld der Prüfung unter- I zogen werden. Hinzu kommt, daß das System vorbereitet wird, zum aufrufenden Programm zurückzuspringen nach Beendigung der vom untergeordneten Programm gesteuerten Operationen. \
Es sei nun der Fall betrachtet, daß der Inhalt des Stufenfeldes im Befehl gleich oder kleiner als der jeweils im Stufenregister 608 enthaltene Wert η ist. In diesem Falle liegt eine Sicherheitsverletzung vor, die das System zu einer Programmunterbrechung veranlaßt. Es handelt sich dabei um eine Sicherheitsverletzung des Typs 1, die eine Stufenverletzung meldet, d.h. den Versuch eines Programms auf einen Speicherbereich zuzugreifen, der einer Sicherheitsstufe angehört, für den das Programm keine Autorisierung besitzt. In diesem Falle wird ein Schutzfeldvergleich unterlassen.
809828/0649
YO 973 080
Wenn sich das System im Uberwachungszustand befindet, wird jdurch den Befehl "Verbindung zu höherer Stufe" lediglich der Inhalt des Stufenregisters 608 (Fig. 3B) ersetzt durch den Inhalt des Stufenfeldes im Befehl. Zusätzlich wird das Stufenfeld in I-ten Register des Verbindungsstapels 605 auf I eingestellt, das Befehlsfeld "Verzweigungsadresse" ersetzt den laufenden Inhalt des Befehlszählers IC, und es wird in den Anwendungsprogramm-Zustand übergegangen. Der Unterschied gegenüber dem oben erläuterten Fall besteht im folgenden: der Zweck des Befehls ist der Aufruf eines untergeordneten Programms (Anwendung), das unter einer höheren (zusätzlich eingeschränkten) Sicherheitsstufe läuft als das anrufende Programm. Der Verbindungsstapel 605 ist nicht zugänglich für Programme, die im Anwendungsprogramm-Status laufen, mit Ausnahme durch den Befehl "Verbindung zu höherer Stufe" und durch den Befehl "Rückverbindung", der nachfolgend beschrieben wird.
Im Uberwachungszustand hat der Befehl "Verbindung zu höherer Stufe" den Zweck,einem Anwendungsprogramm eine erhöhte Schutz-■ stufe zuzuweisen gegenüber der, die das Programm an sich erfordern würde. In dieser Weise kann das Uberwachungsprogramm !für sich selbst führende Bits im Schutzfeld für die eigene Benutzung bei der Ausführung von Speicherschutzoperationen zu reservieren.
Mit Hilfe der beiden Befehle "Verbindung zu höherer Stufe" und "Rückverbindung" ist es möglich, im Verbindungsstapel leine Verbindung zu untergeordneten Programmen einzustellen !und die Rückkehr zum entsprechenden anrufenden Programm auf dessen zur Zeit des Anrufes geltenden Sicherheitsstufe zu gewährleisten.
1 809828/0649
YO 973 080
3. Rückverbindung
Dieser Befehl dient zur Einleitung derjenigen Steueroperationen die notwendig sind, um das System von der laufenden Sicherheitsstufe zurückzustellen zur nächst niedrigeren Sicherheitsstufe, von wo der Aufruf für die laufende Stufe erfolgt ist. Zur Erläuterung dieser Operationen sei angenommen, daß der Wert η im Stufenregister 608 steht. Wenn der Inhalt k des Stufenfeldes im η-ten Register des Verbindungsstapels 605 kleiner als η ist, bedeutet dies, daß die laufende Befehlsfolge von einer niedrigeren Sicherheitsstufe k aufgerufen wurde. Das System ersetzt daher den Inhalt des Befehlszählers IC durch den Inhalt des Adressenfeldes des η-ten Registers im Verbindungsstapel, wodurch das System zum korrekten Platz in der Befehlsfolge des initierenden Programms zurückkehrt. Des weiteren wird der Inhalt k des Stufenteils im η-ten Register des Verbindungsstapels in das Stufenregister 608 gebracht, womit die korrekte Sicherheitsstufe des initierenden Programms wieder im Steuerregister steht, so daß das ursprüngliche Programm nun wieder die Steuerung des Systems übernehmen kann.
Wenn dagegen der Inhalt des Stufenteils im η-ten Register des Verbindungsstapel 605 gleich dem Inhalt des Stufenregisters 608 ist, liegt eine Sicherheitsverletzung vor und es erfolgt eine Programmunterbrechung. Eine derartige Situation würde auftreten, wenn ein Programm auf einer Stufe läuft, auf welcher ein Uberwachungszustand-Programm initiert worden ist, und in fehlerhafterweise einen Befehl "Rückverbindung" zur Wirkung bringt.
Eine weitere mögliche Bedingung, die während der Operation des Befehls "Rückverbindung" auftreten kann, besteht darin,
daß das Stufenfeld des η-ten Registers im Verbindungsstapel
! 809828/0649
YO 973 080
605 größer ist als der Inhalt des Stufenregisters. In diesem Falle wird eine Sicherheitsverletzung des Typs 3 festgestellt. Bin solcher Zustand kann normalerweise im System nicht auftreten und würde wahrscheinlich von einer fehlerhaften
!Initialisierung des Verbindungsstapels 605 durch ein im
pberwachungszustand laufendes Programm herrühren oder durch fehlerhaftes funktionieren der elektronischen Schaltungen.
Die Operation der Befehle "Verbindung zu höherer Stufe" und "Rückverbindung" können nicht zu einer solchen Bedingung
führen.
4. Schutzschlüssel Einsetzen
Dieser Befehl wird im Anwendungsprogramm-Zustand durch ein
anrufendes Programm dazu benutzt, die Schutzbits anzugeben, iie ein untergeordnetes Programm benutzen soll. Es werden
die folgenden Operationen ausgeführt: wenn η der Inhalt des Stufenregisters 608 ist, wird der Inhalt der niedrigen Bitstellen 7 - η des Schutzschlüssel-Feldes in diesem Befehl
Ln die entsprechenden Bitstellen des wirksamen Schutzregisters eingestellt.
Ss ist zu bemerken, daß die hochstelligen η-Bits der beiden Register normalerweise übereinstimmen werden; dies wird je-Joch nicht geprüft.
Tm Oberwachungsprogramm-Zustand werden alle sieben Bits des Schutzregisters 610 ersetzt, unabhängig vom Inhalt des Stufenregisters. Dies ermöglicht dem Uberwachungsprogramm den
Zustand eines Anwendungsprogramms festzuhalten, bevor die
Kontrolle auf dieses Programm übergeht.
809828/0649
YO 973 080
5. Stufenregister Speichern und
6. Schutzreglster-Inhalt Speichern
Diese Befehle dienen zur Speicherung des jeweiligen Inhalts des Stufenregisters 608 und des Schutzregisters 610, welches die obersten oder ersten Register im Verbindungsstapel 605 sind. Die Benutzung dieser Befehle wird nachfolgend erläutert. Beide Befehle werden im allgemeinen gemeinsam angewandt.
Unter der Vorraussetzung, daß der im Adressenfeld eines der beiden Befehle angegebene Speicherplatz zugänglich ist, wird der laufende Inhalt des Stufenregisters bzw. des Schutzregisterjs rechtsseitig ausgerichtet in diesen Speicherplatz übertragen. Wenn hingegen der Speicherplatz nicht zugänglich ist, so bedeutet dies, daß das Schutzfeld nicht mit dem Inhalt des Schutzregisters übereinstimmt und eine Unterbrechung aufgrund einer Sicherheitsverletzung des Typs 1 auftritt. J
Diese Befehle sind stets im Überwachungsprogramm-Zustand j wirksam, und sie sind im Problemprogramm-Zustand nur dann wirksam, wenn die führenden η-Bits des Schutzregisters mit den führenden η-Bits im Schutzfeld des Wortes übereinstimmen, in welchem die Einspeicherung vorgenommen werden soll.
7. Verbindungsstapel Laden
Besondere Befehle des Typs 7 und 8 sind vorgesehen, um das beschriebene System in einer Datenverarbeitungsanlage verwendbar zu machen, die im Vielfachprogramm-Betrieb arbeitet. Unter mehreren verschiedenen Anwendungsprogrammen kann jedes bei Bedarf das System und damit eine Hierarchie von Sicherheitsstufen benutzen. Die Befehle sind nur im Überwachungsprogramm-Zustand wirksam und sind, wie ersichtlich, notwendig,
YO 973 080
!um die Statusinformation für das jeweils laufende Programm j zu sichern, damit dieses in der Lage ist, nach einer Unterbrechung zu dem genauen Punkt des Aufrufes in der Programmibefehlsfolge zurückzukehren, nachdem es wieder in der zentralen Verarbeitungseinheit CPU zur Wirkung kommt, üblicherweise tragen BetriebsSteuerprogramme von sich aus der Notwendigkeit Rechnung, die Inhalte des Befehlsregisters, Be-
fehlszählers, usw. sicherzustellen. Zusätzlich ist es jedoch nötig, daß das System eine Kopie vom Inhalt des Verbindungsstapels zu einer Zeit herstellt, wenn ein gegebenes Anwendungsprogramm im Vielfachprogramm-Betrieb einem anderen Programm die zentrale Verarbeitungseinheit CPU überlassen muß. Zusätzlich ist es auch notwendig, den Verbindungsstapel wieder mit den zunächst abgespeicherten Informationen zu laden.
Der Befehl "Stufenregister-Inhalt Laden" enthält zwei signifikante Felder, nämlich den Operationscode, der die ausführende Operation angibt, und das Adressenfeld, das den Anfang eines acht Worte zu je vier Bytes umfassenden Speicherbereiches angibt, dessen Inhalt aus dem Speicher 602 zu entnehmen und in den Verbindungsstapel 605 zu laden ist. Hierbei
!wird aus jedem der jeweils 32 Bits umfassenden Wörter die Bits 5 bis 7 in den Stufenteil L des jeweiligen Verbindungsstapel-Registers 621 bis 627 und die Bits 8 bis 31 in den Adressenteil R dieser Register übertragen. Die Bits O bis 4 in jedem dieser Wörter bleiben unbeachtet.
8. Verbindungsstapel-Inhalt Speichern
Dieser Befehl bewirkt das Gegenteil des Befehls "Verbindungsstapel Laden"Y indem er den jeweiligen Inhalt des Verbindungsstapel 605 in einen Speicherbereich überträgt, dessen Beginn durch den Inhalt des Adressenfeldes des Befehls angegeben wird. Der Befehl verursacht somit, daß der Inhalt der acht
809828/0649 YO 973 080
i 2756152
: - 23 -
Verbindungsstapel-Register 620 bis 627 den Inhalt von acht aufeinanderfolgenden jeweils 4 Bytes umfassenden Wörtern im Speicher ersetzt, wobei der Beginn dieses Speicherbereichs durch die im Befehl enthaltene Adresse bestimmt wird. In jedem dieser Wörter werden die Bits 5 bis 7 durch den Inhalt des Stufenteils L und die Bits 8 bis 31 durch den Inhalt des Adressenteils R der Register 620 bis 627 ersetzt, wärend die Bits O bis 4 unverändert bleiben.
Die beiden Befehle "Verbindungsstapel Laden" und "Verbindungsstapel-Inhalt Speichern" gestatten somit eine Sicherstellung der im Verbindungsstapel 605 enthaltene Information zu einem gewünschten Zeitpunkt sowie die Reaktivierung dieser Information, sobald dies notwendig ist. Die Befehle werden nur im Uberwachungsprogramm-Zustand benötigt, wenn das System im Vielfachprogramm-Betrieb arbeitet.
Detaillierte Beschreibung des Ausführungsbeispiels
Im folgenden wird die Einrichtung der Fign. 2A bis 2F, 3A bis 3D, 4 und 5 beschrieben. Diese Beschreibung erfolgt in acht !Abschnitten, von denen jeder einem der vorausgehend erläuter- !ten Befehle zugeordnet ist, die schematisch in den Fign. 6A und 6B dargestellt sind. Im Anschluß an die genannten acht ■Abschnitte wird für jeden dieser Befehle eine Tabelle der einzelnen Operationsschritte angegeben. Die Tabellen dienen !zur Erleichterung des Verständnisses der nachfolgenden Beschreibung.
Teder der acht Sonderbefehle wird dann wirksam, wenn sich der Operationscode des Befehls im Befehlsregister IR befindet. Dieses Register besitzt drei Felder, von denen das Feld OP zur Aufnahme des Operationscodes dient. Die weiteren Felder
„_. 809828/0649
1YD 973 OÖO
A und B dienen zur Aufnahme von Adressen oder von anderen i
Daten, wie nachfolgend erläutert wird. Die drei Felder enti
!sprechen den drei Teilfeldern in der Darstellung der Formate ;der Befehle in den Figuren 6A und 6B. Der Befehlszähler IC wird durch die Befehlsausführungseinheit 601 in für sich bekannter Weise geladen, und sein Inhalt wird über eine ODER-Schaltung 198 inkrementiert. Der Hauptspeicher der Datenverarbeitungsanlage 602 ist in Fig. 2B dargestellt und wird :sowohl von der Befehlsausführungseinheit 601 in der üblichen Weise als auch von dem hierin beschriebenen Speicherschutz- !system benutzt.
Der Inhalt des Operationscode-Feld OP im Befehlsregister IR wird über ein Kabel 173 einem Decodierer 176 (Fig. 2C) zugeführt. Nachdem das Befehlsregister IR von der Befehlsausführungseinheit 601 geladen worden ist, erscheint ein Impuls (auf einer Leitung 154, die zu einem Tor 174 in Fig. 2C führt, an das die Ausgangsleitung des Decodierers 176 angeschlossen 'sind. Mit öffnen des Tors 174 wird somit eine der Leitungen I156, 158, 160, 162, 164, 166, 168 oder 276 wirksam, womit die Ausführung eines bestimmten Befehls eingeleitet wird.
Schutzschlüssel Laden
Die als erstes zu beschreibende Operationsfolge entspricht j dem Befehl "Schutzschlüssel Laden" und wird nachfolgend abgekürzt mit SPM. Diese Operationsfolge beginnt mit der Decodierung des Befehls im Decodierer 176, wodurch eine Impuls auf der Leitung 156 erscheint, der eine monostabile Kippschaltung 178 (Fig. 2E) einschaltet, die einen Impuls auf ; einer Leitung SPM-1 erzeugt, der über eine ODER-Schaltung 296 j auf einer Leitung 258 erscheint (Fig. 2F). Die Leitung 258
ist mit einer Torschaltung 259 verbunden (Fig. 2C), über die j
809828/0649 !
YO 973 080
der Inhalt des Feldes Ά Im Befehlsregister IR In ein Zwischenregister 61 übertragen wird. Die Leitung SPM-1 führt auch zu einem Tor 101, über welches von einem Kabel 102 der Inhalt des Feldes B des Befehlsregisters IR in einen Wortzähler 613 übertragen wird (Fig. 2D).
Wenn die monostabile Kippschaltung 178 in ihre Ruheposition zurückkehrt, gibt sie einen Ausgangsimpuls ab, der über eine ODER-Schaltung 180 einen Taktimpulsgenerator 182 in Tätigkeit setzt. Dieser Taktimpulsgenerator kann beispielsweise aus einer Kette von monostabilen Kippschaltungen bestehen, die selbsttätig nacheinander zur Wirkung kommen. Der Taktimpulsgenerator 182 erzeugt nacheinander Impulse auf den Leitungen SPM-2, SPM-3, SPM-4 und SPM-5. Die Leitung SPM-2 ist über eine ODER-Schaltung 298 (Fig. 2F) mit einer Leitung 260 verbunden, über die ein Tor 105 geöffnet wird, das den Inhalt des Zwischenregisters 612 in ein Speicheradreßregister SAR überträgt.
Die Leitung SPM-3 steht über einer ODER-Schaltung 300 mit einer Leitung 262 in Verbindung, die über eine ODER-Schaltung 184 an die Lese-Steuerleitung des Speichers 602 angeschlossen ist (Fig. 2B). Die Leitung SPM-4 führt zu einer Torschaltung 186, deren Eingang mit einem Kabel 108 verbunden ist, das an !den Ausgang des Schutzregisters 610 angeschlossen ist. über !die Torschaltung 186 wird der Inhalt dieses Registers in das JFeId E eines Speicherdatenregisters SDR übertragen.
Der Inhalt des Schutzfeldes E des Speicherdatenregisters SDR gelangt über ein Kabel 170 zur Schutzschaltung 604 in Fig. 2C j(und Fig. 4), und der Inhalt des Schutzregisters 610 gelangt über das Kabel 108 ebenfalls zur Schutzschaltung 604. Der im Decodierer 606 decodierte Wert aus dem Stufenregister 608 wird
YO 973 080
ebenfalls der Schutzschaltung 604 über Leitung 185 zugeführt. jWenn der im Stufenregister enthaltene Wert 0 ist, braucht keines der Bits im Schutzfeld E des Speicherdatenregisters JSDR mit den entsprechenden Bits im Schutzregister 610 übereinstimmen. Dies wird dadurch realisiert, daß die dem Stufenwert 0 zugeordnete Leitung innerhalb der Leitungen 185 direkt an den Eingang einer ODER-Schaltung 614 angeschlossen ist, 'die ein Ausgangssignal auf einer Leitung 106 erzeugt. Steht Jim Stufenregister 608 der Wert 1, muß das äußerste linke Bit
|im Schutzfeld mit dem äußersten linken Bit im Schutzregister
Ϊ610 übereinstimmen, bevor ein Ausgangssignal auf der Leitung j 106 auftritt. Steht im Stufenregister 608 der Wert 2, müssen
die beiden äußersten linken Bits des Schutzfeldes mit den beiden äußersten linken Bits im Schutzregister 610 übereinstimmen, bevor ein Ausgangssignal auf der Leitung 106 erscheint. Dies setzt sich fort bis zum maximalen Stufenwert 7. Steht im Stufenregister 608 der Wert 7, müssen alle Bits des Schutzfeldes mit den entsprechenden Bits im Schutzregister 610 übereinstimmen.
Es ist hieraus ersichtlich, daß die Zahl der Schutzbits, die für einen Vergleich mit dem Schutzschlüssel im Schutzregister 610 heranzuziehen ist, durch den Wert η im Stufenregister 608 bestimmt wird. Dieser Wert η hat somit die Funktion einer Maske, welche jeweils einen mehr oder weniger großen Stellenteil des Schutzschlüssels für den Schlüsselvergleich neutralisiert. Das Stufenregister 608 kann somit auch als Maskenregister bezeichnet werden.
Befindet sich die beschriebene Einrichtung im Uberwachungsprogramm-Zustand, wird der im Stufenregister 608 enthaltene Wert nicht beachtet. Dies geschieht unter Wirkung eines Signals auf der Leitung 118, das über eine ODER-Schaltung 157
809828/0649
YO 973 080
zur O-Leitung der Leitung 185 gelangt und diese signalführend I macht. Wenn sich daher die Einrichtung im überwachungsprograram-J Zustand befindet oder wenn der Inhalt des Stufenregisters 608 Null ist, können alle Bits im Schutzfeld geändert werden. Befindet sich dagegen das System nicht im Uberwachungsprogramm-Zustand/ geschieht folgendes: steht im Stufenregister 608 der Wert 1, kann die Einrichtung die sechs rechten Bits des Schutzfeldes ändern. Steht dort der Wert zwei, können sich die fünf rechten Bits des Schutzfeldes ändern. Steht im Stufenregister der Wert drei, kann sie die vier rechten Bits ändern, bei Vorliegen des Stufenwertes vier die rechten drei Bits, bei Vorliegen des Stufenwertes fünf die rechten zwei Bits und bei Vorliegen des Stufenwertes sechs nur das äußerste rechte Bit. Befindet sich der Stufenwert sieben im Register 6O8, so kann keines der Bits im Schutzfeld geändert werden. Hieraus ist ersichtlich, das der Wert im Stufenregister 608 jeweils maßgebend dafür ist, wieviele Bits des Schutzfeldes geprüft werden müssen, um für ein gegebenes Programm festzustellen, ob es sich um eine gültige Speicheroperation handelt. Die verbleibenden sieben bis η Bits können durch eine gegebene Sicherheitsstufe geändert werden, um die von dieser Stufe aufgerufene Steuerung einer höheren !Sicherheitstufe zu bewerkstelligen.
Die Leitung SPM-5 ist über eine ODER-Schaltung 196 mit einer Leitung 120 verbunden, die über ein ODER-Glied 188 (Fig. 2B) ein Speicher-Steuersignal an den Speicher 602 liefert. Die Leitung SPM-5 gelangt außerdem zu einem Tor 190 (Fig. 2D), das über einen Decodierer 614 zum Abtasten des Inhalts des Wortzählers 613 dient. Wenn der Wortzähler 613 lauter Nullen enthält, erscheint ein Impuls auf der Leitung 122, wenn dies nicht der Fall ist, auf der Leitung 124. Die Leitung 122 ist an einen Taktimpulsgenerator 192 angeschlossen (Fig. 2E), der
_____ 809828/0649
YO 973 080
Als nächstes werden die Operationen beschrieben, die bei der Ausführung des Befehls "Verbindung zu höherer Stufe" stattfinden .
- 28 - j
nacheinander Taktimpulse auf Leitungen SPM-7 und SPM-8 erzeugt.: Die Leitung 124 ist an eine monostabile Kippschaltung 194 angeschlossen, die einen Impuls auf einer Leitung SPM-6 erzeugt, : Idie über ein ODER-Glied 302 mit einer Leitung 264 in Verbin- ; dung steht. Die Leitung 264 ist mit einem Inkrement-Eingang j des als Zählregister ausgebildeten Zwischenregisters 612 ι ι !
verbunden, und der auf dieser Leitung auftretende Impuls ■ inkrementiert den Inhalt des Zwischenregisters 612. Der auf ' der Leitung SPM-6 auftretende Impuls dient ferner zur I Dekrementierung des Wertes im Wortzähler 613. Wenn die monostabile Kippschaltung 194 in ihren Ruhezustand zurückkehrt, wird ein Impuls erzeugt, der über die ODER-Schaltung 180 erneut den Taktimpulsgenerator 182 startet zur Erzeugung einer Impulsfolge auf den Leitungen SPM-2 bis SPM-5.
Der SPM-7 verläuft zu einem ODER-Glied 200 (Fig. 2E), dessen Ausgang an eine Leitung 126 angeschlossen ist, die ihrerseits über die ODER-Schaltung 198 dem Befehlszähler IC Inkrementsignale zuführt.
Die Leitung SPM-8 ist über die ODER-Schaltung 202 mit der Leitung 128 verbunden. Einer auf dieser Leitung erscheinender Impuls dient unter anderem als Anforderung für eine Befehlsentnahme durch die Befehlsausführungseinheit 601.
Verbindung zu höherer Stufe
809828/0649
I - 29 -
Nachdem der betreffende Befehl im Befehlsregister IR eingestellt worden ist, liefert der Decodierer 176 ein Ausgangssignal an die Torschaltung 174, die daraufhin ein Signal auf ihrer Ausgangsleitung 158 erzeugt, das eine monostabile Kippschaltung 242 (Fig. 2E) betätigt, die einen Impuls auf einer Leitung LLL-1 erzeugt.
Der Impuls auf der Leitung LLL-1 gelangt zu einer Torschaltung 304 (Fig. 2a), die zur Abtastung des Signalzustandes der Leitung 118 dient. Befindet sich die Leitung 118 im aktiven Zustand, so wird ein Impuls auf der Leitung 144 erzeugt. Ist die Leitung 118 dagegen inaktiv, erscheint ein Impuls auf der Leitung 126. Die Leitungen 144 und 146 führen zur Fig. 2F, wo ein Impuls auf der Leitung 144 einen Taktimpulsgenerator 244 startet, der nacheinander je einen Impuls auf die Leitungen LLL-7 bis LLL-10 erzeugt, und wo ein Impuls auf der Leitung 146 einen Taktimpulsgenerator 204 startet, der zunächst einen Impuls auf der Leitung LLL-2 und danach einen Impuls auf der Leitung LLL-3 erzeugt.
Die Leitung LLL-2 ist über eine UND-Schaltung 306 mit einer Leitung 266 verbunden, die zu einem Flip-Flop 615 (Fig. 3C) führt, der Teil des VerbindungsStapels 605 ist und durch einen Impuls auf der Leitung 266 in seinen Eins-Zustand gesetzt wird. Außerdem ist die Leitung LLL-2 mit einem Tor 616 gekoppelt, das den Inhalt des Feldes B im Befehlsregister IR über das Kabel 102 zum Vergleichregister VR1 überträgt. Der Impuls auf der Leitung 266 dient auch dazu, eine Torschaltung 267 zu öffnen, über die der Inhalt des Stufenregisters 608 über ein Kabel 130 in ein Vergleichsregister VR2 übertragen wird.
1 809828/0649
YO 973 080
Die Leitung LLL-3 führt zu einem Tor 206, das dazu dient, !den Zustand der Ausgangsleitungen eines Vergleichers 618 abzutasten, der mit den beiden Registern VR 1 und VR2 verbunden ist und deren Inhalte vergleicht. Wenn das Vergleichs-I register VR1 einen kleineren Wert als das Vergleichsregister VR2 oder den gleichen Wert wie dieses enthält, erscheint ein Impuls auf einer Leitung 132. Ist dies nicht der Fall, erscheint ein Impuls auf einer Leitung 134. Die Leitung 132 führt zu einem ODER-Glied 208, dessen Ausgang mit einer Leitung 136 verbunden ist, die der Befehlsausführungseinheit
!601 eine Sicherheitsverletzung des Typs 1 meldet.
'Die Leitung 134 ist an einen Taktimpulsgenerator 210 angeschlossen, der nacheinander je einen Impuls auf die Leitungen LLL-4, LLL-5 und LLL-6 erzeugt.
Die Leitung LLL-4 ist durch das ODER-Glied 308 mit einer Leitung 256 verbunden, die zu einem Tor 628 führt, das den Inhalt des Stufenregisters 608 über ein Kabel 130 und ein weiteres Kabel 254 sowie über Torschaltungen 631 bis 637 zu jeweils einem der Register 621-L bis 627-L überträgt. Die Leitung LLL-4 dient ferner dazu, ein Tor 629 zu öffnen und die Adresse auf dem Kabel 112 durch Tore 631 bis 637 in jeweils eines der Register 621-R bis 627-R zu übertragen.
Die Leitung LLL-5 ist über eine ODER-Schaltung 312 mit einer Leitung 268 verbunden, die zu einer Torschaltung 638 führt. Durch ein Signal auf der Leitung 268 wird der Inhalt des Feldes B im Befehlsregister IR über ein Kabel 102 in das Stufenregister 608 übertragen. Die Leitung LLL-5 ist über eine ODER-Schaltung 312 mit einer Leitung 270 verbunden, die in Fig. 2A ein Tor 271 betätigt, über welches der Inhalt des Feldes A im Befehlsregister IR über ein Kabel 100 in den
_ 809828/06A9
YO 973 080
; - 31 -
Befehlszähler IC übertragen wird.
Die Leitung LLL-6 ist über das ODER-Glied 202 mit der Leitung 128 verbunden, über die eine Befehlsentnahme durch die Befehlsausführungseinheit 601 angefordert wird.
Die Leitung LLL-7 ist über das ODER-Glied 310 mit der Leitung 268 verbunden, deren Steuerfunktion am Tor 638 bereits erläutert wurde.
Die Leitung LLL-9 ist über die ODER-Schaltung 312 mit der Leitung 270 verbunden, die wie beschrieben das Tor 271 steuert, um das Feld A des Befehlsregisters IR in den Befehlszähler IC zu übertragen. Ein Signal auf der Leitung LLL-9 bewirkt außerdem eine Einstellung der Befehlsausführungseinheit 6O1 in den Problemprogramm-Operationszustand.
Die Leitung LLL-10 ist über das ODER-Glied 202 mit der Leitung 128 verbunden, die wie beschrieben eine Befehlsentnahme idurch die Befehlsausführungseinheit 601 anfordert.
Rückverbindung
Der als nächstes zu beschreibende Befehl "Rückverbindung" löst nach seiner Einstellung im Befehlsregister IR und nach übertragung seines Feldes OP über das Kabel 173 zum Decodierer 176 einen Impuls auf der Leitung 160 aus, der einen Taktimpulsgenerator 214 startet, welcher nacheinander Impulse auf Leitungen LR-1 und LR-2 erzeugt.
Die Leitung LR-1 ist durch das ODER-Glied 306 mit der Leitung 266 verbunden, die wie bereits erläutert den Flip-Flop 615 in den Eins-Zustand bringt sowie den Inhalt des Stufenre-
809828/0649
YO 973 080
gisters 608 in das Vergleichsregister VR2 überträgt. Die Leitung LR-1 führt ferner zu einem Tor 115 (Fig. 2D), das im geöffneten Zustand das Ausgangskabel 114 des Verbindungsstapels 605 mit dem Vergleichsregister VR1 verbindet. Das Kabel 114 ist über Torschaltungen 640 bis 647 jeweils mit dem Ausgang der Register 620-L bis 627-L verbunden.
Ein Impuls auf der Leitung LR-2 öffnet ein Tor 316 zur Abtastung des Zustandes der Ausgangsleitungen des Vergleichers 618. Wenn der Inhalt des Vergleichsregisters VR1 gleich ist dem Inhalt des Vergleichsregisters VR2, erscheint ein Impuls auf einer Leitung 278, die zur Befehlsausführungseinheit 601 führt und dieser eine Sicherheitsverletzung des Typs 2 meldet. Wenn das Register VR1 einen Wert enthält, der größer ist als der im Register VR2, wird ein Signal auf einer Leitung 402 erzeugt, die ebenfalls mit der Befehlsausführungseinheit 601 verbunden ist und dieser eine Sicherheitsverletzung des Typs 3 meldet. Wenn das Register VR1 einen Wert enthält, der kleiner ist als der im Register VR2, er-
ischeint ein Impuls auf der Leitung 280, der einen Taktimpulsgenerator 314 startet, um eine Impulsfolge auf den Leitungen LR-3 bis LR-6 zu erzeugen.
Der Impuls auf der Leitung LR-3 öffnet ein Tor 121, das den Inhalt eines der Register 620-L bis 627-L über die zugeordnete Torschaltung 640 bis 647 und das Kabel 114 zum Zwischenregister 121 überträgt. Die Leitung LR-3 wird außerdem dazu benutzt, das Tor 117 zu öffnen, über das der Inhalt jeweils eines der Register 620-R bis 627-R über das entsprechende Tor 640 bis 647 und über das Kabel 116 in den Befehlszähler IC gelangt.
__ 809828/0649
YO 973 080
Im Verbindungsstapel 605 dient der Decodierer 665 zur Adressierung der Register 621-L bis 627-L, und der Decodierer
670 dient zur Adressierung der Register 621-R bis 627-R. Der Eingang des Decodierers 665 ist über ein Tor 666 mit dem Kabel 102 vom Feld B des Befehlsregisters IR sowie über ein Tor 667 mit dem Kabel 282 vom Wortzähler 613 verbunden. Der Eingang des Decodierers 670 ist über ein Tor 671 mit dem Kabel 130 vom Stufenregister 608 sowie über ein Tor 672 mit dem Kabel 282 vom Wortzähler 613 verbunden. Die Tore 666 und
671 werden vom Eins-Ausgang des Flip-Flop 615 gesteuert, und die Tore 667 und 672 werden vom Null-Ausgang des Flip-Flop 615 gesteuert.
Die Leitung LR-4 ist mit einem Tor 107 (Fig. 3B) verbunden, das den Inhalt des Zwischenregisters 612 über das Kabel 104 dem Stufenregister 608 zuführt.
Der Impuls auf der Leitung LR-5 gelangt über das ODER-Glied 200 auf die Leitung 226, die über die ODER-Schaltung 198 ein Inkrementsignal an den Befehlszähler IC liefert.
Der Impuls auf Leitung LR-6 gelangt über das ODER-Glied 202 zur Leitung 128, die eine Befehlsentnahme durch die Befehlsausführungseinheit 601 anfordert.
Schutzschlüssel Einsetzen
Der Befehl "Schutzschlüssel Einsetzen" betätigt die Schutzschlüssel-Einsetzschaltung 603 (Fig. 2D und 5). Die einzusetzenden Schutzschlüssel-Bits sind im Feld B des Befehlsregister IR enthalten, nachdem der Befehl im Befehlsregister geladen worden ist. Die Schutzschlüssel-Bits gelangen über das Kabel 102 zu Toren 216 bis 228, deren Ausgänge über ein Kabel 172 und ein Tor 649, das durch einen Impuls auf einer Leitung IP-1 geöffnet wird, in das Schutzregister 610 eingegeben. Ein weiterer Eingang der Schutzschlüssel-Einsatzschaltung 603 wird durch ein Kabel 4OO gebildet, dessen Adern mit
YO 973 080 809828/06 49
denjenigen Leitungen 185 (Fig. 2C) verbunden sind, die den Sicherheitsstufen O bis 6 zugeordnet sind. Diese Stufenbezeichnung ist auch im oberen Teil der Fig. 5 durch die dort eingetragene Nummerierung beibehalten worden. Sie bezeichnet den decodierten Wert, der im Stufenregister 608 enthalten ist.
Wenn die dem Stufenwert zugeordnete Ader des Kabels 400 signalführend ist, werden alle Tore 216 bis 228 geöffnet, so daß alle sieben Bits vom Kabel 102 an das Kabel 172 weitergeleitet werden. Wenn die dem Stufenwert 1 zugeordneten Adern des Kabels 400 signalführend sind, werden nur die Tore 218, 220, 222, 224, 226 und 228 geöffnet, so daß nur die rechten sechs Bits vom Kabel 102 dem Kabel 172 zugeführt werden. Wenn die dem Stufenwert 2 zugeordnete Ader des Kabels 400 signalführend ist, werden die Tore 220, 222, 224, 226 und 228 geöffnet und gestatten damit eine übertragung der rechten fünf Bits vom Kabel 102 zum Kabel 172. Wenn die dem Stufenwert 3 zugeordneten Adern des Kabels 400 signalführend sind, werden die Tore 222, 224, 226 und 228 geöffnet zur übertragung der rechten vier Bits vom Kabel 102 zum Kabel 172. Wenn die dem Stufenwert 4 zugeordneten Adern des Kabels 400 signalführend sind, werden die Tore 224, 226 und 228 ge-Iöffnet und ermöglichen die übertragung der drei rechtsseitigen
!Bits vom Kabel 102 zum Kabel 172. Wenn die dem Stufenwert 5
zugeordneten Adern des Kabels 400 signalführend sind, werden die Tore 226 und 228 geöffnet, die eine übertragung der zwei rechtsseitigen Bits vom Kabel 102 zum Kabel 172 gestatten. Wenn die dem Stufenwert 6 zugeordnete Ader des Kabels 400 signalführend ist, wird lediglich das Tor 228 geöffnet, das eine übertragung des äußersten rechten Bits vom Kabel 102 zum Kabel 172 zuläßt. Zur Zuführung der Impulse von den Adern des Kabels 400 zu den Toren 218, 220, 222, 224, 226 und 228 dienen ODER-Glieder 650, 651, 652, 653, 654 und 655. Der Ausgang des ODER-Gliedes 650 ist mit dem Steuereingang des Tores 218 verbunden, der Ausgang des ODER-Gliedes 651 mit dem Steuereingang des Tores 220, der Ausgang des
Y0 973 08° 8 0 9 8 2 8 / 0 6 A 9
ODER-Gliedes 652 mit dem Steuereingang des Tores 222, der Ausgang des ODER-Gliedes 653 mit dem Steuereingang des Tores 224, der Ausgang des ODER-Gliedes 654 mit dem Steuereingang des Tores 226 und der Ausgang des ODER-Gliedes 655 mit dem Steuereingang des Tores 228.
Die Operationen zur Ausführung des Befehls "Schutzschlüssel Einsetzen" beginnen mit einem Impuls auf einer Leitung 162 am Ausgang des Tores 174 in Fig. 2C. Dieser Impuls startet einen Taktimpulsgenerator 23O, der nacheinander je einen Impuls auf den Leitungen IP-1, IP-2, IP-3 erzeugt. Der Impuls auf Leitung IP-1 dient zum öffnen des Tores 649, um das Kabel 172 mit dem Eingang des Schutzregisters 610 zu verbinden. Wie oben bereits erläutert, kommt das Kabel 172 von der Schutzschlüssel-Einsetzschaltung 603. Der Impuls auf der Leitung IP-2 gelangt über das ODER-Glied 200 zur Leitung 126 und über diese zum Befehlszähler IC, um dessen Inhalt zu inkrementieren.
Der Impuls auf der Leitung IP-3 wird über das ODER-Glied 202 der Leitung 128 zugeführt und fordert in der Befehlsausführungseinheit 601 eine Befehlsentnahme aus dem Speicher 6O2A.
Stufe Speichern
Der Befehl "Stufe Speichern" bewirkt nach Einstellung im Befehlsregister IR über den Decodierer 176, daß auf der Ausigangsleitung 164 der Torschaltung 174 ein Impuls erscheint, jder einen Taktimpulsgenerator 232 (Fig. 2E) startet, der nacheinander jeweils einen Impuls auf den Leitungen SL-1 bis jSL-3 erzeugt.
per Impuls auf der Leitung SL-1 gelangt über das ODER-Glied 234 zur Leitung 142 und über diese zu einem Tor 143, das dadurch geöffnet wird und über das Kabel 100 den Inhalt des JFeldes A im Befehlsregister IR in das Speicheradreßregister !SAR überträgt.
YO 973 080 8 0 9 8 2 8 / 0 6 A 9
Der Impuls auf Leitung SL-2 gelangt über das ODER-Glied 3OO zur Leitung 262 und über diese und über die ODER-Schaltung 184 zur Lesen-Steuerleitung des Speichers 602.
Der Impuls auf der Leitung SL-3 wird einem Tor 412 (Fig. 2F) zugeführt, um den Zustand der Leitung 106 zu prüfen. Wenn die Leitung 106 signalführend ist, erscheint ein Impuls auf der Leitung 404, der den Taktimpulsgenerator 416 in Tätigkeit setzt, welcher daraufhin eine Folge von Impulsen auf den Leitungen SL-4 bis SL-7 erzeugt. Wenn die Leitung 106 nicht signalführend ist, wird ein Impuls auf einer Leitung 406 erzeugt, der über das ODER-Glied 208 zur Leitung 136 gelangt und der Befehlsausführungseinheit 601 eine Sicherheitsverletzung des Typs 1 meldet.
Der Impuls auf der Leitung SL-4 öffnet ein Tor 131 (Fig. 2B),
I durch das über das Kabel 130 der Inhalt des Stufenregisters
I608 zum Feld D des Speicherdatenregisters SDR übertragen j wird.
Der Impuls auf der Leitung SL-5 gelangt durch das ODER-Glied 196 zur Leitung 120 und über diese sowie über das ODER-Glied 188 zur Speichern-Steuerleitung des Speichers 602.
Der Impuls auf der Leitung SL-6 wird über das ODER-Glied 200 der Leitung 126 zugeführt und läuft über diese und über das ODER-Glied 198 zum Befehlszähler IC, um diesen zu inkrementleren. Der Impuls auf der Leitung SL-7 fordert über das ODER-Glied 202 und die Leitung 128 eine Befehlsentnahme durch die Befehlsausführungseinheit 601 an.
YO 973 080 80 98 28 /06 k 9
Schutzschlüssel Speichern
Der Befehl "Schutzschlüssel Speichern" löst nach seiner Einstellung im Befehlsregister IR über den Decodierer 176 ein Signal auf der Ausgangsleitung 166 des Tores 174 aus. Die Leitung 166 startet einen Impulsgenerator 401, der eine Impulsfolge auf Leitungen SPR-1 bis SPR-3 erzeugt. Der Impuls auf der Leitung SPR-1 gelangt über die ODER-Schaltung 234 zur Leitung 142 und über diese zur Torschaltung 143, die das Kabel 100 mit dem Speicheradreßregister SAR verbindet. Das Kabel 100 ist, wie bereits erläutert, mit dem Feld A des Befehlsregisters IR verbunden.
Der Impuls auf der Leitung SPR-2 gelangt über das ODER-Glied 300 zur Leitung 262 und über diese ODER-Glieder 184 zum Lesen-Steuersignaleingang des Speichers 602.
Der Impuls auf Leitung SPR-3 wird einem Tor 414 zugeführt, das den Zustand der Leitung 106 abtastet. Wenn diese Leitung signalführend ist, erscheint ein Impuls auf der Leitung 408, der den Taktimpulsgenerator 418 startet, welcher eine Serie von Impulsen auf den Leitungen SPR-4 bis SPR-7 erzeugt. Ist dagegen die Leitung 106 nicht signalführend, erscheint ein Impuls auf einer Leitung 410, die über ein ODER-Glied 208 mit einer Leitung 136 verbunden ist. Ein Impuls auf dieser Leitung zeigt eine Sicherheitsverletzung des Typs 1 an.
Der Impuls auf der Leitung SPR-4 dient dazu, den Inhalt des Schutzregisters 610 über eine Sammelleitung 108 zum Feld E des Speicherdatenregisters SDR über das Tor 186 zu übertragen.
Der Impuls auf der Leitung SPR-5 gelangt über das ODER-Glied 196 zur Leitung 120 und auf dieser durch das ODER-Glied 188
YO 973 080 809828/0649
zur Speichern-Steuersignalleitung des Speichers 602.
Der Impuls auf der Leitung SPR-6 gelangt über das ODER-Glied 200 zur Leitung 126 und über diese sowie ein ODER-Glied 189 zum Befehlszähler IR, um diesen zu inkrementieren.
Der Impuls auf Leitung SPR-7 wird durch das ODER-Glied 202 und die Leitung 128 zur Befehlsausführungseinheit 601 übertragen und fordert dort eine Befehlsentnahme an.
Verbindungsstapel Laden
Der nächste zu beschreibende Befehl dient zum Laden des Verbindungsstapels 605. Dieser Befehl wird ausgelöst durch einen Impuls auf der Leitung 168 am Ausgang des Tors 174 als Folge eines Ausgangssignals des Decodierers 176. Die Leitung 168 erstreckt sich zu Fig. 2E und betätigt dort leine monostabile Kippschaltung 318, die einen Impuls auf jeiner Leitung LLS-1 erzeugt. Diese Leitung führt zu einem Tor 138, das zur Abtastung des Signalzustandes auf der Leitung 118 dient. Wenn diese Leitung signalführend ist, erscheint ein Impuls auf einer Leitung 250, im anderen Falle auf einer Leitung 248.
Ein Signal auf der Leitung 248 gelangt über das ODER-Glied 208 zur Leitung 136 und dient als Anzeige einer Sicherheitsverletzung des Typs 1. Ein Signal auf der Leitung 250 betätigt eine monostabile Kippschaltung 320, die einen Impuls auf einer Leitung LLS-2 erzeugt.
Der Impuls auf der Leitung LLS-2 gelangt über das ODER-Glied 342 zur Leitung 272 und dient zur Rückstellung des Wortzählers 613 auf Null. Außerdem gelangt der Impuls auf Lei-
YO 973 080 80 98 2 8/06 A 9
tung LLS-2 über das ODER-Glied 296 zur Leitung 258 und öffnet das Tor 259, um das Feld A des Befehlsregisters IR In das Zwischenregister 612 zu übertragen. Der auf der Leitung LLS-2 über das ODER-Glied 342 der Leitung 272 zugeführte Impuls dient ferner zur Rückstellung des Flip-Flops 615.
Beim Übergang der monostabilen Kippschaltung 320 in ihren Ruhezustand wird ein Impuls auf einer Leitung LLS-2 erzeugt, der über die ODER-Schaltung 322 zu einem Taktsignalgenerator 324 geleitet wird und diesen zur Abgabe einer Serie von Impulsen auf Leitungen LLS-3 bis LLS-7 veranlaßt.
Der Impuls auf Leitung LLS-3 gelangt über das ODER-Glied 298 zur Leitung 260 und über diese zum Tor 105, das den Inhalt des Zwischenregisters 612 über das Kabel 104 zum Speicheradreßregister SAR überträgt.
Der Impuls auf der Leitung LLS-4 läuft durch das ODER-Glied 3OO zur Leitung 262 und über diese sowie über das ODER-Glied 184 zum Lesen-Steuersignaleingang des Speichers 602.
Der Impuls auf der Leitung LLS-5 wird im Schaltungsteil von Fig. 3A wirksam, indem er das Tor 285 öffnet, um das Feld C des Speicherdatenregisters SDR über das Kabel 284 der linken I Seite (Register 621-L bis 627-L) des Verbindungsstapels 605 !zuzuführen. Der Impuls auf Leitung LLS-5 öffnet ferner ein Tor 658, das die Felder C, D und E des Speicherdatenregisters SDR zur rechten Seite (Register 621-R bis 627-R) des Verbindungsstapels 605 über das Kabel 286 und 112 überträgt.
Der Impuls auf Leitung LLS-6 gelangt über die ODER-Schaltung 344 zur Leitung 274, um den Wortzähler 613 zu inkrementieren,
to 9T3 080 809828 /06 A9
sowie über das ODER-Glied 302 zur Leitung 264, um das Zwischenregister 612 zu inkrementieren.
Der Impuls auf Leitung LLS-7 wird dazu benutzt, den Inhalt des Wortzählers 613 über das Tor 191 abzutasten. Wenn der Wortzähler-Inhalt den Wert 00—01000 enthält, erscheint ein Impuls auf der Leitung 290, im anderen Falle auf der Leitung 288. Ein Impuls auf dieser Leitung startet erneut den Taktimpulsgenerator CPG 324. Ein Impuls auf der Leitung startet hingegen einen Taktimpulsgenerator CPG 326, der eine Folge von Impulsen auf Leitungen LLS-8 und LLS-9 erzeugt.
Der Impuls auf der Leitung LLS-8 gelangt über das ODER-Glied 200, die Leitung 126 und das ODER-Glied 198 zum Befehlszähler IC, um diesen zu inkrementieren.
Der Impuls auf der Leitung LLS-9 gelangt über das ODER-Glied 202 und die Leitung 128 zur Befehlsausführungseinheit 601 und fordert diese zu einer Befehlsentnahme auf.
Verbindungsstapel-Inhalt Speichern
iDie Operationsfolge, die zur Ausführung des Befehls "Ver-
bindungsstapel-Inhalt Speichern" wirksam wird, beginnt mit einem Impuls auf der Leitung 276 am Ausgang des Tores 174 als Folge eines Ausgangssignals des Decodierers 176. Die Leitung 276 benötigt eine monostabile Kippschaltung 328, die ein Signal auf einer Leitung SLS-1 erzeugt. Der Impuls auf der Leitung SLS-1 gelangt zum Tor 340 (Fig. 2A), das zur Abtastung des Signalzustandes auf der Leitung 118 dient. Wenn diese Leitung signalführend ist, erscheint ein Impuls auf einer Leitung 254, im anderen Falle auf einer Leitung 252. Die letztere Leitung ist über ein ODER-Glied 208 mit der
YO "9T3 ö8ö
098 2 g/o 64 9
Leitung 136 verbunden, über die eine Sicherheitsverletzung des Typs 1 gemeldet wird. Die Leitung 254 führt zu einer monostabilen Kippschaltung 330, die bei Betätigung durch ein vom Tor 340 abgegebenes Ausgangssignal auf der Leitung SLS-2 einen Impuls erzeugt.
Der Impuls auf der Leitung SLS-2 gelangt über die ODER-Schaltung 342 zur Leitung 272 und über diese zum Wortzähler 613, um diesen auf Null zurückzustellen. Ein Impuls auf der Leitung 272 dient außerdem zur Rückstellung des Flip-Flops 615 (Fig. 3C). Der Impuls auf der Leitung SLS-2 gelangt ferner über das ODER-Glied 296 und die Leitung 258 zum Tor 259 und öffnet dieses für eine übertragung des Feldes A im Befehlsregister IR über das Kabel 100 zum Zwischenregister 612.
Wenn die monostabile Kippschaltung 330 in ihren Ruhezustand zurückkehrt, wird ein Impuls an ihrem Ausgang erzeugt, der durch das ODER-Glied 332 als Startimpuls zum Taktimpulsgenera- ; tor CPG 334 gelangt, welcher eine Serie von Impulsen auf den Leitungen SLS-3 bis SLS-6 erzeugt.
Der Impuls auf der Leitung SLS-3 öffnet über das ODER-Glied 298 und die Leitung 26O das Tor 105, um den Inhalt des Zwischenregisters 612 zum Speicheradreßregister SAR zu übertragen. Der Impuls von Leitung SLS-3 öffnet außerdem das Tor 119, über das der Inhalt eines der Register 620-L bis 627-L in das Feld C des SpeicherdatenregistersSDR übertragen wird, sowie das Tor 113, über welches der Inhalt aus einem Üer Register 620-R bis 627-R in die Felder C1, D, E des !Speicherdatenregisters SDR übertragen wird.
JDer Impuls auf der Leitung SLS-4 gelangt über das ODER-Glied
196, die Leitung 120 und das ODER-Glied 188 zur Speicher-
YO 973 080 809828/0649
- 42 !Steuerleitung des Speichers 602.
Der Impuls auf der Leitung SLS-5 inkrementiert über das ODER-Glied 344 und die Leitung 274 den Wortzähler 613 sowie über das ODER-Glied 302 und die Leitung 264 das Zwischenregister 612.
Der Impuls auf der Leitung SLS-6 dient zur Abtastung des Inhalts des Wortzählers 613 durch das Tor 193 (Fig. 2D). Wenn der Wortzähler 614 den Wert 00—01000 enthält, erscheint ein Impuls auf der Leitung 294. Ist dies nicht der Fall wird ein Impuls auf der Leitung 292 erzeugt, der über das ODER-Glied 322 den Taktimpulsgenerator 324 startet. Der Impuls auf der Leitung 294 betätigt den Taktimpulsgenerator 396 zur Erzeugung einer Impulsfolge auf Leitungen SLS-7 und SLS-8.
Der Impuls auf der Leitung SLS-7 gelangt über das ODER-Glied 200, die Leitung 126 und das ODER-Glied 198 zum Befehlszähler :IC, um diesen zu inkrementieren.
I Der Impuls auf der Leitung SLS-8 gelangt über das ODER-Glied ι
202 und die Leitung 128 zur Befehlsausführungseinheit 601 und
fordert diese zu einer Befehlsentnahme auf. Datenentnahme Prüfen
Die als nächste zu beschreibende Operation betrifft die Prüfung des Schutzfeldes im Speicherdatenregister SDR, wenn eine Datenentnahme stattfindet. Nach dem die Befehlsausführungseinheit eine Datenentnahme veranlaßt hat, befinden sich die Daten im Speicherdatenregister SDR. Die Befehlsausführungseinheit 601 erzeugt einen Impuls auf der Leitung 148, der zum Tor 242 gelangt, um den Signalzustand auf der Lei-
YO 973 080 809828/06 A 9
tung 106 abzutasten. Ist diese Leitung signalführend, erscheint ein Impuls auf der Leitung 150, im anderen Falle auf der Leitung 152. Der Impuls auf der Leitung 150 zeigt der Befehlsausführungseinheit 601 an, daß die Speicherentnahme korrekt ist, wogegen ein Impuls auf der Leitung 152 über das ODER-Glied 208 und die Leitung 136 eine Sicherheitsverletzung des Typs 1 zur Anzeige bringt.
Prüfen der Dateneinspeicherung
Die als letztes zu beschreibende Operation besteht in der Prüfung des Schutzfeldes im Speicherdatenregister SDR, wenn eine Dateneinspeicherung stattfindet. Bei einer Dateneinspeicherung führt die Befehsausführungseinheit 601 zunächst einen Zugriff zum betreffenden Speicherwort aus, um das Schutzfeld in das Speicherdatenregister SDR zu bringen. Nachdem dies geschehen ist, erzeugt die Befehlsausführungseinheit 601 einen Impuls auf der Leitung 246, der das Tor 346 (Fig. 2F) betätigt zur Abtastung des Signalzustandes der Leitung 106. (Die Leitung 106 ist signalführend, wenn die Schutzschaltung 604 eine Übereinstimmung zwischen dem Inhalt des Schutzregisters 610 und des Schutzfeldes in dem der jeweils wirksamen Sicherheitsstufe entsprechenden Stellenbereich feststellt . Die Zahl der verglichenen Stellen wird dabei vom Inhalt des Stufenregisters 608 bestimmt). Wenn die Leitung 106 signalführend ist, erscheint ein Impuls auf der Leitung 256, im anderen Falle auf der Leitung 258. Die Leitung 256 ist mit der Befehlsausführungseinheit 601 verbunden. Ein Befehl auf dieser Leitung meldet der Befehlsausführungseinheit 601, daß der beabsichtigte Speicherzugriff zulässig ist. Der Impuls auf der Leitung 258 gelangt über das ODER-Glied 208 und die Leitung 136 zur Befehlsausführungseinheit 601 und meldet dieser eine Sicherheitsverletzung des Typs 1.
i YO 973 080 - -- so9828/06Ä9
Bei den oben erläuterten Operationen "Speieherentnahme Prüfen" und "Einspeicherung prüfen" enthält das Stufenregister 608 eine Stufenbezeichnung, zu welcher das laufende Programm Übereinstimmung mit dem in Tätigkeit zu setzenden Programm aufweisen muß und wobei auch das tatsächliche Schutzfeld im Bereich der für das betreffende Programm ausgewählten Stellen mit dem Schutzfeld des Speicherplatzes übereinstimmen muß, auf den sich der Speicherzugriff für eine Leseoperation oder eine Schreiboperation richtet. Die Binärwerte in den Registern 608 und 610 werden über Kabel 130 und 108 der Schutzschaltung von Fig. 4 zugeführt. Hierbei ist das Kabel 130 über den Decodierer 606 geführt, dessen Ausgangssignale über die Leitungen 185 zur Schutzschaltung 604 gelangen. Der Schutzschaltung 604 wird außerdem aus dem Speicherdatenregister SDR das dem Speicher entnommene Schutzfeld über das Kabel 170 zugeführt. Die Bits dieses Schutzfelds werden in der Schaltung 604 mit dem Inhalt des Schutzregisters 610 verglichen. Dies geschieht durch Exklusiv-ODER-Glieder 660 mit nachgeschalteten Invertern 661. Die Ausgänge der Inverterschaltung 661 sind an die bereits erläuterten UND-Glieder 662 angeschlossen, von denen jeweils ein weiterer Eingang mit einer der Stufenleitungen 1 bis 7 der Leitungen 185 in Verbindung steht. Durch die Leitungen 185 wird somit das Vergleichsergebnis auf diejenigen Bitstellen des Registers 610 beschränkt, die der jeweils wirksamen Stufe 0 bis 7 entsprechen. Im Falle der Stufe 0 bleibt das Vergleichsergebnis ohne Einfluß, da unter der Wirkung des Impulses auf der Stufenleitung 0 über das ODER-Glied 614 in jedem Falle ein Impuls auf der Ausgangsleitung 106 der Schutzschaltung 604 erzeugt wird. Bei Wirksamkeit der Sicherheitsstufe 7 wird durch ein Signal auf der Stufenleitung 7 der Leitungen 185 die UND-Schaltung 663 für eine Signalabgabe vorbereitet, so daß die Vergleichssignale aller Exklusiv-ODER-Schaltungen 660 und damit aller Bitstellen
οδό 80 98 28/06 A 9
des Schutzregisters 610 in die Schutzschlüssel-Prüfung einbezogen werden. Die Schutzschlüssel-Prüfung wird bei jedem Speicherzugriff, d.h. bei jeder Speicherentnahme und bei jeder Einspeicherung in der beschriebenen Form wirksam.
Operationsfolgenliste Schutzschlüssel Laden (SPM)
SPM-1 Feld A des Befehlsregisters IR nach Zwischenregister Feld B des Befehlsregister IR nach Wortzähler
-> SPM-2
SPM-2 Inhalt des Zwischenregisters 613 nach SAR
-> SPM-3
SPH-3 Lesen-Steuersignal am Speicher
-> SPM-4
SPil-4 Schutzregister 610 nach Feld E von SDR, wenn im Uberwachungsprogramm-Zustand oder Schutzschaltung stimmt überein
-> SPM-5
SPM-5 Speichern-Steuersignal an Speicher Wortzählerinhalt = 00—00?
Nein -> SPM-6 Ja -> SPM-7
jSPM-6 Inhalt von Zwischenregister inkrementieren Wortzählerinhalt dekrementieren
_> SPM-2
YO 973 080 809 8 2 8/0 6 4
,SPM-7 Befehlszähler IR inkrementieren
-> SPM-8
SPM-8 Befehlsentnahme anfordern
Verbindung zu höherer Stufe
LLL-1 Ist Leitung 118 aktiv?
nein ->LLL-2 (nicht im Uberwachungsprogramm-Zustand)
ja ->LLL-7 (im Überwachungsprogramm-Zustand)
LLL-2 Flip-Flop 615 auf "1" setzen,
Feld B des Befehlsregisters IR nach Vergleichsregister VR1,
Inhalt von Stufenregister 608 nach Vergleichsregister VR2
-> LLL-3
LLL-3 Ist Vergleichsregister VR1 <_ Vergleichsregister VR2
ja -> Sicherheitsverletzung Typ 1 anzeigen nein -> LLL-4
LLL-4 Inhalt von Stufenregister 608 nach ausgewähltem Register 621-L bis 627-L
Befehlsregisterinhalt nach ausgewähltem Register 621-R bis 627-R
-> LLL-5
LLL-5 Feld B als Befehlsregister IR nach Stufenregister 608, Feld A als Befehlsregister nach Befehlszähler IC
-> LLL-6
yo 973 O8o 80 9828/064 9
- 47 LLL-6 Befehlsentnahme anfordern
LLL-7 Feld B als Befehlsregister IR nach Stufenregister
-> LLL-8
LLL-8 Stufenregister 608 nach ausgewähltem Verbindungsstapel-Register 621-L bis 627-L
-> LLL-9
LLL-9 Feld A von IR nach IC, Befehlsausführungseinheit auf Anwendungsprogramm-Zustand setzen
-> LLL-10
LLL-10 Befehlsentnahme anfordern Rückverbindung (LR)
LR-1 Flip-Flop 615 "1", Inhalt vom Stufenregister 608 nach Register VR2, Inhalt vom ausgewählten Register 621-L bis 627-L nach Register VR1
-> LR-2
LR-2 Vergleichsresultat abtasten: Register VR1 < Register VR2 -> LR-3 Register VR2 ■ Register VR2 -> Sicherheitsverletzung
Typ 2 anzeigen Register VR1 > Register VR2 -> Sicherheitsverletzung
Typ 3 anzeigen
YO 973 080
LR-3 Inhalt von ausgewähltem Register 621-L bis 627-L nach Zwischenregister 612, Inhalt von ausgewähltem Register 621-R bis 627-R nach Befehlszähler IC
-> LR-4
LR-4 Inhalt als Zwischenregister nach Stufenregister
-> LR-5
LR-5 Befehlszähler inkrementieren
-> LR-6
LR-6 Befehlsentnahme anfordern
Schutzschlüssel Einsetzen (IP)
IP-1 Resultatwert oder Schutzschlüssel-Einsetzen-Schaltung j nach Schutzregister
-> IP-2
IP-2 Befehlszähler IC inkrementieren
-> IP-3
IP-3 Befehlsentnahme anfordern Stufe Speichern (SL)
SL-1 Feld A von IR nach SAR
-> SL-2
SL-2 Lesen-Steuersignal an Speicher
-> SL-3
YO 973 080
SL-3 Schutzschlüssel-Prüfergebnis abtasten (Leitung 106): Leitung 106 aktiv ->SL-4 Leitung nicht aktiv -> Sicherheitsverletzung Typ 1 ;
anzeigen
SL-4 Inhalt von Stufenregister nach Feld D von SDR
- > SL-5
SL-5 Speichern-Steuersignal an Speicher
■♦ SL-6
SL-6 Befehlszählerinhalt inkrementieren
-> SL-7
SL-7 Befehlsentnahme anfordern
Schutzschlüssel Speichern (SPR)
SPR-1 Feld A von Befehlsregister IR nach SAR j
-> SPR-2
SPR-2 Lesen-Steuersignal an Speicher
-> SPR-3
SPR-3 Schutzschlüssel-Prüfergebnis abtasten (Leitung 106): Leitung 106 aktiv -> SPR-4 Leitung 106 nicht aktiv -> Sicherheitsverletzung
Typ 1 anzeigen
£pR-4 Inhalt von Schutzregister nach Feld E von SDR
ί -> SPR-5
SPR-5 Speichern-Steuersignal an Speicher
-> SPR-6
Yo 973 O8O 8 0 9 8 2 8 /O 6 4
:SPR-6 Befehlszähler inkrementieren
-> SPR-7
SPR-7 Befehlsentnahme anfordern
Verbindungsstapel Laden (LLS)
LLS-1 Ist Leitung 118 aktiv?
nein -> Sicherheitsverletzung Typ 1 anzeigen ja ->LLS-2
LLS-2 Wertzähler auf 00—OO zurückstellen, Feld A von IR nach Zwischenregister 612, Flip-Flop 615 rückstellen auf
->LLS-3
LLS-3 Zwischenregister 612 nach SAR
->LLS-4
LLS-4 Lesen-Steuersignal an Speicher
->LLS-5
LLS-5 Feld C von SDR nach Register 621-L bis 627-L, Felder C, D und E von SDR nach Register 621-R bis
627-R ->LLS-6
LLS-6 Werzählerinhalt inkrementieren,
Zwischenregisterinhalt inkrementieren ->LLS-7
LLS-7 Ist Wertzählerinhalt = O—01000? nein -> LLS-3 ja -> LLS-8
973 08° 809828/0649
LLS-8 Befehlszählerinhalt inkrementleren j
->LLS-9
LLS-9 Befehlsentnahme anfordern Verbindungsstapel-Inhalt Speichern (SLS) SLS-1 Ist Leitung 118 aktiv?
nein -> Sicherheitsverletzung Typ ja -> SLS-2
SLS-2 Wertzähler rückstellen auf OO—OO, Flip-Flop rückstellen auf 0, Feld A von IR nach Zwischenregister -> SLS-3
SLS-3 Inhalt des Zwischenregisters 612 nach SAR, ;
Inhalt von adressiertem Register 621-L bis 627-L nach Feld C von SDR, j
Inhalt von adressiertem Register 621-R bis 627-R in die Felder C, D und E von SDR -> SLS-4
SLS-4 Speichern-Steuersignal an Speicher
-> SLS-5
ιSLS-5 Wertzählerinhalt inkrementieren, , Zwischenregisterinhalt inkrementieren
j -> SLS-6
! SLS-6 Ist Wertzählerinhalt ■ 00—1000? nein -> SLS-3 ja -> SLS-7
YO 973 080 809828/0649
SLS-7 Befehlszählerinhalt inkrementieren
-> SLS-8
SLS-8 Befehlsentnahme anfordern
Speicherentnahmeprüfung (CDF)
Impuls auf
Leitung 148
Impuls auf
Leitung 246
Ist Leitung 106 aktiv?
ja ->Daten-Korrekt-Signal an Befehls-Aus-
führungs-Einheit nein ->Sicherheitsverletzung Typ 1 anzeigen
Einspeicherprüfung (CDS)
Ist Leitung 106 aktiv?
ja ->Korrekt-Signal an Speicher
nein ->Sicherheitsverletzung Typ 1 anzeigen.
YO 973 080
8ΓθΓ 9 82 8 I O 6 U 9

Claims (1)

  1. PATENTANSPRÜCHE
    Speicherschutzanordnung bei Datenverarbeitungsanlagen mit einem wahlfrei zugreifbaren Speicher zur Aufnahme von Daten und Befehlsfolgen und mit einer Einrichtung zur Prüfung von in diesen Informationen enthaltenen Schutzfeldern auf Übereinstimmung mit einem dem Zugriff sbefehl entsprechenden Schutzschlüssel, gekennzeichnet durch eine Schaltung (131, 232, 416, 608) zur selektiven Zuweisung von einer hierarchischen Gliederung gehorchenden Sicherheitsstufenwerten zu den einer Befehlsfolge untergeordneten Befehlsfolgen, durch eine Schaltung (603) zur Zuweisung eines bestimmten Schutzschlüssels zu jeder untergeordneten Befehlsfolge und durch eine Prüfschaltung (6P1, 605), die während des Programmlaufes die Schutzfelder eines jeden Speicherzugriffs mit den Schutzschlüsseln der den Zugriff auslösenden Befehlsfolge vergleicht, wobei der Vergleich eine Funktion des Sicherheitsstufenwertes der gerade wirksamen Befehlsfolge ist.
    2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Prüfschaltung (604, 605) eine Auswahlschaltung (185, 614, 662) enthält, die in Abhängigkeit vom Sicherheitsstufenwert den Stellenteil der Schutzfelder bestimmt, für den der Vergleich wirksam wird.
    3. Anordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß numerische Sicherheitsstufenwerte über die Auswahlschaltung (185, 614, 662) den Bitstellen eines Vergleichers (660, 661) direkt zugeordnet sind und damit als Schutzmaske dienen, und daß die Prüfschaltung (604, 605) ein Sicherheitsverletzungssignal jeweils nur bei einer Nichtüberein-
    809828/0649
    YO 973 080
    OFWÖINAL INSPBCTEO
    Stimmung im unmaskiert gebliebenen Stellenteil erzeugt.
    4. Anordnung nach einem der Ansprüche 1 bis 3, gekennzeichnet durch Tore (662), die einerseits um die
    Bitstellenausgänge des Vergleichers (660, 661) angeschlossen sind und andererseits Steuersignals von einem Sicherheitsstufenregister (608) empfangen, das durch die jeweils wirksame Befehlsfolge auf deren
    Sicherheitstufenwert eingestellt wird.
    5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der unmaskierte Stellenteil der Prüfschaltung (604, 605) linksseitig beginnt und
    sich mit zunehmendem Sicherheitsstufenwert nach rechts erweitert, bis bei Vorliegen des höchsten Stufenwertes alle Stellen des Vergleichers (660, 661) v/irksam sind.
    :6. Anordnung nach einem der Ansprüche 1 bis 5, dadurch : gekennzeichnet, daß die Speicherzellen des zur Aufnahme von Daten und Befehlsfolgen dienenden Speichers (602) einen zusätzlichen Bitstellenbereich zur Aufnahme des Sicherheitsstufenwertes aufweisen.
    7. Anordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß ein Befehlsregister (IA) einen
    zusätzlichen Bitstellenbereich (B) enthält, der zur Aufnahme des Sicherheitsstufenwertes dient und der
    mit dem Stufenregister (608) verbunden ist.
    8. Anordnung nach einem der Ansprüche 1 bis 7, gekennzeichnet durch eine an das Stufenregister (608) an-
    809828/0649
    YO 973 080
    geschlossene Schutzschlüssel-Einsetzschaltung (603), die eine Abänderung des Schutzschlüssels durch dafür privlliglerte Befehle nur für einen durch den Sicherheitsstufenwert bestimmten Stellenteil zuläßt.
    9. Anordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Schutzschlüssel-Einsetzschaltung (603) eine Maskierschaltung (216, 218, 228, 650, 655) enthält und daß der maskierte, für eine Abänderung des Schutzschlüssels gesperrte Stellenbereich der Einsetzschaltung linksseitig beginnt und sich mit zunehmendem Sicherheitsstufenwert nach rechts erweitert, bis bei Vorliegen des höchsten Stufenwerts alle Stellen der Einsatzschaltung gesperrt sind.
    10. Anordnung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß der Ausgang der Schutzschlüssel-Einsetzschaltung (603) mit einem Schutzregister (610) verbunden ist, welches während der Wirksamkeit einer Befehlsfolge deren Schutzschlüssel enthält und dessen Ausgang mit einem der beiden Vergleichseingänge der Prüfschaltung (604, 605) verbunden ist.
    11. Anordnung nach einem der Ansprüche 1 bis 10, gekennzeichnet durch einen Verbindungsstapelspeicher (605), der eine Anzahl Registerebenen enthält, die den
    Ϊ Sicherheitsstufen entsprechen und von denen jede zur
    Aufnahme des Sicherheitsstufenwertes von einer Be-
    fehlsfolge dient, wenn diese eine untergeordnete Be fehlsfolge höherer Sicherheitsstufe aufruft.
    12. Anordnung nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß der Verbindungestapelspeicher (605) in jeder Ebene ein zur Aufnahme des Sicherheits-809828/0649
    YO 973 080 "
    stufenwertes dienendes Register (621-L bis 627-L) sowie ein Adreßregister (621-R bis 627-R) enthält, das zur Aufnahme der Rückkehradresse zur Befehlsfolge dient, deren Sicherheitsstufenwert in der gleichen Ebene enthalten ist (aufrufende Befehlsfolge).
    13. Anordnung nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß der Verbindungsstapelspeicher (605) in einer ersten Ebene ein Festwertregister (620-L) aufweist, das den Sicherheitsstufenwert "0" enthält, der den vollen Bitstellenbereich des Vergleichers (660, 661) zur Wirkung kommen läßt. ι
    14. Anordnung nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß der Ausgang des Stufenregisters (608) über Tore (631 bis 637) mit den Registers (621-L bis 627-L) in den Ebenen des Verbindungsstapelspeichers (605) gekoppelt sind und daß die Register über diese Tore durch den Stufenwert-Stellenbereich (B) des Befehlsregisters (IR) adressierbar sind, daß die Ausgänge der Register über weitere Tore (640 bis 647) und ein Zwischenregister (612) mit dem Eingang des Stufenregisters rückgekoppelt sind und daß die letzteren Tore durch das Stufenregister adressierbar sind.
    15. Anordnung nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß der Ausgang eines Befehlszählers (IC) über Tore (631 bis 637) mit den Adreßregistern (621-R bis 627-R) in den Ebenen des Verbindungsstapelspeichers (605) gekoppelt sind, daß die Adreßregister über diese Tore durch den Stufenwert-Stellenbereich (B) des Befehlsregisters (IA) adressierbar sind, daß die Ausgänge der Adreßregister über Tore (640 bis 647)
    809828/0649
    YO 973 080
    mit dem Befehlszähler rückgekoppelt sind und daß hierzu von den letzteren Toren jeweils eines durch den Sicherheitsstufenwert im Stufenregister (608) adressiert wird.
    16. Anordnung nach einem der Ansprüche 1 bis 15/ dadurch gekennzeichnet, daß das Stufenregister (608) und das Schutzregister (610) als Speichereingabepuffer für die Sicherheitsstufen- und Schutzschlüsselwerte dienen und hierzu mit einem Speicherdatenregister (SDR) verbunden sind, über das der Inhalt der Register ausgewählten Speicherplätzen des Speichers (602) zuführbar ist.
    17. Anordnung nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, daß das Stufenregister (608) und das Schutzregister (610) die erste Ebene des Verbindungsstapel Speichers (605) bilden, die als Arbeitsebene dient und den Sicherheitsstufenwert sowie den Schutzschlüssel der jeweils wirksamen Befehlsfolge speichert.
    18. Anordnung nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, daß eine Adressensteuerschaltung (613 bis 615, 190, 191, 193) vorgesehen ist, die im Vielfachprogrammbetrieb eine übertragung des gesamten Inhalts des Verbindungsstapelspeichers (605) zum Hauptspeicher (602) und umgekehrt gestattet.
    19. Anordnung nach einemder Ansprüche 1 bis 18, gekennzeichnet durch eine Sperrschaltung (VR1, VR2, 618, 206, 316), die bei einem Obergang von einer Befehlsfolge zu einer anderen Befehlsfolge durch Vergleich der Sicherheitsstufenwerte die Ubergangsberechtigung prüft und den Übergang nur dann gestattet, wenn von
    YO 973 080
    einer übergeordneten Befehlsfolge auf eine untergeordnete Befehlsfolge übergegangen werden soll oder wenn beim übergang von einer untergeordneten zu einer übergeordneten Befehlsfolge die letztere keinen höheren Sicherheitsstufenwert aufweist als der Sicherheitsstufenwert der Befehlsfolge, welche zuvor die untergeordnete Befehlsfolge aufgerufen hat.
    809828/0649
    YO 973 080
DE19772758152 1976-12-30 1977-12-27 Speicherschutzanordnung Withdrawn DE2758152A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/755,899 US4104721A (en) 1976-12-30 1976-12-30 Hierarchical security mechanism for dynamically assigning security levels to object programs

Publications (1)

Publication Number Publication Date
DE2758152A1 true DE2758152A1 (de) 1978-07-13

Family

ID=25041151

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772758152 Withdrawn DE2758152A1 (de) 1976-12-30 1977-12-27 Speicherschutzanordnung

Country Status (5)

Country Link
US (1) US4104721A (de)
JP (1) JPS5384524A (de)
DE (1) DE2758152A1 (de)
FR (1) FR2376461A1 (de)
GB (1) GB1539356A (de)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5474651A (en) * 1977-11-28 1979-06-14 Toshiba Corp Stack control system
DE2754890C2 (de) * 1977-12-09 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Programmunterbrechung
US4320455A (en) * 1978-01-09 1982-03-16 Honeywell Information Systems Inc. Queue structure for a data processing system
CA1147823A (en) * 1978-07-24 1983-06-07 Robert M. Best Crypto microprocessor for executing enciphered programs
US4241396A (en) * 1978-10-23 1980-12-23 International Business Machines Corporation Tagged pointer handling apparatus
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
GB2059652B (en) * 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4472790A (en) * 1982-02-05 1984-09-18 International Business Machines Corporation Storage fetch protect override controls
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems
US4550350A (en) * 1983-07-19 1985-10-29 Software Distribution Newtork, Inc. Secure copy method and device for stored programs
CA1235821A (en) * 1984-06-28 1988-04-26 John Zolnowsky Data processor having module access control
US4677546A (en) * 1984-08-17 1987-06-30 Signetics Guarded regions for controlling memory access
FR2573227B1 (fr) * 1984-11-09 1987-01-30 Palais Decouverte Dispositif de simulation et de securite pour clavier de saisie de donnees
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4703417A (en) * 1985-06-27 1987-10-27 Honeywell Information Systems Inc. Call instruction for ring crossing architecture
US4812994A (en) * 1985-08-06 1989-03-14 Pitney Bowes Inc. Postage meter locking system
US4809160A (en) 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4891838A (en) * 1985-11-04 1990-01-02 Dental Data Service, Inc. Computer accessing system
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
US4809218A (en) * 1986-01-29 1989-02-28 Digital Equipment Corporation Apparatus and method for increased system bus utilization in a data processing system
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
FR2619234B1 (fr) * 1987-08-07 1991-04-19 Ricard Claude Procedes et dispositifs adaptateurs pour introduire des donnees dans des taximetres electroniques a partir d'un ordinateur central relie temporairement a un terminal local
US5140684A (en) * 1987-09-30 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Access privilege-checking apparatus and method
JPH01175057A (ja) * 1987-12-28 1989-07-11 Toshiba Corp セキュリティの動的管理方法
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces
US5220669A (en) * 1988-02-10 1993-06-15 International Business Machines Corporation Linkage mechanism for program isolation
CA1314101C (en) * 1988-02-17 1993-03-02 Henry Shao-Lin Teng Expert system for security inspection of a digital computer system in a network environment
JPH01228678A (ja) * 1988-03-09 1989-09-12 Mitsubishi Motors Corp 溶接ロボット用電極の研摩方法
DE3901457A1 (de) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
EP0470163A1 (de) * 1989-04-28 1992-02-12 COWSLEY, Christopher William Sicherheit für maschinenschreibbare datenspeichersysteme
US5574912A (en) * 1990-05-04 1996-11-12 Digital Equipment Corporation Lattice scheduler method for reducing the impact of covert-channel countermeasures
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5475833A (en) * 1991-09-04 1995-12-12 International Business Machines Corporation Database system for facilitating comparison of related information stored in a distributed resource
US5627967A (en) * 1991-09-24 1997-05-06 International Business Machines Corporation Automated generation on file access control system commands in a data processing system with front end processing of a master list
US5305456A (en) * 1991-10-11 1994-04-19 Security Integration, Inc. Apparatus and method for computer system integrated security
US5276901A (en) * 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5428795A (en) * 1992-07-31 1995-06-27 International Business Machines Corporation Method of and apparatus for providing automatic security control of distributions within a data processing system
US7036019B1 (en) 1994-04-01 2006-04-25 Intarsia Software Llc Method for controlling database copyrights
JPH07271865A (ja) 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
US6744894B1 (en) 1994-04-01 2004-06-01 Mitsubishi Corporation Data management system
US5613063A (en) * 1994-07-01 1997-03-18 Digital Equipment Corporation Method and apparatus for checking validity of memory operations
US7302415B1 (en) 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
DE69535013T2 (de) 1994-10-27 2006-12-28 Intarsia Software LLC, Las Vegas Urheberrechtsdatenverwaltungssystem
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
DE69532434T2 (de) 1994-10-27 2004-11-11 Mitsubishi Corp. Gerät für Dateiurheberrechte-Verwaltungssystem
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
EP1555591B1 (de) * 1995-02-13 2013-08-14 Intertrust Technologies Corp. Verfahren und Vorrichtung zur gesicherten Transaktionsverwaltung
US7143290B1 (en) 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5784612A (en) * 1995-05-03 1998-07-21 International Business Machines Corporation Configuration and unconfiguration of distributed computing environment components
US8595502B2 (en) 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
US7801817B2 (en) 1995-10-27 2010-09-21 Makoto Saito Digital content management system and apparatus
US5867647A (en) * 1996-02-09 1999-02-02 Secure Computing Corporation System and method for securing compiled program code
US5918018A (en) * 1996-02-09 1999-06-29 Secure Computing Corporation System and method for achieving network separation
US5913024A (en) 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
TW335503B (en) 1996-02-23 1998-07-01 Semiconductor Energy Lab Kk Semiconductor thin film and manufacturing method and semiconductor device and its manufacturing method
US6272639B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Mixed enclave operation in a computer network
US6272538B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
US6993582B2 (en) * 1996-07-30 2006-01-31 Micron Technology Inc. Mixed enclave operation in a computer network
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework
IE960687A1 (en) * 1996-09-09 1998-03-11 Cara Research Limited A data processing system
US6003084A (en) * 1996-09-13 1999-12-14 Secure Computing Corporation Secure network proxy for connecting entities
US6144934A (en) * 1996-09-18 2000-11-07 Secure Computing Corporation Binary filter using pattern recognition
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US5950195A (en) * 1996-09-18 1999-09-07 Secure Computing Corporation Generalized security policy management system and method
US6072942A (en) * 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
US5915087A (en) * 1996-12-12 1999-06-22 Secure Computing Corporation Transparent security proxy for unreliable message exchange protocols
US20050021477A1 (en) * 1997-01-29 2005-01-27 Ganapathy Krishnan Method and system for securely incorporating electronic information into an online purchasing application
US6105132A (en) * 1997-02-20 2000-08-15 Novell, Inc. Computer network graded authentication system and method
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6321336B1 (en) 1998-03-13 2001-11-20 Secure Computing Corporation System and method for redirecting network traffic to provide secure communication
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6453419B1 (en) 1998-03-18 2002-09-17 Secure Computing Corporation System and method for implementing a security policy
DE19846673A1 (de) * 1998-10-09 2000-04-20 Siemens Ag Verfahren zur Verbindung von Stackmanipulationsangriffen bei Funktionsaufrufen
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7171567B1 (en) * 1999-08-02 2007-01-30 Harris Interactive, Inc. System for protecting information over the internet
US6351817B1 (en) 1999-10-27 2002-02-26 Terence T. Flyntz Multi-level secure computer with token-based access control
US6389542B1 (en) 1999-10-27 2002-05-14 Terence T. Flyntz Multi-level secure computer with token-based access control
US6643783B2 (en) 1999-10-27 2003-11-04 Terence T. Flyntz Multi-level secure computer with token-based access control
GB0005535D0 (en) * 2000-03-09 2000-04-26 Smiths Industries Plc Processing systems
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7136907B1 (en) 2000-10-19 2006-11-14 International Business Machines Corporation Method and system for informing an operating system in a system area network when a new device is connected
US6851059B1 (en) * 2000-10-19 2005-02-01 International Business Machines Corporation Method and system for choosing a queue protection key that is tamper-proof from an application
US7409432B1 (en) 2000-10-19 2008-08-05 International Business Machines Corporation Efficient process for handover between subnet managers
US20040064723A1 (en) * 2001-10-31 2004-04-01 Barnes Brian C. Method and apparatus for physical address-based security to determine target security
US7698522B1 (en) 2002-01-11 2010-04-13 Global Foundries Method and apparatus for linear address based page level security scheme to determine current security context
US7739498B2 (en) * 2002-01-15 2010-06-15 GlobalFoundries, Inc. Method and apparatus for multi-table accessing of input/output devices using target security
WO2003073762A1 (en) * 2002-02-27 2003-09-04 Opentv, Inc. A method and apparatus for providing a hierarchical security profile object
ES2218484T3 (es) * 2002-03-26 2004-11-16 Soteres Gmbh Un metodo de proteger la integridad de un programa de ordenador.
FI115564B (fi) * 2003-02-03 2005-05-31 Nokia Corp Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
US7533413B2 (en) * 2003-12-05 2009-05-12 Microsoft Corporation Method and system for processing events
US7661123B2 (en) 2003-12-05 2010-02-09 Microsoft Corporation Security policy update supporting at least one security service provider
US7430760B2 (en) * 2003-12-05 2008-09-30 Microsoft Corporation Security-related programming interface
US8782405B2 (en) * 2004-03-18 2014-07-15 International Business Machines Corporation Providing transaction-level security
US7490347B1 (en) * 2004-04-30 2009-02-10 Sap Ag Hierarchical security domain model
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
EP1742152B1 (de) * 2005-07-07 2012-09-12 Texas Instruments Inc. Verfahren und System für eine mehrfach nutzbare Speicherzugangsbeschränkung
US8849765B2 (en) * 2008-04-22 2014-09-30 Anne Marina Faggionato System and method for providing a permanent data record for a creative work
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
DE102009032465B4 (de) * 2008-07-16 2016-10-13 Infineon Technologies Ag Sicherheit in Netzwerken
US20100241638A1 (en) * 2009-03-18 2010-09-23 O'sullivan Patrick Joseph Sorting contacts
JP7172155B2 (ja) * 2018-06-13 2022-11-16 株式会社デンソー 電子制御装置及びソフトウエア生成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US4017839A (en) * 1975-06-30 1977-04-12 Honeywell Information Systems, Inc. Input/output multiplexer security system
US4020471A (en) * 1975-06-30 1977-04-26 Honeywell Information Systems, Inc. Interrupt scan and processing system for a data processing system
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system

Also Published As

Publication number Publication date
US4104721A (en) 1978-08-01
JPS5384524A (en) 1978-07-26
FR2376461A1 (fr) 1978-07-28
FR2376461B1 (de) 1980-08-22
GB1539356A (en) 1979-01-31
JPS6112584B2 (de) 1986-04-09

Similar Documents

Publication Publication Date Title
DE2758152A1 (de) Speicherschutzanordnung
EP0558132B1 (de) Anordnung zum Datenaustausch
DE1951552C3 (de) Speichereinrichtung mit Sicherung durch Schutzschlüssel
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE4331703C2 (de) Elektronische Einrichtung
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2717702A1 (de) Speicher-zugriffs-steuersystem
DE3048365A1 (de) Speicherschutzsystem und datenverarbeitungssystem mit einem solchen speicherschutzsystem
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE2844357A1 (de) Speichererweiterung
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE1499687B2 (de) Speicherschutz-einrichtung
EP0224639B1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
DE2801518A1 (de) Datenverarbeitungssystem mit speicher-schutzeinrichtung
DE2810421C2 (de) Speicherschutzeinrichtung
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE1524111A1 (de) Datenverarbeitungsanlage
DE2149200A1 (de) Anordnung zum Steuern der Informationsuebertragung zwischen einerseits dem Zentralteil und andererseits entweder einem beliebig zugreifbaren Schnellspeicher oder einem beliebig zugreifbaren direkt adressierbaren Grossspeicher einer elektronischen Datenverarbeitungsanlage
EP0127809A1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE3238826A1 (de) Steuereinheit fuer die eingabe/ausgabe-interface-schaltungen eines rechners
DE1222289B (de) Datenverarbeitungseinrichtung
DE3828289A1 (de) Endgeraet-identifizierung-steuerschaltung
DE3415027C2 (de)

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee