DE2302074A1 - Speicherschutzanordnung in einem multiprozessorsystem - Google Patents

Speicherschutzanordnung in einem multiprozessorsystem

Info

Publication number
DE2302074A1
DE2302074A1 DE2302074A DE2302074A DE2302074A1 DE 2302074 A1 DE2302074 A1 DE 2302074A1 DE 2302074 A DE2302074 A DE 2302074A DE 2302074 A DE2302074 A DE 2302074A DE 2302074 A1 DE2302074 A1 DE 2302074A1
Authority
DE
Germany
Prior art keywords
memory
keyword
area
address
bits
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.)
Pending
Application number
DE2302074A
Other languages
English (en)
Inventor
Joseph Anthony Alvarez
Jun Robert Paul Barner
Robert Joseph Hallett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2302074A1 publication Critical patent/DE2302074A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Böblingen, den 12. Januar 1973 lw-aa,
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: WA 971 009
Speicherschutzanordnung in einem Multiprozessorsystem
Die Erfindung betrifft eine Speicherschutzanordnung in einem Multiprozessorsystem mit einem gemeinsamen Hauptspeicher, wobei jeder Prozessor einen Pufferspeicher aufweist, der aus einem Puffer-Arbeitsspeicher für Daten und aus einem Schlüsselwort-Bereich zur Speicherung von Speicherschutz-Schlüsselworten besteht und wobei der Hauptspeicher in eine Vielzahl von Speicherschutzbereiche unterteilt ist und zu jedem dieser Bereiche ein Speicherschutzschlüsselwort definiert wird.
In einer solchen Anordnung soll der Schlüsselwort-Bereich zu den im Puffer-Arbeitsspeicher gespeicherten Daten die Schlüsselworte speichern.
Der Hauptspeicher kann z.B. in der Weise unterteilt sein, daß jeder Speicherschutzbereich 2048 benachbarte Bytes aufweist und an einer Speicherstelle beginnt, welche ein ganzzahliges Vielfaches dieser Bereichsgröße darstellt. Zu jedem Speicherschutzbereich wird ein Schlüsselwort definiert, welches aus 5 Bits bestehen kann. Das von der Instruktion angebotene Schlüsselwort muß dabei mit dem gespeicherten Schlüsselwort übereinstimmen, um der Instruktion den Zugriff zum Hauptspeicher zu ermöglichen.
309830/0923
In einer Speicheranordnung der oben angegebenen Art, in der jeder Prozessor einen Pufferspeicher enthält und zugleich für alle Prozessoren ein gemeinsamer Hauptspeicher vorgesehen ist, kann der Pufferspeicher nur ausgewählte Datenblocks vom Hauptspeicher speichern. Auch für einen Zugriff zu diesem Pufferspeicher muß jedoch ein Speicherschutz garantiert sein, da diese Daten lediglich eine Gruppe von Daten aus dem Hauptspeicher darstellen.
Eine erste Möglichkeit, eine solche Speicherschutzanordnung zu realisieren, besteht darin, für jeden Prozessor einen kompletten Satz der Schlüsselworte vorzusehen. In der in Fig. gezeigten Adresse, identifizieren die Bits Pl bis P2 einer 24-Bitadresse den Speicherblock, welcher im Puffer-Arbeitsspeicher adressiert werden soll. Die Bits 8 bis 20 dieser Adresse identifizieren den Speicherschutzbereich, in dem der Block liegt. Zum Auslesen des Schlüsselwortes aus dem Schlüsselwort-Bereich wird dieser Bereich mit den Bits 8 bis 20 der Adresse adressiert.
Nach dieser Methode wäre es also notwendig, in jedem Pufferspeicher einen kompletten Satz aller Schlüsselworte zu speichern. Je größer der Hauptspeicher der Datenverarbeitungsanlage ist, desto größer müßte auch der Schlüsselwort-Bereich sein. In einer Datenverarbeitungsanlage mit z.B. 16 Instruktionszähler
24 31
und einer Anzahl von 2 oder 2 adressierbaren Bytes müßten
213, bzw. 220 5-Bit-Schlüsselworte im Schlüsselwort-Bereich gespeichert werden. Eine solche Größe des Schlüsselwort-Bereiches ist jedoch nicht tragbar.
Eine zweite Möglichkeit bestünde darin, nur für jeden im Puffer-Arbeitsspeicher gespeicherten Datenblock das zugehörige Schlüsselwort im Schlüsselwort-Bereich zu speichern. Auf diese Weise könnte der Schlüsselwort-Bereich klein gehalten werden. Schwierigkeiten ergeben sich jedoch dann, wenn ein Schlüsselwort durch eine hierzu vorgesehene Instruktion geändert werden
WA 971 009 309830/0923
230207A
soll. Wenn ein Datenblock Im Puffer-Arbeitespeicher aus dem Speicherschutzbereich geholt worden ist, der durch diese Instruktion Identifiziert ist, muß das zu diesem Datenblock gehörige Schlüsselwort gemäß dieser Instruktion geändert werden.
Aus Flg. 2 ist ersichtlich, daß nach dieser «weiten Möglichkeit zur Adressierung der Datenblocks im Puffer-Arbeitsspeicher und des Schlüsselwort-Bereiches zum Auslesen des Schlüsselwortes die gleichen Adressenbits Pl bis Pl verwendet werden. Das Abbildungsgesetz, welches bei der übertragung von Datenblocks aus dem Hauptspeicher in den Puffer-Arbeitsspaicher Anwendung findet, gilt also auch für die SchlUiselworte.- Das Adressenfeld, welches dieses Speicherbereichs-Abbildungsgesetz definiert und das Adressenfeld, welches den Speicherschutzbereich definiert, sind jedoch nicht die gleichen Felder.
Um deshalb eine solche Instruktion zur Änderung eines Schlüsselwortes ausführen zu können, muß eine Vielzahl von Speicherstellen des Schlüsselwort-Bereiches ausgelesen werden, um zu bestimmen, ob ein Block aus dem durch die A"nde rungs Instruktion definierten Speicherschutzbereich sich im Puffer-Arbeitsspeicher befindet. Dieses Auslesen und vergleichen von vielen Speicherstellen des Schlüsselwort-Bereiches macht jedoch die Arbeitswelse der Einrichtung zu langsam.
Der Erfindung liegt daher die Aufgabe zugrunde, in einer Speicherschutzanordnung der oben angegebenen Art den Schlüsselwort-Bereich kleinzuhalten und ein rasches Auffinden der Schlüsselworte zu ermöglichen.
Zur Lösung dieser Aufgabe ist die Erfindung dadurch gekennzeichnet, daß im Schlüsselwort-Bereich zu jedem im Puffer-Arbeitsspeicher gespeicherten Datenblock das dazugehörige Schlüsselwort und ein Teil der zur Definition des Datenblocks nötigen Adressenbits gespeichert ist und daß Vergleicher vorgesehen sind, die bei jedem Datenzugriff zum Puffer-Arbeitsspeicher
971 009 3 0 98 3 0/0923
_ 4 —
die entsprechenden angebotenen Adressenbits mit den gespeicherten Adressenbits, sowie das von der Programminstruktion angebotene Schlüsselwort mit dem gespeicherten Schlüsselwort vergleichen.
Die Erfindung hat den Vorteil, daß die zur Speicherung der Schlüsselworte notwendigen Speichereinrichtungen im Pufferspeicher kleingehalten werden können und daß eine Instruktion zur Änderung eines Schlüsselwortes sofort ausgeführt werden
Weitere vorteilhafte Weiterbildungen der Erfindungen sind den Unteransprüchen zu entnehmen.
Im folgenden soll nun ein Ausführungsbeispiel der Erfindung anhand von Figuren näher beschrieben werden. Es zeigen:
Fig. 1 ein bekanntes Adressenformat,
Fig. 2 ein anderes, bekanntes Adressenformat,
Fig. 3 ein Datenverarbeitungssystem, in dem die vorliegende Erfindung Verwendung finden kann,
Fig. 4 eine Einrichtung nach der vorliegenden Erfindung,
welche im Zusammenhang mit dem in Fig. 3 gezeigten Pufferspeicher verwendet wird, und
Fig. 5 das erfindungsgemäße Adressenformat und die
SSK-Instruktion.
In Fig. 3 ist ein Multiprozessorsystem gezeigt, welches aus einer Vielzahl Prozessoren 1 besteht, deren jeder seinen eigenen Pufferspeicher 2 hat. Jeder der Prozessoren 1 ist über seine Sammelleitung 3 mit einer Speichersteuereinheit 6 verbunden. Die Einheiten € steuern den Zugriff und die Priorität von Verbindungen
971 009 3098 30/09 2 3
zu Eingangs/Ausgangseinheiten 5 über eine Sammelleitung 4 und zum Pufferspeicher 2 über die Sammelleitung 3. Die Speichersteuereinheiten 6 sind untereinander über eine weitere Sammelleitung verbunden. Jede der Speichersteuereinheiten 6 ist außerdem mit dem Hauptspeicher 9 über eine Sammelleitung 8 verbunden. Die in Fig. 3 gezeigten Prozessoren 1 können sowohl einzelne Prozessoren als auch ein komplexeres Gebilde von Prozessoren zur gleichzeitigen Verarbeitung von mehreren Instruktionsreihen darstellen. Diese Instruktionsreihen benutzen alle den Pufferspeicher 2.
Anhand von Fig. 4 soll nun der Pufferspeicher 2 näher beschrieben werden. Der Pufferspeicher 2 dient allgemein zur Unterstützung des Prozessors 1, da er dem Prozessor Speicherdienste leistet, welche wesentlich schneller sind als die des Hauptspeichers 9. Im Pufferspeicher 42 (Fig. 4) werden die gewünschten Daten gespeichert. Es kann sich hier z.B. um einen in eine Richtung gesetzten assoziativen Speicher handeln. Eine besondere Eigenschaft dieses Speichers besteht darin, daß seine Unterteilung eine entsprechende Abbildung des Hauptspeichers 9 darstellt. Ein Datenblock im Hauptspeicher 9 kann sich im Pufferspeicher 42 nur in diesem einen Blockabschnitt dieser Unterteilung befinden. Die Abbildung der Speicherbereiche zwischen Hauptspeicher und Pufferspeicher 42 kann jedoch auch auf andere Weise realisiert werden ohne die Wirkungsweise des Ausführungsbeispieles zu beeinträchtigen.
Die aus dem Pufferspeicher 42 ausgelesenen Daten werden in das Ausgangsregister 47 gelesen.
Adressen für den Pufferspeicher 2 werden zunächst in das Pufferadressenregister 40 eingegeben. Es wird angenommen, daß es sich hier um reale, also nicht um virtuelle Adressen handelt. Im letzteren Falle wäre eine Adressenübersetzung notwendig.
Aus Fig. 5 ist der Aufbau der verwendeten Adresse ersichtlich. Die Adresse besteht Iir. vorliegenden System aus den Bits 8 bis
971 009 3 0 9 8 3 0/0923
Die Bits 8 bis 17 geben dabei den Blockidentifizierer an, die Bits 18 bis 26 die Unterteilung und die Bits 27 bis 31 die gewünschten Bytes.
Die Bits 13 bis 20 der im Pufferadressenregister gespeicherten Adresse werden dem Schlüsselwortbereich 44 zugeleitet, in dem die Speicherschutz-Schlüsselworte der im Pufferarbeitespeicher 42 gespeicherten Daten gespeichert sind. Eine Eintragung im Schlüsselwortbereich 44 weist die Bits 8 bis 12 der Adresse der entsprechenden Daten im Pufferarbeitsspeicher 42 und das aus fünf Bits bestehende Speicherschutz-Schlüsselwort auf. Die Eintragung im Schlüsselwortbereich 44 wird dabei an einer Adresse gespeichert, welche durch die Bits 13 bis 20 der Adresse gegeben ist, der die Eintragung entspricht. Deshalb werden die Bits 13-20 vom Pufferadressenregister 40 zur Adressierung des Schlüsselwortbereiches 44 verwendet.
Mit dem Ausgang des Speichers 44 ist ein Schlüsselwortbereich-Ausgangsregister 46 verbunden, von dem die Bits 8-12 der Eintragung im Speicher 44 einem Vergleicher 48 zugeführt werden. Wie aus Fig. 4 ersichtlich ist, werden dem zweiten Eingang des Vergleichers die Bits 8 bis 12 direkt vom Register 40 zugeleitet.
Der Teil des Ausgangsregister 46, welcher das Schlüsselwort enthält, ist mit dem ersten Eingang eines weiteren Vergleichers 49 verbunden, dessen zweiter Eingang 50 das Schlüsselwort direkt vom Programmstatuswort (PSW) im Prozessor 1 empfängt.
Für den Fall, daß eine "Setze Speicherschutz-Schlüsselwort" Instruktion (SSK) ausgeführt werden soll, wird der SSK-Operand in das Pufferadressenregister 40 eingelesen. Der Operand enthält einen Speicherschutzbereich, welcher durch die Bits 8 bis 20 identifiziert ist, sowie ein durch die Bits 21 bis 31 gegebenes Nullfeld. Die Bits 8 bis 20, welche den Speicherschutzbereich im SSK-Operand angeben, entsprechen dabei nicht den Bits, welche in den bekannten Einrichtungen dazu verwendet wurden, die Schlüs-
WA 971 °09 30983 0/092 3
_ *7 —
selworte in den Schlüsselwortbereich einzulesen. In den bekannten Einrichtungen wurden die Unterteilungsbits (Pl bis P2 in Fig. 1 und 2) dazu benutzt, die Schlüsselworte einzulesen. Wenn also keine Übereinstimmung besteht zwischen den Unterteilungsfeldern in Fign. 1 und 2 (Pl bis P2) und dem Speicherschutzbereich, welcher durch die SSK-Instruktion (Bits 8 bis 20) gegeben ist, muß jede Speicherstelle im Schlüsselwortbereich 44 ausgelesen werden, um feststellen zu können, ob die betreffende Eintragung vom SSK-Operand betroffen wird. Wenn jedoch Übereinstimmung besteht zwischen diesen Feldern, reduziert sich die Anzahl der auszulesenden Speicherstellen um den Faktor 2 für jedes Bit der Übereinstimmung. Eine Speicherstelle im Schlüsselwort-Bereich 44 wird jedoch nur eindeutig angegeben, wenn eine Übereinstimmung in allen Bits besteht.
Dieser Nachteil der bekannten Einrichtungen wird im vorliegenden Ausführungsbeispiel dadurch überwunden, daß von der Adresse (Fig. 4) die Bits 13 bis 20 dazu benutzt werden, die Adresse anzugeben, in die das Schlüsselwort eingelesen werden soll. Diese Bits entsprechen auch einem Teil des Speicherschutzbereiches, was bei den bekannten Einrichtungen, welche die Bits 18 bis 26 (siehe Fig. 4) benutzten, nicht der Fall war.
Arbeitsweise des Ausftihrungsbeispieles
Die Einrichtung nach Fig. 4 arbeitet wie folgt: Wenn ein Datenblock aus den Hauptspeicher 9 in den Pufferspeicher 2 geholt wird, werden die Daten im Puffer-Arbeitsspeicher 42 und das entsprechende Speicherschutz-Schlüsselwort zusammen mit den Bits 8 bis 12 dar zu diesen Datenblock gehörigen Adresse im Schlüsselwort-Bereich 44 gespeichert. Die Speicherstelle im Speicher 44, an der das Schlüsselwort gespeichert wird, wird durch die Bits 13 bis 20 der Adresse des Datenblocks definiert.
Bei jedem Zugriff zu Daten im Puffer-Arbeitsspeicher 42 wird die entsprechende Eintragung aus dem Speicher 44 ausgelesen. Hierzu wird die Adresse der gewünschten Daten in das Pufferadrefire-
WA 971 009 309830/0923
gister 40 eingelesen. Die Bits 13 bis 2Q dieser Adresse geben die Speicherstelle an, aus der die Eintragung aus dem Speicher 44 ausgelesen werden soll. Diese Bits 13 bis 20 werden also gewissermaßen als Zeiger benutzt. Die Eintragung wird aus dem Speicher 44 in das Ausgangsregister 46 ausgelesen. Die Bits 8 bis 12 der Eintragung, welche sich nun im Register 46 befinden, werden mit den Bits 8 bis 12 der Adresse im Register 40 durch den Vergleicher 48 verglichen. Ein positiver Vergleich zeigt an, daß das ausgelesene Schlüsselwort zu dem Speicherschutzbereich gehört, der durch die Adresse identifiziert ist. Ein negativer Vergleich zeigt jedoch andererseits an, daß das Schlüsselwort nicht das gewünschte Schlüsselwort ist. In diesem Falle muß aus dem Hauptspeicher 9 der Datenblöck und das dazugehörige Schlüsselwort ausgelesen werden.
Bei einem positiven Vergleich im Vergleicher 48, d.h., wenn aus dem Speicher 44 die Eintragung mit dem gewünschten Schlüsselwort ausgelesen wurde, wird dieses Schlüsselwort im Vergleicher 49 mit dem im Programmstatuswort enthaltenen Schlüsselwort, das also zu dem betreffenden Programm gehört, verglichen. Nach einem positiven Vergleich im Vergleicher 49 kann der vom Programm gewünschte Zugriff zu den Daten im Speicher 42 erfolgen. Im gegenteiligen Falle darf ein solcher Zugriff nicht erfolgen.
Eine "Setze Schlüsselworf'-Instruktion wird wie folgt ausgeführt:
Der Operand dieser Instruktion (SSK-Operand) wird in das Pufferadressenregister 4o eingelesen. Die Bits 13 bis 20 werden als Zeiger benutzt, um die Speicherstelle im Speicher 44 zu adressieren, an der das gewünschte Speicherschütz-Schlüsselwort gespeichert sein könnte. Diese Eintragung wird in das Register 46 ausgelesen. Wie bereits oben beschrieben, werden die Bits 8 bis 12, welche sich nun im Register 46 befinden, mit den Bits 8 bis 12 vom Register 40 durch den Vergleicher 48 verglichen. Nach einem positiven Vergleich, das heißt wenn die in das Register 46 ausgelesene Eintragung das Speicherschutzschltissel-
«»71009 309830/0923
230207A
wort für den durch die SSK-Instruktion definierten Speicherschutzbereich enthält, wird das Schlüsselwort in dieser Eintragung ersetzt durch das von der SSK-Instruktion angegebene Schlüsselwort oder auch ungültig macht. Nach einem negativen Vergleich im Vergleicher 48 wird die ausgelesene Eintragung nicht verändert.
Nachfolgend soll nun eine Variante beschrieben werden, die es erlaubt, mit relativ wenig Speicherstellen im Speicher 44 auszukommen. Hierzu wird auf die in Fig. 5 gezeigten Adressen Bezug genommen. Aus Flg. 5 ist ersichtlich, daß die Speicherstelle im Schlüsselwort-Bereich 44 in die ein Schlüsselwort eingelesen werden soll, durch die Bits kl bis 20 der Adresse definiert werden kann. Außerdem können die Bits 8 bis (kl-1) der Adresse zusammen mit dem Schlüsselwort in den Speicher 44 gespeichert werden.
Bei jedem Zugriff zu Daten im Speicher 42 wird die dazugehörige Eintragung aus dem Speicher 44 ausgelesen. Hierbei wird die Speicherstelle dieser Eintragung durch die Bits kl bis 20 definiert. Bits 8 bis (kl-1) der Adresse werden dann mit den entsprechenden Adressenbits der Eintragung im Speicher 44 verglichen. Ein positiver Vergleich zeigt an, daß das Speicherschutz-Schlüsselwort ausgelesen wurde, welches zu dem durch die Adresse definierten Speicherschutzbereich gehört. Ein negativer Vergleich gibt an, daß nicht das gewünschte Speicherschutz-Schlüsselwort ausgelesen wurde. Nach einem negativen Vergleich muß der Datenblock und sein Schlüsselwort vom Hauptspeicher 9 ausgelesen werden.
Eine Veränderung des Schlüsselwortes, welches zu dem durch die SSK-Instruktion definierten Speicherschutzbereich gehört, kann wie oben beschrieben ausgeführt werden. Auf diese Weise werden pro Pufferspeicher 2 nur wenige Speicherstellen im Schlüsselwort-Bereichspeicher 44 benötigt.
«A 971 009 309830/0923
Zusammenfassend kann die Arbeitsweise des Ausführungsbeispieles wie folgt dargestellt werden:
Im Schlüsselwort-Bereich 44 werden nur die Schlüsselworte zu einer ausgewählten Anzahl von Speicherschutzbereichen gespeichert, während im Hauptspeicher ein vollständiger Satz von Schlüsselworten gespeichert ist. Wenn ein Datenblock in den Puffer-Arbeitsspeicher 42 übertragen wird, wird das dazugehörige Schlüsselwort zusammen mit einem Teil der Adressenbits im Speicher 44 gespeichert. Die Speicherstelle wird dabei durch die Bits kl bis 20 (Fig. 5) der Adresse definiert. Bei jedem Zugriff zu Daten im Puffer-Arbeitsspeicher 42 wird die durch die Adressenbits kl bis 20 definierte Eintragung aus dem Speicher 44 ausgelesen. Die Adressenbits 8 bis kl-1 der Adresse werden mit dem Adressenfeld in der Eintragung verglichen. Ein positiver Vergleich zeigt an, daß das ausgelesene Schlüsselwort zu dem gewünschten Speicherschutzbereich gehört. Bei einem negativen Vergleich muß der Datenblock und sein Schlüsselwort aus dem Hauptspeicher in den Pufferspeicher 2 übertragen werden.
Auf diese Weise wird eine wirkungsvolle Speicherung der notwendigen Schlüsselworte mit nur einer relativ geringen Anzahl von Speicherstellen im Schlüsselwort-Bereich 44 erzielt. So kann z.B. ein Schlüsselwort-Bereichspeicher 44 von 2 Speicherstellen, die zu 2 Bytes gehörenden Schlüsselworte speichern. Diese Byteanzahl ist höher als die Anzahl Bytes, die normalerweise im Puffer-Arbeitsspeicher 42 gespeichert ist.
Die Veränderung eines Schlüsselwortes für einen durch eine SSK-Instruktion definierten Speicherschutzbereich kann ausgeführt werden, indem nur eine einzige Speicherstelle im Speicher 44 ausgelesen werden braucht. Wenn die Eintragung dieser Speicherstelle ein Schlüsselwort für den durch die SSK-Instruktion definierten Speicherschutzbereich enthält, wird dieses Schlüs-
309830/0923
WA 971 009
selwort gemäß der SSK-Instruktion verändert. Im anderen Falle bleibt die Eintragung unverändert.
971 OO9 309030/0023

Claims (3)

  1. PATENTANSPRÜCHE
    Speicherschutzanordnung in einem Multiprozessorsystem mit einem gemeinsamen Hauptspeicher, wobei jeder Prozessor einen Pufferspeicher aufweist, der aus einem Puffer-Arbeitsspeicher für Daten und aus einem Schlüsselwort-Bereich zur Speicherung von Speicherschutz-Schlüsselworten besteht
    und wobei der Hauptspeicher in eine Vielzahl von Speicherschutzbereichen unterteilt ist und zu jedem dieser Bereiche ein Speicherschutz-Schlüsselwort definiert wird,
    dadurch gekennzeichnet, daß im Schlüsselwort-Bereich (44) zu jedem im Puffer-Arbeitespeicher (42) gespeicherten Datenblock das zugehörige Schlüsselwort und ein Teil der zur Definition des Datenblocks nötigen Adressenbits (8 bis 12, Fig. 4) gespeichert ist und daß Vergleicher (48, 49) vorgesehen sind, die bei jedem Datenzugriff zum Puffer-Arbeitsspeicher (42) die entsprechenden, angebotenen Adressenbits (8 bis 12, in Register 40, Fig. 4) mit den gespeicherten Adressenbits, sowie das von der Programminstruktion (PSW) angebotene Schlüsselwort mit dem gespeicherten Schlüsselwort vergleichen.
  2. 2. Speicherschutzanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zur Adressierung des Schlüsselwort-Bereiches (44) ein Teil der angebotenen Adresse, jedoch nicht der im Schlüsselwort-Bereich (44) gespeicherte Teil verwendet wird.
  3. 3. Speicherschutzanordnung nach Anspruch 2, dadurch gekennzeichnet, daß der Speicherbereich im Hauptspeicher (9), welcher durch den Speicherschutzbereich einer SSK-Instruktion zum Setzen eines Speicherschutz-Schlüs-
    97! 009 309830/0923
    selwortes angezeigt wird, den Teil der Systemadresse (Fig. 5) darstellt/ der auch dazu benutzt wird, die Daten im Puffer-Arbeitsspeicher (42) zu identifizieren.
    009 3098 3 0/092 3
DE2302074A 1972-01-20 1973-01-17 Speicherschutzanordnung in einem multiprozessorsystem Pending DE2302074A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US21936172A 1972-01-20 1972-01-20

Publications (1)

Publication Number Publication Date
DE2302074A1 true DE2302074A1 (de) 1973-07-19

Family

ID=22818972

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2302074A Pending DE2302074A1 (de) 1972-01-20 1973-01-17 Speicherschutzanordnung in einem multiprozessorsystem

Country Status (6)

Country Link
US (1) US3761883A (de)
JP (1) JPS504946A (de)
CA (1) CA982697A (de)
DE (1) DE2302074A1 (de)
FR (1) FR2168410B1 (de)
IT (1) IT971257B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2810421A1 (de) * 1977-03-24 1978-10-05 Ibm Speicherschutzeinrichtung

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4162529A (en) * 1975-12-04 1979-07-24 Tokyo Shibaura Electric Co., Ltd. Interruption control system in a multiprocessing system
US4171536A (en) * 1976-05-03 1979-10-16 International Business Machines Corporation Microprocessor system
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
JPS596415B2 (ja) * 1977-10-28 1984-02-10 株式会社日立製作所 多重情報処理システム
US4241401A (en) * 1977-12-19 1980-12-23 Sperry Corporation Virtual address translator utilizing interrupt level code
JPS5847784B2 (ja) * 1978-08-30 1983-10-25 富士通株式会社 キ−記憶システム
CA1123964A (en) * 1978-10-26 1982-05-18 Anthony J. Capozzi Integrated multilevel storage hierarchy for a data processing system
US4868734A (en) * 1984-04-30 1989-09-19 Unisys Corp. Variable rate improvement of disc cache subsystem
US5241666A (en) * 1979-06-04 1993-08-31 Unisys Corporation Variable rate improvement of disc cache subsystem
US4293910A (en) * 1979-07-02 1981-10-06 International Business Machines Corporation Reconfigurable key-in-storage means for protecting interleaved main storage
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
CA1176335A (en) * 1981-06-05 1984-10-16 Exide Electronics Corporation Computer communications control
AU542447B2 (en) * 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
US4484306A (en) * 1982-03-22 1984-11-20 Exide Electronics Corporation Method and apparatus for controlling access in a data transmission system
US4638425A (en) * 1982-09-29 1987-01-20 International Business Machines Corporation Peripheral data storage having access controls with error recovery
JPS59165162A (ja) * 1983-03-11 1984-09-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン ボリューム回復方法
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US4652990A (en) * 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4561051A (en) * 1984-02-10 1985-12-24 Prime Computer, Inc. Memory access method and apparatus in multiple processor systems
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US4941083A (en) * 1987-05-01 1990-07-10 Digital Equipment Corporation Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US5136691A (en) * 1988-01-20 1992-08-04 Advanced Micro Devices, Inc. Methods and apparatus for caching interlock variables in an integrated cache memory
US4939641A (en) * 1988-06-30 1990-07-03 Wang Laboratories, Inc. Multi-processor system with cache memories
US5097409A (en) * 1988-06-30 1992-03-17 Wang Laboratories, Inc. Multi-processor system with cache memories
US5193166A (en) * 1989-04-21 1993-03-09 Bell-Northern Research Ltd. Cache-memory architecture comprising a single address tag for each cache memory
US5163096A (en) * 1991-06-06 1992-11-10 International Business Machines Corporation Storage protection utilizing public storage key control
JP2788836B2 (ja) * 1992-05-15 1998-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション ディジタルコンピュータシステム
US5603008A (en) * 1992-09-30 1997-02-11 Amdahl Corporation Computer system having cache memories with independently validated keys in the TLB
US5450563A (en) * 1992-10-30 1995-09-12 International Business Machines Corporation Storage protection keys in two level cache system
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5590309A (en) * 1994-04-01 1996-12-31 International Business Machines Corporation Storage protection cache and backing storage having system control element data cache pipeline and storage protection bits in a stack array with a stack directory for the stack array
US5634043A (en) * 1994-08-25 1997-05-27 Intel Corporation Microprocessor point-to-point communication
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
US6137688A (en) 1996-12-31 2000-10-24 Intel Corporation Apparatus for retrofit mounting a VLSI chip to a computer chassis for current supply
US6018465A (en) * 1996-12-31 2000-01-25 Intel Corporation Apparatus for mounting a chip package to a chassis of a computer
US20030115476A1 (en) * 2001-10-31 2003-06-19 Mckee Bret Hardware-enforced control of access to memory within a computer using hardware-enforced semaphores and other similar, hardware-enforced serialization and sequencing mechanisms
WO2005086802A2 (en) 2004-03-08 2005-09-22 Proxense, Llc Linked account system using personal digital key (pdk-las)
AU2005319019A1 (en) 2004-12-20 2006-06-29 Proxense, Llc Biometric personal data key (PDK) authentication
US9113464B2 (en) 2006-01-06 2015-08-18 Proxense, Llc Dynamic cell size variation via wireless link parameter adjustment
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US8412949B2 (en) 2006-05-05 2013-04-02 Proxense, Llc Personal digital key initialization and registration for secure transactions
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
US8659427B2 (en) * 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
WO2009102979A2 (en) 2008-02-14 2009-08-20 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US8918854B1 (en) 2010-07-15 2014-12-23 Proxense, Llc Proximity-based system for automatic application initialization
US8857716B1 (en) 2011-02-21 2014-10-14 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
WO2014183106A2 (en) 2013-05-10 2014-11-13 Proxense, Llc Secure element as a digital pocket

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3284776A (en) * 1961-06-08 1966-11-08 Decca Ltd Data processing apparatus
US3328765A (en) * 1963-12-31 1967-06-27 Ibm Memory protection system
US3328768A (en) * 1964-04-06 1967-06-27 Ibm Storage protection systems
US3317902A (en) * 1964-04-06 1967-05-02 Ibm Address selection control apparatus
US3473159A (en) * 1966-07-07 1969-10-14 Gen Electric Data processing system including means for protecting predetermined areas of memory
US3465297A (en) * 1966-09-30 1969-09-02 Control Data Corp Program protection arrangement
US3461433A (en) * 1967-01-27 1969-08-12 Sperry Rand Corp Relative addressing system for memories
US3576544A (en) * 1968-10-18 1971-04-27 Ibm Storage protection system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2810421A1 (de) * 1977-03-24 1978-10-05 Ibm Speicherschutzeinrichtung

Also Published As

Publication number Publication date
US3761883A (en) 1973-09-25
CA982697A (en) 1976-01-27
JPS504946A (de) 1975-01-20
IT971257B (it) 1974-04-30
FR2168410B1 (de) 1976-05-14
FR2168410A1 (de) 1973-08-31

Similar Documents

Publication Publication Date Title
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE3011552C2 (de)
DE3151745C2 (de)
DE3618163C2 (de) Speichermanagementanordnung für ein Mikroprozessorsystem
DE3932675A1 (de) Virtuelles maschinensystem
DE2227882A1 (de) Virtuelle Speicheranordnung
DE2725718A1 (de) Verarbeitungssystem mit mehreren virtuellen adressenraeumen
DE3805107A1 (de) Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE1931966A1 (de) Elektronische Datenverarbeitungsanlage
DE2939411C2 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung
DE1499182B2 (de) Datenspeichersystem
DE2625113C2 (de) Speicherschutzeinrichtung
DE2134816A1 (de) Einrichtung zur adressenuebersetzung
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE3025167C2 (de) Datenverarbeitungseinrichtung
EP0009625A2 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE3535215C2 (de)
DE2261586C3 (de) Speichereinrichtung
DE1474090B2 (de) Datenverarbeitungsanlage
DE3216238C1 (de) Datenverarbeitungsanlage mit virtueller Teiladressierung des Pufferspeichers
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
DE3633227A1 (de) Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage
EP0750252A2 (de) Einrichtung zum Vergleich zweier dual kodierter Daten mit mindenstens 2-bit-breiten Speichern
DE2555434C2 (de) Anordnung zur Adressenumsetzung für eine Datenverarbeitungsanlage