Associative Memory in Computer Architecture
Many data-processing applications require the search of items in a table stored in memory. An assembler program searches the symbol address table to extract the symbol’s binary equivalent. A memory unit accessed by content is called an associative memory or content addressable memory (CAM).
When a word written in associative memory, it capable of finding an empty unused location to store the word. When a word is to be read from associative memory, the content of the word or part of the word is specified. The memory locates all words which match the specified content and marks them for reading.
Block Diagram of Associative Memory
It consists of a memory array with match logic for m n-bit words and associated registers. The argument register (A) and key register (K) each have n-bits per word. Each word in memory compared in parallel with the contents of the argument register. The words that match with the word stored in the argument register set corresponding bits in the match register.
Therefore, reading can be accomplished by sequential access to memory for those words whose corresponding bits in the match register have been set. The key register provides a mask for choosing a particular field or bits in the argument word. Only those bits in the argument register having 1’s in their corresponding position of the key register compared.