- Trending Categories
- Data Structure
- Operating System
- C Programming
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is Associative Memory?
An associative memory can be treated as a memory unit whose saved information can be recognized for approach by the content of the information itself instead of by an address or memory location. Associative memory is also known as Content Addressable Memory (CAM).
The block diagram of associative memory is shown in the figure. It includes a memory array and logic for m words with n bits per word. The argument register A and key register K each have n bits, one for each bit of a word.
The match register M has m bits, one for each memory word. Each word in memory is related in parallel with the content of the argument register.
The words that connect the bits of the argument register set an equivalent bit in the match register. After the matching process, those bits in the match register that have been set denote the fact that their equivalent words have been connected.
Reading is proficient through sequential access to memory for those words whose equivalent bits in the match register have been set.
The key register supports a mask for selecting a specific field or key in the argument word. The whole argument is distinguished with each memory word if the key register includes all 1's.
Hence, there are only those bits in the argument that have 1's in their equivalent position of the key register are compared. Therefore, the key gives a mask or recognizing a piece of data that determines how the reference to memory is created.
The following figure can define the relation between the memory array and the external registers in associative memory.
The cells in the array are considered by the letter C with two subscripts. The first subscript provides the word number and the second determines the bit position in the word. Therefore cell Cij is the cell for bit j in word i.
A bit in the argument register is compared with all the bits in column j of the array supported that Kj = 1. This is completed for all columns j = 1, 2 . . . , n.
If a match appears between all the unmasked bits of the argument and the bits in word i, the equivalent bit Mi in the match register is set to 1. If one or more unmasked bits of the argument and the word do not match, Mi is cleared to 0.
- What is Auxiliary Memory?
- What is Multiport Memory?
- What is Control Memory?
- What is Virtual Memory?
- What is memory hierarchy?
- What is the Main Memory?
- What is Cache Memory? (Functions and Types of Cache Memory)
- What is Distributed memory MIMD Architecture?
- What is primary and secondary memory?
- What is Dynamic Memory Allocation in C?
- What is Memory Leak in C/C++?
- What is Cache Memory in Computer Architecture?
- What is Memory Transfer in Computer Architecture?
- What is Memory Stack in Computer Architecture?