DE2062791C - Assoziativspeicher - Google Patents

Assoziativspeicher

Info

Publication number
DE2062791C
DE2062791C DE19702062791 DE2062791A DE2062791C DE 2062791 C DE2062791 C DE 2062791C DE 19702062791 DE19702062791 DE 19702062791 DE 2062791 A DE2062791 A DE 2062791A DE 2062791 C DE2062791 C DE 2062791C
Authority
DE
Germany
Prior art keywords
memory
search
register
word
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
DE19702062791
Other languages
English (en)
Other versions
DE2062791A1 (de
DE2062791B2 (de
Inventor
William Francis Poughkeepsie N Y Beausoleil (V StA)
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 DE2062791A1 publication Critical patent/DE2062791A1/de
Publication of DE2062791B2 publication Critical patent/DE2062791B2/de
Application granted granted Critical
Publication of DE2062791C publication Critical patent/DE2062791C/de
Expired legal-status Critical Current

Links

Description

Speicherung größerer Datenmengen, wie sie z. B. in
Datenbänken benötigt werden, mit Vorteil eingesetzt werden kann.
Die Erfindung betrifft einen Assoziativspeicher mit 60 Die crrmdungsgemäße Lösung d<^r Aufgabe besehr hoher Suchgeschwindigkeit, insbesondere für steht darin, daß der Speicher in einzelne Moduln große Informationsmengen, mit Vergleichsschaltun- unterteilt ist, die über gemeinsame .Y- und l'-Koorgen zum Vergleich der Datenbits mit den Bits eines dinatenleitungen ansteuerbar sind und zur Speiche-Suchwortes, die bei Übereinstimmung ein Überein- rung von Daten Schieberegister aufweisen, und daß Stimmungssignal erzeugen. 65 die Vergleichsschaltungen an den Datenausgang je-
In der modernen Datenverarbeitung tritt insbe- des Moduls des Speichers angeschlossen sind sondere bei der Bewältigung von großen Daten- Ein wesentlicher Vorteil der vorliegenden Erfindungen in Datenbanken das Problem auf, daß der dung besteht darin, daß durch Aufteilung des Sn<-i-
2 082
chers in Moduln verschiedene Moduln der Reihe nach parallel gelesen werden können, wodurch eine Suchoperation wesentlich schneller ausgeführt werden kann als bisher. Außerdem können mehrere Tabelleneintragungen gleichzeitig abgesucht werden. Durch diese Organisation wird bei im wesentlichen sequentieller Arbeitsweise dieses Speichers eine Suchgeschwindigkeit erzielt, die sonst nur rein par- ^1IeI organisierte Assoziativspeicher aufweisen.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben. Es zeigt
Fig. 1 schematisch den erfindungsgemäßen Speicher,
Fig. 2 in Form eines Blockdiagramms eine Karte einer Gruppe von Karten in dem in Fig. 1 gezeigten Speicher 100,
Fig. 3 ein genaueres Blockdiagram.u der unter anderem in F i g. 2 gezeigten Vergleicherschaltung und
F i g. 4 ein Blockdiagramm der unter anderem in Fig. 1 gezeigten Markierungsbitkartc 111.
Ein Ausführungsbeispiei der Erfindung umfaßt einen aus in einer dreidimensionalen Speichermatrix angeordneten Schieberegistern bestehenden Großraumspeicher. Der Speicher kombiniert die Eigenschaften eines Randomspeichers, in denen ein direkter Zugriff zu jedem Speicher ungeachtet seiner physikalischen Lage relativ zu vorher herangezogenen Informationen möglich ist, und die Eigenschäften von sequentiell adressierbaren Speichern, in denen die Information der Reihe nach adressiert werden muß.
Jedes Schieberegister in der Matrix hat die Möglichkeit, eine Vielzahl von Bits zu speichern, und sein inialt kann so verschoben werden, daß diese Bits seriell am Ausgang des Schieberegisters erscheinen. Jedes Schieberegister speichert sequentiell Daten, die Bitpositionen paralleler Wörter entsprechen. Schieberegister sind in Spalten und Zeilen in einer Speicherebene angeordnet und auf jeder Ebene in Moduln gruppiert. Ein Schieberegister pro Modul und pro Ebene wird zu einem Zeitpunkt durch Erregung d -i X- u;-. j y-Koordinatenleitungen gewählt; indem durch Erregung dieser Leitungen die Register «in Schnittpunkt der erregten Koordinaten Xn und Yn gewählt werden, wählen sie das Schieberegister N des ersten Moduls, das Schieberegister/V auf dem zweiten Modul usw. auf der ersten Ebene (die erste Bitposition eines jeden Wortes), das Schieberegi- »ter N auf dem ersten Modul, Schieberegister N auf dem zweiten Modul usw. auf der zweiten Ebene (die zweite Bitposition eines jeden Wortes) und so weiter. Je Ebene stellt daher eine BUposition des Wortes dar. Jedes Modul auf der Ebene hat einen solchen Datenausgang.
Eine Vergleicherschaltung ist vorgesehen, um den Datenausgang eines jeden Moduls mit einem Suchwort so zu vergleichen, daß bei Obereinstimmung der aus einem angewählten Schieberegister eines Spcichcrmoduls ausgelesenen Daten mit einem Suchwort die Vcrgleirherschaltung diese Tatsache anzeigt.
Für eine Markicrungsbitposition eines jeden parallelen Wortes ist eine separate Speicherebene vorgesehen. Auf di.,',er Ebene ist eine Schaltung vorgesehen, die auf das Signal der Vergleicherschaltung bei jedem Modul dadurch anspricht, daß sie die Markierungszeichcn an die Wortstellen setzt, die mit dem Suchwort übereinstimmen. Während aufeinanderfolgende Tabellen im Speicher durch Wählen aufeinanderfolgender Schieberegisterstellen abgesucht werden, werden die Markierungen in der Markierungsbitposition fortgeLchrieben, um nachfolgende Übereinstimmungsbedingungen wiederzugeben bzw. anzugeben.
Die in Fig. 1 gezeigte Anordnung enthält einen Speicher 100, X- und Y-Adreßdecodierer 101 und 192 zum Wählen von Positionen in Speicher 100, einen Markierungsbitspeicher 111, X- und Y-Markierungsdecodierer 109 und 110, eine Steuerschaltung 103 zum Anschluß "des Speichers an eine Einsatz/ Ausgabe-Anschlußstelle, einen Taktgeber 104, eine Synchronisationsschaltung 105 sowie ein Suchwortregister 106 und ein Maskenregister 107 zur assoziativen Abfrage des Speichers 100.
Der Speicher 100 ist - s mehreren Karten zusammengesetzt, von denen ei.;e Fig. 2 gezeigt ist. .!ede Karte enthält 16 Moduln, jedes Modul 4 Halbleiterplättchen. Auf jedem Plättchen befinden sich 1024 Speicherzellen, die in 4 Feldeffekttransistor-Schieberegister mit je 256 Bits Kapazität aufgeteilt sind. Auf jeder Kane sind Wählleitungen A'O bis Λ'15 und YO bis YlS vorgesehen, die parallel an alie Karten im Speicher angeschlossen sind.
Die externe Anwahl des Speichers 100 erfolgt über die X- und Y-Decodierer 101 und 102, die Bits decodieren, die auf der Schieberegister-Stellenleitung erscheinen, so daß eine Ä"-Koordinatenleitung ur.d eine Y-Koordinatenleitung erregt wird und dadurch eine Schieberegisterstelle am Schnittpunkt der erregten Koordinatenleitungen ausgewählt wird. Wenn der Speicher ah Assoziativspeicher verwendet werden soll, wird der Suchbetrieb-Eir^ang für die X- und Y-Decodierer 101 und 102 durch die Steuerschaltung 103 erregt. Dadurch wird mehr als eine X- und Y-Koordinate erregt un<! so mehrere Schieberegister auf jedem Modul im Speicher gewählt. Sobald Xn und Yn erregt sind, ist z. B. das /i-te Schieberegister auf jeder Karte im Speicher erregt. Die erregte Suchbetriebsleitung besorgt auch die Erregung derselben relativen Position in jedem anderen Modul auf der Karte. Im gezeigten Beispiel werden im Suchbetrieb sechzehn Schieberegister gleichzeitig erregt, und zwar jedes Schieberegister in derselben relativen Lage auf jedem der 16 Moduln auf der Karte.
Es wird angenommen, daß auf der Schieberegister-Stellenleitung eine Adresse liegt, die nach Decodierung normalerweise das Schieberegister am Schnittpunkt der erregten -Y-Koordinatel5 und der erregten Y-Koordinate 0 wählt. Im Suchbetrieb wird über die Suchbetriebsleitung ein entsprechendes Schieberegister auf jedem der anderen Moduln gewählt, das heißt, die Siichbetricbsleitung erzwingt die Wahl von Schieberegisl·. rn, die durch die A'-Koordin?- ten X3, X1 und X11 erregt sind, zusätzlich zum Register Xiy Außerdem erzwingt die Suchbctrieb.->lei', ^ die Erreging der Y-Koordinaten Y4, Y8 und :';2 zusätzlich zur Erregung von YO. Dadurch werden gleichzeitig Schieberegister am Schnittpunkt ali:i dieser erregten Koordinaten gewählt, das heißt an derselben relativen Lage in jedem der Moduln C bis 15.
Jede der in Fig. 2 gezeigten Karten enthält Treiberschaltungen für die langsamen Taktleitungen LSC, die Phascrilcitungen </>! und Φ 2 zum
5 6
Treiben der Schieberegister, eine Schreibleitung ähnlich wie im normalen Lesebetrieb. Sie lädt das
SCHR y.ur Erregung der Schicbercgislerschaltungen Suchwortregister 106 mit einem Suchwort, das mit
zum Schreiben, eine Dateneingabeleitung DAT zum den im Speicher 100 gespeicherten Wörtern zu vcr-
Setzon von Daten in die Schieberegister und eine gleichen ist. Außerdem lädt die Steuerschaltung ein
Datenausgabcleitung mit Leseverstärker LVS zum 5 Maskenregistcr 107 zum Abdecken der Teile eines
Auslesen von Daten aus den Schieberegistern. Wortes, die nicht auf eine Übereinstimmung abzu-
Dic Datcnausgabelcitungen sind für jedes Modul suchen sind. Wenn in einer Maskenregistcr-Bitposi-
auf der Karte getrennt vorgesehen und sind mit tion ein Einerbit gespeichert ist, werden entspre-
einer Verglcicherschaltung 200 verbunden, die ge- eilende Positionen des Suchwortregisters 106 mit
nauer in Fig. 3 gezeigt ist und die ausgelesenen io jedem Wort des Speichers 100 verglichen.
Daten mit einem Suchwort vergleicht. Die Steuerschaltung 103 hebt das Signal auf der
In Fig. 3 ist gezeigt, wie die Datenausgangsleitung Rückstelleitung an, um das Stcllenregister 108 auf 0
von einem Modul ein Antivalenzglied 300 treibt. Ein zurückzustellen. Das Ausgangssignal des Stcllcnrcgi-
Suchwort wird mit dem Signal auf der Datenaus- slers 108 treibt den A'-Markierungsdccodierer 109
gangslcitung so verglichen, daß bei einem Unter- 15 und den K-Decodicrer 110, die ihrerseits entspre-
schied zwischen diesen beiden Signalen ein Aus- chendc X- und y-Koordinaten erregen und dadurch
gangssignal am Antivalenzglied300 erscheint. Außer- die erste Schicbcrcgisterposition eines jeden Moduls 1
dem ist ein UND-Glied 301 vorgesehen, das die bis 15 auf der Markierungsbilebcne 111 wählen.
Maskierung mit einem Maskicrungsbit ermöglicht. Die Steuerschaltung 103 hebt das Signal auf der
Wenn die Maskicrungsbitleitung stromlos ist, stimmt 20 Markierungsschreibleitung SCHR-MARKE an, wo-
diesc Position mit der des Suchworts überein. durch die Stcucrschaltungen auf jedem der gewählten
Wenn das Ausgangssignal des UND-Gliedes 301 po- Schieberegister auf der Markierungsbitebene 111 er-
sitiv ist, liegt auf diesem Modul keine Übercinslim- regt v:rdcn und daher Daten in die Schieberegister
mutig vor. schreiben in Abhängigkeit von den Eingängen zum
Außer dem Speicherteil 100 ist eine separate Mar- »5 Übereinstimmungsmodul 0 bis 15 (Fig. 4).
kierungsbitposition 111 vorgesehen (Fig. 1). Diese Die Adresse des Anfangswortes der ersten abzu-Kartc enthält 16 in einer Gruppe ausgebildete Mo- suchenden Tabelle ist im Positionsregister der Stcucrduln, von denen jedes Modulin dem Speicher 100 schaltung 103 gespeichert. Als nächstes liclii die entspricht. Die X- und V-Markierungsdecodierer 109 Steuerschaltung 103 das Signal auf der Wahlleitung und 110 sind vorgesehen für die Decodierung einer 30 115 und auf der Halleleitung 119 an, welches die durch das Stcllenregister 108 erzeugten Adresse. Synchronisationsschaltung 105 treibt. Die Schaltun-Dieses Register wird normalerweise auf 0 zurück- gen 105 sind in Verbindung mit den Taktgebern 104 gesetzt und bezeichnet dadurch die Schieberegister- jetzt erregt und verschieben den Inhalt der gewählten stelle 0. Die Markierungsdecodierer decodieren den Schieberegister in. dem Speicher 100 und der Mar-InI jlt des Stellenrcgistcrs 108 für die Wahl entspre- 35 kierungsbitcbene 111 bis zum Auftreten einer Übereilender X- und y-Koordinaten ähnlich wie die cinstimmung. Zu diesem Zeitpunkt wird die Über- X- und y-Decodierer 101 und 102 im Suchbetrieb. cinstimmungsleitung 116 stromlos. Die gewählten Das bedeutet, daß die X- und 7-Markierungsdcco- Schieberegister sind jetzt alle bis zum ersten Wort diercr 109 und 110 eine Schiebercgislcrstelle auf je- der ersten abzusuchenden Datentabellc verschoben dem Modul der Karte in Abhängigkeit vom Inhalt 40 worden. Die Steuerschaltung 103 führt jetzt eine des Stcllenrcgisters 108 wählen. Lese-Schreib-Opcration aus, indem sie den Inhalt Die Markierungsbit-Positionskartc 111 ist genauer der Positionsregister erhöht, und die gewählten in Fig. 4 gezeigt. Die Karte enthält 16 in Spalten Schieberegister werden durch die Halteleitungen 119 und Zeilen, ähnlich wie in Fig. 2 gezeigt, angeord- so gesteuert, daß Dalcnwörter aus dem Speicher 100 nete Moduln. Sie enthält ferner logische Schaltungen 45 nacheinander gelesen und Daten in die Ms kierungszum separaten Auslesen von Daten aus allen Schiebe- bitposition 111 geschrieben werden, entsprechend den registern auf einem Modul, die durch die Lescver- auf den Ausgangsleitungen M der Moduln 0 bis 15 stärker 400 und 402 dargestellt sind. Die Datenaus- erscheinenden Übereinstimmungs-Ausgangssignalen. gangsleitung von jedem Modul erregt ein ODER- Sobald eine Wortgrenze erreicht ist, das heißt die Glied 401 bis 403, und zwar je eines" für jedes der 5° Wortstellcnadresse gleich 225 ist, dann wird das 16 Moduln. Der andere Eingang eines jeden ODEiR- Positionsregister erhöht und dadurch die nächstfol-Gliedes wird durch ein Signal auf der Übereinstim- genden Schiebregister auf jedem Modul gewählt. mungs-Ausgangsleitung für jedes Modul des Spei- Gleichzeitig wird der Inhalt des Stellenregisters 108 chers 100 erregt, wie es in F i g. 2 gezeigt ist. Die erhöht und dadurch die nachfolgende Schieberegi-Ausgangssignale der ODER-Glieder 401 bis 403 er- 55 sterstelle auf der Markierungsbitebene 111 gewählt, regen die Treiber 404 bis 405, die an die Datenein- Es wird weiter auf F i g. 2 verwiesen. Wenn das gänge entsprechender Moduln 0 bis 15 angeschlossen Suchwort mit einem oder mehreren gegenwärtig aus sin(j. den Moduln 0 bis 15 aufgelesenen und auf der Sobald auf einem bestimmten Modul im Speicher Datenausgabeleitung Ä7 für jedes Modul erscheinen-100 keine Übereinstimmung erzielt wird, wird eine 0 60 den Wörtern ein übereinstimmendes Vergleichsin dieselbe relative BitposUion desselben relativen ergebnis liefert, schaltet die Vergleicherschaltung 200 Schieberegisters auf demselben relativen Modul in die Modulübereinsümmungs-Ausgangsieitung am der Markierungsbitkarte der F i g. 4 eingeschrieben. Modul ab, auf welcher der Vergleich vorliegt. Jn . . . F i g. 4 ist gezeigt, wie die Modulübereinstimmungs-Assoziative Suchoperation 6s Ausgabeleitungen mit den ODER-Gliedern 401 und Der in Fig. 1 gezeigte Speicher kann entweder im 403 verbunden sind. Wenn eine Übereinstimmung normalen Schrcib-Lcse-Betrieb oder im Suchbetrieb z. B. im Modul 0 im Speicher 100 auftritt, wird die laufen Im Suchbetrieb arbeitet die Steuerschaltung Übereinstimmungsleitung für Modul 0 abgeschaltet,
7 8
wodurch das Ausgangssignal des ODER-Gliedes 401 Einsen die Wörter bezeichnen, bei denen keine Überabgeschaltet wird (unter der Annahme, daß die einstimmung auftrat und die Nullen jene, bei denen Markierungsbitebene 111 am Anfang lauter Nullen eine Übereinstimmung festzustellen war. Es wird gespeichert hatte). Dadurch schaltet der Treiber404 noch einmal auf Fig. 4 verwiesen. Wenn eine Überalle Schieberegister auf dem Modul 0 ab und daher 5 einstimmung in der zveiten Tabelle z. B. beim Moschreibt das gewählte Schieberegister auf diesem dul 0 auftritt, schaltet die Übereinstimmungsleitung Modul eine Null in dieselbe rehtive Bitposition des für Modul 0 einen Eingang des ODER-Gliedes 401 Wortes, welches mit dem Stichwort übereinstimmte. ab. Wenn in der ersten Tabelle an derselben Wort-Auf diese Weise wird die ganze erste abzu- stelle eine Übereinstimmung auftrat, ist das Aussuchende Tabelle gelesen. Somit wird für jede Wort- io gangssignal des Leseverstärkers 400 negativ und daposition, die keine Übereinstimmung mit dem Such- her das Ausgangssignal des ODER-Gliedes 401 wort im Vergleich zeigt, eine 1 in die Markierungs- ebenfalls und es wird eine Null in die Markicposition gesetzt, um diese Tatsache anzuzeigen. Für rungsbitposition geschrieben, um anzuzeigen, daß alle Stellen, in denen das Wort mit dem Suchwort eine Übereinstimmung an derselben Stelle in beiden übereinstimmt, wird eine Null in die entsprechende 15 Tabellen auftrat. Wenn die erste Suchoperation Markicrungsbitposition geschrieben. keine Übereinstimmung an der laufenden Wortstelle Nachdem die ganze erste Tabelle abgesucht wor- brachte, ist das Ausgangssignal des Leseverstärkers den ist, kann die Steuerschaltung 103 die Ubcrein- 400 positiv und es wird eine Eins in die Markiestimmungswörter auslesen, indem sie die Such- rungsbitposition entsprechend dem Wort der zweibctriebsleitung abschaltet, das Stellenregistier 108 ao ten Tabelle geschrieben und dadurch angezeigt, daß auf Null zurücksetzt und nur die Wortpositionen im die Suchoperation zu keiner Übereinstimmung in Speicher 100 ausliest, auf denen ein Nullbit aut der beiden Tabellen an derselben Stelle führte.
Datenausgabeleitung des Markierungsbitregisters 111 Am Ende der zweiten Suchoperation enthält die erscheint. Markierungsbitposition Einsen in all den Stellen, an Ir dem in F i g. 1 gezeigten Ausführungsbeispiel »5 denen eine Übereinstimmung nicht in beiden Takann der Speicher IUO Worter von 16 Bytes Länge bellen auftrat und eine Null an den Stellen, an (128 Datenbits) speichern. Kleinere oder größere denen beide Tabellen eine Übereinstimmung ergaben, logische Eintragungen werden durch Ausführung Die Steuerschaltung 103 liest die Wörter in bei-/usätzlicher Suchoperationen nach folgender Weise den Tabellen dadurch aus, daß sie das Stellenabgesucht. Ein Suchbefehl, der Eintragungen mit 30 register 108 auf Null zurücksetzt, die Anfangsmehr als 16 Bytes abruft, die z.B. 32 Bytes lang adresse der ersten Tabelle wählt und Daten nur an sind, benötigt zwei Suchoperationen, um die Infor- den Stellen ausliest, wo die Markierungsbitposition mation herauszuziehen. Das erfolgt unter Steuerung 111 entsprechend den Signalen auf der Datenausdcr Steuerschaltung 103. In der ersten Suchoperation gangsleitung Nullen enthält. Durch entsprechende werden Markierungen (Nullbits) in die Markierungs- 35 Steuerung der Steuerschaltung 103 kann die ucscbitposition 111 an allen Stellen in der ersten Tabelle operation entweder zwischen den beiden Tabellen gesetzt, an denen die im Suchwortregister 106 ge- umschalten oder es können alle Eintragungen mil speicherten Daten mit den Wörtern des Speichers einer Übereinstimmung in der ersten Tabelle sequen-100 übereinstimmen, und Einerbits werden gesetzt, tiell ausgelesen und dann alle Eintragungen in der wo das nicht Fall ist. Eine zweite Suchoperation 40 zweiten Tabelle ausgelesen werden,
benutzt ein zweites im Register 106 gespeichertes Mehrfache Übereinstimmungen werden in u:r Suchwort und vergleicht das zweite Suchargument Steuereinheit durch einen Zähler gelöst, der die von mit der zweiten Tabelle nur an den relativen Posi- der Markierungsbitebene 111 gelesenen Zeichen tionen, wo erfolgreiche Vergleiche aus der ersten zählt.
Suchoperation vorliegen. Das erfolgt durch Rück- 45 Während die Erfindung in Zusammenhang mit
stellung des Stellenregisters 108 auf Null und Setzen nur einem Suchwortregister 106, einem Markierungs
der Wortpositionsadresse und der Schieberegister- register 107 und nur einer Markierungsbitebene 111 adresse (genommen aus dem Positionsregister in der beschrieben wurde, können mit der vorliegenden
Steuerschaltung 103) auf die Anfangsadresse der Erfindung auch gleichzeitig mehrere Suchen mit zweiten Tabelle. Eine Suchoperation läuft in der 50 einer Anzahl von Suchwörtern ausgeführt werden,
zweiten Tabelle genauso ab wie in der ersten. indem man mehrere Suchregister, Maskenregister Die Markierungsbitebene 111 enthält Einsen und und Markierungsbitpositionen vorsieht, die jedem Nullen aus der ersten Suchoperation, wobei die Suchwort/Masken-Bitpaar entsprechen.
tliemj 1 Blatt Zeichnungen

Claims (6)

1 2 Patentansprüche· Benutzer einer solchen Datenbank sofort Zugriff zu ' einer großen Datenmenge haben muß und daß
1. Assoziativspeicher mit sehr hoher Such- genaue spezifizierte einzelne Aufzeichnungen, die geschwindigkeit, insbesondere für große Infor- sich auf ein bestimmtes Problem beziehen, schnell mationsmengen, mit Vergleichsschaltungen zum 5 und genau wiedergewonnen werden müssen. Vergleich der Datenbits mit den Bits eines Such- So wurden z. B. Assoziativspeicher entwickelt, in worts, die bei Übereinstimmung ein Überein- denen die Speicherstellen durch den Inhalt der Stelstimmungssignal erzeugen, dadurch ge- len gefunden werden und nicht durch eine bestimmte kennzeichnet, daß der Speicher in einzelne physikalische Adresse, wie bei konventionellen Spei-Moduln unterteilt ist, die über gemeinsame X- io ehern. In einem Assoziativspeicher mit schnellem und Y-Kooioinatenleitungen ansteuerbar sind Zugriff wird gleichzeitig jedes im Speicher gespei- und zur Speicherung von Daten Schieberegister cherte Wort mit dem Inhalt eines Suchregisters aufweisen, und daß die Vergleichsschaltungen verglichen. Ein Übereinstimmungssignal bezeichnet (200) an den Datenausgang jedes Moduls des die Wörter, die mit dem Wort im Suchregister überSpeichers angeschlossen sind. t5 einstimmen. Die entstehenden Ubercinstimmungs-
2. Assoziativspeicher nach Anspruch 1, da- signale werden dann dazu verwendet, das Auslesen durch .,,kennzeichnet, daß die einzelnen der übereinstimmenden Wörter zu steuern. Auch Speicherelemente innerhalb eines Schieberegisters können nur Teile von Wörtern im Speicher abgeals Umlaufregister und auf Modulbasis zusam- sucht werden, wenn das Suchregister mit nur einem mengeschaltet sind. 20 Teil eines Suchwortes geladen wird oder wenn ein
3. Assoziativspeicher nach den Ansprüchen 1 Maskenregister dazu benutzt wird, diejenigen Teile und 2, dadurch gekennzeichnet, daß neben dem des Wortes zu maskieren, die nicht abgesucht werden aus Schiebo-egistern bestehenden Speicher (100) sollen. Bedingt durch die Paralielabfrage und den ein weiterer Speicher (111) angeordnet ist, der P^.iallelvergleich sind derartig aufgebaute Speicher auf Signale der Vergleichersclialtung von jedem 25 zwar sehr schnell, aber jedoch zu teuer, um als Modul dadurch anspricht, daß ein Markierungs- Großraumspeicher eingesetzt werden zu können, zeichen an die Wortstellen gesetzt wird, die mit Aus diesem Grunde wurden Speicheranordnungen dem Suchwort übereinstimmen. entwickelt, in denen die Informationen sequentiell
4. Assoziativspeicher r.ach Anspruch 3, da- abgesucht werden. In einer solchen Anordnung werdurch gekennzeichnet, daß der Speicher (111) für 30 den die in sequentiellen Speicherstellen gespeicherten die Markierungsbits aus Suiiebeiegistern oder Daten ausgelesen und mit Informationen in einem Umlaufregistern besteht. Suchregister verglichen. Bei einer Übereinstimmung
5. Assoziativspeicher nach den Ansprüchen 1 wird die gesuchte Informatik markiert und evenbis 4, dadurch gekennzeichnet, daß dem Speicher tuell ausgelesen. Diese zwar billigen Speichersysteme (100) für die Informationen X- nnd Y-Deco- 35 sind jedoch sehr langsam uud können deshalb in dierer (101 und 102) vorgeschaltet sind, die über Systemen mit sehr großen Datenmengen, wie sie eine Leitung von einer Steuerschaltung(103) in z.B. Datenbänke darstellen, nicht eingesetzt werden. Such-Betrieb umgeschaltet werden können, und Außerdem sind auch Speicheranordnungen vorgedaß dem genannten Speicher (100) ein Register schlagen worden, die sowohl assoziativ als auch mit (108) zugeordnet ist, das über -Y-F-Markierungs- 40 X-, y-Adressen betrieben werden können, so daß decodierer (109 und 110), die dem Speicher (111) der Speicher für ein bestimmtes Problem assoziativ für die Markierungsbits vorgeschaltet sind und die durchsucht werden kann und innerhalb der so gcim Register (108) angegebene Adresse decodie- fundenen Datenmenge eine spezielle Information ren, zur Eintragung eines Markier ungsbits die durch Angabe einer physikalischen Adresse gefunentsprechende Stelle im Speicher (111) für die 45 den werden kann.
Markierungsbits selektiert. Auch ein solch aufgebauter Speicher verwendet
6. Assoziativspeicher nach den Ansprüchen 1 für den Assozialivsuchvorgang einen Parallelvergleich, und 2, dadurch gekennzeichnet, daß den aus so daß der technische Aufbau für einen derartig aufSchieberegistern bestehenden Speichern (100) für gebauten Speicher so groß wird, daß er sich zur die Informationen ein Suchwortregister (106) 50 Speicherung großer Datenmengen nicht eignet.
und ein Maskenregister (107) zur Maskierung ge- Der Erfindung liegt deshalb die Aufgabe zu-
wünschter oder nicht gewünschter Stellen im gründe, einen Speicher zu schaffen, der Assoziativ-Suchwort vorgeschaltet sind, die beide über Lei- suchvorgänge mit einer sehr hohen Geschwindigkeit tungen von der gemeinsamen Steuerschaltung ermöglicht und sich durch einen besonders geringen (103) geladen und gesteuert werden. 55 technischen Aufwand an Speichermitteln und Steuer
mittel auszeichnet, so daß er insbesondere zur
DE19702062791 1969-12-31 1970-12-19 Assoziativspeicher Expired DE2062791C (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88943469A 1969-12-31 1969-12-31
US88943469 1969-12-31

Publications (3)

Publication Number Publication Date
DE2062791A1 DE2062791A1 (de) 1971-07-15
DE2062791B2 DE2062791B2 (de) 1972-09-28
DE2062791C true DE2062791C (de) 1973-04-26

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2532125A1 (de) * 1974-08-06 1976-02-26 Ibm Modularbaustein fuer datenverarbeitungsanlagen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2532125A1 (de) * 1974-08-06 1976-02-26 Ibm Modularbaustein fuer datenverarbeitungsanlagen

Similar Documents

Publication Publication Date Title
DE2515696C2 (de) Datenverarbeitungssystem
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE3650156T2 (de) Auf regeln basiertes datenwiederauffindverfahren und anordnung.
DE2059917C3 (de) Hybridadressierter Datenspeicher
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE68928187T2 (de) Inhaltadressierte Speicherzellenanordnung
DE68916563T2 (de) Speicheranordnung mit Vorhersage der Bausteinauswahl.
DE2154106A1 (de) Arbeitsspeicherwerk
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE102020133878A1 (de) Technologien für spaltenbasierte datenlayouts für geclusterte datensysteme
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2359920A1 (de) Adressiereinheit fuer einen gemeinschaftsspeicher
DE1499202A1 (de) Einrichtung zum Adressieren von Speicherbereichen
DE1499739B2 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Worter
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
DE69025782T2 (de) Registerbankschaltung
DE2556357A1 (de) Adressiereinrichtung
EP0057755B1 (de) Mikrorechnersystem zum raschen Auffinden von Kennzeichenblöcken
DE2062791C (de) Assoziativspeicher
DE1799012B1 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschnitten in einem elektronischen Rechner
DE3688737T2 (de) Kontextadressierbarer umlaufspeicher.
DE1295656B (de) Assoziativer Speicher
DE1774845A1 (de) Einrichtung zur Adressenpruefung und -modifizierung in einem Datenverarbeitungssystem mit dynamischer Adressenverschiebung
DE3149926A1 (de) Programmierbare vergleichsschaltung