Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASKS_lektsii_chast_1_1.doc
Скачиваний:
17
Добавлен:
16.11.2019
Размер:
2.04 Mб
Скачать

Подсистема прерываний компьютера ibm pc at

Виды прерываний

  • внешние: аппаратные (асинхронные) прерывания (Hardware generated interrupts);

  • внутренние:

  • программные прерывания (Software generated interrupts);

  • исключения, или особые случаи (Exceptions).

Аппаратные прерывания

Инициируются аппаратурой:

  • _________________ – вызываются сигналами на входе INTR (Interrupt Request) ЦП;

  • ____________________ – вызываются сигналами на входе NMI (Non Maskable Interrupt) ЦП.

Процессоры P5+ имеют ______________ (встроенный) APIC (Advanced Programmable Interrupt Controller), который принимает запросы маскируемых и немаскируемых прерываний в виде:

  • сигналов по входам LINT0/INTR, LINT1/NMI;

  • специальных ______________, поступающих от системного APIC (I/O APIC) по выделенной последовательной шине или системной шине.

Исключения

Категории:

  • обнаруживаемые процессором программные ошибки (Processor-detected program-error exceptions). Пример: отказ страницы памяти, недопустимый код операции;

  • программные исключения (Software-generated exceptions). Пример: команды INTO, INT 3, BOUND;

  • исключения, генерируемые схемами контроля (Machine-check exceptions).

Типы:

  • отказ (________).

  • ловушка (______).

  • аварийное завершение (________).

Отказ. Обнаруживается и обслуживается ___ _______________ инструкции, его вызывающей.

После обслуживания управление возвращается на ту же инструкцию (включая все префиксы), которая вызвала отказ.

Ловушка. Обнаруживается и обслуживается ________ _______________ инструкции, его вызывающей.

После обслуживания управление возвращается на инструкцию, ______________ ___ вызвавшей ловушку.

Аварийное завершение. Не позволяет точно установить инструкцию, его вызвавшую.

Используется для сообщения о серьезной ошибке.

Пример: аппаратная ошибка или повреждение системных таблиц.

Вектор прерывания

Вход в процедуру, обслуживающую аппаратное прерывание или исключение, определяется с помощью вектора прерывания, являющегося ___________ ________ _______________.

Вектора группируются в структуру – таблицу прерываний* (IDT, Interrupt Descriptor Table).

Каждому номеру (0-255) прерывания или исключения соответствует свой вектор.

Вектора 0-31 в таблице прерываний Intel резервирует под _______________.

Таблица прерываний в реальном режиме

Содержит ___________ _________ (двойные слова) обслуживающих процедур.

После сброса располагается, начиная с нулевых адресов.

Команда LIDT дает возможность:

  • ____________ ______________ таблицы в пределах первого мегабайта;

  • ____________ _________ в пределах от 007Fh до 03FFh.

При попытке обслуживания прерывания с номером, выходящим за размер таблицы, генерируется исключение #DF.

Таблица прерываний в защищенном режиме

Содержит 8-байтные _________________ прерываний.

Размер: _______ элементов (дескрипторов).

Может располагаться в любом месте физической памяти.

Способы указания номера вектора прерывания

Зависят от вида прерывания:

  • маскируемых аппаратных прерываний – вводится от внешнего контроллера прерываний во втором ________ ________ или поступает по ______ ______;

  • программных прерываний – задается командой;

  • немаскируемого прерывания – имеет фиксированный вектор (2);

  • _______________ – автоматически генерируется внутри процессора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]