ВУЗ:
Составители:
25
Рис. 16. Обработка прерываний от внешних устройств
новную программу, не вызывая процедуры обработки прерываний для вво-
да/вывода данных. В определенный момент времени может поступить один
или одновременно несколько запросов, которые контроллер обнаруживает по
изменению уровня сигнала с нуля на единицу. На процессор поступает запрос
предоставления прерывания IRQ и вектор сигнала с наивысшим приоритетом
при одновременном действии нескольких запросов. Вектор – это двоичное чис-
ло, закрепленное за каждым внешним устройством и соответствующее его но-
меру.
Выполнение основной программы приостанавливается, в стеке автомати-
чески запоминаются ее состояние, адрес последней выполненной команды. С
помощью вектора процессор определяет номер подпрограммы обработки пре-
рывания и запускает ее на выполнение. Тем самым обеспечивается синхрониза-
ция начала обмена с поступлением импульса запроса на обслуживание отдель-
ного внешнего устройства. Адрес ячейки памяти, с которой начинается под-
программа, рассчитывается процессором через вектор. Каждое внешнее уст-
Внешняя
или внутренняя
память
ШД
ША, ШД, ШУ
Адрес
ячейки
Запрос ВУ1
.
.
.
Процессор
Процедуры
обработки
прерываний
от ВУ
в памяти
программ
Запрос ВУ2
Запрос ВУ
n
Запрос
IRQ
Вектор
Контроллер
прерываний
IRQ0
IRQ1
IRQ
n
-
1
Порт ввода/
вывода
Внешнее
устройство
Память
данных
Регистр
Запрос ВУ1 IRQ0 Запрос ВУ2 Запрос Процедуры IRQ1 IRQ обработки Адрес . Контроллер Процессор прерываний . прерываний ячейки от ВУ Вектор . в памяти Запрос ВУn программ IRQn-1 Регистр ША, ШД, ШУ Внешнее ШД Порт ввода/ Память устройство вывода данных Внешняя или внутренняя память Рис. 16. Обработка прерываний от внешних устройств новную программу, не вызывая процедуры обработки прерываний для вво- да/вывода данных. В определенный момент времени может поступить один или одновременно несколько запросов, которые контроллер обнаруживает по изменению уровня сигнала с нуля на единицу. На процессор поступает запрос предоставления прерывания IRQ и вектор сигнала с наивысшим приоритетом при одновременном действии нескольких запросов. Вектор – это двоичное чис- ло, закрепленное за каждым внешним устройством и соответствующее его но- меру. Выполнение основной программы приостанавливается, в стеке автомати- чески запоминаются ее состояние, адрес последней выполненной команды. С помощью вектора процессор определяет номер подпрограммы обработки пре- рывания и запускает ее на выполнение. Тем самым обеспечивается синхрониза- ция начала обмена с поступлением импульса запроса на обслуживание отдель- ного внешнего устройства. Адрес ячейки памяти, с которой начинается под- программа, рассчитывается процессором через вектор. Каждое внешнее уст- 25
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »