2015-03-21 6 views
0

Я читаю "Intel 8259A" document, и есть пункт, который я не могу полностью понять (конец страницы 7):Как контроллер прерываний 8259A справляется с прерываниями при обслуживании?

Когда 8259A PIC получает прерывание, INT становится активным и прерывание квитирования цикл начал. Если между двумя импульсами INTA происходит прерывание с более высоким приоритетом, линия INT неактивна сразу после второго импульса INTA. По истечении неопределенного промежутка времени линия INT снова активируется, чтобы обозначить прерывание с более высоким приоритетом, ожидающее обслуживания. Это неактивное время не указывается и может варьироваться между частями. Дизайнер должен учитывать это соображение при разработке системы, использующей 8259A. Рекомендуется использовать надлежащие асинхронные методы проектирования.

Я понимаю, что после того, как первый INTA (прерывание первоначально признал) и до второго INTA (CPU хочет вектора прерывания 8-бит), если выше линии приоритет прерывания «активизируется» (Я не инженер-электронщик), строка INT для CPU деактивируется и снова активируется после неопределенного периода времени.

То, что я не понимаю, заключается в следующем:

  1. Каковы последствия поведения в вопросе мне как минималистичным (ядро ОС) разработчика?

  2. «Асинхронные технологии проектирования» - это эти технологии проектирования или аллюзии на людей, которые пишут ядра? Мне кажется, что я не могу сделать, если прерывание поступит между двумя импульсами INTA - все это происходит на уровне, который я действительно не могу контролировать как разработчик ядра, не так ли?

+0

Вы, и ваши драйверы/ядро, должны обращаться с этим правильно, так или иначе. –

+0

Спасибо, Мартин. Просто, чтобы указать, обработка этого неправильно никогда не была частью моих чертежей проекта ;-) И мы вернулись к квадрату, кажется. – amn

ответ

1

В отношении к вопросу 1:

Единственное различие между более высоким приоритетом прерывания происходит после импульсов INTA и это происходит между импульсов INTA находится в , когда процессор получает уведомление приоритетного ожидающего прерывания. В последнем случае задержка будет равна нулю или больше. Это может повлиять на критический момент времени, поскольку аппаратное устройство может вывести свой сигнал прерывания, прежде чем он получит подтверждение ЦП, что приведет к ложному прерыванию (см. Параграф перед цитируемым текстом на стр. 7).

+0

Спасибо, просто хотел сообщить вам, что сейчас я работал над этим, и в противном случае, вероятно, вы останетесь и подтвердите свой ответ. Увы, очень мало в моей голове на 8259A прямо сейчас, но надеясь, что это тем временем приносит пользу кому-то другому, как это принято здесь. – amn

+1

Не беспокойтесь. Я работаю над эмуляцией для этого чипа, поэтому он довольно свежий в моей голове. Я подумал, что это может быть полезно и для кого-то еще здесь. –

 Смежные вопросы

  • Нет связанных вопросов^_^