DE2856133A1 - Verarbeitungssystem fuer einen assoziativspeicher - Google Patents

Verarbeitungssystem fuer einen assoziativspeicher

Info

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
Application number
DE19782856133
Other languages
English (en)
Other versions
DE2856133C2 (de
Inventor
Akira Hattori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2856133A1 publication Critical patent/DE2856133A1/de
Application granted granted Critical
Publication of DE2856133C2 publication Critical patent/DE2856133C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing 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,
gültig ist. Das Erneuern der Information im Datenteil
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)

  1. BLUMBACH · WESER · BERGEN · KRAMER ZWIRNER-HIRSCH-BREHM
    PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN * O O D I O
    Patentconsult 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 Patentconsult
    FUJITSU LIMIO)ED 78/8776
    1015» Kamikodanaka, Nakahara-ku, Kawasaki-shi Kanagawa 211, Japan
    Verarbeitungssystem für einen Assoziativspeicher
    Patentansprüche
    Verarbeitungssystem 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ültig
    Mü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ÖÖS
    ORIGINAL INSPECTED
    ist, 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. 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. 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
DE19782856133 1977-12-27 1978-12-27 Verarbeitungssystem fuer einen assoziativspeicher Granted DE2856133A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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