DE2506117A1 - Vorrichtung zur bildung einer absoluten adresse fuer den zugriff zu einem speicher eines elektronischen rechners - Google Patents
Vorrichtung zur bildung einer absoluten adresse fuer den zugriff zu einem speicher eines elektronischen rechnersInfo
- Publication number
- DE2506117A1 DE2506117A1 DE19752506117 DE2506117A DE2506117A1 DE 2506117 A1 DE2506117 A1 DE 2506117A1 DE 19752506117 DE19752506117 DE 19752506117 DE 2506117 A DE2506117 A DE 2506117A DE 2506117 A1 DE2506117 A1 DE 2506117A1
- Authority
- DE
- Germany
- Prior art keywords
- associative
- word
- register
- virtual
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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
Description
Die Erfindung bezieht sich auf Rechner-Adressiertechniken und betrifft insbesondere eine Vorrichtung zum Adressieren
eines Rechnerspeichers.
Bisher wurde eine "virtuelle Adressierung" unter Verwendung von Rechner-Programmausrüstung bzw. -Software durchgeführt,
um einen Zugriff zu Daten und Informationen aus einem zentralen Speicher eines elektronischen Rechners zu
erhalten. Der Ausdruck "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. Beispielsweise kann 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ünschte(n) Information(en) herausgeholt werden soll(en).
vl/Bl/ro - 2
509881/0686
Ein mit dem bisherigen Adressierverfahren unter Verwendung von Programmausrüstung 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.
Die Erfindung bezieht sich auf eine Vorrichtung zur Anordnung bzw. Zusammenstellung von zumindest teilweisen
absoluten Adressen entsprechend dem Benutzungsausmaß jeder dieser absoluten Adressen. Der Erfindung liegt damit
die Aufgabe zugrunde, eine Adressiervorrichtung für einen Rechner zu schaffen, in welchem eine Anzahl von zumindest
teilweisen absoluten Adressen zumindest zum Teil in einer zweckmäßigen Position gespeichert sind, so daß sie durch
ein Arbeitsprogramm ohne weiteres herausgreifbar sind.
Im Zuge dieser Aufgabe bezweckt die Erfindung auch die
Schaffung eines Gerätes, bei welchem die absoluten Adressen unter Verwendung 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.
Die Erfindung bezweckt damit auch die Schaffung von Adressiertechniken
oder -verfahren, bei denen Datenblätter aus einem Speicher unter Verwendung einer Blattabelle herausgegriffen
werden können, die zumindest zum Teil in vorbestimmten assoziativen Registern enthalten ist, während ihr
restlicher Teil über eine Zeilentabelle (space table) zugreifbar ist.
509881/0686
Weiterhin befaßt sich die Erfindung mit der Schaffung eines Gerätes zum Adressieren des Zentralspeichers eines
Rechners, bei welchem die Adressen sequentiell in einer
Reihenfolge untersucht werden, bei welcher die am meisten
benutzten Adressen zuerst geprüft und dann, nach Durchsicht einer vorbestimmten Zahl derartiger Adressen, wei- '
tere Adressen zur Prüfung eingeführt werden können. Wenn eine solche weitere Adresse eine zu benutzende Adresse
darstellt, wird sie anschließend in eine Position großen Vorranges gebracht.
Die genannte Aufgabe wird bei einem Gerät zur Bildung einer absoluten Adresse für den Zugriff zum Speicher
eines elektronischen Rechners erfindungsgemäß gelöst
durch mehrere Register zur Speicherung jeweils eines assoziativen Datenworts, yon denen jedes eine absolute und
eine virtuelle Blattidentifiziergröße besitzt, wobei die Register in einer Reihenfolge angeordnet sind, durch Leseeinrichtungen
zum sequentiellen Herauslesen der assoziativen Worte aus dem Speicher in das Register der höchsten
Stelle, durch Schiebeeinrichtungen zum sequentiellen Verschieben der assoziativen Worte aus dem Register einer
höheren Ordnung in ein Register einer niedrigeren Ordnung, durch Empfänger- oder Aufnahmeeinrichtungen zum Aufnehmen
einer virtuellen Adresse von einem Arbeitsprogramm, wobei die virtuelle Adresse eine virtuelle Blatt- und eine Wortidentifiziergröße
besitzt, durch Vergleichseinrichtungen zum Vergleichen der virtuellen Blattidentifiziergröße der
virtuellen Adresse mit der virtuellen Blatidentifiziergröße in mindestens einigen Registern, durch eine erste
Steuereinrichtung, welche anspricht, wenn die Vergleichseinrichtung (en) eine Übereinstimmung zwischen der virtuellen
Blattidentifiziergröße der virtuellen Adresse und einer virtuellen Blattidentifiziergröße eines assoziativen Worts
509881/0686
feststellt, und das die betreffenden virtuellen Blattidentifiziergrößen
enthaltende assoziative Wort in das Register der höchsten Ordnung überträgt, wobei die erste
Steuereinrichtung die Schiebeeinrichtung betätigt, um andere assoziative Worte zu Registern niedrigerer Ordnung
zu verschieben, und durch eine auf die Vergleichseinrichtungen ansprechende Speicheradressenregistereinrichtung
zur Speicherung der absoluten Blattidentifiziergröße des die entsprechende virtuelle Blattidentifiziergröße
enthaltenden assoziativen Worts.
Erfindungsgemäß sind mehrere assoziative Register fortlaufend
so angeordnet, daß sie assoziative Worteenthalten, die beim Zugriff durch ein Arbeitsprogramm zur Bildung
einer absoluten Adresse für die aus dem Zentralspeicher herauszugreifenden 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 gesuchten Daten gebildet, und die Daten können aus dem Speicher herausgegriffen
werden. Falls die assoziativen Register jedoch die richtige Adresse nicht enthalten, werden weitere Adressen
vom Speicher durch die assoziativen Register durchgesucht, bis die richtige Adresse gefunden worden ist.
Ein Merkmal der Erfindung besteht in der Schaffung eines Gerätes zur sequentiellen (aufeinanderfolgenden) Anordnung
der Adressen in den assoziativen Registern, so daß die am vorrangigsten benutzten Adressen in assoziativen
Registern höherer Rangordnung enthalten sind.
Ein anderes Merkmal der Erfindung bezieht sich auf eine Vorrichtung, mit deren Hilfe ein in den assoziativen Registern
oder im Speicher befindliches assoziatives Wort
509881/0686
in eine verhältnismäßig hohe Vorrangstellung in den assoziativen Registern verbracht wird.
Ein weiteres Merkmal der Erfindung betrifft ein Gerät zur
Steuerung der assoziativen Register in der Weise, daß dann,
wenn ein vorher nicht in einem solchen Register enthaltenes Wort aufgefunden wird, dieses Wort danach im assoziativen Register für die spätere Benutzung in einer Prioritätsposition
gespeichert wird, während Worte niedrigerer Priorität um eine Prioritätsstufe abgestuft werden.
Noch ein weiteres Merkmal der Erfindung betrifft ein Gerät
zur Handhabung von assoziativen Worten in den assoziativen Registern und in der Zeilentabelle (space table) in
der Weise, daß dann, wenn ein Wort in eine Position höherer Priorität verschoben wurde, die an der absoluten Adresse
dieses verschobenen Worts bestehende Lücke durch Verschiebung anderer Worte ausgefüllt wird.
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 und Unterprogramme und
andere Arten von in einem Rechnerspeicher gespeichertem Material umfassen. Diese Ausdrücke sollen sich mithin
nicht auf das von einem Rechner verarbeitete Material beschränken, sondern auch zentrales Material zur Beinflussung
des Rechnerbetriebs beinhalten. Der in der Beschreibung benutzte Ausdruck "Arbeitsprogramm" soll sich auf
alle dem Rechner eingegebenen Befehle oder Anweisungen beziehen, einschließlich der im Speicher zurückgehaltenen
sowie der durch eine Eingabevorrichtung zur Beeinflussung einer speziellen Arbeit eingegebenen.
509881/0686
Im folgenden ist eine bevorzugte Ausführungsform der Er- · findung anhand der beigefügten Zeichnung näher erläutert.
Es zeigen:
Fig. 1 ein Blockflußdiagramm zur Erläuterung des Konzepts der virtuellen Adresse, soweit es auf die
Erfindung zutrifft,
Fig. 2 eine graphische Darstellung des Formats der assoziativen Worte, wie es in Verbindung mit der Erfindung
nützlich ist,
Fig. 3 ein Flußdiagramm zur Darstellung einer Art von Informationen von absoluten Adressen für den erfindungsgemäßen
Speicherzugriff,
Fig. 4 und 5 Blockschaltbilder einer bevorzugten Ausführungsform des erfindungsgemäßen Gerätes,
Fig. 6 ein Flußdiagramm, welches die Lese- und Einschreibfunktionen
der Vorrichtung gemäß den Fig. 4 und 5 veranschaulicht; und
Fig. 7 eine graphische Darstellung bestimmter, für die Erfindung zweckmäßiger Wortformate.
Wie speziell aus Fig. 1 hervorgeht, wird eine absolute Adresse für den Zugriff zu einem Speicher durch eine Instruktion
von einem Arbeitsprogramm gebildet. Diese Adresse, die als "virtuelle Adresse" bezeichnet werden kann, enthält eine
Virtuellblatt- und eine Wortidentifiziergröße. Eine Blatttabelle, die eine Anzahl von assoziativen Worten enthält,
wird zum Vergleichen und Suchen des assoziativen Worts benutzt, welches der betreffenden Virtuelljalattidentifizier-
509881/068 6
größe zugeordnet ist. Wenn dieses assoziative Wort aufgefunden worden ist, wird eine Absolutblattidentifiziergröße
•geliefert, die in Kombination mit der Wortidentifiziergröße
von der virtuellen Adresse e'ine absolute Adresse für den
Zugriff zu einer bestimmten Position im Speicher bildet.
Wie noch näher erläutert werden wird, ist die Blattabelle zumindest teilweise in mehreren Registern gespeichert, z.B.
in sechzehn assoziativen Registern, um durch das Programm
leicht zugreifbar zu sein. Der restliche Teil der Blatttabelle
ist im Speicher in einer vorbestimmten, im folgenden als Zeilentabelle (space table) bezeichneten Position
gespeichert, wie dies noch näher erläutert werden wird. Vorzugsweise enthält zumindest eines der assoziativen Worte
nahe des Endes der Blattabelle 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.
Zur Erläuterung sei im folgenden angenommen, daß die im
Speicher des Rechners enthaltenen Daten in "Blättern" (pages) angeordnet bzw. zusammengesetzt sind und daß die
Blattgröße aus Veranschaulichungsgründen jeweils einem von zwei Formaten entsprechen kann, nämlich einem großen
Blatt und einem kleinen Blatt. Weiterhin sei angenommen, daß ein großes Blatt 65 536 Worte zu je 64 Bits und ein
kleines Blatt.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-Absolutblattidentifiziergröße erfaßt
werden können, während ein Speicher mit 16 großen Blättern durch eine 4-Bit-Absolutblattidentifiziergröße
zugreifbar ist. Weiterhin ist. ersichtlich, daß zum Heraus-
509881/0686
greifen eines Einzelworts aus einem großen Blatt mit mehr als 65OOO Worten eine 16-Bit-Wortidentifiziergröße erforderlich
ist, während für das Herausgreifen eines Einzelworts aus einem kleinen Blatt mit 512 Worten nur eine 9-Bit-Wortidentifiziergröße
nötig ist.
Im Hinblick auf die vorstehenden Erläuterungen sei nunmehr auf Fig. 2 verwiesen, welche das Absolutwortformat für ein
großes und ein kleines Blatt veranschaulicht. Gemäß dem oberen Teil von Fig. 2, welcher das assoziative Wortformat
eines kleinen Blatts zeigt, ist ein aus 64 Bits bestehendes assoziatives Wort vorgesehen, bei dem die Bits O bis 3 nicht
benutzt werden, das Bit 4 ein Kennzeichenbit (flag) ist, die Bits 5 bis 15 die Absolutblattidentifiziergröße enthalten,
die Bits 16 bis 18 einen Benutzungskode beinhalten, die Bits 19 bis 30 einen Verriegelungs- bzw. Sperrkode
(lock code) enthalten und die Bits 31 bis 63 eine virtuelle
Blattidentifiziergröße beinhalten. Gemäß dem unteren Teil von Fig. 2 besteht das assoziative Wortformat für ein grosses
Blatt 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 Absolutblattidentifiziergröße 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 virtuelle Blattidentifiziergröße 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 Blattidentifiziergröße,
einen Benutzungskode, einen Sperrkode und eine virtuelle Blattidentifiziergröße enthaltende assoziative
Wort durch eine Blattabelle geliefert wird, während eine
SO 98 81/0686
virtuelle Adresse gleichfalls vom Arbeitsprogramm (Fig. 1)
gebildet wird Die virtuelle Blattidentifiziergröße eines assoziativen Worts wird mit der Identifiziergröße einer
virtuellen Adresse (z.B. vom Ablaufprogramm) verglichen, und wenn eine Übereinstimmung auftritt, wird die absolute
Blattidentifiziergröße vom assoziativen Wort zum Speicheradressenregister übertragen, während eine Wortidentifiziergröße
von der virtuellen Adresse zum Speicheradressenregister für den Zugriff zum Speicher überführt wird. Gemäß
Fig. 3 wird im Fall eines kleinen Blatts die in den Bits 31 bis 63 des assoziativen Worts enthaltene virtuelle Blattidentifiziergröße
mit einer in den Bits 16 bis 48 der virtuellen Adresse enthaltenen Identifiziergröße verglichen,
und wenn Übereinstimmung oder Koinzidenz vorliegt, wird eine absolute Blattidentifiziergröße 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 Wortidentifiziergröße
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 56 des assoziativen Worts enthaltene virtuelle Wortidentifiziergröße
mit einer Identifiziergröße 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 Blattidentifiziergröße
zu den Bitpositionen 38 bis 41 des Speicheradressenregisters übertragen, während eine in den Bitpositionen 42 bis 54 der virtuellen Adresse enthaltene Wortidentifiziergröße
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
Information(en).
509881/06 8 6
- ίο -
Die Fig. 4 und 5 sind Blockschaltbilder einer bevorzugten Ausführungsform der Erfindung zur Durchführung der erfindungsgemäßen
Adressiertechnik. Wie speziell aus Fig. 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 17 und einer Virtuellblattidendifiziergrößen-Fan-in-Schaltung
18 liefern. Ein Fan-inSchaltkreis 13, welcher die einzelnen Fan-inSchaltungen 14
bis 18 umfaßt, liefert Eingangssignale zu einem ersten Register 19, das als assoziatives Register AROO bezeichnet ist.
Dieses Register enthält ein Register-Adressenkennzeichen 19a, eine Absolutblattidentifiziergröße 19b, einen Benutzungskode 19c, einen Sperrkode 19d und eine virtuelle Blattidentifiziergröße
19e. Die Lesedaten werden ebenfalls von den Lesekreisen 11 und 12 zur Fan-in-Schaltung 20 des assoziativen
Registers AR01 geliefert. Zusätzlich liefert das assoziative Register AROO 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 AR02 darstellt. Das mit 22 bezeichnete assoziative Register AR01 empfängt ein Eingangssignal von der Fan-inSchaltung 20 und liefert ein Ausgangssignal zur Fan-in-Schältung
21, die ihrerseits ein Ausgangssignal zu einem Register 22 abgibt, welches das assoziative Register AR02 darstellt.
Letzteres gibt ein Ausgangssignal an das Register 24 und
hierauf der Reihe nach an die 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 3ines vorgeschalteten Registers
in ein nachgeschaltetes Register übertragen wird. Die Register 23 bis 32 sind somit aufeinanderfolgende assoziative
Register, die mit AR02 - AR11 bezeichnet sind. Das mit 32 bezeichnete elfte assoziative Register AR11 liefert
ein Ausgangssignal zu dem mit 33 bezeichneten Register AR12,
509881/0686
das seinerseits ein Ausgangssignal zu dem mit 34 bezeichneten
Register AR13 liefert. Das assoziative Register AR13 gibt ein Ausgangssignal an eine Fan-in-Schaltung 35
ab, die ihrerseits ein Ausgangssignal zu dem assoziativen
Register AR14 (36) liefert. Gemäß Fig. 4 sind die Ausgänge der Register AR11 - AR14 an eine Fan-in-Schaltung
37 als Eingang zum Register AR15 (38) angeschlossen. Ebenso
empfängt eine Fan-in-Schaltung 35 die Eingangssignale von
beiden Registern AR12 und AR13. Das Register AR15 gibt
über einen Kanal 39 ein Ausgangssignal an jede Fan-inSchaltung
des Fän-in-Schaltkreises 13 ab, welcher dem assoziativen
Register AROO zugeordnet ist. Außerdem liefern die assoziativen Register AR14 und AR15 ein Ausgangssignal
zu der mit 40 bezeichneten Einschreibleitung I. Alle Register AROO - AR15 sind ähnlich aufgebaut wie das Register
AROO. Die Fan-in-Schaltungen 20, 21, 35 und 37
ähneln der Schaltung 13» nur mit dem Unterschied, daß nur die Schaltung 13 die Eingängssignale von den Steuer- oder
Regelorganen gemäß Fig. 5 empfängt und nur die Fan-inSchaltungen 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 AROO - AR15; die genaue Schaltungsverbindung ist
dabei für das Register AROO dargestellt, während die anderen Verbindungen über den Kanal 41 von den Registern ARO1
bis AR15 erfolgen.
Im folgenden ist das Laden der assoziativen Wortregister
erläutert.
Fig. 6 veranschaulicht schematisch einen Teil des die .
C rs
5*9881/068©
assoziativen Worte enthaltenden Zentralspeichers. Zur Erläuterung
sei angenommen, daß das assoziative Wort O 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-Tabellebzw.
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 AROO - AR15 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 15 zuerst in das Register
AROO eingelesen und durch die einzelnen assoziativen Register verschoben wird, bis es schließlich im Register
AR15 zum gleichen Zeitpunkt erscheint wie das an der absoluten Adresse 4000 auftretende assoziative Wort 0 im Register
AROO erscheint. Die Reihenfolge zur Durchführung des Einlesens oder Ladens der assoziativen Wortregister
ist folgende: Zum Zeitpunkt TO werden die assoziativen Worte 14 und 15 von der Hauptleitung I über die betreffenden
Lesekreise 11 und 12 (Fig. 4) in die Register AROO und AR01 eingelesen. Während des nächsten Zyklus T1 wird das
assoziative Wort 15 zum assoziativen Register AR02 übertragen. Während des Zyklus T2 wird das assoziative Wort
zum assoziativen Register AR03 und das Wort 14 zum Register AR02 übertragen, während die Worte 12 "und 13 in die
Register AROO bzw. AR01 eingelesen werden. Dieser Vorgang setzt sich bis zum Zeitpunkt T11 fort, an welchem das assoziative
Wort 15 zum assoziativen Register AR12 verbracht worden ist. Während des nächsten Zeitzyklus T12 wird das
assoziative Wort 15 zu beiden Registern AR13 und AR15 über-
509881/0686
tragen, während des nächsten Zyklus T14 gelangt das assoziative Wort 14 zum Register AR13, und während des Zyklus
T14 gelangt das assoziative Wort 14 zum Register AR14, so
daß die assoziativen Register AROO - AR15 voll geladen sind,
Die folgende Tabelle I gibt die Ladung der einzelnen assoziativen Register zu den einzelnen Zeitpunkten TO - T14 an:
50 988 1/0686
Tabelle I Laden der assoziativen Register
Reg.
Zeit TO T1 T2 Τ3 Τ4 Τ5 Τ6 , Τ7 Τ8 Τ9 Τ10 Τ11 Τ12 Τ13 Τ14
AROO | 14 14 12 | 12 | 10 | 10 | 8 | 8 | 6 | 6 | 4 | 4 | 2 | 2 | 0 |
AR01 | 15 15 13 | 13 | 11 | 11 | 9 | 9 | 7 | 7 | Ui | 5 | 3 | 3 | 1 |
AR02 | 15 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | VJl | 4 | 3 | 2 |
AR03 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 |
AR04 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | |
AR05 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | Ul | ||
AR06 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | |||
AR07 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | ||||
AR08 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |||||
AR09 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | ||||||
AR10 | 15 | 14 | 13 | 12 | 11 | 10 | |||||||
AR11 | 15 | 14 | 13 | 12 | 11 | ||||||||
AR12 | 15 | 14 | 13 | 12 | |||||||||
AR13 | 15 | 14 | 13 | ||||||||||
AR14 | 14 | ||||||||||||
AR15 | 15 | 15 | 15 |
Auf ähnliche Weise können die in den assoziativen Registern AROO bis AR15 enthaltenen Daten in umgekehrter
Reihenfolge über die an die Einschreibdatenleitungen 1 angeschlossenen Register AR14 und AR15 im Zentralspeicher
gespeichert werden. Die Inhalte der Register AR15 und
AR14 werden somit in umgekehrter Reihenfolge, beginnend
mit der absoluten Adresse 4300 (Fig. 6), in den Speicher eingeschrieben. Zum Zeitpunkt TO werden die Inhalte der
Register AR15 und AR14 also zum Speicher überführt, so daß
zum Zeitpunkt T2 der Inhalt des Registers AR13 zum Register
AR15 und der Inhalt des Registers AR12 zu beiden Registern
AR13 und AR14 weitergegeben werden. Zum Zeitpunkt
T2 wird außerdem der Inhalt der Register AR02 - AR11 um eine Stelle bzw. Position verschoben. Zum Zeitpunkt T3
werden die Registerinhalte wiederum verschoben. Dieser Vorgang dauert an, bis die in den Registern AROO - AR15
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 AROO
bis AR15 in den Speicher.
09^81 /0686
Tabelle II Speicherung der assoziativen Register
Reg. Zeit
TO T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14
AROO | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ι | 0 | !506 |
AR01 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | _Λ cn |
0 | |
AR02 | 2 | 2 | 1 | 2 | 2 | 2 ■ | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ι | 1 | ||
AR03 | 3 | 3 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | ||||
AR04 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | |||||
AR05 | 5 | 5 | 4 | 5 | VJl | 5 | 5 | 5 | 5 | 5 | 4 | ||||||
AR06 | 6 | 6 | 5 | 6 | 6 | 6 | 6 | 6 | 6 | 5 | |||||||
AR07 | 7 | 7 | 6 | C-- | 7; | 7 | 7 | 7 | 6 | ||||||||
AR08 | 8 | 8 | 7 | 8 | ' 8 | 8 | 8 | 7 | |||||||||
AR09 | 9 | 9 | 8 | 9 | 9 | 9 | 8 | ||||||||||
AR10 | 10 | 10 | 9 | 10 | 10 | 9 | |||||||||||
AR11 | 11 | 11 | 10 | 11 | 10 | ||||||||||||
AR12 | 12 | 12 | 11 | 11 | |||||||||||||
AR13 | 13 | 13 | 12 | ||||||||||||||
AR14 | 14 | 12 | |||||||||||||||
AR15 | 15 | 13 | |||||||||||||||
Gemäß Fig. 5 ist eine Einschreibdatenleitung 50 an eine Einschreibschaltung 51 angeschlossen, die ihrerseits ein
Eingangssignal zu Schlüsselregistern 52 liefert, welche eine Anzahl von mit 52a, 52b, 52c und 52d bezeichneten
Schlüsselkodes enthalten. Das Ausgangssignal des Registers 52 wird an einen Eingang eines Sperrwählers 53 angelegt,
der seinerseits ein Ausgangssignal zur Sperr-Fan-in-Schaltung
17 des Registers AROO gemäß Fig.,4 liefert. Zusätzlich wird ein Ausgangssignal vom Register 52 als Eingangssignal
zu einer Sperrschlüssel-Vergleichschaltung 54 geliefert,
die ein zweites Eingangssignal von der Sperrschaltung 19d (Fig. 4)der Register AROO - AR15 empfängt. Ein
Ausgangssignal vom Register 52 bildet auch ein Eingangssignal zur Sperr-Vergleichschaltung 55. Die Vergleichschaltung
54 liefert ein Eingangssignal zu einer Schlüsselauswahl -Fan- in-Schaltung 56, die ihrerseits ein Eingangssignal
zu einzelnen Schlüsselauswahlschaltungen 57, 58, 59 und 60 liefert. Die Ausgangssignale der Auswahlschaltungen
57 bis 60 werden als Eingangssignale zum Sperrwähler
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-inSchaltung
64, die ihrerseits ein Eingangssignal zu Anpaßregistern 65 liefert. Vorzugsweise ist eine der Zahl der
assoziativen Register entsprechende Zahl von Anpaßregistern vorgesehen, und zwar sind bei der dargestellten
Ausführungsform sechzehn Anpaßregister 65 vorgesehen, welche ein Ausgangssignal zu einer Anpaß-Fan-out-Schaltung
66 liefern, die ihrerseits ein Ausgangssignal an eine Anpaßdetektorschaltung
67 anlegt, welche ein Ausgangssignal zum Cause-Bitwähler 62 schickt. Letzterer liefert die Daten
5098 8 1/0686
zur Datenstroraeinheit bzw. zum Puffer, um diese Einheit
bezüglich der Ursache etwaiger Zugriffsunterbrechungen anzuweisen. Der virtuelle Blattidentifiziererkode von der
Schaltung 19e der Register AROO - AR15 gemäß Fig. 1 wird
als Eingangssignal einer virtuellen Adressen-Vergleichsschaltung
70 eingegeben, welche ein zweites Eingangssignal von einer virtuellen Adressen-Fan-out-Schaltung 71 empfängt,
welche ihrerseits ein Eingangssignal vom virtuellen Adressenregister 72 erhält. Letzteres nimmt die Datenstromadressen
vom Speicher auf. Die Vergleichsschaltung 70 liefert ein Eingangssignal zur Schlüsselauswahl-Fan-in-Schaltung
56 und zu den Anpaß-Fan-in-Schaltungen 64.
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 Ausgang der Schaltung an die Sperr-Vergleichsschaltung 55 sowie an die Funktionsanforderungsschaltung
78 angeschlossen ist und das Ausgangssignal der Schaltung 78 als Eingangssignal der Funktions-Fan-
in-Schaltung 76 eingegeben wird. Das virtuelle Adressenregister 72 liefert ein Ausgangssignal zu einem Hilfsadressenregister
80, das seinerseits Ausgangssignale zu einem Speicheradressenregister 81, zur virtuellen Blatt-Fan-
in-Schaltung 18 des Registers AROO (Fig. 4) und zum virtuellen Adressenregister 72 liefert. Eine Absolutadressenauswahlschaltung
85 empfängt ein Eingangssignal von den absoluten Blattidentifiziergrößen 19b der Register AROO AR15
gemäß Fig. 4 und von der Anpaß-Fan-out-Schaltung 66. Die Schaltung 85 liefert ein Ausgangssignal zur Absolutblattidentifizier-Fan-in-Schaltung
15 des Registers AROO gemäß Fig. 4 sowie zum Speicheradressenregister 81. Der Ausgangs-Benutzungskode 19c der Register AROO - AR15 wird
an die Benutzungsbitwählschaltung 86 angelegt, die ihrerseits ein Aus gangs signal zu einer Benutzungsbit-Ä'nde rungs -
509881/0686
schaltung 87 zur Eingabe in die Benutzungsbit-Fan-inSchaltung
16 (Fig. 4) des Registers AROO liefert. Außerdem empfängt die Schaltung 86 ein Eingangssignal von der
Anpaß-Fan-out-Schaltung 66. Das Speicheradressenregister 81 liefert über einen Kanal 88 ein Ausgangssignal zum
Zentralspeicher.
Vor der Erörterung der Arbeitsweise beim Heraussuchen der assoziativen Register zur Bildung 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 Wortformats dargestellt. Es ist zu beachten, daß dieser Kode sowohl im kleinen als auch im
großen assoziativen Blatt-Wortformat erscheint. Der Benutzungskode ist ein 3-Bit-Kode, der sich am besten anhand
der folgenden Tabelle III erläutern läßt.
509881/0686
Tabelle III
Benutzungskode
Benutzungskode
Ende der Tabelle; keine weiteren Blätter in der Tabelle an den folgenden absoluten Adressen vorhanden.
Nullkode; dient nicht zur Kennzeichnung eines im Speicher gespeicherten Blatts.
Kleines (512-Wort) Blatt,auf das nicht durch CPU
(Zentraleinheit) Bezug genommen worden ist.
Großes (65 536-Wort) Blatt, auf das nicht durch
CPU Bezug genommen worden ist.
100 Kleines Blatt, auf das durch CPU Bezug genommen worden ist; CPU hat ein Wort aus dem Blatt ausgelesen.
101 Großes Blatt, auf das durch CPU Bezug genommen worden ist; CPU hat ein Wort aus dem Blatt ausgelesen.
110 Kleines Blatt, das durch CPU abgeändert worden ist;
mindestens ein Bit im Blatt ist geändert worden.
Großes Blatt, durch CPU geändert; mindestens ein Bit des Blatts ist geändert worden.
Der Benutzungskode kann mithin eine Tabelle entsprechend dem Ende des Blattes oder einen Nullzustand des assoziati-
509881/0686
ven Worts anzeigen oder angeben, ob auf ein Blatt durch
die CPU Bezug genommen 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 AROO - AR15 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 AROO - AR15 zugeordneten assoziativen Worte
werden als zweites Eingangssignal der Schaltung 70 eingegeben. Wenn Übereinstimmung zwischen der virtuellen Blattidentifiziergröße
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 Adressenauswahlschal tungen 85 gewährleistet die Auswahl des· assoziativen
Worts. Die absolute Blattidentifiziergröße von der Schaltung 19b (Fig. 4) wird zur absoluten Adressenauswahlschaltung
85 übertragen, um die absolute Adresse auszuwählen, die ihrerseits im Speicheradressenregister 81 gespeichert
wird. Die Wortidentifiziergröße der virtuellen Adresse wird vom Wähler 72 in das Register 80 übertragen,
um zur Vervollständigung der absoluten Adresse in das Re-
509881/0686
gister 81 eingegeben zu werden. Das Anpaßregister 65
bewirkt außerdem, daß das ausgewählte assoziative Wort ' in einem der Register AROO - AR15 über die Schaltungen
85, 87, 53 und 80 sowie über den Kanal 41 zur Fan-inSchaltung 13 übertragen wird, um unmittelbar in das Register
AROO 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 das entsprechende assoziative Wort
im Register AROO erscheint, tritt die virtuelle Blattidentifiziergröße
in der Schaltung 19e auf, um der virtuellen Adressenvergleichsschaltung 70 eingegeben zu werden
und den Anpaßregistern anzuzeigen, daß das gesuchte assoziative Wort sich nunmehr im Register AROO befindet.
Die so im Speicheradressenregister 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 AROO - AR15 gespeichert worden ist. Im folgenden
sei nunmehr angenommen, daß das gewünschte assoziative Wort, das eine Übereinstimmung mit der virtuellen Blattidentifiziergröße
des Arbeitsprogramms herstellt, nicht in einem der assoziativen Register AROO - AR15 gespeichert
ist.
Wie erwähnt, werden bei einer Datenstromanforderung für
Daten aus dem Speicher die assoziativen Register auf eine Übereinstimmung zwischen dem assoziativen Wort und der
virtuellen Blattidentifiziergröße untersucht, und wenn eine solche Übereinstimmung bzw. Anpassung vorhanden ist,
wird das im gewählten assoziativen Register enthaltene
5 0 9 8 81/0686
Wort in das Register AROO eingelesen, während die anderen Worte um eine Stelle oder Position verschoben werden.
Die absolute 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 AROO - AR15 erscheint, werden die Anpaßregister
nicht gesetzt. Der Benutzungskode wird durch die Schaltung 19c geprü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 dargestellte 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. geprüft, um festzustellen, ob in einem der assoziativen Register
ein "Null"-Kode vorhanden ist. Obgleich die Benutzung des
"Null"-Kodes vorher nicht beschrieben worden ist, sei zum
Zweck der Erläuterung angenommen, daß in keinem der assoziativen Register AROO - AR15 ein "Null"-Kode erscheint.
Wenn dies zutrifft, wird das im Register ARI5 enthaltene
assoziative Wort 15 über den Kanal 39 (Fig. 4) zum assoziativen Register AROO 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 AROO und AROT eingelesen, während die assoziativen
509881/0686
Worte 16 usw. über die Lesedatenleitung 1 in die Register
übertragen werden, und das Wort 15 wird in Abwärts richtung durch die assoziativen Register durchgeschaltet. Der Vergleich
zwischen dem Benutzungskode und der virtuellen Blattidentifiziergröße
erfolgt in Verbindung mit den Registern AROO und AR01. Durch Entleerung des Inhalts von 15 der 16
assoziativen Register vermögen die assoziativen Register AROO und AR01 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 Blattidentifiziergröße
im Arbeitsprogramm enthält. Gemäß Tabelle IV erscheint das assoziative Wort 15 anfänglich im
Register AROO . Während des nächsten Zyklus TO liest die Lesedatenleitung 1 die assoziativen Worte 16 und 17 in die
Register AR01 bzw. AROO ein, wodurch die Position des assoziativen Worts 15 zum assoziativen Register AR02 verschoben
wird. Die Vergleichsschaltungen (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 AR13 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 T11 angedeutet - die assoziativen Worte 15 bis 23
in den assoziativen Registern AR13 - AR05 in umgekehrter
Reihenfolge erscheinen. Beim nächsten Zyklus T12 wird das
Wort 15 zum assoziativen Register AR14 und das Wort 16 zum
assoziativen Register AR15 ü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
50 9 8 81/0686
vorher das frühere assoziative Wort 16 erschien. Beim nächsten Zyklus T13 wird das assoziative Wort 17 zum Register
AR13 überführt, so daß der Inhalt der assoziativen Wortregister AR11 und AR12 beim nächsten Zyklus T14 in die
assoziativen Wortregister AR15 bzw. AR14 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 AR13 gehalten
wird.
509881/0S8S
Tabelle IV Suche der Leertabelle
Zeit
I TO T1 | T2 | T3. | ..T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 T18 | t | TO | |
AROO | 15 (T7) |W] | 19 | 19 | ■ ro |
cn
O cn |
||||||||
AR01 | 16 16 | 18 | 18 | ||||||||||
AR02 | 15 16 | Ez3 | 18 | ||||||||||
AR03 | 15 | 16 | D3 | ||||||||||
AR04 | 15 | 16 | 23 | ||||||||||
AR05 | 15 | 22 | 23 | ||||||||||
AR06 | 21 | 22 | 23 | ||||||||||
AR07 | 20 | 21 | 22 | 23 | |||||||||
AR08 | 19 | 20 | 21 | 22 | 23 | ||||||||
AR09 | 18 | 19 | 20 | 21 | .22 | 23 | |||||||
AR10 | 03 | 18 | 19 | 20 | 21 | 22 | 23 | ||||||
AR11 | 16 | GH | 18 | 19 | 20 | 21 | 22 | 23 | |||||
AR12 | 15 | 16 | EZI | 18 | 19 | 20 | 21 | 22 23 | |||||
AR13 | 15 | 16 | Ijzl | EzI | |17 | GH | HzI EzI | ||||||
AR14 | 15 | 18 | 20 | 22 | |||||||||
AR15 | 16 | 19 | 21 | 23 | |||||||||
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 AR12 er-'
scheint. Sodann wird der Vorgang fortgesetzt, indem das assoziative Wort 17 aus dem assoziativen Register AR13
zum Register AR15 verschoben wird, so daß die Inhalte der
Register AROO - AR15 die Worte 0-14 und 17 enthalten.
Hierauf wird das assoziative Wort 17 aus dem assoziativen Register AR15 über den Kanal 39 zum Register AROO 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 AROO erscheint.
509881/0686
H- t+ S O ö
0 μ H- Ϊ3- H-
<! rf· Φ <D
Η3 (B H
JB 0 Ρα P
σ* (D η- η-
φ ?0 4 0 C+
φ
Leertabelle
H | H- | <5 | P- | Ρ« |
Φ | CQ | Φ | H- | φ |
«+
Φ |
2 | Φ | 4 | |
<!
H |
Ol
O |
P) | ||
<) | % |
CO
co |
CQ | |
φ |
O
O |
φ
σ* |
O
N |
φ |
§ | S |
H-
P) |
H-
O |
|
ca | < | rf· | 0* | |
ο | Φ | H- | Φ | |
0* | 4 | Ρ· | < | |
σ1 | φ | Φ | Cj | |
£ | Ρ· | CO |
0
s: ο |
OQ |
H-
O |
φ | CQ | Ρ- | |
0* | 0 | CO | rf- | φ |
rf- | φ | O | 4 | |
• | N | Φ | ||
N | H- | m | P) | |
Φ | P) | H- | CQ | |
H- | rf· | η | CO | |
rf" | H- | rf- | O | |
< | φ | N | ||
Φ | 4 | H- | ||
O | 0 | P) | ||
P- | !&» | rf· | ||
φ | p3 | H- | ||
*1 | ο |
O
O |
<ί | |
Hi |
Φ
0 |
|||
P) | CO | ι | ||
C+ | > | S=: | ||
CO | -«Ο | ο | ||
C+ | rf· | |||
Φ | N | φ | ||
Φ | N | P) | ||
1-J | ||||
rj | W | co | ||
Pj | CO | |||
Oq | co | O | P- | |
ο | φ | |||
Η·
CQ |
N | 3 | ||
rf- |
H-
P) |
CQ | ||
I | Ρ· | |||
Φ | ||||
H- | ||||
Assoziative Register
O O O
t-3
cn rf·
CQ C O
Φ | 9 | I | |
Φ InJ |
Kf | ||
T
C+ |
φ | ro | |
H | 03 | ||
σ" | H | ||
< | φ | Φ | |
O | H | < | |
H
φ |
|||
P.
φ |
0
CO Ι-· |
||
Ο | |||
CQ | 0* | ||
Φ | |||
O | |||
ro
«cn O cn
Tabelle VI Wiederbeladen der assoziativen Register nach Leertabellensuche
Reg. | TO | T1 | T2 | T3 | T4 | T5 | T6 | T7 | Zeit | T9 | T10 | T11 | T12 | T13 | T14 | T16 |
13 | 13 | 11 | 11 | 9 | 9 | 7 | 7 | T8 | 5 | 3 | 3 | 1 | 1 | O | 17 | |
AROO | 14 | 14 | 12 | 12 | 10 | 10 | 8 | 8 | VJl | 6 | 4 | 4 | 2 | 2 | 1 | O |
AR01 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 6 | 6 | 5 | 4 | 3 | CVJ | 2 | 1 | |
AR02 | 14 | 13 | 12 | 11 | 10 | 9 | 7 | 7 | 6 | 5 | 4 | 3 | 3 | 2 | ||
AR03 | 14 | 13 | 12 | 11 | 10 | 8 | 8 | 7 | 6 | VJl | 4 | 4 | 3 | |||
AR04 | 14 | 13 | 12 | 11 | 9 | 9 | 8 | 7 | 6 | VJl | 5 | 4 | ||||
AR05 | 14 | 13 | 12 | 10 | 10 | 9 | 8 | 7 | 6 | 6 | VJl | |||||
AR06 | 14 | 13 | 11 | 11 | 10 | 9 | 8 | 7 | 7 | 6 | ||||||
AR07 | 14 | 12 | 12 | 11 | 10 | 9 | 8 | 8 | 7 | |||||||
AR08 | 13 | 13 | 12 | 11 | 10 | 9 | 9 | 8 | ||||||||
AR09 | 14 | 14 | ' 13 | 12 | 11 | 10 | 10 | 9 | ||||||||
AR10 | 14 | 13 | 12 | 11 | 11 | 10 | ||||||||||
AR11 | 14 | 13 | 12 | 12 | 11 | |||||||||||
ARi 2 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 14 | 13 | 13 | 12 | |
AR13 | 17 | 14 | 14 | 14 | 13 | |||||||||||
AR14 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 14 | |
AR15 | 17 | |||||||||||||||
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 ersichtlicherweise kontinuierlich durch die Register AROO AR15
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 AROO, während
alle anderen, vorher vor dem gesuchten Wort stehenden assoziativen Worte um eine Position zurückverschoben werden.
Wie erwähnt, kann das assoziative Wort einen Benutzungskode enthalten, der angibt, daß das betreffende Wort ein
"Nullwort" ist, was speziell bedeutet, daß das assoziative
Wort keinem Blatt 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 AROO zu verschieben, in das Register AROO eingelesen. Die assoziativen Worte 16 usw.
werden in die Register AROO - AR15 eingelesen, und das den
Nullkode enthaltende Wort wird gelöscht. Wenn das gesuchte Wort einläuft, wird es in das Register AROO eingelesen, während
ein Nullbenutzungskode in seine Position eingesetzt wird. Alle ursprünglich nach dem Nullkode auftretenden assoziativen
Worte werden daher in der Tabelle um eine Position oder Stelle vorwärts verschoben, und der Nullkode wird wieder
in die Position eingesetzt, welche vorher von dem der virtuellen Blattidentifiziergroße angepaßten assoziativen
Wort eingenommen wurde. Gemäß Tabelle VII sei somit angenommen, daß das assoziative Register AR10 ein den Nullkode
enthaltendes assoziatives Wort enthält, und daß die virtuelle Blattidentifiziergroße mit dem in der Leertabelle an
der absoluten Adresse 4500 erscheinenden assoziativen Wort
5 09881/0686
übereinstimmt. Es wird auf vorher beschriebene Weise eine
Leertabellensuche durchgeführt, wobei der im Register ARIO
befindliche Nullbenutzungskode in die vorher vom assoziativem Wort 23 an der absoluten Adresse 4500 eingenommene Position
und das assoziative Wort-23 in das assoziative Register
AROO verschoben wird. Bei jeder Leertabellensuche wird jeweils nur eine Null herausgezogen.
Tabelle VII Leertabellensuche; Null im assoziativen Register
TabellenOOsition | Vor der Suche | Nach der Suche |
AROO | 0 | IH |
AR01 | 1 | 0 |
AR02 | 2 | 1 |
ARO3 | 3 | 2 |
AR04 | 4 | 3 |
AR05 | VJl | 4 |
AR06 | 6 | VJl |
AR07 | 7 | 6 |
AR08 | 8 | 7 |
AR09 | 9 | 8 |
AR10 | NULL | 9 |
AR11 | 11 | 11 |
AR12 | 12 | 12 |
AR13 | 13 | 13 ■ |
AR14 | 14 | 14 |
AR15 | 15 | 15 |
4400 | 16 | 16 |
4440 | 17 | 17 |
4480 | 18 | 18 |
44C0 | NULL | NULL |
4500 | 20 | 20 |
4540 | 21 | 21 |
4580 | 22 | 22 |
45CO | 23 | NULL |
4600 | EOT | EOT |
509881/0686 |
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 AROO verschoben wird.
50988 1 /0686
Tabelle VIII Leertabellensuche;
Null | TabelleniDOSition | in der Leertabelle | Nach der Suche |
AROO | Vor der Suche | [|T) | |
AR01 | 0 | 0 | |
AR02 | 1 | 1 | |
AR03 | 2 | 2 | |
AR04 | 3 | 3 | |
AR05 | 4 | 4 | |
AR06 | 5 | 5 | |
AR07 | 6 | 6 | |
AR08 | 7 | 7 | |
AR09 | 8 | 8 | |
AR10 | 9 | 9 | |
AR11 | 10 | 10 | |
AR12 | 11 | 11 | |
AR13 | 12 | 12 | |
AR14 | 13 | 13 | |
AR15 | 14 | 14 | |
4400 | 15 | 15 | |
4440 | 16 | 16 | |
4480 | 17 | 17 | |
44C0 | NULL | 19 | |
4500 | 19 | 20 . | |
4540 | 20 | NULL | |
4580 | £3 | 22 | |
45C0 | 22 | 23 | |
4600 | 23 | EOT | |
EOT | |||
509881/0686
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 auf die 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.
509881/0686
Tabelle IX | Nach der Suche | |
Nullbildung | NULL | |
TabellenDOsition | Vor der Suche | 0 |
AROO | 0 | 1 |
AR01 | 1 | 2 |
AR02 | 2 | . 3 |
AR03 | - 3 | 4 |
AR04 | 4 | 5 |
AR05 | 5 | 6 |
AR06 | 6 | 7 |
AR07 | 7 | 8 |
AR08 | 8 | 9 |
AR09 | 9 | 10 |
AR10 | 10 | 11 |
AR11 | 11 | 12 |
AR12 | 12 | 13 Γ |
AR13 | 13 | 14 |
AR14 | 14 | 15 |
AR15 | 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 | ||
509881 /0686
Aus den Fig. 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 19d und von diesen zu den Vergleichsschaltungen
54 (Fig. 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 Fig. 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 Blattidentifiziergröße in die Lage versetzt, die vorher beschriebenen Operationen
durchzuführen. Wenn keine Übereinstimmung zwischen dem Sperrkode
und einem der vier Schlüsselkode vorhanden ist, wird ein Zugriff zum (betreffenden) Blatt 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 Einschreiboperationen 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-Schaltung 17 (Fig. 4) zurück übertragen. Weiterhin wird durch einen Vergleich der Schlüssel- und Sperrkode '
über die Schaltungen 57 - 60 gemäß Fig. 5 ausgewählt, um die Cause-Bit-Auswahlschaltung 62 zu betätigen.
' durch die Vergleichsschaltungen ^K eine bestimmte
Schlüsse1funktion
5 0988 1/0686
Mit der Erfindung wird somit eine Adressiervorrichtung zur
Ermöglichung der Aufstellung einer absoluten Adresse für den Zugriff zu einem zentralen Speicher eines Rechners geschaffen. Ein Merkmal der Erfindung besteht darin, daß häufig
benutzten Adressen in einer assoziativen Registertabelle Priorität bzw. Vorrang eingeräumt wird, 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.
Selbstverständlich sind dem Fachmann gewisse Änderungen und
Abwandlungen der dargestellten und beschriebenen Ausführungsform möglich, ohne daß vom Rahmen der Erfindung abgewichen
wird.
Zusammenfassend wird mit der Erfindung also eine Vorrichtung
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
509881/0686
enthalten, der Reihe nach angeordnet sind und jedes assoziative Wort eine absolute Blatt- und eine virtuelle Blattidentifiziergröße
besitzt. Dabei sind Einrichtungen zum
Vergleichen der virtuellen Blattidentifiziergrößen der
assoziativen Worte mit einer virtuellen Blattidentifiziergröße eines Arbeitsprogramms sowie eine Einrichtung zum sequentiellen Verschieben der assoziativen Worte vorgesehen,
so daß das die virtuelle Blattidentifiziergröße, welche der virtuellen Blattidentifiziergröße des Arbeitsprogramms entspricht, enthaltende assoziative Wort in das assoziative Register der höchsten Stelle eingesetzt wird.
Vergleichen der virtuellen Blattidentifiziergrößen der
assoziativen Worte mit einer virtuellen Blattidentifiziergröße eines Arbeitsprogramms sowie eine Einrichtung zum sequentiellen Verschieben der assoziativen Worte vorgesehen,
so daß das die virtuelle Blattidentifiziergröße, welche der virtuellen Blattidentifiziergröße des Arbeitsprogramms entspricht, enthaltende assoziative Wort in das assoziative Register der höchsten Stelle eingesetzt wird.
509881 /0686
Claims (8)
- - 39 PatentansprücheGerät zur Bildung einer absoluten Adresse für den Zugriff zum Speicher eines elektronischen Rechners, g e kennzeichnet durch mehrere Register zur Speicherung jeweils eines assoziativen Datenworts, von denen jedes eine absolute und eine virtuelle Blattidentifiziergröße besitzt, wobei die Register in einer Reihenfolge angeordnet sind, durch Leseeinrichtungen zum sequentiellen Herauslesen der assoziativen Worte aus dem Speicher in das Register der höchsten Stelle, durch Schiebeeinrichtungen zum sequentiellen Verschieben der assoziativen Worte aus dem Register einer höheren Ordnung in ein Re-. gister einer niedrigeren Ordnung, durch Empfänger- oder Aufnahmeeinrichtungen zum Aufnehmen einer virtuellen Adresse von einem Arbeitsprogramm, wobei die virtuelle Adresse eine virtuelle Blatt- und eine Wortidentifiziergröße besitzt, durch Vergleichseinrichtungen zum Vergleichen der virtuellen Blattidentifiziergröße der virtuellen Adresse mit der virtuellen Blattidentifiziergröße in mindestens einigen Registern, durch eine erste Steuereinrichtung, welche anspricht, wenn die Vergleichseinrichtung(en) eine Übereinstimmung zwischen der virtuellen Blattidentifiziergröße der virtuellen Adresse und einer virtuellen Blattidentifiziergröße eines assoziativen Worts feststellt, und das die betreffenden virtuellen Blattidentifiziergrössen enthaltende assoziative Wort in das Register der höchsten Ordnung überträgt, wobei die erste Steuereinrichtung die Schiebeeinrichtung betätigt, um andere assoziative Worte zu Registern niedrigerer Ordnung zu verschieben, und durch eine auf die Vergleichseinrichtungen ansprechende Speicheradressenregistereinrichtung zur Speicherung der absoluten Blattidentifiziergröße des die entsprechende virtuelle Blattidentifiziergröße enthaltenden assoziativen Worts.50 9 881/0686
- 2. Vorrichtung nach Anspruch 1, gekennzeichnet durch eine Einrichtung zur Speicherung der Wortidentifiziergröße der virtuellen Adresse im Speicheradressenregister.
- 3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jedes assoziative Wort einen Benutzungskode enthält, 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 Blattidentifiziergröße entsprechend der virtuellen Blattidentifiziergröße der virtuellen Adresse enthält.
- 4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß eine Einrichtung zur Speicherung der Wortidentifiziergröße von der virtuellen Adresse im Speicheradressenregister vorgesehen ist.
- 5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine zweite Steuereinrichtung vorgesehen ist, die anspricht, wenn die Vergleichseinrichtungen eine Nichtübereinstimmung zwischen der virtuellen Blattidentifiziergröße der virtuellen Adresse und der virtuellen Blattidentifiziergröße in den Registern feststellen, und selektiv die Einschreibeinrichtung betätigt, um sequentiell assoziative Worte aus allen Registern, mit Ausnahme des Registers der niedrigsten Ordnung, in den Speicher einzuschreiben, daß die zweite Steuereinrichtung weiterhin die Leseeinrichtung betätigt, um sequentiell zusätzliche assoziative Worte aus dem Speicher in das Register der höchsten Ordnung einzulesen, daß die Vergleichseinrichtungen die virtuellen Blattidentifiziergrößen der zusätzlichen assoziativen Worte mit der virtuellen Blattidentifiziergröße der virtuellen Adresse zu vergleichen vermögen, daß die zweite50 9 881/0686Steuereinrichtung weiterhin auf die Vergleichseinrichtungen anspricht und die Einschreibeinrichtung betätigt, um assoziative Worte zum Speicher zurück einzuschreiben, nur mit Ausnahme des assoziativen Datenworts, welches die der virtuellen Blattidentifiziergröße in der virtuellen Adresse entsprechende virtuelle Blattidentifiziergröße enthält, daß die zweite Steuereinrichtung daraufhin die Leseeinrichtung betätigt, um die ursprünglichen assoziativen Worte sequentiell in die Register zurück einzulesen, und die Schiebeeinrichtung betätigt, um das assoziative Wort mit der virtuellen Blattidentifiziergröße, welche der virtuellen Blattidentifiziergröße in der virtuellen Adresse entspricht, in das Register der höchsten Ordnung zu verschieben, wobei das assoziative Wort, welches die der virtuellen Blattidentifiziergröße der virtuellen Adresse entsprechende virtuelle Blattidentifiziergröße enthält, daraufhin im Register der höchsten Ordnung gehalten bzw. 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 gespeichert wird als die zurück eingelesenen assoziativen Worte.
- 6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß eine Einrichtung zur Speicherung der Wortidentifiziergröße aus der virtuellen Adresse im Speicheradressenregister vorgesehen ist.
- 7. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß jedes assoziative Wort einen Benutzungskode enthält, und daß die Schiebeeinrichtung das einen vorbestimmten Benut-50988 1/0686zungskode enthaltende assoziative Wort in eine Stelle niedrigerer Ordnung zu verschieben vermag, die vorher, von einem assoziativen Wort eingenommen wurde, welches einen der virtuellen Blattidentifiziergröße der virtuellen Adresse entsprechende virtuelle Blattidentifiziergröße enthält.
- 8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß eine Einrichtung zur Speicherung der Wortidentifiziergröße aus der virtuellen Adresse im Speicheradressenregister vorgesehen ist.509881 /0686
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 true DE2506117A1 (de) | 1976-01-02 |
DE2506117C2 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)
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 |
US4538241A (en) * | 1983-07-14 | 1985-08-27 | Burroughs Corporation | Address translation buffer |
US4532606A (en) * | 1983-07-14 | 1985-07-30 | Burroughs Corporation | Content addressable memory cell with shift capability |
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3422401A (en) * | 1964-12-17 | 1969-01-14 | English Electric Computers Ltd | Electric data handling apparatus |
US3675215A (en) * | 1970-06-29 | 1972-07-04 | Ibm | Pseudo-random code implemented variable block-size storage mapping device and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3292153A (en) * | 1962-10-01 | 1966-12-13 | Burroughs Corp | Memory system |
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 |
US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
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 |
-
1974
- 1974-06-07 US US05/477,215 patent/US3938100A/en not_active Expired - Lifetime
-
1975
- 1975-02-13 DE DE2506117A patent/DE2506117C2/de not_active Expired
- 1975-03-20 JP JP3310775A patent/JPS5732428B2/ja not_active Expired
- 1975-05-07 GB GB1919975A patent/GB1477977A/en not_active Expired
- 1975-05-21 CA CA227,435A patent/CA1015865A/en not_active Expired
- 1975-06-06 NL NLAANVRAGE7506726,A patent/NL180887C/xx not_active IP Right Cessation
- 1975-06-06 FR FR7517810A patent/FR2274086A1/fr active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3422401A (en) * | 1964-12-17 | 1969-01-14 | English Electric Computers Ltd | Electric data handling apparatus |
US3675215A (en) * | 1970-06-29 | 1972-07-04 | Ibm | Pseudo-random code implemented variable block-size storage mapping device and method |
Non-Patent Citations (1)
Title |
---|
DE-Buch "Rechnerstrukturen" Vorträge des Informatik-Symposiums der IBM-Deutschland, Wildbad 1973, Oldenburg Verlag 1974 S. 224-260 * |
Also Published As
Publication number | Publication date |
---|---|
CA1015865A (en) | 1977-08-16 |
DE2506117C2 (de) | 1986-04-03 |
GB1477977A (en) | 1977-06-29 |
NL180887C (nl) | 1987-05-04 |
FR2274086B1 (de) | 1980-08-01 |
NL7506726A (nl) | 1975-12-09 |
US3938100A (en) | 1976-02-10 |
FR2274086A1 (fr) | 1976-01-02 |
AU8154175A (en) | 1976-12-02 |
JPS50159934A (de) | 1975-12-24 |
JPS5732428B2 (de) | 1982-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2506117A1 (de) | Vorrichtung zur bildung einer absoluten adresse fuer den zugriff zu einem speicher eines elektronischen rechners | |
DE2756352C3 (de) | Schaltungsanordnung zum Aussuchen und Sortieren von Daten in gleichartig aufgebauten Sätzen | |
DE2914132A1 (de) | Datenbanksystem mit informationsvergleich | |
DE2659042A1 (de) | Datenbanksystem | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2521436B2 (de) | Informationswiedergewinnungsanordnung | |
DE1499182B2 (de) | Datenspeichersystem | |
DE3327379A1 (de) | Einrichtung und verfahren zum umordnen von datensaetzen | |
DE2062165A1 (de) | Verfahren und Anordnung zum Sortieren oder Mischen von Datensätzen | |
DE2435889A1 (de) | Verfahren und einrichtung zum unterscheiden von zeichengruppen | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE1499713A1 (de) | Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen | |
DE1237621C2 (de) | Informationsspeicher | |
DE1524155A1 (de) | Verfahren und Schaltungsanordnung zum Einspeichern und/oder Lesen von Informationen in einem Speichersystem,das mit mehreren Verarbeitungseinrichtungen einer Datenverarbeitungsanlage zusammenarbeitet | |
EP0230994B1 (de) | Verfahren zur Steuerung des Programmablaufs bei der Formularbearbeitung in Datenverarbeitungsanlagen | |
DE1955797A1 (de) | Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer | |
DE2519195A1 (de) | Assoziativspeicher | |
DE3838732A1 (de) | Informationsverarbeitungsgeraet | |
DE1774212B2 (de) | En 20417 12.08.67 " 37132 bez: datenverarbeitungsanlage | |
DE1524006B2 (de) | Vorrichtung zum erhoehen der informationsuebergaberate eines speichers | |
EP0139816B1 (de) | Verfahren und Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten einer Datenfolge mit assoziativen Einrichtungen | |
DE1774158B2 (de) | Einrichtung zum Abspeichern und Auffinden von Informationen | |
DE1774390C3 (de) | Datenerfassungssystem | |
DE1269657B (de) | Anordnung zur gesteuerten Entnahme von Informationen aus einer aus mehreren Registerstufen bestehenden, pyramidenfoermig ausgebildeten Speicheranordnung | |
DE2101586A1 (de) | Datenaufzeichnungssystem fur Magnet karten |
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 |