Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС - бывшее АПЭВМ / Шпоргалка_apevm.doc
Скачиваний:
32
Добавлен:
15.09.2014
Размер:
146.94 Кб
Скачать

Билет 13 Преобразование логического адреса в физический при включённой страничной адресации

В процессе преобразования линейных адресов в физические задачи могут быть размещены в памяти по одному из двух путей:

1) единая линейно-физическая область отображения поделена между всеми задачами. Этот вариант размещения возможен тогда, когда страничная организация не разрешена. В этом случае все линейные адреса совпадают с физическими адресами. При разрешенной страничной организации такой тип отображения в памяти возможен при использовании одного каталога страниц для всех задач. Используемая линейная область может превысить физически доступную область, если операционная система также дополнена страничной виртуальной памятью;

2) работа с совмещением нескольких линейно-физических отображений. Подобный тип отображения адресов имеет место при использовании нескольких каталогов страниц для каждой задачи. Поскольку PDBR (регистр базы каталога страницы в CR3) загружается из TSS с каждым переключением страниц, то каждая задача может иметь несколько разных каталогов страниц.

Исключения и их обработка

Билет 14 Управление клавиатурой через порты

Управление клавиатурой возможно через порты 60h, 61h, 64h; прерывание INT 09h; прерывание INT 15h; функции DOS (INT 21h). Доступ к клавиатуре через порты ввода-вывода является самым низкоуровневым методом доступа. Такой метод используется обычно только прерываниями INT 09h, INT 15h и драйверами клавиатуры.

С помощью порта 61h можно определить, доступен ли контроллер клавиатуры, и разрешить (запретить) доступ к нему. Причем, если значение, возвращаемое из порта 61h, содержит в седьмом разряде нуль, то контроллер клавиатуры не доступен. Пример работы с портом 61h из прерывания INT 09h:

Порт 60h предназначен для чтения данных с клавиатуры и сохранен для совместимости с клавиатурой PC XT.

С помощью порта 64h можно читать данные с клавиатуры (коды клавиш и статус), программировать и осуществлять настройку клавиатуры.

Команды контроллера клавиатуры: EDh Установить индикаторы состояния; EEh Эхо (средство диагностирования); F0h Выбрать альтернативный режим; EFh-F1h Резерв - холостые команды (NOP); F2h Идентификатор расширенной клавиатуры; F3h Установить частоту повторения клавиши; F4h Разрешить клавиатуру; F5h Запрет по умолчанию; F6h Установить условия по умолчанию; F7h-FAh Установить все клавиши; FBh-FDh Установить отдельные клавиши; FEh Послать повторно; FFh Сброс.

Рекомендуется использовать порт 60h для чтения сканкодов, а 64h – для определения статуса и программирования клавиатуры. Такое разделение функций обеспечит максимальную гибкость программам.

При программировании контроллера клавиатуры необходимо первоначально в порт 64h записать код команды, сделать задержку и затем записать байт данных.

Приоритет обработки прерываний

Организация IBM PC XT/AT и совместимых с ними РС, реализованных на базе МП Intel 80x86, основывается на открытой архитектуре, в основу которой положен принцип развитой иерархической системы прерываний базового микропроцессора. Это качество позволяет обеспечить гибкий механизм доступа к ресурсам РС системных и пользовательских программ. В системах, построенных на базе Intel 80x86, прерывания могут генерироваться собственно микропроцессором, аппаратурой, входящей в состав РС, а также программой.

Система прерываний PC AT:

1 Аппаратные прерывания: Маскируемые, Немаскируемые;

2 Программные прерывания: BIOS прерывания (DSR, ISR), DOS прерывания, Пользовательские прерывания;

3 Исключительные ситуации: Ошибки, Ловушки, Аварийные завершения.

Когда одновременно приходят запросы на выполнение нескольких прерываний, они обслуживаются в строго определенной последовательности, приведенной в табл1 для МП 80286 и в табл2 для МП 80386. Выполнение прерывания включает в себя сохранение в стеке флажков, адреса возврата (CS:IP) и настройку CS:IP на первую команду программы обработки прерывания. Если в это время произойдет разрешение другого прерывания, оно будет выполнено перед тем, как начнет выполняться первая команда программы обработки текущего прерывания. Следовательно, в этом случае последнее прерывание будет обслужено первым.

Табл1. Приоритет обработки внутренних прерываний в МП 80286

1 Исключительная ситуация из-за ошибки в команде; 2 Прерывание пошагового режима; 3 NMI; 4 Переполнение сегмента сопроцессора; 5 INTR; 6 Команда INT

Табл2. Приоритет обработки внутренних прерываний в МП 80286

1 Исключительная ситуация из-за ошибки в команде; 2 Ловушки команд INTO (арифм переполнение), INT n, INT 3; 3 Ловушка отладки в данной команде; 4 Ошибка отладки в следующей команде; 5 NMI; 6 INTR.