DE2062791C - Assoziativspeicher - Google Patents
AssoziativspeicherInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 70
- 239000003550 marker Substances 0.000 claims description 22
- 230000000875 corresponding Effects 0.000 claims description 8
- 230000000873 masking Effects 0.000 claims description 5
- 230000036651 mood Effects 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims 3
- 238000000034 method Methods 0.000 claims 1
- 230000005284 excitation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 229910021320 cobalt-lanthanum-strontium oxide Inorganic materials 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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,
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.
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. 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
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2532125A1 (de) * | 1974-08-06 | 1976-02-26 | Ibm | Modularbaustein fuer datenverarbeitungsanlagen |
Cited By (1)
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 |