вторник, 11 апреля 2017 г.

СР. Программная поддержка работы периферийных устройств

Прерывание (англ. interrupt) — сигнал, сообщающий процессору о совершении какого-либо асинхронного события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который выполняет работу по обработке события и возвращает управление в прерванный код.
Виды прерываний:
Аппаратные (англ. IRQ - Interrupt Request) — события от периферийных устройств (например, нажатия клавиш клавиатуры, движение мыши, сигнал от таймера, сетевой карты или дискового накопителя) — внешние прерывания, или события в микропроцессоре — (например, деление на ноль) — внутренние прерывания;
Программные — инициируются выполняемой программой, т.е. уже синхронно, а не асинхронно. Программные прерывания могут служить для вызова сервисов операционной системы.
Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим.
До окончания обработки прерывания обычно устанавливается запрет на обработку или даже генерацию других прерываний. Некоторые процессоры поддерживают иерархию прерываний, позволяющую прерываниям более высокого приоритета вызываться при обработке менее важных прерываний.
Вектор прерывания — ячейка памяти, содержащая адрес обработчика прерывания.
Перехват прерывания — изменение обработчика прерывания на свой собственный.
Вектора прерываний объединяются в таблицу векторов прерываний. Местоположение таблицы зависит от типа и режима работы микропроцессора.
Обработчик прерываний (или процедура обслуживания прерываний) — процедура операционной системы или драйвера устройства, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание и времени выполнения, которые требуются на это обработчику.
Обработчик прерываний—это низкоуровневый эквивалент обработчика событий. Эти обработчики вызываются либо по аппаратному прерыванию, либо соответствующей инструкцией в программе. И соответственно служат для обслуживания устройств или для осуществления вызова функций операционной системы (как способ передачи управления между различными уровнями защиты).
В современных системах обработчики прерываний делятся на Высокоприоритетные Обработчики Прерываний (ВОП) и Низкоприоритетные Обработчики Прерываний (НОП).
К выполнению ВОП обычно предъявляются жесткие требования: малое время на выполнение, малое количество операций, разрешенных к выполнению, особая надежность, так как ошибки, допущенные во время выполнения, могут обрушить операционную систему, которая не может корректно их обработать. Поэтому ВОП обычно выполняют минимально необходимую работу: быстро обслуживают прерывание, собирают критичную информацию, которая доступна только в это время, и планируют выполнение НОП для дальнейшей обработки.
ВОП, которые обслуживают аппаратные устройства, обычно маскируют свое прерывание для того, чтобы предотвратить вложенные вызовы, которые могут вызвать переполнение стека.
НОП завершает обработку прерывания. НОП либо имеет собственный поток для обработки, либо заимствует на время обработки поток из системного пула. Эти потоки планируются наравне с другими, что позволяет добиться более гладкого выполнения процессов. НОП выполняется с гораздо менее жесткими ограничениями по времени и ресурсам, что облегчает программирование и использование драйверов.
В разных системах ВОП и НОП именуются по-разному. В операционной системе Windows ВОП называется обработчиком прерывания, а НОП—отложенный вызов процедуры (DPC, Defered Procedure Call)
DMA
Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными, без участия Центрального Процессора. За счёт чего скорость передачи увеличивается, т.к. данные не пересылаются в ЦП и обратно.
Plug and Play (сокр. PnP), дословно переводится как «включил и играй» — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере. Разработана фирмой Microsoft при содействии других компаний.
Основные знания о PnP:
PNP BIOS — расширения BIOS для работы с PnP устройствами.
Plug and Play Device ID — индификатор PnP устройства имеет вид PNPXXXX, где XXXX — специальный код.
Вопросы для самоконтроля:
1. Аппаратные средства поддержки работы периферийных устройств: контроллеры;
2. Аппаратные средства поддержки работы периферийных устройств: адаптеры;
3. Аппаратные средства поддержки работы периферийных устройств: мосты.

Комментариев нет:

Отправить комментарий

Форматы команд ЭВМ

В команде, как правило, содержатся не сами операнды, а информация объект адресах ячеек памяти или регистрах, в которых они находятся. Ко...