DE2456602C2 - Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem Speicher - Google Patents
Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem SpeicherInfo
- Publication number
- DE2456602C2 DE2456602C2 DE2456602A DE2456602A DE2456602C2 DE 2456602 C2 DE2456602 C2 DE 2456602C2 DE 2456602 A DE2456602 A DE 2456602A DE 2456602 A DE2456602 A DE 2456602A DE 2456602 C2 DE2456602 C2 DE 2456602C2
- Authority
- DE
- Germany
- Prior art keywords
- segment
- ring
- procedure
- ring number
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000015654 memory Effects 0.000 title claims description 58
- 238000012545 processing Methods 0.000 title claims description 30
- 238000000034 method Methods 0.000 claims description 299
- 230000008569 process Effects 0.000 claims description 70
- 238000012546 transfer Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000013475 authorization Methods 0.000 claims description 2
- 108090000623 proteins and genes Proteins 0.000 claims description 2
- 238000012806 monitoring device Methods 0.000 claims 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 239000012634 fragment Substances 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 30
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 19
- 238000011161 development Methods 0.000 description 11
- 230000018109 developmental process Effects 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 11
- 101000633516 Homo sapiens Nuclear receptor subfamily 2 group F member 6 Proteins 0.000 description 8
- 102100029528 Nuclear receptor subfamily 2 group F member 6 Human genes 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004886 process control Methods 0.000 description 7
- FAPWRFPIFSIZLT-UHFFFAOYSA-M Sodium chloride Chemical compound [Na+].[Cl-] FAPWRFPIFSIZLT-UHFFFAOYSA-M 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 4
- 101100460844 Mus musculus Nr2f6 gene Proteins 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100495462 Arabidopsis thaliana CER16 gene Proteins 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 125000000174 L-prolyl group Chemical group [H]N1C([H])([H])C([H])([H])C([H])([H])[C@@]1([H])C(*)=O 0.000 description 1
- 101100033946 Plasmodium falciparum (isolate 3D7) RIPR gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- SQNZJJAZBFDUTD-UHFFFAOYSA-N durene Chemical compound CC1=CC(C)=C(C)C=C1C SQNZJJAZBFDUTD-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003734 kidney Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006886 spatial memory Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung geht aus von einer Datenverarbeitungsanordnung nach dem Oberbegriff des Patentanspruchs 1.
In der Vergangenheit sind mehrere Methoden verwendet worden, um Informationen zu schützen. Einige sind
von Robert M. Grahem in einem Dokument mit dem Titel » Schutz in einer Informations-Verarbeitungs-Rouiine« erläutert worden, das in CACM veröffentlicht wurde (Mai 1968).
Dieser Typ des Speicherschutzes ist für die heutigen Mehrprogramm-Systeme nicht geeignet, da keine
Privilegabstufungen oder Zugänglichkeits-Abstufungen vorhanden sind, was die Kontrolle über den Informationszugriff ernsthaft einschränkt. Für die verschiedenen Zugangsrechte zu den verschiedenen Informationstypen sollten Vorkehrungen getroffen sein. Eine Teillösung dieses Problems ergibt sich aus dem Konzept eines
Speichers, der als Informationseinheit ein Segment besitzt, bei dem der Zugriff kontrolliert ist. Verschiedene
Zugriffsgrade zu jedem Segment werden möglich, wenn verschiedene Privilegtypen vorgesehen werden, die mit
jedem Segment verbunden sind, z. B. Master/Slave, Schreiben/Nicht-Schreiben und Ausführen/Nicht-Ausführen. Dieses Schutzverfahren für die Anonymität und Unversehrtheit der Informationen berücksichtigt jedoch
nicht den Benutzer der Informationen. Bei dieser Art des Schutzes erhält nicht der Benutzer ein Privileg, sondern
is die zu schützenden Informationen. In diesem Fall hat ein Benutzer, wenn er überhaupt ein Zugriffsrecht /ti
einem Segment besitzt, in gleicher Weise Zugang zu allen anderen Benutzern, die Zugang zu diesem Segment
besitzen. David C. Evans und Jean Yves LeClerc haben in einem Dokument mit dem Titel »Adreßplanung und
Zugriffskontrolle in einem Dialog-Computer« (SJCC 1967) das Problem erkannt und versucht, eine Lösung zu
finden. Evans und LeCierc sagten in diesem Artikel auf Seite 23 »Der Benutzer eines Compuicr-Sysicms soiiie in
M der Lage sein, in beliebiger Weise kontrolliert mit dem System, mit seinen eigenen Berechnungs-Prozessen und
mit anderen Benutzern in einem Dialog zu stehen. Ihm sollte ein großes Informations-Speicher- und Informations-Rückruf-System zugänglich sein, das als Datei-System bezeichnet wird. Das Datei-System sollte allen
Benutzern den Zugriff auf Informationen auf eine Art und Weise ermöglichen, die eine selektiv kontrollierte
Anonymität und Sicherheit der Informationen gestattet Ein Benutzer sollte die Möglichkeit haben, seinen
Berechnungsvorgang in halb-unabhängige Aufgaben mit einem kontrollierten Austausch und einer kontrollierten Wechselwirkung zu unterteilen. Diese Fähigkeit müßte die menschlichen Anstrengungen herabsetzen, die
zur Entwicklung, Entstörung und Änderung von Programmen erforderlich sind, und sie sollte eine gesteigerte
Zuverlässigkeit der Programme ermöglichen. Das System sollte fu:ht willkürlich die Benutzung der Eingabe/
Ausgabe-Einrichtungen einschränken oder die Eingabe/Ausgabe-Programmierung des Benutzers beeinträchti
gen. Evans und LeClerc schlugen bedingte Zugriffsrechte bei der Prozedurausführung vor. Gemäß ihrem
Vorschlag ist das Segment immer noch die Informationseinheit, zu der der ZugHff kontrolliert wird; die Zugriffskontrollattribute eines Segments sind jedoch im wesentlichen in einer Tabelle aufgezeichnet, in der der Benutzer-Name und die Prozeduren enthalten sind, deren Eintragungen die Zugriffsarten sind. Eine derartige Lösung
hat jedoch schwerwiegende Nachteile.
Erstens stellt das Erstellen und Aktualisieren der Tabelle mit den Zugriffs-Kontrollattributen jedes Segments
eine umfangreiche Arbeit dar. Zweitens müssen eine zu häufige Benutzung des Segments sowie das Auftreten
von Geschehnissen berücksichtigt werden. Zur Überwindung dieses Problems wurde eine Zugriffskontroüc mit
Hilfe einer Prozedurgruppe vorgeschlagen. Gemäß diesem Vorschlag werden zusammengehörige Prozeduren
in »Prozedurgruppen« zusammengefaßt, und die Zugriffsrechte zu den Segmenten ergeben sich aus der Identi
tat der Gruppe, zu der die um Zugriff ersuchende Prozedur gehört
Dieses Verfahren erleichterte das Problem der Entv/icklung und Aktualisierung der umfangreichen Segment-Ziigriffskontrollattribut-Tabellen aller Segmente, warf jedoch das Problem auf, festzustellen, zu welcher Gruppe
eine bestimmte Prozedur gehörte, insbesondere, wenn eine Prozedur aus einer Anzahl vieler Gruppen bestand
oder bestehen konnte. Diese Zweideutigkeit bei der Definition der Gruppen und die möglichen Übergänge
zwischen den Gruppen machen die Durchführung einer Zugriffskontrolle auf der Basis von Prozedurgruppen
extrem schwierig.
Um die bei der »Gruppen-Technik« aufgetretenen Schwierigkeiten zu überwinden, wurde ein Ringkonzept
entwickelt Das Ringkonzept faßt die Prozedurgruppen in Ringen zusammen, die unzweideutig durch steigende
Privilegstufen geordnet werden können. Durch Zuweisung einer Reihe von Gruppen zu einer Reihe konzentri-
scher Ringe und durch Zuweisen von Nummern zu jedem Ring, wobei der kleinste Ring die niedrigste Nummer
besitzt und jede/ folgende Ring stufenweise eine höhere Nummer erhält, können verschiedene Privilegstuten
unzweideutig dem Benutzer sines Segments zugewiesen werden. Bei diesem Konzept besitzt der innerste Ring
mit der niedrigsten Nummer die höchste Privilegstufe. Es kann also festgelegt werden, daß Benutzern in der
niedrigsten Ringnummer Informationen zugänglich sind, die höhere Ringnummern besitzen, während Benutzern
in einer höheren Ringnummer Informationen mit niedrigeren Ringnummern nicht oder nur auf eine bestimmte
Weise zugänglich sind. Diese offensichtliche Änderung der Priviiegstufe mit einer Änderung in Ringen ist ein
Konzept das die Einwände hinsichtlich einer Änderung von Prozedurgruppen ausräumt
MULTICS (Multiplexed Information and Computing Service) ist ein Betriebssystem, das ursprünglich vom
Massachusetts-Institute of Technology in Zusammenarbeit mit General Electric Co. und anderen entwickelt
wurde. Die MULTICS-Datenverarbeitungsanordnung, von der die vorliegende Erfindung ausgeht und die im
Oberbegriff des Patentanspruchs 1 angegeben ist, ist in »Communications of the ACM«, März 1972. Band 15.
Nr. 3. Seiten 157 bis 170 beschrieben. MULTlCS wendete als erstes die Ringtheorie des Software-Schutzes auf
einem umgebauten Honeywell-635-Computer und später auf einem HoneywelI-645-Computer an. Bei der MUL-TlCS-Phiiosophie kommen 64 Schutzringe, die von 0 bis 63 durchnumeriert sind, zur Anwendung. Die Theorie
wird allgemein in einer Broschüre mit dem Titel »ZugriffskontroHe zum virtuellen MULTICS-Speicher« beschrieben, die von Honeywell Information Systems Ina in den »MULTICS Technical Papers«, Nr. AG95, Rev. O
beschrieben wurde. Eine detailliertere Beschreibung des MULTICS-Ringschutzes befindet sich in Kapitel 4
eines Buches mit dem Titel »Das MULTICS-System, eine Überprüfung seiner Struktur«, von Elliot I. Organick,
das von der MIT Press veröffentlicht wurde, und ebenfalls im MULTICS-System-Programmier-Handbuch 1969,
MIT-Projckt MAC. Kurz im MULTICS-System kommt keine »reine Ringschutz-Strategie« zur Anwendung,
sondern die »Ring-Klammer-Schutzstrategie«, in der die Zugriffsrechte eines Benutzers hinsichtlich eines bestimmten
Segments in einem Zugriffs-Modus und einer dreifachen Ringnummer (rl, r2, r3) codiert sind, die für
ein best in-"lies Segment als »Ring-Klammern« des Benutzers bezeichnet werden. Ein Zitat aus den Seiten 137
bis 139 du. »MULT1CS Technical Papers« mit dem Titel »Zugriffs-Kontrolle zum virtuellen MULTICS-Speichcr«
gibt die Regeln und Bedingungen zur Benutzung und zur Änderung von Ringen an.
Dieses Ringschutz-Konzept wurde zuerst in Verbindung mit Software-Techniken verwendet, die 64 getrennte
Ringe benutzten. Anschließend wurde ein Versuch zur Bildung einer brauchbaren Hardware-Basis für den
Ringschutz unternommen. Der Honeywell-645-Computer stellt einen ersten solchen Versuch dar. Das Honeywell-System
645 unterscheidet sich von dem bereits beschriebenen Ring-Hardware-Konzept in mehreren Punkten,
die, zusammengenommen, auf die Tatsache hinauslaufen, daß der Honeywell-645-Computer eine Zwei-Ring-
und nicht 64-Ring-Maschine ist und anstelle eines Ring-Registers mit einem Master- und einem Slave-Modus
arbeitet, der dem Prozessor im Master-Modus eine höhere Potenz als im Slave-Modus verleiht. Das
Zugriffs-Kontrollfeld des SDW Segment-Descriptor-Worts des 645-Computers enthält keine Informationen
bezüglich der Ringe; insbesondere enthält es keine Ringklammern. Es beinhaltet jedoch entweder:
a) eine Zugriffsmodus-Information, die möglicherweise beide Descriptors enthält,
— nur im Master-Modus zugänglich, jjj
— Master-Modus-Prozedur; oder 20 i\
b) die Spezifizierung eines der acht speziell »gelenkter Fehler« (Fallen), die immer dann auftreten, wenn ein Ί
Zugriff zu den Segment-Descriptor-Worten (SDW) durchgeführt wird. «
Die Prozedur befindet sich nur im »Master-Modus«, wenn eine Prozedur durchgeführt wird, deren SDW eine ' ü
»Masler-Modus-Prozedur« kennzeichnet. Der Prozessor kann in den folgenden Fällen während der Ausführung 25 f\
einer Slave-Modus-Prozedur in den Master-Modus übergehen:
- Fehler,
— Ausführung einer Unterbrechung. -
Der Zugriffs-KontroIImechanismus des Prozessors 645 interpretiert das SDW während des Adressier-Zyklus
und löst je nach SDW und (für gewöhnlich) dem versuchten Zugriff, wie folgt, die geeignete Aktion aus:
a) Wenn das SDW einen bestimmten »gelenkten Fehler« auslöst, tritt dieser Fehler auf;
b) wenn das SDW andererseits nicht den versuchten Zugriff gestattet, tritt der entsprechende Zugriffs-Übertretungsfehlerauf;
der Zugriff wird dann ausgeführt.
Wenn ein Fehler auftritt, geht der 645-Computer in den Master-Modus über und überträgt die Steuerung an
die entsprechende Master-Modus-Fehlerverarbeitungsprozedur (Zugriffssteuerung zum virtuellen MULTICS-Speicher,
siehe bereits erwähntes Dokument, Seiten 157 bis 158).
Da MULTICS und die Honeywell-645-Version des Ringschutzes hauptsächlich softwareseitig gelöst wurden,
ergibt sich eine beträchtliche Überlastung des Betriebssystem-Supervisors, insbesondere wenn Aufrufe nach
höheren oder niedrigeren Bedeutungsstufen durch Überspringen zu einer Supervisor-Prozedur durchgeführt
wurden. Dies machte einen Zugriff-Kontrollmechanismus erforderlich, der funktionell in der Lage war, wirksam
seine Informations-Schutzfunktion durchzuführen, der relativ einfach arbeitete, wirtschaftlich herzustellen, zu f§
bedienen und zu warten war und die allgemeine Programmierung nicht beeinträchtigte. Das Honeywell-Computer-System
6000 entspricht diesen Anforderungen durch die hardwareseitige Realisierung des größten Teils des
Ringschutz-Mechanismus. Nun stand eine spezielle Zugriffs-Prüflogik, die mit der segmentierten Adressierungs-Hardware
integriert war, zur Verfügung, um alle virtuellen Speicherreferenzen freizugeben und außerdem
einige Sonderbefehle zum Wechsel des Durchführungsrin^es ermöglichte. Bestimmte Teile des Ringsystems,
insbesondere nach außen gerichtete Abrufe und die Rückkehr oder die Aufrufe nach einer geringeren Bedeutungsstufe
und die Rückkehr davon, warfen Probleme auf, die die Durchführung der Ringschutz-Funktion durch
Übertragung der Steuerung auf einen Supervisor erforderten. Nun waren weitere Hardware- und Technik-Verbesserungen
erforderlich, die die vollständige Realisierung des Ringschutzes auf der Hardware-Firmware-Seite
ermöglichten und den Kriterien Funktionsfähigkeit, Wirtschaftlichkeit, Einfachheit und allgemeine Programmierung
entsprachen.
Aufgabe der Erfindung ist die Schaffung einer Datenverarbeitungsanordnung der eingangs angegebenen Art,
die einen in Hardware/Firmware ausführbaren Schutz vor gegenseitigen Störungen zwischen Prozessen aufweist,
die in einer multiprogrammierbaren Datenverarbeitungsanordnung dadurch auftreten können, daß gleiehe
Segmente von verschiedenen Prozessen benutzt werden können.
Diese Aufgabe wird durch die Lehre des Patentanspruchs 1 gelöst
Computer-Daten und -Prozeduren werden geschützt, indem Prozesse daran gehindert werden, ineinander
überzugreifen oder den Adreßraum des jeweils anderen Prozesses in illegaler Weise gemeinsam zu benutzen.
Dies wird mit einer Ringschutzstruktur durchgeführi, die hardware-firmwareseitig realisiert wird und die Adressierbarkeit
des Speichers entsprechend den Privilegstufen begrenzt
Prozesse benutzen eine segmentierte Adresse während ihres Ablaufs, wobei festgelegte Felder in den Segment-
und/oder Prozedur-Descriptoren den Adreßraum der verschiedenen Prozesse des Systems je nach
'•if Privilegstufen zuweisen. Hardware-Überprüfungen stellen fest, ob die von einem Prozeß benutzte Adresse zu
i| dem diesem Prozeß zugewiesenen Adreßraum gehört, und wenn sich die Adresse außerhalb der zugewiesenen
Privilegstufe befindet, wird der Zugang zu der adressierten Information abgelehnt.
; Die Datenverarbeitungsanordnung verfügt gemäß einer Weiterbildung der Erfindung über vier Ringklassen,
λ 5 die von 0 bis 3 durchnumeriert sind. Jeder Ring stellt eine System-Privilegstufe dar, wobei die Stufe 0 (der
j j innerste Ring) das höchste Privileg und die Stufe 3 (der äußerte Ring) das niedrigste Privileg besitzt.
'! In Weiterbildung der Erfindung wird ein Computer-Ringschutz-Mechanismus geschaffen, der nach innen
i~; gerichtete A jfrufe (Aufrufe zu einer niedrigeren Ringnummer) über ein »Tor« ermöglicht, jedoch keine nach
,' außen gerichteten Aufrufe gestattet.
j ίο Eine Weiterbildung der Erfindung besteht in der Schaffung eines Ringschutzmechanismus, bei dem eine
•;| Prozedur im Lese/Schreib-Modus in festgelegten Ringen ablaufen kann, wogegen eine Prozedur im Durchfühlt
rungs- Modus in festgelegten Ringklammem ablaufen kann.
(f. Durch eine andere Weiterbildung der Erfindung wird ein Ring-Kreuzungsmechanismus geschaffen, der hard-
L| ware-identifizierbare Rückstell-Stacks und einen Prozedur-Aufrufmechanismus verwendet.
ψ 15 Weitere vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben.
!J Die Erfindung wird nun anhand der Zeichnung beispielshalber erläutert. Es zeigt
ψ, Fig. 1 das Blockdiagrammeiner Datenverarbeitungsanordnung, in der die Erfindung zur Anwendung kommt,
% F i g. 2 ein schematisches Diagramm, das die Privilegstufen der Erfindung darstellt,
SS F i g. 3 ein FhißHiagramm Her in ripr Erfindung angewendeten segmentiert?". Adreßstruktur,
H 20 Fig.4A bis J schematische Diagramme der verschiedenen neuartigen Hardwarestrukturen, die in der Erfin-
H dung zur Anwendung kommen,
ig F i g. 5 ein schematisches Diagramm der Ringschutz-Hardware der Datenverarbeitungsanordnung,
U F i g. 6 ein schematisches Diagramm der segmentierten Adressierungs-Hardware der Datenverarbeitungsan-
j| Ordnung,
Λ 25 F i g. 7a-7b und 8a—c genaue Logik-Blockschaltbilder der Ringschutz-Hardware;
I F i g. 9a bis 9h die Erklärung der in den Diagrammen verwendeten Symbole,
» F i g. 10 ein schematisches Diagramm der drei Stack-Segmente, jeweils eins für Ring 0.1 und 3,
I F i g. 11A das Format des Eingabe-Prozedur-Befehls,
β F i g. 11B das Format eines Prozedur-Descriptors,
30 F i g. 1 IC das Format eines Durchschalt-Prozedur-Descriptors GPD, der das erste Wort des Segments das die
Prozedur-Descriptors bildet,
F i g. 11D das Format des Ausgabe-Prozedurbefehls,
F i g. 11D das Format des Ausgabe-Prozedurbefehls,
Fig. 12 ein Flußdiagramm eines Teils des Eingabebefehls, das zur Ringkreuzung und Ring-Überprüfung
gehört,
35 F i g. 13 einen Segment-Descriptor und das Segment, das die Prozedur-Descriptors enthält,
35 F i g. 13 einen Segment-Descriptor und das Segment, das die Prozedur-Descriptors enthält,
Fig. 14 bis 16 Flußdiagramme, die die verschiedenen Operationen darstellen, die bei der Ausführung des
Eingabe-Prozedur-Befehls durchgeführt werden und
F i g. 17 ein Flußdiagramm des Ausgabebefehls.
F i g. 17 ein Flußdiagramm des Ausgabebefehls.
Wie bereits erläutert, hat das Ring-Konzept des Informationsschutzes seinen Ursprung in MULTICS und
40 wurde auf verschiedenen Honeywell-Computer-Systemen angewendet. Das ursprüngliche MULTICS-Konzept
erforderte 64 Ringe oder Privilegstufen, und die spätere Anwendung besaß das Äquivalent von 2 Ringen-auf dem
Honeywell 645 und 8 Ringe auf dem Honeywell 6000. Daten- und Prozedursegmente sind in einer Hierarchie von
4 Ringen oder Klassen zusammengefaßt (siehe Fig.2). Die vier Ringe oder Privilegstufen werden durch die
Ganzzahlen 0 bis 3 identifiziert; jeder Ring stellt eine Privilegstufe im System dar, wobei die Stufe 0 das höchste
45 und die Stufe 3 das niedrigste Privileg besitzt Die Stufe 0 ist als der innerste Ring und Stufe 3 als der äußerste
Ring bekannt Der grundlegende Begriff, der bereits erläutert wurde, ist der, daß eine Prozedur, die zu einem
inneren Ring gehört, freien Zugriff auf Daten eines äußeren Ringes hat Umgekehrt kann eine in einem äußeren
Ring befindliche Prozedur nicht auf Daten eines inneren Ringes zugreifen, ohne eine Schutz-Überschreitungsausnahme
hervorzurufen. Die Übertragung der Kontrolle zwischen Prozeduren wird mit einem Schutzmecha-50
nismus überwacht, so daß eine Prozedur-Ausführung in einem äußeren Ring keine direkte Verzweigung zu einer
in einem inneren Ring befindlichen Prozedur durchführen kann. Dieser Typ der Übertragungs-Kontrolle wird
nur durch die Durchführung eines besonderen Prozedur-Aufruf-Befehls möglich. Dieser Befehl ist auf mehrere
Arten vor Mißbrauch geschützt Es ist ein Durchschalt-Mechanismus vorhanden, um zu gewährleisten, daß ein
Eintritt in Prozeduren nur über vorgesehene Eintritts-Punkte möglich ist, die beim Überkreuzen von Ringen als
55 Tore bezeichnet werden. Der Segment-Descriptor einer solchen Prozedur enthält ein Tor-Bit, welches angibt,
daß ein Eintritt in die in diesem Segment befindliche Prozedur nur über Tore möglich ist Die diese Tore
betreffenden Informationen sind am Anfang der Segmente enthalten und werden von der Hardware zum Eintritt
an einem legalen Eintritts-Punkt verwendet
Die Prozedur selbst muß nun überprüfen (auf eine Art, die notwendigerweise von der Funktion der Prozedur
60 abhängt), ob sie legal aufgerufen wird. Ein weiterer Hardware-Schutzmechanismus steht für den Fall zur
Verfügung, daß die aufrufende Prozedur eine Adresse als Parameter angibt; es ist dann möglich, daß die
privilegiertere Prozedur fälschlicherweise Informationen ändert, die sich in dieser Adresse befinden, was der
weniger privilegierte Aufrufer nicht hatte tun können, da ihm der Ringmechanismus den Zugang verwehrt hätte.
Zur Vermeidung dieser Möglichkeit steht ein Adreß-Freigabebefehl zur Verfugung.
65 Eine wichtige Vereinbarung ist hier erforderlich, um dzn Prozedur-Aufrufmechanismus zu schützen. Diese
Vereinbarung legt fest, daß es nicht allgemein zulässig ist diesen Mechanismus zum Aufrufen einer Prozedur in
einem weniger privilegierten Ring zu benutzen und in einen höher privilegierten Ring zurückzukehren. Diese
Einschränkung ist notwendig, da nicht gewährleistet ist daß die im höheren Ring befindliche Prozedur tatsäch-
lieh zurückkehrt, daß sie nicht, freiwillig oder absichtlich. Informationen zerstört, auf die die privilegiertere
Prozedur baut, oder daß sie nicht zufällig oder absichtlich die Sicherheit des Stack (Definition siehe »Erläuterung
der ver sendeten Ausdrücke«) verletzt. Jeder dieser Vorgänge könnte zu unvorhersehbaren Resultaten und zum
Zusammenbruch des Systems führen.
Die Privilegstufen sind relativ unabhängig vom ProzeB-Steuermechanismus, und es sind hier nLht wie im
IBM-System 360 privilegierte und nicht-privilegierte Pro.iesse beabsichtigt. Vielmehr kann der gleiche Prozeß
Prozeduren auf verschiedenen Privileg-Stufen (Ringen) durchführen, abgesehen von durch den Ringmechanismus
auferlegten Einschränkungen. In diesem Sinne kann der Ringmechanismus als Möglichkeit zur Unterteilung
des gesamten Adreßraums betrachtet werden, der einem Prozeß gemäß der Privilegstufe zugewiesen ist.
Der hier definierte Ringmechanismus ermöglicht es ein und demselben Segment, gleichzeitig bis zu drei
verschiedenen Ringen anzugehören, d. h. jeder Segment-Descriptor enthält drei Ringnummern, eine für jeden
: j der möglichen Zugriffstypen.
Daher kann sich ein und dasselbe Segment in Ring 1 für den Schreib-Zugriff, im Ring 2 für den Ausführungs-
\.·; Zugriff und in Ring 3 für den Lese-Zugriff befinden. Ein offensichtlicher Anwendungsfall hierfür ist der Fall eines
i; Prozedur-Segments, das nur von Ring 0 (möglicherweise dem Lader) geschrieben werden, jedoch in Ring 3
ώ> ausgeführt werden kann.
Von den vier verfügbaren Ringen sind zwei dem Betriebssystem und zwei den Benutzern zugewiesen. Ring 0,
der Ring mit dem höchsten Privileg, ist für diejenigen Betriebssystem-Segmente reserviert, die für die Funktion
• '■'■ uus gesamtem Systems unerläßlich sind. Diese Segmente bilden den harten Kern, dessen einwandfreies Funktio-
j! nieren zu allen Zeitpunkten lebenswichtig ist, um eine Katastrophe zu verhindern. Einbezogen wären hierbei die
, ■, .Systcm-I.iformationsbasis, diejenigen Prozeduren, die sich auf die Organisation des räumlichen Speichers oder
den Start von räumlichen Datenübertragungs-Operationen beziehen, und die Mechanismen, die die System-Funktionen,
wie den Ausnahme-Supervisor, den Planer und die Hilfsquellen-Verwaltung durchführen.
■ Ring 1 enthält wesentlich mehr Betriebssystem-Segmente, deren Ausfall nicht zu einer Katastrophe führen,
■ Ring 1 enthält wesentlich mehr Betriebssystem-Segmente, deren Ausfall nicht zu einer Katastrophe führen,
sondern einen Wiederstart ermöglichen wurden. Hierzu gehören die Sprachübersetzer, die Daten- und MeI-dungs-Verwaltung,
und die Job- und Prozeß-Verwaltung. Aufgrund der zwei für das Betriebssytem verfügbaren
Ringe ist das Problem der Aufrechterhaltung der System-Integrität besser beherrschbar geworden, da der
kleinere harte Kern, der kritisch ist, isoliert ist und sorgfältig geschützt werden kann.
Die Ringe 3 und 4 stehen fir den Benutzer zur Durchführung von Zuordnungen entsprechend seinem Bedarf
zur Verfugung. Zwei wichtige Möglichkeiten sind die Entstörungs- und Eigentumsprogramme. Die entstörten
; Programme können dem Ring 4 zugeordnet werden, wogegen die überprüften Programme und die Daten, mit
■' denen sie arbeiten, sich in Ring 3 befinden können; auf diese Weise können die Auswirkungen von Fehlern
'.; lokalisiert werden. Eigentums-Programme können durch Unterbringung in Ring 3 vor ihren Benutzern ge-
■:} schützt werden, wogegen die letzteren den Ring 4 zugewiesen bekommen. Auf diese und andere Arten können
\ die beiden Ringe flexibel in Anwendungen benutzt werden.
s Allgemeine Regeln des Ringsysiems ■
j 1. Eine Prozedur in einem inneren Ring, wie Ring 2, F i g. 2, hat freien Zugriff zu Ddien in einem äußeren Ring,
.ι wie Ring 3, und es ergibt sich ein legaler 7 riff (Pfeil 201). Andererseits hat eine Prozedur in einem äußeren
H Ring, wie Ring 3, keinen Zugriff zu Date.. . sich in einem inneren Ring, wie Ring 2, befinden und ein Versuch
:i eines Zugriffs löst einen illegalen Zugriff (Pfeil 202) aus.
:j 2. Eine in einem äußeren Ring, wie Ring 3, befindliche Prozedur kann über das Tor 204 zu einem innerer". Ring
;' wie Ring 1 springen, was zu einer legalen Verzweigung 203 führt; eine Prozedur, die in einem inneren Ring, wie
% Ring 2, abläuft, kann jedoch nicht auf einen äußeren Ring, wie Ring 3, springen.
ji 3. Jedem Segment, das Daten enthält, sind zwei Ringwerte zugeordnet, einer für Lesen (RD) und einer für
i Schreiben (WR). Diese Ringwerte geben den maximalen Ringwert an, bei dem eine Prozedur beim Zugriff zu
i Daten entweder im Lese- oder im Schreib-Modus ablaufen kann.
ϊ Jedesmal, wenn ein Prozedurbefehl ausgeführt wird, erfolgt eine Überprüfung der Prozedur-Ringnummer
Tj (tatsächliche Adreßringnummer EAR) gegenüber Ringnummern, die dem die adressierten Daten enthaltenden
■5 Segment zugeordnet sind EAR ist die höchste Nummer der Prozeßringnummern im Prozessor-Befehlszähler
% (siehe spätere Beschreibung) und aller Ringnummern der Basis-Register und Daten-Descriptors, die sich im
\ Adressierungs-Pfad befinden. Auf der Basis eines Vergleichs der Ringnummern wird der Zugang zu den Daten
I freigegeben oder gesperrt Wenn zum Beispiel in einem Segment mit einem maximalen Lese-Ringwert von 3 und
ja einem maximalen Schreib-Ringwert von 1 eine Systemtabelle vorhanden ist, kann die in Ring 3 ablaufende
s Benutzerprozedur die Tabelle lesen, diese jedoch nicht durch Schreiben aktualisieren.
I Prozedur-Aufruf- und Stack-Mechanismus
I Der Prozedur-Aufruf- und Stack-Mechanismus ist ein wichtiger Mechanismus, der vom Ringschutz-Mecha-
ig nismus der vorliegenden Erfindung benutzt wird.
% Prozedur-Aufrufe werden benutzt, um von einer Prozedur auf eine andere überzugehen, den Benutzer-Proze-
% duren den Gebrauch der Dienste des Betriebssystems zu ermöglichen und innerhalb des Betriebssystems eine
1 molekulare Struktur zu erzielen. Ein Prozedur-Aufruf wird mit Hilfe von Befehlen und einer von der Hardware
I erkannten Größe, die als Stack bezeichnet wird, durchgeführt.
M Ein Stack ist ein Mechanismus, der auf der Basis »zuletzt hinein — zuerst heraus« die Aufnahme, Speicherung
it und das Wiederauffinden von Daten ermöglicht Stacks befinden sich in speziellen Segmenten, die als Stack-Seg-
H menie bezeichnet werden. Ein Stack-Segment besteht aus einer Anzahl von aneinander angrenzenden Teilen.
die als Stack-Rahmen bezeichnet werden und jeder Prozedur dynamisch zugewiesen werden. Der erste Stack-Rahmen wird an das untere Ende des Segments geladen und die darauffolgenden Rahmen danach. Der letzte
geladene Rahmen wird als Spitze des Stacks bezeichnet Ein T-Rsgister 114 (Fi g. 1) lokalisiert die Spitze des
Stacks für den gerade aktiven Prozeß. Ein virtuelles T-Register ist im Prozeß-Steuerblock (PCB) aller anderen
Ein Stack-Ra'imen besteht aus drei Zonen: einer Arbeitszone, in der Variable gespeichert werden, einer
Sicherstellungs-Zone, in der der Inhalt von Registern sichergestellt wird und einer Kommunikations-Zonc, in die
Parameter zwischen Prozeduren eingegeben werden. Vor einem Prozeduraufruf muß der Benutzer diejenigen
Register angeben, deren Inhalt er sicherstellen möchte, und er muß die zur aufgerufenen Prozedur durchzuge
benden Parameter in die Kommunikations-Zone eingeben. Wenn der Aufruf erfolgt ist stellt die Hardware den
Inhalt des Befehlszählers und der angegebenen Basis-Register sicher, um die Rückkehr von der aufgerufenen
Prozedur zu erleichtern.
Jeder Prozeduraufruf erzeugt einen Stack-Rahmen innerhalb eines Stack-Segments, und anschließende Verfahrensaufrufe erzeugen zusätzliche Rahmeio. Jeder Austritt aus einer dieser aufgerufenen Prozeduren bewirkt
die Löschung eines Stack-Rahmens innerhalb des Stacks. Daher wird eine Geschichte der Aufrufe festgehalten,
um die geordnete Rückkehr zu erleichtern.
Um den Schutz zwischen Prozeduren, die in verschiedenen Ringen ablaufen zu gewährleisten, werden verschiedene Stack-Segmente benutzt Ein Stack-Segment entspricht jedem Schutzring pro Prozedur. Ein Prozeß-Steuerblock (PCB) enthält drei Stack-Basis-Worte (SBW), die auf den Start des Stack-Segments für die mit dem
nach innen gerichteten Aufruf eingegeben werden: daher ist seine Stack-Startadresse nicht im PCB erforderlich.
von einem Programm-Modul zu einem andei en überzugehen. Der Aufruf wird von Benutzer-Programmen
verwendet, die die Dienste des Betriebssystems benutzen wollen. Der Aufruf wird vom Betriebssystem selbst
benutzt, um eine entsprechende Modularstruktur zu erreichen.
1. Oberprüfung des Rechtes des Aufrufers, mit dem Aufrufer in Verbindung zu treten.
2. Sicherstellung des Aufrufer-Status, was Sicherstellungsregister, Befehlszahler (für die Rückkehr) und andere Status-Bits beinhaltet;
3. Ermöglichen der Eingabe von Parametern;
4. Feststellen des gültigen Eintritts-Punktes für die aufgerufene Prozedur;
5. Durchführung aller erforderlichen Einstellungen im Adessierungsmechanismus;
6. Eintritt in die neue Prozedur.
Wenn die aufgerufene Prozedur zu Ende ist oder austritt muß alles, was auch beim Aufruf geschehen ist
rückgängig werden, so daß der Status der aufrufenden Prozedur wieder zu dem wird, was er vor dem Aufruf war.
Vor der Durchführung eines Prozedur-Aufrufs wird der Befehl »REPARE STACK« (Stack vorbereiten)
durchgeführt Dieser Befehl bewirkt eine Speicherung der vom Programmierer im Befehl spezifizierten Register
im Suck. Er bewirkt eine Sicherstellung des Status-Registers (Fig. 1); er stellt dem Programmierer einen
Hinweis für den Parameter-Raum zur Verfugung, in dem er nun die an die aufgerufene Prozedur durchzugebenden Informationen laden kann.
Ein weiterer Befehl »ENTER PROCEDURE« (Prozedur eingeben) ermöglicht den Prozeduraufruf mit Hilfe
der folgenden Schritte, die den oben aufgeführten Anforderungen entsprechen:
1. Ring-Überprüfung — der Ring des Aufrufers wird überprüft, um zu gewährleisten, daß dieser Ring die neue
Prozedur aufrufen kann; der Aufruf muß zu einer kleineren oder gleichen Ringnummer durchgeführt
werden; und wenn eine Ringkreuzung auftritt muß die neue Prozedur über ein Tor 204 von F i g. 2 geleitet
werden. Die neue Ringnummer entspricht dann der der aufgerufenen Prozedur;
so 2. Der Inhalt des Befehlszählers wird sichergestellt;
3. Das Basis-Register (siehe F i g. 1) wird auf 0 positioniert, um tatsächlich auf die durchgegebenen Parameter
hinzuweisen;
4. Der Eintrittspunkt der aufgerufenen Prozedur ergibt sich aus einem Prozedur-Descriptor. dessen Adresse
im Befehl »ENTER PROCEDURE« enthalten ist;
5. Ein Hinweis zur Verkettungs-Information wird im Basis-Register Nr. 7 geladen;
6. Die neue Prozedur wird durch Laden der neuen Ringnummer und der Adresse des Eintrittspunktes in den
Befehlszähler eingegeben.
Der Rest des gegenwärtig benutzten Stack-Rahmens steht ebenfalls der aufzurufenden Prozedur zur Speicherung von örtlichen Variablen zur Verfügung.
Wenn die aufgerufene Prozedur eine Rückkehr erfordert, führt sie den Befehl »EXIT PROCEDURE« (Prozeß-Ausgabe) durch. Der Inhalt der Register und des Befehlszählers wird nun aus den im Stack befindlichen
Sicherstellungszonen zurückübertragen.
In F i g. 1 sind ein Blockdiagramm und ein Computer-Hardware-System dargestellt, das die Erfindung anwendet. Ein Hauptspeicher 1Ol besteht aus vier Metalloxyd-Halbleitcr-Speichermodulen (MOS-Speichermodulcn).
Die vier Speichermodule 1 bis 4 sind über den Hauptspeicher-Sequenzer 102 mit der zentralen Verarbeitungseinheit 100 verbunden. Die vier Speichermodule 1 bis 4 sind ebenfalls über den Hauptspeicher-Sequenzer 102
und den IOC (nicht abgebildet) mit dem Peripherie-Untersystem, z. B. den Magnetbandeinheiten und Platteneinheiten
(nicht abgebildet), verbunden. Der Hauptspeicher-Sequenzer ermöglicht den Zugriff auf allen vier Speichermodulen
sowie deren Steuerung.
Die Funktionen der CPU werden von einem Festspeicher (ROM), der hier als Steuerspeichereinheit 110
bezeichnet wird, gesteuert
Der Steuerspeicher-Interface-Adapter 109 ist in Verbindung mit der Steuerspeichereinheit 110, der Datennuß-Steuereinheit
106, der Adreß-Steuereinheit 107 und der arithmetischen Logikeinheit 112, um den Betrieb
des Steuerspeichers zu steuern. Der Steuerspeicher-Interface-Adapter 109 beinhaltet eine Logik zur Adreßänderung
des Steuerspeichers, zum Testen, zur Fehlerüberprüfung, und zur Hardware-Adreßerzeugung. Die
Hardware-Adreßerzeugung wird im allgemeinen zur Entwicklung der Startadresse von Fehlersequenzen oder
für die Initialisierungs-Sequenz verwendet
Der Pufferspeicher 104 wird zur Speicherung der am meisten oder der zuletzt gerade benutzten Informationen
verwendet die von der CPU verarbeitet werdea
Die Datenfluß-Steuereinheit 106 führt die Interface-Funktion zwischen der CPU 100 und dem Hauptspeicher
101 und/oder dem Puffer-Speicher 104 durch. Während einer Speicher-Leseoperation können Informal inen im
Hauptspeicher oder im Pufferspeicher lokalisiert werden. Die Datenfluß-Steuereinheit hat die Aufgabe, festzustellen,
welche Einheit die Informationen enthält und diese Informationen zum richtigen Zeitpunkt den CPU-Registern
zuzuleiten. Die Datenfluß-Steuereinheit führt ebenfalls die Maskierung während partieller Schreiboperationen
durch.
Die Befehlserfassungseinheit 108, die mit der Datenfluß-Steuereinheit eines Stacks der Adreß-Steuereinheit
107. der arithmetischen Logik-Einheit 112 und der Steuerspeicher-Einheit 110 über Interface-Funktionen verbunden
ist, hat die Aufgabe, der CPU 100 ständig Befehle zuzuführen.
Die Adreß-Steuereinheit 107 ist mit der Befehls-Erfassungs-Einheit 108, dem Pufferspeicherverzeichnis 105,
dem Hauptspeicher-Sequenzer 102, der arithmetischen Logik-Einheit 112, der Datenfluß-Steuereinheit 106 und
der Steuerspeicher-Einheit 110 über den Steuerspeicher-Interface-Adapter 109 verbunden. Die Adreß-Steuereinheit
107 ist für die gesamte Adreß-Entwicklung in der CPU verantwortlich.
Die arithmetische Logikeinheit 112, die über Interface-Funktionen mit der Adreß-Steuereinheit 107, der
Befehls-Erfassungseinheit 108 und dem Steuerspeicher 110 verbunden ist, ist die Hauptarbeitszone der CPU 100.
Ihre Hauptfunktion besteht darin, die von der CPU angeforderten arithmetischen Operationen und Datenmanipulationen
durchzuführen.
Mit der arithmetischen Logikeinheit 112 und der Steuerspeicher-Einheit 110 ist die lokale Speichereinheit 111
verbunden, die typischerweise aus einem 256-Positions-Festkörperspeicher (32 Bits pro Position) und der
A uswahl- und Lese/Schreib-Logik für den Speicher besteht.
Die lokale Speichereinheit !! 1 wird zur Speicherung von CPU-Sieuerinionriätiönen und Wärtungsinformationen
benutzt Zusätzlich enthält die lokale Speichereinheit 111 Speicherpositionen, die hauptsächlich zur
zeitweiligen Speicherung von Operanden und Teilresultaten während Datenmanipulationen verwendet werden.
Die zentrale Verarbeitungseinheit 100 enthält typischerweise 8 Basis-Register (BR) 116, die bei der Adreß-Entwicklung
zur Definierung einer Segment-Nummer, eines Offset und einer Ringnummer verwendet werden.
Der Offset ist ein Hinweis innerhalb des Segments, und die Ringnummer wird in der Adreß-Legalitätsrechnung
verwendet, um die Zugriffsrechte für eine bestimmte Zugriffsoperation zu einem Segment zu überprüfen.
Der Befehlszähler 118 ist mit dem lokalen Register des Hauptspeichers (MLR) 103 und der Befehlserfassungs-Einheit
108 verbunden; er ist ein 32-Bit-Register, das die Adresse des nächsten Befehls und die gegenwärtige
Ringnummer des Prozesses (PRN) enthält Die zentrale Verarbeitungs-Einheit beinhaltet weiterhin ein T-Register
114, das über Interface-Funktionen mit der Befehls-Erfassungseinheit 108 verbunden ist und typischerweise
ein 32-Bit-Register ist, das eine Segmentnummer und eine positive 16-Bit- oder 22-Bit-Ganzzahl enthält, mit dem
die relative Adresse der Spitze der Prozedur-Stacks festgelegt wird. Das Status-Register 115 ist ein 8-Bit-Register
in der CPU, das unter anderem die letzte Ringnummer enthält, d. h. den vorherigen Wert tier Prozedur-Ringnummer(PRN).
Der Hautspeicher 101 wird durch das Speicher-Adreßregiscrr (MAR) 1IS adressiert, und die'von (MAR) 119
adressierte Information wird abgegriffen und zwischenzeitlich im Speicher-Lokal-Register (MLR) 103 gespeichert.
In F i g. 3 ist ein Flußdiagramm der allgemeinen Regeln für die segmentierte Adreßentwicklung dargestellt.
Bei der in F i g. 3 dargestellten Adreßentwicklung können 16 indirekte Adressierungspegel in der Adreßentwicklung
benutzt werden. Dies ist natürlich für den Konstrukteur lediglich eine Frage der Auswahl. ?,!
In den Fig.4A bis 4] stellen die Fig.4A und 4B das Format des durch das Bezugszeichen 118 von Fig. I |:
gekennzeichneten Befehlszählers dar. Der Befehlszähler (IC) 118 ist ein 32-Bit-Register, das die Adresse des ;
nächsten Befehls und die gegenwärtige Ringnummer des Prozesses (PRN) enthält. Gemäß den F i g. 4A und 4B *;
ist das TAG ein 2-Bit-Feld. PRN ist ein 2-Bit-Feld, das die gegenwärtige Ringnummer des zur Festlegung der 60 ¥
Zugriffsrechte zum Hauptspeicher zu benutzenden Prozesses angibt. SEG ist typischerweise entweder ein f
12-Bit- oder ein 6-Bit-Feld, das die Nummer des Segments angibt, in dem die Befehle durchgeführt werden *.·'
sollen. Das OFFSET ist typischerweise entweder ein 16-Bit- oder ein 12-Bit-Feld, das die Adresse das Befehls :;
innerhalb des SEG-Segments definiert. ;
Die I"i g. 4C bis 4F stellen das Format von Segment-Desciptors dar, wobei die Fi g. 4C und 4D das erste und 65 <■'
zweite Wori eines direkten Segment-Descriptors darstellen, wogegen in den F i g. 4E und 4F das erste und das
zweite Wort eines indirekten Segment-Descriptors gezeigt ist. %
Die Länge des Segment-Descriptors beträgt 2 Worte, jedes Wort besteht aus 32 Bits. In den F i g. 4C bis 4D ist
jeweils das erste und das zweite Wort eines direkten Segment-Descriptors dargestellt P ist ein Anwesenheits-Bit
Wenn P gleich 1 ist befindet sich das vom Segment-Descriptor definierte Segment im Hauptspeicher, wenn
P gleich Null ist ist das Segment nicht vorhanden, und ein Zugriff zum Segment-Descriptor löst eine Ausnahme
»fehlendes Segment« aus. Alle anderen Felder innerhalb eines Segment-Descriptors haben nur dann eine
Bedeutung, wenn P den Wert 1 hat A ist das Verfügbarkeits-Bit Wenn A gleich Null ist ist das Segment nicht
verfügbar (oder gesperrt), und ein Zugriff zum Segment löst eine Ausnahme »Segment nicht verfügbar« aus.
Wenn A gleich Eins ist ist das Segment verfügbar (oder freigegeben), und es kann erfaßt werden. I ist das
Umleitungs-Bit Wenn I gleich Null ist ist der Segment-Descriptor direkt Wenn I gleich Eins ist ist der
Segment-Descriptor indirekt U ist das Benutzt-Bit Wenn U gleich Null ist ist kein Zugriff auf das Segment
erfolgt Wenn U gleich Eins ist ist ein Zugriff auf das Segment erfolgt U wird durch jeden Segment-Zugriff auf
Eins gesetzt W ist das Geschrieben-Bit Wenn W gleich Null ist ist im Segment keine Schreiboperation
durchgeführt worden. Wenn W gleich 1 ist ist im Segment eine Schreiboperation durchgeführt worden. W wird
durch alle Schreiboperationen gesetzt GS ist das Durchschalt-Semaphor-Bit Wenn der bereits erwähnte
Verfahrens-Aufruf-Mechanismus erfordert, daß das Segment ein Durchschalt-Segir.ent ist oder wenn der Prozedur-Kommunikations-Mechanismus
(nicht dargestellt) erfordert, daß das Segment ein Segment-Descriplor-Segment
(SD) ist werden die GS-Bits überprüft Um ein gültiges Durchschaltsegment zu sein, müssen die GS-Bits
den Wert 10 haben. Um ein gültiges SD-Segment zu sein, müssen die GS-Bits den Wert 01 haben. Wenn ein
Durchschalt- oder ein SD-Segment nicht erforderlich ist werden diese Bits ignoriert Das BASE ist ein 24-Bit-FeId,
das die absolute Adresse in Vierfachworten des ersten Bytes des Segments definiert Dieses Feld wird mit
16 multipliziert um die Byte-Adresse der Segment-Basis zu errechnen. Das SIZE-FeId wird zum Errechnen der
Segment-Gijöae verwendet Wenn STN größer oder gleich Null jedoch kleiner oder gleich 6 ist beträgt die
Länge aes SiZE-Feides iö Bits. Wenn STN größer oder gleich 8, jedoch kleiner oder gleich 15 ist beträgt die
Größe des SIZE-Feldes 12 Bits. Die Anzahl der Bytes im Segment beträgt 16 X(SIZE+1). Wenn SIZE Null ist,
beträgt die Segment-Größe 16 Bytes. RD ist das Lese-Zugriffsfeld. Dieses 2-Bit-Feld gibt die maximale EAR an
(tatsächliche Adreß-Ringnummer) bei der eine Leseoperation im Segment zulässig ist (Eine Prozedur kann
immer ihr eigenes Segment lesen, wenn EAR gleich PRN ist) WR ist das Schreib-Zugriffsfeld. Dieses 2-Bit-Feld
gibt die maximale EAR an, bei der eine Schreiboperation im Segment zulässig ig* und die minimale FRN bei der
das Segment durchgeführt werden kann. MAXR ist die maximale Ringnummer. Dieses 2-Bit-Feld gibt die
maximale PRN an, bei der das Segment benutzt werden kann. WP ist das Schreiberlaubnis-Bit Dieses Bit gibt an,
ob eine Schreiboperation am Segment durchgeführt werden kann. Wenn WP gleich Null ist kann keine
Schreiboperation durchgeführt werdea Wenn WP gleich Eins ist kann eins Schreiboperation durchgeführt
werden, wenn ί: AR gleich oder größer als Null, jedoch gleich oder kleiner als WR ist EP ist ein Ausführungserlaubnis-Bit
Dieses Bit gibt an, oh das Segment benutzt werden kann. Wenn EP gleich Null ist darf das Segment
nicht benutzt werden. Wenn EP gleich Eins ist kann das Segment bei jeder PRN benutzt werden, bei der PRN
gleich oder größer als WR, jsdoc'- gleich oder kleiner als MAXR ist MBZ ist ein Sonderfeld, das, wenn es
erzeugt wird, vor seinem Gebrauch durch die Hardware von der Software auf Null gelöscht werden muß.
In den Fig.4E bis 4F sind die dargestellten Definitionen der verschiedenen Felder ähnlich den bereits
aufgeführten; das Wort 0 beinhaltet jedoch ein Speicherplatz-Feld und Wort 1 ein RSU-FeId. Das Speicherplatz-Feld
ist ein 28-Bit-Feld, das die absolute Adresse eines direkten Segment-Descriptors angibr. Der Wert im
Speicherplatz-Feld muß ein Vielfaches von 8 betragen. Das RSU-FeId ist ein für Software-Zwecke reserviertes
Sonderfeld. Die F i g. 4G bis 4H stellen das Format der Basis-Register dar (BR), die im Adreß-Errechnungs-Prozeß
zur Definition einer Segmenttabellen-Nummer, einer Segmenttabellen-Eingabe-Nummer, eines OFFSET
und einer Ringnummer verwendet werden.
Gemäß Fig. 1 und Markierung 116 sind typischerweise 8 Basis-Register vorhanden. Ein Basis-Register wird
als Basisregister 0 bis 7 spezifiziert oder identifiziert. Die Größe eines Basis-Registers beträgt 32 Bits. Das
Basis-Register-Format von Fig.4G wird für kleine Segmente benutzt d.h. Segmente, bei denen STN gleich
oder größer als 8, jedoch kleiner oder gleich 15 ist, wogegen das Format des Basis-Registers von F i g. 4H für
große Segmente verwendet wird, d. h. Segmente, bei denen STN größer oder gleich Null, jedoch kleiner oder
gleich 6 ist In den F i g. 4G bis 4H ist TAG ein 2-Bit-Feld, das dem TAG des bereits erwähnten Daten-Descriptors
entspricht. RING ist ein 2-Bit-Feld, das für Schutzzwecke die mit der segmentierten Adresse verbundene
Ringnummer enthält. Das bereits erwähnte SEG-FeId identifiziert ein in einer Segmenttabelle beschriebenes
Segment STN ist die Segment-Tabellennummer und STE ist die Segmenttabellen-Eintragsnummer. OFFSET ist
je nach Segmenttabellen-Nummer ein 16-Bit oder ein 22-Bit-Feld, das eine positive ganze Zahl definiert.
OFFSET wird bei der Adreßentwicklung als Hinweis innerhalb eines Segments benutzt
In den F i g. 41 bis 4J ist das Format des T-Registers dargestellt Das T-Register ist ein 32-Bit-Register, das eine
Segmentnummer und eine positive 16-Bit- oder 22-Bit-Ganzzahl enthält, mit dem die relative Adresse der Spitze
des bereits erwähnten Prozedur-Stacks definiert wird. Das T-Register ist in Fig. 1 durch die Markierung 114
gekennzeichnet. Die verschiedenen Felder des T-Registers entsprechen der oben aufgeführten Definition.
Die Fig.3 und 4A bis 4J enthalten eine detailliertere Beschreibung der Berechnung der absoluten Adresse
sowie der Zugriffs-Überprüfung. Im allgemeinen besteht die Berechnung der absoluten Adresse aus dem
Aufrufen eines durch STN und STE angegebenen Segment-Descriptors und der Benutzung des Segment-Descriptors
auf vier Arten:
Zugriffs-Überprüfung, Berechnen der absoluten Adresse, Begrenzungs-Überprüfung und Aktualisierung (U-
und W-Kennmarken). Die absolute Adresse kann direkt oder indirekt sein, und sie wird durch eine crslc
Ableitung einer tatsächlichen Adresse aus STN, STE und SRA (relative Segmcntadrcsse) erzeugt. STN wirt! aus
den Bits 4 bis 8 des in der Bcfehlssilbc eines Befehls spezifizierten Basis-Registers BR erzeugt. Wenn STN gleich
7 ist, wird eine Ausnahme »Überschreitung der Segmenttabellen-Wortmatrix« erzeugt. STE wird aus dem in der
Adrcßsilbe spezifizierten Basis-Register erzeugt. Wenn STN 4 :4 ist (d. h. bei Bit 4 beginnt und die nächsten 4
;."' Bits mit einschließt), und größer oder gleich Null oder kleiner oder gleich 6 ist, befindet sich STE in den Bits 8 und
Ü 9 eines Basis-Registers. Wenn STN 4 :4 ist (d. h. 4 Bits beginnend mit Bit 4) und größer oder gleich 8, jedcch
kleiner oder gleich 15 ist, befindet sich STE in den Bits 8 bis 15 eines Basis-Registers BR. Die relative Segment-Adresse
SRA für die direkte Adressierung wird durch Addition der Verschiebung in der Adreßsilbe, des
OFFSET des Basis-Registers BR und des 32-Bit-Inhalts eines Index-Registers, wenn in der Adreßsilbe spezifi-
■ ziert, errechnet. Die Summe dieser drei Größen ist eine vorzeichenlose binäre 32-Bit-Ganzzahl, die kleiner als
die den Segmenten STN, STE entsprechende Segmentgröße sein muß.
Die indirekte Adressierung erfolgt durch Aufrufen eines Daten-Descriptors und Berechnen einer Adresse aus
diesem Descriptor. Die tatsächliche Adresse des Daten-Descriptors wird wie bei der direkten Adressierung
errechnet, mit dem Unterschied, daß der Inhalt des Hinweisregisters nicht benutzt wird. Bei der Entwicklung der
Adresse aus dem Daten-Descriptor kann die tatsächliche Adresse durch eine indirekte Adressierung zu einem
lTS-Segment-Descriptor und eine indirekte Adressierung zum ΓΓΒΒ-Basis-Descriptor errechnet werdea Wenn
es sich um den ITS-Descriptor handelt, werden STN und STE in der gleichen Weise wie bei einem Basis-Register
aus dem Descriptor abgegriffen. SRA wird durch Addition der Verschiebung innerhalb des Descriptors mit dem
Inhalt eines in der Adreßsilbe spezifizierten Hinweis-Registers errechnet Wenn der Descriptor ein ITBB-Descriptor
ist, werden STN und STE aus dem im BBR-FeId des Descriptors in gleicher Weise wie bei der direkten
Adressierung abgegriffen (d. h. das vom ITBB-Descriptor benutzte Basis-Register). SRA w:,rd durch Addition
der Verschiebung innerhalb des Descriptors mit dem OFFSET des Basis-Registers und dem Inhalt eines in der
Adreßsilbe spezifizierten H in weis-Registers errechnet.
Wie in F i g. 3 dargestellt, kann der indirekte Adressierungsprozeß bis auf 16 Pegel erweiter' werden.
Jede tatsächliche Adresse enthält Schutzinformationen, die bei der Adreßentwicklung errechnet werden und
die Zugriffsrechte der Ringschutz-Hardv^are des absoluten Adreß-Berechnungsmechanismus überprüfen. Die
tatsächliche Adresse enthält Schutzinformationen in Form einer tatsächlichen Adreß-Ringnummer EAR. Die
EAR wird aus der Basis-Register-Ringnummer BRN und der Ringnummer des laufenden Prozesses PRN durch
Abgreifen der maximalen Ringnummer errechnet Bei der Entwicklung der EAR für die indirekte Adressierung
kommt eine etwas umständlichere, jedoch im wesentlichen mit Jer indirekten Adressierung identische Prozedur
zur Anwendung. Bei der indirekten Adressierung ist die EAR für das Erfassen des ersten Descriptors (EAR I)
nochmals die maximale Ringnummer des in der Adreßsilbe spezifizierten Basis-Registers und die Ringnummer
des laufenden Prozesses (PRN), der sich im Befehlszähler 118 von F i g. 1 befindet und im 00-Register 512 von
$ F i g. 5 gespeichert wird. Die EAR für das Erfassen des zweiten Descriptors (EAR 2) der indirekten Vielfachpe-
ti gel-Adressierung ist das Maximum der folgenden Werte:
a) EARI;
U b) die Ringnummer im ersten Descriptor, wenn die indirekte Adressierung eine indirekte Angabe eines
jp Segments ist;
g c) die Ringnummer aus einem Basis-Register 116, das als Datenbasis-Register BBR verwendet wird, wenn der
M erste Descriptor eine indirekte Adresse zum Segment-Descriptor ITBB darstellt
£i Die EAR für das Erfassen der Daten der indirekten Vielfach-Pegel-Adressierung ist das Maximum der
&jj folgenden Werte:
j.; a) EAR2:
;"' . b) die Ringnummer im zweiten Descriptor, wenn dieser ein Indirektadressen-Segment-Descriptor ITS ist;
Λ c) die Ringnummer in einem der als Daten-Basis-Register BBR benutzten Basis-Register, wenn der zweite
Descriptor eine indirekte Adresse zum Basis-Descriptor ITBB ist
In den Fig.5 und 6 wird die Übertragung und Handhabung der verschiedenen Ringnummer-Typen auf
I.: Systemebene beschrieben. Die detaillierten logischen Blockdiagramme für die Durchführung der Übertragun-
' gen und Operationen von F i g. 5 werden später beschrieben. Gemäß F i g. 6 wird in der segmentierten Adreß-
cntwicklung ein Assw.iativ-Speicher 600 verwendet, der in der US-Patentanmeldung 2 83 617 vom 24.8.1972
beschrieben ist. Der Assoziativ-Speicher 600 beinhaltet hauptsächlich einen 'UAS-Assoziator 609, dessen Schaltungen
<\ssoziativ-Speioherzellen, Bit-Abtast-Verstärker und -Treiber sowie Wort-Abtast-Verstärker und -Trei-■
ber (nicht abgebildet) beinhalten. Ein Wort oder ein beliebiger Teil eines im UAS-Assoziator 609 befindlichen
Wortes, kann gelesen und mit einem anderen Wort verglichen werden, wodurch ein Übereinstimmungs- oder
■ Nicht-Übereinstimmungs-Signal erzeugt wird, oder entweder in einem ganz?n oder in einem ausgewählten Teil
des Assoziators 609 geschrieben werden. Zum Beispiel kann das US-Register 607 eine Segment-Nummer
enthalten, die sich ebenfalls im Assoziativ-Speicher 600 befinden kann. Mit dem UAS-Assoziator 609 wird ein
Vergleich durchgeführt, und wenn Gleichheit festgestellt wird, tritt eine Übereinstimmung auf. Das Gleichheitsoder Übereinstimmungs-Signal wird der Codiereinheit 610 zugeführt Die Codiereinheit 610 hat die Aufgabe, das
Übereinstimmungs-Signal auf einer der Gleichheitsleitungen in eine 4-Bit-Adresse umzuwandeln. Die Codiereinheit
610 führt diese 4-Bit-Adresse dem UAB-Assoziator-Pufferspeicher 611 zu, so daß die in dieser speziellen
Position des UAB-Assoziator-Pufferspeichers 611 befindlichen Informationen ausgewählt werden. Die im UAB-Assoziator-Pufferspeicher
611 befindlichen Informationen können zur zeitweiligen Speicherung in das UV-Registcr
613 übertragen werden oder zur Übertragung jeweils dem QA- oder QB-Bus 614 bzw. 615 zugeführt
werden. Durch diese Plazierung einer vorgespeicherten Segmentnummer im Assoziativ-Speicher 600 (die dort
nach einer Entwicklung einer absoluten Adresse plaziert worden sein kann) ist eine Regenerierung der gleichen
Adresse nicht erforderlich. In Fig.6 ist der UAB-Assoziator-Pufferspeicher 611 beim Speichern eines ersten
und /weiten Wortes eines Segment-Descriptors dargestellt; andere Informationstypen können jedoch auch hier
gespeichert werden.
Gemäß Fig.6 wird jedes der 8 Basis-Register 602 jeweils über die UG- und UH-Register 603 bzw. 604
adressiert, die die Basis-Register-Adressen aus einer Befehls-Adreßsilbe oder einem durch die Befehlsformate
spezifizierten Basis-Register enthalten. Die Basis-Register 602 enthalten Informationen wie z. B. TAG, die
Basis-Register-Ringnummer BRN, die Segment-Tabeiiennummer STN, der Segment-Tabeileneintrag STE und
»OFFSET«, die in den Basis-Registern 1 und 2 der Basis-Registergruppe 602 enthalten (oder abgebildet) sind.
Das Schreiben in den Basis-Registern wird von der UWB-Logik 601 unter der Steuerung durch Mikrooperationen durchgeführt. Als Beispiel ist dargestellt, daß die Informationen aus dem UM-Register 502 von F i g. 5 in die
Bit-Positionen (2, 3) eines ausgewählten Basis-Registers geschrieben werden können; die Informationen vom
ίο QA-Bus können ebenfalls in die Basis-Register übertragen werden, und als Vorbereitung wird ein ausgewähltes
Basis-Register gelöscht, d. h. mit Nullen aufgefüllt. Das Lesen aus einem beliebigen dieser Basis-Register wird
von der UBR-Logik 605 durchgeführt. Im allgemeinen ermöglicht die UBR-Logik 605 die Übertragung des
Inhalts des entsprechenden Basis-Registers auf den QA- oder QB-Bus oder zum UN-Register 608. Es ist /u
bemerken, daß das UN-Register 608 die Bits 8 bis 31 der Basis-Register beinhaltet, die den OFFSFT-Teil der
segmentierten Adresse darstellen. Weiterhin liest die UBR-Logik 605 bei Adressierung durch eine im Bcfchls-Pufferspeicher IB enthaltene Adresse (nicht dargestellt) die SEG-Segmentnummer (die aus STN und STE
entwickelt wird) über die UBS-Übertragungslogik 606 in das US-Register 607. Der Vergleich der Segmentnummer SEG im US-Register 607 mit dem Assoziativ-Speicher 600 kann nun, wie bereits beschrieben, durchgeführt
werden. Es ist zu bemerken, daß die Sits (4 bis i5) des QA-Süs ebenfalls in das US-Register 607 eingc-rcseii oder
aus diesem ausgelesen werden können, !n gleicher Weise können die Bits 8 bis 31 vom QA-Bus 614 in das
UN-Register 608 übertragen werden. Weiterhin können die Bits (9 bis 11) des US-Registers 607, wie vom Pfeil
US (9 bis 11) gekennzeichnet, in den QA-Bus 614 eingelesen werden (die Pfeile zu den verschiedenen Registern
und/oder Logikschaltungen kennzeichnen die Datenquelle und die mit einer Nummer versehenen Pfeile kennzeichnen die Bit-Nummern dieser Daten).
Wie in den Fig.5 und 6 dargestellt, speichert ein 2-Bit-UP-Register 501 die Ringnummer des laufenden
Prozesses PRN. Die Ringnummer des laufenden Prozesses PRN ergibt sich über die Bits IC (2—3) des QA-Bus
614 von Fig.6 aus den Bits 2 und 3 des Befehlszählers (118 von Fig. 1). Die Bits IC (2-3) des QA-Bus 614
werden unter der Steuerung durch eine Mikrooperation UV9QAC ia das 2-Bit-UV-Register 503 übertragen. Die
Mikrooperationen ergeben sich aus Mikrobefehlen in der Steuerspeicher-Einheit UO. In Fig.5 kennzeichnet
der mit einem Kreis versehene Punkt eine Mikrooperation, und die ersten beiden Buchstaben der Bezeichnung
der Mikrooperation kennzeichnen die Bestimmung der zu übertragenden Daten; der vierte und fünfte Buchstabe kennzeichnen die Quelle der übertragenen Daten; das dritte Zeichen kennzeichnet, ob eine vollständige oder
eine Teil-Übertragung durchgeführt wird, wobei F eine vollständige Übertragung kennzeichnet, wogegen das
sechste Zeichen angibt, ob das Signal, das die Übertragung auslöst, einen hohen oder einen niedrigen Wert hat;
die geraden Ziffern kennzeichnen einen niedrigen Signalwert, und die ungeraden Ziffern kennzeichnen einen
hohen Signalwert Als Anwendungsbeispiel dieser Regel kennzeichnen die Bits 2 und 3 auf dem QA-Bus den
Strich des QA-Pfeils (2, 3): hierdurch wird gekennzeichnet, daß PRN die QRN-Verfahren-s-Ringnummer hl. die
unter der Steuerung durch die Mikrooperation UV9QA0 zu übertragen ist und angibt, daß die Übertragung zum
UV-Register durchgeführt werden soll und eine Teilübertragung des QA-Bus ist, und daß die Datenquelle der
QA-Bus ist und eine unbedingte Übertragung durchgeführt wird, da das sechste Zeichen gleich Null ist. Die
Übertragung von der QA-Bus-Quelle zu UV-Register ist unbedingt Diese »0« ist das entsprechende siebte
Zeichen in der logischen Datei-Bezeichnung des Unterbefehls UV9QA10. Wenn die Prozeß-Ringnummcr PRN
einmal vom QA-Bus 614 zum UV-Register 503 übertragen ist, findet unter der Steuerung durch die Mikrooperation UM9UV0 eine weitere Übertragung vom UV-Register 503 zum UN-Register 502 statt. Schließlich erfolgt
eine weitere Übertragung vom UM-Register 502 unter der Steuerung durch eine UP9UM0-Mikrooperation
zum UP-Register501.
Das 2-Bit-Register UM 502 wird zur Erzeugung der tatsächlichen Adreß-Ringnummer EAR während der ITS-
und ITBB- (d. h. Umleitung zum Segment und Umleitung zur Basis, EAR = MAX (BRN, PRN, DRN/BBR
(BRN) usw.) Adreßerzeugung für die Befehlsformat-Typen von Adreßsilbe 1 und Adreßsilbe 2 benutzt. Die EAR
so wird gemäß den bereits erwähnten Regeln unter Benutzung eines oder mehrerer im Block 510 dargestellten
Tests erzeugt KTd die maximale Ringnummer wird entwickelt und im UM-Register 502 untergebracht das oie
tatsächliche Adreß-Ringnummer EAR speichert (Einzelheiten der Logik oder die Durchführung der Vergleiche
von Block 510 werden später genauer beschrieben). Das UO-Register wird benutzt um die Adreßsilbe 1 der
tatsächlichen Adreß-Ringnummer EAR sicherzustellen, wenn die Adreßsilbe 2 zum Erfassen von EAR 2 benutzt
Die 2-Bit-Register UV 503 und UW 504 werden hauptsächlich zur Speicherung verschiedener Ringnummem
benutzt die sich an der Außenseite der Ringüberprüfungs-Hardware von F i g. 5 ergeben und die zu anderen
Teilen der Ring-Überprüfungs-Hardware übertragen oder dort verarbeitet werden. Zum Beispiel wird die
Ringnummer BRN des Basis-Registers von den Bit-Positionen 2 und 3 der UBS-Übertragungslogik 606 unter
der Steuerung durch die Mikrooperation UVFBSO zum UV-Register 503 übertragen; die maximale Ringnummer
MAXR von Wort 2 des Segment-Descriptors (ebenfalls in den Bits 36 und 37 des UAB-Assoziator-Puffer-Speichers 611 dargestellt) wird vom UAB-Pufferspeicher 611 unter der Steuerung durch die Mikrooperation UVFABI zum UV-Register 503 übertragen. Weiterhin werden die Bits 34 und 35 des UAB-Pufferspeichers 611, die
die Schreib-Ringnummer WR darstellen, unter der Steuerung durch die Mikrooperation UVFABO zum UV-Register 503 übertragen. Das UW-Register 504 nimmt ähnliche Übertragungen von anderen Ringnummern aus
verschiedenen Teilen des Systems auf. Zum Beispiel können die Bits 34 und 35, die die Schreib-Ringnummer WR
des UAB-Pufferspeichers 611 darstellen, ebenfalls unter der Steuerung durch die Mikrooperation UWFABI
zum UW-Register 504 übertragen werden; die Bits 32 und 33, die Lese-Ringnummer RD des UAB-Pufferspei-
chcrs 611 können ebenfalls unter der Steuerung durch die Mikroopenilion UWI'AHO um UW-Register 504
übertrügen worden; weiterhin können die Bits 0 und I des QA-Uns 614 unter der Steuerung durch die Mikroopenilion
IJW9QA0/um UW-Rcgis(cr 504 übertragen werden. Es ist weiterhin zu bemerken. dnU mehrere Überiragungspfiidc
vom UW-Register 504 unter der Steuerung durch die Mikrooperation UV9UW0zum UV-Register
503 benutzt werden; der Übertragungspfad vom UV-Register 503 zum UM-Register 502 unter der Steuerung
durch die Mikrooperation UM9UV0;der Übertragungspfad vom UM-Register 502 zum UP-Register 501 unter
der Steuerung durch die Mikrooperation UP9UM0; der Übertragungspfad vom UP-Register 501 zum UM-Ref
;.-ter 502 unter der Steuerung durch die Mikrooperation UM9UP0; der Übertragungspfad vom UM-Register
502 zum UO-Register 512 unter der Steuerung durch die Mikrooperation U09UM0; und schließlich der Übertragungspfad
vom UO-Register 512 zum UM-Register 502 unter der Steuerung durch die Mikrooperation
UM9U00.
Daher beinhaltet das UP-Register 501 die Ringnummer des laufenden Prozesses PRN; die Register UM 502
und UO 512 werden zur Übertragung von Operationen und weiterhin zur Erzeugung der EAR benutzt; das
UV-Register 503 kann zu verschiedenen Zwecken und zu verschiedenen Zeitpunkten die Ringnummer PRN des J
laufenden Prozesses, die Basis-Register-Ringnummer BRN, die maximale Ringnummer MAXR, die Schreib-Ringnummer
WR oder die Lese-Ringnummer RD speichern. Das UW-Register 504 kann zu verschiedenen
Zeitpunkten die Lese-Ringnummer RD, die Schreib-Ringnummer WR und die Bits 0 und 1 des QA-Bus aufnehmen.
UMR 505 ist eine Logikschaltung, deren Einzelheiten in Fig.8d dargestellt sind und die den Inhalt der
Register UM und UV vergleicht. 'JhAR 503 überüägi den größeren der freien Werte in die Register und
speichert diesen Wert im UM-Register 502 unter der Steuerung durch die Mikrooperation UMFRMO. Dies ist
eine Möglichkeit zur Erzeugung der tatsächlichen Adreß-Ringnummer EAR. Die UMR-Logik 505 kann ebenfalls
den größeren Wert des Inhalts von Registern UP oder der Bits 2 und 3 der UBS-Logik 606 erzeugen. Dies ist
eine weitere Methode und/oder ein zusätzlicher Schritt zur Erzeugung der tatsächlichen Adreß-Ringnummer
EAR. Die UMR-Logik 505 wird ebenfalls benutzt, um festzustellen, ob während der Übertragung einer Schreib-Ringnummer
WR zum UV-Register 503 eine Schreib-Überschreitung aufgetreten ist oder nicht, und sie vergleicht
danach den Inhalt vom UM-Register 502, (das EAR enthält) mit dem Inhalt des UV-Registers 503 um
festzustellen, welcher Inhalt größer ist. Das das UM-Register 502 die tatsächliche Adreß-Ringnummer EAR
speichert, zeigt ein Vergleich des UM-Registers mit dem UV-Register an, ob EAR größer als WR oder umgekehrt
ist. Wenn WP (d. h. das Schreiberlaubnis-Bit im Segment-Descriptor) gleich Eins ist und sich EAR im
Bereich 0 EAR WR befindet, kann eine Schreiboperation zum Segment durchgeführt werden. Es ist zu bemerk
n, daß die Eingaben zur UMR-Logik 505 direkt oder indirekt von allen Registern 501 bis 504 aus, von anderen
Logikschaltungen 506,507 und auch von der UBS-Logik 606 aus durchgeführt werden können.
Die UWV-Logik 506 entspricht der detailliert in Fig.8a dargestellten Logik. Die UWV-Logik 506 erhält
direkte oder indirekte Eingaben von den Registern 501 bis 504 und jeweils von den Logikschaltungen 505 und
507; sie erzeugt ein Ausführungs-Überschreitungssignal, wenn ein Vergleich der Register UW 504, UM 502 und
UV 503 anzeigt, daß die maximale Ringnummer MAXR gleich oder größer als die tatsächliche Adreß-Ringnummer
EAR ist, gleich oder größer als die Schreib-Ringnummer WR ist oder logisch Nu!! ist, d. h, damit eine
Prozedur in der Lage ist, in einem bestimmten Segment das durch die tatsächliche Adresse gekennzeichnet ist, zu
arbeiten, muß die maximale Ringnummer MAXR größer oder gleich der tatsächlichen Adreß-Ringnummer sein,
und die tatsächliche Adreß-Ringnummer EAR muß größer oder gleich der Schreib-Ringnummer WR sein. Die ,0
UWV-Logik 506 führt auch die in Block 510 dargestellten Tests durch. Es kann angezeigt werden, daß der Inhalt
des UW-Registers gleich oder kleiner als der Inhalt des UV-Registers ist; daß der Inhalt des UM-Registers gleich
oder größer als der Inhalt des UV-Registers ist; daß der Inhalt des UV-Registers gleich dem Inhalt des
UM-Registers ist; daß der Inhalt des UV-Registers gleich oder größer als der Inhalt des UM-Registers ist; und
daß der Inhalt des UM-Registers größer als der Inhalt des UW-Registers ist. Wenn diese Tests durchgeführt
werden, können natürlich verschiedene Ringnummer-Werte die Register belegen.
Die UEP-Logik 507 entspricht der detailliert in Fig.8b dargestellten Logik. Die UEP-Logik 507 erzeugt in
Verbindung mit der UWV-Logik 506 die Lese-Überschreitungsausnahme. Die Lese-Überschreitungsausnahme
kann jedoch übersprungen werden, wenn die tatsächliche Adreß-Ringnummer EAR gleich der Ringnummer des
laufenden Prozesses PRN ist da eine Prozedur immer die Erlaubnis zum Lesen ihres eigenen Segments besitzt
und wenn die Segment-Nummer des Prozedur-Segment-Descriptors (nicht dargestellt) und die Segment-Nummer
der bei der Erzeugung der tatsächlichen Adresse benutzten Adreßsilbe identisch sind.
Zur Darstellung des Überspringens des Lese-Überschreitungssignals wird angenommen, daß die tatsächliche
Adreß-Ringnummer EAR größer als die Lese-Nummer RD ist die ein Lese-Überschreitungs-Signal mit logisch
Hins erzeugen würde, das als ein Eingang dem UND-Gatter 522 zugeführt würde. Das Lese-Überschreitungs-Aufnahmesignal
kann unter den folgenden beiden Bedingungen nicht erzeugt werden, selbst wenn ein Lese-Überschreitungs-Signal
vorhanden ist:
1. Die tatsächliche Adreß-Ringnummer EAR ist gleich der Prozeß-Ringnummer PRN; d.h. der Inhalt des
UN-Registers ist gleich dem Inhalt des UP-Registers; und
2. Die Segment-Nummer, die in der Adreßsilbe des Segments enthalten ist in dem eine Prozedur eine
Leseoperation durchführen will, ist gleich der Segment-Nummer des (nicht abgebildeten) Prozedur-Segment-Descriptors,
der gegenwärtig ablaufenden Prozedur, und dies wird durch Setzen eines Bits gekennzeichnet
das als P-Bit bezeichnet wird und das 13. Bit des UE-Registers 650 ist (Das UE-Register 650 ist ein
Speicher des Inhalts des UAS-Assoziators 609, wenn sich aus einem Vergleich des Inhalts des US-Registers
607 ein »Hit« ergeben hat) Da in diesem Beispiel angenommen wird, daß EAR gleich PRN ist, wird die
UEP-Logik 507 dem UND-Gatter 520 ein »1«-Signal als ein Eingang zuführen und da weiterhin angenommen
wurde, daß die Segment-Nummer SEG der Adreß-Silbe des adressierten Segments gleich der Seg-
ment-Nummer SEG des Prozedur-Segment-Descriptors (nicht dargestellt) der gerade ablaufenden Prozedur
ist, wird das P-Bit des Prozedur-Segment-Descriptors gesetzt und .iun wird der andere, dem UND-Gatter
520 zugeführte Eingang, auf logisch 1 sein, und daher das UND-Gatter 520 freigeben; daher wird ein
logisches »1«-Signal dem Eingang des Inverters 521 zugeführt, das als logisches »O«-Signal am Ausgang des
Inverters 521 auftritt und nun als ein weiterer Eingang dem UND-Gatter 522 zugeführt wird. Da dem
UND-Gatter 522 ein logisches Null-Signal zugeführt wird, kann über den Amplifier 523 kein Lesc-Übcrschreitungs-Ausnahmesignal
erzeugt werden, selbst wenn das dritte dem UND-Gatter 522 xugeführic
Signal nut logisch Eins ist.
ίο Um nun zu erläutern, wie ein Lese-Überschreitungssignal erzeugt und nicht übersprungen wird, wird angenommen,
daß der Ausgang der UEP-Logik 507 anzeigt, daß der Inhalt des UM-Registers nicht gleich dem Inhalt
des UP-Registers ist. Daraufhin würde dieser Eingang des UND-Gatters 520 logisch »0« und daher würde das
UND-Gatter 520 nun nicht freigegeben, und sein Ausgang wäre logisch »0« und würde dem Eingang des
Inverters 521 zugeführt. Da der Eingang des Inverters 521 logisch »0« ist, wäre sein Ausgang logisch »1« und
würde als ein Eingang dem UND-Gatter 522 zugeführt. Wenn weiterhin die tatsächliche Adreß-Ringnummer
EAR größer als die Lese-Ringnummer RD ist (d. h. der Inhalt des UM-Registers ist größer als der des UW-Registers),
wäre dieses Signal auf logisch »1« und würde als ein weiterer Eingang dem UND-Gatter 522 zugeführt.
Das UND-Gatter besitzt noch einen dritten Eingang, der ebenfalls logisch »1« sein muß, um das UND-Gatter
522 freizugeben. Dieser dritte Eingang ist logisch »1«. wenn das UND-Gatter 526 freigegeben ist. Da Has
UND-Gatter 526 eine Eingangs-Klemme besitzt, die logisch »1« ist, wenn die 00-Klemme des LJRVI F-Flops 524
logisch »0« ist, wird das UND-Gatter 526 durch Anlegen des Mikrooperations-Lese-Überschreitungs-Abfragesignal
AJERVA an eine Eingangsklemme des UND-Gatters 526 freigegeben, während die 00-Klemme des
URVl F-Flops 524 logisch »0« ist. Daher sind alle Eingangsklemmen des UND-Gatters 522 auf logisch I und
erzeugen das Lese-Überschreitungs-Ausnahmesignal.
Die Ausführungs-Überschreitungsausnahme wird auf zwei Arten erzeugt. Es ist bereits erläutert worden, daß
g ein Ausführungs-Überschreitungssignal erzeugt wird, wenn die UBV-Logik 506 anzeigt, daß WR gleich oder
größer als ER ist, kleiner oder gleich MAXR ist, oder logisch Null ist. Dieser hohe Wert Ausführungs-Überschreitungssignal
wird einem »einbeinigen« UND-Gatter 550 zugeführt, das wiederum über den Amplifier 552
mit der Eingangsklemme des »zweibeinigen« UND-Gatters 553 verbunden ist. Wenn ein Ausführungs-Über-
schreitungs-Abfrage-Mikrooperationssignal AJBEVA als weiterer Eingang dem »zweibeinigen« UND-Gatter
553 zugeführt wird, wird dieses Gatter freigegeben und erzeugt seinerseits das Ausführungs-Überschreitungssignal
über den Amplifier (Verstärker) 554. Die andere Methode, mit der eine Ausführungs-Überschreitungs-Ausnahme
mit Hilfe der Ausführungs-Überschreitungs-Hardware 511 erzeugt wird, kommt zur Anwendung, wenn
das Ausführungs-Erlaubnis-Bit EP nicht gesetzt ist. Wenn diese Bedingung logisch 1 ist, wird sie dadurch
angezeigt, daß das siebte Bit des UY-Registers 613 auf logisch 1 ist; dieses Bit wird nun der Eingangsklemme
eines »einbeinigen« UND-Gatters 551 zugeführt, dessen Ausgang als logisches »1«-Signal über den Verstärker
552 einer Eingangsklemme des UND-Gatters 553 zugeführt wird. Wenn das Ausführungs-Überschreitungs-Abfrage-mikröoperätiönssignai
AjEEVA logisch 1 wird, erfolgt die Freigabe des UND-Gatters 553, und die Ausführungs-Überschreitungs-Ausnahme wird über den Amplifier 554 erzeugt.
Die Schreib-Überschreitungs-Ausnahme wird ebenfalls auf zwei Arten erzeugt. Es ist bereits erläutert worden,
wie die UMR-Logik 505 ein Schreib-Überschreitungssignal erzeugt, wenn EAR größer als WR i«. Dieses
Schreib-Überschreitungssignal wird einer Eingangsklemme des UND-Gatters 545 zugeführt. Das UND-Gatter
545 wird freigegeben, wenn seine zweite Eingangsklemme logisch 1 wird und auf diese Weise über den Verstärker
547 eine Schreib-Überschreitungsausnahme erzeugt. Die zweite Eingangsklemme des UND-Gatters 545
wird logisch 1, wenn das UND-Gatter 542 freigegeben wird. Das UND-Gatter 542 wird freigegeben, wenn die
seinen Eingangsklemmen zugeführten Eingangssignale logisch 1 sind. Ein Eingangssignal ist logisch 1, wenn das
UWVIF-Flop 541 logisch 0 ist und seinerseits ein logisches 0-Signal der Eingangsklemme des Inverters 543
zuführt, der wiederum ein logisches »1«-Signal einer Eingangsklemme des UND-Gatters 542 zuführt; das andere
Eingangssignal ist logisch 1, wenn das Schreib-Überschreitungs-Abfrage-Mikrooperationssignal AJEWVA lo-
gisch 1 ist und dies tritt auf, wenn es erforderlich ist, eine Prozedur für die Schreib-Überschreitungsausnahme
abzufragen. (Die Flip-Flops URVl F, URMl F und UWVl F werden auf logisch 0 gesetzt, wenn Unterbrechungen
oder Software auftrittXDie Flip-Flops UWV2F, URV2F und URN2F werden zur Reserve-Speicherung übermäßiger
Prüfinformationen der Ring-Überprüfung verwendet) Die andere Methode zur Erzeugung einer Schreib-Überschreitungsausnahme
wird angewendet, wenn das Schreib-Erlaubnisbit WP nicht gesetzt ist Diese Bedingung
wird dadurch gekennzeichnet, daß das Bit 6 des UV-Registers 613 logisch 1 ist Wenn diese Bedingung
gegeben ist und das logische 1-Signal (d. h. das sechste Bit des UV-Registers) als ein Eingang dem UND-Gatter
546 zugeführt wird und das Abfragesignal AJEWVA logisch 1 ist und als ein weiterer Eingang dem UND-Gatter
546 zugeführt ist, wird das UND-Gatter 546 freigegeben und über den Verstärker 547 tritt eine Schreib-Überschreitungsausnahme
auf.
Die aus den Flip-Flops 532 und 533 bestehende Logikschaltung 591 ermöglicht in Verbindung mit dem
Verstärker 530, dem UND-Gatter 531 und dem Inverter 530a die Erzeugung des maximalen Ring-Nummern-Wertes
im Register UM 502 (EAR) unter der Steuerung durch einen »Splatterw-Befehl-Unterbefehl (nicht
erläutert) aus der Befehlserfassungseinheit IFU. Wenn angenommen wird, daß das URN1F-Flip-Flop 532 auf
logisch 0 gesetzt ist, wogegen das URN2F-Flip-FIop 533 auf logisch 1 gesetzt ist wird während der Ausführung
b5 des »Splatter«-Unterbefehls die Eingangsklemms 531a des UND-Gatters 531 auf logisch 1 sein; daher wird,
wenn das Flip-Flop 532 logisch ö ist, das Signal über den Inverter 530a invertiert und das UND-Gatter 531 wird
freigegeben. Daher wird nun der Maximalwert des Inhalts des UP-Registers 501 oder die Bits 2 und 3 des
Logik-Sektors U BS 606 in das UM-Register 502 übertragen. Wenn umgekehrt das Flip-Flop 532 au/ logisch 1 ist
wird der Inhalt des UM-Registers nicht über die bereits erwähnten Quellen geändert und diejenige EAR, die im
UM-Register 502 aus der indirekten Umleitungs-Adressierprozedur entwickelt wurde, wird benutzt. Das Flip-Flop
5T3 ist ein Reservespeicher für die EAR von Adreßsilbe 2, wenn diese benutzt wird.
In den F i g. 7,8 und 5 besteht insofern eine Übereinstimmung, als daß die detaillierte Logik für die Hardware
von Fig. 5 in den Fig. 7 und 8 wie folgt dargestellt ist: Fig. 7c und U W-Register 504, Fig. 7b und UV-Register
503, F i g. 7c und Block 590, F i g. 7d und Block 591, F i g. 7e und Block 592, F i g. 7f und UP-Register 501, F i g. 7g
und UO-Register 512,Fi g. 7h und UM-Register 502, Fi g. 8a und UWV-Logik 506. Fi g. 8b 'jnd UEP-Logik 507,
und Fi g. 8g und UMR-Logik505.
Gemäß F i g. 7a besteht das UW-Register jeweils aus zwei Flip-Flops, 715a und 720a; jedes Flip-Flop kann ein
Informalions-Bit des UW-Registers aufnehmen. Mit dem Flip-Flop 7J5a sind vier UND-Gatter 711a bis 714a
gekoppelt, die über eine ODER-Funktion miteinander verbunden sind, jedes Gatter (ausgenommen Gatter 713a)
besitzt zwei Eingangsklemmen und mindestens ein Signal, das jeder Eingangsklemme zugeführt wird. Eine
Eingangsklemme des UND-Gatters 714a ist mit der Setz-Klemme UWOOOlO des Flip-Flops 715a verbunden.
Das Flip-Flop 715a ist ebenfalls mit der Klemme H27 verbunden, um von einem Taktgeber ein Timing-Signal
aufzunehmen, das als PDA-Signal bezeichnet wird. Das Flip-Flop 720a ist mit den UND-Gattern 716a bis 719a
gekoppelt, die über eine ODER-Funktion miteinander verbunden sind. Eine Eingangs-Klemme des UND-Gatters
716a ist mit einer Eingangs-Klemme des UND-Gatters 711a verbunden; eine Eingangsklemme des UND-Gatters
717a ist mit einer Eingangsklemme des UND-Gatters 712a verbunden, und eine Eingangsklemme des
UND-Gatters 719a ist mit der Eingangsklemme des UND-Gatters 714= gekoppelt, wogegen die andere Eingangsklemme
des UND-Gatters 719a mit der Setzkiemme UWOOUO des Flip-Flops 720a gekoppelt ist Das
Flip-Flop 720a ist ebenfalls mit der H27-Klemme verbunden, um die PDA-Impulse aufzunehmen. Die UND-Gatter
701 a bis 704a sind über ODER-Funktionen miteinander verbunden, und alle ihre Ausgangsklemmen sind mit
der Eingangs-Klemme des Inverters 705a verbunden. Das UND-Gatter 706a ist mit dem Verstärker 708a
gekoppelt; dagegen ist das UND-Gatter 707a mit dem Verstärker 709a gekoppelt; eine Eingangsklemme des
UND-Gatters 706a ist mit einer Eingangsklemme des UND-Gsttters 707a verbunden. Die Ausgangsklemme des
Inverters 705a ist mit einer Eingangsklemme der UND-Gatter 714a und 719a verbunden; die Ausgangsklemme
des Verstärkers 708a ist mit der Eingangsklemme des UND-Gatters 713a verbunden und die Ausgangsklemme
des Verstärkers 709a ist mit der Eingangsklemme des UND-Gatters 718a verbunden.
Die Signale, die den Eingängen der UND-Gatter zugeführt werden, und die als Ausgangssignale an den
Verstärkern, Invertern oder Flip-Flop abgegriffenen Signale werden mit Buchstaben bezeichnet, die einen
speziellen Code bilden. Da sowohl Daten- wie auch Steuersignale entweder zugeführt oder abgenommen
werden, sind zwei Codes vorhanden, ein Code für Steuersignale und ein anderer für die Datensignale. Der Code
für die Steuersignale ist bereits detailliert beschrieben worden und wird hier zusammengefaßt Kurz, die ersten
'; beiden Zeichen eines Steuersignals kennzeichnen die Bestimmung der zu übertragenden Daten; das dritte
'': Zeichen gibt an, ob eine vollständige oder eine Teilübertragung durchgeführt werden muß, wobei der Buchstabe
■ F eine vollständige Übertragung kennzeichnet; alle übrigen Zeichen kennzeichnen eine Teilübertragung; das
■ vierte und fünfte Zeichen kennzeichnen die Datenquelle, und wenn die Quelle durch mehr als zwei Buchstaben
r identifiziert wird, brauchen nur die letzten zwei Buchstaben benutzt zu werden, das sechste und das siebte
Ί Zeichen sind im allgemeinen Nummern und kennzeichnen, ob das Signal logisch >
>1« oder »0« ist, d.h. eine
j ungerade Ziffer in der sechsten Position kennzeichnet logisch »1« und eine gerade Ziffer in der sechsten Position
Iv kennzeichnet logisch »0«; die siebte Posit: ennzeichnet, ob es sich um die erste, zweite, dritte usw. Auftritts-
; stufe des Signals handelt Daten werden ji.vioch anders gekennzeichnet Die ersten drei Daten-Zeichen kenn-
v1 zeichnen die Datenquelle, das vierte und fünfte Zeichen, die Ziffern sein können, kennzeichnen die Bit-Rnsitio-
'< nen, in denen sich die Daten innerhalb der Quelle befinden, und die sechste und siebte Position sind dem Code
der Steuersignale insofern ähnlich, als sie anzeigen, ob das Signal logisch »1« oder logisch »0« ist, und die
Auftrittstufe des Signals angeben. Im allgemeinen zeigt das Format selbst an, ob das Signal ein Steuer- oder
■ Datensignal ist und anhand der F i g. 5 und 6 können die Quelle und die Bestimmung festgestellt werden. Für
• diese allgemeine Regel gibt es Ausnahmen, die in der Beschreibung und im Anhang erläutert werden.
Als Anwendungsbeispiel dieser Vereinbarung sind in der Fig.7a die folgenden Signale Steuersignale
UWFABl 1, AWFAB10, UW9QA10. Die folgenden Signale sind Datensignale: UAB3410, AUB3210, UAB3510.
: UAB3310, QAOOl 10 und QAOOOlO. Die folgenden Signale sind Ausnahmen: PDARGlO ist ein Timing-Signal,
;.; dessen Quelle der PDA-Taktgeber ist; UWHOLlO ist ein Haltesignal für das Halten der Informationen in den
g Flip-Flops 715a und 720a; UWOBKlO und UWlBKlO sind logische Reservefunktionen, deren Hauptaufgabe in
κ der Erweiterung dor Eingabefähigkeit der Flip-Flops 715a und 720a besteht. Dies erfolgt durch Verbinden des
UW-Registers, das aus den Flip-Flops 715a und 720a besteht mit den Bits 0 und 1, die jeweils durch die
Flip-Flops 715a und 720a dargestellt werden; zuletzt ist USCLRlO das Initialisierungs-Signal zum Initialisieren
f| und Löschen der Flip-Flops auf Null.
?| Als Beispiel der oben aufgeführten Vereinbarungen ist hier das dem Eingang des »einbeinigen« UND-Gatters
'£ 702a zugeführte Signal UWFABl 1 ein Steuersignal, das Daten (die Bits 34 und 35) aus dem UAB-Assoziator-
•3 Pufferspeicher 611 (das »U« im Signal wurde ausgelassen) zum UW-Register 504 überträgt; diese Übertragung
ist eine vollständige Übertragung zum UW-Register 1; die ungerade Ziffer kennzeichnet, daß das Signal logisch
1 ist Das dem Eingang des »einbeinigen« UND-Gatters 703 zugeführte Signal UWFABlO ist ein Steuersignal
mit der gleichen Quelle und Bestimmung, wie das dem UND-Gatter 702a zugeführte Signal, mit der Ausnahme,
% daß die Bits 32 und 33 von UAB zum UW-Register übertragen werden. Das dem »einbeinigen« UND-Gatter
§ 704a zugeführte Signal UW9QA10 ist ebenfalls ein Steuersignal, bei dem Daten vom QA-Bus 614 zum UW-Regi-
M ster übertragen werden; die Übertragung kann eine Teilübertragung sein. Das dem UND-Gatter 706a zugeführ-
;fij ic Signal UA00010 ist ein Datensignal, bei dem sich die Daten auf dem QA-Bus 614 befinden (die dritte Position
ti wird hier nicht benutzt, da die ersten beiden Positionen in ausreichender Weise die Position der Daten beschrei-
Ϊ 15
ben, und dieses Datensignal stellt das ak 00 auf dem QA-Bus 614 identifizierte Bit dar. Das Signal QA00110 ist
ähnlich dem vorstehend beschriebenen Signal, mit der Ausnahme, daß die durch dieses Signal identifizierten
Daten die Daten von Position 01 des QA-Bus 614 sind. Daher wird durch die Anwendung dieser Regel und die
Fig.5 bis 9, die Ringschutz-Hardware vollständig definiert und kann ohne Schwierigkeiten von einer Person
aufgebaut werden, die ordnungsgemäß in der Computer-Technik geschult ist.
In Fig.7b ist das detaillierte logische Blockdiagramm für das UV-Register 503 dargestellt Das Signal
UVHOLlO ist ein Halte-Signal für das UV-Register 503 und wird über den Inverter 7306 erzeugt, wenn keinem
der »einbeinigen« UND-Gatter 7016 bis 7086 ein logisches »1«-Signal zugeführt wird. Das UVHOLIO-Signal
wird dem UND-Gatter 7236 zugeführt und verursacht die Aufrechterhaltung der im UV-Register 503 enthalte
nen Informationen. Das mit dem Eingang des UND-Gatters 7046 und den Ausgängen der UND-Gatter 7056 bis
7086 gekoppelte Signa! UVHOLlE erweitert die Anzahl der Steuersignale, die das Haltesigna! UVHOLlO
erzeugen können. Das mit den Ausgängen der UND-Gatter 7106 bis 7136 und dem Eingang des UND-Gatters
7226 gekoppelte Signal UVOBKlO wird ebenfalls zur Erweiterung der Anzahl der Eingangssignale benutzt, die
dem Flip-Flop 7246 zugeführt werden können. Das mit den Eingängen der UND-Gatter 7166 bis 7186 und dem
Eingang des UND-Gatters 7276 gekoppelte Signal UVlBKlO erweitert in gleicher Weise die Anzahl der
Eing&ngssignale, die dem Flip-Flop 7296 zugeführt werden können.
In F i g. /g ist das detaillierte logische Blockdiagramm des U0-Registers 512 dargestellt Die UND-Gatter 70ig
bis 704^ sind über ODER-Funktionen miteinander verbunden, und ihr Ausgang wird als Eingang dem Inverter
705^zugeführt Die UND-Gatter 706# bis 709^ sind ebenfalls über ODER-Funktionen miteinander verbunden
und ihre Ausgänge sind mit dem Flip-Flop 710^gekoppelt Weiterhin ist ein Eingang des UND-Gatters 709# mit
der UOfiOOiO-Klemme des Fiip-Fiöps 7iSg gekoppelt Die UND-Gatter 7iigbis 7i4g sind ebenfalls über eine
ODER-Funktion miteinander verbunden und in gleicher Weise mit dem Flip-Flop 715^ gekoppelt Es ist zu
bemerken, daß ebenfalls ein Eingang des UND-Gatters 706^ mit einem Eingang eines UND-Gatters 711^
gekoppelt ist; ein Eingang des UND-Gatters 707^ist mit einem Eingang des UND-Gatters 712^gekoppelt, und
ein Eingang des UND-Gatters 709#ist mit einem Eingang des UND-Gatters 714^ gekoppelt Das vom Inverter
705^ erzeugte UOHOLl 0-Signal ist ebenfalls mit einem Eingang der UND-Gatter 709#und 714^ gekoppelt und
wird zur Aufrechterhaltung der Informationen im U0-Register 512 benutzt XOO stellt eine Masseverbindung
dar, und XNU kennzeichnet einen nicht benutzten Eingang.
erwähnten F i g. 7g mit der Ausnahme, daß andere Signale mit anderen Bestimmungen und anderen Quellen
verwendet werden.
In Fig.7h ist das detaillierte logische Blockdiagramm des UM-Registers 502 dargestellt. Die UND-Gatter
701A bis 704Λ sind miteinander über eine ODER-Funktion verbunden, um über den Inverter 705Λ das
UMHOLl 0-Haltesignal zu erzeugen. Die UND-Gatter 706Λ bis 709A sind zu einer ODER-Funktion miteinander
verbunden und mit dem Eingang des UND-Gatters 704A gekoppelt, um die Anzahl der Signale zu vergrößern,
die zur Erzeugung des UMHOLIO-Signals verwendet werden können, !n gleicher Weise sind die UND-Gatter
711A bis 714A über eine ODER-Funktion miteinander verbunden und werden dem Eingang des UND-Gatters
723A zugeführt, um die Anzahl der Signale zu vergrößern, die dem Flip-Flop 730A zugeführt werden können; in
gleicher Weise sind ebenfalls die UND-Gatter 715A bis 719A über eine ODER-Funktion miteinander verbunden
und mit dem Eingang des UND-Gatters 727A verbunden, um die Anzahl der Signale zu vergrößern, die dem
Flip-Flop 731A zugeführt werden können. Eine Leitung 740A für die Zuführung der PDA-Signale zu den
Rip-Flops 730A und 731A ist jeweils an den Punkten 734A und 735A angekoppelt Der Eingang des UND-Gatters
703A wird ebenfalls durch Kopplung des Ausgangs des Verstärkers 733A mit dem Eingang des UND-Gatters
703A, um zwei weitere Eingänge URNlFOO und IRNUMlO erweitert
In den F i g. 7c bis 7e sind detaillierte logische Blockdiagramme der Schreibausnahme-Steuerlogik 590, der
IFU-Unterbefehls-Steuerlogik 591 und der Lese-Überschreitungs-Ausnahme-Steuerlogik 592 dargestellt. In
F i g. 7c sind die Flip-Flops 705c und 710cdargestellt, die jeweils den Flip-Flops 541 und 540 entsprechen. Durch
die Mikrooperation URW2F10 werden die Informationen des Flip-Flops 710c zum Flip-Flop 705c übertragen.
Das Haltesignal UWVlHlO wird zur Aufrechterhaltung der zum Flip-Flop 710c übertragenen Informationen
so verwendet wogegen das U vW2H10-Signal zur Aufrechterhaltung der zum Flip-Flop 705c übertragenen informationen verwendet wird. In gleicher Weise werden in Fig.7d die Informationen vom Flip-Flop 710</zum
Flip-Flop 705</durch das Mikrooperations-Signal URNSWlO übertragen, und in F i g. 7e werden die Informationen des Flip-Flops 71Oe unter der Steuerung durch das Mikrooperations-Signal URW2F10 zum Flip-Flop 709c
übertragen.
In den F i g. 8a, 8b und 8d sind detaillierte logische Blockdiagramme der UWV-Logik 506, der UWEP-Logik
507 und der UMR-Logik 505 dargestellt In Fig.8a ist die Logik dargestellt mit der ein logisches »!«-Signal
erzeugt wird, wenn eine der Test-Bedingungen 510 vorhanden ist und außerdem das Ausführungs-Überschreitungs-Signal erzeugt wird, wenn der Inhalt des UW-Registers kleiner oder gleich dem Inhalt des UM-Registers
ist, kleiner oder gleich dem Inhalt des UV-Registers ist oder logisch »0« ist Das Signal UWLEVlO zeigt, wenn es
μ erzeugt wird, an, daß der Inhalt des UW-Registers 504 gleich oder kleiner als der Inhalt des UV-Registers 503 ist,
Die Logik zur Erzeugung dieses Signals wurde aus dem folgenden boolschen Ausdruck abgeleitet:
X1 = (BCD) + (ABD) + (AC)
Hierbei stellt Xi das Ausgangssignal des Verstärkers 805a dar, und die verschiedenen Buchstaben des Ausdrucks entsprechen den verschiedenen Eingangsklemmen der UND-Gatter 801a bis 804a.
Eine Anzeige, daß der Inhalt des UV-Registers 503 größer oder gleich dem Inhalt des UM-Registcrs 502 ist,
tritt bei der Erzeugung des UVGEMIO-Signals auf. Dieses Signal wird als Antwort auf verschiedene Eingaben
an den über ODER-Funktionen miteinander verbundenen UND-Gatter 816a bis 819a. die mit dem Eingang des
Inverters 820a gekoppelt sind, erzeugt Die Logik für die Erzeugung des Signals UVGEMlO ist gemäß des
folgenden boolschen Ausdrucks entwickelt worden:
X2 = (BCD) + (ABD) + (AC)
Eine Anzeige, daß der Inhalt des UM-Registers 502 größer oder gleich dem Inhalt des UV-Registers 503 ist,
erfolgt durch Erzeugung des Signals UMGEVlO über den Inverter 810a als Antwort auf die verschiedenen
Eingaben an den UND-Gattern 806a bis 809a, die über eine ODER-Funktion miteinander verbunden sind. Die
Logik für die Erzeugung dieses Signals wurde anhand des folgenden boolschen Ausdrucks entwickelt: ι ο
X3 = (BCD) + (ABD) + (AU)
(Hierbei ist X3 das erzeugte Ausgangssigna].)
In gleicher Weise wird das UVEQM 10-Signal anhand des folgenden boolschen Ausdrucks entwickelt:
X4 = (AU) + (ÄC) + (BD) + (SD)
Die Erzeugung des UVEQM 10-Signals zeigt an, daß der Inhalt des UV-Registers 503 gleich dem Inhalt des
UM-Registers 502 ist „
Die Erzeugung des UMGEWIO-Signals zeigt an, daß der Inhalt des UM-Registers 502 gleich oder größer als
der Inhalt des UW-Registers 504 ist und von einer Logik erzeugt wird, die aus dem folgenden boolschen
Ausdruck entwickelt wurde:
X7 = (AC) + (AQ + (BD) + (BD)
25
X5 = (BCD) + (ABD) + (AC)
Die Erzeugung des UMGTWl0-SignaIs zeigt an, daß der Inhalt des UM-Registers 502 größer als der Inhalt des
UW-Registers 504 ist und daß dieses Signal von einer Logik erzeugt wird, die anhand des folgenden, boolschen
Ausdrucks entwickelt wurde:
X6 = (ABD) + C(BD + A)
Die Erzeugung des Signals UWGMVOO zeigt an, daß der Inhalt des UW-Registers kleiner oder gleich dem
Inhalt des UM-Registers ist, kleiner oder gleich dem Inhalt des UV-Registers ist oder logisch »0« ist Es wird
erzeugt, wenn sowohl das UVGEM 10-Signal, das anzeigt, daß der Inhalt des UV-Registers größer oder eleich
dem inhalt des UM-Registers ist, wie auch das UMGEWl0-Signal, das anzeigt, daß der Inhalt des UM-Reglsters
größer oder gleich dem Inhalt des UW-Registers ist, auf logisch »1« sind.
Gemäß Fig.8b wird ein UMEQPIO-Signal von einer Logik erzeugt, die anhand des folgenden boolschen
Ausdrucks entwickelt wurde:
40
Wenn dieses Signal auf logisch 1 ist, zeigt es an, daß der Inhalt des UM-Registers 502 größer als der Inhalt des
UP-Registers 501 ist.
In Fig.8b ist das detaillierte logische Blockdiagramm für die Durchführung der Operationen der in Fig.5
dargestellten UMR-Logik 505 dargestellt Eine der Operationen dieser Logik besteht darin, den Maximalwert
des Inhalts des UP-Registers 501 und der Bits 2 und 3 der UBS-Logik 606 festzustellen. Zu diesem Zweck muß
eine Angabe vorhanden sein, ob der Inhalt von UP kleiner als der Inhalt von UBS ist, oder ob der Inhalt von UP
größer als der Inhalt von UBS ist.
Das Erzeugen des Signals UPLEBlO zeigt an, daß der Inhalt des UP-Registers 501 gleich oder kleiner als die
Bits 2 und 3 der UBS-Logik 606 ist; die Erzeugung des Signals VJPGTBlO zeigt dagegen an, daß der Inhalt des
UP-Registers 501 größer als die Bits 2 und 3 der UBS-Logik 606 ist. Diese Signale werden von einer Logik
erzeugt, die anhand des folgenden boolschen Ausdrucks entwickelt wurde:
X8 = (BCD) + (ABD) + (AC)
Hierbei ist Xg der Ausgang des Inverters 805c/und die Buchstaben des Ausdrucks entsprechen den verschiedenen
Eingängen der UND-Gatter 801c/bis803d
Um zu erläutern, wie der Maximalwert des Inhalts des UP-Registers und der UBS-Logik durch die Ausgangs-.Signalc
UMPBOIO und UMPBIlO der Verstärker 814i/ und 817<i bestimmt wird, muß zuerst angenommen to
werden, daß der Inhalt des UP-Registers gleich oder kleiner als die Bits 2 und 3 der UBS-Logik ist, da Bit 2 »1« ist
und Bit 3 »1« ist, wogegen das UB-Register 01 enthält. Diese Tatsache wird dadurch gekennzeichnet, daß das
UPLEBIO-Signal logisch 1 ist und das UPGTBIO-Signal logisch 0 ist, da es der invertierte Wert des Signals
UPLEBIO ist. Dieses UPLEBIO-Signal mit dem Logikpegel 1 wird einem Eingang des UND-Gatters 813c/und
ebenfalls einem Eingang des UND-Gatters 806c/zugeführt.
Wenn das Bit 2 der UBS-Logik, wie durch das Signal UBS0210 gekennzeichnet, auf »1« ist, wird das UND-Gatter
813c/freigegeben und das Signal UMPBOlO wird logisch »1« und kennzeichnet, daß Bit 2 der UBS-Logik
auf »1« ist. Wenn weiterhin das Bit 3 der UBS-Logik, gemäß der Anzeige durch das Eingangs-Signal UBS0310,
das als weiterer Eingang dem UND-Gatter 816</ zugeführt wird, auf »1« ist, wird das UND-Gatter 816c/
freigegeben und das Signal UMPBl 10 ist logisch 1. Daher befindet sich, unter den angenommenen Bedingungen
bei denen die Bits (2,3) der UBS-Logik gleich oder größer als der Inhalt des UP-Registers sind, der Maximalwert
der beiden Quantitäten in UBS und seine Zahl beträgt binär 11 oder dezimal 4. Daran kann erkannt werden, wie
zuerst ein Vergleich durchgeführt wird um festzustellen, welche Hardware das Maximum enthält und wie danach
eine Überprüfung durchgeführt wird, um den Wert dieses Maximums festzustellen. Durch eine ähnliche Analyse
kann festgestellt werden, wie der Wert des UP-Registers mit Hilfe der Signale UMPBOlO und UMPB110
festgestellt werden kann, wenn der Inhalt des UP-Registers größer als das zweite und dritte Bit der UBS-Logik
ist In gleicher Weise kann der Maximalwert des UM-Registers 502 oder des UV-Registers 503 jeweils durch die
ίο Signale UVGEMlO und UMGTVlO ermittelt werden, wenn das UV-Register 503 gleich oder größer als das
UM-Register 502 ist, und umgekehrt, wenn das UM-Register 502 größer als das UV-Register 503 ist
In den F i g. 9a bis 9i befindet sich eine Erklärung der in den F i g. 7 und 8 verwendeten Symbole. F i g. 9a stellt
das Symbol dar. das bei einer internen Verbindung innerhalb einer Logikplatte verwendet wird. F i g. 9b stellt
eine Ausgangsklemmen-Verbindung dar. Fig.9c entspricht einer Eingangsklemmen-Verbindung und ist im
allgemeinen eine Quelle außerhalb der dargestellten Logikplatte. Fig.9d enthält das für ein UND-Gatter
benutzte SymboL Fig.9e ist das für einen Verstärker benutzte Symbol; Fig.9f ist dagegen das für einen
Inverter benutzte Symbol. F i g. 9g stellt die drei UND-Gatter 90tg bis 903g dar, die über eine ODER-Funktion
miteinander verbunden sind und daher den Ausgang 904^·auf logisch »1« setzen, wenn eines der UND-Gatter
90ig bis 903g auf logisch »1« ist F i g. 9h enthält das Symbol eines Flip-Flops, das eine 00-Rücksetzklemme und
eine lO-Setzfesemme besitzt Eine PDA-Leitung führt die Takt-Impulse heran, die benutzt werden, um das J
Um die Ringschute-Struktur zwischen den Prozeduren durchzuführen, die in den verschiedenen Ringen
arbeiten, werden in der Erfindung Rückstell-Stacks für den Prozedurverkettungs-Mechanismus verwendet, bei
dem ein Teil eines jeden Stacks, der als Stack-Rahmen bezeichnet wird, dynamisch jeder Prozedur zugewiesen
wird. Verschiedene Stack-Segmente werden für jeden Ring benutzt, und jedes Stack-Segment entspricht einem
In Fi g. 10 sir d drei Stack-Segmente 1001 bis 1003 dargestellt, die entsprechend die Stack-Rahmen Sl bis S3
enthalten. Ring 3 ist dem Stack-Segment 1001 zugewiesen, Ring 1 dem Stack-Segment 1002 und Ring 0 dem
Stack-Segment 1003. Innerhalb eines jeden Stack-Segments sind eine Prozedur Pl mit dem Stack-Rahmen Sl
des Segments 1001, eine Proz'jdur P2 mit dem Stack-Rahmen S2 des Stack-Segments 1002 und eine P3-Prozedur
mit dem Stack-Rahmen S3 des St&ck-Segments 1003 verbunden. Die segmentierten Adressen (d. h. Segmentnummer und relative Segmentadresse SEG, SRA) des ersten Bytes des Stack-Segments für die Ringe 0,1 und 2
befinden sich jeweils in den Stack-Basisworten SBWO bis SBW2, die sich wiederum im Prozeß-Steuerblock 104
befinden. Da das Stack-Segment von Ring 3 niemals über einen nach innen gerichteten Aufruf eingegeben
werden kann (d. h. von einem höheren Ring als Ring 3), ist seine Stack-Startadresse nicht erforderlich. Jeder
Stack-Rahmen Sl, S2 und S3 ist jeweils in eine Arbeitszone 1005,1006 und 1007, in einen unbenutzten Teil 1008,
1009 und 1010, der für Ausrichtungszwecke benutzt wird, in eine Sicherstellungszone 1011,1012 und 1013 und in
eine Kommunikations-Zone 1014,1015 und 1016 unterteilt Die Arbeitszone wird, wenn erforderlich, von ihrer
Prozedur benutzt und kann Informationen enthalten, die vom Prozeß benötigt werden, wie z. B. örtliche
Variablen usw. Die Sicherstellungszone des Stack-Rahmens wird zur Speicherung des Inhalts verschiedener
Register, wie z. B. des Status-Registers, des T-Registers und des Inhalts des Befehlszählers verwendet. Die
Kommunikations-Zone speichert Informationen, die zur Durchgabe von Parametern zwischen den Prozeduren
erforderlich sind. Vor dem Aufruf einer gegebenen Prozedur speichert der Benutzer die Register, deren Inhalt er
erhalten möchte in der Sicherstellungszone, und er lädt weiterhin die an die aufgerufene Prozedur weiterzuleitenden Parameter in die Kommunikationszone. Wenn der Aufruf durchgeführt ist, führt die Hardware die
so Sicherstellung des Inhalts des Befehls-Zählers und anderer angegebener Register durch, um eine Rückkehr von
der aufgerufenen Prozedur zu erleichtern. Jeder Prozedur-Aufruf erzeugt einen Stack-Rahmen innerhalb des
Stack-Segments, und anschließende Prozedur-Aufrufe erzeugen zusätzliche Rahmen. Nun ist ein Stack entwikkelt und besteht aus einer Anzahl aneinander angrenzender Teile, die als Stack-Rahmen bezeichnet werden, die
dynamisch jeder Prozedur zugewiesen werden. Diese Stacks befinden sich in Stack-Segmenten. Allgemein wird
der erste Stack-Rahmen in den Anfangsbereich des Segments geladen und die nachfolgenden Rahmen danach.
Deiletzte geladene Rahmen wird als Spitze des Stacks bezeichnet. Ein T-Register 114 von F i g. 1 lokalisiert die
Spitze des Stacks für den gerade aktiven Prozeß. Eine Prozedur, wie zum Beispiel Pl, die in Ring 3 abläuft, kann
eine in Ring 1 ablaufende Prozedur P2 aufrufen, die wiederum eine in Ring 0 ablaufende Prozedur aufruft.
Jedesmal, wenn eine Prozedur aufgerufen wird, erzeugt sie innerhalb ihres Ring-Stack-Segments einen Stack-
Rahmen (d. h. es definiert die Struktur für die Durchführung der Prozedur) und das T-Register 114, das die
Adresse der Spitze des Stacks für den gerade aktiven Prozeß angibt, wird geladen. Die Prozedur Pl (wie bereits
vorausgesetzt) kann die Prozedur P2 aufrufen, die ihrerseits wieder die Prozedur P3 aufrufen kann, und da diese
Aufrufe von einer höheren zu einer niedrigeren Ringnummer erfolgen, wird eine Ringkreuzung erforderlich, die
einen nach innen gerichteten Aufruf nach sich zieht und gemäß einer oben beschriebenen Methode entwickelt
wird. Bei jedem Prozedurwechsel wird der Inhalt der erforderlichen Register und Parameter sichergestellt, um
eine Rückkehr von der angerufenen Prozedur zu erleichtern.
Der Zugriff auf eine Prozedur erfolgt immer mit Hilfe von »ENTER PROCEDURE«-Befehlen über einen
Prozedur-Descriptor 1110. Das Format des Befehls »ENTER PROCEDURE« 1100 ist in Fig. 11a dargestellt.
Der Operations-Code (OP) 1101 belegt die Bit-Positionen 0 bis 7. Der Komplememär-Code 1102 ist ein
Ein-Bit-Code und belegt die Bit-Positionen 8 bis 9; wenn der Kornplementär-Code auf logisch i ist, lautet der
i· Befehl ENT, wenn der Komplementär-Code dagegen logisch 0 ist, lautet der Befehl ENTSR und das Basis-Register
muß das Basis-Register 0 (BRO) sein. Die Adreßsilbe AS 1104 belegt die Bit-Position 12 bis 31 und erzeugt
die AS-Adreßsilbe des Prozedur-Descriptors 1110. Wenn ein »ENTER PROCEDURE«-BefehI eine Ringkreuzung
benötigt, erfolgt zwangsweise ein Zugriff zum Durchschalt-Prozedur-Descriptor 1120. Dies wird durch die
Positionierung des GS-Feldes 1302 des Segment-Descriptors 1301 auf logisch 10 gekennzeichnet Im allgemeinen
befindet sich das GS-FeId dann auf 10, wenn einer der »ENTER PROCEDURE«-Befehle benutzt wird.
Der Segment-Descriptor wird benutzt lan auf die Basis des gewünschten Segments hinzuweisen, in diesem
Fall enthält das Segment 1300 des Durchschaltprozedur-Descriptors GPD 1120. Das erste Wort des Segments
1300, das den Durchschaltprozedur-Descriptor (GPD's) enthält, wird so wie in Fig. lic dargestellt ist forma-
'-';- tiert. Das TAG 1121 belegt die Bit-Positionen 0 und 1 und muß einen Fehler-Descriptor anzeigen, d.h. das
TAG-FeId muß auf logisch 11 sein. Die maximale Ringnummer CMRN 1122 des Aufrufers belegt die Bit-Positionen
2 und 3 und kennzeichnet den höchsten Ring, bei dem legal eine Aufruf-Prozedur über den Durchschalt-Prozedur-Descriptor
GPD durchgeführt werden kann. Eine Aufruf-Überschreitungsausnahme wird erzeugt wenn
: die Ringnummer des Aufrufers größer als CMRN 1122 ist Die Adreßbegrenzung des Durchschalt-Prozedur-
Descriptors GPDAB 1124 belegt die Bit-Positionen 10 bis 31 und muß größer als die relative Segment-Adresse
;, SRA sein (d. h. die Verschiebung des GPD innerhalb des Segments des Prozedur-Descriptors 1300), da andererseits
eine illegale GPD-Zugriffs-Ausnahme auftritt. Daher wird ein Durchschalt-Prozedur-Descriptor GPD als
.:. erstes Wort des Segments verwendet das Prozedur-Descriptore enthält Ein GPD wird weio-hin benutzt, um
ύ festzulegen, ob der Aufrufer das Recht hat, eine Zugriffsoperation zürn Segment über die maxiirale Aufrufer-
i>; Ringnummer CMRN durchzuführen und ?b sich der aufgerufene Prozedur-Descriptor innerhalb der Adreßbe-
3 grenzung des Durchschalt-Prozedur-Descriptors befindet Wenn einmal feststeht, daß der Aufruf zu einem
■t Segment legal ist und der Aufrufer das Recht besitzt das Segment zu benutzen, wird die Adresse aus der
jl Adreßsilbe AS 1104 des Eingabe-Befehls 1100 erzeugt, und der erforderliche Prozedur-Descriptor 1100 (siehe
u auch Fig. 13) wird aufgerufen. Das Format des Prozedur-Descriptors 1110 ist in Fig. 11b dargestellt und
\l besteht aus zwei 32-Bit-Worten — jeweils Wort 0 und Wort 1. Wort 0 enthält die segmentierte Adresse 1113 des
}u Eintrittspunktes EP der gewünschten Prozedur. Die segmentierte Adresse besteht wie dies bei der segmentier-
ji ten Adresse jedes Operanden der Fall ist, aus der Segment-Nummer SEG und der relativen Segment-Adresse
I SRA. Das Wort 0 des Prozedur-Descriptors enthält eine Eintrittspunkt-Ringnummer EPRN 1112 und ein
II TAG-FeId 1111. Der Wert des TAG-Feldes wird wie folgt interpretiert
I* a) Wenn TAG logisch 00 enthält, ist der Prozedur-Descriptor direkt
ψ b) Wenn TAG logisch 01 ist, ist der Prozedur-Descriptor ein erweiterter Descriptor und enthält Wort 1, also
ί · insgesamt 2 Worte.
if c) Wenn TAG logisch 10 ist, ist der Prozedur-Descriptor indirekt und eine Ausnahme »illegaler Prozedur-
p Descriptor« tritt auf, und
'£ d) Wenn TAG logisch 11 ist, handelt es sich um einen Fehler-Prozedur-Descriptor, und eine Ausnahme tritr auf.
a Die Lä-ige von Wort 1 des Prozedur-Descriptors beträgt 32 Bits und wird verwendet, wenn TAG einen
W erweiterten Descriptor anzeigt und die segmentierte Adresse eines Verkettungsabschnitts enthält, dessen Inhalt
;-; zum Prozedur-Eintrittszeitpunkt in das B3sis-Register BR7 geladen wird.
£j In Fig. 12 ist ein Teil des EBT-Befehls und insbesondere der Teil dargestellt, der sich auf die Ringkreuzung
•i- und Ring-Überprüfungs-Erfordernisse bezieht Der ENT-Befehl wird aufgerufen (1201) und ein Vergleich (1202)
[:; wird durchgeführt, bei dem der segmentierte Teil des Basis-Registers BRn mit dem segmentierten Teil der
}_: Adresse des T-Registers verglichen wird; wenn der Vergleich keine Gleichheit erbringt, wird ein illegales
;: Stack-Basis-Register 1208 angezeigt
Wenn andererseits eine Gleichheit auftritt, wird ein weiterer Vergleich 1203 durchgeführt, bei dem das 30. Bit
einschließlich der nächsten beiden Bits (d. h. Bits 30 und 31) des Basis-Registers η (BRn) auf 0 verglichen wird;
; wenn das Ergebnis nicht gleich 0 ist, wird nochmals ein illegales Stack-Basis-Register 1208 angezeigt Wenn das
,:■ Resultat gleich 0 ist, kennzeichnet dies, daß der Inhalt von BRn hinsichtlich der Wortbegrenzung ausgerichtet ist,
·., und ein r-eiterer Vergleich 1204 wird durchgeführt, um festzustellen, ob das TAG-FeId von BRn (d. h. die beiden
V Bits von Bit 0 aus) gleich 0 ist. Ein TAG mit logisch 0 gibt an, d*3 der Zugriff zu den Informationen über einen
"■■ direkten Descriptor erfolgt; dies ist eine der Bedingungen des ENT-Befehls. Wenn das TAG-FeId, (d. h. die Bits 0
;'■■.' und I von BRn) gleich 0 ist, werden die in den Flußdiagrammen der Fig. iA bis 16 dargestellten Funktionen
durchgeführt (siehe Flußdiagramm 12, Block 1205). Wenn dabei die entsprechenden Bedingungen erfüllt werden,
£'■ erfolgt eine weitere Überprüfung 1206, um festzustellen, ob die angegebene relative Segment-Adresse des
ί,' Eintrittspunktes (SRAep) gerade ist, da Befehle von Halbwort-Begrenzungen aus starten. Wenn diese Adresse
0 ungerade ist, wird die Ausnahme »illegale Verzweigungsadresse« 1209 erzeugt, wenn die Ausnahme legal ist,
V- wird der ENT-Befehl 1207 über weitere, nicht dargestellte Schritte, abgewickelt
' Gemäß den Flußdiagrammen des Zugriffs-Überprüfungsmechanismus der F i g. 14 bis 16 werden im allgemeinen
die folgenden Operationen jedesmal dann durchgeführt, wenn der Befehl »ENTER PROCEDURE« einge-
: leitet wird.
a) Das Recht azs Aufrufers mit seinem Teilnehmer in Verbindung zu treten, wird überprüft, indem zuerst im
/weiten Wort des Segment-Descriptors die Aufruf-Klammer festgelegt wird, die der Aufrufer benutzt. (Die
Aufruf-Klammer ,ivgibt sich durch die Erfassung der kleinsten Ringnummer aus dem Schreib-Ringnummcr-FcId
WR und der maximalen Ringnummer aus dem Feld der maximalen Ringnummer MAXR.)
b) Eine Entscheidung hinsichtlich der nächsten Prozeß-Ringnummer wird getroffen, indem festgestellt wird
ob sich der Aufrufer in der gleichen Aufruf-Klammer befindet, wie der aufgerufene Teilnehmer; dies ftihri
zu einem »Nichtstun«; es wird festgestellt, ob sich der Aufrufer in einer Aufrufklammer befindet, die dk
Durchführung eines nach außen gerichteten Aufrufes erfordert, durch den eine Ausnahme-Bedingung
erzeugt wird, die von einem hier nicht beschriebenen Mechanismus verarbeitet wird; oder es wird festgestellt, ob sich der Aufrufer in einer Aufrufklammer befindet, die einen nach innen gerichteten Aufrul
erfordert (d. h. einen Aufruf zu einer Aufrufklammer, die eine Ringkreuzung von einer größeren zu cinci
kleineren Ringnummer erfordert in diesem Fall muß sich die Ringkreuzung an einem gültigen Eingabepunki
EP befinden und der Eingabepunkt muß freigegeben sein).
ίο c) Für den aufgerufenen Teilnehmer wird ein Stack-Rahmen erzeugt (d. h. ein Raum im bereits erwähnter
Format des entsprechenden Segments wird zugewiesen), und der Stack-Rahmen und die Stack-Rahmen-Register
werden aktualisiert.
d) Eine Verzweigung zum Eintrittspunkt der Prozedur wird durchgeführt, auf die der Prozedur-Descriptoi
hinweist
Gemäß F i g. 14 wird die Zugriffs-Überprüfung (1401) gestartet, indem die Adreßsilbe AS entwickelt wird, die
die tatsächliche Adreß-Ringnummer EAR, die Segmentnummer des Prozedur-Descriptors SEGi-d und die relative
Segment-Adresse des Prozedur-Descriptors SRAPD enthält. Nach Entwicklung dieser Informationen wird dci
Prozedur-Descriptor IUO aus SKCJpd. SRApd (1403) abgegriffen, wobei Zugriffsrechte zum Scratch-Pad-Spei
eher ignoriert werden. Der Prozedur-Descriptor 1110 erzeugt das TAG-FeId, das feststellt, ob der Descriptor eir
direkter, erweiterter, indirekter oder ein Fehler-Descriptor ist; TAG stellt die Eintrittspunkt-Ringnummei
EPRN und das Segment (SRAEP) fest, das den Eintrittspunkt der relativen Segmentadresse (SRAkp) des
Eintrittspunktes enthält. Das TAG-FeId wird überprüft (1404), um festzustellen, ob der Descriptor 1110 ein
direkter, erweiterter, indirekter oder ein Fehler-Descriptor ist, indem sein Feld gemäß dem bereits beschriebenen
Code überprüft wird. Nur ein direkter oder erweiterter Prozedur-Descriptor ist zulässig. Ein indirekter odci
Fehler-Descriptor ist nicht zulässig und löst beim Zugriff einen hier nicht beschriebenen Ausnahme-Mechanismus
aus. Wenn einmal festgestellt wurde, daß ein Zugriff zu einem legalen Prozedur-Descriptor erfolgt ist
beginnt bei Punkt A 1405 die Überprüfung des tatsächlichen Aufrui-Rechts.
Gemäß F i g. 15 und von Punkt A 1405 aus, werden die maximale Ringnummer MAXR, die Schreib-Ringnum-
Gemäß F i g. 15 und von Punkt A 1405 aus, werden die maximale Ringnummer MAXR, die Schreib-Ringnum-
mer WR und das Ausführungserlaubnis-Bit EP des Segments abgegriffen, das die SEGEP-Eintrittspunkte enthält;
diese Informationen befinden sich im Segment-Descriptor für das Segment das die Eintrittspunkte (SEGkiO
enthält. Die Schreib-Ringnummer WR wird mit der maximalen Ringnummer MAXR 1503 verglichen; wenn die
Schreib-Ringnummer WR größer als die maximale Ringnummer MAXR ist, kann das Segment nicht benutzt
werden und eine Ausführungsüberschreitungsausnahme 1513 tritt auf. Wenn die Schreib-Ringnummer WR
gleich oder kleiner als die maximale Ringnummer MAXR ist, wird das Ausführungserlaubnis- Bit EP mit logisch I
verglichen; wenn das EP-Bit nicht logisch 1 ist, tritt nochmals eine Ausführungsüberschreitungsausnahme 1513
auf; wenn das EP-Bit jedoch gleich 1 ist, wird die tatsächliche ÄdfeB-Ringnümfricf EAR aer aufrufenden
Prozedur mit EPRN auf ein Maximum erhöht, um eine neue EAR2 zu entwickeln, — (MAX, (EAR, EPRN)),
wobei EAR das im Befehlszähler IC enthaltene Maximum von PRN und von allen Ringnummern in den
Basis-Registern und Daten-Descriptors, wenn vorhanden, ist, die sich innerhalb des Pfades befinden, der zum
Prozedur-Descriptor führt. Die tatsächliche Adreßringnummer EAR2 wird nun. 1506, mit der maximalen Ringnumrner
MAXR des MAXR-Segment-Descriptors von SEGep verglichen, der die maximale Ringnummer darstellt,
bei der eine Prozedur durchgeführt werden kann. Wenn EAR2 größer als MAXR ist, ist der Prozeduraufruf
ein nach innen gerichteter Aufruf, der eine Verzweigung der über den gültigen Eintrittspunkt einzugebenden
Prozedur und der Zugriffs-Überprüfungsoperation zu Punkt B 1507 erfordert Die folgenden Überprüfungs-Operationen
werden nun durchgeführt:
a) SEGep wird überprüft um festzustellen, ob es sich um ein zulässiges Durchschah-Segment handelt.
b) Die maximale Ringnummer CMRN des Abrufers wird überprüft um festzustellen, ob diese gleich oder
größer als die tatsächliche Adreßringnummer EAR des Abrufers ist
Wenn diese Bedingungen nicht vorhanden sind, tritt eine illegale Durchschalt-Segment-Ausnahme 1603 oder
eine Abruf-Überschreitungs- Ausnahme 1615 auf.
Gemäß dem Verzweigungspunkt B 1507 von Fig. 16 wird mit der ersten durchgeführten Überprüfung 1602
Gemäß dem Verzweigungspunkt B 1507 von Fig. 16 wird mit der ersten durchgeführten Überprüfung 1602
festgestellt ob das Segment das die Prozedur-Descriptors enthält ein Gatter-Segment ist oder nicht Dies
geschieht durch die Überprüfung des Durchschalt/Semaphor-Feldes GS, des Segment-Descriptors, welcher auf
das Segment des Prozedur-Descriptors hinweist um festzustellen, ob das Feld auf logisch 10 ist Wenn das
GS-FeId des Segment-Descriptors des Segments, das Prozedur-Descriptor enthält, auf logisch 10 ist handelt es
sich um ein Durchschah-Segment und das erste Wort des Segments, das den Prozedur-Descriptor enthält ist ein
Durchschalt-Prozedur-Descriptor GPD 1120 von F i g. 1 Ic und F i g. 13. Das erste Wort 1120 des Segments, das
die Prozedur-Descriptors enthält wird nun aus der Adresse SEGpd, 0 unter Ignorieren der Zugriffsrechte zum
Scratch-Pad-Speicher abgegriffen. Es ist zu bemerken, daß das TAG-FeId des ersten Worts 1120 des Segments,
das den Prozedur-Descriptor SEGPD 1300 enthält logisch 11 sein muß (Fig. 13); dies kennzeichnet einen
Fehler-Descriptor. Weiterhin muß das MBZ-FeId auf 0 positioniert sein.
Diese Bedingungen werden vom Hardwarc/Firmware-Schritt 1605 (arithmetische Logikeinheit) überprüft,
und wenn diese Bedingungen nicht gegeben sind, tritt eine illegale Durchschaltsegment-Ausnahme 1603 auf.
Wenn diese Bedingungen jedoch nicht gegeber? sind, wird weiterhin eine Überprüfung 1606 durchgeführt um
festzustellen, ob die relative Segmentadresse des Prozedur-Descriptors SRAPD 1110 ein Vielfaches von 8 ist
Wenn die Bedingung von 1606 nicht gegeben ist. tritt eine illegale System-Objekt-Adreßausnahme 1613 auf,
andernfalls wird der nächste Schritt 1607 durchgeführt. Schritt 1607 überprüft, ob die relative Segmentadresse
des Prozedur-Descriptors SRAPD sich innerhalb der Adreßbegrenzung GPDAB 1124 des Gatter-Prozedur-Descriptors
1120 befindet oder nicht: wenn sich die Adresse nicht innerhalb der Adreßbegrenzung befindet,
handelt es sich um einen illegalen Prozedur-Descriptor und eine illegale Zugriffs-Ausnahme 1614 des Durchschalt-Prozedur-Descriptors
GPD tritt auf. Wenn sich die Adresse jedoch innerhalb der Adreßbegrenzung des Durchschalt-Prozedur-Descriptors (d.h. SRAPD ist kleiner als GODAB) befindet, wird in 1608 das Recht des
Aui'.jfers überprüft, mit dem Aufgerufenen in Verbindung zu treten. Dies erfolgt durch Vergleich der tatsächlichen
Adreß-Ringnummer EAR2 mit der im ersten Wort 1120 des Prozedur-Descriptor-Segments 1300 befindlichen
maximalen Ringnummer CMRN 1J22 des Aufrufers. Wenn EAR2 größer als die CMRN des Aufrufers ist,
tritt eine Aufruf-Überschreitungsausnahme 1615 auf, die anzeigt, daß der Aufrufer unter diesen Umständen nicht
das Recht besitzt, einen legalen, nach innen gerichteten Aufruf durchzuführen, d. h. von einer höheren Ringnummer
zu einer niedrigeren Ringnummer. Wenn EAR2 andererseits niedriger oder gleich CMRN ist, ist der nach
innen gerichtete Aufruf legal und in 1609 wird eine Überprüfung durchgeführt, um festzustellen, ob die Prozeß-Ringnummer
PRN, die mit der im Befehlszähler IC kurz vor der Durchführung des Aufrufs befindlichen
Ringnummer der laufenden Prozedur identisch ist, niedriger als die maximale Ringnummer MAXR von SEGEP
ist; wenn dies der Fall ist, führt der Zugriffsmechanismus eine Verzweigung zu Punkt C 1508 durch, andernfalls
wird eine neue Prozedur-Ringnummer NPRN errechnet und einer maximalen Ringnummer MAXR ISi 1 beigefügt.
Im allgemeinen ist die tatsächliche Adreß-Ringnummer EAR2 mit der Prozedur-Ringnummer PRN des
Aufrufers identisch. In manchen Fällen ist der EAR2 jedoch größer als die PRN, wenn es erforderlich ist, eine
maximale Sicherheit zu gewährleisten, daß dem Aufrufer nicht der Zugriff zu einem bestimmten Segment
verweigert wird. In solchen Fällen wird PRN zur Übernahme des Wertes von EAR2 gezwungen, um zu
gewährleisten, daß der Aufruf nach einem Austritt zur maximalen Ringnummer zurückgeleitet wird. Zu diesem
Punkt ist zu bemerken, daß dieser Prüfmechanismus benutzt wurde, da die EAR2 größer als die MAXR und
daher größer als die Spitze der Abrufklammer des Verfahrens war und aus diesem Grunde ein nach innen
gerichteter Abruf erforderlich war, der notwendigerweise die Benutzung eines gültigen Gatters erforderte, und
der Mechanismus beinhaltete diese Gatter-Überprüfungen. Durch eine Rückverzweigung zu C 1508 (Fig. 15)
wird eine weitere Überprüfurg 1509 durchgeführt, um nun festzustellen, daß die Prozeß-Ringnummer PRN
größer als die Schreib-Ringnummer WR von SEGEP ist, die in diesem Zusammenhang die kleinste Ringnummer
darstellt, bei der eine Prozedur ablaufen kann.
Wenn die Schreib-Ringnummer WR größer als die Prozeß-Ringnummer PRN ist, tritt eine Ausnahme »nach
außen gerichteter Aufruf« 1514 auf. Wenn WR jedoch gleich oder niedriger als PRN ist, handelt es sich um einen
legalen Aufruf und NPRN wird auf PRN 1510 gesetzt.
Nach Durchführung der vorstehend beschriebenen Überprüfungen wird ein nach innen gerichteter Aufruf
durchgeführt; nach dem Ablauf der gewünschten Operation erfolgt eine Rückverzweigung zum Ausgangspunkt
des ablaufenden Programms mit Hilfe des »Exit«-Befehls. Während der »ENTER INSTRUCTION« wurde der
Inhalt des Befehlszählers IC vor der Durchführung des Aufrufs in der Sicherstellungs-Zone des Stack-Rahmens
des Aufrufers gespeichert. Weiterhin wurde auch die Ringnummer des Aufrufers während des »ENTER«-Befehls
im Basis-Register 0 BROsichergestellt.
Das Formai des »Exit«-Befehls 1130 ist in F i g. 11B dargestellt. Der Operations-Code OP 1131 befindet sich in
den Bit- Positionen 0 bis 7, und der Komplementär-Code C1133 in den Bit-Positionen 12 bis 15. Der Komplementär-Code
ermöglicht anderen Befehlen die Benutzung des gleichen 8-Bit-Operations-Code. Das MBZ-FeId 1132
in den Bit-Positionen 8 bis 11 muß 0 sein, da andernfalls eine Ausnahme »illegales Format-Feld« auftritt. (BRO ist
im allgemeinen ein Hinweis für die Kommunikations-Zone des Stack-Rahmes des Aufrufers.)
Beim Ablauf des EXIT-Befehls müssen vorbestimmte Überprüfungen durchgeführt werden, um zu gewährleisten,
daß der Aufrufer nicht seine Identität geändert hat, um so eine andere, nicht vorgesehene Privilegstufe zu
benutzen. Gemäß F i g. 17 wird eine erste Überprüfung (1701) durchgeführt, um festzustellen, ob das TAG-FeId
des Befehlszähler-Inhalts ICC einen direkten Descriptor anzeigt Der Inhalt logisch 00 im TAG-FeId kennzeichnet
einen direkten Descriptor; andernfalls tritt eine Ausnahme 1702 »illegale Stack-Daten« auf; wenn der Wert
jedoch 0 ist, wird das Ringfeld im Befehlszähler-Inhalt ICC auf die neue Prozeß-Ringnummer NPR 1703
positioniert. Hierdurch wird die neue Prozeß-Ringnummer NPR auf den Wert gebracht, den sie vor der ersten
Überprüfung des Aufrufs besaß. Weitere Überprüfungen werden jedoch durchgeführt, um zu gewährleisten, daß
kein weiterer »Betrug« vorliegt Nun muß die Ringnummer von Basis-Register 0, die sich in der Bit-Position 2
befindet und auf 2 Bit-Positionen einschließlich der Bit-Position 2 erweitert ist gleich der neuen Prozeß-Ringnummer
NPR 1704 sein. (Es wird nochmals daran erinnert, daß beim Aufruf des ENTER-Befehls die Ringnummer,
die der Aufrufer vor dem Aufruf besaß, in den Bits 2 und 3 des Basis-Registers Ö (BRO), gespeichert wurde.)
Wenn sich aus der Prüfung 1704 ergibt, daß die neue Prozeß-Ringnummer NPRN nicht gleich der Ringnummer
in den Bit-Positionen 2 und 3 des Basis-Registers 0 (BRO) ist, tritt eine Ausnahme 1702 »illegale Stack-Daten«
auf. Die nächste Überprüfung 1705 stellt fest, ob ein nach innen oder ein nach außen gerichteter Aufruf
durchgeführt werden muß. Da vorher bereits ein nach innen gerichteter Aufruf durchgeführt wurde, ist nun ein
nach außen gerichteter Aufruf erforderlich, um den Ausgangspunkt zu erreichen, von dem die Prozedur aufgerufen
wurde. Da die Erfindung weiterhin keinen nach außen gerichteten Aufruf gestattet besteht nie die Notwendigkeit
eines nach innen gerichteten Rücksprungs. Nun wird die neue Prozeß-Ringnummer NPRN mit der
Pro/.eß-Ringnumrner PRN 1705 verglichen, und wenn NPRN kleiner als PRN ist wird ein nach innen gerichteter
Rücksprung erforderlich und eine Ausnahme 1706 »nach innen gerichteter Rücksprung« wird erzeugt Wenn die
Überprüfung 1705 jedoch erfolgreich durchgeführt wurde (d. h. NPRN ist gleich oder größer als PRNX wird eine
Überprüfung durchgeführt, um festzustellen, ob eine Rückkehr zu der segmentierten Adresse SEGr, die die
I» Prozedur aufrief, durchgeführt wurde und eine Rückkehr zur Abrufklammer der aufrufenden Prozedur wird
I .durchgeführt, und das Ausführungs-Bit EP wird gesetzt. Dies erfolgt durch Erfassen des Segment-Descriptors
SEGr der aufrufenden Prozedur 1707 und mit Hilfe der Überprüfungen 1709,1711 und 1712. Bei der Durchführung
der Überprüfungen 1709, 1711 und 1712, stellen die Überprüfungen 1709 und 1711 fest, ob die neue
' 5 Prozeß-Ringnummer NPRN größer als die kleinste Ringnummer WR, jedoch kleiner als die maximale Ringnummer
MAXR i't (d. h. daß sich die Ringnummer in der Aufrufklammer der aufrufenden Prozedur, also in ihrer
',-'. vorgeschriebenen Position befindet). Abschließend wird mit Überprüfung 1712 gewährleistet, daß das Ausfüh-
:i rungs-ErlauLnisbit EP auf 1 gesetzt ist. Nun ist ein voller Zyklus abgeschlossen, ein Aufruf wurde über einen
t ENTER-Befehl durchgeführt; die erforderliche Operation oder Verarbeitung wurde mit Hilfe der aufgerufenen
;;; io Prozedur durchgeführt; und danach erfolgte eine Rückkehr mit Hilfe des EXIT-Befehls zur aufrufenden Prozc-
S| dur.
|f Nach der hier erfolgten Darstellung und Beschreibung des bevorzugten Aufbaus der Erfindung kann der
f.| Fachmann erkennen, daß im Rahmen der Erfindung vielfältige Änderungen durchgeführt werden können.
'.'! 15 Erläuterung der verwendeten Ausdrücke
i| JOB
Der Job ist die Hauptarbeitseinheit für den Stapel-Benutzer. Er ist die »Größe« für die Beschreibung,
1 Planung und Realisierung der Arbeit, die άζτ Benutzer durchführen möchte.
I 20 JOB-STEP(JOb-SCHRITT)
fs Eine kleinere Einheit der Stapelarbeit. Der Job-Schritt ist im allgemeinen ein Schritt bei der Ausführung
eines Jobs, der aus einer logisch zusammengehörigen Verarbeitung besteht.
f TASK(AUFGABE)
'"I Die kleinste Einheit der benutzerdefinierten Arbeit. Innerhalb einer Task ist keine für den Benutzer
>' 25 erkennbare Parallelarbeit zulässig.
I PROGRAM (PROGRAMM)
\ Ein Satz von Algorithmen, der vom Programmierer geschrieben wurde und die zur Durchführung eines
■i Jobs oder eines Teils eines Jobs erforderlichen Informationen liefert.
I PROCESS GROUP PLEX
\ 30 Die systeminterne Darstellung einer spezifischen Job-Durchführung.
I PROCESS GROUP (PROZESSGRUPPE)
Ii Eine zusammengehörige Gruppe von Prozessen; im allgemeinen die für die Durchführung eines
ί' einzelnen Job-Schrittes erforderlichen Prozesse.
a PROCESS(PROZESS)
a 35 Die kontrollierte Durchführung von Befehlen ohne Parallelarbeit. Seine tatsächliche Darstellung und
I seine Steuerung werden von der internen System-Konzeption oder von Vereinbarungen bestimmt.
I PROCEDURE(PROzEDUR)
Eine bezeichnete Software-Funktion oder ein Algorithmus, die ohne Parallelarbeit von einer Verarbeitungseinheit
ausgeführt werden können. Ihr tatsächlicher Aufbau (der Code mit den dazugehörigen
40 Informationen, Aufruf und Benutzung) werden von der internen Systemkonzeption oder von Vereinbarungen
bestimmt
LOGICAL PROCESS (l.OGISCHER PROZESS)
LOGICAL PROCESS (l.OGISCHER PROZESS)
Die zur Ausführung eines Prozesses erforderliche Gruppierung von Hardware-Einrichtungen und
Steuerinformationen.
45 ADDRESS SPACE SEGMENTATION (ADRESSRAUM-SEGMENTIERUNG)
45 ADDRESS SPACE SEGMENTATION (ADRESSRAUM-SEGMENTIERUNG)
Die Gruppierung der logischen Adressen, zu deren Umwandlung in absolute Adressen während eines
bestimmten Prozesses die CPU berechtigt ist Obwohl ein Prozessor technisch in der Lage ist, jede
einzelne Zelle des Timing-Speichers zu adressieren, ist es wünschenswert, den Zugriff auf nur diejenigen
Zellen zu beschränken, die während des dem Prozessor zugeordneten Prozesses benutzt werden,
so LOGICAL ADDRESS (LOGISCHE ADRESSE)
so LOGICAL ADDRESS (LOGISCHE ADRESSE)
Ein Element des Prozeß-Adreßraums, wie z. B. die Segmentnummer SEG und die D-Verschiebung.
BASIC ADDRESS DEVELOPMENT(BASIS-ADRESS-ENTWICKLuNG)
BASIC ADDRESS DEVELOPMENT(BASIS-ADRESS-ENTWICKLuNG)
Eine Hardware-Prozedur, die eine Anzahl von Adreß-Elementen bearbeitet, um eine absolute Adresse
zu berechnen, die für den Zugriff zu einer Byte-Position im Kern verwendet wird.
55 PROCESS CONTROL BLOCK (PROZESS-STEUER-BLOCK)
55 PROCESS CONTROL BLOCK (PROZESS-STEUER-BLOCK)
Ein Prozeß-Steuerblock PCB ist jedem Prozeß zugeordnet, und er enthält Informationen hinsichtlich
des mit ihm zugeordneten Prozesses einschließlich der absoluten Adresse von Tabellen zur Definition
der Segmenttabellen, auf die der Prozeß Zugriff hat.
J. P. TABLES (J. P.-TABELLEN)
J. P. TABLES (J. P.-TABELLEN)
60 Eine Sammlung logischer Adressen zur Lokalisierung eines einem Prozeß zugeordneten Prozeß-Steuerblocks
S EG pd
S EG pd
Das Segment das den Prozedur-Descriptor enthält
SEGep
SEGep
65 Das Segment das den im Prozedur-Descriptor enthaltenen Eintrittsounkt enthält
PRN
Die Prozeß-Ringnummer, die sich kurz vor dem Aufruf im IC-Befehlszähler befindet oder mit Hilfe des
ENTER-Befehls errechnet wird.
22
EAR
MAXR
WR
WR
EP
CMRN
CMRN
NPRN
EPRN
EPRN
Anhang
Die tatsächliche Adreß-Ringnummer; diese ist das Maximum der folgenden Nummern:
d) Der im IC befindlichen Prozeß-Ringnummer PRN; oder
b) aller Ringnummern des Basis-Registers und der Daten-Descriptors (wenn vorhanden), die sich in
dem Pfad befinden, der vom. Aufruf-Befehl zum Prozedur-Descriptor führt und die im [VoEedur- 5
Descriptor selbst befindliche Eintrittspunkt-Ringnummer EPRN mit einschließt.
Die höchste Ringnummer, bei der eine Prozedur ablaufen kann; MAXR befindet sich im Segment-Descriptor
von SEGep·
Die kleinste Ringnummer, bei der eine Prozedur ablaufen kann; WR befindet sich im Segment-Descriptor
SEGep.
Das im Segment-Descriptor von SEGep befindliche Ausführungs-Erlaubnisbit.
Die maximale Ringnummer des Aufrufers, die sich im ersten Wort des SEGpD-Segments befindet, wenn
dieses Segment als Tor-Segment identifiziert ist (d. h. mit gesetztem Tor-Code).
Neue ProzeB-Ringnummer.
Ri/ignummerdes Eintrittspunktes (Prozeß-Prozedur-Descripior).
Signalbczeichnung
1) WSCLR
2) PDARG
3) PDURGIT
4) UWOBK
5) UWHOL
6) UWIBK
7) UWOOOOO
8) UW00010
9) UW00100 UW00110
10) UVSPS
11) UVSPD
12) UVOBK
13) UVOOOOO UV00010 UV00100
Typ
Funktion
Steuersignal Steuersignal Verbindungsaignal
Verbindungssignal Steuersignal
Steuersignal
Steuersignal Datensignal Erweiterungssignal
1 | 14) | UVOOIlO | Steuersignal | Steuereingang für UWVl F; |
15) | UWVBS | Datensignal | Dateneingang für UWVlF; | |
Vk | 16) | UWV1D | Flip/Flop | Schreib-Steuer-Flip-Flop; |
UWV2F | ||||
Löscht das Register, an das es angelegt wird; PDA-Takt-Signal;
Anschlußstift, an einem Ende mit PDA und am anderen Ende mit dem Register verbunden;
erweitert die Eingänge des UW-Registers; hält Informationen in dem Register, an das es an-
gcicgt Wifu;
wie UWOBK, jedoch a.i eine andere Eingangsklemme des UW-Registers angeschlossen; 40
Löschklemme eines Flip-Flops des UW-Registers;
Flip-Flop-Setz-KIemme des UW-Registers; 45
Identisch mit 7 +8, jedoch anderes Flip-Flop;
Ersatz-Steuereingang; 50
Ersatz- Dateneingang;
wie UWOBK und UWlBK, ist jedoch an verschiedene Register und Gatter angeschlossen; 55
wie UWOOOOO, UWOOOlO, UWOOlOO und UWOOIlO, jedoch an das UV-Flip-Flop angeschlossen;
Typ
Funktion
5 17) UWVlS UWV2S
18) | UWVlD | Datensignal | |
IO | 19) | UWVlH | Steuersignal |
20) | UWVlC | Steuersignal | |
15 |
21)
22) |
UWV2C
URNlS URN2S |
Steuersignal
Steuersignal |
20 |
23)
24) |
URNlD
URNSW |
Datensignal
Steuersignal |
25 | 25) | URN2F | Flip-Flop |
26) | URNlH | Steuersignal | |
in | 27) | URN2C | Steuersignal |
JV | 28) |
URWlS
URW2S |
Steuersignal |
35 |
29)
30) |
URWlD
URV2F |
Datensignal
Fiip-Fiop |
31) | XNU | ||
40 | 32) | XOO |
Übertragung von URNlF zu URN2F un<
URN2FzuURN1F;
Steuerung des Lademaximums (UP, UBS nacl UM);
kennzeichnet eine hier nicht benutzte Klemme;
mit Masse verbundener Eingang.
45
50
55
60
65
Claims (13)
1. Multiprogrammierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem
Speicher und weiche abhängig von intern gespeicherten, Programme bildenden Befehlswörtern Informationen
verarbeitet,
— wobei in dem virtuellen Speicher eine Mehrzahl von verschiedenen Informationsgruppen gespeichert
ist, die jeweils einem Adreßraum zugeordnet sind, welcher durch ein Segment mit einstellbarcn£}renzen
begrenzt ist,
— wobei der virtuelle Speicher wenigstens eine Segmenttabelle enthält, in der eine Mehrzahl von Scgment-Descriptoren
enthalten ist, die jeweils einem Segment zugeordnet sind,
— wobei jeder Segment-Descriptor enthält:
— ein erstes Zugriffs-Informationselement zum Schützen der in dem virtuellen Speicher gespeicherten
Daten vor unbefugten Benutzern durch Einschränken der Zugänglichkeit der Daten mittels
Datenfeldern (Zugriffsfeld; F i g. 4D), welche diejenige von verschiedenen Privilegstufen angeben,
die für einen Zugriff auf das zugehörige Segment gegeben sein muß;
— ein zweites Zugriffs-Informationselement (PRN), das die Berechtigung des in der Ausführung
befindlichen Programms zum Zugriff auf den Speicher festlegt;
— wobei ferner in einer Mehrzahl von Basis-Registern (116; Fig.4G, 4H), die den Befehlswörtern zugeordne*,
sind, dritte Zugriffs-Informationselemente (RN, BRN, DRN) enthalten sind, welche die Berechtigung
amn Zugriff eines Befehlswortes auf den Speicher angeben;
— wobei die zweiten Zugriffs-Informationselemente (PRN) und die dritten Zugriffs- Informationselemente
(RN, BRN, DRN) an eine Bestimmungseinrichtung (505,502,512) angelegt sind, die aus ihnen eine der
effektiven Privilegstufe entsprechende effektive Adreßringnummer (EAR) des in der Ausführung befindlichen
Befehlswones bestimmt;
— wobei eine auf die effektive Adreßringnummer (EAR) und auf das erste Zugriffs-Informationselement
(Zugriffsfeld; F i g. 4D) ansprechende Einrichtung (505 bis 511) den Zugriff des Befehlswortes auf das zu
dem Segment-Descriptor gehörende Segment eingeschränkt; und
— wobei die Privilegstufen ein konzentrisches Ringschutzsystem bilden, in dem jeder Informationsgruppe
vorbestimmte Ringnummern zugeordnet sind, welche die jeweiligen mit steigender Ringnummer abnehmenden
Privilegstufen angeben,
dadurckgekeniizeicKnet, daß
a) das erste Zugriffs-Infornuuonselement (Zugriffsfeld; F i g. 4D) enthält:
— ein erstes Datenfeld, in dem die maximale Lese-Ringnummer (RD) gespeichert ist, die zum Auslesen
der Information einer ausgewählten Informationsgruppe erforderlich ist;
— ein zweites Datenfeld, in dem die maximale Schreib-Ringnummer (WR) gespeichert ist, die zum
Einschreiben von Informationen in der betreffenden Informationsgruppe erforderli'-)>
ist;
— ein drittes Datenfeld, in dem die maximale Ringnummer (MAXR) gespeichert ist, die zur Verarbeitung
der Information aus einer ausgewählten Informationsgruppe erforderlich ist;
— ein Ausführungserlaubnis-Bit (EP), das die Ausführung einer Befehlsgruppe entweder zuläßt oder
sperrt, und
— ein Schreiberlaubnis-Bit (WP), welches das Einschreiben einer ausgewählten Informationsgruppc
entweder zuläßt oder sperrt;
b) ein Vergleicher (505) vorgesehen ist, der die effektive Adreßringnummer (EAR) und die Schreib-Ringnummer
(WR) miteinander vergleicht, wobei das Ausgangssignal des Vergleichers (505) in einer Schreib-Oberschreitungs-Schaltungsanordnung
(509) zu einem Schreibüberschreitungs-Ausnahmesignal verarbeitet wird, wenn die effektive Adreßringnummer (EAR) größer ist als die Schreib-Ringnummer (WR);
c) ein Vergleicher (506) vorgesehen ist, der die maximale Ringnummer (MAXR) und die Schreib-Ringnummer
(WR) mit der effektiven Adreßringnummer (EAR) vergleicht, und eine Ausführungs-Überschrcitungs-Schaitungsanordnung
(511) aus dem Ausgangssignal des Vergleichers (506) ein Ausführungsüberschreitungs-Ausnahmesignal
erzeugt, wenn die maximale Ringnummer (MAXR) nicht gleich oder größer als die effektive Adreßringnummer (EAR) ist, die ihrerseits nicht gleich oder größer als die Schreib-Ringnummer
(WR) ist;
d) ein Vergleicher (506) vorgesehen ist, der die effektive Adreßringnummer (EAR) mit der Lese-Ringnummer
(RD) vergleicht, und eine Lese-Überschreitungs-Schaltungsanordnung (508) aus dem Ausgangssigna!
des Vergleichers (506) ein Lese-Überschreitungs-Ausnahmesignal erzeugt, wenn die effektive
Adreßringnummer (EAR) größer als die Lese-Ringnummer (RD) ist; und
e) eine Speichereinrichtung (501) zum Speichern einer Prozeßringnummer (PRN) eines in der Ausführung
befindlichen Prozesses und eine Umgehungseinrichtung, die das Lese-Überschreitungs-Ausnahmesignai
umgeht, wenn die effektive Adreßringnummer (EAR) gleich der Prozeßringnummer (PRN) des jeweils
in der Ausführung befindlichen Prozesses ist, vorgesehen sind.
M
2. Datcnverarbcitung.sanordnung nach Anspruch 1, dadurch gekennzeichnet, daß das zweite Datenfeld
zusätzlich die minimale Ringnummcr (WR) angibt, ciie zur Verarbeitung von Informationen der betreffenden
Informationsgruppe erforderlich ist.
3. Datenverarbeitungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß eine Zugriffsprüfeinrich-
tung die Übertragung der Kontrolle über die Datenverarbeitungseinheit (CPU) von einer ersten ausgewählten
Prozedur (d. h. einem Aufrufer) mit einer ersten Ringnummer, die eine dem Aufrufer zugeordnete
minimale Privilegstufe anzeigt, auf eine zweite ausgewählte Prozedur (d. h. eine aufgerufene) mit einer
zweiten Ringnummer, die eine der aufgerufenen Prozedur zugeordnete minimale Privilegstufe anzeigt, und
daß die Zugriffsprüfeinrichtung mehrere Ring-Stack-Segmenteinrichtungen enthält, die jeweils einer Ring-Stack-Segmentnummer
zugeordnet sind, die die minimale Privilegstufe angibt, die für eine der Prozeduren
erforderlich ist, damit sie zu einem ausgewählten Ring-Stack-Segment Zugang hat
4. Datenverarbeiiungsanordnung nach Anspruch 3, dadurch gekennzeichnet daß vier Privilegstufen mit
den Ringnummern 0 bis 3 und entsprechend vier Ring-Stack-Segmenteinrichtungen vorgesehen sind.
5. Datenverarbeitungsanordnung nach Anspruch 3, dadurch gekennzeichnet daß die Zugriffsprüfeinrichtung
Stack-Rahmeneinrichtungen enthält die ausgewählten Prozeduren zugeordnet sind, daß die Stack-Rahmen-Einrichtungen
entsprechend der Ringnummer der zugeordneten Prozedur der Stack-Rahmen-Einrichtung
innerhalb der Ring-Stack-Segmenteinrichtungen zu Gruppen geordnet sind, und daß die Stack-Rahmen-Einrichtung
der Sicherstellung der Register des Aufrufers vor der Übergabe der Kontrolle an den
Ausrufenden dienen.
6. Datenverarbei£ung£anordnung nach Anspruch 4 und 5, dadurch gekennzeichnet daß die Zugriffsprüfeinrichtung
erste Teilelement-Einrichtungen aufweist, die abhängig von den ersten, zv/eiten, dritten und
vierten Ring-Stack-Segmenteinrichtungen Übertragungsverbindungen zwischen einer ausgewählten Stack-Rahmen-Einrichtung
in einem ersten Ring-Stack-Segment dem eine Ringnummer zugeordnet ist und einer ausgewählten weiteren Stack-Rahmen-Einrichtung in einem zweiten Ring-Stack-Segmer/, dem eine weitere
Ringnummer zugeordnet ist, herstellen.
7. Datenverarbeitungsanordnung n.ch einem der vorstehenden Ansprüche, dadurch gekennzeichnet daß
a) jeder Segment-Descriptor in vorbestimmten Positionen seines Formats ein Zugriffsinformationselement,
ein Tor-Anzeigeelement und ein Basisadressenetement aufweist, von denen das Zugriffsinformationselement
die minimale Privilegstufe anzeigt, die für eine vorbestimmte Zugriffsart erforderlich ist,
die in einem ausgewählten Segment zulässig ist, während das Tor-Anzeigeelement selektiv anzeigt, daß
der Eintrittspunkt zu einem vorbestimmten Segment durch eine Prozedur überwacht werden muß, und
das Basisadressenelement den Start-Speicherplatz eines ausgewählten Segments in dem virtuellen
Speicher adressiert
b) mehrere Speichereinrichtungen mit einem vorbestimmten Format in einem vorbestimmten Abschnitt
eine Segmentnummer (SEG) zur Identifizierung einer ausgewählten Segmenttabelle und des Orts eines
Segment-Descriptors innerhalb der ausgewählten Segmenttabelle speichern und ferner in einem vorbestimmten
weiteren Abschnitt eine Offset-Adresse innerhalb des Segments durch den Segment-Descriptor
speichern, die aus der Segmentbasis das erste Byte eines Worts innerhalb des Segments adressiert,
c) eine Adressiereinrichtung abhängig von einem Adreß-Silbenelement eines ausgeführten Befehls eine
der Speichereinrichtungen adressiert,
d) eine weitere Speichereinrichtung aus der Adreß-Silbe eine Verschiebung (D) speichert, die dazu dient
aus dem ersten Byte des Worts innerhalb des Segments jedes andere Byte des Worts zu adressieren,
e) Jne Addiereinrichtung die Verschiebung (D) und die Basisadresse zu der Offset-Adresse addiert, und
f) eine Überwachungseinrichtung in dem virtuellen Speicher abhängig von dem Tor-Anzeigeelement in
einem ausgewählten Segment-Descriptor eine Änderung der Privilegstufe einer ausgewählten ersten
Prozedur überwacht
8. Datenverarbeitungsanordnung nach Anspruch 7, gekennzeichnet durch mehrere Adressiereinrichtun-
gen, die jeweils eine vorbeshmmte erste Struktur zur Adressierung einer ausgewählten zweiten Prozedur
adressieren und von einem ersten Segment der Segmente begrenzt sind.
9. Datenverarbeitungsanordnung nach .Anspruch 8, dadurch gekennzeichnet, daß die Überwachungseinrichtung
eine Datenstruktur bildet, die ein vorbestimmtes Format aufweist und in einem vorbestimmten
ersten Abschnitt des Segments ein die maximale Ringnummer (d. h. die minimale Privileg-Siufe) eines
Aufrufers anzeigendes Element (CMRN) enthält, das für die erste ausgewählte Prozedur zum Zugriff auf das
ersi.2 der Segmente benötigt wird.
10. Datenverarbeitungsanordnung nach Anspruch 9, dad-'vch gekennzeichnet daß sich die Überwachungseinrichtung
am Anfang des ersten der Segmente befindet
11. Datenverarbeitungsanordnung nach Anspruch 8, dadurch gekennzeichnet, daß die ausgewählten Prozeduren
von vorbestimmten der Segmente begrenzt sind.
12. Datenverarbeitungsanordnung nach Anspruch 11, dadurch gekennzeichnet, daß alle Adressiereinrichtungen
mit einem vorbestimmten Segment verbunden sind und in vorbestimmten Abschnitten der ersten
Struktur ein Eintrittspunkt-Ringnummer-Element (EPRN) zur Anzeigt der maximalen Ringnummer (d. h.
der minimalen Privilegstufe) enthalten, die für die erste ausgewählte Prozedur zur Übertragung der Kontrol-Ic
über die zentrale Verarbeitungseinheit (CPU) auf die zweite ausgewählte Prozedur erforderlich ist.
13. Datenverarbeitungsanordnung nach Anspruch 12, dadurch gekennzeichnet, daß die Adressiereinrichlungcn
außerdem ein Eintrittspunkt-Adressenelement (EP) zur Anzeige der effektiven Adresse in einem
ausgewählten der vorbestimmten Segmente enthalten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7342706A FR2258112A5 (de) | 1973-11-30 | 1973-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2456602A1 DE2456602A1 (de) | 1975-06-19 |
DE2456602C2 true DE2456602C2 (de) | 1985-11-14 |
Family
ID=9128514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2456602A Expired DE2456602C2 (de) | 1973-11-30 | 1974-11-29 | Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem Speicher |
Country Status (9)
Country | Link |
---|---|
US (1) | US4177510A (de) |
JP (1) | JPS618459B2 (de) |
BR (1) | BR7410047A (de) |
CA (1) | CA1055615A (de) |
DE (1) | DE2456602C2 (de) |
FR (1) | FR2258112A5 (de) |
GB (1) | GB1483282A (de) |
IT (1) | IT1026694B (de) |
NL (1) | NL7415569A (de) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4471429A (en) * | 1979-12-14 | 1984-09-11 | Honeywell Information Systems, Inc. | Apparatus for cache clearing |
US4319323A (en) * | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4409655A (en) * | 1980-04-25 | 1983-10-11 | Data General Corporation | Hierarchial memory ring protection system using comparisons of requested and previously accessed addresses |
EP0150522B1 (de) * | 1980-04-25 | 1989-08-30 | Data General Corporation | Datenverarbeitungssystem mit hierarchischem Speicherschutz |
US4386399A (en) * | 1980-04-25 | 1983-05-31 | Data General Corporation | Data processing system |
US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
US4500952A (en) * | 1980-05-23 | 1985-02-19 | International Business Machines Corporation | Mechanism for control of address translation by a program using a plurality of translation tables |
US4445170A (en) * | 1981-03-19 | 1984-04-24 | Zilog, Inc. | Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment |
US4514800A (en) * | 1981-05-22 | 1985-04-30 | Data General Corporation | Digital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets |
US4525780A (en) * | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
US4481570A (en) * | 1981-08-07 | 1984-11-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automatic multi-banking of memory for microprocessors |
US4450522A (en) * | 1981-09-11 | 1984-05-22 | Data General Corporation | Apparatus for deriving addresses of data using displacements from base addresses which change only on call and return |
US4503492A (en) * | 1981-09-11 | 1985-03-05 | Data General Corp. | Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure |
US4453215A (en) * | 1981-10-01 | 1984-06-05 | Stratus Computer, Inc. | Central processing apparatus for fault-tolerant computing |
US4597084A (en) * | 1981-10-01 | 1986-06-24 | Stratus Computer, Inc. | Computer memory apparatus |
ATE25779T1 (de) * | 1981-10-01 | 1987-03-15 | Stratus Computer Inc | Digitale datenverarbeitungsanlage mit zuverlaessigkeits-bus-protokoll. |
US4866604A (en) * | 1981-10-01 | 1989-09-12 | Stratus Computer, Inc. | Digital data processing apparatus with pipelined memory cycles |
JPS6145272B2 (de) * | 1981-12-04 | 1986-10-07 | Burroughs Corp | |
US4803655A (en) * | 1981-12-04 | 1989-02-07 | Unisys Corp. | Data processing system employing a plurality of rapidly switchable pages for providing data transfer between modules |
US4519032A (en) * | 1982-06-09 | 1985-05-21 | At&T Bell Laboratories | Memory management arrangement for microprocessor systems |
JPS58225432A (ja) * | 1982-06-24 | 1983-12-27 | Toshiba Corp | 要求バツフア装置 |
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
JPS5960652A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | デ−タ処理装置 |
US4581702A (en) * | 1983-01-10 | 1986-04-08 | International Business Machines Corporation | Critical system protection |
US4573119A (en) * | 1983-07-11 | 1986-02-25 | Westheimer Thomas O | Computer software protection system |
US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
US4621321A (en) * | 1984-02-16 | 1986-11-04 | Honeywell Inc. | Secure data processing system architecture |
CA1235821A (en) * | 1984-06-28 | 1988-04-26 | John Zolnowsky | Data processor having module access control |
DE3440796C2 (de) * | 1984-11-08 | 1986-10-16 | Schröter, Klaus, 1000 Berlin | Kommunikationssystem |
US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
CA1244555A (en) * | 1985-06-17 | 1988-11-08 | Walter H. Schwane | Process transparent multi storage mode data transfer and buffer control |
US4703417A (en) * | 1985-06-27 | 1987-10-27 | Honeywell Information Systems Inc. | Call instruction for ring crossing architecture |
US4866599A (en) * | 1985-06-27 | 1989-09-12 | Bull Hn Information Systems Inc. | Call instruction, return instruction and trap procedure for ring crossing architecture |
JPH0782458B2 (ja) * | 1985-09-06 | 1995-09-06 | 株式会社日立製作所 | データ処理装置 |
US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US4809160A (en) | 1985-10-28 | 1989-02-28 | Hewlett-Packard Company | Privilege level checking instruction for implementing a secure hierarchical computer system |
US4797853A (en) * | 1985-11-15 | 1989-01-10 | Unisys Corporation | Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing |
US4794515A (en) * | 1986-01-17 | 1988-12-27 | International Business Machines Corporation | Protection of data in a multiprogramming data processing system |
US5233700A (en) * | 1987-03-03 | 1993-08-03 | Nec Corporation | Address translation device with an address translation buffer loaded with presence bits |
US4961137A (en) * | 1987-04-17 | 1990-10-02 | U.S. Philips Corporation | Method for operating a multiprocessor system for therein establishing a global binary assertion and a multiprocessor apparatus comprising synchronization means for such establishing, in particular for effecting a garbage collection operation |
US5140684A (en) * | 1987-09-30 | 1992-08-18 | Mitsubishi Denki Kabushiki Kaisha | Access privilege-checking apparatus and method |
US4937736A (en) * | 1987-11-30 | 1990-06-26 | International Business Machines Corporation | Memory controller for protected memory with automatic access granting capability |
US4975878A (en) * | 1988-01-28 | 1990-12-04 | National Semiconductor | Programmable memory data protection scheme |
US5197141A (en) * | 1988-01-30 | 1993-03-23 | Nec Corporation | Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions |
US5129087A (en) * | 1988-02-03 | 1992-07-07 | International Business Machines, Corp. | Computer system and a method of monitoring transient data structures in a computer system |
US4943913A (en) * | 1988-02-10 | 1990-07-24 | International Business Machines Corporation | Operating system accessing control blocks by using home address space segment table to control instruction and operand fetch and store operations |
US5434999A (en) * | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
US5051894A (en) * | 1989-01-05 | 1991-09-24 | Bull Hn Information Systems Inc. | Apparatus and method for address translation of non-aligned double word virtual addresses |
US5117491A (en) * | 1989-03-31 | 1992-05-26 | Bull Hn Information Systems Inc. | Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding |
FR2652926B1 (fr) * | 1989-10-06 | 1994-07-08 | Bull Sa | Procede d'exploitation de la memoire dans un systeme informatique du type a adressage virtuel et dispositif pour la mise en óoeuvre dudit procede. |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
JP2536651B2 (ja) * | 1990-02-21 | 1996-09-18 | 日本電気株式会社 | 例外アドレスバッファ管理方式 |
US5574912A (en) * | 1990-05-04 | 1996-11-12 | Digital Equipment Corporation | Lattice scheduler method for reducing the impact of covert-channel countermeasures |
GB9010603D0 (en) * | 1990-05-11 | 1990-07-04 | Int Computers Ltd | Access control in a distributed computer system |
US5596751A (en) * | 1990-06-05 | 1997-01-21 | Siemens Aktiengesellschaft | Method for processing a user program on a parallel computer system |
DE4018012A1 (de) * | 1990-06-05 | 1991-12-12 | Siemens Ag | Verfahren zur bearbeitung eines benutzerprogramms auf einem parallelrechnersystem |
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 |
US5596739A (en) * | 1994-02-08 | 1997-01-21 | Meridian Semiconductor, Inc. | Method and apparatus for detecting memory segment violations in a microprocessor-based 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 |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US7613659B1 (en) * | 1994-11-28 | 2009-11-03 | Yt Acquisition Corporation | System and method for processing tokenless biometric electronic transmissions using an electronic rule module clearinghouse |
US7882032B1 (en) | 1994-11-28 | 2011-02-01 | Open Invention Network, Llc | System and method for tokenless biometric authorization of electronic communications |
US5784615A (en) * | 1994-12-13 | 1998-07-21 | Microsoft Corporation | Computer system messaging architecture |
US5933632A (en) * | 1995-12-21 | 1999-08-03 | Intel Corporation | Ring transitions for data chunks |
US5918018A (en) * | 1996-02-09 | 1999-06-29 | Secure Computing Corporation | System and method for achieving network separation |
US5867647A (en) * | 1996-02-09 | 1999-02-02 | Secure Computing Corporation | System and method for securing compiled program code |
US5913024A (en) * | 1996-02-09 | 1999-06-15 | Secure Computing Corporation | Secure server utilizing separate protocol stacks |
US6003084A (en) * | 1996-09-13 | 1999-12-14 | Secure Computing Corporation | Secure network proxy for connecting entities |
US6072942A (en) * | 1996-09-18 | 2000-06-06 | Secure Computing Corporation | System and method of electronic mail filtering using interconnected nodes |
US5950195A (en) * | 1996-09-18 | 1999-09-07 | Secure Computing Corporation | Generalized security policy management system and method |
US5983350A (en) * | 1996-09-18 | 1999-11-09 | Secure Computing Corporation | Secure firewall supporting different levels of authentication based on address or encryption status |
US6144934A (en) * | 1996-09-18 | 2000-11-07 | Secure Computing Corporation | Binary filter using pattern recognition |
US5797016A (en) * | 1996-10-29 | 1998-08-18 | Cheyenne Software Inc. | Regeneration agent for back-up software |
US5915087A (en) * | 1996-12-12 | 1999-06-22 | Secure Computing Corporation | Transparent security proxy for unreliable message exchange protocols |
US5968133A (en) * | 1997-01-10 | 1999-10-19 | Secure Computing Corporation | Enhanced security network time synchronization device and method |
US6105132A (en) * | 1997-02-20 | 2000-08-15 | Novell, Inc. | Computer network graded authentication system and method |
US6233684B1 (en) | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US6357010B1 (en) * | 1998-02-17 | 2002-03-12 | Secure Computing Corporation | System and method for controlling access to documents stored on an internal network |
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 |
US6976258B1 (en) | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
US6591361B1 (en) | 1999-12-28 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for converting data into different ordinal types |
US6711607B1 (en) | 2000-02-04 | 2004-03-23 | Ensim Corporation | Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service |
US6529985B1 (en) | 2000-02-04 | 2003-03-04 | Ensim Corporation | Selective interception of system calls |
US6560613B1 (en) | 2000-02-08 | 2003-05-06 | Ensim Corporation | Disambiguating file descriptors |
US6754716B1 (en) | 2000-02-11 | 2004-06-22 | Ensim Corporation | Restricting communication between network devices on a common network |
US6748592B1 (en) | 2000-02-14 | 2004-06-08 | Xoucin, Inc. | Method and apparatus for protectively operating a data/information processing device |
US7343421B1 (en) | 2000-02-14 | 2008-03-11 | Digital Asset Enterprises Llc | Restricting communication of selected processes to a set of specific network addresses |
US6948003B1 (en) | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
US7216345B1 (en) * | 2000-04-07 | 2007-05-08 | Hall Aluminum Llc | Method and apparatus for protectively operating a data/information processing device |
US6859862B1 (en) | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
US6907421B1 (en) | 2000-05-16 | 2005-06-14 | Ensim Corporation | Regulating file access rates according to file type |
US20030159070A1 (en) * | 2001-05-28 | 2003-08-21 | Yaron Mayer | System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages |
US9213836B2 (en) | 2000-05-28 | 2015-12-15 | Barhon Mayer, Batya | System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages |
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 |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7143024B1 (en) | 2000-07-07 | 2006-11-28 | Ensim Corporation | Associating identifiers with virtual processes |
US6909691B1 (en) | 2000-08-07 | 2005-06-21 | Ensim Corporation | Fairly partitioning resources while limiting the maximum fair share |
US7412605B2 (en) | 2000-08-28 | 2008-08-12 | Contentguard Holdings, Inc. | Method and apparatus for variable encryption of data |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
US6732211B1 (en) | 2000-09-18 | 2004-05-04 | Ensim Corporation | Intercepting I/O multiplexing operations involving cross-domain file descriptor sets |
US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US7219354B1 (en) | 2000-12-22 | 2007-05-15 | Ensim Corporation | Virtualizing super-user privileges for multiple virtual processes |
US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US7028009B2 (en) | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US6618736B1 (en) | 2001-03-09 | 2003-09-09 | Ensim Corporation | Template-based creation and archival of file systems |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
WO2002101490A2 (en) | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
US6718421B1 (en) * | 2001-06-19 | 2004-04-06 | Webtv Networks, Inc. | Interconnect bus |
US8261095B1 (en) | 2001-11-01 | 2012-09-04 | Google Inc. | Methods and systems for using derived user accounts |
US7840488B2 (en) | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
WO2003044680A1 (en) | 2001-11-20 | 2003-05-30 | Contentguard Holdings, Inc. | Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates |
US7974923B2 (en) | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
US7805371B2 (en) | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
KR100703521B1 (ko) | 2002-03-14 | 2007-04-03 | 콘텐트가드 홀딩즈 인코포레이티드 | 사용권리 표현을 처리하기 위한 방법 및 장치 |
US20040024670A1 (en) | 2002-04-29 | 2004-02-05 | Contentguard Holdings, Inc. | Rights management system using legality expression language |
US7685642B2 (en) | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
US7398390B2 (en) * | 2003-08-08 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Method and system for securing a computer system |
EP1538507A1 (de) * | 2003-12-02 | 2005-06-08 | Axalto S.A. | Flash-Speicher Zugriffsverfahren und -system |
US20050278790A1 (en) * | 2004-06-10 | 2005-12-15 | International Business Machines Corporation | System and method for using security levels to simplify security policy management |
US7475431B2 (en) * | 2004-06-10 | 2009-01-06 | International Business Machines Corporation | Using security levels to improve permission checking performance and manageability |
US20060078126A1 (en) * | 2004-10-08 | 2006-04-13 | Philip Cacayorin | Floating vector scrambling methods and apparatus |
US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
US7949841B2 (en) * | 2006-12-08 | 2011-05-24 | Microsoft Corporation | Protection of critical memory using replication |
US8112597B2 (en) * | 2006-12-08 | 2012-02-07 | Microsoft Corporation | Critical memory |
US9596250B2 (en) | 2009-04-22 | 2017-03-14 | Trusted Knight Corporation | System and method for protecting against point of sale malware using memory scraping |
JP5637145B2 (ja) * | 2009-11-26 | 2014-12-10 | 日本電気株式会社 | バスモニタ回路及びバスモニタ方法 |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US10324796B2 (en) * | 2016-08-11 | 2019-06-18 | International Business Machines Corporation | Stack detail recovery |
US11171983B2 (en) * | 2018-06-29 | 2021-11-09 | Intel Corporation | Techniques to provide function-level isolation with capability-based security |
US12019601B2 (en) * | 2019-12-26 | 2024-06-25 | Yahoo Assets Llc | Horizontal skimming of composite datasets |
US11507554B2 (en) | 2019-12-26 | 2022-11-22 | Yahoo Assets Llc | Tree-like metadata structure for composite datasets |
CN113891072B (zh) * | 2021-12-08 | 2022-02-11 | 北京拙河科技有限公司 | 基于亿级像素数据的视频监测与异常分析系统与方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3264615A (en) * | 1962-12-11 | 1966-08-02 | Ibm | Memory protection system |
US3340539A (en) * | 1964-10-27 | 1967-09-05 | Anelex Corp | Stored data protection system |
US3377624A (en) * | 1966-01-07 | 1968-04-09 | Ibm | Memory protection system |
US3504349A (en) * | 1967-09-27 | 1970-03-31 | Ibm | Address examination mechanism for use in a system operating with dynamic storage relocation |
US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
US3562717A (en) * | 1968-02-23 | 1971-02-09 | Gen Electric | System protection apparatus |
NL6806735A (de) * | 1968-05-11 | 1969-11-13 | ||
US3528062A (en) * | 1968-07-05 | 1970-09-08 | Ibm | Program interlock arrangement,including task suspension and new task assignment |
US3573855A (en) * | 1968-12-31 | 1971-04-06 | Texas Instruments Inc | Computer memory protection |
US3675209A (en) * | 1970-02-06 | 1972-07-04 | Burroughs Corp | Autonomous multiple-path input/output control system |
US3614740A (en) * | 1970-03-23 | 1971-10-19 | Digital Equipment Corp | Data processing system with circuits for transferring between operating routines, interruption routines and subroutines |
GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
JPS4930578B1 (de) * | 1970-09-30 | 1974-08-14 | ||
US3727192A (en) * | 1971-04-30 | 1973-04-10 | North Electric Co | A central processing system having preloader and data handling units external to the processor control unit |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
JPS5140772B2 (de) * | 1971-07-26 | 1976-11-05 | ||
GB1410631A (en) * | 1972-01-26 | 1975-10-22 | Plessey Co Ltd | Data processing system interrupt arrangements |
US3858182A (en) * | 1972-10-10 | 1974-12-31 | Digital Equipment Corp | Computer program protection means |
US3893084A (en) * | 1973-05-01 | 1975-07-01 | Digital Equipment Corp | Memory access control system |
IT986411B (it) * | 1973-06-05 | 1975-01-30 | Olivetti E C Spa | Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario |
US4017840A (en) * | 1973-06-15 | 1977-04-12 | Gte Automatic Electric Laboratories Incorporated | Method and apparatus for protecting memory storage location accesses |
FR2253430A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US3916385A (en) * | 1973-12-12 | 1975-10-28 | Honeywell Inf Systems | Ring checking hardware |
-
1973
- 1973-11-30 FR FR7342706A patent/FR2258112A5/fr not_active Expired
-
1974
- 1974-11-29 NL NL7415569A patent/NL7415569A/xx not_active Application Discontinuation
- 1974-11-29 CA CA214,997A patent/CA1055615A/en not_active Expired
- 1974-11-29 BR BR10047/74A patent/BR7410047A/pt unknown
- 1974-11-29 DE DE2456602A patent/DE2456602C2/de not_active Expired
- 1974-11-29 JP JP49136386A patent/JPS618459B2/ja not_active Expired
- 1974-12-02 US US05/528,953 patent/US4177510A/en not_active Expired - Lifetime
- 1974-12-02 GB GB52131/74A patent/GB1483282A/en not_active Expired
- 1974-12-02 IT IT30057/74A patent/IT1026694B/it active
Also Published As
Publication number | Publication date |
---|---|
GB1483282A (en) | 1977-08-17 |
BR7410047A (pt) | 1976-05-25 |
AU7584074A (en) | 1976-06-03 |
IT1026694B (it) | 1978-10-20 |
DE2456602A1 (de) | 1975-06-19 |
JPS50114934A (de) | 1975-09-09 |
FR2258112A5 (de) | 1975-08-08 |
JPS618459B2 (de) | 1986-03-14 |
US4177510A (en) | 1979-12-04 |
NL7415569A (nl) | 1975-06-03 |
CA1055615A (en) | 1979-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2456602C2 (de) | Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem Speicher | |
DE2458065C2 (de) | Datenverarbeitungsanlage | |
DE3689569T2 (de) | Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung. | |
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE3048365C2 (de) | ||
DE3851049T2 (de) | Ein Sicherheitswegmechanismus für ein Betriebssystem. | |
DE3854616T2 (de) | Nichthierarchischer Programmberechtigungsmechanismus. | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE69731998T2 (de) | Informationsverarbeitungsvorrichtung und Verfahren | |
DE2500006A1 (de) | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE3131204A1 (de) | Adressumrechnungs- und generatoranordnung | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE2719295A1 (de) | Programmsteuerung | |
DE2459006A1 (de) | Verfahren und einrichtung zur entwicklung absoluter adressen bei segmentadressierung | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE19536169A1 (de) | Multifunktionale Chipkarte | |
DE2837872A1 (de) | Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten | |
DE2629266A1 (de) | Ein/ausgabe-system | |
DE2629459A1 (de) | Datenverarbeitungssystem | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OGA | New person/name/address of the applicant | ||
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |