[go: up one dir, main page]

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
Application number
DE19702016443
Other languages
English (en)
Other versions
DE2016443B2 (de
DE2016443A1 (de
Inventor
Jeganandaraj Amelendra Ontario Arulpragasam (Kanada)
Roger James Romsey Llewelyn
John Francis Winchester Minshull
Lawrence Chandlers Ford Hampshire Perry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2016443A1 publication Critical patent/DE2016443A1/de
Publication of DE2016443B2 publication Critical patent/DE2016443B2/de
Application granted granted Critical
Publication of DE2016443C3 publication Critical patent/DE2016443C3/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • 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. 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)

Patentansprüche:
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.
DE19702016443 1969-04-09 1970-04-07 Assoziativspeicher Granted DE2016443B2 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5141165U (de) * 1974-09-23 1976-03-26

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

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