Cтраница 2
Действия с перестановкой адресов - работа несложная, но опасная. При загрузке операционной системы в ОЗУ модуль БСВВ располагает в самом начале памяти таблицу векторов прерываний. Под этим красивым названием хранится простой список адресов подпрограмм ОС или аппаратной части, выполняющих действия по тому или иному прерыванию. [16]
Микропроцессор позволяет обрабатывать 256 типов прерываний с номерами от 0 до 255, которые делятся на внешние аппаратные, внутренние аппаратные и программные. Запросы на внешние прерывания формируются внешними по отношению к микропроцессору устройствами. Запросы на внутренние прерывания формируются при выполнении определенных команд или по некоторым условиям при выполнении команд. По любому прерыванию управление передается программе ( процедуре) обслуживания прерывания посредством вектора прерывания, выбираемого из таблицы векторов прерывания, располагаемой в памяти. [17]
Когда любое из этих устройств хочет произвести прерывание, оно запускает свою линию входа. Если активизируется один или несколько входов, контроллер 8259А выдает сигнал INT ( INTerrupt - прерывание), который подается на соответствующий вход центрального процессора. В этот момент микросхема 8259А должна определить, на какой именно вход поступил сигнал прерывания. Для этого она помещает номер входа на информационную шину. Эта операция требует наличия особого цикла шины. Центральный процессор использует этот номер для обращения в таблицу указателей, которую называют таблицей векторов прерывания, чтобы найти адрес процедуры, производящей соответствующее прерывание. [18]