free hit counter

Associative Memory

Date: 15 Apr 2015

Associative memory is a memory unit which can be accessed by content. It is also known as content addressable memory (CAM). It is accessed simultaneously and in parallel on the basis of data content rather than by specific address or location. No address is required when a word is written in an associative memory. This is in contrast with RAM which requires address to retrieve the data. Moreover associative memory is able to find empty unused location to store the word. Content or part of the word is required to read a word from the memory. It then locates all the matched words and mark them for reading.

In other words, associative memory is a collection of elements having parallel data storage and accessing capabilities on the basis of content. Here the term associative refers to association between data.

Associative memories can be built using neural networks. The networks may or may not have feedback though the latter produce better results. The function of CAM is to recognize already learned input vectors even if noise has been added.

Associative memory organization

It consists of argument register (A), Key register (K), array and match register. Argument register stores the n-bit word to be searched. Key register tells which part of the word is to be compared. Associative memory array stores the word that are to be compared with argument word. Match register contains m bit, one bit corresponds to word in the array. Once the matching process is over the bit is set to 1.

Advantages

Data can be stored and retrieved without knowing the memory address.
CAM systems are faster because data need not be stored in sorted order, lookups based on different keys at different times over same data and records need not be stored again and again.

Disadvantages

Floating point arithmetic is not efficient as it requires sequentially normalized cell contents.
Associative memory is costlier than RAM because each cell should have extra storage capability and logic circuit for matching content with argument.

Applications

CAMs are used in Cisco catalyst switches to store MAC addresses used for switching. This is because MAC addresses are of fixed length and CAMs store and search fixed length data.
CAM functions are used to implement buffer memory organizations to achieve very high performance.
CAM is also used to implement programmed sequential control operations in CPUs and other devices.