![](/user_photo/1334_ivfwg.png)
- •Оглавление
- •Введение
- •Глава 1. МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
- •1.1. Понятие архитектуры вычислительной системы. Структура аппаратной части и назначение основных функциональных узлов
- •1.2. Базовые параметры и технические характеристики ЭВМ
- •Контрольные вопросы к главе 1
- •Глава 2. СТРУКТУРА И ФУНКЦИОНИРОВАНИЕ ПРОЦЕССОРА
- •2.2. Устройство управления с программируемой логикой
- •2.3. Устройство управления с жесткой логикой
- •2.4. Слово состояния процессора
- •2.5. Микроконтроллеры
- •2.6. Особенности организации однокристальных и секционных микропроцессоров
- •2.8. Архитектура и функционирование микропроцессора
- •Контрольные вопросы к главе 2
- •Глава 3. СИСТЕМЫ КОМАНД МИКРОЭВМ
- •3.1. Язык микроопераций для описания вычислительных устройств
- •3.2. Структура и формат команд микропроцессора и МПС
- •3.3. Программирование микропроцессора
- •Контрольные вопросы к главе 3
- •Глава 4. ТЕНДЕНЦИИ РАЗВИТИЯ АРХИТЕКТУРЫ И АППАРАТНОГО ОБЕСПЕЧЕНИЯ ЭВС
- •4.1. Требования различных задач к вычислительным ресурсам и ограничения фон-Неймановской архитектуры
- •4.2. Распараллеливание процессов обработки информации
- •4.3. Принцип совмещения операций. Конвейерная обработка информации
- •4.4. Архитектура процессоров с сокращенным набором команд
- •4.5. Применение кэш-памяти и повышение пропускной способности
- •4.6. Транспьютеры
- •4.7. Развитие новых архитектурных принципов
- •4.8. Оценка производительности скалярного процессора
- •Контрольные вопросы к главе 4
- •Глава 5. ОПЕРАТИВНАЯ ПАМЯТЬ
- •5.1. Классификация и иерархическая структура памяти ЭВМ
- •5.2. Запоминающие элементы статических ОЗУ
- •5.3. Запоминающие элементы динамических ОЗУ
- •5.4. Структуры матриц накопителей информации
- •5.5. Структура построения БИС статических ОЗУ и модулей памяти
- •5.6. Структура построения БИС динамических ОЗУ
- •5.7. Элементная база и организация постоянных запоминающих устройств
- •Контрольные вопросы к главе 5
- •Глава 6. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА НА МАГНИТНЫХ НОСИТЕЛЯХ
- •6.1. Принцип записи двоичной информации на магнитную поверхность
- •6.3. Методы записи цифровой информации на магнитный носитель
- •6.4. Воспроизведение информации и повышение ее достоверности
- •6.5. Накопители на гибких магнитных дисках и их контроллеры
- •6.6. Накопители на жестких магнитных дисках типа винчестер и их контроллеры
- •6.7. Накопители на сменных магнитных дисках
- •6.8. Накопители на магнитной ленте
- •Контрольные вопросы к главе 6
- •Глава 7. ОПТИЧЕСКИЕ И МАГНИТООПТИЧЕСКИЕ ВЗУ
- •7.1. Лазерные системы и их применение в устройствах внешней памяти
- •7.2. Оптические диски
- •7.3. Магнитооптические диски
- •7.4.Устройство накопителя на оптических дисках
- •Контрольные вопросы к главе 7
- •Глава 8. ВЗУ НА ЦМД-СОДЕРЖАЩИХ МАТЕРИАЛАХ
- •8.1. Принципы возникновения цилиндрических магнитных доменов
- •8.2. Организация продвижения ЦМД
- •8.4. Структура ЦМД-микросхем памяти
- •8.5. Устройство ЦМД-накопителя
- •Контрольные вопросы к главе 8
- •Глава 9. ВЗУ НА ОСНОВЕ ГОЛОГРАФИИ
- •9.1. Носители информации голографических ЗУ
- •9.2. Создание голограмм
- •9.3. Воспроизведение голограмм
- •9.4. Голографические ЗУ двоичной информации
- •Контрольные вопросы к главе 9
- •Глава 10. ОРГАНИЗАЦИЯ БЕЗАДРЕСНОЙ И ВИРТУАЛЬНОЙ ПАМЯТИ
- •10.1. Стековая память
- •10.2. Ассоциативная память
- •10.3. Виртуальная память со страничной организацией
- •10.4. Структура виртуальной памяти при сегментном распределении
- •Контрольные вопросы к главе 10
- •Глава 11. НАЗНАЧЕНИЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ
- •11.1. Классификация периферийных устройств
- •Контрольные вопросы к главе 11
- •Глава 12. УСТРОЙСТВА АВТОМАТИЧЕСКОГО СЧИТЫВАНИЯ ТЕКСТОВ
- •12.1. Устройства автоматического ввода печатных текстов
- •12.2. Методы распознавания образов печатных знаков
- •12.3. Устройства автоматического ввода рукописных текстов
- •12.4. Средства считывания и хранения графических изображений поврежденных рукописных текстов
- •12.5. Кодирование текстов для электронных публикаций
- •Контрольные вопросы к главе 12
- •Глава 13. УСТРОЙСТВА АВТОМАТИЧЕСКОГО ВВОДА ИЗОБРАЖЕНИЙ
- •13.1. Устройства автоматического ввода одноконтурных изображений
- •13.2. Устройства автоматического ввода многоконтурных и полутоновых изображений
- •13.3. Считывание цветных изображений
- •Контрольные вопросы к главе 13
- •Глава 14. УСТРОЙСТВА ПОЛУАВТОМАТИЧЕСКОГО ВВОДА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ - ДИГИТАЙЗЕРЫ
- •14.1. Устройство рабочего поля планшета
- •14.2. Структурная схема дигитайзера и ее функционирование
- •Контрольные вопросы к главе 14
- •Глава 15. УСТРОЙСТВА ВВОДА - ВЫВОДА РЕЧЕВОЙ ИНФОРМАЦИИ
- •15.1. Модель речи
- •15.2. Структурная схема анализатора речи
- •15.3. Структура устройств ввода речи
- •15.4.Устройства вывода речевой информации - синтезаторы
- •Контрольные вопросы к главе 15
- •Глава 16. УСТРОЙСТВА ОТОБРАЖЕНИЯ ИНФОРМАЦИИ - ДИСПЛЕИ
- •16.1. Классификация дисплеев
- •16.2. Способы формирования изображения на экране телевизионного дисплея
- •16.3. Структурная схема текстового телевизионного дисплея
- •16.4. Структурная схема графического телевизионного дисплея
- •16.5. Устройство плоских экранов
- •Контрольные вопросы к главе 16
- •Глава 17. АВТОМАТИЧЕКИЕ УСТРОЙСТВА РЕГИСТРАЦИИ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ - ГРАФОПОСТРОИТЕЛИ
- •17.1. Классификация и устройство графопостроителей
- •17.2. Принципы работы графопостроителя по вычерчиванию
- •17.3. Структурная схема планшетного графопостроителя
- •17.4. Структурная схема растрового графопостроителя
- •Контрольные вопросы к главе 17
- •Глава 18. АППАРАТУРА ПРИЕМА-ПЕРЕДАЧИ ИНФОРМАЦИИ
- •18.1. Обобщенная структурная схема аппаратуры передачи дискретной информации
- •18.2. Характеристики аппаратуры передачи данных
- •18.3. Принципы организации интерфейсов
- •18.4. Классификация интерфейсов
- •Контрольные вопросы к главе 18
- •Глава 19. АВТОМАТИЧЕСКИЕ УСТРОЙСТВА ВВОДА-ВЫВОДА АНАЛОГОВОЙ ИНФОРМАЦИИ В ЭВМ
- •19.1. Назначение устройств ввода-вывода аналоговой информации в ЭВМ
- •19.2. Принципы построения ЦАП и АЦП
- •19.3. Принципы построения и программирование системы ввода-вывода аналоговой информации в ЭВМ
- •Контрольные вопросы к главе 19
- •Глава 20. КАНАЛЫ ВВОДА-ВЫВОДА И АППАРАТУРА СОПРЯЖЕНИЯ
- •20.2. Организация обмена массивами данных
- •20.3. Мультиплексный канал
- •20.4. Селекторный канал
- •20.5. Устройства сопряжения - мультиплексоры передачи данных
- •Контрольные вопросы к главе 20
- •Глава 21. УСТРОЙСТВА ЗАЩИТЫ ОТ ОШИБОК В ПЕРЕДАВАЕМОЙ ИНФОРМАЦИИ
- •21.1. Причины возникновения ошибок в передаваемой информации
- •21.2. Краткая характеристика способов защиты от ошибок
- •21.3.Обнаруживающие коды - с проверкой на четность и итеративный код
- •21.4. Корректирующий код Хэмминга
- •21.5. Циклические коды
- •21.6. Циклический код Файра как средство коррекции пакетов ошибок
- •Контрольные вопросы к главе 21
- •ЗАКЛЮЧЕНИЕ
- •Приложение 2
- •Приложение 3
- •Приложение 4
- •Приложение 5
- •Приложение 6
- •Приложение 7
- •Приложение 8
- •Приложение 9
- •Приложение 10
- •Приложение 11
- •Приложение 12
- •Приложение 13
- •Приложение 14
- •Приложение 15
- •Приложение 16
- •Приложение 17
- •Приложение 18
- •Приложение 19
- •Приложение 20
- •Приложение 22
- •Приложение 23
- •Приложение 24
- •Приложение 25
- •Приложение 26
- •Предметный указатель
- •Список литературы
Глава 10. Организация безадресной и виртуальной памяти |
163 |
Для реализации АЗУ необходимы запоминающие элементы, допускающие считывание без разрушения записанной в них информации (неразрушающее считывание). Это связано с тем, что при ассоциативном поиске считывание производится по всему ЗМ для всех незамаскированных разрядов и негде сохранять временно разрушаемую считыванием информацию. Такими запоминающими элементами могут быть триггеры на МДП-транзисто- рах и на биполярных транзисторах.
Посредством операции контроля ассоциации можно, не считывая слова из памяти, определить по содержимому регистра совпадения, сколько в памяти слов, удовлетворяющих ассоциативному признаку, например, реализовывать запросы типа: сколько студентов в группе имеют отличную оценку по данной дисциплине. При использовании соответствующих комбинационных схем в АЗУ могут выполняться достаточно сложные логические операции, такие, как поиск большего (меньшего) числа, поиск слов, заключенных в определенных границах, поиск максимального (минимального) числа и другие.
АЗУ могут решать задачи, связанные с обработкой больших массивов информации: накопления, отбора, сортировки и статистического анализа экономической и измерительной информации; динамического программирования; распознавания образов; преобразования кодов; контроля и коррекции ошибок. АЗУ входят в состав специализированных ЭВМ, предназначенных для поиска и упорядочения вывода информации; в универсальных ЭВМ в качестве сверхоперативного ЗУ (СОЗУ), позволяющих значительно ускорять процесс обработки информации. Ассоциативное ЗУ может применяться для хранения страничной таблицы виртуальной памяти.
10.3. Виртуальная память со страничной организацией
Физическая память современных ЭВМ и систем имеет иерархическую многоуровневую структуру. Чем выше уровень, тем больше быстродействие соответствующей памяти, но меньше ее емкость. К верхнему уровню относятся ЗУ, с которыми процессор непосредственно взаимодействует в процессе выполнения программы. Это - оперативная память, относящаяся к наиболее дефицитным ресурсам в ВС, которыми надо пользоваться экономно и эффективно. Быстродействие ОЗУ оказывается недостаточным для обеспечения требований, предъявляемых к скорости работы ЭВМ средней и высокой производительности. Поэтому в состав процессора включают буферную сверхоперативную память небольшого объема и повышенного быстродействия (СОЗУ), хранящую команды и данные, относящиеся к обрабатываемому участку программы. Проблема усложняется при переходе к системам с распределением времени (мультипрограммным системам), так как в них ОЗУ одновременно используется несколькими программами. В таких системах необходимо исключить несанкционированное воздействие одних программ на другие, то есть предотвратить или ограничить обращения одной программы к областям памяти, используемым другими программами. Это достигается посредством механизма защиты памяти.
Эффективное распределение ресурса памяти между программами не может быть статическим, то есть невозможно провести распределение ресурса предварительно, до пуска программы, так как в процессе обработки данных по программам потребности в ресурсах памяти отдельных программ изменяются, что заранее не может быть учтено. Необходимо распределять память между программами непосредственно в ходе вычислительного процесса, то есть осуществлять динамическое распределение памяти. При этом должна обеспечиваться независимость работы нескольких программистов над своими программами, подлежащими мультипрограммной обработке. Динамическое распределение памяти не должно приводить к дроблению ее свободного пространства, называемому фрагментацией памяти, затрудняющему его использование. Это достигается на основе одноуровневой виртуальной памяти, допускающей адресацию на все адрес-
Глава 10. Организация безадресной и виртуальной памяти |
164 |
ное пространство, размер которого определяется полем адресного кода команды. Гибкое динамическое распределение памяти мультипрограммной ВС, устранение фраг-
ментации памяти и удобство для работы программистов достигаются при организации памяти ЭВМ в виртуальную память.
В виртуальной памяти все рабочее адресное пространство ЭВМ разбито на две части, соответствующие аппаратуре внутренней памяти и более дешевой внешней памяти, а именно на быстродействующую память и медленную внешнюю память. В ЭВМ на базе процессора Intel 80286 адресное пространство составляет 16 Мбайт, а в случае процессора Intel 80386 это пространство составляет уже 4 Гбайт.
Термин “виртуальная память” был введен Деннингом в 1970 году. Необходимость создания виртуальной памяти была обусловлена двумя причинами: необходимостью запуска задач, требующих для своей обработки большого объема оперативной памяти, иногда превышающего размер физической памяти. Без механизма реализации виртуальной памяти решение таких задач не возможно. Второй причиной явилась необходимость надежной изоляции адресных пространств выполняемых в режиме мультипрограммирования задач в целях защиты самой операционной системы и удешевления разработки программного обеспечения. Позже в подтверждение необходимости создания виртуальной памяти было показано, что если при постановке задачи заранее оговаривается адресное пространство, в котором должно выполняться задание, то это вызывает резкое повышение стоимости программирования. Эти проблемы могли бы решаться применением ОЗУ чрезвычайно больших размеров, но такой подход экономически не выгоден.
Другой подход заключается в использовании операционной системы, которая создает иллюзию чрезвычайно большой оперативной памяти. Поскольку это только иллюзия, такая память называется “виртуальной”, кажущейся.
Существуют два основных способа управления виртуальной памятью: управление страничной памятью по запросам и управление сегментной памятью. При страничной организации все адресное пространство делится на страницы, то есть на установленные “порции” информации для обмена данными между памятью и устройствами передачи данных в системе со страничным обменом. Количество слов или байтов в странице жестко регламентировано для конкретной ВС и почти всегда кратно двум. Обычно страница содержит 4К данных. Термин “страница” является синонимом термина страничный “блок”, но второй чаще используется, когда речь идет о копии страницы, которая имеется в буфере устройства передачи данных.
При страничной организации памяти по запросам коэффициент использования оперативной памяти может превысить 100%. Это означает, что сумма адресных пространств заданий, выполняемых в режиме мультипрограммной обработки, может превысить объем физической памяти. Тогда отказываются от требования, чтобы все адресное пространство задания находилось в основной памяти, вместо этого в оперативную память загружается только часть адресного пространства задачи а оставшуюся часть загружают во внешнюю память. Это возможно осуществить благодаря следующим обстоятельствам:
-многие программы во время прогона взаимно исключают друг друга, например, подпрограммы ввода исходной информации, подпрограммы фаз компиляции, подпрограммы выдачи результатов. Даже если в конкретном прогоне участвуют все эти подпрограммы, они могли бы и не находиться в оперативной памяти одновременно;
-некоторые функции программ могут быть взаимоисключающими, например, сортировка платежных ведомостей либо по имени, либо по номеру служащих;
-под многие таблицы отводится фиксированное количество адресного пространства, хотя в действительности используется только небольшая часть таблицы. Например, если таблица имен ассемблера рассчитана на 1000 имен, а при конкретном прогоне программы их только 100, то 90% таблицы не используется в этом прогоне;
Глава 10. Организация безадресной и виртуальной памяти |
165 |
-программы обработки ошибок, написанные пользователем, используются только при ошибочных ситуациях.
При страничной организации виртуальной памяти на всех этапах подготовки программы, включая загрузку в ОЗУ, программа представляется в виртуальных (говорят также математических) адресах и лишь при самом исполнении машинной команды производится преобразование, перекодирование виртуальных адресов в адреса действующей памяти, в так называемые физические адреса. Это преобразование составляет содержание динамического распределения памяти.
Преобразование виртуальных адресов в физические упрощается и устраняется фрагментация памяти, если физическую и виртуальную памяти разбить на страницы, содержащие одно и то же количество байт, поэтому каждая физическая страница способна хранить одну из виртуальных страниц. Порядок нумерации байт в обеих страницах сохраняется одним и тем же.
В мультипрограммной системе страничная организация памяти дает определенные преимущества:
-при загрузке новой программы в ОЗУ она может быть автоматически направлена в любые свободные в данный момент физические страницы независимо от того, расположены они подряд или нет, при этом не требуется перемещения информации в остальной части памяти, важно только, чтобы суммарный объем свободной части памяти был достаточен для размещения новой программы, что и приводит к дефрагментации памяти;
-сокращается объем передачи информации между ВЗУ и ОЗУ, так как страница программы не должна загружаться до тех пор, пока она действительно не понадобится, при этом уменьшаются требования к емкости ОЗУ, так как в нем должны содержаться только те участки различных программ, которые действительно работают (или будут работать) в течение ближайшего периода времени, неактивные же части программы продолжают оставаться в ВЗУ.
Основной недостаток разбиения на страницы, заключающийся в неэффективном использовании объема памяти, проявляется тогда, когда требуются участки очень маленького объема, поскольку наименьшей единицей распределения памяти является страница.
Правила перевода адресов виртуальных страниц в физические задаются в виде страничной таблицы, показанной на рис. 10.5. Страничная таблица, обозначаемая PMT, (от англ. page memory table), указывает соответствие номеров виртуальных страниц p и физических страниц P(p); b - номер байта. Страничная таблица формируется супервизором - управляющей программой, называемой также программой монитором или диспетчером, представляющей собой часть операционной системы, постоянно находящуюся в ОЗУ и непосредственно имеющую дело с аппаратной частью ЭВМ или ВС. Формирование PMT производится в процессе распределения памяти, и содержание таблицы перерабатывается супервизором каждый раз, когда в распределении памяти проводится изменение.
На рис.10.6 приведена схема устанавливаемого с помощью РМТ соответствия между виртуальными и физическими адресами при страничной организации памяти; на рис.10.7
показан пример реализации такой схемы для случая 32-разрядной ЭВМ. Здесь показано распределение памяти только для одной программы. В вычислительной системе с разделением времени обрабатывается сразу несколько программ (рис. 10.8). Кодирование поля состояния страничной таблицы таково: Y - данная страница находится в оперативной памяти, N - страница отсутствует в ОЗУ. РМТ во избежание наложения программ друг на друга должна учитывать также принадлежность страницы различным пользователям, а номер физической страницы Р может быть представлен как функция двух переменных: номера виртуальной страницы р и номера программы.
![](/html/1334/288/html_lWzDNqkTWr.70HG/htmlconvd-VplQW_166x1.jpg)
Глава 10. Организация безадресной и виртуальной памяти |
166 |
Номер Номер виртуальной байта
страницы
Рв Виртуальный
|
|
адрес |
|
|
Страничная |
|
|
таблица (РМТ) |
Р(р) |
|
Номер |
|
физической |
|
|
|
|
|
|
страницы из |
|
|
страничной |
|
|
таблицы |
Р(р) |
в |
Физический |
|
|
адрес |
α разрядов |
β |
разрядов |
Рис. 10.5. Схема перевода виртуального адреса в физический
Виртуальная |
Страничная |
|
|
Физическая |
|||||
|
память |
таблица |
|
|
ОП |
||||
|
|
|
|
Тип |
Номер |
|
|
|
0 |
|
|
|
|
памяти |
физич. |
|
|
|
1 |
|
|
|
|
|
страниц |
|
|
|
2 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
3 |
0 |
|
|
|
ОП |
5 |
|
|
|
|
|
|
|
|||||||
1 |
|
|
|
ОП |
0 |
|
|
|
4 |
|
|
|
|||||||
2 |
|
|
|
ОП |
7 |
|
|
|
5 |
|
|
|
|||||||
3 |
|
|
|
ВЗУ |
4 |
|
|
|
6 |
|
|
|
|||||||
4 |
|
|
|
ВЗУ |
10 |
|
|
|
7 |
|
|
|
|||||||
5 |
|
|
|
ОП |
8 |
|
|
|
8 |
|
|
|
|
|
|
||||
6 |
|
|
|
ОП |
9 |
|
|
|
9 |
|
|
|
|
||||||
7 |
|
|
|
ОП |
1 |
|
|
|
10 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
память
ВЗУ
0
1
2
3
4
5
6
7
8
9
10
11
Рис. 10.6. Страничная организация виртуальной памяти
Страницы, к которым редко обращались в процессе вычислений, так называемые неактивные страницы, должны быть удалены из ОЗУ и записаны во внешнее ЗУ, например, на диск НМД. Стоимость хранения на магнитоносителе на один или два порядка дешевле, чем в полупроводниковой памяти. Однако размер объема виртуальной памяти ограничен размером памяти ВЗУ и, кроме того, скорость доступа в ВЗУ относительно низка.
При страничной организации памяти необходимо выполнять следующие функции: 1. Отслеживание состояния памяти с помощью таблиц:
-таблиц страниц, по одной на каждую задачу,
-таблицы блоков памяти, одной на систему,
-карт файлов - по одной на каждое адресное пространство.
2.Определение, кто и когда получает доступ к памяти. Это частично определяется программой - планировщиком заданий, отвечающей за управление распределением совместного ресурса ЭВМ между коллективом пользователей; в динамике это определяется также прерыванием по запросу страниц.
![](/html/1334/288/html_lWzDNqkTWr.70HG/htmlconvd-VplQW_167x1.jpg)
Глава 10. Организация безадресной и виртуальной памяти |
167 |
Генерация процессором |
Исполнительный адрес |
|
|
|||||
исполнительного адреса |
|
|
||||||
|
|
32 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
LOAD 1, смещ.(инд., база) |
|
|
p |
|
|
b |
|
|
|
0 |
7 |
8 |
12 |
19 |
20 |
12 31 |
|
|
не исп. |
|
№ стр. |
Адрес байта |
|
|||
|
|
|
|
|
|
внутри стр. |
|
|
№ стр. |
№ блока |
|
|
|
|
|
|
Адрес |
0 |
|
|
|
|
|
|
|
|
|
|
|
РМТ(p) |
|
b |
физич. |
||
1 |
|
|
|
|
||||
|
|
|
|
|
|
|
памяти |
|
2 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
31 |
|
3 |
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Физическая |
|
|
|
|
|
|
|
|
память |
4096
Табл. стр. РМТ
Рис. 10.7. Пример схемы вычисления адреса физической памяти по исполнительному адресу
|
|
|
|
|
0 |
|
Задача 1 |
|
|
|
|
1000 |
Операционная |
0 |
|
|
|
|
||
|
0 |
Y |
5 |
|
|
система |
1000 |
|
2000 |
|
|||
|
|
|
|
Задача 2 |
||
|
1 |
Y |
6 |
|
|
|
2000 |
|
|
Страница 0 |
|||
|
|
|
|
3000 |
||
|
|
|
|
|
||
|
|
|
|
|
|
|
Задача 2 |
|
|
|
|
4000 |
|
0 |
0 |
Y |
2 |
|
Задача 2 |
|
|
|
|
||||
|
|
|
Страница 1 |
|||
1000 |
|
|
|
|
5000 |
|
|
|
|
|
Задача 1 |
||
|
1 |
Y |
4 |
|
|
|
2000 |
|
6000 |
Страница 0 |
|||
|
|
|
|
|||
|
|
|
|
Задача 1 |
||
|
2 |
N |
- |
|
|
|
3000 |
? |
|
Страница 1 |
|||
|
|
|
7000 |
|||
|
|
|
страница, |
|
||
|
|
|
|
|
|
|
Задача 3 |
|
|
|
находящаяся |
8000 |
|
0 |
0 |
Y |
8 |
в ВЗУ |
Задача 3 |
|
|
|
|
||||
1000 |
|
|
Страница 0 |
|||
|
|
|
|
9000 |
||
|
|
|
|
|
||
Виртуальные |
Таблицы |
|
|
10000 |
|
|
адресные |
страниц |
|
|
|
||
пространства |
|
(РМТ) |
|
|
|
|
|
|
|
|
|
11000 |
Физическая |
|
|
|
|
|
|
|
|
|
|
|
|
|
страница |
Рис. 10.8. Структура виртуальной памяти при страничном распределении по запросам
![](/html/1334/288/html_lWzDNqkTWr.70HG/htmlconvd-VplQW_168x1.jpg)
Глава 10. Организация безадресной и виртуальной памяти |
168 |
3.Распределение. При возникновении необходимости в выделении блока программы должен быть найден свободный блок памяти и должно быть изменено состояние этого блока в таблицах.
4.Освобождение. Если при необходимости выделения памяти свободный блок не найден, должен быть освобожден и перераспределен один из уже выделенных блоков памяти. При завершении задания все используемые заданием блоки освобождаются.
Операция преобразования адресов может быть реализована и аппаратно. Если РМТ хранится в ОЗУ, то выборка каждого слова требует двух машинных циклов обращения к памяти вместо одного: лишний цикл необходим для обращения к РМТ. Для сокращения потерь времени при этом РМТ хранят в СОЗУ небольшой емкости. Поскольку сравнительно небольшое число физических страниц памяти активно используется в течение определенного промежутка времени, целесообразно иметь небольшое ассоциативное запоминающее устройство, содержащее данные только о недавно использовавшихся физических страницах. Вся остальная информация по преобразованию адресов может храниться в обычной памяти или в СОЗУ в виде РМТ, построенной по виртуальным страницам (рис. 10.9). Здесь a - число разрядов в номере виртуальной страницы. Наиболее простой случай - когда информация о запрашиваемой странице находится в АЗУ. В результате ассоциативного поиска находится регистр (на рисунке это третий регистр), хранящий нужную информацию, и из него номер физической страницы передается в адресный регистр ОЗУ, а его разряд использования устанавливается в 1.
Случаи, когда в АЗУ нет информации о странице (неактивная страница) и в АЗУ имеется или отсутствует свободный регистр, показаны на рисунках 10.10 и 10.11.
Номер |
Виртуальный |
|||
программы |
|
адрес |
|
|
N |
|
р |
|
b |
|
|
|
|
|
|
Проверка |
|
|
|
|
совпадения |
Разряд |
Разряд |
|
|
|
|||
|
|
занятости |
использования |
|
|
2 N+p |
P(p,N) |
|
|
|
0 |
|
|
|
|
1 |
|
|
|
|
2 |
|
1 |
|
Ассоциативные |
3 |
1 |
||
|
||||
регистры |
4 |
|
|
5
6
7
|
|
|
|
|
|
|
|
Адресный |
|
|
|
|
||
|
|
|
||
P(p,N) |
b |
регистр |
||
|
|
|
памяти |
|
|
|
|
Рис. 10.9. Пример организации работы ассоциативной памяти страничных таблиц
![](/html/1334/288/html_lWzDNqkTWr.70HG/htmlconvd-VplQW_169x1.jpg)
Глава 10. Организация безадресной и виртуальной памяти |
|
|
169 |
||
|
Номер |
Виртуальный |
|
||
|
программы |
|
адрес |
|
|
|
N |
|
р |
b |
|
|
|
|
Не |
|
|
|
|
совпало |
Просмотр |
|
|
|
Проверка |
|
|
|
|
|
|
|
страничной |
|
|
|
совпадения |
|
таблицы |
Разряд |
|
|
|
|
|
в памяти |
|
|
|
|
|
занятости |
|
|
|
|
|
|
|
|
|
|
|
|
Разряд |
|
2 N+p |
|
P(p,N) |
использования |
|
|
0 |
|
|
1 |
|
|
1 |
|
|
1 |
|
|
2 |
|
|
0 |
Установка |
Ассоциативные |
3 |
|
|
0 |
разрядов |
регистры |
4 |
|
|
0 |
занятости |
|
5 |
|
|
0 |
и использо- |
|
|
|
вания в 1 |
||
|
6 |
|
|
0 |
|
|
|
|
|
||
|
7 |
|
|
0 |
|
Адресный
P(p,N) b регистр памяти
Рис. 10.10. Функционирование АЗУ РМТ при отсутствии в нем информации о странице и наличии свободного регистра
|
Номер |
Виртуальный |
|
|
|
||
|
программы |
|
адрес |
|
|
|
|
|
N |
|
р |
b |
|
|
|
|
|
|
Не |
|
|
|
|
|
|
|
совпало |
|
Просмотр |
|
|
|
|
|
|
|
|
||
|
Проверка |
|
|
|
страничной |
|
|
|
совпадения |
|
|
таблицы |
Разряд |
||
|
|
|
|
|
в памяти |
||
|
|
|
|
|
занятости |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Разряд |
|
2 N+p |
|
P(p,N) |
|
|
использования |
|
|
0 |
|
|
|
1 |
1 |
|
|
1 |
|
|
|
1 |
1 |
|
|
2 |
|
|
|
1 |
1 |
|
Ассоциативные |
3 |
|
|
|
1 |
1 |
|
регистры |
4 |
|
|
|
1 |
1 |
|
|
5 |
|
|
|
1 |
0 |
Установка |
|
6 |
|
|
|
1 |
0 |
разряда |
|
7 |
|
|
|
1 |
1 |
использо- |
|
|
|
|
|
|
|
вания в 1 |
|
|
|
P(p,N) |
b |
Адресный |
|
|
|
|
|
регистр |
|
|||
|
|
|
|
|
|
памяти |
|
Рис. 10.11. Функционирование АЗУ РМТ при отсутствии в нем информации о странице и отсутствии свободного регистра
![](/html/1334/288/html_lWzDNqkTWr.70HG/htmlconvd-VplQW_170x1.jpg)
Глава 10. Организация безадресной и виртуальной памяти |
170 |
|
|
|
ПЗУ BIOS |
|
||
4х16К |
|
|
|
|
|
|
|
|
Стр. с |
|
EMS |
||
|
|
|
|
|||
16 К |
|
|
фрагментами |
|
||
|
|
отображения |
|
до 32 М |
||
|
|
|
|
|||
|
|
|
памяти |
|
|
|
16 К |
|
|||||
|
|
|
|
|
||
|
|
ПЗУ |
|
|
||
|
|
|
|
|
||
16 К |
|
|
расш. BIOS |
|
|
|
|
|
|
|
|
||
|
|
Видео |
|
|
||
|
|
|
|
|
||
16 К |
640 К |
|||||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
DOS
Данные BIOS |
0 |
|
Рис. 10.12. Спецификация отображаемой памяти EMS (LIM)
Другой способ хранения неактивных страниц - существование этих страниц не в ВЗУ, а в каком-нибудь параллельном адресном пространстве, зарезервированном в полупроводниковой памяти. Этот способ обладает гораздо более высокой скоростью переключения страниц. В персональных компьютерах используется хранение неактивных страниц в ОЗУ. На рис. 10.12 показана спецификация отображаемой памяти EMS (от англ. Explanded Memory Specification, иногда обозначаемой LIM) , то есть точное описание действий, которые необходимо выполнять для отображения неактивных страниц в полупроводниковой памяти. Спецификация EMS базируется на переключении блоков дополнительной памяти в зарезервированную область адресного пространства. EMSметод позволяет увеличивать объем оперативной памяти при ограничении адресного пространства со стороны процессора, при этом задействуются все линии шины адреса.
Отметим достоинства способа динамического распределения памяти страницами по запросам. За счет того, что адресные пространства заданий не ограничиваются объемом физической памяти, можно получить большой объем виртуальной памяти. Благодаря этому достигается лучшая совместимость больших и малых вычислительных машин при их объединении в сети. Как показали исследования, не менее 25% адресных пространств заданий не загружается при конкретном прогоне. При распределении страниц по запросам те части адресных пространств, которые не используются или используются редко, вообще не будут загружены во внутреннюю память, чем и достигается более эффективное ее использование. Кроме того, поскольку сумма всех адресных пространств заданий может превышать объем физической памяти за счет использования ВЗУ, достигается практически неограниченное мультипрограммирование, позволяющее одновременно работать за терминалами универсальной ЭВМ высокой производительности до 280 пользователям.
К недостаткам распределения страницами по запросам относятся следующие. Объем таблиц и накладные расходы процессора, вызываемые необходимостью обработки страничных прерываний, возрастают по сравнению со схемой простого страничного распределения памяти, когда сумма всех адресных пространств заданий не превышает объема физической памяти.