Che cos’è la memoria indirizzabile al contenuto?

La memoria indirizzabile al contenuto (CAM) è un tipo di memoria per computer specializzata in operazioni di ricerca; questo è stato usato come hardware e come struttura dati, ma più spesso è hardware. A differenza della memoria ad accesso casuale (RAM), che funziona guardando un determinato indirizzo, la memoria indirizzabile al contenuto trova una parola nell’intera struttura. La CAM è di solito molto più veloce della RAM, perché esegue l’intera ricerca in un ciclo di clock, ma a partire dal 2011 costa molto di più da produrre. Questa memoria è in genere più grande della RAM, ma sono necessari meno transistor. Il suo costo maggiore significa che la CAM viene generalmente utilizzata come memoria supplementare durante la modalità di sospensione o viene aggiunta a computer specializzati.

La RAM e la memoria indirizzabile al contenuto agiscono in modo simile in quanto entrambi cercano i dati, ma si comportano in modo diverso. Quando qualcuno cerca con la RAM, l’utente punta verso un indirizzo di memoria e la RAM recupera le informazioni da quell’indirizzo. Con CAM, l’utente fornisce ciò che sta cercando e il CAM cerca in tutti gli indirizzi di memoria e restituisce tutte le istanze della query di ricerca. La CAM può anche restituire parole di dati simili, perché possono essere utili.

CAM cerca tutti gli indirizzi di memoria in un ciclo di clock, invece di cercare solo un indirizzo di memoria, quindi è in genere più veloce della RAM. Sebbene sia più veloce, la memoria indirizzabile al contenuto costa di più perché richiede più circuiti della RAM. Questa memoria utilizza anche più energia in generale, perché cerca molti più indirizzi contemporaneamente ed è necessaria più energia per supportare questa funzione.

La CAM è in genere più grande della RAM, a causa dei numerosi circuiti necessari per il corretto funzionamento della memoria indirizzabile al contenuto. La maggior parte dell’hardware CAM ha le dimensioni di un compact disc (CD) e l’hardware tende ad essere circolare. Allo stesso tempo, ha bisogno di circa la metà dei transistor di cui la RAM ha bisogno, perché le celle possono condividere un transistor.

I suoi limiti significano che la CAM non viene in genere utilizzata come memoria principale, anche se è più veloce. Viene invece utilizzato per integrare le funzioni della RAM, specialmente durante la modalità di sospensione. Ciò impedisce al computer di dimenticare o perdere dati durante una sospensione prolungata e tende a consumare meno energia rispetto alla RAM durante la modalità di sospensione. Alcuni computer specializzati utilizzano CAM come fonte di memoria primaria, ma spesso non vengono rilasciati al pubblico a causa dei loro costi elevati. Questi computer specializzati in genere hanno enormi database che non possono essere adeguatamente cercati con la RAM, costringendo l’utente a fare affidamento su CAM.