Определение прерываний. Виды прерываний. (л16)
Прерывание (interrupt) – это сигнал, заставляющий ЭВМ менять обычный порядок выполнения команд процессором. Поскольку прерывания возможны самые разнообразные по самым различным причинам, каждому прерыванию присваивается номер прерывания. С каждым номером прерывания связывается то или иное событие. Система умеет распознать какое прерывание, с каким номером произошло, и запускает соответствующую этому номеру процедуру.
1. Программные прерывания вызывают сами программы, поэтому они не являются асинхронными. Для этого они используют команду INT. Программные прерывания делятся на: - условные; - безусловные. 2. Аппаратные прерывания вызываются физическими устройствами и приходят асинхронно. Эти прерывания информируют систему о событиях, связанных с работой устройств. б) внешние аппаратные прерывания вызваны сигналами, внешними по отношению к центральному процессору, и подаются на его входы INTR (interrupt request ) и NMI (Non Mascable Interrupt) Внешние аппаратные прерывания делятся на: - маскируемые прерываниям по входу INTR могут быть разрешены или запрещены флагом IF регистра флагов. Обработку аппаратных маскируемых прерываний выполняют контроллеры прерываний, которые принимают запросы на прерывание от нескольких периферийных устройств, выбирают наиболее приоритетные и прерывают работу процессора по входу INTR. Номер вектора прерываний маскируемых прерываний передается в процессор по его восьми младшим разрядам шины данных. - немаскируемые прерывания NMI обычно используется для сообщений о "катастрофических" событий (отключении питания, обнаружении ошибок памяти и т.д.). Номер этого прерывания равен 2. Так как номер немаскируемого прерывания заведомо известен, то он не передается в процессор и обработка этого прерывания начинается быстрее, чем обработка маскируемых прерываний. Приоритет NMI выше всех маскируемых прерываний. 3. Особые виды прерываний называются исключения: - сбой; - ошибка; - отказ. По сбою команда снова повторяется. По ошибке может повторятся может нет. При отказе – полностью выход из системы.
|