DE2366270C2 - Assoziativspeicher zur Durchführung von Such- und logischen Operationen - Google Patents

Assoziativspeicher zur Durchführung von Such- und logischen Operationen

Info

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
Application number
DE2366270A
Other languages
English (en)
Inventor
Aleksej Davidovič Ljubercy Moskovskaja oblast' Gvinepadze
geb.Sčetinina Anastasija Adrianovna Kol'cova
Rem Vasil'evič Moskau/Moskva Smirnov
Georgij Viktorovič Moskau/Moskva Vitaliev
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.)
Individual
Original Assignee
Individual
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
Priority claimed from SU7201847799A external-priority patent/SU499762A1/ru
Application filed by Individual filed Critical Individual
Priority to DE2366270A priority Critical patent/DE2366270C2/de
Priority claimed from US416941A external-priority patent/US3913075A/en
Application granted granted Critical
Publication of DE2366270C2 publication Critical patent/DE2366270C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/085Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query 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.
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-
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\
Θ a.7 äs; A2 = ü Θ a2 a3;
A5 = a\ © a4 äs;
A3 = ai © a2 äy,
A6
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:
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 2m1 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)

Patentansprüche:
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,
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 2m1 verschiedenen Assoziativmerkmalen in einer Gruppe mit m Speichermodulen (1) auf m Übereinstimmungsanzeigeleitungen (3) und folglich das Schreiben bis zu 2m1 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
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:
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 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-
DE2366270A 1972-11-21 1973-11-19 Assoziativspeicher zur Durchführung von Such- und logischen Operationen Expired DE2366270C2 (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)

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

Patent Citations (3)

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

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