DE2302061C3 - Assoziativspeicher - Google Patents

Assoziativspeicher

Info

Publication number
DE2302061C3
DE2302061C3 DE19732302061 DE2302061A DE2302061C3 DE 2302061 C3 DE2302061 C3 DE 2302061C3 DE 19732302061 DE19732302061 DE 19732302061 DE 2302061 A DE2302061 A DE 2302061A DE 2302061 C3 DE2302061 C3 DE 2302061C3
Authority
DE
Germany
Prior art keywords
memory
register
search
output
associative memory
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
DE19732302061
Other languages
English (en)
Other versions
DE2302061B2 (de
DE2302061A1 (de
Inventor
John Wyn Jones
John Franklyn Sears
Keith Graham Taylor
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2302061A1 publication Critical patent/DE2302061A1/de
Publication of DE2302061B2 publication Critical patent/DE2302061B2/de
Application granted granted Critical
Publication of DE2302061C3 publication Critical patent/DE2302061C3/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
    • G11C15/046Digital 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 using non-volatile storage elements

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Description

,eparate Register betätigt werden, sind konventionel- wird der Abschnitt 8 a der Wortleitung im Suchfeld 6 er Art und allgemein bekannt. Da das Register IA markiert mit konsequentem Auslesen des Suchfeldes, iieseibe Anzahl von bistabilen Schaltungen enthält Bei einer Suchoperation ergibt sich daher keine ,vie das Register 2, ist der Inhalt der beiden Register Übereinstimmung, wenn eine Bitleitung 11 markiert im Ende einer Schiebeoperation derselbe. Das 5 ist und eine an diese Leitung angeschlossene bistabile schieberegister wird benutzt, inderr. am Anfang der Schaltung 12 im Einerzustand steht.
Assoziativspeicher durch den Leiter IPL (Fig. 1) ge- Die bistabilen Schaltungen 12 des Assoziativspeiladen wird. Das Register IA ist nicht an die Such- chers 1 sind in zwei Gruppen angeordnet, die P- und anordnung angeschlossen. Q-Gruppe genannt werden. In F i g. 2 bestehen die
Daten werden im Assoziativspeicher 1 als binäre io Gruppen P und Q als Beispiel aus je zwei Wörtern.
Wörter gespeichert, von denen jedes ein in der Such- Im Suchfeld 5 haben die Gruppen P und Q gemein-
anordnung S gespeichertes Suchfeld und ein in der same Bitleitungen 11. Im Gegensatz dazu weisen die
Leseanordnung 6 gespeichertes Lesefeld umfaßt. Je- Gruppen P und Q im Lesefeld 6 separate Bitleitungen
des Bit eines Wortes ist mit einer Wortleitung in für 13 und 14 auf. Der Ausgabedecodierer 7 besteht aus
das Wort eindeutiger Weise verbunden. Entsprechende 15 einem Satz von Antivalenzschaltungen IS, die als
Bits verschiedener Wörter werden mit den Bitleitun- entsprechende Eingänge verschiedene Bitleitungen 13
gen verbunden, die im Suchfeld mit den Ausgängen und 14 aufweisen. Die Ausgänge der Schaltungen 15
des Codierers 4 und im Lesefeld mit d^n Eingängen setzen entsprechende bistabile Schaltungen 01 bis 04
des Decodierers 7 verbunden sind. Die am Speicher des Ausgaberegisters 3.
definierte Grundoperation ist Suchen — Lesen, wobei 20 In F i g. 3 ist eine bistabile Transistorschaltung geein Suchargument in das Eingaberegister 2 gesetzt, zeigt, die sich als bistabile Schaltung 12 eignet und durch den Codierer 4 codiert und mit dem Inhalt des vier Zustände hat. Sie umfaßt einen Doppelemitterin der Suchanordnung S gespeicherten Suchfeldes Transistor Γ1, dessen Basis und Kollektor direkt verglichen wird. Das Vergleichsergebnis wird in Form über Kreuz gekoppelt sind mit Kollektor bzw. Basis von Signalen auf die Wortleitungen 8 gegeben und 25 eines Transistors Γ 2, dessen Emitter geerdet ist. Ein mit ihm die Suchfelder der Wörter ausgelesen, deren Emitter E1 des Transistors T1 ist mit einer Bitlei-Suchfeld mit dem codierten Suchargument überein- tung B und der andere Emitter E 2 ist mit einer Wortstimmt, leitung W verbunden. Die Schaltung befindet sich im
Zu anderen definierten Operationen gehöu die Einerzustand, wenn der Transistor Π leitet. Abhän-Halteoperation, bei welcher der Inhalt des Eingabe- 30 gig von den relativen Potentialen auf den Leitunregisters 2 unverändert festgehalten wird und keine gen B und W kann der im Transistor T1 fließende Operation für einen Speicherzyklus erfolgt. Bei der Strom durch den Emitter £1 auf die Bitleitung Ausgabeoperalion wird der Inhalt des Eingaberegi- (Leseoperation) und durch den Emitter £2 auf die sters 2 direkt in das Ausgaberegister 3 übertragen, Wortleitung (Diskrepanzsignal) gesteuert werden, so daß der Speicher als Verzögerungseinheit mit einer 35 oder der bistabile Schaltkreis kann in den Einerzu-Verzögerungszeit von einem Zyklus wirkt. Die stand versetzt werden (Schreiboperation). Die Schal-Schreiboperation ist gemäß späterer Erklärung unter- tung der F i g. 3 dient nur als Beispiel für eine geteilt in eine Schreiboperation in die Suchanordnung eignete bistabile Schaltung, jede andere kann ebenso und eine Schreiboperation in die Leseanordnung. benutzt werden, insbesondere Schaltungen, die sich
Das in F i g. 2 genauer gezeigte Eingaberegister 2 40 zur Integration in großem Maßstab eignen,
umfaßt die bistabilen Schaltungen Al, Al, Bl, Bl. Das Diagramm in Fig. 4 zeigt die verschiedenen Der Decodierer 4 besteht aus Gruppen von UND- definierten Operationen des Assoziativspeichers 1. Gliedern 10, die die Zustände eines jeden Paares Ein konventioneller Decodierer 15 interpretiert Sibistabiler Schaltungen zu einer Markierung von einer gnale an den Anschlüssen Pl, P2, 51, 52, Wl, Wl, von vier Bitleitungen U des Suchfeldes 8 decodieren. 45 CL und ADR und erzeugt ein oder mehrere BeVier Spalten des Suchfeldes 5 sind somit mit jedem fehlssignale zur Steuerung des Speichers. Die Befehls-Paar bistabiler Schaltungen des Eingaberegisters 2 signale sind Gleichstromsignale, welche an konvenverbunden. Ein Suchwort besteht aus bistabilen tionelle Torschaltungen (nicht dargestellt) an den Schaltungen 12, von denen jede mit einer anderen Eingängen oder Ausgängen der Register 2 und 3 Bitleitung 11 und derselben Wortleitung 8 verbunden 5° oder an die Bit- oder Wortleitung angelegt werden, ist. Eine bistabile Schaltung 12 ist so ar gelegt, daß Die Anschlüsse Pl und P 2 werden normalerweise bei Markierung der angeschlossenen Bitleitung 11 ein benutzt und werden daher Primäranschlüsse genannt. Signal auf der angeschlossenen Wortleitung 8 erzeugt Wenn mit einer 1 die Markierung eines Anschlusses wird, wenn, und nur wenn die bistabile Schaltung 12 und mit einer 0 das Gegenteil dargestellt werden, in einem gegebenen bistabilen Zustand, dem Einer- 55 werden durch den Decodierer 15 die folgenden Bezustand ist. Umgekehrt erzeugt bei Markierung der fehle als Ergebnis der Signale an den Anschlüssen angeschlossenen Wortleitung 8 die bistabile Schal- Pl und P2 erzeugt: Pl = 0, P2 = 0. Suchen—Lesen, tung 12 ein Signal auf der angeschlossenen Bitleitung Die assoziative Grundoperation. Der Inhalt des Ein-II, wenn, und nur wenn die Schaltung im Einerzu- gaberegisters 2 wird im Codierer 4 codiert und die stand steht. Weiterhin nimmt die bistabile Schaltung 60 Ausgänge des Codierers mit dem Inhalt des Suchden Einerzustand ein, wenn die angeschlossene Wort- fcldes 5 verglichen. Bei einer Obereinstimmung wire leitung und die angeschlossene Bitleitung markiert der Inhalt des Lcsefcldes des übereinstimmender sind. Eine geeignete bekannte bistabile Schaltung 12 Wortes in das Ausgaberegister 3 durch den Decowird im Zusammenhang mit Fig. 3 beschrieben. Die dierer 7 gelesen. Pl = 0, P2 = 1. Ausgabe. Der In Wortleitungen 8 sind an ähnliche bistabile Schaltun- 65 halt des Eingaberegisters 2 wird in das Ausgabere gen 12 im Lescfcld 6 durch die Inverter 1 ange- gister 3 über den Weg 16 (Fig. 4) übertragen schlossen. Nur wenn eine Worlleitung8 aufgrund Pl = I, P2 = 0. Halten. Der Inhalt des Eingabe einer assoziativen Suchoperation nicht markiert ist, registers 2 wird unverändert gelassen. Es findet keim
andere Operation stau. Pl 1, ΓΙ -~ I. Schreiben. Der Inhalt des Ausgaberegisters wird selektiv in das Lesefeld oder das Suchfeld geschrieben. Die Operation benötigt Steuersignale an den Anschlüssen W\ und Wl, um vollständig definiert zu sein.
Die Signale an den Sckundäranschiüsscn .Sl und .V2 führen zur Operation folgender Befehle: 51 - 0, 52 = 0. Primärsteuerung benutzen. Die Signale auf Pl und Pl werden zur Befehlscrzcugung benutzt.
51---- 0, 52 — 1. Ausgeben und Rückstellen. Der Inhalt des Registers 2 wird über den Weg 16 in das Register 3 übertragen. Register 2 wird zurückgestellt.
51 = 1, Sl = 0. Übertragen. Der Inhalt des Registers 3 wird über den Weg 17 in das Register 2 übertragen.
Sl 1,5-2 = 1. Schreiben. Wie für Pl 1, Pl = 1.
Um eine Wortslelle zum Schreiben im Suchfeld auszuwählen, wird eine konventionelle Adressiereinrichtung (nicht dargestellt) benutzt. Adreßbits werden als binäre Signale an die Anschlüsse A DR geliefert und bilden Eingänge zn einem nicht dargestellten Decodierer, dessen Ausgang eine Worlleitung 8 markiert. Da doppell so viele bistabile Schaltungen 12 im Suchfeld eines Wortes wie Bitpositionen im Ausgaberegisler sind, muß die Hälfte gewählt werden. Das erfolgt durch Unterteilung des Suchfeldes in gerade und ungerade bislabile Schaltungen 12. Die ungeraden bistabilen Schaltungen sind die erste, dritte, fünfte usw. von links bei Betrachtung der F i g. 2 und die geraden bistabilen Schaltungen die zweite, vierte, sechste usw. von links. Die Einerausgänge der bistabilen Schaltungen 01 bis 04 des Registers 3 sind jeweils mit einem anderen Paar von Bitleilungen 11 durch Tore verbunden, die durch das Schreibkommando und die decodierten Signale an den Anschlüssen Wl und Wl eingeschaltet werden. Somit ist der Einerausgang von 01 verbunden mit den Bitleitungen 11a und 11 b, der Einerausgang von 02 mit den Bitleitungen Hr und lld usw.
Signale an den Anschlüssen Wl und Wl werden folgendermaßen decodiert: Wl = 0, Wl = 0. Nicht schreiben. Ein Schreibkommando an den Anschlüssen Pl, P2 oder 51, 52 wird unterdrückt. Wl = 0, Wl = 1. Schreiben ungerade. Die Signale an den Anschlüssen ADR werden decodiert zur Markierung einer Wortleitung 8. Die Bitleitungen He, Hc usw. werden mit den Einerausgängen von 01, 02 usw. verbunden, was im Schreiben einer Eins in die ungeraden bistabilen Schaltungen 12 des gewählten Wortes resultiert, wenn die entsprechenden bistabilen Schaltungen 01 bis 04 des Registers 3 eine 1 speichern.
Wl = X, Wl = Q. Schreiben gerade. Wie beim usw. verbunden.
Wl = X, Wl = X. Schreiben Lesefeld. Dieses ist die Umkehrung von Suchen—Lesen. Ein Wort wird durch eine assoziative Suche gewählt and der Inhalt des Registers 3 in das Lesefeld des Wortes geschrieben. Die Taktimpulse werden nicht fan einzelnen beschrieben.
Im Speicherzyklus besteht aus nur zwei Phasen, einer Datenübertragungsphase, während welcher das Eingaberegister zum Empfang von Daten von der externen Quelle frei ist (ausgenommen während einer Halteoperation) und das Ausgaberegister seinen Inhalt auf eine Datensammelleitung setzt, und einer Speicheroperationsphase. Die Feldoperationen Suchen—Ixscn and Schreiben—Lesen sind fortlaufende Operationen. Das gewählte Wort wird dynamisch markiert und Operationen wie NÄCHSTE oder VORHERGEHENDE, wie sie auf einigen Assoziativspeichern definiert sind, sind nicht möglich.
Während der normalen Operation des Assoziativspeichers sind die Steuerungen so eingestellt, daß sie auf Signale an den Primäranschlüssen reagieren. Der Speicher kann am besten durch Mikroinstruktionen in einem Steuerspeicher gesteuert werden. Die Anzahl der Steuersignale ist nicht groß,und eine Mikroinstruktion kann ungefähr zehn Assoziativspeicher 1 steuern. Besondere Steuerungen sind zum Laden des Speichers erforderlich und werden anschließend näher beschrieben. Der Steuerspeicher wird am Anfang mit einer Mikroroutine zum Steuern der Assoziativspeicherladung geladen. Beim Laden ist es allgemein üblich, zu speichernde und seriell in das Datenverarbeitungssystem einzulesende Daten auf einer Platte zu speichern, wenn das System eingeschaltet
ist. Es wird angenommen, daß irgendwie eine Wahl einzelner Speicher von anderen Speichern möglich ist. Wenn die Lade-Mikroroutinc im Steuerspeicher gespeichert ist, werden alle Assoziativspeicher 1 im System gekennzeichnet durch Schreiben von Kenn-
zeichen für jedes Wort im Speicher in das Suchfeld. Die Bezeichnungen werden auf einer Platte gespeichert und im Ausgaberegister der Speicher über die Eingaberegister 2 und die Eingabeprüfregister la als 12-Bit großes Schieberegister von der /PL-Leitung in
F i g. 1 zugeführt. Der Inhalt des Registers 2 wird dann in das Register 3 durch eine Ausgabeoperation übertragen.
Schließlich werden durch Schreiben ungerade odei Schreiben gerade die Kennzeichen in das Suchfeld gesetzt. Zwei Assoziativspeicher werden auf diese Weise gewählt. Der zweite Speicher wird als kontinuierliche Prüfung beim Laden des ersten Speichers benutzt. Beim Laden eines jeden Speichers wird vorzugsweise dieser zweite Speicher gewählt. Die Prüfung erfolgt durch Vergleich des Inhaltes des Ausgaberegisters 3 der beiden Speicher am Ende eine; jeden Zyklus durch konventionelle Logik in dei Ladeschaltung, die dem Speichersystem gemeinsarr ist.
Jedes Wort wird in den gewählten Assoziativspeicher folgendermaßen geladen:
1. Der Inhalt des Lesefeldes des Wortes wird übei die /PL-Leitung in das Register 2 geschoben.
2. Ausgabe und Rückstellungeingabe. Das Lese feld wird in das Register 3 übertragen uad dii Register 2 und la zurückgestellt. 3. Das Kennzeichen wird in das Register 2 ge schoben.
4. Eine Operation »Schreiben Lesegruppe« win ausgeführt.
5. Eingabe von »Ausgabe und Rückstellung« lösch das Eingaberegister.
6. Die Daten für die ungeraden bistabilen Schal &> tungen des Suchfeldes werden in das Register; geschoben und die Operation »Schreiben unge rade« ausgeführt. Die Wortadresse wird von Steuerspeicher geliefert.
7. Das Eingaberegister wird gelöscht und Paukt i für die geraden bistabilen Schaltungen wieder holt.
8. Das Suchfeld wird in das Register 2 geschoben und die Operation »Suchen Lesen« ausgeführt
Prüfwort 2: Al Bl Al Bl
Prüfwort 3: Al BT Al Bl
Prüf wort 4: Al £1 TU Bl
Prüfwort 5: Al Bl Al m
Prüfsvort 6: ΑΎ FT Al Bl
Prüfwort 7: Al Bl TU m
7 8
Ein Prüfwort wird in das Register 2 geschoben. die Bitleitungen 11 verbunden sind und W1 bis Z 2
Das Prüfwort besteht aus dem Inhalt des Lese- der Inhalt der bistabilen Schaltungen 12 ist, die ge-
feldes. Das Register la enthält bekanntlich die- nauso mit den bistabilen Schaltungen Al, Bl ver-
selben Daten wie das Register 2. Durch eine bunden sind.
Übertragung wird der Inhalt des Registers 3 in 5 _^
das Register 2 gesetzt. Der Vergleicher C er- Al ^WI-Xl+ Xl-Yl Bl = TTI + TT
kennt dann jede Differenz zwischen dem Ergeb- Al = Wl Xl + Ύ1- Y2 Bl = Wl+ Yl
nis der Operation Suchen Lesen und dem Prüfwort. Prüfwort 1: Al, Bl, Al, Bl sollte eine Überein-9. Wenn Schritt 8 beendet ist, ohne daß der Ver- io Stimmung ergeben.
gleicher C ein Fehlersignal abgibt, wird eine Die übrigen Prüfwörter sollen mit Ausnahme des
Reihe von Prüfwörtern dem Register 2 züge- Prüfwortes 7 eine Diskrepanz ergeben,
führt, um das Suchfeld zu prüfen.
Wenn in irgendeiner Stufe des Ladeprozesses ein 15
schwerer Fehler auftritt, d. h., ein Fehler, der nicht
auf elektrische Übergänge zurückzuführen ist und
sich trotz mehrerer Wiederholungen immer wieder
zeigt, wird das Suchfeld des Wortes mit Einsen geladen, wodurch eine Diskrepanz mit jedem Suchargu- »0
ment sichergestellt ist, und das Wort in die nächste
Wortspeicherstelle des Speichers geladen. Der Spei- Das dargestellte Muster der Prüfwörter kann aus
eher ist so angelegt, daß in jedem Assoziativspeicher einfachen Formeln generiert werden, so daß die Priif-
mehrere Ersatzwortstellen vorhanden sind. Beim La- Wörter nicht auf die Platte geschrieben zu werden
den werden die geladenen Wortstellen gezählt, und 35 brauchen und durch das Ladeprogramm erzeugt wer-
wenn die Kapazität des Speichers überschritten wird, den können.
wird er vom System getrennt und ein anderer Spei- Nachdem Struktur und Ladeverfahren eines Asso-
cher geladen. ziativspeichers nach dem Erfindungsgedanken be-
Mit der Reihenfolge der Prüfwörter soll die Ge- schrieben wurden, wird anschließend seine Verwennauigkeit des Suchfeldes, so wie es geladen wurde, 30 dung als Logikschaltung beschrieben,
geprüft werden. Genauigkeit kann nur indirekt ge- Zuerst wird das Suchfeld betrachtet. Die vier Spalprüft werden durch Vergleich des Inhaltes des Re- ten in F i g. 5 mit der Überschrift »Suchargument« gisters 3 mit den beiden geladenen Speichern. Wenn stellen die 16 möglichen Zustände der vier bistabilen das Ausgaberegister dieselben Daten enthält, kann Schaltungen 12 dar, die mit den vier Ausgängen des angenommen werden, daß dieselben Muster von 35 Decodierers 4 verbunden sind, welcher zu einem Übereinstimmungen und Diskrepanzen in jedem Spei- Paar von Eingangsbits A und B gehört. Der Einercher aufgetreten sind und daß es sich um das beab- zustand wird durch die Ziffer 1 dargestellt Wenn sichtigte Muster handelt. Die indirekte Prüfung ist z. B. A = 1 und B = 1 ist, ist A B = 1, und eine notwendig, weil die Prüfwörter nicht unbedingt nur Diskrepanz wird erzeugt, wenn die bistabile Schaldas jeweils geprüfte Suchfeld wählen. Das erste Prüf- 40 tung 12 in der ersten Spalte (Bitposition) von links wort soll einen Übereinstimmungsausgang bilden. auf 1 steht (siehe auch Fig. 2). Bei genauerer Be-Aus F i g. 2 ist zu entnehmen, daß die vier codierten trachtung einiger Funktionen erkennt man, daß keine Ausgänge der UND-Glieder 10, die an die bistabilen Diskrepanz möglich ist und die Werte der Bits A Schaltungen A 1 und B1 angeschlossen sind, entspre- und B das Ergebnis der Suche nicht beeinflussen chend darstellen A ■ B, A ■ B, Ά - B und Ά · Ή. Wenn 45 können, wenn alle bistabilen Schaltungen 12 eipe 0 die bistabilen Schaltungen 12 des geprüften Such- enthalten. Wenn umgekehrt alle bistabilen Schaltunfeldes die entsprechenden Zustände W, X, Y und Z gen 12 eine 1 enthalten, tritt immer eine Diskrepanz enthalten (der eine Zustand nimmt den Wert 1 ein), auf, und das Wort kann niemals adressiert werden, dann ergeben das Suchargument A =W X +X Y Diese Funktion wurde bereits beim Löschen schlech- und B = Y + W eine Übereinstimmung. Wenn z. B. 5» ter Wortstellen aus dem Speicher wahrend des Lader Inhalt W, X, Y und Z der bistabilen Schaltun- dens beschrieben. Wenn ein Wort auf Grand der gen 12 die Werte 1, 0, 0, 1 darstellt ist das eine Funktion A äquivalent B adressiert werden sou, dann Übereinstimmung ergebende Suchargument /4=0-0 sind die bistabilen Schaltungen auf 1 gesetzt, die mit + 1-0 = 0, 5 = 1+0=1. Die Ausgangsleitung den Decodiererausgängen A · B und ~Ä · B verbunden Ά · B des Decodierers ist markiert, und da die bista- 55 sind A -B oder Ά -B sind echt, wenn und nur wenn bile Schaltung 12, die mit dieser Leitung verbunden A nicht äquivalent B ist und dann resultiert eine Disist, im Zustand Y = O steht, gibt sie kein Diskre- krepanz.
panzsignal ab. In der übrigen Folge der Testwörter Aus der Tabelle ist zu ersehen, daß alle 16 Funksollen die ersten beiden keine Übereinstimmung oder tionen von zwei binären Eingängen möglich sind. Daeine Diskrepanz und das dritte eine Übereinstim- 6o durch wird der Eingangsdecodierer zu einem wichtimung erzielen. Zuerst wird A invertiert und B unver- gen Instrument für das Arbeiten auf zwei binären ändert gelassen, dann wird B invertiert und A unver- Operanden mit Tabellensuche, ändert gelassen, und schließlich werden A und B m- Die Leseanordnung besteht aus den Sucbfeldern vertiert. Für das in F i g. 2 gezeigte 4-Bit große Ein- der in zwei Spalten P und Q angeordneten Wörter, gaberegister ist die Prüfwortfolge die anschließend «5 die Bitpositionen von Wörtern in entsprechenden wiedergegebene, wobei Wl bis Zl der Inhalt der Anordnungen entsprechen, welche die zugehörigen bistabQen Schaltungen 12 ist, die mit den bistabilen Eingänge einer Antivalenzschaltung im Ausgangs-Schaltungen Al, Bl durch den Decodierer 4 und decodierer 7 sind. Der Inhalt desLesefeldes ist vofl-
kl
ti
U OTC1
kommen unabhängig vom Suchfeld. Wenn eine Tabelle der Ausführung einer arithmetischen oder logischen Operation dient, besteht die gebräuchlichste Forderung darin, daß der Ausgang das Ergebnis der Operation sein soll, das ist jedoch nicht unbedingt so. Das Lesefeld kann z. B. Daten enthalten, die als Steuersignale in einem industriellen Prozeß interpretiert werden. Wenn A äquivalent B ist, dann sind Alarmsignale oder Wagenrücklaufsignale Beispiele für nichtarithmetische Funktionen.
Als Beispiel einer arithmetischen Funktion zeigt F i g. 6 den Inhalt eines Assoziativspeichers, der zur Erzeugung der Summe und zum Übertragen von C aus zwei 4-Bit Operanden A 1 bis A 4 und B1 bis BA mit einem Übertrag nach C angelegt ist. Entsprechend geordnete Bits der Operanden werden als paarige Biteingänge für entsprechende Gruppen von vier UND-Gliedern des Codierers 4 angeordnet. Der Eingangsübertrag »C ein« ist das /1-Bit des fünften Bitpaares, und ein sechstes Bitpaar (nicht dargestellt) erzeugt den Schlüssel (nicht dargestellt), der die Tabelle bezeichnet. Die Tabelle besteht aus 19 Wörtern, die so angeordnet sind, daß die Wörter 1 bis 4 Lesefelder in der P-Gnippe und die Wörter 5 bis 19 Lesefelder in der Q-Gruppe haben. Leerstellen in der »5 Tabelle stellen bistabile Schaltungen im Nullzustand dar. Einige Nullen wurden der Klarheit halber im Diagramm eingezeichnet.
Die Wörter 1 bis 4 erzeugen (veranlassen das Auslesen von) Einer-Ergebnisbits, wenn, und nur wenn die entsprechenden Operandenbits 1 sind. Das Suchargument ist die Antivalenzfunktion in Fig. 5, und das Lesefeld enthält eine 1 in der entsprechenden Bitspalte. Die Wörter mit Lesefeldern in der Q-Gruppe sind so angelegt, daß sie das Ergebnis eines Einerbits bei Bedarf aufheben oder ein Einerergebnisbit liefern, wenn A XOR B nicht echt ist, sondern andere Bedingungen aufweist. Die Zeile 5 erkennt z. B. einen Eingangsübertrag. Wenn A XOR B echt ist für Al, Bl (Zeile 1 gewählt) und »C ein« echt ist (Zeile 5 gewählt), sollte das Bit-Ziffer-0 Ergebnisbit 0 sein. Wenn beide Zeilen 1 und 5 gewählt sind, hat die AOÄ-Schaltung am Bitnullausgang des Lesefeldes Einsen auf beiden Eingängen, und 0 ist der resultierende Ausgang. Wenn nur die Leitung S gewählt ist, steht nur einer der Eingänge der XOR-Schaltung auf 1, und das Bit-Ziffer-O-Ergebnis ist eine 1. Die Leitungen 6 und 7 erkennen die Bedingungen für den Eingangsübertrag zum Bit 1 und heben den Effekt der Leitung 2 bei Bedarf auf. Sie übernehmen dieselbe Funktion für das Bitpaar Al, Bl, wie die Leitung S für Al, Bl. In entsprechender Weise erkennen die Leitungen 8 und 10 den Eingangsübertrag für A3, B3 und die Leitungen 11 bis 15 den Eingangsübertrag für A4, B4. Die Leitungen 15 bis 19 schließlich erkennen Bedingungen für einen Ausgangsübertrag.
Aus der oben beschriebenen Tabelle ist zu ersehen, daß ein erfindungsgemäßer Assoziativspeicher eine spürbare Kompression der Funktionstabellen ermöglicht, und zwar in den Suchfeldern durch den Codierer und im Lesefeld durch den Ausgangsdecodierer.
Hierzu 4 Blatt Zeichnungen

Claims (1)

sind und in der Herstellung deshalb sehr teuer sind. Patentansprüche: Auch ist es bekannt> logische Grundfunktionen inner halb des Assoziaiivspeichers beim parallelen Ausle-
1. Assoziativspeicher mit interner Logik, einem sen zweier oder mehrerer Wörter durchzuführen. Ausgabe- und einem Eingaberegister sowie mit 5 Dis bisherigen bekanntgewordenen Speicher mit einem Such- und Lesefeld, dadurch ge- einer internen Logik haben jedoch den Nachteil, daß kennzeichnet, daß zwischen dem Eingabe- die zur Durchführung der logischen Operationen beregister (2) und dem Suchfeld (S) eine Decodier- nötigten und im Speicher abgespeicherten Funktionsschaltung (4) angeordnet ist, die die Zustände tabellen viel zu umfangreich sind und daß die auseines jeden Paares der bistabilen Schaltungen des io zuführenden logischen Operationen im Speicher selbst Eingaberegisters zu einer Markierung von einer auf die Grundoperationen UND, ODER, Negation von vier Bitleitungen (11) des Suchfeldes (5) de- und eventuell Exklusiv-ODER beschränkt sind, codiert, und daß zwischen dem Lesefeld (6) und Die der Erfindung zugrunde liegende Aufgabe bedem Ausgaberegister (3) eine weitere Decodier- steht darin, einen Assoziativspeicher mit interner Loschaltung (7) angeordnet ist, die von den Bit- I5 gik anzugeben, der sich als Einheitsbaustein in inteleitungen (13 und 14) des Lesefeldes (6) gespeist grierter Halbleitertechnik für beliebige Einheiten wie wird und deren Ausgänge mit dem Eingang des Steuereinheiten, Recheneinheiten, Befehlssteuerein-Ausgaberegisters (3) verbunden sind. heilen einsetzen läßt, ohne daß eine Änderung der
2. Assoziativspeicher nach Anspruch 1, da- Verdrahtung des Speichers erforderlich ist.
durch gekennzeichnet, daß die Bitleitungen (11) 20 Die erfindungsgemäße Lösung der Aufgabe ist im im Suchfeld (5) mit den Ausgängen der Decodier- kennzeichnenden Teil des Patentanspruchs 1 angeschaltung (4) und im Lesefeld (6) mit den Ein- geben.
gangen der Decodierschaltung (7) verbunden Durch die Anordnung der angegebenen Codierer
sind. ist eine spürbare Kompression der Funktionstabellen
3. Assoziativspeicher nach den Ansprüchen 1 25 erreicht. Dadurch ist es möglich, die logischen Ver- und 2, dadurch gekennzeichnet, daß die Speicher- knüpfunge:i innerhalb eines Speichers mit einem wezellen des Assoziativspeichers in zwei Gruppen sentlich geringeren Speicheraufwand als bisher aus-(P und Q) angeordnet sind, daß die Gruppen (P zuführen.
und Q) im Suchfeld (S) gemeinsame Bitleitungen Die Erfindung wird anschließend anhand eines
(11) und im Lesefeld (6) separate Bitleitungen 30 Ausführungsbeispiels und der Zeichnungen näher er-(13 und 14) aufweisen. klärt. Es zeigt
4. Assoziativspeicher nach den Ansprüchen 1 F1 g. 1 in einem Blockdiagramm einen erfindungsbis 3, dadurch gekennzeichnet, daß die Decodier- gemäßen Assoziativspeicher,
schaltung (4) aus Gruppen von UND-Gliedern F i g. 2 in einem genaueren Blockdiagramm den in
(10) und die Decodierschaltung (7) aus Antiva- 35 Fig. 1 gezeigten Speicher,
lenzschaltungen (15) besieht. Fig. 3 in einem Schaltplan eine für die Verwen
dung in dem in F i g. 1 gezeigten Speicher geeignete Transistorschaltung,
F i g. 4 in einem Diagramm die zum Treiben des
40 in F i g. 1 gezeigten Speichers benutzten Kommandos, F i g. 5 eine beispielhafte Tabelle für die Benut-
Die Erfindung betrifft einen Assoziativspeicher zung des Eingabecodierers und ■ach dem Oberbegriff des Patentanspruchs 1. F i g. 6 das Beispiel einer Funktionstabelle.
Assoziativspeicher, die zur Durchführung von lo- Der in F i g. 1 gezeigte Assoziativspeicher 1 um-
gischen Grundfunktionen geeignet sind, sind prinzi- 45 faßt ein Eingaberegister 2, ein Ausgaberegister 3, piell bekannt. So erreicht man beim parallelen Aus- einen zwischen Eingaberegister 2 und Suchanordlesen zweier oder mehrerer Wörter auf den Bitleitun- nung 5 geschalteten Eingabecodierer 4, eine Leselen ein logisches ODER der aus diesen Bitleitungen anordnung 6 und einen zwischen Leseanordnung unc erscheinenden Bits. Am Ausgang des Speichers er- Ausgaberegister 3 geschalteten Ausgabedecodierer 7 icheint somit die ODER-Funktion zweier oder meh- 50 In der Figur ist außerdem ein Duplikat-Eingabe· rerer gespeicherter Wörter. register 2 A dargestellt, welches durch die Verglei·
Aufgrund der hohen Dichte der auf ein Halbleiter- chereinrichtung C mit dem Register 2 verbunden ist plättchen aufgebrachten Speicherzellen treten wäh- Das Register 2A hat zwei Aufgaben: Einmal wire rend des Herstellungsprozesses immer wieder Fehler es zum Prüfen der Genauigkeit der von externer innerhalb der Speicherzellen auf, die in einem Test- 55 Quellen an das Register 2 übertragenen Daten be Vorgang ermittelt werden müssen. Es ist praktisch un- nutzt. Außerdem bildet das an das Register 2 ange möglich, das Endprodukt vollständig von vornherein schlossene Register 2 A Zwischenstufen eines Schie so zu steuern, daß es fehlerfrei arbeitet. Bei der Ver- beregisters. Zwischen den Stufen eines Schiebe schiedenartigkeit der einzelnen Schaltungen und der registers ist bekanntlich eine bestimmte Verzögerun] Komplexität der gesamten Logik ist es vor einem 60 nötig, um ein genaues Arbeiten der Register sicher ausführlichen Test unmöglich, die Fehler vorauszu- zustellen. Die das Register 2A bildenden bistabilei sagen. Die Testergebnisse erfordern vielmehr even- Schallungen sind auf bekannte Weise so verbunden tuell eine Umkonslruklion der gesamten Schaltung daß sie die Daten in der Form festhalten, wie sie au bei einer möglichst geringfügigen Unterbrechung der den bistabilen Schaltungen des Registers 2 ausge gesamten Fertigungspläne. 65 schoben werden und um eine Position nach recht
Eine Lösung für dieses Problem hat man in den verschieben, bevor sie wieder in das Register 2 zu sogenannten programmierbaren Speicherschaltungen rückübertragen werden. Die Steuerungen, mit der di Befunden, die zwar noch zu unregelmäßig verdrahtet Register 2 und 2/4 als Schieberegister und nicht al
DE19732302061 1972-01-17 1973-01-17 Assoziativspeicher Expired DE2302061C3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB222972A GB1372926A (en) 1972-01-17 1972-01-17 Associative store
US454982A US3890603A (en) 1972-01-17 1974-03-26 Associative store

Publications (3)

Publication Number Publication Date
DE2302061A1 DE2302061A1 (de) 1973-07-19
DE2302061B2 DE2302061B2 (de) 1976-07-22
DE2302061C3 true DE2302061C3 (de) 1977-03-03

Family

ID=26237384

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19732302061 Expired DE2302061C3 (de) 1972-01-17 1973-01-17 Assoziativspeicher

Country Status (4)

Country Link
US (1) US3890603A (de)
DE (1) DE2302061C3 (de)
FR (1) FR2168409B1 (de)
GB (1) GB1372926A (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3913075A (en) * 1972-11-21 1975-10-14 Vitaliev Georgy Associative memory
DE2366270C2 (de) * 1972-11-21 1985-10-10 Aleksej Davidovič Ljubercy Moskovskaja oblast' Gvinepadze Assoziativspeicher zur Durchführung von Such- und logischen Operationen
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 Ассоциативное запоминающее устройство
GB1513586A (en) * 1975-11-21 1978-06-07 Ferranti Ltd Data processing
US4506341A (en) * 1982-06-10 1985-03-19 International Business Machines Corporation Interlaced programmable logic array having shared elements
US4674039A (en) * 1984-10-09 1987-06-16 Chouery Farid A Method for determining whether a given value is included in an ordered table of values stored in a computer readable memory
US5579440A (en) * 1993-11-22 1996-11-26 Brown; Robert A. Machine that learns what it actually does
US7114026B1 (en) * 2002-06-17 2006-09-26 Sandeep Khanna CAM device having multiple index generators
US6856527B1 (en) 2003-05-30 2005-02-15 Netlogic Microsystems, Inc. Multi-compare content addressable memory cell
US6842360B1 (en) 2003-05-30 2005-01-11 Netlogic Microsystems, Inc. High-density content addressable memory cell
US7174419B1 (en) 2003-05-30 2007-02-06 Netlogic Microsystems, Inc Content addressable memory device with source-selecting data translator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250875B (de) * 1958-06-24 1967-09-28 IBM Deutschland Internationale Büro-Maschinen Gesellschaft m.b.H., Sindelfingen (Württ.) Kennwortadressierter Speicher
DE2047220A1 (de) * 1969-10-02 1971-04-29 Ibm Datenspeicher

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1186703A (en) * 1967-10-05 1970-04-02 Ibm Associative Memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250875B (de) * 1958-06-24 1967-09-28 IBM Deutschland Internationale Büro-Maschinen Gesellschaft m.b.H., Sindelfingen (Württ.) Kennwortadressierter Speicher
DE2047220A1 (de) * 1969-10-02 1971-04-29 Ibm Datenspeicher

Also Published As

Publication number Publication date
FR2168409A1 (de) 1973-08-31
DE2302061B2 (de) 1976-07-22
FR2168409B1 (de) 1976-05-14
DE2302061A1 (de) 1973-07-19
US3890603A (en) 1975-06-17
GB1372926A (en) 1974-11-06

Similar Documents

Publication Publication Date Title
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE1237363B (de) Arithmetisch-Logische-Einheit
DE2302061C3 (de) Assoziativspeicher
DE2115431A1 (de) Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen
DE2350146A1 (de) Verfahren und netzwerk zur neuordnung eines rechnerspeichersystems
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE1197650B (de) Parallel-Addierer
DE1524788B2 (de) Schaltungsanordnung zum erkennen und zum automatischen ersetzen von schadhaften speicherstellen in datenspeichern
DE2357654C2 (de) Assoziativspeicher
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE1956460C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2248962C2 (de) Digitalrechner
DE1293188B (de) Schaltungsanordnung zur UEbertragung von Pruefinformationen mit vorbestimmter Paritaet in Datenverarbeitungsanlagen
DE1296429B (de) Datenbearbeitungsanlage
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1774675B2 (de) Elektronisches rechengeraet mit einer speichermatrix
DE2057587A1 (de) Inhaltsadressierter Speicher
DE3333862C2 (de)
DE2649147C2 (de) Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen
EP0013885B1 (de) Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens
DE3340078A1 (de) Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung
DE2457275C3 (de) Anordnung zum Überwachen der Adressierung eines Mikroprogramm-Speichers

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee