O que é memória endereçável por conteúdo?
CAM (Content-Addressable Memory) é um tipo de memória de computador especializada em operações de pesquisa; isso foi usado como hardware e como estrutura de dados, mas com mais frequência é hardware. Diferentemente da RAM, que funciona olhando para um determinado endereço, a memória endereçável ao conteúdo encontra uma palavra em toda a estrutura. O CAM geralmente é muito mais rápido que a RAM, porque realiza toda a pesquisa em um ciclo de clock, mas a partir de 2011, custa muito mais para fabricar. Essa memória geralmente é maior que a RAM, mas são necessários menos transistores. Seu custo aumentado significa que o CAM normalmente é usado como memória suplementar durante o modo de suspensão ou adicionado a computadores especializados.
A RAM e a memória endereçável ao conteúdo agem de maneira semelhante, pois ambas pesquisam dados, mas o fazem de maneira diferente. Quando alguém pesquisa com RAM, o usuário aponta para um endereço de memória e a RAM recupera informações desse endereço. Com o CAM, o usuário fornece o que está procurando e o CAM pesquisa todos os endereços de memória e retorna todas as instâncias da consulta de pesquisa. O CAM também pode retornar palavras de dados semelhantes, porque podem ser úteis.
O CAM pesquisa todos os endereços de memória em um ciclo de clock, em vez de pesquisar apenas um endereço de memória, portanto, normalmente é mais rápido que a RAM. Embora seja mais rápida, a memória endereçável ao conteúdo custa mais porque requer mais circuitos que a RAM. Essa memória também consome mais energia em geral, porque pesquisa muitos mais endereços ao mesmo tempo e é necessária mais energia para suportar esta função.
O CAM normalmente é maior que a RAM, devido aos muitos circuitos necessários para que a memória endereçável ao conteúdo funcione corretamente. A maioria dos hardwares CAM é do tamanho de um CD (CD), e o hardware tende a ser circular. Ao mesmo tempo, ele precisa de cerca da metade dos transistores que a RAM precisa, porque as células podem compartilhar um transistor.
Suas limitações significam que o CAM normalmente não é usado como memória principal, mesmo que seja mais rápido. Em vez disso, é usado para complementar as funções de RAM, especialmente durante o modo de suspensão. Isso evita que o computador esqueça ou perca dados durante um sono prolongado e tende a usar menos energia do que a RAM durante o modo de suspensão. Alguns computadores especializados usam o CAM como fonte de memória primária, mas estes geralmente não são divulgados ao público devido aos seus altos custos. Esses computadores especializados geralmente possuem bancos de dados maciços que não podem ser pesquisados adequadamente com RAM, forçando o usuário a confiar no CAM.