Ассоциативная память.
В ассоциативных системах памяти массив элементов хранения информации, как и в адресных системах, разбивается на отдельные последовательности, но нумерация последовательности необязательна.
Кроме функций записи и хранения, в таких системах памяти аппаратно реализуются функции ассоциативного поиска информации. В простейшем случае – это поиск информации по совпадению входного “эталона” – ключа с частью последовательности хранимой информации. Результаты ассоциативного поиска используются в операциях чтения или записи для поиска искомых строк данных.
Ассоциативный поиск реализуется сравнением входной информации со всеми хранимыми объектами (байтами, словами и т.д.).
Ассоциативный поиск может быть реализован чисто программно последовательным перебором ячеек в обычной адресной памяти с последовательным сравнением ключа с хранимой в памяти информацией.
В ассоциативной памяти поиск реализуется аппаратно путем параллельного сравнения слова-ключа со всеми записанными словами. Для этого каждый набор элементов хранения программных объектов дополняется схемами сравнения.
Части хранимой информации, по которым производится ассоциативный поиск, могут быть выделены в отдельный блок (блок тегов) или задаваться схемами маскирования в блоке хранения информации.
Стековая память.
Стековая память– это список со стратегией работы “последний вошел – первый вышел”. Стековая память обычно реализуется на основе обычной линейной адресной памяти с использованием специального регистра – указателя стека (SP). Для стековой памяти определены две операции: занесение единицы данных в стек и удаление единицы данных из стека. При занесении в стек объекта, например слова, содержимое указателя стека уменьшают на длину объекта и результат используют в качестве адреса записи. При удалении объекта из стека производят чтение из вершины стека, а затем осуществляют корректировку указателя стека: увеличивают содержимое SP на длину удаляемого объекта. Это вариант стека с распространением (при заполнении) в сторону уменьшения адресов. Возможен симметричный вариант стека с распространением в сторону увеличения адресов.
Стек может использоваться в аппаратных процедурах, например для сохранения контекста программ в процедурах передачи управления на подпрограммы (включая программы обработки прерываний) и возврата из подпрограмм.
Для программной работы со стеком используются или специальные команды, или режимы адресации.
Использование специальных команд для организации стека
Многие процессоры имеют наборы команд работы со стеком. Наиболее общими из них являются команды:
· PUCH А – поместить в стек А, где А – непосредственный операнд, регистр или ячейка памяти;
· POP A – восстановить (выбрать) данные из стека в А, где А – регистр или ячейка памяти.
Построение стека на основе обычной адресной памяти позволяет производить чтение и модификацию данных по произвольному адресу внутри стека.
В МП Intel для обращения по произвольному адресу внутри стека используется регистр EBP– указатель базы (кадра) стека. Перед началом использования стека, для возможности доступа к данным стека по произвольным адресам, в этот регистр должно быть скопировано содержимое указателя стека (ESP – адрес вершины стека).
В МП Intel для работы со стеком предусмотрены: стековый сегмент (определяемый сегментным регистром ЕSS), регистр указателя вершины стека (ЕSP) и регистр базового адреса кадра стека (EBP).
Использование режимов адресации.
В процессорах корпорации DEC нет специальных команд (кодов операций) для работы со стеком. Для создания стека может использоваться любая область единой адресной памяти. Одна из областей памяти выделена для аппаратного стека. Аппаратный стек предназначен для использования аппаратурой или операционной системой. Аппаратура использует стек для сохранения данных в процедурах передачи управления подпрограммам, включая подпрограммы обработки прерываний. Программы пользователей также могут использовать множество стеков.
Для работы со стеками используются не специальные команды, а режимы адресации: автоинкрементный и автодекрементный. В качестве указателя стека может использоваться любой регистр общего назначения (РОН).
В современных ЭВМ используются все три типа памяти. Как правило, в качестве оперативной памяти используется адресная память.
Вопросы для самопроверки:
1. Адресная память.
2. Ассоциативная память.
3. Стековая память.
4. Минимальный формат адресуемых данных.
5. Размер формата данных – “слово”.
6. Процедура поиска информации в ассоциативной памяти.
7. Понятие “стековая память”.
8. Команды работы со стеком в МП IA.
9. Использование РОНа EBP при работе со стеком в МП IA.
10. Использования РОНа ESP при работе со стеком в МП IA.
11. Особенности работы со стеком в МП PDP-11.
Дата добавления: 2021-01-26; просмотров: 521;