Computer associative memory. Methods of organizing memory. General information and classification of memory devices
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;
- an associative attribute register 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 attribute 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:
- type of information search;
- feature comparison techniques;
- a method for reading information in case of multiple matches;
- 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.
It is obvious that 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 polling of 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:
- At the address.
- 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).
- By coincidence of signs.
- With a chain of turns.
Due to the relatively high cost, RAM is rarely used as an independent type of memory.
Our memory is inherently associative. This is expressed in the fact that a single memory can recall another, another - a third, etc., forcing or allowing thoughts to move from one to another along a chain of mental associations. Associative memory is a connection between the circumstances and ideas of an individual. Associations are a kind of invisible hooks that extract from the depths of experience, circumstances, and ideas accumulated in memory, experienced moments (what happened) and connect them with what needs to be remembered.
Associative theory of memory
There are several areas of psychology related to memory. The main ones among them are associative, behavioristic, cognitive, and activity. They all agree that memory is the process of remembering, storing and reproducing information and forgetting it, and that memory is the basis in the process of personality formation.
At the same time, based on its principles, each of the theories of memory explains in its own way the essence and patterns of this process.
One such theory is the associative theory of memory. It comes from the idea that association is nothing more than a connection that takes place between mental phenomena. When memorizing, such connections are established between parts of the memorized or reproduced material. The fact is that in the process of remembering a person is always looking for some connections established between the material that is available and the one that needs to be reproduced.
Some patterns have been identified on the basis of which associations are formed:
— By contiguity. It occurs if the perceived image is associated with past experienced ideas or with those that were simultaneously experienced and associated with this image, that is, on the basis of association with previous material. For example, remembering our school, we will most likely remember our class teacher or a school friend and the emotions associated with them, and remembering a work colleague, we may remember that next Saturday is a working Saturday, and we need to remember to set an alarm for the weekend morning.
- By similarity. Have you noticed that, for example, some people resemble someone? Maybe it has happened to you, looking at a stranger, to find a certain “type” in him or to discover that his features (face, demeanor, posture, etc.) will be remembered by you because he looks like...? For example, clumsy, shaggy, with a waddling gait - like a bear; small, homely, timid and defenseless in appearance - like a sparrow; bright, important, with straightened shoulders and slow, important movements - like a peacock.
- By contrast. It is very easy for us to associate “white - black”, “good - evil”, “fat - skinny”. They are also produced by our associative memory and used to consolidate the image. In this case, the perceived images extract opposing ideas from consciousness. So, when faced with an irritated neighbor, you remember how calm her sister seems.
The disadvantage of the associative theory of memory is that it does not explain such an important characteristic as the selectivity of memory (after all, associative material is not always remembered well). In addition, it does not take into account that memory processes depend on the organization of the memorized material.
The development of associative memory, as well as associative thinking, is very important: associations help us remember and remember, and generate ideas. Associative memory allows us to remember words and complex texts that are not related to each other; thanks to it, we more easily retrieve the necessary information from memory and the more extensive the network of associative connections, the better it is remembered and the easier it is to recall when necessary. Our judgments about a particular issue, our views, tastes, and value systems are based on associative memory. Our thinking, perception of the world and decision-making are also connected with it.
Associative memory is trained by linking known, already learned information with new material. To develop associative memory, you can use, for example, the following exercise:
1. Prepare 2 sheets of paper and a pen. On 1 sheet of paper, write all the natural numbers from 1 to 100 in a vertical column.
2. Select any 10-15 of them with which you have strong associations, and write them down in random order on sheet 2. For example, 8 is a snowman, 17 is the number of your favorite minibus, 18 is the age of majority in the country in which you live (if so), etc. After you finish your work, wait 5-7 minutes, take 1 piece of paper with numbers and write down all the events that you remember opposite the corresponding number.
3. Next time, do the same with other numbers not used before. Don’t force things, don’t push yourself too hard at first, try to choose as successfully as possible an association that will reliably take its place on the list.
4. When the entire list of numbers is completed, test yourself by indicating all associations associated with numbers from 1 to 100.
In addition to training your memory, you have created additional associations that will help you remember codes, phone numbers, etc. if necessary. Just try to use your personal associations without being afraid to draw on images. For example, 40 can be remembered by imagining 4 as a square, a “TV”, and 0 as a circle inscribed in it, a “bun”. The result is a funny association of “bun on TV.” Come up with your own associations that are suitable for you.
Speaking about the development of memory, it should be noted that it is inextricably linked with attention, because without focusing on an object, we will not move it even to short-term memory. Good memory function requires high neuronal activity and well-coordinated functioning of the cognitive functions of the brain. You can read more about the development of memory and attention.
Memory and attention, perception and thinking are brain functions that are subject to training and development. Thanks to regular exercises, you can significantly improve your abilities, and it is better to give preference to regular complex exercises with gradually increasing load. For example, for this purpose it is convenient to use classes on.
We wish you success in self-development!
Photo: Laurelville - Camp & Retreat Center
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.
Associative memory
They say that memory rests on three pillars: associations, imprinting, repetition. But is it necessary to adhere to this model? Clever readers will easily see an analogy with ancient ideas about the world order and about the Earth having a flat surface. But is it necessary to adhere to this model? However, as long as the old model suits you, you can successfully use it in everyday practice.
Associations are invisible clues that firmly connect what we already remember well with what we need to consolidate in memory.
Associative memory Can And need to develop and train. When making conscious efforts, the search for associations will happen much faster, and over time the skill can move to an unconscious level, associations will appear by themselves and remembering information will become easier and easier.
But enough theory, it’s time to move on directly to simple and completely easy exercises!
So, you have read 50 words, imagining the corresponding images as brightly as possible, in color and movement. Now try to connect all the words into one long story or several short ones: cat, house, car, apple...
Key
A white-and-red CAT entered a red brick HOUSE, walked into a built-in garage, got into a crimson CAR, drove onto the freeway and began, steering the wheel with her left paw, to gnaw on a green APPLE, holding it with her right paw.
There is no need to remember words at this stage of memory development. You will do this a little later, and easily and playfully. Now I do not recommend overloading yourself with complex exercises. Do you want to achieve very high memory levels? For most people, it is more effective to move by increasing the level of difficulty little by little, but regularly.
This text is an introductory fragment. From the book Psychology of Intelligence and Giftedness author Ushakov Dmitry ViktorovichModes of creative thinking, associative network and distributed attention Ideas of mechanisms that can be compared with the intuitive pole of thinking in modern psychology go back to the works of S. Mednik. In the early 1960s he proposed that individual
author Muller StanislavPart I. How to double your memory in forty-five minutes, or Introduction to holographic memory Where it all began... Several years ago, after finishing the last lesson on memory development, one of the students makes claims regarding the results
From the book Unlock Your Memory: Remember Everything! author Muller StanislavAssociative memory They say that memory is based on three pillars: association, imprinting, repetition. But is it necessary to adhere to this model? Clever readers will easily see an analogy with ancient ideas about the world order and about the Earth having a flat
From the book Unlock Your Memory: Remember Everything! author Muller StanislavAssociative memory The same game (or exercise, as you wish) for associative linking words together, but only with the participation of touch sensations. You come up with one story that includes all fifty words, or several short ones, which at first even
From the book Unlock Your Memory: Remember Everything! author Muller StanislavAssociative memory The same game (or exercise) for associative linking words together, but with sounds and touches. You come up with one or more stories that include fifty words. We skip difficult words in the same way. Although, if there is a desire and
From the book Unlock Your Memory: Remember Everything! author Muller StanislavAssociative memory Come up with one story containing all fifty words, or several short ones. Now we don’t skip difficult words. Composing a story should no longer be difficult for you. Remembering words or stories at this stage of development of associative
author Muller StanislavPart I How to double your memory in 45 minutes, or an introduction to holographic memory “At the beginning of glorious deeds...” Several years ago, after finishing the last lesson on memory development, one of the students made a complaint to me: “Stanislav, people come to you.” , to
From the book Remember Everything [Secrets of Super Memory. Training book] author Muller StanislavAssociative memory They say that memory is based on three pillars: associations, imprinting, repetition. But is it necessary to adhere to this model? Clever readers will easily see an analogy with ancient ideas about the world order and about the Earth having a flat surface.
From the book Let's start over, or How to see your Tomorrow author Kozlov Nikolay IvanovichMemory of the past and memory of the future My colleague psychologists, memory researchers, suggest that the reserves of our memory are practically inexhaustible. Our head is enough for us to remember everything and always: that random conversation on the street, and the swaying of every branch of that
From the book Psychology of Adulthood author Ilyin Evgeniy PavlovichAssociative methodology for diagnosing personal maturity Authors: E. V. Kalyaeva, T. V. Prokofieva Instructions. A number of words are offered to your attention. Think about what associations each of these words evokes, write them down. 35 characteristics are offered that reveal the concept
From the book Developmental Psychology [Research Methods] by Miller Scott“Everyday” memory and long-term memory Let’s consider two more questions related to the topic “Memory”. Until now, the main attention has been paid to standard laboratory methods, often used in the study of memory at any age. Last two
From the book General Psychology author Dmitrieva N Yu8. Associative psychology In the process of formation of psychology, the associationist approach to perception began to prevail. Associative psychology is one of the main directions in psychology of the 17th–19th centuries. The main explanatory principle of mental life was the concept
From the book All the best that money can't buy. A world without politics, poverty and wars by Fresco Jacques by Andrew Newberg From the book The Mystery of God and the Science of the Brain [Neurobiology of Faith and Religious Experience] by Andrew Newberg From the book The Mystery of God and the Science of the Brain [Neurobiology of Faith and Religious Experience] by Andrew NewbergIn associative storage devices, information is searched according to an associative feature recorded in each memory cell.
In this type of memory, the search for the necessary information is carried out not by address, but by the content of the information itself (i.e., by associative characteristics). In this case, the search for an associative feature occurs in parallel in time for all memory cells. Associative search can significantly simplify and speed up data processing. This is achieved due to the fact that in such memory the operation of reading information is combined with the execution of a number of logical operations. For example, you can perform operations such as:
1) search for the maximum or minimum number in the memory;
2) search for words within certain boundaries;
3) search for words closest to the associative feature, both on the larger and smaller sides, etc.
The simplest associative memory usually performs a single operation to select words whose feature matches the associative feature.
The storage array (SM) contains N cells, each cell has n+1 bits. To indicate cell occupancy, the nth service digit is used. If there is 0 in the nth bit, then the cell is free, if 1, then it is occupied.
Based on the input SD, an n-bit attribute is sent to the associative feature register RGP, and the search mask code is sent to the mask register RGM. In this case, the nth bit of the RGM register is set to 0. The associative search is performed only by those bits of the attribute that correspond to “1” in the mask register, that is, by the so-called unmasked RGM bits. Thus, by specifying the mask code M, you can arbitrarily select those bits of the attribute by which the search is carried out.
For words from the ZM in which all the digits coincided with the unmasked bits of the RGP, the combined circuit KS 1 sets “1” to the corresponding bits of the RGC match register. Thus, if the digit of the j-th word coincides with the unmasked bits of the attribute, then “1” will be written in the j-th bit of the RGC register, otherwise “0”. The entry “1” in the j-th digit of the RGC means that the j-th word corresponds to the attribute, i.e. is the word that is actually sought in ZM.
A word is written to the mask register that allows a query for all or only some bits of the associative attribute; using a mask allows you to shorten or expand the search area.
The search for information is carried out in parallel across all cells by comparing the request with the associative feature of each cell.
The search result is generated by a special combinational circuit that generates signals notifying about the absence of words that satisfy the search conditions, about the presence of only one word, about the presence of several words that have such an associative feature.
After generating and processing the warning signals, the control circuit reads the necessary information.
When recording information, a free cell is first found. To do this, an associative search operation is performed using a feature that has “0” in all bits, and in the mask register “0” is written in all bits except the lowest nth bit.
Thus, those 3M cells are determined that have “0” written in the nth digit, which means the cell is unoccupied. A word from the RGI information register is written to the free cell with the lowest number.
When using additional combinational circuits in associative memory, you can perform various logical operations, determining the maximum or minimum number, the number of words that have the same associative feature, etc. Figure 1 shows the structure of associative memory. The memory cells of an associative storage device must be elements of static memory; in associative memory, all cells are accessed simultaneously and must not be interrupted by regeneration cycles. Associative memory is the fastest, but very expensive, since it requires the introduction of an additional comparison circuit that allows searching for each memory cell. Therefore, such memory is usually not used in its pure form, and high-speed cache-type memory devices are usually implemented as partially associative.
In microprocessors, associative memory (memory with content selection) is used as part of cache memory to store the address portion of instructions and operands of the executable program. In this case, there is no need to contact RAM for the next command or the required operand; it is enough to place the required address in the associative attribute register and, if the required information is in the memory cache, it will be immediately issued. Access to RAM will be necessary only if the required information is not in the cache. Due to this use of the cache, the number of accesses to RAM is reduced, and this saves time, since accessing the cache requires approximately 10 times less time than accessing RAM.
Stacked memory organization
If writing and reading are done through the same register, then such a device is called stack memory, operating on the principle of “first in, last out” (FILO-First Input, Last Output).
Stack memory, like associative memory, is addressless; it is a collection of cells that form a one-dimensional array, in which neighboring cells are connected to each other by word transmission bit chains. Words are always written to the top zero cell. In this case, all previously recorded words are shifted down one cell. Reading is done in the reverse order of writing.
Stack memory has become widespread. To implement it in RAM through operating system programs, part of the memory is allocated for the stack. In practice, stack memory is often organized using regular address memory.
Let's consider the organization of stack memory as a memory formed from interconnected memory cells in which information is shifted down when a new word is written to the stack (Fig. 2). Information is exchanged only through the upper memory cell. When reading words from the stack, the word may be removed from stack memory or shifted around the ring, depending on the organization of the stack. Reading mode - last in, first out - is called LIFO (Last In First Out).
Fig. 2. Organization of stack memory.
Hardware implementation of such memory is not always advisable and stack memory is often organized in the main memory of the computer in software, which allows you to change the stack size depending on need. When organizing a stack in main memory, a special address register is allocated - the “stack pointer”. The stack pointer contains the address of the last word written to the stack. When a word is written to the stack, the address of the top of the stack is automatically decreased, and when read, it is automatically increased. Stack memory is typically used to save the state of the current program when processing an interrupt. After the interrupting program is executed, the state of all registers that existed at the time the program was interrupted is restored in the reverse order of the write sequence. You can also save program data on the stack; this is convenient because when accessing the stack, you do not need to specify the addresses of memory cells in the program; information is also retrieved from the stack without specifying an address.