Computer Science Tutorial

Content addressable memory

      Generally main memory is accessed using unique address for every word. But in certain scenario we need some kind of high speed memory that can be accessed by the content itself rather than the address. This kind of high speed memory is called Content Addressable Memory or Associative memory. With Content Addressable Memory some kind of extra logic is required to guess the content of the word. To implement this, we need to add logic circuits with every word in the content addressable memory. This extra logic circuitry makes this memory more complex, faster and costlier than main memory.

A content addressable memory is more expensive than random access memory because each cell must have storage capability as well as logic circuits for matching its content with external argument. For this reason, we can not build large size content addressable memory. In a computer, we generally have very small size of content addressable memory. A Content Addressabloe Memory also termed as Associative Memory.

Where do Content Addressable memory is used?


Because of its speed, Content Addressable memory is generally used in cache memory. In content Addressable memory we use static RAM rather than Dynamic RAM.

Block diagram of Associative Memory



It consists of a memory array of m words with n bits per word, a match register, an argument register and key register. The size of match register is m bits for every word in the memory array. Key register and argument register are each of size n bits which represent every bits in the memory word.

Every word in the memory are compared in parallel with the content of argument register. For every word in memory array that matches argument register, the corresponding bit in the match register is set. After the comparison, those bits in the matech register that have been set indicate the fact that correspoinding words in the memory array has matched. Now these matched words are accessed sequentially. The role of key register in associative mapping process is that it provides a mask to choose a particular field. For example, if certain bits in the key register are set to 1 then only corresponding bits of argument register are compared with the bits in the memory word. If all bits are set in key register than all the bits of the argument register are compared with memory word.
BN Computer Academy
All Rights Reserved