-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft einen inhaltsadressierbaren Speicher
(Content Addressable Memory, CAM) oder Assoziativspeicher.
-
Ein
Assoziativspeicher (CAM) ist ein Speicher, der eine Vielzahl von
CAM-Schaltkreisen umfasst, die jeweils eine Speicherschaltkreis
und einen Vergleichsschaltkreis umfassen. Der Zugriff auf den CAM
erfolgt nicht mittels der Adresse oder des Speicherorts von Daten,
sondern mittels des Dateninhalts. Ein Überblick über das Gebiet der CAM-Zellen ist
zu finden in K.J. Schultz, „Content-addressable memory
core cells, A survey",
Integration, The VLSI Journal, 23(2), S. 171 bis 188. In der US-Patentschrift US-A-6,044,005
werden binäre
und ternäre CAM-Zellen beschrieben,
welche den Aufbau von hochleistungsfähigen CAM-Anordnungen mit großer Speicherkapazität erlauben.
In Verbindung mit den 1 und 2 werden
CAM-Schaltkreise mit bekannten CAMs beschrieben.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, einen Assoziativspeicher
(CAM) nach Anspruch 1 zu schaffen, der Verbesserungen gegenüber dem
Stand der Technik aufweist.
-
Ein
Vorteil der vorliegenden Erfindung besteht darin, dass ein Assoziativspeicher
(CAM) mit einem verbesserten Layout geschaffen wird. Ein weiterer
Vorteil der vorliegenden Erfindung besteht darin, dass ein Assoziativspeicher
(CAM) mit einem Layout für
größere Speicherkapazitäten geschaffen
wird.
-
Ferner
ist die vorliegende Erfindung insofern von Vorteil, als sie einen
Assoziativspeicher (CAM) mit einem Layout bereitstellt, bei dem
je Speicherbit weniger Strom verbraucht wird. Weiterhin besteht
ein Vorteil der vorliegenden Erfindung in der Bereitstellung eines
Assoziativspeichers (CAM), bei welchem Schreib- und Vergleichszyklen
mit hoher Zuverlässigkeit
durchgeführt
werden können.
Noch ein weiterer Vorteil der vorliegenden Erfindung besteht in
der Bereitstellung eines Assoziativspeichers, der in einem Datenverarbeitungssystem
und/oder einem Datenprozessor mit hohen Taktgeschwindigkeiten arbeiten kann.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Zum
besseren Verständnis
der vorliegenden Erfindung und ihrer Vorteile dient die folgende
Beschreibung in Verbindung mit den beiliegenden Zeichnungen, in
welchen gleiche Bezugszeichen für gleiche
Teile oder Teile mit gleicher oder ähnlicher Wirkung verwendet
werden und in welchen:
-
1 eine
schematische Darstellung eines Einzelbit-CAM-Schaltkreises eines herkömmlichen Assoziativspeichers
(CAM) zeigt, welche eine Vielzahl solcher CAM-Schaltkreise und eine Zeichenerklärung umfasst;
-
2 eine
schematische Darstellung eines Einzelbit-CAM-Schaltkreises eines Assoziativspeichers
(CAM) zeigt, welche eine Vielzahl solcher CAM-Schaltkreise umfasst;
-
3 eine
schematische Darstellung einer Schaltung von zwei Einzelbitspeichern
mit einem Zweibit- Vergleichsschaltkreis
gemäß der Erfindung eines
Assoziativspeichers (CAM) zeigt, welche eine Vielzahl solcher Schaltungen
umfasst;
-
4 eine
schematische Darstellung einer anderen Ausführungsart einer ersten Komponente des
in 3 gezeigten Zweibit-Vergleichsschaltkreises zeigt;
und
-
5 eine
schematische Darstellung einer weiteren Ausführungsart der ersten Komponente
des in 3 gezeigten Zweibit-Vergleichsschaltkreises zeigt.
-
1 zeigt
eine schematische Darstellung eines Einzelbit-CAM-Schaltkreises 100 eines
(nicht gezeigten) herkömmlichen
Assoziativspeichers, welche eine Vielzahl solcher CAM-Schaltkreise umfasst, und
eine Zeichenerklärung
für die
in den Figuren gezeigten Einzelheiten.
-
Der
herkömmliche
Einzelbit-CAM-Schaltkreis 100 umfasst einen Einzelbitspeicher 101 und
einen Einzelbit-Vergleichsschaltkreis 102.
-
Der
Einzelbitspeicher 101 umfasst ein bekanntes Flipflop 103 zum
Speichern eines Einzelbits (Bit 0 oder Bit 1; Signalpegel LOW oder
HIGH). Das Einzelbit wird durch Adressieren des Flipflops 103 über eine
Wortleitung WL und Anlegen eines Signalpegels LOW oder HIGH an eine
Bitschreibleitung Echtwert (Bit Line Write True, BLWT) und des Komplements
des angelegten Signals an die Bitschreibleitung Komplement (Bit
Line Write Complement, BLWC) in das Flipflop 103 geschrieben.
Das Flipflop umfasst einen p-FET 106,
einen p-FET 107 sowie einen n-FET 108 und einen
n-FET 109. Die Wortleitung WL schaltet einen n-FET 104 und
einen n-FET 105 und ein Bit wird getaktet und im Flipflop 103 gespeichert.
Nach dem Speichern eines Bits 1 im Flipflop 103 umfasst
der Knoten A einen Signalpegel HIGH und der Knoten B einen Signalpegel
LOW, während
nach dem Speichern eines Bits 0 der Knoten A einen Signalpegel LOW
und der Knoten B einen Signalpegel HIGH umfasst. Da der Einzelbitspeicher 101 sowie
das Flipflop 103 dem Fachmann wohlbekannt sind, werden
deren Aufbau und Funktionsweise im Folgenden nicht genauer erläutert.
-
Der
bekannte Einzelbit-Vergleichsschaltkreis 102 umfasst einen
n-FET 110, einen n-FET 111, einen p-FET 113,
einen p-FET 114, einen p-FET 115 und einen n-FET 116,
die mit dem Knoten A, dem Knoten B, der Bitvergleichsleitung Echtwert
(Bit Line Compare True, BLCT), der Bitvergleichsleitung Komplement
(Bit Line Compare Complement, BLCC), der Wiederherstellungsleitung
REST und der Treffer-/Fehlerleitung H/M, dargestellt in 1,
verbunden sind.
-
Zum
Vergleichen, ob ein Vergleichsbit CB 0 (Bit 0 oder Bit 1, Signalpegel
LOW oder HIGH) mit dem im Einzelbitspeicher 101 gespeicherten
Bit 0 oder Bit 1 übereinstimmt,
wird das Vergleichsbit CB 0 an einen Anschluss 110 angelegt,
durch einen Inverter 111 invertiert und an die Bitvergleichsleitung
Komplement BLCC angelegt, während
das Ausgangssignal des Inverters 111 an den Eingang eines
Inverters 112 und das invertierte Signal aus dem Inverter 112 wiederum
an die Bitvergleichsleitung Echtwert BLCT angelegt wird.
-
Wenn
das Vergleichsbit CM 0 mit dem im Einzelbitspeicher 101 gespeicherten
Bit übereinstimmt, ändert sich
das Potenzial des Knotens C vom Pegel LOW (Masse) auf einen Pegel
HIGH (VDD) und der n-FET 116 legt
das Potenzial der Treffer-/Fehlerleitung H/M von HIGH (VDD) auf LOW (Masse).
-
Falls
das Vergleichsbit CB 0 nicht mit dem im Einzelbitspeicher 101 gespeicherten
Bit übereinstimmt,
bleibt das Potenzial des Knotens C auf LOW (Masse) und das Potenzial
der Treffer/Fehlerleitung H/M auf HIGH (VDD). Vor
dem Vergleichen des im Einzelbitspeicher 101 gespeicherten
Bits mit einem anderen Vergleichsbit CB 0 oder vor dem Speichern
eines anderen zu vergleichenden Bits im Flipflop 103 wird
ein Wiederherstellungssignal REST mit dem Potenzial HIGH (VDD) an den p-FET 115 angelegt, der das
Potenzial der Treffer-/Fehlerleitung H/M auf HIGH und das Potenzial
des Knotens C auf LOW (Masse) legt, worauf der Knoten C wieder sein
ursprüngliches
Potenzial LOW (Masse) und die Treffer-/Fehlerleitung H/M wieder
ihr ursprüngliches
Potenzial HIGH annimmt, bevor über
Datensignale auf der Bitvergleichsleitung Echtwert BLCT und der
Bitvergleichsleitung Komplement BLCC ein Vergleichsbit angelegt
wird.
-
1 zeigt,
dass jeder der Knoten A und B das Gate eines p-FET und eines n-FET
ansteuert. Daher liegt an jedem der Knoten A und B die elektrische
Kapazität
von zwei Gates an, sodass die zum Speichern eines Bits im Flipflop 103 erforderliche
Zeit verlängert
wird.
-
2 zeigt
die zugrunde liegende Technik in Form einer schematischen Darstellung
eines Einzelbit-CAM-Schaltkreises 200 eines (nicht gezeigten) Assoziativspeichers,
welcher eine (nicht gezeigte) Vielzahl der Einzelbit-CAM-Schaltkreise 200 umfasst.
Der Einzelbit-CAM-Schaltkreis 200 umfasst den auch in 1 gezeigten
Einzelbitspeicher 101 und das Flipflop 103, unterscheidet
sich jedoch durch einen Einzelbit-Vergleichsschaltkreis 201 von
dem in 1 gezeigten Einzelbit-CAM-Schaltkreis 100.
-
Ebenso
wie der bekannte Einzelbit-Vergleichsschaltkreis 100 umfasst
der Einzelbit-Vergleichsschaltkreis 201 den p-FET 113,
den p-FET 114, den p-FET 115 und den n-FET 116,
jedoch nicht den n-FET 110 und den n-FET 111.
Stattdessen umfasst der Einzelbit- Vergleichsschaltkreis 201 einen n-FET 202 und
einen Inverter 203.
-
Ebenso
wie im Einzelbit-Vergleichsschaltkreis 200 ist der Knoten
A mit dem Gate des p-FET 114 und der Knoten B mit dem Gate
des p-FET 113 verbunden. Demzufolge ist der Knoten A in 2 nur mit
einem Gate eines FET sowie der Knoten B nur mit einem Gate eines
FET verbunden.
-
Bei
dem in 2 gezeigten Einzelbit-Vergleichsschaltkreis 200 ist
ebenso wie im Einzelbit-Vergleichsschaltkreis 100 von 1 der
Drain des p-FET 113 mit der Bitvergleichsleitung Komplement
BLCC, der Drain des p-FET 114 mit der Bitvergleichsleitung
Echtwert BLCT und der Knoten C mit dem Gate des n-FET 116 verbunden. 2 zeigt, dass
ebenso wie beim Einzelbit-Vergleichsschaltkreis 100 von 1 die
Source des p-FET 115 mit dem Potenzial HIGH und der Drain
des p-FET 115 mit der Treffer-/Fehlerleitung H/M, die Treffer-/Fehlerleitung
H/M mit der Source des n-FET 116, der Drain des n-FET 116 mit
dem Potenzial LOW (Masse) und das Gate des n-FET 116 mit
dem Knoten C verbunden ist.
-
Im
Gegensatz zu dem in 1 gezeigten Einzelbit-Vergleichsschaltkreis 100 ist
in dem in 2 gezeigten Einzelbit-Vergleichsschaltkreis 200 die
Source des n-FET 202 mit dem Knoten C, der Drain des n-FET 202 mit
dem Potenzial LOW (Masse), das Gate des n-FET 202 mit einem
Eingang für ein
Signal NREST zum Zurücksetzen
auf Potenzial LOW (Masse) und dem Eingang des Inverters 203 und
der Ausgang des Inverters 203 wiederum mit dem Gate des
p-FET 115 verbunden.
-
Im
Folgenden wird die Funktion des in 2 gezeigten
Einzelbit-CAM-Schaltkreises 200 ausführlich beschrieben. Ebenso
wie im Einzelbit-CAM-Schaltkreis 100 von 1 wird
zum Vergleichen, ob ein Vergleichsbit CB 0 (Bit 0 oder Bit 1; Signalpegel
LOW oder HIGH) mit dem im Einzelbitspeicher 101 von 2 gespeicherten
Bit 0 oder Bit 1 übereinstimmt,
das Vergleichsbit CB 0 an den in 2 gezeigten
Anschluss 110 angelegt. Das Vergleichsbit CB 0 wird durch
den Inverter 111 invertiert und an die Bitvergleichsleitung
Komplement BLOC angelegt, während
das Ausgangssignal des Inverters 111 an den Eingang des
Inverters 112 und das vom Inverter 112 ausgegebene
invertierte Signal wiederum an die Bitvergleichsleitung Echtwert
BLCT angelegt wird.
-
Wenn
das Vergleichsbit CB 0 mit dem im Einzelbitspeicher 101 gespeicherten
Bit übereinstimmt, bleibt
im Gegensatz zum Einzelbit-CAM-Schaltkreis 100 das elektrische
Potenzial des Knotens C in 2 auf LOW
(Masse) und das Potenzial der Treffer-/Fehlerleitung H/M in 2 auf
HIGH (VDD).
-
Wenn
das Vergleichsbit CB 0 mit dem im Einzelbitspeicher 101 von 2 gespeicherten
Bit nicht übereinstimmt, ändert sich
im Gegensatz zum Einzelbit-CAM-Schaltkreis 100 das elektrische
Potenzial des Knotens C in 2 vom Potenzial
LOW (Masse) zum Potenzial HIGH (VDD) und
das Potenzial der Treffer-/Fehlerleitung H/M von HIGH (VDD) auf LOW (Masse).
-
Vor
dem Vergleichen des im Einzelbitspeicher 101 von 2 gespeicherten
Bits mit einem anderen Vergleichsbit CB 0 oder vor dem Speichern
eines anderen zu vergleichenden Bits im Flipflop 103 von 2 wird
ein Signal NREST zum Zurücksetzen, das
das Potenzial HIGH (VDD) aufweist, an das Gate des n-FET 202 angelegt
und so das Potenzial des Knotens C in 2 auf Masse
gesetzt, sodass der Knoten C anschließend auf Potenzial LOW (Masse) liegt.
Darüber
hinaus wird das invertierte Signal von NREST an das Gate des p-FET 115 angelegt
und so das Potenzial der Treffer-/Fehlerleitung H/M auf HIGH (VDD) gesetzt.
-
Im
Gegensatz zum Einzelbit-CAM-Schaltkreis 100 steuert jeder
der Knoten A und B gemäß 2 nur
das Gate eines FET an. Folglich liegt an jedem der Knoten A und
B nur die elektrische Kapazität eines
einzelnen Gates an und nicht die Kapazität von zwei Gates wie nach dem
Stand der Technik. Dadurch kann die zur zuverlässigen Speicherung eines Bits
im Flipflop 103 von 2 benötigte Zeit
deutlich verkürzt
sowie der Stromverbrauch des Einzelbit-CAM-Schaltkreises 200 gegenüber der
Lösung von 1 deutlich
verringert werden. Da ein CAM-Schaltkreis eine Vielzahl von Einzelbit-CAM-Schaltkreisen 200 umfasst,
ist dies besonders wichtig.
-
3 zeigt
eine schematische Darstellung einer Schaltung aus zwei Einzelbitspeichern 101 und 301 mit
einem Zweibit-Vergleichsschaltkreis
gemäß der Erfindung
eines (nicht gezeigten) Assoziativspeichers, welcher eine Vielzahl
solcher Schaltungen gemäß der Erfindung
umfasst.
-
Die
in 3 gezeigte Schaltung umfasst einen ersten Einzelbitspeicher 101,
einen zweiten Einzelbitspeicher 301, vier NOR-Gatter 302, 303, 304 und 305,
neun p-FETs 306, 307, 308, 309, 310, 311, 312, 313 und 315,
drei Inverter 203, 314 und 315 und zwei
n-FETs 116 und 202, die untereinander verbunden
sind, sowie einen Anschluss 316, einen Anschluss 317,
einen Knoten A0, einen Knoten B0, einen Knoten A1, einen Knoten
B1, einen Knoten C0, einen Knoten C1, einen Knoten C2, einen Knoten
C3, einen Knoten C, einen Anschluss 318 und eine Treffer-/Fehlerleitung
H/M, wie in 3 dargestellt.
-
Der
Einzelbitspeicher 101 und der Einzelbitspeicher 301 sind
mit dem in den 1 und 2 gezeigten
Einzelbitspeicher 101 identisch. Demzufolge umfasst jeder
dieser Einzelbitspeicher eine eigene Bitschreibleitung Echtwert
BLWT und eine eigene Bitschreibleitung Komplement BLWC, aber beide
umfassen eine (nicht gezeigte) gemeinsame Wortleitung WL, um unabhängig voneinander
einzeln ein Bit 0 oder ein Bit 1 zu speichern. Außerdem umfasst
ein solcher Einzelbitspeicher 101 in 1 die
Knoten A und B, der in 3 gezeigte Einzelbitspeicher 101 die
Knoten A0 und B0 und der Einzelbitspeicher 301 die Knoten
A1 und B1.
-
Jeweils
zwei p-FETs 306 und 307, zwei p-FETs 308 und 309,
zwei p-FETs 310 und 311 sowie zwei p-FETs 312 und 313 sind
parallel geschaltet, d. h. ihre Sourcekontakte sowie ihre Drainkontakte
sind jeweils miteinander verbunden. Die Drainkontakte dieser p-FETs
sind miteinander verbunden und bilden den Knoten C. Die Verbindung
der Sourcekontakte der p-FETs 306 und 307 bildet
den Knoten C0, die Verbindung der Sourcekontakte der p-FETs 308 und 309 den
Knoten C1, die Verbindung der Sourcekontakte der p-FETs 310 und 311 den
Knoten C2 und die Verbindung der Sourcekontakte der p-FETs 312 und 313 den
Knoten C3. Der Knoten C0 ist mit dem Ausgang des NOR-Gatters 302,
der Knoten C1 mit dem Ausgang des NOR-Gatters 303, der
Knoten C2 mit dem Ausgang des NOR-Gatters 304 und der Knoten
C3 mit dem Ausgang des NOR-Gatters 305 verbunden. Der erste
Eingang des NOR-Gatters 302 ist mit dem Anschluss 316 zum
Anlegen eines ersten Vergleichsbits CB0 (Bit 0 oder Bit 1) an die
Schaltung 300 verbunden und der zweite Eingang des NOR-Gatters 302 ist
mit dem Anschluss 317 zum Anlegen eines zweiten Vergleichsbits
CB1 (Bit 0 oder Bit 1) an die Schaltung 300 verbunden.
Der erste Eingang des NOR-Gatters 303 ist mit dem ersten
Eingang des NOR-Gatters 302 und der Anschluss 317 über den
Inverter 315 mit dem zweiten Eingang des NOR-Gatters 303 verbunden.
Der Anschluss 316 ist über
den Inverter 314 mit dem ersten Eingang des NOR-Gatters 304 und
der zweite Eingang des NOR-Gatters 304 mit dem zweiten
Eingang des NOR-Gatters 302 verbunden. Der erste Eingang
des NOR-Gatters 305 ist mit dem ersten Eingang des NOR-Gatters 304 und
der zweite Eingang des NOR-Gatters 305 mit dem zweiten
Eingang des NOR-Gatters 303 verbunden.
-
Der
Knoten A0 des Einzelbitspeichers 101, d. h. des Einzelbitspeichers
0 in 3, ist mit dem Gate des p-FET 310 und
dem Gate des p-FET 312, der Knoten B0 des Einzelbitspeichers 101 mit
dem Gate des p-FET 306 und dem Gate des p-FET 308, der
Knoten A1 des Einzelbitspeichers 301, d. h. des Einzelbitspeichers
1 in 3, mit dem Gate des p-FET 309 und dem
Gate des p-FET 313 verbunden. Der Knoten B1 des Einzelbitspeichers 301 ist
mit dem Gate des p-FET 307 und dem Gate des p-FET 311 verbunden.
-
Der
Knoten C ist ebenso wie in 2 mit der Source
des n-FET 202 und dem Gate des n-FET 116 verbunden.
Der Kontakt 318 ist mit dem Gate des n-FET 202 und
dem Eingang des Inverters 203, der Drain des n-FET 202 mit
dem Potenzial LOW (Masse), der Drain des n-FET 116 mit
dem Potenzial LOW (Masse), die Source des p-FET 115 mit
dem Potenzial HIGH (VDD), das Gate des p-FET 115 mit
dem Ausgang des Inverters 203 und der Drain des p-FET 115 mit
der Source des n-FET 116 sowie mit der Treffer-/Fehlerleitung
H/M verbunden.
-
Im
Folgenden wird die Funktion der Schaltung 300 eingehend
beschrieben. Es wird davon ausgegangen, dass, ebenso wie in Bezug
auf den Einzelbitspeicher 101 von 1 beschrieben,
im Einzelbitspeicher 101 ein Bit 1 und im Einzelbitspeicher 301 ein
Bit 1 gespeichert ist. Entsprechend umfasst der Knoten A0 ein Potenzial
HIGH (VDD), der Knoten B0 ein Potenzial
LOW (Masse), der Knoten A1 ein Potenzial HIGH (VDD)
und der Knoten B1 ein Potenzial LOW (Masse).
-
Außerdem wird
bei einem ersten, nicht als Beschränkung anzusehenden Beispiel
ein Bit 1 (CB 0) an den Anschluss 316 und ein Bit 1 (CB
1) an den Anschluss 317 angelegt. Mit anderen Worten, die
zu vergleichenden und im Einzelbitspeicher 101 und im Einzelbitspeicher 301 gespeicherten
Bits stimmen mit den Vergleichsbits CB 0 und CB 1 überein.
Wie der Fachmann leicht erkennt, liegen der Knoten C0, der Knoten
C1 und der Knoten C2 auf Potenzial LOW, während der Knoten C3 auf Potenzial
HIGH liegt. Da am Gate des p-FET 312 und an der Source des
p-FET 312 (Knoten C3) sowie am Gate des p-FET 313 und
an der Source des p-FET 313 (Knoten C3) das Potenzial HIGH
anliegt, bleiben bei einer Übereinstimmung
der Knoten C sowie das Gate des n-FET 116 auf Potenzial
LOW und die Treffer-/Fehlerleitung H/M auf Potenzial HIGH (VDD).
-
Demzufolge
ist keiner der Knoten A0, B0, A1 und B1 mit der Ansteuerung der
p-FETs 306 bis 313 belastet.
-
Bei
einem zweiten Beispiel, das nicht als Beschränkung anzusehen ist, wird vor
dem Anlegen eines Bits 0 (CB 0) an den Anschluss 316 und
eines Bits 1 (CB 1) an den Anschluss 317 das Potenzial LOW
(Masse) an den Anschluss 318 (NREST) angelegt und das Potenzial
der Treffer-/Fehlerleitung H/M bleibt auf HIGH (VDD).
Wenn an den Anschluss 316 das Bit 0 und an die Anschlüsse 317 und 318 das
Bit 1 angelegt wird, liegen die Knoten C0, C2 und C3 auf Potenzial
LOW (Masse) und der Knoten C1 auf Potenzial HIGH (VDD).
Da das Potenzial LOW (Masse) am Gate des p-FET 308 und
das Potenzial HIGH (VDD) an der Source des
p-FET 308 (Knoten C1) anliegt, wird der p-FET 308 leitend
und setzt den Knoten C auf Potenzial HIGH (VDD).
Da der Knoten C mit dem Gate des n-FET 116 verbunden ist,
legt der n-FET 116 die Treffer-/Fehlerleitung H/M auf Potenzial
LOW (Masse) und zeigt damit an, dass die Vergleichsbits CB 0 (Bit
0) und CB 1 (Bit 1) nicht mit den zu vergleichenden und in den Einzelbitspeichern 101 (Bit
1) und 301 (Bit 1) gespeicherten Bits übereinstimmen.
-
Bevor
an die Anschlüsse 316 und 317 zwei weitere
Bits angelegt werden, die mit den in den Einzelbitspeichern 101 und 301 gespeicherten
Bits verglichen werden sollen, wird an den Anschluss 318 (NREST)
das Potenzial LOW (Masse) angelegt, sodass der n-FET 202 leitend
wird und den Knoten C sowie das Gate des n-FET 116 wieder
auf Potenzial LOW (Masse) legt. Außerdem wird das Signal zum Zurücksetzen
(NREST) durch den Inverter 203 invertiert und das invertierte
Signal (Potenzial HIGH) an das Gate des p-FET 115 angelegt.
Der p-FET 115 wird somit leitend und legt die Treffer-/Fehlerleitung H/M
wieder auf Potenzial HIGH.
-
Folglich
ist nur einer der Knoten A0, B0, A1 und B1 mit der Ansteuerung der
p-FETs 306 bis 313 belastet.
-
Im
Gegensatz zu einer in 1 gezeigten bekannten Lösung, bei
der zum Vergleichen von zwei gespeicherten Bits mit zwei Vergleichsbits
acht FETs, und einer in 2 gezeigten anderen bekannten
Lösung,
bei der vier FETs durch ein Paar Einzelbitspeicher angesteuert werden
müssen,
braucht bei Verwendung der Lösung
gemäß der Erfindung,
gezeigt in 3, nur ein FET angesteuert zu
werden.
-
Gemäß der in 3 gezeigten
erfindungsgemäßen Lösung gestattet
die deutliche Verringerung der Anzahl von FETS, die für einen
Vergleich eines oder mehrerer Vergleichsbits mit den in einem Assoziativspeicher
(CAM) gespeicherten Bits geschaltet werden müssen, eine erhebliche Reduzierung
des Stromverbrauchs und der beim Schalten der FETs entstehenden
Störsignale
und ermöglicht die
Verwendung längerer
Treffer-/Fehlerleitungen. Dadurch kann ein Assoziativspeicher aufgebaut
werden, der eine wesentlich größere Speicherkapazität umfasst,
d. h. ein „breiterer" CAM, der trotzdem
weniger Strom je Bit verbraucht und in einem Datenverarbeitungssystem
und/oder in einem Datenprozessor, wie zum Beispiel einem Mikroprozessor,
mit einer höheren
Taktgeschwindigkeit betrieben werden kann, verglichen mit der bekannten
Lösung.
Die Reduzierung der Störsignale
erhöht
die Zuverlässigkeit
des erfindungsgemäßen Assoziativspeichers
(CAM) und verringert, verglichen mit den bekannten Lösungen, die nachteiligen
Auswirkungen von Störsignalen
auf andere elektronische Komponenten.
-
Zusammenfassend
ist zu sagen, dass zur weiteren Verringerung des Stromverbrauchs
für jedes
zu vergleichende Bit gegenüber
dem in 2 gezeigten Einzelbit-CAM-Schaltkreises 200 zwei
Einzelbitspeicher, d. h. insbesondere zwei Einzelbitspeicherzellen,
mit einem gemeinsam genutzten Vergleichsschaltkreis, d. h. dem Zweibit-Vergleichsschaltkreis 319,
verbunden werden. Im Falle einer Nichtübereinstimmung wird nur das
Potenzial eines der vier Knoten C0, C1, C2 und C3 auf HIGH gesetzt, d.
h. geändert
Die Potenzialänderung
des Knotens C der Schaltung 300 in 3 erfolgt
etwas langsamer als die Potenzialänderung des Knotens C des Einzelbit-CAM-Schaltkreises 200 von 2.
Dieser Nachteil wird jedoch bei weitem ausgeglichen, da die Treffer-/Fehlerleitung
H/M der Schaltung 300 nur von den zwei n-FETs 116 und 202,
also mit halb so vielen n-FETs wie bei den zwei Einzelbit-CAM-Schaltkreisen 200 belastet
wird. Dies führt
zu einer Potenzialänderung
der Treffer-/Fehlerleitung H/M der Schaltung 300, die wesentlich
schneller als die Potenzialänderung
der Treffer-/Fehlerleitung H/M des Einzelbit-CAM-Schaltkreises 200 ist.
-
Außerdem ist
zu beachten, dass die Kombination von Inverter 203 und
p-FET 115 nur einmal je Treffer-/Fehlerleitung H/M benötigt wird,
während
bei den beiden Einzelbit-CAM-Schaltkreisen 200 zwei Kombinationen
von Inverter 203 und p-FET 115 erforderlich sind.
-
Dem
Fachmann ist klar, dass die Schaltung von zwei Einzelbitspeichern,
wie in 3 gezeigt, einfach erweitert werden kann zu einer
Schaltung, welche mehr als zwei Einzelbitspeicher und mehr als einen
Zweibit- Vergleichsschaltkreis
umfasst und ebenfalls die oben erwähnten Vorteile aufweist.
-
4 ist
eine schematische Darstellung einer anderen Ausführungsart der ersten Komponente des
in 3 gezeigten Zweibit-Vergleichsschaltkreises 319.
Die erste Komponente des in 3 gezeigten
Zweibit-Vergleichsschaltkreises 319 umfasst die beiden
Eingangsanschlüsse 316 und 317,
die Inverter 314 und 315, die NOR-Gatter 302 bis 305 und
die Ausgangsknoten C0 bis C3, die gemäß 3 miteinander
verbunden sind. Die erste Komponente 400 des in 4 gezeigten
Bitvergleichsschaltkreises 319 kann anstelle der in 3 gezeigten
ersten Komponente verwendet werden und umfasst zwei Eingangsanschlüsse 401 und 402 zum
Anlegen der Vergleichsbits CB 0 und CB 1 an die Schaltung 300. Außerdem umfasst
die erste Komponente 400 vier UND-Gatter 403, 404, 405 und 406 und
sieben Inverter 407, 408, 409, 410, 411, 412 und 413,
die gemäß 4 miteinander
verbunden sind. Jedes Paar von UND-Gatter und Inverter 403 und 410, 404 und 411, 405 und 412 sowie 406 und 413 bildet
ein NAND-Gatter. Die Ausgänge
der NAND-Gatter bilden die Knoten C0, C1, C2 und C3.
-
5 zeigt
eine schematische Darstellung einer weiteren Ausführungsart 500 der
ersten Komponente des in 3 gezeigten Zweibit-Vergleichsschaltkreises 319.
Die erste Komponente 500 kann anstelle der ersten Komponente
des in 3 gezeigten Zweibit-Vergleichsschaltkreises 319 verwendet werden
und umfasst ein erstes durch einen p-FET 503 und einen
n-FET 504 gebildetes Übertragungsgatter 513,
ein zweites durch einen p-FET 505 und einen n-FET 506 gebildetes Übertragungsgatter,
ein drittes durch einen p-FET 507 und einen n-FET 508 gebildetes Übertragungsgatter
und ein viertes durch einen p-FET 509 und einen n-FET 510 gebildetes Übertragungsgatter.
Der Drain des p-FET 503 ist mit der Source des n-FET 504 und
dem Knoten C0, der Drain des p-FET 505 mit der Source des
n-FET 506 und dem Knoten C1, der Drain des p-FET 507 mit
der Source des n-FET 508 und dem Knoten C2 und der Drain
des p-FET 509 mit der Source des n-FET 510 und
dem Knoten C3 verbunden. Außerdem
umfasst die erste Komponente 500 des Zweibit-Vergleichsschaltkreises 319 einen
Anschluss 501 und einen Anschluss 502 zum Anlegen
der Vergleichsbits CB 0 und CB 1 an den Zweibit-Vergleichsschaltkreis 319 sowie
die beiden Inverter 511 und 512, die gemäß 5 mit
den Übertragungsgattern
verbunden sind.
-
Es
ist anzumerken, dass die 1 bis 5 schematische
Darstellungen sind und die integrierten CAM-Schaltkreise gemäß der Erfindung
in Wirklichkeit weitere elektronische Komponenten umfassen, die
der Fachmann leicht an die Lösungen
der Erfindung anpassen kann.
-
ZEICHENERKLÄRUNG:
-
-
- VDD
- Versorgungsspannung
- GND
- Massepotenzial
- p-FET
- p-Feldeffekttransistor
- n-FET
- n-Feldeffekttransistor
- S
- Source
- G
- Gate
- D
- Drain
-
- 100
- Einzelbit-CAM-Schaltkreis
- 101
- Einzelbitspeicher
- 102
- Einzelbit-Vergleichsschaltkreis
- 103
- Flipflop
- BLWT
- Bitschreibleitung
Echtwert
- BLWC
- Bitschreibleitung
Komplement
- A
- Knoten
- B
- Knoten
- C
- Knoten
- BLCT
- Bitvergleichsleitung
Echtwert
- BLCC
- Bitvergleichsleitung
Komplement
- REST
- Wiederherstellungsleitung
- H/M
- Treffer-/Fehlerleitung
- 104
- n-FET
- 105
- n-FET
- 106
- p-FET
- 107
- p-FET
- 108
- n-FET
- 109
- n-FET
- 110
- Anschluss
- 111
- Inverter
- 112
- Inverter
- 113
- p-FET
- 114
- p-FET
- 115
- p-FET
- 116
- n-FET
- 200
- Einzelbit-CAM-Schaltkreis
- 201
- Einzelbit-Vergleichsschaltkreis
- 202
- n-FET
- 203
- Inverter
- NREST
- Signal
zum Zurücksetzen
auf Potenzial LOW (Masse)
- 300
- Schaltung
von zwei Einzelbitspeichern mit einem Zweibit-Vergleichsschaltkreis
- 301
- Einzelbitspeicher
1
- 302
- NOR-Gatter
- 303
- NOR-Gatter
- 304
- NOR-Gatter
- 305
- NOR-Gatter
- 306
- p-FET
- 307
- p-FET
- 308
- p-FET
- 309
- p-FET
- 310
- p-FET
- 311
- p-FET
- 312
- p-FET
- 313
- p-FET
- 314
- Inverter
- 315
- Inverter
- 316
- Anschluss
- 317
- Anschluss
- 318
- Anschluss
- 319
- Zweibit-Vergleichsschaltkreis
- 320
- Einzelbit-Vergleichsschaltkreis
- C
- Knoten
- C0
- Knoten
- C1
- Knoten
- C2
- Knoten
- C3
- Knoten
- A0
- Knoten
- B0
- Knoten
- A1
- Knoten
- B1
- Knoten
- 400
- Erste
Komponente des Zweibit-Vergleichsschaltkreises
- 401
- Anschluss
- 402
- Anschluss
- 403
- UND-Gatter
- 404
- UND-Gatter
- 405
- UND-Gatter
- 406
- UND-Gatter
- 500
- Erste
Komponente des Zweibit-Vergleichsschaltkreises
- 501
- Anschluss
- 502
- Anschluss
- 503
- p-FET
- 504
- n-FET
- 505
- p-FET
- 506
- n-FET
- 507
- p-FET
- 508
- n-FET
- 509
- p-FET
- 510
- n-FET
- 511
- Inverter
- 512
- Inverter
- 513
- Übertragungsgatter