DE2601379A1 - Schaltungsanordnung zum umwandeln virtueller adressen in reelle adressen - Google Patents

Schaltungsanordnung zum umwandeln virtueller adressen in reelle adressen

Info

Publication number
DE2601379A1
DE2601379A1 DE19762601379 DE2601379A DE2601379A1 DE 2601379 A1 DE2601379 A1 DE 2601379A1 DE 19762601379 DE19762601379 DE 19762601379 DE 2601379 A DE2601379 A DE 2601379A DE 2601379 A1 DE2601379 A1 DE 2601379A1
Authority
DE
Germany
Prior art keywords
address
virtual
cell
memory
called
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
Application number
DE19762601379
Other languages
English (en)
Other versions
DE2601379B2 (de
DE2601379C3 (de
Inventor
Heinrich Darilek
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2601379A priority Critical patent/DE2601379C3/de
Publication of DE2601379A1 publication Critical patent/DE2601379A1/de
Publication of DE2601379B2 publication Critical patent/DE2601379B2/de
Application granted granted Critical
Publication of DE2601379C3 publication Critical patent/DE2601379C3/de
Expired 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage

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

  • Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle
  • Adressen Die Erfindung betrifft eine Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen mit einem Assoziativregister, dessen Schlüsselwörter virtuelle Adressen sind, das bei Eintreffen einer in ihm als Schlüsselwort gespeicherten virtuellen Adresse die zugehörige reelle Adresse ausgibt und bei Eintreffen einer in ihm nicht gespeicherten virtuellen Adresse ein Signal abgibt, das eine Adressenübersetzung bewirkt, bei der aus der virtuellen Adresse eine reelle Adresse gebildet und die virtuelle Adresse als Schlüsselwort sowie die zugehörige reelle Adresse in die am längsten nicht aufgerufene Zelle des Assoziativregisters eingeschrieben werden.
  • Zum Beschleunigen der Umwandlung von virtuellen Adressen in reelle Adressen werden Assoziativregister eingesetzt, in denen die virtuelle und die reelle Adresse sowie ggf. einige Steuerbits hinterlegt sind. Die Adresse braucht nicht die vollständige Adresse zu sein, sondern es werden im allgemeinen die sogenarnften Seiten-und ggf. Sektionsnummern angegeben, welche die Adressen für Datenblöcke sind. Wegen des großen Aufwandes von Assoziativregistern sind in diesen nicht alle Zuordnungen zwischen virtuellen und reellen Adressen hinterlegt, sondern nur jeweils die, die bei der Bearbeitung des jeweiligen Programmabschnitts gebraucht werden.
  • Der Inhalt des Assoziativregisters ändert sich daher stets während der Bearbeitung eines Programmes. Vor jedem virtuellen Speicherzugriff wird die virtuelle Adresse bzw. Seitennummer mit dem Inhalt der Zellen des Assoziativregisters verglichen. Wird in keiner der Zellen Ubereinstimmung festgestellt, mu8 eine Adreßübersetzung durchgeführt werden und es wird das Ergebnis der Adreßübersetzung, das ist ein aus einer virtuellen und einer reellen Adresse bestehendes Adressenpaar, in eine der Assoziativregisterzellen eingetragen. Geht man von der Überlegung aus, daß die Adresse für mehrere aufeinanderfolgende Befehlsfolgen unter der gleichen virtuellen Adresse oder virtuellen Seite abgelegt sind, dann kann die Anzahl der notwendigen Adreßübersetzungen mit Hilfe eines sogenannten Alterungsmechanismus reduziert werden. Bei diesem Mechanismus wird, wenn bei Aufruf einer virtuellen Adresse in einer der Zellen des Assoziativregisters Übereinstimmung festgestellt wird, diese Zelle zur jüngsten erklärt und die drei anderen um jeweils eine Stufe gealtert. Nach einer Adreßübersetzung wird dann immer diejenige Zelle des Assoziativregisters überschrieben, welche am längsten an einer Adressierung nicht beteiligt gewesen ist.
  • Ein derartiges Verfahren ist in der Zeitschrift Elektronische Rechenanlagen", Heft 6, 1974, Seiten 230 ff. beschrieben.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Schaltung der eingangs beschriebenen Art zu schaffen, die sich durch ihre Einfachheit, hohe Arbeitsgeschwindigkeit und Flexibilität auszeichnet.
  • Erfindungsgemäß wird diese Aufgabe dadurch gelöst, daß jeder Reihenfolge der letzten Aufrufe der Stellen des Assoziativregisters eine Signalkombination zugeordnet ist, daß auf einen Speicher die jeweils gültige Signalkombination als Teiladresse gegeben wird, die mit der Nummer der jeweils aufgerufenen Zelle des Assoziativregisters ergänzt ist, und daß mit der Gesamtadresse eine Zelle des Speichers aufgerufen ist, deren Inhalt die auf den Adresseneingang des Speichers rückgeführte Signalkombination für die neue Reihenfolge der letzten Aufrufe der Assoziativregisterzellen ist.
  • Im Speicher sind sämtliche möglichen Signalkombinationen enthalten. Die ausgegebene Signalkombination wird auf den Adresseneingang des Speichers als Teiladresse rückgeführt. Ergänzt wird diese Teiladresse durch die Nummer der jeweils aufgerufenen Zelle des Assoziativregisters. Der Inhalt der Zelle mit der Gesamtadresse ist die Signalkombination für die neue Reihenfolge der am längsten nicht benutzten Assoziativregisterzellen. Im Speicher sind daher nicht nur sämtliche Signalkombinationen für alle möglichen Reihenfolgen hinterlegt, sondern auch sämtliche möglichen Xnderungen der Reihenfolgen.
  • Ist die aufgerufene virtuelle Adresse im Assoziativregister nicht enthalten, gibt dieses ein Signal aus, das eine ndreßübersezung auslöst. Das dabei gebildete Adressenpaar von virtueller und reelle Adresse wird in die Assoziativregisterzelle eingetragen, die am längsten nicht benutzt wurde. Mit der Nummer dieser Zelle wird dann ebenfalls das Adressensignal für den Speicher vervollst#ndi.gt.
  • Da die vom Speicher ausgegebenen Signalkombinationen die Reihenfolge der letzten Benutzung der Assoziativregisterstellen angibt, kann aus ihnen auch die am längsten nicht benutzte Zelle durch Decodieren ermittelt werden. Hierzu kann ein weiterer Speicher verwendet werden, dessen Adresseneingang mit der vom ersten Speicher ausgegebenen Signalkombination angesteuert ist. Der Inhalt der aufgerufenen Adresse ist dann die Nummer der am längsten nicht benutzten Assoziativregisterzelle.
  • Anhand der Zeichnung werden im folgenden die Erfindung sowie weitere Vorteile und Ergänzungen näher beschrieben und erläutert.
  • Figur 1 zeigt das Prinzipschaltbild eines Ausführungsbeispiels der Erfindung.
  • In Figur 2 ist die Funktion der Anordnung nach Figur 1 verdeutlicht.
  • In Figur 1 ist mit AR ein Assoziativregister mit vier Zeilen A, B, C, D bezeichnet. Die vier Zellen enthalten als Schlüsselwörter virtuelle Seitennummern s'1, s'2, s'3, s'4, bei deren Zufuhr über eine Leitung S' die entsprechenden reellen Seitennummern sl, s2, s3, s4 ausgegeben werden. Gleichzeitig wird über eine der Leitungen a, b, c, d eine Teiladresse auf einen Speicher SPE gegeben. Den zweiten Adressenteil erhält der Speicher SPE von einem Pufferspeicher PS, der vom Speicher SPE fünfstellige ßinärsignalkombinationen erhält, welche die Reihenfolge der letzten Aufrufe der Assoziativregisterzellen A, B, C, D angibt. Bei vier Speicherzellen sind 24 Reihenfolgen möglich, die mit fünf Binärsignalen dargestellt werden können. Der Speicher SPE gibt ferner die Nummer der am längsten nicht aufgerufenen Assoziativregisterzelle auf einen Decoder DFC, der im Falle, daß ein neues Adressenpaar in das tssoziativregister eingeschrieben werden soll, die Zelle zum Einschreiben freigibt, die am längsten nicht mehr benutzt wurde. Beim Einschreiben in diese Zelle wird ebenfalls auf die zu dieser Zelle gehörende Leitung a, b, c, d ein Signal gegeben.
  • Anhand der Figur 2 soll die Arbeitsweise der Figur 1 verdeutlicht werden. In der in Figur 2a dargestellten Tabelle sind sämtliche möglichen Reihenfolgen des letzten Aufrufs der Assoziativregisterzellen aufgeführt. Die am längsten nicht aufgerufene Speicherzelle steht ganz links, die zuletzt aufgerufene ganz rechts. Jeder dieser Reihenfolgen ist eine Binärsignalkombination zugeordnet, die als Dezimalzahl angegeben ist.
  • In Figur 2b ist der Aufbau des Festwertspeichers SPE veranschaulicht. Jede Zeile entspricht einer Speicherzelle, deren Adresse in der linken Spalte und deren Inhalt in der zweiten Spalte von links angegeben ist. Die nächste Spalte zeigt die dem Zelleninhalt zugeordnete Reihenfolge des letzten Aufrufs der Assoziativregisterzellen. Die in der rechten Spalte eingetragenen Signale, die angeben, welche Assoziativregisterzelle am längsten nicht mehr aufgerufen wurde. sind vorteilhaft in derselben Speicherzelle wie die in der zweiten Spalte von links aufgeführten enthalten.
  • Als Beispiel sei angenommen, daß der Pufferspeicher PS die Ziffer 0 auf den Adreßeingang des Speichers SPE gibt. Dies bedeutet, daß die Zelle A am längsten nicht mehr aufgerufen wurde, davor wurde B aufgerufen und dann C. Die Zelle D ist die zuletzt aufgerufene Zelle. Wird bei einem solchen Zustand die virtuelle Seitennummer s'1 (vergl. Fig. 1) dem Assoziativregister zugeführt, so wird zusätzlich zur Ziffer 0 über die Leitung a ein Adressensignal eingegeben. Die Gesamtadresse sei dargestellt als (a, o). In der Speicherzelle mit dieser Adresse befindet sich die Ziffer 9, die der Reihenfolge B, C, D, A zugeordnet ist. Diese Ziffer wird an den Pufferspeicher ausgegeben und von diesem auf den Adreßeingang des Speichers SPE rückgeführt. Wird in diesem Zustand die virtuelle Seitennummer s'2 eingegeben, so erscheint auf der Leitung b ein Signal und der Speicher SPE erhält die Adresse (b, 9). In der Speicherzelle mit dieser Adresse befindet sich die Ziffer 16, die der Reihenfolge C, D, A, B zugeordnet ist. ~über den Pufferspeicher FS gelangt nun die Ziffer 16 auf den Adresseneingang des Speichers SPE. Nach einem Treffer in der Zelle C infolge Zufuhr der virtuellen Zeitnummer s'3 wird die Adresse (c, 16) gebildet. In der zugehörigen Speicherzelle ist die Ziffer 18, die Reihenfolge D, A, B, C kennzeichnend, enthalten. Ist der nächste Treffer in D, wird die Zelle mit der Adresse (d, 18) gebildet, in der die Ziffer 0 enthalten ist, d. h. in diesem Falle wird der Ausgangszustand wieder erreicht.
  • Wird z.B. in dem Zustand, in dem die vom Pufferspeicher PS dem Speicher SPE zugeführte Teiladresse 0, d. h. die Zelle A, am längsten nicht mehr aufgerufen ist und deren Nummer dem Decoder DEC zugeführt wird, dem Assoziativregister AR eine virtuelle Seitennummer s'5 eingegeben, so gibt es in keiner der vier Registerzellen einen Treffer. Das Assoziativregister AR meldet dies einer Ubersetzungseinrichtung, die daraufhin die reelle Seitennummer s5 ermittelt. Das Adressenpaar s'5 wird dann in die Zelle A des Registers AR eingetragen, da diese Zelle vom Decoder DEC zum Einschreiben freigegeben ist. Dabei erscheint auf der Leitung a ein Signal, so daß wieder, wie bei einem Treffer in der Zelle A, die Zelle des Speichers SPF mit der Adresse (a, 0) aufgerufen wird.
  • Entsprechendes gilt für beliebige andere Ausgangszustände.
  • Im Beispiel nach Figur 2 wird so verfahren, daß die Zelle zum Einschreiben eines neuen Adressenpaares freigegeben wird, die am längsten nicht mehr aufgerufen wurde. Die Häufigkeit des Aufrufes von Zellen wird nicht berücksichtigt. Demgemäß wird bei einer Ausgangsreihenfolge von A B C D nach einem Treffer in Zelle A die Reihenfolge B C D A hergestellt. Die Anordnung nach Figur 1 ist aber so flexibel, dan auch beliebige andere ReihenfolGen gebildet werden können. Soll z. B. für die Reihenfolge die#Häufigkeit der Treffer in einer Zelle berücksichtigt werden, so kann man so vorgehen, daß bei einem Ausgangszustsnd A B C D und einem Treffer in Zelle A der Zustand B A C D eingenommen wird. Nach einem weiteren Treffer in Zelle A erhält man dann den Zustand B C A D und schließlich nach einem nochmaligen Treffer den Zustand B C D A. Bei anderen Ausgangs zuständen und Treffern in anderen Zellen kann entsprechend verfahren werden.' Es ist auch möglich, Treffer in den einzelnen Zellen unterschiedlich zu bewerten.
  • Patentansprüche 2 Figuren

Claims (3)

  1. Patentansprüche 1- Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen mit einem Assoziativregister, dessen Schlüsselwörter virtuelle Adressen sind, das bei Eintreffen einer in ihm als Schlüsselwort gespeicherten vir-tuellen Adresse die zugehörige reelle Adresse ausgibt und bei Eintreffen einer in ihm nicht gespeicherten virtuellen Adresse ein Signal abgibt, das eine Adressenübersetzung bewirkt, bei der aus der virtuellen Adresse eine reelle Adresse gebildet und die virtuelle Adresse als Schlüsselwort sowie die zugehörige reelle Adresse in die am längsten nicht aufgerufene Zelle des Assoziativregisters eingeschrieben werden, dadurch gekennzeichnet, daß jeder Reihenfolge der letzten Aufrufe der Stellen (A, B, C, D) des Assoziativregisters (AR) eine Signalkombination zugeordnet ist, daß auf einen Speicher (SPE) die jeweils gültige Signalkombination als Teiladresse gegeben wird, die mit der Nummer (a, b, c, d) der jeweils aufgerufenen Zelle (A, B, C, D) des Assoziativregisters (AR) ergänzt ist, und daß mit der Gesamtadresse eine Zelle des Speichers (SPE) aufgerufen ist, deren Inhalt die auf den Adresseneingang des Speichers (SPE) rückgeführte Signalkombination für die neue Reihenfolge der letzten Aufrufe der Assoziativregisterzellen ist.
  2. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zwischen den Ausgang des Speichers (SPE) und seinen Adresseneingang ein Pufferspeicher (PS) geschaltet ist.
  3. 3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß mit der aus der gültigen Signalkombination und der Nummer der aufgerufenen Zelle (A, B, C, D) des Assoziativregisters (AR) gebildeten Adresse die Zelle eines Speichers aufgerufen wird, deren Inhalt die Nummer der am längsten nicht auf gerufenen Zelle (A, B, C, D) des Assoziativregisters (AR) ist.
DE2601379A 1976-01-15 1976-01-15 Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen Expired DE2601379C3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2601379A DE2601379C3 (de) 1976-01-15 1976-01-15 Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2601379A DE2601379C3 (de) 1976-01-15 1976-01-15 Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen

Publications (3)

Publication Number Publication Date
DE2601379A1 true DE2601379A1 (de) 1977-07-21
DE2601379B2 DE2601379B2 (de) 1980-02-14
DE2601379C3 DE2601379C3 (de) 1980-11-20

Family

ID=5967538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2601379A Expired DE2601379C3 (de) 1976-01-15 1976-01-15 Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen

Country Status (1)

Country Link
DE (1) DE2601379C3 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0007001A1 (de) * 1978-07-17 1980-01-23 International Business Machines Corporation Datenverarbeitungseinrichtung mit beschränktem Paging
EP0007003A1 (de) * 1978-07-17 1980-01-23 International Business Machines Corporation Eine Einrichtung zur Adressenübersetzung enthaltendes Datenverarbeitungssystem
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
EP0010195A1 (de) * 1978-10-23 1980-04-30 International Business Machines Corporation Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0007001A1 (de) * 1978-07-17 1980-01-23 International Business Machines Corporation Datenverarbeitungseinrichtung mit beschränktem Paging
EP0007003A1 (de) * 1978-07-17 1980-01-23 International Business Machines Corporation Eine Einrichtung zur Adressenübersetzung enthaltendes Datenverarbeitungssystem
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
EP0010195A1 (de) * 1978-10-23 1980-04-30 International Business Machines Corporation Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage

Also Published As

Publication number Publication date
DE2601379B2 (de) 1980-02-14
DE2601379C3 (de) 1980-11-20

Similar Documents

Publication Publication Date Title
DE2517302C2 (de) Mehrprogramm-Datenverarbeitungsgerät
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE2725396C3 (de)
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2518588A1 (de) Verfahren zur ueberwachung der folgerichtigkeit von codesignalgruppen in einrichtungen der nachrichtentechnik
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE2149200A1 (de) Anordnung zum Steuern der Informationsuebertragung zwischen einerseits dem Zentralteil und andererseits entweder einem beliebig zugreifbaren Schnellspeicher oder einem beliebig zugreifbaren direkt adressierbaren Grossspeicher einer elektronischen Datenverarbeitungsanlage
DE2744321A1 (de) Bildschirmgeraet
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2601379A1 (de) Schaltungsanordnung zum umwandeln virtueller adressen in reelle adressen
DE3340362A1 (de) Verfahren und vorrichtung zur division von bcd-zahlen
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE3025167C2 (de) Datenverarbeitungseinrichtung
DE2425380C2 (de) Datenverarbeitungsanlage zur parallelen Ausführung von Verarbeitungsoperationen
DE3535215C2 (de)
DE2847737C2 (de) Schaltung zur Umsetzung virtueller Adressen in eine reelle Adresse von größerer Länge
DE2343501B2 (de) Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von EuWAusgabe-Programmen bestimmten Registern
DE3426902A1 (de) Schaltungsanordnung zum konfigurieren von peripherieeinheiten in einer datenverarbeitungsanlage
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
DE2449644C2 (de) Digitale Computeranordnung
DE3543976C2 (de)
DE1222112B (de) Schaltungsanordnung zur Codeumsetzung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee