<<
>>

Подсистема обработки внешних прерываний

Наличие в компьютере различных внешних устройств, которые одновременно могут осуществлять операции обмена, требует присутствия в его составе неко- торых управляющих средств, обеспечивающих образование очереди из одновре- менно поступивших сигналов прерывания, передачу запросов на прерывание в процессор в установленном очередью порядке, обработку отложенных преры- ваний и т.
д. Эти управляющие функции в компьютере IBM PC возложены на подсистему обработки внешних прерываний (рис. 4.25), центральным звеном которой являются так называемый контроллер прерываний, реализованный в виде микросхемы i8259А.

ВНИМАНИЕ --------------------------------------------------------------------------------------------------------

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

Контроллер, по сути, является специализированным на выполнении некото- рых узких функций процессором. Именно в связи с наличием в составе компью- тера таких специализированных процессоров выполняющий обработку дан- ных основной процессор обозначают CPU (от central processor unit) и называют центральным.

Отметим, что подсистема прерываний и контроллер i8259А, разработанные для компьютера на базе процессора i8О86, без существенных изменений используют- ся и в последующих моделях компьютера IBM PC.

Основными функциями контроллера прерываний i8259А являются:

? прием запросов на прерывание от внешних источников;

? формирование входного сигнала для процессора и передача его на вход INТR;

? формирование номера прерывания и передача его на шину данных;

? запрещение прерываний с определенными номерами;

? организация приоритетной обработки прерываний.

Контроллер прерываний имеет восемь входов, обозначенных на рисунке буква- ми irq с номером. Каждый из входов подсоединен к определенному устройству компьютера. Например, irqО — вход таймера, irq1 — вход клавиатуры, irq6 — вход гибкого диска и т. д. Поскольку к компьютеру может быть подключено более восьми внешних устройств, в состав подсистемы может быть включено несколь- ко соединяемых последовательно контроллеров. При этом выход INТR у первого в последовательности контроллера соединяется с входом INТR процессора, а вы- ход INТR каждого следующего контроллера подсоединяется ко входу irq2 преды- дущего (рис. 4.25).

Кроме восьми основных входов каждый контроллер i8259А имеет уже упоминав- шийся выход INТR, по которому один из поступивших в контроллер сигналов пре- рывания передается в процессор на его вход INТR, а также выход INТА (от INТеггuрt Answer — ответ прерывания), по которому процессор возвращает в контроллер сигнал о готовности обработать прерывание. Кроме того, контроллер имеет во- семь выходов, обозначенных на схеме буквой D, по которым на шину передается байт, содержащий номер прерывания.

Немного упрощенная схема работы подсистемы прерываний выглядит следующим образом. Из поступивших на входы irq сигналов прерываний по определенным, заданным в его программе правилам контроллер формирует очередь. Затем за- прос от устройства с наивысшим приоритетом (первого в очереди) передается на вход процессора INТR. Если флажок if = 1 и прерывания разрешены, процессор завершает выполнение текущей команды и по описанной ранее схеме готовится к прерыванию. Далее процессор устанавливает флажок i f в нулевое состояние, запрещая тем самым выборку из очереди следующего запроса на прерывание, и выдает сигнал о готовности обработать текущее прерывание на свой выход INТА. Получив этот сигнал, контроллер передает процессору по шине данных номер прерывания, после чего процессор определяет местоположение в таблице векторов прерываний адреса программы обработки прерывания, обращается в оперативную память и загружает затем этот адрес в пару регистров сs:iр. После этого выбран- ная таким образом программа обработки прерывания выполняется стандартным образом. Завершив ее выполнение, процессор вновь устанавливает разрешающее прерывания значение флажка i f, и из очереди выбирается следующий запрос на прерывание (если он есть), который обрабатывается по точно такой же схеме.

4.2.9.

<< | >>
Источник: Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей. 2007

Еще по теме Подсистема обработки внешних прерываний:

  1. Управленческо-правовая подсистема
  2. 7.3.2. Прерывания
  3. 7.4.4. Как справиться с прерыванием.
  4. 7.3.2. Прерывания
  5. Прерывание нотаций:
  6. Прерывание обвинений:
  7. Прерывание криков и ругани:
  8. 7.4.4. Как справиться с прерываниями
  9. ИНФОРМАЦИЯ: ОБРАБОТКА ПОСЛЕДОВАТЕЛЬНАЯ (
  10. ИНФОРМАЦИЯ: ОБРАБОТКА ПАРАЛЛЕЛЬНАЯ
  11. Статистическая обработка.
  12. ТЕОРИЯ УРОВНЕЙ ОБРАБОТКИ
  13. Обработка материалов
  14. Обработка результатов
  15. ГЛАВА ДЕВЯТАЯ ОБРАБОТКА ИНФОРМАЦИИ В УМЕ
  16. Алгоритм обработки результатов.
  17. ДАННОЕ: ОБРАБОТКА СТАТИСТИЧЕСКАЯ
  18. Обработка материала
  19. Пример обработки протокола.