Лекция4 (Лекции по микропроцессорной технике), страница 3
Описание файла
Файл "Лекция4" внутри архива находится в папке "Лекции по микропроцессорной технике". Документ из архива "Лекции по микропроцессорной технике", который расположен в категории "". Всё это находится в предмете "микропроцессорная техника" из 5 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "микропроцессорная техника" в общих файлах.
Онлайн просмотр документа "Лекция4"
Текст 3 страницы из документа "Лекция4"
• адрес, хранимый в выбранной строке таблицы сегментов, есть адрес начала сегмента в реальной памяти. Смещение в относительном адресе добавляется к начальному адресу, и результат является адресом в реальной памяти: 15000+75000=90000. Для относительного адреса (сегмент 3, смещение 13000) будет получен абсолютный адрес 218000.
При ДТА такое определение адресов ведется в процессе выполнения каждой команды.
Если операционной системе понадобится переместить исполняемую программу в другую часть памяти (например, чтобы исключить фрагментацию), сначала надо будет переслать команды и данные сегмента. Затем строку таблицы сегментов для данного сегмента нужно изменить так, чтобы она содержала новый адрес, и выполнение программы может быть продолжено. Это дает возможность динамического управления реальной памятью в процессе выполнения программы.
Использованием сегментации программ достигается уменьшение фрагментации основной памяти, но полностью фрагментация не устраняется - остаются фрагменты, длина которых меньше длины сегментов программы.
Если сегменты разделить на одну или несколько единиц, называемых страницами, которые имеют фиксированный размер, то, поскольку размер страницы достаточно мал по сравнению с обычным размером сегментов, неиспользуемые фрагменты ОП значительно сокращаются в объеме - будет иметь место так называемая фрагментация внутри страниц. Следовательно, потери все-таки останутся, но они будут существенно меньше.
Сегментно-страничная организация добавляет еще один уровень в структуре адресного пространства программы. Теперь адресное пространство программы дробится на сегменты, внутри сегментов - на страницы, а внутри страниц - на адреса байтов. Структура адреса: (S, P, i) - рис. 4.11, где S - имя сегмента внутри адресного пространства программы; Р - имя внутри страницы; i - адрес внутри страницы.
Рис.4.11
Формирование сегментно-страничной структуры выполняется автоматически с помощью операционной системы.
Для динамической трансляции адресов каждому сегменту необходима одна таблица сегментов и несколько таблиц страниц (рис. 4.12). Динамическая трансляция адресов будет выполняться следующим образом:
• регистр начала таблицы сегментов содержит начальный адрес таблицы сегментов выполняемой программы 28000;
• номер сегмента в относительном адресе используется как индекс для обращения к записи таблицы сегментов. Эта запись идентифицирует начало таблицы страницы (реальный адрес) 30000;
• номер страницы в относительном адресе используется как индекс для обращения к записи таблицы страниц. Эта запись идентифицирует начало страничного блока, содержащего эту страницу - 128000;
• смещение в относительном адресе и местоположение страничного блока объединяются вместе, формируя абсолютный адрес 129564. В реальной системе адрес страничного блока и смещение связываются, т.е. соединяются вместе для образования абсолютного адреса.
Все преимущества динамического перемещения с использованием сегментации и страничной организации достигаются благодаря аппаратуре и программному обеспечению, а не пользователям системы. Специальные программы во время загрузки разбивают адресное пространство программы на сегменты и страницы, строят таблицы сегментов и страниц. Средства ДТА автоматически транслируют адрес в процессе выполнения программы.