DE2726488A1 - Adressenuebersetzungseinrichtung - Google Patents
AdressenuebersetzungseinrichtungInfo
- Publication number
- DE2726488A1 DE2726488A1 DE19772726488 DE2726488A DE2726488A1 DE 2726488 A1 DE2726488 A1 DE 2726488A1 DE 19772726488 DE19772726488 DE 19772726488 DE 2726488 A DE2726488 A DE 2726488A DE 2726488 A1 DE2726488 A1 DE 2726488A1
- Authority
- DE
- Germany
- Prior art keywords
- translation
- counter
- address
- erasure
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- 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/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29L—INDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
- B29L2030/00—Pneumatic or solid tyres or parts thereof
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
Böblingen, den 8. Juni 1977 lw-se/fr
Anmelderin:
International Business Machines Corporation, ?rmonk, N.Y. 10504
Amtliches Aktenzeichen:
Meuanmeldung
Aktenzeichen der Anmelderin:
975 038
Vertreter:
Patentassessor
Dipl.-Ing. L. Lewit
Dipl.-Ing. L. Lewit
7030 Böblingen
Bezeichnung:
ΓdressenübersetZungseinrichtung
709852/0856
Die Erfindung betrifft eine Adressenübersetzungseinrichtung gemäß dem Oberbegriff des Anspruchs 1.
In der Datenverarbeitungstechnik sind zahlreiche Verfahren bekannt, wobei entweder eine zentrale Verarbeitungseinheit
oder deren mehrere gleichzeitig mehrere Programme ausführen und dabei eine gemeinsame Speichereinrichtung benutzen.
Ein solcher Art verwendeter Speicher verlangt einen außerordentlich großen Adressenraum oder Speicherkapazität,
eine Kapazität, die oft die Speicherkapazität des Hauptspeichers der Anlage um ein mehrfaches übertrifft.
Um mit dieser Situation fertig zu werden, benutzt man das Prinzip des "virtuellen Speichers". Wenn beispielsweise
eine 24-stellige Adresse verwendet wird, dann können
24
2 oder etwa 16 Millionen Bytes des virtuellen Speichers angesteuert werden. Zur Erleichterung der Verwaltung des virtuellen Speichers verwendet man zweckmäßig ein zweistufiges Verfahren und unterteilt dementsprechend den Speicherraum in Abschnitte, die man Segmente nennt, die wiederum in andere Abschnitte unterteilt werden, welche man Seiten nennt. Jede Seite besteht aus einer bestimmten festen Anzahl von Bytes. Die Adressen des virtuellen Speichers, die Segmente und Seiten bezeichnen, sind willkürlich gewählte Bezeichnungen des Computerprogramms und deshalb keine realen Speicherstellen im Hauptspeicher. Deshalb können solche virtuelle Segmente und Seiten irgendwo in der Speichereinrichtung gespeichert sein. Je nach Bedarf werden die Seiten zwischen dem Hauptspeicher und einem externen Speicher ausgetauscht.
2 oder etwa 16 Millionen Bytes des virtuellen Speichers angesteuert werden. Zur Erleichterung der Verwaltung des virtuellen Speichers verwendet man zweckmäßig ein zweistufiges Verfahren und unterteilt dementsprechend den Speicherraum in Abschnitte, die man Segmente nennt, die wiederum in andere Abschnitte unterteilt werden, welche man Seiten nennt. Jede Seite besteht aus einer bestimmten festen Anzahl von Bytes. Die Adressen des virtuellen Speichers, die Segmente und Seiten bezeichnen, sind willkürlich gewählte Bezeichnungen des Computerprogramms und deshalb keine realen Speicherstellen im Hauptspeicher. Deshalb können solche virtuelle Segmente und Seiten irgendwo in der Speichereinrichtung gespeichert sein. Je nach Bedarf werden die Seiten zwischen dem Hauptspeicher und einem externen Speicher ausgetauscht.
Die willkürliche Unterbringung von Segmenten und Seiten im Hauptspeicher erfordert die übersetzung virtueller
Adressen in Realadressen, wobei Gruppen von übersetzungstabellen
gebraucht werden, die ebenfalls im Hauptspeicher
PO 975 038
709857/0856
-Jr-
untergebracht sind. Jede Gruppe besteht aus einer Segmenttabelle und einer Anzahl von zugehörigen Seitentabellen.
Jede Seitentabelle enthält die Adressen der realen Speicherstellen aller Seiten eines Segmentes der Segmenttabelle.
Jede spezielle Segmenttabelle ist deshalb beispielsweise in 16 Abschnitte gegliedert, weshalb bei solchen Übersetzungstabellen
für die Übersetzung einer Adresse dann eine Segmenttabelle und 16 Seitentabellen erforderlich
sind.
Für eine Übersetzung wird die entsprechende Gruppe von
Umwandlungstabellen ausgewählt, und die Segmenttabelle in dieser Gruppe wird benutzt, um die Speicherstelle der
Seitentabellen im Hauptspeicher zu finden. Die richtige Seitentabelle wird dann benutzt, um die reale Speicherstelle
der adressierten Seite zu finden. Die werthöchsten Stellen der virtuellen Adresse ergeben die Segmentnummer
und die Seitennummer. Die wertniedrigen Stellen der Adresse ergeben die Byteadresse in der Seite. Nach der übersetzung
wird deshalb dieser Teil der Adresse mit der ermittelten realen Adresse verkettet, um den Zugriff zur
endgültigen Speicherstelle zu ermöglichen.
Um zu vermeiden, daß bei jedem Speicherzugriff immer erst
die virtuelle Adresse übersetzt werden muß, werden laufend die aktuellen Übersetzungen von virtuellen Adressen in
reale Adressen in einer anderen, rasch zugreifbaren Tabelle zwischengespeichert, welche Übersetzungsnebentabelle
(DLAT "Directory Look Aside Table") genannt wird. Dort kann für eine virtuelle Adresse die korrespondierende
reale Adresse erhalten werden, ohne erst den beschriebenen mehrstufigen Übersetzungsprozeß durchlaufen zu müssen.
Der Gebrauch einer solchen Übersetzungsnebentabelle vermindert daher merklich die Anzahl der Übersetzungen, die
mit Hilfe der Tabellen im Hauptspeicher durchgeführt wer-
PO 975 038
7 0 9 B c> ? ι 0 8 S 6
— /δ —
den müssen und verbessert so die Leistung des virtuellen Speichersystems beträchtlich.
Um die in der Ubersetzungsnebentabelle gespeicherten Übersetzungen
von Adressen zu erhalten, werden mehrere Gruppen von Ubersetzungstabellen verwendet. Es könnte daher, z.B.
bei einem Gruppenwechsel, der Fall eintreten, daß eine unzutreffende übersetzung aus der Übersetzungsnebentabelle
ausgewählt wird. Um sicherzustellen, daß die für die Ableitung der in der Übersetzungsnebentabelle gespeicherten
realen Adressen verwendete Übersetzungstabelle auch dieselbe ist, die für die gewünschten Daten maßgebend ist,
gibt es verschiedene Lösungen. Ein Lösungsvorschlag ist in der DT-AS 2 346 525 beschrieben. Danach wird mit jeder
Übersetzung in der Ubersetzungsnebentabelle auch ein Bezeichner
gespeichert. Dieser Bezeichner gibt die Gruppe von Übersetzungstabellen an, die für die übersetzung benutzt
wurde. Wenn die Ubersetzungsnebentabelle abgefragt wird, wird dieser gespeicherte Bezeichner mit einem Bezeichner
verglichen, der für die gerade angeforderte virtuelle Adresse erzeugt wird. Wenn beide Bezeichner übereinstimmen,
darf die in der Ubersetzungsnebentabelle gespeicherte Übersetzung benutzt werden. Bei festgestellter
Nicht-Übereinstimmung muß eine neue Übersetzung ausgeführt werden, wobei die Gruppe von Übersetzungstabellen im Hauptspeicher
zu benutzen ist, die zu der gerade angefragten Adresse gehört. Dieser Bezeichner kann außerdem benutzt
werden, um zwischen virtuellen Adressen zu unterscheiden, die zu Seiten und Segmenten unterschiedlicher Größe gehören.
Weiterhin kann der Bezeichner für eine Anzeige benutzt werden, daß anstelle einer virtuellen Adresse eine
reale Adresse gerade verwendet wird.
Ein weiterer Fall, wo eine unrichtige übersetzung verwendet
werden könnte, besteht dann, wenn aus irgend einem Grunde
PO 975 038
7098ς?/0856
27264
die Eintragungen in der Übersetzungsnebentabelle ungültig sind. Dann muß durch eine Ungültigkeitsinstruktion die
Übersetzungsnebentabelle gelöscht oder geräumt werden. Eine Lösung zum Löschen der Übersetzungsnebentabelle besteht
darin, Ungültigkeitsbits mit jeder übersetzung mitzuspeichern. Wenn eine Ungültigkeitsinstruktion erhalten
wird, werden diese Bits zurückgesetzt, um anzuzeigen, daß die Übersetzung ungültig ist. Dies beansprucht jedoch viel
Zeit. Jedesmal, wenn von der Speichereinrichtung eine Ungültigkeitsinstruktion empfangen wird, müssen nämlich zum
Einstellen aler Ungültigkeitsbits alle Eintragungen nacheinander ausgelesen und anschließend in die Übersetzungsnebentabelle
wieder zurückgeschrieben werden. Dies ist ein sehr langsames Verfahren.
Es ist daher Aufgabe der Erfindung, in einer Adressenübersetzungseinrichtung
der oben geschilderten Art die Verwendung von ungültigen Eintragungen zu verhindern.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen
des Hauptanspruches beschriebenen Merkmale gelöst.
Die Erfindung benutzt demgemäß eine Zähleinrichtung, und jedesmal, wenn eine neue Übersetzung in die Übersetzungsnebentabelle
gespeichert wird, wird gleichzeitig mit der Adressenübersetzung in der betreffenden Zeile des Löschzahlspeichers
der Zählerstand des Zählers gespeichert. Wenn die Übersetzungsnebentabelle eine Ungültigkeitsinstruktion erhält, wird der Zähler um einen Schritt fortgeschaltet,
so daß nach dem Erhalt der Ungültigkeitsinstruktion eine neue Löschzahl mit den weiteren Übersetzungen
gespeichert wird. Wenn aus der Übersetzungsnebentabelle eine Übersetzung ausgelesen wird, dann wird die
gleichzeitig mit der Übersetzung gespeicherte Zahl mit dem aktuellen Zählerstand des Zählers verglichen. Wenn
PO 975 038
7090!-7/08FiB
keine Übereinstimmung besteht, wird ein entsprechendes Signal erzeugt, das angibt, daß die in der Ubersetzungsnebentabelle
gespeicherte Übersetzung ungültig ist. Im Falle der Übereinstimmung wird ein Übereinstimmungssignal
erzeugt, und die gespeicherte übersetzung darf benutzt werden.
Dadurch, daß erfindungsgemäß die Ubersetzungsnebentabelle
bei Empfang einer Ungültigkeitsinstruktion nur bei jedem Überlauf des Löschzählers gelöscht werden muß, entfällt
das bisherige zeitraubende Auslesen der Eintragungen zum Einstellen des Ungültigkeitsbits und das Wiedereinlesen
beinahe vollständig. Der hiedurch erzielte Zeitgewinn ist beträchtlich.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen
zu entnehmen.
Ein Ausführungsbeispiel der Erfindung ist im folgenden beschrieben
und wird anhand der Zeichnung näher erläutert.
Das Blockdiagramm zeigt den Speicher der Übersetzungsnebentabelle 46, welcher korrespondierende Paare von
kürzlich übersetzten virtuellen Adressen und der zugehörigen realen Adresse enthält, so wie es in der oben genannten
Patentschrift beschrieben ist. Großenteils entspricht daher die Figur der Fig. 6b der oben genannten Patentschrift.
Neu ist jedoch der zusätzliche Löschzahlspeicher, das Feld 46a der Breite W, das eine Anzahl W von zusätzlichen Bits
aufzunehmen vermag. Die Eingangssignale für das zusätzliche Feld 46a sind der Stand eines Löschungszählers 84,
dessen Ausgang 82 mit dem Eingang des Feldes 46a verbunden ist. Wenn jetzt zum Speichern von Ubersetzungsdaten die
Po 975 038
709857/08R6
- Ja -
Übersetzungsnebentabelle 46 von einer virtuellen Adresse
angesteuert wird, welche die Zentraleinheit einer datenverarbeitenden Anlage über eine Sammelleitung 44 geliefert
hat und die von einer Leitung 80 von einem Mischcodierer an den Adressendecodierer geliefert wird, dann wird gleichzeitig
mit den einzugebenden Daten für die Übersetzung der Stand des Löschungszählers 84 abgelesen und in das zusätzliche
Feld 46a gebracht. Auf diese Weise wird jede übersetzung in der Nebentabelle begleitet von einem W Bits
breiten Feld von Zahlen aus dem Löschungszähler 84.
Der Löschungszähler wird bei einem Zählerstand Null in Gang gesetzt, und die erste in die Nebentabelle eingetragene
Adressenübersetzung wird zusammen mit dem Zählerstand Null gespeichert. Nachfolgende Übersetzungen werden ebenfalls
mit einem Zählerstand Null in dem zusätzlichen Feld gespeichert, bis von der datenverarbeitenden Einrichtung
eine Ungültigkeitsinstruktion, d.h. ein Löschbefehl, geliefert wird. In diesem Falle schaltet ein Impulsgenerator
86 den Stand des Löschungszählers 84 um einen Schritt weiter. Jeder folgende Eintrag in die Übersetzungsnebentabelle
wird dann von der Zahl Eins begleitet bis der Zählerstand beim Auftreten de nächsten Löschbefehls wiederum
weitergeschaltet wird. Die Eintragungen in die Nebentabelle erfolgen weiter in gleicher Wiese, bis die
Kapazität des Zählers erreicht ist und der Löschungszähler überfließt. Jeder erhaltene Löschbefehl bewirkt, daß alle
nächstfolgenden Übersetzungen zusammen mit einer um Eins erhöhten Löschzahl gespeichert werden.
Wenn eine übersetzung aus der Nebentabelle 46 ausgelesen
wird, dann wird gleichzeitig auch der dazugehörige Zählerstand im Feld 46a ausgelesen. Der ausgelesene Zählerstand
wird in eine Vergleichsschaltung 88 eingegeben und mit dem
PO 975 038
7098^7/08 8
aktuellen Zählerstand des Löschungszählers 84 verglichen. Wenn beide Zählerstände übereinstimmen, wird ein entsprechendes
Übereinstimmungssignal an die UND-Glieder 90 geliefert zusammen mit Ausgangssignalen von Vergleicherschaltungen
52, welche die virtuelle Adresse und die Bezeichnerbits der in der Nebentabelle 46 gespeicherten übersetzung mit entsprechenden
Teilen der virtuellen Adresse vergleichen, wie sie von der datenverarbeitenden Anlage geliefert wird. Wenn ein
Vergleichssignal am Ausgang der Vergleicherschaltungen 52 88 vorhanden ist, wird von einem der UND-Glieder 90 ein
Übereinstimmungssignal ausgegeben. Dieses Übereinstimmungs-Signal wird in die Schaltglieder 94 eingegeben und erlaubt
so, daß die gespeicherte, übersetzte reale Adresse benutzt wird, um die Speichereinrichtung anzusteuern.
Wenn der aktuelle Zählerstand des Löschungszählers 84 nicht mit der aus dem Feld 46a ausgelesenen Zahl übereinstimmt,
dann liefert die Vergleicherschaltung 88 kein Übereinstimmungssignal,
so daß keines der UND-Glieder 90 ein Übereinstimmungssignal für die Nebentabelle erzeugt und deshalb
die gespeicherte reale Adresse bei dieser angeforderten übersetzung auch nicht durch eines der Schaltglieder 94
weitergeschaltet wird, um die Speichereinrichtung der datenverarbeitenden Anlage anzusteuern.
Wenn der Löschungszähler überläuft, dann wird das den Überlauf
anzeigende Ausgangssignal in einem Inverter 98 invertiert und an die UND-Glieder 90 geliefert, um die weitere
Erzeugung eines Übereinstimmungssignales für die Nebentabelle zu verhindern, unabhängig davon, ob der Stand des
Löschungszählers 84 mit der Zahl im Zählerstandfeld der angesteuerten Übersetzung der virtuellen Adresse in eine
reale Adresse übereinstimmt oder nicht. Nach dem Erreichen
PO 975 038
•7098 5 7/08 5
der Kapazität des Löschungszählers 84 muß die Übersetzungsnebentabelle
geräumt, d.h. völlig gelöscht werden. Dies kann auf eine bekannte Art erfolgen, z.B. durch Setzen
eines Ungültigkeitsbits 100. Mit der gezeigten Einrichtung müssen in der Übersetzungsnebentabelle die Gültigkeitsbits 100 immer nur einmal gesetzt werden, wenn nämlich die
Kapazität des Löschungszählers 84 erreicht ist, anstatt wie früher jedesmal, wenn ein Löschbefehl erhalten wird. Wenn
z.B. das W Feld 8 Bits breit ist, bedeutet das, daß die Übersetzungsnebentabelle 46 nur einmal nach 256 erhaltenen
Löschbefehlen geräumt werden muß anstatt nach jeder Löschinstruktion.
PO 975 038
7098S7/09S6
L e e r s e i t e
Claims (7)
- PATENTANSPRÜCHEEinrichtung zum übersetzen von virtuellen Adressen mit einem Segment- und Seitenteil in reale Adressen des Hauptspeichers einer Datenverarbeitungsanlage, mit mehreren aus jeweils einer Segmenttabelle und dazugehörigen Seitentabellen bestehenden Gruppen von Übersetzungstabellen im Hauptspeicher sowie mit einer von der von dem oder den Prozessoren der Anlage gelieferten virtuellen Adresse angesteuerten Übersetzungs-Nebentabelle zur Speicherung von einigen zuletzt benutzten Adressenübersetzungen, deren Gültigkeit (Aktualität) durch eine Markierung in der Übersetzungsinformation angezeigt ist, gekennzeichnet durch einen Löschungszähler (84), dessen Zählerstand bei jedem Anlaß zum Ungültigmachen der Übersetzungseintragen in der Übersetzungs-Nebentabelle (46) erhöht wird,durch einen zusammen mit der Übersetzungs-Nebentabelle adressierten Löschzahlspeicher (46a), der bei jeder Neueintragung einer Übersetzungsinformation in die Übersetzungs-Nebentabelle dazu den jeweiligen Zählstand des Löschungszählers speichert, sowie durch einen Vergleicher (88) zum Vergleich des Zählerstandes des Löschungszählers mit der im Löschzahlspeicher zu der adressierten Übersetzungseintragung gespeicherten Löschzahl.
- 2. Einrichtung nach Anspruch 1,dadurch gekennzeichnet, daß das vom Vergleicher (88) gelieferte Vergleichssignal zusammen mit den von den Vergleichern (52) der Übersetzungs-Nebentabelle gelieferten Vergleichssignalen (92a, 92b) UND-TorePO 975 0387098-S 9/0856ORIGINAL INSPECTED(90a, 90b) steuert, deren Ausgangssignale (54a, 54b) Datenübertragungstore (94a, 94b) zum Auslesen der realen Adressen aus der übersetzungs-Nebentabelle steuern.
- 3. Einrichtung nach Anspruch 2,dadurch gekennzeichnet, daß das Überlaufsignal des Löschungszählers (84) über einen Inverter (98) ebenfalls die UND-Tore (90) steuert und somit das Auslesen einer realen Adresse beim überlaufen des Zählers verhindert, und daß das Überlaufsignal ferner eine Löschung der Übersetzungs-Nebentabelle einleitet.
- 4. Einrichtung nach Anspruch 1,
- dadurch gekennzeichnet, daß der Löschungszähler (84) bei einem Wechsel in der übersetzungstabellengruppe fortgeschaltet wird.
- PO 975 038
- 7 0 9 ft s y ι π R F> e
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/697,817 US4053948A (en) | 1976-06-21 | 1976-06-21 | Look aside array invalidation mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2726488A1 true DE2726488A1 (de) | 1977-12-29 |
DE2726488C2 DE2726488C2 (de) | 1984-05-17 |
Family
ID=24802683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2726488A Expired DE2726488C2 (de) | 1976-06-21 | 1977-06-11 | Adressenübersetzungseinrichtung |
Country Status (12)
Country | Link |
---|---|
US (1) | US4053948A (de) |
JP (1) | JPS52156518A (de) |
AU (1) | AU511393B2 (de) |
BR (1) | BR7704024A (de) |
CA (1) | CA1075824A (de) |
CH (1) | CH617781A5 (de) |
DE (1) | DE2726488C2 (de) |
ES (1) | ES459932A1 (de) |
FR (1) | FR2391509A1 (de) |
GB (1) | GB1520239A (de) |
IT (1) | IT1113580B (de) |
SE (1) | SE421152B (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4241401A (en) * | 1977-12-19 | 1980-12-23 | Sperry Corporation | Virtual address translator utilizing interrupt level code |
US4453230A (en) * | 1977-12-29 | 1984-06-05 | Tokyo Shibaura Electric Co., Ltd. | Address conversion system |
JPS54111726A (en) * | 1978-02-22 | 1979-09-01 | Hitachi Ltd | Control unit for multiplex virtual memory |
US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
US4215402A (en) * | 1978-10-23 | 1980-07-29 | International Business Machines Corporation | Hash index table hash generator apparatus |
US4277826A (en) * | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
EP0019358B1 (de) * | 1979-05-09 | 1984-07-11 | International Computers Limited | Hierarchisches Datenspeichersystem |
GB2052117B (en) * | 1979-07-04 | 1982-10-20 | Int Computers Ltd | Data processing systems |
JPS5644180A (en) * | 1979-09-17 | 1981-04-23 | Nec Corp | Information retrieval device |
US4403283A (en) * | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
JPS58185856U (ja) * | 1982-06-04 | 1983-12-10 | 株式会社東芝 | 複写装置 |
GB2127189B (en) * | 1982-09-18 | 1986-11-05 | Int Computers Ltd | Automatic invalidation of validity tags in data store |
US4714990A (en) * | 1982-09-18 | 1987-12-22 | International Computers Limited | Data storage apparatus |
US4638426A (en) * | 1982-12-30 | 1987-01-20 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
US4626988A (en) * | 1983-03-07 | 1986-12-02 | International Business Machines Corporation | Instruction fetch look-aside buffer with loop mode control |
JPS60142451A (ja) * | 1983-12-29 | 1985-07-27 | Fujitsu Ltd | アドレス変換制御方式 |
EP0176941B1 (de) * | 1984-09-28 | 1989-08-09 | Siemens Aktiengesellschaft | Schaltungsanordnung zum Löschen von Speichereinträgen in einem Adressumsetzungsspeicher |
US4821171A (en) * | 1985-05-07 | 1989-04-11 | Prime Computer, Inc. | System of selective purging of address translation in computer memories |
US4777589A (en) * | 1985-06-28 | 1988-10-11 | Hewlett-Packard Company | Direct input/output in a virtual memory system |
US4757447A (en) * | 1986-07-28 | 1988-07-12 | Amdahl Corporation | Virtual memory system having identity marking for common address space |
JP2510605B2 (ja) * | 1987-07-24 | 1996-06-26 | 株式会社日立製作所 | 仮想計算機システム |
JPH01303527A (ja) * | 1988-05-31 | 1989-12-07 | Hitachi Ltd | 共有資源の管理方法 |
GB8814077D0 (en) * | 1988-06-14 | 1988-07-20 | Int Computers Ltd | Data memory system |
US5175543A (en) * | 1991-09-25 | 1992-12-29 | Hewlett-Packard Company | Dictionary reset performance enhancement for data compression applications |
JP3074897B2 (ja) * | 1992-01-23 | 2000-08-07 | 日本電気株式会社 | メモリ回路 |
WO1995031783A1 (de) * | 1994-05-11 | 1995-11-23 | Gmd - Forschungszentrum Informationstechnik Gmbh | Speichervorrichtung zum speichern von daten |
US6510508B1 (en) * | 2000-06-15 | 2003-01-21 | Advanced Micro Devices, Inc. | Translation lookaside buffer flush filter |
US6915405B2 (en) * | 2002-12-04 | 2005-07-05 | Bull Hn Information Systems Inc. | Emulated target associative memory system with a multi-digit incrementable validity counter |
US6938145B2 (en) * | 2002-12-04 | 2005-08-30 | Bull Hn Information Systems Inc. | Associative memory system with a multi-digit incrementable validity counter |
US7069389B2 (en) | 2003-11-26 | 2006-06-27 | Microsoft Corporation | Lazy flushing of translation lookaside buffers |
US7788464B2 (en) | 2006-12-22 | 2010-08-31 | Microsoft Corporation | Scalability of virtual TLBs for multi-processor virtual machines |
US8112174B2 (en) * | 2008-02-25 | 2012-02-07 | International Business Machines Corporation | Processor, method and computer program product for fast selective invalidation of translation lookaside buffer |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
US3839706A (en) * | 1973-07-02 | 1974-10-01 | Ibm | Input/output channel relocation storage protect mechanism |
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 |
JPS5642072B2 (de) * | 1975-02-21 | 1981-10-02 |
-
1976
- 1976-06-21 US US05/697,817 patent/US4053948A/en not_active Expired - Lifetime
-
1977
- 1977-04-29 IT IT22964/77A patent/IT1113580B/it active
- 1977-05-11 FR FR7715178A patent/FR2391509A1/fr active Granted
- 1977-05-20 CA CA278,891A patent/CA1075824A/en not_active Expired
- 1977-05-24 GB GB21898/77A patent/GB1520239A/en not_active Expired
- 1977-05-31 JP JP6290377A patent/JPS52156518A/ja active Granted
- 1977-06-02 CH CH677977A patent/CH617781A5/de not_active IP Right Cessation
- 1977-06-11 DE DE2726488A patent/DE2726488C2/de not_active Expired
- 1977-06-15 SE SE7706913A patent/SE421152B/xx not_active IP Right Cessation
- 1977-06-20 ES ES459932A patent/ES459932A1/es not_active Expired
- 1977-06-21 AU AU26307/77A patent/AU511393B2/en not_active Expired
- 1977-06-21 BR BR7704024A patent/BR7704024A/pt unknown
Non-Patent Citations (1)
Title |
---|
NICHTS-ERMITTELT * |
Also Published As
Publication number | Publication date |
---|---|
IT1113580B (it) | 1986-01-20 |
DE2726488C2 (de) | 1984-05-17 |
ES459932A1 (es) | 1978-04-01 |
SE421152B (sv) | 1981-11-30 |
GB1520239A (en) | 1978-08-02 |
BR7704024A (pt) | 1978-04-04 |
CA1075824A (en) | 1980-04-15 |
CH617781A5 (de) | 1980-06-13 |
AU511393B2 (en) | 1980-08-14 |
JPS5733622B2 (de) | 1982-07-17 |
FR2391509B1 (de) | 1980-01-04 |
FR2391509A1 (fr) | 1978-12-15 |
US4053948A (en) | 1977-10-11 |
JPS52156518A (en) | 1977-12-27 |
AU2630777A (en) | 1979-01-04 |
SE7706913L (sv) | 1977-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2726488A1 (de) | Adressenuebersetzungseinrichtung | |
DE2346525C3 (de) | Virtuelle Speichereinrichtung | |
DE3833933C2 (de) | Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion | |
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE3151745C2 (de) | ||
DE4410060B4 (de) | Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2241257B2 (de) | Datenverarbeitende Anlage | |
DE2230987C2 (de) | ||
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
DE3932675A1 (de) | Virtuelles maschinensystem | |
DE2235841A1 (de) | Anordnung zur speichersteuerung mit logischer und echter adressierung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE3330845C2 (de) | ||
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
DE3718750C2 (de) | ||
DE3502147A1 (de) | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung | |
DE2432608A1 (de) | Speicheranordnung fuer datenverarbeitungseinrichtungen | |
DE4123550A1 (de) | Informationsverarbeitungssystem mit direktem speicherzugriff | |
DE3025167C2 (de) | Datenverarbeitungseinrichtung | |
DE2331394B1 (de) | Datenverarbeitungsanlage mit virtueller adressierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 9/36 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |