Wikipedia · einfach zusammengefasst · Stand
Assoziativspeicher
Ein Assoziativspeicher oder auch inhaltsadressierbarer Speicher (englisch Content Addressable Memory, CAM) ist eine Speicherform, bei der Speicherinhalte …
Inhalt5 Abschnitte
Definition und Funktionsweise
Ein Assoziativspeicher, auch inhaltsadressierbarer Speicher (englisch Content Addressable Memory, CAM) genannt, ist eine Speicherform, bei der Speicherinhalte nicht über die Adresse der Speicherzelle, sondern über den Inhalt selbst abgerufen werden. Der Zugriff auf Daten erfolgt also durch die Eingabe eines Speicherwertes statt einer Speicheradresse. Die gespeicherten Einträge werden dabei parallel mit dem Suchwert verglichen (assoziative Suche), im Unterschied zum herkömmlichen RAM, das nur über Adressen zugreift. Ein wesentliches Merkmal ist die von der Zugriffsart unabhängige Strukturorganisation: Während bei expliziten Adressen eine Listen- oder Tabellenstruktur entsteht, bei der nicht beschriebene 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
Die Idee eines Assoziativspeichers wurde bereits 1943 von Konrad Zuse skizziert. Realisiert werden konnte sie jedoch erst mit der Entwicklung der Halbleitertechnik. Heute ist der Assoziativspeicher weitgehend durch Hashing-Techniken ersetzt, die mit konventionellem Speicher arbeiten und daher wesentlich preiswerter implementierbar sind.
Einsatzbereiche
Typische Einsatzbereiche eines Assoziativspeichers sind schnelle Cache-Speicher sowie Speichertabellen, auf die häufig zugegriffen wird. In manchen Routern kommen CAMs zur Paketweiterleitung und -klassifizierung zum Einsatz. Ein weiteres Einsatzgebiet sind Datenstrukturen in der Künstlichen Intelligenz. Auch das menschliche Gedächtnis arbeitet mit Assoziationen; es verbindet beispielsweise mit bestimmten Gegenständen Erinnerungen an bestimmte Erlebnisse.
Fuzzy-Suche und neuronale Netze
Die Realisierung großer Assoziativspeicher in Computersystemen ist schwierig, weil auch „unscharfe“ Eingaben zu einem gewünschten Ergebnis führen sollen (Fuzzy-Suche). Allgemein soll ein Eingabevektor E_i einen Ausgabevektor A_i liefern, wenn er genügend Ähnlichkeit mit einem Mustervektor M_i aufweist. Um derartige Funktionen zu realisieren, wird auf neuronale Netze zurückgegriffen. Eine einfache Realisierung dieser Zuordnung gelingt beispielsweise durch eines der simpelsten neuronalen Netze, das einlagige Perzeptron.
Sonderformen
Ein Ternary Content Addressable Memory (TCAM) arbeitet mit einem dritten logischen Wert, Don’t-Care, um auf die Speicherinhalte zuzugreifen. 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.