DE2506117C2 - Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse - Google Patents

Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse

Info

Publication number
DE2506117C2
DE2506117C2 DE2506117A DE2506117A DE2506117C2 DE 2506117 C2 DE2506117 C2 DE 2506117C2 DE 2506117 A DE2506117 A DE 2506117A DE 2506117 A DE2506117 A DE 2506117A DE 2506117 C2 DE2506117 C2 DE 2506117C2
Authority
DE
Germany
Prior art keywords
associative
address
word
register
registers
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
DE2506117A
Other languages
English (en)
Other versions
DE2506117A1 (de
Inventor
Louis Kent Blaine Minn. Steiner
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.)
Control Data Corp
Original Assignee
Control Data 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 Control Data Corp filed Critical Control Data Corp
Publication of DE2506117A1 publication Critical patent/DE2506117A1/de
Application granted granted Critical
Publication of DE2506117C2 publication Critical patent/DE2506117C2/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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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

Description

dadurch gekennzeichnet, daß
die Register {AR Wi-AR 15) in Reihenfolge hintereinander angeordnet sind,
2C eine Leseeinrichtung
die assoziativen Worte aus dem Speicher in das Register der höchsten Stelle nacheinander herausliest und eine Schiebeeinrichtung die assoziativen Worte aus einem Register höherer Ordnung zu einem Register niedrigerer Ordnung nacheinander verschiebt,
wobei die erste Steuereinrichtung
das die entsprechende virtuelle Seitenadresse enthaltende assoziative Wort von einem Register niedriger Ordnung zum Register der höchsten Stelle überträgt und
die Schiebeeinrichtung in der Weise betätigt, daß assoziative Worte zum Register der nächstniedrigeren Stelle geschoben werden, die vorher in einem Register höherer Ordnung afc dem der genannten niedrigeren Ordnung gespeichert waren, von dem aus das assoziative Wort übertragen wurde.
2. Adreßumsetzungsemrichtung nach Anspruch l,gekennzeichnetdurcheinenSpeicherzurSpeicherung der Wortadresse von der virtuellen Adresse im Speicheradressenregister.
3. Adreßirmsetzungseinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jedes assoziative Wort einen Benutzungskode enthält, und daß die Schiebeeinrichtung ein einen vorbestimmten Benutzungskode enthaltendes assoziatives Wort in eine Position einer niedrigeren Ordnung zu verschieben vermag, die vorher von einem assoziativen Wort eingenommen wurde, welches eine virtuelle Seitenadresse entsprechend der virtuellen Adresse des Arbeitsprogramms enthält.
4. Adreßumsetzungseinrichtung nach einem der Ansprüche 1 bis 3, gekennzeichnet durch
eine zweite Steuereinrichtung, die anspricht, wenn die Vergleichseinrichtung eine Nichtübereinstimmung zwischen der virtuellen Seitenadresse der virtuellen Adresse des Arbeitsprogramms und der virtuellen Seitenadresse in den Registern feststellt, und selektiv eine Einschreibeinrichtung betätig?., am sequentiell assoziative Worte aus allen Registern, mit Ausnahme des Registers der niedrigsten Ordnung, in den Speicher einzuschreiben,
die weiterhin die Leseeinrichtung betätigt, im sequentiell zusätzliche assoziative Worte aus dem Speicher in das Register der höchsten Ordnung einzulesen, wobei die Vergleichseinrichtung die virtuelle Seitenadresse der zusätzlichen assoziativen Worte mit der virtuellen Seitenadresse der virtuellen Adresse des Arbeitsprogramms zu vergleichen vermag,
wobei die zweite Steuereinrichtung weiterhin auf die Vergleichseinrichtung anspricht und die Einschreibeeinrichtung betätigt, um assoziative Worte zum Speicher zurück einzuschreiben, nur mit Ausnahme des assoziativen Worts, welches die virtuelle Seitenadresse entsprechend der virtuellen Adresse des Arbeits-Programms enthält,
wobei die zweite Steuereinrichtung daraufhin die Leseeinrichtung betätigt, um die ursprünglichen assoziativen Worte sequentiell in die Register zurück einzuiesen, und die Schiebeeinrichtung betätigt, um das assoziative Wort mit der virtuellen Seitenadresse, welche der virtuellen Adresse im Arbeitsprogramm entspricht, in das Register der höchsten Ordnung zu verschieben, wodurch das assoziative Wort, welches die der virtuellen Adresse des Arbeitsprogramms entsprechende virtuelle Seitenadresse enthält, daraufhin im Register der höchsten Ordnung gespeichert wird, die mit Ausnahme des Registers niedrigster Ordnung vorher in allen Registern enthaltenen assoziativen Worte danach der Reihe nach in den auf das Register der höchsten Ordnung folgenden Registern enthalten sind und das vorher im Register der niedrigsten Ordnung enthaltene assoziative Wort danach im Speicher in einer Stelle höherer Ordnung als die zurück eingelesenen assoziativen Worte gespeichert wird.
Die Erfindung bezieht sich auf eine Adreßumsetzungseinrichtung nach dem Oberbegriff des Patentanspruches 1.
Bisher wurde eine »virtuelle Adressierung« unter Verwendung von Software durchgeführt, um einen Zugriff zu Daten und Informationen aus einem zentralen Speicher eines elektronischen Rechners zu erhallen. Der Aus-
f- druck »virtuelle Adressierung« wird häufig zur Bezeichnung einer Zugriffsart in einem zentralen Speicher
", benutzt bei welcher die absolute Adresse der aus dem zentralen Speicher herauszugreifenden Informationen
oder Daten durch.Kombination von mindestens zwei anderen Adressen gebildet wird-.Beispielsweisekann die absolute Adresse unter Verwendung einer Programmadresse in Verbindung mit einer Adresse gebildet werden, welche den Bereich des zentralen Speichers bezeichnet aus dem die gewünschten,Informationen herausgeholt werden sollen.
Ein mit dem bisherigen Adressierverfahren unter Verwendung von Software zusammenhängendes.Problem besteht darin, daß üblicherweise benutzte Informationen und Daten außerhalb der Feldlänge eines Arbeitsprogramms in der Weise herausgegriffen werden müssen, daß die absolute Adresse der Information jedesmal wieder zusammengesetzt werden muß, wenn die Information herausgegriffen werden soll.
Aus dem DE-Buch »Rechnerstrukturen«, Vorträge des Informatik-Symposiums der IBM Deutschland, WiId-
bad 1973, R. Oldenboürg Verlag München Wien, 1974, Seiten 224 bis 260, ist eine Adreßumsetzungseinrichtung
^, der eingangs genannten Art bekannt Bei dieser bekannten Adreßumsetzungseinrichtung besteht keine
1? Rangordnung zwischen den einzelnen Registem.,Die in denRegistern enthaltenen Daten werden daher solange
in diesen gespeichert, bis ein Zähler auf das betreffende Register zeigt und dann eine Ersetzung deslnhalts die-'s;, ses Registers erfolgt Dabei ist unmaßgeblich, wie häufig die zugeordnete virtuelle Adresse vorher benutzt
f wurde. Somit kann der Fall eintreten, daß eine virtuelle Adresse ersetzt wird, obwohl diese unmittelbar vorher
-1^ gegebenenfalls sogar mehrfach benutzt wurde. Der ErsetzungsaJgorithmus richtet sich hier somit nicht nach der
jg Häufigkeit der Benutzung der gespeicherten virtuellen Adressen und auch nicht danach, wann jeweils die letzte
"!?, Benutzung erfolgte, sondern die Ersetzung erfolgt in einer starren Reihenfolge bezüglich .der die virtuellen
H Adressen enthaltenden Register. Mit dieser bekannten Adreßumsetzungseinrichtung ist es swnit nicht möglich,
§j die Inhalte der Register ständig auf den a^uesteir Stand zu bringen, um auf die am meisten benutzten Adressen
Μ Bezug zu nehmen.
s^ Es ist daher Aufgabe der vorliegenden Erfindung, eine Adreßumsetzungseinrichtung nach dem Oberbegriff
des Patentanspruchs I zu schaffen, bei der die Inhalte der assoziativen Register ständig auf den neuesten Stand
g gebracht sind, so daß auf die am meisten benutzten Adressen Bezug genommen werden kann.
0 Diese Aufgabe wird bei einer Adreßumsetzungseinrichtung nach dem Oberbegriff des Patentanspruches 1
1 erfindungsgemäß durch die in dessen kennzeichnendem Teil enthaltenen Merkmale gelöst.
ft Vorteilhafte Weiterbildungen der Erfindung ergeben sich insbesondere aus den Patentansprüchen 2 bis 4.
fr* Di« Erfindung ermöglicht eine Adreßumsetzungseinrichtung, bei welcher die absoluten Adressen unter Ver-
wendung mehrerer Speicherregister herausgegriffen werden, wobei die Inhalte dieser Speicherregister ständig auf den neuesten Stand gebracht werden, um auf die am meisten benutzten Adressen Bezug zu nehmen. Seiten aus einem Speicher können unter Verwendung einer Seitentabelle herausgegriffen werden, die zumindest teilweise in vorbestimmten assoziativen Registern enthalten ist während ihr restlicher Teil über eine Zeilentabelle H zugreifbar ist Bei der erfindungsgemäßen Einrichtung werden die Adressen in einer Reihenfolge untersucht,
H bei welcher die am meisten benutzten Adressen zuerst geprüft und dann, nach Durchsicht einer vorbestimmten
p Zahl derartiger Adressen, weitere Adressen zur Prüfung eingeführt werden können. Wenn eine solche weitere
P: Adresse eine zu benutzende Adresse darstellt, wird sie anschließend in eine Position großen Vorranges
C; gebracht.
; r- Es sini mehrere assoziative Register fortlaufend so angeordnet, daß sie assoziative Worte enthalten, die beim
'*[ Zugriff durch ein Arbeitsprogramm zur Bildung einer absoluten Adresse für die aus dem Zentralspeicher her-
;| auszugreifenden Daten oder Informationen benutzt werden. Falls eine Adresse in einem der assoziativen
$ Register einer durch ein Arbeitsprogramm gesuchten Adresse entspricht, wird die absolute Adresse der gesuch-
;| ten Daten gebildet, und die Daten können aus dem Speicher herausgegriffen werden. Falls die assoziativen
U Registerjedoch die richtige Adresse nicht enthalten, werden weitere Adressen vom Speicherdurch die assoziati-
Il ven Register durchgeführt, bis die richtige Adresse gefunden worden ist.
ijf Die am vorrangigsten benutzten Adressen sind so in assoziativen Registern höherer Randordnung enthalten.
j;: Ein in den assoziativen Registern oder im Speicher befindliches assoziatives Wort wird in eine verhältnismäßig
ρ hohe Vorrangstellung in den assoziativen Registern gebracht. Wenn ein vorher nicht in einem Register enthalte-
|| nes Wort 'm Zentrafc|ieicher aufgefunden wird, dann wird dieses Wort danach im assoziativen Register für die
|| spätere Benutzung in einer Prioritätsposition gespeichert, während Worte niedrigerer Priorität um eine Priori-
|| tätsstuf«; abgestuft werden. Falls ein Wort in eine Position höherer Priorität verschoben wurde, wird die an der
!j absoluten Adresse dieses verschobenen Worts bestehende Lücke durch Verschiebung anderer Worte ausgefüllt.
Ij Die in der Beschreibung in Verbindung mit dem Herausgreifen aus dem Speicher mittels einer Adresse
§ benutzten Ausdrücke »Informationen« und/oder »Daten« sollen in ihrem weitesten Sinn verstanden werden
5iä und Unterprogramme und andere Arten von in einem Rechnerspeicher gespeichertem Material umfassen.
H Diese Ausdrücke sollen sich mithin nicht auf das von einem Rechner verarbeitete Material beschränken, son-
% dem auch zentrales Material zur Beeinflussung des Rechnerbetriebs beinhalten. Der in der Beschreibung
£ benutzte Ausdruck »Arbeitsprogramm« soll sich auf alle dem Rechner eingegebenen Befehle oder Anweisun-
■i gen beziehen, einschließlich der im Speicher zurückgehaltenen sowie der durch eine Eingabevorrichtung zur
Beeinflussung einer spezfeilen Arbeit eingegebenen Befehle oder Anweisungen. Im folgenden ist eine bevorzugte Ausführungsform der Erfindung anhand der Zeichnung näher srlautert Es
Zeigt ' ■ ·" ·' ' ■ ': ' ' ' ■■■■:■ ■ ■.·.· -■ ·: r
Fig. 1 ein Flußdiagramm zur Erläuterung des Konzepts der virtuellen Adresse,
Fig. 2 eine graphische Darstellung des Formats der assoziativen Worte,
Fig. 3 ein Flußdiagramm zur Darstellung einer Art von Informationen von absoluten Adressen für den Speicherzugriff, ■
Fig. 4 und S Blockschaltbilder einer bevorzugten Ausfuhrungsform,
Fig. 6 ein Flußdiagramm, welches die Lese- und Einschreibfunktionen der Einrichtung gemäß den Fig. 4 und S veranschaulicht; und
Fig. 7 eine graphische Darstellung bestimmter Wortformate. ■'.,
Wie speziell aus Fig. 1 hervorgeht, wird eine absolute Adresse für den Zugriff zu einem Speicher durch eine i
Instruktion von einem Arbeitsprogramm gebildet. Diese Adresse, die als »virtuelle Adresse« bezeichnet werden ■
kann, enthält eine virtuelle Seitenadresse und eine virtuelle Wortadresse. Eine Seitentabelle, die eine Anzahl .
von assoziativen Worten enthält, wird zum Vergleichen und Suchen des assoziativen Worts benutzt, welches der S
betreffenden virtuellen Seitenadresse zugeordnet ist. Wenn dieses assoziative Wort aufgefunden worden ist, ["·■
wird eine absolute Seitenadresse geliefert, die in Kombination mit der Wortadresse von der virtuellen Adresse ä
eine absolute Adresse für den Zugriff zu einer bestimmten Position im Speicher bildet. Wie noch nähererläutert Ij
werden wird, ist die Seitentabelle zumindest teilweise in mehreren Registern gespeichert, z. B. in sechzehn asso- f
ziativen Registern, um durch das Programm leicht zugreifbar zu sein. Der restliche Teil der Seitentabelle ist im Speicher in einer vorbestimmten, im folgenden als Zeilentabelle bezeichneten Position gespeichert, wie dies noch näher erläutert werden wird. Vorzugsweise enthält zumindest eines der assoziativen Worte nahe des Endes der Seitentabelle einen Benutzungskode, welcher anzeigt, daß es sich um das letzte assoziative Wort der Tabelle
handelt. Eines der assoziativen Worte enthält mithin einen »Ende-der-Tabelle«-Kode EOT. j
Zur Erläuterung sei im folgenden angenommen, daß die im Speicher des Rechners enthaltenen Daten in »Seiten« angeordnet sind und daß die Seitengröße aus Veranschaulichungsgründen jeweils einem von zwei Formaten entsprechen kann, nämlich einer großen Seite und einer kleinen Seite. Weiterhin sei angenommen, daß eine große Seite 65 536 Worte zu je 64 Bits und eine kleine Seite 512 Worte zu je 64 Bits enthält. Ersichtlicherweise muß daher ein Speicher mit einer Million Worte entweder 16 große Blätter oder nahezu 2000 kleine Blätter enthalten. Weiterhin ist ersichtlich, daß bei einem solchen Speicher mit einer Million Worte 2000 Blätter unabhängig durch eine 11-Bit-Absolut-Seitenadresse erfaßt werden können, während ein Speicher mit 16 großen Seiten durch eine 4-Bit-Absolut-Seitenadresse zugreifbar ist. Weilerhin ist ersichtlich, daß zum Herausgrcifen eines Einzel worts aus einer großen Seite mit mehr als 65 000 Worten eine 16-Bit-Wortadresse erforderlich ist, wahrend für das Herausgreifen eines Einzelworts aus einer kleinen Seite mit 512 Worten nur eine 9-Bit-Wortadresse nötig ist.
Im Hinblick auf die vorstehenden Erläuterungen sei nunmehr auf Fig. 2 verwiesen, welche das Absolutwortformat für eine große und eine kleine Seite veranschaulicht. Gemäß dem oberen Teil von Fig. 2, welcher das assoziative Wortformat einer kleinen Seite zeigt, ist ein aus 64 Bits bestehendes assoziatives Wort vorgesehen,
bei dem die Bits 0 bis 3 nicht benutzt werden, das Bit 4 ein Kennzeichenbit ist, die Bits 5 bis 15 die absolute '
Seitenadresse enthalten, die Bits 16 bis 18 einen Benutzungskode beinhalten, die Bits 19 bis 30 einen Verriege- '
lungs- bzw. Sperrkode enthalten und die Bits 31 bis 63 eine virtuelle Seitenadresse beinhalten. Gemäß dem unteren Teil von F i g. 2 besteht das assoziative Wortformat für eine große Seite gleichfalls aus einem Wort mit 64 Bits, dessen Bits 0 bis 3 nicht benutzt werden, während Bit 4 einen Kennzeichenkode darstellt, Bits 5 bis 8 eine absolute Seitenadresse enthalten, die Bits 9 bis 15 nicht benutzt werden, Bits 16 bis 18 einen Benutzungskode enthalten, die Bits 19 bis 30 einen Verriegelungs- oder Sperrkode beinhalten, die Bits 31 bis 56 eine virtuciie SciicnaufcSse enthalten und die Bits 57 bis 63 nicht benutzt werden.
Die Ableitung der absoluten Adresse läßt sich anhand von Fig. 3 erläutern, in welcher das eine absolute Seitenadresse, einen Benutzungskode, einen Sperrkode und eine virtuelle Seitenadresse enthaltende assoziative Wort durch eine Seitentabelle geliefert wird, während eine virtuelle Adresse gleichfalls vom Arbeitsprogramm (Fig. 1) gebildet wird. Die virtuelle Seitenadresse eines assoziativen Worts wird mit der Adresse einer virtuellen Adresse (z. B. vom Arbeitsprogramm) verglichen, und wenn eine Übereinstimmung auftritt, wird die absolute Seitenadresse vom assoziativen Wort zum Speicheradressenregister übertragen, während eine Wortadresse von der virtuellen Adresse zum Speicheradressenregister für den Zugriff zum Speicher überführt wird. Gemäß Fig. 3 wird im Fall einer kleinen Seite die in den Bits 31 bis 63 des assoziativen Worts enthaltene virtuelle Seitenadresse mit einer in den Bits 16 bis 48 der virtuellen Adresse enthaltenen Adresse verglichen, und wenn Übereinstimmung oder Koinzidenz vorliegt, wird eine absolute Seitenadresse an den Bits 5 bis 15 des assoziativen Worts zu den Bitpositionen 38 bis 48 des Speicheradressenregisters übertragen, während eine in den Bits 49 bis 54 der virtuellen Adresse enthaltene Wortadresse zum Speicheradressenregister übertragen und in diesem in den Bitpositionen 49 bis 54 gespeichert wird. Im Fall eines großen Worts wird eine in den Bitpositionen 31 bis ςΊ des assoziativen Worts enthaltene virtuelle Wortadresse mit einer Adresse in den Bitpositionen 16 bis 41 der virtuellen Adresse verglichen, und im Fall von Koinzidenz wird die in den Bits 5 bis 8 des assoziativen Worts enthaltene absolute Seitenadresse zu den Bitpositionen 38 bis 41 des Speicheradressenregisters übertragen, während eine in den Bitpositionen 42 bis 54 der virtuellen Adresse enthaltene Wortadresse zum Speicheradressenregister in dessen Bitpositionen 42 bis 54 übertragen wird. Das Speicheradressenregister enthält daher die absolute Adresse der aus dem zentralen Speicher herauszugreifenden Daten oder Informationen.
Die F i g. 4 und 5 sind Blockschaltbilder einer bevorzugten Ausführungsform der Erfindung. Wie speziell aus F i g. 4 hervorgeht, werden die Daten von einer Lesehauptleitung I über einen Kanal 10 durch Leseschaltungen 11 und 12 ausgelesen, die beide Ausgangssignale zu einer Fan-in-Schaltung 16, einer Sperrkode-Fan-in-Schaltung Π und einer Virtuellseitenadressier-Fan-in-Schaltung 18 liefern. Ein Fan-in-Schaltkreis 13, welcher die einzelnen Fan-in-Schaltungen 14 bis 18 umfaßt, liefert Eingangssignale zu einem ersten Register 19, das als assoziatives Register AR 00 bezeichnet ist. Dieses Register enthält ein Register-Adressenkennzeichen 19 a, eine Absolutseitenadresse (absolute Seitenadresse) 19 b, einen Benutzungskode 19 c, einen Sperrkode 19 d und eine virtuelle Seitenadresse 19 e. Die Lesedaten werden ebenfalls von den Leseschaltungen 11 und 12 zur Fan-in-Schaitung 20 des assoziativen Registers AR 00 geliefert. Zusätzlich liefert das assoziative Register AR 00 ein Ausgangssignal über einen Kanal 41 zur Fan-in-Schaltung 20 und zur Fan-in-Schaltung 21, welche ihrerseits die Fan-in-Schaltung für das assoziative Register AR Oil darstellt Ein mit 22 bezeichnetes assoziatives Register
AR 01 empfangt ein Eingangssignal von der Fan-in-Schaltung 20 und liefert ein Ausgangssignal zur Fan-inSchaltung 21, die ihrerseits sin Ausgangssignal zum Register 22 abgibt. Letzteres gibt ein Ausgangssignal an ein Register 24 und hierauf der Reihe nach an Register 25,26,27,28,29,30,31 und 32 ab. Wie dargestellt, sind die Register 23 bis 32 jeweils assoziative Register, die derart fortlaufend verdrahtet sind, daß der Inhalt eines vorgeschalteten Registers in ein nachgeschaltetes Register übertragen wird. Die Register 23 bis 32 sind somit auf- s cinanderfolgende assoziative Register, die mit AR Wl-AR 11 bezeichnet sind. Das mit 32 bezeichnete elfte assoziative Register AR 11 liefert ein Ausgangssignal zu dem mit 33 bezeichneten Register AR 12, das seinerseits ein Λ'1-sgangssignal zu dem mit 34 bezeichneten Register ΛÄ 13 liefert. Das assoziative Register/4/? 13 gibt ein AusgaRgssignal an eine Fan-in-Schaltung 35 ab, die ihrerseits ein Ausgangssignal zu dem assoziativen Register AR 14 (36) liefert. Gemäß Fig. 4 sind die Ausgänge der Register AR U-AR 14 an eine Fan-in-Schaltung37 als Eingang zum Register AR 15 (38) angeschlossen. Ebenso empfängt eine Fan-in-Schaltung 35 die Eingangssignale von beiden Registern AR MnnaAR 13. Das Register/*/? 15gibt übereinen Kanal 39 ein Ausgangssignal an jede Fan-in-Schaltung des Fan-in-Schaltkreises 13 ab, welcher dem assoziativen Register AR 00 zugeordnet ist. Außerdem liefern die assoziativen Register AR 14 und AR 15 ein Ausgangssignal zu der mit 40 bezeichneten Einschreibleitung I. Alle Register AR 00-/1/? 15 sind ähnlich aufgebaut wie das Register AR 00. Die Fan-in-Schaltungen 20,21,35 und 37 ähneln der Schaltung 13, nur mit dem Unterschied, daß lediglich die Schaltung 13 die Eingangssignale von den Steuer- oder Regelorganen gemäß F i g. 5 empfangt und lediglich die Fan-in-Schaltungen 13 und 20 Eingangssignale von der Leseleitung I aufnehmen.
Die Adressenkennzeichen-Fan-in-Schaltung 14 empfängt die beschriebenen Eingangssignale und zusätzlich die Eingangssignale von den einzelnen Registeradressenkennzeichen der Register AR 00-AR 15; die genaue Schaltungsverbindung ist dabei für das Register^/? 00 dargestellt, während die anderen Verbindungen über den Kanal 14 von den Registern AR 01 bis AR 15 erfolgen.
Im folgenden ist das Laden der assoziativen Wortregister erläutert.
F i g. 6 veranschaulicht schematisch einen Teil des die assoziativen Worte enthaltenden Zentralspeichers. Zur Erläuterung sei angenommen, daß das assoziative Wort 0 an der absoluten Adresse 4000, das assoziative Wort 15 an der absoluten Adresse 4300 und das Wort 16 an der Adresse 4400 erscheint und das letzte assoziative Wort einen Ende-der Tabelle- bzw. EOT-Kode enthält. Im Speicher kann jede beliebige Anzahl von assoziativen Worten enthalten sein, aus Gründen der Erläuterung werden die im Speicher enthaltenen assoziativen Worte 16 usw. als »Leertabelle« bezeichnet. Die assoziativen Worte 0-15 sollen dabei in die assoziativen Register ΛΛ 00 bis AR 15 eingelesen werden. Wie noch näher erläutert werden wird, ist es zudem vorteilhaft, die assoziativen Worte in umgekehrter Reihenfolge zu lesen, so daß das an der absoluten Adresse 4300 auftretende assoziative Wort IS zuerst in das Register AR 00 eingelesen und durch die einzelnen assoziativen Register verschoben wird, bis es schließlich im Register AR 15 zum gleichen Zeitpunkt erscheint wie das an der absoluten Adresse 4000 auftretende assoziative Wort 0 im Register AR 00 erscheint. Die Reihenfolge zur Durchführung des Einlesens oder Ladens der assoziativen Wortregister ist folgende: Zum Zeitpunkt T 0 werden die assoziativen Worte 14 und 15 von der Hauptleitung I über die betreffenden Lesekreise 11 und 12 (Fig. 4) in die Register AR 00 und AR 01 eingelesen. Während des nächsten Zyklus T 1 wird das assoziative Wort 15 zum assoziativen Register AR 02 übertragen. Während des Zykius T2 wird das assoziative Wort 15 zum assoziativen Register AR 03 und das Wort 14 zum Register AR 02 übertragen, während die Worte 12 und 13 in die Register AR 00 bzw. AR 01 eingelesen werden. Dieser Vorgang setzt sich bis zum Zeitpunkt T11 fort, an welchem das assoziative Wort 15 zum assoziativen Register AR 12 verbracht worden ist. Während des nächsten Zeitzyklus T12 wird das assoziative Wort 15 zu beiden Registern AR 13 und AR 15 übertragen, während des nächsten Zykius T 14 gelangt das assoziative Wort 14 zum Register^/? 13, und während des Zykius T 14 gelangt das assoziative Wort 14 zum Register^/? 14, so daß die assoziativen Register AR 00-AR 15 geladen sind. Die folgende Tabelle I gibt die Ladung der einzelnen assoziativen Register zu den einzelnen Zeitpunkten 7Ό-7Ί4 an:
Tabelle I
Laden der assoziativen Register
14 13 12 11 10 9 8 7 6 5 4 3 2
15 14 13 12 11 10 9 8 7 6 5 4 3
15 14 13 12 11 10 9 8 7 6 5 4
15 14 13 12 11 10 9 8 7 6 5
15 14 13 12 11 10 9 8 7 6
15 14 13 12 11 10 9 8 7
15 14 13 12 11 10 9 8
15 14 13 12 11 10 9
15 14 13 12 11 10
15 14 13 12 11
15 14 13 12
15 14 13
14
15 15 15
Reg. Zeit
70 T\ Tl T3 Γ4 TS T6 Tl Γ 8 T9 TlO TW T\2 TU TU
AROO 14 14 12 12 10 10 8 8 6 6 4 4 2 2 0
AR0\ 15 15 13 13 11 11 9 9 7 7 5 5 3 3 1 AR 02 !5
AR 04
AR 05
AR 06
AROl AROi AR 09
ΛΛ10
AR U
ΛΛ 12
ΛΛ13
ARU ARlS
)5 Aurähnliche Weise können die in den assoziativen Registern AR 00 bis AR 15 erhaltenen Daten in umgekehrter Reihenfolge über die an die Einschreibdatenleitungen 1 angeschlossenen Register AR 14 und AR 15 im Zentralspeicher gespeichert werden. Die Inhalte der Register AR 15 und AR 14 werden somit in umgekehrter Reihenfolge, beginnend mit der absoluten Adresse 4300 (Fig. 6), in den Speicher eingeschrieben. Zum Zeitpunkt T 0 werden die Inhalte der Register AR 15 und AR 14 also zum Speicher überführt, so daß zum Zeitpunkt Tl der Inhalt des Registers AR 13 zum Register AR 15 und der Inhalt des Registers AR 12 zu beiden Registern AR 13 und AR 14 weitergegeben werden. Zum Zeitpunkt T 2 wird außerdem der Inhalt der Register AR 02 bis AR 11 um eine Stelle b.?.rv. Position verschoben. Zum Zeitpunkt T3 werden die Registerinhalte wiederum verschoben. Dieser Vorgang dauert an, bis die in den Registern AR 00-AR 15 enthaltenen assoziativen Worte in umgekehrter Reihenfolge vollständig in den Speicher eingegeben worden sind, wodurch die vorher im Speicher bestehende Reihenfolge wiederhergestellt wird, so daß das assoziative Wort 0 an der absoluten Adresse 4000 und das assoziative Wort 15 an seiner absoluten Adresse 4300 erscheint. Die Tabelle II verdeutlicht die Zeitsteuerungsmerkmale des Einschreibens der assoziativen Worte aus den assoziativen Registern AR 00 bis AR 15 in den Speicher.
'a^.„ »ι ... -
Γ
I
Tabelle II der assoziativen Register 71 72 73 74 25 06 117 78 79 7 10 711 7 12 7 1* 714 5
Speicherung Zeit
70
0 0
I Reg. 0 1 1 7 5 76 77 ίο Ι
ϊ Λ
I
AROO 1 2 1 0
ARO\ 2 3 2 1 0
AR 02 3 4 3 2 1 15
AROi 4 5 4 3 2
ARM 5 6 5 4 3 0
■„'■ AROS 6 6 5 A
t
1 0 0 20
AR 06 7 8 7 6 5 2 1 0 1 0
<4Ä 07 8 9 8 7 6 3 Λ
Z
ί 2 1 0
Ι;"·' ΛΛ08 9 10
11
9
10
8
9
7
8
4 3 2 3
4
2
3
1
2
0
1
0 25
ΛΛ09 10
11
12 11 10 9 5 4 3 5 4 3 2 1 0
';5 ARlO 12 13 12 11 10 6
7
5
6
4
5
6 5 4 3 2 1 0
ARM 13 12 10 8 7 6 6 4 2 0 30
ARU 14 13 11 9 8 7 7 5 3 1
ARU 15 8
AR 15 9
Gemäß F i g. 5 ist eine Einschreibdatenleitung 50 an eine Einschreibschaltung 51 angeschlossen, die ihrerseits ein Eingangssignal zu Schlüsselregistern 52 liefert, welche eine Anzahl von mit 52 a, 52 b, 52 c und 52 d bezeichneten Schlüsselkodes enthalten. Das Ausgangssignal des Registers 52 wird an einen Eingang eines Sperrwählers r 53 angelegt, der seinerseits ein Ausgangssignai zur Sperr-Fan-iri-Sc-haiturig 17 des Registers AR 00 gemäß F i g. 4
liefert. Zusätzlich wird ein Ausgangssignal vom Register 52 als Eingangssignal zu einer Sperrschlüssel-Ver- : gleichschaltung 54 geliefert, die ein zweites Eingangssignal von der Sperrschaltuug 19d (Fig. 4) der Register
I AR Od-AR 15 empfängt. Ein Ausgangssignal vom Register 52 bildet auch ein Eingangssignal zur Spenr-Ver-
gleichschaltung 55. Die Vergleichschaltung 54 liefert ein Eingangssignal zu einer Schlüsselauswahl-Fan-inSchaltung 56, die ihrerseits ein Eingangssignal zu einzelnen Schlüsselauswahlschaltungen 57, 58, 59 und 60 liefert. Die Ausgangssignale der Auswahlschaltungen 57 bis 60 werden als Eingangssignal zum Sperrvfihler 53 und zum Schlüsseldetektor 61 geliefert. Das Ausgangssignal der Schlüsseldetektorschaltung 61 wird als Eingangssignal zu einer Cause-Bitauswahlschaltung 62 geliefert, die über einen Kanal 63 ein Ausgangssignal zur '; Datenstromeinheit liefert. Die Vergleichsschaltung 54 liefert weiterhin ein Ausgangssignal zu einer Anpaß-Fan-
; in-Schaltung 64, die ihrerseits ein Eingangssignal zu Anpaßregistern 65 liefert. Vorzugsweise ist eine der Zahl
j der assoziativen Register entsprechende Zahl von Anpaßregistern vorgesehen, und zwar sind bei der dargesteil-
i' ten Ausführungsform sechzehn Anpaßregister 65 vorgesehen, welche ein Ausgangssignal zu einer Anpaß-Fan- „v
;; out-Schaltung 66 liefern, die ihrerseits ein Ausgangssignal an eine Anpaßdetektorschaliung 67 anlegt, welche
; ein Ausgangssignal zum Cause-Bitwähler 62 schickt. Letzterer liefert die Daten zur Datenstromeinheit bzw.
'; zum Puffer, um diese Einheit bezüglich der Ursache etwaiger Zugriffsunterbrechungen anzuweisen. Der
|j virtuelIeSeitenadressierkodevonderSchaltungl9ederRegister^Ä 00-AR lSgemäßFsg. 1 wird als Eingangs-
|: signal einer virtuellen Adressen-Vergleichsschaltung 70 eingegeben, welche ein zweites Eingangssignal von
?3 einer virtuellen Adressen-Fan-out-Schaltung 71 empfangt, weiche ihrerseits ein Eingangssignal vom virtuellen
aj Adressenregister 72 erhält. Letzteres nimmt die Datenstromadressen von Speicher auf. Die Vergleichsschaltung
pi: 70 liefert ein Eingangssignal zur Schlüsselauswahl-Fan-in-Schaltung56 und zu den Anpaß-Fan-in-Schal-
fj' tungen 64.
i-% Ein Funktionssignal wird über einen Kanal 75 einer Funktionssteuer-Fan-in-Schaltung 76 eingegeben, die
ι, ihrerseits sequentielle Ausgangssignale zu Funktionsanforderungsschaltungen 77 und 78 abgibt, wobei der Aus-
I* gang der Schaltung 77 an die Sperr-Vergleichsschaltung 55 sowie an die Funktionsanforderungsschaltung
fi 78 angeschlossen ist und das Ausgangssignal der Schaltung 78 als Eingangssignal der Funktions-Fan-in-Schal-
ψ tung 76 eingegeben wird. Das virtuelle Adressenregister 72 liefert ein Ausgangssignai zu einem Hilfsadressen-
ii register 80, das seinerseits Ausgangssignale zu einem Speicheradressenregister 81, zur virtuellen Blatt-Fan-in-
jg Schaltung 18 des Registers ΛΑ 00 (Fig.4) und zum virtuellen Adressenregister 72 liefert. Eine Absolut-
j| adressenauswahlschaltung 85 empfangt ein Eingangssignal von den absoluten Blattidentifiziergrößen 19 b der
'■% Register AR W-AR 15 gemäß Fig. 4 und von der Anpaß-Fan-out-Schaltune 66. Die Schalhmo «ί ii>f#»rt pin
Ausgangssigna] zur Absolutblattidentifizier-Fan-in-Schaltung 15 des Registers AR 00 gemäß F ϊ g. 4 sowie zum SpeicheradressenregisterSl. Der Ausgatgs-Benutzungskode 19 c der Register AR OQ-AR 15 wird an die Beniutzungsbitwählschaltung 86 angelegt, die ihrerseits ein Ausgangssignal zu einer Benutzungsbit-Änderungsschaltung 87 zur Eingabe in die Benutzungsbit-Fan-in-Schaltung 16 (Fig. 4) des Registers AR 00 liefert Außerdem empfängt die Schaltung 86 ein Eingangssignal von der Anpaß-Fan-out-Schaltung 66. Das Speicheradressenregister 31 liefert über einen Kanal 88 ein Ausgangssignal zum Zentralspeicher.
Vor der Erörterung der Arbeitsweise beim Heraussuchen derassoziativenRegisterzurBildung einer Absolutadresse wird eine Beschreibung des Benutzungskodes des assoziativen Wortformats als zweckmäßig angesehen. In Fig. 2 ist ein 3-Bit-Benutzungskode in den Bitpositionen 16 bis 18 des assoziativen WortformEt·- dargestellt Es ist zu beachten, daß dieser Kode sowohl im kleinen als auch im großen assoziativen Seiten-Wortformat erscheint Der Benutzungskode ist ein 3-Bit-Kode, dersich am besten anhand der folgenden Tabelle III erläutern läßt
Tabelle IU
Benutzuneskode
Kode Bedeutung
000 Ende der Tabelle; keine weiteren Seiten in der Tabelle an den folgenden absoluten Adressen vorhanden.
001 Nullkode; dient nicht jur Kennzeichnung einer im Speicher gespeicherten Seite.
010 Kleine (512-Wort) Seite, auf die nicht durch CPU (Zentraleinheit)
Bezug genommen worden ist.
011 Große (65 536-Wort) Seite, auf die nicht durch CPU Bezug genommen
worden ist
100 Kleine Seite, auf die durch CPU Bezug genommen worden ist; CPU
hat ein Wort aus der Seite ausgelesen.
101 Große Seite, auf die durch CPU Bezug genommen worden ist; CPU
hat ein Wort aus der Seite ausgelesen.
110 Kleine Seite, die durch CPU abgeändert worden ist; mindestens ein Bit
in Seite ist geändert worden.
111 Große Seite, durch CPU geändert; mindestens ein Bit der Seite ist
geändert worden.
Der Benutzungskode kann mithin eine Tabelle entsprechend dem Ende der Seite oder einen Nullzustand des assoziativen Worts anzeigen oder angeben, ob auf eine Seite durch die CPU Bezuggenommen wurde oder durch diese geändert worden ist oder nicht.
In Verbindung mit den Fig. 1,4 und 5 sei angenommen, daß das Arbeitsprogramm eine Anforderung für Informationen oder Daten aus dem zentralen Speicher enthält und daß das der absoluten Adresse dieser Daten oder Informationen zugeordnete assoziative Wort in einem der assoziativen Speicher AR QO-AR 15 enthalten ist. Die durch das Programm gelieferte virtuelle Adresse wird zum Virtuell-Adressenregister 72 (Fig. 5) und anschließend zur Virtuell-Adressen-Fan-out-Schaltung 71 und zur Virtuell-Adressenvergleichsschaltung 70 übertragen. Die jedem der assoziativen Register AR OQ-AR 15 zugeordneten assoziativen Worte werden als zweites Eingangssignal der Schaltung 70 eingegeben. Wenn Übereinstimmung zwischen der virtuellen Seitenadresse sowohl des assoziativen Worts als auch der virtuellen Adresse festgestellt wird, wird ein Eingangssignal zur Anpaß-Fan-in-Schaltung 64 und sodann zu den Anpaßregistern 65 erzeugt. Letztere enthalten Informationen dahingehend, wo die Koinzidenz zwischen der virtuellen Adresse und dem entsprechenden assoziativen Wort auftrat, nämlich welches der assoziativen Wortregister das richtige Wort enthält. Ein Ausgangssignal über die Anpaß-Fan-out-Schaltung 66 zu den absoluten Adressenauswahlschaltungen 85 gewährleistet die Auswahl des assoziativen Worts. Die absolute Seitenadresse von der Schaltung 19 b (F i g. 4) wird zur absoluten Adressenauswahlschaltung 85 übertragen, um die absolute Adresse auszuwählen, die ihrerseits im Speicheradresse nregister81 gespeichert wird. Die Wortadresse der virtuellen Adresse wird vom Wähler 72 in das Register 80 über-
tragen, um zur Vervollständigung der absoluten Adresse in das Register 81 eingegeben zu werden. Das Anpaßregister 65 bewirkt außerdem, daß das ausgewählte assoziative Wort in einem der Register AR QQ-AR 15 über die Schaltungen 85,87,53 und 80 sowie über den Kanal 41 zur Fan-in-Schaltung 13 übertragen wird, um unmittelbar in das Register AR 00 eingegeben zu werden. Alle vorher dem ausgewählten Wort vorhergehenden assoziativen Worte werden in den assoziativen Wortregistern um eine Stelle abwärts verschoben. Wenn daher dus entsprechende assoziative Wort im Register AR 00 erscheint, tritt die virtuelle Seiteriadresse in der Schaltung 19 e auf, um der virtuellen Adressenvergleichsschaltung 70 eingegeben zu werden und den Anpaßregistern anzuzeigen, daß das gesuchte assoziative Wort sich nunmehr im Register AR 00 befindet. Die so im Speichcradressenregister 81 gebildete absolute Adresse steht für den Zugriff zum Speicher über den Kanal 88 bereit.
Vorstehend wurde angenommen, daß das der absoluten Adresse für die Daten oder Informationen im Zentralspeicher zugeordnete assoziative Wort vorher in einem der assoziativen Register AR 00—AR 15 gepeichert worden ist Im folgenden sei nunmehr angenommen, daß das gewünschte assoziative Wort, das eine Übereinstimmung mit der virtuellen Seitenadresse des Arbeitsprogramms herstellt, nicht in einem der assoziativen Register AR Wi-AR 15 gespeichert ist
Wie erwähnt, werden hei einer Datenstromanforderung für Daten aus dem Speicher die assoziativen Register auf eine Übereinstimmung zwischen dem assoziativen Wort und der virtuellen Seitenadresse untersucht, und wenn eine solche Übereinstimmung bzw. Anpassung vorhanden ist, wird das im gewählten assoziativen Register enthaltene Wort in das Register Aß 00 eingelesen, während die anderen Worte um eine Stelle oder Position verschoben werden. Die absblute Adresse wird zum Speicheradressenregister 81 und von dort zum Speicher übertragen, um das gewünschte Wort herauszugreifen.
Wenn z. B. das assoziative Wort nicht in den assoziativen Registern AR 00-AR 15 erscheint, werden die Anpaßregister nicht gesetzt Der Benutzungskode wird durch die Schaltung 19 cgeprüft, um festzustellen, ob in den assoziativen Registern ein Ende-der-Tabelle-Benutzungskode auftritt Sofern dies der Fall Ist, wird ein Unterbrechungszyklus eingeleitet, um den weiteren Informationsstrom vom Speicher über eine nicht darge- is stellte Vorrichtung zu beenden. Falls jedoch der Ende-der-Tabelle-Kode in den assoziativen Registern nicht erscheint, wird der Benutzungskode durch die Benutzungsbit-Auswahlschaltung 86 untersucht bzw. geprSft, um festzustellen, ob in einem der assoziativen Register ein »Null«-Kode vorhanden ist Obgleich die Benutzung des »NuH«-Kodes vorher nicht beschrieben worden ist, sei zum Zweck der Erläuterung angenommen, daß in keinem der assoziativen Register AR W-AR 15 ein »Null«-Kode erscheint Wenn dies zutrifft, wird das im Register AR 15 enthaltene assoziative Wort 15 über den Kanal 39 (F i g. 4) zum assoziativen Register AR 00 verschoben, und die restlichen assoziativen Worte 0 bis 14 werden über die Einschreibleitung 1 (Kanal 40) wieder in die Positionen 1 bis 14 des Speichers eingeschrieben, und zwar beginnend an der absoluten Adresse 4000. Die Vorrichtung steht sodann für die Einleitung einer neuen Zeilentabellensuche bereit.
Bei einer Zeilentabellensuche werden die Daten, beginnend an der absoluten Adresse 4400 (assoziatives Wort 16) in die Register AR 00 und AR 01 eingelesen, während die assoziativen Worte 16 usw. über die Lesedatenleitung 1 in die Register übertragen werden, und das Wort 15 wird in Abwärtsrichtung durch die assoziativen Register durchgeschaltet Der Vergleich zwischen dem Benutzungskode und der virtuellen Seitenadresse erfolgt in Verbindung mit den Registern AR 00 und AR 01. Durch Entleerung des Inhalts von 15 der 16 assoziativen Register vermögen die assoziativen Register AR 00 und AR 01 nunmehr ungehindert auf die Vergleichsnetze einzuwirken, um das richtige assoziative Wort in der Zeilentabelle festzustellen.
Beispielsweise sei angenommen, daß das 17. assoziative Wort die Anpassung bzw. Übereinstimmung für die virtuelle Seitenadresse im Arbeitsprogramm enthält. Gemäß Tabelle IV erscheint das assoziative Wort 15 anfanglich im Register AR 00. Während des nächsten Zyklus TO liest die Lesedatenleitung 1 die assoziativen Worte 16 und 17 in die Register AR 01 bzw. AR 00 ein, wodurch die Position des assoziativen Worts 15 zum assoziativen Register AR 02 verschöben wird. Die Vergleichsschaiiüngen (Fig. 5) zeigen eine Übereinstimmung mit dem assoziativen Wort 17 an. Die Anpaß-Flip-Flops sind so gesetzt oder eingestellt, daß dann, wenn das assoziative Wort 17 das assoziative Register ΛΛ 13 erreicht, dieses Wort während des Rests des Zyklus in diesem Register zurückgehalten wird. Das System arbeitet somit auf die vorher beschriebene Weise weiter, bis - wie am Zyklus 7*11 angedeutet - die assoziativen Worte 15 bis 23 in den assoziativen Registern AR U-AR 05 in umgekehrter Reihenfolge erscheinen. Beim nächsten Zyklus T12 wird das Wort 15 zum assoziativen Register ΛΑ 14 und das Wort 16 zum assoziativen Register AR 15 übertragen, so daß die assoziativen Worte 15 und 16, beginnend mit der absoluten Adresse 4400, wieder in die Zeilentabelle eingelesen werden und das assoziative Wort 15 an der Stelle erscheint, an welcher vorher das frühere assoziative Wort 16 erschien. Beim nächsten Zyklus T13 wird das assoziative Wort 17 zum Register AR 13 überführt, so daß der Inhalt der assoziativen Wortregister AR 11 und AR 12 beim nächsten Zyklus T14 in die assoziativen Wortregister ΛΛ 15 bzw. AR 14 verbracht wird. Die assoziativen Worte werden daher, beginnend an einer absoluten Adresse 4400, wieder in die Zeilentabelle eingelesen, und zwar der Reihe nach beginnend mit dem Wort 15, gefolgt vom Wort 16, worauf das Wort 18, das Wort 19 usw. folgt, wobei das Wort 17 stets im Register AR 13 gehalten wird.
Tabelle IV Suche der Leertabelle
Reg.
Zeit
ι ro
T \ Tl T 3 ... T 10 T 11 T U Τ 13 T 14 Γ 15 Γ 16 Γ 17 Γ 18
10
15
20
25
35
45
50
55
M)
(ι5
Λ-ROO ΛΑΟΙ ΛΑ 02 ΛΑ 03 ΛΑ 04 ΛΛ05
16
15
16 16 15
19 18 18
16 15
ΛΑ 08 ΛΑ 09 ΛΛ10 ΛΑ 11 ΛΑ 12 ΛΑ 13 ΛΑ 14 Λ/Μ5
23 22 21 20 19 18
16 15
23 22 21 20 19 18
16
15
23 22 21 20 19 18
16 15 16
23 22 21 20 19 18
23 22 21 20 19
18 19
23 22 21 20
23 22 21
GH 20 21
23 22 [Ϊ7]
Als nächstes wird der Inhalt des Speichers, beginnend mit der absoluten Adresse 4000, in umgekehrter Reihenfolge wieder in die assoziativen Register eingelesen, bis das assoziative Wort 14 im assoziativen Register AR 12 erscheint. Sodann wird der Vorgang fortgesetzt, indem das assoziative Wort 17 aus dem assoziativen Register AR 13 zürn Register AR 15 verschoben wird, so daß die Inhalte der Register AR (SS-AR IS die Worte 0-14 und 17 enthalten. Hierauf wird das assoziative Wort 17 aus dem assoziativen Register AR 15 über den Kanal 39 zum Register AR 00 ausgelesen, wobei die anderen Worte um ein Register abwärts verschoben werden. Gemäß Tabelle V erscheinen die assoziativen Worte somit vor der Zeilentabellensuche in richtiger Reihenfolge, während sie nach der Suche der Reihe nach auftreten, nur mit dem Unterschied, daß das assoziative Wort 17 nunmehr im Register AR 00 erscheint.
Tabelle V Leertabellensuche
Tabellenposilion
Assoziative Register
ΛΛ00 ΛΛ01 AR 02 AR 03 ΛΛ04 ΛΛ05 ΛΛ06 ΛΛ07 ΛΛ08 ΛΛ09 ΛΛ10 ΛΛ11 ARU AR 13 AR 14 ARlS
Vor der Suche Nach der Suche
0 17
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
Fortsetzung
Tabellenposition
Leertabelle 4400 4440 4480 44C0 4500 4540 4580 45C0 4600
Vor der Suche
16 17 18 19 20 21 22 23 EOT
Nach der Suche
15
16
18
19
20
21
22
23
EOT
10
15
Die mit der Umspeicherung der assoziativen Worte aus dem Speicher in die assozfe'fven Wortregister AfC(Sd-AR 14 zurück und mit der Verschiebung des assoziativen Worts 17 zum assoziativen Register AR 00 verbundene Zeit- oder Taktsteuerung irc in Tabelle VI veranschaulicht.
Tabelle VI
Wiederbeladen der assoziativen Register nach Leertabellensuche
20
Reg. Zeit Ti TZ Γ3 T4 Γ5 T6 Tl TS T9 Γ 10 τη τη T Π Γ 14 Γ 16
TO 13 11 11 9 9 7 7 S 5 3 3 ι 1 0 17
AROO 13 14 12 12 10 10 8 8 6 6 4 4 2 2 1 0
ARQl 14 14 13 12 11 10 9 8 7 6 5 4 3 2 2 I
AR 02 14 13 12 1! !0 9 8 7 6 5 4 3 3 >2
AR 03 14 13 12 11 10 9 8 7 6 15 4 4 3
ΛΛ04 14 13 12 11 10 9 8 7 6 5 5 4
AROS 14 13 12 Jl 10 9 8 7 6 6 5
AR 06 14 13 12 11 10 9 8 7 7 6
ARVl 14 13 12 11 10 9 8 ü 7
ARm 14 13 12 11 10 9 9 8
/1Λ09 14 13 12 11 10 10 9
AR 10 14 13 12 11 11 10
ARW 14 13 12 12 11
ARM 17 17 17 17 17 17 17 17 17 17 17 14 13 13 12
ARU 17 14 14 14 13
ARU 17 17 17 17 F 17 17 17 17 17 17 17 17 17 14
AR\S 17
30
35
40
45
50
55
Wenn die Zeilentabelle mehr als 31 assoziative Worte enthält und wenn das gesuchte assoziative Wort das Wort 32 oder ein folgendes Wort ist, werden die assoziativen Worte ersieh llicherweise kontinuierlich durch die Register AR W-AR 15 geleitet, bis das richtige assoziative Wort gefunden ist, so daß das assoziative Wort 15 schließlich im Speicher an der Adresse 4400 erscheint. Das gesuchte assoziative Wort gelangt dann schließlich in das Register AR 00, während alle anderen, vorher vor dem gesuchten Wort stehenden assoziaii£«ri"Worte um eine Position zurückverschoben werden.
Wie erwähnt, kann das assoziative Wort einen Benutzungskode enthalten, der angibt, daß das betreffende Wort ein »Nuriwort« ist, was speziell bedeutet, daß das assoziative Wort keine; Seite im Speicher zugeordnet ist. Wenn ein einen »Null«-Benutzungskode enthaltendes assoziatives Wort festgestellt und eine Leer- oder Zeilentabellensuche eingeleitet wird, wird das den Nullkode enthaltende Wort, anstatt das assoziative Wort 15 in das Register Λ/? 00 zu verschieben, in das Register AR 00 eingelesen. Die assoziativen Worte 16 bzw. werden in die
11
60
Register AR 00-AR 15 eingelesen, und das den Nullkode enthaltene Wort wird gelöscht. Wenn das gesuchte Wort einläuft, wird es in das Register Λ Λ 00 eingelesen, während ein Nullbenutzungskode in seine Position eingesetzt wird. Alle ursprünglich nach dem Nullkode auftretenden assoziativen Worte werden daher in derTabellc um eine Position oder Stelle vorwärts verschoben, und der Nullkode wird wieder in die Position eingesetzt, S welche vorher von dem der virtuellen Seitenadresse angepaßten assoziativen Wort eingenommen wurde. Gemäß Tabelle VlI sei somit angenommen, daß das assoziative Register ΛΛ 10 ein den Nullkode enthaltendes assoziatives Wort enthält, und daß die virtuelle Seitenadresse mit dem in der Leertabelle an der absoluten Adresse 4500 erscheinenden assoziativen Wort übereinstimmt. Es wird auf vorher beschriebene Weise eine Leertabellensuche durchgerührt, wobei der im Register AR 10 benndliche Nullbenutzungskode in die vorher ίο vom assoziativen Wort 23 an der absoluten Adresse 4500 eingenommene Position und das assoziative Wort 23 in das assoziative Register AR 00 verschoben wird. Bei jeder Leertabellensuche wird jeweils nur eine Null herausgezogen.
Tabelle VII
Leertabellensuche; Null im assoziativen Register Tabellenposition
20 AR 00
AROl
AROl
AR 03 25 AR 04
AR 05
AR 06
AROl 30 AR 08
AR 09
ARlO
ARU 35 AR 12
ARU
ARU
ARlS 40 4400
4440
4480
44C0
4500
4540
4580
45C0 4600
Wenn die Null in der Leer- oder Zeilentabelle erscheint und das Übereinstimmungswort auf die Null folgt,
wird die Null ebenso abwärts verschoben, um die Position des Übereinstimmungs-Worts einzunehmen. Wie aus
Tabelle VIII hervorgeht, wird der Nullkode somit von der absoluten Adresse 4480 zur absoluten Adresse 4540
verschoben, während das assoziative Wort 21 von der absoluten Adresse 4540 zum assoziativen Register AR 00
verschoben wird.
12
Vor der Suche Nach der Suche
0 [?3
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
NULL 9
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
NULL NULL
20 20
21 21
22 22
Bj NULL
EOT EOT
Tabelle VIII
Leertabellensuche; Null in der Leertabelle
Tabellenposition
AROO AROl AROZ AR 03 AR 04 AR 05 AR 06 ΛΛ07 ΛΛ08 ΛΛ09 ΛΛ10 ARU ARU ARU ARU AR\S 4400 4440 4480
44CO 4500 4540 4580 45C0 4600
Vor der Suche Nach der Suche
0 ED
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
NULL 17
19 19
20 20
ID NULL
22 22
23 23
EOT EOT
Für die Bildung einer Null sei anhand von Tabelle IX angenommen, daß in den assoziativen Registern und in der Leertabelle eine Tabelle erscheint, die 23 assoziative Worte, gefolgt von einem einen Ende-der-Tabelle-Benutzungskode (EOT) enthaltenden assoziativen Wort, enthält. Weiter sei angenommen, daß ein mit einem nicht in der Tabelle erscheinenden Wort übereinstimmender Befehl gegeben wird. Die Leertabellensuche wird dabei aufdie vorher beschriebene Weise durchgeführt, wobei jedes assoziative Wort um eine Position oder Stelle zurück verschoben wird. Um die »Lücke« am Kopf der Tabelle auszufüllen, wird dann ein assoziatives Wort eingesetzt, das einen »Null«-Kode enthält, welcher angibt, daß das assoziative Wort nicht mit einem Blatt der Leeroder Zeilentabelle übereinstimmt. Der Nullkode wird durch Änderung des Benutzungskodes durch die Schaltung 87 in Fig. 5 erzeugt.
Tabelle IX Nullbildung
Tabellenposition
AROO AROl AROl AR 03 AR 04 AR 05 AR 06 AR 07 AR 08
Vor der Suche Nach der Suche
0 NULL
1 0
2 1
3 2
4 3
5 4
6 5
7 6
8 7
13
25 06 117 Nach der Suche
Fortsetzung 8
Tabellenposition Vor der Suche 9
AR 09 9 10
AKiO 10 11
AR H 11 12
ARlZ 12 13
ARU 13 14
ARU 14 15
AR IS 15 16
4400 16 17
4440 17 18
4480 18 19
44C0 19 20
4500 20 21
4540 21 22
4580 22 23
45C0 23 EOT
4600 EOT
4640
Aus den Fi g. 2 und 3 geht hervor, daß das assoziative Wort einen »Sperr«-Kode enthält, der einen Programmschutzkode darstellt. Der Sperrkode wird gemäß Fig. 4 zu den Sperrschaltungen 19rf und von diesen zu den Vergleichsschaltungen 54 (F i g. 5) übertragen. Über die Einschreibdatenleitung 51 wird ein »Schlüssel«-Wort in das Register 52 eingeführt, und dieses Wort enthält vier Schlüssel mit dem Format gemäß Fig. 7. Gemäß den F i g. 7 und 5 sind vier Schlüsselkode vorgesehen, die von den Befehls- oder ΙΟ-Abschnitten des Rechners in das Register 52 eingegeben werden. Jedem Schlüsselkode geht ein entsprechender Sperrkode mit drei Bits voraus. Wenn der Sperrkode eines assoziativen Worts einem Schlüsselkode entspricht, wird die absolute Seitenadresse in die Lage versetzt, die vorher beschriebenen Operationen durchzuführen. Wenn keine Übereinstimmung zwisehen dem Sperrkode und einem der vier Schlüsselkode vorhanden ist, wird ein Zugriff zur betreffenden Seite des Speichers blockiert. Die jedem Schlüsselkode zugeordneten Sperrkode blockieren bestimmte Operationen bei der Durchführung der absoluten Adressierung. Wenn daher das erste Bit des Sperrkodes eines bestimmten, zugeordneten Schlüssels gesetzt ist, kann die CPU für Einschreiboperationer. gesperrt werden; wenn das zweite Bit gesetzt ist, kann die CPU für Leseoperationen gesperrt werden; ist dagegen das dritte Bit gesetzt, so kann die genannte Einheit für Instruktionsbezugnahmen gesperrt werden. Unter Verwendung der Sperr- und Schlüsselkode können die absoluten Adressen für die Operation für spezielle Funktionen gehandhabt werden, während andere Funktionen gesperrt werden. Die Sperrauswahl wird, wie dargestellt, zur Sperr-Fan-in-Sch^ltung 17 (F i g. 4) zurück übertragen. Weiterhin wird durch einen Vergleich der Schlüssel- und Sperrkode durch die Vergleichsschaltungen 54 eine bestimmte Schlüsselfunktion über die Schaltungen 57-60 gemäß F i g. 5 ausgewählt, um die Cause-Bit-Auswahlschaltung 62 zu betätigen.
Es wird somit eine Adreßumsetzungseinrichtung zur Ermöglichung der Aufstellung einer absoluten Adresse für den Zugriff zu einem zentralen Speicher eines Rechners geschaffen. Häufig benutzten Adressen wird in einer assoziativen Registertabelle Priorität bzw. Vorrang eingeräumt, während weniger häufig benutzte Adressen in der Tabelle schrittweise der Reihe nach abwärts verlagert werden. Wenn in der Tabelle eine Suche nach einer nicht in einem assoziativen Register enthaltenen Adresse eingeleitet wird, wird die im assoziativen Register in der niedrigsten Stelle stehende Adresse in die höchste Stelle der Leer- oder Zeilentabelle verlagert, während die anderen Worte zum Speicher überführt werden. Das übereinstimmende Wort wird während seines Durchlaufs durch die Register festgestellt und in die höchste Vorrangstellung gebracht. Die Registerinhalte werden zum Speicher zurückgeführt, und die früheren Inhalte werden in die Register zurück übertragen.
Durch Handhabung der Register werden zudem die normalerweise zwischen den im Speicher gespeicherten assoziativen Worten auftretenden Spalte bzw. Lücken automatisch geschlossen, so daß eine Zeitvergeudung für das Durchforschen der leeren Register- und Speicherpositionen vermieden wird.
Zusammenfassend wird also eine Einrichtung zur Bildung einer absoluten Adresse für den Zugriff zum Speicher eines Rechners geschaffen, bei welcher eine Anzahl von assoziativen Registern, die jeweils ein assoziatives Wort enthalten, der Reihe nach angeordnet sind und jedes assoziative Wort eine absolute Seitenadresse und eine virtuelle Seitenadresse besitzt. Dabei sind Einrichtungen zum Vergleichen der virtuellen Seitenadressen der assoziativen Worte mit einer virtuellen Adresse eines Arbeitsprogramms sowie eine Einrichtung zum sequentiellen Verschieben der assoziativen Worte vorgesehen, so daß das die virtuelle Seitenadresse, welche der virtuellen Adresse des Arbeitsprogramms entspricht, enthaltene assoziative Wort in das assoziative Register der höchsten Stelle eingesetzt wird.
Hierzu 5 Blatt Zeichnungen

Claims (1)

  1. Patentansprüche:
    I. Adreßumsetzungsemrichtung zur Bildung einer absoluten Adresse für den Zugriff zum Speicher eines elektronischen Rechners, mit
    mehreren assoziativen Registern zur Speicherung jeweils eines assoziativen Worts, von denen jedes eine absolute und eine virtuelle Serienadresse besitzt,
    einer Empfangseinrichtung zur Aufnahme einer virtuellen Adresse aus einem Arbeitsprogiamm, wobei die virtuelle Adresse aus einer virtuellen Seitenadresse und einer Wortadresse besteht,
    einer Vergleichseinrichtung zum Vergleichen der virtuellen Seitenadresse der virtuellen Adresse des Arbeitsprogramms mit der virtuellen Seitenadresse in mindestens einigen der Register,
    einer ersten Steuereinrichtung, welche anspricht, wenn die Vergleichseinrichtung eine Übereinstimmung zwischen der virtuellen Seitenadresse der virtuellen Adresse des Arbeitsprogramms und einer virtuellen Seitenadresse eines assoziativen Wortes feststellt, und
    einem auf die Vergleichseinrichtung ansprechenden Speicheradressenregister zur Speicherung der absolu-
    IS ten Seitenadresse des die entsprechende virtuelle Seitenadresse enthaltenden assoziativen Worts,
DE2506117A 1974-06-07 1975-02-13 Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse Expired DE2506117C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/477,215 US3938100A (en) 1974-06-07 1974-06-07 Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques

Publications (2)

Publication Number Publication Date
DE2506117A1 DE2506117A1 (de) 1976-01-02
DE2506117C2 true DE2506117C2 (de) 1986-04-03

Family

ID=23895003

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2506117A Expired DE2506117C2 (de) 1974-06-07 1975-02-13 Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse

Country Status (7)

Country Link
US (1) US3938100A (de)
JP (1) JPS5732428B2 (de)
CA (1) CA1015865A (de)
DE (1) DE2506117C2 (de)
FR (1) FR2274086A1 (de)
GB (1) GB1477977A (de)
NL (1) NL180887C (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4020470A (en) * 1975-06-06 1977-04-26 Ibm Corporation Simultaneous addressing of different locations in a storage unit
US4053948A (en) * 1976-06-21 1977-10-11 Ibm Corporation Look aside array invalidation mechanism
US4084226A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4099256A (en) * 1976-11-16 1978-07-04 Bell Telephone Laboratories, Incorporated Method and apparatus for establishing, reading, and rapidly clearing a translation table memory
GB2008821B (en) * 1977-11-04 1982-01-13 Sperry Rand Corp Digital computers
US4241401A (en) * 1977-12-19 1980-12-23 Sperry Corporation Virtual address translator utilizing interrupt level code
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
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4300208A (en) * 1979-11-30 1981-11-10 Control Data Corporation Controlling which of two addresses is used by a microcode memory
US4482952A (en) * 1980-12-15 1984-11-13 Nippon Electric Co., Ltd. Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data
US4439830A (en) * 1981-11-09 1984-03-27 Control Data Corporation Computer system key and lock protection mechanism
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
US4532606A (en) * 1983-07-14 1985-07-30 Burroughs Corporation Content addressable memory cell with shift capability
US4538241A (en) * 1983-07-14 1985-08-27 Burroughs Corporation Address translation buffer
US4587610A (en) * 1984-02-10 1986-05-06 Prime Computer, Inc. Address translation systems for high speed computer memories
US4821171A (en) * 1985-05-07 1989-04-11 Prime Computer, Inc. System of selective purging of address translation in computer memories
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
JPH07104868B2 (ja) * 1988-04-08 1995-11-13 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ記憶検索システム
US4965720A (en) * 1988-07-18 1990-10-23 International Business Machines Corporation Directed address generation for virtual-address data processors
JPH0373328U (de) * 1989-11-22 1991-07-24
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
EP0506236A1 (de) * 1991-03-13 1992-09-30 International Business Machines Corporation Adressübersetzungseinrichtung
JPH0581133A (ja) * 1991-09-19 1993-04-02 Nec Corp 情報処理装置
US5204633A (en) * 1992-02-25 1993-04-20 International Business Machines Corporation Electromagnetic contactor with closure fault indicator
US5497474A (en) * 1993-02-25 1996-03-05 Franklin Electronic Publishers, Incorporated Data stream addressing
US6370655B1 (en) * 1998-10-19 2002-04-09 Winbond Electronics Corp. Method and system for reversed-sequence code loading into partially defective memory
US7013355B2 (en) * 2003-01-09 2006-03-14 Micrel, Incorporated Device and method for improved serial bus transaction using incremental address decode
TW591388B (en) * 2003-02-21 2004-06-11 Via Tech Inc Memory address decoding method and related apparatus by bit-pattern matching
TWI221221B (en) * 2003-02-27 2004-09-21 Via Tech Inc Address decoding method and related apparatus by comparing mutually exclusive bit-patterns of address

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3292153A (en) * 1962-10-01 1966-12-13 Burroughs Corp Memory system
GB1124017A (en) * 1964-12-17 1968-08-14 English Electric Computers Ltd Data storage apparatus
US3533075A (en) * 1967-10-19 1970-10-06 Ibm Dynamic address translation unit with look-ahead
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
US3685020A (en) * 1970-05-25 1972-08-15 Cogar Corp Compound and multilevel memories
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3761881A (en) * 1971-06-30 1973-09-25 Ibm Translation storage scheme for virtual memory system
US3764996A (en) * 1971-12-23 1973-10-09 Ibm Storage control and address translation
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism

Also Published As

Publication number Publication date
NL7506726A (nl) 1975-12-09
JPS5732428B2 (de) 1982-07-10
JPS50159934A (de) 1975-12-24
US3938100A (en) 1976-02-10
FR2274086A1 (fr) 1976-01-02
FR2274086B1 (de) 1980-08-01
CA1015865A (en) 1977-08-16
GB1477977A (en) 1977-06-29
AU8154175A (en) 1976-12-02
NL180887C (nl) 1987-05-04
DE2506117A1 (de) 1976-01-02

Similar Documents

Publication Publication Date Title
DE2506117C2 (de) Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse
DE3431255C2 (de)
DE2463200C2 (de)
DE2730328C3 (de) Schaltungsanordnung zur Feststellung des bestübereinstimmenden Datenworts von in einem Datenwort-Speicher gespeicherten Datenworten mit einem Suchwort
DE1499182B2 (de) Datenspeichersystem
DE4331703C2 (de) Elektronische Einrichtung
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1951552A1 (de) System zur Speichersicherung
DE3802706A1 (de) Drucksteuervorrichtung zum steuern des benutzungszustandes von mehrfachen formatbloecken
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE19621768A1 (de) Telefon mit Aufnahmevorrichtung für eine Telefonspeicherkarte und Verfahren zum Übertragen von Daten einer Telefonspeicherkarte
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
CH631386A5 (de) Textverarbeitungsmaschine.
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE3441640A1 (de) Streifenfeldspeichercontroller
DE3234892C2 (de)
DE1774607B2 (de) Speicheranordnung mit einem informationszerstoerend lesbaren speicher
EP0230994B1 (de) Verfahren zur Steuerung des Programmablaufs bei der Formularbearbeitung in Datenverarbeitungsanlagen
EP1204917B1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
DE1221037B (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2801707C2 (de) Gerät zur Textbe- und verarbeitung, wie Schreibautomat, Dateneingabeplatz o.dgl.
DE3016269C2 (de)
DE2912037A1 (de) Elektronisches geraet zur speicherung eines betriebsablaufs
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee