Content-addressable memory
Content-addressable memory is RAM which does not use addresses to label or find each cell; rather, each cell has a 'tag' associated with it, which is loaded at the same time as the contents of the cell are stored. To read the desired cell, the tag that is being searched for is presented, the tags on all the cells are compared to the tag that has been presented, and if a matching tag is found, the contents of the associated cell are presented.
This functionality can be implemented by an algorithm running on simplistic hardware, linearly scanning an array of cells, but a single retrieval operation will obviously require a time related to the numbers of cells. If the implementation is moved into hardware, all the comparisons can be done in parallel, and the results (if any) presented in a single clock cycle.
External links
- Lawrence Chisvin, R. James Duckworth, Content-Addressable and Associative Memory: Alternatives to the Ubiquitous RAM, IEEE Computer, 22(7):51 64, July 1989
- Kostas Pagiamtzis, Ali Sheikholeslami, Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey, IEEE Journal of Solid-State Circuits, Vol. 41, No. 3, March 2006
- Content-Addressable Memory Introduction