В ассоциативной памяти поиск информации производится не по адресу, а по содержимому самой информации. При поиске составляется ассоциативный признак (АП), который сравнивается с АП в словах, хранящихся в памяти.
Обобщенная структура ассоциативной памяти на Рис.42
Рис.43
На рисунке
Рг.АП – регистр ассоциативного признака;
Рг.М - регистр маски;
ЗМ - запоминающий массив;
КС - комбинационная схема;
РгСВ – регистр совпадений;
ФС - формирующая схема;
РгИ - информационный регистр.
Рассмотрим режимы работы памяти.
- Считывание.
- Поиск необходимого слова в ЗМ выполняется по следующему алгоритму. С шины входа в РгАП принимается n-разрядный ассоциативный запрос. В следующем такте в регистр маски принимается код маски. Содержимое запоминающего массива ЗМ сравнивается с теми разрядами РгАП, для которых в РгМ записаны 1 (производится ассоциативное сравнение). Для тех слов, для которых ассоциативное сравнение выполняется, комбинационная схема КС записывает 1 в регистр совпадений РгСВ.
- Формирующая схема ФС формирует три признака А0. А1, А2.
- Если А0=1, то в ЗМ нет ни одного слова, соответствующего содержимому РгАП, и считывание отменяется.
- Если А1=1, то есть одно такое слово, и оно считывается из ЗМ в РгИ.
- Если А2=1,то в ЗМ больше одного слова, соответствующего ассоциативному запросу. Считывается слово с наименьшим номером, либо все в зависимости от программы.
- Формирование признаков А0, А1, А2 называется контролем ассоциации.
- Запись.
- При записи слова в ЗМ в разряд с номером n (разряд занятости) записывается 1. Перед записью в РгАП заносится код 111…10, который инвертируется и записывается в РгМ (000…01). Таким образом, маскируются все разряды РгАП кроме разряда с номером n.
- Далее выполняется контроль ассоциации. Если А0=1, то в ЗМ нет свободных ячеек и запись отменяется. Если А1=1, то слово записывается в эту ячейку. При А2=1 слово заносится в ячейку с наименьшим номером.
- В современных цифровых системах ассоциативный принцип поиска информации применяется широко в информационных базах данных, а при аппаратной реализации – в КЭШ – памяти.
КЭШ-память компьютера хранит копии команд и данных из оперативной памяти, которые поступают в процессор. КЭШ-память используется для повышения быстродействия процессора и реализуется на микросхемах статической памяти с временем обращения 3 – 5 нс.
Организация КЭШ-памяти частично-ассоциативная. Каждое слово в КЭШ-памяти имеет так называемый ТЭГ (этикетку), в качестве которого обычно используются младшие разряды адреса в оперативной памяти.
Ассоциативный опрос производится по ТЭГам и в случае совпадения выставленного процессором ТЭГа и ТЭГа в КЭШ-памяти полное слово (команда или данные) используется процессором. Такой случай называется КЭШ-попаданием. Если нужного слова в КЭШ-памяти нет, то оно вызывается из оперативной памяти, записывается в КЭШ и используется процессором. Такой случай называется КЭШ-промах. Во втором случае время доступа к нужному слову намного больше. Чем при КЭШ-попадании.