-
Technisches
Gebiet
-
Die vorliegende Erfindung bezieht
sich auf einen inhaltsadressierbaren oder Assoziativspeicher (CAM) und
insbesondere auf einen Wortscheiben-CAM.
-
Hintergrundinformation
-
Assoziativspeicher (CAM) sind Speicher,
bei denen Daten auf der Grundlage ihres Inhaltes und nicht auf der
Grundlage ihrer physikalischen Position ausgewählt werden. Diese Funktion
ist für
viele Anwendungen nützlich,
insbesondere dann, wenn ein Nachschlagevorgang für die Zwecke der Abbildung
von einem langen Identifikationswort zu einem kürzeren Wort ausgeführt wird.
Diese Operation ist in vielen Telekommunikationsfunktionen unter
Einschluss der Adressenumsetzung bei der asynchronen Übertragungsbetriebsart
(ATM) erforderlich.
-
Das US-Patent 5 289 403, das auf
J. D. Yetter erteilt wurde, offenbart eine Technik zur Bereitstellung einer
Eigen-Zeitsteuerung für
einen CAM, wobei Modellspalten und Modellreihen verwendet werden.
Das Bit am Schnittpunkt der Modellspalte und der Modellreihe schlägt immer
fehl, während
alle anderen Zellen in dieser Reihe immer eine Übereinstimmung aufweisen, und
dies erzeugt den langsamst möglichen
Zustand einer fehlenden Übereinstimmung
auf der Modell-Übereinstimmungs-Leitung.
Dieses Signal wird dann zur Erzeugung eines Taktes zur Zeitsteuerung
der nachfolgenden Ereignisse und zur Qualifikation aller anderen Übereinstimmungs-leitungen
verwendet. Wortscheiben-Architekturen, die Steuersignalerzeugung
und Einschaltprobleme werden nicht behandelt.
-
Eine Veröffentlichung von A. L. Silburt
et al. mit dem Titel „A
180-MHz 0,8 μm
BiCMOS Modular Memory Family of DRAM and Multiport SRAM", IEEE J. Solid-State Circuits, Band
28, Nr. 3, Seiten 222–232,
März 1993,
beschreibt modulare eingebettete Speicherkonstruktionen, die Modell-Eigenzeitsteuerungs-Pfade
verwenden, um eine niedrige Leistung und eine Tastgrad-Unabhängigkeit
zu erzielen. Diese Modell-Pfade umfassen Modell-Decodierer, Modellreihen
und Modellspalten. CAM's
werden in dieser Veröffentlichung
nicht behandelt.
-
Das US-Patent 5 596 539 auf den Namen
von R. H. Passow et al. offenbart einen Mechanismus ähnlich wie
dem von A. L. Silburt et al., wobei eine Modellreihe und eine Modellspalte
verwendet wird. Der Modell-Leseverstärker ist unsymmetrisch, um
einen zusätzlichen
Zeitsteuer-Grenzbereich zu schaffen. Erneut werden CAM's nicht behandelt.
-
Eine Veröffentlichung von S. Kornachuk
et al. mit dem Titel „A
High Speed Embedded Cache Design with Non-Intrusive BIST", Records IEEE International
Workshop on Memory Technology, Design und Testing, Seiten 40–45, August
1994, beschreibt einen eigen-zeitgesteuerten Pfad für einen
kombinierten CAM/RAM-Cache-Speicher
mit einem Modellwort, das immer in der langsamst möglichen
Weise eine fehlende Übereinstimmung
aufweist. Wortscheiben-Architekturen, die Steuersignalerzeugung
und Einschaltfragen werden nicht behandelt.
-
Die
US
5 072 422 offenbart ein Speichersystem, bei dem Datensätze über mehrfache
Wortzellen hinweg gespeichert werden, die für einen unabhängigen Parallelbetrieb
verbunden sind.
-
Zusammenfassung
der Erfindung
-
Gemäß der Erfindung wird ein Assoziativspeicher
(CAM) geschaffen, bei dem alle Bits eines vorgegebenen Wortes in
physikalisch benachbarten Spalten einer Wortscheiben-Struktur angeordnet
sind und alle einem vorgegebenen Bit zugeordneten Spalten über die
gesamte Breite des Speichers verteilt sind, wobei die Gruppe von
benachbarten Spalten einem Wort zugeordnet ist und mehrfache Worte
mehrfache Reihen hiervon belegen, wobei der CAM einen globalen Datenbus (211)
zum Übertragen
von Daten zwischen den Wortscheiben (215, 410)
und Daten-Eingangs-/Ausgangs-Schaltungen (213) und eine
globale Modell-Datenleitung
(442) zur Übertragung
eines globalen Modell-Datensignals umfasst, das Übergänge aufweist, die Übergängen der von
dem globalen Datenbus übertragenen
Daten entsprechen, um auf diese Weise die Verzögerung des globalen Datenbusses
zu modellieren.
-
Bei dieser Struktur weisen die Spalten
eine Wortscheiben-Struktur auf, und die Wortübereinstimmungslogik kann lokalisiert
werden. Die Zeitsteuerinformation wird in dem globalen Datenbus
in Form eines globalen Modell-Datensignals übertragen. Die Erfindung ergibt
einen verbesserten Assoziativspeicher.
-
Kurze Beschreibung
der Zeichnungen
-
Eine Ausführungsform der Erfindung wird
nunmehr in Form eines Beispiels unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben, in denen:
-
1 einen
bekannten CAM zeigt,
-
2 einen
CAM gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt,
-
3A und 3B Wortübereinstimmungs-Logikfunktionsschaltungen
zeigen, die in dem CAM verwendet werden,
-
4 einen
Lese-Modellpfad zeigt,
-
5 einen
Schreib-Modellpfad zeigt,
-
6 einen
Such-Modellpfad zeigt, und
-
7 einen
Abtastpfad in der Daten-Eingangs-/Ausgangs-Schaltung des CAM zeigt.
-
Ausführliche
Beschreibung
-
1. Stand der
Technik
-
In 1 ist
ein bekannter CAM gezeigt, bei dem Zellen 110, die zu einem
vorgegebenen Wort gehören,
mit der Übereinstimmungsleitung 112 dieses
Wortes in einer logischen NOR-Weise verbunden sind. Ein Paar von
Bitleitungen 114 für
Differenzdaten ist mit Referenz- oder Bezugs-Wortspeicher- und Bitleitungstreibern 116 verbunden,
die Eingangsdaten D zum Laden der Inhalte des CAM und für das Such-Bezugswort
empfangen. In den Kernzellen 110 der Anordnung gespeicherte
Daten werden dadurch durchsucht, dass ein Bezugswort an die Bitleitungen 114 angelegt
wird. Wenn Differenzdaten an ein Paar von Bitleitungen 114 in
einem Suchbetrieb angelegt werden, vergleicht die Kernzelle 110 ihr
gespeichertes Datenbit mit den Differenzdaten (die auch als Bezugsdaten
oder ein einziges Bit des Komparanden bekannt sind). Wenn die gespeicherten
Daten nicht gleich den Bezugsdaten sind, so zieht die Kernzelle 110 die Übereinstimmungsleitung 112 (die
auf einen logischen hohen Zustand vorgeladen ist) auf einen niedrigen
Zustand herunter. Wenn die gespeicherten Daten gleich den Bezugsdaten
sind, so hat die Zelle 110 keine Wirkung auf die Übereinstimmungsleitung 112, mit
der sie verbunden ist. Weil alle b Kernzellen 110 in einem
vorgegebenen Wort mit der Übereinstimmungsleitung 112 in
der gleichen Weise verbunden sind, wird die Übereinstimmungsleitung 112 auf
einen niedrigen Zustand gezogen, wenn irgendein Bit in seinem Wort
ungleich dem entsprechenden Bezugsbit ist (oder eine fehlende Übereinstimmung
mit diesem aufweist). Die Übereinstimmungsleitung 112 bleibt
nur dann auf einem hohen logischen Zustand, wenn alle Bits in ihrem
Wort gleich den Bezugsdaten sind.
-
Der CAM schließt einen Codieren 118 ein,
der drei Ausgänge
erzeugt, die das Ergebnis der Suchoperation darstellen. Ein Treffersignal „hit" wird auf einen hohen
logischen Zustand gebracht, wenn eines der w Worte Daten speichert,
die eine Übereinstimmung
mit den Bezugsdaten haben. Die binäre Adresse dieses die Übereinstimmung
aufweisenden Wortes wird codiert und es wird ein Adressensignal „sa" geliefert. Wenn
eine Anzahl von Worten eine Übereinstimmung
mit den Bezugsdaten aufwiesen, so wird ein Mehrfach-Übereinstimmungssignal „mult" auf einen hohen
logischen Zustand gebracht.
-
II. Ausführungsform
-
Es ist beabsichtigt, Schaltungen
zu entwickeln, die eine Eigen-Zeitsteuerung eines Wortscheiben-CAM
ermöglichen.
Ein derartiger CAM benötigt
einen globalen Datenbus zur Schnittstellenverbindung zwischen der
Vielzahl von Wortscheiben und Eingangs-/Ausgangs-Schaltungen des
Speichers. Diese Eigen-Zeitsteuerungs-Schaltung sollte:
- – ein globales
Modell-Datenbus-Signal verwenden, das bekannte Übergangszeiten und Richtungen
unabhängig
von dem Datenmuster aufweist, das an den Speicher angelegt wird,
wobei Last- und Verzögerungs-Betriebseigenschaften
der Modellleitung eng an die der tatsächlichen globalen Datenbusleitung
angenähert
sind;
- – robust
in dem Sinne sein, dass keine zufälligen Einschaltbedingungen
den Speicher in einen eine Erholung unmöglich machenden Zustand bringen;
und
- – in
der Lage sein, eine Eigen-Zeitsteuerung von LESE, SCHREIB- und SUCH-Operationen
mit einer minimalen Anzahl von Signalen durchzuführen, die:
- – Einschalt-Zwangsbedingungen
unterworfen sind und
- – mit
der globalen Modell-Datenbus-Leitung in Wechselwirkung treten.
-
Eigen-Zeitsteuerung
-
Die Eigen-Zeitsteuerung ist allgemein
ein Mechanismus, mit dem ein Speicher intern seine eigenen Zeitsteuersignale
ausschließlich
auf der Grundlage der Anstiegsflanke eines zugeführten Systemtaktes erzeugt.
Interne Ereignisse können
dann zu dem optimalen Zeitpunkt eingeleitet werden, um die Verzögerung oder
Leistung zu einem Minimum zu machen oder um eine Bus-Konkurrenz
zu vermeiden, ohne dass man sich auf externe Taktflanken verlassen
muss. Die Abfallflanke des Systemtaktes spielt üblicherweise keine Rolle bei der
Zeitsteuerung eines eigen-zeitgesteuerten Speichers, und die Betriebsweise
des Speichers wird daher als Tastgrad-unabhängig bezeichnet. Speziell wird
die Beendigung des aktiven Teils des Speicherzyklus nicht durch
die Abfallflanke des Systemtaktes eingeleitet. Weil intern erzeugte
Zeitsteuersignale zur Steuerung dieser Beendigung verwendet werden,
kann sie so zeitgesteuert werden, dass eine ausreichende Zeit für den Abschluss
der Speicheroperation abgelaufen ist, jedoch ohne einen unnötig vergeudeten
Sicherheitsbereich, der anderenfalls zu einer größeren Verlustleistung führt. In
Fällen,
in denen die tatsächlichen
Pfadverzögerungen aufgrund
des Betriebs des Speichers in den internen Eigen-Zeitsteuerungspfad
modelliert sind, können
Sicherheitsbereiche zu einem Minimum gemacht werden, und der Eigen-Zeitsteuerungsmechanismus
ist dann zusammen mit der Speicherkonfiguration skalierbar.
-
Wort-Scheiben-Architektur
-
Die meisten Speicher, insbesondere
Speicher mit wahlfreiem Zugriff (RAM's) haben eine Bit-Scheiben-Architektur,
was bedeutet, dass alle Speicherzellen, die einem vorgegebenen Bit
des Datenwortes zugeordnet sind, sich in aneinander grenzenden benachbarten
Spalten befinden und ein Wort über
die gesamte Breite eines Speichers verteilt ist. Eine alternative
Architektur, die bei dem CAM gemäß einer
Ausführungsform der
Erfindung verwendet wird, ist eine Architektur, bei der alle Bits
eines vorgegebenen gespeicherten Wortes in aneinander angrenzenden
benachbarten Spalten angeordnet sind und die einem vorgegebenen
Bit des Datenwortes zugeordneten Spalten über die gesamte Breite des
Speichers verteilt sind. Diese letztere Architektur wird als eine
Wort-Scheiben-Architektur bezeichnet. Die Wort-Scheiben-Architektur,
die in 2 gezeigt ist, lokalisiert
die Wortübereinstimmungs-Operation,
erfordert jedoch, dass die b Bits des Komparanden in irgendeiner
Weise der Vielzahl von Wort-Scheiben zugeführt werden, wobei diese Zuführung mit
einem globalen Datenbus durchgeführt
wird.
-
Zusätzlich zu den SUCH-Fähigkeiten
muss der CAM auch LESE- und SCHREIB-Operationen unterstützen. Diese verwenden alle
den globalen Datenbus 211. Für SUCH- und SCHREIB-Operationen
ist die Richtung der Datenausbreitung von den Eingangs-/Ausgangs-(I/O-)
Schaltungen zu einer Vielzahl von Wortscheiben 215. Für LESE-Operationen
ist die Richtung der Datenausbreitung von den Wortscheiben zu den
Daten-Eingangs-/Ausgangs-Schaltungen 213.
-
Weil alle Operationen den globalen
Datenbus verwenden, ist es vorteilhaft, eine Zeitsteuerinformation in
diesen Bus einzubetten. Dies ist nützlich, weil:
- – der
globale Datenbus physikalisch die Komponenten verbindet, die eine
Zeitsteuerinformation benötigen, und
- – irgendein
Zeitsteuersignal, das zusammen mit dem Bus weitergeleitet wird,
die gleiche Last erhalten kann, was zu einer engen Anpassung der
Verzögerung
an tatsächliche
Datenübergänge führt.
-
Entsprechend wird eine globale Modell-Datenleitung
(auf der ein globales Modell-Datensignal
dgm geliefert wird) bereitgestellt, die physikalisch zusammen mit
dem globalen Datenbus gelenkt wird und Zeitsteuerinformation als
Teil des Eigen-Zeitsteuermechanismus
des Speichers überträgt. Die
globale Modell-Datenleitung hat bekannte Übergangsrichtungen, die von
zugeführten
Datenmustern unabhängig
sind, und sie wird physikalisch mit tatsächlichen und Modell-Lasten
gelenkt und verbunden, derart, dass ihre Verzögerungs- und Übergangszeiten
eng an die der tatsächlichen
globalen Datenbussignale angenähert
sind.
-
In dem CAM erfordert eine Wortübereinstimmung,
dass alle Bits in einem gespeicherten Wort eine exakte Übereinstimmung
(unter Vernachlässigung
von „bedeutungslos" Masken) mit allen
Bits in einem Komparanden aufweisen. Dies erfordert eine wortbasierte
Logik-Operation, wie dies in den 3A und 3B gezeigt ist, und diese
wird sehr einfach in einer Wort-Scheiben-Architektur realisiert.
Die Übereinstimmungs-Logikfunktionsschaltung
nach 3A schließt eine
Vielzahl von Exklusiv-ODER- (XOR-) Gattern 311 und ein
NOR-Gatter 313 ein. Die Übereinstimmungs-Logikfunktionsschaltung
nach 3B schließt eine
Vielzahl von Exklusiv-NOR- (XNOR-) Gattern 321 und ein
UND-Gatter 323 ein.
-
In dem CAM werden alle Operationen
durch eine ansteigende Taktflanke eingeleitet. Danach leitet die Eigen-Zeitsteuerungs-Schaltung
vielfältige
Aktivitäten
auf der Grundlage eines Aufwärts-Überganges
an dem globalen Modell-Datensignal dgm ein, das sehr eng der Anstiegsflanke
des Systemtaktes folgt und mit Datenübergängen auf dem globalen Datenbus
zusammenfällt,
derart, dass:
- – während einer SUCH- oder SCHREIB-Operation,
wenn ein Aufwärts-Übergang an dem globalen Modell-Datensignal
dgm an den Wortscheiben abgeschlossen ist, garantiert ist, dass
Daten auf dem globalen Datenbus gültig sind;
- – während einer
LESE-Operation der Aufwärts-Übergang
an dem globalen Modell-Datensignal dgm keine reale Aktivität auf dem
globalen Datenbus modelliert, sondern dass der abwärts gerichtete Übergang
mit dem Schreiben von Daten von den Wortscheiben heraus auf die
Daten-Eingangs-/Ausgangs-Schaltung nach
der Feststellung der LESE-Ergebnisdaten zusammenfällt.
-
Um die Eigen-Zeitsteuerfunktion auszuführen, steht
das globale Modell-Datensignal dgm hauptsächlich mit zwei anderen Signalen
in Wechselwirkung, die wir als die Haupt-Steuersignale „cd" und „ca" bezeichnen. Der
kombinierte Zustand dieser Steuersignale bestimmt in eindeutiger
Weise die ausgewählte
Operation des Speichers über
die Komponenten, die sie freigeben:
- – cd: bewirkt
eine Zwischenspeicherung von Komparanden- oder Schreibdaten, die
extern dem Speicher zugeführt
werden, und aktiviert Tri- State-Treiber
auf dem globalen Datenbus in den Dateneingangs/Ausgangs-Schaltungen;
diese Funktionen werden während
der SUCH- und SCHREIB-Operationen
aktiviert.
- – ca:
aktiviert Adressendecodierer während
der SCHREIB- und LESE-Operationen,
die:
- – eine
Auswahl aus den Reihen des Speichers auf der Grundlage der x-Decodierbits
treffen, und
- – eine
Auswahl aus den Wortscheiben des Speichers auf der Grundlage z-Decodierbits
treffen.
-
Die zwei Signale cd und ca stellen
die minimale Anzahl dar, die erforderlich ist, um in eindeutiger
Weise die ausgewählte
Operation zu identifizieren. Alle anderen „Neben"-Steuersignale werden kombinatorisch
aus cd und ca erzeugt.
-
In einer Ausführungsform, die den Schutzumfang
dieser Erfindung nicht beschränkt,
umfassen die Neben-Steuersignale folgendes:
- – cs: aktiviert
die Ansteuerung gültiger
Komparandendaten in Aufwärtsrichtung
von dem globalen Datenbus an der Unterseite der Wortscheiben an
die Speicherkernzellen und aktiviert danach indirekt nachfolgende Ereignisse
in der SUCH-Operation; cs ist logisch die UND-Verknüpfung von cd und dem invertierten
Status von ca.
- – cw:
aktiviert die Ansteuerung gültiger
Schreibdaten nach oben von dem globalen Datenbus an der Unterseite
der Wortscheiben zu den Speicherkernzellen während einer SCHREIB-Operation;
cw ist logisch die UND-Verknüpfung
von cd und ca.
-
Bei einer bevorzugten Ausführungsform
kann der Zustand von cd und ca logisch von drei unabhängigen und
einander ausschließenden
Betriebsart-Auswahlsignalen abgeleitet werden, die extern von dem „Benutzer" oder dem steuernden
Prozessor angelegt werden; diese Signale sind ss, ws und rs und
wirken wie folgt:
-
-
Wenn eine Operation durch eines der
vorstehenden Signale ausgewählt
wird, folgen die Anstiegsflanken von einem oder beiden der Signale
cd und ca eng der Anstiegsflanke des Systemtaktes; die Anstiegsflanken
von cd und ca führen
zu der Anstiegsflanke des globalen Modell-Datensignals dgm. Am Ende
des aktiven Teils des Zyklus führt
die Abfallflanke des globalen Modell-Datensignals dgm zu den Abfallflanken
von cd und ca, was zu einer eigen-zeitgesteuerten Schleife führt. Um
eine Darstellung des Zustandes des Speichers beizubehalten, werden
die Signale cd und ca zwischengespeichert.
-
Unmittelbar nach dem anfänglichen
Einschalten der Betriebsleistung des Speichers („Einschalten") befinden sich alle
Signalspeicher in einem unbekannten Zustand. Es ist lebenswichtig,
dass die Steuersignale steuernden Zwischenspeicher derart eingeschaltet
werden, dass sich der Speicher in einem Zustand befindet, von dem
aus er leicht einen Übergang
auf einen bekannten Zustand ausführen
kann. Wenn die Anzahl von möglichen
Zuständen,
die durch die Steuersignal-Zwischenspeicher dargestellt sind, die
gleich 2L ist, worin L die Anzahl der Zwischenspeicher
ist, größer als
die Anzahl von gültigen
Zuständen
ist, so ist es möglich,
dass der Speicher in einem ungültigen
Zustand hochgefahren wird. Es kann unmöglich sein, einen Übergang
des Speichers aus diesem Zustand heraus auszuführen, oder ein derartiger Übergang
kann lediglich mit Hilfe komplizierter Einschalt-Detektionsschaltungen
bewirkt werden, die einen Zusatzaufwand sowohl hinsichtlich der Fläche als
auch der Kompliziertheit der Konstruktion darstellen würden. Bei
der vorliegenden Erfindung ist 2L = 4, und
es gibt vier mögliche
Speicherzustände,
unter Einschluss von „nichts", wie dies in der
vorstehenden Tabelle gezeigt ist.
-
Das globale Modell-Datensignal dgm
muss ebenfalls zwischengespeichert werden. Sein Zustand bestimmt
lediglich, ob eine Operation aktiv oder abgeschlossen ist. Wenn
das globale Modell-Datensignal dgm sich beim Einschalten in einem
niedrigen Logikzustand befindet, so erscheint der Speicher, als
ob er eine Operation abgeschlossen hat, und er bleibt bis zum Anlegen
der nächsten
ansteigenden Taktflanke inaktiv, unabhängig von dem Einschaltzustand
von cd und ca. Tatsächlich
werden im niedrigen Logikzustand des globalen Modell-Datensignals
dgm cd und ca zurückgesetzt.
-
Wenn das globale Modell-Datensignal
dgm in einem hohen Logikzustand beim Einschalten auftritt, so arbeitet
der Speicher so weiter, als ob eine Operation ablaufen würde. Die
Art der Operation wird durch den Einschaltzustand von cd und ca
ausgewählt.
Die vier Möglichkeiten
und ihr Ergebnis sind wie folgt:
-
-
Die vorstehende Tabelle zeigt die
Einfachheit, mit der man einen Übergang
des Speichers auf einen bekannten Zustand hervorrufen kann, von
dem aus gültige
Operationen eingeleitet werden können.
Dies wird durch die Auswahl von zwischengespeicherten Steuersignalen
erleichtert, die eine ausreichend große Anzahl aufweisen, um in
eindeutiger Weise alle gültigen
Zustände
des Speichers zu identifizieren, deren Anzahl jedoch ausreichend
klein ist, damit sie nicht in der Lage sind, ungültige Speicherzustände darzustellen.
-
Es wurde vorstehend angegeben, dass
die Abfallflanke des globalen Modell-Datensignals dgm am Abschluss des aktiven
Teils des Zyklus zu den Abfallflanken eines oder beider Signale
cd und ca führt
(die sich alle in einem hohen Zustand befinden), wodurch eine eigen-zeitgesteuerte
Schleife verwirklicht wird.
-
Um dies zu erreichen, sind drei unterschiedliche
Modellpfade in dem CAM vorgesehen, einer pro Operation. Der Zweck
jedes dieser Pfade besteht darin, eine Abfallflanke des globalen
Modell-Datensignals dgm hervorzurufen, nachdem eine ausreichende
Zeit abgelaufen ist, damit der aktive Teil der Operation abgeschlossen
ist. Diese abfallende Flanke setzt nachfolgend die cd- und ca-Zwischenspeicher
zurück,
wobei dieses Rücksetzen
weiterhin bewirkt, dass irgendwelche vorher angelegten Neben-Steuersignale
abgeschaltet werden.
-
Diese Modellpfade sind wie folgt:
-
(a) LESEN
-
4 zeigt
einen Lese-Modellpfad. Gemäß 4 schließt die Wort-Scheiben-Architektur eine
Vielzahl von Wortscheiben 410 ein, die jeweils identische
Schaltungen haben. Jede Wortscheibe 410 schließt eine Anordnung 411 von
Kernzellen 413 und eine Leseschaltung 415 ein.
Die Zellen 413 einer Spalte sind mit einem Paar von Bitleitungen 421 verbunden.
Die Leseschaltung 415 schließt einen Leseverstärker 431,
ein ODER-Verknüpfungsglied 433 und
einen FET 435 ein. Eine Steuerung 440, die mit
einer globalen Modell-Datenleitung 442 verbunden ist, liefert
ein Freigabe- oder Aktivierungssignal ca an einen Reihendecodierer 444 und
einen Wortscheiben-Decodierer 446. Die Zellen 413 einer
Reihe sind mit einer jeweiligen Wortleitung wl verbunden, die mit
dem Reihendecodierer 444 verbunden ist. Der Wortscheiben-Decodieren 446 liefert
Lese-Steuersignale an die Leseverstärker 431 der Leseschaltungen 415.
Die Draln-Elektrode des FET 435 jeder Leseschaltung 415 ist
mit der globalen Modell-Datenleitung 442 verbunden.
-
Die in 4 gezeigte
LESE-Schleife verwendet einen reellen Pfad von der Leitung (an die
das Freigabesignal ca geliefert wird) an die ausgewählte Wortleitung
wl zu dem Paar von Bitleitungen 421 an den aktivierten
Leseverstärker 431 in
der ausgewählten
Wortscheibe 410. Der Leseverstärker 431 bildet einen
Teil der tatsächlichen
LESE-Operation, doch werden zusätzlich
seine Ausgänge
(beide Polaritäten)
logisch in dem ODER-Gatter 433 einer ODER-Verknüpfung unterworfen,
wobei das Ergebnis dazu verwendet wird, das Herunterziehen der globalen
Modell-Datenleitung 442 durch den FET 435 auf
einen niedrigen Pegel torzusteuern, derart, dass die Abfallflanke
an dem globalen Modell-Datensignal dgm unabhängig von der Datenpolarität auftritt,
die von dem Leseverstärker 431 festgestellt
wird.
-
Durch Verwenden eines Pfades durch
die tatsächlich
ausgewählte
Wortscheibe modelliert der Modellpfad eng die Verzögerung der
tatsächlichen
LESE-Daten an der globalen Modell-Datenleitung 442.
-
(b) SCHREIBEN
-
5 zeigt
einen Schreib-Modellpfad. Weil es schwierig ist, Zeitsteuerinformationen
von den tatsächlichen
Speicherzellen abzuleiten, in die in dem CAM geschrieben wird, verwendet
der in 5 gezeigte SCHREIB-Pfad
stattdessen ein Modell wl, das eine Schleife um den Speicher herum
bildet, wo sie schließlich die
globale Modell-Datenleitung 442 über einen Puffer 451 und
einen FET 453 auf einen niedrigen logischen Zustand herunterzieht.
Die Last an dem Modell wl reicht aus, damit die Abfallflanke des
globalen Modell-Datensignals dgm sicher den Abschluss des aktiven
Teils der SCHREIB-Operation folgt.
-
(c) SUCHE
-
6 zeigt
einen Such-Modellpfad. Der in 6 gezeigte
SUCH-Pfad verwendet folgendes:
- – ein Modellwort 460,
das fest verdrahtet ist und immer eine Übereinstimmung oder immer eine
fehlende Übereinstimmung
ergibt, in jedem Fall in der langsamst möglichen Weise,
- – einen
Suchpfad durch einen SUCH-Ergebniscodierer 462 von diesem
Modellwort zu einer die globale Modell-Datenleitung auf einen niedrigen
Pegel herunterziehenden Einrichtung 464, wobei der Pfad
eine Verzögerung
hat, die die des tatsächlichen
Datenpfades durch den Codierer 462 modelliert.
-
Die Konstruktion dieses Modellpfades
muss derart sein, dass er das langsamst mögliche SUCH-Ergebnis modelliert,
das unter anderen Faktoren von der Wahl der Übereinstimmungs-Logik-Realisierung
aus den in den 3A und 3B gezeigten Alternativen
abhängt.
-
Während
die SCHREIB- und SUCH-Pfade aktiviert sind, was zum Herunterziehen
der globalen Modell-Datenleitung auf einen niedrigen Pegel führt, unabhängig von
Adressen oder Daten, erfordert es die LESE-Pfadfunktionalität, dass
eine gültige
x-Adresse und eine
gültige
z-Adresse ausgewählt
wird, um ein wl-Signal auf einen hohen Pegel zu ziehen und um einen
Leseverstärker
zu aktivieren. Wenn dies aufgrund von nicht gefüllten (oder nicht-binären) Adressenräumen nicht
garantiert werden kann, kann eine Technik ähnlich wie bei dem SCHREIB-Pfad
verwendet werden, auf Kosten einer weniger präzisen Verzögerungs-Modellierung.
-
Es kann aus Charakterisierungsgründen oder
zur Korrektur einer zu geringe Sicherheitsgrenzen aufweisenden Auslegung
wünschenswert
sein, den aktiven Teil des Zyklus über den hinaus zu verlängern, der sich
aus dem eine Eigen-Zeitsteuerung
aufweisenden Pfaden ergibt. Speziell kann es erwünscht sein, die Abfallflanke
des globalen Modell-Datensignals dgm mit der Abfallflanke des Systemtaktes
zu steuern. Dies wird dadurch erreicht, dass:
- – ein zusätzliches
Eingangssignal „stov" bereitgestellt wird,
um diese Betriebsart auszuwählen,
- – wenn
stov einen hohen logischen Zustand aufweist, die globale Modell-Datenleitung durch
eine logische Kombination von stov = 1 und der Abfallflanke des
Systemtaktes auf einen niedrigen Zustand gezogen wird, und
- – das
Herunterziehen der globalen Modell-Datenleitung auf einen niedrigen
Zustand in dem vorstehenden (oder anderen realisierten) LESE-, SCHREIB-
und SUCH-Eigen-Zeitsteuerungspfaden von stov = 0 abhängig gemacht
wird.
-
Zusätzlich zu den Haupt-Betriebsart-Steuereingängen ss,
ws, rs kann ein Testbetriebsart- („tm") Eingang vorgesehen werden, um den
CAM in einen Zustand zu zwingen, der für einen Abtasttest geeignet
ist. Wenn der CAM derart ausgelegt ist, dass SCHREIB-Daten D während einer
SCHREIB-Operation zu einem LESE-Ausgang
Q hindurch weitergeleitet werden (dies wird als „Durchschreiben" bezeichnet), so
kann eine Abtastkette realisiert werden, die Multiplexer in den
Daten-Eingangs-/Ausgangs- (I/O-) Schaltungen einschließt, wie
dies in 7 gezeigt ist,
wobei durch Anlegen von tm der CAM in einen LESE-Zustand gezwungen
wird (tm = 1 führt
zu ca = cd = 1). In 7 schließt jede
I/O-Schaltung für
jedes Bit einen Multiplexer 711 und einen Zwischenspeicher 713 ein.
Der Zwischenspeicher 713 kann in der Praxis ein Zwischenspeicher
sein, der bereits auf dem globalen Datenbus oder anders vorhanden
ist. Ein Steuersignal tm wird jedem Multiplexer 711 zugeführt (Bit
i) der ein „serielles
Daten"-Signalbit
von einer I/O- Schaltung
eines niedrigeren Bits (Bit-1) und ein entsprechendes Eingangsdatenbit
empfängt.
Ein multiplexiertes Ausgangsbit (Bit i) wird in dem Zwischenspeicher 713,
der ein serielles Datensignalbit an den Multiplexer des oberen Bits
(Bit i + 1) liefert.
-
Es ist verständlich, dass einfache Änderungen,
unter Einschluss von, jedoch nicht beschränkt auf:
- – die Übergangsrichtungen
des globalen Modell-Datensignals dgm,
- – der
Anzahl und Funktion der Eingangs-Betriebsart-Steuersignale, und
- – der
Position des SUCH-Ergebniscodierers, der Steuerschaltungen und Decodieren
von
einer Person mit geeigneten Kenntnissen im Stand der Technik vorgenommen
werden kann, ohne von dem Schutzumfang dieser Erfindung abzuweichen.