DE2302074A1 - Speicherschutzanordnung in einem multiprozessorsystem - Google Patents
Speicherschutzanordnung in einem multiprozessorsystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- 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/1466—Key-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
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
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.
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)
- • PATENTANSPRÜCHESpeicherschutzanordnung 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 bestehtund 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. 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. 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/0923selwortes 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
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2810421A1 (de) * | 1977-03-24 | 1978-10-05 | Ibm | Speicherschutzeinrichtung |
Families Citing this family (55)
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 |
US5241666A (en) * | 1979-06-04 | 1993-08-31 | Unisys Corporation | Variable rate improvement of disc cache subsystem |
US4868734A (en) * | 1984-04-30 | 1989-09-19 | Unisys Corp. | 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 |
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 |
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 |
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 |
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) |
US8352730B2 (en) | 2004-12-20 | 2013-01-08 | Proxense, Llc | Biometric personal data key (PDK) authentication |
US11206664B2 (en) | 2006-01-06 | 2021-12-21 | Proxense, Llc | Wireless network synchronization of cells and client devices on a network |
US8219129B2 (en) | 2006-01-06 | 2012-07-10 | Proxense, Llc | Dynamic real-time tiered client access |
US7904718B2 (en) | 2006-05-05 | 2011-03-08 | Proxense, Llc | Personal digital key differentiation 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 |
WO2009126732A2 (en) | 2008-04-08 | 2009-10-15 | 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 |
US9322974B1 (en) | 2010-07-15 | 2016-04-26 | Proxense, Llc. | Proximity-based system for object tracking |
US8857716B1 (en) | 2011-02-21 | 2014-10-14 | Proxense, Llc | Implementation of a proximity-based system for object tracking and automatic application initialization |
US9405898B2 (en) | 2013-05-10 | 2016-08-02 | Proxense, Llc | Secure element as a digital pocket |
Family Cites Families (8)
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 |
US3317902A (en) * | 1964-04-06 | 1967-05-02 | Ibm | Address selection control apparatus |
US3328768A (en) * | 1964-04-06 | 1967-06-27 | Ibm | Storage protection systems |
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 |
-
1972
- 1972-01-20 US US00219361A patent/US3761883A/en not_active Expired - Lifetime
- 1972-11-28 IT IT32146/72A patent/IT971257B/it active
- 1972-12-19 JP JP47126819A patent/JPS504946A/ja active Pending
-
1973
- 1973-01-08 CA CA160,722A patent/CA982697A/en not_active Expired
- 1973-01-09 FR FR7301490A patent/FR2168410B1/fr not_active Expired
- 1973-01-17 DE DE2302074A patent/DE2302074A1/de active Pending
Cited By (1)
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 |
---|---|
IT971257B (it) | 1974-04-30 |
FR2168410B1 (de) | 1976-05-14 |
CA982697A (en) | 1976-01-27 |
JPS504946A (de) | 1975-01-20 |
FR2168410A1 (de) | 1973-08-31 |
US3761883A (en) | 1973-09-25 |
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 | |
DE3689217T2 (de) | Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher. | |
DE1574502C3 (de) | Assoziativspeicher | |
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 |