# Вопрос 26: Принцип работы ассоциативной памяти
Ассоциативная память – это безадресная память, в которой поиск информации производится по ее ассоциативному признаку.
Признак, по которому производится поиск информации - ассоциативный признак, а кодовая комбинация, выступающая в роли образца для поиска, — признак поиска. Ассоциативный признак может быть частью искомой информации или дополнительно придаваться ей.
АЗУ включает в себя:
- Запоминающий массив для хранения N m-разрядных слов, в каждом из которых несколько младших разрядов занимает слежубная информация.
- Регистр Ассоциативного признака, куда помещается код искомой информации(признак поиска)(Разрядность регистра k обычно меньше длины слова m);
- Схемы совпадения, используемые для параллельного сравнения каждого бита всех хранимых слов с соответствующим битом признака поиска и выработки сигналов совпадения;
- Регистр совпадения, где каждой ячейке запоминающего массива соответствует один разряд, в который заносится единица, если все разряды соответствующей ячейки совпали с одноименными разрядами признака поиска;
- Регистр маски, позволяющий запретить сравнение определенных битов;
- Rомбинационная схема, которая на основании анализа содержимого регистра совпадений формирует сигналы, характеризующие результаты поиска информации.
Принцип работы: При обращении к АЗУ сначала в регистре маски обнуляются разряды, которые не должны учитываться при поиске информации. Все разряды регистра совпадений устанавливаются в единичное состояние. После этого в регистр ассоциативного признака заносится код искомой информации (признак поиска) и начинается ее поиск, в процессе которого схемы совпадения одновременно сравнивают первый бит всех ячеек запоминающего массива с первым битом признака поиска. Те схемы, которые зафиксировали несовпадение, формируют сигнал, переводящий соответствующий бит регистра совпадений в нулевое состояние. Так же происходит процесс поиска и для остальных незамаскированных битов признака поиска. В итоге единицы сохраняются лишь в тех разрядах регистра совпадений, которые соответствуют ячейкам, где находится искомая информация. Конфигурация единиц в регистре совпадений используется в качестве адресов, по которым производится считывание из запоминающего массива. Из-за того что результаты поиска могут оказаться неоднозначными, содержимое регистра совпадений подается на комбинационную схему, где формируются сигналы, извещающие о том, что искомая информация:
- а0 - не найдена;
- а1 - содержится в 1-ой ячейке;
- a2 - содержится в более чем 1-ой ячейке;
При считывании сначала производится контроль ассоциации по аргументу поиска. Затем, при а0=1 считывание отменяется из-за отсутствия искомой информации, при al = 1 считывается слово, на которое указывает единица в регистре совпадений, а при а2= 1 сбрасывается самая старшая единица в регистре совпадений и извлекается соответствующее ей слово. Повторяя эту операцию, можно последовательно считать все слова.