53
♦ По приему байта или пакета и доступности новых принятых
данных;
♦ По завершению передачи байта или пакета и освобождению
передатчика.
3. Программные прерывания.
Организация прерываний в процессорах для управляющих систем ничем
принципиально не отличается от универсальных процессоров. В различных
семействах управляющих процессоров реализованы различные механизмы
обработки прерываний:
1. Векторный с жестким приоритетом (ST7, AVR, Am186).
2. Векторный с программируемым приоритетом (MCS-51, M16C, i386EX).
3. Векторный с динамической таблицей векторов (M16C).
4. С общим вектором (механизм полинга) (PIC).
Укрупненная схема блока обработки запросов прерываний (механизм
масок)
Механизм масок основан на использовании специального бита для
каждого запроса прерываний, с помощью которого разрешается или
запрещается обработка прерываний, связанных с этим запросом. В процессоре
семейства Intel
функцию маски выполняет бит IF, с помощью которого
разрешается (IF=1) или запрещается (IF=0) обработка запросов внешних
прерываний (как правило, от ВУ). При сброшенном флаге IF принято говорить,
что прерывание замаскировано.
Запросы прерываний от ВУ формируются с помощью PIC (Programmable
Interruption Controller), который связан линией запроса с CPU. Запросы от PIC
поступают в CPU на внешний вход INTR.
Для управления прерываниями используется маска прерываний (см. рис.
4), представляющая собой двоичное слово M = m1 m2 … mk с числом разрядов,
равным числу маскируемых причин прерывания. Если разряд маски mk = 0, то
прерывание по причине k запрещено (замаскировано), если разряд маски mk =
1, то прерывание по причине k разрешено (не замаскировано). Маска
прерываний хранится в процессоре, куда она загружается командой
УСТАНОВИТЬ МАСКУ А, где А – адрес. По этой команде слово с адресом А
загружается в качестве маски в процессор и определяет отношение процессора
к сигналам прерывания. Если все разряды маски равны нулю, процессор не
реагирует ни на одну причину прерывания.
В простейших процессорах используется следующий
способ маскирования
прерываний. В систему команд компьютера вводятся две системные команды
ЗАПРЕТИТЬ ПРЕРЫВАНИЯ и РАЗРЕШИТЬ ПРЕРЫВАНИЯ, выполнение
54
которых приводит к запрещению и разрешению прерываний одновременно по
всем причинам.
Команды,
маскирующие
прерывания,
относятся
к
группе
привилегированных команд.
Достарыңызбен бөлісу: