DE3212076C2 - Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen - Google Patents
Schaltungsanordnung zur Ausführung inhaltsorientierter ZugriffsfunktionenInfo
- Publication number
- DE3212076C2 DE3212076C2 DE3212076A DE3212076A DE3212076C2 DE 3212076 C2 DE3212076 C2 DE 3212076C2 DE 3212076 A DE3212076 A DE 3212076A DE 3212076 A DE3212076 A DE 3212076A DE 3212076 C2 DE3212076 C2 DE 3212076C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- inputs
- comparison
- arrangement according
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Die Erfindung betrifft ein inhaltsadressierbares Speichersystem, das als autonome Einheit an jeden Universalrechner angekoppelt werden kann und komplexe Suchvorgänge in formatierten Datenbeständen selbständig durchführt. Es zeichnet sich durch die schnelle Bearbeitung komplexer Suchvorgänge aus, die sich durch eine logische Verknüpfung vieler Suchargumente zusammensetzen. Eine eingebaute mikroprogrammierbare Steuerung vereinfacht die Handhabung des Systems durch den angekoppelten Rechner erheblich. Der Zugriff auf die gespeicherten Daten erfolgt über einen Teil des abgelegten Inhalts selbst und nicht über die Angabe des Speicherortes.
Description
Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen
gemäß den Merkmalen des Oberbegriffs des Patentanspruchs 1.
Eine Schaltungsanordnung der genannten Art ist aus der DE-OS 30 09 330 bekannt.
Stand der Technik:
Inhaltsadressierbare Speicher (auch Assoziativspeicher) sind in ihrer grundsätzlichen Funktion seit 1956
bekannt. Das besondere Merkmal dieses Speichertyps liegt in der Zugriffsart: Im Unterschied zu der üblichen
Ortadressierung (Zugriff auf die gesuchte Information über die Angabe des Speicherortes) wird hier dem Speicherelement
an seinen Dateneingängen ein Teil der Information angeboten, nach der gesucht wird. Innerhalb
des Bausteins wird diese Teilinformation gleichzeitig mit dem Inhalt sämtlicher Speicherstellen verglichen.
Nur die Stellen, an denen eine Übereinstimmung vorliegt, geben eine Treffermeldung aus, die in Form eines
elektrischen Signals an entsprechenden Trefferausgängen des Bausteins abgegriffen werden kann. Daraus
folgt, daß jede Speicherstelle einen Trefferausgang haben muß und in jedem Speicherelement eine Vergleichslogik enthalten sein muß, die das von außen angelegte
Suchwort mit der abgespeicherten Information vergleicht. Ein Beispiel für ein solches Speicherelement ist
der Baustein 3104 der Firma INTEL [Intel Corporation, Santa Clara, USA: »16 Bit Content Addressable Memory
3104«, Intel Component Data Catalogue 1978, Seite 3-152].
Bei der Herstellung solcher Elemente ergibt sich eine Vielzahl technischer Probleme. Das schwerwiegendste
ist die überaus große Anzahl an Anschlußstiften (Pins) und die relativ komplizierte innere Struktur des Bausteins
selbst. Aus diesen Gründen ist die verfügbare Speicherkapazität der heute auf dem Markt befindlichen
inhaltsadressierbaren Speicher sehr klein (typisch: 16 bit). Für die meisten Anwendungen sind allerdings
sehr viel größere Speichervolumina notwendig, so daß eine große Zahl dieser Bauelemente benutzt werden
müß:e. Dies wiederum ist für einen wirtschaftlichen Einsatz vollkommen unattraktiv.
Bereits mehrfach wurde nach Lösungsmöglichkeiten gesucht, die auf der einen Seite einen inhaltsadressier ten
Zugriff zulassen und auf der anderen Seite aber auch
große Speicherkapazitäten erlauben. Diese Alternativlösungen greifen meist auf konventionelle Speichermedien
zurück und fügen durch externe Beschaltungen die Eigenschaft der Inhaltsadressierung hinzu. Dies hat einerseits
den Vorteil, daß man auf bekannte und bewährte Speichermedien zurückgreifen kann, auf der anderen
Seite aber geht bei diesen Lösungen eine wichtige Eigenschaft des »reinrassigen« Assoziativspeicners verloren:
der gleichzeitige Vergleich in allen Speicherzellen.
Die verschiedenen Erscheinungsformen dieser »Quasi-Assoziativspeicher«
unterscheiden sich wesentlichen durch die Wahl des Speichermediums und durch die
Auslegung der extern hinzugefügten Vergleichs- und Steuerlogik. Bezüglich des gewählten Speichermediums
lassen sich diese Speichersysteme in 3 Gruppen einteilen:
1. System auf der Basis von Massenspeichern (meistens Plattensysteme)
2. System auf der Basis wahlfrei adressierbarer Halbleiterspeicher
3. System auf der Basis gekoppelter vollparalleler Assoziativspeicher
geringer Kapazität
Bei dem System der ersten Gruppe [I. Karlowsky, H. O. Leilich, G. Stiege: »Ein Suchrechnerkonzept für
Datenbankanwendungen«. Elektronische Rechenanlagen, 1975, Heft 3, Seite 108—118] erfolgt die Abspeicherung
der Daten auf Plattensystemen, die eine Speicherkapazität von mehreren M Bytes aufweisen und als Peripheriegeräte
in vielen Rechenanlagen zur Verfügung stehen. Diese Plattensysteme sind durch eine Logik so
modifiziert, daß sie andauernd den von· der Plattenoberfläche
kommenden Datenstrom mit einem oder mehreren Suchworten, die wiederum vom Rechner übergeben
worden sind, vergleichen. Hierbei wird der inhaltsbezogene Zugriff also durch fortwährend Vergleich der seriell
ausgelesenen Datenworte mit dem entsprechenden Suchkriterum realisiert. Um die Leistungsfähigkeit dieser
Systeme zu erhöhen, werden mehrere, parallel arbeitende Vergleicherwerke installiert, so daß der serielle
Datenstrom gleichzeitig mit mehreren Suchkriterien verglichen werden kann. Zusätzlich wird der Informationsstrom
noch durch ein »gemultiplextes« Lesen von mehreren Plattenoberflächen verdichtet. Dadurch erhöht
sich der Datendurchsatz erheblich. Stellt sich ein Treffer ein, so wird dessen Adresse dem angeschlossenen
Rechner gemeldet, der anschließend den bzw. die getroffenen Datensätze weiterbearbeitet, z. B. indem er
sie von der Platte liest.
Hier findet, wie schon oben angeführt, der Vergleich nicht in allen Speicherstellen gleichzeitig statt, sondern
byteseriell.
Kritik zu diesem System
Der Vorteil einer großen Speicherkapazität kann einige systemimmanente Nachteile nicht aufwiegen, die
sich besonders dann zeigen, wenn hohe Anforderungen an eine Echtzeitverarbeitung, das heißt hier kurze Suchzeiten,
gestellt werden:
1. Die mittlere Zugriffszeit eines Plattensystems liegt im Bereich von 35—70 ms. Diese Zeit vergeht im
Mittel, bevor der erste Vergleich stattfindet. Für viele Anforderungen der Echzeitdatenverarbeitung
ist diese Zeitspanne schon zu lang.
2. Der Vergleich findet byteseriell statt. Dies hat zur Folge, daß jedes Byte mit einem neuen Suchwort
und — falls noch die Möglichkeit einer bitweisen Maskierung vorgesehen wird — einer neuen Maske
verglichen werden muß. Dies wirkt sich jedoch nachteilig auf die Vergleichsgeschwindigkeit aus.
Um die andauernden Vergleiche in der Lesegeschwindigkeit der Plattensysteme durchführen zu
können, müssen die Vergleicher aus sehr schnellet) elektronischen Bausteinen bestehen. Dies wirkt
sich auf die Kosten des Systems nachteilig aus.
3. Die abgespeicherte Information ist bei diesem angesprochenen System kodiert (ASCII-Code). Dies
ist notwendig, um bestimmte Zeichen, die zur Erkennung des Anfangs bzw. des Endes eines Datensatzes
dienen, von diesen Daten selbst unterscheiden zu können. Der Nachteil hierbei ist eine durch
die Kodierung bedingte schlechtere Ausnutzung des zur Verfügung stehenden Speicherraumes.
(Aus einem acht bit langen Wort werden durch Umkodierung zwei sieben bit lange Worte; dies
entspricht einem zusätzlichen Speicheraufwand von 75%).
4. Neben dem inhaltsadressierten Zugriff ist es oft wichtig, einzelne Datenworte — und hierbei oft
sogar einzelne Bits innerhalb dieser Worte — schnell schreiben bzw. lesen zu können. Hierzu eignen
sich Plattensysteme überhaupt nicht, da jeweils nur größere Mengen von Daten gelesen bzw. geschrieben
werden können. In diesen Fällen wäre es also notwendig, bei der Änderung eines Bits eine
größere Anzahl von Daten (in der Regel einen ganzen Sektor) zuerst von der Platte zu lesen, zwischenzuspeichem,
die entsprechende Stelle zu suchen und zu ändern und schließlich alle Daten wieder
an dieselbe Stelle zurückzuschreiben. Dieses Verfahren ist in vielen Applikationen zu langsam
und zu umständlich.
5. Ein weiterer Nachteil besteht in der schlechten Modularität des Speichermediums: die Kosten für die
Anschaffung und Modifikation des Plattensystems sind für vi^le Artnlilfa tjnnpn untn^bsr.
Die zweite Gruppe von inhaltsadressierbaren Speichersystemen
basiert auf wahlfrei adressierbaren Halbleiterbauelementen als Speichermedium. Hier gibt es
zur Zeit nur ein System [Semionics Corporation, Berkeley-USA: »REM S-100-User-Manual«, Firmenschrift,
1979], das seit 1978 bekannt ist und mit einem amerikanischen
Patent (Patentnummer 41 44 564) geschützt ist Bei diesem Speichersystem handelt es sich um einzelne
Speicherkarten, die in bestehende Mikrorechnersystemc
integriert werden können. Die Steckplätze innerhalb des Systems, das diese Karten aufnehmen soll, müssen
dem Buskonzept S 100 entsprechen. Das Speichersystem besteht aus einer im Prinzip beliebigen Anzahl
gleichartiger Karten, die jeweils einen Datenspeicher und eine zusätzliche externe Logik enthalten.
Der Süeicher besteht aus einer Matrix von 16 Spalten
zu je 256 Zeilen mit einer Länge von 8 bit (s. B i 1 d 1). Dieser Speicher wird direkt vom Mikrorechner geladen,
gelesen und während der Vergleichsoperationen gesteuert. Das Laden bzw. Lesen erfolgt byteseriell, wobei
in einer Spalte nach der anderen ein Byte nach dem anderen geladen wird. Hierbei werden also alle Spalten
sequentiell adressiert. Das gleiche gilt für die Operation des Lesens. Der inhaltsadressierte Zugriff erfolgt dadurch,
daß sämtliche Spalten parallel geschaltet werden und alle Bytes in einer Zeile parallel mit einem Suchwort,
das der Prozessor zuvor in ein Register auf der Speicherplatine geschrieben hat, verglichen werden.
Auch hier erfolgt der Vergleich also byteseriell, aber in allen Spalten gleichzeitig. Jeder Spalte ist noch einTrefferflipflop
zugeordnet, das gesetzt wird, falls eine Treffermeldung
eintritt.
Kritik zu diesem System
1. Der Vergleich erfolgt, wie oben, byteseriell mit dem
Nachteil, daß bei diesem System bei jedem zu vergleichenden Byte ein neues Suchwort, ein Maskenwort
und ein Vergleichsbefehl vom Prozessor an die Speicherkarte(n) ausgegeben werden muß. Der
Vergleichsbefehl legt die Vergleichsart (»größer als«, »kleiner als«, »gleich«, »kleiner gleich«, »größer
gleich«) fest Das Maskenwort erlaubt es, bestimmte Bits des Suchworts vom Vergleich auszuschließen.
Dieser andauernde Transfer zwischen Prozessor und Speicherkarte bedeutet eine relativ
geringe Vergleichsgeschwindigkeit und eine hohe Tf ansfertätigkeit zwischen dem Prozessor und dem
Speichersystem. Der Prozessor wird also in die Suchläufe voll mit einbezogen, er bedient und steuert
dieses Speichersystem und wird dadurch relativ stark belastet.
2. Die hier erwähnten Speicherkarten stellen ein spezielles Zusatzelement zu bestimmten Mikrorechnersystemen
dar, sie sind dementsprechend keine autonomen Systeme mit einer eigenen Steuerung.
Dies setzt der universellen Ersetzbarkeit dieses Speichersystems enge Grenzen.
3. Die auf einer Karte untergebrachte Speicherkapazität von 4 K bytes ist für die meisten Applikationen
viel zu klein. Zwar kann durch Einfügung mehreren Karten die Spaltenanzahl erhöht jedoch
kann die Anzahl der Zeilen pro Spalte nicht verändert werden. Mit 255 ist sie für viele Anwendungen
zu klein.
4. Die Vergleichsoperationen »innerhalb zweier Grenzen« bzw. »außerhalb zweier Grenzen« sind
nicht in diesem Speichersystem direkt möglich. Sie müssen nach zwei getrennten Suchläufen mit jeweils
einer Grenze (das heißt einem Suchwort) extern vom Prozessor generiert werden. Das bedeutet
eine noch größere Belastung des Prozessors.
5. Die Anzahl der zugelassenen Datenformate ist sehr gering: so sind nur 8 bit lange vorzeichenlose Werte, 16 bit lange vorzeichenbehaftete Größen und vorzeichenlose Größen mit einer maximalen Länge von 255 byte erlaubt
5. Die Anzahl der zugelassenen Datenformate ist sehr gering: so sind nur 8 bit lange vorzeichenlose Werte, 16 bit lange vorzeichenbehaftete Größen und vorzeichenlose Größen mit einer maximalen Länge von 255 byte erlaubt
An dieser Stelle sei noch auf ein System der 3. Gruppe
(s. o.) hingewiesen [W. Motsch: »Assoziativer Prozessor für nichtarithmetische Operationen«, Dissertation
Ruhr-Universität Bochum 1978], das im Rahiren von Forschungsarbeiten konzipiert worden ist:
Es werden voll parallel arbeitende Assoziativspeicher
des Typs 3104 (Intel) in einer Matrix von 16 χ 2 Elementen
zusammengeschaltet. Dieses Gebilde beinhaltet nicht nur die Speicherzellen, sondern auch die notwendigen
Vergleicherschaltungen, ist aber durch eine sehr große Anzahl von Anschlußstiften charakterisiert. Außerdem
müssen die gleichzeitig an den Trefferausgängen der Bauelemente gemeldeten Treffersignale durch
eine externe Logik so aufbereitet werden, daß sie von dem angeschlossenen Rechner sequentiell abgearbeitet
werden können. Dies ist in diesem Konzept durch eine Zusatzschaltung möglich.
Kritik zu diesem System
Als einziges der hier aufgeführten Systeme bietet dieses Speicherkonzept zwar den Vorteil, daß der Vergleich
in allen Speicherzellen gleichzeitig stattfindet, jedoch gibt es auch gravierende Nachteile:
1. Der Speicher ist aus Bauelementen mit einer sehr geringen Speicherkapazität aufgebaut. Dies hängt
mit dem Problem einer mit wachsender Kapazität exponentiell ansteigenden Anzahl der Anschlußstifte
zusammen.
Daraus ergibt sich, daß um für realistische Anwendungen attraktive Speicherkapazität von mehreren
K bytes zu erzielen, sehr viele dieser Elemente verschaltet werden müssen. Dies ist, wie weiter oben
schon geschildert, wirtschaftlich nicht vertretbar.
2. In diesem Speicherkonzept ist nur die Vergleichsart »gleich« möglich. In fast allen Anwendungsfällen
müssen allerdings mindestens noch die Vergleichsarten »größer als« und »kleiner als« möglich
sein, so daß dieses System auch aus diesem Grunde unattraktiv ist.
Im Rahmen eines Verbesserungsvorschlags wird empfohlen, die internen Verschaltungen dieses Bauelements
3104 dahingehend zu ändern, daß auch zusätzliche Vergleichsarten (s. o.) möglich sind. Außerdem sollte
das Problem der mit wachsender Kapazität rasch ansteigenden Pinzahl gelöst werden. Als Resultat wurde
ein zweites, verbessertes System vorgestellt. Dieser Vorschlag ist für eine praktische Nutzung allerdings ungeeignet,
solange die hier aufgeführten Schaltungen nicht in ein einziges Bauelement integriert werden können.
Selbst dann stünden lediglich Komponenten mit einer Speicherkapazität von 64 bit zur Verfügung. Das
ist für die Anwendung jedoch immer noch keine befriedigende Lösung. Ein Vorteil des Systems besteht darin,
daß sämtliche Steuerungsmaßnahmen (Laden und Lesen des Speichers, das Laden der Such- und Maskenworte
und die Steuerung während der Vergleichsvorgänge) durch ein vorgeschaltetes Mikroprogramm-Steuerwerk
abgewickelt werden. Das Speichersystem ist hier also nicht direkt, sondern über dieses Schaltwerk
an den übergeordneten Rechner angekoppelt Da diese Steuerung eine Vielzahl von Aufgaben übernimmt wird
der Rechner entsprechend entlastet Hierdurch wird das Speichersystem zu einer selbständigen, also autonomen
Einheit Trotzdem kann dieser Vorteil die emminenten Nachteile nicht aufwiegen:
Kritik zu diesem System
1. Zu geringe Speicherkapazität
2. vorzeichenbehaftete Daten sind für den inhaltsorientierten
Zugriff nicht zugelassen
3. die Expandierung der Speichermatrix in Wortrichtung (Erhöhung der Wortlänge) ist mit einer Verringerung
der Leistungsfähigkeit verbunden. Will man die Wortlänge durch Hinzufügen mehrerer
der hier beschriebenen Speicherelemente vergrößern, so hat dies Folgen für den Vergleichsbetrieb.
In diesem Fall kann der Vergleich nicht mehr über die gesamte, vergrößerte Wortlänge erfolgen, sondern
nur innerhalb der Wortlänge eines Moduls gleichzeitig. Werden zum Beispiel vier Module in
Wortrichtung miteinander gekoppelt, müssen vier Suchläufe durchgeführt werden. Hierdurch wird
bei größeren Wortlängen der Vorteil des parallelen Vergleichs in allen Speicherzellen erheblich geschmälert.
Der vorliegenden Erfindung liegt nun die Aufgabe zugrunde, bei einer Schaltungsanordnung nach dem
Oberbegriff des Patentanspruchs 1 die Suchvorgänge flexibler und schneller durchführen zu können.
Diese Aufgabe wird nach der Erfindung durch die Merkmale des kennzeichnenden Teils des Patentanspruchs
1 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Im folgenden wird die Erfindung anhand der Zeichnung näher erläutert. Es zeigt
Bild 1: Kopplung der Schaltungsanordnung nach
dem Oberbegriff 1 mit einem Daten- und Hilfsspeicher zu einem inhaltsadressierten Speichersystem,
Bild 2: Interner Aufbau der Schaltungsanordnung,
Bild 3: Die Vergleichsarten.
B i 1 d 1 zeigt die Verbindung der Schaltungsanordnung, die Gegenstand der Patentansprüche ist, mit einem
Datenspeicher zur Aufnahme der zu durchsuchenden Daten und einem Trefferspeicher, zur Zwischenspeicherung
der Vergleichsergebnisse. Zusammen bilden diese drei Funktionsblöcke ein inhaltsadressierbares
Speichersystem, auf das über eine Schnittstelle (Bild 1) zugegriffen werden kann, nachdem es hierüber
mit Daten geladen wurde.
Eine nicht näher erläuterte externe Stellung (nicht abgebildet) kontrolliert die Abläufe in der im folgenden
näher beschriebenen Schaltungsanordnung. Über ihre Ausgestaltung werden keine weiteren Angaben gemacht
da dies für die grundsätzliche Funktion der Schaltungsanordnung ohne Bedeutung ist.
Der Datenspeicher besteht aus η Worten (weiterhin auch »Zeilen« genannt), die wiederum eine nicht näher
festgelegte Länge von m bit besitzen. Der Trefferspeicher muß über dieselbe Wortanzahl verfugen, die Zeilenlänge
beträgt 3 Bit entsprechend den Vergleichsergebnissen »gleich«, »größer als« und »kleiner als« der
Vergleicherstufe innerhalb der Schaltung.
Gemäß Unteranspruch 17, kann der in B i I d 1 dargestellte Komplex auch mehrfach über die Schaltungsanordnung kaskadiert werden, so daß auch Daten mit größeren Wortlängen gespeichert und dem inhaltsorientierten Zugriff unterzogen werden können. Diese Kaskadierung erfolgt ausschließlich über die Kopplung der Vergleicherstufen (s. u.). Bei χ gekoppelten Anordnungen entsteht demnach ein Gesamt-Datenspeicher mit η Worten zu je x*m bit und ein Gesamt-Trefferspeicher zu ebenfalls η Worten mit je 3x bit Länge. Betrachtet man nun die beiden resultierenden Speicher, so stellen sie ein Feld von χ Spalten zu je m bit bzw. χ Spalten zu je 3 bit dar. Jeder dieser Spalten ist noch eine der den Ansprüchen zugrunde liegenden Schaltungsanordnun-
Gemäß Unteranspruch 17, kann der in B i I d 1 dargestellte Komplex auch mehrfach über die Schaltungsanordnung kaskadiert werden, so daß auch Daten mit größeren Wortlängen gespeichert und dem inhaltsorientierten Zugriff unterzogen werden können. Diese Kaskadierung erfolgt ausschließlich über die Kopplung der Vergleicherstufen (s. u.). Bei χ gekoppelten Anordnungen entsteht demnach ein Gesamt-Datenspeicher mit η Worten zu je x*m bit und ein Gesamt-Trefferspeicher zu ebenfalls η Worten mit je 3x bit Länge. Betrachtet man nun die beiden resultierenden Speicher, so stellen sie ein Feld von χ Spalten zu je m bit bzw. χ Spalten zu je 3 bit dar. Jeder dieser Spalten ist noch eine der den Ansprüchen zugrunde liegenden Schaltungsanordnun-
gen zugeordnet. Bei einer solchen Kaskadierung werden
die Datenschnittstellen aller Spalten über einen gemeinsamen, externen Datenbus (s. B i I d 2) betrieben.
Die Ankopplung einer Spalte an diesen externen Datenbus erfolgt über einen bidirektionalen Tri-State Treiber.
Anhand von B i I d 2 werden die Funktionen der Lade-, Lese- und Vergleichsoperationen erläutert, wobei von *
kaskadierten Spalten ausgegangen wird.
Während des Ladevorgangs werden unter Kontrolle einer externen Steuerung die über den externen Datenbus
(s. B i 1 d 2) gelieferten Datenworte nacheinander und spaltenweise zuerst über einen Treiber in die Eingaberegister
geladen. Der Vorgang läuft also spalten-sequentiell ab, und erst wenn sämtliche Eingaberegister
geladen worden sind, erfolgt eine parallele Übernahme dieser Inhalte in die betreffende Zeile des Datenspeichers.
Hierzu wird die zu beschreibende Zeile über einen auf einer externen Steuerkarte befindlichen Zähler
adressiert. Der Datenaustausch zwischen Eingaberegister und Datenspeicher erfolgt für alle x*m Bit in einer
Zeile immer gleichzeitig, während die Ladevorgänge der Eingaberegister spaltenweise ablaufen.
Ähnlich wird ein Lesevorgang gesteuert: Die zu lesende Zeile wird von der externen Steuerung adressiert,
es erfolgt eine parallele Übernahme in die Ausgaberegister, wo dann anschließend eine Zerlegung in m bit breite
Datenworte, die dann über den externen Datenbus übertragen werden, erfolgt.
Diese Vorgehensweise ist notwendig, um eine Anpassung der relativ kurzen Datenworte auf dem externen
Datenbus (zum Beispiel 16 bit) auf die sehr viel längeren
Speicherzeilen, die in praxisnahen Applikationen zum Beispiel 64 byte lang sein können, zu erreichen. Der
Ladevorgang der Suchwort-, Operationscodes- und Maskenspeicher erfolgt ebenfalls spaltensequentiell.
Ein Suchvorgang läuft nun wie folgt ab (zunächst seien nur die Vorgänge in einer Spalte aber ohne den
Effekt der Kaskadierung erwähnt):
Über einen externen Zähler werden die zu vergleichenden Zeichen sequentiell adressiert, aus dem Datenspeicher gelesen und über das Pipelineregister 1 an die Vergleicherschaltung gelegt. Hier findet der Vergleich mit einer eingestellten Zeile des Suchwortspeichers statt, wobei einzelne Bits aus diesem Vergleich ausgeschlossen werden können. Diese »maskierten« Stellen werden durch die Masken definiert Gleichzeitig mit der Adressierung eines Wortes werden auch die zugehörigen Speicherstellen in dem Trefferspeichcr adressiert Hier werden die Vergleichsergebnisse (pro Spalte liegen drei Ergebnisse entsprechend den Vergleichsarten »gleich«, »größer als« und »kleiner als« vor) abgespeichert Daraus ergibt sich, daß jeder Spalte des Datenspeichers ein Trefferspeicher ebenfalls mit η Worten zu je 3 Bit Länge zugeordnet ist Beide Speicher haben dieselbe Wortanzahl, so daß einer Zeile im Datenspeicher genau eine Zeile im Trefferspeicher zugeordnet ist
Über einen externen Zähler werden die zu vergleichenden Zeichen sequentiell adressiert, aus dem Datenspeicher gelesen und über das Pipelineregister 1 an die Vergleicherschaltung gelegt. Hier findet der Vergleich mit einer eingestellten Zeile des Suchwortspeichers statt, wobei einzelne Bits aus diesem Vergleich ausgeschlossen werden können. Diese »maskierten« Stellen werden durch die Masken definiert Gleichzeitig mit der Adressierung eines Wortes werden auch die zugehörigen Speicherstellen in dem Trefferspeichcr adressiert Hier werden die Vergleichsergebnisse (pro Spalte liegen drei Ergebnisse entsprechend den Vergleichsarten »gleich«, »größer als« und »kleiner als« vor) abgespeichert Daraus ergibt sich, daß jeder Spalte des Datenspeichers ein Trefferspeicher ebenfalls mit η Worten zu je 3 Bit Länge zugeordnet ist Beide Speicher haben dieselbe Wortanzahl, so daß einer Zeile im Datenspeicher genau eine Zeile im Trefferspeicher zugeordnet ist
Der Vergleichsvorgang wird wort-sequentiell, aber
innerhalb eines Wortes bit-parallel, durchgeführt, wobei nach Beendigung eines Vergleichsvorganges die Ergebnisse
in den jeweils zugeordneten Speicherstellen der Trefferspeicher zur Verfügung stehen.
In einem anschließenden Lesevorgang des Trefferspeichers — dieser Vorgang findet auch zeilenweise
statt — kann leicht festgestellt werden, welche Worte einen Treffer gemeldet haben.
Zur Erkennung der Treffer wird aus den Vergleichsergebnissen während des Lesevorgangs des Trefferspeichers
der Spaltentreffer entsprechend der eingestellten Vergleichsart generiert. Hierzu zeigt Bild 3 die Tabelle
der Vergleichsarten, die für jede Spalte getrennt vorgegeben werden können, indem entsprechende Steuercodes
in Operationscodespeicher geladen werden. Aus der Tabelle wird ersichtlich, daß nicht nur die Grundarten,
sondern eine Fülle weiterer Vergleichsarten möglich sind, unter anderem auch die Suche nach Extremwerten,
dem nächst größeren, nächst kleineren Wert und nach Elementen, die innerhalb bzw. außerhalb zweier
Grenzen liegen.
Es kann leicht gezeigt werden, daß aus den Vergleichsergebnissen »gleich«, »größer als« und »kleiner
als« alle Treffer entsprechen·-1 diesen 18 Vergleichsarten
erzeugt werden können, .-iierzu werden die aus dem
Trefferspeicher gelesenen Ergebnisse in einer mit »Trefferauswahl» in Bild 2 bezeichneten Logik, die
wiederum durch den eine Vergleichsart definierenden Operationscode gesteuert wird, so miteinander verknüpft
daß der entsprechende Spaltentreffer entsteht.
Um die Vergleichsarten 7 —14 zu erzeugen, sind zwei
Suchläufe mit unterschiedlichen Suchworten und Operationscodes notwendig. Dabei ist eine Besonderheit zu
berücksichtigen, die anhand eines Beispiels erläutert werden soll:
Werden zum Beispiel alle Elemente innerhalb zweier Grenzen (Grenzen ausgeschlossen) gesucht, so wird ?.a
erst ein Suchlauf mit der unteren Grenze als Suchwort und dem Operationscode »größer als« durchgeführt
Danach werden der Operationscode Nr. 4(BiId 3) und die obere Grenze als Suchwort vorgegeben, indem eine
andere Adresse der vor Beginn des Suchlaufes geladenen Suchwort-, Masken- und Operationscodespeicher
eingestellt wird. Während des dann folgenden zweiten Suchlaufes dürfen nur noch die Ergebnisse der Vergleicherausgänge
»gleich« und »kleiner als« im Trefferspeicher eingetragen werden. Dies ist innerhalb dieser
Schaltung dadurch gelöst, daß man die Wortlänge des Trefferspeichers in jeder Spalte zu 3 Bit wählt und jedem
der drei Vergleicherausgänge jeweils eines dieser 3 Bits zuordnet. Bei dieser Anordnung braucht in diesem
Beispiel während des zweiten Suchlaufes nur dafür gesorgt zu werden, daß die »größer als«-Ergebnisse des
Trefferspeichers nicht überschrieben werden. Überlagert man dann in einem auf den zweiten Suchlauf folgenden
Lesevorgang die Trefferspeicher-Ausgänge »größer als« und »kleiner als«, so werden nur die Ergebnisse
selektiert, die innerhalb dieser beiden Grenzen liegen. Die Logik zur Realisierung sowohl dieses Vergleichsart-spezifischen
Schreibschutzes für den Treffer-
speicher als auch der Teilergebnis-Überlagerung ist in dem »Trefferauswahk-Baustein (s. Bild 2) untergebracht.
Die bit-weise Maskierung ist folgendermaßen realisiert:
Die Inhalte des Masken- und Suchwortspeichers werden in einer Verknüpfungslogik überlagert und an den
Vergleicher gelegt. An diesem liegen ebenfalls die Ausgänge des Pipelineregisters 1.
Während eines Vergleichszyklus wird ein Wort des Datenspeichers in dieses Pipelineregister geladen und liegt dann sowohl am Vergleicher als auch an der Verknüpfungslogik an. In dieser Verknüpfungslogik wird nun an allen Stellen, die maskiert werden sollen, der logische Wert des Suchwertes gegen den des im Pipelineregister 1 abgespeicherten — und das ist das Datenwort selbst — ausgetauscht An den unteren Eingängen des Vergleichers liegen demnach an den maskierten Stellen dieselben logischen Werte wie an dessen oberen
Während eines Vergleichszyklus wird ein Wort des Datenspeichers in dieses Pipelineregister geladen und liegt dann sowohl am Vergleicher als auch an der Verknüpfungslogik an. In dieser Verknüpfungslogik wird nun an allen Stellen, die maskiert werden sollen, der logische Wert des Suchwertes gegen den des im Pipelineregister 1 abgespeicherten — und das ist das Datenwort selbst — ausgetauscht An den unteren Eingängen des Vergleichers liegen demnach an den maskierten Stellen dieselben logischen Werte wie an dessen oberen
Eingängen. Somit tragen diese Bit-Positionen nicht zur
Bildung des Ergebnisses bei. Dieses wird in dem Pipelineregister 2 zwischengespeichert, um dann im Trefferspeicher
abgelegt zu werden.
Diese beiden Pipelineregister bieten in der hier aufgeführten Anordnung die Möglichkeit, einen Vergleichszyklus in drei aufeinanderfolgende Phasen zu unterteilen,
die zeitlich überlappend abgearbeitet werden können:
1.
2.
2.
3.
Lesen des Datenwortes aus dem Datenspeicher
Zwischenspeichern im Pipelineregister 1 und vergleichen
Zwischenspeichern im Pipelineregister 1 und vergleichen
Zwischenspeichern des Ergebnisses im Pipelineregister 2 und Laden des Trefferspeichers.
Daraus ergibt sich, daß während das Vergleichsergebnis der n— 1-sten Datenzeile aus dem Pipelineregister
2 in den Trefferspeicher geschrieben wird, gleichzeitig das /Me Datenwort im Pipelineregister 1 enthalten
ist und verglichen wird und gleichzeitig die n+ 1-ste Datenzeile aus dem Datenspeicher gelesen wird. Dieses
Verfahren wird »Pipelining« genannt. Dadurch verkürzt sich die Zykluszeit eines Vergleichs um ca. 50%.
Die schon oben erwähnte Masken/Suchwort-Verknüpfungslogik besitzt auch noch andere Ausgänge, die
unter anderem an den Eingängen des Eingaberegisters liegen. Dieser Datenpfad wird benutzt, um die Funktion
des »bitweisen« Schreibens zu ermöglichen. Hierbei sollen die logischen Zustände bestimmter Bits innerhalb
einer Datenzeile verändert werden können, ohne diese über die Datenschnittstelle transferieren zu müssen. Die
Vorgänge für dieses besondere Verfahren gliedern sich in folgende Einzelphasen:
1. Laden einer Maske, die nur die Bit-Positionen unmaskiert
läßt, die verändert werden sollen.
2. Laden eines Suchwortes, das an den entscheidenden Bit-Stellen die entsprechenden neuen logischen
Werte enthält.
3. Lesen des in Frage kommenden Datenwortes und Abspeichern in Pipelineregister 1. Nach dieser Phase
liegt am Ausgang der Verknüpfungslogik und damit am Eingang des Eingaberegisters ein neues
Datenwort an, das an den maskierten Stellen mit dem ursprünglichen Wort identisch ist und an den
zu veränderten Bit-Positionen die neuen Werte enthält
4. Laden des neuen Datenwortes in das Eingaberegister.
5. Übernahme in den Datenspeicher.
An dieser Stelle soll noch einmal auf die Vergleichsarten 15—18 (Bild 3) eingegangen werden. Hier wird
nach einem Maximum bzw. Minimum gesucht bzw. nach dem nächst kleineren oder nächst größeren Wert Diese
Suchläufe werden folgendermaßen realisiert:
Der maximale Wert kann dadurch gefunden werden, daß eine bestimmte Zeile des Suchwortspeichers zu Beginn
mit einem Anfangswert, der mit Sicherheit kleiner ist als das Maximum, geladen wird. Bei jedem dann folgenden
Vergleich wird geprüft, ob der gerade aus dem Datenspeicher gelesene Wert größer als der Inhalt der
Wortspeicherzeile ist. Ist dies der Fall, wird das alte Suchwort mit dem gerade gelesenen Wert aus dem Datenspeicher
überschrieben, das dann als neuer Ausgangswert für den folgenden Vergleichszyklus dient. Da
dieser wieder wort-sequentiell abläuft und immer dann
der aktuelle Wert aus dem Datenspeicher als neues Suchwort übernommen wird, wenn die Bedingung »größer
als« erfüllt ist, enthält der Suchwortspeicher am Ende des Suchlaufes mit Sicherheit das gesuchte Maximum.
Dieses kann über die Verknüpfungslogik und den Treiber an die Datenschnittstelle übergeben oder über
das Eingaberegister in den Datenspeicher eingeschrieben werden. Die Suche nach einem Minimum erfolgt
entsprechend.
ίο Die Suche nach dem nächst kleineren Wert erfolgt
wieder in zwei Phasen. Zuerst muß ein Durchlauf mit dem gewünschten Schwellwert als Suchwort durchgeführt
werden. Anschließend findet ein zweiter Suchlauf statt, bei dem gleichzeitig mit dem Datenspeicher auch
die Ergebnisse des ersten Durchgangs aus dem Trefferspeicher ausgelesen werden. Die Trefferauswahl-Logik
sorgt jetzt dafür, daß immer dann ein aktuelles Datenwort als neues Suchwort übernommen wird, wenn es
beiden folgenden Bedingungen gleichzeitig erfüllt:
1. Es muß kleiner sein als der Schwellwert (Suchwort aus dem ersten Durchlauf).
2. Es muß größer sein als das aktuelle Suchwort.
Vorausgesetzt wird wieder, daß der Anfangswert im Suchwortspeicher mit Sicherheit kleiner war als der gesuchte
Wert selbst.
Für die Suche nach dem nächst größeren Wert gilt entsprechendes.
Zur Kaskadierung der Schaltungsanordnungen
Bisher wurde davon ausgegangen, daß die Daten alle nur aus m bit-Größen bestehen. Dann findet der Vergleich
in allen Spalten gleichzeitig statt und jede Spalte produziert unabhängig von allen anderen ihre eigenen
Ergebnisse. Durch eine besondere Schaltungsmaßnahme sollen darüberhinaus Daten mit mehr als m bit zugelassen
werden. Schaltungstechnisch bedeutet dies eine Kaskadierung der Vergleicher mehrerer Spalten. Bei
einer solchen Kopplung mehrerer ist nur das Vergleichsergebnis der niederwertigsten Spalte interessant.
Dieses Ergebnis wird durch alle in der Kaskade höherwertig angordneten Vergleicher beeinflußt.
Da nur die Ergebnisse der niederwertigsten Stufe für das Auffinden der Treffer relevant sind, werden die
Trefferausgänge der höherwertigen Spalten ignoriert.
Der hier beschriebene Aufbau der Schaltungsanordnung und die Tatsache, daß alle Vergleichsvorgänge
wort-seriell ablaufen, bedingt eine tabellenartige Strukturierung der im Datenspeicher abgelegten Information.
Alle Zeilen einer Tabelle müssen dieselbe Struktur aufweisen, das heißt die physikalische Anordnung der
Daten innerhalb einer Zeile muß in allen Zeilen identisch sein.
In diesen Speichersystemen können mehrere Tabellen gleichzeitig abgespeichert werden. Hierbei ist sowohl
eine horizontale als auch eine vertikale Anordnung möglich. Horizontal bzw. »nebeneinander« abgespeicherte
Tabellen können sogar gleichzeitig durchsucht werden. Dabei ist durch eine externe Schaltungsmaßnahme dafür gesorgt daß die Treffererzeugung in
alle Tabellen unabhängig voneinander ist Hierzu werden die Spaltentreffer-Ausgänge der kaskadierten
Schaltungsanordnungen extern logisch in geeigneter Weise zusammengefaßt Vertikal oder »übereinander«
angeordnete Tabellen werden nacheinander verglichen, und falls nicht mehr als ρ Tabellen in dieser Anordnung
13
abgespeichert sind, sind keine zwischenzeitlichen Transfers von Masken, Suchworten und Operationscodes
über die Datenschnittstelte zum Speichersystem notwendig. Vielmehr können sie für alle Tabellen zu Beginn
des gesamten Suchlaufes in den hierfür vorgesehenen ρ 5
Worte fassenden Speicherelementen (s. B i 1 d 2) abgelegt werden. Beim Übergang von einer Tabelle zu einer
nächsten müssen dann nur die Adressen dieser Speicher einmal inkrementiert werden. Dann erscheint an den
jeweiligen Speicherausgängen die für die Suche in der io
neuen Tabelle relevante Information.
15
20
25
30
35
45
50
55
60
Claims (17)
1. Schaltungsanordnung zur Ausführung inhaltsorientierter
Zugriffsfunktionen auf in einem angeschlossenen, ortsadressierbaren Datenspeicher enthaltene
Daten unter Verwendung eines Hilfsspeichers zur Markierung der Treffer um Datenspeicher,
der aus einer Vielzahl an angeordneten Speicherzellen besteht (B i 1 d 1), in einer Matrix zu π Zeilen mit
je m bit, wobei diese Schaltungsanordnung einen Suchwort-Speicher, einen Masken-Speicher zum
Maskieren von beliebigen Bit-Positionen während eines Suchlaufs und eine Vergleicherstufe zum Vergleich
des mit der Maske verknüpften Suchwortes mit der. Daten enthält (Bild 2), dadurch gekennzeichnet,
daß ein Trefferauswahl-Baustein N nur dann ein Treffersignal generiert, wenn das Datum in der
adressierten Datenspeicherzeile in dem Größenverhältnis
zu den vorgegebenen Suchworten steht, welches durch eine der in einem Operationscode-Register
(M) eingestellten Vergleichsarten (1 — 14, Bild 3) definiert ist,
daß bei Vorgabe einer von vorbestimmten Vergleichsarten (15-18,BiId 3) nach einem Suchlauf
ein der eingestellten Vergleichsart genügendes Datum, falls im Datenspeicher enthalten, von dort in
den Suchwort-Speicher (I) übernommen ist,
daß die Änderung beliebiger Bit-Werte eines in einer adressierten Datenspeicherzeile enthaltenen Datums durchführbar ist, ohne dieses Datum über die Schnittstelle (Bild 1) transferieren zu müssen.
daß die Änderung beliebiger Bit-Werte eines in einer adressierten Datenspeicherzeile enthaltenen Datums durchführbar ist, ohne dieses Datum über die Schnittstelle (Bild 1) transferieren zu müssen.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß während des Vergleichsvorgangs die
Einstellung einer neuen Zeile n+1 im Datenspeicher (,4J gleichzeitig ablaufen kann mit dem Vergleich des
Datums aus Zeile η und der Ausgabe des vom Vergleich des Datums aus Zeile n—\ resultierenden
Treffersignals.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein /η-bit bidirektionaler Treiber
mit Tri-State Ausgängen (E) einen m-Bit Datenbus (DB) verbindet mit:
45
a) den m Eingängen eines Eingaberegisters (C)
b) den m Tri-State Ausgängen eines Ausgaberegisters (D)
c) den m Tri-State Ausgängen eines Pipeline-Registers 1 (F)
d) den m Eingängen des Operationscode-Speichers (M)
e) den m Eingängen des Masken-Speichers (J)
f) den m Eingängen des Suchwort-Speichers (I)
g) den m Tri-State Ausgängen (J) einer Verknüpfungslogik
(H)
h) den m Eingängen folder Vergleichstufe (G)
i) den m Eingängen (i) der Verknüpfungslogik (H).
i) den m Eingängen (i) der Verknüpfungslogik (H).
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die m Tri-State-Ausgänge des Eingaberegisters
(C) mit den Eingängen des Pipelineregisters 1 (F), den Eingängen des Ausgaberegisters (D)
und den m Ein- und Ausgängen des Datenspeichers (/V verbunden sind. b5
5. Anordnung nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß die Verknüpfungsschaltung (H)
eingangsseitig mit den m Ausgängen des Masken-Speichers (J), des Suchwort-Speichers (I) und des
Pipelineregisters 1 (E), und ausgangsseitig mit dem Datenbus DB und den Eingängen (d) einer Vergleicherstufe
(G) verbunden ist.
6. Anordnung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß der Masken-Speicher
(J), der Suchwort-Speicher (I), die Verknüpfungslogik (H), das Eingaberegister (C), das Pipelineregister
1 (F)und der Datenspeicher (A)so gesteuert
werden können, daß ein aus einer Zeile des Daten-Speichers gelesenes und im Pipelineregister 1 (F)
abgespeichertes Wort an den nicht maskierten Stellen unverändert und an den maskierten Stellen
durch den logischen Wert des Suchworts ersetzt über das Eingaberegister wieder in dieselbe oder
eine andere Zeile des Datenspeichers geladen werden kann, ohne einen Daten-Transfer über den Treiber
(E) tätigen zu müssen.
7. Anordnung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet daß der Masken-Speicher
(J), der Suchwort-Speicher (I), die Verknüpfungslogik
(H), das Pipelineregisier 1 (F) und der Datenspeicher (A) so gesteuert werden können, daß
das aus einer Zeile des Datenspeichers gelesene und im Pipelineregister 1 abgespeicherte Wort an den
maskierten Stellen unverändert und an den nicht maskierten Stellen durch den logischen Wert des
Such'vortes ersetzt an den Eingängen (d) der Vergleicherstufe
liegt.
8. Anordnung nach einem der Ansprüche 3,4 oder 5, dadurch gekennzeichnet, daß die Daten-Ein/Ausgänge
des Trefferspeichers (B) mit den Tri-State-Ausgängen des Pipelineregisters 2 (L) und den Eingängen
(a) des Trefferauswahl-Bausteins (N) verbunden sind.
9. Anordnung nach einem der Ansprüche 4,5 oder 8, dadurch gekennzeichnet, daß die Ausgänge der
Vergleicherstufe (G) mit den Eingängen des Pipelineregisters 2 (L) und den Eingängen (b)der Trefferauswahl
(N) verbunden sind.
10. Anordnung nach Anspruch 4, 5, 8 und 9, dadurch gekennzeichnet, daß jeder Zeile des Datenspeichers
(A) eine Zeile des Trefferspeichers (B) zugeordnet ist, in der das Vergleichsergebnis abgespeichert
werden kann.
11. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß das Vergleichsergebnis eine Identifizierung
des Datums der adressierten Datenspeicherzeile als »größer als« oder »kleiner als« das eingestellte
Suchwort oder »gleich« diesem Suchwort erlaubt.
12. Anordnung nach Anspruch 11, dadurch gekennzeichnet,
daß das Treffersignal in dem Trefferauswahl-Baustein (N) aus den Eingangssignalen (a)
mittels Steuerworte im Operationscode-Speicher (M) erzeugt wird, die die jeweiligen Vergleichsarten
1-14(BiId 3)festlegen.
13. Anordnung nach Anspruch 11, dadurch gekennzeichnet,
daß der Trefferauswahl-Baustein (N) aus den Eingangssignalen (b) ein Ladesigna! für den
Suchwort-Speicher (I) erzeugt, welches ein im Pipclineregister 1 befindliches Wort in den Suchwort-Speicher
lädt, nachdem dieses von der Vergleicherstufe (G) bei vorgegebener Vergleichsart Nr. 15 mit
»größer als« und bei Vergleichart Nr. 16 mit »kleiner als« identifiziert worden ist.
14. Anordnung nach Anspruch 11, dadurch gekennzeichnet,
daß der Trefferauswahl-Baustein (N)
aus den Eingangssignalen (a) und fty ein Ladesignal
für den Suchwort-Speicher (I) erzeugt, welches ein im Pipelineregister 1 befindliches Wort in den Suchwort-Speicher
!ädt, nachdem dieses vor der Vergleicherstufe (Cybei vorgegebener Vergleichsart Nr. 18
(Bild 3) mit »größer als« identifiziert ist und
gleichzeitig die zugeordnete Trefferspeicherzeile ein »kleiner als«-Ergebnis liefert oder nachdem es bei
vorgegebener Vergleichsart Nr. 17 vom Vergleicher mit »kleiner als« identifiziert ist und gleichzeitig die
zugeordnete Trefferspeicherzeile ein »größer als«-Ergebnis liefert
15. Anordnung nach Anspruch 3 und 8, dadurch gekennzeichnet, daß alle Register (C, D, F, L) aus
Flipflop-Speicherzellen aufgebaut sind, die über ein Taktsignal an einem Steuereingang geladen werden.
16. Anordnung nach Anspruch 3, dadurch gekennzeichnet,
daß alle Speicher (M, J, I. K) aus Flipflop-Zellen mit ρ Speicherstellen, auf die über die Adreßeingänge
(Anzahl = Id p) wahlfrei zugegriffen werden kann, bestehen.
17. Anordnung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß die Vergleicherstufe
(G) über ihre Kaskadierungs-Ein- und -Ausgänge jeweils mit der Vergleicherstufe einer
weiteren gleichartigen Schaltungsanordnung (gemäß Bild 2) kaskadiert werden kann.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3212076A DE3212076C2 (de) | 1982-04-01 | 1982-04-01 | Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3212076A DE3212076C2 (de) | 1982-04-01 | 1982-04-01 | Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3212076A1 DE3212076A1 (de) | 1983-10-13 |
DE3212076C2 true DE3212076C2 (de) | 1986-01-30 |
Family
ID=6159937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3212076A Expired DE3212076C2 (de) | 1982-04-01 | 1982-04-01 | Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3212076C2 (de) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3009330C2 (de) * | 1980-03-11 | 1984-04-26 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens |
-
1982
- 1982-04-01 DE DE3212076A patent/DE3212076C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE3212076A1 (de) | 1983-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68928213T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2163342C3 (de) | Hierarchische binäre Speichervorrichtung | |
DE2121865C3 (de) | Speicher-Adressierschaltung | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2712575A1 (de) | Assoziatives speichersystem | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2142634B2 (de) | Assoziativspeicher | |
DE4117672A1 (de) | Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers | |
DE2718551B2 (de) | ||
DE69021617T2 (de) | Speicher, der verteiltes Laden von Datenleitungen verwendet. | |
DE1524773B2 (de) | Adressierungssystem für Speichervorrichtungen | |
DE69122860T2 (de) | Multiplexer | |
EP0134822B1 (de) | Digitalspeicher | |
DE4302754C1 (de) | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb | |
CH495584A (de) | Datenverarbeitungsanlage | |
EP0057755B1 (de) | Mikrorechnersystem zum raschen Auffinden von Kennzeichenblöcken | |
DE3212076C2 (de) | Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen | |
DE2062164A1 (de) | Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten | |
DE3587635T2 (de) | Plattenspeichersteuergerät mit geteiltem Adressenregister. | |
DE2525287A1 (de) | Assoziativspeicher | |
DE3633227A1 (de) | Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: MALMS, MICHAEL, DIPL.-ING.DR.-ING., 7403 AMMERBUCH |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |