DE2227882A1 - Virtuelle Speicheranordnung - Google Patents
Virtuelle SpeicheranordnungInfo
- Publication number
- DE2227882A1 DE2227882A1 DE19722227882 DE2227882A DE2227882A1 DE 2227882 A1 DE2227882 A1 DE 2227882A1 DE 19722227882 DE19722227882 DE 19722227882 DE 2227882 A DE2227882 A DE 2227882A DE 2227882 A1 DE2227882 A1 DE 2227882A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- virtual
- bits
- memory
- real
- 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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: PO 9 70 057
Die Erfindung betrifft eine virtuelle Speicheranordnung, mit einem Hauptspeicher, einem Pufferspeicher und Tabellen zur
übersetzung von virtuellen in reale Adressen.
Speicheranordnungen mit Übersetzungstabellen zur Übersetzung
von virtuellen in reale Adressen sind aus den US-Patentschriften 3 217 298 und 3 317 898 bekannt.
In Datenverarbeitungsanlagen, in denen zugleich mehrere Programme,
sei es in einem einzigen Prozessor oder in einem Multiprozessorsystem, verarbeitet werden, wird zumeist ein für alle Programme
gemeinsamer Speicher benutzt. Durch die Vielzahl der Programme jedoch muß die Speicherkapazität dieses Speichers sehr groß
gewählt werden, so daß oft der in der Datenverarbeitungsanlage vorhandene Hauptspeicher in seiner Kapazität nicht mehr ausreicht.
In einem solchen Falle werden die Daten z.B. in einem externen Großraumspeicher untergebracht und zur Adressierung
des Hauptspeichern die Adressen des externen Speichers, d.h. die virtuellen Adressen des virtuellen Speichers benutzt. Hierbei
wird der virtuelle Speicherraum in einzelne Segmente aufgeteilt, wobei jedes Segment seinerseits wiederum in mehrere
Seiten aufgeteilt wird. In jeaer Seite können eine bestimmte Anzahl von Datenbytes gespeichert werden. Die Zuteilung von
Hauptspeicherbereichen kann dabei in Ausmaßen einer oder mehrerer Seiten erfolgen, wobei zu den einzelnen Programmen bestimmte
209853/1168
Daten im Pufferspeicher gespeichert sind. Gegebenenfalls müssen
dann diese Daten sowohl im Hauptspeicher als auch im Pufferspeicher gespeichert werden.
Der Pufferspeicher kann zur Adressierung in einen Adressenteil
und einen Datenteil aufgeteilt sein. Der Adressenteil enthält dabei Blockadressen für jeden im Datenteil gespeicherten Datenblock,
wobei ein Datenblock z.B. einer Datenseite entsprechen kann. In einer virtuellen Speicheranordnung liefert jedoch die
Zentraleinheit virtuelle Adressen, während vom Kanal reale Datenadressen erhalten v/erden. Hierbei ergibt sich also die Notwendigkeit
zu bestimmen, ob zu der realen Adresse, welche der angebotenen virtuellen Adresse entspricht, Daten im Pufferspeicher
gespeichert sind.
Zur Lösung dieses Problems ist es prinzipiell möglich, auch den Pufferspeicher durch virtuelle Adressen und nicht durch reale
Adressen zu adressieren. Dies hätte den Vorteil, daß bei Zugriffsanforderungen von der Zentraleinheit zum Pufferspeicher keine
Aaressenübersetzung notwendig v»«.>re. Eine Verzögerung würde jedoch
aann auftreten, wenn eine Datenübertragung zwischen dem Pufferspeicher und dem durch reale Adressen adressierten Hauptspeicher
notwendig wäre. Die genannte Lösung führt jedoch zu Unstimmigkeiten, wenn zwei verschiedene virtuelle Adressen sich auf die
selbe reale Adresse beziehen. Der Pufferspeicher, welcher durch virtuelle Adressen adressiert wird, speichert dann die Daten vom
Hauptspeicher in verschiedenen Speicherstellen für jede verschiedene virtuelle Adresse ab. Deshalb ist eine besondere Überprüfungseinrichtung
notwendig. Ein anderes Problem tritt auf, wenn Lintragungen in den Segment- oder Seitentabellen gelöscht werden
sollen. Auch bei der Verwendung von Speicherschutz-Schlüsselworten ergeben sich Probleme, da diese Schlüsselworte normalerweise
an reale Adressen angepaßt sind und bei jeder Speicheranforderung von der Zentraleinheit geprüft werden müssen. Da die Zentraleinheit
jedoch virtuelle Adressen liefert, ergeben sich bei der überprüfung der Schlüsselworte Schwierigkeiten.
PO 9 7ü 057 209853/1168
Seiten vorgesehen werden. Hierbei sind die Datenseiten also willkürlich im Hauptspeicherraum verteilt und muß bei Bedarf
eine Übertragung von benötigten Seiten in den Hauptspeicher und von nicht mehr benötigten Seiten aus dem Hauptspeicher erfolgen.
Da die Seiten willkürlich im Hauptspeicherraum verteilt sind, müßten Tabellen vorgesehen werden, in denen zu jeder Seite
die Hauptspeieherstelie gespeichert wird, an der z.B. die Seite
beginnt. Eine bestimmte Seitentabelle speichert dabei z.B. die realen Hauptspeicher-Seitenadressen der Seiten eines Segments.
Die Seitentabellen werden dabei im Hauptspeicher untergebracht, wodurch eine weitere Segmenttabelle nötig wird, welche angibt,
an welchen Hauptspeicherstellen die SeitentabeIlen gespeichert
sind. Bei der Adressierung eines Datenbytes durch eine virtuelle Adresse muß also eine Übersetzung der virtuellen Adresse in
die reale Hauptspeicheradresse durch Verwendung der Seiten- und SegmenttabeIlen erfolgen.
Um die Geschwindigkeit der Speicherzugriffe zu erhöhen, sind in
modernen Datenverarbeitungsanlagen zusätzlich zum Hauptspeicher noch Pufferspeicher, auch Arbeitsspeicher genannt, vorgesehen.
Wenn von der Zentraleinheit Daten angefordert werden, wird zunächst geprüft, ob die betreffenden Daten im Pufferspeicher vorhanden
sind und gegebenenfalls werden die Daten direkt aus dem Pufferspeicher ausgelesen. Wenn es sich um das Einspeichern von
Daten handelt, werden die Daten sowohl im Pufferspeicher als auch im Hauptspeicher gespeichert. Wenn die gewünschten Daten nicht im
Pufferspeicher vorhanden sind, muß ein Hauptspeicherzugriff durchgeführt werden. Hierbei können die ausgelesenen Daten zugleich
auch im Pufferspeicher gespeichert werden. Wenn es sich um das Einspeichern von Daten handelt, werden die betreffenden Daten normalerweise
nur im Hauptspeicher gespeichert. Bei Datenanforderungen von einem Kanal aus ist normalerweise der Pufferspeicher nicht
betroffen. Es wird ein Hauptspeicherzugriff durchgeführt und die Daten werden dem betreffenden Kanal zur Verfügung gestellt.
Wenn es sich jedoch um das Einschreiben von Daten handelt, muß überprüft werden, ob zur adressierten Speicherstelle schon
Po 970 057 209853/1168
Der Erfindung liegt daher die Aufgabe zugrunde, eine virtuelle Speicheranordnung anzugeben, welche die oben erwähnten Nachteile
vermeidet.
Hierzu ist die Erfindung gekennzeichnet durch eine übersetzungsi-iebentabelle
zur Speicherung von aktuellen Übersetzungsinformationen, durch ein Verzeichnis zur Speicherung der realen Adressen
aer im Pufferspeicher gespeicherten Daten sowie durch einen Vergleicher, derart, daß Teile einer von der Zentraleinheit angebotenen
virtuellen Adresse zur Adressierung der Nebentabelle und des Verzeichnisses benutzt werden, wobei aus der Nebentabelle die
übersetzte reale Adresse ausgelesen und mit der aus dem Verzeichnis ausgelesenen realen Adresse verglichen wird, daß aus der
Nebentabelle ferner ein virtueller Adressenteil ausgelesen und
mit dem entsprechenden Teil der angebotenen virtuellen Adresse verglichen wird und daß bei Übereinstimmung die gewünschten Daten
aus dem Pufferspeicher ausgelesen werden.
Die Erfindung hat den Vorteil, daß bei notwendigen Datenübertragungen
zwischen dem Hauptspeicher und dem Pufferspeicher die reale Adresse bereits zur Verfügung steht, so daß kein Zeitverlust durch
übersetzung entsteht.
Ein Ausführungsbeispiel der Erfindung soll nun anhand von Figuren näher beschrieben werden. Es zeigen;
Fig. 1 das Format einer virtuellen Adresse,
Fig. 2 die schematische Darstellung der übersetzung
einer virtuellen Adresse in eine reale Adresse,
Fig. 3 das Format von Segmenttabellen-Eintragungen
und Seitentabellen-Eintragungen,
po 970 057 209853/1168
Fig. 4 ein Blockschema mit Einheiten einer bevorzugten
Äusführungsform der Erfindung,
Fig. 5 ein Zeitdiagramm, welches den zeitlichen Funktionsablauf der in Fig. 4 gezeigten Einrichtung angibt,
Fig. 6 das bevorzugte Format von Eintragungen einer über-
setzungs-Hebentabelle, welcher Teil der vorliegenden
Erfindung ist,
Fig. 7 ein Blockschema, welches die Einrichtung nach
der vorliegenden Erfindung mehr im einzelnen darstellt.
Fig. 1 zeigt das bevorzugte Format einer virtuellen Adresse. Die Adresse weist 24 Bits auf, welche in drei Felder unterteilt sind:
Ein Segmentfeld (SX) mit den Bits 8 bis 15, ein Seitenfeld (PX) mit den Bits 16 bis 20 und ein Bytefeld mit den Bits 21 bis 31.
Mit einem solchen Adressenformat kann ein virtueller Speicher von 256 Segmenten adressiert werden, worin jedes Segment bis zu
32 Seiten und jede Seite bis zu 2048 Bytes enthalten kann. Natürlich ist auch eine andere Unterteilung der Adresse und eine
andere Anordnung der Felder möglich. Z.B. können für das Segmentfeld die Bits 8 bis 11, für das Seitenfeld die Bits 12 bis 19
und für das Bytefeld die Bits 20 bis 31 vorgesehen werden. Der virtuelle Speicher würde dann aus 16 Segmenten bestehen, wobei
jedes Segment bis zn 256 Seiten und jede Seite bis zu 4096 Bytes enthalten kann. Die Bits 0 bis 7 werden im vorliegenden Ausführungsbeispiel nicht verwendet, könnten jedoch wahlweise dazu dienen,
einen größeren virtuellen Speicher zu adressieren. Ein solcher Speicher würde über vier Milliarden Bytes aufweisen.
Das Segmentfeld aient als Index und weist auf eine bestimmte
Eintragung in der Segmenttabelle hin. Diese Eintragung in der Segmenttabelle enthält eine Adressenangabe, welche die Beginnadresse
aer mit dem betreffenden Segment verbundenen Seitenta-
P0970057 209853/1168
festzustellen, ob nicht vielleicht die gesuchte übersetzung schon
in der Tabelle gespeichert ist. Wenn dies der Fall ist, wird die reale Adresse sogleich aus der Tabelle ausgelesen und mit dem
Bytefeld der virtuellen Adresse zusammengesetzt. Wenn die Adresse nicht in der Tabelle gefunden wird, wird die oben beschriebene
Übersetzung in zwei Stufen ausgeführt und werden die Übersetzungsdaten in der Tabelle abgespeichert.
Fig. 3 zeigt ein bevorzugtes Format für Segmenttabelleneintragungen
4 und Seitentabelleneintragungen 8. Für jeden virtuellen Speicher, falls mehrere vorhanden sind, ist eine Segmenttabelle mit entsprechenden
Seitentabellen vorgesehen. Die Beginnadresse und Länge der aktuellen Segmenttabelle wird im Steuerregister (Fig. 2)
gespeichert. Die Eintragungen 4 in der Segmenttabelle weisen auch eine Längenangabe (LTH) in den Bits 0 bis 3 auf, welche die Länge
der Seitentabelle in Inkrementen von 1/16 der maximalen Größe angeben. Das Bit 31, das I-Bit, gibt die Gültigkeit der Information
in der Segmenttabelle an. Wenn das besetzt gst, kann die betreffende
Eintragung nicht zur Übersetzung benutzt werden. Die Seitentabelleneintragung
8 enthält in α&ϊί Bitpositionen 0 bis 12 die
höherwertigen 13 Bits der realen Speicheradresse. Die niederwertigen realen Bits der virtuellen Adresse werden neben die höherwertigen
Bits von der Seitentabelle gesetzt und geben die Byteadresse, d.h. die relative Byte-Entfernung in der Seite an.
Ebenso wird zu jeder Seitentabelleneintragung ein InvaliditätjS-bit
I gespeichert. Wenn dieses I-Bit gesetzt ist, kann diese Eintragung nicht zur übersetzung benutzt werden.
Während die obenbeschriebene Übersetzung weitgehend bekannt ist,
soll nun im nachfolgenden ein Übersetzungsvorgang unter Benutzung einer Übersetzungs-Jebentabelle und der Austausch von Seiten
zwischen dem virtuellen Speicher und dem Hauptspeicher beschrieben werden.
Fig. 4 zeigt verschiedene Einrichtungen, welche einen solchen
po 9 70 057 20 9853/1168
belle darstellt. Das Seitenfeld der virtuellen Adresse weist auf
eine bestimmte Eintragung in der Seitentabelle hin. Diese Eintragung
enthält die aktuelle oder auch reale Adresse der Seite. Das Bytefeld wird durch die Übersetzung nicht verändert und ergibt
als niederwertige Bits zusammen mit der als hochwertige Bits verwendeten
gefundenen realen Seitenadresse die gesuchte reale Haupt-Speicheradresse.
Adressenübersetzung
Die Adressenübersetzung soll nun in Zusammenhang mit Fig. 2 näher erklärt werden. Die Übersetzung erfolgt in zwei Stufen und verwendet
Segmenttabellen und Seitentabellen im Hauptspeicher. Das Segmentfeld (SX) der virtuellen Adresse wird zu einer Segmenttabellenbeginnadresse
(STO), welche in einem Steuerregister gespeichert ist, addiert und ergibt dann die Adresse einer Speicherstelle
4 in der Segmenttabelle 6. Im Steuerregister ist außerdem die Länge (LTH) der Segmenttabelle zu Prüfzwecken gespeichert.
Aus der adressierten Speicherstelle in der Segmenttabelle wird die Beginnadresse (PTO) einer Seitenadresse ausgelesen, welche
zum Seitenfeld der virtuellen Adresse addiert wird. Die gefundene Adresse wird zur Adressierung einer Speicherstelle 8 in
der Seitentabelle 10 verwendet. An der Speicherstelle 8 wird eine reale Adresse ausgelesen, welches an das Bytefeld der virtuellen
Adresse aneinandergereiht die reale Adresse eines Bytes ergibt. Um nicht bei jedem Hauptspeicherzugriff eine solche Übersetzung
in zwei Stufen ausführen zu müssen, ist eine weitere Tabelle vorgesehen, in der das Segmentfeld und das Seitenfeld
der übersetzten virtuellen Adresse zusammen mit der entsprechenden durch die Übersetzung gefundenen realen Adresse gespeichert wird.
In dieser zusätzlichen Tabelle werden alle zuletzt verwendeten, d.h. aktuellen Übersetzungsdaten gespeichert.
Zum Beginn einer jeden Übersetzung einer virtuellen Adresse in eine reale Adresse wird die zusätzlich Tabelle überprüft um
970 057 209853/1168
Übersetzungsvorgang unter Benutzung einer übersetzungs-Nebentabelle
ausführen. Die virtuelle Adresse 12 wird von der Zentraleinheit geliefert und dient zur Adressierung der Übersetzungsnebentabelle
(TLAT) 14 und des Verzeichnisses PFR UT 16. Die Nebentabelle 14
enthält kürzlich übersetzte virtuelle Adressen und die entsprechenden realen Adressen, während das Verzeichnis 16 die realen Adressen
von Daten in Form einer Tabelle gespeichert hat, welche gegenwärtig
in dem zur Unterstützung des Hauptspeichers vorgesehenen schnellen Pufferspeicher gespeichert sind. Bei den Tabellen 14
und 16 kann es sich z.B. um Assoziativspeicher handeln, welche ein assoziatives Abfragen ermöglichen. Ebenso kann es sich bei
diesen Tabellen um explizit durch Bits der virtuellen Adresse adressierte Tabellen handeln. Im allgemeinen wird nur ein Teil
der virtuellen Adresse dazu gebraucht werden, die übersetzungsnebentabelle
14 zu adressieren. Die dem restlichen Teil entsprechende virtuelle Adresse wird von der Nebentabelle 14 ausgelesen
und mit dem entsprechenden Teil in der von der Zentraleinheit gelieferten Adresse 12 in einem Vergleicher 18 verglichen. Um
sicherzustellen, daß die Daten, welche sich gegenwärtig im Pufferspeicher befinden, auch die Daten sind, die von der virtuellen
Adresse 12 gewünscht werden, wird die von der Nebentabelle 14 ausgelesene reale Adresse mit der von dem Verzeichnis 16 ausgelesenen
realen Adresse im Vergleicher 20 verglichen. Die Ausgangssignale der Vergleicher 18 und 20 speisen die Eingänge eines
UND-Gliedes 22, welches ein Signal an seinem Ausgang 24 erzeugt, wenn sich die gewünschten Daten im Pufferspeicher befinden. Die
betreffenden Teile der virtuellen Adresse und der realen Adresse werden über die Leitungen 26 und 28 zum Pufferspeicheradressenregister
30 gesendet, so daß nun ein Zugriff zum Pufferspeicher durchgeführt werden kann. Wenn in der Nebentabelle 14 eine reale
Adresse gespeichert ist, welche der angebotenen virtuellen Adresse 12 entspricht, jedoch die gewünschten Daten nicht im Pufferspeicher
vorhanden sind, spricht ein UND-Glied 34 an, da das fehlende Ausgangssignal des Vergleichers 20 nach seiner Umkehrung im
Inverter 32 zusammen mit dem Ausgangssignal vom Vergleicher 18
po 970 057 209853/1168
— Q —
die beiden Eingänge des UND-Gliedes 34 speist. Das UND-Glied
erzeugt auf der Leitung 36 ein Signal, welches angibt, daß ein Zugriff zum Hauptspeicher durchgeführt werden muß.
Wenn zu der angebotenen virtuellen Adresse 12 keine gleiche virtuelle Adresse in der Nebentabelle 14 gefunden wird, erzeugt
der Vergleicher 8 kein Signal, wodurch am Ausgang des Gliedes ■ 38 ein Signal auf der Leitung 40 entsteht, welches anzeigt,
daß ein Übersetzungsprozeß, wie er in Fig. 2 dargestellt ist, . durchgeführt werden muß. Die Adressierung der einzelnen Speicher
sowie das Durchführen einer Übersetzung nach Fig. 2 brauchen jedoch hier nicht näher beschrieben werden.
Fig. 5 zeigt in einer übersichtlichen Form die von der Einrichtung
nach Fig. 4 durchgeführten Funktionen. Aus Fig. 5 ist auch ersichtlich, welche Operationen nacheinander und welche gleichzeitig
durchgeführt werden. Die von der Zentraleinheit gelieferte Adresse VA adressiert parallel die Übersetzungsnebentabelle TLAT
und das Verzeichnis PFR-UT. Hierauf wird zur gleichen Zeit die in der Nebentabelle enthaltene virtuelle Adresse mit der von der Zentraleinheit
gelieferten virtuellen Adresse und die reale Adresse von der Nebentabelle mit der realen Adresse der Tabelle*16 verglichen.
Wenn beide Vergleiche positiv ausfallen, kann ein Zugriff zum Pufferspeicher durchgeführt werden.
In einer bevorzugten Ausführungsform weist die Übersetzungsnebentabelle
64 Wörter auf, von denen jedes zwei virtuelle Adressen zusammen mit den 4.hnen entsprechenden realen Adressen speichert.
Jedes Wort enthält dabei die Übersetzungsdaten für eine mit einer geraden Adresse bezeichneten Seite und für die nächste darauf
folgende mit einer ungeradzahligen Adresse bezeichneten Seite. Wenn ein Zugriff zu der Nebentabelle durchgeführt wird, wird
das entsprechende Halbwort, welches durch das Bit 20 des Seitenadressenfeldes
PX der virtuellen Adresse bezeichnet ist, ausgelesen. In Fig. 6 werden Einzelheiten des Formats eines TLAT-Wortes
gezeigt. Da beide Worthälften identisch im Format sind, ist nur
po 970 057 209853/1 168
die eine Hälfte davon, welche 27 Bits aufweist, gezeigt. Wie in
Fig. 1 gezeigt wurde, weisen das Segmentadressenfeld SX und das Seitenadressenfeld PX der virtuellen Adresse zusammen 13 Bits auf.
In einer bevorzugten Ausfuhrungsform werden 6 dieser Bits dazu
verwendet, die Nebentabelle zu adressieren und, wie oben erwähnt wurde, wird ein siebentes Bit dazu benutzt, in dem adressierten
TLAT-Wort das gewünschte Halbwort auszuwählen. Es müssen also nur 6 Bits der virtuellen Adresse, welche in Fig. 6 mit VIR bezeichnet
sind, jeweils in der Nebentabelle gespeichert werden. Ein 12~Bit-Teil des Wortes enthält die 10 realen Adressenbits,
welche die übersetzung des Segment- und Seitenteiles der virtuellen
Adresse darstellen, sowie'ein Gültigkeitsbit I und ein
Paritätsbit P. 6 Bits, welche mit ST PRO bezeichnet sind, können für Speicherschutzfunktionen verwendet werden. 2 codierte Gültigkeitsbits,
welche mit STO bezeichnet sind, sind in jeder Speicherstelle der Nebentabelle gespeichert. Diese Bits werden dazu benutzt,
anzuzeigen, ob eine gespeicherte Information gültig oder ungültig ist. Wenn eine Eintragung gültig ist, kann sie sich auf
einen von drei verschiedenen Adressenbereichen beziehen, wobei der bezeichnete Bereich durch den Wert der codierten STO-Bits definiert
ist. Die verschiedenen Segmenttabellen-Beginnadressen, welche den verschiedenen codierten Werten der Gültigkeitsbits entsprechen, sind
im Pufferspeicher oder Hauptspeicher gespeichert. Die Abspeicherung dieser Werte, d.h. ihre Zuteilung wird vom Mikroprogramm gesteuert.
Die vier verschiedenen Werte der STO-Bits haben folgende Bedeutung.
00 bezeichnet eine ungültige Eintragung,
01 bezeichnet eine gültige Eintragung, welche zu einem ersten STO-Wert im Pufferspeicher
gehört,
10 bezeichnet eine gültige Eintragung, welche zu einem zweiten STO-Wert im Pufferspeicher
gehört und
11 bezeichnet eine gültige Eintragung, welche zu einem dritten STü-Wert im Pufferspeicher
gehört.
PO 970 αν/ 209853/ 116 8
Wenn das Steuerregister (siehe Fig. 2) mit einer Segmenttabellen-Beginnadresse
geladen wird, wird durch das Mikroprogramm bestimmt, ob diese Adresse zu einem der drei laufenden Segmenttabellen~
Beginnadressenwerte im Pufferspeicher gehört. Wenn der Adressenwert, welcher gerade ins Steuerregister geladen wird, keiner
der drei existierenden Beginnadressen entspricht, wird eine Referenz hergestellt. Wenn alle drei codierten STO-Werte aktiv
sind, und keiner mit dem neuen ins Steuerregister geladenen Wert übereinstimmt, wird der älteste Beginnadressenwert aus der
Nebentabelle ausgelesen, indem das entsprechende STO-Bit auf 00 gesetzt wird, und werden die codierten Bits dem neuen Wert zugeteilt.
Zur Adressierung der ubersetzungsnebentabelle TLAT werden drei virtuelle Bits des Segmentadressenfeldes SX (Bits 13, 14 und 15)
und drei virtuelle Bits des Seitenadressenfeldes (Bits 17, 18 und 19) dazu verwendet, eine der 64 Speicherstellen auszuwählen.
Das niederste PX-Bit (Bit 20) trifft die Auswahl zwischen der geraden oder ungeraden Eintragung. Die in der Nebentabelle abgespeicherten
Bits sind infolgedesaan die virtuellen Bits 8, 9,
10, 11, 12 und 16. Um eine virtuelle Adresse zu übersetzen, wird ein Zugriff zu einer der 64 Speicherstellen der Übersetzungsnebentabelle
durchgeführt und die gerade oder ungerade Eintragung ausgewählt. Die restlichen hochwertigen virtuellen Bits in der
von der Zentraleinheit gelieferten virtuellen Adresse werden mit den hochwertigen virtuellen Bits, welche aus der Nebentabelle
ausgelesen werden, verglichen. Wenn eine Übereinstimmung festgestellt wird, wird die übersetzte reale Adresse aus der entsprechenden
Speicherstelle ausgelesen. Diese reale Adresse wird dann mit den im Verzeichnis gespeicherten realen Adresse verglichen um
festzustellen, ob die Daten zu dieser Adresse im Pufferspeicher gespeichert sind. Wenn dies nicht der Fall ist, wird ein Zugriff
zum Hauptspeicher durchgeführt.
Wenn der Zugriff zur Nebentabelle keine übersetzung liefert,
wenn also kein Vergleich festgestellt wird, muß die Anlage die
po 970 057 209853/1 168
in Fig. 2 gezeigte übersetzung in zwei Stufen ausführen. Das
Ergebnis dieser Übersetzung wird dann in die Nebentabelle TLAT gespeichert. Zur gleichen Zeit wird ebenfalls die entsprechende
ungeradzahlige oder geradzahlige Seite übersetzt, zumindest, wenn sie gültig ist und in der Nebentabelle gespeichert, so daß also
zwei' Übersetzungen zugleich durchgeführt werden.
Fig. 7 zeigt zusätzliche Einzelheiten der bevorzugten Ausführungsform der vorliegenden Erfindung. Bits 3 bis 31 der von der Zentraleinheit
gelieferten virtuellen Adresse werden auf eine Speicheradressensammelleitung 44 zur Verteilung innerhalb der Anlage gegeben.
Bits 13 bis 15 und 17 bis 19 werden dazu benutzt, die übersetzungsnebentabelle
46, welche die virtuellen Adressenbits 8 bis 12 und 16 enthält, zu adressieren. Der Teil der Nebentabelle,
welcher Übersetzungen für geradzahlige virtuelle Adressen enthält, liefert diese virtuellen Adressenbits an eine logische Schaltung
48, während der Teil der Nebentabelle, welcher Übersetzungen für ungeradzahlige virtuelle Adressen enthält, die virtuellen Adressenbits
an eine logische Schaltung 50 liefert. Wenn das Bit 20 der virtuellen Adresse 0 ist, wird die Torschaltung 4 8 leitend gemacht
und die sechs virtuellen Adressenbits werden dem Vergleicher 52 zugeführt. Wenn das Bit 20 1 ist, wird die Torschaltung 50 leitend
gemacht und die virtuellen Adressenbits von dem ungeradzahligen Teil der Nebentabelle zu· der Vergleichsschaltung 52 geleitet. Die
Bits 8 bis 12 und 16 der von der Zentraleinheit gelieferten virtuellen Adresse werden ebenfalls der Vergleichsschaltung 52 zugeführt.
Wenn die beiden Eingangsinformationen gleich sind, liefert der Vergleicher 52 ein Signal auf der Leitung 54. Zur gleichen Zeit, da
ein Zugriff zur Nebentabelle ausgeführt wird, wird auch ein Zugriff zum Verzeichnis 16 durch die Bits 20 bis 26 der von der
Zentraleinheit gelieferten Adresse durchgeführt. Im vorliegenden Ausführungsbeispiel weist das Verzeichnis 128 V.'orte auf, wobei
in jedem Wort"zwei reale Adressen gespeichert sind. Die beiden
realen Adressen, welche in einem solchen adressierten Wort der Tabelle 16 gespeicnert sind, werden zu zwei Vergleichsschaltungen
5 8 und 60 ausgelesen. Ungefähr zum gleichen Zeitpunkt
PO 970 057 209853/11G8
wird eine reale Adresse vom entsprechenden (geraden oder ungeraden)
Teil der Nebentabelle 46 über die Torschaltungen 62 oder 64 den Vergleichern 58 und 60 zugeführt. Der Codierer 66 erzeugt das
Bit 19 der realen Adresse, dessen Wert davon abhängt, welche der beiden Vergleichsschaltungen Gleichheit festgestellt hat, und
dieses Bit 19 wird hierauf zum Pufferspeicheradressenregister 68 übertragen. Ungefähr zur gleichen Zeit wird das Bit 20 der realen
Adresse über die Leitung 70 von der Webentabelle 46 zum Adressenregister 68 und die Bits 21 bis 28 der realen Adresse über die
Leitung 72 von der Speicheradressensammelleitung 44 zum Adressenregister 68 übertragen. Die Bits 19 bis 28 im Pufferspeicheradressenregister
68 werden dazu benutzt, eines von 1024 Worten im Pufferspeicher 74 zu adressieren und zur Zentraleinheit zu übertragen.
Die Bits 29 bis 31 (die niederwertigen realen Adressenbits) der von der Zentraleinheit gelieferten virtuellen Adresse brauchen
für einen Zugriff vom Pufferspeicher nicht verwendet werden, da im gezeigten Ausführungsbeispiel jedes Wort im Pufferspeicher 8
Datenbytes enthält, wobei jedes Byte aus 8 Datenbits und einem Paritätsbit besteht.
Wenn keine der beiden Vergleichsschaltungen 58 oder 60 Gleichheit festgestellt hat (keine gleiche reale Adresse im Verzeichnis
gefunden, d.h. Daten nicht im Pufferspeicher) oder wenn der Vergleicher 52 nicht Gleichheit festgestellt hat (übersetzung
der aktuellen virtuellen Adresse nicht in der Nebentabelle vorhanden) muß die übersetzung wie oben in Zusammenhang mit der Fig.
4 beschrieben durchgeführt werden.
Es ist klar, daß die Zugriffe zum Pufferspeicher nicht notwendigerweise
darauf warten müssen, bis die Adressenvergleiche durchgeführt sind. Der Zugriff zum Pufferspeicher könnte z.B. auch von der einlangenden
virtuellen Adresse ausgelöst werden und die vom Pufferspeicher ausgelesenen Daten könnten abhängig von den Vergleichen
übertragen werden oder nicht. Auch bei einer solchen Arbeitsweise kann der Pufferspeicher durch reale Adressen adressiert werden und
enthält auch das Verzeichnis 16 reale Adressen.
P0 970 057 209853/1168
Claims (5)
- - 14 -? Λ T EMTANSP RÜCHEVirtuelle Speicheranordnung mit einem Hauptspeicher, einem Pufferspeicher und Tabellen zur übersetzung von virtuellen in reale Adressen,gekennzeichnet durch eine übersetzungs-Nebentabelle (14, Fig. 4) zur Speicherung von aktuellen Übersetzungsinformationen ,durch ein Verzeichnis (16) zur Speicherung der realen Adressen der im Pufferspeicher gespeicherten Daten, sowie durch Vergleicher (18, 20),derart, daß Teile einer von der Zentraleinheit angebotenen virtuellen Adresse zur Adressierung der Nebentabelle und des Verzeichnisses benutzt werden, wobei aus der Nebentabelle die übersetzte reale Adresse ausgelesen und mit der aus dem Verzeichnis ausgelesenen realen Adresse verglichen v/ird,daß aus der Nebentabelle ferner ein virtueller Adressenteil ausgelesen und mit dem entsprechenden Teil der angebotenen virtuellen Adresse verglichen wird,und daß bei Übereinstimmung die gewünschten Daten aus dem Pufferspeicher ausgelesen werden.
- 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die zur Adressierung der Nebentabelle verwendeten virtuellen Adressenbits und die aus der Nebentabelle ausgelesenen virtuellen Adressenbits keine Bits gemeinsam haben und zusammen den gesamten virtuellen Teil der angebotenen virtuellen Adresse darstellen.
- 3. Speicheranordnung nach Anspruch 2, worin die angebotene virtuelle Adresse aus einem virtuellen Segmentteil, einem virtuellen Seitenteil und einem realen Byteteil besteht, dadurch gekennzeichnet, daß zur Adressierung der Nebentabelle (14) virtuelle Segment- und virtuelle Seitenbits verwendet werden.PO 97ü 057 209853 M1RR
- 4. Speicheranordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Eintragungen in der Nebentabelle (14) in zwei
Halbworte für ungerade und gerade Seitenadressendaten aufgeteilt sind und ein virtuelles Seitenbit zur Unterscheidung zwischen diesen beiden Teilen verwendet wird. - 5. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Eintragungen im Verzeichnis (16) in zwei Halbworte aufgeteilt sind und zwei Vergleicher (58, 60) speisen,
welche mit einem Codierer (66) verbunden sind.Pü 970 057 209853/1 1B8
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15818071A | 1971-06-30 | 1971-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2227882A1 true DE2227882A1 (de) | 1972-12-28 |
DE2227882C2 DE2227882C2 (de) | 1982-11-04 |
Family
ID=22566979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2227882A Expired DE2227882C2 (de) | 1971-06-30 | 1972-06-08 | Virtuelle Speicheranordnung |
Country Status (7)
Country | Link |
---|---|
US (1) | US3761881A (de) |
JP (1) | JPS5136178B1 (de) |
CA (1) | CA960783A (de) |
DE (1) | DE2227882C2 (de) |
FR (1) | FR2144265A5 (de) |
GB (1) | GB1342459A (de) |
IT (1) | IT956847B (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2260353A1 (de) * | 1971-12-23 | 1973-06-28 | Ibm | Verfahren und vorrichtung zur speichersteuerung und adressenumsetzung |
DE2455047A1 (de) * | 1973-11-21 | 1975-05-22 | Amdahl Corp | Datenverarbeitungssystem |
DE2542845A1 (de) * | 1975-09-25 | 1977-03-31 | Siemens Ag | Verfahren zum betreiben eines hierarchisch gegliederten, mehrstufigen arbeitsspeichersystems und schaltungsanordnung zur durchfuehrung des verfahrens |
EP0010198A2 (de) * | 1978-10-23 | 1980-04-30 | International Business Machines Corporation | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4010451A (en) * | 1972-10-03 | 1977-03-01 | National Research Development Corporation | Data structure processor |
US3825904A (en) * | 1973-06-08 | 1974-07-23 | Ibm | Virtual memory system |
US3866183A (en) * | 1973-08-31 | 1975-02-11 | Honeywell Inf Systems | Communications control apparatus for the use with a cache store |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US3909798A (en) * | 1974-01-25 | 1975-09-30 | Raytheon Co | Virtual addressing method and apparatus |
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 |
JPS5615066B2 (de) * | 1974-06-13 | 1981-04-08 | ||
DE2605617A1 (de) * | 1976-02-12 | 1977-08-18 | Siemens Ag | Schaltungsanordnung zum adressieren von daten |
JPS52130532A (en) * | 1976-04-27 | 1977-11-01 | Fujitsu Ltd | Address conversion system |
US4084226A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
US4241401A (en) * | 1977-12-19 | 1980-12-23 | Sperry Corporation | Virtual address translator utilizing interrupt level code |
US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
DE2842288A1 (de) * | 1978-09-28 | 1980-04-17 | Siemens Ag | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher |
US4254463A (en) * | 1978-12-14 | 1981-03-03 | Rockwell International Corporation | Data processing system with address translation |
US4298932A (en) * | 1979-06-11 | 1981-11-03 | International Business Machines Corporation | Serial storage subsystem for a data processor |
DE2939411C2 (de) * | 1979-09-28 | 1982-09-02 | Siemens AG, 1000 Berlin und 8000 München | Datenverarbeitungsanlage mit virtueller Speicheradressierung |
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
US4393443A (en) * | 1980-05-20 | 1983-07-12 | Tektronix, Inc. | Memory mapping system |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
US4386402A (en) * | 1980-09-25 | 1983-05-31 | Bell Telephone Laboratories, Incorporated | Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack |
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
US4482952A (en) * | 1980-12-15 | 1984-11-13 | Nippon Electric Co., Ltd. | Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data |
US4400774A (en) * | 1981-02-02 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Cache addressing arrangement in a computer system |
US4539637A (en) * | 1982-08-26 | 1985-09-03 | At&T Bell Laboratories | Method and apparatus for handling interprocessor calls in a multiprocessor system |
US4819154A (en) * | 1982-12-09 | 1989-04-04 | Sequoia Systems, Inc. | Memory back up system with one cache memory and two physically separated main memories |
AU569857B2 (en) * | 1982-12-09 | 1988-02-25 | Sequoia Systems, Inc. | Memory backup system |
JPS59157887A (ja) * | 1983-02-28 | 1984-09-07 | Hitachi Ltd | 情報処理装置 |
DE3483489D1 (de) * | 1983-04-13 | 1990-12-06 | Nec Corp | Speicherzugriffseinrichtung in einem datenverarbeitungssystem. |
US4580217A (en) * | 1983-06-22 | 1986-04-01 | Ncr Corporation | High speed memory management system and method |
US4731739A (en) * | 1983-08-29 | 1988-03-15 | Amdahl Corporation | Eviction control apparatus |
US4680700A (en) * | 1983-12-07 | 1987-07-14 | International Business Machines Corporation | Virtual memory address translation mechanism with combined hash address table and inverted page table |
US4663742A (en) * | 1984-10-30 | 1987-05-05 | International Business Machines Corporation | Directory memory system having simultaneous write, compare and bypass capabilites |
US4991081A (en) * | 1984-10-31 | 1991-02-05 | Texas Instruments Incorporated | Cache memory addressable by both physical and virtual addresses |
US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
US4899275A (en) * | 1985-02-22 | 1990-02-06 | Intergraph Corporation | Cache-MMU system |
US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4821171A (en) * | 1985-05-07 | 1989-04-11 | Prime Computer, Inc. | System of selective purging of address translation in computer memories |
US4636990A (en) * | 1985-05-31 | 1987-01-13 | International Business Machines Corporation | Three state select circuit for use in a data processing system or the like |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
EP0303664A1 (de) * | 1987-02-24 | 1989-02-22 | Digital Equipment Corporation | Zentrale prozessoreinheit für digitale datenverarbeitungsanordnung mit einer schaltung zur übersetzung von virtuellen in physikalische adressen |
JPH0221342A (ja) * | 1987-02-27 | 1990-01-24 | Hitachi Ltd | マルチプロセッサシステム及びマルチプロセッサシステムにおける論理キャッシュメモリのアクセス方法 |
JP2507756B2 (ja) * | 1987-10-05 | 1996-06-19 | 株式会社日立製作所 | 情報処理装置 |
JPH01154261A (ja) * | 1987-12-11 | 1989-06-16 | Toshiba Corp | 情報処理装置 |
US5150471A (en) * | 1989-04-20 | 1992-09-22 | Ncr Corporation | Method and apparatus for offset register address accessing |
JPH0679296B2 (ja) * | 1989-09-22 | 1994-10-05 | 株式会社日立製作所 | 多重仮想アドレス空間アクセス方法およびデータ処理装置 |
US5584003A (en) * | 1990-03-29 | 1996-12-10 | Matsushita Electric Industrial Co., Ltd. | Control systems having an address conversion device for controlling a cache memory and a cache tag memory |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
JP3190700B2 (ja) * | 1991-05-31 | 2001-07-23 | 日本電気株式会社 | アドレス変換装置 |
EP0764302B1 (de) * | 1994-06-10 | 1998-12-02 | Texas Micro Inc. | Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem |
US5890221A (en) * | 1994-10-05 | 1999-03-30 | International Business Machines Corporation | Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit |
JP3086779B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5745672A (en) * | 1995-11-29 | 1998-04-28 | Texas Micro, Inc. | Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer |
US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
US5724551A (en) * | 1996-05-23 | 1998-03-03 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers |
TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
US6968398B2 (en) * | 2001-08-15 | 2005-11-22 | International Business Machines Corporation | Method of virtualizing I/O resources in a computer system |
US7604658B2 (en) * | 2004-05-04 | 2009-10-20 | Codman & Shurtleff, Inc. | Multiple lumen sensor attachment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3217298A (en) * | 1960-04-20 | 1965-11-09 | Ibm | Electronic digital computing machines |
US3317898A (en) * | 1963-07-19 | 1967-05-02 | Ibm | Memory system |
US3533075A (en) * | 1967-10-19 | 1970-10-06 | Ibm | Dynamic address translation unit with look-ahead |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3339183A (en) * | 1964-11-16 | 1967-08-29 | Burroughs Corp | Copy memory for a digital processor |
US3568155A (en) * | 1967-04-10 | 1971-03-02 | Ibm | Method of storing and retrieving records |
GB1265006A (de) * | 1968-11-08 | 1972-03-01 | ||
GB1234484A (de) * | 1968-11-12 | 1971-06-03 | ||
US3648254A (en) * | 1969-12-31 | 1972-03-07 | Ibm | High-speed associative memory |
-
1971
- 1971-06-30 US US00158180A patent/US3761881A/en not_active Expired - Lifetime
-
1972
- 1972-05-01 GB GB2005372A patent/GB1342459A/en not_active Expired
- 1972-06-08 FR FR7221502A patent/FR2144265A5/fr not_active Expired
- 1972-06-08 DE DE2227882A patent/DE2227882C2/de not_active Expired
- 1972-06-20 JP JP47061058A patent/JPS5136178B1/ja active Pending
- 1972-06-22 CA CA145,362A patent/CA960783A/en not_active Expired
- 1972-06-27 IT IT26240/72A patent/IT956847B/it active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3217298A (en) * | 1960-04-20 | 1965-11-09 | Ibm | Electronic digital computing machines |
US3317898A (en) * | 1963-07-19 | 1967-05-02 | Ibm | Memory system |
US3533075A (en) * | 1967-10-19 | 1970-10-06 | Ibm | Dynamic address translation unit with look-ahead |
Non-Patent Citations (3)
Title |
---|
IBM Systems Journal, Vol. 5, No.2, 1966, S. 78- 101 * |
Proc. IEEE, Vol. 54, No.12, Orig. 1966, S. 1774-1779 * |
Proc. S.IEE 1966, S. 61-78 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2260353A1 (de) * | 1971-12-23 | 1973-06-28 | Ibm | Verfahren und vorrichtung zur speichersteuerung und adressenumsetzung |
DE2455047A1 (de) * | 1973-11-21 | 1975-05-22 | Amdahl Corp | Datenverarbeitungssystem |
DE2542845A1 (de) * | 1975-09-25 | 1977-03-31 | Siemens Ag | Verfahren zum betreiben eines hierarchisch gegliederten, mehrstufigen arbeitsspeichersystems und schaltungsanordnung zur durchfuehrung des verfahrens |
EP0010198A2 (de) * | 1978-10-23 | 1980-04-30 | International Business Machines Corporation | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher |
EP0010198A3 (en) * | 1978-10-23 | 1980-10-01 | International Business Machines Corporation | Device for page replacement control in a virtual memory |
US4277826A (en) | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
Also Published As
Publication number | Publication date |
---|---|
IT956847B (it) | 1973-10-10 |
DE2227882C2 (de) | 1982-11-04 |
US3761881A (en) | 1973-09-25 |
CA960783A (en) | 1975-01-07 |
FR2144265A5 (de) | 1973-02-09 |
JPS5136178B1 (de) | 1976-10-07 |
GB1342459A (en) | 1974-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE3011552C2 (de) | ||
DE4410060B4 (de) | Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse | |
DE2459006C2 (de) | Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE69323863T2 (de) | Verfahren und Vorrichtung zur Adressübersetzung | |
DE69427625T2 (de) | Adressübersetzungsmechanismus für Rechnersystem mit virtuellen Speicher, der eine Vielzahl von Seitengrössen unterstützt | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE2725718A1 (de) | Verarbeitungssystem mit mehreren virtuellen adressenraeumen | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3805107A1 (de) | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
DE68928333T2 (de) | Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist | |
DE2551740A1 (de) | Datenverarbeitungseinheit | |
DE68925336T2 (de) | Datenverarbeitungsvorrichtung mit Cache-Speicher | |
DE4123550A1 (de) | Informationsverarbeitungssystem mit direktem speicherzugriff | |
DE3689217T2 (de) | Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8126 | Change of the secondary classification |
Ipc: G06F 9/00 |
|
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |