EP4702502A1 - Vorrichtung und verfahren für eine ähnlichkeitsbewertung - Google Patents
Vorrichtung und verfahren für eine ähnlichkeitsbewertungInfo
- Publication number
- EP4702502A1 EP4702502A1 EP24739478.6A EP24739478A EP4702502A1 EP 4702502 A1 EP4702502 A1 EP 4702502A1 EP 24739478 A EP24739478 A EP 24739478A EP 4702502 A1 EP4702502 A1 EP 4702502A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- capacitor
- query
- voltage
- comparator
- transistor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
Die Erfindung betrifft eine Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung für einen Aufmerksamkeitsmechanismus mit einem Kondensator (C1) zur Speicherung eines Schlüssels (K), mit einem Eingang für eine Abfrage (Q), mit einem Komparator (Com) für ein Vergleichen einer Abfrage (Q), mit einem im Kondensator (C1) gespeicherten Schlüssel (K), wobei der Komparator (Com) einen analogen Ähnlichkeitswert (S) als Ergebnis des Vergleichs ausgibt. Die Erfindung betrifft außerdem ein Verfahren zur Durchführung einer Ähnlichkeitsbewertung mit einer anspruchsgemäßen Vorrichtung, wobei in Kondensatoren (C1) Schlüssel (K) gespeichert werden, im Anschluss daran eine Abfrage (Q) mit den gespeicherten Schlüsseln (K) durch Komparatoren (Corn) für einen Erhalt einer Ähnlichkeit verglichen werden. Ähnlichkeitsbewertungen können schnell und effizient durchgeführt werden.
Description
Vorrichtung und Verfahren für eine Ähnlichkeitsbewertung
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Durchführung einer Ähnlichkeitsbewertung.
Ähnlichkeitsbewertungen werden bei einem Aufmerksamkeitsmechanismus (besser bekannt unter der Bezeichnung „Attention“) durchgeführt. Mithilfe eines Aufmerksamkeitsmechanismus kann die Effizienz eines Machine-Learning-Modells verbessert werden. Durch einen Aufmerksamkeitsmechanismus werden bestimmte Teile einer Abfrage bzw. Eingabedaten bei der Erstellung der Ausgabedaten besonders beachtet. Es wird dafür eine Aufmerksamkeit („Attention“) ermittelt. Für die Ermittlung einer Aufmerksamkeit kann folgende Gleichung verwendet werden
(OKT\
Attention(Q, K, V") = softmax I — =- I V
\ Vdk ) mit
Q = Abfrage („Querry“)
K = Schlüssel („Key“)
V = Wert („Value“).
Durch die Gleichung wird eine Ähnlichkeitsbewertung zwischen Abfragen (Q) und Schlüsseln (K) durchgeführt, um die Informationen des Werts (V) zu Wichten. K können Sequenzelemente aus der Zukunft, Gegenwart und Vergangenheit sein, während Q aktuelle Eingabedaten sind.
Aufmerksamkeitsgewichte werden mithilfe von skalierten Skalarproduktähnlichkeiten berechnet. Das skalierte Skalarprodukt
misst die Ähnlichkeit. Die Softmax-Funktion wandelt die Ergebnisse in Aufmerksamkeitsgewichtungswahrscheinlichkeiten um.
Durch die oben genannte Gleichung für Attention(Q,K,V) wird eine gewichtete Summe von Werten ausgegeben, die es ermöglichen, sich auf die wichtigen Teile einer Abfrage zu fokussieren.
Aufmerksamkeit ist also die Fähigkeit, sich auf bestimmte Informationen zu konzentrieren und dabei irrelevante Teile zu ignorieren. Beim maschinellen Lernen wird die Aufmerksamkeit genutzt, um Modelle so zu trainieren, dass sie sich auf wichtige Elemente der Eingabedaten konzentrieren, um die Aufgabenleistung zu verbessern.
Auf dem Aufmerksamkeitsmechanismus bauen Transformer auf. Durch einen Transformer kann ein Computer eine Folge von Zeichen in eine andere Folge von Zeichen übersetzen. Beispielsweise kann so ein Text von einer Sprache in eine andere übersetzt werden. Dazu wird ein Transformer durch maschinelles Lernen durch Beispiel-Daten trainiert. Das trainierte Modell kann anschließend zur Übersetzung verwendet werden.
Die Aufmerksamkeit in Transformern erfordert sehr große Matrixoperationen, die viel Strom verbrauchen.
Vor diesem Hintergrund ist es das Ziel der vorliegenden Erfindung, auf technisch effiziente Weise Ähnlichkeitssuchen durchführen zu können. Insbesondere soll es möglich sein, eine Attention(Q,K,V) schnell und mit geringem Energieaufwand ermitteln zu können. Es soll vorzugsweise möglich sein, dynamische, sich häufig ändernde Ähnlichkeitssuchen durchführen zu können.
Eine Vorrichtung kann zur Lösung der Aufgabe die Merkmale des ersten Anspruchs aufweisen. Der Nebenanspruch betrifft ein Verfahren für eine Ähnlichkeitssuche.
Eine Vorrichtung kann zur Durchführung einer Ähnlichkeitsbewertung für einen Aufmerksamkeitsmechanismus einen Kondensator zur Speicherung eines Schlüssels (K) umfassen. Eine solche Vorrichtung kann einen Eingang für eine Abfrage umfassen. Eine solche Vorrichtung kann einen Komparator für ein Vergleichen einer Abfrage mit einem im Kondensator gespeicherten Schlüssel umfassen. Der Komparator kann insbesondere einen analogen Ähnlichkeitswert als Ergebnis des Vergleichs ausgeben.
Ein Kondensator kann elektrische Ladung temporär speichern. Ein Kondensator umfasst zwei elektrisch leitfähige Elemente, die elektrisch voneinander getrennt sind. Die elektrisch leitfähigen Elemente können zwei elektrisch leitfähige Schichten sein. Die beiden elektrisch leitfähigen Schichten können durch eine elektrisch nicht leitfähige Schicht getrennt sein. Die elektrisch nicht leitfähige Schicht kann ein Dielektrikum sein, sein. Die Schichten können parallel zueinander sein.
Zur Speicherung eines Schlüssels meint, dass die Vorrichtung so eingerichtet ist, dass eine vorgegebene elektrische Ladung als Maß für einen Schlüssel im Kondensator gespeichert werden kann.
An den für eine Abfrage vorgesehenen Eingang der Vorrichtung kann eine Spannung als Maß für die Abfrage angelegt werden.
Ein Komparator ist eine elektronische Schaltung mit zwei Eingängen für zwei Spannungen, die durch den Komparator miteinander verglichen werden können. Die Vorrichtung ist so eingerichtet, dass der Komparator eine an den Eingang der Vorrichtung als Abfrage angelegte Spannung mit der Spannung des Kondensators vergleichen kann, die aufgrund einer als Schlüssel gespeicherten elektrischen Ladung vorliegt.
Der Komparator kann einen Ausgang haben, über den ein Signal als Ergebnis des Vergleichs ausgegeben werden kann. Das Signal kann eine Spannung sein.
Das Signal kann ein digitales Signal sein. Der vom Vergleich abhängige Spannungsverlauf weist dann eine so steile Flanke auf, so dass in der Praxis nur zwischen einem Signal „low“ und einem Signal „high“ unterschieden wird. Das Signal kann ein analoges Signal sein. Der vom Vergleich abhängige Spannungsverlauf weist dann keine steile Flanke auf, sodass auch Signale erfasst werden, die zwischen dem Signal „high“ und dem Signal „low“ liegen.
Der Komparator kann zwei elektrische Anschlüsse für eine Spannungsversorgung aufweisen.
Der eine Eingang des Komaparators kann ein positiver, nicht-invertierender Eingang sein. Der andere Eingang des Komaparators kann ein negativer, invertierender Eingang sein. Wenn eine an den positiven, nicht-invertierenden angelegte Spannung höher ist als eine Spannung, die an den negativen, invertierenden Eingang angelegt wurde, so kann beispielsweise eine positive Spannung als Signal ausgegeben werden. Wenn eine an den positiven, nicht-invertierenden angelegte Spannung kleiner ist als eine Spannung, die an den negativen, invertierenden Eingang angelegt wurde, so kann beispielsweise eine negative Spannung als Signal ausgegeben werden.
Der Komparator kann in digitaler oder analoger Form ein Signal als Ergebnis des Vergleichs ausgeben. Der Komparator ist vorzugsweise so, dass dieser einen
analogen Ähnlichkeitswert in Form einer analogen Spannung als Ergebnis des Vergleichs ausgeben kann.
Der Komparator kann also wenigstens als Signal ausgeben, ob eine als Abfrage angelegte Spannung größer und/oder kleiner ist als eine Spannung, die durch eine als Schlüssel im Kondensator gespeicherte Ladung erzeugt wird.
Die Vorrichtung kann einen Multiplikator umfassen, der den Ähnlichkeitswert mit einem Wert multipliziert und als Ergebnis der Multiplikation eine Aufmerksamkeit ausgibt.
Der Multiplikator kann beispielsweise einen Analog-Digital-Wandler umfassen, der den Ähnlichkeitswert digitalisiert. Der Multiplikator kann einen Prozessor umfassen, durch den der digitalisierte Ähnlichkeitswert mit einem digitalisierten Wert so multipliziert wird, dass eine Aufmerksamkeit (Attention(Q,K,V)) als Ergebnis der Multiplikation ausgegeben wird. Es wird dann ein digitales Ergebnis als Aufmerksamkeit ausgegeben.
Der Multiplikator kann aber auch ein Analogmultiplizierer sein, der analog den Ähnlichkeitswert mit dem Wert multipliziert, um eine Aufmerksamkeit zu erhalten. Dies kann durch ein sogenanntes „Crossbar Array“ oder ein „Memristor Crossbar Array“ realisiert werden (siehe https://doi.org/10.1038/s41467-021-23719-3). Eine Alternative ist ein Transimpedanz Verstärker.
Mit Aufmerksamkeit ist ein Wert gemeint, der zumindest dem Wert Attention(Q,K,V) entspricht. Das Ergebnis ist gleich dem berechneten Wert Attention(Q,K,V) oder zumindest so ähnlich, dass diese beispielsweise für Transformer verwendet werden können.
Der Kondensator kann über einen Schalter mit einem Digital-Analog-Wandler für ein Speichern eines Schlüssels (K) verbunden sein. Schalter und Kondensator können dann eine Speicherzelle bilden. Durch Einschalten des Schalters kann der Kondensator beschrieben werden. Durch Einschalten des Schalters kann also der Kondensator elektrisch geladen werden. Ist der Kondensator in der gewünschten Weise aufgeladen worden, so kann der Schalter ausgeschaltet werden. Im Anschluss daran speichert der Kondensator die elektrische Ladung temporär. Durch den Digital- Analog-Wandler kann ein digitalisierter Schlüssel in ein analoges Signal in Form einer Spannung umgewandelt werden. Wird der Schalter dann geöffnet, dann wird der
Kondensator gemäß der durch den Digital-Analog-Wandler bereitgestellten Spannung und damit in gewünschter Weise aufgeladen.
Der zu speichernde Wert kann direkt aus einer zuvor durchgeführten analogen Operation kommen wie zum Beispiel einer Vektor Matrix Multiplikation eines Memristor Crossbar Arrays. Diese Vektor Matrix Multiplikationen sind die linearen Projektionen, die im Fall eines Transformers die Vektoren Q, K und V berechnen.
Der Schalter kann ein Transistor sein. Der Transistor kann durch eine Spannungsquelle ein- und ausgeschaltet werden. Ist der Transistor eingeschaltet, dann kann ein Strom durch den Transistor fließen. Der Kondensator kann nun geladen werden. Ist der Transistor ausgeschaltet, dann kann kein Strom durch den Transistor fließen. Der Kondensator kann dann nicht geladen werden. Es kann also in Abhängigkeit vom Schaltzustand des Transistors ein Schlüssel (K) in Form einer elektrischen Ladung im Kondensator gespeichert werden.
Ein Eingang des Komparators kann mit einem Digital-Analog-Wandler für ein Vergleichen einer Abfrage mit einem im Kondensator gespeicherten Schlüssel verbunden sein. Durch den Digital-Analog-Wandler kann eine digitalisierte Abfrage in ein analoges elektrisches Signal umgewandelt werden, die dann in Form einer Spannung vorliegen kann. Diese Spannung kann dann mit der Spannung verglichen werden, die durch die im Kondensator gespeicherte elektrische Ladung erzeugt wird.
Es kann ein Digital-Analog-Wandler vorhanden sein, der einerseits mit dem Kondensator über einen Schalter für ein Aufladen des Kondensators verbunden ist und andererseits mit einem Eingang des Komparators für eine Abfrage verbunden ist. Es kann dann ein Digital-Analog-Wandler sowohl für ein Aufladen des Kondensators als auch für die Durchführung einer Abfrage verwendet werden. Die Zahl der verwendeten Digital-Analog-Wandler wird so geringgehalten. Der Digital-Analog-Wandler kann dem einen Eingang des Komparators durch eine elektrische Leitung unmittelbar verbunden sein. Im Fall einer unmittelbaren Verbindung gibt es nur die elektrische Leitung für das Verbinden.
Ein Kondensator ist bevorzugt ein MOM-Kondensator, damit die Vorrichtung als Chip bzw. integrierter Schaltkreis gefertigt werden kann. MOM ist die Abkürzung für „Metall- Oxide-Metall“. Eine Alternative ist der Siliziumkondensator, die direkt in integrierte Schaltkreise eingesetzt werden kann und dessen Fertigung auf Standardverfahren zur Halbleiterfertigung basiert.
Bevorzugt ist die Vorrichtung als integrierter Schaltkreis ausgeführt, um die Vorrichtung sehr klein bauen zu können.
Die Vorrichtung kann aus Gründen der Kompaktheit in einer ersten Ebene ein oder mehrere Transistoren sowie ein oder mehrere Kondensatoren aufweisen. In einer zweiten Ebene können ein oder mehrere Transistoren vorhanden sein. Die zweite Ebene befindet sich oberhalb oder unterhalb der ersten Ebene. Aus Gründen der Kompaktheit ist zumindest ein Transistor der Vorrichtung auf einem Kondensator und folglich in der zweiten Ebene angeordnet. Dies ist beispielsweise möglich, wenn der Transistor ein MOM-Kondensator ist.
Für eine Massenfertigung ist zu bevorzugen, dass die Vorrichtung oder zumindest Teile davon nach einem Fertigungsverfahren für DRAMs hergestellt. DRAM ist die Abkürzung für Dynamic Random Access Memory. Ein Kondensator eines DRAMS ist dann kein MOM-Kondensator. Der Transistor eines DRAMs kann ein MOS- Feldeffekttransistor sein. Ein Kondensator kann dann in einen Transistor integriert sein. Ein DRAM kann als ein individueller integrierter Schaltkreis ausgeführt oder als Speicherzelle in einem größeren Chip realisiert sein.
Ein Kondensator kann auf einem Substrat geschichtet oder "gestapelt" werden. Es können Vielfach- sowie Zylinderkondensatoren vorgesehen werden, um große Kapazität bereitstellen zu können. Ein Kondensator kann durch Bohren eines tiefen Lochs oder eines "Graben" in ein Substrat hergestellt werden.
Es können zwei Transistoren für ein Auslesen einer Abfrage vorhanden sein. Die beiden Transistoren können in Reihe geschaltet sein. Es kann sein, dass die beiden Transistoren durch den Komparator geschaltet werden können. Der elektrische Widerstand der in Reihe geschalteten Transistoren kann dann ein Maß für das Ergebnis der Abfrage sein. Beispielsweise ist es dadurch möglich, eine CAM Zelle mit nur einem Komparator zu realisieren.
Um den elektrischen Widerstand der in Reihe geschalteten Transistoren ermitteln zu können, kann ein durch die Transistoren fließender Strom gemessen werden. Die Stromstärke ist dann ein Maß für das Ergebnis der Abfrage.
Die Vorrichtung kann so geschaltet sein, dass der elektrische Widerstand der in Reihe geschalteten Transistoren minimal ist, wenn eine Abfrage mit einem gespeicherten Schlüssel übereinstimmt. Je größer der elektrische Widerstand der in Reihe
geschalteten Transistoren ist, umso weniger stimmt eine Abfrage mit einem gespeicherten Schlüssel überein.
Die Vorrichtung kann so geschaltet sein, dass der elektrische Widerstand der in Reihe geschalteten Transistoren maximal ist, wenn eine Abfrage mit einem gespeicherten Schlüssel übereinstimmt. Je kleiner der elektrische Widerstand der in Reihe geschalteten Transistoren ist, umso weniger stimmt eine Abfrage mit einem gespeicherten Schlüssel überein.
Der eine Transistor kann ein N-Kanal-MOSFET sein. Bei einem N-Kanal-MOSFET besteht der leitende Kanal aus einem N-Typ-Halbleiter, was bedeutet, dass er durch Elektronen leitet. Der N-Typ-Halbleiter befindet sich zwischen zwei P-Typ-Halbleitern. Der eine P-Typ-Halbleiter ist der Source-Anschluss des N-Kanal-MOSFETs. Der andere P-Typ-Halbleiter ist der Drain-Anschluss des N-Kanal-MOSFETs. Der eingeschaltete Zustand des N-Kanal-MOSFETs kann durch eine positive Spannung am Gate-Anschluss des N-Kanal-MOSFETs aktiviert werden. Für ein Schalten ist daher der Ausgang des Komparators mit dem Gate Anschluss des Transistors verbunden.
Der andere Transistor kann ein P-Kanal-MOSFET sein. Bei einem P-Kanal-MOSFET besteht der leitende Kanal aus einem P-Typ-Halbleiter, was bedeutet, dass er durch Defektelektronen bzw. Löcher leitet. Der P-Typ-Halbleiter befindet sich zwischen zwei N-Typ-Halbleitern. Die N-Typ-Halbleiter sind Source- bzw. Drain-Anschluss. Ist die Spannung am Gate-Anschluss eines MOSFETs identisch mit der Spannung am Source-Anschluss des MOSFETs, dann sperrt der Transistor. Zwischen Drain- Anschluss und Source-Anschluss kann (abgesehen von einem Leckstrom von einigen Mikroampere) kein Strom fließen. Wird am Gate-Anschluss durch den Komparator eine Spannung angelegt, die niedriger ist als die Spannung am Source-Anschluss, dann kann der Transistor leiten. Drain-Anschluss und Source-Anschluss sind dann elektrisch leitend verbunden.
Die Vorrichtung kann so eingerichtet sein, dass das Ergebnis einer Abfrage in einen elektrischen Strom umgewandelt werden kann. Um dies zu erreichen, kann der Ausgang des Komparators beispielsweise mit den beiden vorgenannten Transistoren so verbunden sein, dass die beiden Transistoren über den Ausgang des Komparators geschaltet werden können. Der Strom kann dann durch die beiden Transistoren fließen. Die Stromstärke hängt von dem elektrischen Widerstand der in Reihe
geschalteten Transistoren ab. Es kann ein Transistor genügen, der durch den Ausgang des Komparators geschaltet werden kann. Der elektrische Widerstand des einen Transistors regelt dann die Stromstärke, die durch den Transistor fließen kann.
Es kann Messgerät vorhanden sein, mit dem die Stromstärke des fließenden Stroms ermittelt werden kann.
Die Vorrichtung kann eine CAM-Zelle umfassen. Die CAM-Zelle kann eine analoge CAM-Zelle sein.
CAM ist eine Abkürzung für "Content-Addressable Memory" (Inhaltsadressierbarer Speicher). Im Gegensatz zu herkömmlichen Speicherarten wie RAM (Random Access Memory), bei denen der Zugriff auf Daten über die Speicheradresse erfolgt, ermöglicht ein CAM den Zugriff auf Daten basierend auf ihrem Inhalt. Das bedeutet, dass man in einem CAM nach bestimmten Daten suchen kann, ohne die genaue Speicheradresse zu kennen. Dies wird oft als "Assoziativspeicher" bezeichnet. Es ist möglich, ein Eingangssignal an einen CAM anzulegen. Das Eingangssignal kann eine an den CAM angelegte Spannung und damit ein analoges Signal sein. Der CAM kann dann ausgeben, ob das Eingangssignal gespeichert ist oder nicht. Dies kann beispielsweise durch Ausgabe einer „0“ oder einer „1“, also durch Ausgabe eines digitalen Wertes, geschehen. Ein CAM kann also beispielsweise den Wert „0“ ausgeben, wenn der eingegebene Speicherwert im Assoziativspeicher nicht gespeichert ist. Ein CAM kann den Wert „1“ ausgeben, wenn der eingegebene Speicherwert im CAM gespeichert ist.
Eine analoge CAM-Zelle kann darüber hinaus angeben, wie ähnlich eine Abfrage mit einem gespeicherten Schlüssel ist. Beispiele für analoge CAM-Zellen werden in der deutschen Patentanmeldung 102023205689.5 beschrieben.
Eine CAM-Zelle kann so sein, dass durch die CAM-Zelle festgestellt werden kann, ob eine Abfrage Q innerhalb eines Fensters liegt, das einem Schlüssel K entspricht. Die Breite eines Fensters kann festlegen, mit welcher Toleranz K behandelt wird. Eine analoge CAM-Zelle kann so sein, dass durch die CAM-Zelle außerdem festgestellt werden kann, ob eine Abfrage Q ähnlich zu einem Fenster, das einem Schlüssel K entspricht. Mit Fenster ist ein Bereich gemeint. Liegt die Abfrage in Form einer Spannung vor, dann kann durch die CAM-Zelle wenigstens ermittelt werden, ob die Spannung innerhalb eines Bereichs liegt, der Fenster genannt wird.
Die analoge CAM-Zelle kann eine erste Schaltung mit einem ersten Kondensator zur Speicherung eines Schlüssels umfassen. Die erste Schaltung kann einen ersten Eingang für eine Abfrage umfassen. Die erste Schaltung kann einen ersten Komparator für ein Vergleichen einer Abfrage mit einem im ersten Kondensator gespeicherten Schlüssel umfassen. Der erste Komparator kann für eine Abfrage einen analogen Ähnlichkeitswert als Ergebnis des Vergleichs ausgeben. Der eine Anschluss des ersten Kondensators kann mit einem Eingang des ersten Komparators verbunden sein. Der andere Anschluss des ersten Kondensators kann für ein Aufladen mit einem ersten Schalter der ersten Schaltung verbunden sein. Der andere Anschluss des ersten Kondensators kann für ein Aufladen mit einem Digital-Analog-Wandler unmittelbar oder mittelbar über den ersten Schalter verbunden sein. Der erste Kondensator kann ein Transistor sein, so zum Beispiel ein MOSFET. Durch den ersten Komparator kann ausgegeben werden, ob eine Abfrage größer als ein gespeicherter Schlüssel ist.
Die analoge CAM-Zelle kann eine zweite Schaltung mit einem zweiten Kondensator zur Speicherung eines Schlüssels umfassen. Die zweite Schaltung kann einen zweiten Eingang für eine Abfrage umfassen. Die zweite Schaltung kann einen zweiten Komparator für ein Vergleichen einer Abfrage mit einem im zweiten Kondensator gespeicherten Schlüssel umfassen. Der zweite Komparator kann für eine Abfrage einen analogen Ähnlichkeitswert als Ergebnis des Vergleichs ausgeben. Der eine Anschluss des zweiten Kondensators kann mit einem Eingang des zweiten Komparators verbunden sein. Der andere Anschluss des zweiten Kondensators kann für ein Aufladen mit einem zweiten Schalter der zweiten Schaltung verbunden sein. Der andere Anschluss des zweiten Kondensators kann für ein Aufladen mit einem Digital- Analog-Wandler unmittelbar oder mittelbar über den zweiten Schalter verbunden sein. Der zweite Kondensator kann ein Transistor sein, so zum Beispiel ein MOSFET. Durch den zweiten Komparator kann ausgegeben werden, ob eine Abfrage kleiner als ein gespeicherter Schlüssel ist.
Ein Schlüssel kann dann mit einer Abfrage übereinstimmen, wenn die Abfrage ergibt, dass die Abfrage sowohl größer als auch kleiner als die jeweils gespeicherten Schlüssel sind, also die Abfrage innerhalb eines Fensters liegt. Die Grenzen des Fensters können durch gespeicherte Schlüssel und/oder durch den Komparator festgelegt worden sein.
Es kann genügen, dass die CAM-Zelle nur eine erste Schaltung umfasst, also keine zweite Schaltung. So kann die CAM-Zelle so eingerichtet sein, dass in einem ersten Schritt abgefragt wird, ob eine Spannung VDL gespeichert ist und in einem zweiten Schritt abgefragt wird, ob eine invertierte Spannung -VDL vorhanden ist. Es kann beispielsweise so abgefragt werden, ob eine als Abfrage vorgesehene Spannung DL innerhalb eines Fensters liegt, das einem gesuchten Schlüssel K entspricht.
Die Vorrichtung kann eine Mehrzahl von CAM-Zellen umfassen, die mit einer elektrischen Leitung für ein Auslesen verbunden sind. Der Strom, der durch die elektrische Leitung fließt, kann ein Maß für eine Übereinstimmung zwischen einer Abfrage Q und Schlüsseln K sein.
Die Erfindung betrifft auch ein Verfahren zur Durchführung einer Ähnlichkeitsbewertung. Das Verfahren kann mit einer Vorrichtung durchgeführt werden, die zuvor beschrieben worden ist. In ein oder mehreren Kondensatoren der Vorrichtung können in einem ersten Schritt ein oder mehrere Schlüssel gespeichert werden. Im Anschluss daran kann eine Abfrage mit den ein oder mehreren gespeicherten Schlüsseln durch ein oder mehrere Komparatoren verglichen werden, um so eine Ähnlichkeit zu erhalten, die
entspricht. Das Ergebnis des Vergleichs kann mit einem Wert (V) multipliziert werden und so ein Ergebnis erhalten werden, das einer berechneten Aufmerksamkeit (Attention(Q,K,V) zumindest ähnlich ist.
Durch „in memory processing“ bzw. „in memory computing (imc)“ kann die Aufgabe der Erfindung gelöst werden. Die eingangs genannte Gleichung für Attention(Q,K,V) kann zumindest teilweise ersetzt werden.
Zwar kann sein, dass das Ergebnis nicht vollständig identisch mit dem Ergebnis der eingangs genannten Gleichung für Attention(Q,K,V) ist. Untersuchungen haben aber gezeigt, dass die Abweichungen zumindest nur gering und daher zumindest unkritisch sind. Für bestimmte Anwendungsfälle sind die Abweichungen sogar von Vorteil.
Durch die Erfindung wird die Berechnung einer Ähnlichkeitssuche mithilfe von zumindest einer dRAM CAM näher an einen elektronischen Speicher herangeführt.
Dadurch kann die Effizienz verbessert werden. Es kann der Energieverbrauch geringgehalten werden. Durch die Erfindung findet eine Suchoperation statt und zwar wird in Übereinstimmung mit der eingangs genannten Gleichung für Attention(Q,K,V) eine Anfrage Q in den Schlüsseln K gesucht.
Eine CAM auf Memristorbasis ist aufgrund ihrer geringen Schreibgeschwindigkeit (>100 ps) und begrenzten Lebensdauer (< 1e8) für eine Lösung der gestellten Aufgabe nicht gut geeignet. Im Vergleich dazu sind mit der erfindungsgemäßen dRAM CAM geeignet größere Schreibgeschwindigkeiten möglich. Auch ist die Lebensdauer geeignet größer. Das Schreiben kann sehr schnell sein, weil das Ergebnis nicht verifiziert werden muss.
Nachfolgend wird die Erfindung anhand von Figuren näher erläutert.
Es zeigen
Figur 1 : Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung;
Figur 2: Implementierung eines Teils einer Vorrichtung zur Durchführung einer
Ähnlichkeitsbewertung;
Figur 3: CAM-Zelle;
Figur 4: Design eines integrierten Schaltkreises;
Figur 5: CAM - Zelle;
Figur 6: CAM - Zelle;
Figur 7: CAM - Zelle;
Figur 8: Komparator;
Figur 9: CAM - Zelle.
In der Figur 1 wird ein Beispiel für eine Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung schematisch dargestellt. Es wird eine Anfrage Q mit Schlüsseln K durch eine Vorrichtung 1 verglichen, die in Kondensatoren der Vorrichtung 1 gespeichert sind. Es wird von der Vorrichtung 1 ein Ähnlichkeitswert S als Ergebnis des Vergleichs ausgegeben. Der Ähnlichkeitswert S ist ein analoger Wert. Der Ähnlichkeitswert S ist also ein Maß dafür, wie groß die Übereinstimmung der Anfrage Q
mit den Schlüsseln K ist. Der Ähnlichkeitswert wird durch eine Vorrichtung 2 mit dem Wertevektor V multipliziert. Diese Multiplikation kann digital oder analog geschehen. Als Ergebnis wird die Aufmerksamkeit Attention (Q, K, V) erhalten. Die so erhaltene Aufmerksamkeit stimmt zumindest hinreichend genau mit der Aufmerksamkeit überein, die mit der eingangs genannten, aus dem Stand der Technik bekannten Gleichung für Attention(Q,K,V) berechnet werden kann.
In der Figur 2 wird eine Implementierung eines Teils einer Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung gezeigt. Mit einem Digital-Analog-Wandler DAC kann über einen Transistor M1 ein Kondensator C1 mit einer programmierten elektrischen Ladung Vstored aufgeladen werden. Die programmierte elektrische Ladung Vstored entspricht einem vorgegebenen Schlüssel K. Über eine schaltbare Spannungsquelle U kann der Transistor M1 auf Durchgang geschaltet werden. Die Spannungsquelle U kann eingeschaltet werden, um eine hohe Spannung an den Gate- Anschluss des Transistors M1 anzulegen. Ist der Transistor M1 auf Durchgang geschaltet, dann wird der Kondensator C1 mit der programmierten elektrischen Ladung Vstored aufgeladen. Der Kondensator 01 kann also mithilfe des Digital-Analog-Wandlers DAC mit einem zuvor digital vorgegebenen Schlüssel K beschrieben werden.
Ist der Transistor M1 nicht auf Durchgang geschaltet, dann kann die programmierte Ladung Vstored im Kondensator 01 temporär gespeichert werden. Ist der Kondensator 01 mit einem Schlüssel K beschrieben worden, so kann der Transistor durch Ausschalten der Spannungsquelle U so geschaltet werden, dass im Anschluss daran die Ladung Vstored und damit der Schlüssel K im Kondensator 01 temporär gespeichert ist.
Ist ein Schlüssel K im Kondensator 01 gespeichert, so kann nun mithilfe des Digital- Analog-Wandlers eine digitale Abfrage Q in eine Spannung VDL konvertiert werden. Die Spannung VDL kann an den + Eingang des Komparators Corn angelegt sein. Der Kondensator 01 kann dann mit dem Minuseingang des Komparators Corn verbunden sein. Der Komparator Corn kann dann die Spannung VDL mit der im Kondensator gespeicherten Spannung Vstored vergleichen. Der Komparator Corn kann dann prüfen, ob die Spannung VDL größer als die Spannung Vstored ist. Ist die Spannung VDL kleiner als die Spannung Vstored, dann kann der Komparator ein analoges elektrisches Signal ausgeben. Die Schaltung kann aber auch so sein, dass der Komparator ein analoges elektrisches Signal ausgeben kann, wenn die Spannung VDL größer als die Spannung Vstored ist.
Umso größer der Unterschied zwischen den beiden Spannungen VDL und Vstored ist, umso größer kann das vom Komparator Corn ausgegebene elektrische Signal sein. Das vom Komparator Corn ausgegebene analoge elektrische Signal kann nach oben hin begrenzt sein. Der Komparator Corn kann beispielsweise ein elektrisches Signal ausgeben, das zwischen „low“ und „high“ bzw. 0 und 1 liegt. Der Komparator Corn kann so eine Information über eine gesuchte Ähnlichkeit ausgeben.
Die in der Figur 2 gezeigten Komponenten Transistor M1, Kondensator C1 und Komparator Corn können als Teil einer dRAM CAM Speicherzelle angesehen werden, weil ein Schlüssel K wie bei einem dRAM gespeichert wird und ansonsten wie eine CAM arbeiten kann, bei der ausgelesen werden kann, ob eine gesuchte Information gespeichert ist. Es kann sich um eine aCAM-Zelle handeln. Eine aCAM kann über den Grad der Ähnlichkeit zwischen einer gespeicherten Information und einer im Speicher gesuchten Information informieren.
Die in der Figur 2 gezeigte erste Schaltung kann beispielsweise eine Ähnlichkeitsinformation für den Fall als ausgeben, dass die Spannung VDL größer als die Spannung Vstored ist. Um auch eine Ähnlichkeitsinformation für den Fall zu erhalten, wenn die Spannung VDL kleiner als die Spannung Vstored ist, kann die in der Figur 2 gezeigte Schaltung paarweise vorgesehen sein. An der ersten Schaltung eines Paares kann wie in der Figur 2 gezeigt die Spannung VDL angelegt werden. An der zweiten Schaltung des Paares kann die Spannung -VDL angelegt werden, also eine invertierte Spannung VDL. Bei einer 100-prozentigen Übereinstimmung zwischen einer Abfrage Q und einem Schlüssel K stimmen die elektrischen Signale der beiden Schaltungen dann überein. Die beiden elektrischen Signale der beiden Schaltungen können miteinander verglichen werden. Je größer die Übereinstimmung zwischen den beiden elektrischen Signalen ist, umso größer ist die Übereinstimmung zwischen der Abfrage Q und dem Schlüssel K. Eine erste und eine zweite Schaltung können daher Teil einer CAM-Zelle sein.
Eine Abfrage Q kann aus einer Mehrzahl von Spannungen VDL zusammengesetzt sein. Die Spannungen VDL können unterschiedlich groß sein. Um eine solche Abfrage Q mit einer Vielzahl von verschiedenen Schlüsseln K vergleichen zu können, kann die Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung eine Vielzahl von CAM- Zellen aufweisen. In den Kondensatoren C1 einer ersten und einer zweiten Schaltung einer CAM-Zelle können gleiche Schlüssel K gespeichert sein. In einer jeden CAM- Zelle kann ein anderer Schlüssel gespeichert sein. Eine aus einer Mehrzahl von
Spannungen VDL zusammengesetzte Abfrage Q kann so mit einer Vielzahl von Schlüsseln K verglichen werden.
Um Übereinstimmungen ermitteln zu können, kann das analoge elektrische Signal eines Komparators Corn einen Stromfluss durch einen Transistor M2 steuern. Beispielsweise kann der Transistor M2 ein pull-down Transistor sein. Je größer das vom Komparator Corn ausgegebene analoge elektrische Signal ist, umso größer kann der durch den Transistor M2 fließende Strom sein. Der elektrische Widerstand des Transistors M2 kann also ein Maß für eine Ähnlichkeit sein.
Der Transistor M2 kann mit einer elektrischen Leitung ML („match line“) verbunden sein. An die Leitung ML können eine Mehrzahl der in der Figur 2 gezeigten Schaltung auf diese Weise angeschlossen sein. Der Strom, der durch die elektrische Leitung ML fließt, ergibt sich als Summe der elektrischen Ströme, die durch die Kondensatoren M2 der an die elektrische Leitung ML angeschlossenen Schaltungen fließen. Der Strom, der durch die Leitung ML fließt, kann dann eine Information über den Grad der Ähnlichkeit sein.
Es kann sein, dass die beiden Ströme eines Paares von ersten und zweiten Schaltungen einer CAM-Zelle sich aufheben, wenn eine Spannung DL mit einer gespeicherten Spannung Vstored übereinstimmt. Sind eine Vielzahl von solchen Paaren an die Leitung ML angeschlossen, dann fließt kein Strom durch die Leitung ML, wenn jede Spannung VDL einer mit einer gespeicherten Spannung Vstored übereinstimmt. Eine Abfrage Q stimmt also dann mit Schlüsseln K maximal überein, wenn kein Strom durch die Leitung ML fließt.
Es kann sein, dass durch die Transistoren M2 eines Paares von ersten und zweiten Schaltungen einer CAM-Zelle im Fall einer Übereinstimmung kein Strom fließt. Sind eine Vielzahl von solchen Paaren an die Leitung ML angeschlossen, dann fließt kein Strom durch die Leitung ML, wenn jede Spannung VDL einer mit einer gespeicherten Spannung Vstored übereinstimmt. Eine Abfrage Q stimmt also dann mit Schlüsseln K maximal überein, wenn kein Strom durch die Leitung ML fließt.
In der Figur 3 wird eine CAM-Zelle gezeigt, die eine ersten Schaltung dRAM CAM und eine zweiten Schaltung dRAM CAM umfasst. Beide Schaltungen sind wie im Fall der Figur 2 mit einer elektrischen Leitung ML verbunden. Eine für eine Abfrage Q angelegte Spannung VDL kann mit der Spannung Vstored verglichen werden, die in der links gezeigten Schaltung dRAM CAM gespeichert sein kann. Die für eine Abfrage Q
angelegte Spannung VDL kann durch einen Inverter I in eine Spannung -VDL invertiert und anschließend mit der gleichen Spannung Vstored verglichen werden, die im Kondensator der rechts gezeigten Schaltung dRAM CAM gespeichert sein kann. Stimmt die für eine Abfrage Q angelegte Spannung VDL mit der gespeicherten Spannung Vstored überein, dann fließt kein Strom durch die elektrische Leitung ML. Gibt es eine Abweichung zwischen den beiden Spannungen VDL und , Vstored, dann fließt ein Strom durch die elektrische Leitung ML. In der Figur 3 werden weitere Leitungen Vsl als Spannungsversorgung gezeigt.
Werden eine Vielzahl der in der Figur 3 gezeigten Cam-Zelle mit der elektrischen Leitung ML verbunden, dann kann eine „or“ - Operation die Folge sein. Gibt es eine 100-prozentige Übereinstimmung, dann resultieren keine Ströme. Das Ergebnis ist dann kein Strom bzw. eine Null. Wird das Ergebnis invertiert, so repräsentiert eine „1“ eine 100-prozentige Übereinstimmung. Es handelt sich dann um eine NOR - Operation. Sobald in einem Fall von eine Abfrage Q nicht mit einem gespeicherten Schlüssel K übereinstimmt, fließt ein Strom, der als Abweichung von einer 100- prozentigen Übereinstimmung gewertet werden kann.
Es kann sein, dass keine Paare für die Bildung einer CAM-zelle verwendet werden, sondern stattdessen bei einer Schaltung wie diese in der Figur 2 gezeigt wird, zunächst eine Spannung VDL abgefragt wird und im Anschluss daran die invertierte Spannung - VDL, um eine vollständige Übereinstimmung auffinden zu können. Dies kann simultan geschehen.
Eine Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung kann eine Mehrzahl der in der Figur 2 oder 3 gezeigten Schaltungen aufweisen, aber nur einen DAC, mit dem dann sequentiell die Kondensatoren C1 beschrieben oder mit einer Spannung VDL bzw. -VDL verglichen werden können. Für ein sequentielles Schreiben können der Transistor M1 bzw. die beiden Transistoren M1 einer ersten CAM-Zelle durch eine in der Figur 4 gezeigte Spannung prog_en_0_0 angeschaltet, also auf Durchgang geschaltet werden, um einen ersten Kondensator C1 oder zwei erste Kondensatoren C1 mit einer durch den DAC bereitgestellte Spannung Vstored_o_o zu beschreiben, also entsprechend aufzuladen. Nach dem Beschreiben kann der der Transistor ausgeschaltet werden, indem die Spannung prog_en_0_0 ausgeschaltet wird. Im Anschluss daran können der Transistor M1 bzw. die beiden Transistoren M1 einer zweiten CAM-Zelle durch eine Spannung prog_en_0_1 angeschaltet werden, um einen zweiten Kondensator C1 oder zwei zweite Kondensatoren C1 mit einer Spannung
durch den DAC bereitgestellte Vstored_i_o zu beschreiben. Im Anschluss daran kann der Transistor M1 wieder abgeschaltet werden, indem die Spannung prog_en_0_1 abgeschaltet wird. Dies kann so lange fortgesetzt werden, bis sämtliche Kondensatoren C1 beschrieben worden sind. Die Figur 4 zeigt dies für vier Kondensatoren C1 bzw. Paare an Kondensatoren C1.
Es können aber auch alle Kondensatoren einer in der Figur 4 gezeigten horizontalen Reihe gleichzeitig beschrieben werden. In jeder horizontalen Reihe können mehr als die zwei gezeigten Kondensatoren vorhanden sein.
Es ist aber nicht ausgeschlossen, dass anfänglich sämtliche Transistoren M1 angeschaltet sind. Es kann dann die kleinste Spannung Vstored_o_o durch den DAC erzeugt werden. Nach dem Laden des gewünschten Kondensators C1 bzw. der gewünschten beiden Kondensatoren C1 kann der entsprechende Transistor M1 abgeschaltet werden. Im Anschluss daran kann die nächstgrößere Spannung Vstored_i_o angelegt werden, um einen nächsten Kondensator C1 bzw. zwei nächste Kondensatoren C1 zu beschreiben. Dies kann so lange fortgesetzt werden, bis sämtliche Kondensatoren C1 beschrieben worden sind.
In der Figur 4 wird ein Design eines integrierten Schaltkreises mit vier Zellen cell_0_y, cell_x_y, cell_0_0 und cell_x_0, also einem 2x2 Array, gezeigt. Eine jede Zelle umfasst einen Transistor M1 , einen Kondensator und einen Komparator Corn. Die beiden Zellen cell_0_y, cell_x_y sind in einer ersten Zeile und die Zellen cell_0_0, cell_x_0 in einer zweiten Zeile unterhalb der ersten Zeile angeordnet. Die beiden Zellen cell_0_y, cell_x_y der ersten Zeile sind an eine elektrische Leitung ML_0_y für ein Auslesen eines Ergebnisses und an eine schaltbare Spannungsquelle prog_en_0_y für ein Schalten der Transistoren M1 angeschlossen. Eine Or-Schaltung verknüpft also Zellen einer Zeile. Eine solche Schaltung wird auch NOR-Schaltung genannt. Die beiden Zellen cell_0_0, cell_x_0 der zweiten Zeile sind an eine elektrische Leitung ML_0_0 für ein Auslesen eines Ergebnisses an eine schaltbare Spannungsquelle prog_en_0_0 für ein Schalten der Transistoren M1 angeschlossen. Übereinander geordnete Zellen einer ersten Spalte cell_0_y, cell_0_0 werden über einen ersten der Digital-Analog-Konverter DAC_0_0 programmiert. Übereinander geordnete Zellen cell_x_y, cell_x_0 einer zweiten Spalte werden über einen zweiten Digital-Analog-Konverter DAC_x_0 programmiert.
Die beiden Zellen einer jeden Spalte können eine CAM-Zelle bilden, sodass kein Strom durch die Leitung ML_0_y bzw. ML_0_0 fließt, wenn die Spannungen VDL und Vstored geeignet übereinstimmen, also eine Anfrage Q mit dem in den Zellen einer Zeile gespeicherten gleichen Schlüsseln K. Durch den DAC_0_0 wird dann für eine Abfrage die Spannung VDL erzeugt. Durch den DAC_x_0 wird dann für eine Abfrage die Spannung - DL erzeugt. Der jeweilige Komparator liefert dann kein Signal.
In der Figur 5 wird eine Ausgestaltung einer CAM-Zelle gezeigt, die nur einen Transistor M1 , nur einen Kondensator C1 und nur einen Komparator Corn umfasst. Dies wird durch eine zur Figur 2 geänderte Anbindung an die elektrische Leitung ML erreicht, die zwei Transistoren M2 und M3 umfasst. Die Transistoren M2 und M3 sind in Reihe geschaltet und können durch den Komparator COM geschaltet werden. An die Leitung ML ist eine Spannung gegenüber der rechts unten dargestellten Erde gnd angelegt. Im Fall einer Übereinstimmung zwischen einer Anfrage Q und einem gespeicherten Schlüssel K gibt der Komparator eine mittlere Spannung als Signal aus, die zwischen dem maximal möglichen Spannungssignal „high“ und dem minimal möglichen Spannungssignal „low“ liegt. Dies hat zur Folge, dass beide Transistoren M2 und M3 auf Durchgang geschaltet werden, also angeschaltet werden. Bei einer fehlenden Übereinstimmung wird vom Komparator Corn entweder ein Signal „low“ als Spannung ausgegeben oder ein Signal „high“. Wird „low“ als Signal, also keine Spannung, ausgegeben, so wird der eine Transistor M3 ausgeschaltet, und es kann kein Strom durch den Transistor M3 fließen. Wird „high“ als Signal, also eine maximal mögliche Spannung, ausgegeben, so wird der eine Transistor M2 ausgeschaltet, und es kann kein Strom durch den Transistor M2 fließen. Im Fall eines Signals „high“ oder „low“ kann daher kein Strom von der elektrischen Leitung ML durch die beiden Transistoren M2 und M3 hindurch zur Erde gnd fließen. Ein maximaler Strom fließt von der Leitung ML zur Erde gnd, wenn eine Anfrage Q mit einem gespeicherten Schlüssel K, also VDL mit Vstored, übereinstimmt. Ist eine Anfrage Q mit einem gespeicherten Schlüssel K ähnlich, dann fließt ein elektrischer Strom IML von der Leitung ML zur Erde gnd, der geringer als der maximal mögliche Strom ist. Die Stromstärke ist damit ein Maß für die Ähnlichkeit zwischen einer Abfrage Q und einem Schlüssel K. Um dies zu erreichen, kann der Transistor M2 ein PMOS Transistor bzw. p-Kanal-MOSFET und der Transistor M3 ein NMOS Transistor bzw. n-Kanal-MOSFET sein, wie diese durch die Schaltsymbole für die beiden Transistortypen in der Figur 5 auch grafisch gezeigt wird.
In der Figur 6 wird eine Ausführungsform mit zwei Zellen HBU und LBU gezeigt. Eine jede Zelle HBU, LBU umfasst einen Transistor M1 , einen Kondensator C1 und einen
Komparator Com. Eine jede Zelle HBU, LBU ist über einen Transistor M2, M3 an eine elektrische Leitung ML so angeschlossen, dass der jeweilige Komparator Corn den zugehörigen Transistor M2, M3 schaltet. Der Transistor M2 der Zelle HBU kann ein MOSFET sein. Der Transistor M3 der Zelle LBU kann ein MOSFET sein. Der eine Transistor kann wiederum ein PMOS Transistor und der andere ein NMOS Transistor sein. Die beiden Transistoren M2 und M3 können in Reihe geschaltet sein. Der eine Transistor M2 kann eingeschaltet sein, wenn der Komparator Corn der Zelle HBU ein Signal „low“ ausgibt, also keine Spannung. Der andere Transistor M3 der Zelle LBU kann ausgeschaltet sein, wenn der Komparator Corn der Zelle HBU ein Signal „high“ ausgibt, also eine maximal mögliche Spannung. Der eine Transistor M2 kann ausgeschaltet sein, wenn der Komparator Corn der Zelle HBU ein Signal „high“ ausgibt. Es kann dann kein Strom IML durch die Leitung ML fließen. Der andere Transistor M3 der Zelle LBU kann eingeschaltet sein, wenn der Komparator Corn der Zelle HBU ein Signal „low“ ausgibt. Es kann dann kein Strom IML durch die Leitung ML fließen. Ein Strom IML kann dann durch die Leitung ML fließen, wenn die beiden Komparatoren Corn der beiden Zellen HB und LBU eine mittlere Spannung im Fall eines einer Übereinstimmung zwischen einer Anfrage Q und den gespeicherten Schlüssel K ausgeben. Fließt ein Strom IML durch die Leitung ML, so ist dieser daher ein Maß für eine Übereinstimmung zwischen einer Abfrage Q und einem gespeicherten Schlüssel K. Die Figur 6 zeigt also eine CAM-Zelle mit einer UND-Verknüpfung, die den Grad einer Übereinstimmung zwischen einer Abfrage Q und einem Schlüssel K durch Fließen eines Stroms IML durch die Leitung ML anzeigen kann. Fließt kein Strom IML durch die Leitung ML, so stimmt die Anfrage Q mit dem gespeicherten Schlüssel K nicht überein. Fließt ein maximaler Strom IML durch die Leitung ML, so stimmt die Anfrage Q mit dem gespeicherten Schlüssel K maximal überein.
HBU ist eine Abkürzung für „High Boundary Gell“. LBU ist eine Abkürzung für „Low Boundary Gell“. Die beiden Zellen HBU und LBU geben eine untere und eine obere Grenze für ein Fenster vor, innerhalb der die Spannung DL liegen muss, um als Übereinstimmung gewertet zu werden. Die beiden Zellen HBU und LBU bilden eine CAM-Zelle.
In der Figur 7 wird eine weitere Ausführungsform einer CAM Zelle gezeigt, bei der ähnlich wie im Fall der Figur 6 durch zwei Transistoren M2 und M3 ein maximal großer Strom IML fließen kann, wenn eine Anfrage Q mit einem gespeicherten Schlüssel K übereinstimmt bzw. eine Spannung DL innerhalb eines Fensters liegt, welches durch die Zellen HBU und LBU durch Speicherung einer Spannung Vstored im Kondensator C1
vorgegeben wird. Im Fall der Figur 7 fließt im Fall einer Übereinstimmung ein Strom IML durch die elektrische Leitung ML zur Erde gnd.
In der Figur 8 wird ein Beispiel für den Aufbau eines Komparators anhand von fachüblichen Schaltsymbolen gezeigt. Das in der Figur 8 gezeigte Implementierungsbeispiel besteht aus einem Open-Loop-Operationsverstärker. Es umfasst eine dRAM Stufe 2, eine Differentialstufe 3 und eine Inverterstufe 4. Aus der Druckschrift „David A. Johns Kenneth W. Martin Tony Chan Carusone. Analog Integrated Circuit Design. Ed. by Joyce Pohm. Don Fowley John Wiley Sons, Inc., 2012. ISBN: ISBN 978-0-470-77010-8“ sind weitere Beispiele für Komparatoren bekannt.
Ein zweistufiger Komparator mit positiver Rückkopplung wird in „B.-S. Song, S.-H. Lee, and M.F. Tompsett. “A 10-b 15-MHz CMOS recycling two-step A/D converter”. In: IEEE Journal of Solid-State Circuits 25.6 (1990), pp. 1328-1338. DOI: 10.1109/4.62176” beschrieben. Ein zweistufiger Komparator mit Verriegelung ist aus der Druckschrift „S.R. Norsworthy, I.G. Post, and H.S. Fetterman. “A 14-bit 80-kHz sigma-delta A/D converter: modeling, design and performance evaluation. In: IEEE Journal of Solid- State Circuits 24.2 (1989), pp. 256-266. DOI: 10.1109/4.18584” bekannt.
In der Figur 9 wird eine weiterentwickelte Ausführungsform der Erfindung im Vergleich zu der Figur 5 dargestellten Ausführungsform gezeigt.
Anstelle eines Transistors M1 , der als Schalter arbeitet, um den Kondensator C1 zu beschreiben, kann es zwei Transistoren M1a und M1b geben. Die beiden Transistoren M1a und M1b können so parallelgeschaltet sein, dass diese als Schalter arbeiten können. Der eine Schreibtransistoren M1a kann ein PMOS Transistor und der andere Transistor M1b kann ein MMOS Transistor sein. Der Spannungsbereich, der für ein Beschreiben vorgesehen werden kann, kann dadurch im Vergleich zu der in der Figur 5 dargestellten Ausführungsform vergrößert werden. Spannungen von 0 Volt bis zur Versorgungsspannung können durch den Kondensator C1 gespeichert werden. Außerdem kann die Schreibgeschwindigkeit vergrößert werden.
Anstelle eines Komparators Corn können zwei Komparatoren Com-a und Com-b vorhanden sein. Der Kondensator C1 kann mit einem - Eingang des einen Komparators Com-a verbunden sein. Der Kondensator C1 kann mit einem + Eingang des anderen Komparators Com-b verbunden sein.
An dem anderen Eingang des einen Komparators Com-a kann während des Betriebs eine Spannung VDL_H anliegen. An dem anderen Eingang des anderen Komparators Com-b kann eine Spannung VDL_L anliegen. Der eine Komparator Com-a kann dann eine durch den Kondensator C1 gespeicherte Ladung bzw. einer daraus resultierenden Spannung Vstore mit der Spannung VDL_H vergleichen. Der andere Komparator Com- b kann dann die durch den Kondensator C1 gespeicherte Ladung bzw. die daraus resultierende Spannung mit der Spannung VDL_L vergleichen. Der Ausgang des einen Komparators Com-a kann mit dem Gate Anschluss eines Transistors M2 verbunden sein. Der Ausgang des anderen Komparators Com-b kann mit dem Gate Anschluss eines anderen Transistors M3 verbunden sein. Eine jeder Komparator COM-a, Com-b kann einen Transistor M2 bzw. M3 schalten.
Die beiden Transistoren M2 und M3 können in Reihe geschaltet sein. Im Fall einer Übereinstimmung zwischen einer Anfrage Q und einem gespeicherten Schlüssel K kann eine Spannung als Signal ausgegeben werden, die zwischen der Spannung VDL_L und der Spannung VDL_H liegen kann. Die Schaltung kann so sein, dass in diesem Fall beide Transistoren M2 und M3 auf Durchgang geschaltet werden. Es kann dann ein elektrischer Strom iMatch durch die beiden Transistoren M2 und M3 fließen.
Beispielsweise kann aus einer Anfrage eine gesuchte Spannung von 0,5 Volt resultieren. Eine gesuchte Spannung beträgt dann also 0,5 Volt. Die beiden Spannungen VDL_L und VDL_H werden dann so ausgewählt, dass ein Fenster erzeugt wird, innerhalb der die gesuchte Spannung liegt. Es kann eine Fensterbreitebreite AV ausgesucht werden, die beispielsweise 0,1 Volt betragen kann. Es kann dann eine dann eine halbe Fensterbreite, also 0,05 Volt, von der gesuchten Spannung subtrahiert werden, um eine untere Grenze festzulegen. Es können dann eine halbe Fensterbreite, also 0,05 Volt, und die gesuchte Spannung addiert werden, um eine obere Grenze festzulegen. Die Spannung VDL_L kann dann also etwas geringer als die gesuchte Spannung sein und beispielsweise 0,45 Volt betragen. Die Spannung VDL_H kann dann etwas größer als die gesuchte Spannung sein und beispielsweise 0,55 Volt betragen. Es ist dann Fenster eingestellt, und zwar auch für weitere CAM-Zellen, an denen die beiden Spannungen VDL_L und VDL_H entsprechend anliegen. Ist im Kondensator Vstore eine Ladung gespeichert, durch die eine Spannung von 0,5 Volt an die Eingänge der beiden Komparatoren Com-a und Com-b angelegt werden kann, so können beide Transistoren M2 und M3 eingeschaltet werden. Der Transistor M2 kann dafür ein PMOS Transistor sein. Der Transistor M3 kann dafür ein NMOS Transistor sein. An dem Gate-Anschluss des Transistors M2
kann dafür 0 Volt anliegen. An dem Gate-Anschluss des Transistors M3 kann dafür eine Versorgungsspannung anliegen. Es kann dann ein Strom iMatch durch die beiden Transistoren M2 und M3 fließen. Ist im Kondensator Vstore eine Ladung gespeichert, durch die eine Spannung von weniger als 0,45 Volt oder mehr als 0,55 Volt an die Eingänge der beiden Komparatoren Com-a und Com-b angelegt werden kann, dann kann nur ein Transistor M2 oder M3 eingeschaltet werden. Es kann dann kein Strom IMatch durch die beiden Transistoren M2 und M3 fließen. Durch einen durch die beiden Transistoren M2 und M3 fließenden Strom IMatch kann also signalisiert werden, wenn im Kondensator Vstore eine gesuchte Ladung gespeichert. Eine Fensterbreite kann also beispielsweise 10% der maximal verfügbaren Spannung betragen. Beispielsweise beträgt die maximal zur Verfügung stehende Spannung 1 Volt. Die Fensterbreite beträgt dann 0,1 Volt. Eine Fensterbreite kann wenigstens 1% oder wenigstens 5% der maximal verfügbaren Spannung betragen. Eine Fensterbreite kann nicht mehr als 50% oder nicht mehr als 20% oder nicht mehr als 15% der maximal verfügbaren Spannung betragen. Eine geeignete Fensterbreite kann durch Versuche ermittelt werden.
Die in der Figur 9 gezeigte CAM-Zelle kann eine CAM-Zelle einer Schaltung sein, die m weitere solcher CAM-Zellen in m-Richtung (angedeutet durch einen Pfeil m) und n weitere solcher CAM-Zellen in n-Richtung (angedeutet durch einen Pfeil m) umfasst.
Claims
1. Vorrichtung zur Durchführung einer Ähnlichkeitsbewertung für einen Aufmerksamkeitsmechanismus mit einem Kondensator (C1) zur Speicherung eines Schlüssels (K), mit einem Eingang für eine Abfrage (Q), mit einem Komparator (Corn) für ein Vergleichen einer Abfrage (Q), mit einem im Kondensator (C1) gespeicherten Schlüssel (K), wobei der Komparator (Corn) einen analogen Ähnlichkeitswert (S) als Ergebnis des Vergleichs ausgibt.
2. Vorrichtung nach dem vorhergehenden Anspruch mit einem Multiplikator, der den analogen Ähnlichkeitswert (S) mit einem Wert (V) multipliziert und als Ergebnis der Multiplikation eine Aufmerksamkeit (Attention(Q,K,V)) ausgibt.
3. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Multiplikator einen Analog-Digital-Wandler (DAC) umfasst, der den analogen Ähnlichkeitswert (S) digitalisiert, und einen Prozessor umfasst, der den digitalisierten Ähnlichkeitswert mit einem digitalisierten Wertevektor (V) multipliziert.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Kondensator (C1) über einen Schalter (M1) mit einem Digital-Analog- Wandler für ein Speichern eines Schlüssels (K) verbunden ist.
5. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Schalter (M1) ein Transistor ist, der durch eine Spannungsquelle (II) so geschaltet werden kann, dass in Abhängigkeit vom Schaltzustand des Transistors (M1) ein Schlüssel (K) im Kondensator (C1) gespeichert werden kann.
6. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Eingang (+ oder -) des Komparators (Corn) mit einem Digital-Analog- Wandler (DAC) für ein Vergleichen einer Abfrage (Q) mit einem im Kondensator (C1) gespeicherten Schlüssel (K) verbunden ist.
7. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Digital-Analog-Wandler (DAC) vorhanden ist, der einerseits mit dem Kondensator (C1) über einen Schalter (M1) für ein Aufladen des Kondensators (C1) verbunden ist und der andererseits mit einem Eingang (- oder +) des Komparators (Corn) für eine Abfrage (Q) verbunden ist.
8. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zwei Transistoren (M2, M3) vorhanden sind, die für ein Auslesen einer Abfrage in Reihe geschaltet sind und die über den Ausgang des Komparators (Corn) geschaltet werden können.
9. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der eine Transistor (M3) ein N-Kanal-MOSFET und der andere Transistor ein P- Kanal-MOSFET (M2) ist.
10. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorrichtung so eingerichtet ist, dass das Ergebnis einer Abfrage in einen elektrischen Strom umgewandelt wird, und ein Messgerät vorhanden ist, mit dem die Stromstärke des fließenden Stroms ermittelt wird.
11. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine analoge CAM-Zelle vorhanden ist.
12. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass eine Mehrzahl von CAM-Zellen vorhanden sind, die mit einer elektrischen Leitung (ML) für ein Auslesen verbunden sind.
13. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Vorrichtung ein integrierter Schaltkreis ist.
14. Verfahren zur Durchführung einer Ähnlichkeitsbewertung mit einer Vorrichtung nach einem der vorhergehenden Ansprüche, wobei in Kondensatoren (C1) Schlüssel (K) gespeichert werden, im Anschluss daran eine Abfrage (Q) mit den gespeicherten Schlüsseln (K) durch Komparatoren (Corn) für einen Erhalt einer Ähnlichkeit verglichen werden.
15. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass das Ergebnis des Vergleichs mit einem Wert (V) multipliziert und so ein Ergebnis erhalten wird, das einer berechneten Aufmerksamkeit (Attention(Q,K,) entspricht.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023209266.2A DE102023209266B4 (de) | 2023-09-22 | 2023-09-22 | Vorrichtung und Verfahren für eine Ähnlichkeitsbewertung |
| PCT/EP2024/068647 WO2025061322A1 (de) | 2023-09-22 | 2024-07-03 | Vorrichtung und verfahren für eine ähnlichkeitsbewertung |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4702502A1 true EP4702502A1 (de) | 2026-03-04 |
Family
ID=91853593
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24739478.6A Pending EP4702502A1 (de) | 2023-09-22 | 2024-07-03 | Vorrichtung und verfahren für eine ähnlichkeitsbewertung |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4702502A1 (de) |
| DE (1) | DE102023209266B4 (de) |
| WO (1) | WO2025061322A1 (de) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6421265B1 (en) * | 2001-03-22 | 2002-07-16 | Integrated Devices Technology, Inc. | DRAM-based CAM cell using 3T or 4T DRAM cells |
| DE102023205689A1 (de) | 2023-06-19 | 2024-12-19 | Forschungszentrum Jülich GmbH | Schaltkreis für einen CAM |
-
2023
- 2023-09-22 DE DE102023209266.2A patent/DE102023209266B4/de active Active
-
2024
- 2024-07-03 EP EP24739478.6A patent/EP4702502A1/de active Pending
- 2024-07-03 WO PCT/EP2024/068647 patent/WO2025061322A1/de active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025061322A1 (de) | 2025-03-27 |
| DE102023209266A1 (de) | 2025-03-27 |
| DE102023209266B4 (de) | 2026-02-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3689030T2 (de) | Schaltung zur Bestimmung der besten Anpassung an Eingangssignale. | |
| DE69529388T2 (de) | Halbleiterschaltung und ihre Anwendung in einer Operationsschaltung, einem Signalwandler und einem Signalverarbeitungssystem | |
| DE69332857T2 (de) | Halbleitervorrichtung. | |
| DE68918813T2 (de) | Verarbeitung von abgetasteten analogen elektrischen Signalen. | |
| DE112021001388T5 (de) | Architektur für speicherinternes Rechnen und Verfahren zur Durchführung von MAC-Operationen | |
| DE69019211T2 (de) | Analoges programmierbares neuronales Netzwerk. | |
| DE102021101727A1 (de) | Sram-basierte zelle für in-memory-computing und hybride rechen-/speicherarchitektur | |
| DE69009786T2 (de) | Schaltungsanordnung mit Mehrfachrückkopplung. | |
| DE102013109038A1 (de) | Ratiometrische A/D-Wandler-Schaltungsanordnung | |
| DE69110538T2 (de) | Neuronales Klassifikationssystem and -verfahren. | |
| DE69607166T2 (de) | Elektronische Anordnung zur Durchführung von Konvolutionsoperationen | |
| DE102020113902A1 (de) | Dac/adc-architektur für ai in speicher | |
| DE69502188T2 (de) | Elektronische schaltungen sowie verfahren zur bestimmung von abständen zwischen referenz- und datenpunkten | |
| DE112020000660T5 (de) | Arithmetikeinrichtung und multiplizier-akkumulier-system | |
| DE102017102907B4 (de) | VDD-referenzierte Abtastung | |
| DE102021105181A1 (de) | Vorrichtung und verfahren zum lesen von daten in einem speicher | |
| DE102023209266B4 (de) | Vorrichtung und Verfahren für eine Ähnlichkeitsbewertung | |
| EP0834117A1 (de) | Schaltungsanordnung zum vergleich zweier elektrischer grössen, die von einem ersten neuron-mos-feldeffekttransistor und einer referenzquelle zur verfügung gestellt werden | |
| WO2022063658A1 (de) | Skalarproduktschaltung und verfahren zum berechnen binärer skalarprodukte eines eingangsvektors mit gewichtsvektoren | |
| DE69125465T2 (de) | Schnelle Treiberschaltung für kapazitive Last, insbesondere für ICs sowie für Speicher | |
| WO2024260726A1 (de) | Schaltkreis für einen cam | |
| WO2024110488A1 (de) | Verfahren zur erkennung von parallelschaltungen in stromversorgungseinrichtungen | |
| DE102021119375B4 (de) | Eingangsstufe für einen abgetasteten analog-digital-wandler, abgetasteter analog-digital-wandler und verfahren zum testen eines analog-digital-wandlers | |
| DE19630111C1 (de) | Vorrichtungen zur selbstjustierenden Arbeitspunkteinstellung in Verstärkerschaltungen mit Neuron-MOS-Transistoren | |
| EP4150502B1 (de) | Verfahren zur analogen multiplikation und/oder berechnung eines skalarproduktes mit einer schaltungsanordnung, insbesondere für künstliche neuronale netzwerke |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20251125 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |