DE2856133A1 - Verarbeitungssystem fuer einen assoziativspeicher - Google Patents
Verarbeitungssystem fuer einen assoziativspeicherInfo
- Publication number
- DE2856133A1 DE2856133A1 DE19782856133 DE2856133A DE2856133A1 DE 2856133 A1 DE2856133 A1 DE 2856133A1 DE 19782856133 DE19782856133 DE 19782856133 DE 2856133 A DE2856133 A DE 2856133A DE 2856133 A1 DE2856133 A1 DE 2856133A1
- Authority
- DE
- Germany
- Prior art keywords
- information
- address
- module
- unit
- block
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
Beschreibung:
Die Erfindung betrifft ein Verarbeitungssysteia für einen Assoziativspeicher nach dem Oberbegriff des Patentanspruchs
1.
Bei einem herkömmlichen Assoziativspeicher, etwa einem Cache oder Pufferspeicher, wird in einem Hauptspeicher
gespeicherte Information zunächst in einen Assoziativspeicher (nachfolgend "Pufferspeicher" genannt) übertragen,
und eine zugeordnete Verarbeitungseinheit führt dann einen Zugriff zum Pufferspeicher aus. Falls die
benötigte Information im Pufferspeicher nicht vorhanden ist, wird die im Hauptspeicher gespeicherte benötigte
Information in Blockform in den Pufferspeicher geladen.
909826/1
Das heißt, daß die Information im Pufferspeicher erneuert wird. Die Kapazität solch eines Assoziativspeichers
oder Pufferspeichers hängt von verschiedenen Parametern wie der Set-Zahl, dem Assoziativpegel und
der Blocklänge der in Blockform gespeicherten Information ab.
Bei dem im erwähnten Assoziativspeicher verwendeten Pufferspeicher wird die Wahrscheinlichtkeit, daß die
benötigte Information bei der Verarbeitung nicht angetroffen wird, umso geringer, je größer die Informationsmenge
ist, die auf einmal vom Hauptspeicher in den Pufferspeicher übertragen werden kann. Dies führt
zu einem besseren Gesamtwirkungsgrad der Verarbeitung. Es ist daher erwünscht, die Kapazität des Pufferspeichers
so groß wie möglich auszulegen.
Bei Erhöhung der Kapazität solch eines Pufferspeichers wird in herkömmlichen Systemen der Assoziativpegel aus
folgenden Gründen erhöht. Während gewöhnlich eine Änderung der Set-Zahl oder der Blocklänge das gesamte Verarbeitungssystem
stark beeinflußt, braucht der Wert des Assoziativpegels nicht um eine Potenz von 2, d.h.
das zweifache, das Vierfache, ..., das 2n-fache erhöht
zu werden, sondern kann der Reihe nach um das Doppelte, das Dreifache etc. erhöht werden.
Eine Erhöung der Assoziativpegel macht jedoch eine entsprechende Erhöhung der Anzahl der benötigten Adreßvergleiche
erforderlich und kompliziert die zur Informationserneuerung verwendete Austauschschaltung. Außerdem
wird die Ergänzung von einem oder mehreren Adreß-
909826/1
feldteilen erforderlich, die teure schnelle Speicherelemente beinhalten. Für die Adreßfeldteile verwenden
neuere superschnelle Datenverarbeitungssysteme sehr
schnelle Elemente in deren gewöhnlichen Verarbeitungsschaltungen selbst. Der Zusatz von Adreßfeldteilen mit
sehr schnellen Elementen, die eine jenen Elementen äquivalente Geschwindigkeit besitzen, zu einem Assoziativspeicher,
führt zu sehr hohen Produktionskosten.
Aufgabe der Erfindung ist es, ein Verarbeitungssystem
für eine Assoziativspeicher zu schaffen, welches eine Vergrößerung der Datenmenge ermöglicht, die im Assoziativspeicher,
etwa einem Pufferspeicher, zurückgehalten bzw. gespeichert werden kann, ohne daß die Speicherkapazität
des Adreßfeldteils wesentlich erhöht wird. Dies soll ohne Änderung der Einheit erfolgen, in welcher
Daten zwischen diesem Speicher und einem anderen Speicher, etwa dem Hauptspeicher, übertragen v/erden. Ferner
soll der Aufbau der Hardware, etwa eines Adreßvergleichers, nicht komplizierter werden. Schließlich soll die
Anordnung infolge eines einfachen Aufbaus billig sein.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale im Patentanspruch 1 gelöst.
Erfindungsgemäß wird ein Verarbeitungssystem für einen
Assoziativspeicher, der zur Informationsspeicherung vorgesehen ist, geschaffen. Bei diesem System wird benötigte
Information dadurch herausgezogen, daß ein Zugriff zu dem Assoziativspeicher erfolgt und die Information
im Assoziativspeicher erneuert wird. Der Assoziativspeicher umfaßt einen Datenteil zur Speicherung einer
Vielzahl von Blockinformationseinheiten als ein Modul,
909826/1006
einen Adreßfeldteil zur Speicherung einer Moduladresse
entsprechend den Daten eines Moduls und einen Gültigkeitsinformationsteil, der in Verbindung mit der Moduladresse angeordnet ist und anzeigt, welche der
Blockinformationseinheiten, die ein Modul bilden,
entsprechend den Daten eines Moduls und einen Gültigkeitsinformationsteil, der in Verbindung mit der Moduladresse angeordnet ist und anzeigt, welche der
Blockinformationseinheiten, die ein Modul bilden,
gültig ist. Das Erneuern der Information im Datenteil
wird in den erwähnten Blockinformationseinheiten durchgeführt.
wird in den erwähnten Blockinformationseinheiten durchgeführt.
Die Erfindung wird im folgenden anhand der beiliegenden
Zeichnungen im einzelnen erläutert. Es zeigen:
Fig. 1 eine Blockdarstellung des Aufbaus eines herkömmlichen
Pufferspeichers,
Fig. 2 ein Blockschaltbild eines Beispiels des herkömmlichen Verarbeitungssystems für einen Pufferspeicher,
Fig. 3 in einer Blockdarstellung den Informationsfluß im herkömmlichen Pufferspeicher,
Fig. 4 ein Blockschaltbild zur Erläuterung einer Ausführungsform des erfindungsgemäßen Verarbeitungssystems
für einen Pufferspeicher,
Fig. 5 in einer Blockdarstellung den Informationsfluß beim erfindungsgemäßen Verarbeitungssystem,
Fi.g. 6 eine Darstellung des Aufbaus der Information im
Adreßfeldteil beim erfindungsgemäßen Verarbeitungssystem,
909826/1006
Fig. 7 eine Darstellung des Aufbaus der Zugriffsadresse beim erfindungsgemäßen Verarbeitungssystem,
und
Fig. 8 eine Darstellung eines Verhältnisses bezüglich der Speicherkapazität zwischen dem Datenfeld
teil und dem Adreßfeidteil.
Gemäß Darstellung in Fig. 1 umfaßt ein herkömmlicher Pufferspeicher
einen Adreßfeidteil 1 und einen Datenteil Gewöhnlich wird vom Hauptspeicher eine Blockinformationseinheit
3 in den Datenteil 2 übertragen und dort gespeichert, während gleichzeitig im Adreßfeidteil 2 eine
Blockadresse 4 gespeichert wird, die der so übertragenen und gespeicherten Blockinforraationseinheit 3 entspricht.
Eine nicht gezeigte Verarbeitungseinheit liefert eine Zugriffsadreßinformation, die den Zugriff zu
dieser Blockinformationseinheit in dem als Assoziativspeicher ausgebildeten Pufferspeicher erlaubt. Wenn der
Adreßfeldteil 1 aufgefunden ist und in diesem Adreßfeldteil 1 eine Blockadresse 4, die der Zugriffsadreßinformation
entspricht, vorhanden ist, dann wird aus dem Datenteil 2 eine entsprechende Blockinformationseinheit oder
Blockdateneinheit ausgelesen. Bei dem jetzt in großem Umfang verwendeten sogenannten "Set Associative System"
wird der in der Figur gezeigte Wert "m" als "Set-Zahl", der ebenfalls gezeigte Wert "n" als "Assoziativpegel"
und die Größe einer Datenblockeinhe.it 3 als "Blocklänge" bezeichnet.
Fig. 2 zeigt ein herkömmliches Verarbeitungssystem für einen Pufferspeicher. Darin bezeichnen die Zahlen 1-0
bis 1-(n-1) jeweils eine Assoziativeinheit als eine Komponente des Adreßfeldteils 1 von Fig. 1, und die
909826/10118
Zahlen 2-0 bis 2-(n-1) jeweils eine Assoziativeinheit als eine Komponente des Datenteils 2 von Fig. 1. Mit
5 ist ein Adreßregister bezeichnet, in das eine Zugriff sadreßinformation eingegeben wird. 6-0 bis 6-(n-1)
bezeichnen jeweils eine Vergleichsschaltung, 7-0 bis 7-(n-1) jeweils eine Blockinformationseinheit entsprechend
einer in Fig. 1 gezeigten Blockinformationseinheit 3, während 8-0 bis 8-(n-1) jeweils einer Blockadresse
4 gemäß Fig. 1 entsprechen. 9 ist eine Aus- · tauschschaltung, die während des Auffrisch- bzw* Erneuerungsvorgangs
eine von den Blockinformationseinheiten herauszieht, zu denen während des letzten
oder eines kürzlichen Zugriffs der geringste Zugriff erfolgte. 1o bezeichnet eine. Selektorschaltung, die
dazu dient, entsprechend einem Übereinstimmungssignal
von den Vergleichsschaltungen 6-0 bis 6-(n-1) von den
parallel aus den Assoziativeinheiten 2-0 bis 2-(n-1) des Datenteils ausgelesenen Blockinfonnationseinheiten
eine herauszuziehen.
Wenn eine Zugriffsadressinformation in das Adreßregister 5 eingegeben wurde, wird der Zugriff zu den Assoziativeinheiten
1-0 bis 1-(n-1) in dem Adreßfeldteil, zu den Assoziativeinheiten 2-0 bis 2-(n-1) in dem Datenteil
und zu der Austauschschaltung 9 beispielsweise mit Bezug auf die Inhalte des unteren Adreßteils jener Zugriff
sadreßinformation ausgeführt. Die Blockadressen 8-0 bis 8-(n-1), die in den Assoziativeinheiten 1-0
bis 1-(n-1) des Adreßfeldteils gespeichert sind, stellen den oberen Adreßteil der Zugriffsadreßinformation für
die Blockinformationseinheiten 2-0 bis 2-(n-1) dar. Die Blockadressen 8-O bis 8-(n-1) werden durch diesen Zugriff
bzw. diese Abfrage alle gleichzeitig ausgelesen
909826/1 GOß
und den jeweiligen Vergleichsschaltungen 6-0 bis 6-(n-1) zugeführt. Gleichzeitig wurde der obere Adreßteil der
in das Adreßregister 5 eingeschriebenen Zugriffsadreßinformation
in alle Vergleichsschaltungen 6-0 bis 6-(n-1) eingegeben, so daß jede Vergleichsschaltung eine jeweilige
Blockadresse mit diesem Adreßteil vergleicht und bei Übereinstimmung ein die Übereinstimmung angebendes
Ausgangs- oder Übereinstimmungssignal erzeugt.
Auch die Blockinformationseinheiten 7-0 bis 7-(n-1) werden bei diesem Zugriff gleichzeitig aus den Datenteil-Assoziativeinheiten
2-0 bis 2-(n-1) ausgelesen und der Selektorschaltung 1o zugeführt. Wenn man einmal annimmt,
daß die Vergleichsschaltung 6-0 ein übereinstimraungssignal erzeugt, dann wählt die Selektorschaltung 1o eine
Blockinformationseinheit 7-0 aus und liefert diese an die nicht gezeigte Verarbeitungseinheit.
Falls übrigens in der erwähnten Weise die Blockinformationseinheit
7-0 ausgewählt wurde, führt die Austauschschaltung 9 eine Informationserneuerung so durch, daß
der Blockinformationseinheit 7-0 höchste Priorität zukommt. Falls aber die Abfrage- bzw. der Zugriff ergibt,
daß die gewünschte Blockinformationseinheit nicht vorhanden ist, dann wird mittels der Austauschschaltung 9 eine
beim letzten oder einem kürzlichen Zugriff am wenigsten benutzte Blockinformationseinheit aus dem Pufferspeicher
entfernt und vom Hauptspeicher eine notwendige Blockinformationseinheit in den Pufferspeicher übertragen.
Das Entfernen kann beispielsweise entsprechend dem LRU-Algorithmus
erfolgen.
909826/1006
Pig. 3 zeigt den Informationsfluß durch das herkömmliche System zur Verarbeitung der Information in einer Blockinformationseinheit.
In Fig. 3 entsprechen die Bezugszahlen 1, 1-0 bis 1-3, 2, 2-0 bis 2-3, 3 und 4 den
identischen Bezugszahlen in den Fig. 1 und 2. 11 ist der Hauptspeicher, V eine Gültigkeitsinformation, "und
B , B1, ... B , B1, ... sind Blockinformationseinheiten.
Im Hauptspeicher 11 gespeicherte Information wird in Form dieser Blockinformationseinheiten behandelt.
Wenn bei dem Set Associative System Blockinformationseinheiten B_, B1, .·., die zur Set- oder Datensatzstelle
Null im Hauptspeicher 11 gehören, in den Pufferspeicher übertragen werden, dann werden sie in die Datensatzstelle
Null des Datenteils des Pufferspeichers übertragen und bleiben dort.
Im dargestellten Fall wird im einzelnen die Blockinformationseinheit
Bn zur Assoziativeinheit 2-0 des Datenteils
übertragen, während die Blockinformationseinheit B zur Assoziativeinheit 2-1 des Datenteils übertragen wird.
Der obere. Adreßteil "0" der Blockadresse "0 0" der Blockinformationseinheit
Bn wird in die Assoziativeinhe.it 1-0 des Adreßfeldteils eingeschrieben, während der obere
Adreßteil "1" der Blockadresse "1 0" der Blockinformationseinheit B in die Assoziativeinheit 1-1 des Adreßfeldteils
eingeschrieben wird. Jeweilige Einheiten der-Gültigkeitü-Information
V werden in den Adreßfeldteil eingeschrieben, um zu kennzeichnen, ob die in den Pufferspeicher
übertragenen Blockinformationseinheiten Bn, B , etc.
gültig sind. Wenn die Giiltigkeitsinformation V den
Binärwort "O" besitzt, wird die entsprechende Blockinformationseinheit,
z.B. Bn, als ungültig verarbeitet.
Wie in Fig. 4 dargestellt, werden erfindungsgemäß im Datenteil mehrere Blockinformationseinheiten als eine
einzelne Blockinformationseinheit gespeichert. Dies entspricht einer vergrößerten Blocklänge, wie sie unter
Bezug auf Fig. 1 beschrieben wurde. Eine Blockeinheit oder Informationseinheit, die in solcher Weise einer
Vielzahl von Blockinformationseinheiten entspricht, wird nachfolgend ein "Modul" oder eine"Modulinformationseinheit"
genannt werden.
In Fig. 4 entsprechen die Bezugszahlen 21-0 bis 21-(n-1) einer Assoziativeinhe.it als einer Komponente eines
Adreßfeldteils entsprechend jenem von Fig. 1, während 22-0 bis 22-(n-1) je einer Assoziativeinheit als einer
Komponente eines Datenteils gemäß dem Datenteil von Fig. 1 entsprechen. 22-0-0, 22-0-1 bis 22-(n-1)-O,
22-{n-1)-1 stellen jeweils eine Blockinformationseinheit als eine Komponente einer Modulinformationseinheit
entsprechend der Blockinformationseinheit 3 von Fig. 1 dar. Darüberhinaus bezeichnen 25 ein Adreßregister,
in das eine Zugriffsadreßinformation eingegeben wird, 26-0 bis 26-(n-1) Vergleichsschaltungen, 28-0 bis 28-(n-1)
Moduladressen, 29 eine Austauschschaltung, 31-0 bis 31-(n-1) und 32-0 bis 32-{n-1) Selektorschaltungen und
33-0 bis 33-(n-1) Verknüpfungsglieder.
Wenn in das Adreßregister 25 eine Zugriffsadreßinformation eingegeben wurde, dann besteht diese aus einer oberen
Adreßinformation im Register 25a, der Moduladreßinforraation
im Register 25b und der Blockkomponente-Adreßinformation des Moduls im Register 25c. Wenn diese Zugriffsadrpßinformation
in das Adreßregister 25 eingegeben wurde, wird der Zugriff zu den Assoziativeinheiten 21-0 bis
21-(n-1) des Adreßfeldteils, zu den Assoziativeinheiten
909826/1006
22-0 bis 22-(n-1) des Datenteils und zur Austauschschaltung 29 mit Bezug auf die in den unteren Adreßregister
teilen 25b und 25c gespeicherten Inhalte durchgeführt. Die in den Assoziativeinheiten 21-0 bis 21-{n-1) des
Adreßfeldteils gespeicherten Moduladressen 28-0 bis 28-(n-1) stellen den oberen Adreßteil der Adreßinformation
entsprechend den dargestellten Modulinformationseinheiten 22-0 bis 22-(n-1) dar. Diese Moduladressen
28-0 bis 28-(n-1) werden beim Zugriffsvorgang gleichzeitig ausgelesen und den jeweiligen Vergleichsschaltungen
26-0 bis 26-(n-1) zugeführt. Zu diesem Zeitpunkt ist die obere Adresse "25a" im Register 25a des Adressenregisters
25 in alle Vergleichsschaltungen 26-0 bis 26-(n-1) eingegeben worden. Alle Vergleichsschaltungen
vergleichen ihre jeweilige Moduladresse mit der oberen Adresse "25a" und erzeugen ein Ubereinstimmungssignal,
wenn beide Adressen übereinstimmen. Das ubereinstimmungssignal
einer Vergleichsschaltung dient der Feststellung der Übereinstimmung einer Blockadresse im Modul
mit der gültigen Information und wird der Selektorschaltung 3o geliefert.
Inzwischen sind im Datenteil die Modulinformationseinheiten 22-0 bis 22-(n-1) alle gleichzeitig ausgelesen
worden, und eine ausgewählte Blockinformationseinheit, die in den Modulinformationseinheiten ausgewählt wird,
wird der Selektorschaltung 3o zugeführt. Die Selektorschaltung 3o wählt eine Blockinformationseinheit aus
und überträgt sie einer nicht gezeigten Verarbeitungseinheit.
Fig. 5 zeigt den Fluß der als Moduleinheit'beim erfin—
dungsgemäßen System verarbeiteten Informationr Es sei
angenommen, daß die Blockinformationseinheiten B-, B1 ^
9 0 9 8 2 6 / 1 ΰ t3 €
oder die Blockinformationseinheit BQ allein; zur Assoziativeinheit
22-0 des Datenteils übertragen wird und daß der obere Adreßfeidteil der Moduladreßinformation, die
der Modulinformationseinheit mit den Blockinformationseinheiten
BQ, B. entspricht, in den entsprechenden
Adreßfeldteil 21-0 eingeschrieben wird. Wenn beide Blockinformationseinheiten BQ/ B1 richtig und gültig sind,
dann werden die Gültigkeitsinformationen VQ, V. beispielsweise
durch Binärwerte "1" dargestellt,um die
. Gültigkeit der Blockinformationseinheiten BQ, B1 zu
kennzeichnen. Falls jedoch beide Blockinformationseinheiten B„, B1 zur Assoziativeinheit 22-0 übertragen werden,
jedoch nur eine von ihnen, z.B. die Blockinformationseinheit B_, gültig ist, oder falls die Block-Informationseinheit
B_ allein übertragen wird und gültig ist, dann liefert die Gültigkeitsinformation V einen
Binärwert "1", um die Gültigkeit dieser Blockinformationseinheit zu kennzeichnen, während die andere Gültigkeitsinformation
V1 den Binärwert "0" liefert, um die Ungültigkeit zu kennzeichnen. Die anderen dargestellten
Moduleinheiten werden in gleicher Weise auch verarbeitet.
Zusammengefaßt kann man, wie unter Bezug auf Fig. 4 beschrieben wurde, davon ausgehen, daß alle Adreßinformationen
einschließlich den Gültigkeitsinformationen V , V1 gleichzeitig aus den Assoziativeinheiten 21-0 bis
21-3 des AdreßfeldteiIs dadurch ausgelesen werden, daß
der untere Adreßteil des Adreßregisters verwendet wird und daß dann die obere Adreßinformation des Adreßregisters
mit dem oberen Adreßteil der Zugriffsadreßinformation verglichen wird. Hierbei erzeugt die Vergleichsschaltung
26 selbst dann kein Übereinstimmungssignal, wenn zwar die obere Adreßinformation mit dem
909 8 26/1006
oberen Adreßteil der Zugriffsadresseninformation übereinstimmt,
die Gültigkeitsinformation V_ oder V1 aber
die Ungültigkeit der Information kennzeichnet.
Unter Bezug auf Fig. 6 ff. soll das erfindungsgemäße
Verarbeitungssystem unter Verwendung der erwähnten
Gültigkeitsinformation V, V1 näher erläutert werden.
Fig. 6 ist die Darstellung von Einzelheiten der in den Adreßfeldteil eingeschriebenen Information. 42
bezeichnet eine Information, die in den Adreßfeldteil 1 in dem Fall eingeschrieben wird, daß der Pufferspeicher
Informationen in Blockeinheiten (entsprechend dem herkömmlichen System) verarbeitet, wobei 4 eine Blockadresse
bezeichnet und V die Gültigkeitsinformation ist. 43 kennzeichnet die Information, die in den Adreßfeldteil
21 in dem Fall eingeschrieben wird, daß der Pufferspeicher zwei Blockinformationseinheiten als ein Modul
verarbeitet. Hierbei bezeichnet 28 eine Moduladresse entsprechend zwei Blockinformationseinheiten, während
VQ und V1 Einheiten der Gültigkeitsinformation entsprechend
den jeweiligen Blockinformationseinheiten sind. Mit dieser Anordnung kann der Pufferspeicher eine Kapazität
besitzen, die doppelt so groß wie die des herkömmlichen Pufferspeichers ist, obwohl derselbe Adreßfeldteil
wie beim herkömmlichen Pufferspeicher vorhanden ist. Die Bezugs zahl 44 kennzeichnet eine Information,
die in den Adreßfeldteil 21 in dem Fall eingeschrieben wird, daß der Pufferspeicher vier Blockinformationseinheiten
als ein Modul verarbeitet. Darin bezeichnet 28 eine Moduladresse entsprechend vier
Blockinformationseinheiten, während VQ, V1, V und V3
Einheiten der Gültigkeitsinformation entsprechend den jeweiligen Blockinformationseinheiten sind. Bei dieser
U 9 8 2 6 / 1 0 0 β
Anordnung kann der Pufferspeicher bei dem gleichen Adreßfeldteil wie der herkömmliche Pufferspeicher eine
Kapazität besitzen, die viermal so groß wie die des herkömmlichen Pufferspeichers ist. Mit 45 ist eine Information
bezeichnet, die in den Adreßfeldteil 21 eingeschrieben wird, wenn der Pufferspeicher zwei Blockinformationseinheiten
als ein Modul verarbeitet und außerdem eine nachfolgend beschriebene Änderungsinformation
vorgesehen ist. 28 ist eine Moduladresse ent-. sprechend zwei Blockinformationseinheiten, während V_
und V1 Einheiten der Gültigkeitsinformation entsprechend
den jeweiligen Blockinformationseinheiten sind. CQ ist eine Einheit einer Änderungsinformation, die angibt,
daß eine Blockinformationseinheit (das heißt BQ im vorliegenden
Fall) entsprechend der Information V0 eingeschrieben
wurde. C. ist eine andere Einheit der Änderungsinformation, die angibt, daß eine Blockinformationseinheit
(d.h. B1) entsprechend der Information V1 eingeschrieben
wurde.
Fig. 7 verdeutlicht die Art, in welcher der Zugriff in bezug auf die Zugriffsadreßinformation, die in das in
Fig. 4 gezeigte Adreßregister 25 eingegeben wurde, ausgeführt wird. In der Figur bezeichnen 46 die Zugriffsadreßinformation,
47 einen oberen Adreßteil, 48 einen unteren Adreßteil und 49 einen Dekoder. Das mit einem
Sternchen versehene Bit ist ein Bit zur Auswahl einer Blockinformationseinheit.
Fig. 7(A> verdeutlicht die Art, in welcher der Zugriff ausgeführt wird, wenn der Pufferspeicher eine Block-Informationseinheit
einzeln verarbeitet, was dem Stand der Technik entspricht). In diesem Fall erfolgt
909826/1006
der Zugriff zu den einzelnen Assoziativeinheiten 1-0 bis 1-(n-1) des Adreßfeldteils in gleicher Weise wie
in Fig. 2 mit Bezug auf den unteren Adreßteil 48 der Zugriffsadreßinformation 46. Durch diesen Zugriff wird
die in Fig. 6 angegebene Information 42 aus allen Assoziativeinheiten
ausgelesen. Dann wird die Blockadresse 4 mit der oberen Adresse 47 verglichen. Nur bei Übereinstimmung
dieser Adressen und bei Anzeige der Gültigkeit durch die Gültigkeitsinformation V erzeugt die zugehörige
Vergleichsschaltung ein Übereinstimmungssignal.
Fig. 7(B) zeigt die Art, in welcher der Zugriff erfolgt,
wenn der Pufferspeicher zwei Blockinformationseinheiten als ein Modul verarbeitet, um die Pufferspeicherkapazität
zu verdoppeln. In diesem Fall wird der Zugriff zu den einzelnen Assoziativeinheiten 21-0 bis 21-(n-1) des
in Fig. 4 gezeigten Adreßfeldteils unter Bezug auf den unteren Adreßteil 48 der Zugriffsadreßinformation 46
ausgeführt. Durch diesen Zugriff wird die in Fig. 6 gezeigte Information 43 aus allen Assoziativeinheiten
ausgelesen. Dann werden die Moduladresse 28 und der obere Adreßteil 47, der in Fig. 7(B) gezeigt ist, mit
einander verglichen. Wenn das durch den Stern gekennzeichnete Bit den Binärwert "0" hat, wird geprüft, ob die
Gültigkeitsinformation Vn in der in Fig. 6 gezeigten
25* Information 43 die Gültigkeit anzeigt. Wenn das mit einem Stern gekennzeichnete Bit den Binärwert "1" besitzt,
wird geprüft, ob die Gültigkeitsinformation V1
der Information 43 von Fig. 6 die Gültigkeit anzeigt. Falls zwischen der Moduladresse und dem oberen Adreßteil
Übereinstimmung besteht, und gleichzeitig beide Einheiten der Gültigkeitsinformation die Gültigkeit anzeigen, er-
909826/1006
zeugt die zugehörige Vergleichsschaltung 26 ein übereinstimmungssignaI.
Fig. 7(C) verdeutlicht die Art des Zugriffs, wenn der
Pufferspeicher vier Blockinformationseinheiten als ein Modul verarbeitet, um die Kapazität zu vervierfachen.
In diesem Fall erfolgt der Zugriff zu den einzelnen Assoziativeinheiten 21-0 bis 21-(n-1) des Adreßfeldteils
in gleicher Weise wie gemäß Fig. 4 mit Bezug auf den unteren Adreßteil 48 der Zugriffsadreßinformation 46.
Folglich wird die Information 44 von Fig. 6 aus allen Assoziativeinheiten ausgelesen. Daran schließt sich ein
Vergleich zwischen der Moduladresse 28 und dem oberen Adreßteil 47 von Fig. 7 an. Es wird geprüft, ob die
Gültigkeitsinformation VQ die Gültigkeit anzeigt, falls
das mit dem Stern gekennzeichnete Bit bzw. die mit dem Stern gekennzeichneten Bits "0 0" vorgeben. Sind diese
Bits "0 1", dann wird geprüft, ob die Gültigkeitsinformation V1 die Gültigkeit angibt, während die Gültigkeitsinformation V2 auf die Gültigkeit überprüft wird, wenn
die genannten Bits "1 0" sind und die Gültigkeitsinformation V^ auf die Gültigkeit geprüft wird, falls die
genannten Bits "1 1" sind. Nur wenn dieser Vergleich die Übereinstimmung ergibt und alle genannten Gültigkeitsinformationen
die Gültigkeit anzeigen, erzeugt die zugehörige Vergleichsschaltung 26 ein Übereinstimmungssignal.
Was die Information 45 in Fig. 6 anbelangt, so •wird auf sie später Bezug genommen.
Falls bei den beschriebenen Zugriffsvorgängen die gewünschten Daten nicht aus dem Pufferspeicher ausgelesen werden
können, wird die Modulinformationseinheit, nach der beim letzten Zugriff die geringste Nachfrage herrschte, mittels
der Austauschschaltung 29 von Fig. 4 herausgezogen
909826/1006
und im Pufferspeicher gelöscht. Stattdessen wird eine große Datenmenge, die bei jenem Zugriff gefragt war,
vom Hauptspeicher 11 in den Pufferspeicher übertragen.
Wenn die Daten in den Pufferspeicher eingebracht werden, wird erfindungsgemäß nur eine Blockinformationseinheit
anstelle einer gesamten Modulinformationseinheit auf einmal in den Pufferspeicher geladen, um den Pufferspeicher
in einem. Zustand geringerer Speichertätigkeit zu halten. Dies sei anhand des in Fig. 5 dargestellten Falls näher
erläutert. Es sei angenommen, daß die Modulinformationseinheiten 23-0, 24-0 gelöscht wurden und andere Modulinformationseinheiten
23-k, 24-k (nicht gezeigt), die eine Blockinformationseinheit B, ., (nicht gezeigt) ent-
Kl
halten, eingeschrieben werden sollen,' dann wird dlsBlock-Informationseinheit
B,, die allein erforderlich ist, in die Assoziativeinheit 22-0 des in Fig. 5 gezeigten Datenteils
eingeschrieben. Gleichzeitig wird die obere Adresse "k" der Moduladresse 28-k, die dieser Modulinformationseinheit
entspricht, in die Assoziativeinheit 21-0 des Adreßfeldteils eingeschrieben. Falls die Blockinformationseinheit
B... in einer Blockeinheit gelegen ist, welche in bezug auf die Modulinformationseinheiten 23-k,
24-k der Giiltigkeitsinformation V. entspricht, wird die
Gültigkeitsinformation V1 zur Anzeige der Gültigkeit
eingestellt, während die. andere Gültigkeitsinformation V zur Anzeige der Ungültigkeit eingestellt wird. Falls
dann eine andere Blockinformationseinheit B,o in derselben
Modulinformationseinheit 23-k, 24-k gewünscht wird, wird diese Blockinformationseinheit B,Q in die
Assoziativeinheit 22-0 des Datenteils geladen und die Gültigkeitsinformation V zur Anzeige der Gültigkeit
gesetzt. Es ist selbstverständlich zu beachten, daß das
909826/1008
Einladen der anderen Blockinformationseinheit B^0 nur
ausgeführt werden kann, wenn der Zugriff zum Hauptspeicher 11 vorübergehend unterbrochen ist.
Bei der beschriebenen Art des Einladens kann die Häufigkeit, in der der Speicher tätig ist, stark verringert
werden. Wenn im Hinblick auf eine im Pufferspeicher zurückgehaltene Modulinformationseinheit die Gültigkeitsinformation Vi, die einer Blockinformationseinheit der
Modulinformationseinheit entspricht, die Ungültigkeit dieser Blockinformationseinheit anzeigt und der Zugriff
zu dieser ungültigen Blockinformationseinheit erfolgte, dann wird auf der Basis einer nicht gezeigten Steuertabelle
eine Verarbeitungssteuerung ausgeführt. Das heißt, falls eine der ungültigen Blockinformationseinheit
identische Blockinformationseinheit vom Hauptspeicher geliefert wurde, dann existieren im Datenteil
nicht zwei oder mehrere Blockinformationseinheiten zusammen.
Es ist weiter obenangegeben worden, daß bei der Erneuerung, d.h. beim Einladen neuer Daten in den Pufferspeicher
vom Hauptspeicher 11, nur die vorher verlangte Blockinformationseinheit B,.. allein in den Pufferspeicher
geladen wird, um die Zustände der Speichertätigkeit zu reduzieren. Es wurde jedoch noch nicht angegeben,
daß im Fall eines Ersatzes einer Modulinformationseinheit im Pufferspeicher durch heue Information
die geschriebenen oder alten Daten in den Hauptspeicher 11 übertragen werden. Es sei aber angemerkt,daß, falls
ein sogenanntes "Store Through System" verwendet wird, die geschriebenen oder alten Daten nur in den Hauptspeicher
übertragen zu werden brauchen, und zwar in
909826/1
- 2ο -
eine Informationseinheit gleich der Blockinformationseinheit,
von der die Daten ausgetauscht wurden, oder in eine niedrigere Informationseinheit. Selbst wenn der
Pufferspeicher mit einer Modulinformationseinheit arbeitet,
wie es bei der vorliegenden Erfindung der Fall ist, wird die Häufigkeit der Speichertätigkeit nicht
zunehmen. Beim sogenannten "SWAP System", bei dem Daten vom Pufferspeicher zu dem Zeitpunkt zum Hauptspeicher 11
übertragen werden, zu dem die Löschung dieser Daten notwendig wird, ist es jedoch nötig, eine gesamte Modulinformationseinheit,
die einer Vielzahl von Blockinformationseinheiten äquivalent ist, zu übertragen, so daß
bei einem SWAP-System die Wahrscheinlichkeit des Zustands der Speichertätigkeit abnimmt. Wenn das erwähnte
SWAP-System eingesetzt wird, dann kann das angegebene, mit diesem System verbundene Problem dadurch gemeistert
werden, daß man Änderungsinformationen C0, C. etc.
zwischen der in dem Adreßfeldteil 1 eingeschriebenen Information, die in Fig. 6 mit 45 bezeichnet ist, vorsieht.
Wenn bei Verwendung des SWAP-Systems ein Datenaustausch im Pufferspeicher ausgeführt wurde, dann wird
die Änderungsinformation Ci erneuert, um beispielsweise
einen Binärwert "1" zu liefern, der die Blockinformationseinheit kennzeichnet, von der Daten ausgetauscht
wurden. Wenn bei einer Datenerneuerung eine Modulinformationseinheit im Pufferspeicher gelöscht wird, dann wird
nur die Blockinformationseinheit dieser gelöschten Modulinformationseinheit, bezüglich der die Änderungsinformation Ci den Binärwert "1" abgibt, zum Haupt-
speicher 11 übertragen und dort gespeichert.
Infolge dieser Verarbeitung ist es unnötig, dem Hauptspeicher 11 die anderen Blockinformationseinheiten
909826/1006
jener gelöschten Modulinformationseinheiten zu übertragen, die keinem Einschreiben oder Austauschen von
Daten ausgesetzt waren. Als Folge wird die Übertragungszeit um die Zeit verringert, die für die übertragung
dieser anderen Blockinformationseinheiten erforderlich wäre und damit die Wahrscheinlichkeit der Speichertätigkeit
reduziert.
Wie in Fig. 8 dargestellt, ist, obwohl erfindungsgemäß
die Speicherkapazität des den Pufferspeicher bildenden Datenteils 2 vergrößert wurde, die Speicherkapazität
des Adreßfeldteils 1 nicht vergrößert (die Bezugszahlen von Fig. 8 entsprechen denen von Fig. 5). Genauer gesagt,
kennzeichnen die in den Adreßfeidteil 21 eingeschriebenen Moduladressen 28 eine Vielzahl von Block-Informationseinheiten
23-0, 24-0 etc., während die Gültigkeit s in forma ti on?nV0, V. angeben, ob die Vielzahl
der Blockinformationseinheiten 23-0, 24-0, etc. tatsächlich vorhanden ist. Wie sich aus der Information
42, 43, 44, die in Fig. 6 dargestellt sind, ergibt, besitzen die Moduladressen eine geringere Bitanzahl,
obwohl die Menge der gültigen Information größer geworden ist. Es ist daher keine Änderung der Kapazität des
Adreßfeldteils aufgetreten.
Wie oben erläutert, ist es erfindungsgemäß möglich, die Menge der in einem Assoziativspeicher, etwa in Form eines
Pufferspeichers, speicherbaren Daten zu erhöhen, ohne irgendeine erhebliche Erhöhung der Speicherkapazität
des Adreßfeldteils vorzunehmen, und auch ohne Notwendigkeit einer wesentlichen Änderung der Einheit, in welcher
Daten zwischen dem Pufferspeicher und anderen Speichern, etwa dem Hauptspeicher, übertragen werden. Auch zusätzliche
Hardware, wie eine Vergleichsschaltung und eine
909826/1006 "
Austauschschaltung, ist nicht notwendig. Es ist anzumerken, daß die Einheiten der Information,wie sie in der
Beschreibung verwendet werden, d.h. die "Blockinformationseinheit" und "Modulinformationseinheit11 bezeichneten
Informationseinheiten austauschbare Bezeichnungen sind. Daher kann die Bezeichnung "Modulinformationseinheit"
wahlweise in "Blockinformationseinheit" und die Bezeichnung "Blockinformationseinheit" entsprechend in "Informationseinheit"
geändert werden.
909826/1006
e e r s e
it
Claims (3)
- BLUMBACH · WESER · BERGEN · KRAMER ZWIRNER-HIRSCH-BREHMPATENTANWÄLTE IN MÜNCHEN UND WIESBADEN * O O D I OPatentconsult Radedcestraße 43 8000 München 60 Telefon (089)883603/883604 Telex 05-212313 Telegramme Patentconsult Patentconsult Sonnenberger Straße 43 6200 Wiesbaden Telefon (06121)562943/561998 Telex 04-186237 Telegramme PatentconsultFUJITSU LIMIO)ED 78/87761015» Kamikodanaka, Nakahara-ku, Kawasaki-shi Kanagawa 211, JapanVerarbeitungssystem für einen AssoziativspeicherPatentansprücheVerarbeitungssystem für einen Assoziativspeicher zur Informationsspeicherung, bei dem durch Zugriff zum Assoziativspeicher benötigte Information herausgezogen wird und im Assoziativspeicher zurückgebliebene Information erneuert wird und der Assoziativspeicher einen Datenteil zur Speicherung mehrerer Blockinformationseinheiten und einen Adreßfeldteil aufweist, dadurch gekennzeichnet , daß die Blockinformationseinheiten (22-Of 22-0-1 bis 22-(n-1)-O, 22~(n-1)-1) als eine Modulinformationseinheit im Datenteil (22-0 bis 22- (n-1)) gespeichert v/erden, daß im Adreßfeldteil (21-0 bis 21-(n-1)) eine der Modulinformationseinheit entsprechende Moduladresse (28-0 bis 28-(n-1)) gespeichert wird, daß der Assoziativspeicher im Adreßfeldteil in Verbindung mit der Moduladresse eine Gültigkeitsinformation (VQ, V1) enthält, die angibt, welche der eine Modulinformationseinheit bildenden Blockinformationseinheiten gültigMünchen: P.. Kramer Dipl.-Ing. · W. Weser Dipl.-Phys. Dr. rer. nat. . P. Hirsch Dipl.-Ing. · H. P. Brehm Dipl.-Chem. Dr. phil. nat. Wiesbaden: P. G. Blumbach Dipl.-Ing. . P. Bergen Dipl.-Ing. Dr. jur. . G. Zwirner Dipl.-Ing. Dipl.-W.-Ing.S09828/1ÖÖSORIGINAL INSPECTEDist, daß zum Auffinden einer Adresse im Assoziativspeicher ein Zugriff nach dieser Adresse zum Adreßfeldteil des Assoziativspeichers in einem Feld erfolgt, das gegenüber dem Feld verschoben ist, in dem diese Adresse mit einer vom Adreßfeldteil ausgelesenen Adresse verglichen wird und die Gültigkeitsinformation den einzelnen Blockinformationseinheiten in einem niedrigstwertigen Bit zugeteilt ist, um die Speicherkapazität des Assoziativspeichers zu erhöhen, und daß die Erneuerung einer im Datenteil gespeicherten Information in den Blockinformationseinheiten ausgeführt wird.
- 2. Verarbeitungssystem nach Anspruch 1, dadurch gekenn zei chnet , daß der Assoziativspeicher ein Pufferspeicher ist, der zuvor von einem Hauptspeicher gelieferte Information speichert und dem zur Verarbeitung eine Verarbeitungseinheit zugeordnet ist, derart, daß der Zugriff zum Assoziativspeicher von der Verarbeitungseinheit erfolgt, wobei bei der Erneuerung von Information die Übertragung neuer Daten in Blockinformationseinheiten vom Hauptspeicher (11) ausgeführt wird.
- 3. Verarbeitungssystem nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet , daß der Adreßfeldteil (21-0 bis 21-(n-1)) zusätzlich zur Gültigkeitsinformation (V_, ν.) eine Änderungsinformation (C0, C1) enthält, die in Verbindung mit der Moduladresse angeordnet ist und angibt, ob eine dieser Moduladresse entsprechende Blockinformationseinheit erneuert wurde, wobei bei der Erneuerung eine Blockinformationseinheit, deren Änderungsinformation die Erneuerung angibt, zu einem größeren Speicher (11) zurückgeführt wird.909826/1008
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15822377A JPS5489444A (en) | 1977-12-27 | 1977-12-27 | Associative memory processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2856133A1 true DE2856133A1 (de) | 1979-06-28 |
DE2856133C2 DE2856133C2 (de) | 1987-02-12 |
Family
ID=15666965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782856133 Granted DE2856133A1 (de) | 1977-12-27 | 1978-12-27 | Verarbeitungssystem fuer einen assoziativspeicher |
Country Status (5)
Country | Link |
---|---|
US (1) | US4244033A (de) |
JP (1) | JPS5489444A (de) |
DE (1) | DE2856133A1 (de) |
FR (1) | FR2413751B1 (de) |
GB (1) | GB2011137B (de) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5567987A (en) * | 1978-11-09 | 1980-05-22 | Hitachi Ltd | Memory control system |
DE2934771C3 (de) * | 1979-08-28 | 1982-03-25 | Siemens AG, 1000 Berlin und 8000 München | Speichervorrichtung. |
JPS57167188A (en) * | 1981-04-06 | 1982-10-14 | Nippon Telegr & Teleph Corp <Ntt> | Buffer memory controlling system |
US4491932A (en) * | 1981-10-01 | 1985-01-01 | Yeda Research & Development Co. Ltd. | Associative processor particularly useful for tomographic image reconstruction |
US4504902A (en) * | 1982-03-25 | 1985-03-12 | At&T Bell Laboratories | Cache arrangement for direct memory access block transfer |
JPS618798A (ja) * | 1984-06-21 | 1986-01-16 | Nec Corp | 不揮発性記憶装置 |
US4656626A (en) * | 1984-12-14 | 1987-04-07 | Itt Corporation | Apparatus and method for providing dynamically assigned switch paths |
JPS61148551A (ja) * | 1984-12-24 | 1986-07-07 | Hitachi Ltd | アドレス変換方式 |
JPH0810553B2 (ja) * | 1986-06-13 | 1996-01-31 | 松下電器産業株式会社 | 記憶回路 |
US4914582A (en) * | 1986-06-27 | 1990-04-03 | Hewlett-Packard Company | Cache tag lookaside |
EP0259967B1 (de) * | 1986-08-01 | 1994-03-23 | Fujitsu Limited | Verzeichnisspeicher |
US5317708A (en) * | 1990-06-29 | 1994-05-31 | Digital Equipment Corporation | Apparatus and method for an improved content addressable memory |
US5279564A (en) * | 1992-09-11 | 1994-01-18 | Edward Weck Incorporated | Cannula retention device |
US5717895A (en) * | 1994-12-01 | 1998-02-10 | Cray Research, Inc. | Associative scalar data cache with write-through capabilities for a vector processor |
JP2710580B2 (ja) * | 1995-04-14 | 1998-02-10 | 甲府日本電気株式会社 | キャッシュメモリ装置 |
US6199140B1 (en) * | 1997-10-30 | 2001-03-06 | Netlogic Microsystems, Inc. | Multiport content addressable memory device and timing signals |
US6148364A (en) * | 1997-12-30 | 2000-11-14 | Netlogic Microsystems, Inc. | Method and apparatus for cascading content addressable memory devices |
US6219748B1 (en) | 1998-05-11 | 2001-04-17 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a content addressable memory device |
US6240485B1 (en) | 1998-05-11 | 2001-05-29 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system |
US6381673B1 (en) | 1998-07-06 | 2002-04-30 | Netlogic Microsystems, Inc. | Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device |
US6574702B2 (en) | 1999-02-23 | 2003-06-03 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a content addressable memory device |
US6892272B1 (en) | 1999-02-23 | 2005-05-10 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6460112B1 (en) | 1999-02-23 | 2002-10-01 | Netlogic Microsystems, Llc | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6539455B1 (en) | 1999-02-23 | 2003-03-25 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a ternary content addressable memory device |
US6499081B1 (en) | 1999-02-23 | 2002-12-24 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a segmented content addressable memory device |
US6137707A (en) * | 1999-03-26 | 2000-10-24 | Netlogic Microsystems | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device |
US7487200B1 (en) | 1999-09-23 | 2009-02-03 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system |
US6944709B2 (en) * | 1999-09-23 | 2005-09-13 | Netlogic Microsystems, Inc. | Content addressable memory with block-programmable mask write mode, word width and priority |
US6324087B1 (en) | 2000-06-08 | 2001-11-27 | Netlogic Microsystems, Inc. | Method and apparatus for partitioning a content addressable memory device |
US7110407B1 (en) | 1999-09-23 | 2006-09-19 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system using enable signals |
US6567340B1 (en) | 1999-09-23 | 2003-05-20 | Netlogic Microsystems, Inc. | Memory storage cell based array of counters |
US6757779B1 (en) | 1999-09-23 | 2004-06-29 | Netlogic Microsystems, Inc. | Content addressable memory with selectable mask write mode |
US6763425B1 (en) | 2000-06-08 | 2004-07-13 | Netlogic Microsystems, Inc. | Method and apparatus for address translation in a partitioned content addressable memory device |
US7272027B2 (en) * | 1999-09-23 | 2007-09-18 | Netlogic Microsystems, Inc. | Priority circuit for content addressable memory |
US6799243B1 (en) | 2000-06-14 | 2004-09-28 | Netlogic Microsystems, Inc. | Method and apparatus for detecting a match in an intra-row configurable cam system |
US6795892B1 (en) | 2000-06-14 | 2004-09-21 | Netlogic Microsystems, Inc. | Method and apparatus for determining a match address in an intra-row configurable cam device |
US6687785B1 (en) | 2000-06-08 | 2004-02-03 | Netlogic Microsystems, Inc. | Method and apparatus for re-assigning priority in a partitioned content addressable memory device |
US6751701B1 (en) | 2000-06-14 | 2004-06-15 | Netlogic Microsystems, Inc. | Method and apparatus for detecting a multiple match in an intra-row configurable CAM system |
US6934795B2 (en) * | 1999-09-23 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with programmable word width and programmable priority |
US6542391B2 (en) * | 2000-06-08 | 2003-04-01 | Netlogic Microsystems, Inc. | Content addressable memory with configurable class-based storage partition |
US7143231B1 (en) | 1999-09-23 | 2006-11-28 | Netlogic Microsystems, Inc. | Method and apparatus for performing packet classification for policy-based packet routing |
US7185141B1 (en) | 2001-12-27 | 2007-02-27 | Netlogic Microsystems, Inc. | Apparatus and method for associating information values with portions of a content addressable memory (CAM) device |
US7401180B1 (en) | 2001-12-27 | 2008-07-15 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device having selectable access and method therefor |
US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
US6754766B1 (en) * | 2002-02-14 | 2004-06-22 | Altera Corporation | Emulation of content-addressable memories |
JP5231867B2 (ja) * | 2008-05-23 | 2013-07-10 | 株式会社東芝 | キャッシュメモリシステム |
US7848129B1 (en) | 2008-11-20 | 2010-12-07 | Netlogic Microsystems, Inc. | Dynamically partitioned CAM array |
US7920399B1 (en) | 2010-10-21 | 2011-04-05 | Netlogic Microsystems, Inc. | Low power content addressable memory device having selectable cascaded array segments |
US8467213B1 (en) | 2011-03-22 | 2013-06-18 | Netlogic Microsystems, Inc. | Power limiting in a content search system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
BE788028A (fr) * | 1971-08-25 | 1973-02-26 | Siemens Ag | Memoire associative |
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
US4063081A (en) * | 1976-06-08 | 1977-12-13 | Honeywell | Computer apparatus |
-
1977
- 1977-12-27 JP JP15822377A patent/JPS5489444A/ja active Granted
-
1978
- 1978-12-08 GB GB7847806A patent/GB2011137B/en not_active Expired
- 1978-12-08 US US05/967,591 patent/US4244033A/en not_active Expired - Lifetime
- 1978-12-27 FR FR7836527A patent/FR2413751B1/fr not_active Expired
- 1978-12-27 DE DE19782856133 patent/DE2856133A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
Non-Patent Citations (10)
Title |
---|
Comp. Group News, März 1969, S. 9-13 * |
Computer Design, Jan. 1971, S. 87-93 * |
El.Rech.Anlagen, 1968, S. 135-140 * |
El.Rech.Anlagen, 1976, S. 122-128 * |
Elektronik 1972, H. 12, S. 437-440 * |
Elektronische Rechenanlagen, 1977, H. 6, S. 274 - 283 * |
IBM Nachrichten, 1972, S. 349-352 * |
NTZ_Kurier, 10/73, S. K175-K183 * |
Proe.IEEE, Dez. 1966, 1774-1779 * |
Siemens-Druckschrift D15/54008: "Siemens-System 7.700-Zentraleinheiten 7.750" Wartungshandbuch Band 4, Teil IV, Kapitel 6, mit Figuren A 26221-H7-X-*-7612, Blätter 1,3,5,8,11, entsprechend der Ausgabe 2 von März 1977 mit Nachtrag von Oktober 1977 * |
Also Published As
Publication number | Publication date |
---|---|
DE2856133C2 (de) | 1987-02-12 |
FR2413751B1 (fr) | 1985-09-13 |
US4244033A (en) | 1981-01-06 |
JPS5712222B2 (de) | 1982-03-09 |
JPS5489444A (en) | 1979-07-16 |
GB2011137B (en) | 1982-05-12 |
GB2011137A (en) | 1979-07-04 |
FR2413751A1 (fr) | 1979-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2856133A1 (de) | Verarbeitungssystem fuer einen assoziativspeicher | |
DE3011552C2 (de) | ||
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE3724317C2 (de) | ||
DE2131066C3 (de) | Anordnung zum Adressieren eines Tabellenspeichers | |
DE2550339C2 (de) | Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität | |
DE2350225C2 (de) | ||
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE2346525B2 (de) | Virtuelle Speichereinrichtung | |
DE2547488C2 (de) | Mikroprogrammierte Datenverarbeitungsanlage | |
DE2501853A1 (de) | Prozessor fuer ein datenverarbeitungssystem | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE4022885C2 (de) | Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem | |
DE2350215A1 (de) | Rechnersystem sowie bei diesem verwendbares mehrebenen-speichersystem | |
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
DE2310631A1 (de) | Speicherhierarchie fuer ein datenverarbeitungssystem | |
DE1524788A1 (de) | Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern | |
DE2900586A1 (de) | Anordnung zum decodieren von codewoertern variabler laenge | |
DE2311503A1 (de) | Datenverarbeitungsanlage mit mehreren zentraleinheiten | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8125 | Change of the main classification |
Ipc: G06F 13/00 |
|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8331 | Complete revocation |