Associative Memory

Associative Memory

Unlike the main memory which is accessed using the contents address and in sequential method, the associative memory is accessed by contents and is also called as the content addressable memory. For writing a word in memory, unused space is found by memory and the word written their. Word is read from memory by matching the word or its part with the contents/word  stored in memory.

Difference between main memory and associative or content addressable memory

Main Memory
Associative or Content addressable memory
Memory accessed by using address of contents/words
Memory is accessed by matching contents with word stored in memory
To store a word, we assign the address and write the word at that address
To write a word, memory finds the empty space and writes it there.
To read a word an address is assigned and then a read command given.
To read operation is performed by matching the content with every word in the memory.
It has address decoder
It has a match logic
This type of memory is Cheaper
This memory is expensive
It is slow
Employed in general purpose computers
Employed in applications where search time very critical and may be very short

Organization of associative memory

This type of memory consists of argument register, key register, match register, and the memory array with match logic. Figure shows the organization of such memory.

Figure : Associative memory organization


Each word in memory is compared with content of argument register in parallel

The word that match the bits of argument register set a bit in match register

Key register is used to mask or unmask the bits of the argument register for choosing the searching criteria whole or piece of argument register for match logic


Register A                       101 10101

Register K                      101 00000

Word 1 in memory          100 10101            No match

Word 2 in memory          101 10111            match

Match logic for each cell

Each bit of the memory word is matched with the corresponding bit of the argument register. Figure shows one cell of the memory and its match logic.

A memory cell consist of a flip-flop for storing a bit, read/ write logic, a match logic as shown in figure.


Write to memory cell :

  • Provide the bit at the input
  • Give Write command.
  • Output of a cell (a FF) =Fij

Figure : Match Logic single cell

 Match Logic:

  • It consists of simple two bit comparator that compares Fij and Aj of the argument register.
  • An XNOR acts as an equality logic and algebraically it is written as :

Xj = Aj ꙩ Fij       or      (Aj.Fij + Aj’.Fij’)

All the xj are then ANDed to get the Mi as:

Mi = x1.x2.x3………..xn


  • The key register bits Kj in the comparison logic is include as per the following algorithm

Xj + Kj’    =     xj     if   kj = 1

=    1       if  kj = 0

This can be achieved by including an OR gate with xj and kj’ as inputs.





Leave a Reply

error: Content is protected !!