DE2712575C2 - Assoziatives Speichersystem in hochintegrierter Halbleitertechnik - Google Patents

Assoziatives Speichersystem in hochintegrierter Halbleitertechnik

Info

Publication number
DE2712575C2
DE2712575C2 DE2712575A DE2712575A DE2712575C2 DE 2712575 C2 DE2712575 C2 DE 2712575C2 DE 2712575 A DE2712575 A DE 2712575A DE 2712575 A DE2712575 A DE 2712575A DE 2712575 C2 DE2712575 C2 DE 2712575C2
Authority
DE
Germany
Prior art keywords
hit
word
memory
address
lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2712575A
Other languages
English (en)
Other versions
DE2712575A1 (de
Inventor
Walter Dipl.-Ing. 8011 Putzbrunn Motsch
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.)
MOTSCH, WALTER, DIPL.-ING., 8011 PUTZBRUNN, DE
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE2712575A priority Critical patent/DE2712575C2/de
Priority to US05/882,549 priority patent/US4159538A/en
Publication of DE2712575A1 publication Critical patent/DE2712575A1/de
Application granted granted Critical
Publication of DE2712575C2 publication Critical patent/DE2712575C2/de
Expired 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

  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Description

Die Erfindung betrifft ein assoziatives Speichersystem in hochintegrierter Halbleitertechnik nach dem Oberbegriff des Patentanspruchs 1. Dieses Speichersystem ist in digitalen Rechenanlagen aller Art verwendbar, wo es als Bestandteil des Hauptspeichers, als Ergänzungsspeicher zum Hauptspeicher für besondere Aufgaben, als peripherer Speicher z. B. für Datenbankprobleme, als Hilfsmittel für gewisse Kontroll- und Verwaltungsaufgaben innerhalb des Rechners sowie als Komponente eines assoziativen Prozessors eingesetzt werden kann. In allen Fällen dient es dem Zugriff zu Informationseinheiten, deren Aufbewahrungsort nicht expüzit bekannt ist und die deshalb aus Geschwindigkeitsgründen mit inhaltsorientierten Methoden aufgefunden werden müssen. Derartige Methoden erweisen sich beispielsweise bei Listenverarbeiiungen, schnellen Adreßumsetzungen und Sortierprozessen als sehr vorteilhaft
Assoziative Speicher sind in mehreren Varianten bekannt, wobei sich aus technologischer Sicht zwei Kategorien unterscheiden lassen.
Aus dem Bereich der Halbleiterintegrationstechnik sind zwei Bausteine mit der nur geringen Kapazität von 16 Bits bekannt (siehe Datenblatt zum Typ 3104 der Firma Intel Corp. vom Mai 1371 sowie Typ 93402 im TTL Data Book der Firma Fairchild Semiconductor vom Juni 1972), die sich nur zum Aufbau recht kleiner Speichersysteme eignen. Eine nennenswerte Vergrößerung der Bausteinkapazität wird mittlerweile nicht mehr durch unzureichende Integrationsdichten auf den Silizium-Chips blockiert, sondern durch den hohen Verkapselungsaufwand für die Chips. Da jedes Speicherwort eine externe Leitung für die Trefferanzeige benötigt, wächst die Anzahl der Gehäuseanschlußstifte linear mit der Wortanzahl auf dem Chip. Damit werden die Herstellungskosten sehr rasch unwirtschaftlich, und auch die Zuverlässigkeit solcher Baueinheiten nimmt signifikant ab.
Aus DE-OS 25 25 287 sind Maßnahmen bekannt, die auf eine deutliche Verringerung des Bedarfs an äußeren Anschlüssen abzielen. Sie haben den Nachteil, daß dabei die vollassoziativen Fähigkeiten des Speichers (simultaner Vergleich eines vorgelegten Suchbegriffs mit sämtlichen gespeicherten Datenwörtern) verlorengehen, weil nur ein kleiner Teilbereich der Speicherkapazität assoziativ abfragbar ist In diesem Teilbereich benötigt jedes Wort weiterhin eine separate Trefferleitung, so daß die Ersparnis an äußeren Anschlüssen dennoch fragmentarisch bleibt.
Alle bekannten Assoziativspeicher in Halbleitertechnik beschränken sich bei Suchoperationen auf den Identilätsvergleich der gespeicherten Datenwörter mit dem vorgegebenen Deskriptor (Suchwort). Eine Implementie- 5υ rung anderer Assoziationskriterien, wie »Größer«, »Kleiner«, »Ungleich«, »Größer/Gleich«, »Kleiner/Gleich« steht bislang noch aus, ebenso die sukzessive Anwendung verschiedener Assoziationskriterien und Deskriptoren auf dieselben Datenwörter bzw. auf Teile davon zwecks Realisierung von Mehrfachabfragen, wobei die Trefferinformationen der einzelnen Suchoperationen zu einem Gesamtresultat verknüpft werden.
Die zweite Kategorie bekannter Assoziativspeicher ist speziell auf die Kryotron-Technologie hin konzipiert. Die hier angewandten Methoden und Organisationsprinzipien lassen sich — ganz besonders gilt dies für die Systemebene — aufgrund der völlig anderen Randbedingungen nicht äquivalent auf die Halbleitertechnik übertragen. Insofern sind auch ähnliche oder sogar identische Aufgabenstellungen nur mit Hilfe von durchaus andersartigen Lösungsansätzen zu bewältigen.
So ist aus DE-AS 12 69 182 ein Speicher mit prioritätsorientierter Separation und Erkennung der internen Worttrefferinformaticnen bekannt. Die dazu notwendigen Schaltungen sind außerordentlich umfangreich und bt .uchen halbleitertechnologisch nicht nachvollzogen werden. Besonders nachteilig ist dabei, daß nach jeder Identifikation eines Worttreffers die zugehörige Marke gelöscht und die assoziative Abfrage wiederholt werden muß. Bei h vorhandenen Treffern sind daher insgesamt neben h Erkennungs- auch h Abfragezyklen (Suchoperationen) erforderlich. Dies impliziert eine unnötig langwierige Prozedur sowit einen beachtlichen Hard- und Softwareaufwand für die zeitliche Ablaufsteuerung.
Ein weiterer Assoziativspeicher (vgl. DE-AS 14 49 375) vergleicht die Datenwörter nicht nur auf Identität mit dem Deskriptor, sondern auch bezüglich der Kriterien »Größer« und »Kleiner«. Die hier ergriffenen Maßnah-
men führen aber zu einer unflexiblen und wenig anwendungsfreundlichen Lösung. Die Speicherwörter sind zwar in Bitgruppen untergliedert, doch kann das Vergleichskriterium bei einer Abfrage nur einheitlich für alle Bitgruppen gewählt werden. Demzufolge lassen sich nur relativ simple Suchoperationen durchführen, deren Trefferergebnisse nur eine begrenzte Aussagekraft besitzen, so daß wichtige Kategorien von Anwendungsproblemen damit gar nicht oder nur äußerst umständlich behandelt werden können. Ebenso ist es nicht möglich, dieselben Bitgruppen nacheinander mehreren Abfragen mit verschiedenen Vergleichskriterien und/oder Deskriptoren zu unterziehen, um durch Verknüpfung der Einzelergebnisse logisch komplexere Suchvorgänge zu realisieren. Insofern sind die hier geschaffenen Funktionserweiterungen nur sehr beschränkt nutzbar.
Hinzu kommt, daß aus technologiespezifischen Gründen die Fortschaltung der Treffermeldung zwischen den
ίο Speicherzellen einer Bitgruppe einen erheblichen Schaltungsaufwand verursacht und die Bitgruppen trotzdem eine fixe Länge aufweisen. In Verbindung damit ist auch die aufbautechnische Starrheit als unbefriedigend anzusehen, die keine Vergrößerung der einmal festgelegten Speicherwortlänge zuläßt. Wünschenswert wäre hingegen eine variable Einteilungsmöglichkeit für die Bitgruppen sowie eine modulare Erweiterungsfähigkeit der Speicherkapazität gemäß den jeweiligen Anwendungserfordernissen.
Ferner ist ein Assoziativspeicher (vgl. DE-AS 12 73 584) bekannt, in dem die Teilergebnisse aus mehreren sequentiellen Suchoperationen konjunktiv oder disjunktiv verknüpft werden können. Dabei ist allerdings die Aufgabenstellung — wiederum technologiebedingt — stark eingeengt. So bezieht sich die UND-Verknüpfung sequentiell erhaltener Abfrageergebnisse auf verschiedene Teile der Speicherwörter, die jeweils mit einem eigenen Suchwort verglichen wurden.
Das hiermit gelöste Problem stellt sich bei einem Aufbau des Assoziativspeichers in Halbleitertechnik gar nicht explizit, weil dort bei entsprechender Koordination der Speicherzellen und bei geeigneter Maskenwahl dus Trefferergebnis ohne besonderes Zutun für die Speicherwörter als ganzes entsteht und daher die Konjunktion zwischen den Teilergebnissen mehrerer Wortteile bereits einschließt. Das bedeutet: Die bei dem bekannten Speicher notwendige Abfragesequenz mit <Jer UND-Verknüpfung der Einzelergebnisse schrumpft dann per se auf eine einzige Abfrage zusammen, was beträchtliche Einsparungen an Steuerungsaufwand und Ausführungszeit ergibt.
Eine Sequenz von Such-, orgängen und damit die UND-Verknüpfung der Einzelergebnisse wird erst dann unumgänglich, wenn derselbe Wortteil mehreren Vergleichen mit zwangsläufig verschiedenen Deskriptoren und Assoziationskriterien unterzogen werden soll. Das trifft z. B. auf die Zwischen-Grenzen-Abfrage zu, wie folgende Aufgabe zeigt: Aus einer Personaldatei sollen diejenigen Betriebsangehörigen selektiert werden, die mindestens 10 und höchstens 15 Dienstjahre aufweisen. Eine andere Aufgabe könnte lauten: Gesucht ist der älteste Mitarbeiter, der jünger als 50 Jahre ist, oder: derjenige aus dem Kreis der mehr als 5000 DM/Monat Verdienenden, der als nächster sein 25jährige3 Jubiläum feiert. Derartige Problemstellungen erfordern echte Abfragesequenzen mit Verknüpfungen und sind daher mit den bekannten Speichern nicht lösbar.
Allen bisher vorgeschlagenen Assoziativspeichern ist gemeinsam, daß die Implementierung bestimmter Funktionen in den Vordergrund gerückt und demgegenüber die Konzeption eines umfassenden Gesamtsystems vernachlässigt wurde bzw. daß die auf anderer technologischer Basis angestellten Systemüberiegungen für Halbleiterspeicher irrelevant sind.
Ausgehend von der Erkenntnis, daß die Halbleitertechnik auf absehbare Zeit die einzige kommerziell relevante Schnellspeichertechnologie sein wird, liegt dem Anmeldungsgegenstand die Aufgabe zugrunde, einen schon vom Ansatz her auf diese Technologie ausgerichteten, besonders leistungsfähigen und kostengünstigen Assoziativspeicher als komplettes System zu schaffen, dessen Speicherbausteine den vollassoziativen Zugriff auf alle Speicherwörter mit einer wesentlich größeren Chipkapazität als bisher vereinigen und trotzdem mit ähnlich vielen Anschlußstiften wie andere integrierte Schaltkreise auskommen, dessen Gesamtkapazität durch entsprechende Anordnung einer Vielzahl eben dieser Bausteine sowohl nach Wortanzahl als auch nach Wortlänge frei gewählt und modular erweitert werden kann und das auch bei komplexeren Suchoperationen eine effiziente Identifikation und Auswertung der Worttreffer bei zugleich sehr niedrigem Schaltungsaufwand außerhalb der Speicherbausteine realisiert.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Patentanspr uchs 1 angegebenen Maßnahmen gelöst. Sie erstrecken sich auf drei unterschiedliche, jedoch in enger Wechselwirkung ste^nde Ebenen: den einzelnen Speicherbaustein mit seiner internen Organisation, die Systemorganisation mit dem Verdrahtungsschema der Speicherbausteine und das Steuerwerk als Implementation der Treffererfassungsprozedur.
Auf der Säüsicineberic wird iT.itteis pnöntaiagcsicücf icf Separation. Codierung and sequentieller Ausgabe der Trefferinformation die Aufgabe gelöst, auch bei einer großen Anzahl von Speicherwörtern eine wirtschaftlich vertretbare Anzahl von Gehäuseanschlüssen (Pins) einzuhalten. Typischerweise läßt sich die Bausteinorganisation nur mit Blick auf das Gesamtsystem optimieren; denn gerade die Bildung von Treffercodewörtern wirft das Problem auf, daß alle Bausteine, von denen jeder einen anderen Teil zur Systemwortlänge beiträgt, dasselbe Treffercodewort ausgeben müssen, damit für das gesamte Datenwort ein Treffer erkannt werden kann.
Ihm wird bei der Systemorganisation durch Serienschaltung der Speicherbausteine bezüglich ihrer Adreßeingänge (2t) und Treffercodeausgänge (23) begegnet Dank dieser Maßnahmen kann sich das Steuerwerk zwecks Erkennung der ausschließlich interessierenden Gesamtworttreffer auf einen Vergleich der Wortadresse des ersten Bausteins auf den Leitungen (81) mit dem Treffercodewort des letzten Bausteins auf den Leitungen (67) beschränken. Damit ist offensichtlich die Systemwortlänge modular erweiterbar, ohne daß ein Eingriff in das Steuerwerk erforderlich wird.
Eine Reihe von Ausgestaltungen der Erfindung verfolgt das Ziel, das assoziative Speichersystem mit Funktionsmerkmalen auszustatten, die komplexere Suchoperationen als die bisher bekannten zulassen und damit herkömmliche Problemlösungen drastisch vereinfachen bzw. dem Assoziativspeicher neue Aufgabenbereiche
erschließen, die außerdem den Vorgang der Trefferidentifikation und -auswertung zusätzlich beschleunigen und schließlich den Betrieb des Speichersystems (z. B. per Programmsteuerung) effektivieren.
So können Mie Speicherbausteine noch je ein Daten- (12) und Trefferregister (15) enthalten, um den Deskriptor sowie die Trefferinformation dauerhaft verfügbar zu machen. Ebenso kann vorgesehen sein, mittels bausteininterner Rückführung der Leitungen (55) oder (56) mit der Trefferinformation auf die Wortauswahlleitungen der Speicherzellenmatrix (14) in alle durch einen Treffer markierten Speicherplätze simultan ein neues Datenwort cip-uschreiben bzw. ihren Inhalt zu löschen.
Weiterhin kann es im Rahmen bestimmter Suchprozesse zweckmäßig sein, ein per Wortadresse ausgewähltes Speicherwort wiederum mittels interner Rückführung über die Leitungen (28), den Bus-Treiber (10) und die Leitungen (26) als neuen Deskriptor für die nächste Abfrageoperation in das Datenregister (12) zu laden.
Komplexere Suchprozesse an assoziativ gespeicherten Daten setzen voraus, daß neben der Identität noch andere Assoziationskriterien anwendbar sind, oft sogar mehrere gleichzeitig auf verschiedene Wortsegmente oder auch mehrere nacheinander auf gleiche Wortsegmente bei verschiedenen Deskriptoren. Eine Weiterbildung der Erfindung sieht deshalb die Implementierung der Assoziationskriterien »Größer als« und »Kleiner als« mittels Erweiterung der jeder Speicherzelle in der Matrix (14) angegliederten Vergleichsschaltung sowie eine Auswahlmöglichkeit (44) vor, um je eine der drei parallel anfallenden Trefferinformationen (bezüglich der Kriterien »Gleich«, »Größer«, »Kleiner«) auf den Leitungen (40), (41), (42) in Abhängigkeit von einer an den ;'i
Eingängen (25) vorgegebenen Operationsanweisung weiterverwenden und insbesondere in das Trefferregister ^j
(15) bzw. (45) übernehmen zu können. "
Ergänzend dazu kann es vorteilhaft sein, die zwecks Wortlängenerweiterung zu einer Matrixreihe in der 20 '>; Speicheranordnung (75) verschalteten Speicherbausteine mit verschiedenen Operationsanweisungen zu be- :j
.schicken, um einzelne Segmente der Speicherwörter gleichzeitig mit verschiedenen Assoziationskriterien abzu- "9
fragen. Auf diese Weise lassen sich mehrere sukzessive Suchoperationen, wie sie bekannte Speicher für dieses ί|
Problem benötigen, in einer einzigen zusammenfassen. j
Ferner können die Speicherbausteine dergestalt für die Durchführung von Mehrfachabfragen ausgelegt sein, 25 £j daß bedarfsweise das an den Ausgängen (56) bzw. (51) des Trefferregisters (15) bzw. (45) verfügbare und aus $
vorangegangenen Suchoperationen stammende Trefferergebnis mit der auf den Ausgangsleitungen (55) bzw. *j
(49) der Speicherzellenmatrix (14) anliegenden und aus der aktuellen Abfrage herrührenden Trefferinformation gj
in den Gattern (48) konjunktiv zu einem neuen Trefferergebnis verknüpft und als solches in das Trefferregister geladen wird. Auf dieser Basis können auch auf gleiche Wortsegmente sukzessiv verschiedene Assoziationskrilerien mit verschiedenen Deskriptoren angewandt werden. Das dann zuletzt im Trefferregister enthaltene Abfrageergebnis markiert nur noch diejenigen Speicherwörter, die sämtliche nacheinander vorgebrachten .!
Suchbefindungen gemeinsam erfüllen. Somit ist als Gesamtergebnis nur noch die Schnittmenge der sequentiell Vt
entstandenen Einzelergebnisse vom Steuerwerk zu erfassen und auszuwerten. Gegenüber bekannten Speichern 3j
bedeutet das nicht nur eine beträchtliche Straffung des eigentlichen Abfrageprozesses, also der Erzeugung des 35 ?.i) letztlich relevante-. Ti :ffermusters, sondern auch eine gravierende zeitliche Komprimierung der Identifikation ;j
dier js I reffermusters. . " —■
'Jem letztgenannten Zweck dient als weitere Ausgestaltung das Anbringen eines Trefferstatusausgangs (24) j
an Jen Speicherbausteinen. Das auf ihm angebotene Signal wird aus einer ODER-Verknüpfung der vom £·
Diskriminator (16) gleichsam gefilterten Trefferinformation gewonnen und zeigt an, ob in dem vom aktuellen «0 g Schwellenwert nicht maskierten Adreßbereich noch weitere Worttreffermarken zur Auswertung anstehen. f{
Darauf fußend kann eine zusätzliche ausgestaltende Maßnahme die UND-Verknüpfung der Trefferstatusaus- &]
gänge aller zu einer Reihe verschalteten Bausteine in der Speicheranordnung (75) beinh'lten. Sobald in wenig- t
stens einem dieser Bausteine kein Treffer mehr zur Auswertung ansteht, was sich aus dem Signalpegel auf den gj
Leitungen (83,1) bis (83,p) erkennen läßt, erübrigen sich weitere Identifikationsversuche in dieser Reihe. Das 45 ti Steuerwerk kann deshalb unmittelbar zur Abprüfung der nächsten Reihe übergehen und insbesondere alle Reihen, die keine Gesamtworttreffer enthalten, überspringen, weil dies gleichfalls aus der UND-Verknüpfung der einzelnen Trefferstatusmeldungen ersichtlich ist.
Ein assoziatives Speichersystem der dargestellten Art zeichnet sich durch mehrere bemerkenswerte Vorteile aus. Die Chipkapazität seiner Speicherbausteine wird nicht mehr von der praktikablen Gehäusestiftzahl, son- 50 j$ dem allein von der technologisch erreichbaren IntegratiG.isdichte begrenzt und kann somit gegenüber dem gegenwärtigen Stand der Technik um ein Vielfaches gesteuert werden. Dadurch lassen sich auch die bitspezifischen Kosten und Leistungsaufnahme drastisch senken. Dank der Verlagerung eines Teils der Auswertelogik in die Speicherbausteine schrumpft der Bedarf an zusätzlichen Schaltkreisen, zahlreiche Verbindungsleitungen zwichen den Bausteinen entfallen, und der Schaltungsaufwand für das Steuerwerk hält sich sehr niedrig. Ein derartiges Speichersystem ist demzufolge nicht nur einfacher, kompakter und billiger im Aufbau, sondern auch mechanisch und elektrisch sicherer. Die matrixartige Anordnung der Speicherbausteine mit dem erfindungsgemäßen Verdrahtungsschema gewährleistet volle Freizügigkeit und Modularität bei der Auslegung der Systemkapazität
Die charakteristische Funktionsweise des Steuerwerks — Vorgabe einer Wortadresse als Schwellenwert zur Maskierung der bereits erfaßten Treffer in die erste Bausteinspalte und Vergleich mit dem von der letzten Bausteinspalte gelieferten Treffercodewort — bewirkt eine zeitminimale Identifikation der als Abfrageergebnis entstandenen Treffer und somit eine hohe Effizienz des Speichersystems.
Die Implementierung von Funktionseigenschaften zur Durchführung komplexer Abfragen mit verschiedenen Assoziationskriterien und spezieil von Mehrfachabfragen mit interner Verknüpfung der einzelnen Trefferinformationen zu einem Gesamtergebnis eröffnet völlig neue assoziative Operationsmöglichkeiten. Sie gestatten die Zusammenfassung ganzer Sequenzen von Suchoperationen zu einer einzigen bzw. zu ganz wenigen und reduzieren damit umfangreiche und zeitintensive Programme erheblich. Von dieser Vereinfachung profitieren zahl-
reiche Datenverarbeitungsprozesse, wie z. B. das Sortieren und Klassifizier on von Datenbeständen, die Verwaltung von Datenbanken, die Zeichen- und Mustererkennung, die Sprach- und Codeübersetzung, die interaktive Mensch-Maschine-Kommunikation.
Die Erfindung wird im folgenden anhand von Zeichnungen und Ausführungsbeispielen näher erläutert. Darin zeigen
F i g. 1 das Blockschaltbild eines woriorganisierten und bitweise maskierbaren vollassoziativen Speicherbausteins für m "Wörter zu je η Bits,
F i g. 2 die Struktur eines assoziativen Speichersystems mit einer Matrixanordnung aus Speicherbausteinen zur Realisierung einer Kapazität von ρ ■ m Wörtern zu je q ■ η Bits sowie mit den wichtigsten Komponenten des ίο Steuerwerkes,
F i g. 3 die den einzelnen Speicherzellen angegliederten Vergleichsschaltungen sowie die Schaltungen zur Erzeugung der Treffermeldungen bezüglich der Assoziationskriterien »Gleich«, »Größer«, »Kleiner« für ein einzelnes π Bits langes Datenwort,
F i g. 4 die Schaltungen zur Auswahl und Zwischenspeicherung einer der drei Treffermeldungen sowie zu deren optionalen UND-Verknüpfung mit einer früher entstandenen und zwischengespeicherten Treffermcldung, jeweils für ein einzelnes Datenwort.
In F i g. 1 ist das Organisationsschema des erfindungsgemäßen assoziativen Speicherbausteins mit den wesentlichen Funktionskomponenten dargestellt, das sowohl einen auch bei nichtassoziativen Speichern anzutreffenden Schreib/Lesebetrieb als auch das vollassoziative Durchsuchen aller gespeicherten Daten mit einer prioritätsgesteuerten Separation und wortweise codierten Ausgabe der dabei als Ergebnis entstehenden Trefferinformation erlaubt.
Der Bustreiber (10), der einen bidirektionalen Datenverkehr des Speicherbausteines mit seiner Umwelt ermöglicht, sowie das Datenregister (12) und Maskenregister (13) sind für die Länge η der in der Speicherzellenmatrix (14) gespeicherten Datenwörter ausgelegt. Die Dimensionierung des Trefferregisters (15), des Diskriminators (16) und des Prioritäts-Codierers (17) orientiert sich dagegen an der Anzahl m der in (14) installierten Speicherplätze bzw. Datenwörter. Ebenso von der Wortanzahl m bzw. von deren dualcm Logarithmus Id m hängt auch der Umfang des Adreßdecodierers (11) und des Multiplexers (18) ab. Der Operationsdecodierer (19) entschlüsselt die in einer Breite von it Bits an den Eingängen (25) angebotene Operationsanweisung, die ggf. auch das Assoziationskriterium als Bestandteil einschließt.
Bei Schreib- und Leseoperationen wird die an den Eingängen (21) anliegende Adresse mittels des Signals auf Leitung (36) über den Multiplexer (18) auf die Ausgänge (23) durchgeschaltet; zugleich setzt sie der Adreßdecodierer (11) in eine Information auf den Leitungen (27) zur Auswahl genau eines der m Wörter in der Matrix (14) um. Das selektierte Datenwort kann entweder über die Leitungen (28), den Bustreiber (10) und die Anschlüsse (20) ausgelesen oder über (20), (10), Leitungen (26), Datenregister (12) und Leitungen (29) mit einem anderen Datenwort überschrieben werden.
Bei den für Assoziativspeicher typischen Suchoperationen werden die Maske und die Suchdaten (Deskriptor) nacheinander über die Eingänge (20) und den Bustreiber (i0) in das Masken- (i3) bzw. Datenregister (i 2) geladen und liegen auf den Leitungen (30) bzw. (29) an den Speicherzellen in (14) an. Der Deskriptor wird parallel mit allen Datenwörtern in (14) nach einer durch das Assoziationskriterium, festgelegten Vorschrift verglichen. In diesen Vergleich werden allerdings nur die durch die Maske im Register (13) spezifizierten Bitsteilen des Deskriptors und der Datenwörter einbezogen.
Genau für die Datenwörter, die die Trefferbedingung laut Assoziationskriterium erfüllen, wird in der Matrix (14) zwecks Markierung je eine Treffermeldung erzeugt.
Die daraus resultierende Information erscheint voll parallel auf den Leitungen (55) und wird in das Trefferregister (15) übernommen, sofern eines vorgesehen ist. Jedes darin enthaltene »L«-Bit symbolisiert eine Treffermarke für das ihm zugeordnete Datenwort
Übar die Leitungen (56) gelangt dieses Treffermuster zum Diskriminator (16), an dem zugleich eine über (21) eingegebene und in (11) decodierte Adresse anliegt. Diese Information auf den Leitungen (27) wird von (16) als Schwellenwert interpretiert mit der Wirkung, daß von den Treffermarken auf (56) diejenigen unterdrückt so werden, die aufgrund ihrer Position und damit Stellengewichtung innerhalb der Trefferinformation eine größere Dualzahl repräsentieren als die durch den Schwellenwert ausgedrückte. Das bedeutet: Von den vorgefundenen Treffermarken werden ausschließlich solche auf die Leitungen (57) durchgelassen, deren zugehörige Datenwörter eine mindestens gleich große Adresse besitzen wie die dem Schwellenwert zugrunde liegende Adresse auf (21).
Durch geeignete Erhöhung des Schwellenwertes im Laufe des Suchprozesses wird es möglich, die Anzahl der Treffermarken auf (57) schrittweise zu reduzieren und damit bereits identifizierte Treffer von einer nochmaligen Erfassung auszuschließen. Diese Methode gewährleistet eine einwandfreie und zeitoptimale Lösung des für Assoziativspeicher typischen Problems der Auflösung von Mehrfachtreffern.
Der Prioritäts-Codierer (17) selektiert aus den auf (57) verbliebenen Treffermarken diejenige mit der höchstwertigen Position bzw. Stellengewichtung, der per definitionem auch die höchste Priorität zukommt d. h. er bildet intern eine /n-stellige Information, in der als einzige Treffermarke nur noch die höchstpriore auftaucht und zwar an derselben Position wie auf (57). Die Position läßt sich sodann eindeutig in eine Id /n-stellige, also komprimierte Informatin abbilden, d. h. codieren. Das demzufolge auf den Leitungen (58) erscheinende Treffercodewort ist identisch mit der Adresse des der gerade selektierten Treffermarke zugeordneten Datenwortes. Es wird über den Multiplexer (18) und die Anschlüsse (23) ausgegeben und kann in einem anschließenden Schreiboder Lesezyklus zur Adressierung eben dieses Datenwortes über die Eingänge (21) benutzt werden.
Das Fortschreiten zur Identifikation der weiteren Treffer wird dadurch realisiert, daß man für die nächste Suchoperation (auch Suchzugriff genannt) eine Adresse an (21) vorgibt die um genau 1 größer ist als das zuletzt
erhaltene Treffercodewort. Mittels dieser Herabsetzung des Schwellenwerts wird die zuvor erfaßte Treffermarke ebenso wie alle früheren in (!6) ausgefiltert, so daß nunmehr die nächste als höchstpriorc in (17) zum Zuge komm-.. Bei genügend großem Schwellenwert wird irgendwann auf (57) keine Treffermarke mehr vorliegen. Dieser Zustand ist der Indikator für die Beendigung des Suchverfahrens. Er wird von (17) erkannt und mitteis des Trefferstatussignals über den Anschluß (24) nach außen angezeigt.
Entscheidender Vorteil dieses Hardware-Algorithmus zur Auflösung und Identifikation eines einmal intern erzeugten Treffermusters ist die Tastsache, daß dank der variablen Schwellenwerterhöhunß nur genau so viele Suchzugriffe (Aufschalten verschiedener Adressen an (21)) benötigt werden wie Treffermarken existieren, mindestens jedoch einer.
Der Operationsdecodierer (19) aktiviert die in der Operationsanweisung spezifizierte Speicherfunk tion ίο (Schreiben, Lesen, Suchen, Laden von Registern und ggf. Umsetzung des Assoziationskriteriums in die Auswahl einer von mehreren Trefferinformationen). Er leitet daraus das Richtungsauswahlsignal (31) für (10), denSchreibimpuls (34) für (14) und das Steuersignal (36) für (18) ab. Insbesondere kann er veranlassen, daß alle trefferbehafteten Daten Wörter ganz oder teilweise mit dem Inhal* von (12) simultan überschrieben werden, sofern eine Rückkopplung der Trefferinformation auf (56) in die Wor'auswahlleittingen von (14) vorgesehen ist.
'.: Über den Select-Eingang (22) läßt sich die Ausführung der Operationsanweisung innerhalb des Bausteins
verhindern; zugleich können damit die Ausgänge (23) in einen hochohmigen elektrischen Zsutand versetzt werden, was eine sehr einfache Busankopplung erlaubt (insbesondere die direkte Verbindung mit gleichartigen r lüjcaPigCPi UMuCrCr uuuSiCmC ».
In F i g. 2 ist die matrixartige Anordnung von ρ Bausteinreihen und q Bausteinspalten zu einer Speicher-An-
, Ordnung }75) dargestellt. Die Speicherbausteine sind bezüglich der Daten parallel geschaltet, derart, daß je ein η
Bits langes Segment der insgesamt g ■ η Leitungen (63) für Daten und Maske allen ρ Bausteinen der betreffenden Matrix-Spalte über die Eingänge (20) zugeführt werden, wie es auch bei den meisten nicht assoziativer Halbleiterspeichersystemen gehandhabt wird. Von dort ist auch bekannt, die Bausteinreihen bezüglich der niederwertigen Id m Adreßbits parallel zu schalten. Sie werder. hier über die Leitungen (62), den Multiplexer (73) und die Leitungen (81) auf die Eingänge (21) der ersten Spalte verzweigt.
Zur Selektion von einer aus ρ Reihen werden nach ebenfalls bekanntem Vorbild die Id ρ höherwertigen Adreßbits über die Leitungen (61), den Multiplexer (72) und die Leitungen (80) dem Decodierer (74) angeboten, der die Aufgabe hat, genau eine der Leitungen (82,1) bis (82,p) mit einem aktiven Auswahlsignal zu beschicken. Über die parallel geschalteten Eingänge (22) werden al!e Bausteine der selektierten Reihe für die Ausführung der jeweiligen Operationsanweisung freigegeben. (Die dafür benötigten k Leitungen sind zwecks besserer Übersichtlichkeit nicht in die F i g. 2 aufgenommen; sie müssen an die Eingänge (25) sämtlicher Speicherbausteine parallel angeschlossen werden.)
Neu an der erfindungsmäßigen Speicherorganisation von Fig. 2 ist, daß innerhalb jeder Matrix-Reihe die Bausteine bezüglich der Adressen in Serie geschaltet sind. Das bedeutet: Die Adreß- bzw. Treffercodewortausgänge (23) eines Bausteins sind jeweils mit den Adreßeingängen (21) des rechten Nachbarbausteins verbunden.
Bei Schreib- und Leseoperationen bringt dies keinerlei Vorteile. Die prinzipiell notwendige Parallelverzweigung der Id m niederwertigen Adreßbits auf (62) an alle Bausteine einer Reihe wird dadurch ersetzt, daß innerhalb jedes Bausteins die an (21) anliegende Adresse nicht nur zur Wortauswah! ;n (14) benutzt wird, sondern gleichzeitig vermöge des Steuersignals auf '"1S) über den Multiplexer (18) auch auf (23) durchgeschaltet wird, von wo sie unmittelbar dem Nachbarbaust ' r Verfügung steht usw. Die Schreib- und Leseoperationen laufen dann parallel in allen Bausteinen der selektierten Reihe so ab, wie es zuvor für den Einzelbaustein beschrieben wurde.
Die Serienschaltung bezüglich der Adressen innerhalb der Matrix-Reihen kommt erst bei Suchoperationen zum Tragen. Für sie ergibt sich folgender Ablauf:
Zunächst wird laut obiger Beschreibung durch assoziativen Vergleich mittels Deskriptor, Maske und Assoziationskriterium in sämtlichen Speicherbausteinen auf den Leitungen (55) — und falls vorhanden auch in (15) und auf (56) — eine Trefferinformation erzeugt. Da jeweils q durch die Spaltenbildung bedingte Datensegmente, die zur gleichen Adresse gehören, gemeinsam ein q ■ η Bits langes Datenwort bilden, interessieren offensichtlich nur die Fälle, wo ein Datenwort beim assoziativen Vergleich in allen q Segmenten bzw. den zugehörigen Bausteinen mit einer Treffermarke belegt wurde. Nur diese sog. Gesamtworttreffer, d. h. die logische Schnittmenge aus den q Segment-Treffermustern, sind unter den üblichen Anwendungsaspekten relevant; sie gilt es im eigentlichen Suchprozeß zu identifizieren und entsprechend auszuwerten.
Zu diesem Zwecke werden zunächst durch externen Eingriff die Zähler (70) und (71) gelöscht, d. h. auf »0... 0« gesetzt- Infolgedessen wird über (72), (80), (74) und (82,1) die erste Bausteinreihe selektiert; zugleich wird dem Baustein (1,1) über (73) und (81) die Anfangsadresse »0« angeboten. Der daraus resultierende interne Schwellenwert läßt gemäß Beschreibung für den Einzelbaustein alle vorhandenen Treffermarken gelten. Für das höchstpriore unter ihnen wird das zugehörige Treffercodewort gebildet und als Adresse an den Baustein (1,2) weitergereicht. Dort wird in gleicher Weise verfahren usw. bis zum Reihenende.
Gerade dank der adreßmäßigen Serienschaltung sind die von den ersten q—\ Bausteinen ausgesandten Treffercodewörter gar nicht von Belang. Maßgebend für die Entscheidung über einen Gesamtworttreffer ist allein das Treffercodewoi ί des q-ten Bausteins. Dabei gilt folgendes Kriterium: Die Koinzidenz dieses Codewortes auf den Leitungen (67) mit der dem ersten Baustein auf (81) vorgegebenen Adresse ist — vorausgesetzt, daß sich beide Größen auch auf die gleiche Matrix-Reihe beziehen — notwendige und hinreichende Bedingung _ dafür, daß das zu dieser Adresse gehörende Datenwort als ganzes einen Treffer aufweist. Diese Koinzidenz wird
i~ im Komparator (79) geprüft, der ggf. über Leitung (64) eine Treffermeldung nach außen abgibt, im Trefferfalle
" steht auf (67) zugleich die einschlägige bausteinbezogene Wortadresse abholbereit zur Verfügung.
Die Fortsetzung des Suchprozesses — konkret: die Identifikation des nächsten Gesamtworttreffers — wird
durch ein aus der Meldung auf (64) abgeleitetes Signal initiiert, das den Inhalt des Zählers (71) um eine Stufe erhöht Die dadurch geänderte Adresse führt im Baustein (1,1) zu einem Schwellenwert, der die zuvor bearbeitete Treffermarke nicht mehr auf die Leitungen (57) gelangen läßt, so daß sich zwangsläufig ein anderes Treffercodewort an (23) einstellt. Es wird in den übrigen Bausteinen nach obigem Schema weiterverarbeitet, bia auf (67) erneut ein Treftercode vorliegt
Gemäß der Funktion von Diskriminator (16) und Prioritäts-Codierer (17) kann er als Dualzahl betrachtet nicht kleiner sein als die auf (81) vorgegebene Adresse, sondern nur gleich oder größer. Im Gleichheitsfalle liegt ein Gesamttreffer vor. Bei Ungleichheit läßt sich der sichere Schluß ziehen, daß sämtliche Datenwerter mit einer zwischen der Adresse auf (81) und dem Treffercodewort auf (67) angesiedelten Speicheradresse insgesamt
ίο keinen Treffer aufweisen, so daß sich weiteres Suchen in diesem Adreßbereich erübrigt Nach einem solchen erfolglosen Suchzugriff wird das Treffercodewort von (67) in den Zähler (71) geladen und als Adreßvorgabe für den nächsten Suchzugriff benutzt
Das Wechselspiel zwischen diesen Operationsschritten gewährleistet eine sehr geringe Anzahl von Suchzugriffen bis zur Auffindung des nächsten Gesamttreffers. Es wiederholt sich so oft bis mindestens ein Baustein der ersten Reihe über den Ausgang (24) anzeigt, daß auf seinen internen Leitungen (57) keine Treffermarken mehr ansteheii. Ohne Rücksicht auf die übrigen Bausteine kann dann die Suche in dieser Reihe abgebrochen und zur nächsten weitergegangen werden, wozu das Signal auf Leitung (83,1) den Anstoß gibt
Der Diskriminator (76) und der Prioritäts-Codierer (77) üben bezüglich der p-Reihen in (75) dieselbe Funktion aus wie die entsprechenden Komponenten (16) und (17) innerhalb eines Bausteins bezüglich der m Daten Wörter.
2ö Die information auf den Leitungen (S3) sagt aus, ir. welchen Reihen überhaupt Treffer zu erwarten sind, so daß ggf. ganze Reihen übersprungen werden können, was den Suchprozeß erheblich beschleunigt Auf den Leitungen (82) liegt analog zu (27) ein Schwellenwert an, der aus der Reihenadresse in Zähler (70) gewonnen wird und vorschreibt welche Reihen vom weiteren Suchverfahren auszuschließen und weiche noch einzubeziehen sind. Die Information am Ausgang von (76) läßt demzufolge erkennen, in welchen Reihen noch nicht alle Treffer erfaßt sind. Unter ihnen selektiert (77) wiederum diejenige mit der höchsten Priorität, d. h. mit der niedrigsten
Nummer und gibt eben diese Nummer auf den Leitungen (68) aus. Sie ist ein Bestandteil des Treffercodes und
damit auch der effektiven Gesamtadresse des trefferbehafteten Datenwortes, weil sie ausdrückt welcher Reihe das betrachtete Datenwort angehört
Sinngemäß übernehmen der Komparator (78), Zähler (70) und Multiplexer (72) hinsichtlich der Matrix-Reihen
dieselben Aufgaben wie die Komponenten (79), (71), (73) hinsichtlich der Speicherplätze in den Einzelbausteinen. Ein Gesamtworttreffer läßt sich offensichtlich nur dann konstatieren, wenn nicht nur die Adresse auf (81) und das Codewort auf (67) übereinstimmen, sondern beide Größen auch für dieselbe Reihe gelten. Die zweite Bedingung ist erfüllt bei Koinzidenz der Reihenadresse auf (80) und des Codewortes (Reihennummer) auf (68). Diese Situation wird durch ein Signal auf Leitung (65) kenntlich gemacht; es gibt nur gemeinsam mit dem entsprechen den auf (64) Aufschluß darüber, ob ein Gesamttreffer vorliegt Im positiven Falle steht auf (67) und (68) die Effektivadresse (zusammengesetzt aus Reihennummer und bausteininterner Adresse) des markierten Datenwortes bereit
Eine Überlagerung mehrerer Treffercodes auf (67) ist ausgeschlossen, weil wegen der Asuwahlsignale auf (82) stets nur die Bausteine der selektierten Reihe ein Codewort aussenden können, während die Ausgänge (23) der restlichen Bausteine in einen elektrisch hochohmigen Zustand geschaltet sind.
Nach Identifikation aller Treffer innerhalb einer Matrix-Reihe gibt es für den Obergang zur nächsten Reihe zwei Möglichkeiten. Gehörte der zuletzt erfaßte Treffer zum letzten Datenwort der Reihe, so muß durch Inkrementierung des Inhaltes von (70) eine neue Reihenadresse gebildet werden. Andernfalls wird nach Erhöhung der Bausteinadresse in (71) die auf (68) anliegende Reihennummer größer sein als die auf (80) vorgegebene und ist dann zweckmäßigerweise als neue Reihenadresse in den Zähler (70) zu übernehmen.
Das Ende des Suchprozesses (sämtliche Treffer identifiziert!) ist erreicht, wenn die Ausgänge von (76) keine Treffermarkierungen mehr enthalten. Dieser Zustand kann über eine zusätzliche Ausgangsleitung von (77), die in F i g. 2 nicht eingezeichnet ist der Umgebung des Speichersystems mitgeteilt werden.
F i g. 3 enthält als Ausschnitt aus der Speicherzellenmatrix (14) eines Bausteins die für ein π Bits langes
so Datenwort vorgesehenen Speicherzellen samt den zugehörigen Logikschaltungen zur Ermittlung der Trefferinformation für dieses Wort Für jede Zelle / (mit /= 1 n) wird die Größen-Relation zwischen ihrem Inhalt und
dem entsprechenden Deskriptorbit überprüft, und zwar unter Berücksichtigung des Maskenbits. Dies geschieht durch eine UND-Verknüpfung ihrer Ausgangssignale Qi und Qi mit dem auf der /-ten Leitung von (30) anstehenden Bit Mi aus dem Maskenregister (13) sowie dem auf (29) anstehenden Bit D, bzw. D1 aus dem Datenregister (12).
Im Falle (M1=H und D1=L und Qj=H) ist offenbar der gespeicherte Wert größer als der von außen
angebotene, was durch das Signal G1= Hkenntlich gemacht wird. Sinngemäß stimmen in den Fällen (Di= L und
Qi= L)oder (Di= H und Qi= H)die beiden Werte überein, was durch E1=H auf einer zweiten Leitung angezeigt
wird. Auch wenn wegen M1 = L die betrachtete Bitposition vom assoziativen Vergleich ausgeschlossen ist, wird mittels £,= A/gewissermaßen Gleichheit simuliert.
Die Einzelaussagen C, und £, der η Speicherzellen werden in einem nachfolgenden Netzwerk, das pro Zelle drei Gatter aufweist, zu einer Trefferinformation für das gesamte Datenwort kombiniert Gleichheit zwischen Deskriptor und Datenwort herrscht offensichtlich dann, wenn Übereinstimmung in sämtlichen Bitpositionen vorliegt. Also muß gelten:
E=E^A E2/\... ΛEn. Das gespeicherte Datenwort ist als Dualzahl aufgefaßt genau dann größer als der Deskriptor, wenn es im
höchstwertigen Bit, bei dem es sich vom Deskriptor unterscheidet, größer als dieser ist Der formale Ausdruck lautet:
G=GiV EtG2 VEtE2G3 v...VEx...En^Gn.
Die Feststellung, ob das Datenwort kleiner ist als der Deskriptor, läßt sich am einfachsten aus den beiden anderen Aussagen ableiten. Der Kleiner-Relation liegt nämlich immer dann vor, wenn weder die Größer- noch die Gieichheits-Relation erfüllt sind, also:
L=G VE.
Relation Assoziations- Symbol Ableitung cus
krher'mm (AK) G und E
</=s Gleich E
d*s Ungleich NE E
d>s Größer G
d>s Größer/Gleich NL G+E
d<s Kleiner L ~G~+~E
d<s Kleiner/Gleich NG G
Die drei Signale £ (Equal, gleich), G (Greater, größer) und L (Less, kleiner) bilden gemeinsam die Trefferinformation für das zugehörige Datenwort Ihre Weiterverarbeitung ist aus F i g. 4 ersichtlich. Dort werden für eines der m in (14) installierten Datenwörter die weiteren assoziativen Abfragemöglichkeiten gemäß den Ausgestaltungen der Erfindung aufgezeigt Die Beziehung zur F i g. 1 ergibt sich daraus, daß die Leitungen (50) und (51) jeweils eine der m Leitungen von (55) bzw. (56) repräsentieren und das Trefferregister (45) ein 1 Bit breites Teilregister des /n-Bit-Registers (15) darstellt
Die Treffersignale G, L, E des betrachteten Datenwortes werden auf den Leitungen (40) bis (42) einer Auswahlschaltung (44) zugeführt wo je eines von ihnen mittels zweier Bits aus dem Assoziationskriterium (AK), welches Bestandteil der Operationsanweisung an den Eingängen (25) ist selektiert wird. Es kann, bevor es auf Leitung (49) gelangt vermöge eines dritten AK-Bh bedarfsweise invertiert werden, so daß sich über die Relation zwischen Datenwort und Deskriptor (Suchargument) insgesamt sechs verschiedene Aussagen treffen lassen. Sie können offensichtlich aus den beiden Fundamentalaussagen »Gleich« und »Größer« gemäß F i g. 3 abgeleitet werden und sind in Tabelle 3 zusammengestellt
Das Steuersignal VFwird ebenfalls in (19) aus der Operationsanweisung abgeleitet Im Falle VF= //wird die Trefferinformation auf (49) in unveränderter Form vom Gatter (48) auf die Leitung (50) durchgeschaltet Von hier wird sie nach (45) übernommen, sobald der Operationsdecodierer auf Leitung (35) den Ladetakt LTaktiviert hat Danach liegt sie über Leitung (51) nicht nur am Diskriminator (16) an, sondern auch am Gatter (47) und kann in dieser Rückkopplung für eine assoziative Abfragesequeiiz benutzt werden. Ist nämlich VF= L, so gelangt die in (45) gespeicherte Trefferinformation über Leitung (52) zum Gatter (48) und kann hier mit einer zweiten Trefferinformation auf (49) konjunktiv verknüpft werden, die in einer weiteren Suchoperation mit Hilfe eines anderen Deskriptors, einer anderen Maske und/oder eines anderen Assoziationskriteriums erzeugt wurde. Mit vifem nächsten LT-Impuls erscheint dann in (45) die logische Schnittmenge der aktuellen Trefferinformation auf (49) und einer früher gewonnenen auf (51).
Die A nzahl sequen tieller Suchoperationen, bei denen die gerade anfallende Trefferinformation mit dem zuvor 3s konstruierten Treffermuster UND-verknüpft wird, ist prinzipiell unbegrenzt Für die Anwendung ist es von entscheidender Bedeutung, daß i. a. mit jedem dieser Verknüpfungsschritte die Anzahl der Treffermarken im Register (45) schrumpft Weil das Verfahren der Trefferidentifikation und -auswertung immer erst nach der letzten Abfrage einer Sequenz gestartet wird, braucht es sich nur auf die dann noch verbliebenen Treffermarken zu erstrecken. Das bedeutet: Je vielschichtiger das anstehende Suchproblem ist und je weiter es demnach in einzelne Assoziativabfragen zerlegt werden muß, desto weniger Treffer wird es insgesamt produzieren, und desto weniger Zeit wird deren Erfassung und Verarbeitung in Anspruch nehmen. Damit ist gerade für komplexe Aufgabenstellungen ein höchst effizienter Abwicklungsmodus gesichert
Tabelle 3
Assoziationskriterien zur Ermittlung der Datenwörter d, die zum Suchargument s in Relation /? stehen.
Assoziations- Symbol Ableitung cus
55
Die Arbeitsweise des assoziativen Speichersystems laut Erfindung wird nachfolgend mit Hilfe enr'jer fiktiver Ausführungsbeispiele näher besehrieben. so
Im ersten Beispiel wird von einem Speicherbaustein gemäß Fig. 1 ausgegangen, der /n=8 Datenwörter aufnehmen kann und demnach eine 3 Bits lange Adresse benötigt. Die Länge der Datenwörter, Maske und Deskriptor möge π = 6 Bits betragen, ist jedoch für den Suchprozeß völlig unerheblich. Untersucht wird der Fall, daß sich nur ein einziger derartiger Baustein in der Anordnung (75) befindet. Eine assoziative Vergleichsoperalion möge die Trefferinformation »L0L00O0L« hervorgebracht haben, die auf den Leitungen (55) bzw. (56) 65 jp iinstehtund — falls vorhanden — im Trefferregister (15) gespeichert ist.
Zwecks Identifikation der drei Treffermarken werden zu Beginn durch äußeren Eingriff (z. B. eines Prozes- |
xors) der Zähler (71) aus Fi g. 2 auf »000« gesetzt und diese Information über Multiplexer (73) dem Adreßein- |
gang (21) des Speicherbausteins zugeführt Daraus wird im Adreßcodierer (11) das Binärwort »L000 0000« erzeugt und auf den Leitungen (27) dem Diskriminator (16) als Schwellenwert angeboten.
Bei ihm handelt es sich um ein kombinatorisches Schaltnetz aus zwei Funktionsstufen. Die erste Stufe bildet
aus dem Schwellenwert, der defiruiior.sgernäß nur ein einziges »L«-Bit enthalten kann, ein Binärwort, das links von der »L«-Position im Schwellenwert ausschließlich »O«-Bits und sonst ausschließlich »L«-Bits enthält; im vorliegenden Falle lautet es demnach: »LLLL LLLL«. Es wird in der zweiten Stufe mit der Trefferinformation auf (56) UND-verknüpft und in dieser Form auf die Leitungen (57) gelegt (hier: »LOLO OOOL«).
Der Prioritäts-Codierer (17) — ebenfalls ein kombinatorisches Schaltnetz aus zwei Stufen — blendet zunächst alle »L«-Bits mit Ausnahme des am weitesten links stehenden aus; im Beispiel entsteht: »L0O0 0000«. Das bedeutet, daß ab hier nur noch eine einzige Treffermarke sichtbar ist Sie bzw. ihre Position wird in der zweiten Stufe zu einem dreistelligen Treffercodewort (hier: »000«) komprimiert und über die Leitungen (58) sowie den Multiplexer (18) arn Ausgang (23) angezeigt Damit ist einer externen Einheit bekannt, daß das Speicherwort Nr. 0 einen Treffer aufweist Mittels der noch in (71) verfügbaren Adresse kann es dann bei Bedarf ausgelesen oder überschrieben werden.
Die Fortsetzung des Suchprozesses wird — wiederum extern — durch inkrementierung des Inhalts von (71) eingeleitet (Adreßerhöhung um +1). Der demzufolge geänderte Schwellenwert bewirkt eine Rechtsverschiebung der Trennlinie zwischen »0«. und »L«-Bits im Binärwort der ersten Stufe von (16), so daß die zuvor «irfaßie Treffermarke jetzt ausgefiltert wird. Aus der verbleibenden reduzierten Trefferinformation wird dann in (17) die dritte Stelle 5ls höchstpriore erkannt, was zum Codewort »0L0« führt usw.
In Tabefe 1 sind für die drei erforderlichen Suchzugriffe alle relevanten Binärgrößen zusammengestellt wobei die Zahlen in der Kopfzeile jeweils auf die betroffenen Leitungen in den F i g. 1 und 2 hinweisen.
Im zweiten — wesentlich praxisnäheren — Ausführungsbeispiel sind 24 Speicherbausteine gemäß F i g. 1, von denen jeder wiederum m=8 Datenwörter von je fl=6 Bits Länge enthalten kann, nach dem Schema von F i g. 2 zu einer Anordnung aus p^=4 Reihen und q=6 Spalten konfiguriert Das Speichersystem umfaßt somit insge samt 32 je 36 Bits lange Datenwörter. Ihnen sind die effektiven Adressen 0,.., 31 zugeordnet während die bausteinbezogenen Adressen innerhalb der Reihen 0,.., 7 lauten. Die Reihen* dbst seien mit 0,.., 3 numeriert. Es sei angenommen, daß ein assoziativer Vergleich in den 24 Bausteinen (1,1) bis (4,6) die in Tabelle 2 skizzierten Treffermuster produziert hat Darin bedeutet jedes » χ « eine interne Treffermarke für das zugehörige 6-Bit-Datenwortsegment Die für die praktische Anwendung allein relevanten Gesamttreffer ergeben sich definitionsgfnäß nur bei den Wörtern, die in allen 6 Segmenten eine Treffermarke aufweisen. Das resultierende Gesamttrefferbild läßt sich daher als Schnittmenge aus den 6 segmenteilen Treffermustern der Matrix-Spalten interpretieren. Natürlich ist dkse Konstellation extern zunächst unbekannt und muß vermöge des Suchprozesses schrittweise ermittelt wcrden. Zu diesem Zweck wird durch Kücksetzen der Zähler (70) und (71) die Effektivadresse »0« gebildet und über die Multiplexer (72) und (73) an (75) gelegt Das verursacht eine Aktivierung der ersten Bausteinreihe und zugleich einen Schwellenwert im Baustein (1,1), der alle Treffermarken unberührt läßt so daß am Ausgang (23) das Codewort »0« erscheint Weil die nächsten Leiden Bausteine an derselben Position ebenfalls eine Treffermarke besitzen, senden sie das gleiche Codewort aus. Dagegen liefert der Baustein (1,4) eptsprechend seiner höchstprioren Marke den Treffercode »3« ab, der von den letzten beiden Bausteinen dann wiederum reprodu ziert wird.
Der Komparator (79) erkennt die Inkoinzidenz der Werte »0« auf (81) und »3« auf (67), was einen erfolglosen Suchgriff bedeutet, und veranlaßt die Übernahme des Codewortes »3« nach (71) als neue Adreßvorgabe f ür (1,1). Der zugehörige Schwellenwert unterdrückt nun in den Speicherbausteinen alle Treffermarken mit Positionen, die niedriger als »3« sind. Laut Belegung in Tabelle 1 ermitteln jetzt alle sechs Bausteine die Marke auf Position »3« als ihre höchstpriore und senden daher alle dasselbe Codewort »3« aus. Infolgedessen zeigt der Komparator (79) auf (64) Koinzidenz an.
Der Decodierer (74) beschickt während dieser Zeit die Leitungen (82) mit dem Schwellenwert »LOO0« (gleichbedeutend mit der Selektion der ersten Reihe!), so daß alle Statusmeldungen auf (83) den Diskriminator (76) oassieren können. Der Prioritäts-Codierer (77) ermittelt unter den trefferbehafteten Matrix-Reihen die erste als höchstpriore und erzeugt auf (68) das Codewort »0«. Dessen Koinzidenz mit der in (70) gespeicherten
Reihenadresse löst im Komparator (78) eine Anzeige auf (65) aus. Die simultane Treffermeldung auf (64) und (65)
ist ein sicheres Indiz für einen erfolgreichen Suchzugriff. Der jetzt auf (67) und (68) anliegende Treffercode »3« bezeichnet als ganzes die Effektivadresse eines mit Gesamttreffer behafteten Datenworts.
Als nächster Schritt wird mittels Erhöhung des Zählerstandes (71) auf »4« eine neue Suchadresse vorgegeben.
Aufgrund des zugehörigen Schwellenwertes treten auf den Leitungen (57) im Baustein (1,1) keine Treffermarken mehr auf, was über Ausgang (24) eine entsprechende Statusmeldung auf (83,1) auslöst. Der Codierer (77) konstruiert daraufhin den Code »1« zur Kennzeichnung der nächstprioren Matrix-Reihe mit Treffererwartung. Dessen Abweichen von der Reihenadresse in (70) wird von (78) als erfolgloser Suchzugriff gewertet und führt dazu, daß das auf (68) anliegende Codewort »1« nach (70) geladen und gleichzeitig der Zähler (71) rückgesetzt wird. Beide Maßnahmen ergeben zusammen die Spezifikation der effektiven Adresse »8« als neue Suchvorgabe. Damit ist der Übergang zur zweiten Bausteinreihe vollzogen. Der Decodierer (74) liefert jetzt den Schwellenwert »0L00«, weshalb nur noch Treffer aus der zweiten bis vierten Reihe berücksichtigt werden. Deren Identifikation läuft nach demselben Algorithmus wie beschrieben ab. Dabei läßt sich die dritte Reihe unmittelbar überspringen, weil wegen des Fehlens von Treffermarken im Baustein (3,5) — angezeigt über (833) — bereits ohne eigenen Suchzugriff feststeht, daß im Adreßbereich »16... 23« keine Gesamttreffer auftreten.
Der Abschluß des Suchprozesses ergibt sich aus dem Umstand, daß nach Erfassung des letzten Treffers auf Effektivadresse »30« und deren anschließender Fortschaltung auf »31« in (71) alle Statuslcitungen (83) eine entsprechende Fehlmeldung enthalten und der Diskriminator (76) an den Prioritäts-Codierer (77) folglich eine
»leere« Trefferinformation übergibt
Um den Ablauf des Verfahrens auch im Detail transparent zu machen, ist in Tabelle 2 die Sequenz der zur Identifikation der sechs Gesamttreffer erforderlichen Suchzugriffe angegeuen, Dabei entspricht jedem Pfeilanfang eine in (70) und (71) gemeinsam bereitgestellte Effektivadresse als Vorgabewert für den Suchzugriff. Jede Pfeilspitze weist auf diejenige Effektivadresse, die mit dem bei diesem Suchzugriff aJs Ergebnis gewonnenen und auf (67) und (68) als ganzes anstehendem Treffercodewort identisch ist
Im dritten Ausführungsbeispiel sei die Leistungsfähigkeit des assoziativen Speichersystems anhand folgender Problemstellung demonstriert: Aus der Personaldatei eines Unternehmens sollen diejenigen Mitarbeiter ausfindig gemacht werden, die höchstens 50 Jahre als sind, ein Monatseinkommen zwischen 4000 und 8000 DM beziehen und im laufenden Kalenderjahr der Firma genau 25 Jähre lang angehören.
Für die Sätze dieser Datei sei vereinfachend folgendes Format mit fünf Feldern angenommen:
FeId-Nr. 1 2 3 4 5
Name Anschrift Alter Zugehörigkeitsdauer Monatseinkommen
Jeder Satz sei in einem einzigen Datenwort der Länge q ■ π Bits abgelegt Bei nichtassoziativen Speicherope-
!> rationen erfolgt der Zugriff darauf mittels der Personalnummer, die als Adresse des Datenwortes fungiert und
Vi daher nicht selbst abgespeichert wird. Bei Suchoperationen kann durch Vorgabe eines geeig^iten Deskriptors
f? (Sucharguments) über jedes beliebige Feld zugegriffen werden, wobei die übrigen Felder jewe'ls durch eine
5*' entsprechende Maske abgedeckt sein müssen.
ff Die Aufgabe wird mit Hilfe einer assoziativen Mehrfachabfrage gelöst, speziell mit einer Sequenz aus vier
Vi Suchoperationen in beliebiger Reihenfolge. Jede Einzelabfrage ist durch eine Maske, einen Deskriptor und ein
I\ Assoziationskriterium (AK) charakterisiert Für das jeweils relevante Datenfeld wird der Vergleichsoperand als
fS Deskriptor vorgegeben, während alle übrigen Felder (nachfolgend schraffiert gezeichnet!) mittels der Maske
q abgedeckt d. h. vom assoziativen Vergleich ausgeschlossen werden.
!;· Das gewünschte Treffermuster läßt sich beispielsweise mit folgender Sequenz konstruieren:
Suchoperation AK Maske / Deskriptor
ner/Gleich V/////A » Y/////.
GröQer '////////////λ™° I
Kleiner Υ//////////Λ — I
Gleich Υ///////Λ *■ V/A
Bei der ersten Abfrage werden die Felder 1,2,4 und 5 maskiert und nur das Feld 3 sämtlicher Daten Wörter mit dem Operanden »50« verglichen. Die ersten beiden AK-Bhs werden so gewählt, daß die Schaltung (44) die Trefferleitungen (40) durchschaltet und deren Signale vermöge des dritten AK-Bh invertiert so daß auf den Leitungen (49) die Trefferinformarion erscheint, die zur Relation »Nicht Größer« gehört, was gleichbedeutend ist mit »Kleiner/Gleich«. Aufgrund der Spezifikation VF=H wird sie über die Gatter (48), die Leitungen (50) bzw. (55) ins Trefferregister (45) bzw. (15) geladen. Hier sind jetzt alle Mitarbeiter markiert, die 50 Jahre alt oder jünger sind.
Für die zweite Abfrage werden die Felder 1 bis 4 maskiert und die Zahl »4000« im Feld 5 als Deskriptor vorgegeben. Die AK-Bhs werden so spezifiziert daß erneut die Leitungen (40) durchgeschaltet ihre Signale jedoch anschließend nicht invertiert werden. Damit gelangt auf (49) die zur Relation »Größer« gehörende Trefferinformation. Sie wird in (48) wegen des jetzt gültigen StTüorsignals VF= L mit dem ersten Abfrageergebnis U N D-verknüpft und in dieser Form nach (15) übernommen. Die danach vorliegenden Treffermarken kennzeichnen jene Personen, die höchstens 50 Jahre als sind und über 4000 DM pr ζ Monat verdienen.
Bei der dritten Abfrage wird ebenso verfahren, allerdings mit dem AK »Kleiner« und dem Vergleichsoperanden »8000«. Durch diese Einführung der oberen Einkommensgrenze wird der zu ermittelnde Personenkreis weiter eingeengt. Schließlich wird ffr die letzte Abfrage der Deskriptor im Feld 4 auf »25« gesetzt und die Leitungen (42), auf denen die Übereinstimmung von Datenwort und Deskriptor angezeigt wird, werden auf (49) durchgeschaltet, Durch abermalige UND-Verknüpfung mit der bis dahin gebildeten Trefferinformation entsteht das endgültige Trefferergebnis, d. h. in (45) sind nunmehr die Datensätze genau der Mitarbeiter markiert, die alle i: der Aufgabe formulierten Bedingungen erfüllen.
Damit ist die Abfragesequenz beendet, und nur diese zuletzt verbliebenen Treffermarken müssen in einem anschließenden (an früherer Stelle bereits beschriebenen) Prozeß identifiziert und ausgewertet werden.
Tabelle 1
Such Adresse Schwellenwert Diskriminator 2. Stufe Prioritäts-Codierer Trcffcr-
zugriff 1. Stufe 1. Stufe codcwort
57 58/23 (67)
Nr. 21 (81) 27 LOLO OOOL 000
1 000 LOOO 0000 LLLL LLLL OOLO OOOL LOOO 0000 OLO
2 0OL OLOO 0000 OLLL LLLL 0000 OOOL OOLO 0000 LLL
3 OLL 00OL 0000 00OL LLLL 0000 OOOL
Tabelle 2
Reihen- Baust, int. effekt. Spalten-Nr. 1 2 3 4 5 6 Gesamt- Sequenz der
Nr. Adresse Adresse I
X
X X X treffer Sucnzugmie
O O O X X X X
1 1 X X X
2 2 X χ X X X X
3 3 X X X X X
4 4 X X X
5 5 X X X X
6 6 X X X X
7 7 X X X X X X
1 O 8 X X X X X
1 9 X X X X X
2 10 X X X
3 11 X X X X X X
4 !2 X X X X X X X
5 13 X X X X X
6 14 y V X X
•t
/
t C
U
X X X
2 O 16 X X X X
1 17 X X X X
2 18 X X X X X
3 19 X X X
4 20 X X X X X
5 21 X X X X
6 22 X X X X
7 23 X X X X
3 O 24 X X X X X
1 25 X X X X X X
2 26 X X X X X
3 27 X X X X
4 28 X X X X X
5 29 X X X X X X
6 30 X X X X I X
7 31
Hierzu 3 Blatt Zeichnungen

Claims (10)

Patentansprüche:
1. Assoziatives Speichersystem in hochintegrierter Halbleitertechnik, bestehend
aus wortorganisierten und bitweise maskierbaren voUassoziativen Speicherbausteinen,
von denen jeder m Wörter der Länge π Bits aufnimmt,
denen sowohl die Wortadresse über Adreßanschlüsse als auch die Operationsanweisung über Steueranschlüsse in codierter Form zugeführt und intern decodiert werden.
bei denen sich die Eingangsdaten, die Ausgangsdaten und die Maskeninformation nach dem Zeitmultiplexverfahren in die Benutzung der gleichen Anschlußstifte teilen, wobei für die Speicherung der Maskeninfor-ο mation ein internes Maskenregister vorgesehen ist,
bei denen Lese- und Schreiboperationen mit Wortadresse und Aus- bzw. Eingangsdaten in bekannter Weise ablaufen,
aus einem matrixartigen Verwaltungsschema für diese Bausteine (Anordnung aus mehreren Reihen und Spalten) zwecks Vergrößerung der Wortanzahl und dar Woitlänge des Speichersystems sowie
aus einem Steuerwerk für die Ermittlung und Auswertung von Trefferiniormationen,
dadurch gekennzeichnet,
a) daß die im Zuge einer assoziativen Suchoperation in der Speicherzellenmatrix (14) gebildete und auf den Leitungen (55) anstehende Trefferinformation in Form einer Sequenz von Treffercodewörtern über spezielle Treffercodeanschlüsse (23) nach außen abgegeben wird, wobei die Reihenfolge der Ausgabe durch ein wortadreßorientiertes Prioritätsschema festgelegt ist,
b) daß die an den Adreßeingängen (21) anliegende Information im Falle einer Schreib- oder Leseoperation (spezifiziert durch eine entsprechende Operationsanweisung an den Eingängen (25)) — unbeschadet ihrer internen Decodierung als Wortadresse — auf die Treffercodeausgänge (23) durchgeschaltet wird, hingegen im Falle einer Suchoperation (ebenfalls durch eine geeignete Operationsanweisung aufgeprägt) als Schwellenwert interpretiert wird mit dem Zweck, die bereits per Codewori nach außen gemeldeten Treffer zu maskieren und somit von weiteren Meldungen auszuschließen, wobei an deren Stelle die Nummer desjenigen Treffers als Codewort auf die Treffercodeausgänge (23) geschaltet wird, der von den noch nicht gemeldeten die höchste Priorität, d. h. die niedrigste Wortadresse aufweist,
c) daß r.um Zwecke der Installierung einer Systemwortlänge von q ■ η Bits mittels Vervielfachung der Bausteinwortlänge von π Bits jeweils q Speicherbausteine derart zu einer Reihe im Rahmen einer Matrixanordnung (75) zusammengefaßt werden, daß sie bezüglich der Datenleitungen (63) in an sich bekannter Weis- parallel, bezüglich der Leitungen (21) und (23), die alternativ Adressen und Treffercodewörter übertragen,}: Joch seriell geschaltet werden, indem innerhalb dieser Reihe die Treffercodcausgänge (23) eines Bausteins auf die Adreßeingänge (21) des nächsten Bausteins geführt werden,
d) daß das Steuerwerk nach Erkennung eines für die gesamte Sysiemwortlänge gültigen Treffers dessen zugehörige Wortadresse über die Leitun<»en (67) und (68) extern zur Verfügung stellt, außerdem diese Wortadresse um 1 erhöht, einen Teil davon zur Auswahl einer Bausteinreihe in die Speicheranordnung (75) benutzt, den anderen Teil als neuen Schwellenwert auf die Adreßeingänge (21) dt» ersten Bausteins der ausgewählten Reihe schaltet und mit dem daraufhin an den Ausgängen (23) des letzten Bausteins derselben Reihe erscheinenden Treffercodewort vergleicht, wobei im Koinzidenzfalle der nächste Treffer erkannt ist und ausgewertet werden kann, während bei Inkoinzidens das Treffercodewort unmittelbar als neuer Schwellenwert für die weitere Suche verwendet wird.
2. Assoziatives Speichersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Speicherbausteine einen zusätzlichen Ausgangsanschluß (24) für den Trefferstatus aufweisen, der anzeigt, ob innerhalb des Bausteins in dem Adreßbereich, der von dem an den Adreßeingängen (21) anliegenden Schwellenwert nicht maskiert wird, noch weitere Treffer vorhanden sind.
3. Assoziatives Speichersystem nach Anspruch 1, dadurch gekennzeichnet, daß in die Speicherbausteine so neben einem Maskenregister (13) noch ein Datenregister (12) für die Speicherung der Suchdaten (Deskriptor) sowie ein Trefferregister (15) für die Speicherung der Trefferinformation integriert ist.
4. Assoziatives Speichersystem nach Anspruch 1 und 3, gekennzeichnet durch eine bausteininterne Rückführung der Trefferleitungen (55) bzw. der Ausgänge (56) des Trefferregisters (15) auf die Speicherzelleneingänge der zugehörigen Wörter in der Speicherzellenmatrix (14), so daß sämtliche durch einen Treffer markierten Wörter gleichzeitig mit einem auf den Anschlüssen (20) anliegenden oder bereits im Datenregister (12) stehenden Wort überschrieben werden können (Multi-Write-Funktion).
5. Assoziatives Speichersystem nach Anspruch 1 und 3, dadurch gekennzeichnet, daß in Abhängigkeit von der auf den Anschlüssen (25) angelegten Operationsanweisung entweder ein über die Anschlüsse (20) vorgegebener Deskriptor oder ein durch die Wortadresse auf (21) ausgewähltes Speicherwort mittels bausteininterner Rückkopplung der Leitungen (28) auf die Leitungen (26) in das Datenregister (12) geladen wird.
6. Assoziatives Speichersystem nach Anspruch 1 und 3, dadurch gekennzeichnet, daß die an sich jeder Speicherzelle innerhalb der Speicherzellenmatrix (14) zugeordnete Vergleichseinrichtung die gespeicherten Wörter mit dem Deskriptor (Suchwort) nicht nur auf Identität, sondern auch bezüglich der Assoziationskritcrien »Größer als« und »Kleiner als« vergleicht und daß in Abhängigkeit von der auf den Leitungen (25) anliegenden Operationsanweisu.ig wahlweise e>ne der dadurch erzeugten drei Arten von Trefferinformationen (Gleich, Größer, Kleiner bezüglich des Deskriptors) zwecks Auswertung in ds>s Trefferregister (15) geladen wird.
7. Assoziatives Speichersystem nach Anspruch 1,3 und 6, dadurch gekennzeichnet, daß die Information auf
den Eingangsleitungen (55) bzw. (50) zum Trefferregister (15) bzw. (45) eine logische Verknüpfung aus den bausteinintern zurückgekoppelten Tefferregisterausgängen (56) bzw. (51) sowie aus den Treffersignalen (49) der zugehörigen Speicherwörter darstellen, so daß in Abhängigkeit von der angelegten Operatinsanweisung entweder das Ergebnis einer einzelnen assoziativen Suchoperation oder aber das Verknüpfungsergebnis aus mehreren sequentiell durchgeführten Suchoperationen im Trefferregister (15) festgehalten wird.
8. Assoziatives Speiebersystem nach Anspruch 1, 6 und 7, dadurch gekennzeichnet, daß das Steuerwerk zwecks Durchführung komplexerer Suchoperationen die zu einem Gesamtspeicherwort zusammengeschalteten q Bausteine einer Matrixreihe, d. h. die Spalten der Speicheranordnung (75), zur gleichen Zeit mit verschiedenen Operationsanweisungen beschickt
9. Assoziatives Speichersystem nach Anspruch 1 und 8, dadurch gekennzeichnet, daß von den Bausteinreihen der Speicheranordnung (75) jeweils nur diejenige mit Hilfe eines Auswahlsignals auf den Leitungen (S2,I) bis (82,p) bzw. (22) aktiviert wird, auf die sich die vorgegebene Wortadresse bzw. der vorgegebene Schwellenwert bezieht, so daß sich die Treffercodeausgänge (23) der letzten Speicherbausteine aller Reihen mittels einer ODER-Verknüpfung zusammenfassen lassen.
10. Assoziatives Speichersystem nach Anspruch 1,2 und 9, gekennzeichnet durch eine UN D-Verknüpfung der Trefferstatusausgäiige (24) aller Bausteine innerhalb einer Reihe der Speicheranordnung (75) mit der Wirkung, daß das Steuerwerk bei der Trefferermittlung eine Reihe bereits dann verläßt, wenn mindestens einer ihrer Bausteine keinen weiteren Treffer mehr enthält, und sogar ganze Reihen übergeht, wenn in ihnen mindestens ein Baustein gar keinen Treffer enthält
DE2712575A 1977-03-22 1977-03-22 Assoziatives Speichersystem in hochintegrierter Halbleitertechnik Expired DE2712575C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE2712575A DE2712575C2 (de) 1977-03-22 1977-03-22 Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
US05/882,549 US4159538A (en) 1977-03-22 1978-03-02 Associative memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2712575A DE2712575C2 (de) 1977-03-22 1977-03-22 Assoziatives Speichersystem in hochintegrierter Halbleitertechnik

Publications (2)

Publication Number Publication Date
DE2712575A1 DE2712575A1 (de) 1978-09-28
DE2712575C2 true DE2712575C2 (de) 1985-12-19

Family

ID=6004343

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2712575A Expired DE2712575C2 (de) 1977-03-22 1977-03-22 Assoziatives Speichersystem in hochintegrierter Halbleitertechnik

Country Status (2)

Country Link
US (1) US4159538A (de)
DE (1) DE2712575C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3727846A1 (de) * 1987-08-20 1989-03-02 Vmei Lenin Nis Assoziative operations-speichereinrichtung

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4376974A (en) * 1980-03-31 1983-03-15 Ncr Corporation Associative memory system
US4385371A (en) * 1981-02-09 1983-05-24 Burroughs Corporation Approximate content addressable file system
FR2526571B1 (fr) * 1982-05-05 1987-01-16 Ossona De Mendez Patrice Systemes memoire accessibles par leurs adresses ou en fonction du contenu
US4817058A (en) * 1987-05-21 1989-03-28 Texas Instruments Incorporated Multiple input/output read/write memory having a multiple-cycle write mask
US4928260A (en) * 1988-05-11 1990-05-22 Advanced Micro Devices, Inc. Content addressable memory array with priority encoder
US4888731A (en) * 1988-05-11 1989-12-19 Advanced Micro Devices, Inc. Content addressable memory array system with multiplexed status and command information
JP3096362B2 (ja) * 1992-10-26 2000-10-10 沖電気工業株式会社 シリアルアクセスメモリ
JP3036467B2 (ja) * 1997-06-19 2000-04-24 日本電気株式会社 最長一致検出装置
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6801981B1 (en) 2000-06-14 2004-10-05 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6542391B2 (en) * 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6799243B1 (en) 2000-06-14 2004-09-28 Netlogic Microsystems, Inc. Method and apparatus for detecting a match in an intra-row configurable cam system
US6813680B1 (en) 2000-06-14 2004-11-02 Netlogic Microsystems, Inc. Method and apparatus for loading comparand data into a content addressable memory system
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6643748B1 (en) * 2000-04-20 2003-11-04 Microsoft Corporation Programmatic masking of storage units
AU2001267082A1 (en) * 2000-06-14 2001-12-24 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
US6560670B1 (en) 2000-06-14 2003-05-06 Netlogic Microsystems, Inc. Inter-row configurability of content addressable memory
AU2002223853A1 (en) * 2000-11-21 2002-06-03 Aspex Technology Limited Bit-parallel/bit-serial compound content-addressable (associative) memory devices
US20040265167A1 (en) * 2003-06-30 2004-12-30 Todd Morrison Sterilization vacuum chamber door closure
KR100799158B1 (ko) * 2005-09-21 2008-01-29 삼성전자주식회사 반도체 메모리 및 이를 포함하는 반도체 메모리 모듈
US8359521B2 (en) * 2008-01-22 2013-01-22 International Business Machines Corporation Providing a memory device having a shared error feedback pin
JP2009187615A (ja) * 2008-02-05 2009-08-20 Elpida Memory Inc 半導体記憶装置
US8255783B2 (en) * 2008-04-23 2012-08-28 International Business Machines Corporation Apparatus, system and method for providing error protection for data-masking bits

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3241124A (en) * 1961-07-25 1966-03-15 Gen Electric Ranking matrix
CA808821A (en) * 1963-01-02 1969-03-18 T. Mckeever Bruce Associative memory
US3354436A (en) * 1963-02-08 1967-11-21 Rca Corp Associative memory with sequential multiple match resolution
US3533085A (en) * 1968-07-11 1970-10-06 Ibm Associative memory with high,low and equal search
US3685020A (en) * 1970-05-25 1972-08-15 Cogar Corp Compound and multilevel memories
DE2525287B2 (de) * 1975-06-06 1977-03-24 Siemens AG, 1000 Berlin und 8000 München Assoziativspeicher

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3727846A1 (de) * 1987-08-20 1989-03-02 Vmei Lenin Nis Assoziative operations-speichereinrichtung

Also Published As

Publication number Publication date
US4159538A (en) 1979-06-26
DE2712575A1 (de) 1978-09-28

Similar Documents

Publication Publication Date Title
DE2712575C2 (de) Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE2725718C2 (de) Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen
EP0010195B1 (de) Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage
DE3650156T2 (de) Auf regeln basiertes datenwiederauffindverfahren und anordnung.
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2208664A1 (de) Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge
DE2703559C2 (de)
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE3518818C2 (de)
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE4210109C2 (de) Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren
DE102014105218A1 (de) Suchvorrichtung mit Verwendung von endlichen Automaten für Teilworte
DE60001585T2 (de) Datenverarbeitungseinrichtung und -verfahren
DE3688737T2 (de) Kontextadressierbarer umlaufspeicher.
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE1449584A1 (de) Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt
DE2004436A1 (de) Adressenwandler in einer Datenverarbeitungsanlage
DE19645057C2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE2451984C2 (de) Datenverarbeitungsanlage
DE69132182T2 (de) System und Verfahren zum Abruf von Zeichenreihen
EP0760502B1 (de) Ordnungsverfahren für Zugehörigkeitsfunktionswerte linguistischer Eingangswerte in einem Fuzzy-Logic-Prozessor und Anordnung zu deren Durchführung
DE2613703C2 (de) Schaltungsanordnung zum Übersetzen von Programmtexten

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
OGA New person/name/address of the applicant
8127 New person/name/address of the applicant

Owner name: MOTSCH, WALTER, DIPL.-ING., 8011 PUTZBRUNN, DE

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee