Assoziativspeicher
Ein Assoziativspeicher oder auch inhaltsadressierbarer Speicher (englisch Content Addressable Memory, CAM) ist eine Speicherform, bei der Speicherinhalte nicht mittels Adressierung der Speicherzelle, sondern mittels Assoziation des Inhalts abgerufen wird. Der Zugriff auf Daten erfolgt also über die Eingabe eines Speicherwertes und nicht über die Eingabe einer Speicheradresse.[1]
Das besondere Wesen eines Assoziativspeichers beruht auf der vom jeweiligen Zugriff unabhängigen Strukturorganisation – am besten nachvollziehbar mit der Frage: 'Was steht an noch nicht beschriebenen Speicherstellen?'. Während die Adressierung mit expliziten Adressen regelmäßig eine Listen- oder Tabellen-Struktur wieder gibt, bei welcher die daraus definierten Speicherstellen zunächst mit einem leeren Wert besetzt sind, entstehen im idealisierten Assoziativspeicher nur dort Speicherstellen, für die zuvor ein Schreibvorgang stattgefunden hat.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Die Idee eines Assoziativspeichers wurde bereits 1943 von Konrad Zuse skizziert,[2] konnte jedoch erst mit der Entwicklung der Halbleitertechnik realisiert werden. Heute ist der Assoziativspeicher weitgehend durch Hashing-Techniken ersetzt, die mit konventionellem Speicher arbeiten und daher wesentlich preiswerter implementierbar sind.
Einsatzbereiche
[Bearbeiten | Quelltext bearbeiten]Ein typischer Einsatzbereich sind schnelle Cache-Speicher.[3] Auch Speichertabellen, auf die häufig zugegriffen wird, können als Assoziativspeicher realisiert sein. Beispielsweise kommen in manchen Routern CAMs zur Paketweiterleitung und -klassifizierung zum Einsatz.[4] Ein weiteres Einsatzgebiet sind Datenstrukturen in der Künstlichen Intelligenz. So arbeitet auch das menschliche Gedächtnis mit Assoziationen; z. B. verbindet es mit bestimmten Gegenständen Erinnerungen an bestimmte Erlebnisse.
Für Computersysteme ist die Realisierung von großen Assoziativspeichern schwierig, da auch „unscharfe“ Eingaben zu einem gewünschten Ergebnis führen sollen (Fuzzy-Suche). Allgemein soll ein Eingabevektor einen Ausgabevektor liefern, wenn er genügend Ähnlichkeit mit einem Mustervektor aufweist. Um derartige Funktionen zu realisieren, wird auf neuronale Netze zurückgegriffen. Eine einfache Realisierung der beschriebenen Zuordnung gelingt beispielsweise durch eines der simpelsten neuronalen Netze, das einlagige Perzeptron.
Sonderformen
[Bearbeiten | Quelltext bearbeiten]Ein Ternary Content Addressable Memory (TCAM) arbeitet mit einem dritten logischen Wert, Don’t-Care, um auf die Speicherinhalte zuzugreifen.[5]
Fügt man mehrere Assoziativspeicher so zusammen, dass in ihnen außer Daten auch Programme abgelegt und ausgeführt werden können, so entsteht eine Assoziativmaschine.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Ali Çam: Content-addressable memory (CAM) circuits and architectures: A tutorial and survey. In: Solid-State Circuits, IEEE … 1. Januar 2006 (academia.edu [abgerufen am 7. Mai 2025]).
- ↑ Klaus Waldschmidt: Assoziativspeicher und eine erste Skizze von Konrad Zuse aus dem Jahre 1943. In: Informatik als Dialog zwischen Theorie und Anwendung. Vieweg+Teubner, Wiesbaden 2009, ISBN 978-3-8348-0824-0, S. 5, doi:10.1007/978-3-8348-9982-8_1 (springer.com [abgerufen am 7. Mai 2025]).
- ↑ Klaus Waldschmidt: Assoziativspeicher und eine erste Skizze von Konrad Zuse aus dem Jahre 1943. In: Informatik als Dialog zwischen Theorie und Anwendung. Vieweg+Teubner, Wiesbaden 2009, ISBN 978-3-8348-0824-0, S. 6, doi:10.1007/978-3-8348-9982-8_1 (springer.com [abgerufen am 7. Mai 2025]).
- ↑ Ali Çam: Content-addressable memory (CAM) circuits and architectures: A tutorial and survey. In: Solid-State Circuits, IEEE … 1. Januar 2006 (academia.edu [abgerufen am 7. Mai 2025]).
- ↑ Zarin Tasnim Sandhie, Farid Uddin Ahmed, Masud H. Chowdhury: Ternary Content Addressable Memory. In: Beyond Binary Memory Circuits: Multiple-Valued Logic. Springer International Publishing, Cham 2022, ISBN 978-3-03116195-7, S. 87–95, doi:10.1007/978-3-031-16195-7_7 (springer.com [abgerufen am 7. Mai 2025]).