[go: up one dir, main page]

DE2357654A1 - Assoziativspeicher - Google Patents

Assoziativspeicher

Info

Publication number
DE2357654A1
DE2357654A1 DE2357654A DE2357654A DE2357654A1 DE 2357654 A1 DE2357654 A1 DE 2357654A1 DE 2357654 A DE2357654 A DE 2357654A DE 2357654 A DE2357654 A DE 2357654A DE 2357654 A1 DE2357654 A1 DE 2357654A1
Authority
DE
Germany
Prior art keywords
register
code
associative
trigger circuits
outputs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2357654A
Other languages
English (en)
Other versions
DE2357654C2 (de
Inventor
Georgij Wiktorowitsch Witaliew
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
Publication of DE2357654A1 publication Critical patent/DE2357654A1/de
Application granted granted Critical
Publication of DE2357654C2 publication Critical patent/DE2357654C2/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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Error Detection And Correction (AREA)
  • Devices For Executing Special Programs (AREA)

Description

οι?', 'ι--. -- ~ " τ τ1, sen*' Df,-' ' . - ~.ZHT
Münci.vn ^2, ^;sincdorfstr. 18
530-21.729P 19. 11. 1973
1. Georgij Viktorovic Vitaliev, Moskau (UdSSR)
2. Aleksej Davidovic Gvinepadze, Ljubercy Moskovskoj ■'( UdSSR)
3. Anastasija Adrianovna KoI'cova (Scetinina), Moskau (UdSSR)
4. Rem Vasil'evic Smirnov, Moskau (UdSSR)
Assoziativspeicher
Die Erfindung bezieht sich auf eine Einrichtung zur Durchführung von Suchvorgängen und logischen Operationen an einer in binärer Form dargestellten Information, insbesondere auf einen Assoziativspeicher.
Die Einrichtung kann für zur Informationssuche bestimmte Recheneinrichtungen sowie für schnelle Datenverarbeitungssysteme verwendet werden.
409825/1007
530-(P. 49 356/X)-Hd-r (8)
Bekannt ist ein Assoziativspeicher mit Adressenmodulen zum Speichern der Binärinformation, der Speicherelemente einschließlich Adressen- und Ziffernstellenschienen enthält, die zum Einschreiben und zum Abruf der in diesen Modulen gespeicherten Information dienen, mit Detektoren zur Anzeige der Speicherstelle der Information mit angegebenen Binärmerkmalen ausgestattet ist, wobei die Eingänge der Detektoren mit entsprechenden Ziffernstellen-Schienen der Adressen-Speichermodule elektrisch verbunden sind, und mit einem Abfrageregister zum Speichern der vorgegebenen Kombination von Binärmerkmalen, d. h. des Abfragecodes, das eine oder mehrere Triggerschaltungen besitzt, deren Anzahl der Anzahl von Binärmerkmalen im Abfragecode entspricht, wobei die Ausgänge der zum Abfrageregister gehörenden Triggerschaltungen mit den. Adressenschienen der entsprechenden Adressen-Speichermodule elektrisch verbunden sind. Der bekannte Assoziativspeicher ermöglicht das assoziative Suchen nach dem Prinzip der Gleichwertigkeit oder Ungleichwertigkeit des Abfragecodes und der Codes der in dieser Einrichtung in doppelphasigen Codes gespeicherten assoziativen Wörter (bei doppelphasigen Codes werden für die Speicherung eines Bits zwei Speicherelemente benutzt).
Unter dem Ungleichwertigkeitsprinzip wird hier und im folgenden die Registrierung der Übereinstimmung des Abfragecodes und des Codes für das jeweilige Assoziativwort bei vollkommener Identität des direkten Abfragecodes und des invertierten Codes des Assoziativwortes sowie des invertierten Abfragecodes und des direkten Codes des Assoziativwortes verstanden. Das Gleichwertigkeitsprinzip setzt die Prüfung der Übereinstimmung des direkten Abfragecodes und des direkten Assoziativwortcodes sowie des invertierten Abfragecodes und des invertierten Assoziativwortcodes voraus. .
409825/1007
Ein Mangel des bekannten Assoziativ Speichers besteht darin, daß der Detektor bei der Suche nach dem Gleichwertigkeits- oder. Ungleichwertigkeitsprinzip eine hohe Störfestigkeit besitzen muß, da beim Aufruf der Ziffernstellencodes alle Adressenschienen (Abfrageschienen) erregt werden können. Alle Speicherelemente, die an den erregten Adressenschienen liegen, befinden sich bei der Übereinstimmung des Abfragecodes und des jeweiligen Assoziativwortcodes in diesem Fall im "Null-Zustand" , und folglich können die Nullzustandssignale oder Koinzidenzsignale beim Summieren an der entsprechenden Ziffernstellenschiene vom Detektor als L-Signale oder Nichtkoinzidenzsignale aufgenommen werden. Bei falscher Auslösung des Detektors ist keine Registrierung der Übereinstimmung.des Abfragecodes und des Assoziativwoftcodes möglich.
Der erwähnte Nachteil führt zu wesentlichen Einschränkungen der Kapazität und der Arbeitsgeschwindigkeit des bekannten Assoziativspeichers und erschwert seine praktische Anwendung.
Die bekannten Assoziativspeicher, die auf der Basis von assoziativen Speichermodulen aufgebaut werden, sind durch Realisierung des Ungleichwertigkeitsprinzi.ps innerhalb der Speichermodule gekennzeichnet.
Nachteilig ist bei diesen Assoziativspeichern der komplizierte Aufbau der speziellen Module, der die Ansteuerung dieser Module und ihre Fertigung erschwert und die Rentabilität ihrer Fertigung herabsetzt. · -
409825/1007
Der Erfindung liegt die Aufgabe zugrunde, unter Beseitigung dieser Nachteile einen Assoziativspeicher zu entwickeln, bei dem die Durchführung der assoziativen Suche unter Verwendung von einfacheren und billigeren Adressen-Speichermodulen ohne Informationslöschung möglich ist.
Diese Aufgabe wird bei einem Assoziativspeicher zur Informationssuche sowie zur Durchführung von logischen Operationen an einer durch bestimmte Merkmale charakterisierten, d. h. durch mehrstellige assoziative Binärwörter oder Gruppen von mehreren assoziativen Binärmerkmalen dargestellten Information; mit Adressen-Speichermodulen zur Speicherung der Binär inform ation einschließlich Speicherelementen, die durch Adressen- und Ziffernstellenschienen verbunden sind, welche zum Einschreiben und Abrufen der in den Adressen-Speichermodulen gespeicherten Information dienen, mit Detektoren, die zur Anzeige der Speicherstelle der Information mit der vorgegebenen Kombination von binären Assoziativmerkmalen benutzt werden, wobei die Eingänge der Detektoren mit entsprechenden Ziffernstellenschienen der Adressen-Speichermodule elektrisch verbunden sind, und mit einem Abfrageregister zur Speicherung der vorgegebenen als Abfragecode dienenden Kombination von binären Assoziativmerkmalen, das Triggerschaltungen aufweist, deren Anzahl der Anzahl der binären Assoziativmerkmale im Abfragecode entspricht, wobei die Ausgänge der Triggerschaltungen des Abfrageregisters mit den Adressenschienen der entsprechenden Adressen-Speichermodule elektrisch verbunden sind, erfindungsgemäß gelöst durch Abfragecodeumsetzer zur Umsetzung des binären Positions-Abfragecodes in einen Code mit kon-
409825/1007
stanter Anzahl von L-Bits, wobei die Triggerschaltungen des Abfrageregisters in Gruppen eingeteilt sind, die Eingänge jedes Abfragecodeumsetzers mit den Ausgängen, der entsprechenden Gruppe von Triggerschaltungen des Abfrageregisters und die Ausgänge jedes Abfragecodeumsetzers mit den Adressenschienen der entsprechenden Adressen-Speichermodule elektrisch verbunden sind. ~.
Es ist zweckmäßig, daß die Abfragecodeumsetzer, als Abfragecodedecodierer ausgeführt sind, die den binären Positionscode in einen Code mit einem erregten Zustand umsetzen, wobei die Detektoren als Koinzidenzschaltungen aufgebaut sind, bei denen die Anzahl der Eingänge der Anzahl der Gruppen von Triggerschaltungen des Abfrageregisters Entspricht.
Es ist vorteilhaft, daß die Abfragecodeumsetzer Langzeit-Speichermodule enthalten, die zur Umsetzung des binären Positions-Abfragecodes in einen Code mit. konstanter Anzahl von L-Bits bestimmt sind und Adressen- sowie Ziffernstellenschienen bzw. zur Auswahl der in die Langzeit-Speichermodule eingeschriebenen Codes haben, wobei die Adressenschienen jedes Langzeit-Speichermoduls mit den Ausgängen des entsprechenden Abfragecodedecodierers und die Ziffernstellenschienen jedes Langzeit-Speichermoduls mit den Adressenschienen der entsprechenden Adressen-Speichermodule verbunden sind.
Die Erfindung wird dadurch weitergebildet, daß die Abfragecodeumsetzer mit Modulo-2-Addierern ausgestattet sind, wobei jede Gruppe
409825/1007
von Triggerschaltungen des Abfrageregisters in Teile eingeteilt ist, von denen der erste Teil Untergruppen mit einer Trigger schaltung besitzt und die anderen Teile Untergruppen mit Triggerschaltungen enthalten und die Abfragecodedecodierer in Teile mit entsprechenden Untergruppen und Modulo-2-Addierer aufgeteilt sind; wobei verbunden sind die Ausgänge der Abfragecodedecodierer jeder Untergruppe mit den ersten Eingängen der zur jeweiligen Untergruppe gehörenden Modulo-2-Addierers mit den zweiten Eingängen der Modulo-2-Addierer einer Untergruppe des nächsten Teils und die Ausgänge der zum letzten Teil gehörenden Modulo-2-Addierer mit den Adressenschienen der entsprechenden Adressen-Speichermodule.
Die Erfindung wird ausgestattet durch ein Maskenregister, das zur Speicherung eines binären Maskencodes dient, bei dem die 0- und L-Lage die für die jeweilige Suchoperation indifferenten Assoziativmerkmale des Abfragecodes angeben, und das Triggerschaltungen enthält , deren Anzahl gleich der Anzahl von assoziativen Binärmerkmalen im Abfragecode ist; sowie durch ODER-Schaltungen, von denen verbunden sind die ersten Eingänge mit L- oder O-Ausgängen der entsprechenden Triggerschaltungen des Maskenregisters, die zweiten Eingänge mit den Ausgängen der entsprechenden Triggerschaltungen des Abfrageregisters und die Ausgänge mit den Eingängen der entsprechenden Abfragecodeumsetzer.
Die Erfindung wird auch weitergebildet durch ODER-Schaltungen mit mehreren Eingängen und durch ein Ausgangsregister zur Aufnahme der von den entsprechenden Adressen-Speichermodulen abgelesenen
409825/1007
Information, das Triggerschaltungen enthält, deren Anzahl der Anzahl von assoziativen Binärmerkmalen im Abfragecode entspricht, wobei das Ausgangsregister in Gruppen von Triggerschaltungen aufgeteilt ist und an den Eingang jeder Gruppe von den Triggerschaltungen des Ausgangsregisters der Ausgang der entsprechenden ODER-Schaltung mit mehreren Eingängen angeschlossen ist, deren Eingänge mit entsprechenden Ziffernstellenschienen der Adressen-Speichermodule verbunden sind, und die Trigger schaltungen des Abfrageregisters sowie die Triggerschaltungen des Maskenregisters ebenfalls in Gruppen unterteilt sind, bei denen die Anzahl der Triggerschaltungen gleich der Anzahl der Triggerschaltungen in den Gruppen des Ausgangsregisters ist. .
Die Erfindung wird weiter verbessert durch ein Eingangsregister zur Speicherung eines mehrstelligen Binärcodes, an dem und gleichzeitig am Code eines beliebigen in den Adressen-Speichermodulen gespeicherten Assoziativwortes eine beliebige vorgegebene logische Operation vorgenommen werden kann, wobei das Eingangsregister Triggerschaltungen enthält, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht, und das Eingangsregister in Gruppen mit Triggerschaltungen aufgeteilt ist; durch Koinzidenzschaltungen, deren erste Eingänge an L- oder O-Ausgänge von Triggerschaltungen der entsprechenden Gruppe des Eingangsregisters angeschlossen sind; und durch einen Operationsdecodierer, der zur Steuerung der Informationsübertragung zjum Abfrageregister und zum Ausgangsregister bestimmt ist, da die entsprechende Information von den Ausgängen der Trigger schaltungen des Eingängsregisters im direkten oder inver-
40982 5/ fti0 7
tierten Code je nach auszuführender logischer Operation und je nach dem im Eingangsregister gespeicherten Code übertragen wird; wobei verbunden sind die entsprechenden Ausgänge des Operationsdecodierers mit den zweiten Eingängen der Koinzidenzschaltungen, die Ausgänge eines Teils der Koinzidenzschaltungen mit den Eingängen der entsprechenden Triggerschaltungen des Abfrageregisters und die Ausgänge der übrigen Koinzidenzschaltungen mit den Eingängen der entsprechenden Mehreingangs-ODER-Schaltungen.
Die Triggergruppen des Eingangs- und des Ausgangsregisters werden zweckmäßigerweise zu Schieberegistern und die Triggergruppen des Maskenregisters zu Ringschieberegistern vereinigt.
Die Erfindung wird außerdem ausgestattet durch zusätzliche Decodierer, von denen jeder Decodierer die Funktion mehrerer Detektoren erfüllt, durch eine Pr ioritäts schaltung zur folgerichtigen Auswahl der Detektoren, die der vorgegebenen Kombination von assoziativen Binärmerkmalen bei gleichzeitiger Auswahl von mehreren Assoziativwörtern entsprechen, wobei die Eingänge der Prioritätsschaltung mit den ersten Ausgängen aller zusätzlichen Decodierer verbunden sind, und durch Koinzidenzschaltungen für O- und L-Signale, wobei die Adressen-Speichermodule zu Gruppen von m Adressen-Speichermodulen zur Speicherung von m-stelligen assoziativen Binärmerkmalen vereinigt sind, um das Einschreiben bis zu 2 - 1 verschiedenen Assoziativmerkmalen in einer Gruppe mit m Adressen-Speichermodulen auf m Ziffernstellenschienen und folglich das Schreiben bis zu 2 - 1 verschiedenen Assoziativwörtern zu ermöglichen, und gleich-
409825/1007
wertige Ziffernstellenschienen der Adressen-Speichermodule jeder Gruppe an die Eingänge der Koinzidenzschaltungen und für O- und L-Signale angeschlossen sind, die der betreffenden Gruppe entsprechen, während die Ausgänge der Koinzidenzschaltungen jeder Gruppe an die Eingänge der entsprechenden zusätzlichen Decodierer geschaltet sind.
Die Lösung der Aufgabe wird auch gefördert durch eine Informationsspeichereinheit, die durch A'dressenschienen sowie durch Ziffernstellenschienen zum Schreiben und Lesen,verbundene und in Zellen mit je K Stellen organisierte'Speicherelemente umfaßt und zur Speicherung der Information bestimmt ist, bei der jedem Wort eine bestimmte Kombination von assoziativen Binärmerkmalen entspricht, die in den Adressen-Speichermodulen gespeichert werden, wobei die letzteren eine Speichereinheit zum Speichern der Informationsmerkmale bilden, und durch ein Informationsregister mit Trigger schaltungen, deren Anzahl der Anzahl von Stellen in einer Zelle der Informationsspeichereinheif entspricht, wobei verbunden sind die zum Lesen bestimmten Ziffernstellenschienen der Informationsspeichereinheit mit den Eingängen der entsprechenden Trigger schaltungen des Informationsregisters, die zum Schreiben, bestimmten Ziffernstellenschienen der Informationsspeichereinheit mit den Ausgängen der entsprechenden Triggerschaltungen des Informationsregisters und die Adressenschienen der Informationsspeichereinheit mit den Ausgängen der entsprechenden Detektoren; wobei in jeder Zelle der Informationsspeichereinheit zusätzliche Speicherelemente zum Einschreiben des der jeweiligen Zelle der Informationsspeichereinheit entsprechenden Assoziativwortcodes vorgesehen sind, und das Informationsregister
409:825/1007
mit zusätzlichen Triggerschaltungen ausgestattet ist, die zur Speicherung der vom Abfrageregister zum Einschreiben in die Informationsspeichereinheit gelieferten Codes oder für die Aufnahme der Codes aus der Informationsspeichereinheit dienen, wobei die Anzahl der zusätzlichen Speicherelemente in jeder Zelle der Informationsspeichereinheit und die Anzahl der zusätzlichen Triggerschaltungen des Informationsregisters gleich der Anzahl von Triggerschaltungen des Abfrageregisters sind, sowie die zweiten Eingänge der zusätzlichen Triggerschaltungen des Informationsregisters an die Ausgänge der gleichwertigen Triggerschaltungen des Abfrageregisters und die Eingänge der Triggerschaltungen des Abfrageregisters an die Ausgänge der gleichwertigen zusätzlichen Triggerschaltungen des Informationsregisters angeschlossen sind.
Für den erfindungsgemäßen Assoziativspeicher ist zweckmäßig eine Schaltung zum stellenweisen Vergleich, bei der verbunden sind eine Gruppe von Eingängen mit den Ausgängen der entsprechenden Triggerschaltungen des Abfrageregisters und die anderen Eingänge mit den Ausgängen der entsprechenden zusätzlichen Triggerschaltungen des Informationsregisters .
Schließlich wird die Erfindung ausgestaltet durch einen Codeumsetzer, der die Nummer des erregten Detektors und die Nummern der Adressenschienen der Inforrnationsspeichereinheit in Übereinstimmung bringt, wobei die Eingänge des Codeumsetzers mit den Ausgängen aller Detektoren und die Ausgänge des Codeumsetzers mit den entsprechenden Adressenschienen der Informationsspeichereinheit verbunden sind.
409825/10 07
Der erfindungsgemäße Assoziativspeicher ermöglicht das parallele Suchen und die Auswahl nach Adressen unter Benutzung von einfachen Speichermodulen bei großer Speicherkapazität und bei hoher Arbeitsgeschwindigkeit. In diesem Assoziativspeicher können außer- · dem logische Operationen leicht realisiert werden sowie komplizierte Suchvorgänge, arithmetische und nichtarithmetische Operationen durchgeführt werden, die man als eine endliche Folge von logischen Operationen und Suchvorgängen darstellen kann. Der Nutzungsgrad des Assoziativspeichers kann praktisch ein bis zwei Speieherelemente pro assoziatives Merkmal Cd. h. eine Stelle des Assoziativwortes) erreichen. " '
Die Erfindung wird anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 das Gesamtblockschaltbild des erfindungsgemäßen Assoziativspeichers;
Fig. 2 das Blockschaltbild eines Ausführungsbeispiels der Abfragecodeumsetzer gemäß der Erfindung;
Fig. 3 das Blockschaltbild eines anderen Ausführungsbeispiels der Abfragecodeumsetzer gemäß der Erfindung;
Fig. 4 das Blockschaltbild eines weiteren Ausführungsbeispiels des Abfragecodeumsetzers gemäß der Erfindung;
A09 82 5/10 07 ■ ί .
Fig. 5 das Funktions schaltbild eines weiteren Ausführungsbeispiels des erfindungsgemäßen Assoziativspeichers, das die Durchführung einer Maskierung, aller logischen Operationen sowie einer Reihe von arithmetischen Operationen und komplizierten Suchvorgängen ermöglicht;
Fig. 6 das Funktionsschaltbild eines Ausführungsbeispiels des erfindungsgemäßen Assoziativspeichers, das eine Erhöhung der Ausnutzung von Ausrüstungen ermöglicht; und
Fig. 7 das Funktionsschaltbild eines weiteren Ausführungsbeispiels des erfindungsgemäßen Assoziativspeichers, das durch hohe Arbeitsgeschwindigkeit bei wiederholtem Einschreiben in besetzte Assoziativzellen (Wörter) ausgezeichnet ist.
Der Assoziativspeicher enthält Adressenspeicher module 1 (Fig. l) mit Speicherelementen 1', die mit Adressenschienen 2 und Ziffernstellenschienen 3 Verbindung haben, wobei die Ziffernstellenschienen an die Eingänge von Detektoren 4 angeschlossen sind, deren jeder mit einer oder mehreren der Schienen 3 elektrisch verbunden ist, und die mit diesen Schienen 3 verbundenen Speicherelemente 1' der Module für die Speicherung des Codes eines dem betreffenden Detektor 4 entsprechenden Assoziativwortes benutzt werden. Außerdem besitzt der Assoziativspeicher ein Abfrageregister 5 mit einer oder mehreren Triggerschaltungen 6, deren Ausgänge mit den entsprechenden Schienen 2 der Module 1 elektrisch verbunden sind.
409825 /1007
Erfindungsgemäß weist der Assoziativspeicher auch Abfragecodeumsetzer 7 auf .Die Triggerschaltungen 6 des Registers 5 sind in Gruppen 8 mit einer oder mehreren der Triggerschaltungen 6 eingeteilt. Die Eingänge jedes Abfragecodeumsetzers 7 sind mit den . Ausgängen der Triggerschaltungen 6 der entsprechenden Gruppe 8 und die Ausgänge der Umsetzer 7 mit den Adressenschienen 2 der entsprechenden Module 1 elektrisch verbunden. Die Zahl der Gruppen 8 hängt von der Anzahl der Triggerschaltungen 6 des Abfrageregisters 5 und von der Anzahl von Adressenschienen 2 der Speichermodule 1 ab. .
Es soll nun ein Ausführungsbeispiel für einen als Decodier.er 9 (Fig. 2) ausgeführten Abfragecodeumsetzer 7 betrachtet werden, der also als Umsetzer eines gewöhnlichen Binärcodes in einen Code mit einem erregten Zustand von N möglichen Zuständen dient (gegebenenfalls 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 (O-Ausgang) einer der drei Trigger schaltungen oder entsprechenden Gruppe 8 vom Register 5 (Fig. l) angeschlossen wird.
Ein Aüsführungsbeispiel des Abfragecodeumsetzers 7 zur Um- ■ setzung in einen Code mit konstanter Anzahl von L-Bits ist in Fig. 3 angeführt. Der Umsetzer 7 (Fig. 3) enthält auch einen Langzeit-Speichermodul 11 mit Adressenschienen 12 und Ziffernstellenschienen 13, wobei die Ausgänge des Abfragecodedecodierers 9 an gleich-
409825/1 007
wertige Schienen 12 des Moduls 11 angeschlossen sind und die Schienen 13 dieses Moduls 11 mit entsprechenden Schienen 2 der Module 1 (Fig. l) verbunden werden.
Ein weiteres Ausführungsbeispiel des Abfragecodeumsetzers 7 für die Umsetzung des Positions-Binärcodes in einen Code mit konstanter Anzahl von L-Bits ist in Fig. 4 gezeigt. Dieser Umsetzer enthält Modulo-2-Addierer 14, wobei jede Gruppe 8 von Triggerschaltungen 6 des Registers 5 (Fig. l) und dementsprediend der Abfragecodedecodierer 9 in Teile 15 (Fig. 4) eingeteilt sind, von denen der erste Teil Untergruppen mit je einer Triggerschaltung umfaßt, die folgenden Teile 15 Untergruppen 16 mit zwei und mehr Trigger schaltungen sowie entsprechende Decodierer 9 enthalten, die Ausgänge der Decodierer 9 jeder Untergruppe 16 an die ersten Eingänge der zu dieser Untergruppe gehörenden Addierer 14 angeschlossen sind, der Ausgang jedes Addierers 14 mit den zweiten Eingängen der Addierer 14 einer Untergruppe des nächstfolgenden Teils verbunden ist und die Ausgänge der Addierer 14 des letzten Teils mit den Schienen 2 der entsprechenden Module 1 (Fig. l) Verbindung haben.
Der gemäß der Erfindung aufgebaute Assoziativspeicher kann außer der Suchaufgabe auch Maskierungsvorgänge, einen kompletten Satz von logischen Operationen sowie alle durch einen endlichen Satz von Such- und logischen Operationen darstellbaren Vorgänge ausführen. Dieser Assoziativspeicher enthält zusätzlich ein Maskenregister 17 (Fig. 5), das zur Speicherung eines Maskencodes bestimmt ist,
409825/ 1 007
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 Suehvorgang indifferent sind. Unter dem Maskencode versteht man einen Binärcode, bei dem die Anzahl von Ziffernstellen gleich der des Abfragecodes ist und die Anordnung der L-Bits die für den betreffenden Suehvorgang bedeutsamen Abfragemerkmale angibt. Das Register 17 hat eine oder mehrere Triggerschaltungen 18 entsprechend der Anzahl der assoziativen Binär merkmale im Abfragecode. Außerdem besitzt die Einrichtung ODER-Schaltungen 19, bei denen ein Teil von Eingängen an die L-. oder O-Ausgänge der entsprechenden Triggerschaltungen 18 angeschlossen ist und die anderen Eingänge an den Ausgängen der entsprechenden Trigger schaltungen 6 liegen. Die Ausgänge der ODER-Schaltungen 19 sind mit den Eingängen der Codeumsetzer 7 verbunden.
Außerdem enthält der. Assoziativspeicher ODER-Schaltungen 20 mit mehreren Eingängen und ein Ausgangsregister 21, das eine oder mehrere Triggerschaltungen 22 entsprechend der Anzahl von assoziativen Binärmerkmalen im Abfragecode umfaßt und in Gruppen 23 mit einer oder mehreren Trigger schaltungen eingeteilt ist. Der Eingang jeder Gruppe 23 von Trigger schaltungen 22 ist an den Ausgang der entsprechenden Schaltung 20 angeschlossen, deren Eingänge mit •den entsprechenden Schienen 3 der Module X verbunden sind. Dabei sind die Triggerschaltungen 6 des Registers 5 und die Triggerschaltungen 18^ des Registers 17 ebenfalls in Gruppen 8 bzw. 24 geteilt, in denen die Anzahl von Trigger schaltungen, gleich der Anzahl der Triggerschaltungen in der Gruppe 23 des Registers 21 ist;
409825/1007
357654
Dieser Assoziativspeicher besitzt auch ein Eingangsregister 25, das eine oder mehrere Triggerschaltungen 26 nach der Anzahl von assoziativen Binärmerkmalen im Abfragecode enthält r wobei die Triggerschaltungen 26 in Gruppen 27 mit je einer oder mehreren Triggerschaltungen eingeteilt sind. Der Assoziativspeicher weist außerdem Koinzidenzschaltungen 28 auf, deren erste Eingänge an L- oder O- Ausgänge der Trigger schaltung en 26 der entsprechenden Gruppe 27 angeschlossen sind, und einen Operationsdecodierer 29, dessen entsprechende Ausgänge an den zweiten Eingängen der Schaltungen 28 liegen. Dabei sind die Ausgänge eines Teils der Schaltungen 28 mit den Eingängen der entsprechenden Triggerschaltungen 6 und die Ausgänge des anderen Teils von Schaltungen 28 mit den Eingängen der entsprechenden Schaltungen 20 verbunden.
Die aus den Triggerschaltungen 22 und 26 bestehenden Gruppen 23 und 27 sind zu entsprechenden Schieberegistern und die Gruppen mit den Triggerschaltungen 18 zu Ringschieberegistern vereinigt.
Außerdem gehören vorteilhafterweise zum Assoziativspeicher zusätzliche Decodierer 30 (Fig. 6), eine Prioritätsschaltung 31, Koinzidenzschaltungen 32 für O-Signale und Koinzidenzschaltungen 33 für L-Signale. Die Eingänge der Schaltung 31 sind mit den ersten Ausgängen aller Decodierer 30 verbunden- Die Module 1 sind zu Gruppen mit m Modulen vereinigt, wobei die gleichwertigen Schienen 3 der Module 1 jeder Gruppe an der betreffenden Gruppe entsprechenden Eingänge der Schaltungen 32 und 33 angeschlossen sind, und die Ausgänge der Schaltungen 32 und 33 jeder Gruppe mit den Ein gängen der entsprechenden Decodierer 30 Verbindung haben ·
A09825/1007
Der Assoziativspeicher weist zweckmäßigerweise zusätzlich eine Informationsspeichereinheit 34 (Fig. 7) mit Speicherelementen 35 auf, die durch Adressenschienen 36, Ziffernstellenschienen 37 zum Schreiben und Ziffernstellenschienen 38 zum Lesen zu einer Einheit vereinigt werden und zu Wörtern mit je K Stellen organisiert sind. Außerdem besitzt dieser Assoziativspeicher ein Informationsregister 39 mit mehreren Triggerschaltungen 40, deren Anzahl der Anzahl von Ziffernstellen im Wort der Einheit 34 entspricht, wobei die Schienen 38 der Einheit 34 an die Eingänge der entsprechenden Trigger schaltungen 40, die Schienen 37 an die Ausgänge der entsprechenden Triggerschaltungen 40 und die Schienen 36 der Einheit 34 an die Ausgänge der entsprechenden Detektoren 4 angeschlossen sind. In jeder Zelle der Informationsspeichereinheit 34 gibt es auch zusätzliche Speicherelemente 41, und das Register 39 weist mehrere zusätzliche Triggerschaltungen 42 auf, wobei die Anzahl der Speicherelemente 41 in jedem Wort der Einheit 34'und die Anzahl der Triggerschaltungen 42 gleich der Anzahl von Triggerschaltungen 6 des Registers 5 sind. Die zweiten Eingänge der Triggerschaltungen 42 sind an die Ausgänge der gleichwertigen Trigger schaltungen 6 und die Eingänge der Triggerschaltungen 6 des Registers 5 an die Ausgänge der gleichwertigen Triggerschaltungen 42 angeschlossen.
Außerdem enthält dieser Assoziativspeicher eine Schaltung 43 zum stellenweisen Vergleich, bei der die erste Gruppe von Eingängen mit den Ausgängen der entsprechenden Triggerschaltungen 6 und die zweite Gruppe von Eingängen mit den Ausgängen der entsprechenden Trigger schaltungen 42 verbunden sind.
0.9825/1 007
Zu diesem Assoziativspeicher gehört auch ein Codeumsetzer 44, dessen Eingänge mit den Ausgängen aller Detektoren 4 und dessen Ausgänge mit den entsprechenden Schienen 36 der Einheit 34 verbunden sind.
Der erfindungsgemäße Assoziativspeicher ist zur Durchführung von Suchvorgängen und logischen Operationen an einer durch bestimmte Merkmale gegebenen Information geeignet, die als mehrstellig assoziative Binärcodewörter, d.h. durch Kombinationen von mehreren assoziativen Binärmerkmalen, dargestellt ist.
" Die Adressen-Speichermodule 1 dienen zur Speicherung der Binärinformation und haben die Speicherelemente 1'. Die letzteren sind durch die Adressen- und die Ziffernstellenschienen 2 bzw. 3 verbunden, die zum Schreiben und zur Auswahl der in diesen Modulen 1 gespeicherten Information dienen.
Die Detektoren 4 werden für die Anzeige der Speicherstelle der Information mit vorgegebener Kombination von assoziativen Binärmerkmalen benutzt, wobei die Eingänge der Detektoren 4 mit den entsprechenden Ziffernstellenschienen 3 der Adressen-Speichermodule 1 elektrisch verbunden sind. Das Abfrageregister 5 ist zur Speicherung der vorgegebenen, als Abfragecode dienenden Kombination von assoziativen Binärmerkmalen bestimmt und enthält die Triggerschaltungen 6, deren Anzahl der Anzahl von assoziativen Binärmerkmalen im Abfragecode entspricht, wobei die Ausgänge der Triggerschaltungen 6 des Registers 5 mit den Adressenschienen 2 der entsprechenden Adresseii-Speicherraodule 1 elektrisch verbunden sind.
409 8 25/1007
Der beschriebene erfindungsgemäße Assoziativspeicher besitzt die Abfragecodeumsetzer 7, die zur Umsetzung des binären Positions-Abfragecodes in einen Code mit konstanter Anzahl von L-Bits bestimmt sind, wobei die Triggerschaltungen 6 des Abfrageregisters 5 in die Gruppen 8 eingeteilt sind, die Eingänge jedes Abfragecodeumsetzers 7 mit den Ausgängen der entsprechenden Gruppe von Triggerschaltungen 6 des Abfrageregisters 5 elektrisch verbunden sind und die Ausgänge jedes Abfragecodeumsetzers 7 mit den Adressenschienen 2 der entsprechenden Adressen-Speichermodule 1 elektrische Verbindung haben.
Der erfindungsgemäße Assoziativspeicher funktioniert folgenderweise:
Wenn ein neues Assoziativwort in den Assoziativspeicher eingeschrieben wird, gelangt der Code dieses Worts zu den Eingängen der Trigger schaltungen. 6 (Fig. l) des Registers 5. Falls die Codeumsetzer 7 als die Decodierer 9 (Fig. 2) ausgeführt werden, wird bei jedem Decodierer 9 entsprechend dem Code, der den Eingängen der Gruppe 8 der mit dem betreffenden Decodierer elektrisch verbundenen Triggerschaltungen 6 zugeführt wird, genau ein Ausgang erregt. Die von diesen Ausgängen gelieferten Signale erregen die entsprechenden Schienen 2 der Module 1 (Fig* 1). Mit Hilfe von nicht eingezeichneten Schreibstromkreisen werden gleichzeitig die entspre chenden Ziffernstellenschienen 3 der Module 1 erregt, die mit dem einer Assoziativzelle entsprechenden Detektor 4 verbunden sind. Unter Assoziativzelle wird hierbei und im folgenden eine Anzahl
409825/1007
der Speicherelemente I1 der Module 1 verstanden, die mit den an die Eingänge des jeweiligen Detektors 4 angeschlossenen Ziffernstellenschienen 3 verbunden werden. Infolge der erwähnten Vorgänge werden in die an den Kreuzungsstellen der erregten Schienen 2 und 3 liegenden Speicherelemente 1' O-Signale (oder L- bzw. Eins-Signale) eingeschrieben. Folglich besteht das Schreibeneines neuen Assoziativwortes im Assoziativspeicher in der Speicherung des Zustandes jedes Decodierers 9 im entsprechenden Modul 1 als L-Code auf dem Hintergrund von "Nullen", wobei die L-Signale an den Kreuzungsstellen der erregten Adressenschienen 2 und der Ziffernstellenschienen 3 eingeschrieben werden, oder es erfolgt die Speicherung des O-Codes auf dem Hintergrund von L-Zuständen, wobei die O-Signale an den Kreuzungsstellen der erregten Adressenschienen 2 und Ziffernstellenschienen 3 eingeschrieben werden.
Beim Abfragen der Module . 1 zur Erkennung der' Codes von Assoziativwörtern, die mit dem Abfragecode übereinstimmen, erregt man nur die Adressenschienen 2. Ebenso wie beim Schreiben werden die Nummern der erregten S chienen 2 entsprechend dem Abfragecode am Register 5 ermittelt. Das Abfragen der Module 1 erfolgt parallel, da alle mit den erregten Schienen 2 verbundenen Speicherelemente 1' erregt werden, d. h. je ein Element in jedem Modul 1 an der Ziffernstellenschiene 3, die an den Eingang eines der Detektoren 4 angeschlossen ist. Bei Übereinstimmung des dem Eingang der betreffenden Gruppe 8 von Triggerschaltungen .6 zugeführten Codes und des in den Elementen 1' eingeschriebenen Codes, die an die Ziffernstellenschiene 3 eines der Module 1 angeschlossen sind, wird am Ausgang ,der entsprechenden Ziffernstellenschiene 3. das L-Signal
4098 25/1007
(oder O-SignalJ abgelesen* Bei Nichtübereinstimmung des Abfragecodes und des Codes des entsprechenden Assoziativwortes erscheint an den Ausgängen der entsprechenden Schieben 3 das O-Signal (oder das L-Signal). Bei vollkommener Übereinstimmung des Abfragecodes und des einem Detektor 4 entsprechenden Assoziativwortcodes erscheinen an allen mit diesem Detektor 4 verbundenen Ziffernstellenschienen 3 die L-Signale (oder O-Signale), was eben von dem als Koinzidenzschaltung ausgeführten Detektor 4 registriert wird- Unter vollkommener 'Übereinstimmung wird hierbei und im folgenden das Zusammenfallen der an die Eingänge aller Gruppen 8 von Triggerschaltungen 6 zugeführten Codes und des Codes des in der betreffen- ■ den Assoziativzelle gespeicherten Assoziativwortes verstanden, wobei die Assoziativzelle die Gesamtheit der zu den Modulen 1 gehörenden Speicherelemente 1' darstellt, die mit den an den Eingang des betreffenden Detektors 4 angeschlossenen Ziffernstellenschienen verbunden sind?
Die Ziffernstellenschienen der Module 1 zerfallen in Schreib- und Lese-Ziffernstellenschienen. In Fig. 1 sind die gemeinsamen, · ZifferhstellenscWenen gezeigt, die zur Erfüllung der beiden genannten Funktionen dienen.
Im erfindungsgemäßen Assoziativspeicher werden die Module 1 bei einer geringen Anzahl von Adressenschierien gut genutzt. Bei größerer Anzahl von Adressenschienen, d. h. bei größeren Kapazitäten der Module 1, ergibt sich eine größere Leistung bei Benutzung der Codeumsetzer, die den Abfragecode von einem üblichen Po-
409825/1007
sitionscode in einen Code mit konstanter Anzahl von L-Bits umsetzen. Am einfachsten erfolgt diese Umsetzung mit Hilfe der Langzeit-Speichermodule 11 (Fig. 3). Der Assoziativspeicher funktioniert in diesem Fall ähnlich dem Assoziativspeicher mit den Abfragecodeumsetzern, die als Abfragecodedecodierer ausgeführt sind, nur mit dem Unterschied, daß im allgemeinen Anwendungsfall des Codes mit konstanter Anzahl von L-Bits gleichzeitig mehrere Ausgänge jedes Codeumsetzers 7 erregt werden.
Bei einer größeren Zahl von Adressenschienen ist die Anwendung des mit den Modulo-2-Addierern 14 ausgestatteten Umsetzers 7 (Fig. 4) zweckmäßiger, der den binären Positions-Abfragecode in den Code mit konstanter Anzahl von L-Bits umsetzt, wobei jede Gruppe 8 der zum Abfrageregister 5 gehörenden Triggerschaltungen 6 in die Teile 15 eingeteilt wird, von denen ein Teil aus den Untergruppen mit einer Triggerschaltung 6 besteht und die anderen Teile 15 sich aus den Untergruppen 16 mit zwei und mehr Triggerschaltungen 6 zusammensetzen. Dabei werden die Abfragecodedecodierer 9 und die Addierer 14 in die Teile 15 mit entsprechenden Untergruppen 16 aufgeteilt, die Ausgänge der Abfragecodedecodierer 9 jeder Untergruppe werden an die ersten Eingänge der zur entsprechenden Untergruppe gehörenden Modulo-2-Addierer 14 angeschlossen, der Ausgang jedes Addierers 14 wird mit dem zweiten Eingang der Addierer 14 einer der Untergruppen 16 des nächstfolgenden Teils 15 verbunden und die Ausgänge der Addierer 14 des letzten Teils 15 werden an die Adressenschienen 2 der entsprechenden Adressen-Speichermodule 1 geschaltet.
Die Arbeitsweise des Assoziativspeichers wird an einem Ausfüh-
408825/1007
rungsbeispiel des Abfragecodeumsetzers 7 unter Benutzung von Formeln er läutert, in denen die Eingangsvariablen a,- des Abfragecodeumsetzers T und die ausgangsseitigen veränderlichen Größen A. dieses Umsetzers 7 verknüpft werden. Hierbei bedeuten:
N' = "Steilenanzahl in einer Assoziativzelle, d. h. die Anzahl von Aus-. gangsvariäblen oder die Anzahl der Adressenschienen 2,
η = Anzahl von eingangsseitigen Veränderlichen, d.h. die Zahl von Triggerschaltungen 6 des Abfrageregisters 5,
mit l^i^N, l=s? j ^n, für die Fälle
η = 1; N = 2
(D
Al =
η = 5; N - 8
A5 = ai®\¥ -Λ Vai ®
"A7 = äl & a4>5;. A8 = ai
Die Ausgangssignale A ... A für N. = 8 erhält man durch Modulo-2-Addition des Signals A = ä für N - 2 und der von den Ausgängen des Decodierers abgenommenen Signale, auf dessen Ein-
409825/1007
gang die Eingangssignale (a , a ) gegeben werden. Die Ausgangssignale A ... A für N = 8 entstehen durch Modulo-2-Addition des Signals A = a für N - 2 und der von den Decodiererausgängen gelieferten Signale, wobei dem Eingang des Decodierers die Signale (a , a ) zugeführt werden.
Bei einer größeren Anzahl von Ausgängen, z. B. bei N = 32, gilt A = a © a a + a, a usw. Folglich erhält man die Ausgangs-
JL X c* ό Οι
signale Ä. für N = 32 durch Modulo-2-Addition der Signale A. für N = 8 und der Signale von den Ausgängen der Decodierer, auf deren Eingänge die Signale (a , a ), (a si aq)' ^am' ai J usw. gegeben werden.
Der Assoziativspeicher funktioniert ähnlich den Assoziativspeichern, bei denen die Abfragecodeumsetzer 7 als die Decodierer 9 oder als die Langzeit-Speicher module Il ausgeführt werden.
Vorteilhafterweise weist der Assoziativspeicher das Maskenregister 17 auf, 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 Triggerschaltüngen 18 enthält, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht, sowie die ODER-Schaltungen 19 besitzt, bei denen die ersten Eingänge an die L- oder O-Ausgänge der entsprechenden Triggerschaltungen 18 des Maskenregisters 17, die zweiten Eingänge an die Ausgänge der entsprechenden
4098 25/10 07
Triggerschaltungen 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 Abfragecodedecodierer 9 ausgeführt sind.
Die Abfrage ohne Maskierung wird auch nach dem gleichen Verfahren durchgeführt.
Bei der Abfrage mit Maskierung wird am Register 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 der entsprechenden Triggerschaltung 18 zu den ersten Eingängen der ODER-Schaltungen 19, deren zweite Eingänge mit dem L- und dem O-Ausgang der gleichwertigen Triggerschaltung 6. des Abfrageregisters 5 verbunden werden, wobei an den Ausgängen der beiden Schaltungen 19, die mit der betreffenden Triggerschaltung 6 verbunden sind, ein L-Signal erscheint. Befinden sieh die anderen Triggerschaltungen 18 dieser Gruppe 24 im O-Zustand, so werden auf die ersten Eingänge der übrigen Schaltungen 19 dieser Gruppe die 0-Signale gegeben, und folglich befindet sich der Ausgang
409825/1007 .
einer der Schaltungen 19, die mit der entsprechenden Triggerschaltung 6 verbunden ist, im L-Zustand und der andere Ausgang im O-Zustand. Dies führt zur Erregung von zwei Ausgängen des entsprechenden Decodierers 9, wobei die Nummern dieser Ausgänge durch die Nummer des maskierten Abfragemerkmals gegeben sind- Bei zwei maskierten Abfragemerkmalen werden vier bestimmte Ausgänge des Abfragecodedecodierers, bei drei maskierten Merkmalen acht bestimmte Ausgänge usw. erregt. Diese Ausgänge des Decodierers 9 erregen ihrerseits die entsprechenden Adressenschienen der Module 1, und folglich wird die vorgegebene Zahl von Speicherelementen 1' entsprechend den maskierten Abfragemerkmalen gleichzeitig abgefragt. Wenn dabei an der Kreuzungsstelle einer beliebigen erregten Schiene 2 und der angegebenen Ziffernstellenschiene 3 des Moduls 1 ein L-Signal eingeschrieben ist, erscheint am Eingang des entsprechenden Detektors 4 ein Koinzidenzsignal z. B. in der Form des L-Signals. Im übrigen funktioniert der Speicher bei der Maskierung eines Teils von Abfragemerkmalen ähnlich dem Speicher, bei dem die Abfragecodeumsetzer 7 als die Abfragecodedecodierer 9 ausgeführt sind.
Der erfindungsgemäße Speicher 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 Triggerschaltungen 23 besitzt, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht, wobei das Ausgangsregister 21 in die Gruppen 23 mit einer oder mehreren der Triggerschaltungen 22 auf-
409825/1007
-27 - 23-576 5
geteilt ist. An den Eingang jeder Gruppe 23 von Triggerschaltungen 22 des Ausgangsregisters 21 ist der Ausgang der entsprechenden Mehreingangs-ODEE-Schaltung 20 angeschlossen, deren Eingänge mit den entsprechenden Ziffernstellenschienen 3 der Adressen-Speichermodule 1 verbunden werden. Die Triggerschaltungen 6 des Abfrageregisters 5 und des Maskenregisters 17 sind ebenfalls in die Gruppen 8 und 24 eingeteilt^ in denen die Anzahl der Triggerschaltungen 6 und 18 gleich der Anzahl von. Triggerschaltungen 22 in den Gruppen 23 des Ausgangsregisters 21 ist.
Der Code, der in die mit einer bestimmten Ziffernstellenschiene 3 des Moduls 1 verbundenen Speicherelemente 1' eingeschrieben ist, wird als normaler" Positionscode während einer Taktzahl wiederhergestellt, die gleich der Anzahl der Triggerschaltungen 6 in der entsprechenden Gruppe 8 des Abfrageregisters 5 ist. Für die Bildung der ersten Stelle des anfänglichen Ppsitionscodes jeder Gruppe 8 werden die Triggerschaltungen 6 der jeweiligen Gruppe dabei in den L-Zustand und die Triggerschaltungen 18 jeder Gruppe 24 in den Zustand 1.1 ... 10 eingestellt. Am Ausgang des entsprechenden Decodierers werden alle Schienen 2 mit ungeradzahligen Nummern (Adressen) 1, 3, 5 ... erregt (der Anfangsadresse ist der Wert 0 zugeordnet). Wenn also in einem beliebigen ungeradzahligen Speicherelement 1' , das mit der betreffenden Ziffernstellenschiene 3 des ausgewählten Moduls 1 verbunden ist, das L-Sigriai eingeschrieben war, erscheint am Ausgang· dieser Ziffernstellenschiene 3 ein Koinzidenzsignal in der Form des L-Signals. War im Speicherelement 1' das L-Signal mit einer geradzahligen Nummer eingeschrieben, so erscheint am
409825/1007 ' "'.*
Ausgang das Nichtkoinzidenzsignal in der Art des O-Signals. Über die Schaltung 20 gelangt dieses Signal zum Eingang der entsprechenden Triggergruppe 23 des Ausgangsregisters 21. Zur Erhaltung der zweiten Stelle des Positionscodes wird der Code im Register 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 Decodierers 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 Ziffernstellenschiene 3 des Moduls 1 gelangt das Koinzidenz- oder Nichtkoinzidenzsignal über die Schaltung 20 zum Eingang des Registers 23 usw.
Die Auswahl des vorgegebenen Assoziativwortes erfolgt durch Auftastung der entsprechenden Ziffernstellenschienen 3, d. h. einer oder mehrerer mit den Eingängen des betreffenden Detektors 4 verbundener Schienen 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 Modulen 1 als ein in der Weise "Eins auf dem Hintergrund von Nullen" 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
4-0 9 8 2 S / 1 0 0 7
Code eines beliebigen Assoziativwortes, das in den Adressen-Speichermodulen 1 gespeichert wird, eine beliebige vorgegebene logische Operation vorgenommen werden kann. Das Eingangsregister enthält dabei die Trigger schaltungen 26, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht und in die Gruppen 27 mit den Triggerschaltungen 26 aufgeteilt ist. Außerdem besitzt der Assoziativspeicher die Koinzidenzschaltungen 28, deren erste Ein- ' gänge an die L- oder Q-Ausgänge der Triggerschalturigen 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 2 bestimmt, da die entsprechende Information von den Ausgängen der Triggerschaltungen 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 Operationsdecodierer s_ 29 an die zweiten Eingänge der Koinzidenzschaltungen 28, die Ausgänge eines Teils der Koinzidenzschaltungen 28 an die Eingänge der entsprechenden Triggerschaltungen 6 des Abfrageregisters 5 und die Ausgänge des anderen Teils der Koinzidenzschaltungen 28 an die Eingänge'der entsprechenden Mehreingangs-ODER-Schaltungen angeschlossen werden. Die Gruppen 27 und 23 von Triggerschaltungen und.22 des Eingangs- und des Ausgangsregisters 25 bzw» 21 werden dabei zu den Schieberegistern und dieGruppen von Triggerschaltungen 18 des Maskenregisters 17 zu den Ringschieberegistern vereinigt.
40982-5/1007
. Die logischen Operationen an zwei Operanden zerfallen in drei Gruppen:
a) Invertierung, Auswahl im direkten Code, Modulo-2-Addition
und G leichwertigkeitsoperation;
I-
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 Oparationen der Gruppe a) am Beispiel der Modulo-2-Addition betrachtet; Wird in die der unteren Stelle der Gruppe 27 zugeordnete Trigger schaltung 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 verfahren wird, aber mit dem Unterschied, daß über die Eingänge der Trigger Schaltungen 6 des Abfrageregisters 5 vom 0-Ausgang der zur unteren Stelle der Gruppe 27 gehörenden Triggerschaltung 26 über die entsprechenden Koinzidenzschaltungen 28 der "Null"-Code eingespeichert wird. Dabei werden die Ausgänge des Decodierer s 9 erregt, die "Nullen" in der betreffenden Stelle des Posi-
40982 5/1007
tionscqdes entsprechen. Ähnlich wird diese Operation an den übrigen Ziffernstellen der beiden Operanden durchgeführt. Zur Ansteuerung der Koinzidenzschaltungen 28 dient der Decodierer 29. Der Invertierungsvorgang für den Code des vorgegebenen Assoziativwortes ist der Modülo-2-Addition mit dem Code des ersten Operanden 11 ... ä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 Register 21 über die entsprechenden Schaltungen 28 und 20 übertragen.
Die Gruppe von Operationen zur logischen Multiplikation erfordert die Benutzung der Module 1 beim Vorhandensein des L-Codes an der betreffenden Stelle des ersten Operanden. Weist diese Stelle des ersten Operanden den O-Code auf s so erfolgt die direkte Übertragung vom Register 25 zum Register 21. Das Ergebnis der Operation wird im Laufe eines Taktes vom Register 21 zum Register 25 übertragen (der Informations-Übertragungsweg vom Register 21 zum Register ist nicht gezeigt) .
409825/1007
Der erfindungsgemäße Speicher weist zweckmäßigerweise die zusätzlichen Decodierer 30 auf, von denen jeder Decodierer die Funktion mehrerer Detektoren 4 erfüllt, und besitzt die Prioritätsschaltung 31, die zur folgerichtigen Auswahl der dem vorgegebenen Satz von binären Assoziativmerkmalen bei der Mehrfachauswahl entsprechenden Detektoren 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 dieser Assoziativspeicher die Koinzidenzschaltungen 33 für die Koinzidenz mit O- und L-Signalen. Die Adressen-Speichermodule 1 sind zu Kombinationen mit je m Adressen-Speichermodulen vereinigt, die zur Speicherung von m-stelligen binären Assoziativmerkmalen benutzt werden. Dies gibt die Möglichkeit, in einer Kombination mit m Adressen-Speichermodulen auf m Ziffernstellenschienen bis zu 2 - 1 verschiedene Assoziativmerkmale und folglich bis zu 2 - 1 verschiedene Assoziativwörter zu schreiben, wobei die gleichwertigen Ziffernstellenschienen der Adressen-Speichermodule 1 jeder Kombination an die Eingänge der der jeweiligen Kombination entsprechenden Koinzidenzschaltungen 33 für die Koinzidenz mit O- und L-Signalen angeschlossen werden, und die Ausgänge der Koinzidenzschaltungen 33 jeder Kombination mit den Eingängen der entsprechenden zusätzlichen Decodierer 30 verbunden werden.
Um die Leistungsfähigkeit von Ausrüstungen mit den Modulen 1 zu erhöhen, kann der Code "Eins auf dem Hintergrund von Nullen" modifiziert werden. Um auf einer Ziffernstellenschiene mehrere ver-
409825/1007
schiedene Assoziativwörter, schreiben zu können, wird anstelle des einstelligen Merkmals "0" oder* "L" ein m-stelliges Merkmal OO ... OL, OO ... LO, OO ....-LL usw. eingeführt, mit dessen Hilfe das Schreiben von bis zu 2 - 1 verschiedenen Assoziativwörtern in den mit der Gruppe von m Ziffernstellehschienen 3 verbundenen Speicherelementen I1 möglich wird. Das Merkmal OO ... OO wird für die Anzeige der unbesetzten Adressensehiene 2 benutzt. Die Module 1 werden in Gruppen mit je m Modulen eingeteilt, und dies ermöglicht das Schreiben einer Kombination von m-stelligen Merkmalen auf gleichwertigen Ziffernstellerischienen 3 der Module 1. Für die Anzeige der Koinzidenz von Merkmalen, die in die betreffende" Kombination der mit verschiedenen Triggergruppen 8 des Abfrageregisters 5 verbundenen Module eingeschrieben sind, dienen die Koinzidenzschaltungen 32 für O-Signale und die Koinzidenzschaltungen 33 für L-Signale. Der Assoziativspeicher funktioniert dann wie folgt: Beim Abfragender Module 1 erregt der dem Register 5 zugeführte Code je eine Schiene 2 am Ausgang jedes Umsetzers 7. Sind an der Kreuzungsstelle der erregten Schienen 2 und einer Kombination von bestimmten Schienen 3 gleiche rn-stellige Merkmale eingeschrieben, so wird ihre Koinzidenz durch die Schaltungen 32 und 33 der-jeweiligen Kombination registriert. Dabei befindet sich genau die Hälfte der Schaltungen 32 und 33 dieser Kombination im L-Zustand und die andere Hälfte im O-Zustand. In- · folgedessen wird ein Ausgang des mit den Schaltungen 32 und 33 dieser Kombination verbundenen Decodierers 30 erregt. Die Nummer des Decodiererausgangs wird von den Nummern der erregten Schaltungen 32 und 33 an den Eingängen dieses Decodierers 30 bestimmt.
AO 9 8 2 5/1 0 0 7
Der Decodierer 30 erfüllt die Funktion eines Detektors für mehrere Assoziativwörter, die durch verschiedene m-stellige Merkmale an seinen Eingängen vorgegeben werden.
Beim Abfragen der Module 1 werden im Falle der Nichtübereinstimmung von Merkmalen an erregten Schienen 2 verschiedener Gruppen 8 weniger als die Hälfte der Schaltungen 32 und 33 der entsprechenden Kombinationen erregt, und bei den Decodierers 30 findet die Erregung keines Ausganges statt.
Beim Abfragen von unbesetzten Assoziativzellen (Ziffernstellen-Positionen mit eingeschriebenen Merkmalen OO ... OO) werden die ersten Ausgänge der entsprechenden Decodierer 30 erregt.
Vor dem Einschreiben eines neuen Assoziativwortes muß diesem Wort ein bestimmtes m-stelliges Merkmal zugeordnet werden- Dazu wird der Code abgefragt, der in den Assoziativspeicher eingeschrieben werden soll. Darauf werden die unbesetzten Module 1 registriert, wobei als Merkmal des unbesetzten Zustands die Erregung des ersten Ausganges des entsprechenden Decodierers 30 dient. Mit Hilfe der Schaltung 31 wird einer der freien Decodierer 30 sowie der Code des entsprechenden unbenutzten m-stelligen Merkmals gewählt, und dieses Merkmal wird in die mit den entsprechenden Schienen 2 und 3 verbundenen Speicherelemente 1' eingeschrieben. Ist der ganze Assoziativspeicher besetzt, so wird ein Assoziativwort gelöscht, und in der Schaltung 31 wird ein diesem Wort entsprechendes m-stelliges Merkmal gespeichert, worauf das Schreiben des neuen Assoziativwortes mit freigewordenem Merkmal erfolgt.
409825/1007-
Vorteilhafterweise weist der Speicher auch die Informationsspeichereinheit 34 mit den Speicherelementen 35 auf, die durch die Adressenschienen 36 und die Ziffernstellenschienen 37 sowie 38 zum Schreiben und Lesen zur Einheit vereinigt und in die Zellen mit je K Ziffernstellen organisiert sind.· Die Informationsspeichereinheit 34 ist für die Speicherung der Information bestimmt, in welcher jedem Wort eine vorgegebene Kombination von binären Assoziätivrnerkmalen entspricht, die in den Adressen-Speichermodulen 1 gespeichert werden, wobei die letzteren die Speichereinheit zum Speichern der Informationsmerkmale bilden. Indem Speicher ist außerdem das Informationsregister 39 mit den Triggerschaltungen 40 vorgesehen, deren Anzahl der Stellenzahl in einer Zelle der informationsspeichereinheit 34 entspricht, wobei die zum Lesen bestimmten Ziffernstellenschienen 38 der Informationsspeichereinheit 34 an die Eingänge der entsprechenden Trigger schaltungen 40 des Informationsregisters 39 angeschlossen werden, die zum Schreiben bestimmten Ziffernstellenschienen 37 dieser Einheit 34 an die Ausgänge der entsprechenden Triggerschaltungen 40 des Informationsregisters 39 geschaltet werden und die Adressenschienen 36 dieser Einheit 34 mit den Ausgängen der entsprechenden Detektoren 4 elektrisch verbunden werden. Hierbei weist jede Zelle der Informationsspeichereiriheit 34 die zusätzlichen Speicherelemente 41 auf, die zum Schreiben des der betreffenden Zelle der Informationsspeichereinheit ,3.4 entsprechenden Assoziativwortcodes benutzt werden, und das Informationsregister 39 ist.mit den zusätzlichen Triggerschaltungen 42 ausgestattet j die zur Speicherung der vom Abfrageregister 5 zürn Einschreiben in die Informationsspeichereinheit 34 gelieferten Codes
409825/1007
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 und die Anzahl der zusätzlichen Triggerschaltungen 42 des Informationsregisters 39 gleich der Anzahl von Triggerschaltungen 6 des Abfrageregisters 5 sind, die zweiten Eingänge der zusätzlichen Triggerschaltungen 42 des Informationsregisters 39 an die Ausgänge der gleichwertigen Triggerschaltungen 6 des Abfrageregisters 5 und die Eingänge der Triggerschaltungen 6 des Abfrageregisters 5 an die Ausgänge der gleichwertigen zusätzlichen Triggerschaltungen 42 des Informationsregisters angeschlossen werden. In jedes Wort der Informationsspeichereinheit 34 wird der Positionscode des Assoziativwortes eingeschrieben, der im entsprechenden Wort der aus den Modulen 1 bestehenden Einrichtung für Merkmale als Code "Eins auf dem Hintergrund von Nullen" gespeichert wird.
Bei wiederholtem Einschreiben in die ausgewählte Assoziativzelle (Assoziativwort) wird vorher der entsprechende Detektor 4 erregt , was zur Erregung der entsprechenden Schienen 36 und zur Auswahl des Wortes aus der Einheit 34 führt, dessen Nummer durch die Nummer dieses Detektors 4 gegeben ist . Der in den Speicherelementen 41 gespeicherte Code des betreffenden Assoziativwortes gelangt über die Schienen 38 zum Register 39 und von den Ausgängen der Triggerschaltungen 42 dieses Registers 39 zu den Eingängen der Triggerschaltungen 6 des Registers 5. Gemäß diesem Code werden die Schienen 2 am Ausgang der Umsetzer 7 erregt und erfolgt das Schreiben des O-Codes in die mit den gewählten Schienen 2 und 3 verbundenen
AO9825/1007
- sr -
Elemente 1', d. h. das vorher in die entsprechenden Module 1 eingeschriebene Assoziatiywort wird gelöscht. Weiterhin wird in den für die' Merkmale bestimmten Teil des Assoziativspeichers (in die Module l) das neue Assoziativwort eingeschrieben. Der Code des neuen Wortes wird vom Register 5 an die Eingänge der Triggerschaltungen 42 des Registers 39 übertragen und in die mit den gewählten Schienen 36 und 39 verbundenen Speicherelemente 41 eingeschrieben. Beim Einschreiben in eine unbesetzte Zelle dient als Merkmal des unbesetzten Zustande •das Vorhandensein des 0-Codes in den zusätzlichen Elementen 41 dieser Zelle.
Vorzugsweise besitzt der Assoziativspeicher zum stellenweisen Vergleich die Stellenvergleichsschaltung 43., bei der ein Teil von Eingängen mit den Ausgängen der entsprechenden Triggerschaltungen 6 des Abfrageregisters 5 und der andere Teil von Eingängen mit den Ausgängen der entsprechenden zusätzlichen Triggerschaltungen 42 des Informationsregisters 39 verbunden werden. .
Beim Abfragen erfolgt eine zusätzliche Überprüfung der richtigen Arbeitsweise der Einrichtung, insofern der in den entsprechenden Elementen 41 der Einheit 34 eingeschriebene Assoziativwortcode mit dem Abfragecode mittels der Schaltung 43 verglichen wird.
Zweckmäßigerweise weist der Assoziativspeicher den Codeumsetzer 44 auf, der die Nummer des erregten Detektors 4 und" die Nummern der Adressenschienen 36 der Informations speicher einheit 34 in Übereinstimmung bringt, wobei die Eingänge des Codeumsetzers 44 mit den
409825/ 1007
Ausgängen aller Detektoren 4 und die Ausgänge des Codeumsetzers 44 mit den entsprechenden Adressenschienen 36 der Informationsspeichereinheit 34 verbunden werden.
Wenn die Informations speicher einheit 34 nach dem Prinzip der Auswahl bei der Koinzidenz von Adressensignalen funktioniert, wird für die Umwandlung der Nummer des erregten Detektors 4 in die Nummern der entsprechenden Schienen 36 der Umsetzer 44 benutzt.
Der beschriebene Assoziativspeicher gibt die Möglichkeit, die Kosten des assoziativen Suchvorganges gegenüber den Speichern mit besonderen assoziativen Elementen durch Anwendung von billigen Speichermodulen mit Adressenauswahl mehrfach herabzusetzen. Gleichzeitig ist der Speicher 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 mehrfache Erhöhung der Kapazität des Assoziativspeichers gegenüber den bekannten.
409825/1007

Claims (12)

  1. Patentansprüche
    (ly Assoziativspeicher zur Informations suche sowie zur Durchführung von logischen Operationen an'einer, durch bestimmte Merkmale charakterisierten, d- h. durch mehrstellige assoziative Binärwörter oder Gruppen von mehreren assoziativen Binär merkmalen dargestellten Information; mit Adressen-Speichermodulen zur Speicherung der Binär information einschließlich Speicherelementen, die durch Adressen- und Ziffernstellenschienen Verbunden sind, welche zum Einsehreiben und Abrufen der in den Adressen-Speichermodulen gespeicherten Information dienen; mit Detektoren, die zur Anzeige der Speicherstelle der Information mit der vorgegebenen Kombination von binären Assoziativmerkmalen benutzt werden, wobei die Eingänge der Detektoren mit entsprechenden Ziffernstellenschienen der Adressen-Speichermodule elektrisch verbunden sind, und mit einem Abfrageregister zur Speicherung der vorgegebenen als Abfragecode dienenden Kombination von binären Assoziativmerkmalen, das Triggerschaltungen aufweist, deren Anzahl der Anzahl der binären Assoziativmerkmale im Abfragecode entspricht, wobei die Ausgänge der Triggerschaltungen des Abfrageregisters mit den Adressenschienen der entsprechenden Adressen-Speichermodule elektrisch verbunden sind, gekennzeichnet durch Abfragecodeumsetzer (7) zur Umsetzung des binären Positions-Abfragecodes in einen Code mit konstanter Anzahl von L-Bits, wobei die Triggerschaltungen; (6) des Abfrageregisters (5) in Gruppen (8) eingeteilt sind, die Eingänge jedes Abfragecodeumsetzers (7) mit den Ausgängen der entsprechenden
    409 8 25/ 10 0 7
    - 4U -
    Gruppe (8) von Triggerschaltungen (6) des Abfrageregisters (5) und die Ausgänge jedes Abfragecodeumsetzers (7) mit den Adressenschienen (2) der entsprechenden Adressen-Speichermodule (l) elektrisch verbunden sind.
  2. 2. Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet,, daß die Abfragecodeumsetzer (7) als Abfragecodedecodierer (9) ausgeführt sind, die den binären Positions-Code in einen Code mit einem erregten Zustand umsetzen, wobei die Detektoren (4) als Koinzidenzschaltungen aufgebaut sind, bei denen die Anzahl der Eingänge der Anzahl der Gruppen (8) von Triggerschaltungen (6) des Abfrageregisters (5) entspricht.
  3. 3. Assoziativspeicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Abfragecodeumsetzer (7) Langzeit-Speichermodule (11) enthalten, die zur Umsetzung des binären Positions-Abfragecodes in einen Code mit konstanter Anzahl von L-Bits bestimmt sind und Adressen- sowie Ziffernstellenschienen (12 bzw. 13) zur Auswahl der in die Langzeit-Speicherm odule (ll) eingeschriebenen Codes haben, wobei die Adressenschienen (12) jedes Langzeit-Speichermoduls (ll) mit den Ausgängen des entsprechenden Abfragecodedecodierers (9) und die Ziffernstellenschienen (13) jedes Langzeit-Speichermoduls (ll) mit den Adressenschienen (2) der entsprechenden Adressen-Speichermodule (l) verbunden sind.
  4. 4. Assoziativspeicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Abfragecodeumsetzer (7) mit Modulo-2-Addierern (14)
    409825/10Q7
    ausgestattet sind, wobei jede Gruppe (8) von Trigger schaltungen (6) des Abfrageregisters (5) in Teile (.15) eingeteilt ist, von denen der erste Teil Untergruppen (16) mit einer Triggerschaltung (6) besitzt und die anderen Teile (15) Untergruppen (16) mit Triggerschaltungen (6) enthalten und die Abfragecodedecodierer (9) in Teile (15) mit entsprechenden Untergruppen (16) und Modulo-2-Addierer (14;) aufgeteilt sind; wobei verbunden sind die Ausgänge der Abfragecodedecodierer (9 ) jeder Untergruppe (16 ) mit den ersten Eingängen der zur jeweiligen Untergruppe (16) gehörenden Modulo-2-Addierer (14), der Ausgang jedes Modulo-2-Addierers (14) mit den zweiten Eingängen der Modulo-2-Addierer (14) einer Untergruppe (16) des nächsten Teils und die Ausgänge der zum letzten Teil (15) gehörenden Modulo-2-Addierer (14) mit den Adressenschienen (2) der entsprechenden Adressen-Speichermodule (l).
  5. 5. Assoziativspeicher nach Anspruch 1, gekennzeichnet durch ein Maskenregister (17), das zur Speicherung eines binären Maskencodes dient, bei dem die O- und L-Lage die für die jeweilige Suchoperation indifferenten Assoziativmerkmale des Abfragecodes angeben, und das Triggerschaltungen (18) enthält, deren Anzahl gleich der Anzahl von assoziativen Binärmerkmalen im Abfragecode ist; sowie durch ODER-Schaltungen (19), von denen verbunden sind die ersten Eingänge mit L- oder O-Ausgängen der entsprechenden Triggerschaltungen (18) des Maskenregisters (17), die zweiten Eingänge mit den Ausgängen der entsprechenden Triggerschaltungen (6) des Abfrageregisters (5) und die Ausgänge mit den Eingängen der entsprechenden Abfragecodeumsetzer (7).
    409825/1007
  6. 6. Assoziativspeicher nach Anspruch 1 oder 5, gekennzeichnet durch ODER-Schaltungen (20) mit mehreren Eingängen und durch ein Ausgangsregister (21) zur Aufnahme der von den entsprechenden Adressen-Speichermodulen (l) abgelesenen Information, das Triggerschaltungen (22) enthält, deren Anzahl der Anzahl von assoziativen Binärmerkmalen im Abfragecode entspricht, wobei das Ausgang sregister (21) in Gruppen (23) von Trigger schaltungen (22) aufgeteilt ist und an den Eingang jeder Gruppe (23) von den Triggerschaltungen (22) des Ausgangsregisters (21) der Ausgang der entsprechenden ODER-Schaltung (20) mit mehreren Eingängen angeschlossen ist, deren Eingänge mit entsprechenden Ziffernstellenschienen (3) der Adressen-Speichermodule-(1) verbunden sind, und die Triggerschaltungen (6 ) des Abfrageregisters (5 ) sowie die Triggerschaltungen (22) des Maskenregisters (17 )■ · ebenfalls in Gruppen (8 bzw. 24) unterteilt sind, bei denen die Anazhl der Triggerschaltungen (6, 18) gleich der Anzahl der Triggerschaltungen (22) in den Gruppen (23) des Ausgangsregisters (21) ist.
  7. 7. Assoziativspeicher nach einem der Ansprüche 1, 5 und 6, gekennzeichnet durch
    ein Eingangsregister (25) zur Speicherung eines mehrstelligen Binärcodes , an dem und gleichzeitig am Code eines beliebigen in den Adres— sen-Speichermodulen (l) gespeicherten Assoziativwortes eine beliebige vorgegebene logische Operation vorgenommen werden kann, wobei das Eingangsregister (25) Triggerschaltungen (26) enthält, deren Anzahl der Anzahl von Merkmalen im Abfragecode entspricht,
    40 9825/1007
    und das Eingangsregister (25) in Gruppen (27) mit Triggerschaltungen
    (26) aufgeteilt ist;
    durch Koinzidenzschaltungen (28), deren erste Eingänge an L- oder O-Ausgänge von Triggerschaltungen (26) der. entsprechenden Gruppe
    (27) des Eingangsregisters (25) angeschlossen sind; und
    durch einen Operationsdecodierer (29), der zur Steuerung der Informationsübertragung zum Abfrageregister (5) und zum Ausgangsregister (21) bestimmt ist, da die entsprechende Information von den Ausgängen der Triggerschaltungen (26) des Eingangsregisters (25) im direkten oder invertierten Code je nach auszuführender logischer Operation und je nach dem im Eingangsregister (25) gespeicherten Code übertragen wird; .
    wobei verbunden sind die entsprechenden Ausgänge des Operationsdecodierers (29.) mit den zweiten Eingängen der Koinzidenzschaltungen (28), die Ausgänge eines Teils der Koinzidenzschaltungen (28) mit den Eingängen der entsprechenden Triggerschaltungen (6) des Abfrageregisters (5) und die Ausgänge der übrigen Koinzidenzschaltungen (28) mit den Eingängen der entsprechenden Mehreingangs-ODER-Schaltungen. " -
  8. 8. Assoziativspeicher nach einem der Ansprüche 1, 5, 6 und 7, dadurch gekennzeichnet, daß die Gruppen (23, 27) von Triggerschaltungen (22, 26) des Eingangs- und des Ausgangsregisters (21 bzw. 25) zu Schieberegistern und die Gruppen (24) der Triggerschaltungen (18) des Maskenregisters (17) zu Ringschieberegistern vereinigt sind.
    409825/1007
  9. 9. Assoziativspeicher nach Anspruch 1, gekennzeichnet durch
    zusätzliche Decodierer (30 ) , von denen jeder Decodierer (30) die Funktion mehrerer Detektoren (4) erfüllt, durch eine Prioritätsschaltung (31) zur folgerichtigen Auswahl der Detektoren (4), die der vorgegebenen Kombination von assoziativen Binär merkmalen 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 O- und L-Signale, wobei die Adressen-Speichermodule (l) zu Gruppen von m Adressen-Speichermodulen (l) zur Speicherung von m-stelligen assoziativen Binärmerkmalen vereinigt sind, um das Einschreiben bis zu 2 - 1 verschiedenen Assoziativmerkmalen in einer Gruppe mit m Adressen-Speichermodulen (l) auf m Ziffernstellenschienen (3) und folglich das Schreiben bis zu 2 - 1 verschiedenen Assoziativwörtern zu ermöglichen, und gleichwertige Ziffernstellenschienen (3) der Adressen-Speichermodule (1) jeder Gruppe an die Eingänge der Koinzidenzschaltungen (32) und (33) für 0- und L-Signale angeschlossen sind, die der betreffenden Gruppe entsprechen, während die Ausgänge der Koinzidenzschaltungen (32, 33) jeder Gruppe an die Eingänge der entsprechenden zusätzlichen Decodierer (30) geschaltet sind.
  10. 10. Assoziativspeicher nach Anspruch 1, gekennzeichnet durch eine Informationsspeichereinheit (34), die durch Adressenschienen (3)
    409825/1007
    sowie durch Ziffernstellenschienen (37, 38) zum Schreiben und Lesen verbundene und in Zellen mit je K Stellen organisierte Speicherelemente (35) umfaßt und zur Speicherung der Information bestimmt ist,- bei der jedem Wort eine bestimmte Kombination von assoziativen Binär merkmalen entspricht, die in den Adressen-Speichermodulen 1 gespeichert werden, wobei die letzteren eine Speichereinheit zum Speichern der Informations merkmale bilden r und
    durch ein Informationsregister (39) mit Triggerschaltungen (40), deren Anzahl der Anzahl von Stellen in einer Zelle der Informationsspeichereinheit (34) entspricht, wobei verbunden sind die zum Lesen bestimmten Ziffernstellenschienen (38) der Informatipnsspeiehereinheit (34) mit den Eingängen der entsprechenden Triggerschaltungen (40) des Informationsregisters (39), die zum Schreiben bestimmten Ziffernstellenschienen (37) der Inform^tionsspeichereinheit (34) mit den Ausgängen der entsprechenden Triggerschaltungen (40) des Informationsregisters (39) und die Adressenschienen (36) 4er Införmationsspeichereinheit (34) mit den Ausgängen der entsprechenden Detektoren (4);
    wobei in jeder Zelle der Informationsspeiehereinheit (34) zusätzliche Speicherelemente (41) zum Einschreiben des der jeweiligen Zelle der Informationsspeiehereinheit (34) entsprechenden Assoziativwortcodes vorgesehen sind, und das Informationsregister (39) mit zusätzlichen Trigger schaltungen (42) ausgestattet ist, die zur Speicherung der vom Abfrageregister (5) zum Einschreiben in die Införmatibhsspeichereinheit (34) gelieferten Codes oder für die Aufnahme der Codes aus der Inforrnationsspeichereittheit (34) dienen, wobei die Arizähl der zusätz-
    . 40^825/1007 i ' \.
    lichen Speicherelemente (41) in jeder Zelle der Informationsspeichereinheit (34) und die Anzahl der zusätzlichen Triggerschaltungen (42) des Informations reg isters (39) gleich der Anzahl von Triggerschaltungen (6) des Abfrageregisters (5) sind sowie die zweiten Eingänge der zusätzlichen Triggerschaltungeri (42) des Informationsregisters (39) an die Ausgänge der gleichwertigen Trigge.rschaltungen (6) des Abfrageregisters (5) und die Eingänge der Triggerschaltungen (6) des Abfrageregisters (5) an die Ausgänge der gleichwertigen zusätzlichen Triggerschaltungen (42) des Informationsregisters (39) angeschlossen sind.
  11. 11. Assoziativspeicher nach Anspruch 1 oder 10, gekennzeichnet durch eine Schaltung (43) zum stellenweisen Vergleich, bei der verbunden sind eine Gruppe von Eingängen mit den Ausgängen der entsprechenden Triggerschaltungen (6) des Abfrageregisters (5) und die anderen Eingänge mit den Ausgängen der entsprechenden zusätzlichen Triggerschaltungen (40) des Informationsregisters (39),
  12. 12. Assoziativspeicher nach einem der Ansprüche 1, 10 und 11, gekennzeichnet durch einen Codeumsetzer (44), der die Nummer des erregten Detektors (4) und die Nummern der Adressenschienen (36) der Informationsspeichereinheit (34) in Übereinstimmung bringt, wobei die Eingänge des Codeumsetzers (44) mit den Ausgängen aller Detektoren (4) und die Ausgänge des Codeumsetzers (44) mit den ent^· sprechenden Adressenschienen (36) der Informationsspeichereinheit (34) verbunden sind.
    409825/1007
    Lee ^e Ue
DE2357654A 1972-11-21 1973-11-19 Assoziativspeicher Expired DE2357654C2 (de)

Applications Claiming Priority (3)

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
GB5480773A GB1429702A (en) 1972-11-21 1973-11-26 Associative memory

Publications (2)

Publication Number Publication Date
DE2357654A1 true DE2357654A1 (de) 1974-06-20
DE2357654C2 DE2357654C2 (de) 1981-10-29

Family

ID=27260367

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2357654A Expired DE2357654C2 (de) 1972-11-21 1973-11-19 Assoziativspeicher

Country Status (4)

Country Link
US (1) US3913075A (de)
DE (1) DE2357654C2 (de)
FR (1) FR2207328B1 (de)
GB (1) GB1429702A (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3924243A (en) * 1974-08-06 1975-12-02 Ibm Cross-field-partitioning in array logic modules
SU576608A1 (ru) * 1975-02-13 1977-10-15 Предприятие П/Я М-5769 Ассоциативное запоминающее устройство
US3997882A (en) * 1975-04-01 1976-12-14 Burroughs Corporation Content addressable memory system employing charge coupled device storage and directory registers and N/(1-H) counter refresh synchronization
SU604033A1 (ru) * 1975-10-28 1978-04-25 Предприятие П/Я М-5769 Ассоциативное запоминающее устройство
FR2348543A1 (fr) * 1976-04-15 1977-11-10 Honeywell Bull Soc Ind Memoire vive associative
US4149262A (en) * 1977-04-19 1979-04-10 Semionics Associates Associative memory device with variable recognition criteria
US4221003A (en) * 1978-05-04 1980-09-02 International Business Machines Corporation Bubble domain relational data base system
DE3151385C2 (de) * 1981-12-24 1986-07-31 Djamshid Dr.-Ing. 6000 Frankfurt Tavangarian Ortsadressierter Assoziativspeicher
JPH05174582A (ja) * 1991-09-02 1993-07-13 Mitsubishi Electric Corp 連想メモリの優先度決定回路
US5619446A (en) * 1992-01-10 1997-04-08 Kawasaki Steel Corporation Hierarchical encoder including timing and data detection devices for a content addressable memory
US5999434A (en) 1992-01-10 1999-12-07 Kawasaki Steel Corporation Hierarchical encoder including timing and data detection devices for a content addressable memory
US5987564A (en) * 1996-10-17 1999-11-16 Kawasaki Steel Corporation Associative memory device
US6336113B1 (en) * 1998-12-30 2002-01-01 Kawasaki Steel Corporation Data management method and data management apparatus

Citations (4)

* 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
DE2059917A1 (de) * 1969-12-24 1971-07-01 Ibm Datenspeicher
DE1449375B2 (de) * 1963-10-11 1972-10-12 International Business Machines Corp , Armonk, NY (V St A) Assoziativer speicher
DE2302061A1 (de) 1972-01-17 1973-07-19 Ibm Assoziativspeicher

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3069657A (en) * 1958-06-11 1962-12-18 Sylvania Electric Prod Selective calling system
DE1187665B (de) * 1960-12-15 1965-02-25 Standard Elektrik Lorenz Ag Schaltungsanordnung zur Bestimmung von Pruefstellen in einem System zur fehlerfreien UEbertragung von binaer codierten Daten
US3601798A (en) * 1970-02-03 1971-08-24 Ibm Error correcting and detecting systems
US3626374A (en) * 1970-02-10 1971-12-07 Bell Telephone Labor Inc High-speed data-directed information processing system characterized by a plural-module byte-organized memory unit
US3761902A (en) * 1971-12-30 1973-09-25 Ibm Functional memory using multi-state associative cells

Patent Citations (4)

* 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
DE1449375B2 (de) * 1963-10-11 1972-10-12 International Business Machines Corp , Armonk, NY (V St A) Assoziativer speicher
DE2059917A1 (de) * 1969-12-24 1971-07-01 Ibm Datenspeicher
DE2302061A1 (de) 1972-01-17 1973-07-19 Ibm Assoziativspeicher

Non-Patent Citations (7)

* 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
In Betracht gezogene ältere Patente: DE-PS 23 02 061 *

Also Published As

Publication number Publication date
US3913075A (en) 1975-10-14
FR2207328A1 (de) 1974-06-14
GB1429702A (en) 1976-03-24
DE2357654C2 (de) 1981-10-29
FR2207328B1 (de) 1977-03-11

Similar Documents

Publication Publication Date Title
DE2008663C3 (de) Datenspeicher- und Datenspeicheransteuerschaltung
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2621882A1 (de) Dynamischer digitalspeicher mit ununterbrochen umlaufendem datenfluss
DE2905328A1 (de) Verfahren und vorrichtung zur assoziativen informationswiedergewinnung
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE2254340B2 (de) Dateneingabesystem mit einem kapazitiven tastenfeld
DE2821285A1 (de) Verfahren und vorrichtung zur datenverarbeitung mit informationsabtastung unter verwendung von pruefsummen
DE2357654A1 (de) Assoziativspeicher
DE3128740A1 (de) Dynamisches halbleiter-speichersystem
DE2730328A1 (de) Adressierbarer assoziativ-speicher
DE1774680A1 (de) Vorrichtung zum Codieren einer binaeren Zahl
DE2338469A1 (de) Programmierbares digitales datenverarbeitungsgeraet
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE68927527T2 (de) Bedrahtete Datensortierschaltung
DE1499178A1 (de) Steuerbarer Datenspeicher mit Verzoegerungsleitung
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE4210109C2 (de) Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren
DE1774607C3 (de) Speicheranordnung mit einem informationszerstörend lesbaren Speicher
DE1774675B2 (de) Elektronisches rechengeraet mit einer speichermatrix
DE1437002A1 (de) Vielfach-Schaltstufe und zugehoerige Steuerschaltung
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2729361A1 (de) Speicherschaltung
DE1957600C3 (de)
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten

Legal Events

Date Code Title Description
OI Miscellaneous see part 1
OI Miscellaneous see part 1
D2 Grant after examination
AH Division in

Ref country code: DE

Ref document number: 2366270

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee