DE2047220C3 - Assoziativspeicher - Google Patents
AssoziativspeicherInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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.
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)
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.
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)
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)
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 |
-
1969
- 1969-10-02 GB GB1233290D patent/GB1233290A/en not_active Expired
-
1970
- 1970-09-15 CH CH1371270A patent/CH523548A/de not_active IP Right Cessation
- 1970-09-17 FR FR7034359A patent/FR2064094B1/fr not_active Expired
- 1970-09-21 NL NL7013899A patent/NL7013899A/xx not_active Application Discontinuation
- 1970-09-25 DE DE19702047220 patent/DE2047220C3/de not_active Expired
- 1970-09-30 JP JP45085175A patent/JPS4819492B1/ja active Pending
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 |