Читайте также: |
|
Программы обработки прерываний (или попросту обработчики прерываний) относятся к важнейшим программным средствам персональных компьютеров. Можно выделить три типа прерываний:
1) внутренние;
2) внешние;
3) программные.
Независимо от источника, действия процессора по обслуживанию поступившего прерывания всегда выполняются одинаково, как для аппаратных, так и для программных прерываний.
Организация обмена с внешними устройствами по прерываниям является наиболее эффективной. Но при этом перед проектировщиком компьютера возникает ряд проблем:
- как центральный процессор (ЦП) узнает, что внешнее устройство (ВУ) требует прерывание?
- как ЦП выяснит, какое ВУ требует прерывание?
- как разрешить конфликт, если одновременно придет несколько запросов на прерывания?
- как подавить эти запросы, если процессор выполняет какую-либо настолько важную работу, что прервать ее никак нельзя?
- как ЦП осуществит переход к нужной программе обработки прерывания?
- как вернуться к продолжению исходной программы?
Эти вопросы в различных микропроцессорах решаются по-разному.
У ЦП 80x86 имеется два входа для приема сигнала о прерываниях.
1) NMI – Nonmascable interrupt (немаскируемые прерывания)
Сигнал на вход NMI поступает, если возникает падение напряжения или ошибка в памяти. Процессор прекращает выполнение текущей программы и выполняет прерывание int 2.
2) INTR (interrupt). Этот сигнал можно замаскировать командой CLI. При этом флаг IF сбрасывается и сигнал INTR процессор игнорирует (сигнал по входу NMI сбросом IF не запретить). Установка IF выполняется командой STI. Это - ответ на вопрос 4.
Сигнал от ВУ поступает на вход INTR. Но перед этим сигнал поступает на программируемый контроллер прерываний – микросхему 8259A, которая носит название PIC (Programmable Interrupt Controller – программируемый контроллер прерываний).
Сначала рассмотрим более простую схему, принятую для IBM PC/XT. Контроллер имеет 8 входов для сигналов от ВУ – IR0-IR7 (IR-Interrupt Request – запрос прерывания) На вход IRn поступает сигнал от устройства IRQn (Interrupt ReQuest).
Дата добавления: 2015-08-03; просмотров: 123 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ТИПЫ ЗАПИСЫВАЕМЫХ И ПЕРЕЗАПИСЫВАЕМЫХ DVD | | | PIC(Programmable Interrupt Controller)– программируемый контроллер прерываний. |