La memoria direccionable por contenido (CAM) es un tipo de memoria de computadora que se especializa en operaciones de búsqueda; esto se ha utilizado como hardware y como estructura de datos, pero más a menudo es hardware. A diferencia de la memoria de acceso aleatorio (RAM), que funciona mirando una determinada dirección, la memoria direccionable por contenido encuentra una palabra en toda la estructura. CAM suele ser mucho más rápido que RAM, porque realiza toda esta búsqueda en un ciclo de reloj, pero a partir de 2011, su fabricación cuesta mucho más. Esta memoria suele ser más grande que la RAM, pero se requieren menos transistores. Su mayor costo significa que CAM generalmente se usa como memoria suplementaria durante el modo de suspensión o se agrega a computadoras especializadas.
La RAM y la memoria direccionable por contenido actúan de manera similar en el sentido de que ambos buscan datos, pero lo hacen de manera diferente. Cuando alguien busca con RAM, el usuario apunta hacia una dirección de memoria y la RAM recupera información de esa dirección. Con CAM, el usuario proporciona lo que está buscando, y el CAM busca en todas las direcciones de memoria y devuelve todas las instancias de la consulta de búsqueda. El CAM también puede devolver palabras de datos similares, porque pueden ser útiles.
CAM busca todas las direcciones de memoria en un ciclo de reloj, en lugar de buscar solo una dirección de memoria, por lo que suele ser más rápido que la RAM. Si bien es más rápida, la memoria direccionable por contenido cuesta más porque requiere más circuitos que la RAM. Esta memoria también usa más energía en general, porque busca muchas más direcciones a la vez y se necesita más energía para admitir esta función.
CAM suele ser más grande que la RAM, debido a la gran cantidad de circuitos necesarios para que la memoria direccionable por contenido funcione correctamente. La mayoría del hardware CAM tiene aproximadamente el tamaño de un disco compacto (CD) y el hardware tiende a ser circular. Al mismo tiempo, necesita aproximadamente la mitad de los transistores que necesita la RAM, porque las células pueden compartir un transistor.
Sus limitaciones significan que CAM no se suele utilizar como memoria principal, aunque es más rápido. En cambio, se utiliza para complementar las funciones de RAM, especialmente durante el modo de suspensión. Esto evita que la computadora olvide o pierda datos mientras está en suspensión prolongada y tiende a consumir menos energía que la RAM durante el modo de suspensión. Algunas computadoras especializadas usan CAM como fuente de memoria principal, pero a menudo no se lanzan al público debido a sus altos costos. Estas computadoras especializadas suelen tener bases de datos masivas que no se pueden buscar adecuadamente con RAM, lo que obliga al usuario a confiar en CAM.