DE2047220C3 - Assoziativspeicher - Google Patents

Assoziativspeicher

Info

Publication number
DE2047220C3
DE2047220C3 DE19702047220 DE2047220A DE2047220C3 DE 2047220 C3 DE2047220 C3 DE 2047220C3 DE 19702047220 DE19702047220 DE 19702047220 DE 2047220 A DE2047220 A DE 2047220A DE 2047220 C3 DE2047220 C3 DE 2047220C3
Authority
DE
Germany
Prior art keywords
input
memory
output
bit line
memory cells
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
DE19702047220
Other languages
English (en)
Other versions
DE2047220A1 (de
DE2047220B2 (de
Inventor
Peter Lycett Alresford Hampshire Gardner
Roger James Winchester Llewelyn
Robin North Baddesley Waugh
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 DE2047220A1 publication Critical patent/DE2047220A1/de
Publication of DE2047220B2 publication Critical patent/DE2047220B2/de
Application granted granted Critical
Publication of DE2047220C3 publication Critical patent/DE2047220C3/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

Landscapes

  • Memory System (AREA)
  • Logic Circuits (AREA)

Description

60
Die Erfindung betrifft einen Assoziativspeicher nach dem Oberbegriff des Patentanspruchs I.
Mathematische Operationen an und mit digitalen Daten können entweder mittels in der Datenverarbettungstcchnik Üblichen Schaltungen zur Verknüpfung, Speicherung und Berechnung dieser Daten ausgeführt werden, öder aber man macht in mehr oder weniger Umfang Gebrauch von TabeUensuchmethoden. Tabellenrechenverfahren erlauben zwar eine Einsparung von speziellen Verknüpfungsschaltungen, jedoch wächst bald der Speicherbedarf mit zunehmender Länge und Kompliziertheit der benötigten Tabellen zu unrealistischen Größenordnungen.
Eine gespeicherte Funktionentabelle kann in herkömmlicher Weise adressiert und ausgelesen werden. Vorteilhafter ist jedoch eine assoziative Adressierung mit geeignet gewählten Suchargumenten. Weitere Vereinfachungen ergeben . sich durch Ausnutzung spezieller Assoziativspeicher, deren Speicherzellen nicht nur den beiden Binärwerten entsprechende Speicherzustände einnehmen können, sonderen auch Zustände, die anders interpretiert werden können. Beispielsweise erlaubt ein »AVe-Zustand die gleichzeitige Adressierung mehrerer Speicherwörter, die dann gemeinsam ausgelesen werden können. Binärstellen mit gespeichertem »X« geben bei Abfrage immer ein Übereinstimmungssignal ab, unabhängig davon, ob in der gleichen BinärsteJle des Suchargumentes eine binäre »0« oder »1« vorhanden ist.
Ein Assoziativspeicher dieser Art ist z. B. in der schweizerischen Patentschrift 4 77 070 beschrieben. Jede Speicherzelle ist mit zwei Bitleitungen ausgerüstet. Bei den bisherigen Ausleseverfahren würde jedoch nur von einer dieser Leitungen Gebrauch gemacht, da zum Erkennen des gespeicherten Binärwertes ein einseitiges Auslesen ausreicht.
Der Erfindung liegt deshalb die Aufgabe zugrunde, einen Assoziativspeicher zu schaffen, bei dem insbesondere zur Einsparung von Speicherraum bei Tabellensuchverfahren und zu deren Vereinfachung alle vier auf den Bitleitungen der Speicherzellen auftretenden Signalzustände verwendet werden und der außerdem wählbare logische Verknüpfungen mehrerer gleichzeitig ausgelesener Wörter ermöglicht.
Die erfindungsgemäße Lösung ergibt sich aus dem kennzeichnenden Teil des Patentanspruchs 1. Weitere Ausgestaltungen ergeben sich aus dei kennzeichnenden Teilen der Patentansprüche 2 bis 5.
Dadurch, daß vier Zustände auf den Bitleitungen benützt werden, indem beim Auslesen auch die bisher als redundant ,ingesehene /weite Bitleitung voll mitverwendet wird, ergibt sich eine Einsparung von Speicherraum bei der Durchführung von Tabellensuchverfahren Dadurch, daß zur Durchführung der gewünschten Funktior.en weniger Wörter eingespeichert werden müssen, ergibt sich auch beim Auslesen nach dem vollendeten Suchzyklus eine Zeiteinsparung. Durch die externe Anordnung der Verknüpfungsglieder an die Bitleitungen ist außerdem eine leichte Auswahl der gewünschten Funktion durch Anlegen eines entspre chenden Schlüsselwortes möglich
Ausführungsbeispiele werden in den Zeichnungen dargestellt und im folgenden naher beschrieben. Es zeigt
Fi g I schemalisch eine Schaltung, welche in einem Datenspeicher die Bitleitungen einer Binärstelle mit der Ausgangsleitung zur Verknüpfung der ausgelesenen Daten nach der Funktion R · L miteinander verbindet,
Fig.2 das Schema zur Verknüpfung nach der Funktion R · L,
Fig.3 das Schema zur Verknüpfung nach der Antivalenzfunklion,
Fig.4 schemaiisch eine Schaltung zur wahlweisen Verbindung der Bitleitungen fnil der Ausgangsleitung nach einer beliebigen der sechzehn möglichen Funktionen der Schaltalgebra,
ri/\ Λ -J ZU f I
Fig.5 bis 13 Tabellen zur Darstellung der Arbeitsweise des Speichers entsprechend der Erfindung.
Zwei Bitleitungen R und L, die mit einer Spalte von Speicherzellen so verbunden sind, daß angesteuerte Zellen in dieser Spalte der Speichermatrix gleichzeitig ausgelesen werden können, werden als Eingangsleitungen Für eine Verknüpfungsschaltung benutzt. Diese Schaltung gibt ein Ausgangssignal ab, wenn eine vorbestimmte Bedingung erfüllt ist, wenn z. B. die Leitung R erregt ist, die Leitung L aber nicht Wendet man diese Bedingung beim gleichzeitigen Auslesen von zwei Speicherzellen einer Binärstelle an, wird der Inhalt der Zellen nach Art einer UND-Funktion verknüpft. Legt man die Bedingung zugrunde, daß die Leitungen R und L beide erregt sind, erhält man die Antivalenzfunktion des Inhaltes der gewählten Zellen. Weiterhin wird eine Schaltung beschrieben, um eine ausgewählte von 16 möglichen Bedingungen für die Interpretation der Markierungen der Bitleitungen anzuwenden. Außerdem werden Beispiele für die Einsparungen an Tabellenraum angegeben, die man durch Verwendung dieser Bedingungen beim Auslesen erzielt
In Fig. 1 sind einige Speicherzellen einer Spalte der Matrix eines Speichers angedeutet Die Speicherzellen 14 können vier unterscheidbare Zustände einnehmen. Jede Zelle weist auf beiden Seiten je einen Ausgangsanschluß auf, wobei der Speicherzustand der Zelle beispielsweise wie folgt definiert sei:
— Eine Zelle, die beim Auslesen an ihrem ersten Anschluß eine »!«-Markierung und am zweiten Anschluß eine »O«-Markierung zeigt, enthalte eine binäre »0« gespeichert.
— Eine Zelle, die beim Auslesen am ersten Anschluß eine »O«-Markierung und am zweiten Anschluß eine »!«-Markierung zeigt, enthalte eine binäre »1« gespeichert.
— Eine Zelle, die beim Auslesen an ihrem ersten und zweiten Anschluß jeweils die Markierung »0« zeigt, enthalu ein »X«.
— Eine Zelle, die beim Auslesen an ihrem ersten und zweiten Anschluß jeweils die Markierung »1« zeigt, enthalte ein »Y«.
Wenn die Zahlen 0 und 1 benutzt werden, um die Markierunpen zu beschreiben, bezeichnen sie lediglich unterscheidbare Markierungen und haben nicht unbedingt eine quantitative Bedeutung.
Wenn ein derartiger Speicher assoziativ adressiert wird, bewirkt eine im X-Zustand befindliche Zelle einer Binärstelle eines Wortes die Abgabe eines Obereinstimmungssignals bei der Abfrage, gleichgültig, ob die entsprechende Binärstelle im Suchargument eine »1« oder eine »0« ist. In ähnlicher Weise führt eine im V-Zustand stehende Zelle eines Wortes zu keinem Übereinstimmungssignal, wenn sie durch eine »1« oder eine »<>« m der entsprechenden Binärstelle des Suchargumentes abgefragt wird.
Die Signale der Markierungen aller ersten Anschlüsse von angesteuerten Zellen der schematisch in Fig.! gezeigten Spalte der Speichermatrix werden auf der to ersteh Aüsgahgsleilürig nach einer ODER-Funktiön verknüpft Diese Leitung wird der Einfachheit halber Im Folgenden als linke Bitleitung 15 bezeichnet. In ähnlicher Weise werden die Markierüngssignale an den zweiten Anschlüssen der angesteuerten Zellen der Spalte auf der zweiten Ausgangsleitung, die im folgenden als rechte Bitleitung 16 bezeichnet wird, nach einer ÖDER^Funk» tion verknüpft. Die linke Bitleitung 15 ist mit einem
Inverter 17 verbunden, dessen Ausgangssignal auf ein UND-Glied 18 gegeben wird. Das andere Eingangssignal für das UND-Glied 18 ist das Ausgangssignal der rechten Bitleitung 16. Ein Ausgangssignal erhält man folglich auf der Ausgangslettung 19 nur, wenn eine »1« auf der rechten Bitleitung und eine »0« auF der linken Bitleitung vorhanden sind. Diese Arbeitsweise wird als das »Lesen £echts und nicht links« bezeichnet abgekürzt R · L
Die in F i g. 2 gezeigte Anordnung unterscheidet sich von der in F i g. 1 gezeigten nur dadurch, daß der Inverter weggelassen ist In diesem Falle sind die Bitleitungen 20 und 21 mit dem UND-Glied 22 so verbunden, daß man ein Ausgangssignal auF der Leitung 23 nur erhält wenn die linke und die rechte Bitleitung eine »1« führen. Dieses Auslesen, d. h. »Lesen rechts und links«, wird abgekürzt mit R ■ L
In der in Fig.3 gezeigten Schaltungsanordnung ist die linke Bitleitung 31 mit einem Inverter 33 und einem UND-Glied 36 verbunden. Die rech , Bitleiiung 32 ist mit dem inverter 34 und dem UND-Glied 35 verbunden. Die anderen Eingangssignale für die UND-Glieder 35 und 36 kommen von den Invertern 33 bzw. 34. Die Ausgangssignale der beiden UND-Glieder werden durch d^'S ODER-Glied 37 verknüpft und als Ausgangssignal auF die Leitung 38 gegeben. D'ese Leitung führt dann ein Ausgangssignal, wenn nur eine der Bitleitungen eine »1« führt d. h. »Lesen rechts exklusiv oder links«, kurz bezeichnet als RvL
F i g. 4 zeigt schematisch eine Schaltungsanordnung zur wahlweisen Verbindung der Ausgangsleitungen einer gegebenen Spalte von Speicherzellen mit den Bitleitungen dieser Spalte gemäß irgendeiner der sechzehn möglichen Verknüpfungsfunktionen der Schaltalgebra. Diese Schaltung enthält vier UND-Glieder 41, 42, 43 and 44 mit je drei Eingängen und zwei Inverter 45 und 46.
Die linke Bitleitung 47 ist an die UND-Güeder 11 und 42 sowie an den Inverter 45 angeschlossen. Die rechte Bitleitung 48 ist an die UND-Glieder 41 und 43 sowie an dei, Inverter 46 angeschlossen. Der Ausgang des inverters 45 ist mit den UND-Gliedern 43 und 44 verbunden, während der Ausgang des Inverters 46 an die UND-Glieder 42 und 44 angeschlossen ist. Außerdem sind Für ein Schlüsselwort zur Auswahl der Funktionen vier Steuereingänge C. D. Eund Fan den UND-Gliedern 41, 42, 43 und 44 vorhanden. Die Ausgangsleitung 49 ist mit den Ausgängen aller UND-Glieder verbunden. Wenn eines der UND-Glieder drei positive Eingangssignale empfängt, ist dessen Ausgangssignal »I« und die Leitung 49 führt ein »1«-Lesesignal. Die Bedingung für ein »!«-Ausgangs-Lese", gnal auf der Leitung 49 kann als Schallfunktion in disjunktiver Normalform in folgender Weise geschrieben werden:
AUSGANG
= C L R 4 DL
R + F LR+ F LR
wobei das η + «-Zeichen, eine ODER-Verknüpfung und dasw'ttrZeichert eine UND-VerknüpFung bezeichnet
Es ist somit möglich, durch eines öder mehrere positive Steuersignale des Schlüsselwortes 16 logische VerknüpFungen zu definieren, die in Fig.5 aufgezählt sind. Aus der Figur geht auch hervor, daß die in diesem Ausführungsbeispiel verfügbaren Verknüpfungen die oben erwähnten_Arbeitsweisen des Auslesens ermöglichen, also R1R- L1R- L und
Wenn zwei Operanden A und B in einem assoziativ adressierbaren funktioneilen Datenspeicher im selben Lesefeld stehen (d. h. entsprechende Biriärstellen liegen in derselben binären Ordnung), dann ist es jetzt möglich, bestimmte Funktionen dieser Operanden direkt durch gleichzeitiges Auslesen in einer geeigneten Arbeitsweise auszuwerten.
Wenn beispielsweise die Steuersignale D und E gewählt werden, d.h. ein Schlüsselwort 0110 benutzt wird, ist die Arbeitsweise des Auslesens AvL Wenn der Operand A dann z. B. die binäre »1« und der Operand B die binäre »0« ist, werden beim gemeinsamen mehrfachen Auslesen die Zeichen 0, 1 und 1, 0 auf der linken bzw. rechten Bitleitung entsprechend einer ODER-Funktion verknüpft. Die Bitleitungen erhalten daher die Markierungen I, 1. Da bei der /?vL-Arbeitsweise ein Ausgangssignal »1« nur auftritt, wenn die Markierungen 1.0 oder 0,1 sind, erhält man bei obigem "Beispiel ein »O«-Ausgangssignal. Daraus folgt, daß unter der Voraussetzung, daß A und B beide »1« oder beide »0« sind, die /?vL-Bedingung erfüllt ist. Das Ausgangssignal ist daher die Äquivalenz-Funktion A== B. Die allen Arbeitsweisen des Auslesens entsprechenden Funktionen als Ergebnis des mehrfachen Auslesens sind in F i g. 6 aufgeführt.
Die Möglichkeit, die obigen Funktionen beim gemeinsamen mehrfachen Auslesen aus dem Quellenspeicher direkt auszuwerten, gestattet eine Einsparung von Speicherzyklen. Bein Beispiel für diese Einsparung ist die binäre Addition von Operanden. Diese Addition kann allgemein ausgedrückt werden durch die Formel:
Rm = PmvC(m-\)
worin Rm das /n-te Bit des Additionsergebnisses, Pm die Antivalenz des m-ten Bits der Operanden A und B und QTn- 1) der Übertrag aus der (m— l)-ten Bitposition ist. Dieser Übertrag kann durch die Funktionen P und G ausgedrückt werden, wobei P die Weitergabe und G die Erzeugung von Übertrag beschreiben. Letztere Funktion ist die UND-Verknüpfung der Operanden A und B. Somit kann man wie folgt erweitern:
C im - 1) = G (m - 1) + P im - 1) · G (m - 2)
+ P(m-I)P(m-2)-G(m-3)
+ Pirn - 11 · P(m - 2) · P(m - 3) ■ G(m-4) + · · ■
+ PUn-I) ... ■ P3 ■ Pl- Gl so
+ P(m-l) ■ ... ■ Pl-Co.
Co ist der Übertrag in die erste Bitposition.
Aus den P- und G-Eingängen kann somit eine Additionstabelle gebildet werden.
Um die P- und G-Werte der Operanden zu erhalten, wäre ein separater Zylus nötig, wenn in bisher üblicher Ä-Arbeitsweise ausgelesen würde. Die P-Werte erhält man jedoch direkt aus dem die Operanden enthaltenden Queiienspeicher, wenn dieser Speicher Γη R ■ /.-Arbeitsweise ausgelesen wird. Die G-Funktion könnte man aus dern_ Speicher erhalten, wenn anschließend auf die R -L-Arbeitsweise umgeschaltet würde. Das ist jedoch nicht erforderlich, da die Funktionen P und G in folgender Weise untereinander verknüpft sind:
G= B-P
Somit kann die Additionstabelle effektiv definiert werden durch Werte für Pund B.
Abgesehen von der Zykluseinsparung ist eine Verkürzung der Tabellen durch die Möglichkeit gegeben) den Ausgang einer gewählten Spalte zu sperren. Dieser Vorgang ist an nachfolgendem Beispiel gezeigt. Wenn die Funktion:
Ergebnis = Ä+B~+C~+~D
durch Suchtabellen ausgewertet werden soll, ist gewöhnlich eine vier Wörter enthaltende Tabelle erforderlich. Diese Tabelle ist in F i g. 7 gezeigt.
Wenn jedoch ein Sperrsignal, z. B. das Signal »Z« einer Speicherzelle, zur Verfugung steht, also ein Signal, welches immer zu einem »O«-Ausgangssignal in einer gegebenen Binärstelle ungeachtet der anderen Signale auf dieser Binärstelle führt, kann man die duale Darstellung der obigen Funktion benutzen, welche lautet:
Ergebnis = 1 · A ■ B ■ C ■ D
Das läßt sich durch Einrichten der in Fig.8 gezeigten Tabelle verwirklichen.
Das erste Wort der obigen Tabelle führt zu einem »!«-A'jsgangssignal ungeachtet des Einganges, während da» zweite Wort das Sperrsignal liefert, mit dem ein »1 «-Ausgangssignal verhindert wird, sobald die unerwünschte Bedingung (A = 1 und B= 1 und C=I und D=I) erfüllt ist.
Die tatsächliche Natur des oben mit dem Buchstaben »Z« bezeichneten und beschriebenen Signals hängt von dem_infragekommenden Ausleseverfahren ab. Wenn R · L benutzt wird, wirkt sich die Existenz einer binären »0« in der zutreffenden Spalte als Sperrsignal aus, da das Auftreten einer »0« in Inhalt einer Ausgabespalte zu einer »1« auf der linken Bitleitung fieser Spalte führt. Diese Spalte gibt somit in R ■ L-Arbeitsweise ein Ausgangssignal ab.
Wenn im /?vL-Betrieb gearbeitet wird, führt sowohl eine einzelne binäre »0« zu einem »!«-Ausgangssignal
zu CmüTi
ais aucn eine einzelne otnaic
gangssignal. Wenn jedoch mehrere gleichzeitig angesteuerte Speicherzellen einer Spalte eine Mischung von Einsen und Nullen enthält, erhält man ein »0«-Ausgangssignal. Um somit ein »O«-Ausgangssignal ungeachtet des übrigen Inhaltes einer gegebenen Spalte sicherzustellen, muß entweder in zwei Zellen dieser Spalte eine »1« und eine »0« gesetzt werden oder der K-Zustand eingesetzt werden (& h. die Markierung 1, 1 auf die Bitleitungen gegeben werden). Dieser Speicherzustand verhindert durch sich selbst ein Ausgangssignal für die betreffende Binärstelle.
Die ÄvL-Arbeitsweise erweist sich als besonders wirksames Werkzeug zur Verkürzung von Tabellen, die zur Durchführung bestimmter Operationen erforderlich sindj_ da dieser Auslesebetrieb die Vorteile der R - L-Arbeitsweise mit denen der R ■ L-Arbeitsweise vereinigt. Somit kann eine Sperrung gemäß obiger Beschreibung erfolgen und eine ZykJuseinsparung ist ebenfalls möglich, da das Auslesen von Operanden in demselben Feld ihre Äquivalenzfunktion liefert, welche Avi? ist, d h. das »O«-Ausgangssignal zeigt an, daß AvB beachtet wird.
A.nschließend werden einige Beispiele der Tabellenverkürzung betrachtet, die sich aus der Anwendung einer der oben beschriebenen Auslesebetriebsarten ergibt
IO
15
Wenn ein /J-Bit-Eingang unter Verwertdüng von Suchlabellen durch Addition eines festen Betrages, beispielsweise einer Eins, erhöht werden soll, waren" dazu bisher [n/2) (fl+ij+l Wörter irii Speicher erforderlich. Mit der Arbeitsweise R ■ L läßt sich dieser Aufwand auf In Wörter reduzieren, Das ist in F i g. 9 für eiii'Jn 8-Bit-Eingang gezeigL
In dieser Tabelle, sowie in den nachfolgenden Beispielen, stellen leere Feiderden ^-Zustand dar, d. h. clic Markierungen 0, 0 auf den linken und rechten Bitleitungen der Speicherzelle.
Die obersten neun Wörter oder Zeilen der Tabelle liefern aufgrund des Erkennens der niedrigwertigsten »0« von der rechten Seite des Einganges her einen Halt des durchlaufenden Übertrages. Die unteren sieben Wörter oder Zeilen der Tabelle reproduzieren die im Eingang stehenden Einsen, von denen jedoch einige uciiii Auslesen durch iVuiien im Ausgang gesperrt werden, falls eine oder mehrere der oberen Zeilen zwei bis neun durch Erkennen einer »0« assoziativ angesteuert wurden.
Diese Erhöhung um Eins läßt sich in einer noch kürzeren Tabelle durchführen, wenn in der RvL-Arbeitsweise ausgelesen wird. In diesem Fall kann ein /7-Bit-Eingang mit Hilfe einer (n+\) Worttabelle inkrementiert werden. Das ist für einen 8-Bit-Eingang in Fig. 10 gezeigt.
Wenn als Eingang z. B. der Wert 11 01 00 11 benutzt wird, werden entsprechend der Binärstelle das dritte, ν,ν,-rte, sechste und neunte Wort infolge der Nullen im Eingangsfeld angesteuert. Nach der ODER-Verbindung der AUsgangssignaie der Zellen liegen auf den neuen Paaren von Bitleilungen die folgenden Markierungen:
11 Ol 01 Il 01 11 10 00 00
In der /?vL-Arbeitsweise erhält man daraus folgende Ausgangssignale:
10 10 10 0
Fig. Il zeigt eine Tabelle, die mit Hilfe der Äquivalenz-Funktion R=L einen 8-Bit-Eingang um Eins erniedrigt.
Die ß-Spalte in der Tabelle stellt das »Borgen« oder den negativen Übertrag dar, welcher vom Speicher vorgenommen wird und den nachfolgenden Teil des Operanden erniedrigt. Dieselbe Tabelle in Fig. 11 kann auch dazu benutzt werden, um das Zweierkomplement eines gegebenen Eingangs zu erhalten, indem man in der «vL-Arbeiiweise ausliest.
Anschließend werden im einzelnen Tabellen für die binäre Addition von zwei Operanden A und B betrachtet, deren Antivalenzfunktion P aus einer vorhergehenden Operation zur Verfügung steht. Für zwei aus η Bits bestehende Operanden benötigt ein Speicher beim Auslesen im /?-Betrieb, d. h. beim Auslesen mittels nur einer (rechten) Bitleitung, (/?+ I)2 Wörter oder Zeilen der Tabelle. Die Ausnutzung des Sperreffektes führt jedoch zu einer Verkürzung dieser Tabelle auf '/2(n2 + 5n+2) Wörter.
Ein erstes Verfahren für eine derartige Worteinsparung besteht darin, das Ergebnis der binären Addition wie folgt auszudrücken:
= (Pl + Co) (Pl ■ Co)
Rl = (P2 + Gl + Pl- Co) ■ (Pl Gl + Pl Pl- Co)
R3 = (P3 + Gl + Pl · Gl + Pl · Pl · Co) · (P3 · Gl + P3 · Pl ■ Gl + P3 · Pl · Pl ■ Co) ... usw.
iu/«->k»; P—
, R rZ— Λ . P ,tnA f^x
Binärstelle 1 ist). _
Durch Anwendung der R ■ L-Arbeitsweise gemäß der Darstellung in Fig. 12 zum Auslesen für zwei vier Bits umfassende Operanden im Eingang läßt sich das ausführen, einschließlich der Berechnung von C des Übertrages aus der letzten Bitposition.
Die oben beschriebene Worteinsparung läßt sich nicht immer voll verwirklichen. Wenn nämlich die verschiedene Speichergruppen in einem Speicher verbindende Ausgangssammelleitung so gestaltet ist, daß jedes Datenbit über eine Ader geführt ist, kann die Sperrung nur innerhalb einer gegebenen Speichergrüppe erfolgen. (Das wäre nicht der Fall, wenn je zwei Eingänge und Ausgänge pro Birtärstelle benutzt
Rl=PIv Co
I IKöff»·ο<τ in Ate ujiifHpn \ InfrUcrA HiACpr ΐ lnm^CTliohkpif Qicmolp \mn
einer Speichergruppe durch Signale von einer anderen Speichergruppe zu sperren, muß man lange Tabellen so zwischen mehreren Speichergruppen aufteilen, daß an den Trennstellen keine Überlappung der Ergebnisfelder (Zeilen 3, 6, 7, 10, 11, 12 ...) vorhanden is . Sonst muß man Wörter duplizieren. Wenn beispielsweise die in F i g. 11 gezeigte Tabelle zwischen den Wörtern bzw. Zeilen 15 und 16 geteilt werden muß, müssen die Wörter 15,16,17 und 18 in beiden Teil-Tabellen stehen.
Durch Anwendung des ΑνΖ,-Ausleseverfahrens kann dieses Problem vermieden werden. Zu diesem Zweck wird das Ergebnis der Addition von zwei vier Bits umfassenden Operanden durch eine erweiterte Übertragsfunktion ausgedrückt, und zwar:
Rl = Piv (Gl + Pl - Co) R3 = P3 ν (Gl + Pl Gl+ Pl- Pl- Co) R4 = P4 ν (G3 + P3G2 + P3P2G1 4-P3-P2P1 Co) C = G4 + P4 ■ G3 + P4 ■ P3 ■ CrZ + P4 ■ P3 ■ P2 - Gl + P4 ■ P3 - P2 ■ Pl - Co
Das läßt sich durch Anwendung der RvL-Arbeitsweise des Auslesens gemäß der Darstellung in Fig. 13 verwirklichen- Dabei erfolgt die Sperrung zwangsläufig in der Tabelle uud erfordert keine besonderen Eintragungen. So enthält z. B. die Spalte R1 eine »1«, wenn Pl = I und enthält eine »0«, wenn Co= 1. Da bei
der /?vL-Arbeitsweise des Auslesens eine binäre »I« oder eine binäre »0« zu einem positiven Ausgangssignal führen, erhält man ein »O«-Ausgangssignal nur, wenn so wohl P i als auch Co gleich »1« sind.
Aus obiger Tabelle geht hervor, daß sie aufgeteilt werden kann, ohne daß Wörter dupliziert werden müssen, da keine, Überlappung Von ^-Ausdrücken auftritt, vorausgesetzt, daß die Aufteilung so erfolgt, daß alle zu einem gegebenen fl-Begriff gehörenden Wörter in derselben Speichergrup'pc stehen.
Es bedeutet keine Beschränkung, wenn in den Ausführungsbeispielen In der Beschreibung der Ausdruck Spalte der Speichermatrix verwendet wurde, um Speicherzellen einer gegebenen Binärstellezu beschreiben. Diese Zellen können natürlich auch Zeilen im Speicher bilden. Weiterhin wurden in den Beispielen Speicherzellen benutzt, in denen die Speicherzustände 0,
10
1, A*und Afden Bitle'iungsmarkierungen 1 undo,0und 1, 0 und 0 bzw. I und I entsprechen. Ein erfindungsgemäßer Speicher ist jedoch nicht auf eine derartige Definition der vier Zustände einer Zelle beschränkt. So karin Z. B. auch ein Speicher verwendet werden, in welchem eine gespeicherte »0« durch die Markierungen 0 und 1, eine gespeicherte »1« durch die Markierungen I Und 0, ein gespeichertes »X« durch die Markierungen 0 undo und ein gespeichertes »Y«durch die Markierungen 1 und I auf dem linken bzw. rechten Anschluß der Zelle dargestellt sind. In einem derartigen Speicher erhält man die Funktion /IvS zweier Operanden A und B beim mehrfachen Auslesen mit Hilfe der R ' /,-Arbeitsweise entsprechend dem oben beschreibenen Beispiel. Die Funktion A · B erhält man beim mehrfachen Auslesen jedoch jetzt mit der Funktion R- L
Hierzu 7 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Assoziativspeicher, insbesondere für Tabellensuehoperationen, aus in Matrixform angeordneten Speicherzellen, die mehrere Zustände einnehmen können, der pro Speicherzelle zwei Bitleitungen aufweist, auf denen während eines der Suchoperation folgenden Auslesezyklus für ein oder mehrere gespeicherte Wörter entsprechende Ausgangssigna-Ie erzeugt werden, dadurch gekennzeichnet, daß den Bitleitungen logische Verknüpfungsschaltungen (17, 18; 22; 33 . ..37; 41 ... 46) zur Verknüpfung der auf beiden Bitleitungen auftretenden vier Zustände nachgeschaltet sind, deren Ausgangsleitungen (19, 23, 38, 49) den eigentlichen Speicherausgang bilden.
2. Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß jeweils die linke Bitleitung (15) einer Speicherzelle über einen Inverter (17) mit einem Eingang eines UND-Gliedes (18) verbunden ist, an dessen Eingang die rechte Bitleitung (16) der betreffenden Speicherzellen angeschlossen ist, und daß das Verknüpfungsergebnis R ■ L auf der Ausgangsleitung (19) des UND-Gliedes (18) am Ende des Auslesezyklus steht.
3. Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß die linke Bitleitung (20) von Speicherzellen an einen Eingang und die rechte Bitleitung (21) derselben Speicherzellen an den anderen Eingang eines UND-Gliedes (22) angeschlossen sind und daß auf der Ausgangsleitung (23) des UND-Gliedes (22) a.n Ende des Auslesezyklus die logische Verknüpfung R ■ Li eht.
4. Assoziativspeicher nach Anspruch 1. dadurch gekennzeichnet, daß die linke Bitleitung (31) von Speicherzellen über einen ersten Inverter (33) mit einem Eingang eines ersten UND-Gliedes (35) und direkt mit einem Eingang eines zweiten UND-Gliedes (36) verbunden ist, daß die rechte Bitleitung (32) derselben Speicherzellen über einen zweiten Inverter (34) mit dem anderen Eingang des zweiten UND-Gliedes (36) verbunden ist und direkt mit dem anderen Eingang des erstgenannten UND-Gliedes (35) verbunden ist und daß die Ausgänge der beiden UND-Glieder (35, 36) an die Eingange eines nachgeschalteten ODER-Gliedes (37), auf dessen Ausgangsleitung (38) das Verknüpfungsergebnis RvI. am Ende des Auslese/yklus steht, verbunden sind.
5. Datenspeicher nach den Ansprüchen 1 bis 4. dadurch gekennzeichnet, daß die mit den Bitleitungen (47 und 48) verbundenen Verknüpfungsschaltun gen (41 ... 46) weitere Eingänge aufweisen, an denen Signale eines Schlüsselwortes (C bis F) anliegen um M das Ausgangssignal auf der Ausgangsleitung (49) zusätzlich durch das Schlüsselwort /u steuern.
DE19702047220 1969-10-02 1970-09-25 Assoziativspeicher Expired DE2047220C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB4840169 1969-10-02

Publications (3)

Publication Number Publication Date
DE2047220A1 DE2047220A1 (de) 1971-04-29
DE2047220B2 DE2047220B2 (de) 1979-05-17
DE2047220C3 true DE2047220C3 (de) 1980-02-07

Family

ID=10448481

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702047220 Expired DE2047220C3 (de) 1969-10-02 1970-09-25 Assoziativspeicher

Country Status (6)

Country Link
JP (1) JPS4819492B1 (de)
CH (1) CH523548A (de)
DE (1) DE2047220C3 (de)
FR (1) FR2064094B1 (de)
GB (1) GB1233290A (de)
NL (1) NL7013899A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1372926A (en) * 1972-01-17 1974-11-06 Ibm Associative store
US4835527A (en) * 1986-09-29 1989-05-30 Genigraphics Corportion Look-up table

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE631130A (de) * 1962-05-01 1900-01-01
GB1162109A (en) * 1966-12-22 1969-08-20 Ibm Semi Conductor Data and Storage Devices and Data Stores Employing Such Devices

Also Published As

Publication number Publication date
GB1233290A (de) 1971-05-26
NL7013899A (de) 1971-04-06
DE2047220A1 (de) 1971-04-29
JPS4819492B1 (de) 1973-06-14
DE2047220B2 (de) 1979-05-17
FR2064094A1 (de) 1971-07-16
FR2064094B1 (de) 1975-01-10
CH523548A (de) 1972-05-31

Similar Documents

Publication Publication Date Title
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2259725B2 (de) Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen
DE1197650B (de) Parallel-Addierer
DE2063199A1 (de) Einrichtung zur Ausfuhrung logischer Funktionen
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2357654C2 (de) Assoziativspeicher
DE1934860A1 (de) Wortorganisierter Assoziativspeicher
DE2302061A1 (de) Assoziativspeicher
DE2047220C3 (de) Assoziativspeicher
DE1168129B (de) Verfahren zur Verarbeitung von Daten
DE1774675B2 (de) Elektronisches rechengeraet mit einer speichermatrix
DE2004436A1 (de) Adressenwandler in einer Datenverarbeitungsanlage
DE2644180C3 (de) Datenverarbeitungssystem
DE1806172A1 (de) Prioritaetsschaltung
DE1474024C3 (de) Anordnung zur willkürlichen Umordnung von Zeichen innerhalb eines Informationswortes
DE2000275A1 (de) Elektronischer Walzenschalter
DE2265696C2 (de) Rechenanordnung
DE1296427B (de) Datenbearbeitungssystem
DE2511673C2 (de) Schaltung zur Übertragung eines Feldes zwischen zwei Registern unter Mitwirkung einer Schiebeschaltung
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE2302649A1 (de) Impulsgenerator
DE1808159B2 (de) Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung
DE1537307A1 (de) Logische Schaltung
DE2057124A1 (de) Assoziativspeicher
DE1499846A1 (de) Verfahren und Einrichtung zum Lesen eines inhaltsadressierbaren Speichers

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee