![](/user_photo/2706_HbeT2.jpg)
- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
8.2. Основные задачи виртуальной памяти
Основными задачами виртуальной памяти являются реализации:
динамической переадресации программ,
памяти единого уровня.
Переадресации программ
В соответствии с основной концепцией виртуальной памяти пользователи могут писать программы с использованием любых адресов математической памяти. Переадресация программ заключается в изменении всех адресов обращения к памяти за командами и данными в соответствии с адресами памяти, выделенными операционной системой.
Имеется два способа переадресации программ: программный и аппаратный. Аппаратный способ переадресации используется в механизме виртуальной памяти. Альтернативой ему является программный способ.
Программный способ переадресации программ
Схема программного способа переадресации программ представлена на рис. 8.1. Это схема статической (глобальной) переадресации.
При статической переадресации исходная программа, возможно разделенная на части, написанная с использованием различных языков программирования, перед выполнением проходит две процедуры преобразования. Первой процедурой преобразования является перевод программы с используемого языка программирования на язык машинных команд (процедура компиляции программы). В результате этой процедуры формируются объектные модули. Объектные модули – это программы в машинных кодах, но не настроенные на "свободные участки адресов физической памяти".
Дальше работают две программы операционной системы: супервизор памяти (программа выделения свободных участков оперативной памяти) и редактор связей (программа, связывающая отдельные участки программы в единую последовательность команд – исполняемый модуль).
Все эти процедуры преобразования программ необходимы и при однопрограммных режимах работы, когда нет проблемы распределения памяти.
Разница заключается в том, что в многопрограммных режимах при каждом запуске (прогоне) программы нужно повторять преобразование объектного модуля в исполняемый модуль.
Построение памяти единого уровня
В современных ЭВМ используется многоуровневая физическая память: оперативная, энергонезависимая память на основе магнитных дисков и архивная память на основе записи на магнитных лентах. В однопрограммных режимах пользователи имеют возможность напрямую контролировать и управлять передачей данных по уровням памяти. В многопрограммных режимах работы программисту подконтрольна только математическая память (набор адресов, которые можно использовать в программах). Если этого достаточно для управления работой процессора, включая подкачку данных из памяти прямого доступа (свопинг), то говорят о реализации виртуальной памяти.
Таким образом, в понятие виртуальной памяти входят два механизма: динамическая переадресация и построение памяти единого уровня.
Кроме программного способа переадресации программ возможны и аппаратные способы. В этих способах исполняемый модуль формируется только один раз под адреса, назначенные программистом (в расчете на то, что вся оперативная память свободна). Настройка программ с учетом выполнения программы в многопрограммном режиме производится чисто аппаратно схемами процессора. Это динамическая переадресация программ.
Простейшая схема динамической переадресации программ представлена на рис. 8.2. В этой схеме программа, написанная для определенного участка адресов математической памяти, может быть помещена в произвольное место адресного пространства оперативной памяти без изменения адресов в командах.
Для корректного выполнения программы в аппаратуру процессора вводятся дополнительный регистр (регистр смещения) и сумматор.
При
загрузке исполняемого модуля программы
супервизор памяти выделяет для нее
определенный участок оперативной
памяти. Адреса этого участка могут
отличаться от адресов, используемых в
программе. Для их согласования в регистр
смещения заносится число, компенсирующее
разницу адресов в выделенном участке
физической памяти и математической
памяти:
Адрес физической :=адрес математической памяти + смещение.
Величина смещения может иметь любой знак (отрицательный или положительный).
Для запуска программы на регистр указателя команд (счетчик команд) заносится адрес входа в программу, указанный программистом, т.е. адрес математической памяти.
Работа программы начинается с выборки команды по содержимому регистра указателя команд. Но, так как указатель содержит адрес математической памяти, а не физической, производится аппаратная коррекция этого адреса. Она заключается в сложении содержимого регистра указателя команд и регистра смещения.
После выборки и дешифрации команды, если это команда обращения к оперативной памяти, в команде содержится также адрес не оперативной памяти, а математической. Поэтому любой адрес обращения к оперативной памяти перехватывается и проходит процедуру преобразования адресов.
Этот механизм преобразования адресов имеет ряд недостатков. Он предполагает механизм распределения оперативной памяти массивами произвольной размерности, что приводит к дефрагментации памяти. Кроме этого, он не решает проблему построения памяти единого уровня.
В МП IA используется процедура трансляции сегментов, которая частично решает проблемы виртуальной памяти: разделение адресных пространств задач и автоматическое преобразование математического адреса в линейный адрес оперативной памяти. Но это не считается механизмом виртуальной памяти, В защищенном режиме, кроме трансляции страниц, возможно включение механизма классической виртуальной памяти – "процедуры трансляции страниц".
Вопросы для самопроверки:
1. Динамическая переадресация программ.
2. Память единого уровня.
3. Глобальная переадресация программ.
4. Простейшая схема динамической переадресации программ.
5. Недостатки простейшей схемы переадресации программ.