DE2625113C2 - Speicherschutzeinrichtung - Google Patents
SpeicherschutzeinrichtungInfo
- Publication number
- DE2625113C2 DE2625113C2 DE2625113A DE2625113A DE2625113C2 DE 2625113 C2 DE2625113 C2 DE 2625113C2 DE 2625113 A DE2625113 A DE 2625113A DE 2625113 A DE2625113 A DE 2625113A DE 2625113 C2 DE2625113 C2 DE 2625113C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- data
- memory
- register
- zone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
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)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Speicherschutzeinrichtung der im Oberbegriff des Hauptanspruchs angegebenen
Art.
Speicherschutzeinrichtungen der bekannten Art bezwecken den Zugriff zu bestimmten Bereichen des
Datenspeichers einer Datenverarbeitungsanlage auf bestimmte autorisierte Benutzer zu beschränken. Dies
geschieht aus Gründen der Datensicherheit und des Datenzusammenhanges. Ein solcher Speicherschutz
kann z. B. darauf beruhen, daß einem bestimmten Benutzer der Anlage ein bestimmter Speicherbereich
zugeteilt wird. Dabei muß der Zugriff anderer Benutzer zu diesem Datenbereich verhindert werden, um die
Geheimhaltung der Daten zu gewährleisten und um nichtgewolltes Überschreiben der Daten zu verhindern.
Dieser bekannte Speicherschutz bezieht sich also auf bestimmte Bereiche des Datenspeichers.
Zur Durchführung dieses Speicherschutzes sind Einrichtungen bekanntgeworden, die einen Schutzschlüssel
bzw. einen Schutzcode dazu verwenden, Speicherbereiche einer bestimmten Größe zu schützen.
Um Zugriff zu einem dieser Bereiche fester Größe zu erhalten, muß der Benutzer den Schutzschlüssel oder
den Schutzcode eingeben, der dann von der Maschine mit dem betreffenden Schlüssel oder Code intern
verglichen wird und worauf dann in Abhängigkeit vom Vergleichsresultat der Zugriff gewährt wird oder nicht.
Diese Einrichtungen gewährleisten einen guten Schutz für Speicherbereiche einer festen, gegebenen
Größe. In einer Vielzahl von Fällen ist es jedoch gewünscht, sowohl die Größe als auch die Lage des
Speicherbereiches verändern zu können. Aus dem IBM Technical Disclosure Bulletin, Dezember 1973, Seiten
2136/2137 ist eine Speicherschutzeinrichtung bekanntgeworden, die einen Speicherbereich schützt, der durch
eine veränderbare untere Adreßgrenze und eine veränderbare obere Adreßgrenze gegeben ist Um in
dieser bekannten Einrichtung Zugriff zu einem Speicherbereich zu erhalten, muß der Benutzer einen
Identifikationscode eingeben und bei der darauffolgenden Adressierung wird jeweils überprüft, ob die vom
ίο Benutzer angegebene Zugriffsadresse über der erlaubten
unteren Adreßgrenze und unter der erlaubten oberen Adreßgrenze liegt Liegt die Adresse außerhalb
des erlaubten Bereiches, erhält der Benutzer keinen Zugriff zum Speicher sowie ein Signal, das die
Abweisung seiner Zugriffsanforderung angibt Mit dieser bekannten Einrichtung wird insofern eine
Flexibilität erzielt, als Bereiche variabler Größe und
variabler Lage im Speicher geschützt werden können. Die Überprüfung in der bekannten Einrichtung ist
jedoch sehr zeitaufwendig, da die definierten unteren und oberen Grenzadressen von Registern geholt
werden und Vergleichsoperationen unter Verwendung dieser Grenzadressen ausgeführt werden müssen, was
insgesamt mehrere Maschinenzyklen erfordert
Der Erfindung liegt daher die Aufgabe zugrunde, die Arbeitsgeschwindigkeit einer Speicherschutzeinrichtung
der oben angegebenen Art zu erhöhen.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Hauptanspruchs angegebenen Merk-
jo male gelöst
Da nach der Erfindung zwei seriell zusammenhängende arithmetische Operationen während eines einzigen
Maschinenzyklus durchgeführt werden können, wird bei der Durchführung der Speicherschutzoperation ein
ganz wesentlicher Zeitvorteil erzielt. Insbesondere wird die Überprüfung der oberen Grenze des erlaubten
Adressenbereiches parallel mit dem Zugriff zum
Speicher und innerhalb des betretenden Zugriffs-Maschinenzyklus durchgeführt.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung soll nun anhand der Zeichnung beschrieben werden. Es zeigt
Fig. 1 ein Blockschema einer Datenverarbeitungsanlage mit den zur Durchführung der vorliegenden Erfindung erforderlichen Teilen,
Fig. 1 ein Blockschema einer Datenverarbeitungsanlage mit den zur Durchführung der vorliegenden Erfindung erforderlichen Teilen,
F i g. 2 ein Diagramm bezüglich der Konstruktion und Operation der Recheneinheit 20 in Fig. 1 mit
unabhängigen Zonen,
F i g. 3 ein Blockschema einer der in F i g. 1 gezeigten ähnlichen Datenverarbeitungsanlage, in dem jedoch der
Steuerteil der Anlage und seine Verbindung mit den übrigen Funktionseinheiten der Anlage ausführlicher
dargestellt sind, und
F i g. 4 bis 6 Tabellen zur Erklärung der Wirkungsweise der in der Fi g. 1 gezeigten Datenverarbeitungsanlage.
In F i g. I ist ein Datenprozessor 10 gezeigt, der Daten verarbeiten kann, Oje aus Sequenzen von binären
so Zeichen oder Bits bestehen. Es wird angenommen, daß
die Datenbits in diesen Sequenzen gruppiert sind in Acht-Bit-Gruppen, wobei jede solche Acht-Bit-Gruppe
ein Datenbyte genannt wird. Der gezeigte Datenprozessor besteht aus einem Eingangs/Ausgangsteil I/O,
n5 einem Speicher, einer Verarbeitungseinheit und einer
Steuereinheit. Der Eingangs/Ausgangsteil wird durch ein Gerät Il und einen Pufferspeicher 12 dargestellt.
Der Speicherteil umfaßt einen Hauptspeicher 13, ein
Datenregister 14 und ein Speicheradreßregister 15. Der Steuerteil (Steuergerät) ist mit 16 bezeichnet Der Rest
der in F i g. 1 gezeigten Einheiten sind im Prozessor enthalten und sind in Fi g. 1 mit dem Bezugszeichen 17
angegeben.
Die arithmetische und logische Einheit ALU 20 stellt das Zentrum des Verarbeitungsteiles 17 dar. Die ALU
20 enthält in mehreren, unabhängigen Zonen parallele binäre arithmetische Schaltungen. Zur Vereinfachung
wird hierunter angenommen, daß die ALU 20 die Form eines binären Addierers der oben angegebenen Art hat.
Zur genaueren Darstellung der arithmetischen Verarbeitungseinheit (ALU) 20 soll nun Bezug auf
Fig.2 genommen werden. Die ALU 20 enthält demnach einen parallelen binären Addierer und weist
eine relativ große Datenflußbreite von 8 Bytes auf. Ferner sind einstellbare Grenzeinrichtungen vorgesehen,
mit denen die in F i g. 2 gezeigten Grenzen A und B eingestellt werden können und die die ALU 20 bzw. den
Addierer 20 in mehrere, voneinander unabhängig arbeitende Zonen variabler Breite und variabler Lage
unterteilen können. Abhängig von der Lage der Grenzen A und B können zwischen 1 und 3 unabhängig
arbeitende Zoi.en eingestellt werden. Unabhängige externe Übertrags-Eingangsleitungen CU, CV und CW
sind für die drei unabhängig arbeitenden Zonen vorgesehen. Gleichermaßen sind unabhängige externe
Übertrags-Ausgangsleitungen CX, CYund CZ vorgesehen.
Dabei werden die verbindenden Punkte für diese Übertragseingangs- und-ausgangsleitungen automatisch
mit den verschiebbaren Grenzen A und E verschoben. So werden der Verbindungspunkt für die
CiZ-Übertragseingangsleitung für die Zone 1 und der
Verbindungspunkt für die Cy-Übertrags-Ausgangsleitung für die Zone 2 im Schritt mit dem Verschieben der
Grenze A mitverschoben. Gleichermaßen wird die CK-Übertrags-Eingangsleitung für die Zone 2 und die
CZ-Übertrags-Ausgangsleitung für die Zone 3 zusammen mit de- Grenze B mitverschoben.
Jeder Byteteil des Addierers 20 umfaßt acht parallele binäre Bitstufen. Die Gesamtdatenbreite des Addierers
20 umfaßt somit 64 Bits. Die Rangfolge der Bits und der Bytes erhöht sich von rechts nach links. So stellt z. B. das
Byte 0 das Byte der höchsten Ordnung und das Byte 7 das Byte Jer niedrigsten Ordnung iiar. Jede Bytesektion
(z. B. Byte 0) kann einen ersten Acht-Bit-Eingangsoperanden (z. B. A 0 für das Byte 0) zu einem zweiten
Acht-Bit-Eingangsoperanden (z.B. BO für das Byte 0) addieren und eine Acnt-Bit-Summe (z.B. 50 für das
Byte 0) erzeugen.
Zur Beschreibung der Wirkungsweise der ALU 20 wird angenommen, daß die in der ALU 20 enthaltenen
Steuerschaltungen so eingestellt sind, daß sie die ALU 20 in zwei unabhängig arbeitende Zonen verteilen, die
jeweils eine Breite von vier Bytes haben. Diese Einstellung wird durch die Grenzsteuersignale bewirkt,
die der ALU 20 von der Steuereinheit 16 über die Steuersammelleitung 21 (Fig. 1) zugeführt werden. In
F i g. 2 ist angenommen, daß die Grenzen A und ßderart eingestellt sind, daß die Zone 1 die Bytes 0 bis 2 und die
Zone 2 die Bytes 4 bis 7 umfassen. Dies wird dadurch
erreicht, daß die Grenze A an der Trennlinie zwischen den Bytes 3 und 4 (Skalenstrich 4 für die /4-Grenze) und
die Grenze B em rechten Ende des Addierers 20
(Skalenstrich 7 der Grenze ßj eingestellt wird. In diesem
Falle verschwindet die "One 3. Per höhere Teil, d. h. der
Zonen-1 -Teil der arithmetische!' Einheit 20 wird mit 20a
und der niederwertige Teil, d. h. die Zone 2. mit 206
bezeichnet.
■ Mit dieser Einstellung arbeiten die höherwertige Hälfte 20a und die niederwertige 206 als unabhängige
erste und zweite arithmetische Einheiten. Die höher-
ϊ wertige Einheit 20a wird dazu eingesetzt, einen ersten
Vier-Byte-Operanden (A 0—A 3) zu einem zweiten Vier-Byte-Operanden (BO-B 3) zu addieren und somit
eine resultierende Vier-Byte-Summe (SO—S3) zu erzeugen. In gleicher Weise wird die niederwertige
hi Hälfte der Einheit 206 dazu eingesetzt, einen ersten
Vier-Byte-Operanden (A 4—A 7) zu einem zweiten
Vier-Byte-Operanden (B4—Bl) zu addieren und damit
eine Vier-Byte-Summe (S 4—S 7) zu erzeugen.
In F i g. 1 ist die höhere Hälfte 20a der arithmetischen Einheit schraffiert dargestellt, während die niedere
Hälfte 206 unschraffiert dargestellt ist Aus F i g. 1 ist ersichtlich, daß die Eingangsbytes A 0—A 7 der linken
Seite, d.h. A-Eingangsseite der Einheit 20 zugeführt
werden. Die Eingangsbytes BO—B7 werden der
in rechten, d. h. B-Eingangsseite der- ALU 20 zugeführt.
Die resultierenden Summenbytes SO bis 57 werden an
der Ausgangsseite, d. h. in F i g. 1 unten, der ALU 20 erhalten. Der Einfachheit halber sind die 32 Emgangs-
und Ausgangsleitungen für jede Vier-Byte-Gruppe der Dateiioits durch eine einzelne Leitung in F i g. 1
dargestellt. Zum Beispiel werden die 32 Datenbits für die Eingangsbytes AO-A3 über die Datensammelleitung
22 übertragen, die demnach aus 32 einzelnen Leitungen besteht
Die Daten werden in den Hauptspeicher 13 dadurch eingeschrieben, daß sie zuerst in das Datenregister 14
und die entsprechende Zugriffsadresse in das Speicheradreßregister 15 eingeschrieben werden. Die Daten
werden vom Hauptspeicher 13 ausgelesen, indem die Zugriffsadresse in das Speicheradreßregister 15 und
dann die an dieser Adresse ausgelesenen Daten in das Datenregister 14 gespeichert werden. Der Zugriff zum
Speicher erfolgt byteweise, d. h. daß jedes Byte im Hauptspeicher 13 eine eigene Adresse hat. Die
Einrichtung gestattet dabei einen gleichzeitigen Zugriff von einem bis zu acht Byte.
Zur Darstellung der Funktionsweise soll nun angenommen werden, daß Daten vom Hauptspeicher 13 zur
Verarbeitung in der Einheit 17 ausgelesen weiden. Die Daten werden hierzu während aufeinanderfolgender
Speicher-Lesezyklen und Instruktionszyklen in das Datenregister 14 ausgelesen. Wenn die Ausleseeinrichtung
eine Datenbreite von acht Bytes hat, können während eines bestimmten Speicherzyklus zwischen
einem und acht Bytes gleichzeitig in das Register 14 ausgelesen werden. Zur Verarbeitung werden die Daten
vom Register 14 über eine Verschiebeeinrichtung 24 zu einem Bestimmungsregister 25 übertragen. Die Daten in
diesem Bestimmi'.ngsregister 25 werden hiernach entweder einem A-Register 26, einem B-Register 27
oder einem von mehreren Allzweck- oder Einzweck-Registern in einem Lokalspeicher 28 zugeführt. Ein
Allzweckregister :.n dem Lokalspeicher 28 ist mit 30 bezeichnet Wie in F i g. 1 gezeigt, sind im Lokalspeicher
bo 28 auch noch verschiedene andere Register vorgesehen.
Die Daten im Bestimmungsregister 25 können auch zurück zum Datenregister 14 über die Vier-Byte-Datensammelleitungen
31a und 316 übertragen werden. Wenn es sich bei den Daten im Datenregister 14 um
f>5 Programminstruktionen handelt, dann werden sie auch
in das Instruktionsregister 32 gesetzt.
Die Daten im A-Register 26 werden an die linke Hälfte, das ist an die A-Eingangsseite der ALU 20
übertragen. Die Daten im B-Register 27 werden über Wahr/Komplementär-Tore (T/C) 33 an die rechte Seite,
d. h. an die B-Eingangsseite der Einheit 20 übertragen. Die resultierenden Daten erscheinen am Ausgang der
ALU 20 und werden in ein Z-Register 34 gesetzt. Die Daten im Z-Register können zu einer der beiden
Einheiten 16 oder 24 oder auch zu diesen beiden Steuerteil- und Schiebeteileinheiten übertragen werden.
Die Tore 33 können die Daten im B-Register 27 an die ALU 20 entweder in wahrer oder in komplementierter
Form übertragen in Abhängigkeit von den an die Tore vom Steuerteil 16 über die Steuerleitungen in einer
Steuersammelleitung 35 gelieferten Steuersignale übertragen. Dabei sind die Steuerungen für die beiden Teile
33a und 336 der Tore 33 voneinander unabhängig, so ι;
daß für diese beiden Teile eine unabhängige Übertragung vorgenommen werden kann. Bei einer Subtraküonsoperäüon
wird ein -f- !-Eingsngsübcrtrsg sr; die
ALU 20 über eine +1-Schaltung 36 geliefert. Dieses +1-Eingangsübertragsignal kann an eine oder beide
Übertragseingangsleitungen CU und CV (Fig. 2) in Abhängigkeit von der gewünschten ALU Operation für
jede der beiden separaten arithmetischen Zonen 20a und 206 angelegt werden.
Jede der Einheiten 24 bis 27, 30, 33 und 34 hat eine Datenflußbreite von acht Bytes. Jede dieser Einheiten
enthält also 64 binäre Datenbitstufen. Die Bitstufen für die hochrangigen vier Bytes werden mit dem Zusatz »a«
angegeben und die Bitstufen für die niederrangigen vier Bytes mit dem Zusatz »b«. Die Datensammelleitungen jo
zwischen diesen Einheiten und der ALU 20 enthalten jeweils eine Gruppe von 32 Datenieitungen. Zum
Beispiel enthält jede der vier Byte-Datensammelleitungen 37a und 376 zwischen dem Verschieber 24 und dem
Bestimmungsregister 25 32 Datenleiter. Die Datensam- a
melleitung 37a verbindet die hochrangigen Stufen 24a und 25a. während die Datensammelleitung 37b die
niederrangigen Stufen 24b und 25b verbindet. Jede der in Fig. 1 gezeigten Sammelleitungen mit 32 Bitleitungen
ist über eine Gruppe von 32 Steuertoren verbunden, um den Datenfluß auf diesen Sammelleitungen steuern
zu können. Diese Schalttore sind der Einfachheit halber in F i g. 1 nicht gezeigt.
In der in Fig. 1 gezeigten Einrichtung sind auch
Schaltungen enthalten, die es gestatten, einen ersten und -«5 einen zweiten Operanden zu der ersten arithmetischen
Zone, die in F i g. I als gestrichelte Zone 20a angedeutet
ist. der arithmetischen Einheit 20 zur Erzielung eines ersten Resultates zu übertragen. Diese Operanden-Eingangsschaltunge:.
enthalten eine höhere Hälfte 26a des A-Registers 26 zur Übertragung eines ersten Operanden
zu der höherrangigen linken Eingangsseite der ALU 20 und die höherrangige Hälfte 27a des
B-Registers 27 zur Übertragung eines zweiten Operanden zu der höherrangigen rechten Eingangsseite der
ALU 20. wobei dieser zweite Operand über die hochrangige Hälfte 33a der Wahr/Komplementär-Tore
33 übertragen wird.
Die in F i g. 1 gezeigte Einrichtung enthält ferner Datenübertragungsschaltungen, die mit dem Ausgang
der ersten arithmetischen Zone (gestrichelte Zone 20a in Fig. 1) der arithmetischen Einheit 20 zur sofortigen
Rückübertragung des ersten Resultates zum Eingang der zweiten arithmetischen Zone (ungestrichelte Zone
20b in Fig. 1) verbunden sind, wodurch sofort ein zweites und vom ersten verschiedenes Resultat erhalten
werden kann. Diese Datenübertragungsschaltungen enthalten eine vier Byte breite Datensammelleitung 40,
die mit dem höherrangigen Ausgang (Resultatbytes SO bis 53) der arithmetischen Einheit 20 verbunden ist und
die an ihrem anderen Ende mit der niederrangigen Hälfte 33b der Tore 33 verbunden ist. Diese
Datenübertragungsschaltungen enthalten ferner die niederrangige Hälfte 33b der Tore 33 und die
Datensammelleitung für die Operandenbytes B 4 bis B 7, die die niederrangige Hälfte der Tore 336 mit dem
Eingang der rechten Seite für die niederrangige Hälfte 20ό der arithmetischen Einheit 20 verbindet. Bei der
nachfolgend beschriebenen Arbeitsweise der Einrichtung werden die Datenflußsteuertore (nicht gezeigt),
welche den Datenfluß auf den Datensammelleitungen zu den niederrangigen Toren 33b steuern, in der Weise
gesteuert, daß die Datensammelleitung 40 Daten zu den Toren 336 überträgt, während die Datensammelleitung
vom Teil 27b des B-Registers blockiert wird und somit
Die Datenübertragungsschaltung, bestehend aus der Datensammelleitung 40 und der niederrangigen Hälfte
33b der T/C-Tore ist so eingerichtet, daß sie in asynchroner Weise arbeitet, derart, daß das erste
Resultat (Resultatbytes SO-S3) zurück zum Eingang
der zweiten arithmetischen Zone 206 übertragen wird, sobald es am Ausgang der ersten arithmetischen Zone
20a der ALU 20 verfügbar wird. Diese DatenübertragungsK iv-Jtung ist also frei von Registern, Kippschaltungen
oder anderen von Taktsignalen gesteuerten Übertragungseinrichtungen. Die Übertragung über die
Tore 33 erfolgt demgemäß ohne Taktsteuersignale und wird nur durch die unvermeidbaren inhärenten Übertragungsverzögerungen
verzögert. Das gleiche gilt auch für die arithmetische Einheit 20, die auch aus
»Durchflußschaltungen« aufgebaut ist. Im Gegensatz hierzu werden das Bestimmungsregister 25, das
A-Register 26, das B-Register 27 und das C-Register 34 durch Taktimpulse vom Steuerteil 16 gesteuert. Die
Taktsteuerung 16 steuert also die Zeiten zu denen neue Daten in diese Register eingeschrieben werden können.
Die Daten bleiben dabei in diesen Registern, so lange, bis neue Daten während eines darauffolgenden
Taktimpulses eingeschrieben werden. Die Register arbeiten somit synchron.
Wie bereits früher erwähnt, findet die vorliegende Erfindung eine vorteilhafte Verwendung bei der
Überprüfung einer oberen Adreßgrenze im Zusammenhang mit einer Speicherschutzeinrichtung für ausgewählte
Bereiche eines Hauptspeichers 13. Bei dieser Verwendung wird angenommen, daß die in F i g. 1
gezeigte Einrichtung auch eine Fortschreibungbjchaltung
enthält, die sowohl die gegenwärtige Speicheradresse als auch die verlangte Speicherzugriffslänge zu
der ersten arithmetischen Zone 20a der ALU 20 zu Additionszwecken bringt. Mit der Addition wird eine
neue oder fortgeschriebene Speicheradresse erzeugt, welche die obere Adreßgrenze des gegenwärtigen
Speicherzugriffs angibt. Die gegenwärtige, aktuelle Speicheradresse befindet sich dabei in der höherrangigen
Hälfte 30a des Lokalspeicherregisters 30. »SA« bezeichnet »Speicheradresse«. Diese aktuelle Speicheradresse
wird an die linke Eingangsseite der ersten arithmetischen Zone 20a von der hochrangigen Hälfte
26a des A-Registers 26 angelegt Andererseits wird der Wert der Länge des verlangten Speicherzugriffs, der
sich ursprünglich im Instruktionsregister 32 befindet, an die rechte Eingangsseite der höherrangigen Hälfte der
ALU 20 über die hochrangige Hälfte des Verschiebers 24, das Bestimmungsregister 25, das B-Register 27 und
die Tore 33 angelegt. Die höherrangige Hälfte 20a der arithmetischen Hälfte addiert die gegenwärtige
Speicheradresse zu der verlangten Zugriffslänge, so daß die neue, fortgeschriebene Speicheradresse nunmehr
aus den Resultatbytes SO—53 ersichtlich ist. Die höherrangige Hälfte 33a der T/C-Tore liefert dabei die
Zugr'fslänge an die rechte Eingangsseite 20a der ALU 20 in wahrer Form.
Die Einrichtung zur Überprüfung der oberen Adreßgrenze enthält auch eine Grenzfiberp.-üfungsschaltung,
die sowohl die obere Grenzadresse als auch die neue fortgeschriebene Adresse, die von der
höherrangigen Zone 20a der ALU 20 erhalten wurde, an die zweite oder niederrangige arithmetische Zone 206
anlegt, um damit eine Anzeige zu erhalten, ob die neue
Adresse die obere Grenzadresse überschreitet. Diese Grenzprüfschaltung enthält die niederrangige Hälfte
306 des Lokalspeicherregisters 30. von der die obere Grenzadresse an die linke Eingangsseite der niederrangigen
arithmetischen Zone 206 über die niederrangige Hälfte 266 des A-Registers 26 übertragen wird. »t/S«
bezeichnet »obere Grenze«. Die Grenzüberprüfungsschaltung enthält ferner die Vier-Byte-Datensammelleitung
40 und dit niederrangige Hälfte 336 der Tore 33 zur Übertragung der neuen oder fortgeschriebenen
Adresse an die rechte Eingangsseite der niederrangigen arithmetischen Zone 206. Während dieser Grenzüberprüfungsoperation
wird die niederrangige Hälfte 276 des B-Registers 27 daran gehindert, Daten über die
ntedcrangige Hälfte 336 der Tore 33 zu übertragen. In
der gezeigten Ausführungsform wird die niederrangige Hälfte 336 der T/C-Tore derart gesteuert, daß das
Komplement der neuen, fortgeschriebenen Adresse an die rechte Eingangsseite der niederrangigen Zone 206
der ALU 20 angelegt wird. Ferner tritt die +!-Schaltung 36 in Tätigkeit und liefert ein + 1-Übertragseingangssignai
an die unterste Bitposition in der niederrangigen arithmetischen Zone 206. Dies geschieht über die
Übertrags-Eingangsleitung CV(F i g. 2).
Dabei soll bemerkt werden, daß wenn die arithmeti- -»ο
sehe Einheit 20 eine ungerade Anzahl von polaritätsumkehrenden Stufen aufweist, so daß ihr Ausgang
komplementiert ist im Verhältnis zu ihrem Eingangssignal, daß dann die niedere Hälfte 336 der Tore 33 die
neue Adresse an die arithmetische Zone 206 in wahrer Form übertragen sollte und daß das + 1-Übertrags-Eingangssignal
an die Zone 206 wegfallen sollte. In der
vorliegenden Ausführungsform ist angenommen, daß die Anzahl der Stufen in der ALU 20 gerade ist, so daß
Eingangs- und Ausgangssignale nicht invertiert aufscheinen.
Die Einrichtung zur Überprüfung der oberen Grenzadressen enthält ferner eine Schaltung, die auf das
Übertrags-Ausgangssignal CY für die niederrangige arithmetische Zone 206 anspricht und ein Fehlersignal
der Überschreitung der oberen Grenze erzeugt, wenn die neue oder fortgeschriebene Adresse diese obere
Grenze überschreitet Diese Schaltung enthält die Cy-Übertrags-Ausgangsleitung, eine Kippschaltung 41
und eine Kippschaltungs-Ausgangsleitung 4Z Die Kippschaltung 41 speichert zeitweise das Cy-Übertrags-Ausgangssignal
und das Überschreitungsfehlersignal erscheint an der Kippschaltungs-Ausgangsleitung
42. Das Fehlersignal wird ferner der Steuereinrichtung 16 zugeführt um die Datenverarbeitung zu unterbrechen
und die entsprechende Fehlerroutine einzuleiten. Der Steuerteil 16 kann entweder ein Mikroprogramm
enthalten oder kann ganz in Hardware ausgeführt sein.
F i g. 3 zeigt den Steuerteil 16 ausführlicher für den Fall, daß darin ein Mikroprogramm verwendet wird. Der
Steuerteil 203 in Fig. 3 entspricht dem Steuerteil 16 in Fig. 1. Ebenso entspricht der Addierer 208 in F i g. 3 der
arithmetischen Einheit 20 in Fig. I. Das Lokalspeicherregister 30 in Fig. 1 würde bei der Realisierung nach
Fig. 3 die Form eines der Speicherregister im Lokalspeicher 230 annehmen.
Nachfolgend soll nun die Arbeitsweise der in Fig. 1 gezeigten Einrichtung für den Fall beschrieben werden,
daß eine Überprüfung der oberen Grenze für die fortgeschriebene Adresse eines Speicherzugriffs zum
Hauptspeicher 13 durchgeführt wird. Diese Überprüfung gestattet eine flexible Form eines Speicherschutzes,
indem der Schutz auf Bereiche eines Hauptspeichers erstreckt werden kann, deren Beginn und deren
Ende sowie deren Größe nicht von vorneherein festgelegt werden müssen.
Um Zugriff zu einem geschützten Bereich zu erhalten, wird vom Benutzer sein Benutzer-Identifikationscode
zusammen mit einer Identifikation des Speicherbereiches, zu dem Zugriff gewünscht wird, in der betreffenden
Zu^riffsanforderung geliefert. Der Prozessor 10 führt hiernach einen Zugriff zu einer Speicherschutztabelle
im Hauptspeicher 13 durch und bestimmt, ob vom Benutzer der richtige Identifikationscode für den
verlangten Speicherbereich eingegeben wurde. Wenn das der Fall ist, Überträge der Datenprozessor 10 vom
Hauptspeicher 13 die Beginnadresse und die obere Grenzadresse für den geschützten Speicherbereich und
setzt diese Daten in das Register 30 des Lokalspeichers. Hierauf wird der gewünschte Lese- oder Schreibzugriff
durchgeführt. Die Startadresse für den geschützten Bereich wird in die hochrangige Vier-Byte-Hälfte 30a
des Registers 30 gesetzt, während die obere Grenzadresse in die niedere Vier-Byte-Hälfte 306 in das Register 30
gesetzt wird. Der Benutzer, dessen Zugriff bewilligt wurde, kann hierauf zu dem geschützten Bereich
innerhalb dieser beiden Grenzen Zugriff erhalten.
Es wird angenommen, daß der Speicherzugriff mit der Startadresse für den geschützten Bereich beginnt. Die
Zugriffsoperation wird mit der Übertragung der entsprechenden Lese- oder Schreibinstruktion in das
Datenregister 14 begonnen. Die Übertragung erfolgt dabei entweder vom Benutzerprogramm, das in einem
anderen Bereich des Hauptspeichers 13 gespeichert ist oder aufgrund einer externen Anforderung über den
Eingangs/Ausgangspufferspeicher 12. Die Zugriffsinstruktion wird dann in das Instruktionsregister 32
übertragen. Eine solche Instruktion enthält unter anderem einen Operationscode, einen Speicherbereichscode
und einen Zugriffslängencode. Der Operationscode gibt an, ob es sich bei der Operation um eine
Lese- oder eine Schreiboperation handelt und der Zugriffslängencode gibt die Länge der gewünschten
Daten, d. h. die Anzahl der gewünschten Bytes an. Der Operationscode wird dabei auch an den Steuerteil 16
übertragen, der daraufhin Steuersignale an die arithmetische Einheit 20 über die Steuersammelleitung 21
sendet Hierdurch wird der Zoneneinteilungsmechanismus in der arithmetischen Einheit 20 derart gesteuert,
daß die ALU 20 in zwei voneinander unabhängige Vier-Byte arithmetische Zonen 20a und 206 eingestellt
•wird. Der Steuerten 16 sendet auch Steuersignale an die
Wahr/Komplementtore 33 über die Steuersammeüeitung 35, wodurch die höherrangige Hälfte 33a Daten in
wahrer Form und die niederrangige Hälfte 336 Daten in invertierter Form (Einerkomplement) überträgt
Im nächsten Schritt des Speicherzugriffszyklus wird der Wert für die Speicherzugriffslänge im Instruktionsregister 32 in die höherrangige Hälfte 25a des
Bestimmungsregisters 25 gesetzt. Dann wird die aktuelle Speicheradresse, die im vorliegenden Fall, wie
oben erwähnt, gleich ist der Beginnadresse des Speicherbereiches in der höherrangigen Hälfte 30a des
Lokalspeicherregisters 30 in die höherrangige Hälfte 26a des A-Registers 26 gesetzt. Ferner wird die obere
Grenzadresse in der niederrangigen Hälfte 306 in die niederrangige Hälfte 266 des Α-Registers übertragen
und wird die Zugriffslänge in der höherrangigen Hälfte 25a des Bestimmungsregisters 25 in die höherrangige
Hälfte 27a des B-Registers 27 übertragen. Die aktuelle Speicheradresse in der höherrangigen Hälfte 26a des
Α-Registers wird sofort danach in das Speicheradreßiegister
15 gesetzt und damit die Zugriffsoperation zum Speicher !3 begonnen. Zu gleicher Zeit wird die akutcüe
Speicheradresse in der Hälfte 26a des Α-Registers und die Zugriffslänge in der Hälfte 27a des B-Registers zur
arithmetischen Einheit 20 gebracht. Die Hälfte 33a der Tore 33 überträgt dabei die Zugriffslänge in wahrer
Form. Die ALU 20 addiert diese beiden Eingangsoperanden und erzeugt an der hochrangigen Ausgangshälfte
(Bytes 50—53) eine neue, fortgeschriebene Adresse, die daraufhin in die höherrangige Hälfte 34a des
C-Registers gesetzt wird. Diese neue Adresse wird sofort, nachdem sie am Ausgang der ALU 20 erscheint,
zurück an die Eingangsseite der niederrangigen Hälfte 206 über die Vier-Byte-Datensammelleitung 40 und die
niederrangige Hälfte 336 der Tore 33 übertragen. Diese niederrangige Hälfte 336 der T/C-Tore wird dabei so
gesteuert, daß sie das Einerkomplement des neuen Adressenwertes an die rechte Eingangsseite 206 der
arithmetischen Einheit überträgt Zur gleichen Zeit wird die obere Grenzadresse in der niederrangigen Hälfte
266 des Α-Registers an die linke Eingangsseite der niederrangigen Hälfte 206 der ALU 20 übertragen.
Diese niederrangige Hälfte 206 der arithmetischen Einheit addiert sodann das Einerkomplement der neuen
Adresse zu dem oberen Grenzwert, wobei eine
+ I-Übertrags-Eingangssignal von der Schaltung 36 über die CV-Übertrags-Eingangsleitung an die ALU 20
übertragen wird. Hierdurch wird von der Hälfte 206 der arithmetischen Einheit ein Ausgangsresultat erzeugt 4i
(Bytes 54—57), welches die Summe des oberen Grenzwertes und des Zweierkomplementes der neuen
Adresse darstellt. Dieses Resultat stellt natürlich das gleiche Resultat dar, das erhalten worden wäre, wenn
die neue Adresse von der oberen Grenzadresse abgezogen worden wäre. Das Resultat von der
niederrangigen Hälfte 206 der arithmetischen Einheit stellt somit das wahre Subtraktionsresultat dar. Dieser
Subtraktionswert wird jedoch in der vorliegenden Ausführungsform nicht benutzt Die Überprüfung, ob
die obere Grenzadresse überschritten wird, erfolgt vielmehr durch Feststellung des Obertrags-Ausgangssignals
CY für die niederrangige Hälfte 206 der arithmetischen Einheit Die Abwesenheit des Übertrags-Ausgangssignals
(CV=O) zeigt dabei einen Fehler an, d.h. zeigt an, daß die obere Grenzadresse
überschritten wurde. Die neue Adresse war in diesem Falle größer als die obere Grenzadresse. Die Anwesenheit
des Übertrags-Ausgangssignals hingegen /1CZ=I)
zeigt an, daß die neue Adresse noch im erlaubten b5 Bereich liegt, d. h. kleiner ist als die obere Grenzadresse.
Die F i g. 4 bis 6 erklären, wieso das Übertrags-Ausgangssignal
CY dazu benutzt werden kann, einen Überschreitungsfehler anzuzeigen. Der Einfachheit
halber wird in den gezeigten Beispielen eine hexadezimale Notierung (Basis 16) anstelle der tatsächlichen
binären Notierung benutzt.
In allen drei gezeigten Beispielen wird angenommen, daß die obere Grenzadresse den Wert »6000« in
hexadezimaler Notierung, d. h. 24 576 in dezimaler Notierung haben. Im ersten Beispiel nach F i g. 4 hat die
neue Adresse den Wert »5FFF« (24 575 in dezimaler Notierung), was natürlich kleiner ist als die obere
Grenze. Das 16-K.omplement von 5FFF ist AOOl.
Addiert man dieses 16-K.omplement zu dem oberen Grenzwert, erhält man 0001 plus einem Übertrags-Ausgangssignal
zu der nächsten höherrangigen Stellenposition. Allgemein gilt, daß wenn die neue Adresse kleiner
ist als die obere Grenze, das Komplement der neuen Adresse immer so groß sein wird, daß es ein
F i g. 5 betrifft den Fall der Gleichheit zwischen der neuen Adresse und der oberen Grenzadresse. In diesem
Fall ist das 16-Komplement gleich »AOOO« und die Summe ist dann »0000« mit einem Übertrags-Ausgangssignal
zur nächsten Stellenposition.
In F i g. 6 ist der Fall dargestellt, daß die neue Adresse größer ist als die obere Grenzadresse. In diesem Fall ist
das 16-Komplement »9FFF« und die Summe ist gleich »FFFF«, es wird also kein Übertrags-Ausgangssignal
erzeugt. Man sieht also, daß, wenn die neue Adresse, die sich am Ende des Speicherzugriffs zur gewünschten
Datenlänge ergibt, größer ist als die obere Grenzadresse, das Komplement zu klein ist, um ein Übertrags-Ausgangssignal
zu erzeugen. Das Übertrags-Ausgangssignal kann daher in der oben angegebenen Weise zur
Anzeige eines Überschreitungsfehlers verwendet werden, wobei die Abwesenheit des Übertrags (CV=O)
einen Fehler, d. h. die Überschreitung des erlaubten Adreßbereiches anzeigt.
Die in F i g. 1 gezeigte Einrichtung arbeitet, wie bereits gesagt, nicht in hexadezimaler, sondern in
binärer Notierung. Auch für diesen Fall sin··1 die in den
F i g. 4 bis 6 aufgezeigten Gesetzesmäßigkeiten jedoch gültig. Wenn also die neue Adresse kleiner ist als die
obere Grenzadresse, oder gleich ist dieser Grenze, dann ist das Komplement davon groß genug, um ein
Übertrags-Ausgangssignal zu erzeugen. Umgekehrt ist das Komplement zu klein, um einen Übertrag zu
erzeugen, wenn die neue Adresse größer ist als die obere Grenzadresse.
Der Status des CV-Übertrags-Ausgangssignals wird in der Kippschaltung 41 gespeichert Am Ausgang
dieser Kippschaltung 41 wird also das Fehlersignal erhalten, das eine Überschreitung des erlaubten
Adreßbereiches anzeigt Über die Ausgangsleitung 42 der Kippschaltung 41 gelangt der Status des CV-Signals
zur Steuereinheit 16. Liegt ein Fehler vor, unterbricht die Steuereinheit 16 sofort die Speicherzugriffsoperation
und die Datenverarbeitung. Das Benutzerprogramm oder Eingangs/Ausgangszyklen werden somit
unterbrochen. Eine Fehlermeldung gelangt zum Benutzer oder an die Konsole. Auf diese Weise wird
verhindert daß ein Benutzer den ihm zugewiesenen Speicherbereich verlassen und zu einem Speicherbereich
eines anderen Benutzers Zugriff erlangen kann, wobei angenommen wird, daß ein gegebener Benutzer
nicht die Berechtigung hat zu Speicherbereichen anderer Benutzer zuzugreifen.
Liegt kein Adreßüberschreitungsfehler vor, wird der neue, fortgeschriebene Adressenwert in der höherrangi-
gen Hiilfte 34a des C-Registers zurück in die Hälfte 30a
des Lokalspeicherregisters 30 über die Verschiebebälfte 24a und die Hälfte 25a des Bestimniungsregisters
übertragen und ersetzt dort die vorher eingeschriebene, alte Adresse. Die Verarbeitungseinrichtung 17 kann
sodann die nächste Speicherzugriffsinstruktion abarbeiten. Solange kein Überschreitungsfehler festgestellt
wird, werden aufeinanderfolgend Speicherzugriffsinstruktionen abgearbeitet, wie oben beschrieben, wobei
die gegenwärtige Adresse in der Registerhälfte 30a durch eine neue fortgeschriebene Adresse zum geeigneten
Zeitpunkt im Speicherzugriffszyklus überschrieben wird.
Es soll darauf hingewiesen werden, daß einige Speicherzugriffsinstruktionen nicht die Fortschreibung
der gegenwärtigen Speicheradresse im Register 30a verlangen. In diesen Fällen arbeitet die Überschreitungs-Prüfeinrichtung
genau in derselben Weise, wie oben beschrieben, wobei jedoch die fortgeschriebene
Adresse ir der höherrangigen Hälfte 34a des C-Registers nicht zurück zum SA-Register 30a übertragen
wird.
Der große Vorteil der vorgehend beschriebenen Einrichtung besteht darin, daß zwei bestimmte Operationen
während ein und desselben Maschinensteuerzyklus durchgeführt werden können. In der ersten
Operation wird die aktuelle Speicheradresse zu der gewünschten Speicherzugriffslänge addiert, um die neue
Adresse zu erhalten. In der zweiten Operation wird diese während der ersten Operation erhaltene, neue
Adresse von der oberen Grenze subtrahiert, um das Überschreitungs-Prüfsignal zu erhalten. Es ist also nicht
notwendig, in einem zweiten Maschinenzyklus die Überprüfung der Adressenüberschreitung durchzuführen.
Es soll ferner darauf hingewiesen werden, daß die oben beschriebene Arbeitsweise in zwei aufeinanderfolgenden
Operationen geringfügig langsamer ist als eine
ίο Arbeitsweise, die auf einem einzigen Durchgang beruht,
da die Subtraktion die zur Grenzüberschreitung verwendet wird, auf das Ergebnis der Adreßfortschreibung
warten muß. Diese Verzögerung entsteht durch die inhärenten Schaltungsverzögerungen in der arithmetischen
Einheit 20 bei der Durchführung der Adreßfortschreibungsaddition. Diese Verzögerung ist
jedoch klein in ihrer absoluten Höhe und verlängert nicht den normalen Speicherzugriffszyklus, da die
Datenübertragung zum oder vom Speicher länger dauert als eine Operation in einem Durchgang.
Ein weiterer Vorteil ergibt sich in der oben beschriebenen Einrichtung dadurch, daß die Berücksichtigung
von verschiedenen Zugriffslängen möglich ist. In aufeinanderfolgenden Speicherzugriffsinstruktionen
können verschiedene Lese- oder Schreiblängen angegeben sein, wobei die Adressenüberprüfung trotzdem in
der gewünschten Weise funktionieren kann. Die Adreßüberprüfungseinrichtung ist also nicht beschränkt
auf Scheibe- oder Leselängen eines festen Wertes.
Hierzu 3 Blatt Zeichnungen
Claims (6)
1. Speicrierschutzeinrichtung mit Adressenvergleich,
dadurch gekennzeichnet, daß die gegenwärtige Speicheradresse und die gewünschte Datenzugriffslänge in der ersten Zone (2Oa^ eines in
zwei voneinander unabhängige Zonen unterteilbaren Addierers (20) addiert werden und daß dieses
Summenresultat (SO—S3) in der zweiten Zone (20b) des Addierers von einem oberen Grenzwert
subtrahiert wird
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß Addition und Subtraktion im selben
Maschinenzyklus durchgeführt werden.
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Übertragung der Summe an die
Eingänge der zweiten Zone {20b) sofort nach Resultatbitöung und asynchron zum SpeicherzugFtiiSZynjUS Ui iGigt
4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Übertragssignal (CY) der zweiten
Zone zur Anzeige der Überschreitung des geschützten Adressenbereiches benutzt wird.
5. Einrichtung nach Anspr/ich 4, gekennzeichnet
durch eine mit dem Eingang des Addierers verbundene Komplementiereinrichtung (33).
6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Komplementiereinrichtung (33)
Daten an die »rste Addiererzone (2OaJm wahrer und
an die zweite Addiererzone IfOb) in komplementärer Form überträgt
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/587,936 US3999052A (en) | 1975-06-18 | 1975-06-18 | Upper bounds address checking system for providing storage protection for a digital data processor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2625113A1 DE2625113A1 (de) | 1976-12-30 |
DE2625113C2 true DE2625113C2 (de) | 1984-01-05 |
Family
ID=24351784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2625113A Expired DE2625113C2 (de) | 1975-06-18 | 1976-06-04 | Speicherschutzeinrichtung |
Country Status (5)
Country | Link |
---|---|
US (1) | US3999052A (de) |
JP (1) | JPS5914770B2 (de) |
DE (1) | DE2625113C2 (de) |
FR (1) | FR2315146A1 (de) |
GB (1) | GB1523005A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3333894A1 (de) * | 1982-09-29 | 1984-03-29 | Apple Computer, Inc., Cupertino, Calif. | Speichermanagementeinheit |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4133028A (en) * | 1976-10-01 | 1979-01-02 | Data General Corporation | Data processing system having a cpu register file and a memory address register separate therefrom |
DE2842548A1 (de) * | 1978-09-29 | 1980-04-10 | Siemens Ag | Programmierbare speicherschutzlogik fuer mikroprozessorsysteme |
US4430711A (en) | 1980-05-30 | 1984-02-07 | Signetics Corporation | Central processing unit |
US4627017A (en) * | 1980-10-22 | 1986-12-02 | International Business Machines Corporation | Address range determination |
JPS58149548A (ja) * | 1982-03-02 | 1983-09-05 | Hitachi Ltd | メモリ制御方式 |
US4592005A (en) * | 1982-07-06 | 1986-05-27 | Sperry Corporation | Masked arithmetic logic unit |
JPS59125462A (ja) * | 1982-12-30 | 1984-07-19 | Fujitsu Ltd | ボリユ−ム管理情報の保護方式 |
US5101370A (en) * | 1990-07-26 | 1992-03-31 | Unisys Corporation | Programmable digital accumulate and scale circuit |
US5623621A (en) * | 1990-11-02 | 1997-04-22 | Analog Devices, Inc. | Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer |
EP0555382B1 (de) * | 1990-11-02 | 1996-03-27 | Analog Devices, Inc. | Adressengenerator für einen ringpuffer |
US5787492A (en) * | 1996-04-09 | 1998-07-28 | International Business Machines Corporation | Address limit check apparatus with conditional carry logic |
US5949972A (en) * | 1996-08-23 | 1999-09-07 | Compuware Corporation | System for memory error checking in an executable |
US6583945B1 (en) | 1998-10-30 | 2003-06-24 | Iomega Corporation | Method for irreversibly write-securing a magnetic storage cartridge |
JP2001022637A (ja) * | 1999-07-07 | 2001-01-26 | Fujitsu Ltd | メモリ制御装置及び情報処理装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB986929A (en) * | 1961-06-08 | 1965-03-24 | Decca Ltd | Improvements in or relating to data processing apparatus |
US3639912A (en) * | 1969-04-16 | 1972-02-01 | Honeywell Inf Systems | Management control subsystem for multiprogrammed data processing system |
DE2222195A1 (de) * | 1972-05-05 | 1973-11-22 | Siemens Ag | Anordnung zur verarbeitung von operanden von programmen |
US3863061A (en) * | 1973-08-16 | 1975-01-28 | Us Navy | Alu with end-around carry derived from auxiliary unit |
-
1975
- 1975-06-18 US US05/587,936 patent/US3999052A/en not_active Expired - Lifetime
-
1976
- 1976-05-05 GB GB18383/76A patent/GB1523005A/en not_active Expired
- 1976-05-06 FR FR7614184A patent/FR2315146A1/fr active Granted
- 1976-05-25 JP JP51059723A patent/JPS5914770B2/ja not_active Expired
- 1976-06-04 DE DE2625113A patent/DE2625113C2/de not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3333894A1 (de) * | 1982-09-29 | 1984-03-29 | Apple Computer, Inc., Cupertino, Calif. | Speichermanagementeinheit |
Also Published As
Publication number | Publication date |
---|---|
GB1523005A (en) | 1978-08-31 |
USB587936I5 (de) | 1976-03-23 |
JPS522227A (en) | 1977-01-08 |
FR2315146B1 (de) | 1979-09-21 |
DE2625113A1 (de) | 1976-12-30 |
FR2315146A1 (fr) | 1977-01-14 |
US3999052A (en) | 1976-12-21 |
JPS5914770B2 (ja) | 1984-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2625113C2 (de) | Speicherschutzeinrichtung | |
DE2457312C3 (de) | Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung | |
DE3338345C2 (de) | ||
DE2354521C2 (de) | Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
DE2953861C2 (de) | ||
DE1499175B2 (de) | Steuereinrichtung in einem mehrspezies rechner | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2430127A1 (de) | Einrichtung zur steuerung des speicherzugriffs konkurrierender benutzer | |
DE2718849A1 (de) | Rechenspeicher mit mehrdimensionalem, parallelem zugriff | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE1774052B1 (de) | Rechner | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE2429067B2 (de) | Speicherschaltung | |
EP0185260B1 (de) | Schnittstelle für direkten Nachrichtenaustausch | |
CH654679A5 (de) | Prozessrechner. | |
DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
DE2725614C2 (de) | ||
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher | |
DE3931505C2 (de) | Speichersteuerung in einer Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 13/00 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |