Вопросы о «прерывании» - PullRequest
1 голос
/ 20 апреля 2010

Может ли кто-нибудь помочь мне прояснить следующие понятия и связь между ними ?

  • Маскируемое прерывание
  • Немаскируемое прерывание
  • Аппаратное прерывание
  • Программное прерывание
  • CPU INTR pin
  • бит IF регистра EFlags

Некоторые конкретные вопросы:

  • Какая связь между прерыванием Maskable / Unmaskable и аппаратным / программным прерыванием?
  • Какова связь между маскируемостью и программным / аппаратным обеспечением?
  • Есть ли какие-либо немаскируемые / программные прерывания и маскируемые / аппаратные прерывания?
  • Какие прерывания обнаруживает вывод INTR?
  • Какие прерывания включаются / отключаются битом IF регистра EFlags?
  • Каким прерываниям нужно наличие контроллера прерываний?

Большое спасибо.

1 Ответ

5 голосов
/ 20 апреля 2010

Прерывания


Maskable: можно включить / отключить, установив правильный бит.

  • Не маскируемый: Может ли НЕ быть включен / отключен. (без обозначенного бита).

  • Аппаратное обеспечение: RST, INTR и т. Д. При правильной активации ч / б штыря происходит ч / б ПЕРЕРЫВ.

  • Программное обеспечение: Прерывание, вызванное с помощью инструкции программного обеспечения INTERRUPT.

  • INTR - это вывод получения прерывания.

  • Все прерывания обрабатываются «Обработчиком прерываний», то есть подпрограммой обработки прерываний (ISR). ISR - это написанная функция, которая выполняется при возникновении прерывания.

  • IF (бит 9) Флаг разрешения прерывания: Управляет реакцией процессора на маскируемые запросы прерывания. Установите для ответа / включения для маскируемых прерываний; очищено для блокировки / отключения маскируемых прерываний.


Более подробная информация здесь:

Для подробного объяснения. Пожалуйста, обратитесь к книге Микропроцессор x86 от Барри Б Брей

GoodLuck !!

...