Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы архитектура.doc
Скачиваний:
17
Добавлен:
30.07.2019
Размер:
7.38 Mб
Скачать

18 Стековая и кэш память

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

Ассоциативные запоминающие устройства

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

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

Стековая память

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

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

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