DE1945215C3 - Assoziativer Speicher - Google Patents
Assoziativer SpeicherInfo
- Publication number
- DE1945215C3 DE1945215C3 DE19691945215 DE1945215A DE1945215C3 DE 1945215 C3 DE1945215 C3 DE 1945215C3 DE 19691945215 DE19691945215 DE 19691945215 DE 1945215 A DE1945215 A DE 1945215A DE 1945215 C3 DE1945215 C3 DE 1945215C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- line
- memory cells
- row
- lines
- 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
Description
Die Erfindung bezieht sich auf einen assoziativen Speicher mit Speicherzellen für jeweils eine Binärziffer,
die in Zeilen und Spalten zu einer Matrix verdrahtet sind, wobei jede Zeile wenigstens einen
Speicherplatz mit mehreren Binärzifferstellen umfaßt und die einander entsprechenden Ziffernsteilen zugeordneten
Speicherzellen der Speicherplätze in den gleichen Spalten der Matrix liegen, und wobei jede
Speicherzelle ein bistabiles Speicherelement, eine Vergleichsschaltung, eine Schreibtorschaltung und eine
Lesetorschaltung enthält, mit einem Informationswortregister, an dessen Stufenausgänge Informationsleitungen angeschlossen sind, die jeweils mit den Vergleichsschaltungen
aller in einer Spalte liegenden Speicherzellen derart verbunden sind, daß jede Vergleichsschaltung
ein die Übereinstimmung bzw. Nichtübereinstimmung zwischen dem Inhalt des zugehörigen
Speicherelements und der über die Informationsleitung übertragenen Binärziffer anzeigendes Signal
abgibt, mit einem Adressierregister, an dessen Slufenausgänge Adressierleitungen angeschlossen sind, die
jeweils mit den Steuereingängen der Vergleichsschaltungen
aller in einer Spalte liegenden Speicherzellen verbunden sind, mit Zeüenleitungen, die jeweils an
die Ausgänge der Vergleichsschaltungen der zu einem Speicherplatz gehörenden Speicherzellen derart angeschlossen
sind, daß sie dann und nur dann einen die Übereinstimmung anzeigenden Spannungswert führen,
wenn in allen dem Vergleich unterworfenen Spalten eine Übereinstimmung besieht, mit Leselcitungen, die
jeweils mit den Ausgängen der Lesctorschaltungen aller in der gleichen Spalte liegenden Speicherzellen
verbunden sind, und mit Schreibsteuerleitungen, von denen jede mit den Steuereingängen der Schreiblorschaltungen
bestimmter Speicherzellen verbunden ist.
Ein assoziativer Speicher ist bekanntlich ein digitaler Informationsspeicher, bei dem der Zugriff zu den
Speicherplätzen nicht auf Grund der Angabe über die örtliche Lage der einzelnen Speicherplätze (»Adresse«)
erfolgt, sondern auf Grund des Inhalts der Speicherzellen; solche Speicher werden deshalb auch als
«inhaltsadressierte Speicher« bezeichnet. Das Auffinden einer bestimmten gespeicherten Information
erfolgt dadurch, daß die Inhalte oder ein bestimmter Teil der Inhalte sämtlicher Speicherplätze mit einem
vorgegebenen Vergleichskriterium verglichen wird; für diejenigen Speicherplätze, für die eine vollständige
Übereinstimmung festgestellt wird, wird ein Signal abgegeben, das den betreffenden Speicherplatz kennzeichnet
und das Auslesen des Inhalts dieses Speicherplatzes oder das Einschreiben einer neuen Information
in diesen Speicherplatz ermöglicht.
Die bekannten assoziativen Speicher haben im
Prinzip alle den eingangs angegebenen Aufbau. Ein besonders anschauliches Beispiel für diesen Stand der
Technik ist in der Zeitschrift »Frequenz« 1966, S. 69 bis 82, beschrieben und insbesondere in Bild 7 auf
S. 75 dargestellt. Bei diesen bekannten assoziativen Speichern enthält das eingangs erwähnte Informationsregister das Vergleichskriterium, das über die Informationsleitungen
den Vergleichsschaltungen der einzelnen Speicherzellen zugeführt wird. Das Adressier
register ist ein Masken register, das den Vergleich nur
in bestimmten Spalten der Speichermatrix zuläßt, während es die übrigen Spalten »maskiert«. An die
Zeilenleitungen sind Detektoren angeschlossen, die das Signal feststellen und speichern, das die vollständige
Übereinstimmung zwischen dem Vergleichskriterium und dem Inhalt der dem Vergleich unterworfenen
Speicherzellen eines Speicherplatzes anzeigt. Durch diese Teile des Speichers werden die durch das
Vergleichskritenum »adressierten« Speicherplätze aufgefunden.
Das anschließende 1 esen des Inhalts des gefundenen
Speicherplatzes oder das Einschreiben einer neuen Information in diesen Speicherplatz erfolgt dann bei
dem zuvor erwähnten bekannten assoziativen Speicher dadurch, daß auf Grund des im Detektor stehenden
Vergleichsergebnisses durch einen Verschlüßler eine interne Adresse für den gefundenen Speicherplatz gebildet
und mit Hilfe dieser internen Adresse über einen Entschlüßler ein Wort-Treiber angesteuert wird. In
diesem Fall sind also die Suchvorgänge von den Lese- und Schreibvorgängen zeillich und organisatorisch
getrennt.
Aus der DT-AS 12 69182 ist ein assoziativer Speicher
bekannt, der ohne Bildung einer inneren Adresse mit direktem Zugriff zu der Zeile arbeitet, für die eine
Übereinstimmung festgestellt wurde. Zu diesem Zweck ist für jede Zeile ein Zeilenzugriffschalter vorgesehen,
der in Abhängigkeit vom Suchergebnis eingestellt wird und den Zugriff für die beabsichtigten Lese- oder
Schreiboperationen freigibt. Auch in diesem Fall erfolgt das Lesen oder Schreiben in zwei Phasen: In der
ersten Phase wird der richtige Speicherplatz durch den Assoziativsuchvorgang aufgesucht und mit Hilfe
eines Speicherelementes markiert, und in der zweiten Phase erfolgt das Auslesen oder Einschreiben des
Inhalts des markierten Speicherplatzes.
In der zuerst erwähnten Literalurstelle »Frequenz« ist auch die Möglichkeit des direkten Zugriffs zum
Datenteil eines assoziativen Speichers erwähnt, die aber die festgelegte Unterteilung des Speichers in
einen assoziativen Teil und einen Dater.leil voraussetzt.
Aufgabe der Erfindung ist die Schaffung eines assoziativen Speichers der eingangs angegebenen Art, der
bei verringertem Schaltungsaufwand eine wesentliche Verkürzung des Speicherzyklus ergibt und bei dem
alle Speicherzellen unterschiedslos als Datenspcicherzellen oder als assoziative Speicherzellen verwendbar
sind.
Nach der Erfindung wird diese Aufgabe dadurch gelöst, daß die Signaleingänge der Schrcibtorschaltungen
aller in einer Spalte liegenden Speicherzellen an die dieser Spalte zugeordnete Informationsleitung angeschlossen
sind, daß jede Schreibstcuerleitung mit den Steuereingängen der Schreibtorschallungen aller
in einer Spalte liegenden Speicherzellen verbunden ist, 6j,
daß ein weiterer Steuereingang jeder Schreibtorschaltung mit der zugehörigen Zeilenleitung verbunden ist,
daß der Steuereingang jeder Lesetorschaltung mit der zugehörigen Zeilenleitung \erbunden ist, und daß der
die Übereinstimmung anzeigende Spannungswert auf der Zeilenleitung als Entsperrungssignal für die angeschlossenen
Lesetorschaltungen und Schreibtorsch.iltungen wirkt.
Die erfindungsgemäße Ausbildung ergibt die Wirkung, daß das Auslösen des sich an einen Suchvorgang
anschließenden Schreib- bzw. Lesevorgangs sofort möglich ist, ohne daß erst ein speicherndes Detektorelemcnt
abgefragt oder ein Zugriffschalter eingestellt werden muß, und ohne daß eine äußere Adressierung
notwendig ist. In dem Augenblick, in welchem für einen Speicherplatz die Übereinstimmung mit dem
Vergleichskriterium festgestellt worden ist, steht somit unmittelbar der Inhalt des gesamten Speicherplatzes
auf den Leseleitungen zur Verfügung: wenn außerdem bestimmte Schreibsteuerleitungen erregt sind, wird in
die an diese Schreibsteuerleitungen angeschlossenen Speicherzellen des betreffenden Speicherplatzes das
von der jeweils zugeordneten fnfonii:iiionsleiiung
übertragene Bit im gleichen Zuge eingeschrieben. Somit
entfällt nicht nur der zusätzliche Zeitaufwand für die Ansteuerung des betreffenden Speicherplatzes und
die Auslösung des Lese- oder Schreibvorgings mit
Hilfe einer internen Adresse oder \on Speicherelementen oder Zugriffsschaltern, sondern vor allem
auch der gesamte hierfür erforderliche Schallungsaufwand.
Bei dem assoziativen Speicher nach der Erfindung wird die Tatsache ausgenutzt, daß in der Regel bei
assoziativen Speichern der inhalt der dem Verg'cich unterworfenen Speicherzellen bei einem Schreibvorgang
nicht geändert werden soli, da dieser Inhalt ja die assoziative Adresse darstellt. Diese Speicherzellen
werden daher vom Schreibvorgang grundsätzlich ausgenommen, was durch die entsprechende selektive
Erregung der Schreibslcurleilungcn möglich ist. Der
Schreibvorgang kann daher durchgeführt werden, während die Vergleichshits noch anliegen. Diese Organisation
ergibt weitere Vorteile: die einzuschreibende Information kann in dem gleichen Informationswortregister
gespeichert sein wie das Vergleichskriterium, so daß ein besonderes Eingabercgister entfällt, und es
wird pro Spalte der Speichermatrix nur eine einzige Informationsleitung benötigt, die wahlweise entweder
die Vergleichsbits oder die einzuschreibenden Informationsbits führt. Praktisch erfolgt durch die selektive
Erregung der Schreibsteuerleitungen und der Adressierleitungen eine Unterteilung der Speicherplätze in einen
assoziativen Teil und einen Datenteil, wie dies bei assoziativen Speichern üblich ist, wobei aber diese Aufteilung
nach Belieben jederzeit geändert werden kann.
Wie bei den bekannten assoziativen Speichern ist es auch beim erfindungsgemäßen Speicher möglich,
eine Prioritätslogikschal'.ung vorzusehen, die eine Prioritätssteuerung bewirkt, wenn mehrere Speicherplätze
das gleiche Vergleichskriterium erfüllen. Dies kann gemäß einer vorteilhaften Ausgestaltung des
IZrfindungsgegenstandes dadurch geschehen, daß die Prioritätslogikschaltung eine Kaskade von Vcrriegclungsschallungcn
enthält, die in einer Folge der Reihe nach durch das Programmsignal freigegeben werden
und bei jedem Schritt der Folge jeweils eine Zeilenlcilung zur Annahme des die Übereinstimmung anzeigenden
Spannungswertes freigeben und alle übrigen Zeilenleitungen auf einem der scheinbaren Nichtübereinstimmung
entsprechenden Spannungswert halten.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt. Darin zeigt
F i g. 1 ein teilweise als Blockschaltbild ausgeführtes
Schaltbild eines Spcichcrmoduls des assoziativen Speichers nach der Erfindung und
F i g. 2 ein Blockschaltbild eines assoziativen Speichers nach der Erfindung, welcher aus den in F i g. 1
dargestellten Speichermodulen aufgebaut ist.
Der in F i g. 2 dargestellte assoziative Speicher besteht aus einer Anzahl von Speichcrmodulcn 5, die in
Hi horizontalen Reihen und η vertikalen Reihen angeordnet
sind und dementsprechend mit 5,„ 52, ...
51„, ... 5,„, 52„ ... 5m« bezeichnet sind. Jeder
Speichermodul 5 hat den in F i g. 1 gezeigten Aufbau; er enthält mehrere Speicherzellen 10, die zu bestimmten
Zeilen und Spalten des Speichers gehören; dem Bezugszeichen 10 sind deshalb in F i g. I zwei Indizes
hinzugefügt, welche die Spalte und die Zeile kennzeichnen, in denen die bclrffende Speicherzelle 10
liegt. Der Speichermodul 5 von F i g. 1 enthält acht Speicherzellen 10. die in zwei Spalten /, / -|- 1 und in
vier Zeilen k, k I- 1, k ~|· 2, A- + 3 liegen. Die am
Kreuzungspunkl der Spalte / und der Zeile k liegende
Speicherzelle 1Oi, ι-,., ist in F i g. 1 genauer dargestellt,
während die übrigen sieben Speicherzellen ΙΟ,·.*,,; 10i.fr ,„; 10Μ·;3: 10^,.»·: 10,·,*- + ,; 10f.A ,.,;
ΙΟ,-./,·!;, nur angedeutet sind.
Die acht Speicherzellen 10 des Speichcrmoduls 5
können auch als LJntermairix bezeichnet werden, aus
denen größere Speichermatrizen zusammengesetzt sind. Der kleinste Speicher, welcher mit solchen
Spcichermodulen gebaut werden kann, besteht nur aus einem einzigen Speichermodul. Ein aus Speichermodulen
dieser Art aufgebauter Speicher ist weiter so organisiert, daß alle in einer Zeile k liegenden Speicherzellen
einen einzigen Speicherplatz bilden. Der Index / definiert eine Bitslelle innerhalb dieses Speicherplatzes,
und alle der gleichen Bitstclle in den verschiedenen Speicherplätzen zugeordneten Speicherzellen
liegen in der gleichen Spalte /.
Die Speichermatrix im allgemeinen und der dargestellte Speichermodul insbesondere hat drei Eingangsleilungen
II', /, L und eine Ausgangsleitung D für jede Spalte, wie die Eingansleitungen Wi, /?, £-?
und die Ausgangsleitung D,- für die Spalte ;. Die Leitung
Wi ist die Schrcibsteuerleitung, welche bei Erregung
die Aufzeichnung eines Bits in mindestens eine Speicherzelle 10 der Spalte / bewirkt. Die Leitung /,·
ist die Adressierleitung, welche bei Erregung anzeigt, daß für den laufenden assoziativen Suchvorgang angenommen
wird, daß die Bitstelle / der Speicherplätze ein Adressenbit enthält. Die Leitung Lt ist die Informationsleitung,
die das entsprechende Informationsbit führt. Wenn die Schreibsteuerleitung W1 gleichzeitig
mit der Leitung Z,< erregt ist, ist das auf die Informationsleitung
Li gegebene Bit ein aufzuzeichnendes Datenbit. Wenn die Adressierleitung /j gleichzeitig
erregt wird, definiert das Bit auf der Informationsleitung Li ein assoziatives Suchbit und es wird eine
Speicherzelle in der Spalte / gesucht, welche ein Bit enthält, das gleich dem von der Informationsleitung U
gelieferten Bit ist. Die Ausgangsleitung Di ist die Leseleitung,
welche die Entnahme eines Bits einer adressierten Bitstelle in der Spalte ; ermöglicht. Jede Zeile hat
eine einzige Zeilenleitung K, wie die Leitung Yk für
die Zeile A. welche sowohl als Eingangs- wie auch als
Ausgangsleitung für alle Speicherzellen in dieser Zeile dient. Daher wird jeder Matrixpunkt von fünf Leitungen
bedient, wie weiter unten näher erläutert wird Infolge der Signalverarbeitung innerhalb des Speichermoduls
und außerhalb der Speicherzellen, wie sie weiter unten erläutert wird, sind zwei zusätzliche
Anschlußleitungen für jede Speicherzelle erforderlich, so daß jede Speicherzelle mit sieben Anschlüssen verschen
ist.
Es soll nun der Aufbau einer einzelnen Speicherzelle 10 innerhalb eines Speichermoduls 5 an Hand der
ίο Speicherzelle 10i.fr von Fig.! beschrieben werden.
Es sind fünf Eingangsanschlüsse 11, 12, 13. 14 und 15 sowie zwei Ausgangsanschlüsse 16 und 17 für die betreffende
Speicherzelle 10,· t vorgesehen. Die Eingangsanschlüsse U, 13 und 14 sind mit den Eingmgsleitungen
/f, Wf, bzw. /_,· der Spalte/ verbunden. Der Anschluß
12 ist, gemeinsam mit den entsprechenden An-' Schlüssen der übrigen Speicherzellen der gleichen
Spalte, mit einer Leitung verbunden, die ihrerseits mit der Informationsleitung L1 über ein Nicht-Glied 18
verbunden ist und daher als »komplementäre Informationsleitung t7« bezeichnet werden kann. Der Anschluß
15 ist mit der Zeilenleitung K* der Zeile A' über
einen Verstärker 32 verbunden. Der Ausgangsanschluß 17 ist mit der Zeilenleitung Yt über ein Nicht-Glied
31 verbunden, und der Ausgangsanschluß 16 ist, gemeinsam mit den entsprechenden Anschlüssen der
übrigen Speicherzellen dergleichen Spalte, mit einer Leitung
verbunden, die mit der Leseleitung D, der Spalte / über ein Nicht-Glied 35 verbunden ist, und dementsprechend
als »komplementäre Leseleitung 75~« bezeichnet werden kann.
Das zentrale Element jeder Speicherzelle ist ein bistabiles Glied 20, das ein einfaches bistabiles Flipflop sein kann. Das Flipflop 20 befindet sich natürlich
stets entweder im gesetzten oder im zurückgesetzten Zustand und es wird angenommen, daß diese Zustände
dem Binärwert 1 bzw. dem Binärwert 0 entsprechen. Die Ausgänge des Flipflops 20 sind mit einer aus zwei
Und-Gliedcrn 21. 22 bestehenden Vergleichsschaltung
und mit einer Lesetorschaltung 23 verbunden, während
seine Eingänge mit einer aus zwei NAND-Gliedern 24 und 25 bestehenden Schreibtorschaltung verbunden
sind. Folgende Schaltverbindungen sind hergestellt:
Ein Eingang des Und-Gliedes 21 ist an den direkten
Ausgang des Flipflops 20 angeschlossen. Zwei weitere Eingänge des Und-Gliedes 21 sind mit den Eingangsanschlüssen 11 bzw. 12 verbunden. Ein Eingang des
Und-Gliedes 22 und ein Eingang der Lesetorschaltung 23 sind an den komplementären Ausgang des Füpfiops
20 angeschlossen. Zwei weitere Eingänge des Und-Gliedes
22 sind mit den Eingangsanschlüssenil und 14 verbunden, und ein weiterer Eingang des Und-Gliedes
23 mit dem Eingangsanschluß 15 verbunden. Die Ausgänge der Und-Glieder 21 und 22 sind zur
Bildung einer Antivalenzschaltung in einer Oder-Verknüpfung
miteinander verbunden; der Ausgang der dadurch gebildeten Vergleichsschaltung ist mit dem
Ausgangsanschluß 17 verbunden. Die Vergleichsschaltung 21, 22 wird während eines assoziativen Such-Vorgangs
in Bereitschaft gesetzt und vergleicht das über die Informationsleitung Lt auf die Spalte i gegebene
Bit mit dem Zustand des Flipflops 20. Der Ausgang der Lesetorschaltung 23 ist mit dem Ausgangsanschluß 16 verbunden. Daher liefert die Lesetor-
schaltung 23 ein zu dem Zustand des Flipflops 20 komplementäres Signal zum Anschluß 16, wenn die
betreffende Speicherzelle über den mit der Zeilenleitung }'»- verbundenen Anschluß 15 angesteuert wird.
p Die Asso Und-Glieder 21, 22 der Vergleichsschaltung ein Ausgangssignal
»1« ab, so daß zum Ausgangsanschluß 17 ein Signal »0« übertragen wird.
Das gleiche Signal »0« gelangt zum Ausgangsanschluß 17, wenn die betreffende Speicherzelle 10«, *
nicht an dem Assoziativsuchvorgang teilnimmt, weil dann die Und-Glieder 21, 22 der Vergleichsschaltung
durch das Signal »0« auf der Adressierleitung /< gesperrt sind.
Wenn dagegen der Inhalt des Flipflops 20 nicht mit dem Suchbit auf der Informationsleitung Lt übereinstimmt,
gibt infolge der Antivalenzverknüpfung entweder das Und-Glied 21 oder das Und-Glied 22 das
Ausgangssignal »1« ab, das zum Ausgangsanschluß 17 übertragen wird, vorausgesetzt, daß gleichzeitig das
Aktivierungssignal auf der Adressierleitung /( anliegt.
Es ist zu erkennen, daß die Und-Glieder 21 und 22 niemals gleichzeitig ein Ausgangssignal »1« abgeben
können, da nicht beide Ausgänge des Flipflops 20 gleichzeitig das Signal »1« führen können; die dargestellte
Vergleichsschaltung 21, 22 entspricht also tatsächlich einer Antivalenzschaltung.
Der Ausgangsanschluß 17 ist über ein Nicht-Glied 31 mit der Zeilenleitung Yk verbunden. Diese Zeilenleitung
Vj- ist sämtlichen Speicherzellen 10 der Zeile k
zugeordnet, die zusammen einen Speicherplatz bilden. Wie aus F i g. 1 zu erkennen ist, ist auch der entsprechende
Ausgangsanschluß 17 der zweiten, zur gleichen Zeile k gehörenden Speicherzelle 1Of h.a- des
dargestellten Speichermoduls 5 mit dem Eingang des gleichen Nicht-Gliedes 31 verbunden. Der Ausgang
des Nicht-Gliedes 31 gibt somit nur dann ein Ausgangssignal »1« ab, wenn die Ausgangsanschlüsse 17 der
beiden Speicherzellen 10,, a- und 1O1 + 1,*- gleichzeitig
ial »0« führen während in allen anderen Fällen cht-Glied 31 die Zeiienleitung Yk- auf dem
Signalwert »0« hält.
Die Ausgangsanschlüsse 17 aller in der Zeile A liegenden Speicherzellen 10 sind in gleicher Weise
der Weise ab" Das den Assoziativsuchvorgang an- 40 über entsprechende Nicht-Glieder mit der Zeilenzeigende
Signal auf der Adressierleitung h wird auf leitung Yk gekoppelt. Die Vergleichsschaltung 21. 22
den Eingangsanschluß 11 gegeben und dadurch den einer an dem Assoziativsuchvorgang nicht beteiligten
beiden Und-Gliedern 21 22 der Vergleichsschaltung Speicherzelle 10 ist außer Bereitschaft, wenn die bezugeführt
Nach einer kurzer. Verzögerung, die ins- treffende Adressierleitung/ nicht erregt ist, und sie
besondere gewährleisten soll, daß diese Signale in den 45 gibt dementsprechend ein Signal »0« ab. Es ist^ von
Und-Gliedern 21, 22 endgültig eingestellt sind, wird
ein den Binärwer» des Suchbits angegebenes Signal auf
die Informationsleitung U gegeben, an welche der
Eingangsanschluß 14 der Speicherzelle angeschlossen
ist. Das Nicht-Glied 18, das zu den Schaltungen ge- 5°
hört, die eine Signalverarbeitung innerhalb des Speimoduls S, aber außerhalb der Speicherzellen 10 durchführen, erzeugt auf der Kompkmentär-Informationsleitung 17 ein Signal, das zu dem Signal auf der Informationsleitung Li komplementär ist; dieses komple- 55
ein den Binärwer» des Suchbits angegebenes Signal auf
die Informationsleitung U gegeben, an welche der
Eingangsanschluß 14 der Speicherzelle angeschlossen
ist. Das Nicht-Glied 18, das zu den Schaltungen ge- 5°
hört, die eine Signalverarbeitung innerhalb des Speimoduls S, aber außerhalb der Speicherzellen 10 durchführen, erzeugt auf der Kompkmentär-Informationsleitung 17 ein Signal, das zu dem Signal auf der Informationsleitung Li komplementär ist; dieses komple- 55
mentäre Signal wird dem Eingangsanschluß 12 der .
^ — Die Zeiienleitung Yk nimmt dann und nur dann den
Signalwert »1« an, wenn sämtliche Ausgangsanschlüsse
17 der zugeordneten Speicherzellen 10 das Signal »0« 60 führen; dies ist nur dann der Fall, wenn alle dem Assoziativsuchvorgang
unterworfenen Speicherzellen dieser Zeile hinsichtlich ihres Inhalts mit dem über die
entsprechende Informationsleitung L übertragenen
mentärT Ausg^ngssTgnal des Flipflops20 und aas Suchbit übereinstimmen Wenn auch nur bei einer
direkt Informationssienal der Informationsleitung U «5 dieser Speicherzellen keine Ubera.nstimmung be-ΪΤ
Lu-S*J7mtanddes Flipflopl 20 steht, gibt die Vergleichsschaltung 21, 22 dieser
S^K^^sSÄnieMÄ^ Speicherzelle 10 ein Signal .1, ab das dem Nichtleitung
L1 übSnstimmt, gibt keines der beiden Glied 31 zugeführt wird, so daß das Ausgangss.gnal
609635/119
Infolge des Nicht-Gliedes 35 erscheint dann auf der Leseleitung £>
< ein den Zustand des Flipflops 20 wiedergegebenes Signal.
Das NAND-Glied 25 der Schreibtotschaltung steuert den Setz-Eingang des Flipflops 20 an. Die drei
Eingänge dieses NAND-Gliedes sind mit den Eingangsanschlüssen 12, 13 bzw. 15 verbunden. Das
NAND-Glied 24 steuert den Rücksetzeingang des Flipflops 20 an; seine drei Eingänge sind mit den
Eingangsanschlüssen 13, 14 bzw. 15 verbunden. Die Schreibsteuerschaltung 24, 25 bewirkt daher ein Setzen
oder Zurücksetzen des Flipflops 20, wenn die Schreibsteuerleitung Wi erregt ist und wenn der Speicherplatz
A- (d. h. alle mit der Zeilenleitung Yk verbundenen
Speicherzellen 10) angesteuert wird.
Bei dem beschriebenen assoziativen Speicher kann jede Speicherzelle 10 eine doppelte Rolle spielen: Das
darin gespeicherte Bit kann entweder ein Suchbit für den assoziativen Suchvorgang oder ein Datenbit sein;
die jeweilige Bedeutung ist nicht durch die betreffende Speicherzelle festgelegt, sondern hängt von der Steuerung
mittels der Adressierleitung / ab. Die Erregung der Adressierleitung /<
zeigt an, daß die Spalte / an dem Assoziativsuchvorgang teilnimmt. nip '
ziativsuche besteht darin, daß fesi ' "' Speicherzellen in den am Assozi;
nehmenden Spalten Bits speichern, die .... zeitig über die Informationsleitung L der
Spalte zugeführten Bits ü' -----'—*:——~
ergebnis ist für diejenigen _
positiv, in denen den Inhalt sämtlicher Vorgang teilnehmenden Speicherzellen mit den über die zugeordneten Informationsleitungen L übertragenen Suchbits übereinstimmt. Wenn auch nur bei einer der am Suchvorgang teilnehmenden Speicher- 35 das zellen diese Übereinstimmung nicht besteht, ist das das Suchergebnis für die betreffende Zeile negativ.
positiv, in denen den Inhalt sämtlicher Vorgang teilnehmenden Speicherzellen mit den über die zugeordneten Informationsleitungen L übertragenen Suchbits übereinstimmt. Wenn auch nur bei einer der am Suchvorgang teilnehmenden Speicher- 35 das zellen diese Übereinstimmung nicht besteht, ist das das Suchergebnis für die betreffende Zeile negativ.
Unter diesen -Voraussetzungen läuft der Asso-Bedeutung, daß die Vergleichsschaltungen 21. 22 der
Speicherzellen 10 jeweils die gleichen Ausgangssignale (nämlich das Ausgangssignal »0«) abgeben, wenn sie
— entweder überhaupt nicht an dem Assoztativsuchvorgang
teilnehmen (wobei das Ausgangssignal der Vergleichsschaltung dann unabhängig vom Inhalt der Speicherzelle ist);
— oder an dem Assoziativsuchvorgang teilnehmen und ihr Inhalt mit dem über die Informationsleitung L übertragenen Suchbit übereinstimmt.
SSiSA!; Und-GLd 21 auß;r dem über
die Adressierleitung U kommenden A^^WJJs
das direkte Ausgangssignal des F 1P110P^" ""ions.
komplementäre Informationssigna d" lnl°X* dem
leitung Lt, während das Und-Glied 22 auuer
Aktivierungssignal der Adressierleitung «£as ™mp
mentäre Ausgangssignal des t F1'PfloPt s.*" "™ ,
des betreffenden Nicht-Glieds 31 den Signalwert »0« Übertragung les Inhalts ihres Flipflops auf die Lesehat,
wodurch die Zeilenleilung Yt auf dem Signalwert leitung A + i geöffnet wird. Allgemeiner ausgedrückt:
»0« gehalten wird, und zwar unabhängig davon, ob Die Lesetorschaltung jeder Speicherzelle 10 überdie
übrigen Vcrgleichsschaltungen der in der gleichen trägt den Inhalt der betreffenden Speicherzelle zu der
Zeile liegenden Speicherzellen 10 Signale »1« oder 5 Leseleitung D, sobald die zugeordnete Zeilenleitung Y
Signale »0« abgeben. Dabei nimmt das Ausgangs- den Signalwert »1« annimmt, also dann, wenn das
signal des Nicht-Glieds 31 den Signalwert »0« an, so- Suchergebnis für den betreffenden Speicherplatz
bald wenigstens einer der beiden mit ihrem Eingang positiv war, und zwar unabhängig davon, ob die beverbundenen
Anschlüsse 17 den Signalwcrt »1« führt, treffende Speicherzelle 10 an dem Assoziativsuchunabhängig
von dem Signalwert auf dem anderen 10 Vorgang teilnahm oder nicht.
Anschluß 17. Unabhängig von der Durchführung eines Asso-
Anschluß 17. Unabhängig von der Durchführung eines Asso-
Mit anderen Worten: Durch die Erregung der ziativsuchvorgangs besteht auch die Möglichkeit, eine
Adressierleitungen / wird festgelegt, welche Speicher- Zeilenleitung Y durch äußere Einwirkung auf den
zellen 10 einer Zeile an dem Assozialivsuchvorgang Signalwert »1« zu bringen. Dies ermöglicht ein Lesen
teilnehmen. Wenn die Inhalte dieser Speicherzellen 15 sämtlicher Speicherzellen, die der betreffenden Zeilenmit
den über die zugeordneten InformationsleitungenL leitung Y zugeordnet sind, natürlich vorausgesetzt,
übertragenen Suchbits übereinstimmen, nimmt die daß gleichzeitig die übrigen Zeilenleitungen Y der
entsprechende Zcilenleitung Y den Signalwert »1« an, Speichermatrix durch äußere Einwirkung auf dem
unabhängig von den Inhalten der nicht an dem Signalwert »0« gehalten werden. Dieser Fall wird
Assoziativsuchvorgang beteiligten Speicherzellen der 20 weiter unten ausführlicher erläutert,
betreffenden Zeile. Wenn dagegen bei wenigstens einer Es soll nun beschrieben werden, wie ein Inforder am Assoziativsuchvorgang beteiligten Speicher- mationsbit in die Speicherzelle 1Oi1A.- eingeschrieben zellen keine Übereinstimmung des Inhalts mit dem werden kann. Für die Durchführung eines Schreibüber die entsprechende Informationsleitung/, über- Vorgangs ist es notwendig, daß die Schreibsteuertragenen Suchbit besteht, nimmt die Zcilenleitung )' 25 leitung Wt der entsprechenden Spalte / erregt ist, also den Signalwert »0« an, wiederum unabhängig von den . ein Signal »1« führt. Dieses Signal wird über den An-Inhalten der nicht am Assoziativsuchvorgang be- Schluß 13 den beiden NAND-Gattern 24 und 25 der teiligten Speicherzellen. Schreibtorschaltung zugeführt. Der Schreibvorgang
betreffenden Zeile. Wenn dagegen bei wenigstens einer Es soll nun beschrieben werden, wie ein Inforder am Assoziativsuchvorgang beteiligten Speicher- mationsbit in die Speicherzelle 1Oi1A.- eingeschrieben zellen keine Übereinstimmung des Inhalts mit dem werden kann. Für die Durchführung eines Schreibüber die entsprechende Informationsleitung/, über- Vorgangs ist es notwendig, daß die Schreibsteuertragenen Suchbit besteht, nimmt die Zcilenleitung )' 25 leitung Wt der entsprechenden Spalte / erregt ist, also den Signalwert »0« an, wiederum unabhängig von den . ein Signal »1« führt. Dieses Signal wird über den An-Inhalten der nicht am Assoziativsuchvorgang be- Schluß 13 den beiden NAND-Gattern 24 und 25 der teiligten Speicherzellen. Schreibtorschaltung zugeführt. Der Schreibvorgang
Wenn die Zeilenleitung >'*■ den Signalwert »1« setzt ferner voraus, daß die zugeordnete Zeilen-
führt (positives Suchergebnis), wird dieses Signal in 30 leitung Yk den Signalwert »1« führt. Dieser Signalwert
einem Verstärker 32 verstärkt, der ebenfalls zu den kann in einer der beiden zuvor angegebenen Weisen
außerhalb der Speicherzellen liegenden Bauelementen erhalten werden, nämlich entweder infolge eines posi-
des Speichcrmoduls 5 gehört. Die Eingangsanschlüsse tiven Suchergebnisses oder durch eine äußere Ein-
15 der beiden in der betreffenden Zeile liegenden wirkung. In beiden Fällen liefert der Verstärker 32
Speicherzellen 10t,A und 10,-.*., sind an den Ausgang 35 ein Signal »1« zu einem Eingang jedes der beiden
dieses Verstärkers 32 angeschlossen. Das Ausgangs- NAND-Glieder 24, 25 der Schreibtorschaüung, wo-
signal des Veratärkcrs 32 wird somit jeweils zu einem durch die Schreibtorschaltung für einen Schreib-
Eingang der Lesetorschaltung 23 und der beiden Vorgang vorbereitet wird.
NAND-Glieder 24, 25 der Schreibtorschaltung jeder Das in die Speicherzelle einzuschreibende Bit wird
der beiden Speicherzellen 10 übertragen. Wie be- 40 anschließend wieder auf die Informationslcitung U
reits erwähnt wurde, empfängt die Lesetorschai- der Spalte ; gegeben. Es liegt also an allen Spcicher-
tung23 außerdem das Ausgangsignal vom korn- zellen dieser Spalte an, wird aber nur in die Speicher-
plementären Ausgang des Flipflops 20. Wenn somit zelle der Zeile eingeschrieben deren Zeilenleitung Y
das Flipflop 20 im Ruhezustand steht, liefert die Lese- erregt ist. Je nach dem Binärwert des über die Infor-
torschaitung 23 ein Signal »1« zum Ausgangsanschluß 45 mationsleitung L, übertragenen Informationsbits führt
16; wenn dagegen das Flipflop 20 im gesetzten Zu- entweder der Anschluß 12 oder der Anschluß 14 das
stand stc'H, liefert die Lesetorschaltung 23 ein Signal Signal »1«, so daß das betreffende NAND-Glied 25
»0« zum Ausgangsanschluß 16. Das Ausgangssignal bzw. 24 ein Ausgangssignal »0« abgibt Das Flipflop 20
der Lesetorschaltung 23 gelangt somit auf die komple- wird dementsprechend gesetzt oder zurückgesetzt,
mentäre Leseleitung D1, die über das Nicht-Glied 35 50 wodurch das über die Informationsleitung U zu-
mit der Leseleitung A verbunden ist. Somit führt die geführte Informationsbit gespeichert wird
Leseleitung A ein Signal, das dem Zustand des In der vorstehenden Beschreibung der Speicherzelle
Flipflops 20 entspricht, sobald der betreffenden Spei- ΙΟ,.* und ihrer Funktionsweise sind bereits verschie-
cherzellelO ein Ausgangssignal vom Verstärker 32 dene Bestandteile des Speichermoduls 5 erwähnt
zugeführt wird. ........ „ · . 55 worden, die mehreren Speicherzellen gemeinsam sind.
Dieser Vorgang erfolgt naturlich fur alle mit der Hierzu gehören das Nicht-Glied 31 und der Vergleichen
Zeilenleitung Y verbundenen Speicherzellen stärker 32, die den mit der Zeilenleitung Yt verbungleichzeitig,
da sämtliche Verstärker 32 dieser Zeile denen Speicherzellen dieses Speichermoduls gemeingleichzeit.g
ein Ausgangssignal abgeben, sobald die sam sind. Entsprechende Nicht-Glieder 311 312,313
Zeilenleitung Y den Signalwert »1« annimmt. Somit 60 und Verstärker 321 322 323 sind für die Zeilenwerden
die in den betreffenden Speicherzellen 10 ge- leitungen Yk+U Yk+, γ' vorgesehen Das Nichtspe.cherten
Bits gleichzeitig parallel an den Lese- Glied 18 ist allen in der Spalte /liegenden Speicherle.tungen
A, A + , .. .abgeben Wenn man beispiels- zellen dieses Speichermoduls gemeinsam; dieses Nichtweise annimir.t, daß die Zelle 10, Mil nicht an dem Glied hat insbesondere den Zweck eine besondere
Assoziativsuchvorgang teilnahm, weil die entsprechen- 65 Spaltenleitung einzusparen deren Signal stets zu dem
de Adressierleitung /, 4, nicht erregt war, so empfängt Signal auf der Informationsleitung U komplementär
diese Speicherzelle dennoch das Ausgangssignal des ist. Ein entsprechendes Nicht-Glied 19 ist für die
Verstärkers 32, so daß ihre Lesctorschaltung zur Speicherzellen in der Spalte i + 1 vorgesehen. Das
Nicht-Glied 35 ist ebenfalls allen in der Spalte / liegenden
Speicherzellen des Speichermoduls gemeinsam, und ein entsprechendes Nicht-Glied 36 ist für die in
der Spalte; + 1 liegenden Speicherzellen vorgesehen.
Schließlich ist für die Spalte/ ein Nicht-Glied 33 vorgesehen, das die Informationsleitung h mit der
Schreibsteuerleitung W{ dieser Spalte verbindet; ein
entsprechendes Nicht-Glied 34 verbindet in der Spalte f" + 1 die Informationsleitung Zi + 1 mit der Schreibsteuerleitung
Wi ι,. Das Nicht-Glied 33 häit diese
Schreibsteuerleitung Wt auf dem Signalwert »0«. wenn
die Adressierleitung Λ den Signalwert»!« führt. Dadurch wird verhindert, daß eine Spalte, die durch Erregung
der Adressierleitung / für einen Assoziativversuchvorgang ausgewählt ist, an einem Schreibvorgang
teilnimmt, durch den die in dieser Spalte stehenden Bits (die ja gewissermaßen die »Adressenbits«
des Assoziativsuchvorgangs bilden) geändert werden könnten. Die automatische Sperrung des
Schreibvorgangs für alle am Assoziativsuchvorgang beteiligten Spalten ermöglicht wiederum eine Vereinfachung
des Schaltungsaufbaus, denn es ist dann beispielsweise möglich, alle Schreibsteuerleitungen W
an eine gemeinsame Steuerquelle (beispielsweise ein einziges Schreibsteuer-Flipflop) anzuschließen, das
alle Schreibsteuerleitungen W erregt, soweit diese nicht durch Erregung der entsprechenden Adressierleitung
/ blockiert sind. Auch ist es dadurch möglich, einen Schreibvorgang durch äußere Erregung aller
Schreibsteuerleitungen ohne Durchführung eines Assoziativsuchvorgangs vorzunehmen, dabei aber bestimmte
Speicherzellen durch Erregung der betreffenden Adressierleitungen / vom Schreibvorgang auszunehmen.
Schließlich können umgekehrt die in bestimmten Speicherzellen stehenden Datenbits vor einem Schreibvorgang
geschützt werden, wenn in andere Speicherzellen die Adressenbits für eine neue assoziative
Adresse eingeschrieben werden sollen.
Folgende besondere Situationen sind noch von Interesse: Wenn alle Adressierleitungen/ einer Speichermatrix
gleichzeitig das Signal »0« führen, werden alle Zeilenleitungen Y gleichzeitig auf den Signalwert »1« gebracht. Wenn in diesem Fall zusätzlich auf
sämtliche Schreibsteuerleitungen W das Signal »1« und auf sämtliche Informationsleitungen L das Signal
»0« gegeben wird, werden alle Flipflops zurückgestellt, d. h., daß der gesamte Speicher gelöscht
wird. Anders ausgedrückt, durch gleichzeitige Erregung aller Schreibsteuerleitungen W, während gleichzeitig
alle Adressierleitungen / auf dem Signalwert »0« gehalten werden, wird in alle Zellen jeder Spalte das
Bit eingegeben, das gerade über die Informationsleitung L der betreffenden Spalte übertragen wird.
Die vorstehende Beschreibung läßt erkennen, daß der Assoziativsuchvorgang nicht notwendigerweise
stets zu einer eindeutigen Situation führt. Die Suchbedingung kann so gewählt sein, daß mehrere Zeilenleitungen Y gleichzeitig den Signalwert »1« annehmen.
Die über die Leseleitangen D ausgegebenen Daten
wären dann nicht eindeutig, und bei der Durchführung eines Schreibvorgangs würde die gleiche Information
in mehrere Speicherplätze eingeschrieben werden. Um solche Unbestimmtheiten zu vermeiden, sind die
Zeilenleitungen Y mit einer Prioritätslogikschaltung 60 verbunden, wie sie nun an Hand von F i g. 2 beschrieben
werden soll.
F i g. 2 zeigt, wie ein assoziativer Speicher aus Soeichermodulcn der in F i g. 1 dargestellten Art zusammengebaut werden kann. Jeder Speichermodul hat
entsprechend der Darstellung von F i g. 1 acht Bitspeicherstellen,
und zwar jeweils zwei Bits von vier verschiedenen Wörtern, die in vier aufeinanderfolgenden
Zeilen gespeichert sind. Es sei angenommen, daß der Speicher insgesamt ρ Speicherplätze und
q Bitstcllen je Speicherplatz aufweist. Dabei sind ρ
und q im allgemeinen positive ganze Zahlen. Für den kleinstmöglichen Speicher, der nur aus einem Speichermodul
besteht, gilt /> 4 und q -■- 2 (m - η — 1).
Somit muß ρ ein ganzzahliges Vielfaches von 4 und q
ein ganzzahliges Vielfaches von 2 sein. Dies ist jedoch keine grundsätzliche Einschränkung, sondern ergibt
sich lediglich aus der Verwendung eines Speichermoduls
mit 2 · 4 Speicherzellen. Es ist zu beachten, daß in F i g. 2 die Speichermodule 5 gegenüber der
Darstellung von Fig.! um 90° gedreht sind, so daß
die »Zeilen« vertikal und die »Spalten« horizontal verlaufen. Die Speichermodule 5 sind in F i g. 2 in m
horizontalen Reihen (die den Spalten entsprechen) und in η vertikalen Reihen (die den Zeilen entsprechen)
angeordnet und mit Indizes versehen, deren erste Ziffer die horizontale Reihe und deren zweite Ziffer
die vertikale Reihe bezeichnet. Es gilt also /1 = p/4 und /?i — q/2, und es sind insgesamt qjl ■ p/4 Speichermodule
der in F i g. 1 gezeigten Art vorhanden. Aus Platzgründen sind jedoch nur die in den beiden ersten
horizontalen Reihen Nr. 1 und Nr. 2 und in der letzten horizontalen Reihe Nr. in liegende Module der ersten
vertikalen Reihe Nr. 1 und der letzen vertikalen Reihe Nr. /; liegenden Speichermodule 5,,, S21, 5»» 1 ^ 5in.
52„. 5,„„ dargestellt.
Für diese sechs Speichermodule sind in F i g. 1 die zugehörigen Schreibsteuerleitungen W, Adressierleitungcn
/, Informationsleitungen L und Leseleitungen O angedeutet, die jeweils allen in der gleichen horizontalen
Reihe liegenden Speichermodulen gemeinsam sind, sowie die Zeilenlcitungen }', die jeweils allen in
der gleichen vertikalen Reihe liegenden Speicher-
4» modulcn 5 gemeinsam sind. Für die Speichermodule 5,, und 5, π der ersten (untersten) horizontalen Reihe
sind dies die Schreibsteuerleitungen Wx, W2, die
Adressierleitungen Z1, Z2, die Informationsleitungen L1,
L2 und die Lescleitungen D1, D2; für die Speicher-
4:5 module 521 und 5sf! der zweiten horizontalen Reihe die
Schreibsteuerlcitungen H3. W1, die Adressierleitungen
Z3, Z1, die Informationsleitungen L3, L4 und die Leseleitungen
D.„ Dj; und schließlich für die Speichermodule
5m, und 5,„„ der letzten horizontalen Reihe
die Schreibsteuerleitungen Wq, Wq~x, die Adressierleitungen
Z7, Z171, die Informationsleitungen L9, Lq- ■
und die Leseleitungen Dq, Dq ,. Für die Speicher
module Sn, 521, 5ffll der ersten vertikalen Reihe sine
die Zeilenleitungen K1, Y2, Y3, Yt dargestellt, und füi
die Speichermodule 5, n, 52 „, 5mn der letzten vertikaler
Reihe die Zeilenieitungen Yv, Yp~\, Yp z, Yp 3
Alle Zeilenleitungen Y sind mit einer Prioritätslogik schaltung 60 verbunden, die außerdem über eini
Leitung 66 ein von außen kommendes Freigabesigna empfängt. Die Prioritätslogikschaltung 60 hat dii
Aufgabe, ein gleichzeitiges Ansteuern von zwei ode mehr Speicherplätzen zu verhindern, wenn mehrer
Zeilenleitungen Y gleichzeitig den Signalwert »1« füh ren, weil der Assoziativsuchvorgang für die be
«5 treffenden Speicherplätze positiv verlaufen ist.
In der Pnoritätslogikschaltung 60 ist jede Zeilen
leitung Y mit dem einen Eingang eines NOR-Gliede verbunden, wie durch die NOR-Glieder 70, 71, 72 fü
13 14
die Zeilenleitungen K1, K„, Y3 dargestellt ist. Der Pufferverstärker 93 sowie die weiteren, nicht dar-
zweite Eingang jedes dieser NOR-Glieder empfängt gestellten Pufferverstärker an die Zeilenleitung Y1
das über die Leitung 66 kommende Freigabesignal. und alle folgenden Zeilenleitungen angelegt, so daß
Der Ausgang jedes NOR-Gliedes 70, 71,72 ... ist mit diese auf dem Signalwert »0« gehalten werden, unab-
dem einen Eingang eines Oder-Gliedes 80, 81, 82 ... 5 hängig von dem Ergebnis des Assoziativsuchvorgangs,
veibunden, dessen zweiter Eingang jeweils an den Aus- Wenn kein Freigabesignal über die Leitung 66
gang des vorhergehenden Oder-Gliedes angeschlossen übertragen wird, ist die Prioritätslogikschaltung 60
ist und beim ersten Oder-Glied 80 dauernd ein dem außer Betrieb gesetzt. Dies ist beispielsweise für den
Signalwert »1« entsprechendes positives Potential emp- zuvor beschriebenen Vorgang des Löschens des
fängt, herner ist der Ausgang jedes Oder-Gliedes 8ß, io ganzen Speichers wichtig, bei dem alle Zeilenleitungen
81, 82 ... über einen Pufferverstärker 91, 92, 93 ... Y1 bis Yp auf dem Signalwert »lt gehalten werden
mit der folgenden Zeilenleitung K2, Y3, K4 ... ver- müssen. Die Prioritätslogikschaltung 60 muß auch dann
bunden. Die Oder-Glieder 80, 81, 82 ... bilden zu- außer Betrieb gesetzt werden, wenn die gleiche Infor-
sammen mit den Pufferverstärkern 91, 92, 93 ... Ver- mation in mehr als einen Speicherplatz eingeschrieben
riegetüngsschaltungen, weiche die jeweils angeschlos- 15 werden soll. Schließlich können die Zeilenleitungen K1
sene Zeilenleitung K zwangsläufig auf dem Signal- bis Yp auch mit einer nicht dargestellten äußeren
wert »0« halten, wenn irgendeine der davorliegenden Adressieranordnung gekoppelt sein, so daß die Spei-
Zeilenleitungen den Signalwert»!« führt,- dadurch cherplätze unabhängig von einem der zuvor beschrie-
wird eine Prioritätsrangfolge festgelegt, wobei die benen Vorgänge angesteuert werden können. Diese
erste Zeilenleitung K1 die höchste und die letzte Zeilen- 20 Möglichkeit macht die Anordnung noch anpassungs-
leitung Yp die niedrigste Priorität hat. fähiger, setzt aber ebenfalls voraus, daß die Pnoritäts-
Diese Prioritätslogikschaltung 60 arbeitet in fol- logikschaltung 60 außer Betrieb gesetzt ist.
gender Weise: Es sei angenommen, daß über dieLei- Die Leseleitungen D1 bis Dq, von denen jede mit tung66 ein Freigabesignal an sämtliche NOR-Glie- allen in der gleichen Spalte liegenden Speicherzellen der 70, 71, 72 angelegt wird. Ferner sei angenommen, 25 verbunden ist, sind an ein Datenaufnahmeresgister 65 daß die erste Zeilenleitung K, infolge des positiven angeschlossen, das q Stufen hat. Die Leseleitung D1 Ergebnisses eines Assoziativsuchvorgangs den Signal- ist mit der ersten Stufe das Datenaufnahmeregisters 65 wert »1« führt. In diesem Fall gibt das NOR-Glied 70 verbunden, die Leseleitung D2 mit der zweiten Stufe ein Signal »0« ab, das über sämtliche in Kaskade ge- und schließlich die Leseleitung D9 mit der q-ten Stufe, schalteten Oder-Glieder 80, 81, 82 ... übertragen wird 30 In das Datenaufnahmeregister 65 werden somit und somit zu den Eingängen aller Pufferverstärker 91, parallel die Bits des Wortes eingegeben, das, in der 92, 93 ... gelangt. Das verstärkte Signal »0« liegt zuvor beschriebenen Weise aus der angesteuerten Zeile somit an sämtlichen Zeilenleitungen K2, K3 ... Yv der Speichermatrix ausgelesen wird. Die Schrei bmit Ausnahme der ersten Zeilenleitung K, an und Steuerleitungen W1 bis W 9, von denen jede gleichfalls hält diese Zeilenleitungen auf dem entsprechenden 35 mit allen Speicherzellen der betreffenden Spalte verPotential, und zwar auch dann, wenn die Vergleichs- bunden ist, sind an eine Schreibsteuerschaltung 61 schaltungen der in einer Zeile liegenden Speicherzellen angeschlossen. Diese Schreibsteuerschaltung 61 kann die betreffende Zeilenleitung infolge eines positiven gleichfalls ein Register mit q Stufen sein, von denen Surhergebnisses auf den Signalwert »!« zu bringen jede eine der Schreibsteuerleitungen W ansteuert, suchen. Daher wird nur der Speicherplatz ausgewählt, 40 Dies ist dann der Fall, wenn die Nicht-Glieder zwiwelcher der ersten Zeilenleitung K1 zugeordnet ist. sehen den Adressierleitungen / und den Schreibsteuer-
gender Weise: Es sei angenommen, daß über dieLei- Die Leseleitungen D1 bis Dq, von denen jede mit tung66 ein Freigabesignal an sämtliche NOR-Glie- allen in der gleichen Spalte liegenden Speicherzellen der 70, 71, 72 angelegt wird. Ferner sei angenommen, 25 verbunden ist, sind an ein Datenaufnahmeresgister 65 daß die erste Zeilenleitung K, infolge des positiven angeschlossen, das q Stufen hat. Die Leseleitung D1 Ergebnisses eines Assoziativsuchvorgangs den Signal- ist mit der ersten Stufe das Datenaufnahmeregisters 65 wert »1« führt. In diesem Fall gibt das NOR-Glied 70 verbunden, die Leseleitung D2 mit der zweiten Stufe ein Signal »0« ab, das über sämtliche in Kaskade ge- und schließlich die Leseleitung D9 mit der q-ten Stufe, schalteten Oder-Glieder 80, 81, 82 ... übertragen wird 30 In das Datenaufnahmeregister 65 werden somit und somit zu den Eingängen aller Pufferverstärker 91, parallel die Bits des Wortes eingegeben, das, in der 92, 93 ... gelangt. Das verstärkte Signal »0« liegt zuvor beschriebenen Weise aus der angesteuerten Zeile somit an sämtlichen Zeilenleitungen K2, K3 ... Yv der Speichermatrix ausgelesen wird. Die Schrei bmit Ausnahme der ersten Zeilenleitung K, an und Steuerleitungen W1 bis W 9, von denen jede gleichfalls hält diese Zeilenleitungen auf dem entsprechenden 35 mit allen Speicherzellen der betreffenden Spalte verPotential, und zwar auch dann, wenn die Vergleichs- bunden ist, sind an eine Schreibsteuerschaltung 61 schaltungen der in einer Zeile liegenden Speicherzellen angeschlossen. Diese Schreibsteuerschaltung 61 kann die betreffende Zeilenleitung infolge eines positiven gleichfalls ein Register mit q Stufen sein, von denen Surhergebnisses auf den Signalwert »!« zu bringen jede eine der Schreibsteuerleitungen W ansteuert, suchen. Daher wird nur der Speicherplatz ausgewählt, 40 Dies ist dann der Fall, wenn die Nicht-Glieder zwiwelcher der ersten Zeilenleitung K1 zugeordnet ist. sehen den Adressierleitungen / und den Schreibsteuer-
Nun wird angenommen, daß das Ergebnis des Asso- leitungen W (wie die Nicht-Glieder 33 und 34 von
ziativsuchvorgangs für die beiden ersten Zeilen negativ F i g. 1) in den Speichermodulen 5 nicht vorhanden
war, so daß die Zeilenleitungen Kj und K2 auf dem sind oder wenn keine äußere Adressierung möglich
Signalwert »0« bleiben, während das Ergebnis für die 45 ist. Wenn dagegen die erwähnten Nicht-Glieder nach
dritte Zeile positiv war, so daß die Zeilenleitung K3 Art der Nicht-Glieder 33 und 34 vorhanden sind,
den Signalwert »l·« annimmt. Infolge der Signal- können alle Schreibsteuerleitungen Wx bis Wq direkt
werte »0« auf den Zeilenleitungen K1 und K2 behält miteinander verbunden sein, und die Schreibsteuer-
das Ausgangssignal der NOR-Glieder 70 und 71 den schaltung 61 kann dann aus einer einzigen Stufe be-
Signalwert »1«, der auch an den Ausgängen der Oder- 5° stehen, an die alle Schreibsteuerleitungen gemeinsam
Glieder 80, 81 und der Pufferverstärker 91 und 92 angeschlossen sind, und die im Arbeitszustand alle
erscheint. Das am Ausgang des Pufferverstärkers 91 Schreibsteuerleitungen W auf das Potential bringt,
erscheinende Signal »1« bringt aber die Leitung K2 das angibt, daß ein Schreibvorgang stattfinden
nicht auf den Signalwert »1«, da diese wegen der feh- soll.
!enden Übereinstimmung durch die Vergleichsschal- 55 Die Adressierleitung Z1 bis I9, von denen jede
tung 21, 22 von wenigstens einer Speicherzelle in der wiederum mit allen Speicherzellen der betreffenden
betreffenden Zeile auf dem Signalwert »0« gehalten Spalte verbunden ist, sind an die Ausgänge eines
wird. Dagegen führt die Zeilenleitung K3 den Signal- Adressierregisters 63 angeschlossen. Das Adressierwert
»1«, da dieser sowohl von den Vergleichsschal- register 63 kann q Stufen enthalten, mit denen die
tungen der zugehörigen Speicherzellen als auch vom 60 Adressierleitungen / getrennt angesteuert werden kön-Pufferverstärker
92 angelegt wird. Der der Zeilen- nen, wenn nicht von vornherein feststeht, daß bestimmte
leitung K3 zugeordnete Speicherplatz wird daher als Bitstellen aller Speicherplätze der Speicheranordnung
Ergebnis des Assoziativsuchvorgangs ausgewählt. An- niemals für einen Assoziativsuchvorgang verwendet
dererseits ruft der Signalwert »1« auf der Zeilenleitung werden. Zur Durchführung eines Assoziativsuch-K3
ein Signal »0« am Ausgang des NOR-Gliedes 72 65 Vorgangs empfängt das Adressierregister 63 ein Steuhervor,
und dieses Signal »0« wird über die das Oder- erwort, in welchem beispielsweise die Bits »1« angeben,
Glied 82 und alle in Kaskade daran angeschlossenen welche Bitstellen des assoziativen Speichers an dem
weiteren Oder-Glieder übertragen und über den Assoziativsuchvorgang teilnehmen sollen, d. h., Bits
enthalten, die mit den Suchbits verglichen werden sollen.
Alle Bits »0« in diesem Sleuerwort bezeichnen dann die Speicherzellen, welche nichv an dem Assoziativsuchvorgang
teilnehmen rollen. Ein wesentliches Merkmal des beschriebenen assoziativen Speichers
besteht darin, daß grundsätzlich keine Bitstelle irgendeines Speicherplatzes durch eine feste Verdrahtung
darauf festgelegt ist, daß sie nur Assoziativsuchbits enthält. Eine solche Einschränkung kann für eine be- ίο
stimmte Anwendung vorgenommen werden, aber vom Aufbau her ermöglichen die verwendeten Speichermodule
grundsätzlich eine freie Wahl in der Weise. daß jede Speicherzelle in jedem Speicherplatz nach
Belieben entweder ein Assoziativsuchbit oder ein Datenbit enthalten kann, wobei jeweils durch die
Adressierleitungen / bestimmt wird, ob das gespeicherte Bit als Suchbit oder als Datenbit gedeutet
wird.
Schließlich enthält der Speicher von F i g. 2 noch ein Informationsregister 64, an dessen Ausgänge die
Informationsleitungen L1 bis Lq angeschlossen sind.
Dieses Informationsregister 64 bildet das Informationseingangsre{iister
für den Speicher und weist demzufolge q Stufen auf. Die Eingänge des Informationregisiers 64
sind mit der nicht dargestellten Datenverarbeitungsanlage gekoppelt, zu welcher der assoziative Speicher
gehört. Das Informationsregisler 64 empfängt sowohl die Suchbits für die Assoziativsuchvorgänge als auch
die aufzeichnenden Datenbits. In bestimmten Stufen des Informationsregister 64 enthaltene Bits werden als
Assoziativsuchbits gedeutet, wenn die entsprechenden Stufen des Adressierregisters 63 die Binärziffer »1«
enthalten. Die Inhalte der übrigen Stufen des Informationsregisters 64, die also Stufen des Adressierregisters
63 entsprechen, in denen Bits »0« stehen. werden als Datenbits gedeutet, falls ein Schreibvorgang
durchgeführt wird.
Das Adressierregister 63 kann in verschiedenartiger Weise für die Ansteuerung des Speichers verwendet
werden. Die möglichen Ansteuerungen hängen von der Organisation des Speichers ab. Beispielsweise kann
jeder Speicherplatz eine besondere Speicherzelle aufweisen, in der ein Bit gespeichert ist, das durch seinen
Binärwert den Besetztzustand des Speicherplatzes angibt. Dieses Kennzeichenbit legt also fest, ob in den
Speicherplatz unter Löschung des vorherigen Inhalts eingeschrieben werden kann, oder ob der Speicherplatz
geschützte Daten enthält, die nicht gelöscht werden dürfen. Eine Möglichkeit der Durchführung
des Assoziativsuchvorgangs besteht dann darin, einen Speicherplatz aufzusuchen, welcher infolge seines
Kennzeichnungsbits als leer betrachtet werden kann.
In diesem Fall enthält das Adressierregister 63 ein einziges Bit »1« in der Stufe, die der Spalte des Speichers
zugeordnet ist, in der alle das Kennzeichnungsbit enthaltenden Speicherzellen liegen; alle übrigen Stufen
des Adressierregisters 63 enthalten dagegen Bits »0«. Dadurch ist festgelegt, daß nur eine Spalte des Speichers
dem Assoziativsuchvorgang unterworfen ist. Wenn man ferner annimmt, daß ein Kennzeichnungsbit »0« den Besetztzustand und ein Kennzeichnungsbit »1« den Freizustand des Speicherplatzes anzeigt,
wird in die entsprechende Stufe des Informationsregisters 64 ein Suchbit »1« eingegeben; der Inhalt der
übrigen Stufen des Informationsregisters 64 ist für den
Assoziativsuchvorgang unwesentlich. Da aber die Suche nach einem leeren Speicherplatz gewöhnlich
zum Zweck eines Sclreibvorgangs durchgeführt wird, enthalten diese übrigen Stufen des Informationsregisters 64 die Bits, die in den gesuchten leeren
Speicherplatz eingeschrieben werden sollen. Diese Bits können sowohl Datenbits als auch Adressenbits
für Assoziativsuchvorgänge sein.
Mit dem soeben beschriebenen Suchvorgang wird lediglich ein leerer Speicherplatz gesucht. Nachdem
ein leerer Speicherplatz gefunden worden ist, wird die Schreibsteuerschaltung 61 aktiviert, wodurch die in
den übrigen Stufen des Informationsregiste^s 64 stehenden
Daten in den gefundenen Speicherplatz eingeschrieben werden.
Wenn mehr als ein freier Speicherplatz gefunden wird, bestimmt die Pnoritätslogikschaltung 60, falls
sie aktiviert ist, daß das Einschreiben nur in den ersten leeren Speicherplatz erfolgt, während die übrigen
leeren Speicherplätze gesperrt werden.
Da jeder Assoziativsuchvorgang mit einem Lesevorgang gekoppelt ist, erscheint auf der Leseleiiung D,
die den die Kennzeichnungsbits enthaltenden Speicherzellen zugeordnet ist, stets dann ein Signal »1«, wenn
wenigstens ein leerer Speicherplatz gefunden worden ist. Das Ausbleiben dieses Signals »1« zeigt an, daß
durch den Assoziativsuchvorgang kein leerer Speicherplatz gefunden wurde. Da in diesem Fall der Schreibvorgang
nicht durchgeführt werden kann, muß die Datenverarbeitungsanlage entscheiden, was in diesem
Fall zu tun ist.
Nach dem Auffinden des leeren Speicherplatzes und das Einschreiben von Informationen in den gefundenen
Speicherplatz ist es erforderlich, diesen Speicherplatz als »besetzt« zu kennzeichnen. Dies
kann in der folgenden Weise geschehen: Nach der Durchführung des Schreibvorgangs enthält das Informationsregister
64 noch die soeben in den Speicherplatz, eingeschriebenen neuen Adressenbits in bestimmten
Stufen. Die entsprechenden Stufen des Adressenregisters / erhalten nunmehr den Inhalt »1«, wogegen
die dem Kennzeichnungsbit zugeordnete Stufe des Adressierregisters 63 in den Zustand »0« zurückgestellt
wird. Ebenso wird in die dem Kennzeichnungsbit entsprechende Stufe des Informationsregisters 64 das
Bit »0« eingebracht. Wenn nun ein neuer Assoziativsuchvorgang mit anschließendem Schreibvorgang ausgelöst
wird, wobei nur die dem Kennzeichnungsbit entsprechende Schreibsteuerleitung W erregt wird, ist
unmittelbar zu erkennen, daß in den gefundenen Speicherplatz das Kennzeichnungsbit »0<· eingeschrieben
wird, wodurch dieser Speicherplatz als «besetzt« gekennzeichnet ist.
Der assoziative Speicher ist an sich einzeln überhaupt nicht adressierbar, wenn nicht eine äußere Adressierung
vorgesehen wird, was im Prinzip nicht erforderlich ist. Zur Inbetriebnahme kann der Speicher zweckmäßig
in folgender Weise betrieben werden: Die Prioritätslogikschaltung 60 wird zunächst außer Betrieb
gesetzt, alle Schreibsteuerleitungen IV sind erregt,
das Adressierregister 63 enthält lauter Bits -»Ο«,
und in das Informationsregister 64 wird ein Wort eingegeben, das in der den Kennzeichnungsbits entsprechenden
Stelle ein Bit»l« und in allen übrigen Stellen ein Bit »0« enthält. Alle Zeilenlcilungen V werden
auf den Signalwert »1« gebracht. Dies hat zur Folge, daß in sämtliche Speicherplätze die Kcnnzcichnungsbils
>·! * eingeschrieben werden, wodurch die
Speicherplätze als »unbesetzt« gekennzeichnet werden,
während alle übrigen Speicherzellen gelöscht werden. Anschlielfend können Schreibvorgänge in der zuvor
beschriebenen Weise so durchgeführt werden, daß leweils ein freier Speicherplatz gesucht wird. Die
d dfü dß di
Prioritätslogikschaltung sorgt dann dafür, daß die 5 bits durchgeführt werden.
freien Speicherplätze der Reihe nach belegt werden. Sobald Speicherplätze belegt sind, können außerdem
Assoziativsuchvorgänge unter Verwendung der inzwischen in die Speicherplätze eingeschriebenen Suchfh
d
Hierzu 2 Blatt Zeichnungen
Claims (3)
1. Assoziativer Speicher mit Speicherzellen für jeweils eine Binärziffer, die in Zeilen und SpaJten
zu einer Matrix verdrahtet sind, wobei jede Zeile wenigstens einen Speicherplatz mit mehreren
Binärzifferstellen umfaßt und die einander entsprechenden Ziffernstellen zugeordneten Speicherzellen
der Speicherplätze in den gleichen Spalten der Matrix liegen, und wobei jede Speicherzelle
ein bistabiles Speicherelement, eine Vergleichsschaltung, eine Schreibtorschaltung und eine Lesetorschaltung
enthält, mit einem Informationswortregister, an dessen Stufenausgänge liifor-
mationsleitungen angeschlossen sind, die jeweils mit den Vergleichsschaltungen aller in einer Spalte
liegenden Speicherzellen derart verbunden sind, daß jede Vergleichsschaltung ein die Übereinstimmung
bzw. Nichtübereinstimmung zwischen dem Inhalt des zugehörigen Speicherelements und
der über die Informalionsleitung übertragenen Binärziffer anzeigendes Signal abgibt, mit einem
Adressierregister, an dessen Stufenausgänge Adressierleitungen angeschlossen sind, die jcweii- mit
den Steuereingängen der Vergleichsschaltungen aller in einer Spalte liegenden Speicherzellen verbunden
sind, mit Zeüenleitungen, die jeweils an die Ausgänge der Vcrgleichsschaltungen der zu
einem Speicherplatz gehörenden Speicherzellen derart angeschlossen sind, daß sie dann und nur
dann einen die Übereinstimmung anzeigenden Spannungswert führen, wenn in alien dem Vergleich
unterworfenen Spalten eine Übereinstimmung besteht, mit Leseleitungen, die jeweils mit den Ausgängcn
der Lcselorschaltungen aller in der gleichen Spalte liegenden Speicherzellen verbunden sind,
und mit Sclireibsteuerleitungen, von denen jede mit den Stcuereingängen der Schrcibtorschaltungen
bestimmter Speicherzellen verbunden ist. dadurch
gekennzeichnet, daß die Signaleingänge
der Schreibtorschaltungen (24, 25) aller in einer Spalte liegenden Speicherzellen (10) an
die dieser Spalte zugeordnete Informationsleitung (L) angeschlossen sind, daß jede Schreibsleuerleitung
(W) mit den Steuereingängen der Schreibtorschaltungen (24, 25) aller in einer Spalte liegenden
Speicherzellen (10) verbunden ist, daß ein weiterer Steuercingang jeder Schrcibtorschaltung
(24, 25) mit der zugehörigen Zeilenleitung ()') vcrbundcn
ist, daß der Steuereingang jeder Lesetorschaltung (23) mit der zugehörigen Zcilenleitung
()') verbunden ist und daß der die Übereinstimmung anzeigende Spannungswert auf der Zeilenleitung
(Y) als Enlsperrungssignal für die angeschlossencn Lesetorschaltungen (23) und Schreibtorschaltungen
(24, 25) wirkt.
2. Assoziativer Speicher nach Anspruch 1, dadurch gekennzeichnet, daß jede Adressierleitung (/)
mit der zur gleichen Spalte gehörenden Schreibsteuerleitung (W) über eine Schaltung (33. 34)
verbunden ist, welche die Erregung der Schreibstcuerlcitung (U) bei einer Erregung der Adressierleitung
(/) verhindert.
3. Assoziativer Speicher nach Anspruch 1 oder 2, bei welchem ein mehrfaches Ansprechen auf die
gleiche Assoziativsuchc durch eine Prioritätslogikschaltung geregelt wird, die durch ein besonderes
Programmsignal erregbar ist, dadurch gekennzeichnet, daß die Prioritätslogikschaltung (60) eine
Kaskade von Verriegelungsschaltungen (70, 71, 72, ...; 80, 81, 82, ...; 90, 91, 92, ...) enthält,
die in einer Folge der Reihe nach durch das Programmsignal freigegeben werden und bei jedem
Schritt der Folge jeweils eine Zeilenleitung ( Y) zur Annahme des die Übereinstimmung anzeigenden
Spannungswertes freigeben und alle übrigen Zeilenleituncen
(K) auf einem der scheinbaren Nichtübereinstimmung entsprechenden Spannungswert
halten.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75981568A | 1968-09-09 | 1968-09-09 | |
US75981568 | 1968-09-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1945215A1 DE1945215A1 (de) | 1970-03-19 |
DE1945215B2 DE1945215B2 (de) | 1976-01-15 |
DE1945215C3 true DE1945215C3 (de) | 1976-08-26 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2646162B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2928488A1 (de) | Speicher-subsystem | |
DE1499182B2 (de) | Datenspeichersystem | |
DE2059917A1 (de) | Datenspeicher | |
DE1120779B (de) | Eingabe-Ausgabe-Steuervorrichtung fuer einen elektrischen Hauptspeicher | |
DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
DE1285218B (de) | Datenverarbeitungsanlage | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE1295656B (de) | Assoziativer Speicher | |
DE2343501C3 (de) | Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von Ein-/Ausgabe-Programmen bestimmten Registern | |
DE1945215C3 (de) | Assoziativer Speicher | |
DE1280592B (de) | Schaltungsanordnung zur Ansteuerung eines Speichers | |
DE3828289C2 (de) | ||
DE2519195A1 (de) | Assoziativspeicher | |
DE1774849C3 (de) | Adressierungseinrichtung für eine Speicherabschnittkette | |
DE1499690C2 (de) | Speicherplatzansteuerungs-Anordnung | |
DE1296427B (de) | Datenbearbeitungssystem | |
DE2502920A1 (de) | Steueranordnung fuer den betrieb eines datenendgeraetes | |
DE1774212B2 (de) | En 20417 12.08.67 " 37132 bez: datenverarbeitungsanlage | |
DE1474090B2 (de) | Datenverarbeitungsanlage | |
DE1269657B (de) | Anordnung zur gesteuerten Entnahme von Informationen aus einer aus mehreren Registerstufen bestehenden, pyramidenfoermig ausgebildeten Speicheranordnung | |
DE1449816C3 (de) | Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher | |
DE3340078A1 (de) | Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung |