DE2016443C3 - - Google Patents
Info
- Publication number
- DE2016443C3 DE2016443C3 DE19702016443 DE2016443A DE2016443C3 DE 2016443 C3 DE2016443 C3 DE 2016443C3 DE 19702016443 DE19702016443 DE 19702016443 DE 2016443 A DE2016443 A DE 2016443A DE 2016443 C3 DE2016443 C3 DE 2016443C3
- Authority
- DE
- Germany
- Prior art keywords
- register
- registers
- line
- memory
- data
- 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
- 230000015654 memory Effects 0.000 claims description 74
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 241000191291 Abies alba Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
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
- Executing Machine-Instructions (AREA)
- Machine Translation (AREA)
- Memory System (AREA)
Description
Die Erfindung bezieht sich auf einen Assoziativspeicher mit Maskenregister, den Dateninhalt des
Speichers enthaltenden Wortregistern sowie Suchwortregistern nach dem Oberbegriff des Anspruchs 1.
Assoziativspeicher sind bekannt (K. Steinbuch, Taschenbuch der Nachrichtenverarbeitung, Springer-Verlag
1962, Seite 522). In einem derartigen Speicher befindet sich ein Datenspeicher, auf dessen Daten Zugriff
gemäß ihrem Inhalt ausgeübt wird und nicht, wie bei einem nicht-assoziativen Speicher, gemäß ihrem
Speicherplatz, an dem sich die Daten befinden. Ein typischer Assoziativspeicher besteht aus einem Eingabe/Ausgaberegister,
einem Maskenregister und Wortregistern, die die Daten des Speichers beinhalten. In dem Eingabe/Ausgaberegister befindet sich ein
Suchargument, welches üblicherweise nur einen Teil dieses Registers belegt. Das Maskenregister maskiert
den durch das Suchargument von den Wortregistern nicht besetzten Teil des Eingabe/Ausgaberegisters. Es
wird dann eine Suchoperation durchgeführt, in der das Suchargument mit dem Inhalt der gleichen Stellen der
Wortregister verglichen wird, in denen das Suchargument auch in dem Eingabe/Ausgaberegister steht. Bei
Gleichheit mit dem Suchargument wird das Wortregister gewöhnlich durch Setzen eines Auswähltriggers
markiert, der dann im Register einen vorbestimmten stabilen Zustand darstellt. Anschließend findet auf die
markierten Register eine Zugriffsoperation statt. Es wird dann entweder der Inhalt des Eingabe/Ausgaberegisters
in die markierten Register eingeschrieben oder der Inhalt der markierten Register wird nacheinander
oder gleichzeitig in das Eingabe/Ausgaberegister eingelesen.
Außerdem iat durch die GB-PS 987666 ein Assoziativspeicher
mit zwei Eingaberegistern, die als Suchwortregister dienen, bekannt. Diese beiden Register
dienen dazu, Suchwortargumente mit variabler Länge aufzunehmen und sind zu diesem Zwecke miteinander
verbunden und als Schieberegister ausgeführt. Diese beider! Schicbercoister und die dsirin ^nth^ltCiien Informationen
bzw. Suchwörter werden von einer Steuerschaltung so gesteuert, daß immer eines der beiden
Register Zugriff zum Speicher hat, ohne das andere zu stören.
Diese bekannte Art von Assoziativspeichern weist allerdings nach außen nur einen Datenpfad auf, wenn
es auch mit dem letztgenannten Assoziativspeicher durch das Vorhandensein von zwei Eingaberegistern
möglich ist, zwei Eingangspfade herzustellen. Da diese
ίο Register jedoch nicht als Eingangs- und Ausgangsregister
dienen, sondern eindeutig nur als Suchwort bzw. Suchargumentsregister, besteht nach wie vor eine
Einengung des Datenflusses vom Assoziativspeicher zu den anderen Einheiten innerhalb einer Datenverarbeitungsanlage.
Der Erfindung liegt deshalb die Aufgabe zugrunde, einen Assoziativspeicher zu schaffen, der sowohl eingangsseitig
als auch ausgangsseitig mit den Einheiten einer Datenverarbeitungsanlage schneller zusam-
zo menarbeiten kann als die bisher bekannten.
Die erfindungsgemäße Lösung besteht im Kennzeichen des Patentanspruchs 1.
Dadurch, daß mehrere Eingabe/Ausgaberegister vorhanden sind, bestehen nun in der Schnittstelle zu
den anderen Einheiten innerhalb einer Datenverarbeitungsanlage keine Engpässe mehr, da die vorhandenen
Register sowohl getrennt voneinander geladen werden können als auch getrennt voneinander gelesen
werden können, was bedeutet, daß sich die Zeiten für die Eingabe und die Ausgabe sowohl von Suchworten
als auch von gesuchten Daten voll zeitlich überlappen können. Dies ist insbesondere dann von großem Vorteil,
wenn Assoziativspeicher mit einer großen Speicherkapazitätverwendet
werden, in denen Datenbanken gespeichert sind. Der herkömmliche Assoziativspeicher
ist zwar in der Lage, einen Parallelvergleich alter gespeicherten Daten mit dem im Suchwortregister
stehenden Suchargument durchzuführen, gegebenenfaL's
sogar mit zwei Suchargumenten, jedoch ist er nicht in der Lage, die gefundenen Daten überlappt
oder gar parallel auszugeben, sondern die gefundenen Daten werden nacheinander abgefragt und ausgegeben.
Mit der vorliegenden Lösung ist dieses Problem gelöst.
Die Erfindung wird anhand von Ausführungsbeispielen und dazugehörigen Zeichnungen im einzelnen
erläutert. Es zeigt
Fig. 1 eine erfindungsgemäße Form des Assoziativspeichers,
Fig. 2 eine weitere erfindungsgemäße Form des Assoziativspeichers,
Fig. 3 a ein Logikdiagramm typischer Stellen des in Fig. 2 gezeigten Eingabe-Maskenregisters,
Fig. 3 b ein Logikdiagramm typischer Stellen einer alternativen Form des Maskenregisters,
Fig. 3 b ein Logikdiagramm typischer Stellen einer alternativen Form des Maskenregisters,
Fig. 3c die bildliche Darstellung einer Speicherzelle für das Maskenregister der Fig. 3b,
Fig. 4 und 5 Modifikationen der Maskenregister der Fig. 3a und 3b und
Fig. 6 eine Anordnung von erfindungsgemäßen Assoziativspeichern.
In den Figuren sind Datenwege durch dicke und
Steuersignalwege durch dünne Pfeillinien dargestellt.
Gemäß Fig. 1 besteht ein Assoziativspeicher 1 aus einer Speicheranordnung 2 mit einer Vielzahl von
Wortregistern, die je über die ganze Anordnung ausgedehnt sind, aus einem Eingabe/Ausgaberegister
I/O! einem Einübe/Ausoebcrcfistcr T/02 und einem
Maskenregister 3. Zwischen dem Register 1/01 und
einer Daten-Sammelleitung 5 besteht für beide Richtungen ein Datenpfad 4 und zwischen dem Register
1/02 und einer Daten-Sammelleitung 7 ein ähnlicher Datenpfad 6 für beide Richtungen. Zweiweg-Datenpfade
8 und 9 verbinden das entsprechende Register 1/01 bzw. 1/02 mit dem Maskenregister 3, welches
wiederum mit der Speicheranordnung 2 über den Zweiweg-Datenpfad 10 verbunden ist.
Obwohl die Erfindung auf einen passiven Assoziativspeicher angewandt werden kann, der von Steuersignalen
aus externen Quellen beaufschlagt wird, ist der in Fig. 1 gezeigte Speicher ein funktioneller Speicher,
in dem ein Teil tier Speichereingabe zur Feststellung der vom Speicher durchzuführenden Operation decodiert
wird. Dementsprechend enthält der Assoziativspeicher 1 einen Decoder 11, der vom Register 1/01
über den Datenpfad 12 und vom Register 1/02 über den Datenpfad 13 Daten empfängt. Vom Decoder 11
gehen Steuersignalleitungen 14 bis 19 aus, deren Zweck später erläutert wird.
Zum besseren Verständnis der Erfindung wird zunächst
die Betriebsweise des Assoziativspeichers 1 nur bei Benutzung des Register 1/01 beschrieben. Von
der Sammelleitung 5 wird über den Datenpfad 4 ein Wort in das Register 1/01 übertragen. Ein Teil des
Wortes enthält Daten, die die vom Assoziativspeicher
1 durchzuführende Operation definieren und wird vom Decoder 11 abgetastet, welcher als Ergebnis
an die Leitung 14 ein Steuersignal legt, welches die zu benutzende Maske definiert und weitere Steuersignale
an nicht gezeigte Leitungen im Innern der Speicheranordnung legt, die die durchzuführende Operation
definieren. Eine Operation besteht aus zwei Zyklen, in deren erstem ein oder mehrere Wortregister
der Speicheranordnung 2, auf die Zugriff ausgeübt werden soll, ausgewählt werden und in deren
zweitem eine Zugriffsoperation, Lesen oder Schreiben, auf die ausgewählten Wortregister durchgeführt
wird. Die Auswahl eines Wortregisters braucht nicht als Ergebnis eines Vergleichs zwischen einem Eingabe-Suchargument
mit dem Inhalt der Wortregister - einer Suchoperation - stattzufinden, kann jedoch
unter Hinweis auf Wortregister durchgeführt werden, die in vorhergehenden Operationen ausgewählt wurden.
Somit können im Anschluß an die in einer vorhergehenden Operation ausgewählten Register die
nächsten Register ausgewählt werden. Es sei jedoch angenommen, daß die durchzuführende Operation
eine Suchoperation ist. Es sei weiter angenommen, daß nur zwei Maskenkonfigurationen durchführbar
sind und daß ein einzelnes binäres Signal auf der Leitung 14 die zu benutzende Maskenkonfiguretion ausreichend
definieren kann. Mit der ersten Maskenkonfiguration wird beispielsweise der Inhalt der acht
linken Stellen des Register I/Gl als Suchargument benutzt
und Zugriff wird nur auf die restlichen Stellen des Wortregisters ausgeübt, und mit der zweiten Maskenkonfiguration
wird beispielsweise der Inhalt der linken 16 Stellen des Registers 1/01 als Suchargument
benutzt und Zugriff wird nur auf die restlichen Stellen des Wortregisters ausgeübt. Es sei angenommen, daß
die Operation Suchen, Lesen, Maske 1 angefordert wurde. Im ersten Zyklus wird der Inhalt von 1/01 über
den Datenpfad 8 in das Maskenregister 3 übertragen, da jedoch Maske 1 angefordert ist, werden nur die
linken acht Stellen über den Datenpfad 10 zum Vergleich mit den üriker·. acht Steuer, jedes Wortregisters
der Speicheranordnung 2 übertragen. Der Auswahl-Trigger in jedem Wortregister, in welchem der Vergleich
Gleichheit ergeben hat, wird gesetzt. Im zweiten Zyklus wird der Zustand der Auswahl-Trigger abgefühlt
und der Inhalt derjenigen Register, die ihren Auswähltrigger gesetzt haben, wird über den Datenpfad
10 zum Maskenregister 3 ausgelesen, welches alle Stellen außer den linken acht über den Datenpfad
8 nach 1/01 überträgt. Der Inhalt von 1/01 wird
ίο dann über den Datenpfad 4 zur Sammelleitung 5
übertragen.
Im Gegensatz zu bekannten Assoziativspeichern hat der Assoziativspeicher 1 gemiß der Erfindung ein
zweites Eingabe/Ausgaberegister 1/01, und es kann entweder 1/01 oder 1/02 benutzt werden. Speziell im
Hinblick auf die in Fig. 1 dargestellte Ausbildungsform erstellt der Decoder 11 Steuersignale, wodurch
das Suchargument entweder von 1/01 oder 1/02 genommen
werden kann. Weiterhin kann im zweiten Zyklus eine Operation entweder aus 1/01 oder 1/02
in die Speicheranordnung 2 geschrieben oder aus der Speicheranordnung 2 in entweder 1/01 oder 1/02 gelesen
werden.
Dieses wird von den Steuersignalen auf den Leitungen 15 bis 19 vom Decoder 11 bewirkt. Bei Erregung
verbindet die Leitung 15 den Datenpfad 8 ü'>ier das
Markenregister 3 mit dem Datenpfad 10. Bei Erregung verbindet die Leitung 16 den Datenpfad 9 über
das Maskenregister 3 mit dem Datenpfad 10. Bei Erregung ermöglicht die Leitung 17 dem Register 1/01,
von der Speicheranordnung 2 Daten zu empfangen. Bei Erregung ermöglicht die Leitung 19 dem Register
1/02, von der Speicheranordnung 2 Daten zu empfangen. Bei Erregung ermöglicht die Leitung 18 beiden
Registern 1/01 und 1/02, von den Datenleitungen 5
und 7, mit denen sie über die Datenpfade 4 und 6 verbunden sind, Daten zu empfangen.
Der Decoder 11 wird hier nicht im einzelnen beschrieben, da seine Verwendung hinreichend bekannt
ist. Der Decoder 11 besteht beispielsweise aus einem Tannenbaum netzwerk mit vier Leitungen einschließlich
dem Datenpfad 12 oder 13 als Eingang und mit 16 Leitungen als Ausgang, von denen eine in Übereinstimmung
mit den binären Signalen auf den Eingangsleitungen bezeichnet ist. Der markierte Ausgang
setzt dann Trigger, die zu entsprechenden Zeiten die Steuerleitungen 14 bis 19 erregen.
Bei Benutzung dieser Steuersignale ist es ersichtlich, daß die nachfolgende Operationsfolge möglich
ist:
1. Setze 1/01 und 1/02 über die Datensammelleitung
5 bzw. 7;
2. Suche unter Benutzung des Sucharguments von I/Ol oder 1/02;
3. Lies oder schreibe zwischen den ausgewählten Wortregistern der Anordnung und 1/01 oder
1/02; und
4. Lies 1/01 oder 1/02 auf die Datensammelleitung.
Fig. 2 zeigt einen erfindungsgemäßen Assoziativspeicher 20, der gegenüber dem in Fig. 1 beschriebenen
Speicher 1 dahingehend modifiziert wurde, daß der Speicher 20 die Maske zwischen den Such- und
Zuferiffszyklen einer Operation ändern kann. Das einzelne
Maskenregister 3 der Fig. 1 ist durch ein Eingäbe- oder Suchargument-Maskenregister 23 und
zwei Ausgabe-Maskenregister 24 und 25 ersetzt. Die 1/01 und 1/02 Register sind durch die Register 21 und
22 ersetzt-, die nur als Eingabe-Register dienen. Die
Ausgabe von der Speicheranordnung 2 geschieht über den Datenpfad 26 und entweder über das Maskenregister
24 und den Datenpfad 27 zur Sammelleitung 5 oder über das Maskenregister 25 und dem Datenpfad
28 zur Sammelleitung 7.
Zur Vereinfachung der Zeichnung wurden die Steuerleitungen vom Decoder 11 nicht dargestellt, es
ist jedoch ersichtlich, daß der Decoder 11 Signale aussendet, die die Maskenkonfiguration für das Maskenregister
23 spezifizieren, von welchem Register, 21 oder 22, das Suchargument genommen werden muß
und ob die Operation eine Leseoperation in der Anordnung 2 ist, welches Register, 24 oder 25, die Daten
auf die damit verbundene Sammelleitung 5 oder 7 übertragen muß und welche Maske zu benutzen ist.
Die Fähigkeit, zu definieren, welches Datenfeld auf die Sammelleitung übertragen werden muß, ist natürlich
dann von Nutzen, wenn mehrere Assoziativspeicher 20 mit einer Sammelleitung verbunden sind. Jeder
Speicher kann gleichzeitig und unabhängig mit verschiedenen Zeichen einer Mehrfachzeichen-Information
arbeiten, und die Benutzung nicht überlappender Ausgabemasken für verschiedene Speicher
verursacht ein Ergebnis, das auf die jeweilige Maske und gleichzeitig auf die Sammelleitung ausgerichtet
ist.
In Fig. 3a sind typische Stellen des Maskenregisters 23 für den Fall dargestellt, in dem die Speicheranordnung
2 aus binären Speicherzellen besteht. Es sei angenommen, daß nur zwei Masken benutzt werden:
Maske 1, in der das Suchargument über die Stellen 0 bis 7 des Registers 23 hinausgeht, wobei das
Zählen von links und das Schreiben in die Speicheranordnung 2 mittels der restlichen Stellen stattfindet,
und Maske 2, in der das Suchargument über die Stellen 0 bis 15 des Registers 23 hinausgeht und das
Schreiben in die Speicheranordnung 2 mittels der restlichen Stellen stattfindet. In Fig 3a ist die Leitung
10 a eine typische Leitung von den Stellen 0 bis 7 des Datenpfades 10, die Leitung 10b ist eine typische Leitung
von den Stellen 8 bis 15 und die Leitung 10 c ist eine typische Leitung von den höheren Stellen. Die
Leitungen 8a bis 8 c sind entsprechende Leitungen des Datenpfades 8 vom Eingaberegister zum Maskenregister
23, und die Leitungen 9a bis 9c sind entsprechende Leitungen des Datenpfades 9 vom Eingaberegister
22 zum Maskenregister 23. Die Bedeutung der Steuerleitungen rechts auf Fig. 3 ist wie folgt:
Leitung 14: Maskeninformation; wenn die Leitung 14 erregt ist, benutze Maske 1, sonst Maske 2;
Leitung 15: wenn erregt, benutze Daten vom Register 21;
Leitung 16: wenn erregt, benutze Daten vom Register 22;
Leitung S: wenn erregt, führe eine Suchoperation durch;
Leitung W: wenn erregt, führe eine Schreiboperation durch, d. h. übertrage Daten in die Speicheranordnung
2;
Leitung Cl: wenn erregt, so zeigt das die Zyklus 1-Zeit an;
Leitung C2: wenn erregt, so zeigt dies die Zyklus 2-Zeit an.
Wenn die Leitung 15 erregt ist, werden die UND-Schaltungen
31a bis 31c durchlässig und die binären Daten auf den Leitungen 8a bis 8c werden über die
ODER-Schaltungen 33 a bis 33 c als Eingang zu den UND-Schaltungen 34e bis 34c übertragen. Auf ähnliche
Weise werden, wenn die Leitung 16 erregt ist, die UND-Schaltungen 32a bis 32c durchlässig, und
die binären Daten auf den Leitungen 9a bis 9c werden über die ODER-Schaltungen 34a bis 34c übertragen.
Die Leitung 14 hat eine Verzweigung 14a und einen Inverter 35. Wenn die Leitung 14 nicht erregt ist, wird
die Ausgangsleitung des Inverters 35 erregt und ergibt ein Signal Ml, wodurch angezeigt wird, daß die
Maske 2 benutzt werden soll.
ίο Bei den angenommenen Betriebsbedingungen sind
auf die Leitungen 10a nur Suchargumentdaten, da beide Masken 1 und 2 über die Stellen 0 bis 7 des
Maskenregisters hinausgehen, und die Leitung wird nicht benutzt für die Übertragung von Daten für eine
Schreiboperation. Dementsprechend sind die Eingänge der UND-Schaltung 34a der Datenausgang der
ODER-Schaltung 33a, der Leitung S, der Leitung Cl - da im ersten Zyklus der Zwei-Zyklenoperation ein
Suchen stattfindet. Es ist nicht erforderlich, Maskendaten zu spezifizieren, da beide Masken 1 und 2 die
Leitung 10a in einer Suchoperation benötigen.
Auf der Leitung 10 b befinden sich Suchargumentdaten
unter Maske 2 und Schreibdaten unter Maske 1. Die UND-Schaltung 36 hat als Eingänge die Steuerleitungen
Cl, S, und 14a. Ihr Ausgang ist über die ODER-Schaltung 38 mit dem Eingang der UND-Schaltung
34 b verbunden. Weiterhin sind die Steuerleitungen C2, W und 14 Eingänge zu einer UND-Schaltung
37, deren Ausgang über die ODER-Schaltung 38 mit einem Eingang der UND-Schaltung 346
verbunden ist. Die UND-Schaltung 36 wird erregt, wenn die Leitung 10 b Suchargumentdaten führen soll,
und die UND-Schaltung 37 wird erregt, wenn die Leitung 10b Schreibdaten führen soll. Die Leitung 10c
führt nur Schreibdaten und so hat die UND-Schaltung 34c einen Dateneingang von der ODER-Schaltung
33 c und Steuereingänge von den Leitungen W und C2.
Fig. 3 b zeigt die Modifikationen des Maskenregisters der Fig. 3a, wenn die Speicheranordnung 2 aus
Speicherzellen mit drei Zustandsarten besteht. Jede Speicherzelle kann stabile Zustände annehmen, die
binär 1, binär 0 und X darstellen. Der X-Zustand ist so, daß die Zelle keinen Ausnahmezustand signalisiert,
welche Abfragesignale auch immer während einer assoziativen Suchoperation an sie angelegt worden
sind. Eine Zelle kann beispielsweise die Konfiguration gemäß Fig. 3c haben. Die elektronische Schaltung,
aus der die Speicherzelle SC besteht, liegt zwischen einer Kollektorleitung 131 und einer Wortleitung 132
und zwischen einem Bitleitungspaar L und R. Die Zellen SC desselben Wortes haben gemeinsame Kollektor-
und Wortleitungen 131 bzw. 132, wohingegen die Zellen für die gleiche Stelle unterschiedlicher
Wörter gemeinsame Bitleitung L und R haben. Zum
Abfragen der Zelle SC auf den binären 0-Zustand wird das Potential auf der Bitleitung L relativ zu einer
Fremdspannung erniedrigt und das Potential auf dei Bitleitung L erhöht. Wenn die Zelle SC sich nicht
im binären 0- oder im X-stabilen Zustand befindet,
führt die Wortleitung 132 Strom, wodurch ein Ausnahmezustand angezeigt wird. Um eine binäre 0 in
die ZeUe zu schreiben, werden dieselben Potentiale wie beim Abfragen der Zelle an die Bitleitungen ge legt, die Signale der Kollektorleitung 131 und dei
Wortleitung 132 werden jedoch variiert, so daß die Potentiale auf den Bitleitungen den Status der Zelle
stören und verursachen, daß die Zelle den stabilen
binären O-Status annimmt. Durch Auslauschen der
Potentiale auf den Bitlcitungcn kann die Zelle auf eine binäre 1 abgefragt werden oder eine binäre 1 kann
in die Zelle eingeschrieben werden. Um ein X in die Zelle einzuschreiben, werden die Potentiale der Kollektorleitung
131 und der Wortleitung 132 denen einer Schreiboperation angeglichen und die Potentiale
d 'r Bitleitungen werden relativ zur Referenzspannung
angehoben. Bei einer Zelle, die aus zwei bistabilen Stromkreisen besteht, ist es nicht notwendig, daß die
angehobenen Bitlcitungspotentiulc gleichzeitig angelegt werden. Dementsprechend wird ein X in zwei
Operationen geschrieben. Bei der ersten Operation wird eine binäre 0 in das Eingaberegister gesetzt und
wird bei maskierter Bitlcitung /. geschrieben. Bei der zweiten Operation wird eine binäre 1 in das Eingaberegister
gesetzt und wird bei maskierter Bitleitung R geschrieben. Die erste Operation wird Schreiben
rechts und die zweite Operation Schreiben links genannt.
In Fig. 3b sind Teile derselben Stellen des Maskenregisters
23 dargestellt, wie in Fig. 3a. Die UND-Schaltungen 34« bis 34c in Fig. 3a sind in
Fig. 3c durch Paare von UND-Schaltungen ersetzt, wobei jede UND-Schaltung einen nicht dargestellten
Treiber für eine entsprechende Bitleitung steuert. In Fig. 3b wird der Ausgang der ODER-Schaltung 33a
invertiert und als Eingang mit dem UND-Schalter 134a verbunden und ist ebenfalls in seiner echten
Form als Eingang mit dem UND-Schalter 135a verbunden. Weitere Eingänge zu den UND-Schaltern
134a und 135a sind die Signalleitungen Cl und S vom Decoder, welche im erregten Zustand anzeigen,
daß gerade die Zyklus 1 -Zeit ist und eine Suchoperation erforderlich ist. Wenn z. B. nach binär 0 gesucht
werden soll, wird der Ausgang des UND-Schalters 134iierregt und der Ausgang des UND-Schalters 135
ist nicht erregt. Die Kombination der Zustände der Ausgänge der UND-Schalter 134a und 135a wird von
den Treibern festgestellt und es werden entsprechende Potentiale an die Bitleitungen gelegt.
Ein invertierter Ausgang der ODER-Schaltung 336 ist als Eingang mit den UND-Schaltern 13461
und 13462 verbunden und der echte Ausgang der ODER-Schaltung 33b ist als Eingang mit den UND-Schaltern
13561 und 13562 verbunden. Die Leitungen Ml, Cl und S sind als Eingänge mit den UND-Schaltern
13462 und 13562 verbunden. Die Leitungen Ml und C2 sind als Eingänge mit beiden
UND-Schaltern 13461 und 13561 mit der Wortleitung WL verbunden, die dann erregt wird, wenn eine
Schreiben Links-Operation erforderlich ist, bzw. werden mit den UND-Schalti:rn 13461 und der Leitung
WR verbunden, die dann erregt werden, wenn eine Schreiben Rechts-Operation erforderlich ist. Beide
Leitungen WL und WR werden erregt, wenn eine Schreiboperation erforderlich ist. Die Ausgänge der
UND-Schalter 13461 und 13462 sind Eingänge für eine ODER-Schaltung 136, deren Ausgang das Potential
auf der Bitleitung L steuert. Die ODER-Schaltung 137, die mit den Ausgängen der UND-Schaltungen
13561 und 13562 verbunden sind, dient einem ähnlichen Zweck für die Bitleitung R.
Ein invertierter Ausgang der ODER-Schaltung 33 c ist mit dem Eingang des UND-Schalters 134 c verbunden,
und der echte Ausgang führt zum Eingang des UND-Schalters 135 c. Die Leitung C2 ist mit den
Eingängen beider UND-Schalter 134c und 135c verbunden, die Leitung WL führt an den Eingang des
UND-Schalters 134c und die Leitung WR an den Eingang des UND-Schalters 135c
Die Betriebsweise des Maskenregisters der Fig. 3b ist analog der des Registers in Fig. 3 a und wird daher
nicht noch einmal erläutert.
Die Fig. 3 a und 3 b zeigen demnach, wie die Daten entweder vom Register 21 oder vom Register 22 ausgewählt
werden können und als Suchargument in einer
ίο Zugriffsoperation oder als Quelle für Daten benutzt
werden, die in die Speicheranordnung 2 eingeschrieben werden sollen.
Die Erfindung ist nicht darauf beschränkt, daß das gesamte Suchargument von einem einzelnen Register
ι? genommen werden muß. Das Suchargument kann vor.
Daten in zwei oder mehr Eingaberegistern dadurch übersetzt werden, daß nicht-überlappende Felder des
Eingaberegisters ausgeblendet werden oder daß in UND-, ODER- oder auch EXKLUSIV-ODER-Operationen
überlappende Felder des Registers logisch kombiniert werden.
Fig. 4 zeigt die Modifikation der Schaltung der Fig. 3, die für diese logische Kombination erforderlich
ist und zeigt weiter eine einzelne Stelle der linken acht Stellen des Maskenregisters 23. Über die Schaltung
der Fig. 3 hinaus sind die Datenleitungen 8 und 9 mit den Eingängen einer ODER-Schaltung 41 und
einer UND-Schaltung 42 verbunden. Der Ausgang der ODER-Schaltung 41 ist mit dem Eingang einer
UND-Schaltung 43 verbunden, die als weiteren Eingang eine Steuerleitung 44 hat. Der Ausgang des
UND-Schalters 42 ist mit dem Eingang eines UND-Schalters 45 verbunden, der ebenfalls als weiteren
Eingang eine Steuerleitung 46 hat. Die Leitungen 15 und 16 bleiben unerregt und um die ODER-Funktion
der Daten auf den Leitungen 8 und 9 zur ODER-Schaltung 33 zu übertragen, wird die Steuerleitung
44 erregt und um die UND-Funktion der Daten auf den Leitungen 8 und 9 zur ODER-Schaltung 33 zu
übertragen, wird die Steuerleitung 46 erregt. Die Steuerleitungen 44 und 46 werden wahlweise durch
Signale vom Decoder 11 auf die gleiche Art und Weise wie die Leitungen 15 und 16 erregt. Auf die ODER-Schaltung
41 und die zugehörige Steuerleitung 44 kann verzichtet werden, in welchem Fall der Ausgang
der ODER-Schaltung 33 die ODER-Funktion der Daten in die beiden Eingaberegister darstellt. Die
EXKLUSIV-ODER-Funktion kann durch Hinzufügen einer EXKLUSIV-ODER-Schaitung parallel zur
UND-Schaltung42 und ODER-Schaltung 41 erreicht werden.
Fig. 5 zeigt die Modifikation der Schaltung der Fig. 3, die für das Ausblenden nicht-überlappender
Felder von beiden Eingaberegistern zum Gebrauch
j5 als Suchargument in einer Suchoperation erforderlich
ist. Die Stellen 0 bis 15 des Maskenregisters 23 sind in Vierer-Gruppen unterteilt, da gewöhnlich die
Größe eines Zeichens 4 Bits beträgt, und separate Steuerleitungen 15a bis ISd und 16a bis 16a1 blenden
Daten zu den UND-Schaltern 34 (siehe Fig. 3) jeder Stellengruppe aus. Die Steuerleitung 15 a ist als Eingang
mit allen UND-Schaltern 31 (siehe Fig. 3) der Stellen 0 bis 3 des Maskenregisters verbunden und die
Steuerleitung 156 führt als Eingang zu allen UND-Schaltern 31 der Stellen 4 bis 7 des Maskenregisters
und ähnlich ist es bei den Steuerleitungen 15 c und 15 d. Die Steuerleitung 16a ist als Eingang mit allen
UND-Schaltern 32 der Stellen 0 bis 3 des Maskenre-
gisters verbunden und ähnlich ist es bei den Steuerleitungen
16/j und I6d im Hinblick auf die Stellen 4
bis 7, 8 bis 11 und 12 bis 15. Die Steuerleitungen 15 und 16 der Fig. 3 sind weggelassen. Mit der Anordnung
der Fig. 5 können durch selektive Erregung der Leitungen 15a bis I5d und 16a bis I6d, z. B. der
Leitungen 15a, 15/), 16c und \6d durch den Decoder
11 verschiedene Kombinationen der Felder vom Eingaberegister zum Maskenregister ausgeblendet werden.
Die Anordnung der Fig. 5 kann mit der Anordnung der Fig. 4 kombiniert werden.
Die Eingaberegister eines Assoziativspeichers entsprechend der Erfindung brauchen nicht, wie es zeichnerisch
in den Figuren 1 und 2 gezeigt ist, so breit zu sein wie die Speicheranordnung. Für die unterschiedlichen
Felder der Anordnung können unterschiedliche Register zur Verfügung gestellt werden.
Eine Ausführungsform in dieser Technik ist in Fig. 6 dargestellt, in welcher die assoziative Speicheranordnung
61 über das Register 62 mit der Sammelleitung 63 und über das Register 64 mit der Sammelleitung
65 verbunden ist. Eine zweite assoziative Speicheranordnung 66 ist über das Register 67 mit der Sammelleitung
63 und über das Register 68 mit der Sammelleitung 65 verbunden. Die Speicheranordnungen und
Register sind ein Teil der Speicher wie sie im Zusammenhang mit Fig. 1 und 2 beschrieben wurden. Unwesentliche
Elemente sind weggelassen worden. Die Register 62 und 64 und das Register 67 gehen über
ίο die Stellen 0 bis 7 der entsprechenden Speicheranordnungen
61 und 66 hinaus. Das Register 68 geht über die Stellen 8 bis 15 der Speicheranordnung 66 hinaus.
Mit der gezeigten Anordnung können Daten, die auf die gleichen Stellen des Speichers 61 ausgerichtet
sind, auf benachbarte Stellengruppen im Speicher 66 ausgerichtet werden. Eine erste Gruppe von 8 Bits
wird vom Speicher 61 zum Speicher 66 über die Register 64 und 67 und eine zweite Gruppe von 8 Bits
über die Register 64 und 68 zum gleichen Wortregister der Anordnung 66 wie die erste Gruppe übertragen.
Hierzu 5 Blatt Zeichnungen
Claims (3)
1. Assoziativspeicher mit Maskenregister, den Dateninhalt des Speichers enthaltenden Wortregistern
sowie Suchwortregistern, deren Wirksamkeit durch eine Steuerschaltung gesteuert wird,
dadurch gekennzeichnet, daß das Maskenregister (3,23) eine ausgewählte logische Kombination
von Suchargumenten von mehreren Eingaberegistern (1701,1/02), die gleichzeitig als Ausgaberegister
dienen, bereitstellt und daß die aus dem Speicher (2) ausgelesenen Daten selektiv in eines
der genannten Register übertragbar sind.
2. Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß das Maskenregister (3
oder 23) verschiedene Felder des Sucharguments von verschiedenen Eingaberegistern (1/01, 1/02)
herausblendet.
3. Assoziativspeicher nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß das Ausgabefeld
der vom Speicher (2) ausgelesenen Daten von Ausgabemaskenregistern (24, 25) bestimmt wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1810369 | 1969-04-09 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| DE2016443A1 DE2016443A1 (de) | 1970-10-08 |
| DE2016443B2 DE2016443B2 (de) | 1977-07-14 |
| DE2016443C3 true DE2016443C3 (de) | 1978-03-02 |
Family
ID=10106705
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19702016443 Granted DE2016443B2 (de) | 1969-04-09 | 1970-04-07 | Assoziativspeicher |
Country Status (6)
| Country | Link |
|---|---|
| JP (1) | JPS4925059B1 (de) |
| BE (1) | BE748547A (de) |
| CA (1) | CA929274A (de) |
| DE (1) | DE2016443B2 (de) |
| FR (1) | FR2041145B1 (de) |
| GB (1) | GB1231908A (de) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5141165U (de) * | 1974-09-23 | 1976-03-26 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3261000A (en) * | 1961-12-22 | 1966-07-12 | Ibm | Associative memory logical connectives |
| GB1186703A (en) * | 1967-10-05 | 1970-04-02 | Ibm | Associative Memory |
-
1969
- 1969-04-09 GB GB1231908D patent/GB1231908A/en not_active Expired
-
1970
- 1970-03-13 JP JP2096570A patent/JPS4925059B1/ja active Pending
- 1970-03-31 CA CA078616A patent/CA929274A/en not_active Expired
- 1970-04-03 FR FR7012247A patent/FR2041145B1/fr not_active Expired
- 1970-04-06 BE BE748547D patent/BE748547A/xx unknown
- 1970-04-07 DE DE19702016443 patent/DE2016443B2/de active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| CA929274A (en) | 1973-06-26 |
| DE2016443B2 (de) | 1977-07-14 |
| JPS4925059B1 (de) | 1974-06-27 |
| FR2041145A1 (de) | 1971-01-29 |
| DE2016443A1 (de) | 1970-10-08 |
| BE748547A (fr) | 1970-09-16 |
| GB1231908A (de) | 1971-05-12 |
| FR2041145B1 (de) | 1974-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3902425C2 (de) | ||
| DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
| DE4204119C2 (de) | Multiprozessorsystem | |
| DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
| DE2059917C3 (de) | Hybridadressierter Datenspeicher | |
| EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
| DE1963895B2 (de) | Datenspeicher- und datenspeicheransteuerschaltung | |
| DE2212873A1 (de) | Aus Schieberegistern aufgebaute Speichereinrichtung | |
| DE69619794T2 (de) | Speicherzelle zum lesen und schreiben einer registerbank | |
| DE2718110A1 (de) | Datenverarbeitungseinheit | |
| DE2259725B2 (de) | Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen | |
| DE4117672A1 (de) | Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers | |
| DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
| DE1574502C3 (de) | Assoziativspeicher | |
| DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
| DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
| DE2016443C3 (de) | ||
| DE1295656B (de) | Assoziativer Speicher | |
| DE1296429B (de) | Datenbearbeitungsanlage | |
| DE2000608A1 (de) | Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage | |
| DE69229073T2 (de) | Datenverarbeitungssystem | |
| DE2057124A1 (de) | Assoziativspeicher | |
| DE3016269C2 (de) | ||
| DE1474380A1 (de) | Matrixspeicheranordnung | |
| DE68928270T2 (de) | SRAM mit Flash-Rücksetzung für auswählbare E/A-Leitungen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C3 | Grant after two publication steps (3rd publication) | ||
| 8339 | Ceased/non-payment of the annual fee |