DE3333894C2 - - Google Patents
Info
- Publication number
- DE3333894C2 DE3333894C2 DE3333894A DE3333894A DE3333894C2 DE 3333894 C2 DE3333894 C2 DE 3333894C2 DE 3333894 A DE3333894 A DE 3333894A DE 3333894 A DE3333894 A DE 3333894A DE 3333894 C2 DE3333894 C2 DE 3333894C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- access
- mmu
- address
- main memory
- 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 - Fee Related
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/145—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 virtual, e.g. for virtual blocks or segments before a translation 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung bezieht sich auf ein Computersystem nach dem
Oberbegriff des Anspruchs 1.
In den meisten Computern steht eine Zentraleinheit (CPU) sowohl
mit einem Adreßbus als auch mit einem Datenbus in direkter Verbindung.
Diese Busse sind mit einem Hauptspeicher oder Haupt
speichersystemen sowie mit zahlreichen anderen Komponenten, wie
Ein/Ausgabeeinheiten, Spezialprozessoren, DMA-Einheiten usw.
gekoppelt. Der Computer-Hauptspeicher ist meistens die teuerste
Komponente des Computers, insbesondere wenn man dessen Preis
mit neuerdings erhältlichen Mikroprozessoren, wie dem 8080,
8086, 6800 und 68 000 vergleicht. Es ist daher wichtig, den
Hauptspeicher des Computers mit hohem Wirkungsgrad auszunutzen.
Speichermanagementeinheiten (MMU's) dienen nach dem Stand der
Technik zum wirksamen Ausnutzen des Hauptspeichers des Computers.
Derartige Einheiten übernehmen Organisations- und Ver
waltungsfunktionen, wie Neueinteilung der Speicherbereiche
usw. Häufig weist eine MMU einen Speicher auf, der eine Ver
schiebungsbasis speichert. Die Bits höherer Ordnung der logischen
Adresse aus dem Prozessor (CPU) dienen zum Adressieren
des MMU-Speichers. Aus der Sicht der CPU wird beispielsweise
durch diese Bits ein Segment des Hauptspeichers ausgewählt. Die
ausgewählte CPU-Segmentnummer wird durch eine neue Nummer aus
dem MMU-Speicher ersetzt, wobei im Ergebnis eine Verschiebung
zwischen der logischen Adresse aus der CPU und der zum Zugriff
auf den Hauptspeicher verwendeten physikalischen Adresse auf
tritt.
Eine andere, von bekannten MMU's erfüllte Funktion besteht
darin, die Adressen aus der CPU darauf zu überprüfen, ob sie in
vorgegebene Bereiche fallen. Eine im MMU-Speicher gespeicherte
Grenzzahl wird mit Bits niedriger Ordnung oder Stellen der logischen
Adresse (z. B. dem Seitenoffset) verglichen, um sicherzugehen,
daß das Seitenoffset in einen vorgegebenen Adressenbereich
der ausgewählten Segmentnummer fällt. Dadurch wird beispiels
weise verhindert, daß "Daten" zufällig aus Speicherplätzen
gelesen werden, in die sie nicht eingesetzt worden sind. In
der DE-PS 26 25 113 ist beispielsweise eine Speicherschutzein
richtung mit Adressenvergleich beschrieben, bei der eine Zugriffs
adresse dahingehend überprüft wird, ob sie einen vorgegebenen
Grenzwert überschreitet. Dies geschieht durch Subtraktion
der Zugriffsadresse von dem Grenzwert und Prüfen eines bei
Überschreiten entstehenden Übertragssignals.
Die DE-PS 28 37 241 beschreibt eine Einrichtung zum Sichern von
Daten gegen unberechtigten Zugriff. Diese Einrichtung weist
einen individuellen Hilfsspeicher in Form von Zugriffsrechtstafeln
auf. In dem Hilfsspeicher sind alle im Hauptspeicher abgelegten
sogenannten Schutzobjekte (d. h. gespeicherte Datenblöcke)
mit ihren für den jeweiligen Prozeß (d. h. z. B. ein An
wendungsprogramm) zugeordneten Schutzklassen (d. h. Zugriffsbe
rechtigungen) abgelegt. Eine Adreßübersetzungseinrichtung speichert
in Adreßübersetzungsspeichern die realen oder pysikalischen
Adressen, die kurz zuvor aus den virtuellen oder logischen
Adressen übersetzt wurden. In den Adreßübersetzungsspeichern
ist ein Feld für Schutzinformation vorgesehen. Im Laufe
der Adreßübersetzung wird die Schutzinformation aus der vom ab
laufenden Prozeß (oder Programm) adressierten Eintragszeile des
ausgewählten Hilfsspeichers gelesen und in das Feld des Adreß
übersetzungsspeichers nur die Schreib/Lese-Zugriffsrechte der
kurz vorher übersetzten virtuellen Adressen abgelegt. Daher erfordert
ein Wechsel des Prozesses (oder des Programms) mehrere
Speicherzyklen, um die Zugriffsrechte neuer virtueller Adressen
in den Adreßübersetzungsspeicher zu laden.
In der US-PS 40 37 215 ist eine Adreßübersetzungseinrichtung
zum Übersetzen einer logischen Adresse in eine physikalische
Adresse beschrieben. Einige höchstwertige Bits der logischen
Adresse bilden einen Auswahlschlüssel zum Auswählen eines von
mehreren Speicherbereichen eines Speichers der Adreßübersetzungs
einrichtung. In den Speicherbereichen sind jeweils mehrere
Segmentadressen abgelegt, auf die über einen zweiten Teil der
logischen Adresse zugegriffen wird. Die Segmentadressen und ein
dritter Teil (der am niedrigsten bewertete Teil) der logischen
Adresse werden dann zur physikalischen Adresse zusammengesetzt.
Folglich wird durch die Auswahlschlüssel-Bits ein Segmentadressen-
Satz und somit ein durch die adressierbaren Segmente gebildeter
physikalischer Adreßraum im Hauptspeicher ausgewählt.
Der Erfindung liegt die Aufgabe zugrunde, ein Computersystem
mit einer verbesserten Speichermanagementeinheit (MMU) zu
schaffen, welches das Abarbeiten mehrerer Prozesse ohne Umprogrammierung
des MMU-Speichers bei gleichzeitig verbessertem Zu
griffsschutz ermöglicht.
Diese Aufgabe wird erfindungsgemäß durch ein Computersystem
nach Anspruch 1 gelöst.
Kern der Erfindung ist eine verbesserte Speichermanagementeinheit
(MMU) zur Verwendung mit einem Computer, der eine CPU und
einen Hauptspeicher aufweist. Die MMU enthält eine Verschiebungs
basis und liefert bei Empfang erster Adressensignale aus
dem Prozessor zweite Adressensignale für den Zugriff zum Speicher.
Die MMU weist auch Speichermittel zur Aufnahme und Speicherung
von Signalen auf, die für die an Plätzen im Hauptspeicher gespeicherten
Informationsarten repräsentativ sind. Zugriffsmit
tel sind vorgesehen, welche einen Zugriff zu diesen gespeicherten
Signalen ermöglichen, wenn auf die entsprechenden Plätze im
Hauptspeicher zugegriffen wird. Die gespeicherten Signale aus
den Speichermitteln werden zum Hauptspeicher übertragen, um
beispielsweise eine Zugriffsgrenze zu gewissen Datenarten im
Hauptspeicher, z. B. Betriebssystemen, zu setzen. Diese Signale
können auch dazu dienen, eine Nur-Lese-Operation bei Programmen
und ein Lesen und Schreiben von Daten zu ermöglichen.
Bei dem bevorzugten Ausführungsbeispiel der Erfindung sind die
Speichermittel integraler Bestandteil des MMU-Speichers. Der
MMU-Speicher weist das Vierfache der Kapazität auf, die dazu
benötigt wird, die Verschiebungsbasisnummern und Grenzzahlen
für den gesamten Hauptspeicher zur Verfügung zu stellen. Wie
nachfolgend noch genauer beschrieben wird, ermöglicht diese zusätzliche
Kapazität eine Art von "Bankumschaltung" und die
Durchführung verschiedener Prozesse über den Computer ohne Um
programmierung des MMU-Speichers.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteran
sprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand eines in der Zeichnung
dargestellten Ausführungsbeispiels näher erläutert. In der
Zeichnung zeigen:
Fig. 1 ein generelles Blockdiagramm mit einer Zentral
einheit bzw. einem Prozessor (CPU), einer
Speichermanagementeinheit (MMU), einem Haupt
speicher und deren Verbindungen in einem Computer;
Fig. 2 ein Organisationsschaubild der im Speicher der
MMU gespeicherten Daten;
Fig. 3 ein Blockschaltbild der MMU; und
Fig. 4 ein Schaubild zur Beschreibung der verschiedenen
Kontexte, die beim Betrieb der MMU verwendet
werden und der resultierenden Organisation der
im Computer-Hauptspeicher gespeicherten Information.
Beschrieben wird eine Speichermanagementeinheit (MMU) zur Verwendung
in einem Digitalrechner, der einen Prozessor (CPU)
und einen Hauptspeicher aufweist. In der folgenden Beschreibung
werden zahlreiche Einzelheiten (z. B. spezielle Speicher
größen, Teilnummern usw.) zur Erleichterung des Verständnisses
der Erfindung angegeben. Für den Fachmann ist klar, daß diese
Einzelheiten zur Ausführung der vorliegenden Erfindung nicht
erforderlich sind. In anderen Fällen werden bekannte Schaltungen
usw. nicht im einzelnen beschrieben, um die Erläuterungen
der Erfindung nicht mit überflüssigen Einzelheiten zu
belasten.
In Fig. 1 ist die Kopplung zwischen einer MMU, einem Prozessor
(CPU) und einem Hauptspeicher veranschaulicht. Dieses Kopp
lungsschema ist bei der Erfindung ähnlich demjenigen des Standes
der Technik. Der Computer gemäß Fig. 1 weist einen bidirektionalen
Datenbus 16 auf, der mit der CPU 10, dem Hauptspeicher
14 und der MMU 12 in Verbindung steht. Der Adressenbus
18 nimmt Adressensignale aus der CPU 10 auf und überträgt
einen Teil dieser Adressen zur MMU 12 und einen Teil zum
Hauptspeicher 14. Andere Steuersignale werden entsprechend
der Darstellung durch die Leitungen 35 und 37 zwischen der
CPU 10 und der MMU 12 übertragen. Weitere Verbindungen bestehen
zwischen der MMU 12 und dem Hauptspeicher 14, wie
durch die Leitungen 57 veranschaulicht ist.
Die MMU 12 wird aus der CPU 10 über den Datenbus 16 programmiert.
Adressen werden über den Bus 18 von der CPU 10 zur MMU übertragen
und ermöglichen das Laden der MMU 12.
Bei dem beschriebenen Ausführungsbeispiel enthält die CPU 10
einen 68000-Prozessor. Für diesen Prozessor liefert die CPU
10 24-Bit-Adressen. (Tatsächlich ist das Bit niedrigster Ordnung
physikalisch nicht als solches vorhanden, sondern in
andere Signale kodiert; zum Zwecke der Erläuterung sei jedoch
angenommen, daß auch dieses Bit ein gewöhnliches Adressen
bit ist). Es sei außerdem hier angenommen, daß die sieben
am höchsten bewerteten Bits jeder logischen Adresse aus der
CPU ein Segment im Speicher auswählen, daß die nächsten acht
niedriger bewerteten Bits ein Seitenoffset enthalten
und daß die am niedrigsten bewerteten neun Bits ein
Offset beinhalten.
Bei dem beschriebenen Ausführungsbeispiel werden das Segment
und das Seitenoffset jeder Adresse zur MMU 12 übertragen.
Die MMU liefert durch Austausch der Segmentnummer aus der
CPU 10 mit einer in der MMU 12 gespeicherten Segmentnummer
eine Verschiebungsbasis. Insbesondere adressiert die Segmentnummer
aus der CPU 10 einen Speicher innerhalb der MMU 12, und
dieser Speicher liefert eine Segmentenbasis zum Adressieren
des Hauptspeichers 14. Der Seitenoffsetteil der Adresse aus
der CPU 10 wird überprüft, um festzustellen, ob das Seitenoffset
in einen vorgegebenen Bereich des Segments fällt. Dies
würde beispielsweise verhindern, daß lauter Nullen aus einem
ungebrauchten Raum im Hauptspeicher gelesen und als Daten
interpretiert werden. Die Segmentenbasis aus der MMU wird
zusammen mit dem Seitenoffset addiert und danach auf dem Bus
18a und 18b der Fig. 1 zum Hauptspeicher 14 übertragen. Die
neun am niedrigsten bewerteten Bits werden direkt über den
Bus 18c aus der CPU zum Hauptspeicher geleitet.
Im folgenden wird auf Fig. 3 Bezug genommen. Bei dem beschriebenen
Ausführungsbeispiel enthält die MMU einen MMU-Speicher
20. Dieser Speicher ist ein Speicher mit direktem Zugriff,
der aus im Handel erhältlichen statischen MOS-RAM's hergestellt
ist. In einer realisierten Ausführung werden drei
2148-RAM's als Speicher 20 verwendet, wodurch sich
eine Gesamtkapazität von 12 k Bits ergibt. Die Organisation
des MMU-Speichers wird in Verbindung mit Fig. 2 genauer erläutert.
Die Adresse aus der CPU ist im obersten Teil der Fig. 3 als
24-Bit-Adresse (logische Adresse) gezeigt. Die sieben am
höchsten bewerteten Bits dieser Adresse werden über den Bus
18a zum MMU-Speicher übertragen und zum Adressieren des MMU-
Speichers verwendet. Die nächstniedriger bewerteten Bits
(Bus 18b) werden an eine Addierstufe 27 angelegt, und die am
niedrigsten bewerteten neun Bits (Offset) werden über den Bus
18c an ein Register 28 angelegt. Der Ausgang des MMU-Speichers
besteht aus zwei 12-Bit-Worten (Bus 22 und 23). Diese Worte
werden über einen Multiplexer 25 zu einem 12-Bit-Bus 30 übertragen.
Eines der 12-Bit-Worte aus dem Speicher 20 bildet
die Segmentbasis aus der gespeicherten Verschiebungsbasis. Die
zweiten 12-Bits bestehen auch acht Bits zur Grenzüberprüfung
des Seitenoffset und vier zusätzlichen Bits, denen die Erfindung
besondere Funktionen zuordnet.
(Bei dem beschriebenen Ausführungsbeispiel gibt es keinen
physikalisch getrennten Multiplexer 25, sondern der Ausgang
des Speichers 20 wird im Zeitmultiplex verarbeitet. Zum
Zwecke der Erläuterung ist es jedoch leichter, einen besonderen
Multiplexer 25 darzustellen.)
Der Multiplexer 25 dient auch zum Laden von Information aus
dem Bus 16 in den Speicher 20. Das Signal auf der Leitung 47
kommt aus einer Zugriffsprüflogik 40 und schafft ebenso Zugriff
zum Speicher 20 wie die Signale auf einer Leitung 35.
Das Signal auf einer Leitung 37 steuert die Multiplexverarbeitung
der Daten zwischen entweder dem Bus 22 oder dem Bus
23.
Der 12-Bit-Bus 30 vom Multiplexer 25 ist mit der Addierstufe
27 gekoppelt. Diese Addierstufe erhält auch die acht Bits
über den Bus 18b. Wie nachfolgend beschrieben werden wird,
bestimmt der Addierer 27, wenn das Seitenoffset in einen vor
gegebenen Bereich des ausgewählten bzw. angesteuerten Segments
fällt. Die Addierstufe 27 kombinert auch die Verschiebungsbasis (Seg
mentenbasis) aus dem MMU-Speicher mit dem Seitenoffset, um
die zwölf am höchsten bewerteten Bits der physikalischen Ad
resse zu bilden. Diese zwölf Bits werden zusammen mit den
neun Bits vom Bus 18c an das Register 28 angelegt, um eine
21-Bit-Adresse zu schaffen, welche zum Hauptspeicher 14
übertragen wird. (Das Register 28 existiert bei dem beschriebenen
Ausführungsbeispiel an sich nicht, wird aber zu Erläuterungs
zwecken gezeigt.)
Die vier Zugriffsprüfbits werden vom Multiplexer 25 über
die Leitung 45 zur Zugriffslogik 40 übertragen. Hier werden
die Signale dekodiert, um ein Hauptspeicher-Steuersignal
und andere Steuersignale wie folgt zu bilden: ein Bit
steuert die Art des Hauptspeicherzugriffs (1 = Nur-Lese-
Zugriff, 0 = Lese/Schreib-Zugriff). Das zweite Bit
steuert den Ein-/Ausgabezugriff (1 = Ein/Ausgabe-Zugriff, 0 = kein Ein-/
Ausgabe-Zugriff). Das dritte Bit steuert den Hauptspeicherzugriff
(1 = Hauptspeicherzugriff, 0 = kein Hauptspeicherzugriff).
Das vierte Bit steuert die Stapelung (stacking)
(1 = Stapelsegment - keine Überlaufkontrolle, 0 = Normal
segment - Kontrolle auf Überlauf). Die Zugriffsprüflogik 40
ist in Fig. 3 mit der Hauptspeichersteuerung über eine
Leitung 47 gekoppelt und steuert den Speicherzugriff und
die Art der zulässigen Zugriffe (d. h. Lese- oder Lese/Schreib).
Die Logik 40 ist mit der Addierstufe 27 über Überlauf/Übertrags
leitungen und mit dem Speicher 20 über
die Leitung 47 zur Freigabe des Zugriffs auf den Speicher 20
gekoppelt.
Das besondere Zugriffssteuerbitmuster, das bei dem geschriebenen
Ausführungsbeispiel Verwendung findet, ist nachfolgend
gezeigt.
Es sei zunächst angenommen, daß der Speicher 20 aus der CPU
programmiert worden ist. Für die erste Stufe der Erläuterung
des MMU-Betriebs soll die Funktion der zwei Bits auf Leitungen
35 ignoriert werden. Wenn die CPU den Hauptspeicher
adressiert, adressieren die am höchsten bewerteten sieben
Bits den MMU-Speicher 20. Die zwölf Bits aus dem Verschiebungsbasis
segment werden über Bus 22 und Bus 30 zur Addierstufe 27
übertragen. Dort werden sie mit dem Seitenoffset (Bus 18b)
kombiniert, und die sich ergebende Adresse wird mit den
neuen Bits des Offset im Register 28 zur Gewinnung der endgültigen
physikalischen Adresse kombiniert. Dieser Teil des
MMU arbeitet ähnlich bekannten MMU's. Daher können die Ver
schiebungsbasis-Daten in den Speicher (unter Ignorierung
der Leitung 35) in bekannter Weise programmiert werden.
Die die Grenz- und Zugriffsdaten bildenden zwölf Bits werden
über Bus 23 durch den Multiplexer 25 geleitet. Die acht Bits
der Grenzdaten werden an den Addierer 27 angelegt. Die vier
Bits der Zugriffsdaten werden über Leitung 45 an die Logik 40
angelegt. Die Grenzdaten werden bei dem beschriebenen Aus
führungsbeispiel in Einer-Komplementform im Speicher 20 für
ein Nicht-Segment gespeichert. Für Stapel-Segmente
ist die gespeicherte Grenze "Länge minus 1" (beispielsweise
würde ein Zwei-Seiten-Segment als 0000 0001 im Speicher
20 gespeichert). Wenn diese Grenzdaten zum Seitenoffset in
der Addierstufe 27 addiert werden, bestimmt das Ergebnis dieser
Addition, ob der Seitenoffset in den vorgegebenen Bereich
des Segments fällt oder nicht. Hierin liegt eine Verbesserung
gegenüber bekannten Grenzprüfungen, wo zusätzliche Logikschritte
erforderlich waren.
Im folgenden wird kurz auf Fig. 4 Bezug genommen, in der
eine Darstellung des Hauptspeichers 14 des Computers zu sehen
ist. Es sei angenommen, daß Daten an Plätzen 50 gespeichert
sind. Es ist ferner angenommen, daß der höchste Seitenoffset
(1111 1111) für Daten 50 sich zum Platz 52 erstreckt und daß
sich innerhalb dieses Segmentes Daten bis zu einem Seitenoffset
von 1110 0000 (Linie 51) erstrecken. Für diesen Seitenoffset
wird das Einerkomplement von 1110 0000 (0001 1111) im Speicher
20 der Fig. 3 gespeichert. Wenn dieses Segment adressiert
wird und unter der Annahme, daß die Seitenoffsetadresse
1111 1111 ist (d. h. in den freien Raum des Speichers),
addiert die Addierstufe 27 1111 1111 zur gespeicherten Zahl
0001 1111. Ein Überlauf ergibt sich aus der Addierstufe 27,
und diese Überlaufbedingung wird von der Logik 40 in Fig. 3
abgetastet. Bei diesem Beispiel zeigt ein Überlauf an, daß
der Seitenoffset nicht innerhalb des Bereichs liegt, und es
wird auf der Leitung 57 ein Signal entwickelt, um zu zeigen,
daß die Adresse fehlerhaft ist. Die Logik 40 verhindert über
Leitung 57 einen Zugriff zum Hauptspeicher, und/oder es wird
ein Fehlersignal erzeugt.
Wiederum unter Bezugnahme auf Fig. 4 sei angenommen, daß ein
Programm an den Plätzen 53 gespeichert ist und daß der
höchste Seitenoffset (1111 1111) für Programm 53 zum Platz
50 reicht, der außerhalb des am Platz 54 endenden tatsächlichen
Programms liegt. Wenn der Seitenoffset für den Platz
54 0011 0000 ist, dann wird 1100 1111 im Speicher 20 der Fig. 3
für dasjenige Segment gespeichert, das am Platz 55 beginnt.
Wenn dieses Segment adressiert wird und der Seitenoffset
0000 0001 ist, (Adressieren des Programms) addiert die Addier
stufe 27 1100 1111 und 0000 0001. Diese Mal tritt kein
Überlauf auf, und kein Signal wird an die Logik 40 angelegt,
was bedeutet, daß der Zugriff frei ist. Zu beachten ist,
daß bei einem Seitenoffset von 0100 0000 (nicht innerhalb
des Bereichs) und Addition dieser Zahl zur gespeicherten
Zahl von 1100 1111 ein Überlauf auftritt. Dieser Überlauf
zeigt der Logik 40 an, daß der Seitenoffset nicht im Bereich
liegt und der Speicherzugriff gesperrt ist.
Für einige Programmiersprachen (z. B. Pascal) sind Stapel
(im Speicher) sehr erwünscht. Stapel können durch Aufwärts
bewegen von Daten allerdings sehr zeitraubend gebildet werden.
Bei dem beschriebenen System wird zugelassen, daß Stapel im
Speicher mit einem anderen Grenzprüfverfahren abwärts
wachsen.
Es sei ein Ein-Seiten-Stapelelement angenommen. Im Speicher
20 ist die Grenzzahl als das Einer-Komplement des Seiten
offset (1111 1111 → 0000 0000) gespeichert, die die gleiche
ist wie die Größe minus Eins (0000 0001 → 0000 0000).
Die Zugriffsprüfbits sorgen dafür, daß die Logik 40 einen
Übertrag (carry-in) von 1 liefert. Wenn der Seitenoffset
1111 1111 ist, tritt ein Überlauf ein. Dieser Überlauf wird
von der Logik 40 abgetastet und als richtig (innerhalb des
Bereichs)-Bedingung interpretiert. Wenn der Seitenoffset
1111 1110 (Stapel zu stark gewachsen) wäre, tritt kein Überlauf
auf, und dies wird als eine Adresse außerhalb des Bereichs
interpretiert.
In ähnlicher Weise wird 0000 0001 im Speicher 20 gespeichert,
wenn der Stapel ein Zwei-Seiten-Segment ist. Wiederum wird der
Übertrag auf eine Eins gesetzt. Ein Seitenoffset von 1111 1110
würde zu einem Überlauf führen, der eine im Bereich liegende
Adresse anzeigt, während bei einem Seitenoffset von 1111 1100
kein Überlauf auftreten würde, also eine Adresse außerhalb
des Bereichs angezeigt würde.
Im folgenden wird auf die Fig. 4 Bezug genommen, wobei an
genommen wird, daß ein Prozeß (Programm und Daten) im Hauptspeicher
14 zwischen den Plätzen 0 und 500 KB gespeichert ist.
Die drei restlichen Zugriffsbits im Speicher 20 entsprechend
den Segmentadressen für die Plätze 0-500 KB dienen, wie erwähnt,
zur Schaffung einer besonderen Steuerung. So ist beispielsweise
für diejenigen Segmente, die nur Programm enthalten,
nur ein Lesen des Speichers zugelassen. Dies verhindert
natürlich ein zufälliges Schreiben in das Programm. Dagegen
können sowohl Lese- als auch Schreibbefehle in diejenigen Segmente
zugelassen werden, welche Daten enthalten. Dies ergibt
sich aus den Angaben rechts vom Programm 49 und Daten 60 in
Fig. 4.
Der Speicher 20 wird programmiert (d. h. Zugriffsprüfbits),
um ein Lesen einiger Segmente des Hauptspeichers, ausgenommen
bei gewissen Betriebsarten (z. B. Überwachungsbetrieb) zu verhindern.
Dies geschieht beispielsweise dann, wenn verhindert
werden soll, daß ein Benutzer ein Betriebssystem liest und
danach kopiert. Wenn das Programm 59 abläuft, ist kein Zugriff
zum Speicher 20 zugelassen, da ein solcher Zugriff dazu
führen könnte, daß die Verschiebungsbasis, die Grenzdaten oder
die Zugriffsdaten zufällig geändert werden. Daher schützen
die vier Zugriffsdaten das im Hauptspeicher gespeicherte Programm
und begrenzen auch den Zugriff zu gewissen im Speicher
gespeicherten Informationen. In einem typischen Anwendungsfall
wird ein Betriebssystem aus einer Platte in den Hauptspeicher
geladen. Sobald es im Hauptspeicher ist, kann die CPU auf das Betriebs
system in Überwachungsmoden zugreifen, während der Benutzer
an einem Zugriff und damit an einer Kopiermöglichkeit
des Betriebssystems gehindert ist.
Bei der Erfindung hat der Speicher vierfach diejenige Kapazität,
die gewöhnlich zur Schaffung einer Verschiebungsbasis und
für die Grenz- und Zugriffsdaten für den Hauptspeicher benötigt
wird. Die Signale aus der CPU auf Leitungen 35 ermöglichen
die Auswahl bzw. Ansteuerung jedes Quadranten des
Speichers 20. Jeder dieser Quadranten wird in der folgenden
Beschreibung als ein Kontext (Kontext 0-3) bezeichnet.
In Fig. 2 ist die Organisation des MMU-Speichers 20 dargestellt
als vier getrennte Quadranten: 20a (Kontext 0), 20b
(Kontext 1), 20c (Kontext 2) und 20d (Kontext 3). Kontext 1,
2 und 3 sind jeweils in einer 256×12 Bit-Anordnung organisiert
(128×12 Bits für die Verschiebungsbasis und 128×12 Bits
für die Grenz- und Zugriffsdaten). Kontext 0 wird von der CPU
während des Kontrollbetriebs bzw. Supervisor-Modus ausgewählt bzw. angesteuert, und
dieser Kontext speichert Managementdaten, die sich auf das
Betriebssystem beziehen. Zu beachten ist, daß jeder Kontext
zur Speicherung von Informationen geeignet ist, die den gesamten
Hauptspeicher überspannen, so daß es drei überlappende
MMU-Speicher für Benutzeroperationen gibt.
Der Nutzen dieser überlappenden Speicher ist am besten aus
Fig. 4 zu sehen. Der Hauptspeicher 14 ist als programmiert mit
3 Prozessen P1, P2 und P3 gezeigt. Prozeß 1 ist zwischen 0
und 500 kB, Prozeß 2 zwischen 600 kB und 1 MB und Prozeß 3
zwischen 1,2 MB und 1,5 MB gespeichert. Daten, die sich auf
das Betriebssystem beziehen, sind zwischen 1,8 MB und 2 MB
gespeichert. Eine geeignete Verschiebungsbasis ist im Speicher 20
so gespeichert, daß die Adressen 0-200 kB während der Kontrollbetriebe
automatisch 1,8 mB bis 2 mB im Hauptspeicher auswählen.
Auch geeignete Grenzen sind geladen, um sicherzustellen,
daß während des Kontrollbetriebs der freie Raum im Speicher
nicht zugegriffen wird. Während des Kontrollbetriebs (Kontext
0) ist, wie in Fig. 4 unter der Überschrift "Kontext 0" dargestellt
ist, ein vollständiger Zugriff zum MMU-Speicher und zum
Hauptspeicher möglich (ausgenommen für Zugriffsbits, welche
das Schreiben in das im Hauptspeicher gespeicherte Betriebs
system verhindern, wodurch das Programm vor Schäden aufgrund
eines Programmfehlers geschützt wird). Da der MMU-Speicher
zu dieser Zeit zugreifbar ist, kann er über den Bus 16 ent
sprechend Darstellung in Fig. 3 und vorhergehender Erläuterung
programmiert werden.
Es sei angenommen, daß Kontext 1 für Programm 59 und Daten 60
benutzt werden soll; ein Quadrant des MMU-Speichers 20 entsprechend
dem Kontext 1 ist programmiert, um den Platz des
Programms 59 und der Daten 60 anzugeben. Die Grenz- und
Zugriffsbits werden gesetzt, wie unter Kontext 1 angegeben ist.
Wenn daher Kontext 1 angesteuert bzw. gewählt wird, kann
Programm 59 (nur) gelesen werden, und das Lesen und Schreiben
von Daten 60 ist zugelassen. Kein anderer Zugriff zu anderen
Speicherplätzen ist möglich, und es kann auch nicht in den
MMU-Speicher geschrieben werden.
Ein zweiter Prozeß kann im Speicher gespeichert werden. Das
Betriebssystem kennt den Platz des ersten Prozesses und kann
einen anderen Quadranten des Speichers 20 für Prozeß 2 programmieren.
Die Verschiebungsbasis wird so programmiert, daß dann,
wenn die CPU-Plätze entsprechend 0-400 KB adressiert, Plätze
600 KB bis 1 mB für den Hauptspeicher vorgesehen werden. Wie
unter der Überschrift Kontext 2 in Fig. 4 gezeigt ist, sind
die Zugriffsbits so programmiert, daß sie ein Lesen und
Schreiben in die Daten 50 und ein Nur-Lesen des Programms 53
ermöglichen. Es ist außerdem kein Zugriff (zum Schreiben) in
den MMU-Speicher zugelassen, noch ist kein Zugriff zu anderen
Plätzen im Hauptspeicher möglich. In ähnlicher Weise kann ein
dritter Prozeß im Hauptspeicher für Kontext 4 entsprechend Darstellung
in Fig. 4 gespeichert werden.
Der Vorteil der Anordnung gemäß Fig. 4 besteht darin, daß drei
getrennte Prozesse innerhalb des Hauptspeichers gespeichert
sind und daß jeder Prozeß durch den MMU-Speicher leicht aus
gewählt werden kann, d. h. durch Ansteuern bzw. Auswahl von
Kontext 1, 2 oder 3. Ein separater Kontext (Kontext 0) ist
als Ausgangspunkt für das Betriebssystem bei dem beschriebenen
Ausführungsbeispiel reserviert. Dies ermöglicht die Ausführung
dreier separater Programme ohne eine Umprogrammierung
des MMU-Speichers. Diese Vielseitigkeit wird aufgrund der
überlappenden Speichermanagementkapazität des MMU-Speichers
erreicht.
Claims (4)
1. Computersystem mit einer CPU (10), einem Hauptspeicher
(14) und einer mit der CPU (10) und dem Hauptspeicher (14) gekoppelten
Speichermanagementeinheit (MMU) (12) zum Übersetzen
einer logischen Adresse von der CPU (10) in eine physikalische
Adresse für den Zugriff auf den Hauptspeicher (14) mit einem
mit der MMU gekoppelten MMU-Speicher (20) zum Speichern einer
Vielzahl von Verschiebungsbasisadressen der in Abschnitte
(Kontexte) (20a-20d) unterteilt ist, wobei jedem Kontext
zumindest eine Verschiebungsbasisadresse sowie zugeordnete
Zugriffsbits zugeordnet sind, und wobei die MMU (12)
Steuersignale (35, 37) von der CPU zum Auswählen eines
vorgegebenen Kontextes (20a-20d) empfängt, wenn die logische
Adresse von der CPU geliefert wird;
dadurch gekennzeichnet,
daß jeder Verschiebungsbasisadresse außerdem Grenzwert-Bits zugeordnet sind, die ebenfalls im MMU-Speicher (20) gespeichert sind;
daß der MMU-Speicher einen ersten Teil der logischen Adresse von der CPU empfängt und der erste Teil der logischen Adresse auf eine gespeicherte Verschiebungsbasisadresse eines ausgewählten Kontextes zugreift und mit den entsprechenden Grenzwert- und Zugriffs-Bits korrespondert;
daß die Speichermanagementeinheit einen mit dem MMU-Speicher gekoppelten Addierer (27) zum Empfangen der ausgewählten Verschiebungsbasisadresse des ausgewählten Kontextes und Kombinieren der Verschiebungsbasisadresse mit einem zweiten Teil der logischen Adresse, um die physikalische Adresse zum Zugreifen auf den Hauptspeicher (14) auszugeben, aufweist;
daß der Addierer (27) außerdem so angekoppelt ist, daß er die mit der Verschiebungsbasisadresse korrespondierenden Grenzwert- Bits empfängt und sie zu dem zweiten Teil der logischen Adresse addiert und ein Anzeigesignal erzeugt, wenn der zweite Teil der logischen Adresse einen durch die Grenzwert-Bits gesetzten Wert überschreitet;
daß logische Zugriffsprüfmittel (40) mit dem MMU-Speicher (20) und dem Addierer (27) gekoppelt sind, um die mit der Ver schiebungsbasisadresse, auf die zugegriffen wird, korrespondierenden Zugriffs-Bits zu empfangen und zu bestimmen, ob die Zugriffs- Bits einen Zugriff auf den Hauptspeicher für den von der CPU angeforderten Zugriffstyp gestattet, und um ein Fehlersignal zum Verhindern des Zugriffs auf den Hauptspeicher zu erzeugen, wenn ein illegaler Zugriff auf den Hauptspeicher versucht wird;
daß die logischen Zugriffsprüfmittel (40) auch dann das Fehlersignal erzeugen, wenn das Anzeigesignal von dem Addierer empfangen wird;
daß die Verschiebungsbasisadresse auf eine korrespondierend abgebildete Basisadresse im Hauptspeicher hinzeigt, so daß eine vorgegebene logische Adresse auf eine Vielzahl von physikalischen Adressen abgebildet werden kann, wobei zumindest eine physikalische Adresse für jeden Kontext zur Verfügung gestellt wird;
wobei auf die ausgewählten physikalischen Adressen des Hauptspeichers durch mehr als einen Kontext zugegriffen werden kann.
dadurch gekennzeichnet,
daß jeder Verschiebungsbasisadresse außerdem Grenzwert-Bits zugeordnet sind, die ebenfalls im MMU-Speicher (20) gespeichert sind;
daß der MMU-Speicher einen ersten Teil der logischen Adresse von der CPU empfängt und der erste Teil der logischen Adresse auf eine gespeicherte Verschiebungsbasisadresse eines ausgewählten Kontextes zugreift und mit den entsprechenden Grenzwert- und Zugriffs-Bits korrespondert;
daß die Speichermanagementeinheit einen mit dem MMU-Speicher gekoppelten Addierer (27) zum Empfangen der ausgewählten Verschiebungsbasisadresse des ausgewählten Kontextes und Kombinieren der Verschiebungsbasisadresse mit einem zweiten Teil der logischen Adresse, um die physikalische Adresse zum Zugreifen auf den Hauptspeicher (14) auszugeben, aufweist;
daß der Addierer (27) außerdem so angekoppelt ist, daß er die mit der Verschiebungsbasisadresse korrespondierenden Grenzwert- Bits empfängt und sie zu dem zweiten Teil der logischen Adresse addiert und ein Anzeigesignal erzeugt, wenn der zweite Teil der logischen Adresse einen durch die Grenzwert-Bits gesetzten Wert überschreitet;
daß logische Zugriffsprüfmittel (40) mit dem MMU-Speicher (20) und dem Addierer (27) gekoppelt sind, um die mit der Ver schiebungsbasisadresse, auf die zugegriffen wird, korrespondierenden Zugriffs-Bits zu empfangen und zu bestimmen, ob die Zugriffs- Bits einen Zugriff auf den Hauptspeicher für den von der CPU angeforderten Zugriffstyp gestattet, und um ein Fehlersignal zum Verhindern des Zugriffs auf den Hauptspeicher zu erzeugen, wenn ein illegaler Zugriff auf den Hauptspeicher versucht wird;
daß die logischen Zugriffsprüfmittel (40) auch dann das Fehlersignal erzeugen, wenn das Anzeigesignal von dem Addierer empfangen wird;
daß die Verschiebungsbasisadresse auf eine korrespondierend abgebildete Basisadresse im Hauptspeicher hinzeigt, so daß eine vorgegebene logische Adresse auf eine Vielzahl von physikalischen Adressen abgebildet werden kann, wobei zumindest eine physikalische Adresse für jeden Kontext zur Verfügung gestellt wird;
wobei auf die ausgewählten physikalischen Adressen des Hauptspeichers durch mehr als einen Kontext zugegriffen werden kann.
2. Computersystem nach Anspruch 1, dadurch gekennzeichnet,
daß einer der MMU-Speicher-Kontexte (20a-20d) als ein Supervisor-
Kontext (20a) ausgewählt wird, wenn sich die CPU (10) in
einem Supervisor-Modus befindet, wobei der Supervisor-Kontext
(20a) auf den gesamten Hauptspeicher (14) zugreift.
3. Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß der Addierer (27) die Grenzwert-Zahl (Bits), welche
ein Binärkomplement eines Offsets relativ zu seiner Verschiebungs
basisadresse ist, empfängt, so daß, wenn das Binär
komplement zu dem zweiten Teil der logischen Adresse addiert
wird, das Anzeigesignal bei Auftreten eines Überlaufs des
Addierers erzeugt wird.
4. Computersystem nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß der MMU-Speicher (20) die Verschiebungsbasis
adressen, die Grenzwert-Bits und die Zugriffs-Bits von der
CPU während eines MMU-Befehlszyklus speichert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42686982A | 1982-09-29 | 1982-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3333894A1 DE3333894A1 (de) | 1984-03-29 |
DE3333894C2 true DE3333894C2 (de) | 1993-04-01 |
Family
ID=23692542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833333894 Granted DE3333894A1 (de) | 1982-09-29 | 1983-09-20 | Speichermanagementeinheit |
Country Status (12)
Country | Link |
---|---|
JP (1) | JPS5979367A (de) |
AU (1) | AU559067B2 (de) |
CA (1) | CA1197020A (de) |
DE (1) | DE3333894A1 (de) |
FR (1) | FR2533736A1 (de) |
GB (1) | GB2127994B (de) |
IL (1) | IL69784A (de) |
IN (1) | IN161125B (de) |
IT (1) | IT1221741B (de) |
NZ (1) | NZ205486A (de) |
SE (1) | SE464052B (de) |
ZA (1) | ZA836384B (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2176918B (en) * | 1985-06-13 | 1989-11-01 | Intel Corp | Memory management for microprocessor system |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
JP2522248B2 (ja) * | 1986-05-24 | 1996-08-07 | 株式会社日立製作所 | 記憶装置アクセス機構 |
EP0321493A4 (en) * | 1986-08-22 | 1991-11-21 | Commonwealth Scientific And Industrial Research Organisation | A content-addressable memory system |
EP0262486B1 (de) * | 1986-09-25 | 1993-11-18 | Siemens Aktiengesellschaft | Adressenverwaltungseinheit einer Multiprozessor-Zentralsteuereinheit eines Nachrichten-Vermittlungssystems |
FR2618578A1 (fr) * | 1987-07-21 | 1989-01-27 | Digilog | Systeme informatique modulaire embarque a memoire virtuelle integree |
DE3901457A1 (de) * | 1989-01-19 | 1990-08-02 | Strahlen Umweltforsch Gmbh | Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit |
US5617554A (en) * | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
US5752275A (en) * | 1995-03-31 | 1998-05-12 | Intel Corporation | Translation look-aside buffer including a single page size translation unit |
JP2005100262A (ja) | 2003-09-26 | 2005-04-14 | Seiko Epson Corp | メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5315779B2 (de) * | 1973-08-16 | 1978-05-27 | ||
GB1498116A (en) * | 1974-04-18 | 1978-01-18 | Honeywell Inf Systems | Data processing systems |
US3938100A (en) * | 1974-06-07 | 1976-02-10 | Control Data Corporation | Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques |
US3999052A (en) * | 1975-06-18 | 1976-12-21 | International Business Machines Corporation | Upper bounds address checking system for providing storage protection for a digital data processor |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
GB1585960A (en) * | 1976-07-30 | 1981-03-11 | Plessey Co Ltd | Information flow security mechanisms for data processing systems |
US4093986A (en) * | 1976-12-27 | 1978-06-06 | International Business Machines Corporation | Address translation with storage protection |
JPS5436144A (en) * | 1977-08-26 | 1979-03-16 | Toshiba Corp | Address conversion unit |
DE2837241C2 (de) * | 1978-08-25 | 1982-05-06 | Siemens AG, 1000 Berlin und 8000 München | Einrichtung zum Sichern von Daten gegen unberechtigten Zugriff |
US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
-
1983
- 1983-06-14 GB GB08316129A patent/GB2127994B/en not_active Expired
- 1983-08-29 ZA ZA836384A patent/ZA836384B/xx unknown
- 1983-09-05 NZ NZ205486A patent/NZ205486A/en unknown
- 1983-09-08 CA CA000436306A patent/CA1197020A/en not_active Expired
- 1983-09-08 AU AU18940/83A patent/AU559067B2/en not_active Ceased
- 1983-09-20 DE DE19833333894 patent/DE3333894A1/de active Granted
- 1983-09-21 JP JP58173310A patent/JPS5979367A/ja active Pending
- 1983-09-21 IL IL69784A patent/IL69784A/xx not_active IP Right Cessation
- 1983-09-22 IT IT22960/83A patent/IT1221741B/it active
- 1983-09-24 IN IN1171/CAL/83A patent/IN161125B/en unknown
- 1983-09-27 FR FR8315305A patent/FR2533736A1/fr active Pending
- 1983-09-29 SE SE8305290A patent/SE464052B/sv not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
SE8305290D0 (sv) | 1983-09-29 |
ZA836384B (en) | 1984-05-30 |
IT8322960A0 (it) | 1983-09-22 |
GB2127994B (en) | 1987-01-21 |
AU1894083A (en) | 1984-04-05 |
NZ205486A (en) | 1987-02-20 |
JPS5979367A (ja) | 1984-05-08 |
IL69784A (en) | 1986-12-31 |
GB8316129D0 (en) | 1983-07-20 |
SE8305290L (sv) | 1984-03-30 |
DE3333894A1 (de) | 1984-03-29 |
IL69784A0 (en) | 1983-12-30 |
CA1197020A (en) | 1985-11-19 |
GB2127994A (en) | 1984-04-18 |
AU559067B2 (en) | 1987-02-19 |
FR2533736A1 (fr) | 1984-03-30 |
SE464052B (sv) | 1991-02-25 |
IT1221741B (it) | 1990-07-12 |
IN161125B (de) | 1987-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2459006C2 (de) | Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage | |
DE2725718C2 (de) | Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen | |
DE2515696C2 (de) | Datenverarbeitungssystem | |
EP0512542B1 (de) | Datenschützende Mikroprozessorschaltung für tragbare Datenträger, beispielsweise Kreditkarten | |
DE3587694T2 (de) | Speicherzugriffssteuergerät zur Realisierung von geschützten Gebieten in einem Speicher, und mit solchem Speicherzugriffssteuergerät ausgerüsteter Speicher. | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE102005022893B3 (de) | Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
EP1065598A1 (de) | Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE3333894C2 (de) | ||
DE2718551C3 (de) | Adressenumsetzer | |
DE3888438T2 (de) | Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher. | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE3689217T2 (de) | Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher. | |
DE68926158T2 (de) | Einchip-Mikrorechner mit EPROM | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE3000012A1 (de) | Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage | |
EP1559111B1 (de) | Verfahren zum betreiben einer speicheranordnung | |
DE69025268T2 (de) | Schaltungsanordnung zur erweiterten Adressierung | |
EP0771463B1 (de) | Verfahren und vorrichtung zum speichern und drehen von bitmustern | |
DE3236524A1 (de) | Byteweise adressierbare speicheranordnung fuer befehle und daten mit variabler laenge | |
WO1998040821A1 (de) | Mikrocomputer mit einer speicherverwaltungseinheit | |
DE4114545C2 (de) | Schaltungsanordnung für einen Mikrocomputer | |
DE19612439A1 (de) | Halbleiterspeichervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/14 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |