- •Основы построения микропроцессорных систем
- •Основные определения и общие сведения
- •Типы информационного обмена
- •Параллельный обмен
- •Последовательный обмен
- •Протоколы обмена
- •1.3 Особенности применения цифровых микросхем
- •1.4 Структурные принципы микропроцессорных систем
- •Общая структура
- •Управление чтением и записью
- •Временные диаграммы чтения и записи
- •Подключение памяти и устройств ввода-вывода
- •Типы запоминающих устройств
- •Основные устройства микропроцессорной системы
- •Центральный процессор
- •Микропроцессор
- •Структура
- •Обработка команд
- •Временные диаграммы машинных циклов микропроцессора при чтении и записи
- •Система команд
- •Дешифратор адреса
- •Запоминающие устройства
- •Устройства ввода-вывода
- •Устройство звуковой сигнализации
- •Программируемый параллельный интерфейс
- •Универсальный синхронно-асинхронный приемопередатчик
- •Программируемый интервальный таймер
- •Программируемый контроллер приоритетных прерываний
- •Контроллер прямого доступа к памяти
- •Устройство индикации
- •Развитие архитектуры микропроцессорных систем
- •Технические требования
- •Сегментная модель памяти
- •Непрерывная модель памяти
- •Виртуальная адресация
- •Области оперативной памяти
- •Список литературы
- •Оглавление
- •1. Основы построения микропроцессорных систем 3
- •1. Основные устройства микропроцессорной системы 27
- •1. Развитие архитектуры микропроцессорных систем 76
Виртуальная адресация
Графические многозадачные операционные системы 32-разрядных микропроцессоров позволяют использовать в МПС размер памяти больший, чем суммарная информационная емкость ИМС ЗУ за счет возможности обмена страницами памяти с накопителем на жестком магнитном диске. В процессе функционирования МПС в ОЗУ загружаются программный код и данные. Если потребности программ в объеме ОЗУ превышают этот объем, то содержимое страниц памяти, которое требуется сравнительно редко записывается на жесткий диск в специальный файл. Последний обычно имеет расширение .SWP и называется файлом подкачки страниц (или просто файл подкачки). Виртуальная адресация означает такой способ управления памятью операционной системой, при котором общий объем адресуемой памяти разделяется между программами (или подпрограммами) и отображается на доступные области ОЗУ. Особенностью виртуальной памяти многозадачных графических операционных систем является способность файла подкачки страниц динамически изменять свой размер в зависимости от объема информации, обрабатываемой микропроцессором.
Специальная программа операционной системы, называемая диспетчером виртуальной памяти устанавливает соответствие между виртуальными адресами страниц и их реальным расположением в ОЗУ или файле подкачки. Обмен страницами между ОЗУ и этим файлом также контролирует указанный диспетчер.
Когда виртуальный адрес, по которому обращается программа, не соответствует странице, расположенной в ОЗУ, микропроцессор сообщает об ошибке и диспетчер виртуальной памяти переписывает требуемую страницу из файла обмена в ОЗУ. При этом в ОЗУ обычно освобождается соответствующий объем путем удаления какой-либо другой страницы и ее записи в файл обмена. Для оптимизации процесса обмена между ОЗУ и виртуальной памятью операционная система применяет специальный алгоритм называемый least recently used (LRU), реализующий логику удаления в файл обмена наиболее редко используемые страницы памяти.
Области оперативной памяти
В настоящее время принята следующая классификация областей ЗУ (см. рис. 3.4).
Базовая, или стандартная память (conventional memory) — участок ОЗУ от 0 до 640 КВ, т. е. расположенный в пределах, непосредственно адресуемых 20-разрядным микропроцессором (1МВ или 1024 КВ).
Область старших адресов, или верхняя память (Upper Memory Area, UMA) — часть оперативной памяти, находящаяся между адресами 640 и 1024 КВ.
Расширенная память (extended memory) — область ОЗУ, расположенная выше 1024 КВ. Согласно общепринятому стандарту eXtended Memory Specification (XMS) расширенная память делится на следующие участки:
область высокой памяти объемом 64 КВ или High Memory Area (HMA);
собственно расширенная память или Enhanced Memory Block (EMB), расположенная выше 1088 КВ.
Отображаемая память (expanded memory) — внешнее устройство, адресуемое 20-разрядными микропроцессорами по стандарту Expanded Memory Specification (EMS). Этот стандарт впервые позволил обойти ограничения на адресуемый объем памяти указанных микропроцессоров. Для работы с отображаемой памятью необходима специальная программа, называемая драйвером ЕМS, который делает доступным эту память для микропроцессора, и дает ему возможность взаимодействовать с ней как с внешним устройством. Для работы с UMB, HMA и XMS также нужны соответствующие драйверы (например HYMEM.SYS), но они делают эти участки памяти доступными не для микропроцессора, а для операционной системы.
Разработка стандарта XMS берет свое начало с момента появления микропроцессоров, имевших разрядность ША более 20. Как было сказано выше, первый мегабайт памяти (0 — 1024КВ) разделен на 16 блоков по 64 КВ. Для получения 20-разрядного адреса 16-разрядный адрес сегмента суммировался с 16-разрядным смещением. Все адресные линии нумеровались от А0 до А19, линия же А20 (21-я адресная линия) в 20-разрядном микропроцессоре отсутствовала. В этой связи, когда адрес превышал максимальное значение, которое можно было бы установить с использованием 20 адресных
Рис. 3.4
линий, все разряды ША устанавливались в 0. Например, если логический адрес представлен в виде FFFF : 0010, то числовое значение реального адреса получилось бы 100000, но из-за того, что ША имела только 20 разрядов, старшая 1 была бы отброшена и в этом случае реальный адрес на ША получался равным 00000. Таким образом, вместо перехода в конец памяти осуществлялся переход в ее начало. При наличии в ША более 20 линий появлялась возможность обращения к некоторому участку дополнительной памяти так, как если бы она была обычной. В этом случае микропроцессор, работающий в реальном режиме, получал доступ к первому сегменту расширенной памяти. Таким образом появилась возможность освободить часть обычной памяти и выделить освободившийся участок для прикладных программ. Для обеспечения совместимости с программами, разработанными для 20-разрядного микропроцессора, в современных МПС используется специальное устройство, называемое Gate A20 (вентиль), позволяющее принудительно обнулять бит А20 системной ША.