Биты регистра обслуживания контроллера прерываний, когда происходит немаскируемое прерывание

У меня есть следующий вопрос (относительно x86 архитектура):

Что происходит, когда немаскируемое прерывание (например, NMI) прерывает маскируемое прерывание, которое выполняется? Сохраняется ли соответствующий ISR (регистр обслуживания) прерванного прерывания в регистре ISR контроллера прерываний, когда подается маскируемое прерывание или все биты в регистре обслуживания очищаются?

Заранее спасибо.

2 ответа

В первоначальной конструкции аппаратного обеспечения IBM PC сигнал NMI никак не затрагивал контроллер прерываний, поэтому он не оказывал бы влияния на регистр обслуживания. Хотя прошло около 30 лет, я думаю, что это все еще так; современные производители микросхем более или менее связывают свои руки из-за этих основных типов поведения.

ISR необходимо очистить в обработчике прерываний, отправив команду EOI (конец прерывания) контроллеру прерываний.

Другие вопросы по тегам