- •4. Организация памяти эвм
- •4.1. Принцип работы оперативной памяти
- •4.2. Типы оперативной памяти
- •4.3. Модули для размещения оперативной памяти
- •4.4. Статическая память
- •4.5. Память для долговременного хранения информации
- •4.6. Стековая организация памяти
- •4.7. Виртуальная память
- •4.8. Контрольные вопросы
4.6. Стековая организация памяти
Во всех предыдущих типах памяти поиск искомой информации производится по адресу ячейки памяти или по её содержанию (как в кэш-памяти). Но есть возможность использовать безадресные команды, которые ускоряют работу. Для этих целей используется стек.
Стек представляет собой группу последовательно пронумерованных регистров или ячеек памяти, снабжённых указателем стека, в которой автоматически при записи или считывании устанавливается адрес последней занятой ячейки стека (называемой вершиной стека).
При операции записи заносимое в стек слово помещается в следующую по порядку свободную ячейку стека, а при считывании из стека извлекается последнее поступившее в него слово.
Это делается автоматически, поэтому могут использоваться команды с безадресным заданием операнда – здесь команда содержит адрес ячейки памяти или регистра, откуда слово передаётся в стек или куда загружается из стека. Это позволяет экономить память на форматах команд, но сложнее передача управления.
4.7. Виртуальная память
Для увеличения объёма памяти системы и для работы в многозадачном режиме была разработана концепция виртуальной памяти.
Виртуальная память (Virtual Memory) представляет собой программно-аппаратное средство расширения пространства памяти, предоставляемой программе в качестве оперативной.
Эта память физически реализуется с помощью оперативной и дисковой памяти под управлением соответствующей операционной системы.
Суть её в том, что на НЖМД создаётся файл обмена (Swap-файл), являющийся как бы расширением ОП.
Виртуальное пространство памяти разбито на страницы фиксированного размера (4 – 8 Кбайт). В физической ОП в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда ОС может «подкачать» их в физическую память, предварительно выгрузив на диск часть неиспользуемых в данный момент модифицированных страниц.
Обращение процессора к ячейке виртуальной памяти, присутствующей в физической памяти, происходит обычным способом.
Если же затребованная область в данный момент не отображена в физической памяти, процессор вырабатывает внутреннее прерывание, по которому ОС программы организует замещение страниц, называемое свопингом (Swapping).
Когда все ячейки реальной ОП заняты, а для работы программ нужна память, менеджер виртуальной памяти ОС освобождает физическую память, перенося часть информации, которая давно не использовалась, в файл обмена.
Виртуальную память поддерживают процессоры, работающие в защищённом режиме, начиная с 80286, но реально её широко стали использовать только в ОС и оболочках для 32-разрядных процессоров.
В принципе файл подкачки может располагаться и на сетевом диске, но при этом трафик сети будет напряжённым. Вопросами организации виртуальной памяти занимается ядро ОС.
Концепция виртуальной памяти широко используется в многозадачных режимах ОС Windows 95/98, ME, 2000, XP и WINDOWS NT.
4.8. Контрольные вопросы
Почему запоминание данных в ОП имеет временный характер?
Какие микросхемы динамической памяти известны?
Укажите разновидности статической памяти.
Перечислите модули для размещения памяти.
Какие разновидности памяти для долговременного хранения Вы знаете?
Что такое стековая и виртуальная память?
Где располагается виртуальная память?
