DE2331394B1 - Datenverarbeitungsanlage mit virtueller adressierung - Google Patents
Datenverarbeitungsanlage mit virtueller adressierungInfo
- Publication number
- DE2331394B1 DE2331394B1 DE19732331394 DE2331394A DE2331394B1 DE 2331394 B1 DE2331394 B1 DE 2331394B1 DE 19732331394 DE19732331394 DE 19732331394 DE 2331394 A DE2331394 A DE 2331394A DE 2331394 B1 DE2331394 B1 DE 2331394B1
- Authority
- DE
- Germany
- Prior art keywords
- address
- main memory
- virtual
- memory
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000000052 comparative effect Effects 0.000 claims 1
- 238000013519 translation Methods 0.000 description 10
- 230000014616 translation Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003112 inhibitor Substances 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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]
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)
- Memory System (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung betrifft eine Datenverarbeitungsanlage mit virtueller Adressierung, in der Einrichtungen
vorgesehen sind, um gegebene virtuelle Adressen in reelle Adressen umzuwandeln.
Bei virtueller Adressierung werden alle Programme und Daten zunächst in einen Hintergrundspeicher mit
Direktzugriff, z. B. einen Magnetplattenspeicher, geladen. Die zentrale Verarbeitungseinheit kann dabei
die gesamte Informationsmenge mittels virtueller Adressen adressieren, bietet diese Adresse jedoch den
Adressierungseinrichtungen des Hauptspeichers an. Der Hauptspeicher selbst ist der reelle Speicher.
Während der Verarbeitung eines Programms werden unter der Steuerung eines Programmierungs-Betriebssystems
die aktiven Teile aus dem Hintergrundspeicher blockweise oder - wie man meistens sagt seitenweise
in den reellen Speicher übertragen. Der reelle Speicher, d. h. der Hauptspeicher, ist praktisch
in Seiten unterteilt, welche die gleiche Größe wie die Seiten im virtuellen Speicher haben.
In einem Multiprogrammierungssystem wird die Effektivität des Operationssystems dadurch verringert,
daß es notwendig ist, den Hauptspeicher in einzelne Speicherbereiche für die verschiedenen Programme
aufzuteilen. Zu diesen Programmen gehört das Operationssystem und die Benutzerprogramme.
Das Operationssystem steuert im wesentlichen die Ausführung jener Programme und die Verwendung
jener Systemeinrichtungen, welche die Aufeinanderfolge von Programmen bestimmen, die Fehlersuche
durchführen, die Steuerung für Ein- und Ausgabegeräte übernehmen, Speicherbereiche zuweisen, Daten
verwalten und ähnliches.
Bei einer Vergrößerung des Hauptspeichers muß dabei eine extensive Reprogrammierung und Systemänderung
durchgeführt werden. Bei Verwendung der virtuellen Adressierung bietet die Größe des Hauptspeichers
keine Probleme mehr und kann die Datenverarbeitungsanlage besser ausgenutzt werden.
Bei der virtuellen Adressierung werden die Programme, welche zur Verarbeitung in den Hauptspeicher
gebracht werden sollen, zumeist auf einem Magnetplattenspeicher in einem hierzu reservierten
Bereich mit direktem Zugriff gespeichert. Dieser Bereich stellt dann den virtuellen Speicher der Datenverarbeitungsanlage
dar. Bei der Ausführung der Programme werden die aktiven Teile des virtuellen Speichers, d. h. die Teile, welche bereit sind zur Ausführung,
in Blöcken dem realen Hauptspeicher zugewiesen. Der reale Hauptspeicher wird dabei in Seiten
unterteilt, welche die gleiche Größe haben wie die Seiten im virtuellen Speicher.
Besondere Teile des Betriebssystems und der Schaltungseinrichtungen wirken miteinander, um Seiten
immer gerade dann, wenn sie benötigt werden, vom Hintergrundspeicher in den reellen Speicher zu
übertragen. Die Seiten eines bestimmten Programms können an irgendeinen freien Platz im reellen Speicher
übertragen werden ohne Rücksicht darauf, in welcher Reihenfolge sie im virtuellen Speicher angeordnet
sind. Wenn der Hauptspeicher gefüllt ist und eine weitere Seite zur Verarbeitung benötigt wird,
muß eine schon im Hauptspeicher befindliche, aber nicht mehr benötigte Seite durch die neue Seite ersetzt
werden.
Wenn Seiten in den Hauptspeicher eingegeben werden, werden ihre virtuelle und die zugeteilte reelle
Adresse in Tabellen im Hauptspeicher festgehalten; die zuletzt benutzten virtuellen und zugehörigen reellen
Adressen werden außerdem noch in einem schnellen Assoziativspeicher abgespeichert. Jedesmal, wenn
der Prozessor eine virtuelle Adresse zur Adressierung des Hauptspeichers abgibt, wird zunächst der Assoziativspeicher
abgesucht, um festzustellen, ob nicht auf Grund eines bereits bestehenden Eintrags eine rasche
Übersetzung von virtueller in reelle Adresse möglich ist. Falls die angegebene virtuelle Adresse im
Assoziativspeicher gefunden wird, wird die zugehö-
rige reelle Adresse ausgelesen und direkt zur Adressierung des Hauptspeichers benutzt. Falls aber die angegebene
virtuelle und die zugehörige gesuchte reelle Adresse nicht im Assoziativspeicher gefunden werden,
leitet der Prozessor die Durchführung eines Hilfsprogramms ein, welches eine Tabellensuchoperation
durch die Tabellen im Hauptspeicher durchführt, um die angegebene virtuelle und die zugehörige
reelle Adresse aufzufinden. Falls die angegebene virtuelle Adresse gefunden wird, wird die zugehörige
reelle Adresse zwecks Adressierung des Hauptspeichers mit Hilfe der Tabellenangaben ermittelt, wobei
die zugehörigen Adressen nun auch im Assoziativspeicher abgespeichert werden. Wenn aber auch in
den Hauptspeichertabellen kein übereinstimmender Eintrag gefunden wird, wird ein weiteres Hilfsprogramm
aufgerufen, das die benötigten Daten im Hintergrundspeicher aufsucht und die betreffende Seite
dann in den Hauptspeicher eingibt.
Wird eine Seite im Hauptspeicher nicht mehr benötigt und daher gelöscht, wird auch der Assoziativspeicher
zurückgestellt, um Platz zu machen für Übersetzungen einer neuen, aktiven Seite, d. h. eines neuen
Programms.
Ein beträchtlicher Anteil der nützlichen Arbeitszeit des Prozessors wird dazu benutzt, die Tabellen im
Hauptspeicher sowie die Eintragungen im Assoziativspeicher zu laden und auf dem laufenden Stand zu
halten. Zur Verbesserung dieser Situation trägt die vorliegende Erfindung bei.
In den heute üblichen, konventionellen Datenverarbeitungsanlagen wird der untere Teil (oder irgendein
anderer, besonders ausgewählter Bereich) des Hauptspeichers für wesentliche Teile des Betriebssystems,
u. a. den Ablaufteil (Supervisor), reserviert. Des weiteren sind im unteren Bereich des Hauptspeichers
Warteschlangendaten, festliegende Eingabe-/ Ausgaberoutinen sowie Pufferspeicherbereiche,
eventuell sogar Übergangsbereiche für das Betriebssystem, untergebracht. Bei Verwendung einer virtuellen
Adressierung wurde bisher auch für diesen unteren Bereich für jede Adressierung ein Übersetzungsvorgang
durchgeführt.
Der oben beschriebene Stand der Technik wird in folgenden Veröffentlichungen beschrieben:
1. Ch.T. Gibson »Time-sharing in the IBM System/360
Modell 67«, in der Zeitschrift Proceedings - Spring Joint Computer Conference 1966, Seite 61 bis 78,
2. USA.-Patentschrift 3 533 075,
3. USA.-Patentschrift 3412382.
Die Verwendung eines Assoziativspeichers zur schnellen Adressenumwandlung ist insbesondere in
der USA.-Patentschrift 3412382 gezeigt. Sofern keine entsprechende Adressenumwandlung im Assoziativspeicher
gespeichert ist, muß eine Umwandlung mittels einer Segmenttabelle und einer Seitentabelle
durchgeführt werden. Wenn sich die gewünschte Seite nicht im Hauptspeicher befindet, muß sie von einem
externen Plattenspeicher in den Hauptspeicher übertragen werden.
In den bekannten Einrichtungen muß bei jedem Hauptspeicherzugriff eine Adressenumwandlung
durchgeführt werden.
Es wurde jedoch festgestellt, daß ein erheblicher Anteil des gesamten Aufwandes für Adreßübersetzung
für solche Adressen entsteht, die sich auf den unteren Teil des Hauptspeichers beziehen. In diesem
Bereich ist Information gespeichert, die sehr oft benutzt wird, zum Beispiel der Ablaufteil des Betriebssystems.
Der vorliegenden Erfindung liegt die Aufgabe zugründe,
den Aufwand zu vermindern, der für die Übersetzung virtueller in reelle Adressen benötigt
wird, unter vorteilhafter Anwendung der oben angegebenen Tatsachen.
Diese Aufgabe wird durch die im kennzeichnenden ίο Teil des Hauptanspruches beschriebenen Einrichtungen
gelöst.
Die Erfindung gestattet einen raschen Zugriff zu dem Teil des Hauptspeichers, welcher besondere, oft
benutzte Programme und Daten enthält. Zugleich eris gibt sich aus der Erfindung eine Entlastung des Assoziativspeichers,
da in diesem Speicher keine Adressenumwandlungen mehr zu den genannten, oft benutzten Informationen gespeichert werden müßten.
Es entfällt ja die Notwendigkeit, im Assoziativspeieher Umwandlungen zu Adressen des Kernes des
Hauptspeichers zu speichern. Diese Vorteile bringen zugleich als weiteren Vorteil mit sich, daß nun auch
gespeicherte Umwandlungen weniger oft ersetzt und entsprechende Zugriffe zum Hauptspeicher durchgeführt
werden müssen.
Als Richtwert kann eine Verbesserung von 15 bis 25% der Leistungsfähigkeit zur Adressenübersetzung
genannt werden.
Im folgenden wird ein Ausführungsbeispiel der Erfindung an Hand von Zeichnungen beschrieben. Es
zeigt
F i g. 1 ein Blockdiagramm der für die Übersetzung
virtueller in reelle Adressen benutzten Teile einer Datenverarbeitungsanlage,
Fig. 2A und 2B Ablaufdiagramme zur Veranschaulichung
der Vorgänge bei der Adreßübersetzung.
In F i g. 1 ist ein Teil einer Datenverarbeitungsanlage mit den erfindungsgemäßen Einrichtungen dargestellt.
Die Erfindung ist für viele verschiedene Typen von Datenverarbeitungsanlagen geeignet.
Wenn ein Zugriff zum Hauptspeicher 6 (Fig. 1)
erforderlich ist, gibt der Prozessor 1 eine virtuelle Adresse an den Vergleicher 2 und den Assoziativspeieher
3 ab, und zwar vorzugsweise über ein Virtualadreß-Register 4 und eine Leitung 12.
Der Speicher 3 enthält mehrere Speicherplätze. Jeder gültige Speicherplatzinhalt enthält eine kürzlich
benutzte Virtualadresse und die zugeordnete Realadresse.
Das Register 5 enthält einen Grenzwert, der den höherwertigen Bits (Seitenadresse) derjenigen
Hauptspeicheradresse entspricht, bis zu der die virtuellen Adressen mit den zugehörigen reellen Adressen
identisch sind. Wenn eine Seite beispielsweise 4096 Bytes umfaßt, brauchen die zwölf niedrigen Bits der
Grenzadresse nicht im Register 5 gespeichert zu werden. Eine Segmenttabelle 7 und Seitentabellen 8-1 bis
8-N sind im Hauptspeicher 6 vorhanden. Die Tabelle 7 enthält für jedes der N Segmente des virtuellen
Speichers im Plattenspeicher 9 je einen Eintrag. Jeder Eintrag enthält einen Adreßzeiger, der den Beginn
einer zugeordneten Seitentabelle (8-1 bis 8-N) angibt. Jede Seitentabelle enthält mehrere Einträge, und zwar
je einen für diejenigen Seiten des zugehörigen Segments, die vom Magnetplattenspeicher 9 in den
Hauptspeicher 6 übertragen wurden. Jeder gültige Tabelleneintrag enthält einen Zeiger, der auf den Be-
ginn einer Seite im Hauptspeicher 6 hinweist.
Wenn ein Aktivsignal (F<Grenzwert) auf der
Ausgangsleitung 10 des Vergleichers 2 erscheint, wird das UND-Glied 13 freigegeben, um die virtuelle
Adresse von der Leitung 12 direkt zum Speicheradressenregister 14 des Hauptspeichers 6 zu übertragen.
Dies ist dann der Fall, wenn die hohen Bits der vom Prozessor 1 abgegebenen Adresse einen kleineren
Wert darstellen als der im Register 5 enthaltene Grenzwert. Das Aktivsignal auf Ausgangsleitung 10
aktiviert außerdem das Inhibitionsglied 15 in der Weise, daß keine reelle Adresse vom Speicher 3 an
das Register 14 abgegeben wird, weil keine Adreß-Übersetzung erforderlich ist.
Wenn Aktivsignale auf den Leitungen 17 und 18 zu den Eingängen des UND-Gliedes 16 vorliegen,
wird der Prozessor 1 veranlaßt, einen Suchvorgang in den Tabellen 7 und 8-1 bis 8-iVzu beginnen. Aktivsignale
werden dann vom Vergleicher 2 und vom Assoziativspeicher 3 auf die Leitungen 17 und 18 gegeben,
wenn die im Register 4 befindliche virtuelle Adresse größer als oder gleich groß wie der Grenzwert im Register
5 ist ( F<Grenzwert), und wenn sie außerdem nicht im Assoziativspeicher 3 gefunden wird.
Eine Einheit 20 zum Feststellen der am längsten unbenutzten Adresse (LUA) hält die Reihenfolge
fest, in der Adressen, welche im Speicher 3 enthalten sind, benutzt wurden. Die Konstruktion einer solchen
Einrichtung gehört zum Stand der Technik. Die Einheit 20 gibt diejenige virtuelle und zugehörige reelle
Adresse an, welche im Assoziativspeicher 3 ersetzt werden, wenn ein weiterer Eintrag eingegeben werden
soll.
In der USA.-Patentschrift 3412382 ist im Detail ein konventionelles Verfahren beschrieben zum Absuchen
eines Assoziativspeichers für schnelle Adreß-Übersetzung, zum Absuchen von Segment- und Seitentabellen
zur etwas langsameren Adreß-Übersetzung, und schließlich zum Übertragen einer Seite mit
den geforderten Daten aus dem Magnetplattenspeicher, wenn diese nicht im reellen Speicher (Hauptspeicher)
vorgefunden wurden.
Aus diesem Grunde werden die Ablaufdiagramme der Fig. 2 A und 2B nur kurz erläutert, um die Situation
aufzuzeigen, für welche die vorliegende Erfindung eine Verbesserung bringt.
Die Schritte 100 bis 102 stellen die mit Fig. 1 beschriebenen
Operationen dar. Die vom Prozessor gelieferte virtuelle Adresse wird mit dem Grenzwert im
Grenzwertregister verglichen. Falls die virtuelle Adresse kleiner als der Grenzwert ist, wird die virtuelle
Adresse direkt für den Zugriff im Hauptspeicher 6 benutzt. Wenn die virtuelle Adresse größer als oder
gleich groß wie der Grenzwert ist, wird die virtuelle Adresse als Suchargument für den Assoziativspeicher
3 benutzt. Es erfolgt ein Suchvorgang, um festzustellen, ob der Assoziativspeicher diese virtuelle
Adresse und die ihr zugeordnete reelle Adresse enthält. Wenn die virtuelle Adresse im Assoziativspeicher
gefunden wird, dann wird die zugehörige reelle Adresse ausgelesen und für den Zugriff zum Hauptspeicher
benutzt. Wenn die virtuelle Adresse nicht im Assoziativspeicher gefunden wird, dann erfolgt ein
Übergang zum Schritt 103.
In den Schritten 103,104 untersucht der Prozessor
die Tabellen 7 und 8-1 bis S-N, z. B. durch ein Mikroprogramm, um die benötigte reelle Adresse in den
Tabellen aufzufinden. Falls die betreffende Seite sich im Hauptspeicher befindet, wird die zugehörige reelle
Adresse mit Hilfe einer der Tabellen 8-1 bis S-N gefunden. Das Gültigkeitsbit in der Seitentabelle wird
überprüft, um festzustellen, ob der Eintrag für diese virtuelle Adresse gültig ist oder nicht, d. h., ob sich
die Seite im Hauptspeicher befindet und für den Prozessor zur Verfügung steht. Wenn der Eintrag nicht
gültig ist, wird zum Schritt 106 übergegangen.
Im hier dargestellten Ausführungsbeispiel enthält
Im hier dargestellten Ausführungsbeispiel enthält
ίο jede virtuelle Adresse einen Segmentteil, das sind die
höchsten Bits; einen Seitenteil, das sind die mittleren Bits; und einen Wort- oder Byteteil, das sind die niedersten
Bits. Der Segmentteil der virtuellen Adresse wird mit einem Segmenttabellen-Anfangszeiger (in
einem Register gespeichert, hier nicht gezeigt) kombiniert, um den gewünschten Eintrag in Tabelle 7 aufzufinden.
Der Seitenteil der virtuellen Adresse wird zusammen mit dem - als Ergebnis der Schritte 103
und 104 - aus der Tabelle 7 gelesenen Eintrag benutzt, um den benötigten Eintrag in einer der Tabellen
8-1 bis S-N aufzufinden. Die aus dem gefundenen Eintrag entnommenen Daten werden mit dem Wortteil
der virtuellen Adresse kombiniert, um die erforderliche reelle Adresse zu bilden. Dieses Verfahren
sowie die dafür benötigten Einrichtungen sind allgemein bekannt.
Wenn die Seite gültig ist, erfolgt ein Übergang zu Schritt 105, in welchem die virtuelle und die zugehörige
reelle Adresse unter Mitwirkung der LUA-Einheit 20 in den Speicher 3 geladen werden. Mit Hilfe
des Assoziativspeichers 3 kann nunmehr ein Zugriff zum Hauptspeicher erfolgen.
Mit dem Übergang zum Schritt 106 wird die gerätemäßige Verarbeitung beendet durch Einspeichern der
virtuellen Adresse in einen vorbestimmten Platz des Kernteils des Speichers 6. Das Abspeichern der laufenden
Befehlsadresse zur späteren Wiederverwendung beendet die Bearbeitung des laufenden Befehls.
Nun wählt der Prozessor eine neue Befehlsadresse aus einem anderen, vorherbestimmten Bereich, und er
beginnt die Ausführung des neuen Befehls mit Schritt 107.
Im Schritt 107 wird diejenige Seite im Hauptspeicher 6 ausgewählt, die ersetzt werden soll. Der Inhalt
der betreffenden Seite wird ungültig gemacht, indem in ihrem Eintrag in der Seitentabelle das Gültigkeitsbit
auf den Wert für »ungültig« gesetzt wird. Dann wird eine Eingabe/Ausgabe-Operation eingeleitet, um
neue Daten in den betreffenden Bereich des Haupt-
Speichers 6 einzulesen. Daraufhin erfolgt der Übergang zu den Schritten 108 und 109, in denen ein
Löschbefehl ausgegeben wird, durch den der gesamte Inhalt des Assoziativspeichers 3 auf Null gesetzt wird;
das ist wegen des Ungültigwerdens der zu ersetzenden Seite erforderlich.
Nach Schritt 109, oder nach Schritt 112, wird im gewählten Ausführungsbeispiel ins Grenzwertregister
5 der jeweils gültige Grenzwert eingegeben. Hierzu wird entweder ein vorbestimmter Wert aus einem
Speicher entnommen, oder die Seitentabellen werden durchgeprüft (siehe weiter unten). Wenn ein
vorherbestimmter Wert benutzt wird, so kann er zur Zeit der Systemgenerierung mit eingegeben werden,
oder er kann vom Operateur beim Systemstart eingegeben werden.
Die E/A-Operation zum Eingeben der neuen Seite wird im Schritt 111 durchgeführt; die entsprechende
reelle Adresse wird im Schritt 112 in die Seitentabelle
eingesetzt und gültig gemacht.
Die Befehlsadresse, die im Schritt 106 weggespeichert wurde, wird durch den Befehl »PSW laden« wieder
in den Prozessor eingegeben, und die Verarbeitung beginnt wieder beim Schritt 100.
Wenn man davon ausgeht, daß die Anlage im MuI-tiprogramm-Betrieb
arbeitet, kann man annehmen, daß der Prozessor zwischen den oben beschriebenen Schritten noch andere Arbeiten ausführt.
Die Schritte 114 und 115 stellen eine Mikroprogrammschleife zur Bestimmung des jeweiligen Grenzwertes
dar, die ein Durchprüfen der Seitentabellen bei der virtuellen Adresse Null beginnt. Die zugeordnete
reelle Adresse wird ausgelesen und mit der virtuellen Adresse verglichen. Wenn die beiden gleich sind,
wird die virtuelle Adresse um einen Wert vergrößert, welcher der Seitengröße entspricht, und die Mikrbprogrammschleife
wird wieder ausgeführt; es wird also die nächste virtuelle Adresse mit der dazu eingetragenen
reellen Adresse verglichen. Diese Operation wird so oft wiederholt, bis die virtuelle und die zugeordnete
reelle Adresse nicht mehr gleich sind oder die Kapazitätsgrenze des Grenzwertregisters 5 erreicht ist.
Im Schritt 116 wird die höchste (also die letzte) virtuelle Adresse, die in den Schritten 114 und 115
erzeugt wurde, als Grenzwert in das Grenzwertregister eingesetzt, um die Kerngrenze im Hauptspeicher
6 anzugeben.
Normalerweise werden die Schritte 107,108, 111, 112 und 113 (eventuell auch 110) als Programmschritte
ausgeführt.
Zusammenfassend läßt sich die Erfindung wie folg beschreiben:
Es ist ein Register vorgesehen, in welchem dv
hochwertigen Bits der Adresse einer bestimmten Be reichsgrenze im Hauptspeicher gespeichert werden
Die vom Prozessor angebotene virtuelle Seitenadressi kann direkt in das Speicheradressenregister de
Hauptspeichers eingelesen werden, wenn diese virtu
ίο eile Adresse unterhalb der genannten Grenze liegi
Im anderen Fall muß eine Adressenumwandlun durchgeführt werden. Die vom Prozessor geliefert
virtuelle Adresse wird zur gleichen Zeit dem Assozia tivspeicher angeboten, um festzustellen, ob darin ein
umgewandelte reelle Adresse gespeichert ist. Di hochwertigen Bits der virtuellen Adresse werden zu
selben Zeit mit den im Grenzwertregister gespeicher ten Bits verglichen. Liegt die virtuelle Adresse unter
halb des Grenzwertes, wird die virtuelle Adresse i
ao das Hauptspeicheradressenregister für einen Zugrii
zum Hauptspeicher eingelesen. In diesem Fall wir die Übertragung einer eventuell aus dem Assoziativ
speicher ausgelesenen reellen Adresse in das Spei cheradressenregister inhibiert.
Wenn jedoch die gegebene virtuelle Adresse gleic oder größer ist dem im Grenzwertregister gespeichei
ten Wert, wird die Funktion des Assoziativspeicher nicht behindert und kann somit die eventuell dari
gespeicherte reelle Adresse zum Zugriff zum Haupi speicher verwendet werden.
Hierzu 1 Blatt Zeichnungen
309 582/2;
Claims (1)
- Patetitansprüche:1. Datenverarbeitungsanlage mit virtueller Adressierung, in der Einrichtungen vorgesehen sind, um gegebene virtuelle Adressen in reelle Adressen umzuwandeln, gekennzeichnet durch folgende Einrichtungen:a) ein Register (5) zur Speicherung einer Grenzwertadresse eines speziellen Haupt-Speicherbereiches (KERN), in dem virtuelle Adressen mit reellen Adressen übereinstimmen;b) eine Vergleichseinrichtung (2) zum Vergleich der jeweils für einen Speicherzugriff *5 gegebenen Adresse mit der Grenzwertadresse im Register (5);c) Torschaltungen (13, 15), welche von der Vergleichseinrichtung gesteuert werden und welche die virtuelle Adresse an Adressier- so schaltungen (14) des Hauptspeichers (6) weiterleiten, wenn die virtuelle Adresse innerhalb des speziellen Hauptspeicherbereiches liegt, und welche anderenfalls die umgewandelte reelle Adresse weiterleiten. *5Z.Datenverarbeitungsanlage nach Anspruch 1, worin die Adressen-Umwandlungseinrichtung Tabellen im Hauptspeicher und ejnen schnellen • Assoziativspeicher zur Speicherung der zuletzt benutzten Umwandlungen enthält, dadurch gekennzeichnet, daß ein Teil (15) der Torschaltungen zwischen den Assoziativspeicher (3) und die Adressierschaltungen (14) geschaltet ist.3. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß im speziellen Hauptspeicherbereich (KERN) häufig benutzte Programm- und/oder Dateninformationen gespeichert sind.4. Datenverarbeitungsanlage nach Anspruch 2, gekennzeichnet durch eine von der Vergleichsein- *o richtung (2) gesteuerte Torschaltung (16), welche einen Tabellensuchvorgang einleitet, wenn die gegebene virtuelle Adresse nicht innerhalb des speziellen Hauptspeicherbereichs liegt und keine entsprechende Adressenumwandlung im schnellen Assoziativspeicher (3) gespeichert ist.5. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß im Register (5) zur Speicherung der Grenzwertadresse nur die hochwertigen Adressenbits der Grenzadresse, oberhalb der eine Adressenumwandlung durchgeführt werden" muß, gespeichert sind und nur diese Bits mit den entsprechenden Bits der gegebenen virtuellen Adresse verglichen werden.55
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27404072A | 1972-07-21 | 1972-07-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2331394B1 true DE2331394B1 (de) | 1974-01-10 |
DE2331394A1 DE2331394A1 (de) | 1974-01-10 |
Family
ID=23046519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19732331394 Pending DE2331394B1 (de) | 1972-07-21 | 1973-06-20 | Datenverarbeitungsanlage mit virtueller adressierung |
Country Status (19)
Country | Link |
---|---|
JP (1) | JPS5444175B2 (de) |
AR (1) | AR204699A1 (de) |
AU (1) | AU472173B2 (de) |
BG (1) | BG28079A3 (de) |
BR (1) | BR7305500D0 (de) |
CA (1) | CA985789A (de) |
CH (1) | CH550437A (de) |
DD (1) | DD106911A5 (de) |
DE (1) | DE2331394B1 (de) |
ES (1) | ES416400A1 (de) |
FR (1) | FR2194328A5 (de) |
GB (1) | GB1429850A (de) |
HU (1) | HU170278B (de) |
IT (1) | IT1003084B (de) |
NL (1) | NL7309695A (de) |
PL (1) | PL100121B1 (de) |
RO (1) | RO72464A (de) |
SU (1) | SU784814A3 (de) |
YU (1) | YU35688B (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5171648A (de) * | 1974-12-18 | 1976-06-21 | Panafacom Ltd | |
JPS5275931A (en) * | 1975-12-22 | 1977-06-25 | Oki Electric Ind Co Ltd | Memory address extension mechanism for information processing unit |
JPS5821305B2 (ja) * | 1976-05-31 | 1983-04-28 | 横河電機株式会社 | 計算機 |
JPS5821307B2 (ja) * | 1976-09-14 | 1983-04-28 | 横河電機株式会社 | アドレス変換機能を持つたデ−タ処理装置 |
JPS5821306B2 (ja) * | 1976-09-14 | 1983-04-28 | 横河電機株式会社 | アドレス変換機能を持つたデ−タ処理装置 |
JPS5435638A (en) * | 1977-08-25 | 1979-03-15 | Toshiba Corp | Address converter |
JPS5435637A (en) * | 1977-08-25 | 1979-03-15 | Toshiba Corp | Address conversion system |
DE2842288A1 (de) * | 1978-09-28 | 1980-04-17 | Siemens Ag | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher |
-
1973
- 1973-01-01 AR AR24920373A patent/AR204699A1/es active
- 1973-05-25 IT IT2457473A patent/IT1003084B/it active
- 1973-06-15 GB GB2863073A patent/GB1429850A/en not_active Expired
- 1973-06-20 SU SU731947680A patent/SU784814A3/ru active
- 1973-06-20 DE DE19732331394 patent/DE2331394B1/de active Pending
- 1973-06-22 CA CA174,808A patent/CA985789A/en not_active Expired
- 1973-06-25 AU AU57307/73A patent/AU472173B2/en not_active Expired
- 1973-06-26 JP JP7139873A patent/JPS5444175B2/ja not_active Expired
- 1973-06-27 CH CH939573A patent/CH550437A/de not_active IP Right Cessation
- 1973-06-28 ES ES416400A patent/ES416400A1/es not_active Expired
- 1973-06-29 YU YU177573A patent/YU35688B/xx unknown
- 1973-07-12 NL NL7309695A patent/NL7309695A/xx not_active Application Discontinuation
- 1973-07-12 FR FR7326406A patent/FR2194328A5/fr not_active Expired
- 1973-07-17 BG BG024124A patent/BG28079A3/xx unknown
- 1973-07-18 RO RO7375508A patent/RO72464A/ro unknown
- 1973-07-19 DD DD17242573A patent/DD106911A5/xx unknown
- 1973-07-19 PL PL16417773A patent/PL100121B1/pl unknown
- 1973-07-20 BR BR550073A patent/BR7305500D0/pt unknown
- 1973-07-20 HU HUIE000581 patent/HU170278B/hu unknown
Also Published As
Publication number | Publication date |
---|---|
CA985789A (en) | 1976-03-16 |
AR204699A1 (es) | 1976-02-27 |
HU170278B (de) | 1977-05-28 |
YU177573A (en) | 1980-10-31 |
BR7305500D0 (pt) | 1974-08-22 |
RO72464A (ro) | 1981-06-26 |
JPS5444175B2 (de) | 1979-12-24 |
YU35688B (en) | 1981-04-30 |
IT1003084B (it) | 1976-06-10 |
NL7309695A (de) | 1974-01-23 |
CH550437A (de) | 1974-06-14 |
AU472173B2 (en) | 1976-05-20 |
AU5730773A (en) | 1975-01-09 |
PL100121B1 (pl) | 1978-09-30 |
ES416400A1 (es) | 1976-02-16 |
FR2194328A5 (de) | 1974-02-22 |
GB1429850A (en) | 1976-03-31 |
DE2331394A1 (de) | 1974-01-10 |
JPS4953338A (de) | 1974-05-23 |
BG28079A3 (en) | 1980-02-25 |
DD106911A5 (de) | 1974-07-05 |
SU784814A3 (ru) | 1980-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3151745C2 (de) | ||
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE1951552C3 (de) | Speichereinrichtung mit Sicherung durch Schutzschlüssel | |
DE3751540T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung. | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2926589A1 (de) | Anordnung zur verlaengerung einer logischen computeradresse | |
DE2455047A1 (de) | Datenverarbeitungssystem | |
DE1499193B2 (de) | Speicher-adressierschaltung | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE4022885C2 (de) | Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2424810A1 (de) | Datenverarbeitungsanlage, insbesondere kleine mikroprogramm-datenverarbeitungsanlage mit mehrsilbenmikrobefehlen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2218839B2 (de) | Einrichtung zur Zuteilung von Speicheradressen zu einer Gruppe von Datenelementen | |
DE2926351A1 (de) | Look-ahead-speicheradressen- steuereinrichtung | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2331394B1 (de) | Datenverarbeitungsanlage mit virtueller adressierung | |
DE3031964A1 (de) | Rechnersystem, bei dem sich der programmspeicher zum durchlaufen eignet, wobei einem befehl nicht zugeordnete daten einzeln detektiert werden | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2349590A1 (de) | Vorrichtung zur datenverarbeitung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B1 | Publication of the examined application without previous publication of unexamined application |