-
Die am weitesten verbreitete Art eines digitalen Schreib-/Lese-
Speichers ist der Direktzugriffsspeicher (RAM). Der RAM reagiert
auf einen Adreßbus und einen Steuerbus und weist im allgemeinen
einen bidirektionalen Datenbus auf. Zur Spezifizierung einer
eindeutigen Speicherstelle in dem RAM wird von einer
Zentralverarbeitungseinheit (CPU), einer Direktspeicherzugriffsvorrichtung
(DMA) oder einer anderen Adressiervorrichtung eine Adresse auf
den Adreßbus gesetzt. Der Adressiermechanismus eines RAM soll
eindeutig sein, da jede Adresse auf jedem Adreßbus eine und nur
eine Speicherstelle in dem RAM spezifiziert.
-
Zwar ist der RAM für viele digitale Anwendungsbereiche gut
geeignet, doch zur Verwendung in Systemen zur Verarbeitung von
Assoziativdaten nicht besonders. Beispielsweise kann der
sequentielle Zugriff auf Daten beim Adressieren des RAMs bei bei der
Strukturerkennung, der natürlichen Spracherkennung, der
Verarbeitung spärlich besetzter Matrizen und der Datenbasisabfragung
beteiligten Systemen unzulänglich sein.
-
Eine Art von digitalem Lese-/Schreib-Speicher, die besser für
solche Systeme geeignet ist, die Assoziativdaten verarbeiten,
ist als inhaltsadressierbarer Speicher (CAM) bekannt.
Speicherstellen in dem CAM werden gleichzeitig und parallel von einer
als Komparand bezeichneten Eingabebitstruktur adressiert. Ein
Teil des Inhalts jeder Speicherstelle in dem CAM kann als
Adreßfeld betrachtet werden, während der Rest der Speicherstelle als
zugehöriges Datenfeld betrachtet werden kann. Wenn das
zugehörige Datenfeld zur Adressierung einer anderen Vorrichtung
verwendet wird, wird es manchmal als Zeigerfeld bezeichnet und soll
eine Zeigeradresse enthalten.
-
Bei einem CAM wird der Komparand parallel mit den Adreßfeldern
aller Speicherstellen verglichen, und wenn die Adreßfelder die
gewünschte Beziehung zu dem Komparanden haben, kann auf das
zugehörige Datenfeld an dieser Stelle zugegriffen werden.
Alternativ kann der Komparand mit der Gesamtheit jeder einzelnen
Speicherstelle verglichen werden, um zu ermitteln, ob das dem
Komparanden entsprechende bestimmte Bitmuster in dem CAM
gespeichert ist, wobei in diesem Fall das Vorhandensein oder
Nichtvorhandensein des Komparanden unter dem Inhalt durch ein
Boolesches Ausgangssignal (Flagge) angezeigt wird.
-
Ein typischer CAM weist einen Komparandeneingangsbus, einen
Steuereingangsbus, einen Übereinstimmungsgültigkeitsausgang und
einen bidirektionalen Bus auf. Eine Reihe von in den CAM
eingebauten und von dem Steuerbus ausgewählten Vergleichsoperationen
sind zulässig, einschließlich Gleichheit, Ungleichheit, kleiner
als, größer als, usw.
-
Der CAM kann im Gegensatz zum RAM mehrdeutige Adressen
aufweisen. Mit anderen Worten, eine Reihe von Adreßfeldern in dem CAM
kann denselben Inhalt halten. Wenn eine mehrdeutige Adressierung
zugelassen ist, ergeben sich bei einem Vergleich
Mehrfachreaktionen. Üblicherweise wird auf Mehrfachreaktionen von einem CAM
seriell zugegriffen.
-
Die bei einem digitalen System erforderliche Speicherkapazität
ist häufig größer als die in einer einzigen Vorrichtung
verfügbare. Darüber hinaus ist der Aufbau des Speichersystems nicht
durch den Aufbau der Speichervorrichtung begrenzt, da die
Möglichkeit besteht, ein Speichersystem aus einer Reihe von
Speichervorrichtungen aufzubauen. Folglich sind eine Reihe einzelner
Speichervorrichtungen horizontal und/oder vertikal in einer
Matrixkonfiguration untereinander verbunden. Die horizontale
Verbindung der Speicherelemente erhöht die effektive Breite
eines gespeicherten Speicherwortes und die vertikale Verbindung
erhöht die Anzahl der in dem Speichersystem verfügbaren
Speicherstellen.
-
Bei dem RAM-Speicher sind die Verfahren zum horizontalen und
vertikalen Verbinden von Speichervorrichtungen bekannt. Das
vertikale Verbinden von CAM-Elementen ist ebenfalls recht
einfach. Jedoch hatte man bei dem Versuch, CAM-Elemente horizontal
zu kaskadieren, Schwierigkeiten beim Erreichen dieses Zieles
aufgrund der Probleme bei der Weitergabe von
Übereinstimmungsinformationen zwischen den CAM-Elementen. In der Vergangenheit
erforderte die Weitergabe von Übereinstimmungsinformationen
Mehrzyklusvergleiche der einzelnen Vorrichtungen oder eine
unzulässig hohe Anzahl an Zwischenunterfeld-Busleitungen.
-
Die einzige bekannte, auf dem Markt befindliche CAM-Vorrichtung,
die eine Lösung des Horizontalkaskadierproblems liefert, ist der
Fairchild F100142 4·4-CAM, der eine offene Emitterleitung
aufweist, die zur Übertragung von
Zwischenunterfeld-Bindeinformationen mit jeder Speicherstelle verbunden ist. Bei dieser Lösung
ist ein Pin pro Speicherstelle zur
Zwischenunterfeld-Kommunikation erforderlich, woraus sich ein Chip mit sehr geringer
Datenspeicherkapazität ergibt. Beispielsweise wären bei der
Verwendung der Fairchild F100142-Vorrichtung bei einem (mittelgroßen)
1K · 16-CAM-System 1024 Vorrichtungen erforderlich, die sich
jeweils in einem Paket von 28 Pins befänden und bei 4,2 V bis zu
288 mA verbrauchen würden. Dieses hypothetische Speichersystem
verbrauchte daher mehr als 1,2 Kilowatt an Energie. Ein
derartiges System ist für die meisten Anwendungsbereiche ungeeignet.
-
CAM-Vorrichtungen sind relativ teurer als RAM-Vorrichtungen mit
derselben Speicherkapazität. Ein Grund dafür ist, daß der
Schaltungsaufbau des CAM an sich viel komplizierter ist als der
Schaltungsaufbau des RAM. In einem CAM muß jede Speicherzelle
sowohl Speicher- als auch Vergleichsfähigkeiten haben, während
ein RAM lediglich über Speicherfähigkeiten verfügen muß. Ferner
ist die Steuerlogik eines CAM komplizierter als diejenige eines
RAM. Ein weiterer Grund für die Kostendifferenz zwischen den
beiden Vorrichtungsarten besteht darin, daß viel mehr RAM- als
CAM-Vorrichtungen hergestellt werden, wodurch die
Herstellungskosten des RAM niedriger sind.
-
JP-A-59220838 offenbart eine Assoziativspeichervorrichtung, die
eine CAM-Einheit, eine RAM-Einheit, eine
Adressenmodifizierungseinheit und eine Steuereinheit aufweist.
-
Das IBM Technical Disclosure Bulletin, Band 25, Nr. 5, Oktober
1982, Seiten 2341-2342, offenbart einen Assoziativspeichermodul
mit sequentieller Logik, der als normaler RAM oder als
Assoziativspeicher verwendet werden kann.
-
Assoziativspeicherchips sind ferner in Electronics, Band 43, Nr.
17, 17. August 1970, Seiten 96-100, beschrieben.
-
In der vorliegenden Beschreibung wird ein Speicheraufbau
beschrieben, der in hohem Maße die Eigenschaften eines
inhaltsadressierbaren Speichers aufweist, dessen Kosten jedoch eher
denen eines Direktzugriffsspeichers entsprechen.
-
Ferner gestattet der Speicheraufbau das einfache und
kosteneffektive horizontale Kaskadieren CAM-ähnlicher Vorrichtungen.
-
Gemäß der vorliegenden Erfindung ist eine
quasi-inhaltsadressierbare Speicherschaltung mit einer CAM-Einrichtung und einem
zugeordneten RAM-Speicher vorgesehen, dadurch gekennzeichnet,
daß die CAM-Einrichtung auf einen ersten Bereich eines
Komparanden zur Lieferung einer Zeigeradresse reagiert, wenn der erste
Bereich des Komparanden eine vorbestimmte Beziehung zu dem
Inhalt wenigstens eines der CAM-Speicherplätze hat, wobei der RAM-
Speicher auf die Zeigeradresse zur Erzeugung eines
RAM-Datenausgangssignals an dem von der Zeigeradresse adressierten
RAM-Speicherplatz reagiert, und daß ein Komparator einen zweiten Bereich
des Komparanden mit dem RAM-Datenausgangssignal zur Erzeugung
einer Übereinstimmungsflagge vergleicht, wenn der zweite Bereich
eine vorbestimmte Beziehung zu dem RAM-Datenausgangssignal hat.
-
Bei einem Ausführungsbeispiel der Erfindung liefert die CAM-
Einrichtung ein Zeigergültigkeitssignal zum Freigeben und
Sperren des Komparators, und der Komparator und der RAM bilden eine
erste Komparator-RAM-Schaltung, die auf einen Teil des zweiten
Bereichs des Komparanden, das Zeigergültigkeitssignal und die
Zeigeradresse reagiert. Die erste Komparator-RAM-Schaltung
erzeugt dann ein Übereinstimmungssignal, wenn sie von dem
Zeigergültigkeitssignal freigegeben worden ist und wenn der Inhalt
einer von der Zeigeradresse adressierten Speicherstelle eine
vorbestimmte Beziehung zu dem Teil des zweiten Bereiches des
Komparanden hat. Zusätzliche Komparator-RAM-Schaltungen
reagieren dann auf jeweilige weitere Teile des zweiten Bereiches des
Komparanden, ein Übereinstimmungssignal von einer anderen
Komparator-RAM-Schaltung und die Zeigeradresse, wobei die
zusätzlichen Komparator-RAM-Schaltungen jeweilige
Übereinstimmungssignale erzeugen, wenn der Inhalt einer ihrer von der Zeigeradresse
adressierten Speicherstellen eine vorbestimmte Beziehung zu dem
Teil des zweiten Bereiches des Komparanden hat, auf den sie
reagieren.
-
Ein Vorteil dieser Schaltung besteht darin, daß die
kostengünstigen RAM-Vorrichtungen zum Implementieren eines
Speichersystems verwendet werden können, das sich in mancher Hinsicht wie
ein inhaltsadressierbares Speichersystem verhält, doch zu
wesentlich niedrigeren Kosten.
-
Ein weiterer Vorteil dieser Schaltung besteht darin, daß C-RAMs
auf einfache Weise horizontal in Kaskade geschaltet werden
können, um sämtlichen Anforderungen beim Speicherentwurf gerecht zu
werden.
-
In den beigefügten Zeichnungen zeigen, lediglich als Beispiel:-
Fig. 1 ein Blockschaltbild einer die vorliegende Erfindung
verkörpernden quasi-inhaltsadressierbaren Speicherschaltung (Q-
CAM);
-
Fig. 2 eine alternative Ausführungsform des in Fig. 1 gezeigten
CAM-Abschnitts;
-
Fig. 3 ein Blockschaltbild eines Komparator-RAM (C-RAM), der
die Funktionen des RAM-Abschnitts erfüllt und den in Fig. 1
gezeigten Komparator enthält; und
-
Fig. 4 ein Blockschaltbild, das das horizontale Kaskadieren
zweier der in Fig. 3 gezeigten C-RAMs mit einer CAM-Vorrichtung
veranschaulicht.
-
Gemäß Fig. 1 weist eine quasi-inhaltsadressierbare
Speicherschaltung 10 einen CAM-Abschnitt 12, einen RAM-Abschnitt 14 und
einen Komparator 16 auf. Der Kürze wegen wird die
quasi-inhaltsadressierbare Speicherschaltung 10 im folgenden als Q-CAM 10
bezeichnet.
-
Q-CAM 10 reagiert auf einen über einen Komparandenbus 18
geleiteten Komparanden P. Der Komparandenbus ist in einen ersten
Bereich 20, der ein Komparanden-CAM-Feld PC leitet, und einen
zweiten Bereich 22, der ein Komparanden-RAM-Feld PR leitet,
aufgeteilt. PC wird in den CAM-Abschnitt 12 und PR in einen Port
A des Komparators 16 eingegeben.
-
Der CAM-Abschnitt 12 weist r Speicherstellen auf, die jeweils
ein Inhalts-CAM-Feld TC speichern können. Jedem Inhalts-CAM-Feld
TC ist ein Zeiger PTR zugeordnet. Da sich in dem CAM-Abschnitt
12 r Speicherstellen befinden, kann das Inhalts-CAM-Feld als
TC(R) bezeichnet werden, wobei 0 < = R < = r-1 ist. In ähnlicher
Weise kann der Zeiger als PTR(R) bezeichnet werden.
-
Wenn der CAM-Abschnitt 12 zum Vergleich freigegeben ist, wird
das Komparanden-CAM-Feld PC parallel mit sämtlichen Inhalts-CAM-
Feldern TC in dem CAM verglichen. Wenn sich ein positiver
Vergleich zwischen dem Komparanden-CAM-Feld PC und einem der
Inhalts-CAM-Felder TC ergibt, wird auf einer Leitung 24 ein
Zeigergültigkeitssignal (VALPTR) erzeugt. Der CAM-Abschnitt 12
erzeugt ferner einen Zeiger PTR auf einem Zeiger-/Adreßbus 26,
der entsprechend dem Inhalts-CAM-Feld TC, das mit einem
Komparanden-CAM-Feld PC übereinstimmt, von dem PTR(R) abgeleitet
wird. Wenn beispielsweise PC mit TC(5) übereinstimmt, wird auf
dem Bus 26 ein PTR erzeugt, das von PTR(5) abgeleitet wird, und
auf Leitung 24 wird ein VALPTR-Signal erzeugt, um anzuzeigen,
daß sich eine gültige Übereinstimmung ergeben hat.
-
Der RAM-Abschnitt 14 kann die RAM-Standardkonstruktion aufweisen
und weist vorzugsweise ebenfalls r Speicherstellen auf. In dem
RAM 14 sind Inhalts-RAM-Felder TR gespeichert, die als TR(R)
bezeichnet werden. Es sei darauf hingewiesen, daß der
CAM-Abschnitt 12 und der RAM-Abschnitt 14 bei diesem bevorzugten
Ausführungsbeispiel zwar dieselbe Anzahl an Speicherstellen
aufweisen, daß dies jedoch für das System nicht erforderlich ist.
-
Es sei angenommen, daß der RAM-Abschnitt 14 in Fig. 3 für einen
Lesezyklus gewählt ist; und er kann durch das
Zeigergültigkeitssignal VALPTR auf Leitung 24 freigegeben werden. Wenn der RAM-
Abschnitt 14 durch VALPTR freigegeben worden ist, veranlaßt der
Zeiger/die Adresse auf Bus 26 den RAM-Abschnitt 14, ein Inhalts-
RAM-Feld TR auf einem RAM-Datenbus 28 auszugeben. Um das
vorhergehende Beispiel zu verwenden: Wenn das PTR-Signal auf dem Bus
26 gleich PTR(5) ist, das ist das TR-Signal auf dem RAM-Datenbus
28 gleich TR(5).
-
Der Komparator 16 vergleicht das Komparanden-RAM-Feld PR, das an
einem Port A eingegeben wird, mit dem Inhalts-RAM-Feld TR, das
an einem Port B eingegeben wird. Der Komparator 16 wird durch
das VALPTR-Signal auf Leitung 24 freigegeben. Die von dem
Komparator 16 durchgeführte Vergleichsfunktion kann eine beliebige
arithmetische Logikfunktion sein, wie beispielsweise gleich,
größer als, kleiner als, im Bereich von, usw., wie es auch die
in dem CAM-Abschnitt 12 durchgeführten Vergleiche sein können.
Wenn sich zwischen dem Komparanden-CAM-Feld PC und einem
Inhalts-CAM-Feld TC(R) in dem CAM-Abschnitt 12 und zwischen dem
Komparanden-RAM-Feld PR und einem Inhalts-RAM-Feld TR(R) in dem
Komparator 16 ein positiver Vergleich ergibt, erzeugt der
Komparator 16 auf einer Leitung 30 eine Übereinstimmungsflagge.
-
Eine Übereinstimmung innerhalb des CAM-Abschnitts 12 stellt
keine Garantie für eine Übereinstimmung zwischen dem gesamten
Komparanden P und dem gesamten gespeicherten Inhalt T an einer
bestimmten Speicherstelle R dar, an der T über TC(R) und TR(R)
gespeichert ist. Es ist daher die Aufgabe des Komparators, das
Kornparanden-RAM-Feld PR mit dem Inhalts-RAM-Feld TR zu
vergleichen, um sicherzustellen, daß der Vergleich des gesamten
Komparanden P mit dem gesamten gespeicherten Inhalt T positiv
ausfällt.
-
Tatsächlich erhöht die Hybrid-CAM/RAM-Schaltung von Fig. 1 die
Effizienz des Durchsuchens des RAMs auf einen speziellen Inhalt
hin. Es sei angenommen, daß es bei der Schaltung von Fig. 1
keine Mehrfachreaktionen zu dem CAM gibt; dann wird bei einer
Übereinstimmung lediglich ein Zeiger PTR erzeugt und die
Schaltung verhält sich wie eine reine CAM-Schaltung. Wenn in den
Inhalts-CAM-Feldern TC mancher Inhalt doppelt gespeichert ist,
sind Mehrfachreaktionen des CAM-Abschnitts 12 unvermeidlich.
-
In Fig. 2 ist ein CAM-Abschnitt 12' offenbart, der mehrere CAM-
Speicherstellen TC(R) aufweist sowie eine
Mehrfachreaktionsabwicklungsschaltung 34, die den Zeiger PTR erzeugt. In diesem
Fall ist die Mehrfachreaktionsabwicklungsschaltung 34 ein
Prioritätskodierer, obwohl auch andere Arten von
Mehrfachreaktionsabwicklungsschaltungen möglich sind.
-
Gemäß Fig. 2 wird bei Anlegen des Komparanden-CAM-Felds PC an
die CAM-Speicherstellen TC(R) auf einer Leitung 36 ein
Übereinstimmungsflaggensignal entsprechend jeder Speicherstelle TC(R),
die mit dem Komparanden-CAM-Feld PC übereinstimmt, erzeugt. Der
Prioritätskodierer 34 priorisiert die
Übereinstimmungsflaggensignale und gibt auf dem Zeiger-/Adressbus 26 sequentiell PTR-
Werte aus. Wenn wenigstens ein Flaggensignal für eine gültige
Übereinstimmung von dem CAM-Abschnitt 12' erzeugt wird, erzeugt
der Prioritätskodierer 34 ferner auf der Leitung 24 ein
Zeigergültigkeitssignal VALPTR.
-
Es sei angemerkt, daß Mehrfachreaktionen seriell abgewickelt
werden müssen. Der von dem CAM erzeugte Zeiger PTR stellt eine
"Vermutung" hinsichtlich des über den CAM und den RAM
gespeicherten Inhalts T dar. In einem System, in dem mehrdeutige
Schreiboperationen unterdrückt werden, d. h. bei dem der
gespeicherte
Inhalt T einmalig vorhanden ist, gibt es so viele
Vermutungen wie positive Vergleiche zwischen dem Komparanden-CAM-
Feld PC und dem Inhalts-CAM-Feld TC. Somit erzeugt jegliche
Mehrdeutigkeit in dem CAM-Abschnitt falsche Vermutungen, wodurch
mehrere sequentielle Zugriffe auf den RAM-Abschnitt erforderlich
werden.
-
Wenn der gespeicherte Inhalt T D Bits breit ist, das Inhalts-
CAM-Feld TC c Bits breit ist und der Q-CAM 10 A Wörter lang,
besteht die Möglichkeit, eine Schätzung der zum Vergleich des
Komparanden P mit dem gesamten gespeicherten Inhalt T
erforderlichen durchschnittlichen Anzahl an Vermutungen durchzuführen.
Es sei angenommen, daß die Verteilung der Werte der Inhalts-CAM-
Felder TC unter den A Wörtern völlig willkürlich ist; dann
beträgt die durchschnittliche Anzahl k des Auftretens jedes Wortes
k = A/2c. Bei Zugriff auf den gesamten Speicher beträgt die zur
Erstellung eines gültigen Inhalts in dem gesamten System
durchschnittliche Anzahl von sequentiellen Zugriffen in den
CAM-Abschnitt k für mehrdeutig eingeschriebenen Inhalt und k/2 für
nicht-mehrdeutig eingeschriebenen Inhalt.
-
Die Breite c des Inhalts-CAM-Feldes TC ist sowohl eine Funktion
der Wörter A in dem System als auch der gewünschten
durchschnittlichen zahlenmäßigen Häufigkeit k des Auftretens jedes
Wortes. Im einzelnen ist c = log&sub2;A-log&sub2;k. Wenn k = 1 ist,
reduziert sich diese Gleichung auf c = log&sub2;A, wobei die Zahl der Bits
in dem Inhalts-CAM-Feld PC gleich der Zahl der Bits zum
willkürlichen Adressieren des CAM ist. Unter diesen Umständen ist
der CAM als "logarithmisch quadratisch" bekannt.
-
Die Wahrscheinlichkeit Pr(x) des x-maligen Auftretens eines
bestimmten Wertes von 2c Werten, der willkürlich A-mal gewählt
worden ist, kann näherungsweise durch Pr(x) (kx/x!)(1/e)k
angegeben werden. Daher führt eine lineare Zunahme in der Breite des
Inhalts-CAM-Felds TC zu einer logarithmischen Verringerung von
k, während eine lineare Zunahme von A lediglich eine lineare
Zunahme von k bewirkt. In einem logarithmisch quadratischen CAM,
bei dem k=1 ist, beträgt die Wahrscheinlichkeit von 0 oder 1
Mehrfachreaktion ungefähr 74%, während die Aussicht auf fünf
Mehrfachreaktionen lediglich 0,31% beträgt. Die
Wahrscheinlichkeit fehlerhafter CAM-Übereinstimmungen nimmt mit der Abnahme
von k ab, was in manchen Fällen einen geringen Wert von k
wünschenswert erscheinen läßt.
-
In Fig. 3 weist ein Komparator-RAM (C-RAM) 38 einen RAM 14' und
einen Komparator 16' auf, die dem RAM-Abschnitt 14 bzw. dem
Komparator 16 von Fig. 1 entsprechen. Der C-RAM 38 weist ferner
einen Bidirektionalbus-Treiber 40 und eine Funktionssteuerlogik
42 auf.
-
Der RAM 14' wird von dem Zeigersignal PTR auf dem
Zeiger-/Adreßbus 26 adressiert und gibt auf einem bidirektionalen
RAM-Datenbus 44 Daten ein und aus. Durch ein R/W-Signal auf einer Leitung
46 wird der RAM 14' in einen Lese- oder Schreibmodus versetzt.
-
Der Komparator 16' wird von einem ENABLE-Signal auf einer
Leitung 48, die von einem ODER-Gatter 50 abzweigt, freigegeben. Die
Eingangssignale zu dem ODER-Gatter 50 hin sind ein
Vergleichssignal (COMP) auf Leitung 52 und ein Freigabe-Vergleich-Signal
(ENCOMP) auf einer Leitung 54. Somit wird der Komparator 16'
unter Verwendung von negativer Logik lediglich dann freigegeben,
wenn sowohl COMP als auch ENCOMP aktiviert sind.
-
Wenn der Komparator 16' freigegeben ist, vergleicht er den PR-
Wert auf einem bidirektionalen PR-/Daten-Bus 55 mit dem TR-Wert
auf dem bidirektionalen RAM-Datenbus 44. Das Ergebnis des
Vergleichs kann auf den Resultantenleitungen 56, 58 und 60
ausgegeben werden, die kleiner als, gleich und größer als entsprechen.
Selbstverständlich können, falls erwünscht, mehr oder weniger
Resultantenausgänge erzeugt werden.
-
Der Bidirektionalbus-Treiber 40 wird von einem Logikpegel LO auf
der Leitung 52 für das COMP-Signal gesperrt. Durch das
R/W-Signal auf Leitung 46 wird der Bidirektionalbus-Treiber 40 in den
Sende- oder Empfangsmodus (T/R) versetzt und er wird
freigegeben, wenn das Eingangssignal COMP ein logischer HI-Pegel ist.
-
Somit kann auf den RAM über den externen Datenbus lediglich
während eines Speicherlese- oder -schreibzyklus, aber nicht
während eines Vergleichszyklus zugegriffen (ausgelesen oder
eingeschrieben) werden. Ein Inverter 59 und ein ODER-Gatter 61
gewährleisten, daß der RAM 14' erzwungenermaßen in den Lesemodus
gebracht wird, wenn die COMP-Leitung 52 LO ist, wie für den
korrekten Betrieb des C-RAM 38 erforderlich. Im Sendemodus wird
die Richtung des Datenstroms durch die Pfeilspitze 62 angegeben,
und im Empfangsmodus verläuft die Richtung des Datenstroms in
die durch die Pfeil spitze 64 angegebene Richtung. Wenn der
Bustreiber nicht freigegeben ist (d. h. während eines
Vergleichszyklus), sind seine Ausgänge im Dreifachzustand.
-
Die Funktionswähllogik 42 wird von einem Funktionssteuerwort F
auf einem Funktionssteuerbus 66 gesteuert. Wenn der
Funktionssteuerbus 66 drei Leitungen aufweist, können acht mögliche
Vergleiche gewählt werden. Bei dem Komparator 16' sind jedoch nur
fünf Vergleiche möglich, darunter kleiner als, kleiner oder
gleich, gleich, größer als und größer oder gleich. Zum
Implementieren anderer Vergleiche, wie beispielsweise "zwischen den
Grenzen von" wären zusätzlich ein Komparator, eine
Halteeinrichtung und eine kombinatorische Logik erforderlich. Wenn die
kombinierten Signale auf den Resultantenleitungen 56-60 den von F
gewählten Anforderungen entsprechen, wird von der
Funktionswähllogik 42 auf einer Leitung 68 ein Übereinstimmungsflaggensignal
MATCH erzeugt.
-
Zum direkten Zugriff auf den RAM 14' wird das Eingangssignal
COMP in einen HI-Zustand versetzt, um den Bustreiber 40
freizugeben und den Komparator 16' zu sperren. Wenn auf der R/W-
Leitung 46 ein HI-Signal angeordnet ist, wird an dem RAM 14' der
Lesemodus und an dem Bidirektionalbus-Treiber der Sendemodus
gewählt. Wenn sich alternativ ein LO-Signal auf der R/W-Leitung
46 befindet, wird für den RAM 14' der Schreibmodus und für den
Bustreiber 40 die Empfangsrichtung gewählt.
-
In Fig. 4 ist das horizontale Kaskadieren einer Reihe von C-RAMs
38 dargestellt. Zunächst wird der Komparandenbus 18 in das
Komparanden-CAM-Feld
PC und das Komparanden-RAM-Feld PR aufgeteilt
und dann wird das Komparanden-RAM-Feld PR in ein erstes
Komparanden-RAM-Unterfeld PR&sub0; und ein zweites
Komparanden-RAM-Unterfeld PR&sub1; aufgeteilt. Das Komparanden-CAM-Feld wird an einen CAM
12" angelegt, der im wesentlichen genauso funktioniert wie die
zuvor beschriebenen CAM-Abschnitte 12 und 12'.
-
Der CAM 12" reagiert auf den Funktionssteuerbus 66 und die R/W-
Leitung 46. Wenn von dem Funktionssteuerbus 66 eine
Vergleichsfunktion gewählt wird und zwischen PC und dem gewählten Inhalt
ein gültiger Vergleich gefunden wird, erzeugt CAM 12" ein
Zeigergültigkeitssignal (VALPTR) auf einer Leitung 54a und einen
Zeiger PTR auf dem Zeiger-/Adreßbus 26.
-
Der C-RAM 38a wird von dem Zeiger-/Adreßbus 26 adressiert und
seine Funktion von dem Funktionssteuerbus 66 gewählt. Der C-RAM
38a reagiert ferner auf die R/W-Leitung 46 und die COMP-Leitung
52. Der C-RAM 38a wird zum Vergleich von dem VALPTR-Signal auf
Leitung 54a freigegeben und führt den Vergleich auf dem
Komparanden-RAM-Unterfeld PR&sub0; durch. Wenn sich in dem C-RAM 38a ein
positiver Vergleich ergibt, wird auf einer Leitung 54b ein
MATCH-Signal erzeugt, das den ENCOMP-Eingang des C-RAM 38b
freigibt. Der C-RAM 38b wird in ähnlicher Weise von dem
Zeiger/Adreßbus 66 adressiert und funktionsmäßig vno dem
Funktionssteuerbus 66, der R/W-Leitung 46 und der COMP-Leitung 52
gesteuert. Auf einer Leitung 54c wird ein MATCH-Signal erzeugt, wenn
sich ein positiver Vergleich zwischen dem
Komparanden-RAM-Unterfeld PR&sub1; und dem Inhalt des von dem Zeiger-/Adreßbus 26
adressierten C-RAM 38b ergibt. Auf diese Weise kann praktisch eine
beliebige Anzahl von C-RAMs 38 horizontal kaskadiert werden.