Content-addressed memory (CAM)

Content-addressable memory (CAM) is computergeheugen dat werkt als een hardware-zoekmachine voor zoekintensieve toepassingen.

CAM is in staat de gehele inhoud in een enkele klokcyclus te doorzoeken. Het doet dat door het op SRAM gebaseerde geheugen te koppelen aan extra logische vergelijkingsschakelingen die elke klokcyclus actief zijn.

De manier waarop CAM werkt is bijna het tegenovergestelde van random access memory (RAM). Om gegevens op te halen die in RAM zijn opgeslagen, geeft het OS het geheugenadres waar de gegevens zijn opgeslagen. Gegevens die zijn opgeslagen op CAM, daarentegen, kunnen worden benaderd door te zoeken naar de inhoud zelf, en het geheugen haalt de adressen waar die inhoud kan worden gevonden. Vanwege het parallelle karakter is CAM veel sneller dan RAM voor het zoeken.

Ternary CAM (TCAM) voegt een derde toestand toe aan RAM, naast binaire, voor een wildcard-functionaliteit die voorziet in variabele tekens in zoekopdrachten en extra complexiteit aan de circuits toevoegt.

Omdat CAM en TCAM een lage capaciteit hebben, veel stroom verbruiken en daardoor veel warmte moeten afvoeren, blijven ze geïsoleerd tot gespecialiseerde toepassingen zoals Internet-routers en -switches, waar ze de snelheid verhogen van route-opzoekingen, pakketclassificatie, pakket-doorsturing en op toegangscontrolelijsten gebaseerde commando's.