Я читаю "Intel 8259A" document, и есть пункт, который я не могу полностью понять (конец страницы 7):Как контроллер прерываний 8259A справляется с прерываниями при обслуживании?
Когда 8259A PIC получает прерывание, INT становится активным и прерывание квитирования цикл начал. Если между двумя импульсами INTA происходит прерывание с более высоким приоритетом, линия INT неактивна сразу после второго импульса INTA. По истечении неопределенного промежутка времени линия INT снова активируется, чтобы обозначить прерывание с более высоким приоритетом, ожидающее обслуживания. Это неактивное время не указывается и может варьироваться между частями. Дизайнер должен учитывать это соображение при разработке системы, использующей 8259A. Рекомендуется использовать надлежащие асинхронные методы проектирования.
Я понимаю, что после того, как первый INTA (прерывание первоначально признал) и до второго INTA (CPU хочет вектора прерывания 8-бит), если выше линии приоритет прерывания «активизируется» (Я не инженер-электронщик), строка INT для CPU деактивируется и снова активируется после неопределенного периода времени.
То, что я не понимаю, заключается в следующем:
Каковы последствия поведения в вопросе мне как минималистичным (ядро ОС) разработчика?
«Асинхронные технологии проектирования» - это эти технологии проектирования или аллюзии на людей, которые пишут ядра? Мне кажется, что я не могу сделать, если прерывание поступит между двумя импульсами INTA - все это происходит на уровне, который я действительно не могу контролировать как разработчик ядра, не так ли?
Вы, и ваши драйверы/ядро, должны обращаться с этим правильно, так или иначе. –
Спасибо, Мартин. Просто, чтобы указать, обработка этого неправильно никогда не была частью моих чертежей проекта ;-) И мы вернулись к квадрату, кажется. – amn