DE2601379C3 - Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen - Google Patents
Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle AdressenInfo
- 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
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/125—Replacement 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)
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.
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)
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 |
-
1976
- 1976-01-15 DE DE2601379A patent/DE2601379C3/de not_active Expired
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 |