DE2601379C3 - Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen - Google Patents

Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen

Info

Publication number
DE2601379C3
DE2601379C3 DE2601379A DE2601379A DE2601379C3 DE 2601379 C3 DE2601379 C3 DE 2601379C3 DE 2601379 A DE2601379 A DE 2601379A DE 2601379 A DE2601379 A DE 2601379A DE 2601379 C3 DE2601379 C3 DE 2601379C3
Authority
DE
Germany
Prior art keywords
address
memory
cell
associative register
cells
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.)
Expired
Application number
DE2601379A
Other languages
English (en)
Other versions
DE2601379A1 (de
DE2601379B2 (de
Inventor
Heinrich 7500 Karlsruhe 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

Description

Die Erfindung betrifft eine Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen gemäß dem Oberbegriff des Anspruchs 1.
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 sogenannten 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 Übereinstimmung festgestellt, muß 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 AssoziaLivregisterzellen 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 dem Buch »Funktioneller Aufbau digitaler Rechenanlagen« von H. Schecher, Springer-Verlag, Berlin, Heidelberg, New York, 1973, Seiten 189 bis 192 beschrieben.
Aus »Taschenbuch der Informatik«, Springer-Verlag, 1974, Band II, Seiten 302 bis 307 sind Mikroprogrammsteuerungen mit einem Speicher bekannt, in dessen Zellen jeweils eine Folgeadresse und Steuersignale enthalten sind. Bei Aufruf einer Speicherzelle werden die Steuersignale zum Steuern eines Rechenvorganges oder dergleichen abgegeben, während die Folgeadressen einer Adressenmodifikationseinrichtung zugeführt sind, in der sie mittels von außen zugeführten Adressenmodifikationssignalen verändert und auf den Adresseneingang des Speichers rückgeführt werden, so daß der nächste Befehlsschritt durchgeführt werden kann.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung der eingangs genannten Art zu schaffen, die sich bei hoher Arbeitsgeschwindigkeit durch ihre Einfachheit und vor allem ihre Flexibilität auszeichnet.
Erfindungsgemäß wird diese Aufgabe mit den im kennzeichenden Teil des Anspruchs 1 angegebenen Maßnahmen gelöst.
Im Speicher der neuen Anordnung 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 des Aufrufs der Assoziativregisterzellen. Im Speicher sind daher nicht nur sämtliche Signalkombinationen für alle möglichen Reihenfolgen hinterlegt, sondern auch sämtliche möglichen Änderungen der Reihenfolgen.
Ist die aufgerufene virtuelle Adresse im Assoziativregister nicht enthalten, gibt dieses ein Signal aus, das eine Adreßübersetzung auslöst. Das dabei gebildete Adressenpaar von virtueller und reeller Adresse wird in die Assoziativregisterzelle eingetragen, deren Inhalt aufgrund der Reihenfolge der aufgerufenen Assoziativregisterzellen überschrieben werden soll. Mit der Nummer dieser Zelle wird dann ebenfalls das Adressensignal für den Speicher vervollständigt.
Da die vom Speicher ausgegebenen Signalkombinationen die Reihenfolge der letzten Benutzung der
Assoziativregisterzellen angibt, kann aus ihnen auch die am längsten nicht benutzte Zelle durch Decodieren ermittelt werden. Hierzu kann ein weiterer Speicher verwendet werden, dessen Adresseneir.gang 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.
F i g. 1 zeigt das Prinzipschaltbild eines Ausführungsbeispiels der Erfindung. In
F i g. 2 ist die Funktion der Anordnung nach F i g. 1 verdeutlicht
In Fig. 1 ist mit AR ein Assoziativregister mit vier Zellen A, B, C, D bezeichnet Die vier Zellen enthalten als Schlüsselwörter virtuelle Seitennummern s'l, s'2, s'3, s'4, bei deren Zufuhr über eine Leitung S' die entsprechenden reellen Seitennummern si. s2, s3, s4 ausgegeben werden. Gleichzeitig wird über eine der Leitungen 2, 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 Binä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 SPZT gibt ferner die Nummer der am längsten nicht aufgerufenen Assoziativregisterzelle auf einen Decoder DEC, der im Falle, daß ein neues Adressenpaar in das Assoziativregister 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, dein Signal gegeben.
Anhand der Pig.2 soll die Arbeitsweise der Fig. 1 verdeutlicht werden. In der in Fig. 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 Fig. 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, davo' -"'irde B aufgerufen und bo dann C. Die Zelle D ist die zuletzt aufgerufene Zelle. Wird bei einem solchen Zustand die virtuelle Seitennummer s'l (vergl. Fig. 1) dem Assoziativregister zugeführt so wird zusätzlich zur Ziffer 0 über die Leiiung a ein Adressensignai eingegeben. Die Gesanuadresse sei dargestellt als (a, 0). 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 SPErü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. Ober den Pufferspeicher PS gelangt nun die Ziffer 16 auf den Adresseneingang des Speichers SPE. Nach einem Treffer in der Zelle C infolge Zufuhr der virtuellen Seitennummer s'3 wird die Adresse (c, 16) gebildet In der zugehörigen Speicherzelle ist die Ziffer 18, die Reihenfolge D, A, B, Ckennzeichnend, enthalten. 1st der nächste Treffer in D, wird die Zelle mit der Adresse (d 18) gebildet, in der die Ziffer O 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 menr 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 Übersetzungseinrichtung, 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 SPE mit der Adresse (a, O) aufgerufen wird. Entsprechendes gilt für beliebige andere Ausgangszustände.
Im Beispiel nach Fig. 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 ABCD nach einem Treffer in Zelle A die Reihenfolge BCDA hergestellt. Die Anordnung nach Fig. 1 ist aber so flexibel, daß 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 Ausgangszustand A B C O und einem Treffer in Zelle A der Zustand BACD eingenommen wird. Nach einem weiteren Treffer in Zelle A erhält man dann den Zustand BCAD und schließlich nach einem nochmaligen Treffer den Zustand BCDA. Bei anderen Ausgangszuttänden und Treffern in anderen Zellen kann entsprechend verfahren werden. Es ist auch möglich,Treffer in den einzelnen Zellen unterschiedlich zu bewerten.
Hierzu 2 Blatt Zeichnungen

Claims (2)

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 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 das aus virtueller Adresse und errechneter reeller Adresse bestehende Adressenpaar in die Zelle des Assoziativregisters eingeschrieben wird, die aufgrund der Reihenfolge der Aufrufe der Assoziativregisterzellen bestimmt ist, dadurch gekennzeichnet, ,laß ein Speicher (SPE) vorhanden ist, in dem in jeder seiner Zellen jeweils eine der möglichen Reihenfolgen der Aufrufe der Assoziativregisterzellen (A, B, C, D) zugeordnete Signalkombinationen sowie die Nummer der Assoziativregisterzelle gespeichert ist, in die im Falle des Eintreffens einer im Assoziativregister (AR) nicht gespeicherten virtuellen Adresse das neue Adressenpaar eingeschrieben wird, daß beim Aufruf einer Speicherzelle einererseits die in ihr enthaltene Nummer der Assoziativregisterzelle (A, B, C, D) zur Steuerung des Einschreibens des Adressenpaai es in das Assoziativregister (AR) ausgelesen und andererseits mittels Leitungen vom Ausgang des Speichers (SPE) zu dessen Adresseneingang die in ihr enthaltene, der Reihenfolge der Aufrufe der Zellen des Assoziativregisters zugeordnete Signalkombination als Teiladresse auf den Adresseneingang des Speichers (SPE) rückgeführt ist und dort mit der Nummer (a, b, c, d) der jeweils aufgerufenen Associativregisterzelle (A, B, C, D) die Gesamtadresse jener Zelle des Speichers (SPE) ergibt, welche die der neuen Reihenfolge der Aufrufe der Assoziativregisterzellen zugeordnete Signalkombination enthält.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zwischen den Ausgang des Speichers (SPE) und seinen Adresseneingang ein Pufferspeicher Eingeschaltet 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 DE2601379A1 (de) 1977-07-21
DE2601379B2 DE2601379B2 (de) 1980-02-14
DE2601379C3 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4170039A (en) * 1978-07-17 1979-10-02 International Business Machines Corporation Virtual address translation speed up technique
US4218743A (en) * 1978-07-17 1980-08-19 International Business Machines Corporation Address translation apparatus
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
US4215402A (en) * 1978-10-23 1980-07-29 International Business Machines Corporation Hash index table hash generator apparatus

Also Published As

Publication number Publication date
DE2601379A1 (de) 1977-07-21
DE2601379B2 (de) 1980-02-14

Similar Documents

Publication Publication Date Title
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE1499206B2 (de) Rechenanlage
DE2134816A1 (de) Einrichtung zur adressenuebersetzung
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
DE3025167C2 (de) Datenverarbeitungseinrichtung
DE2235883C3 (de) Datenverarbeitungseinrichtung
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
DE2233164A1 (de) Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern
DE2713068A1 (de) Sequentielle datenverarbeitungsanlage
DE1126163B (de) Verfahren und Vorrichtung zur Multiplikation
DE1296427B (de) Datenbearbeitungssystem
DE1499284A1 (de) Datenbearbeitungsanlage
DE1549454A1 (de) Einrichtung zur abgerundeten Anzeige einer gespeicherten Zahl
DE2449644C2 (de) Digitale Computeranordnung
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
DE2314070C3 (de) Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage
DE1090885B (de) Parallel arbeitende, synchrone, elektrische, binaerrechnende Zahlenrechenmaschine, welche die Operation x+yz selbsttaetig auszufuehren vermag
DE1195972B (de) Anordnung zum Durchfuehren einer Verzweigung bei einer programmgesteuerten Rechenmaschine

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