DE2366270C2 - Assoziativspeicher zur Durchführung von Such- und logischen Operationen - Google Patents
Assoziativspeicher zur Durchführung von Such- und logischen OperationenInfo
- Publication number
- DE2366270C2 DE2366270C2 DE2366270A DE2366270A DE2366270C2 DE 2366270 C2 DE2366270 C2 DE 2366270C2 DE 2366270 A DE2366270 A DE 2366270A DE 2366270 A DE2366270 A DE 2366270A DE 2366270 C2 DE2366270 C2 DE 2366270C2
- Authority
- DE
- Germany
- Prior art keywords
- associative
- register
- flip
- code
- flops
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
OS 23 57 654) weist demgegenüber Speichermodule einfacher Bauart auf.
Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, die Funktionsmöglichkeit des vorgenannten
Assoziativspeichers so zu erweitern, daß alle logischen Operationen an zwei Operanden, die in Speicher-Moduln
eines Assoziativspeichers gespeichert sind, ausgeführt werden können.
Diese Aufgabe wird mit einem Assoziativspeicher entsprechend dem Oberbegriff des Anspruchs 1 durch
die im kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmale gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes des Patentanspruchs 1 sind in den
Unteransprüchen angegeben.
Der erfindungsgemäße Assoziativspeicher gibt die Möglichkeit, die Kosten des assoziativen Suchvorganges
gegenüber den Speichern mit besonderen assoziativen Elementen — Assoziativspeichermodulen mit Bit-Vergleich
— durch Anwendung von billigen »normalen« Speichermodulen mit Adressenansteuerung
(Adressierung) merklich herabzusetzen. Gleichzeitig ist der Assoziativspeicher durch seine universelle Anwendbarkeit
ausgezeichnet, da er die Ausführung aller Suchvorgänge und logischer Operationen sowie die Durchführung
der Operationen ermöglicht, die man auf die Durchführung einer endlichen Folge von Suchvorgängen
und logischen Operationen zurückführen kann. Dieses assoziative Suchverfahren ergibt eine beträchtliche
Erhöhung der Kapazität des Assoziativspeichers gegenüber den bekannten.
Der erfindungsgemäße Assoziativspeicher ermöglicht nicht nur das parallele Suchen und die Auswahl
nach Adressen unter Benutzung von einfachen Speichermodulen bei großer Speicherkapazität und bei hoher
Arbeitsgeschwindigkeit, sondern vor allem, logische Operationen leicht zu realisieren sowie komplizierte
Suchvorgänge, arithmetische und nichtarithmetische Operationen durchzuführen, die man als eine endliche
Folge von logischen Operationen und Suchvorgängen darstellen kann. Der erfindungsgemäße Assoziativspeicher
erfordert praktisch nur ein bis zwei Speicherelemente pro assoziatives Merkmal (d. h. Assoziativwort-Bit).
Anhand der Zeichnung wird die Erfindung beispielsweise
näher erläutert Es zeigt
F i g. 1 das Blockschaltbild des Assoziativspeichers, von dem die Erfindung ausgeht;
F i g. 2 das Blockschaltbild einer Ausführungsform der Abfragecodeumsetzer;
F i g. 3 das Funktionsschaltbild eines ersten Ausführungsbeispiels
des erfindungsgemäßen Assoziativspeichers, das die Durchführung einer Maskierung, aller logischen
Operationen sowie einer Reihe von arithmetischen Operationen und komplizierten Suchoperationen
ermöglicht;
F i g. 4 das Funktionsschaltbild eines zweiten Ausführungsbeipiels
des erfindungsgemäßen Assoziativspeichers, das eine Erhöhung des Assoziativspeicher-Nutzungsgrads
ermöglicht; und
F i g. 5 das Funktionsschaltbild eines dritten Ausführungsbeipiels
des erfindungsgemäßen Assoziativspeichers, das sich durch hohe Arbeitsgeschwindigkeit bei
wiederholtem Einschreiben in besetzte Assoziativzellen (Wörter) auszeichnet
Gemäß F i g. 1 enthält der Assoziativspeicher Speichermodule 1 mit Speicherelementen Γ, die mit Suchbitleitungen
2 und Übereinstimmungsanzeigeleitungen 3 Verbindung haben, wobei die Übereinstimmungsanzeigeleitungen
3 an die Eingänge von Übereinstimmungsanzeigern 4 angeschlossen sind, deren jeder mit
einer oder mehreren Übefeinstimmungsanzeigeleitungen 3 elektrisch verbunden ist, und die mit den Ubereinstimmungsanzeigeleitungen
3 verbundenen Speicherelemente Γ der Speichermodule 1 für die Speicherung
des Codes eines dem betreffenden Übereinstimmungsanzeiger 4 entsprechenden Assoziativworts benutzt
werden. Außerdem besitzt der Assoziativspeicher ein Suchwortregister 5 mit einem oder mehreren Flip-Flops
6, deren Ausgänge mit den entsprechenden Suchbitleitungen 2 der Speichermodule 1 elektrisch verbunden
sind.
Der Assoziativspeicher weist auch einen Abfragecodeumsetzer 7 auf. Die Flip-Flops 6 des Abfrageregisters
5 sind in Gruppen 8 mit einem oder mehreren der Flip-Flops 6 eingeteilt. Die Eingänge jedes Abfragecodeumsetzers
7 sind mit den Ausgängen der Flip-Flops 6 der entsprechenden Gruppe 8 und die Ausgänge der Abfragecodeumsetzer
7 mit den Suchbitleitungen 2 der entsprechenden Speichermodule 1 elektrisch verbunden.
Die Zahl der Gruppen 8 hängt von der Anzahl der Flip-Flops 6 des Abfrageregisters 5 und von der Anzahl von
Suchbitleitungen 2 der Speichermodule 1 ab.
Es sei nun ein bereits vorgeschlagenes Ausführungsbeispiel für einen als Decodierer 9 (F i g. 2) ausgeführten
Abfragecodeumsetzer 7 betrachtet, der also als Umsetzer eines gewöhnlichen Binärcodes in einen /-aus-N-Code
dient (mit je einem erregten Zustand von N möglichen Zuständen, ggf. N = 8). In diesem Falle stellt der
Abfragecodeumsetzer 7 den Abfragecodedecodierer 9 mit acht Koinzidenzschaltungen 10 mit je drei Eingängen
dar, wobei jeder Eingang dieser Koinzidenzschaltungen 10 an den direkten Ausgang (L-Ausgang) oder
an den invertierten Ausgang (0-Ausgang) eines der drei Flip-Flops 6 der entsprechenden Gruppe 8 vom Abfrageregister
5 (F i g. 1) angeschlossen wird.
Der erfindungsgemäße Assoziativspeicher kann außer der Suchaufgabe auch Maskierungen, einen kompletten Satz von logischen Operationen sowie alle durch einen endlichen Satz von Such- und logischen Operationen darstellbaren Operationen ausführen. Dazu enthält er zusätzlich ein Maskenregister 17 (Fig.3), das zur Speicherung eines Maskencodes bestimmt ist, wobei die Anordnung der L- und O-Bits in diesem Code auf die assoziativen Binärmerkmale des Abfragecodes hinweist, die gegenüber dem zu realisierenden Suchvorgang indifferent sind. Unter dem Maskencode versteht man einen Binärcode, bei dem die Anzahl von Bits gleich der des Abfragecodes ist und die Anordnung der L-Bits die für den betreffenden Suchvorgang nicht auszuwertenden Abfragemerkmale angibt Das Maskenregister 17 hat ein oder mehrere Flip-Flops 18 entsprechend der Anzahl der assoziativen Binärmerkmale im Abfragecode. Außerdem besitzt der Assoziativspeicher ODER-Schaltungen 19, bei denen ein Teil von Eingängen an die L- oder 0-Ausgänge der entsprechenden Flip-Flops 18 angeschlossen ist und die anderen Eingänge an den Ausgangen der entsprechenden Flip-Flops 6 liegen. Die Ausgänge der ODER-Schaltungen 19 sind mit den Eingängen der Abfragecodeumsetzer 7 verbunden.
Der erfindungsgemäße Assoziativspeicher kann außer der Suchaufgabe auch Maskierungen, einen kompletten Satz von logischen Operationen sowie alle durch einen endlichen Satz von Such- und logischen Operationen darstellbaren Operationen ausführen. Dazu enthält er zusätzlich ein Maskenregister 17 (Fig.3), das zur Speicherung eines Maskencodes bestimmt ist, wobei die Anordnung der L- und O-Bits in diesem Code auf die assoziativen Binärmerkmale des Abfragecodes hinweist, die gegenüber dem zu realisierenden Suchvorgang indifferent sind. Unter dem Maskencode versteht man einen Binärcode, bei dem die Anzahl von Bits gleich der des Abfragecodes ist und die Anordnung der L-Bits die für den betreffenden Suchvorgang nicht auszuwertenden Abfragemerkmale angibt Das Maskenregister 17 hat ein oder mehrere Flip-Flops 18 entsprechend der Anzahl der assoziativen Binärmerkmale im Abfragecode. Außerdem besitzt der Assoziativspeicher ODER-Schaltungen 19, bei denen ein Teil von Eingängen an die L- oder 0-Ausgänge der entsprechenden Flip-Flops 18 angeschlossen ist und die anderen Eingänge an den Ausgangen der entsprechenden Flip-Flops 6 liegen. Die Ausgänge der ODER-Schaltungen 19 sind mit den Eingängen der Abfragecodeumsetzer 7 verbunden.
Vorzugsweise enthält der Assoziativspeicher ODER-Schaltungen 20 mit mehreren Eingängen und ein Ausgangsregister
21, das ein oder mehrere Flip-Flops 22 entsprechend der Anzahl von assoziativen Binärmerkmalen
im Abfragecode umfaßt und in Gruppen 23 mit einem oder mehreren Flip-Flops unterteilt ist Der Ein-
7 8
gang jeder Gruppe 23 von Flip-Flops 22 ist an den Aus- den Eingängen der Gruppe 8 der mit dem betreffenden
gang der entsprechenden ODER-Schaltung 20 ange- Abfragecodedecodierer verbundenen Flip-Flops 6 zuschlossen,
deren Eingänge mit den entsprechenden geführt wird, genau ein Ausgang erregt.
Übereinstimmungsanzeigeleitungen 3 der Speichermo- Die von diesen Ausgängen gelieferten Signale erredule 1 verbunden sind. Dabei sind die Flip-Flops 6 des 5 gen die entsprechenden Suchbitleitungen 2 der Spei-Abfrageregisters 5 und die Flip-Flops 18 des Maskenre- chermodule 1 (F i g. 1). Mit Hilfe von (nicht gezeigten) gisters 17 ebenfalls in Gruppen 8 bzw. 24 unterteilt, in Schreibstromkreisen werden gleichzeitig die entspredenen die Anzahl von Flip-Flops gleich der Anzahl der chenden Übereinstimmungsanzeigeleitungen 3 der Flip-Flops in der Gruppe 23 des Ausgangsregisters 21 Speichermodule 1 erregt, die mit dem einer Assoziativist, ίο zelle entsprechenden Übereinstimmungsanzeiger 4 ver-
Übereinstimmungsanzeigeleitungen 3 der Speichermo- Die von diesen Ausgängen gelieferten Signale erredule 1 verbunden sind. Dabei sind die Flip-Flops 6 des 5 gen die entsprechenden Suchbitleitungen 2 der Spei-Abfrageregisters 5 und die Flip-Flops 18 des Maskenre- chermodule 1 (F i g. 1). Mit Hilfe von (nicht gezeigten) gisters 17 ebenfalls in Gruppen 8 bzw. 24 unterteilt, in Schreibstromkreisen werden gleichzeitig die entspredenen die Anzahl von Flip-Flops gleich der Anzahl der chenden Übereinstimmungsanzeigeleitungen 3 der Flip-Flops in der Gruppe 23 des Ausgangsregisters 21 Speichermodule 1 erregt, die mit dem einer Assoziativist, ίο zelle entsprechenden Übereinstimmungsanzeiger 4 ver-
Vorzugsweise besitzt der Assoziativspeicher auch ein bunden sind. Unter Assoziativzelle wird hierbei und im
Eingangsregister 25, das ein oder mehrere Flip-Flops 26 folgenden eine Anzahl der Speicherelemente 1' der
nach der Anzahl von assoziativen Binärmerkmalen im Speichermodule 1 verstanden, die mit den an die Ein-
Abfragecode enthält, wobei die Flip-Flops 26 in Grup- gänge des jeweiligen Übereinstimmungsanzeigers 4 an-
pen 27 mit je einem oder mehreren Flip-Flops unterteilt 15 geschlossenen Übereinstimmungsanzeigeleitungen 3
sind. Der Assoziativspeicher hat außerdem vorzugswei- verbunden werden. Infolge der erwähnten Vorgänge
se Koinzidenzschaltungen 28, deren erste Eingänge an werden in die an den Kreuzungsstellen der erregten
L- oder O-Ausgänge der Flip-Flops 26 der entsprechen- Leitungen 2 und 3 liegenden Speicherelemente Γ 0-Si-
den Gruppe 27 angeschlossen sind, und einen Opera- gnale (oder L- bzw. Eins-Signale) eingeschrieben. FoIg-
tionsdecodierer 29, dessen entsprechende Ausgänge an 20 Hch besteht das Schreiben eines neuen Assoziativwortes
den zweiten Eingängen der Koinzidenzschaltungen 28 im Assoziativspeicher in der Speicherung des Zustandes
liegen. Dabei sind die Ausgänge eines Teils der Koinzi- jedes Abfragecodedecodierers 9 im entsprechenden
denzschaltungen 28 mit den Eingängen der entspre- Speichermodul 1 als L-Code auf dem Hintergrund von
chenden Flip-Flops 6 und die Ausgänge des anderen »Nullen«, wobei die L-Signale an den Kreuzungsstellen
Teils von Koinzidenzschaltungen 28 mit den Eingängen 25 der erregten Suchbitleitungen 2 und der Übereinstim-
der entsprechenden ODER-Schaltungen 20 verbunden. mungsanzeigeleitungen 3 eingeschrieben werden, oder
Die aus den Flip-Flops 22 und 26 bestehenden Grup- in der Speicherung des 0-Codes auf dem Hintergrund
pen 23 und 27 sind zu entsprechenden Schieberegistern von L-Zuständen, wobei die 0-Signale an den Kreu-
und die Gruppen 24 mit den Flip-Flops 18 zu Ringschie- zungsstellen der erregten Suchbitleitungen 2 und Über-
beregistern vereinigt. 30 einstimmungsanzeigeleitungen 3 eingeschrieben wer-
Die Speichermodule 1 dienen zur Speicherung der den.
Binärinformation und besitzen die Speicherelemente Γ, Beim Abfragen der Speichermodule 1 zur Erkennung
die durch die Sachbit- und die Übereinstimmungsanzei- der Codes von Assoziativwörtern, die mit dem Abfragegeleitungen
2 bzw. 3 verbunden sind, die zum Schreiben code übereinstimmen, erregt man nur die Suchbitleitun-
und zur Auswahl der in den Speichermodulen 1 gespei- 35 gen 2. Ebenso wie beim Schreiben werden die Numcherten
Information dienen, mern der erregten Suchbitleitungen 2 entsprechend
Die Übereinstimmungsanzeiger 4 werden für die An- dem Abfragecode am Abfrageregister 5 ermittelt. Das
zeige der Speicherstelle der Information mit vorgegebe- Abfragen der Speichermodule 1 erfolgt parallel, da alle
ner Kombination von assoziativen Binärmerkmalen be- mit den erregten Suchbitleitungen 2 verbundenen Speinutzt,
wobei die Eingänge der Übereinstimmungsanzei- 40 cherelemente Γ erregt werden, d.h. je ein Element in
ger 4 mit den entsprechenden Übereinstimmungsanzei- jedem Speichermodul 1 an der Übereinstimmungsangeleitungen
3 der Speichermodule 1 verbunden sind. zeigeleitung 3, die an den Eingang eines der Überein-Das
Abfrageregister 5 ist zur Speicherung der vorgege- Stimmungsanzeiger 4 angeschlossen ist Bei Übereinbenen,
als Abfragecode dienenden Kombination von as- Stimmung des dem Eingang der betreffenden Gruppe 8
soziativen Binärmerkmalen bestimmt und enthält die 45 von Flip-Flops 6 zugeführten Codes und des in den EIe-Flip-Flops
6, deren Anzahl der der Anzahl von assoziati- menten 1' eingeschriebenen Codes, die an die Übereinven
Binärmerkmalen im Abfragecode entspricht, wobei Stimmungsanzeigeleitung 3 eines der Speichermodule 1
die Ausgänge der Flip-Flops 6 des Abfrageregisters 5 angeschlossen sind, wird am Ausgang der entsprechenmit
den Suchbitleitungen 21 der entsprechenden Spei- den Übereinstimmungsanzeigeleitung 3 das L-Signal
chermodule 1 verbunden sind. 50 (oder 0-Signal) abgelesen. Bei Nichtübereinstimmung
Der beschriebene Assoziativspeicher besitzt die Ab- des Abfragecodes und des Codes des entsprechenden
fragecodeumsetzer 7, die zur Umsetzung des binären Assoziativwortes erscheint an den Ausgängen der ent-Positions-Abfragecodes
in einen /-aus-N-Code be- sprechenden Übereinstimmungsanzeigeleitungen 3 das
stimmt sind, wobei die Flip-Flops 6 des Abfrageregisters 0-Signal (oder das L-Signal). Bei vollkommener Über-5
in die Gruppe 8 unterteilt sind, die Eingänge jedes 55 einstimmung des Abfragecodes und des einem Überein-Abfragecodeumsetzers
7 mit den Ausgängen der ent- Stimmungsanzeiger 4 entsprechenden Assoziativwortsprechenden
Gruppe von Flip-Flops 6 des Abfrageregi- codes erscheinen an allen mit diesem Übereinstimsters
5 verbunden sind und die Ausgänge jedes Abfrage- mungsanzeiger 4 verbundenen Übereinstimmungsancodeumsetzers
7 mit den Suchbitleitungen 2 der ent- Zeigeleitungen 3 die L-Signale (oder 0-Signale), was
sprechenden Speichermodule 1 verbunden sind. 60 eben von dem als Koinzidenzschaltung ausgeführten
Der Assoziativspeicher funktioniert folgenderweise: Übereinstimmungsanzeiger 4 registriert wird. Unter
Wenn ein neues Assoziativwort in den Assoziativ- vollkommener Übereinstimmung wird hierbei und im
speicher eingeschrieben wird, gelangt der Code dieses folgenden die Gleichheit der an die Eingänge aller
Worts zu den Eingängen der Flip-Flops 6 (F i g. 1) des Gruppen 8 von Flip-Flops 6 zugeführten Codes und des
Abfrageregisters 5. 65 Codes des in der betreffenden Assoziativzelle gespei-
Falls die Abfragecodeumsetzer 7 als Abfragecodede- cherten Assoziativwortes verstanden, wobei die Asso-
codierer 9 (F i g. 2) ausgeführt werden, wird bei jedem ziativzelle die Gesamtheit der zu den Speichermodulen
Abfragecodedecodierer 9 entsprechend dem Code, der 1 gehörenden Speicherelemente Γ darstellt, die mit den
an den Eingang des betreffenden Übereinstimmungsanzeigers 4 angeschlossenen Übereinstimmungsanzeigeleitungen
3 verbunden sind.
Die Übereinstimmungsanzeigeleitungen 3 der Speichermodule 1 zerfallen in Schreib- und Lese-Übereinstimmungsanzeigeleitungen.
In F i g. 1 sind die gemeinsamen Übereinstimmungsanzeigeleitungen 3 gezeigt, die zur Erfüllung der beiden gesamten Funktionen dienen.
Die Arbeitsweise des Assoziativspeichers wird an einem Ausführungsbeispiel des Abfragecodeumsetzers 7
unter Benutzung von Formeln erläutert, in denen die Eingangsvariablen a, des Abfragecodeumsetzers 7 und
die ausgangsseitigen veränderlichen Größen A; des Abfragecodeumsetzers 7 verknüpft werden. Hierbei bedeuten:
N = Stellenanzahl in einer Assoziativzelle, d. h. die Anzahl von Ausgangsvariablen oder die Anzahl
der Suchbitleitungen 2,
η = Anzahl von eingangsseitigen Veränderlichen,
d. h. die Anzahl von Flip-Flops 6 des Abfrageregisters 5,
mit 1 < / < N, 1 < j
< π, für die Fälle
/j = 1;_N=2
Ai = ä\;Ä2 = a\
Ai = ä\;Ä2 = a\
Θ a.7 äs; A2 = ü Θ a2 a3;
A5 = a\ © a4 äs;
A3 = ai © a2 äy,
A3 = ai © a2 äy,
A6
A4
A4
a_i © ae, as;
ai © a2 a3;
i © a4 as; A8 = ax © a4 a5;
Die Ausgangssignale Ai... A4 für N = 8 erhält_man
durch die Modulo-2-Addition des Signals Ai = ai für
N = 2 und der von den Ausgängen des Abfragecodedecodierers 9 abgenommenen Signale, auf dessen Eingang
die Eingangssignale (a2, a3) gegeben werden. Die Ausgangssignale
A5... A8 für N = 8 entstehen durch Modulo-2-Addition
des Signals A2 = ai für N = 2 und der
von den Decodiererausgängen gelieferten Signale, wobei dem Eingang des Abfragecodedecodierers 9 die Signale
(ai,, a5) zugeführt werden.
Bei einer größeren Anzahl von Ausgängen, z. B. bei N = 32, gilt Ai = äi © a2 a3 + a6 a7 usw. Folglich erhält
man die Ausgangssignale A; für N = 32 durch Modulo-2-Addition
der Signale A,- für N = 8 und der Signale von den Ausgängen der Abfragecodedecodierer 9, auf
deren Eingänge die Signale (a& a7), (ag, ag), (ai0, an) usw.
gegeben werden.
Der Assoziativspeicher funktioniert ähnlich den Assoziativspeichern,
bei denen die Abfragecodeumsetzer 7 als die Abfragecodedecodierer 9 oder als die Festwert-Speichermodule
11 ausgeführt werden.
Erfindungsgemäß besitzt, wie in Fig.3 gezeigt, der
Assoziativspeicher das Maskenregister 17, das für die Speicherung des binären Maskencodes bestimmt ist, bei
dem die Anordnung der L- und O-Zustände auf die für die zu realisierende Suchoperation indifferenten Merkmale
des Abfragecodes hinweist, wobei das Maskenregister 17 eine oder mehrere der Flip-Flops 18 enthält,
deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht, sowie ODER-Schaltungen 19, bei denen
die ersten Eingänge an die L- oder O-Ausgänge der entsprechenden Flip-Flops 18 des Maskenregisters 17, die
zweiten Eingänge an die Ausgänge der entsprechenden Flip-Flops 6 des Abfrageregisters 5 und die Ausgänge
an die Eingänge der entsprechenden Abfragecodeumsetzer 7 angeschlossen sind.
Die Arbeitsweise des Assoziativspeichers bei der Maskierung eines Teils von Merkmalen des Abfragecodes
wird nun an einem Beispiel mit der Benutzung des Codes »L-auf-O-Hintergrund« beschrieben.
Das Schreiben neuer Assoziativwörter erfolgt ebenso wie im Assoziativspeicher mit den Abfragecodeumsetzern
7, die als die Abfragec^edecodierer 9 ausgeführt sind.
Die Abfrage ohne Maskierung wird auch nach dem gleichen Verfahren durchgeführt.
Bei der Abfrage mit Maskierung wird am Maskenregister 17 der Maskencode eingestellt, bei dem z. B. die
L-Zustände den in bezug auf den betreffenden Suchvorgang indifferenten Abfragemerkmalen entsprechen.
Der L-Code gelangt vom Ausgang des entsprechenden Flip-Flops 18 zu den ersten Eingängen der ODER-Schaltungen
19, deren zweite Eingänge mit dem L- und dem O-Ausgang des entsprechenden Flip-Flops 6 des
Abfrageregisters 5 verbunden werden, wobei an den Ausgängen der beiden ODER-Schaltungen 19, die τ. ·
(1) dem betreffenden Flip-Flop 6 verbunden sind, ein L-Signal
erscheint. Befinden sich die anderen Flip-Flops 18 dieser Gruppe 24 im O-Zustand, so werden auf die ersten
Eingänge der übrigen ODER-Schaltungen 19 dieser Gruppe die O-Signale gegeben, und folglich befindet
sich der Ausgang einer der ODER-Schaltungen 19, die mit dem entsprechenden Flip-Flop 6 verbunden ist, im
(2) L-Zustand und der andere Ausgang im O-Zustand. Dies
führt zur Erregung von zwei Ausgängen des entsprechenden Abfragecodedecodierers 9, wobei die Nummern
dieser Ausgänge durch die Bitstelle des maskierten Abfragemerkmals gegeben sind. Bei zwei maskierten
Abfragemerkmalen werden vier bestimmte Ausgän-
ge des Abfragecodedecodierers 9, bei drei maskierten Merkmalen acht bestimmte Ausgänge usw. erregt. Diese
Ausgänge des Abfragecodedecodierers 9 erregen ihrerseits die entsprechenden Suchbitleitungen 2 der
Speichermodule 1, und folglich wird die vorgegebene
Zahl von Speicherelementen 1' entsprechend den maskierten
Abfragemerkmalen gleichzeitig abgefragt Wenn dabei an der Kreuzungsstelle einer beliebig erregten
Suchbitleitung 2 und der angegebenen Übereinstimmungsanzeigeleitung 3 des Speichermoduls 1 ein
L-Signal eingeschrieben ist, erscheint am Eingang des
entsprechenden Übereinstimmungsanzeigers 4 ein Koinziderizsignal z. B. in der Form des L-Signa!s. irr.
übrigen funktioniert der Assoziativspeicher bei der Maskierung eines Teils von Abfragemerkmalen ähnlich
dem Assoziativspeicher, bei dem die Abfragecodeumsetzer 7 als die Abfragecodedecodierer 9 ausgeführt
sind.
Der erfindungsgemäße Assoziativspeicher enthält vorteilhafterweise die ODER-Schaltungen 20 mit mehreren
Eingängen und das für die Aufnahme der von den entsprechenden Speichermodulen 1 abgelesenen Information
bestimmte Ausgangsregister 21, das die mehreren Flip-Flops 23 besitzt, deren Anzahl der Anzahl von
Merkmalen im Abfragecode entspricht, wobei das Ausgangsregister 21 in die Gruppen 23 mit einem oder mehreren
der Flip-Flops 22 unterteilt ist. An den Eingang jeder Gruppe 23 von Flip-Flops 22 des Ausgangsregisters
21 ist der Ausgang der entsprechenden ODER-
Schaltung 20 angeschlossen, deren Eingänge mit den entsprechenden Übereinstimmungsanzeigeleitungen 3
der Speichermodule 1 verbunden werden. Die Flip-Flops 6 des Suchwortregisters 5 und des Maskenregisters
17 sind ebenfalls in die Gruppen 8 und 24 unterteilt, in denen die Anzahl der Flip-Flops 6 und 18 gleich der
Anzahl von Flip-Flops 22 in den Gruppen 23 des Ausgangsregisters 21 ist.
Der Code, der in die mit einer bestimmten Übereinstimmungsanzeigeleitung
3 des Speichermoduls 1 verbundenen Speicherelemente Γ eingeschrieben ist, wird
als normaler Positionscode während einer Taktzahl wiederhergestellt, die gleich der Anzahl der Flip-Flops 6 in
der entsprechenden Gruppe 8 des Suchwortregisters 5 ist. Für die Bildung der ersten Stelle des anfänglichen
Positionscodes jeder Gruppe 8 werden die Flip-Flops 6 der jeweiligen Gruppe dabei in den L-Zustand und die
Flip-Flops 18 jeder Gruppe 24 in den Zustand »11 ... 10« gesetzt. Am Ausgang des entsprechenden
Abfragecodedecodierers 9 werden alie Suchbitleitungen
2 mit ungeradzahligen Nummern (Adressen) 1, 3, 5... erregt (der Anfangsadresse ist der Wert 0 zugeordnet).
Wenn also in einem beliebigen ungeradzahligen Speicherelement Γ, das mit der betreffenden Übereinstimmungsanzeigeleitung
3 des ausgewählten Speichermoduls 1 verbunden ist, das L-Signal eingeschrieben
war, erscheint am Ausgang dieser Übereinstimmungsanzeigeleitung 3 ein Koinzidenzsignal in Form des L-Signals.
War im Speicherelement Γ das L-Signal mit einer geradzahligen Nummer eingeschrieben, so erscheint am
Ausgang das Nichtkoinzidenzsignal in der Art des 0-Signals. Über die ODER-Schaltung 20 gelangt dieses Signal
zum Eingang der entsprechenden Gruppe 23 von Flip-Flops des Ausgangsregisters 21. Zur Erhaltung der
zweiten Stelle des Positionscodes wird der Code im Ausgangsregister 23 um einen Schritt verschoben, im
Register 8 bleibt der Code unverändert, und im Register 24 wird der Code zyklisch um einen Schritt verschoben,
wobei die Ausgänge des Abfragecodedecodierers 9 mit den Nummern 2, 3, 6, 7... erregt werden, was einer
»Eins« an der zweiten Stelle eines beliebigen Positionscodes entspricht Vom Ausgang der gewählten Übereinstimmungsanzeigeleitung
3 des Speichermoduls 1 gelangt das Koinzidenz- oder Nichtkoinzidenzsignal über die ODER-Schaltung 20 zum Eingang des Ausgangsregisters
23 usw.
Die Auswahl des vorgegebenen Assoziativwortes erfolgt durch Auftastung der entsprechenden Übereinstimmungsanzeigeleitungen
3, d. h. einer oder mehrerer mit den Eingängen des betreffenden Übereinstimmungsanzeigers
4 verbundener Übereinstimmungsanzeigeleitungen 3, mit Hilfe der Schreibstromkreise.
Mit Hilfe des beschriebenen Assoziativspeichers lassen sich alle logischen Operationen an zwei Veränderlichen
(Operanden) realisieren, von denen eine Veränderliche in den Speichermodulen 1 als ein in der Weise
»Eins-auf-Nullen-Hintergrund« codiertes Assoziativwort gespeichert wird und die andere sich im Eingangsregister 25 als gewöhnlicher Positionscode befindet
Das Eingangsregister 25 ist für die Speicherung des mehrstelligen Binärcodes bestimmt, wobei an diesem
Code und gleichzeitig am Code eines beliebigen Assoziativwortes, das in den Speichermodulen 1 gespeichert
wird, eine beliebige vorgegebene logische Operation vorgenommen werden kann. Das Eingangsregister 25
enthält dabei die Flip-Flops 26, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht und in die
Gruppen 27 mit den Flip-Flops 6 unterteilt ist Außerdem besitzt der Assoziativspeicher die Koinzidenzschaltungen
28, deren erste Eingänge an die L- oder 0-Ausgänge der Flip-Flops 26 der entsprechenden
Gruppe 27 des Eingangsregisters 25 angeschlossen sind.
Der Operationsdecodierer 29 ist für die Steuerung des
Informationsflusses zum Abfrageregister 5 und zum Ausgangsregister 21 bestimmt, da die entsprechende Information
von den Ausgängen der Flip-Flops 26 des Eingangsregisters 25 in direktem oder invertiertem Code
je nach der auszuführenden logischen Operation und je nach dem im Eingangsregister 25 gespeicherten Code
übertragen wird, wobei die entsprechenden Ausgänge des Operationsdecodierers 29 an die zweiten Eingänge
der Koinzidenzschaltungen 28, die Ausgänge eines Teils der Koinzidenzschaltungen 28 an die Eingänge der entsprechenden
Flip-Flops 6 des Abfrageregisters 5 und die Ausgänge des anderen Teils der Koinzidenzschaltungen
28 an die Eingänge der entsprechenden ODER-Schaltungen 20 angeschlossen verden. Die Gruppen 27 und
23 von Flip-Flops 26 und 22 des Eingangs- und des Ausgangsregisters 25 bzw. 21 werden dabei zu den Schieberegistern
und die Gruppen von Flip-Flops 18 des Maskenregisters 17 zu den Ringschieberegistern vereinigt.
Die logischen Operationen an zwei Operanden zerfallen in drei Gruppen:
Die logischen Operationen an zwei Operanden zerfallen in drei Gruppen:
a) Invertierung, Auswahl im direkten Code, Molulo-2-Addition
und Gleichwertigkeitsoperation;
b) logische Addierungsoperationen für vier Kombinationen von zwei Operanden im direkten und invertierten
Code;
c) Operationen der logischen Multiplikation für dieselben vier Kombinationen.
Es seien nun die Operationen der Gruppe a) am Beispiel der Modulo-2-Addition betrachtet: Wird in das der
unteren Stelle der Gruppe 27 zugeordnete Flip-Flop 26 (d. h. in die untere Stelle einer Gruppe des ersten Operanden)
»Null« eingeschrieben, so muß die entsprechende Stelle des zweiten Operanden im direkten Code gewählt
werden. Wenn aber in die untere Stelle des ersten Operanden »Eins« geschrieben wird, erfolgt die Auswahl
im invertierten Code (Invertierung der gewählten Stelle des zweiten Operanden), wobei in der gleichen
Reihenfolge wie bei der Auswahl im direkten Code verv fahren wird, aber mit dem Unterschied, daß über die
Eingänge der Flip-Flops 6 des Abfrageregisters 5 vom 0-Ausgang des zur unteren Stelle der Gruppe 27 gehörenden
Flip-Flops 26 über die entsprechenden Koinzidenzschaltungen 28 der »Null«-Code eingespeichert
wird. Dabei werden die Ausgänge des Abfragecodedecodierers 9 erregt die »Nullen« in der betreffenden
Stelle des Positionscodes entsprechen. Ähnlich wird diese Operation an den übrigen Bits der beiden Operanden
durchgeführt Zur Ansteuerung der Koinzidenzschaltungen 28 dient der Operationsdecodierer 29. Der Invertierungsvorgang
für den Code des vorgegebenen Assoziativwortes ist der Modulo-2-Addition mit dem
Code des ersten Operanden 11... 1 äquivalent; bei der Auswahl im direkten Code ist der erste Operand gleich
00... 0. Die Gleichwertigkeitsoperation ist der Modulo-2-Addition des Codes für das betreffende Assoziativwort
und des invertierten Codes des ersten Operanden äquivalent.
Die Operationen der logischen Addition werden wie folgt durchgeführt: Enthält die betreffende Stelle des
ersten Operanden »Null«, so erfolgt die Auswahl im direkten oder im invertierten Code, je nachdem, ob der
erste Operand an der Operation im direkten oder im invertierten Code beteiligt ist Wenn aber diese Stelle
des ersten Operanden »Eins« enthält, wird dieser Code oder der invertierte Code zum Ausgangsregistcr 21
über die entsprechenden Koinzidenzschaltungen 28 und 23 übertragen.
Die Gruppe der Operationen zur logischen Muliplikation
erfordert die Benutzung der Speichermodule 1 beim Vorhandensein des L-Codes an der betreffenden
Stelle des ersten Operanden. Weist diese Stelle des ersten Operanden den O-Code auf, so erfolgt die direkte
Übertragung vom Eingangsregister 25 zum Ausgangsregister 21. Das Ergebnis der Operation wird im Laufe
eines Taktes vom Ausgangsregister 21 zum Eingangsregister 25 übertragen (der Informations-übertragungsweg
vom Ausgangsregister 21 zum Eingangsregister 25 ist nicht gezeigt).
Der Speicher besitzt zweckmäßigerweise — vgL F i g. 4 — die zusätzlichen Decodierer 30, deren jeder
die Funktion mehrerer Obereinstimmungsanzeiger 4 erfüllt, und die Prioritätsschaltung 31, die zur folgerichtigen
Auswahl der dem vorgegebenen bau von binären Assoziativmerkmalen bei der Mehrfachauswahl entsprechenden
Übereinstimmungsanzeigern 4, d.h. zur gleichzeitigen Auswahl von mehreren Assoziativwörtern
bestimmt ist, wobei die Eingänge der Prioritätsschaltung 31 mit den ersten Ausgängen aller zusätzlichen
Decodierer 30 verbunden sind. Außerdem enthält er die Koinzidenzschaltungen 33 für die Koinzidenz mit
0- und I-Signalen. Die Speichermodule 1 sind zu Kombinationen
mit je m Speichermodulen 1 vereinigt, die zur Speicherung von m-stelligen binären Assoziativmerkmalen
benutzt werden. Dies gibt die Möglichkeit in einer Kombination mit m Speichermodulen 1 auf m
Übereinstimmungsanzeigeleitungen bis zu 2m— 1 verschiedene
Assoziativmerkmale und folglich bis zu 2ro— 1 verschiedene Assoziativwörter zu schreiben, wobei die
entsprechenden Übereinstimmungsanzeigeleitungen der Speichermodule 1 jeder Kombination an die Eingänge
der der jeweiligen Kombination entsprechenden Koin?iHpnzschaltungen 33 für die Koinzidenz mit 0- und
L-Üigiiaien und die Ausgänge der Koinzidenzschaltungen
33 jeder Kombination an die Eingänge der entsprechenden zusätzlichen Decodierer 30 angeschlossen sind.
Um den Nutzungsgrad der Speichermodule 1 zu erhöhen,
kann der Code »Eins-auf-Nullen-Hintergrund« modifiziert werden. Um auf einer Übereinstimmungsanzeigeleitung
mehrere verschiedene Assoziativwörter schreiben zu können, wird anstelle des einstellige.1!
Merkmals »0« oder »L« ein m-stelliges Merkmal
00... OL, 00... L 0,00... LL usw. eingeführt, mit dessen
Hilfe das Schreiben von bis zu 2™—1 verschiedenen Assoziativwörtern in den mit der Gruppe von m Übereinstimmungsanzeigeleitungen
3 verbundenen Speicherelementen Γ möglich wird. Das Merkmal 00... 00
wird für die Anzeige der unbesetzten Suchbitleitung 2 benutzt. Die Speichermodule 1 werden in Gruppen mit
je m Modulen eingeteilt was das Schreiben einer Kombination
von m- stelligen Merkmalen auf entsprechenden Übereinstimmungsanzeigeleitungen 3 der Speichermodule
1 ermöglicht. Für die Anzeige der Koinzidenz von Merkmalen, die in die betreffende Kombination
der mit verschiedenen Flip-Flops 18 des Suchwortregisters 5 verbundenen Speichermodule 1 eingeschrieben
sind, dienen die Koinzidenzschaltungen 32 für 0-Signale und die Koinzidenzschaltungen 33 für L-Signale.
Der Assoziativspeicher funktioniert dann wie folgt:
Beim Abfragen der Speichermodule 1 erregt der dem Abfrageregister 5 zugeführte Code je eine Suchbitleitung
2 am Ausgang jedes Abfragecodeumsetzers 7. Sind an der Kreuzungsstalle der erregten Suchbitleitung 2
und einer Kombination von bestimmten Übereinstimmungsanzeägeleitungen 3 gleiche /n-stellige Merkmale
eingeschrieben, so wird ihre Koinzidenz durch die Koinzidenzschaltungen
32 und 33 der jeweiligen Kombination registriert Dabei befindet sich genau die Hälfte der
Koinzidenzschaltungen 32 und 33 dieser Kombination
ίο im L-Zustand und die andere Hälfte im 0-Zustand. Infolgedessen
wird ein Ausgang des mit den Koinzidenzschaltungen 32 und 33 dieser Kombination verbundenen
zusätzlichen Decodierers 30 erregt Die Nummer des Decodiererausgangs wird von den Nummern der erregten
Koinzidenzschaltungen 32 und 33 an den Eingängen dieses zusätzlichen Decodierers 30 bestimmt Der zusätzliche
Decodierer 30 erfüllt die Funktion eines Übereinstimmungsanzeigers für mehrere Assoziativwörter,
die durch verschiedene τη-stellige Merkmale an seinen
Eingängen vorgegeben werden.
Beim Abfragen der Speichermodule 1 werden im Falle der Nichtübere:nstimmung von Merkmalen an erregten
Suchbitleitungen 2 verschiedener Gruppen 8 weniger als die Hälfte der Koinzidenzschaltungen 32 und 33
der entspreche. Jen Kombinationen erregt und bei den
zusätzlichen Decodierern 30 findet die Erregung keines Ausganges statt
Beim Abfragen von unbesetzten Assoziativzellen (Bit-Positionen mit eingeschriebenen Merkmalen
00... 00) werden die ersten Ausgänge der entsprechenden zusätzlichen Decodierer 30 erregt
Vor dem Einschreiben eines neuen Assoziativwortes muß diesem ein bestimmtes m-stelliges Merkmal zugeordnet
werden. Dazu wird der Code abgefragt, der in dem Assoziativspeicher eingeschrieben werden soll.
Darauf werden die unbesetzten Speichermodule 1 erfaßt, wobei als Merkmal des unbesetzten Zustands die
Erregung des ersten Ausganges des entsprechenden zusätzlichen Decodierers 30 dient Mit Hilfe der Prioritätsschaltung
31 werden einer der freien zusätzlichen Decodierer 30 sowie der Code des entsprechenden unbenutzten
/n-stelligen Merkmals gewählt, und dieses Merkmal
wird in die mit den entsprechenden Suchbitleitungen und Übereinstimmungsanzeigeleitungen 2 und 3 verbundenen
Speicherelemente 1' eingeschrieben. Ist der ganze Assoziativspeicher besetzt, so wird ein Assoziativwort
gelöscht, und in der Prioritätsschaltung 31 wird ein diesem Wort entsprechendes m-stelliges Merkmal
gespeichert, worauf das Schreiben des neuen Assoziativwortes mit freigewordenem Merkmal erfolgt.
Vorteilhafterweise weist — vgl. F i g. 5 — der Assoziativspeicher
auch die Informationsspeichereinheit 34 mit den Speicherelementen 35 auf, die durch die Suchbitleitungen
36 und die Übereinstimmungsanzeigeleitungen 37 sowie 38 zum Schreiben und Lesen zur Einheit
vereinigt und in die Zellen mit je K Bits organisiert sind. Die Informationsspeichereinheit 34 ist für die Speicherung
der Information bestimmt, in welcher jedem Wort eine vorgegebene Kombination von binären Assoziativmerkmalen
entspricht, die in den Speichermodulen 1 gespeichert werden, wobei die letzteren die Speichereinheit
zum Speichern der Informationsmerkmale bilden. Im Assoziativspeicher ist außerdem das Informationsregister
39 mit den Flip-Flops 40 vorgesehen, deren Anzahl der Bitanzahl in einer Zelle der Informationsspeichereinheit
34 entspricht, wobei von der Informationsspeichereinheit 34 die zum Lesen bestimmten
Übereinstimmungsanzeigeleitungen 38 an die Eingänge
15
der entsprechenden Flip-Flops 40 des Informationsregi- 42 des Informationsregisters 39 verbunden werden,
sters 39, die zum Schreiben bestimmten Obereinstim- Beim Abfragen erfolgt eine zusätzliche Überprüfung
mungsanzeigeleitungen 37 an die Ausgänge der ent- der richtigen Arbeitsweise des Assoziativspeichers, insprechenden
Flip-Flops 40 des Informationsregisters 39 sofern der in den entsprechenden Speicherelementen
und die Suchbitleitungen 3iv an die Ausgänge der ent- 5 der Informationsspeichereinheit 34 eingeschriebenen
sprechenden Obereinstimmungsanzeiger 4 angeschlos- Assoziativwortcode mit dem Abfragecode mittels der
sen sind. Hierbei weist jede Zelle der Informationsspei- Bitvergleichs-Schaltung 43 verglichen wird
chereinheit 34 die zusätzlichen Speicherelemente 41 auf, Zweckmäßigerweise weist — vgl. F i g. 5 — der Asso-
die zum Schreiben des der betreffenden Zelle der Infor- ziativspeicher den Codeumsetzer 44 auf, der die Nummationsspeichereinheit
34 entsprechenden Assoziativ- 10 mer des erregten Übereinstimmungsanzeigers 4 und die
wortcodes benutzt werden, und das Informationsregi- Nummern der Suchbitleitungen 36 der Informationsster
39 ist mit den zusätzlichen Flip-Flops 42 ausgestat- Speichereinheit 34 in Übereinstimmung bringt, wobei
tet, die zur Speicherung der vom Abfrageregister 5 zum die Eingänge des Codeumsetzers 44 mit den Ausgängen
Einschreiben in die Informationsspeichereinheit 34 ge- aller Übereinstimmungsanzeiger 4 und die Ausgänge
lieferten Codes oder für die Aufnahme der Codes aus 15 des Codeumsetzers 44 mit den entsprechenden Suchbitder
Informationsspeichereinheit 34 dienen, wobei die leitungen 36 der Informationsspeichereinheit 34 verAnzahl
der zusätzlichen Speicherelemente 41 in jeder bunden werden.
Zelle der Informationsspeichereinheit 34 und die Anzahl Wenn die Informationsspeichereinheit 34 nach dem
der zusätzlichen Flip-Flops 42 des Informationsregisters Prinzip, der Ansteuerung bei ^.oinzidenz von Adreßsi-39
gleich der Anzahl von Flip-Flops 6 des Abfrageregi- 20 gnajen funktioniert, wird fürdie Umwandlung der Numsters
5 sind, die zweiten Eingänge der zusätzlichen Flip- mer des erregten Übereinstimmüngsanzeigefs 4 in die
Flops 42 des Informationsregisters 39 an die Ausgänge Nummern der entsprechenden Suchbitleiturigen 36 der
der entsprechenden Flip-Flops 6 des Abfrageregisters 5 Codeumsetzer 44 benutzt
und die Eingänge der Flip-Flops 6 des Abfrageregisters , . . .
5 an die Ausgänge der entsprechenden zusätzlichen 25 Hierzu 4 Blatt Zeichnungen
Flip-Flops 42 des Informationsregisters 39 angeschlos-
sen werden. In jedes Wort der Informationsspeichereinheit 34 wird der Positionscode des Assoziativwortes eingeschrieben,
der im entsprechenden Wort der aus den Speichermodulen 1 bestehenden Einrichtung für Merkmale
als Code »L-auf-O-Hintergrund« gespeichert wird.
Bei wiederholtem Einschreiben in die ausgewählte Assoziativzelje (Assoziativwort) wird vorher der entsprechende
Übereinstimmungsanzeiger 4 erregt, was zur Erregung der entsprechenden Suchbitleitungen 36
und zur Auswahl des Wortes aus der Informationsspeichereinheit 34 führt, dessen Nummer durch die Nummer
dieses Übereinstimmungsanzeigers 4 gegeben ist. Der in den Speicherelementen 41 gespeicherte Code
des betreffenden Assoziativwortes gelangt über die Übereinstimmungsanzeigeleitungen 38 zum Informationsregister
39 und von den Ausgängen der Flip-Flops 42 des Informationsregisters 39 zu den Eingängen der
Flip-Flops 6 des Abfrageregisters 5. Gemäß diesem Code werden die Suchbitleitungen 2 am Ausgang der Abfragecodeumsetzer
7 erregt und erfolgt das Schreiben des O-Codes in die mit den angesteuerten Suchbit- und
Übereinstimmungsanzeigeleitungen 2 und 3 verbundenen Speicherelemente Γ, d.h. das vorher in die entsprechenden
Speichermodule 1 eingeschriebene Assoziativwort wird gelöscht Weiterhin wird in den für die
Merkmale bestimmten Teil des Assoziativspeichers (in die Speichermodule 1} das neue Assoziativwort eingeschrieben.
Der Code des neuen Wortes wird vom Abfrageregister 5 an die Eingänge der Flip-Flops 42 des Informationsregisters
39 übertragen und in die mit den angesteuerten Suchbitleitungen 36 und Übereinstimmungsanzeigeleitungen
38 verbundenen Speicherelemente 41 eingeschrieben. Beim Einschreiben in eine unbesetzte
Zelle dient als Merkmal des unbesetzten Zustands das Vorhandensein des O-Codes in den zusätzlichen Elementen
41 dieser Zelle.
Vorzugsweise besitzt — vgl. F ig. 5 — der Assoziativspeicher
zum bitweisen Vergleich die Bitvergleichs-Schaltung 43, bei der ein Teil von Eingängen mit den
Ausgängen der entsprechenden Flip-Flops 6 des Abfrageregisters 5 und der andere Teil von Eingängen mit den
Ausgängen der entsprechenden zusätzlichen Flip-Flops
Claims (5)
1. Assoziativspeicher zur Durchführung von Such- und logischen Operationen, mit Speichermodulen (1)
zur Speicherung mehrstelliger, assoziativer Binärwörter im 7-aus-N-Code (»L-auf-O-Hintergrund«),
die mit Suchbit- (2) und Übereinstimmungsanzeigeleitungen (3) zum Einschreiben und Lesen verbunden
sind, sowie mit Obereinstimmungsanzeigern (4), einem Abfrageregister (5), Abfragecodeumsetzern (7) zur
Umsetzung des binären Positions-Abfragecodes (binäre 0 = 01, binäre L = 10) in einen /-aus-N-Code,
einem Eingangsregister (25), einem Ausgangsregister (21) und einem Maskenregister (17),
dadurch gekennzeichnet,
dadurch gekennzeichnet,
da£ im Maskenregister (17) Fhp-Flops (18) in der
Anzahl der Binärstellen der Assoziativwörter gleicher Anzahl in Gruppen (24) zu Ringschieberegi-■stern
vereinigt sind und ODER-Schaltungen (19) aniteuern, deren andere Eingänge von Flip-Flops (6)
einer Gruppe (8) des Abfrageregisters (5) beauf- —
schlagt werden, wobei die Anzahl der ODER-Schaltungen (19) doppelt so groß ist wie die der Flip-Flops
(6), und die Ausgänge der ODER-Schaltungen (19) den zugeordneten Abfragecodeumsetzer (7) ansteuern,
daß die Information aus den Speichermodulen (1) über eine ODER-Schaltung (20) in ein Flip-Flop
(22) des Ausgangsregisters (21) eingelesen wird, wobei die Anzahl der Flip-Flops (22), die in die Gruppen
(23) zu Schieberegistern zusammengeschlossen sind, gleich der Stellenzahl der Asscziativwörter ist,
daß das Eingangsregister (25) so viele Flip-Flops (26) enthält, wie es der Stellenzahl der Assoziativwörter
entspricht, die in Gruppen (27) zu Schieberegistern —
ausgebildet sind, wobei der Flip-Flop (26), der der jeweilig bearbeiteten Stelle ent-pricht, über Koinzidenzschaltungen
(28), an deren jeweiligen anderen Eingängen das Signal eines Operationsdecodierers 40 —
(29) anliegt, die Einschreibung des in ihm gespeicherten Zustandes in die Flip-Flops (6) des Abfrageregisters
(5) in Form des binären Positions-Abfragecodes veranlaßt und
daß, unabhängig vom Speicherzustand des jeweils aktiven Flip-Flops (26) des Eingaberegisters (25)
über die Koinzidenzschaltungen (28) unter Steuerung durch den Operationsdecodierer (29) ein Signal
an das Ausgangsregister (21) übertragen wird (F ig. 5).
2. Assoziativspeicher nach Anspruch 1, gekennzeichnet
— durch zusätzliche Decodierer (30) (F i g. 6), de- —
ren jeder die Funktion mehrerer Übereinstimmungsanzeiger (4) erfüllt,
— durch eine Prioritätsschaltung (31) (F i g. 6) zur folgerichtigen Auswahl der Übereinstimmungsanzeiger (4), die der vorgegebenen Kombina- —
tion von assoziativen Binärmerkmalen bei gleichzeitiger Auswahl von mehreren Assoziativwörtern
entsprechen,
wobei die Eingänge der Prioritätsschaltung (31) mit den ersten Ausgängen aller zusätzlichen
Decodierer (30) verbunden sind, und
— durch Koinzidenzschaltungen (32,33) für 0- und —
L-Signale (F i g. 6),
— wobei die Speichermodule (1) zu Gruppen von
m Speichermodulen (1) zur Speicherung von mstelligen
assoziativen Binärmerkmalen vereinigt sind, um das Einschreiben bis zu 2m— 1 verschiedenen
Assoziativmerkmalen in einer Gruppe mit m Speichermodulen (1) auf m Übereinstimmungsanzeigeleitungen
(3) und folglich das Schreiben bis zu 2m— 1 verschiedenen Assoziativwörtern
zu ermöglichen,
— wobei entsprechende Übereinstimmungsanzeigeleitungen (3) der Speichermodule (1) jeder
Gruppe an die Eingänge der Koinzidenzschaltungen (32, 33) für 0- und L-Signale, die der
betreffenden Gruppe entsprechen, angeschlossen sind, und
— wobei die Ausgänge der Koinzidenzschaltungen
(32, 33) jeder Gruppe an die Eingänge der entsprechenden zusätzlichen Decodierer (30)
angeschlossen sind.
3. Assoziativspeicher nach Anspruch 1, gekennzeichnet
durch eine Informationsspeichereinheit (34) (F i g. 7), die durch Suchbitleitungen (36) sowie
durch Übereinstimmungsanzeigeleitungen (37, 38) zum Schreiben und Lesen verbundene und
in Zellen mit je K Stellen organisierte Speicherelemente (35) umfaßt und
zur Speicherung von Information bestimmt ist, bei der jedem Wort eine bestimmte Kombination von assoziativen Binärmerkmalen entspricht, die in den Speichermodulen (1) gespeichert werden, wobei die letzteren die Speichereinheit zum Speichern der Informationsmerkmale bilden, und
zur Speicherung von Information bestimmt ist, bei der jedem Wort eine bestimmte Kombination von assoziativen Binärmerkmalen entspricht, die in den Speichermodulen (1) gespeichert werden, wobei die letzteren die Speichereinheit zum Speichern der Informationsmerkmale bilden, und
durch ein Informationsregister (39) (F i g. 7) mit Flip-Flops (40), deren Anzahl der Anzahl von
Stellen in einer Zelle der Informationsspeichereinheit (34) entspricht,
wobei verbunden sind:
wobei verbunden sind:
die zum Lesen bestimmten Übereinstimmungsan/eigeleitungen
(38) der Informationsspeichereinheit (34) mit den Eingängen der entsprechenden Flip-Flops (40) des Informationsregisters
(39),
die zum Schreiben bestimmten Übereinstimmungsanzeigeleitungen (37) der Informationsspeichereinheit
(34) mit den Ausgängen der entsprechenden Flip-Flops (40) des Informationsregisters (39) und
die Suchbitleitungen (36) der Informationsspeichereinheit (34) mit den Ausgängen der entsprechenden
Übereinstimmungsanzeiger (4);
wobei in jeder Zelle der Informationsspeichereinheit (34) zusätzliche Speicherelemente (41) zum Einschreiben des der jeweiligen Zelle der Informationsspeichereinheit (34) entsprechenden Assoziativwortcodes vorgesehen sind,
wobei das Informationsregister (39) mit zusätzlichen Flip-Flops (42) ausgestattet ist, die zur Speicherung der vom Suchwortregister (5) zum Einschreiben in die Informationsspeichereinheit (34) gelieferten Codes oder für die Aufnahme der Codes aus der Informationsspeichereinheit (34) dienen,
wobei in jeder Zelle der Informationsspeichereinheit (34) zusätzliche Speicherelemente (41) zum Einschreiben des der jeweiligen Zelle der Informationsspeichereinheit (34) entsprechenden Assoziativwortcodes vorgesehen sind,
wobei das Informationsregister (39) mit zusätzlichen Flip-Flops (42) ausgestattet ist, die zur Speicherung der vom Suchwortregister (5) zum Einschreiben in die Informationsspeichereinheit (34) gelieferten Codes oder für die Aufnahme der Codes aus der Informationsspeichereinheit (34) dienen,
wobei die Anzahl der zusätzlichen Speicherelemente (41) in jeder Zelle der Informationsspeichereinheit
(34) und die Anzahl der zusätzlichen
3 4
Flip-Flops (42) des Informationsregisters (39) Suchen nach dem Prinzip der Gleich-wertigkeit oder Ungleich
der Anzahl der Flip-Flops (6) des Such- gleichwertigkeit des Abfragecodes und der Codes der
Wortregisters (5) sind und dort in doppelphasigen Codes gesicherten Assoziativ-
— wobei die zweiten Eingänge d&- zusätzlichen Wörter (bei doppelphasigen Codes werden für die Spei-Flip-FIops
(42) des Informationsregisters (39) an 5 cherung eines Bits zwei Speicherelemente benutzt).
die Ausgänge der entsprechenden Flip-Flops (6) Unter dem Ungleichwertigkeitsprinzip wird hier und
des Suchwortregisters (5) und die Eingänge der im folgenden die Erfassung der Übereinstimmung des
Flip-Flops (6) des Suchwortregisters (5) an die Abfragecodes und des Codes für das jeweilige Assozia-Ausgänge
der entsprechenden zusätzlichen tiv-Wort bei vollkommener Identität des direkten Ab-FJi?-Flops
(42) des Informationsregisters (39) 10 fragecodes und des invertierten Codes des Assoziativangeschlossen
sind. Wortes sowie des invertierten Abfragecodes und des
direkten Codes des Assoziativ-Wortes verstanden. Das
4. Assoziativspeicher nach Anspruch 3, gekenn- Gleichwertigkeitsprinzip setzt die Prüfung der Übereinzeichnet
Stimmung des direkten Abfragecodes und des direkten
15 AsFOziativwortcodes sowie des invertierten Abfrageco-
— durch eine Schaltung (43) zum bitweisen Ver- des und des invertierten Assoziativwortcodes voraus,
gleich (F i g. 7) bei der verbunden sind eine Ein Mangel dieses Assoziativspeichers besteht darin,
Gruppe von Eingängen mit den Ausgängen der daß der Übereinstimmungsanzeiger bei der Suche nach
entsprechenden Flip-Flops (6) des Suchwortre- dem Gleichwertigkeits- oder Ungleichwertigkeitspringisters
(5) und die anderen Eingänge mit den 20 zip eine hohe Störfestigkeit besitzen muß, da beim AufAusgängen
der entsprechenden zusätzlichen ruf der Übereinstimmungsanzeige(Vergleichsergeb-
j Flip-Flops (40) des Informationsregisters (39). nis)codes alle Suchbitleitungen (Abfrageleitungen) er-
' regt werden können. Alle Speicherelemente, die an den
5. Assoziativspeicher nach Anspruch 3 oder 4, ge- erregten Suchbitleitungen liegen, befinden sich bei der
kennzeichnet 25 Übereinstimmung des Abfragecodes und des jeweiligen
Assoziativwortcodes in diesem Fall im »Null-Zustand«,
— durch einen Codeumsetzer(44)(Fig. 7), und folglich können die Nullzustands-Signale oder
der die Nummer des erregten Übereinstim- Koinzidenz-Signale beim Summieren an der entspremungsanzeigers
(4) und die Nummern der chenden Übereinstimmungsanzeigeleitung vom Über-Suchbitleitungen
(36) der Informationsspeicher- 30 einstimmungsanzeiger als L-Signale oder Nichtkoinzieinheit
(34) in Übereinstimmung bringt, denz-Signale aufgenommen werden. Bei Fehlauslösung
wobei die Eingänge des Codeumsetzers (44) mit des Übereinstimmungsanzeigers ist keine Erfassung der
den Ausgängen aller Übereinstimmungsanzei- Übereinstimmung des Abfragecodes und des Assoziager
(4) und die Ausgänge des Codeumsetzers tivwortcodes möglich.
(44) mit den entsprechenden Suchbitleitungen 35 Der erwähnte Nachteil führt im wesentlichen Ein-
(36) der Informationsspeichereinheit (34) ver- schränkungen der Kapazität und der Arbeitsgeschwin-
bunden sind. digkeit dieses Assoziativspeichers und erschwert seine
praktische Anwendung.
Für die bekannten Assoziativspeicher, die auf der Ba-
40 sis von assoziativen Speichermodulen aufgebaut werden, erfolgt die Realisierung des Ungleichwertigkeits-
Die Erfindung bezieht sich auf einen Assoziativspei- prinzips typisch innerhalb der Speichermodule,
eher zur Durchführung von Such- und logischen Opera- Nachteilig ist bei diesen Assoziativspeichern der
tionen nach dem Oberbegriff des Patentanspruchs 1. komplizierte Aufbau der speziellen Speichermodule,
Ein derartiger Assoziativspeicher kann für zur Infor- 45 der deren Ansteuerung und Fertigung erschwert, insbe-
maticnssuche bestimmte Recheneinrichtungen sowie sondere die Fertigung sehr aufwendig macht,
für schnelle Datenverarbeitungssysteme verwendet Es sind Assoziativspeicher mit interner Logik be-
werden. kannt (DE-OS 23 02 061). Damit mit diesen Assoziativ-
Es ist bereits ein Assoziativspeicher vorgeschlagen speichern, bei denen der /-aus-N-Code angewendet
worden mit Speichermodulen zum Speichern der Binär- 50 wird, logische Operationen ausgeführt werden können,
information, der Speicherelemente einschließlich Such- ist ein hoher Aufwand an Speicherelementen erforder-
bitleitungen und Übereinstimmungsanzeigeleitungen lieh. Assoziativspeicher bei denen mittels eines Masken-
enthält, die zum Einschreiben und zum Abruf der in registers der Auslesevorgang zusätzlich gesteuert wer-
diesen Speichermodulen gespeicherten Infor.nationen den kann, gehöhren zum bekannten Stand der Technik
dienen, mit Übereinstimmungsanzeigern zur Anzeige 55 (DE-AS 12 43 724 sowie IBM Journal of Research and
der Speicherstelle der Information mit angegebenen Bi- Development, April 1961, S. 106 bis 121; und Januar
närmerkmalen, wobei die Eingänge der Übereinstim- 1962, S. 126—136; Electronics, 15. Nov. 1963, S. 43—46;
mungsanzeiger mit entsprechenden Übereinstimmungs- Frequenz, März 1966, S. 69—82; IBM Technical Disclo-
anzeigeleitungen der Speichermodule verbunden sind, sure Bulletin, April 1971, S. 3382 — 3383). Auch bei die-
und mit einem Suchwortregister zum Speichern der 60 sen Speichern ist der Aufwand für die Speicherzellen
vorgegebenen Kombination von Binärmerkmalen, d. h. sehr groß.
des Abfragecodes, das ein oder mehrere Flip-Flops be- Noch aufwendiger als die vorstehend angeführten
sitzt, deren Anzahl der Anzahl von Binärmerkmalen im Assoziativspeicher sind solche, bei denen mehrere In-
Abfragecode entspricht, wobei die Ausgänge der zum formationsgruppen gleichzeitig korreliert werden kön-
Suchwortregister gehörenden Flip-Flops mit den Such- 65 nen und bei denen die in den einzelnen Gruppen erhal-
bitleitungen der entsprechenden Speichermodule ver- tenen Abfrageergebnisse miteinander logisch verknüpft
bunden sind (DE-OS 23 57 654). werden können (DE-AS 14 49 375).
Dieser Assoziativspeicher ermöglicht das assoziative Der bereits vorgeschlagene Assoziativspeicher (DE-
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2366270A DE2366270C2 (de) | 1972-11-21 | 1973-11-19 | Assoziativspeicher zur Durchführung von Such- und logischen Operationen |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU7201847799A SU499762A1 (ru) | 1972-11-21 | 1972-11-21 | Ассоциативное запоминающее устройство |
US416941A US3913075A (en) | 1972-11-21 | 1973-11-19 | Associative memory |
DE2366270A DE2366270C2 (de) | 1972-11-21 | 1973-11-19 | Assoziativspeicher zur Durchführung von Such- und logischen Operationen |
GB5480773A GB1429702A (en) | 1972-11-21 | 1973-11-26 | Associative memory |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2366270C2 true DE2366270C2 (de) | 1985-10-10 |
Family
ID=27431788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2366270A Expired DE2366270C2 (de) | 1972-11-21 | 1973-11-19 | Assoziativspeicher zur Durchführung von Such- und logischen Operationen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2366270C2 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1243724B (de) * | 1962-10-24 | 1967-07-06 | Telefunken Patent | Speicheranordnung mit wortweise assoziativer Abfrage |
DE1449375A1 (de) * | 1963-10-11 | 1969-02-27 | Ibm | Assoziative Wortspeichervorrichtung |
DE2302061A1 (de) * | 1972-01-17 | 1973-07-19 | Ibm | Assoziativspeicher |
-
1973
- 1973-11-19 DE DE2366270A patent/DE2366270C2/de not_active Expired
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1243724B (de) * | 1962-10-24 | 1967-07-06 | Telefunken Patent | Speicheranordnung mit wortweise assoziativer Abfrage |
DE1449375A1 (de) * | 1963-10-11 | 1969-02-27 | Ibm | Assoziative Wortspeichervorrichtung |
DE2302061A1 (de) * | 1972-01-17 | 1973-07-19 | Ibm | Assoziativspeicher |
Non-Patent Citations (6)
Title |
---|
Electronics, 15.Nov.1963, S.43-46 * |
Frequenz, März 1966, S. 69-82 * |
IBM Journal of Research and Development, April 1961, S.106-121 * |
IBM Journal of Research and Development, Januar 1962, S.126-136 * |
IBM Technical Disclosure Bulletin, April 1971, S. 3382-3383 * |
In Betracht gezogene ältere Anmeldung: DE-OS 23 57 654 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3801380C2 (de) | ||
DE2554442C2 (de) | Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE3902425C2 (de) | ||
DE3151106C2 (de) | ||
DE2712575C2 (de) | Assoziatives Speichersystem in hochintegrierter Halbleitertechnik | |
DE2059917C3 (de) | Hybridadressierter Datenspeicher | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE1303416B (de) | ||
DE2751097A1 (de) | Triggerschaltungseinheit | |
DE2357654C2 (de) | Assoziativspeicher | |
DE1424741B2 (de) | Einrichtung zum Durchsuchen eines Datenspeichers | |
DE3144563C2 (de) | ||
DE1499178A1 (de) | Steuerbarer Datenspeicher mit Verzoegerungsleitung | |
DE2221442A1 (de) | Assoziativspeicher | |
DE3214117C2 (de) | Elektronisches Übersetzungsgerät | |
DE4210109C2 (de) | Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren | |
DE2136270A1 (de) | Verfahren und Vergleicher zum Vergleich zweier Binärzahlen | |
DE2366270C2 (de) | Assoziativspeicher zur Durchführung von Such- und logischen Operationen | |
DE1933935C3 (de) | Assoziativer Speicher | |
DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
DE1299326B (de) | Speicherverfahren fuer einen aus einer Verzoegerungsleitung aufgebauten dynamischen Speicher und Anordnung zur Durchfuehrung des Verfahrens | |
DE2649147C2 (de) | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen | |
DE2459476B2 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
DE1449584A1 (de) | Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
OD | Request for examination | ||
AC | Divided out of |
Ref country code: DE Ref document number: 2357654 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |