- •Вычислительные машины (конспект лекций) однопроцессорные эвм
- •Часть 3
- •8. Принципы организации ввода / вывода информации в микроэвм 5
- •8.1. Общие принципы организации вв
- •8.2. Программный вв
- •8.3. Вв по прерываниям
- •8.4. Вв в режиме пдп
- •8.4.1. Пдп с захватом цикла
- •8.4.2. Пдп с блокировкой процессора
- •8.5. Адаптер последовательного интерфейса
- •8.6. Адаптер параллельного интерфейса
- •Вопросы для самопроверки
- •Контрольные задания
- •9. Некоторые вопросы развития архитектуры эвм
- •9.1. Теги и дескрипторы. Самоопределяемые данные
- •9.2. Эвм risc-архитектуры
- •9.3. Методы оптимизации обмена процессор-память
- •9.3.1. Конвейер команд
- •9.3.2. Расслоение памяти
- •9.3.3. Буферизация памяти
- •9.4. Динамическое распределение памяти. Виртуальная память
- •9.4.1. Виртуальная память
- •9.4.2. Сегментно-страничная организация памяти
- •9.5. Защита памяти
- •9.5.1. Защита отдельных ячеек памяти
- •9.5.2. Метод граничных регистров
- •9.5.3. Метод ключей защиты
- •9.6. Алгоритмы управления многоуровневой памятью
- •9.7. Сопроцессоры
- •Вопросы для самопроверки
- •Контрольные задания
- •10. Эволюция шинной архитектурыibmpc
- •10.1. Локальная системная шина
- •10.2. Шина расширения
- •10.2.1. Шина расширенияisa
- •10.2.2. Шина расширения мса
- •10.2.3. Шина расширенияeisa
- •10.3. Локальные шины расширения
- •10.3.1. Локальная шинаvesa(vlb)
- •10.3.2. Локальная шинаpci
- •Компоненты материнской платы
- •Разновидности слотов
- •Типы разъемов оперативной памяти
- •Разъемы для подключения внешних устройств
- •Разъемы для подключения дисковых устройств
- •Разъемы процессоров
- •Вопросы для самопроверки
- •Контрольные задания
- •11. Принципы организации систем прямого доступа к памяти
- •11.1. Способы организации доступа к системной магистрали
- •11.2. Возможные структуры систем пдп
- •11.3. Организация обмена в режиме пдп
- •11.3.1. Инициализация средств пдп
- •11.3.2. Радиальная структура (slave dma)
- •11.3.3. Радиальная структура (bus master dma)
- •11.3.4. Цепочечная структура (bus master dma)
- •11.4. Принципы организации арбитража магистрали
- •Вопросы для самопроверки
- •Контрольные задания
9.4. Динамическое распределение памяти. Виртуальная память
Во многих случаях большие исполняемые программы и структуры данных не удается полностью разместить в ОП, поскольку емкости существующих ОП ограничены. Особенно остро эта проблема стоит в мультипрограммных, многопользовательских системах, выполняющих, грубо говоря, несколько программ одновременно. Естественно, в каждый момент времени ЭВМ выполняет команду какой-то одной программы. Однако всякий раз, когда выполнение процессором некоторой программы приостанавливается из-за необходимости произвести, например, операцию ВВ, процессор переходит к обработке другой, готовой для выполнения программы. При этом предполагается, что одновременно в ОП присутствует несколько программ, которые могут находиться в активном состоянии, состоянии готовности или ожидания. Однако нет принципиальной необходимости в том, чтобы все программы целиком (или одна большая программа) находились в ОП, так как в любой момент времени работа программы концентрируется на определенных, сравнительно небольших участках. Таким образом, в ОП следует хранить только используемые в данный период части программ, а неиспользуемые части (программ или программы) могут храниться во внешней памяти ЭВМ (ВП).
Вводя в ЭВМ свою программу, пользователь не знает, в комбинации с какими программами будет выполняться его программа, какое место в памяти отведет ей операционная система, поэтому при подготовке программ используются условные адреса (подготовка – имеется в виду операция компиляции программы). Позднее, в процессе выполнения программы, операционная система выделяет активным частям программы место в памяти, и условныеадреса переводятся висполнительные. Эта процедура получила названиединамического распределенияпамяти.
Осуществление динамического распределения чисто программным путем привело бы к значительным потерям машинного времени, поэтому для этой цели используются также аппаратные средства.
Наиболее распространенный способ динамического распределения памяти основан на использовании базовых регистров. Операционная система каждой пользовательской программе ставит в соответствие свой базовый адрес. Базовые адреса обрабатываемых программ находятся в общих регистрах процессора. При выполнении программы физический адрес образуется суммированием базового и относительного адресов. При динамическом распределении памяти с помощью базовых регистров программа (или, по крайней мере, та часть ее, адреса которой преобразуются с помощью одного и того же базового адреса) должна располагаться в последовательных ячейках и вводиться в ОП целиком, хотя в ближайшем цикле активности может потребоваться лишь небольшой фрагмент программы.
При рассмотренном способе динамического распределения памяти свободная памятьможет состоять изнесвязных областей(фрагментацияпамяти) и для ввода нужной программы может понадобиться сдвиг содержимого памяти. Это можно проиллюстрировать примером на рис. 9.11.
Первоначально ОП распределяется между программами A, B, C, D. Программы A и D в данный момент наименее активны и могут рассматриваться как кандидаты на удаление во внешнюю память. Если вновь вводимая программа E больше любой из программ A и D, то для ее размещения в памяти необходимо сдвинуть программы B и C "вверх" или "вниз". Это перемещение связано с потерей времени. Более того, в ряде прежних операционных систем такое перемещение требовало выполнения заново операции редактирования связей в программе и новой загрузки программы.
Отмеченные недостатки в распределении ОП отсутствуют в виртуальнойпамяти со страничной организацией.