Как процессор может распознать устройство, запрашивающее прерывание?

StackOverflow https://stackoverflow.com/questions/1092474

  •  11-09-2019
  •  | 
  •  

Вопрос

1) Как процессор может распознать устройство, запрашивающее прерывание?

2) Учитывая, что разные устройства, вероятно, потребуют разного ISR, как процессор может получить начальный адрес в каждом случае?

3) Следует ли разрешить устройству прерывать процессор, пока обслуживается другое прерывание?

4) Как следует обрабатывать два или более одновременных запроса на прерывание?

Это было полезно?

Решение

1) Как процессор может распознать устройство, запрашивающее прерывание?

ЦП имеет несколько линий прерываний, и если вам нужно больше устройств, чем имеется линий, есть микросхема «контроллера прерываний» (иногда называемая PIC), которая мультиплексирует несколько устройств и которую ЦП может опрашивать.

2) Учитывая, что разные устройства, вероятно, потребуют разных ISR. Как прессор может получить начальный адрес в каждом случае?

Это сложно.Это может быть по соглашению (устройство одного и того же типа всегда на одной линии);или его можно настроить, например.в настройке биоса.

3) Следует ли разрешить устройству прерывать процессор, пока обслуживается другое прерывание?

При наличии прерывания дальнейшие прерывания отключаются.Однако процедура обслуживания прерывания (т.код, специфичный для устройства, который выполняет ЦП), может, если захочет, повторно разрешить прерывания, если он желает быть прерванным.

4) Как следует обрабатывать два или более одновременных запроса на прерывание?

Каждое прерывание имеет приоритет:прерывание с более высоким приоритетом обрабатывается первым.

Другие советы

Концепция определения приоритета среди устройств, чтобы знать, какое из них должно быть обслужено первым в случае одновременных запросов, называется системой приоритетных прерываний.Это можно сделать как программными, так и аппаратными методами.

Метод программного обеспечения - Опрос В этом методе все прерывания обслуживаются путем разветвления в одну и ту же программу обслуживания.Затем эта программа проверяет каждое устройство, является ли оно источником прерывания.Порядок проверки определяется приоритетом, который необходимо установить.Сначала проверяется устройство, имеющее наивысший приоритет, а затем устройства проверяются в порядке убывания приоритета.

Аппаратный метод-Daisy Chaisy Chaisy Chaisy Method включает в себя подключение всех устройств, которые могут запросить прерывание последовательным образом.Эта конфигурация регулируется приоритетом устройств.Устройство с наивысшим приоритетом размещается первым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top