DE2625113A1 - Speicherschutzeinrichtung - Google Patents
SpeicherschutzeinrichtungInfo
- Publication number
- DE2625113A1 DE2625113A1 DE19762625113 DE2625113A DE2625113A1 DE 2625113 A1 DE2625113 A1 DE 2625113A1 DE 19762625113 DE19762625113 DE 19762625113 DE 2625113 A DE2625113 A DE 2625113A DE 2625113 A1 DE2625113 A1 DE 2625113A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- data
- 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.)
- Granted
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
Aktenzeichen der Anmelderin; EN 974 029
Die Erfindung betrifft eine Speicherschutzeinrichtung der im Oberbegriff des Hauptanspruches 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 beikanntgeworden,
die einen Schutzschlüssel, bzw. einen Schutzcode j {dazu verwenden, Speicherbereiche einer bestimmten Größe zu schütze^,
IUm Zugriff zu einem dieser Bereiche fester Größe zu erhalten,
muß der Benutzer den Schutzschlüssel oder den Schutzcode ein- !geben, 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 31-36 ist
eine Speicherschutzeinrichtung bekannt geworden, 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 Arbeitsge- :
schwindigkeit einer Speicherschutzeinrichtung der oben angegebenen
Art zu erhöhen.
Diese Aufgabe wird erfindungemäß durch die im Kennzeichen des
Hauptanspruches angegebenen Merkmale gelöst.
Da nach der Erfindung zwei seriell zusammenhängende arithmetische Operationen während eines einzigen Maschinenzyklus durchgeführt
EN 974029
609853/0690
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 betreffenden 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 zeigen;
Fig, 1 ein Blockschema einer Datenverarbeitungsanlage
mit den zur Durchführung der vorliegenden Erfindung erforderlichen Teilen,
Fig, 2 ein Diagramm, das die Konstruktion und Operation
de Recheneinheit 20 in Fig, 1 mit unabhängigen Zonen r
Fig, 3 ein Blockschema einer der in Fig. 1 gezeigten
ähnlichen Datenverarbeitungsanlage, in dem jedoch der Steuerteil der Anlage und seine
Verbindung mit den übrigen Funktionseinheiten der Anlage ausführlicher dargestellt ist und
iFign, 4 bis 6 Tabellen zur Erklärung der Wirkungsweise der
j in der Fig, 1 gezeigten Datenverarbeitungsanlage.
In Fig. 1 ist ein Datenprozessor 10 gezeigt, der Daten verarbeiten
kann, die aus Sequenzen von binären Zeichen oder Bits bestehen. Es wird angenommen, daß die Datenbits in diesen Sequenzen grup- !
piert sind in Acht-Bit-Gruppen, wobei jede solche Acht-Bit-Gruppe :
ein Datenbyte genannt wird. Der gezeigte Datenprozessor besteht EN 974 029
609853/0690
einem Eingangs/Ausgangsteil, einem Speicher, einer Verarbeitungseinheit
und einer Steuereinheit. Der Eingangs/Ausgangsteil
wird durch ein Gerät 11 und einen Pufferspeicher 12 dargestellt.
Der Speicherteil umfaßt einen Hauptspeicher 13f ein Datenregister
14 und ein Speicheradreßregister 15. Der Steuerteil ist mit 16 bezeichnet. Der Rest der in Fig. 1 gezeigten Einheiten
sind im Prozessor enthalten und sind in Fig. 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 nach der in der US-Patentanmeldung Serial No, 573 656, 1, Mai 1975,
gezeigten Art, 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 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 Fig, 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 arbeitenden Zonen 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, CY und CZ
vorgesehen. Dabei werden die verbindenden Punkte für diese Übertragseingangs- und -ausgangsleitungen automatisch mit den verschiebbaren
Grenzen A und B verschoben. So werden der Verbindungspunkt für die CU Ü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,
EN 974 029
609853/069Q
Gleichermaßen wird die CV Übertrags-Eingangsleitung für die Zone
und die CZ Übertrags-Ausgangsleitung für die Zone 3 zusammen mit
der 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 der niedrigsten Ordnung dar. Jede Bytesektion (z.B. Byte 0) kann einen ersten Acht-Bit Eingangsoperanden (z.B. AO für das Byte O) zu einem zweiten Acht-Bit-Eingangsoperanden
(z.B. BO für das Byte 0) addierern und eine Acht-Bit-Summe (z.B. SO für das Byte 0) erzeugen.
Zur Beschreibung der Wirkungsweise der AIiU 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
(Fig, 1) zugeführt werden, In Fig, 2 ist angenommen, daß die Grenzen A und B 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 Α-Grenze) und ; die Grenze B am rechten Ende des Addierers 20 (Skalenstrich 7 der
1 Grenze B) eingestellt wird. In diesem Falle verschwindet die Zone
3, Der höhere Teil, d.h. der Zonen-1-Teil der arithmetischen
Einheit 20 wird mit 20a und der niederwertige Teil, d,h, die Zone 2, Hälfte mit 20b bezeichnet, :
Mit dieser Einstellung arbeiten die hochwertige Hälfte 20a und ;
die niederwertige 20b als unabhängige erste und zweite arithme- j tische Einheiten, Die höherwertige Einheit 20a wird dazu eingesetzt,
einen ersten Vier-Byte-Operanden (A0-A3) zu einem zweiten
EN 974 029
609853/0690
Vier-Byte-Operanden (BO-B3) zu addieren und somit eine resultierende
Vier-Byte-Summe (SO-S3) zu erzeugen. In gleicher Weise wird die niederwertige Hälfte der Einheit 20b dazu eingesetzt,
einen ersten Vier-Byte-Operanden (A4-A7) zu einem zweiten Vier-Byte-Operanden (B4-B7) zu addieren und damit eine Vier-Byte-Summe
(S4-S7) zu erzeugen.
In Fig. 1 ist die höhere Hälfte 20a der arithmetischen Einheit schraffiert dargestellt, während die niedere Hälfte 20b unschraffiert
dargestellt ist. Aus Fig. 1 ist ersichtlich, daß die Eingangsbytes A0-A7 der linken Seite, d.h. der Α-Seite, oder Eingangsseite der Einheit 20 zugeführt werden. Die Eingangsbytes B0-B7
werden der rechten oder B-Eingangsseite der ALU 20 zugeführt. Die resultierenden Summenbytes SO bis S7 werden an der Ausgangsseite,
d.h. in Fig. 1 unten der ALU 20 erhalten. Der Einfachheit halber sind die 32 Eingangs- und Ausgangsleitungen für jede Vier-Byte-Gruppe
der Datenbits durch eine einzelne Leitung in Fig. 1 dargestellt. Z.B. werden die 32 Datenbits für die Eingangsbytes AO-A3
über die Datensammelleitung 22 übertragen, die demnach aus 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 Zugriff sadresse 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
ausgelesen werden. Die Daten werden hierzu während aufeinanderfol-
EN 974 029
609853/0690
gender 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 Regsiter 14 über eine Verschiebeeinrichtung 24
zu einem Bestimmungsregister 25 übertragen. Die Daten in diesem Bestimmungsregister 25 werden hiernach entweder einem A-Register
26f einem B-Register 27 oder einem von mehreren Allzweck oder
Einzweck-Registern in einem Lokalspeicher 28 zugeführt. Ein
Allzweckregister 28 in dem Maschinenteil 28 ist mit 30 bezeichnet. Wie in Fig. 1 gezeigt, sind im Lokalspeicher 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 31b übertragen werden.
Wenn es sich bei den Daten im Datenregister 14 um Programminstruktionen handelt, dann werden sie auch in das Instruktionsregister 32 gesetzt.
Die Daten im A-Register 26 werden an die linke Hälfte, 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 einer komplementierten Form
übertragen in Abhängigkeit von den an die Tore vom Steuerteil über die Steuerleitungen in einer Steuersammelleitung 35 gelieferten
Steuersignale übertragen. Dabei sind die Steuerungen
für die beiden Teile 33a und 33b der Tore 33 voneinander unabhängig, so daß für diese beiden Teile eine unabhängige übertragung
vorgenommen werden kann. Bei einer Subtraktionsoperation wird ein +1 Eingangsübertrag an die ALU 20 über eine +1 Schaltung
EN 974 029
609853/0690
— ο —
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 20b 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 zwischen diesen Einheiten und der ALU 20 enthalten jeweils eine Gruppe von 32 Datenleitungen. Z.B. enthält jede der
vier Byte-Datensammelleitungen 37a und 37b zwischen dem Verschieber 24 und dem Bestimmungsregister 25 32 Datenleiter, Die Datensammelleitung 37a verbindet die hochrangigen Stufen 24a und 25a r 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 Fig« 1
nicht gezeigt.
niederrangigen vier Bytes mit dem Zusatz "b". Die Datensammelleitungen zwischen diesen Einheiten und der ALU 20 enthalten jeweils eine Gruppe von 32 Datenleitungen. Z.B. enthält jede der
vier Byte-Datensammelleitungen 37a und 37b zwischen dem Verschieber 24 und dem Bestimmungsregister 25 32 Datenleiter, Die Datensammelleitung 37a verbindet die hochrangigen Stufen 24a und 25a r 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 Fig« 1
nicht gezeigt.
In der in Fig. 1 gezeigten Einrichtung sind auch Schaltungen enthalten,
die es gestatten, einen ersten und einen zweiten Operand zu der ersten arithmetischen Zone, die in Fig. 1 als gestrichelte
Zone 20a angedeutet ist, der arithmetischen Einheit 20 zur Erzielung eines ersten Resultates zu übertragen. Diese Operanden-Eingangsschaltungen
enthalten eine höhere Hälfte 26a des A-Registers 26 zur Übertragung eines ersten Operandens 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.
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.
EN 974 029
609853/0690
Die in Fig. 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 erstes verschiedenes Resultat erhalten werden kann. Diese Datenübertragungsschaltungen enthalten eine vier Byte breite Datensammelleitung
40, die mit dem höherrangigen Ausgang (Resultatbytes SO bis S3) 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 B4 bis B7f die die niederrangige
Hälfte der Tore 33b mit dem Eingang der rechten Seite für die niederrangige Hälfte 20b 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 33b überträgt, während die Datensammelleitung vom Teil 27b des B-Registers blockiert wird und
somit keine Daten zu den Toren 33b gelangen.
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 S0-S3) zurück zum Eingang der zweiten arithmetischen Zone 20b übertragen wird, sobald es
am Ausgang der ersten arithmetischen Zone 20a der ALU 20 verfügbar j
wird. Diese Datenübertragungsschaltung ist also frei von Registerni
Kippschaltungen oder anderen von Taktsignalen gesteuerten Übertragungseinrichtungen,
Die Übertragung über die Tore 33 erfolgt , demgemäß ohne Taktsteuersignale und wird nur durch die unver- ;
meidbaren inhärenten Übertragungsverzögerungen verzögert. Das !
EN 974 029
609853/0690
gleiche gilt auch für die arithmetische Einheit 20, die auch aus "DurchIfuß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, solange, 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 Fig, 1 gezeigte Einrichtung
auch eine Fortschreibungsschaltung enthält, die sowohl die gegenwärtige
Speicheradresse als auch die verlangte Speicherzugriffslänge zu der ersten arithmetischen Zone 20a der ALU 20 zu Additions
zwecken 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 i 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 S0-S3 ersichtlich ist. Die höherrangige Hälfte 33a der T/C-Tore liefert dabei die Zu-
EN 974 029
009853/0690
griffslänpe an die rechte Eingangsseite 20a der ALU 20 in wahrer
Form.
Die Einrichtung zur überprüfung der oberen Adreßgrenze enthält
auch eine Grenzüberprü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 20b anlegt, um damit eine Anzeige zu erhalten, ob die neue Adresse die obere Grenzadresse
überschreitet. Diese Grenzprüfschaltung enthält die niederrangige
Hälfte 30b des Lokalspeicherregisters 30 t von der die obere Grenzadresse
an die linke Eingangsseite der niederrangigen arithmetischen Zone 20b über die niederrangige Hälfte 26b des A-Registers
26 übertragen wird, "DB" bezeichnet "obere Grenze", Die GrenzüberprüfungsschaZtung
enthält ferner die Vier-Byte-Datensammelleitung
40 und die niederrangige Hälfte 33b der Tore 33 zur übertragung der neuen oder fortgeschriebenen Adresse an die rechte
Eingangsseite der niederrangigen arithmetischen Zone 20b, Während dieser Grenzüberprüfungsoperation wird die niederrangige Hälfte
27b des B-Registers 27 daran gehindert, Daten über die niederrangige Hälfte 33b der Tore 33 zu übertragen. In der gezeigten
Ausfuhrungsform wird die niederrangige Hälfte 33b der T/C-Tore
derart gesteuert, daß das Komplement der neuen, fortgesehr!ebenen
Adresse an die rechte Eingangsseite der niederrangigen Zone 20b der ALU 20 angelegt wird. Ferner tritt die +1 Schaltung 36 in Tätigkeit
und liefert ein +1 Übertragseingangssignal an die unterste Bitposition in der niederrangigen arithmetischen Zone 20b, Dies geschieht
über die Übertrags-Eingangsleitung CV (Fig, 2),
Dabei soll bemerkt werden, daß wenn die arithmetische Einheit ,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 33b der Tore 33 die
neue Adresse an die arithmetische Zone 20b in wahrer Form übertragen sollte und daß das +1 übertrags-Eingangssignal an die
EN 974 029
609853/0690
Zone 20b 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 Grenzadresse enthält ferner eine Schaltung die auf das übertrags-Ausgangssignal CY
für die niederrangige arithmetische Zone 20b 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 42. Die Kippschaltung 41 speichert zeitweise das CY-Übertrags-Ausgangssignal
und das übersehreitungsfehlersignal erscheint
an der Kippschaltungs-Ausgangsleitung 42, Das Feh.lersigna.1 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. Fig. 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
Fig. 3 der arithmetischen Einheit 20 in Fig. 1, 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 Speicherschutzesf 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,
EN 974 029
609853/0690
Um Zugriff zu einem geschützten Bereich erhalten, wird vom Benutzer
sein Benutzer-Identifikationscode zusammen mit einer Identifikation des Speicherbereiches, zu dem Zugriff gewünscht wird, in
der betreffenden Zugriffsanforderung 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ägt 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 Leseoder Schreibzugriff durchgeführt. Die Startadresse für den geschützten
Bereich wird in die hochrangige Vier-Byte-Hälfte 30a des Registers 30 gesetztf während die obere Grenzadresse in die
niedere Vier-Byte-Hälfte 30b 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 Hauptspeicher 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 Zugriffs-, lä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,
EN 974 029
609853/0690
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 20b eingestellt
wird. Der Steuerteil 16 sendet auch Steuersignale an
die Wahr/Komplementtore 33 über die Steuersammelleitung 35,
wodurch die höherrangige Hälfte 33a Daten in wahrer Form und die niederrangige Hälfte 33b 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 30b in
die niederrangige Hälfte 26b 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ßregister 15 gesetzt und damit die Zugriffsoperation zum
Speicher 13 begonnen. Zu gleicher Zeit wird die aktuelle 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 ,
Eingangs Operanden und erzeugt an der hochrangigen Ausgangshälfte ·,
(Bytes S0-S3) eine neue, fortgeschriebene Adresse f 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
20b über die Vier-Byte-Datensammelleitung 40 und die niederrangige
Hälfte 33b der Tore 33 übertragen. Diese niederrangige HSlfte 33b
EN 974 029
609853/0690
der T/C-Tore wird dabei so gesteuert, daß sie das Einerkomplement des neuen Adressenwertes an die rechte Eingangsseite 20b der arithmetischen
Einheit überträgt. Zur gleichen Zeit wird die obere Grenzadresse in der niederrangigen Hälfte 26b des Α-Registers an
die linke Eingangsseite der niederrangigen Hälfte 20b der ALU 20 übertragen. Diese niederrangigen Hälfte 20b der arithmetischen
Einheit addiert sodann das Einerkomplement der neuen Adresse zu dem oberen Grenzwert, wobei ein +1 übertrags-Eingangssignal von
der Schaltung 36 über die CV-tibertrags-Eingangsleitung an die
ALU 20 übertragen wird. Hierdurch wird von der Hälfte 20b der arithmetischen Einheit ein Ausgangsresultat erzeugt (Bytes S4-S7),
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 20b 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 Übertrags-Ausgangssignales CY für die niederrangige
Hafte 20b der arithmetischen Einheit, Die Abwesenheit des Übertrags-Ausgangssignales
CCY = 0) 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,
pie Anwesenheit des Übertrags-Ausgangssignales hingegen (CY = 1)
zeigt an, daß die neue Adresse noch im erlaubten Bereich liegt,
d.h. kleiner ist als die obere Grenzadresse.
Fign. 4 bis 6 erklärenf wieso das Übertrags-Ausgangssignal
CY dazu benutzt werden kannf einen überschreitungsfehler anzuzeigen.
Der Einfachheit halber wird in den gezeigten Beispielen eine hexadezimale Notierung (Basis 16) anstelle der tatsächlichen
Dinaren Notierung benutzt.
EN 974 029
609853/0690
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 Fig. 4 hat die neue Adresse den Wert "5FFP" (24 575 in dezimaler
Notierung), was natürlich kleiner ist als die obere Grenze. Das 16-Komplement von 5FFF ist AOO1. Addiert man dieses 16-Komplement
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 Übertrags-Ausgangssignal erzeugt,
Fig. 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 Fig. 6 ist der Fall dargestelltf 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 (CY = 0) einen Fehler, d.h. die
Überschreitung des erlaubten Adreßbereiches anzeigt.
Die in Fig. 1 gezeigte Einrichtung arbeitet, wie bereits gesagt, nicht in hexadezimaler, sondern in binärer Notierung. Auch für ;
diesen Fall sind die in den Fign. 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 j
EN 974 029
609853/0690
erzeugen. Umgekehrt ist das Komplement zu klein um einen übertrag
zu erzeugen, wenn die neue Adrese größer ist als die obere Grenzadresse .
Der Status des CY übertrags-Ausgangssignales 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 CY Signales 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 Benjutzer nicht die Berechtigung
hat, zu Speicherbereichen anderer Benutzer zuzugreifen.
Liegt kein Adreßübersehreitungsfehler vor, wird der neue, fortgeschriebene
Adressenwert in der höherrangigen Hälfte 34a des C-Registers zurück in die Hälfte 30a des Lokalspeicherregisters
über die Verschiebehälfte 24a und die Hälfte 25a des Bestimmungsregisters ü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,
iEs soll daraufhingewiesen werden, daß einige Speicherzugriffs-
;Instruktionen nicht die Fortschreibung der gegenwärtigen Speicheradresse
im Register 30a verlangen. In diesen Fällen arbeitet
EN 974 029
609853/0690
die überschreitungs-Prüfeinrichtung genau in derselben Weise, wie
oben beschrieben, wobei jedoch die fortgeschriebene Adresse in 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 daraufhingewiesen 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 langer 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üfungs-·
einrichtung ist also nicht beschränkt auf Schreibe- oder Leselängen eines festen Wertes.
EN 974 029
609853/06 9 0
Claims (6)
- PATENTANSPRÜCHESpeicherschutzeinrichtung mit Adressenvergleich, dadurch gekennzeichnet, daß die gegenwärtige Speicheradresse und die gewünschte Datenzugriffslänge in der ersten Zone (20a) eines in zwei voneinander unabhängige Zonen unterteilbaren Addierers (20) addiert werden und daß dieses Summenresultat (S0-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 2f dadurch cfekermzeirhnet, daß die übertragung der Summe an die Eingänge der zweiten Zone (20b) sofort nach Resultatbildung und asynchron zum Speicherzugriff szyklus erfolgt.
- 4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Übertragssignal (CY) der zweiten Zone zur Anzeige der Überschreitung des geschützten Adresssenbereiches benutzt wird.
- 5. Einrichtung nach Anspruch 4 gekennzeichnet durch eine mit dem Eingang des Addierers verbundene Komplementiereinrichtuiig (33).
- 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Komplementiereinrichtung (33) Daten an die erste Addiererzone (20a) in wahrer und an die zweite Addiererzone (20b) in komplementärer Form überträgt.EN 974 029609853/0690ίΟLeerseite
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 true DE2625113A1 (de) | 1976-12-30 |
DE2625113C2 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 |
---|---|---|---|---|
EP0011685A1 (de) * | 1978-09-29 | 1980-06-11 | Siemens Aktiengesellschaft | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung |
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 |
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 |
GB2127994B (en) * | 1982-09-29 | 1987-01-21 | Apple Computer | Memory management unit for digital computer |
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 |
WO1992008186A1 (en) * | 1990-11-02 | 1992-05-14 | Analog Devices, Inc. | Address generator for circular buffer |
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 |
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
Non-Patent Citations (1)
Title |
---|
IBM-Techniocal Disclosure Bulletin, Dezember 1973, S. 2136/2137 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0011685A1 (de) * | 1978-09-29 | 1980-06-11 | Siemens Aktiengesellschaft | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung |
Also Published As
Publication number | Publication date |
---|---|
USB587936I5 (de) | 1976-03-23 |
JPS522227A (en) | 1977-01-08 |
JPS5914770B2 (ja) | 1984-04-06 |
FR2315146B1 (de) | 1979-09-21 |
US3999052A (en) | 1976-12-21 |
FR2315146A1 (fr) | 1977-01-14 |
DE2625113C2 (de) | 1984-01-05 |
GB1523005A (en) | 1978-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3750938T2 (de) | Multiprozessorsystem. | |
DE2354521C2 (de) | Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE69130852T2 (de) | Verarbeitungsmechanismus zur Verschachtelung in einem Schleifensteuersystem | |
DE3688802T2 (de) | Arithmetische Einheit mit einfachem Überlaufdetektionssystem. | |
DE1499175B2 (de) | Steuereinrichtung in einem mehrspezies rechner | |
DE2625113C2 (de) | Speicherschutzeinrichtung | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE2360303C2 (de) | Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2457312A1 (de) | Datenbehandlungseinrichtung mit einem feldwaehler | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2215066B2 (de) | Schaltungsanordnung zum schnellen Austausch von Informationen zwischen Schieberegistern und Einheiten einer Datenverarbeitungsanlage | |
DE3535436C2 (de) | ||
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE1774052B1 (de) | Rechner | |
DE1524142C3 (de) | Einrichtung in elektronischen Datenverarbeitungsanlagen zur Steuerung des Vorranges bei der Speicherzuteilung | |
DE3688806T2 (de) | Instruktionsprozessor. | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE2358593A1 (de) | Datenverarbeitungsanordnung und bei dieser verwendbare steuerschaltung | |
DE2054941C2 (de) | Anordnung zur Auswahl von Datensätzen | |
DE1271433B (de) | Adressiereinrichtung fuer einen Tabellenwertspeicher | |
DE69118392T2 (de) | Adressengenerator für einen ringpuffer | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher |
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 |