DE1934860A1 - Wortorganisierter Assoziativspeicher - Google Patents

Wortorganisierter Assoziativspeicher

Info

Publication number
DE1934860A1
DE1934860A1 DE19691934860 DE1934860A DE1934860A1 DE 1934860 A1 DE1934860 A1 DE 1934860A1 DE 19691934860 DE19691934860 DE 19691934860 DE 1934860 A DE1934860 A DE 1934860A DE 1934860 A1 DE1934860 A1 DE 1934860A1
Authority
DE
Germany
Prior art keywords
word
bit
search
original
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.)
Pending
Application number
DE19691934860
Other languages
English (en)
Inventor
Murphy Robert William
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 DE1934860A1 publication Critical patent/DE1934860A1/de
Pending 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

Landscapes

  • Logic Circuits (AREA)
  • Machine Translation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

■■■■'· 1834880
UM Deutschland internutionalt Büra*M(udiinen Gmllsdieft mbH _ .,
löbWngen, 30, Juni 1969
Business iön, Armpnk, rN, ¥·. IQ
Amtliches Al|tenz§ighenj Neuanmeliung
Aktenzeiclien der Anme.lderin:: Bocket PP 968 006
]Die !Erfindung bezieht ßig& mit einen w©rtorganisiei»1-en As.spzi^tiv-§peipfeLer mit in Eeilen und nsgpalten angeordneten gpeieherzgllen, 4ie spaltenweise mit Bits und AfefüMleitungen und zeilenweise mit 'VVprtadressier-; und Ab^ füMleitungeii für FiJ-IJe vpn NiphtÜbereins.t|mmung zwischen Ursprungs* Und §uehw.Q?t verbunden
Asspziatiyspeigiier sind· gekannt (gteinbuch, Taschenbuch der ^achriehtenrverarbeitung, SpringersVerlag, zweite überarbeitete Auflage 1967, !Seite 564), Bei ginern typischen Asspziatiyspeicher wercLen in einer Suchpperatipn ein pder mehrere §peieherwörter, die mit einem Suchwort übereip·* stimmeii, identifiziert, JDiese bekannten Asspziativspeicher haben jedopli den l^aehteil, daß ihre Anwendungsmöglichkeiten beschränkt sind, da mit ihnen die in manchen Anwendungsfällen vorteilhaften Such-OPe:ra-tionen riach gespeicherten Worten, die höher- pder niedrigerwertig als das Suchwort sind, nipht möglich sind.
IQIIg.3/1118
Qer !Erfindung liegt nun die Aufgabe zugrunde, einen wortorganisierten A§SQziatiyspeieher der eingangs genannten Art für einen wesentlich weiteren
Anwendung.sbj?reii?h zu schaffen, indem mit ihm Suehoperationen niaeh ge» speicherten Worten durchgeführt wer4en gönnen, die höher- oder niedriger^ wertig als das Suchwprt sin4.
Diese Aufgabe wird 4a4urch gplpst, daß jedes aus η Bits bestehende sprungswort als Wortgruppe aus η + 1 Wörtern gleicher Länge gespeichert wir4, daß ein erster und ein dazu paralleler, um eine Zeile versetzter zweiter I3iagonal4raht die n Speicherzellen jeder Diagonale zur Steuerung 4er Lege- un4 Sehreib-operation verbindet, daß zwischen Ursprungswort und Suchwörtern auf Niedrig, Hpch und Crleieh verglichen wird und d^ß in yprgegebenen Bitppsitionen der permanente "gleich"-Zustand "X" gespei» chert wir4. '
wir4 der Vorteil wesentlich erweiterter Anwendungsmöglichlseiten mit gegenüber einem konventionellen Assoziativspeicher nur sehr geringfügigen Mehraufwand an Schaltmitteln, erreicht.
Gemäß einer Weit erb il4ung 4er Erfin4ung wird iiber den ersten Diagonal^· 4raht eine lcorriplementäre und über den zweiten Diagonaldraht eine echte ψ Speicheroperation in 4en η Speicherzellen je4er Diagonale gesteuert.
Dann wir4 gemäß 4er Erfin4ung 4er Vergleich zivischen Ursprungs^ un4 Suchwort in 4er wertniedrigen Bitposition "1" o4er "0" des SuchwQrtes durchgeführt,
Weiterhin bestehen gemäß einer Weiterbildung 4er Erfindung die Speicherelemente aus bistabilen Transistor^Stromkreisen mit zwei Bit-^ Leseleitung eil für 4ie getrennte Übertragung 4er Signale "0" und "1", und in 4em permas nenten "gleich"-Zustand "X" ist auf bei4en Drähtsgifeein Signal vorhanden.
PD 968 ppi»
OBtGlNAL
Schließlich verbindet gemäß einer Weiterbildung der Erfindung ein dritter Diagonaldraht die Positionen des permanenten "gleich"-Zustandes "X" und sperrt in einer Leseoperation die Bitpositionen des permanenten "gleich"-Zustandes "X" für die Signale "0" und"!" zur Vermeidung einer Nichtübereinstimmung durch Inhibieren.
Mit den vorerwähnten Weiterbildungen der Erfindung wird erreicht, daß der Speicher als Indikator für die assoziative Adressierung eines längeren Speicherwortes benutzt werden kann, welches in einem zusätzlichen Speicher abgespeichert und durch die Wortgruppe identifiziert ist. Die Möglichkeit des Hoch-Niedrig-Gleich-Vergleiches kann in anderen logischen Funktionen vorteilhaft verwendet werden.
Die Erfindung wird anhand der Zeichnungen im einzelnen erläutert. Es zeigen:
Fig. 1 ein vorteilhaftes Ausführungsbeispiel eines erfindungsgemäßen
Assoziativ Speichers,
Fig. 2 schematisch eine Assoziativspeicherzelle, wie sie im Ausfüh-
ru:: - _K.-»iepiei verwendet wird und ~ ,
Fig. 3 ein Ausführungsbeispiel des erfindungsgemäßen Speichers, welches auch Addition und Subtraktion ausführen kann.
Der Speicher umfaßt eine Ebene 12 mit Speicherzellen 13, die in Zeilen zur Definition eines Wortes und Spalten zur Definition von Bitpositionen angeordnet sind. Die Speicherzellen desselben Wortes sind mit einer gemeinsamen Leitung 14 verbunden, die als Wortabfrageleitung dietit und während einer Suchoperation in^ Fällen von Nichtübereinstimmung Signale der Zellen führt. Die Zellen desselben Wortes siiid außerdem mit einer
po 968 006 9 0 9 8 8 3 / 1 5 & 8
gemeinsamen Leitung 15 verbunden, die als Worttreiberleitung dient und Signale zur Auswahl eines Wortes des Speichers für eine Speicher- oder eine Leseoperation führt. Die in Spaltenrichtung verlaufenden Bitleitungen werden durch zwei Leitungen 20 und 21 für jede Bitposition gebildet. Die Bitleitungen 20 sind in der Zeichnung mit 0 bfeeichnet und führen während einer Leseoperation ein Signal, welches anzeigt, daß die zugehörige Bitposition des adressierten Wortes eine 0 gespeichert hat. Die Bitleitungen
20 werden entweder zum Speichern einer 1 in der entsprechenden Bitposition oder zum Suchen von Einsen in dieser Bitposition erregt. Diei Bitleitungen
21 haben beim Speichern, beim Suchen von Nullen und beim Lesen einer 1 ψ- ähnliche Funktionen. . τ · ·· ,
Für jede Wortabfrageleitung 14 ist ein Ubereinstimmungsregister 22 vorhanden, dessen Eingang zum Setzen des Registers ein Signal bei Nichtübereinstimmung empfängt. Die Ubereinstimmungsregister sind außerdem mit Eingängen zum Rückstellen ausgestattet, die über nicht dargestellte Leitungen mit herkömmiichen Schaltungen zum Rückstellen der Uberei nstimmungsregister am Anfang einer Suchoperation verbunden sind. Jedes Übereinstimmungsregister hat zwei Ausgangsklemmen, an welchen Signale liegen, die. eine im Register gespeicherte 1 oder 0 darstellen, sowie das übereinstimmende oder nichtübereinstirnmende Ergebnis einer Suchoperation.
Für jedes Wort ist ein Treiber 23 vorhanden, der Spannungen auf der Treiberleitung 15 eines adressierten Wortes für Lese- und Speicheroperationen erzeugt. Jeder Treiber 23 hat einen Eingang 24, der ein Signal vom zugehörigen Ubereinstimmungsregister und einen Eingang 25, der Adress- und Zeitsignale empfängt. Diese Eingänge haben eine logische UND-Funktion-.: und steuern den Treiber so, daß er Wörter lesen kann, die bei einer vorhergehenden Suchoperation übereingestimmt haben und Daten in Wörtern an Stellen sp.eiche-mkann,' die durch herkömmliche nicht dargestellte Schaltungen ausgewählt wurden, welche mit den Eingangsklemmen 25 verbunden sind. Zum Lesen mehrerer Übereinstimmungen in einer vorgegebenen Folge
909883/1558
PO 968 006
Sind außerdem herkömmliche flieht dargestellte Einrichtungen mit defl Eingang sklemmeh 25 verbunden*
Entsprechend einem Grundgedanken der Erfindung ist der Speicher in Gruppen zu füüi Wörtern für je vier Üräpfttiigsbits öigänisiefti die im Speieher gespeichert- si-fid.-. Die Zeichnung zeigt die mit 1, O und X bezeichneten Zellen füf eine Gruppe aus fünf Wörtern zur Darstellung des Speicherihhälts für das Örigihälwöft IQlO4 Die Erfindung sieht drei Gruppen von diagonal verlaufenden Worttreibef leitungen 27, 28, 29 für jede Wörtgruppe vofi Jede diagonal verlaufende Leitung ist mit einem Treiber 3o, 31, 32 verbunden. Die Leitungen 33 verbinden die diagonale Leitung 27 mit anderen Zellen, die ein Dreieck bilden. Die Leitung 34 verbindet die diagonale Leitung 29 mit weiteren Zellen, die wiederum ein anderes Dreieck bilden. Die Zeichnung zeigt durch zwei Wörter der nächstfolgenden Wortgruppe die Verbindung zwischen den Wortgruppen,
Speicheroperationen finden in den fünf Wortstellen einer Wortgruppe statt und gemäß der Darstellung der Erfindung in Fig. 1 werden Signale zum Speichern und Schreiben auf die Anschlüsse 25 einer Gruppe von Worttreibern über einen gemeinsamen Eingang 37 gegeben. Während einer Leseoper ation" empfängt nur ein übereinstimmendes Wort Signale an. beiden Anschlüssen 24 und 25. Während einer Speicheroperation (wenn alle Übereinstimmungsregister zurückgestellt sind) wird jeder Treiber der adressierten Wortgruppe eingeschaltet und die Speicher stellen über die diagonal verlaufenden Wortleitungen ausgewählt.
In einem. Aüsführungsbeispiel der Erfindung stellt eine logische Schaltung fest, ob ein aus dem Speicher gelesenes Wort höher-, niedriger- öder gleichwertig dem Suchwort ist. Ein Register 39 zum Anlegen der Speicher- und Suchwörter an die Bitleitungen kann wahlweise die echten Werte oder die Komplementwerte seines Inhalts liefern. ·
909083/1658
PO 968 006
1934810
■ . ■ - 6 -
Sie in Figs 2 däirgiä stellte Speicherzelle basiert auf einem Speicher ζ ellentyp, der1 genäuei1 im ÜS-Fätent 3 3S4 440 beschrieben ist» Die Tfänsistoiett 40 ünd 41 sind über die Widerstände 42 und-43 miteinander verbunden und bil-den eine bistabile Schaltung* Zürn Speichern einer binären 1 leitet der Transistor 40 und der Transistor 41 leitet beim Speichern einer biftäfen 0, In diesef Schaltung ist die Basis jedes Transistors mit dem Kollektor des anderen Transistors verbunden* so daß die KollektOfanschlüsse Eirtgängsklemmen für Signale von den Bitleitungen 20 uiid 21 für Such« und Speicher operationen darstellen und Ausgangsklemmen sind für Signale auf den Lei- ψ tungen 20 und 21 bei einer Leseoperatioiu
Die Kollektoren der Transistoren 44 und 45 sind mit den Bitleitungen 20 und 21 so verbunden, daß Signale auf diesen Bitleitungeh den ausgewählten der beiden Transistoren 44 und 45 bei Suchoperationen leitend machen und bei Speicheroperätionen einschalten, unddaß diese Signale von der Zelle während einer Leseoperation auf einer der Bitleitungen erscheinen* Die Emitter der Transistoren 44 und 45 sind miteinander und mit einer der diagonalen Treiberleitungen 27, 28 oder 29 über die parallele Verbindung der Emitter-Kollektor schaltung des Transistors 48 und die Basis-Emitterschaltung des Transistors 49 verbunden. Die diagonale Wortleitung 33 wird in geeigneter f Weise negativ gemacht, um eine Operation der Zelle zu ermöglichen oder sie
wird positiv gemacht, um eine solche Operation zu verhindern. Der Transistor 48 ist mit seiner Basis an die Worttreiberleitung 15 angeschlossen und erhält bei einer Speicher- oder Leseoperation ein entsprechendes Basispotential, um entweder mit dem Transistor 44 oder dem Transistor 45 zu leiten. .".--.-
Während einer Leseoperation wird der Transistor 48 eingescaaltet, damit . einer der Transistoren 44 oder 45 leiten kann. Der jeweils ausgeschaltete der beiden Transistoren 40 öder 41 hat die positivere Kollektor spannung und erzeugt über die Einschaltung des zugehörigen Transistors 45 oder 44 ein Signal auf der entsprechenden Bitleitung 20 oder 21. WähtMiu einer
909883/1.5 58
,968 006 BAO ORIGINAL
Speicheroperation erhält einer der beiden Transistoren 44 und 45 eine geeignete Kollektor spannung, um den zugehörigen Transistor 41 oder 40 so zu steuern, daß er eingeschaltet wird oder leitend bleibt und der andere Transistor ausgeschaltet wird oder bleibt. Während einer Suchoperation wirlein Signal erfweder auf die Leitung 20 oder die Leitung 21 gegeben. Wenn der entsprechende Transistor 44 oder 45 durch die Stellung des Transistors 40 bzw. 41 leitend ist, wird der Transistor der gewählten Bitleitung eingeschaltet und liefert einen Basisstrom an den Transistor 49, der dann einschaltet und ein Signal für Nichtübereinstimmung auf die Wortabfrageleitung 14 gibt. Wenn der Transistor 44 bzw. 45 nicht leitet, wird der Transistor 49 auch nicht eingeschaltet und erzeugt kein Signal für Nichtübereinstimmung.
Zum besseren Verständnis werden nachfolgend die Einzelteile des in Fig. 1 gezeigten Speicher£^>eschrieben, wie sie bei Speicher-, Such- und Leseoperationen der Reihe nach arbeiten.
'Speichern
Zur Erläuterung des Vorgangs wird angenommen, daß die in Fig. 1 gezeigte Gruppe aus fünf Wörtern die in der Zeichnung angegebenen Daten speichern soll. Zuerst werden alle Ubereinstirnmungsregister 22 zurückgestellt (oder die Treiber 23 anderweitig darauf vorbereitet, daß sie auf ein Speicher signal auf der Leitung 37 ansprechen). Das Ursprungswort 1010 wird im Register 39 gespeichert und die entsprechende Bitleitung 20 oder 21 für v jede Bitposition entsprechend der Stellung des Registers erregt. Die Bitsignale erscheinen an einem der Eingänge 50 oder 51 jeder Speicherzelle, die Speicherzelle spricht jedoch auf die Bitsignale nicht an, wenn entsprechende Signale auf den Zeilentreiberleitungen 15 und den Diagpnaltreiberleitungen 27, 28 und 29 fehlen. Die fünf Treiber 23 für die adressierte ■*' Wortgruppe werden eingeschaltet und die Diagonalwortleitung 29 erregt, damit in.dem an diese Leitung angeschlossenen Speicherzelleridreieck eine Speicheroperatiön ausgeführt werden kann. Die Diagonalleitung 2*8 wird so
909883/1558 : v
PO 968 006 .-■'.--.
gesteuert, daß eine ,Speicheroperation entlang dieser Diagonale verhindert wird. Das Register wird dann so betätigt, daß es das Komplement des Ursprungswortes auf den Bitleitungen erzeugt, die Treiberleitungen werden erregt und die Diagonaltreiberleitungen 28 und 29 so gesteuert, daß das Komplement des zu speichernden Wortes nur auf der Diagonalleitung 28 gespeichert werden kann.
Bei gewöhnlichen binären Speicherzellen funktionieren die ein X speichernden Zellen in diesem Speicher nicht und es ist daher unwesentlich ob sie 1 oder 0 speichern.
Suchen " '
Bei einer Suchoperation wird ein Suchwbrt im Register 39 gespeichert und die Bitleitungen 20 und 21 so erregt, daß sie ein Signal auf der Wortabfrageleitung 14 für jede Zelle erzeugen, die in den entsprechenden Bitpositionen nicht mit dem Suchwort übereinstimmt. Die diagonalen Wortleitungen 28 und 29 werden so erregt, daß sie die Suchoperation zulassen und die Diagonalleitung 27 wird so erregt, daß sie die X-Speicherzellen daran hindert, auf den Wortabfrageleitungen 14 ein Signal für Nichtübereinstimmung zu erzeugen. Aufgrund eines Signales für Nichtübereinstimmung wird im zugehörigen Ubereinstimmungsregister 22" der 1-Ausgang eingeschaltet und der O-Ausgang abgeschaltet. Bei jeder Suchoperation bleibt eines der Ubereinstimmungsregister zurückgestellt und ermöglicht dadurch, daß der zugehörige Treiber 23 bereits an einer kommenden Operation beteiligt sein kann. · --.■'-'
Le sen
Bei einer Leseoperation werden die Adressleitungen 37 jeder Wortgruppe der Reihe nach erregt und die übereinstimmenden Wörter einzeln aus dem Speicher gelesen. Die Diagonalleitung 27 wird erregt, um Signale von den
909883/1558 "
PO 968 006 ·
X-Speicherzellen zu sperren und die Diagonalleitungen 28 und 29 werden erregt, um die Leseoperation für die 1 und 0 speichernden Zellen zu ermöglichen. Somit stellen auf einer Leitung 20 oder 21 erscheinende Signale den 0-Speicherzustand oder den 1-Speicherzustand dar und wenn keine Signale erscheinen, wird dadurch der X-Speicherzustand dargestellt. Die Signale werden der Schaltung 38 zugeführt die einen höher-, niedriger- oder gleichwertigen Zustand feststellt.
Einzelheiten der logischen Schaltung 38 sind in algebraischer Form dargestellt, da einzelne Schaltkreise für die logische Funktion oder eine gleichwertige Funktion allgemein bekannt sind. Die Bitleitungen sind mit A bis H bezeichnet. Zwei mit den Buchstaben J und K bezeichnete Leitungen werden von der äußeren rechten Bitposition des Registers 39 gespeist und eine der beiden Leitungen wird erregt um anzuzeigen, daß das äußere rechte Bit des Suchwortes 1 oder 0 ist.
Ein Signal auf einer der beiden Leitungen G oder H bedeutet, daß das übereinstimmende Wort entweder das letzte oder das vorletzte Wort der Wortgruppe ist. Wenn das äußere rechte Bit im Suchwort und im übereinstimmenden Wort identisch sind, ist das übereinstimmende Wort das Originalwort. Somit zeigt die logische Funktion GJ + HK = 1 an, daß das übereinstimmende Wort dem gesuchten Wort, gleich ist. Wenn dieser Zustand abgefühlt wird, erregt die Schaltung 38 ihre "gleich"-Ausgangsleitung.
Wenn ein Signal auf der Leitung G oder H liegt,jedoch nichjTmit dem Signal auf der Leitung J oder K übereinstimmt, ist das übereinstimmende Wort das vorletzte Wort der Wortgruppe und das Ursprungswort entweder höher oder niedriger als das Suchwort. Wie das Beispiel zeigt, bedeutet 1 in der äußeren rechten Bitposition des übereinstimmenden Wortes, daß das übereinstimmende Wort höferwertig als das Ursprungswort ist (1011 ist höher als das Ursprungswort JOlO) oder umgekehrt, daß das-Ursprungswort
909883/1558 :/
PO 968 006
193486Ü
- ίο -
, niedrigerwertig als das Suchwort ist. Somit enthält die Schaltung zur Erregung der niedrigen Ausgangsleitung der Schaltung 38 den Ausdruck GJ und die Schaltung für den hohen Ausgang den Ausdruck HK.
Ein Signal auf einer der beiden Leitungen G oder H bedeutet außerdem, daß ein Ausgangssignal der Schaltung 38 unabhängig sein muß von Signalen auf den Leitungen A bis F. Die Schaltung für den unteren Ausgang umfaßt den
Ausdruck (G + H) der logisch kombiniert wird mit jedem der Ausdrücke E, C und A, um zu verhindern, daß diese Ausdrücke ein falsches Ausgangs- Jk signal am hohen Ausgang erzeugen. In ähnlicher Weise wird der Ausdruck
(G + H) in einer UNDfunktion mit den Ausdrücken E, C und A verbunden, um ein falscRes Ausgangssignal am niedrigen Ausgang zu verhindern.
Somit erzeugt die Schaltung 38 aufgrund einer Übereinstimmung mit dem letzten oder vorletzten Wort einer Wortgruppe ein hohes, niedriges oder gleiches Ausgangssignal. Wenn angenommen wird, daß das übereinstimmende Wort ein X in der äußeren rechten Position und eine 1 oder 0 in der vorausgehenden Position enthält, so ergibt sich das als Beispiel gewählte Wort lOOX. Die Leitungen G oder H führen beide kein Signal. Wenn die Leitung F ein Signal führt (wie im Beispiel 100X) ist das Ursprungswort ψ höherwertig als das Suchwort. Die logischen Schaltkreise, die durch den
Ausdruck (G + H) E dargestellt sind, erzeugen ein Signal am hohen Ausgang der i_ ^haltung 38. Die durch den Ausdruck (G + H) F dargestellten Schaltungen erzeugen in ähnlicher Weise ein Signal am niedrigen Ausgang der Schaltung 38, wenn das voraufgehende Bit 1 ist.
Wenn auf keiner der beiden Leitungen E oder F ein Signal erscheint, bedeutet das, daß eine Operation auf den Leitungen A, B, C und D verhindert werden muß, um ein falsches Ausgangs signal zu vermeiden und der Ausdruck (E + F) erscheint in allen Gliedern, die Eingangssignale von diesen Bitpositionen empfangen. Die Schaltung zur Erzeugung eines hohen oder niedrigen Ausgangssignals bei einer Übereinstimmung mit den andcxcn Wörtern
90 98 83/155 8
PO 968 006'
SAD ORIGINAL
■193486Q
der Gruppe geht aus der Zeichnung und der obigen Beschreibung der Arbeitsweise mit dem übereinstimmenden Wort 10OX hervor.
Nachfolgende Operationen
Arn Ende einer Leseoperation erzeugt die logische Schaltung 38 ein Ausgangssignal, welches anzeigt, daß das Ursprungswort der Wortgruppe höher-, niedriger- oder gleichwertig dem Suchwort ist. Die Schaltung zur Erzeu- ■ gung des Adreßsignals auf der Leitung 37 gibt die jeweilige Wortgruppe an, für die das Ausgangs signal der Schaltung 38 gilt. Wie bereits in der Einleitung erklärt, dient diese Information der Kennzeichnung einer Stelle in einem zusätzlichen Speicher, der in der Zeichnungnicht dargestellt ist, und der Verarbeitung in dieser Stelle gespeicherten Wortes. Eine Operation mit diesem zusätzlichen Speicherwort kann zu einer Speicheroperation zur Änderung des adressierten Wortes des Assoziativspeichers führen ader der Speicher kann das nächste übereinstimmende Wort lesen und das vorhergehende übereinstimmende Wort unverändert lassen.
Andere Ausführungsbeispiele
In dem in der ^«.ivuuung dargestellten Speicher liefert das Register 39 die echten und die Komplementwerte des Ursprungswortes und durch entsprechende Taktgabe werden die echten und die Komplementwerte in getrennten Schritten gespeichert. Mit einer etwas modifizierten Speicherzellen können
und . f
echte/Komplementwerte jedoch auch in einem Schritt in der Speicherzelle
gespeichert werden und die Zellen können z.B. so ausgelegt werden, daß sie aufgrund eines Signales auf den diagonalen Wortleitungen 32 und 33 wahlweise den Komplementwert oder den echten Wert des Wortes im Register 39 speichern.
Im Ausführungsbeispiel stellt die außerhalb des Speichers liegende Schaltung 38 fest,' ob das übereinstimmende Wort höher-, gleich- oder niedriger-
909883/1558
PO 968 006 - ■ " ν
wertig als das Suchwort ist. Die Schaltung kann diese Funktion direkt übernehmen: das niedrigste Wort in der Wortgruppe ist bei Übereinstimmung^ immer gleich; das nächstniedrige Wort ist höher oder niedriger als das Originalwort, je nachdem ob das äußere rechte Bit 1 oder 0 ist; in ähnlicher Weise sind die übrigen Worte einer Wortgruppe höher oder niedriger als das Ursprungswort entsprechend der 1-Stellung oder 0-Stellung einer bestimmten Zelle, die permanent verdrahtet ist und eine entsprechende Hoch- oder Niedriganzeige gibt. Wenn die Abfühl se haltung im Speicher angeordnet wird, kann dieser weiterhin für die Erzeugung einer Übereinstimmung oder einer nachfolgenden Leseoperation nur in den Fällen ausge-™ legt werden, wenn das Ursprungswort eine vorgewählte Hoch-, Niedrigoder Gleich-Beziehung zum Suchwort hat.
Jede Wortgruppe in den bisher beschriebenen Speichern stellt keine Datön für die Verwendung außerhalb des Speichers dar, sondern bezeichnet eine Wortstelle in einem zusätzlichen Speicher, auf den Zugriff ausgeübt werden kann, wenn das übereinstimmende Wort der Wortgruppe gelesen wird. Die Erfindung ist auch anwendbar, wenn das Ursprungswort selbst zu lesen ist. Das Ursprungswort kann in der zusätzlichen Speicher stelle dupliziert oder der Speicher für das direkte Auslesen des Ursprungswortes der übereinstimmenden Wortgruppe ausgelegt werden.
Ausführungsbeispiel der Fig. 3
Die Hoch-, Niedrig- oder Gleich-Vergleichsmöglichkeit dieses Speichers ist nützlich bei der Subtraktion des Suchwortes von jedem Wort des Speichers. Die Subtraktion verläuft bitweise von den wexthohen zu den wertniedrigen Bits (oder in jeder beliebigen Reihenfolge), und in jeder Bitposition werden effektiv zweijschritte durchgeführt. In einer bestimmten Bitposition,der sogenannten Operationsposition, wird als ein Schritt eine Exklusiv-Oder-Operation ausgeführt. Im anderen Schritt wird der bereits
po 9^8. :oö"6:--■'··■"■■- 90988371558
beschriebene Vergleich in einer Art ausgeführt, die Auskunft darüber gibt, ob die rechts neben der Operationsposition stehenden Bitpositiönen eine Anleihe in der Operationsposition aufnehmen. Ist das der Fall, wird das Ergebnis der Exklusiv-Oder-Operation komplementiert und dadurch das-Ergebnis für die Operationsposition erzeugt.
Die Speicherzellen und ihre Verbindungen zu den Bit- und Wortleitungen wurden bereits im Zusammenhang mit dem in Fig. 1 gezeigten Speicher beschrieben. Diese Bauelemente sind in Fig. 3 durch eine entsprechende Zahlenanordnung wiedergegeben, die das Ursprungs wort 1001 darstellt. Die 4 χ 5-Wortgruppe des Ur Sprungs Wortes wird in doppelter Form in den Anordnungen 12a und 12b gespeichert. Für jedes aus vier Bits bestehende Wort in den Anordnungen 12a und 12b gibt es in den Anordnungen 60a und 60h ein 5-Bitwört, das an dieselbe Wortabfrageleitung 14 angeschlossen ist, die zu den Nichtübereinstimmungen des Registers in dasselbe Register 22 führen. Die Blöcke stellen funktioneile aber nicht unbedingt strukturelle Unterschiede der vier Anordnungen dar. Die Anordnungen 12a und 12b sollen die Anleihe- öder Borgeoperationen und die Anordnungen 60a und 6öb die Exklusiv-Oder-Operatiönen ausführen. Die anderen mit den Anordnungen zusammenarbeitenden Bauteile werden in der Reihenfolge ihres Auftretens im folgenden Beispiel einer Subtraktion erklärt.
Ih dein in der Zeichnung gezeigten Beispiel wird ein Suchwort OlltKim Suchregister 39a gehalten und soll von dem Wort 1001 und anderen nichtdargeötellteh Wörtern irn Speicher abgezogen werden. Eine Tabelle'dieser speziellen Operation ist: links rieben den Anordnungen in Fig> 3 gezeigt; Die Ergebntsspäifee zeigt das Ergebnis einer Subtraktion* die eine Übereinstimmung in der entsprechenden Zeile erzeugt. Dieses Ergebnis erscheint am Ausgang einer später beschriebenen Schaltung 67. Die Vergleichs·- oder U^ereirislimmtH^
spezielle Beiipiei tür Fi|. 3 in derselben Zueile «ie das? üfeereihstinimeiide Wbri dier AriördnMfen«,~& diesem Beispiel teeireni a^l
- 14 -
Übereinstimmungen in verschiedenen Wörtern auf, können jedoch auch im selben Wort auftreten.
Wie die Übereinstimmungsliste in Fig. 3 zeigt, ist das Ergebnis einer Subtraktion zweier 4 Bit großen Zahlen eine 5 Bit große Zahl* Eine 1 in der fünften Bitpoäition besagt, daß das Ergebnis negativ und in Zweierkömplementform erscheint und eine 0 besagt, daß das Ergebnis positiv ist, und in seiner echten Form erscheint. (Entsprechend einer später folgenden Erklärung liefert die fünfte Bitposition der Anordnungen 60a und 60b ein fc positives oder negatives Vorzeichen für das Wort im Suchregister.
Ein herkömmliches Maskenregister 63a überträgt eine ausgewählte Anzahl der äußer/ien rechten Bitpositionen des Suchwortes in die Anordnungen 12a und 12b. Beim Finden der Anleihe für die fünfte Bitposition sind alle Positionen unmaskiert und die Operation ähnelt der für den in Fig. 1 gezeigten Speicher beschriebenen Operation. Im gezeichneten Beispiel ist das gespeicherte Wort 1ÖQ1 größer als das Suchwort 0110 und es erfolgt daher keine Anleihe in die fünfte Position. Beim Suchen tritt eine Übereinstimmung; mit dem Wort OXXX auf (und zwar in der Anordnung 12a gemäß nachfolgender Erklärung). Das Wort OXXX wird gelesen und in Schaltung 38 abgefühlt und besagt, daß das Ur Sprungs wort größer ist als das, Suchworti Eine gleiche Übereinstimmung hat für die Anleihe-/Borgeoperation natürlich dieselbe Bedeutung; und bei einem niedrigwertigen Vergleich wird eine Anleihe angezeigt. Das Ausgangs signal der Schaltung entspricht dem Ergebnis einer oder keiner Anleihe bei dieser Suche- und in der speziellen in Fig. 3 gezeigten Schaltung; bezeichnet.-eure. 1 am Ausgang der Schaltung 38 eine Anleihe»
67; empf-ängfe das Anleihe·- oder Borgesignal. i^M E^ibnisse der nieder Operationsposition der Anordnungen B3& und; 63b eii Exklusiv-Odea:-Operation und erzeugt: das Ergebnis für die
bad original
Während der gerade beschriebenen Operation führen ein Maskenregister 63b und ein Suchregister 39b gemeinsam eine Suche nur auf der fünften Bitposition der Anordnungen 60a und 60b durch. Das Suchregister 39 enthält das Suchwort 00110, in welchem die 0 in der fünften Bitposition besagt, daß die Zahl positiv ist und die anderen Bitpositionen dieselben wie das Suchwort im Register 39a sind. Die obere Anordnung 60a enthält teilweise das Ursprungswort,. Somit besagt eine Übereinstimmung in den oberen Anordnungen 12a und 60a daß die Exklusiv-Oder-Funktion des Suchwortes und des gespeicherten Wortes eine 0 ist. Die untere Anordnung 60b enthält teilweise Komplementärwerte, so daß eine Übereinstimmung besagt, daß die Exklusiv-Öder-Funktion für die nichtmas Werte Position eine 1 ist.
V,
Für jedes Wort der oberen Ariordnungen 12a und 63a liefert die Schaltung ein eine 1 darstellendes Eingangssignal für die Exklusiv-Oder-Schaltung aufgrund der Einschaltung eines Übereinstimmungsregisters 22. Das Ausgangssignal jedes Treibers 23 wird über ,ein Trennelement 65 auf die für die Schaltung 67 gemeinsame·Eingangsleitung gegeben. Da dieses Eingangssignal das Komplement der Exklusiv-Oder-Funktion ist, liefert die Schaltung 67 die komplementäre Exklusiv-Oder-Operation. Somit ist das Ausgangssignal der Schaltung 67 das Ergebnis der Subtraktion für die Operationsposition.
Die fünfte Bitposition der Anordnung 60a enthält Nullen in jeder Zeile, um eine'Übereinstimmung zu erzeugen, wenn das Suchwort positiv ist und die fünfte Bitpositiön der Anordnung 60b enthält Einsen in jeder Zeile, um eine Übereinstimmung zuerzeugen, wenn das Suchwortnegativ ist.
Bei der Operation für die vierte Bitposition des Ergebnisses sucht der · Maskenregisterteil 63a auf den drei am weitesten rechts, stehenden· Bitpositionen der Anordnungen 12a und 12b. fiaeh der Tabelle "erzeugt diese Operation eine Übereinstimmung mit dem Teil IXX des VollwOiTtes; ttXX
PO 968 006 9 0 988 3.7,1 5 S 8 ->*& *■*? ^F
in der Anordnung 12b. Wenn dieses Wort gelesen wird, zeigt die Schaltung 38 an, daß die drei am weitesten rechts stehenden Bits des Ur Sprungs Wortes kleiner sind als die drei am weitesten rechts stehenden Bits des Suchwortes und daß eine Anleihe an die vierte Position des Ergebnisses erfolgt.
Die Wörter OXXX in den Anordnungen 12a und 12b sind rna skier t, um eine Übereinstimmungsanzeige zu verhindern, die auftreten würde, wenn nur die drei am weitesten rechts stehenden Bits dieses Wortes gesucht würden. In den Anordnungen 63a und 63b wurde der vierten Bitposition für
fc diese Wörter eine permanente Anzeige für Nichtübereinstimmung zugeordnet,
die in der Zeichnung mit Z bezeichnet ist. Eine Anzeige für. Nichtübereinstimmung kann hergestellt werden, indem man einen Leitungsweg von jeder Bitabfrageleitung zur Wortleitung an der Stelle der nicht vorhandenen Übereinstimmung herstellt. Diese Anzeige kann auch geliefert werden durch zwei bistabile Schaltungen, die getrennt mit einer Bitleitung gekoppelt sind und die auf Speicherzustände gesetzt werden, um Signale für Nichtübereinstimmung zu erzeugen, wenn irgendeine Bitleitung abgefragt wird. Die Bezeichnungen Z sind irgendwo in die Anordnungen 63a und 63b gesetzt, um Signale für Nichtübereinstimmung zu erzeugen an den Stellen, wo nur X-Ausdrücke in einem nichtmaskierten Teil eines Wortes der Anordnungen
' 12 und 12b erscheinen. .
Die Operationstabelle in Fig. 3 zeigt die einzelnen Schritte zum Auffinden der Ergebnisse für die anderen Positionen des Ergebnisses. Die Operationen für die Positionen 3 und 2 sind lediglich eine Wiederholung der für die Position 4 beschriebenen Operation. Da das Ergebnis für Position 1 eine einfache Exklusiv-Oder-Funktion des äußeren rechten Bits des Suchwortes und des gespeicherten Wortes ist, erfolgt diese Operation für die Position 1 bei vollständiger Maskierung des Registerteiles 39a. Der 0-Ausgang der Schaltung 38 liefert für diese Operation ein richtiges Eingangssignal für die Schaltung 68^"
" 968 006 909803/155 8

Claims (6)

PATENTANSPRÜCHE
1. Wortörgäiiisieiter Assoziativspeicher mit in Zeilen und η Spalten angeordneten Speicherzellen, die spaltenweise mit Bit- und Abfühlleitüngen und zeilenweise mit Wortadressier- und Afcfiihlleitungen iixt Fälle von Nichtübereinstimmung nach bitweisem Vergleich zwischen Ursprungs- und Suchwort verbunden sind, dadurch gekennzeichnet, daß jedes aus η Bits bestehende Ürsprungswort (z. B, 1010) als Wortgruppe aus η + 1 Wörtern gleicher Länge gespeichert wird, daß ein erster und ein dazu paralleler, um eine Zeile versetzter zweiter Diagönäidräht (28 und 29) die η Speicherzellen jeder Diagonale zur Steuerung der Lese- und Schreiboperation verbindet, daß zwischen Ursprungswort und Suchwörtern auf niedrig, hoch und gleich verglichen wird und daß in vorgegebenen Bitpositionen der permanente "gleich" Zustand "X" gespeichert wird.
2. Wortorganisierter Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß über den ersten Diagonaldraht (28) eine komplementäre (0101) und über den zweiten Diagonaldraht (29) eine echte (1010) Speicheroperation in den η Speicherzellen jeder Diagonale gesteuert wird.
3. Wortorganisierter Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß der Vergleich zwischen Ursprungs- und Suchwort in der wertniedrigen Bitposition " 1" oder "0" des Suchwortes durchgeführt wird.
4. Wortorganisierter Assoziativspeicher nach Anspruch 2, dadurch gekennzeichnet, daß die Speicherelemente aus bistabilen Transistor-
po 968 006 90 9883/1558 -
" - 18 -
Stromkreisen (Fig. 2) mit zwei Bit-JLeseleitungen (20, 21) für die getrennte Übertragung dear Signale "0" und "1" bestehen, und daß in dem permanenten "gleichn-Zustand 11X" auf beiden Drähten kein Signal vorhanden ist.
5. Wortorganisierter Assoziativspeicher nach Anspruch 4, dadurch gekennzeichnet, daß ein dritter Diagonaldraht (27) die Positionen des permanenten "gleich"-Zustandes "X" verbindet und in einer Leseoperation die Bitpositionen des permanenten "gleich"~Zustandes 51X"
m für die Signale "0" und "lrr zur Vermeidung einer Nichtübereinstimmung
durch Inhibieren sperrt,
6. Wortorganisierter Assoziativspeicher nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß mit einem Maskenregister 63a. niedrigwertige Bitpositionen für eine Ausleih- oder Borgeoperation ausgesucht werden und daß diese niedrigwertigen Bitpositionen und die nächsthöher wertige Bitposition des Suchwortes und des Ursprungswortes zur Subtraktion des Suchwortes vom Ursprungswort auf eine Exklusiv-Oder-Schaltung (67) geleitet werden.
PO 968 006 909833/1558
DE19691934860 1968-07-11 1969-07-09 Wortorganisierter Assoziativspeicher Pending DE1934860A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US74410968A 1968-07-11 1968-07-11

Publications (1)

Publication Number Publication Date
DE1934860A1 true DE1934860A1 (de) 1970-01-15

Family

ID=24991465

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691934860 Pending DE1934860A1 (de) 1968-07-11 1969-07-09 Wortorganisierter Assoziativspeicher

Country Status (8)

Country Link
US (1) US3533085A (de)
BE (1) BE735982A (de)
CH (1) CH499170A (de)
DE (1) DE1934860A1 (de)
ES (1) ES369003A1 (de)
FR (1) FR2012714A1 (de)
NL (1) NL6910494A (de)
SE (1) SE360202B (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2427180A1 (de) * 1974-06-05 1975-12-18 Siemens Ag Assoziativer speicher
DE3202145A1 (de) * 1982-01-23 1983-08-11 A. u. K. Müller GmbH & Co KG, 4000 Düsseldorf Mehrwegeventil, insbesondere zur verwendung in dialyse-geraeten
FR2550870A1 (fr) * 1983-08-16 1985-02-22 Ambac Ind Systeme de vanne de commande
EP0141342A2 (de) * 1983-10-24 1985-05-15 Mitsubishi Denki Kabushiki Kaisha Elektromagnet für Öldruckregelung

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1230834A (de) * 1968-10-23 1971-05-05
JPS505544B1 (de) * 1969-08-27 1975-03-05
US3638199A (en) * 1969-12-19 1972-01-25 Ibm Data-processing system with a storage having a plurality of simultaneously accessible locations
US3675212A (en) * 1970-08-10 1972-07-04 Ibm Data compaction using variable-length coding
US3757312A (en) * 1970-10-09 1973-09-04 Us Navy General purpose associative processor
US3717851A (en) * 1971-03-03 1973-02-20 Ibm Processing of compacted data
US3701094A (en) * 1971-04-19 1972-10-24 Honeywell Inf Systems Error control arrangement for information comparison
DE2712575C2 (de) * 1977-03-22 1985-12-19 Walter Dipl.-Ing. 8011 Putzbrunn Motsch Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
JPS62118434A (ja) * 1985-11-19 1987-05-29 Matsushita Electric Ind Co Ltd 比較回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3195109A (en) * 1962-04-02 1965-07-13 Ibm Associative memory match indicator control
US3297995A (en) * 1963-03-29 1967-01-10 Bunker Ramo Content addressable memory
US3264616A (en) * 1963-12-16 1966-08-02 Ibm Range and field retrieval associative memory
US3402398A (en) * 1964-08-31 1968-09-17 Bunker Ramo Plural content addressed memories with a common sensing circuit

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2427180A1 (de) * 1974-06-05 1975-12-18 Siemens Ag Assoziativer speicher
DE3202145A1 (de) * 1982-01-23 1983-08-11 A. u. K. Müller GmbH & Co KG, 4000 Düsseldorf Mehrwegeventil, insbesondere zur verwendung in dialyse-geraeten
FR2550870A1 (fr) * 1983-08-16 1985-02-22 Ambac Ind Systeme de vanne de commande
EP0141342A2 (de) * 1983-10-24 1985-05-15 Mitsubishi Denki Kabushiki Kaisha Elektromagnet für Öldruckregelung
EP0141342A3 (en) * 1983-10-24 1985-11-06 Mitsubishi Denki Kabushiki Kaisha Electromagnetic solenoid device for oil pressure control
US4634096A (en) * 1983-10-24 1987-01-06 Mitsubishi Denki Kabushiki Kaisha Electromagnetic solenoid device for oil pressure control

Also Published As

Publication number Publication date
NL6910494A (de) 1970-01-13
US3533085A (en) 1970-10-06
SE360202B (de) 1973-09-17
ES369003A1 (es) 1971-05-16
BE735982A (de) 1969-12-16
FR2012714A1 (de) 1970-03-20
CH499170A (de) 1970-11-15

Similar Documents

Publication Publication Date Title
DE3801380C2 (de)
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE2328869A1 (de) Verfahren zur pruefung eines digitalen speichersystems sowie zur durchfuehrung dieses verfahrens dienendes selbstpruefendes digitales speichersystem
DE2010366A1 (de) Verfahren und Einrichtung zum elektronischen Einschreiben in einen nur zum Ablesen bestimmten Impedanzspeicher
DE2059917C3 (de) Hybridadressierter Datenspeicher
DE1934860A1 (de) Wortorganisierter Assoziativspeicher
DE2259725B2 (de) Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen
DE2261786A1 (de) Nur-lese-speicher hoher dichte
EP0052669B1 (de) Mehrfach adressierbarer hochintegrierter Halbleiterspeicher
DE3104880A1 (de) "speicher fuer wahlfreien zugriff"
DE1295656B (de) Assoziativer Speicher
DE1774987B2 (de) Elektronische Rechenmaschine. Ausscheidung aus: 1549455
DE10211957B4 (de) Ternäre inhaltsadressierbare Speicherzelle
DE2729361A1 (de) Speicherschaltung
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE2519195A1 (de) Assoziativspeicher
DE2057124A1 (de) Assoziativspeicher
DE1549443A1 (de) Nachrichtenverarbeitende Einrichtung mit erweiterter Speicheradressierung
DE1537307A1 (de) Logische Schaltung
DE2618760B2 (de) Halbleiter-Speichervorrichtung
DE1474380A1 (de) Matrixspeicheranordnung
DE2047220C3 (de) Assoziativspeicher
DE2627617A1 (de) Festwertspeicher
DE1424690B2 (de) Matrixspeicher mit mehreren speicherabschnitten
DE2310626A1 (de) Assoziativer speicher