Ввод/вывод по прерыванию

Осуществляется следующим образом. ЦП выдает модулю ВВ команду чтения и продолжает выполнение других заданий. Получив команду, МВВ приступает к вводу данных с ВУ. Когда считанное слово оказывается в регистре данных модуля ВВ, формируется управляющий сигнал прерывания ЦП. прямой доступ к памяти. Далее реализуется стандартный механизм прерываний.

Традиционный контроллер прерывания (PIC) 8259A является периферийным устройством, связанным с процессором через системную шину. По этой шине процессор может обращаться к регистра контроллера, программируя его режимы и управляя им, а также получать от контроллера 8 битный вектор прерывания, для чего в системной интерфейсе, предусмотрена специальная команда подтверждения прерывания (INTA). КП имеет 8 входов запросов от источников и 1 выход общего запроса. Контроллер занимает два адреса в пространстве ввода-вывода, и программное обращение по этим адресам выполняет следующие функции:

– управление режимами работы контроллера;

– управление приоритетами и масками запросов;

– идентификация запросов прерывания без вырабатывания общего запроса (для поллинга).

В контроллере имеется 3 регистра 8 битных для каждого входа запроса: регистр запросов прерывания, регистр масок прерывания, регистр обслуживаемого прерывания. Использовались 2 контроллера. В современных системах системных платах функции контроллера прерывания возлагаются на чипсет, который может иметь более гибкие возможности управления.

"Продвинутый" контроллер прерываний APIC предназначен для симметричных мультипроцессорных систем, где симметрия рассматривается в двух аспектах:

– симметрия памяти (все процессоры обращаются к общей памяти и работают с одной копией ОС)

– симметрия ввода-вывода (все процессоры разделяют общие устройства ввода вывода и общие котроллеры прерываний).

Система с APIC состоит из локальных контроллерах. Установленных на процессорах, и контроллеров прерываний от ввода/вывода. Все контроллеры соединены общей локальной шиной по которой они обмениваются сообщениями. Задача каждого контроллера трансляция сообщений принятых по локальной шине в сигналы, вызывающие все аппаратные прерывания от своего процессора маскируемые (INTR), немаскируемые (NMI), прерывания системного обслуживания (SMI). Кроме того, локальные APIC позволяют каждому процессору генерировать прерывания для других процессоров. Контроллер прерывания ввода/вывода (I/O APIC) преобразует запросы аппаратных прерываний от устройств в сообщения протокола по локальной шине APIC. Контроллеры прерывания ввода/вывода (I/O APIC) являются частью системной платы и входят в состав чипсетов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: