ТОП 10:

Ассоциативная организация памяти



В ассоциативных запоминающих устройствах поиск информации производится по ассоциативному признаку, записанному в каждую ячейку памяти.

В памяти этого типа поиск нужной информации производится не по адресу, а по содержанию самой информации (т.е. по ассоциативному признаку). При этом поиск по ассоциативному признаку происходит параллельно во времени для всех ячеек памяти. Ассоциативный поиск позволяет существенно упростить и ускорить обработку данных. Это достигается за счет того, что в такой памяти операция чтения информации совмещена с выполнением ряда логических операций. Например, можно выполнять такие операции, как:

1) поиск максимального или минимального числа в ЗУ;

2) поиск слов, заключенных в определенные границы;

 

3) поиск слов, ближайших к ассоциативному признаку, как с большей, так и с меньшей стороны и т.д.

Простейшая ассоциативная память обычно выполняет единственную операцию по выборке слов, чей признак совпадает с ассоциативным признаком.

Запоминающий массив (ЗМ) содержит N ячеек, каждая ячейка n+1 разрядная. Для указания занятости ячейки используется служебный n-ый разряд. Если в n-ом разряде 0 – то ячейка свободна, если 1 – то занята.

По входной ШД в регистр ассоциативного признака RGП поступает n-разрядный признак, а в регистр маски RGМ – код маски поиска. При этом n-ый разряд регистра RGМ устанавливается в 0. Ассоциативный поиск производится лишь по тем разрядам признака, которым соответствует «1» в регистре маски, то есть по так называемым незамаскированным разрядам RGМ. Таким образом, задавая код маски М, можно произвольно выбирать те разряды признака, по которым ведется поиск.

Для слов из ЗМ, в которых все цифры совпали с незамаскированными разрядами RGП, комбинированная схема КС 1 устанавливает «1» в соответствующие разряды регистра совпадения RGC. Таким образом, если произошло совпадение цифры j-го слова с незамаскируемыми разрядами признака, то в j-ом разряде регистра RGC будет записана «1», в противном случае «0». Запись «1» в j-ом разряде RGC означает, что j-ое слово соответствует признаку, т.е. является тем словом, которое собственно и ищется в ЗМ.

В регистр маски записывается слово, разрешающее запрос по всем или только некоторым разрядам ассоциативного признака, применение маски позволяет сократить или расширить область поиска.

Поиск информации производится параллельно по всем ячейкам путем сравнения запроса с ассоциативным признаком каждой ячейки.

Результат поиска формирует специальная комбинационная схема, вырабатывающая сигналы, оповещающие об отсутствии слов, удовлетворяющих условиям поиска, о наличии только одного слова, о наличии нескольких слов, имеющих такой ассоциативный признак.

После формирования и обработки оповещающих сигналов схемой управления производится считывание необходимой информации.

При записи информации сначала находится свободная ячейка. Для этого выполняется операция ассоциативного поиска по признаку, имеющему во всех разрядах «0», а в регистре маски «0» записаны во всех разрядах, кроме младшего n-го разряда.

Таким образом, определяются те ячейки ЗМ, у которых в n-ом разряде записан «0», что означает незанятость ячейки. В свободную ячейку с наименьшим номером записывается слово из регистра информации RGI.

При использовании дополнительных комбинационных схем в ассоциативной памяти можно выполнять различные логические операции, определяя максимальное или минимальное число, количество слов, имеющих одинаковый ассоциативный признак и т.д. На рис.1 показана структура ассоциативной памяти. Ячейки памяти ассоциативного запоминающего устройства должны быть элементами статической памяти, в ассоциативной памяти обращение производится ко всем ячейкам одновременно и не должно прерываться циклами регенерации. Ассоциативная память наиболее быстродействующая, но очень дорогая, так как требует введения дополнительно схемы сравнения, позволяющей осуществить поиск, для каждой ячейки памяти. Поэтому такая память обычно не используется в чистом виде, а быстродействующие устройства памяти типа Кэш обычно выполняются как частично ассоциативные.

В микропроцессорах ассоциативная память (память с выборкой по содержанию) используются в составе кэш-памяти для хранения адресной части команд и операндов исполняемой программы. При этом нет необходимости обращаться к ОЗУ за следующей командой или требуемым операндом, достаточно поместить в регистр ассоциативного признака необходимый адрес и, если искомая информация имеется в кэш памяти, то она сразу будет выдана. Обращение к оперативной памяти будет необходимо лишь при отсутствии требуемой информации в кэш. За счет такого использования кэш сокращается число обращений к ОЗУ, а это позволяет экономить время, так как обращение к кэш требует приблизительно в 10 раз меньше времени, чем обращение к ОЗУ.

 

 

 

 

Стековая организация памяти

Если запись и чтение производится через один и тот же регистр, то такое устройство называется стековой памятью, работающей по принципу "первым вошел - последним вышел" (FILO-First Input, Last Output).

Стековая память также как и ассоциативная, является безадресной, она представляет собой совокупность ячеек, образующих одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. Запись слов всегда производится в верхнюю нулевую ячейку. При этом все ранее записанные слова сдвигаются вниз на одну ячейку. Чтение производится в порядке обратном порядку записи.

Стековая память получила широкое распространение. Для ее реализации в ОЗУ посредством программ операционной системы выделяется часть памяти под стек. На практике часто стековую память организуют, используя обычную адресную память.

Рассмотрим организацию стековой памяти, как памяти, образованной из связанных между собой ячеек памяти, в которых информация при записи в стек нового слова смещается вниз (Рис.2). Обмен информацией осуществляется только через верхнюю ячейку памяти. При считывании слов из стека, слово может удаляться из стековой памяти или сдвигаться по кольцу, в зависимости от организации стека. Режим чтения – последним вошел, первым вышел - называют LIFO (Last In First Out).


Рис.2.Организация стековой памяти.

Аппаратная реализация такой памяти не всегда целесообразна и зачастую стековая память организуется в основной памяти компьютера программно, что позволяет изменять объем стека в зависимости от необходимости. При организации стека в основной памяти выделяется специальный адресный регистр – “указатель стека”. В указателе стека находится адрес последнего записанного в стек слова. При записи слова в стек адрес вершины стека автоматически уменьшается, при чтении - автоматически увеличивается. Стековая память используется обычно для сохранения состояния текущей программы при обработке прерывания. После выполнения прерывающей программы состояние всех регистров, существовавшие в момент прерывания программы восстанавливается в последовательности, обратной последовательности записи. Можно сохранять в стеке и данные программы, это удобно тем, что при обращении к стеку не требуется указывать в программе адреса ячейки памяти, извлечение информации из стека так же происходит без указания адреса.

 







Последнее изменение этой страницы: 2016-04-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.207.254.88 (0.003 с.)