Une mémoire adressable par le contenu (CAM, en anglais Content-Addressable Memory) est un type de mémoire informatique spécial, utilisé dans certaines applications pour la recherche à très haute vitesse. Elle est aussi connue sous le nom de mémoire associative (associative memory, associative storage, ou associative array). Contrairement aux mémoires informatiques standards (random access memory ou RAM) pour lesquelles l'application utilisatrice fournit une adresse mémoire et la RAM renvoie la donnée stockée à cette adresse, une CAM est conçue de manière que l'application utilisatrice fournisse un mot de donnée et la CAM recherche dans toute la mémoire pour voir si ce mot y est stocké. Si le mot est trouvé, le CAM renvoie une liste d'une ou plusieurs adresses où le mot a été trouvé (et dans certaines architectures, il renvoie également le mot de donnée, ou d'autres morceaux de données associés). Ainsi, une CAM est l'équivalent matériel de ce que l'on appelle un tableau associatif en logiciel. Parce qu'une CAM est conçue pour chercher dans toute sa mémoire en une seule opération, il est plus rapide que la RAM dans toutes les applications de recherche d'un contenu ou de traduction inverse. Le revers de la médaille est qu'au contraire de la RAM, qui a des cellules de stockage simples, chaque bit de mémoire individuel dans une CAM complètement parallèle doit avoir son propre circuit de comparaison pour détecter une correspondance entre le bit stocké et le bit d'entrée. En plus, les sorties de correspondances de chaque cellule du mot de donnée doivent être combinées pour aboutir à un signal correspondant au mot entier. Le circuit additionnel augmente la taille physique de la puce CAM ce qui augmente le coût de fabrication, et augmente également la puissance de dissipation puisque chaque circuit de comparaison est actif à chaque cycle d'horloge. En conséquence, un CAM n'est utilisé que dans les applications spécialisées où la vitesse de recherche ne peut pas être atteinte en utilisant une méthode moins coûteuse, et couramment dans les Switch réseau.
Andras Kis, Guilherme Migliato Marega