DE2219157A1 - Rechenverfahren mit asoziativem Speicher - Google Patents

Rechenverfahren mit asoziativem Speicher

Info

Publication number
DE2219157A1
DE2219157A1 DE19722219157 DE2219157A DE2219157A1 DE 2219157 A1 DE2219157 A1 DE 2219157A1 DE 19722219157 DE19722219157 DE 19722219157 DE 2219157 A DE2219157 A DE 2219157A DE 2219157 A1 DE2219157 A1 DE 2219157A1
Authority
DE
Germany
Prior art keywords
bit
data
field
word
comparand
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.)
Ceased
Application number
DE19722219157
Other languages
English (en)
Inventor
David W. Orlando FIa. Digby (V.St.A.)
Original Assignee
Goodyear Aerospace Corp., Akron, Ohio (V.St.A.)
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 Goodyear Aerospace Corp., Akron, Ohio (V.St.A.) filed Critical Goodyear Aerospace Corp., Akron, Ohio (V.St.A.)
Publication of DE2219157A1 publication Critical patent/DE2219157A1/de
Ceased 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

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Devices For Executing Special Programs (AREA)

Description

DIPL. ING. WALTER MEISSNER DIPL. ING. HERBERT TISCHER DIPL. ING. PETER E. MEISSNER MÖNCHEN DIPL. ING. H.-JOACHIM PRESTING - - .
BERLIN .j
1 BERLIN 33 (GRUNEWALD), den HERBERTSTRASSE 22
A-2179-G-E GOODYEAR AEROSPACE CORPORATION, Akron/Qhio - USA
Rechenverfahren mit assoziativem Speicher
Ein&blicher assoziativer Bi-Serien-Speicher (CAM) ist eine digitale Datenspe icher einrichtung, bei der der Inhalt aller gespeicherten Datenworte gleichzeitig mit einem einzelnen Suchargument oder "Komparanden" verglichen wird. Die Bit eines Datenfeldes werden nacheinander geprüft, aber für jede Bit-Position werden alle gespeicherten Datenworte parallel geprüft.
Der hier beschriebene assoziative Mehrfach-Komparandenopeicher (MCAM) ist eine Erweiterung dieses CAM-Gedankens, mit dem mehr als ein !Comparand zur selben Zeit verwendet werden kann. Der Yergleichsvorgang wird in mehreren Schritten für jede geprüfte Bit-Position aufgebrochen, die mehr Zeit benötigt, als die Suche eines einzigen Komparanden erfordern würde. Diese zusätzliche Zeit ist jedoch eine Konstante für jede einzelne Art der Suche, ohne Rücksicht auf die Zahl der Komparanden. Wenn c Komparanden zum Suchen eines Datenfeldes mit b Bit verwendet werden sollen, würde die von einem CAM benötigte Zeit ijroportional c.b sein. Die entsprechende Zeit wird von einem MCAM bei n„b benötigt, worin c eine von der Komplexität der durchgeführten Suche und der verwendeten Geräteausrüstung bestimmte Konstante ist* (Bei einer
_p„
209847/1175
einfachen logischen Suche könnte η bis zu 4- betragen. Ein vernünftiger Wert von η für mehrere brauchbare Suchaktionen könnte 1o sein.) Der MCÄM ist schneller als der GAM, wenn auch die Zahl der Komparanden (c) ,größer als η ist. Der Wert von η ist am kleinsten, wenn eine einzige einfache Suchaktion bei allen Komparanden erfolgt. Wenn eine komplexere Suche verwendet wird oder wenn eine Mischung mehrerer verschiedener' Suchaktionen gleichzeitig durchgeführt wird, ist η notwendigerweise größer.
Entsprechend der Geräte ausrüstung können der !Comparand und die Datenworte in vollständig getrennten Speicherfeldern oder in besonderen Teilen eines gemeinsamen Feldes gespeichert werden. Zur verallgemeinerten Diskussion wird ein gemeinsames Feld angenommen. Jedes Datenwort muß mit einem Satz von Etikett-(Kennbegriff-)Bit versehen sein, von denen eines jedem Komparanden entspricht. Das Anpaß-Nichtanpaß-Ergebnis eines jeden Suchvergleichs ist in diesen Etikett-Bit am Schluß der Suchaktion enthalten. (Die Diskussion geht davon aus, daß jedes Komparandenwort mit einem identischen Satz solcher Etikett-Bit versehen ist, obwohl manche der zu beschreibenden Operationen ohne diese ausgeführt werden können.)
Die Arbeitsgeschwindigkeit wird durch die Gerätekapazitäten zum Einschreiben in diese Etikett-Bit beträchtlich beeinflußt. Diese müssen wiederholt eingeschrieben werden und bestimmte Sätze von Etiketten müssen parallel in bestimmte Sätze von Worten gleichzeitig eingeschrieben werden. Außerdem muß dieses sogenannte "Parallel-Multi-Schreiben" verschiedentlich die Form eines "UND-zum Speicher"- oder ein "ODER-zum-Speicher"-Vorgangs annehmen. Im allgemeinen können diese Erfordernisse durch "übereinstimmende Strom"-Schemen auftreten, wenn sie zum Antrieb mehr als einer Spalte und mehr als eine Reihe parallel enthalten.
209847/1176 .
Bs ist Aufgabe der Erfindung, ein Verfahren zum. Durchführen von inhalt-adressierten Suchaktionen zwischen zwei umfangreichen Datenkörpern anzugeben. Dieses Verfahren soll von der Zahl der Worte in jedem Datenkörper unabhängig "und nur der Anzahl der Bit pro'Datenwort proportional sein.
Zum besseren Verständnis der !Erfindung dienen die Zeichnungen. In diesen ist:
Figur 1 ein Blockdiagramm eines Ausführungsbeispiels eines assoziativen Prozessors, der die Suchverfahren der Erfindung durchführen kann·
Figur 2 ein Blockdiagramm eines anderen Ausführungsbeispiels eines assoziativen Prozessors zum Durchführen der Suchverfahren der Erfindung; und
Figur 3 ein Diagramm der Impuls- und Zeitverläufe. A. Die Theorie
Da alle Suchvorgänge bitmäßig durchgeführt werden, ist jeder einzelne Vergleich (eines Komparanden oder eines Datenworts an einer Bit-Stellung in der Folge) einfach ein Vergleich zwischen zwei Bit. Da jedes Bit nur zwei verschiedene Werte besitzen kann, gibt es nur die vier möglichen Fälle:
(1) 00 - Sowohl Komparanden als auch Datenbit sind
Null;
(2) 01 - Das Komparandenbit ist Null, das Datenbit
Eins;
(3) 10 - das Komparandenbit ist Eins, das Datenbit
Null;
(4) 11 - Sowohl Komparanderi- als auch Datenbit
sind iiJinSo
2098A7/ 1175
Wenn alle Komparanden-Datenpaare geprüft sind, muß Jedes in einen der vorstehenden Fälle fallen. Die diesen Paaren entsprechenden Etiketten-Bit sind in vier Kategorien "unterteilt". Wenn jede Kategorie von Etiketten-Bit irgendwie ausgewählt ist, während eine logische Operation entsprechend dem jeweiligen Vergleichsfall an allen diesen ausgewählten Etiketten gleichzeitig ausgeführt worden ist, dann könnte ein vollständiger Suchvorgang in vier Schritten pro Bit-Position ausgeführt werden.
Bei einem tatsächlichen Suchvorgang muß jedoch mindestens einer der vier Fälle die logische "Null"-Operation spezifizieren, d„h. "stets nichts tun". Für diesen Fall ist es somit ebenfalls nicht notwendig, die entsprechenden Etiketten-Bit zu wählen. Die meisten, aber nicht alle Suchvorgänge behandeln zwei oder auch drei Fälle auf diese Weise. Es ist zu erkennen, daß alle vier Fälle tatsächlich nur dann durchgeführt werden müssen, wenn eine Mischung aus verschiedenen Suchvorgängen zusammen durchgeführt wird, die kollektiv alle vier Fälle erfordern.
B. Allgemeiner Algorithmus
Alle Such-Algorithmen, die durch diese Technik ausgerüstet werden können, können wie folgt verallgemeinert werden (spezifische Aspekte eines jeden Suchvorgangs sind in den Tabellen I und II wiedergegeben):
(1) Jeder einzelne Vergleich findet zwischen einem Komparanden-Bit und einem Daten-Bit statt. Beide Polder enthalten dieselbe Bitzahl.
(2) Ein Maskenfeld von derselben Länge wie die Datenfelder kann dem Komparanden oder dem Datenwort oder beiden zugeordnet werden oder auch nicht. Eine vorgesehene Maske dient bei jeder Bit-Position zum Bestimmen, ob ein Vergleich stattfindet. Ein Null-Maskeη-Bit bewirkt in jedem
'2 09847/1175
-5- 2219T57
Komparanden oder in Jeder Datenmaske, daß der entsprechende Bit-Vergleich, für dieses Paar von Worten ignoriert wirdo
(3) Ein individuelles Etiketten-Bit wird jedem Vergleich· zugeordnet. Alle Etiketten, die einem gegebenen Wort zu*- geordnet sind, werden als in einem Teil des Wortes "befindlich "betrachtet und alle Etiketten, die einem einzelnen Komparanden zugeordnet sind, "befinden sich in einer spezifischen entsprechenden Bit-Position für jedes Wort (Figuren 1 und 2 zeigen diese Speicheranordnung),
(4) Wenn eine Mischung von Suchoperationen'zugelassen ist, muß ein Kodefeld jedem Komparanden zugeordnet werden. Der Kode in diesem Feld gibt an, welche Operation mit jedem entsprechenden Komparandenwort verwendet wird.
(5) Bevor man Vergleiche macht, können die Werte der Etiketten-Bit entweder zu Eins oder zu Null gestartet werden oder auch nicht. (Für ein nicht gestartetes Etikett werden die Ergebnisse eines vorhergehenden Suchvorganges, wie durch den alten Inhalt des Etiketts dargestellt, an den Ergebnissen des jetzt unterwegs befindlichen Suchvorgangs wirken.
(G) Während des sich ergebenden Suchvorganges werden die entsprechenden Bit~Positionen aller Datenworte, Komparandenworte (und Maskenfelder, wenn solche benutzt werden) angepaßt, das geringer wertige dem ersten geringer wertigen, und gelangen in der Folge zu den höher wertigen oder höchst wertigen. Alle nachfolgenden Schritte legen sich getrennt an jede dieser Bit-Positionen. Der in den Etiketten-Bit verbleibende Wert bildet die Ergebnisse des gesamten Suchvorganges»
(7) iJie otrom-Bit-Position aller Daten- und Komparandenworte wird geprüft. Bei den praktischsten, Ausrüstungen würde dies das Lesen des Wertes dieser Bit-Position in ' eine.n aktiven Speicher, der jedem Speiciierwort angeordnet
209847/117S
ist, enthalten.
(8) Von den vier Komparanden-Datenpaarwerten werden einige, die keine vorzunehmende Wirkung erfordern, weiterhin ignoriert. (Der Pail, in dem sich eine Mischung von Operationen im Prozeß befindet, wenn eine der Operationen die Wirkung für einen einzelnen Fall erfordert, muß behandelt werden und darf nicht ignoriert: werden, auch wenn andere" Operationen davon keinen Gebrauch machen.) Die übrigen werden (nacheinander) wie folgt behandelt:
(a) Für Jeden Fall (x, y), der eine Behandlung erfordert, "wählen" alle Datenworte, für die das Stromdatenbit » y und für welche das Strommaskenbit * 1 ist (wenn es gebraucht wird).
(K) Gleichzeitig wählen alle Komparandenworte, für die das Strombit - χ ist und für welche das Strommaskenbit - 1 ist (wenn es gebraucht wird).
(c) Wenn f (x, y) der logische Wert (Eins oder Null) ist, der durch den Fall (x, y) gefordert wird
für (x, y) = (0,0), (0,1), (1,0) oder (1,1) , dann versuchen alle gewählten Etiketten-Bit den Wert f(x, y) anzunehmen. Ein Etiketten-Bit ist "gewählt", nur wenn sowohl die Wort- als auch die Bit-Position, die es einnimmt, als in den Schritten (a) und (b) befindlich gewählt werden. Alle nicht gewählten Etiketten-Bit bleiben in diesem Fall unverändert.
(9) Nachdem alle verlangten Fälle für eine Daten~Bit-Fosition behandelt worden sind, wird dieser Satz von Fällen für die nächst höher wertige Bit-Position wiederholt.
(10) Nachdem alle Bit-Positionen im Datenfeld so behandelt worden sind, ist der ,/ert, der in jedem Etiketten-Bit verbleibt, das endgültige Ergebnis des Vergleichs, der ari den Daten-Koniparar.-ienpaar durchgeführt ist, der diesen:·. Etiketten-Bit wjut^.xi.lien.i;
20S 8 4 7/117 S
(11) Die Gesamtsumme dieser Etiketten-Bit-Werte ist das endgültige Ergebnis des mehrfachen Komparandensuchens.
0. Spezifisch^ Operationen
Jede "besondere Suchoperation wird durch eine andere Kombination von fünf logischen Funktionen bestimmt, je eine für jeden der vier Fälle (00), (01), (10) und (11) plus eine für den Startschritt vor dem ersten Vergleich,. Jede dieser logischen Funktionen kann einen der drei Werte annehmen, nämlich:
(1) "Null", (2) "Eins" oder (3) "Hull". "Eins" und "Null" sind logische Standardwerte - äquivalent den V/erten "Eichtig" bzw. "Falsch". "Null" besitzt die Bedeutung "stets nichts tun", was die logische Y/irkung besitzt, daß jedes beeinflußte Etiketten-Bit seinen eigenen vorhergehenden y/ert hält. (Ein vierter möglicher Funktionswert "Komplement" könnte für komplexere Suchvorgänge benutzt werden, wie er jetzt entfremdet ist.)
Drei Yiierte für jede der fünf Funktionen geben einen Gesamtwert von ~y = 24-3 möglichen Kombinationen. Viele dieser stellen keine brauchbaren Operationen dar, da:
(1) nicht alle der vier Funktionen können "Null" sein oder es finden auch keine tatsächlichen Vergleiche statt.
(2) Manche Funktion (mindestens eine) muß "Null" sein, wenn die Suche Felder enthalten soll, die länger als ein Bit sind.
(3) Jenn die Startfunktion eine Eins oder eine Null ist, dann muß mindestens eine der vier Funktionen den entgegengesetzten Wert (Null bzw* JJins) aufweiseno
Diese drei jirfordc-irnisse eliminieren bereits 7V von den
2098A7/117S
BAD ORIQ)NAL
möglichen Kombinationen und lassen 164 brauchbare Suchvorgänge übrig. Diese können.in zwei Kategorien unterteilt werden:
(1) die erste Kategorie enthält 1o8 Suchvorgänge, die sowohl Eins als auch Mull unter den vier Funktionen enthalten. Sie sprechen somit auf den genauen Befehl an, in dem die Bit-Positionen geprüft werden. Da dies eine Charakteristik aller arithmetischer Operationen ist, werden diese möglichen Suchorgänge als "arithmetisch" bezeichnet, auch wenn manche von ihnen ausfallen, um eine geringe Beziehung zu einer bekannten arithmetischen Funktion zu haben.
(2) Die restlichen 56 haben nur Einsen oder Nullen unter den vier Funktionen, aber nicht beide„ Die Suchergebnisse sind durch das Ordnen der Bit vollkommen unbeeinflußt. Alle diese möglichen Suchvorgänge werden als "logisch" bezeichnet, wenn auch einige von ihnen arithmetische Bedeutung haben können. Von diesen können 32 als einzelne Komparandensuchvorgange als eine Form für eine andere beschrieben werden, so daß nur 24 wirkliche Mehrfachkomparandensuchvorgänge übrig bleiben.
Alle 24 stellen brauchbare logische Suchvorgänge dar und sind in der Tabelle I aufgeführt. In der Tabelle wird Null als "0", Eins als »1», Kein durch "N" dargestellt. Jede Tabelleneintragung stellt zwei verschiedene Suchvorgänge dar, wie in der Fußnote angegeben ist.
•209847/ 1175
Tabelle I - Logische Suchvorgänge Logische Funktionen für .
Komparand/Daten-ffall Startwert
00 01 10 11 +) Beschreibung des Suchvor-
. ganges
N N N 1 "O1 Beide haben eine lins in
einer Bit-Position.
N IT IT 0 1 Kein Schnitt, keine ge-
gemeinsamen Bit
N IT 0 Ή - 1 Alle Komparanden-Einsen
sind der Daten-Null angepaßt.
N N 1 N 0 Manche Komparanden-Eins
paßt zur Daten-Null.
N 0 N IT 1 Alle Daten-Einsen passen ■
zur Komparanden-Eins.
1 N N IT 0 Beide haben eine. Null in
einer.Bit-Position.
ONNN 1 Die Komplemente trennen,
d.h. keine gemeinsamen Null-Bit.
N 0 0 N 1 Genaues Anpassen oder
Gleichmachen* dofcu jedes Bit ist gleich.
N 1 1 NO Fehlanpassung oder Wichtgleich, d.h. Bit wird nicht gleich.
1 N N 1 1 Ein Bit ist gleich.
0 N N 0 ' 1 Genaues Komplement, d.h.
jedes Bit ist ungleich*
+) Alle obigen Suchvorgänge können durch Indern der Startwertfunktion "N" (Null) abgeändert werden. Dadurch beeinflussen die vorhergehenden Suchergebnisse das Ergebnis des vorliegenden Suchvorganges in der folgenden V/eise; Wenn N durch eine 0 ersetzt wird, dann sind die beiden Suchvorgänge in Ödervorgänge geändert. Wenn N durch eine 1 ersetzt wird, dann sind die beiden Suchvorgänge in Und-Yorgänge geändert.
209847/1175
1ο -
Die Tabelle II zeigt eine kleine Probe der 1o8 möglichen "arithmetischen" Suchvorgänge. Die meisten nicht dargestellten können nicht in einfacher Weise in arithmetischen Ausdrücken umschrieben werden.
Tabelle II - Arithmetische Suchvorgänge Logische Funktionen für
Komparanden/Daten-IFall Start Beschreibung des 0110 11 Suchvorganges
N 0 1 Ή
N 0 1 N
IT 1 0 N
N 1 0 N
0 Daten kleiner als Komparand.
1 Daten kleiner als Komparand oder gleich.
0 Daten größer als !Comparand,
1 Daten größer als Komparand oder gleich.
ö N N 1 O überflüssige Prüfung (wenn
zwei Felder addiert werden).
1 N N 0 1 Keine Prüfung (wenn zwei
Felder addiert werden).
IT 0 0 1 1 Die höchstwertigen Eins-Bit
sind gleich (alle Nullen auch).
IT 0 0 1 0 Die höchstwertigen Eins-Bit
sind gleich (alle Nullen nicht).
1 0 0 N 0 Die höchstwertigen Null-Bit
sind gleich (alle Einsen nicht).
1 O O N 1 Die höchstwertigen Null-Bit
sind gleich (alle Einsen auch).
(Die Startfunktion kann auch in "N" geändert werden, aber in diesem Fall können die vorhergehenden Suchergebnisse nur eine kleine Abweichung in der Operation des gegenwärtigen Suchvorganges bewirken.)
-11-
209847/1175 "
Logische Organisation
Die Organisation eines assoziativen Mehrfach-Komparanden-Speiciaers (Figur 1) zeigt getrennte Speicherfeider für Komparanden. und den Rest der Daten. Diese Anordnung ermöglicht eine vollständige Unabhängigkeit der an die beiden Wortkreissätze gelegten S teuer funktionen. Aber sie ist etwas unflexibel in bezug auf die Zahl der verwendeten Komparanden (ein unbenutztes Komparandenwort kann beispielsweise nicht als Datum benutzt werden).
Die Daten könnten auch in einem besonderen Speicher gespeichert .werden, der mit denselben Wort-Lese-/Schreib-/ Erhaltungs-Schaltungen als Etiketten-Bit verbunden ist. Die Daten in diesem besonderen Speicher wurden zu diesen Schaltungen in wortparalleler, Bit-Serien-leise ausgelesen werden. Die Verwendung eines besonderen Datenspeichers könnte die Ausrüstungskosten in den Fällen verringern, in denen die Menge der Daten sehr umfangreich ist. Diese Anordnung ist in Figur 1 nicht gezeigt, ihre Anwendung ist aber dem Fachmann geläufig.
Figur 2 zeigt eine andere Organisation, bei der alle Daten, Komparand oder anderes, ein großes gemeinsames Speicherfeld einnehmen. Die Komparandenworte sind mit Spezialausgingen versehen, von denen jeder mit einem der Bit-Wahl-Treiber im ütiketten-Bit-Feld verbunden ist. Bei der einfachsten Maschine werden alle vVortschaltungen, Komparand oder anderes, von demselben Satz einer ßuchsteuer- und Taktgeberlogik gesteuert. Die Bit-Wahl liegt in ähnlicher Weise an beiden gleich. Ein unbenutztes Komparandenwort kann somit als ein Nicht-K-omparand für eine bessere Speicherzuordnung benutzt werden»
Für einige der meisten brauchbaren Suchvorgänge (z.B. genaue Anpassung) müssen die Komparandenworte von den
-12- BAD ORtGINAL
209847/V175
anderen nicht unterschieden werden, auch nicht durch gespeicherte Kennzeichenbit. Somit kann jeder Komparand an beiden Kapazitäten teilhaben, wobei der Satz von Komparanden einen richtigen Untersatz des Satzes von Datenworten macht. In diesem Fall werden die Komparanden gegenseitig miteinander sowie auch mit dem größeren Satz von Nicht-Komparanden verglichene Einige der komplexeren Suchvorgänge können aber, während sie diese "reflexive" Suche nicht zulassen, auch eine zeitliche Erschwerung beim unterschiedlichen Behandeln der beiden Speicherteile übernehmen, wenn nicht einige besondere Steuertore vorgesehen sind, die den von der vollständig getrennten Anordnung benötigten ähnlich sind.
Im Betrieb wird jeder Pail eines Daten-Komparandenvergleichs wie folgt behandelt:
(1) Ein gewähltes Bit eines jeden iortes wird in die Wortschaltung aller Komparanden und Nicht-Komparanden ausgelesen.
(2) Alle Wort schaltungen·, die die für diesen Fall geeigneten Datenwerte enthalten, werden zum Schreiben ausgewählte
(3) Jede Komparanden-Wort-Schaltung, die den für diesen Fall geeigneten' Komparandenwert enthält, wird zum Betreiben des Spezialausganges gewählt, der wiederum den entsprechenden Bit-Wahl-Treib er im Etiketten-B'it-FeId erregte
(4) Der 7/ert der logischen Funktion +), die durch diesen Fall notwendig ist, wird in jedes Etiketten-Bit geschrieben, das aus beiden Richtungen ausgewählt ist, doh. ein Etiketten-Bit wird geschrieben, wenn und nur wenn es zu einem im Schritt (2) gewählten Wort gehört und es sich in einer im Schritt (3) gewählten Bit-Position befindet«
209847/1 175
Zur weiteren Erläuterung des Vorganges gilt die folgende Beschreibung für den Fall, in dem die Etiketten-Bit von einem assoziativen Prozessor mit plattierten Drähten geliefert werden, wie es in der deutschen -Patentschrift' 2 o64 835 (Anmeldung P 2o6 4-8 35« 5 vom 22. Dezember 19?o) beschrieben ist. Bs ist aber offensichtlich, daß auch eine andere Ausrüstung verwendet werden kanno
Die gewünschte·Operation erfolgt durch die richtige Übereinstimmung der Impulse an den Wort- und Bit-Leitungen. Für die Wortleitungen müssen vier· Impulszeiten vorgesehen werden. Während nur einer oder zweier Wortimpulszeiten treten einzelne Bit-rlmpulse auf. In das Speicherelement mit plattierten Drähten werden die Daten nur bei gleichzeitigem Auftreten eines Wort- und eines Bit-Impulses geschrieben. Die zeitlichen Positionen der vier Wortimpulszeiten ergeben sich aus Figur 3» Das Abkommen, nach Figur 3 besteht darin, daß ein positiver Wortstrom eine logische Bins schreibt, wenn ein Bit-Strom vorliegt. Bin negativer Wortstrom schreibt in ähnlicher Weise eine logische Null. Die gewünschte Operation des assoziativen Mehrfach-Komparanden-Speichers wird dann durch Bit-Impulse an der richtigen Wortstromzeit gemäß dem Wert der Komparanden- und Daten-Bit und der Art des durchgeführten Suchvorganges erhalten. Diese Operation wird in Tabelle III für mehrere der in den Tabellen I und II aufgeführten Suchvorgänge beschrieben:
BAD ORIGINAL
-14-
209847/1175
Tabelle III - Zeitliche Beziehung von Bit- und Wortimpulsen
Zeitliche Position für Bit-Impulse Genaue Anpassung
Komparand
- O
Komparand
» 1
Startwert Bes^S4Is Satz Zwischenabschnitt
4 2 1 & 3 Fehlanpassung
Keine . 3 2 & 4 Daten weniger als
Komparand
3 2 & 4 - Daten weniger als
Komparand oder gleich
4- 1 2 & 4 Daten größer als
Komparand
4 . 1 1 & 3 Daten größer als
Komparand oder gleich
3 2 2 & 4
3 ■ 2 1 & 3
Figur 1 zeigt ein Blockdiagramm eines Ausführungsbeispiels eines assoziativen Prozessors, der die Suchverfahren nach der Erfindung durchführen kann. Dieser Prozessor enthält zwei Speichermatrizen 1o und 12 zum Speichern der Komparanden bzw. Datenfelder. Jede Matrix ist ein digitaler Speicher, der V/orte als eine Reihe von Bit speichern kann. Die Matrizen können beispielsweise Speichereinrichtungen mit plattierten Drähten sein*· Die Datenspeichermatrix 12 enthält ein Etiketten-Bit-Gebiet zum Speichern der jedem in der Matrix gespeicherten Wort zugeordneten Etiketten-Bit. Jeder Matrix 1o oder 12 sind Bit-Wahl-Treiber 14 bzw. 16 und Wort-Lese-Schreib-Erhaltungsschaltungen 18 bzw. 2o zugeordnet. Die Operation des assoziativen Prozessors wird von der Suchsteuer- und Taktlogik 22 gesteuert, die wiederum die Schaltungen 18 und 2o und über die Bit-Adressenzähler 24 und 28 und die Adressendekoder 26 und 3o einige der Bit-Wahl-Treiber 14 und 16 steuert. Die Suchsteuer- und Taktlogik 22 enthält die Mikroprogramme, die die Bit-Wahl-Treiber 14 und 16 und die Schaltungen 18 und 2o steuern, um die Komparanden-
—1 5—
2 0 9 8 4 7/1175
Bit und die Datenwort-Bit zu wählen und den Vergleich, und die Kennzeichenoperationen gemäß dem bereits beschriebenen Algorithmus durchzuführen. Der assoziative Prozessor enthält ferner den Feldlängenzahler 32 und Bingang-Ausgang-linrichtungen 34.
Das Ausführungsbeispiel des assoziativen Prozessors nach Figur 2 unterscheidet sich .von dem nach Figur 1 darin, daß eine einzelne Speichermatrix 4o für sowohl die Komparandenfeider 42 als auch die Datenfelder 44 vorgesehen ist. Die Speichermatrix 4o ist außerdem in ein Wortspeichergebiet 46 sowohl für die Daten- und die Komparandengebiete als auch in ein Etiketten-Bit-Gebiet 48 zum Speichern der Etiketten-Bit unterteilt, das jedem Wort im Speicher zugeordnet ist. Der Speichermatrix 4o ist die Bit-Wahl-Treiberschaltung 5o und die Y/ort-Lese-SchreibT-Erhaltüngsschaltung 52 zugeordnet, die von der Suchsteuer- und Taktgeberlogik 54 gesteuert wird, wobei die Treiber 5o über den Bit-Adressenzähler 56 und den Adressendekoder 58 gesteuert werden. Die Schaltung 52 ergibt einen Eingang aus dem Komparandengebiet 42 der Speichermatrix 4o an einige der Bit-Wahl-Treiber 5o, wie bei 6o angezeigt ist. Der assoziative Prozessor enthält wieder einen Feldlängenzähler 62 und Eingang-Ausgang-Einrichtungen 64.
Es ist nur das beste Ausführungsbeispiel der Erfindung im einzelnen beschrieben und dargestellt worden. Es sei aber bemerkt, daß die Erfindung auf dieses Beispiel, nicht beschränkt ist.
-16-
209847/1175

Claims (1)

  1. 9157
    A-2179-G-E
    GOODYEAR ABROSPAGjS CORPORATION, Akron/Ohio - UiSA
    Patentansprüche
    rl/ Verfahren zum gleichzeitigen Durchführen von Speicherinhalt ssuchvorgängen zwischen einem Datenfeld und einem Komparandenfeld, von denen jedes Feld mehrere Worte enthält, dadurch gekennzeichnet, daß das Datenfeld und das Komparandenfeld in einem Digitalspeicher für allgemeine Zwecke als Mt-ausgerichtete Worte gespeichert werden, daß mindestens ein Etiketten-Bit für jedes Wort des Datenfeldes vorgesehen wird, daß gleichzeitig an ähnlichen Bit gewählter Worte in jedem Feld mit vorher gesteuerter Logik Vergleiche gleichzeitig an mehreren Worten durchgeführt werden, daß ein vorgegebener Wert einem spezifizierten Etiketten-Bit jedes gespeicherten Wortes zugeordnet ist, wobei das Etiketten-Bit durch den besonderen, durchgeführten Vergleich und den vorgegebenen Wert eine Funktion der Jerte der gespeicherten Bit und des besonderen durchgeführten Vergleichs ist, und daß als Ausgangsfeld dessen Worte gewählt sind, deren Etiketten-Bit einen spezifizierten Wert besitzen.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Maskenfeld zum Steuern der Logik geliefert wird, so daß nur zwischen spezifizierten Bit jeden Wortes Vergleiche durchgeführt werden.
    3· Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Wert jedem Etiketten-Bit vor dein Durchführen von Vergleichen zugeordnet wird, so daß der resultierende .Vert jeden Etiketten-Bits bei der Beendigung der gleichzeitigen Vergleiche durch frühere Suchvorgänge unbeeinflußt ist.
    209847/1175
    4p Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Komparandenfeld einen Untersatz des Datenfeldes ergibt.
    5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein assoziativer Prozessor zum Speichern der Datenfelder, zum Durchführen der Vergleiche und zum Zuordnen der Werte den Etiketten-Bit und zum Wahlen des Ausgangsfeldes dient.
    6. Gerät zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mindestens ein Digitalspeicher für allgemeine Zwecke zum Speichern der Körper von Daten als bit-ausgerichtete Worte vorgesehen ist und Etiketten-Bit jedem Wort von mindestens dem ersten Körper der Daten zugeordnet sind, daß Schaltungen zum gleichzeitigen Vergleichen ähnlicher Bit gewählter Worte in jedem Datenkörper vorgesehen sind, daß Schaltungen zum Zuordnen eines Wertes an-ein Etiketten-Bit jeden Y/ortes des ersten verglichenen Datenkörpers vorgesehen sind, wobei das gemäß dem durchgeführten Vergleich gewählte Etiketten-Bit und der zugeordnete Wert durch das Ergebnis des Vergleichs bestimmt wird, und daß eine Ausgangsschaltung jedes Wort als Ausgangsdaten liefert, das ein gegebenes Etiketten-Bit-Feld am Ende der Suchvorgänge besitzt.
    7· Gerät nach Anspruch 5j dadurch gekennzeichnet, daß zwei digitale Speicher vorgesehen sind, wobejj der erste Datenkörper in dem ersten Speicher und der z/eite Datenkörper in dem zweiten Speicher gespej/affert
    209847/1 175
DE19722219157 1971-05-03 1972-04-17 Rechenverfahren mit asoziativem Speicher Ceased DE2219157A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13942171A 1971-05-03 1971-05-03

Publications (1)

Publication Number Publication Date
DE2219157A1 true DE2219157A1 (de) 1972-11-16

Family

ID=22486573

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722219157 Ceased DE2219157A1 (de) 1971-05-03 1972-04-17 Rechenverfahren mit asoziativem Speicher

Country Status (8)

Country Link
US (1) US3771139A (de)
BE (1) BE782923A (de)
CA (1) CA1006621A (de)
CH (1) CH568636A5 (de)
DE (1) DE2219157A1 (de)
FR (1) FR2135215B1 (de)
GB (1) GB1358328A (de)
IT (1) IT965774B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2293741A1 (fr) * 1974-12-04 1976-07-02 Anvar Procede et systeme de rapprochement iteratif et simultane de donnees avec un ensemble de donnees de reference
US4188669A (en) * 1978-01-13 1980-02-12 Ncr Corporation Decoder for variable-length codes
US4285049A (en) * 1978-10-11 1981-08-18 Operating Systems, Inc. Apparatus and method for selecting finite success states by indexing
US4491932A (en) * 1981-10-01 1985-01-01 Yeda Research & Development Co. Ltd. Associative processor particularly useful for tomographic image reconstruction
US4799149A (en) * 1983-03-30 1989-01-17 Siemens Aktiengesellschaft Hybrid associative memory composed of a non-associative basic storage and an associative surface, as well as method for searching and sorting data stored in such a hybrid associative memory
US4805093A (en) * 1986-10-14 1989-02-14 Ward Calvin B Content addressable memory
EP0438011A3 (en) * 1990-01-18 1993-05-19 International Business Machines Corporation Logic on main storage memory cards for insertion and extraction of tag bits
US5860085A (en) * 1994-08-01 1999-01-12 Cypress Semiconductor Corporation Instruction set for a content addressable memory array with read/write circuits and an interface register logic block
US6055512A (en) * 1997-07-08 2000-04-25 Nortel Networks Corporation Networked personal customized information and facility services
US6622204B1 (en) * 2000-09-14 2003-09-16 Cypress Semiconductor Corp. Content-addressable memory with cascaded match, read and write logic in a programmable logic device

Also Published As

Publication number Publication date
FR2135215B1 (de) 1976-08-06
CH568636A5 (de) 1975-10-31
FR2135215A1 (de) 1972-12-15
IT965774B (it) 1974-02-11
BE782923A (fr) 1972-09-01
CA1006621A (en) 1977-03-08
GB1358328A (en) 1974-07-03
US3771139A (en) 1973-11-06

Similar Documents

Publication Publication Date Title
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE1114049B (de)
DE1538604B2 (de) Verfahren zum realisieren einer elektrischen integrierten schaltung
DE1168127B (de) Schaltungsanordnung zum Vergleich von Zahlen
DE2128790A1 (de) Einrichtung zum Verwenden mehrerer betriebsfähiger Schaltungen in einem in tegrierten Schaltungsplättchen
DE2212873B2 (de) Aus schieberegistern aufgebaute speichereinrichtung und verfahren zum betrieb der speichereinrichtung
DE2936913A1 (de) Verfahren und system zur steuerung von eingabe und ausgabe bei einer prozesssteuerung
DE2219157A1 (de) Rechenverfahren mit asoziativem Speicher
DE1499739C3 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Wörter
DE2810610A1 (de) Josephson-speicherzelle
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
DE2314262A1 (de) Schaltungsanordnung zum verschieben von vektorinformation
DE1295656B (de) Assoziativer Speicher
DE2905814A1 (de) Speicher
DE69319886T2 (de) Halbleiterspeicher mit Speichermatrix, der mit einem einzigen Sektor assoziierte Redundantezellenspalte enthält
DE1165083B (de) Magnetkernschalter
DE1474380A1 (de) Matrixspeicheranordnung
DE1424756B2 (de) Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage
DE1243724B (de) Speicheranordnung mit wortweise assoziativer Abfrage
DE1136737B (de) Bei tiefen Temperaturen arbeitende Speichereinrichtung
DE2627617A1 (de) Festwertspeicher
DE1090885B (de) Parallel arbeitende, synchrone, elektrische, binaerrechnende Zahlenrechenmaschine, welche die Operation x+yz selbsttaetig auszufuehren vermag
DE2226856A1 (de) Stapelspeicher mit Anzeige der Überschreitung oder des Überlaufs für die Übertragung von Daten in der chronologischen Reihenfolge ihrer Eingabe

Legal Events

Date Code Title Description
OD Request for examination
8131 Rejection