DE2331394B1 - Datenverarbeitungsanlage mit virtueller adressierung - Google Patents

Datenverarbeitungsanlage mit virtueller adressierung

Info

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
Application number
DE19732331394
Other languages
English (en)
Other versions
DE2331394A1 (de
Inventor
Warren John Berkshire; Larson Lawrence Edward Vestal; N.Y. Kelley (V.StA.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2331394B1 publication Critical patent/DE2331394B1/de
Publication of DE2331394A1 publication Critical patent/DE2331394A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address 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)

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
ίο 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)

  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. *5
    Z.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
DE19732331394 1972-07-21 1973-06-20 Datenverarbeitungsanlage mit virtueller adressierung Pending DE2331394B1 (de)

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)

* Cited by examiner, † Cited by third party
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 横河電機株式会社 計算機
JPS5821306B2 (ja) * 1976-09-14 1983-04-28 横河電機株式会社 アドレス変換機能を持つたデ−タ処理装置
JPS5821307B2 (ja) * 1976-09-14 1983-04-28 横河電機株式会社 アドレス変換機能を持つたデ−タ処理装置
JPS5435637A (en) * 1977-08-25 1979-03-15 Toshiba Corp Address conversion system
JPS5435638A (en) * 1977-08-25 1979-03-15 Toshiba Corp Address converter
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher

Also Published As

Publication number Publication date
AU5730773A (en) 1975-01-09
AU472173B2 (en) 1976-05-20
SU784814A3 (ru) 1980-11-30
PL100121B1 (pl) 1978-09-30
IT1003084B (it) 1976-06-10
HU170278B (de) 1977-05-28
GB1429850A (en) 1976-03-31
NL7309695A (de) 1974-01-23
JPS5444175B2 (de) 1979-12-24
AR204699A1 (es) 1976-02-27
RO72464A (ro) 1981-06-26
BG28079A3 (en) 1980-02-25
FR2194328A5 (de) 1974-02-22
YU35688B (en) 1981-04-30
JPS4953338A (de) 1974-05-23
ES416400A1 (es) 1976-02-16
CH550437A (de) 1974-06-14
DE2331394A1 (de) 1974-01-10
DD106911A5 (de) 1974-07-05
YU177573A (en) 1980-10-31
BR7305500D0 (pt) 1974-08-22
CA985789A (en) 1976-03-16

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
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2926589A1 (de) Anordnung zur verlaengerung einer logischen computeradresse
DE2455047A1 (de) Datenverarbeitungssystem
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE1499193B2 (de) Speicher-adressierschaltung
DE2431379B2 (de) Datenverarbeitungseinrichtung
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2424810A1 (de) Datenverarbeitungsanlage, insbesondere kleine mikroprogramm-datenverarbeitungsanlage mit mehrsilbenmikrobefehlen
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE2218839C3 (de) Einrichtung zur Zuteilung von Speicheradressen zu einer Gruppe von Datenelementen
DE1499206B2 (de) Rechenanlage
DE3338329C2 (de)
DE2926351A1 (de) Look-ahead-speicheradressen- steuereinrichtung
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