Table of contents
1.
Introduction
2.
What is Associative Memory
2.1.
Hardware Organization
3.
Relationship between the memory array and the external registers in associative memory
4.
Read-Write operation
5.
FAQs
6.
Key Takeaways
Last Updated: Mar 27, 2024

Associative Memory

Author Muskan Gupta
4 upvotes
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Associative memory can be a memory unit whose database can be identified as accessible by the data itself instead of an address or memory location. This way, it optimizes the process of searching the data. It is also termed as an associative array or associative storage. But, one popular term used for associative memory is content addressable memory (CAM). In this blog, we will learn about the concept of associative memory along with its hardware organization and operations of read-write. Let's begin!!

Recommended Topic, Microinstruction in Computer Architecture

What is Associative Memory

Associative memory is a memory unit whose database can be accessed by the data or content instead of an address or memory location. It is also called content addressable memory or CAM. It helps optimize searching any data as the searching process does not involve addressing, but it works on data.

Hardware Organization

Block diagram of Associative memory

Source: https://tutorialsinhand.com/

The diagram shown above is a block diagram of the hardware organization of associative memory. It includes input register, mask register, select register and output register, and an associative array with m words, each with n bits. 

Here, the function of the input register is to hold the content that we want to write or search in the associative memory. At the moment, it can hold only one word having length let us say n. The function of the mask register is to provide a mask for selecting a specific key or field in the word of the input register. The input register can hold single word length data, where length is n so that the maximum value of the mask register's length can be n. The function of the select register is to contain m-bits, one for each memory's word. If the input data of the input register get compared with the key in the m registers, and we get a match, then that particular bit is set in the select register. The function of the output register is to contain the data word that got matched retrieved from the associative memory.

You can also read about - Shift Registers in Digital Electronics

Relationship between the memory array and the external registers in associative memory

Following is the diagram showing the relationship between the memory array and external registers in associative memory:
 

Associative memory of m words and n cells per word

Source: https://upscfever.com/upsc-fever/en/gatecse/en-gatecse-chp166.html

 

These are the cells marked by the letter C in the array with two subscripts. The first subscripts provide the word number, and the second one depicts the bit's position in the world. So, cell Cij is the cell for bit j in word i. Bit Ai in the argument register got compared with every bit in column j of the array provided that Ki = 1. This has been done for every column j = 1, 2, . . . , n. If one match occurs between every unmasked bit of the argument and the bits in word i, the corresponding bit M1 in the match register is set to 1. If one or more unmasked bits of the argument and the word do not match, M1 is cleared to 0.

Read-Write operation

When we read a word present in the associative memory, then the content of the word, or the part of the word, is specified. Words related to the specified content are memorized and marked for reading. No address or memory location is named when we write in associative memory. The memory itself can detect the space that will not store the word.

You can also read about the memory hierarchy.

FAQs

1. What are the applications of associative memory?

Ans:- Following are the applications of associative memory:-

  • 1. It is suitable for parallel searching.
  • 2. The searching process becomes fast by using this.

 

2. When we get the page in associative memory, what is it called?

Ans:- When we get the page in associative memory, it is called a "hit."

 

3. What is the term known for the percentage of times a page is found in the associative array?

Ans:- Hit Ratio is the term known for the percentage of times a page is found in the associative array.

 

4. What are the registers involved in the hardware organization of associative memory?

Ans:- The registers involved in the hardware organization of associative memory are input register, mask register, select register, and output register.

 

5. What is the function of the input register in associative memory?

Ans:- The function of the Input Register is to hold the content that we want to write or search in the associative memory. At the moment, it can keep only one word.

 

6. What are the advantages of associative memory?

Ans:- Following are the advantages of associative memory:-

  • 1. It is suitable for parallel searching.
  • 2. The searching process becomes fast by using this.

 

7. State a disadvantage of associative memory?

Ans:- It is costlier than RAM.

Key Takeaways

In this article, we have extensively discussed the concepts of Associative Memory, along with its hardware organization and operations of read-write and frequently asked questions. 

Read more about, Register in Computer and MVVM Architecture Android

We hope that this blog has helped you enhance your knowledge regarding Associative memory and if you would like to learn more, check out our articles on parallel processing. Do upvote our blog to help other ninjas grow. Happy Coding!

Live masterclass