Обслуживание запросов внешних устройств. Аппаратные (асинхронные) прерывания. Контроллер прерываний PIC. Линии запросов на прерывание - IRQ. Исключительные ситуации ЦП.



 

В процессорах семейства 8051 не предусмотрено таких механизмов управления вводом и выводом информации , как состояния ожидания (WAIT-STATE) или непосредственный доступ к памяти. Это не существенно при работе с устройствами "постоянно готовыми" то есть такими, который могут принимать информацию с портов процессора (или выдавать информацию на них) в произвольный момент времени. Однако если процессор и внешние устройства работают асинхронно необходимо предусматривать средства взаимного оповещения абоненто в о готовности к обмену.

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

В любом случае периферийное устройство для оповещения процессора о своей готовности принять или выдать данные подает на один из внешних контактов процессора активный уровень. В первом варианте в программу включают несколько команд анализа определенного бита ( или битов ) входных портов. Эти команды распределяют по программе так, чтобы они исполнялись с интервалом не меньшим некоторого заданного, гарантирующего отсутствие пропуска данных. Если на соответствующих входах обнаруживается изменение сигнала, выполняется переход на программу обработки ( или подготовки) новых данных. Во втором варианте в том месте программы, где требуются новые данные, размещается последовательность команд:

- считывание признака готовности ( например MOV   C,bit )

- условный переход на первую из этих команд, если обнаружена неготовность.

Таким способом можно проверять как выделенные биты портов ввода/вывода, так и состояния некоторых внутренних регистров, связанных с асинхронными процессами, например бит переполнения таймера, бит готовности последовательного порта.

асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ);

Контроллер прерываний (англ. Programmable Interrupt Controller, PIC) — микросхема или встроенный блок процессора, отвечающий за возможность последовательной обработки запросов на прерывание от разных устройств.

Как правило представляет собой электронное устройство, иногда выполненное как часть самого процессора или же сложных микросхем его обрамления, входы которого присоединены электрически к соответствующим выходам различных устройств. Номер входа контроллера прерываний обозначается «IRQ». Следует отличать этот номер от приоритета прерывания, а также от номера входа в таблицу векторов прерываний (INT). Так, например, в IBM PC в реальном режиме работы (в этом режиме работает MS-DOS) процессора прерывание от стандартной клавиатуры использует IRQ 1 и INT 9.

В первоначальной платформе IBM PC используется очень простая схема прерываний. Контроллер прерываний представляет из себя простой счётчик, который либо последовательно перебирает сигналы разных устройств, либо сбрасывается на начало при нахождении нового прерывания. В первом случае устройства имеют равный приоритет, во втором устройства с меньшим (или большим при обратном счёте) обладают большим приоритетом

Сигнал, отправляемый устройством для привлечения ресурсов процессора в момент, когда оно готово для приема или передачи данных. Каждое устройство отправляет свои запросы на прерывание по отдельной аппаратной линии, имеющей номер от 0 до 15. Линия запроса на прерывание (IRQ), занятая устройством, должна быть уникальной. Запрос на прерывание называется также IRQ.

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

Физическое соединение между внешними устройствами и контроллером прерываний. Линия IRQ используется для привлечения внимания системы, когда внешнее устройство нуждается в обработке.

 

 


Дата добавления: 2020-01-07; просмотров: 252; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!