Когда использовать прерывание Vectored-Interrupt или не-Vectored? - PullRequest
0 голосов
/ 16 апреля 2019

Почему вы выбираете векторное прерывание и не векторное прерывание?

Я знаю различия между ними, но не уверен, когда вы будете использовать одно над другим / какие устройства используют одно из них!

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

1 Ответ

2 голосов
/ 16 апреля 2019

Если аппаратное обеспечение поддерживает векторные прерывания, нет причин не использовать их. Это больше вопрос стоимости реализации (векторные таблицы и логика расстановки приоритетов) по сравнению со стоимостью программного обеспечения (чтение регистров состояния и поиск правильного вектора).

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

В тех случаях, когда аппаратное обеспечение поддерживает оба эти режима, не-векторный режим может быть для устаревшей совместимости или для необычного случая, когда требуется только одно прерывание (возможно, сохраняя один или два цикла задержки).

...