Номер - прерывание - Большая Энциклопедия Нефти и Газа, статья, страница 2
Если женщина говорит “нет” – значит, она просто хочет поговорить! Законы Мерфи (еще...)

Номер - прерывание

Cтраница 2


16 Диаграмма работы СВ в режиме прерывания. [16]

Диаграмма работы СВ в режиме прерывания приведена на рис. 5.10. На ней показано, что по запросу прерывания gt при условии, что прерывание по этой причине разрешено, вместо очередной команды текущей программы выполняется команда передачи управления в первую индексную ячейку специальной памяти ( ОЗУ), которая соответствует данной причине прерывания. Схема выработки номера прерывания ( см. рис. 5.6) формирует адрес первой индексной ячейки, который поступает в регистр действительного адреса и далее в ОЗУ. Содержимое первой индексной ячейки заносится в регистр команд. В соответствии с поступившей командой значение счетчика команд, увеличенное на единицу, и код команды безусловной передачи управления записывается посредством блока чтения-записи в ячейку Ai3 ОЗУ.  [17]

Схема управления при этом ожидает поступления сигнала о & окончании исполнения команды из схемы состояния блока микропрограммного управления. При поступлении такого сигнала схема управления вырабатывает сигнал прерывания, а схема выработки номера прерывания формирует адрес ячейки ОЗУ, обслуживающей это прерывание.  [18]

При векторном прерывании код номера прерывания передается процессору тем устройством ввода / вывода, которое данное прерывание запросило. Для этого процессор проводит цикл чтения по магистрали, и по шине данных получает код номера прерывания. Шина адреса в данном цикле обычно не используется, так как устройство, запросившее прерывание, и так знает, что процессор будет обращаться именно к нему.  [19]

Обслуживание таких переходов осуществляется точно так же, как и аппаратных прерываний. То есть для выполнения данного перехода процессор обращается к таблице векторов прерываний и получает из нее по номеру прерывания адрес памяти, в который ему необходимо перейти. Адрес вызова прерывания и содержимое регистра состояния процессора ( PSW) сохраняются в стеке.  [20]

Возможным решением было встроить набор DIP-переключателей или джамперов ( jumper - перемычка) в каждую плату и объяснить пользователю необходимость настройки каждой платы таким образом, чтобы адреса портов и номера прерываний различных устройств не конфликтовали друг с другом. Подростки, посвятившие свою жизнь изучению тонкостей аппаратуры персонального компьютера, иногда могут сделать это без ошибок. К сожал ению, кроме них это практически никому не удавалось, что приводило к полному хаосу.  [21]

Возможным решением было встроить набор DIP-переключателей или джамперов ( jumper - перемычка) в каждую плату и объяснить пользователю необходимость настройки каждой платы таким образом, чтобы адреса портов и номера прерываний различных устройств не конфликтовали друг с другом. Подростки, посвятившие свою жизнь изучению тонкостей аппаратуры персонального компьютера, иногда могут сделать это без ошибок. К сожалению, кроме них это практически никому не удавалось, что приводило к полному хаосу.  [22]

Команды прерываний во многих случаях оказываются удобнее, чем обычные команды переходов с возвратом. Номер прерывания соответствует номеру подпрограммы, то есть номеру функции, выполняемой подпрограммой. Поэтому команды прерывания гораздо чаще включаются в системы команд процессоров, чем обычные команды переходов с возвратом.  [23]

Каждое прерывание имеет свой уникальный номер, и с ним связана определенная программа, обслуживающая данный вид прерываний. При одновременном возникновении нескольких прерываний в первую очередь выполняется прерывание с более высоким приоритетом, а остальные ставятся в очередь. Обычно номер прерывания в специальной таблице прерываний, обрабатываемых конкретной ПЭВМ, соответствует приоритету.  [24]

Схема приоритета организует выбор самого старшего разряда регистра приоритета при поступлении в регистр приоритета нескольких запросов и если нет никаких других ограничений на недопустимость прерывания. Старшие разряды данного регистра имеют приоритет в обслуживании по отношению к младшим разрядам. Схема выработки номеров прерывания формирует адрес ячейки ОЗУ, в которой указан начальный адрес прерывающей программы, соответствующий данному прерыванию. Регистр маски блокирует работу схемы приоритета при поступлении управляющей информации из ОЗУ.  [25]

26 Структура связей для организации радиальных прерываний на магистрали ISA. [26]

При радиальном прерывании в магистрали имеется столько линий запроса прерывания, сколько всего может быть разных прерываний. То есть каждое устройство ввода / вывода, желающее использовать прерывание, подает сигнал запроса прерывания по своей отдельной линии. Процессор узнает о номере прерывания по номеру линии, по которой пришел сигнал запроса прерывания. Никаких циклов обмена по магистрали при этом не требуется. В случае радиальных прерываний в систему обычно включается дополнительная микросхема контроллера прерываний, обрабатывающая сигналы запросов прерываний.  [27]

28 Структура связей для организации радиальных прерываний на магистрали ISA. [28]

В результате получается, что если прерывания одновременно запросили два или более устройств, то сигнал предоставления прерывания получит только одно устройство, а именно то, которое ближе к процессору. Получив сигнал IAKO, устройство, запросившее прерывание, должно снять свой сигнал - VIRQ. Затем процессор проводит цикл безадресного чтения номера прерывания.  [29]

Любое прерывание обрабатывается через таблицу векторов ( указателей) прерываний. В этой таблице в простейшем случае находятся адреса начала программ обработки прерываний, которые и называются векторами. Адрес каждого вектора ( или адрес начального элемента каждого вектора) представляет собой номер прерывания.  [30]



Страницы:      1    2    3