Associative memory. Virtual memory

The main role of associations in memorization is that we link new knowledge to information we already know. To build a good association, you need to know some useful criteria for finding connections between things, as well as develop your associative thinking and creative imagination. It is equally important to learn how to build associative series and connections to stimulate figurative memory. This lesson will show you how to use the association building method for .

What are associations?

Association- this is a connection between individual facts, events, objects or phenomena reflected in a person’s consciousness and enshrined in his memory. Associative perception and thinking of a person lead to the fact that the appearance of one element under certain conditions evokes the image of another associated with it.

In addition, expanding the range of associations can be achieved through targeted training. Below we offer you some simple exercises:

Exercises

Exercise 2. Drawing up a chain of associations. Choose any word and start building a chain of associations from it, writing them down on paper. Try to write down associations as quickly as possible, and make the connections as unusual as possible.

Exercise 3. Search for missing associations. Choose any two words or phrases that should have as little in common as possible. Try to build an association that connects these two words. For example, for the words “morning” and “food” the element complementing the associative series will be the word “breakfast”. Try to find the missing link for the words: film and dream, elevator and car, flower and skyscraper.

Exercise 4. Suitable associations. Choose two words and try to name associations that are suitable for each of these words at the same time. For example, for the words “white” and “light” one can name the following associations: snow, fluff, feather, etc. To complicate the exercise, you can choose not two, but three or even more words.

Exercise 5. Unusual associations. To develop associative thinking for the purpose of better memorization, it is useful to be able to look for the most striking and non-standard associations. In this case, the image will be better fixed in memory. Most people will give the following associations for these words and phrases:

  • Russian poet - Pushkin
  • Poultry - chicken
  • Fruit - apple
  • Part of the face - nose

Try to come up with other, less popular associations with the same words.

Exercise 6. Drawing up mental maps. A useful exercise for developing associative memory is mental maps. One of the creators of the idea of ​​compiling such maps, Tony Buzan, wrote in his book “Super Memory” that “... if you want to remember something new, you just need to relate it to some already known fact, calling on your imagination to help.” You can read more about the technique of drawing up mental maps consisting of associative series in the next lesson on memory development.

If you do at least some of these exercises for 10-15 minutes a day, then after a few days the workout will become easier and more exciting, and most importantly, you will be able to remember any new material faster.

To develop associative thinking in order to improve memorization of material, it is also useful to use the following recommendations. The associative connection should:

  1. arouse your genuine interest (how to achieve this was written in the previous lesson);
  2. touch various senses;
  3. be unusual, but meaningful to you;
  4. contain the most detailed picture (size, color, etc.).

And the main thing is that the association is bright and easy to remember.

So, the second rule of remembering:

To remember certain information well, find suitable vivid associations that will be an indispensable assistant in the process of representation (reproduction of information).

Test your knowledge

If you want to test your knowledge on the topic of this lesson, you can take a short test consisting of several questions. For each question, only 1 option can be correct. After you select one of the options, the system automatically moves on to the next question. The points you receive are affected by the correctness of your answers and the time spent on completion. Please note that the questions are different each time and the options are mixed.

Associative memory

Parameter name Meaning
Article topic: Associative memory
Rubric (thematic category) Computers

Page table

Page table organization is one of the key elements of the page and segment-to-page conversion mechanisms. Let's look at the structure of the page table in more detail.

So, a virtual address consists of a virtual page number (high-order bits) and an offset (low-order bits). The virtual page number is used as an index into the page table to find the entry for the virtual page. From this entry in the page table, the page frame number is found, then the offset is added and the physical address is formed. In addition, the page table entry contains information about page attributes, in particular security bits.

The main problem for efficient implementation of page tables is the large size of virtual address spaces of modern computers, which are usually determined by the bit size of the processor architecture. The most common today are 32-bit processors, which allow you to create virtual address spaces of 4 GB in size (for 64-bit computers this value is 2**64b).

Let's calculate the approximate size of the page table. In a 32-bit address space with a page size of 4K (Intel) we get 1M pages, and in a 64-bit even more. That. the table must have 1M rows (entry), and an entry in a row consists of several bytes. Note that each process needs its own page table (and in the case of a segment-page scheme, one for each segment). So, in this case, the page table must be too large.

At the same time, the display must be fast. The mapping must be fast, since it is done on every memory access, and occurs in almost every machine instruction. This problem is solved mainly through the implementation of associative memory.

To avoid the critical need to have a huge table in memory all the time and only store a few fragments of it (this is possible, again based on the locality property), many computers use a multi-level page table.

Let's consider a model example (Fig. 10.4). Assume that a 32-bit address is divided into a 10-bit Ptr1 field, a 10-bit Ptr2 field, and a 12-bit Offset. 12 offset bits allow us to localize a byte inside a 4K page (2**12), and in total we have 2**20 pages. As can be seen from Fig. 9.4 The 1024 rows in the top-level table are referenced by the Ptr1 field to 1024 second-level tables, each of which also contains 1024 rows. Using the Ptr2 field, each row of the second-level table points to a specific page. The point of such an organization is to avoid maintaining all the second-level tables (and there are 1024 of them) in memory constantly. Let's look at an example with round numbers. Let's say a process needs 12M of memory: 4M at the bottom for code, 4M at the bottom for data, and 4M at the top for stack memory. Between the bottom of the stack and the top of the data, a gigantic space of 4Gb-12Mb is not used. For this case, only 1 top-level table and 3 second-level tables are needed. This approach naturally generalizes to three or more table levels.

Let's look at one of the page table entries. Its size varies from system to system, but 32 bits is the most common case. The most important field is the frame number. The purpose of paging is to localize this quantity. Next is the presence bit, protection bits (for example, 0 - read/write, 1 - read only ...), modification bits (if it was written to) and link bits, which help highlight little-used pages, bits that allow caching. Note that page addresses on disk are not part of the page table.

Figure 10.4 - Example of a two-level page table.

How does having multiple levels affect the performance of a memory manager? If we assume that each level is a separate table in memory, address translation may require several memory accesses.

The number of levels in the page table depends on the specific architecture. You can give examples of implementation of single-level (DEC PDP-11), two-level (Intel, DEC VAX), three-level (Sun SPARC, DEC Alpha) paging, as well as paging with a specified number of levels (Motorola). The MIPS R2000 RISC processor operates without a page table at all. Here, the search for the required page, if this page is not in the associative memory, must be taken over by the OS (so-called zero level paging).

Finding the desired page in a multi-level page table, requiring several accesses to main memory along the way to convert a virtual address to a physical one, takes a lot of time. In some circumstances, such a delay is unacceptable. This problem also finds a solution at the computer architecture level.

Due to the locality property, most programs reference a small number of pages over a period of time, so only a small portion of the page table is working hard.

The natural solution is to equip the computer with a hardware device for mapping virtual pages to physical pages without accessing the page table, that is, to have a small, fast cache memory that stores the part of the page table that is needed at the moment. This device is usually called associative memory; sometimes the term associative registers is also used (sometimes translation lookaside buffer (TLB)).

One table entry in associative memory contains information about one virtual page, its attributes and the frame in which it is located. These fields correspond exactly to the fields in the page table.

Mapping virtual pages stored in associative memory is fast, but cache memory is expensive and has a limited size.
Posted on ref.rf
Number of TLB entries from 8 to 2048

Memory is usually called associative because, unlike the page table, which is indexed by virtual page numbers, here the virtual page number is simultaneously compared with the corresponding field in all rows of this small table. For this reason, this memory is expensive. The line whose virtual page field matches the desired value contains the page frame number.

Let's consider the functioning of the memory manager in the presence of associative memory. It first looks for a virtual page in associative memory. If the page is found, everything is fine except in cases of privilege violation, when the request to access memory is rejected.

If a page is not in associative memory, it is searched through the page table. One of the pages in the associative memory is replaced with the found page. In the table, such a loaded page is marked with a modification bit, which will be taken into account the next time the associative memory is loaded from the page table.

The percentage of times the page number is in associative memory is usually called hit (match) ratio (proportion, ratio). In other words, hit ratio is the part of the links that must be made using associative memory. Accessing the same pages increases the hit ratio.

For example, assume that page table access requires 100 ns of critical time, and memory associative memory access requires 20 ns. With a 90% hit ratio, the average access time is 0.9*20+0.1*100 = 28 ns.

The quite acceptable performance of modern operating systems proves the effectiveness of using associative memory. The high probability of finding data in associative memory is associated with the presence of objective properties of the data: spatial and temporal locality.

It is necessary to pay attention to the following fact. When switching processes, you need to ensure that the new process does not see information related to the previous process in the associative memory, for example, clear it. However, the use of associative memory increases the time of context switching.

Associative memory - concept and types. Classification and features of the category "Associative memory" 2017, 2018.

Material from Wikipedia - the free encyclopedia

Associative memory(AP) or (RAM) is a special type of computer memory used in very fast search applications. Also known as content-addressable memory, associative storage device, content-addressable memory or associative array, although the latter term is more often used in programming to refer to a data structure. (Hannum et al., 2004)

Hardware associative array

Unlike conventional computer memory (random access memory, or RAM), in which the user specifies a memory address and the RAM returns a word of data stored at that address, the RAM is designed so that the user specifies a word of data, and the RAM searches the entire memory for it to find out if it is stored somewhere in it. If a data word is found, the AP returns a list of one or more storage addresses where the word was found (and on some architectures, also returns the data word itself, or other associated pieces of data). Thus, the AP is a hardware implementation of what in programming terms would be called an associative array.

Industry Standards for Content Addressable Memory

The definition of the primary interface for search engines and other Network Search Elements (NSE) was specified in an Interoperability Agreement called the Look-Aside Interface ( LA-1 And LA-1B), which was developed by the Network Processing Forum, which was later merged with the Optical Internetworking Forum (OIF). Numerous devices have been manufactured by Integrated Device Technology, Cypress Semiconductor, IBM, Netlogic Micro Systems and others under these LA agreements. On December 11, 2007, OIF issued the Serial Lookaside Interface Agreement. SLA).

Implementation on semiconductors

Because AM is designed to search all memory in one operation, it is much faster than RAM searches in virtually all search applications. However, there is also a disadvantage in the higher cost of AP. Unlike a RAM chip, which has simple stores, each individual memory bit in a fully parallel AM must have its own associated comparison circuit to detect a match between the stored bit and the input bit. In addition, the comparison outputs from each cell in the data word must be combined to produce the complete data word comparison result. The additional circuitry increases the physical size of the AP chip, which increases production costs. The additional circuitry also increases power dissipation since all comparison circuits are active at every clock cycle. As a consequence, AM is used only in specialized applications where search speed cannot be achieved using other, less expensive methods.

Alternative implementations

To achieve a different balance between speed, memory size and cost, some implementations emulate AM functions by using standard tree search or hashing algorithms implemented in hardware, also using hardware tricks such as replication and pipelining to speed up efficient operation. These designs are often used in routers.

Ternary associative memory

Binary AP is the simplest type of associative memory that uses data lookup words consisting entirely of ones and zeros. Ternary Content Addressable Memory (TCAM) adds a third comparison value, "X," or "don't care," for one or more bits in the stored data word, adding additional lookup flexibility.

For example, a ternary AP could store the word "10XX0" which would return a match to any of the four search words "10000", "10010", "10100", or "10110". Adding flexibility to retrieval comes at the cost of increasing memory complexity, since internal cells now have to encode three possible states instead of two. This additional state is typically accomplished by adding an "importance" mask bit ("important"/"not important") to each memory location.

Holographic associative memory provides a mathematical model for integrated associative memory of a "don't care" bit using a complex-valued representation. [ ] presumably www.mit.edu/~9.54/fall14/Classes/class07/Plate.pdf and www.mit.edu/~9.54/fall14/Classes/class07/Plate.pdf

Sample Applications

Content-addressable memory is often used in computer network devices. For example, when a network switch receives a data frame on one of its ports, it updates an internal table with the source MAC address of the frame and the port on which it was received. It then looks up the destination MAC address in the table to determine which port the frame should be sent to, and sends it to that port. The MAC address table is usually implemented on a binary AP, so the destination port can be found very quickly, reducing switch latency.

Ternary APs are often used in those network routers in which each address has two parts: (1) the network address, which can change in size depending on the subnet configuration, and (2) the host address, which occupies the remaining bits. Each subnet has a netmask, which determines which bits are the network address and which bits are the host address. Routing is done by checking against the routing table maintained by the router. It contains all known destination network addresses, their associated network mask, and the information needed by packets routed to that destination. A router implemented without AP compares the destination address of the packet to be split with each entry in the routing table, performing a logical AND with the network mask and comparing the results with the network address. If they are equal, the corresponding direction information is used to send the packet. Using ternary AP for the routing table makes the lookup process very efficient. Addresses are stored using a "don't care" bit in the host address portion, so a lookup of the destination address in the AP immediately retrieves the correct entry in the routing table; both operations - mask application and comparison - are performed in hardware by AP.

Other AP applications include

  • CPU cache managers and associative translation buffers (TLBs)

Bibliography

  • Kohonen T. Associative storage devices. M.: Mir, 1982. - 384 p.

In English

  • Anargyros Krikelis, Charles C. Weems (editors) (1997) Associative Processing and Processors,IEEE Computer Science Press. ISBN 0-8186-7661-2
  • Pagiamtis, K. & Sheikholeslami, A. (2006, March). IEEE J. of Solid-State Circuits, 41(3), 712–727.
  • . U.S. Patent 6,823,434.

Write a review about the article "Associative memory"

Notes

Links

  • Associative storage device- article from the Great Soviet Encyclopedia.

In English:

see also

  • Processor in memory, Processor-in-memory (PIM), or Computational RAM, C-RAM, also, “Computing in Memory”
  • Memory computing, concept and implementation as a type of FPGA

An excerpt characterizing Associative memory

- Ask the countess, but I don’t give orders.
“If it’s difficult, please don’t,” said Berg. “I would really like it for Verushka.”
“Oh, go to hell, all of you, to hell, to hell, to hell!” shouted the old count. - My head is spinning. - And he left the room.
The Countess began to cry.
- Yes, yes, mummy, very difficult times! - said Berg.
Natasha went out with her father and, as if having difficulty understanding something, first followed him, and then ran downstairs.
Petya stood on the porch, arming the people who were traveling from Moscow. Pawned carts still stood in the yard. Two of them were untied, and an officer, supported by an orderly, climbed onto one of them.
- Do you know why? - Petya asked Natasha (Natasha understood that Petya understood why his father and mother quarreled). She didn't answer.
“Because daddy wanted to give all the carts to the wounded,” said Petya. - Vasilich told me. In my opinion…
“In my opinion,” Natasha suddenly almost screamed, turning her embittered face to Petya, “in my opinion, this is such disgusting, such an abomination, such... I don’t know!” Are we some kind of Germans?.. - Her throat trembled with convulsive sobs, and she, afraid to weaken and release the charge of her anger in vain, turned and quickly rushed up the stairs. Berg sat next to the Countess and comforted her with kindred respect. The Count, pipe in hand, was walking around the room when Natasha, with a face disfigured by anger, burst into the room like a storm and quickly walked up to her mother.
- This is disgusting! This is an abomination! - she screamed. - It can’t be that you ordered.
Berg and the Countess looked at her in bewilderment and fear. The Count stopped at the window, listening.
- Mama, this is impossible; look what's in the yard! - she screamed. - They remain!..
- What happened to you? Who are they? What do you want?
- The wounded, that's who! This is impossible, mamma; this doesn’t look like anything... No, Mama, darling, this is not it, please forgive me, darling... Mama, what do we care about what we’re taking away, just look at what’s in the yard... Mama!.. This can’t be !..
The Count stood at the window and, without turning his face, listened to Natasha’s words. Suddenly he sniffed and brought his face closer to the window.
The Countess looked at her daughter, saw her face ashamed of her mother, saw her excitement, understood why her husband was now not looking back at her, and looked around her with a confused look.
- Oh, do as you want! Am I disturbing anyone? – she said, not yet suddenly giving up.
- Mama, my dear, forgive me!
But the countess pushed her daughter away and approached the count.
“Mon cher, you do the right thing... I don’t know that,” she said, lowering her eyes guiltily.
“Eggs... eggs teach a hen...” the count said through happy tears and hugged his wife, who was glad to hide her ashamed face on his chest.
- Daddy, mummy! Can I make arrangements? Is it possible?.. – Natasha asked. “We’ll still take everything we need…” Natasha said.
The Count nodded his head affirmatively at her, and Natasha, with the same quick run as she used to run into the burners, ran across the hall to the hallway and up the stairs to the courtyard.
People gathered around Natasha and until then could not believe the strange order that she conveyed, until the count himself, in the name of his wife, confirmed the order that all carts should be given to the wounded, and chests should be taken to storerooms. Having understood the order, people happily and busily set about the new task. Now not only did it not seem strange to the servants, but, on the contrary, it seemed that it could not be otherwise, just as a quarter of an hour before it not only did not seem strange to anyone that they were leaving the wounded and taking things, but it seemed that it couldn't be otherwise.
All the household, as if paying for the fact that they had not taken up this task earlier, busily began the new task of housing the wounded. The wounded crawled out of their rooms and surrounded the carts with joyful, pale faces. Rumors also spread in the neighboring houses that there were carts, and the wounded from other houses began to come to the Rostovs’ yard. Many of the wounded asked not to take off their things and only put them on top. But once the business of dumping things had begun, it could not stop. It didn't matter whether to leave everything or half. In the yard lay untidy chests with dishes, bronze, paintings, mirrors, which they had so carefully packed last night, and they kept looking for and finding an opportunity to put this and that and give away more and more carts.
“You can still take four,” said the manager, “I’m giving away my cart, otherwise where will they go?”
“Give me my dressing room,” said the countess. - Dunyasha will get into the carriage with me.
They also gave away a dressing cart and sent it to pick up the wounded two houses away. All the household and servants were cheerfully animated. Natasha was in an enthusiastically happy revival, which she had not experienced for a long time.
-Where should I tie him? - people said, adjusting the chest to the narrow back of the carriage, - we must leave at least one cart.
- What is he with? – Natasha asked.
- With the count's books.
- Leave it. Vasilich will clean it up. It is not necessary.
The chaise was full of people; doubted about where Pyotr Ilyich would sit.
- He's on the goat. Are you a jerk, Petya? – Natasha shouted.
Sonya kept busy too; but the goal of her efforts was the opposite of Natasha’s goal. She put away those things that were supposed to remain; I wrote them down, at the countess’s request, and tried to take with me as many as possible.

In the second hour, the four Rostov carriages, loaded and stowed, stood at the entrance. The carts with the wounded rolled out of the yard one after another.
The carriage in which Prince Andrei was carried, passing by the porch, attracted the attention of Sonya, who, together with the girl, was arranging seats for the countess in her huge tall carriage, which stood at the entrance.
– Whose stroller is this? – Sonya asked, leaning out of the carriage window.
“Didn’t you know, young lady?” - answered the maid. - The prince is wounded: he spent the night with us and is also coming with us.
- Who is this? What's the last name?
– Our very former groom, Prince Bolkonsky! – sighing, answered the maid. - They say he is dying.
Sonya jumped out of the carriage and ran to the Countess. The countess, already dressed for the trip, in a shawl and hat, tired, walked around the living room, waiting for her family in order to sit with the doors closed and pray before leaving. Natasha was not in the room.
“Maman,” said Sonya, “Prince Andrei is here, wounded, near death.” He's coming with us.
The Countess opened her eyes in fear and, grabbing Sonya’s hand, looked around.
- Natasha? - she said.
For both Sonya and the Countess, this news had only one meaning at first. They knew their Natasha, and the horror of what would happen to her at this news drowned out for them all sympathy for the person they both loved.
– Natasha doesn’t know yet; but he’s coming with us,” said Sonya.
- Are you talking about death?
Sonya nodded her head.
The Countess hugged Sonya and began to cry.
"God works in mysterious ways!" - she thought, feeling that in everything that was done now, an omnipotent hand, previously hidden from people’s view, began to appear.
- Well, mom, everything is ready. What are you talking about?.. – Natasha asked with a lively face, running into the room.
“Nothing,” said the Countess. - It's ready, let's go. – And the countess bent down to her reticule to hide her upset face. Sonya hugged Natasha and kissed her.
Natasha looked at her questioningly.
- What you? What happened?
- There is nothing…
- Very bad for me?.. What is it? – asked the sensitive Natasha.

In associative experiments, one point should be especially emphasized, namely, that a necessary condition for identifying a reliable associative process is the complete passivity of the subject, the maximum disconnection of his will and thinking from the spontaneous flow of ideas. Otherwise, instead of an associative process, we will get an actively determined process. This circumstance should be especially emphasized for the reason that the real associative process is, in fact, a spontaneous process that occurs outside of human activity; It is in this capacity that it represents one of the stages of memory development and one of the forms of its manifestation. In the case of associative memory, we are dealing with spontaneous memory, a spontaneous mnemonic process that has nothing in common with voluntary memory. In this sense, associative memory, of course, is closer to the primitive forms of memory manifestation described above than to its specifically human forms.

Spontaneity equally characterizes associative memory both at the moment memorization, that is fixation or retention, so are memories, that is reproductions.

The subject is always under the influence of diverse impressions, and often these impressions arise or disappear regardless of his intention. However, they usually do not disappear without a trace. True, these impressions do not remain in the psyche as conscious experiences for long, but they cause certain personal changes in the subject himself. And so, on the basis of these changes, when the appropriate conditions arise, when, for example, one of these impressions again begins to act on the subject, this latter reacts in accordance with the changes that have occurred in him, that is, experiences corresponding to this change again arise in his consciousness . This is how the reproduction of ideas occurs, experienced by the subject as a product of the influence of spontaneous impressions. As we see, the reproduction of these latter also occurs outside the active, intentional intervention of the subject.

The fact that associative memory should always be clearly distinguished from voluntary memory is also supported by the fact that the reproduction of associative ideas always arises only under the influence of some second experience - a perceptual idea. For an associative representation to arise, a stimulating representation or perception is necessary. This circumstance characterizes associative memory quite well as a still low, dependent form of memory action. In this sense, it is quite close to recognition.

The process of recognition, as we already know, occurs as follows: the perception of N. is always accompanied by a feeling of familiarity. I recognized N., I saw him. However, if some other idea is added to this, for example, I saw N. there and there (image of a place) or he was wearing such and such a hat (image of a hat), then we are already dealing with associative memory , that is, the perception of N. causes the reproduction of ideas. In this sense, the difference between recognition and associative memory is only that in the case of recognition, the past comes to life in the perception itself, without going beyond its limits, while in associative memory this past is not given in the form of any previous perception, but it appears an image that is given again, but in the form of a representation. Below we will see that at a higher stage of development, a stimulus is not always needed to reproduce memory representations. There is not only involuntary memorization, but also voluntary recall.

Typically in storage devices, accessing information requires specifying the cell address. However, it is much more convenient to search for information not by address, but by relying on some characteristic feature contained in the information itself. This principle underlies a storage device known as an associative storage device (AMD). In the literature there are other names for such storage: content addressable memory; data addressable memory; memory with parallel search (parallel search memory); catalog memory; information storage; tagged memory.

Associative memory is a device capable of storing information, comparing it with a given sample and indicating their correspondence or inconsistency with each other.

Unlike conventional machine memory (random access memory or RAM), in which the user specifies a memory address and the RAM returns a word of data stored at that address, the RAM is designed so that the user specifies a word of data, and the RAM searches the entire memory for it. to find out if it is stored somewhere in it. If a data word is found, the AP returns a list of one or more storage addresses where the word was found (and on some architectures, also returns the data word itself, or other associated pieces of data). Thus, the AP is a hardware implementation of what in programming terms would be called an associative array.

Associative feature a sign by which information is searched.

Search sign a code combination that acts as a search pattern.

An associative feature can be part of the information being sought or additionally attached to it. In the latter case, it is usually called a tag or label.

Structure of an associative memory

ASU includes:

  • a storage array for storing N m-bit words, in each of which several low-order bits are occupied by service information;
  • register of an associative attribute, where the code of the sought information is placed (search attribute). Register width k usually less than word length T;
  • match circuits used to compare each bit of all stored words in parallel with the corresponding search flag bit and generate match signals;
  • a coincidence register, where each cell of the storage array corresponds to one digit, into which a unit is entered if all the digits of the corresponding cell coincide with the same digits of the search sign;
  • a mask register that allows you to disable comparison of certain bits;
  • a combinational circuit that, based on analysis of the contents of the coincidence register, generates signals characterizing the results of information search.

When accessing the CAM, the bits in the mask register are first cleared to zero, which should not be taken into account when searching for information. All bits of the coincidence register are set to one. After this, the code of the sought information (search attribute) is entered into the associative attribute register and its search begins, during which the matching circuits simultaneously compare the first bit of all cells of the storage array with the first bit of the search attribute. Those circuits that have detected a mismatch generate a signal that turns the corresponding bit of the coincidence register to the zero state. The search process also occurs for the remaining unmasked bits of the search sign. As a result, the units are stored only in those bits of the coincidence register that correspond to the cells where the required information is located. The configuration of ones in the match register is used as the addresses at which the storage array is read. Due to the fact that the search results may be ambiguous, the contents of the match register are fed to a combinational circuit, where signals are generated indicating that the information being sought is:

  • a0 – not found;
  • a1 – contained in one cell;
  • a2 – contained in more than one cell.

The formation of the contents of the match register and the signals a0, a1, a2 is called the association control operation. It is an integral part of the read and write operations, although it can also have independent meaning.

When reading, an association check is first performed on the search argument. Then, when a0 = 1, reading is canceled due to the lack of the required information, when a1 =1 the word indicated by the one in the coincidence register is read, and when a2= 1 The most significant 1 in the match register is reset and the corresponding word is retrieved. By repeating this operation, all words can be counted sequentially.

Recording in the AP is made without specifying a specific address, in the first free cell. To find a free cell, a read operation is performed in which only the service bits are not masked, indicating how long ago this cell was accessed, and either the empty cell or the one that has not been used for the longest time is considered free.

The main advantage of associative memories is determined by the fact that the time to search for information depends only on the number of bits in the search sign and the speed of polling bits and does not depend on the number of cells in the storage array.

The commonality of the idea of ​​associative information retrieval does not at all exclude the diversity of AMS architectures. A specific architecture is determined by a combination of four factors:

  1. type of information search;
  2. feature comparison techniques;
  3. a method for reading information in case of multiple matches;
  4. way of recording information.

In each specific application of ALS, the task of searching for information can be formulated differently.

Types of information search:

  • Simple (requires a complete match of all bits of the search sign with the same bits of words stored in the storage array).
  • Difficult:
    • Searches for all words greater or less than a given one. Search for words within specified limits.
    • Search for maximum or minimum. Repeated selection from the ABC of a word with the maximum or minimum value of an associative feature (with its exclusion from further search) essentially represents an ordered selection of information. An ordered selection can be ensured in another way by searching for words whose associative characteristic in relation to the survey characteristic is the closest greater or lesser value.

Obviously, the implementation of complex search methods is associated with corresponding changes in the memory architecture, in particular with the complication of the memory circuit and the introduction of additional logic into it.

Feature comparison technique:

When constructing a memory system, one chooses from four options for organizing a poll of the memory contents. These options can be combined in parallel by group of discharges and sequentially by groups. In terms of search time, parallel interrogation, both by words and by digits, can be considered the most effective, but not all types of storage elements allow this possibility.

Method for reading information in case of multiple matches:

  • With a sequence chain (using a rather complex device where words that form a multi-valued answer are recorded. The sequence chain allows words to be read in ascending order of the AMS cell number, regardless of the size of the associative features).
  • Algorithmically (as a result of a series of surveys).

Method of recording information:

  1. By the address.
  2. With the sorting of information at the input of the ABCD by the size of the associative feature (the location of the cell where the new word will be placed depends on the ratio of the associative features of the newly written word and the words already stored in the ADZ).
  3. By coincidence of signs.
  4. With a chain of turns.

Due to the relatively high cost, RAM is rarely used as an independent type of memory.