Программирование на JAVA

Рассмотрим случай, когда с процессором соединено несколько устройств, способ­ных инициировать прерывания. Поскольку эти устройства функционально незави­симы, они генерируют прерывания без какой-либо определенной последовательно­сти. Например, устройство Х может запросить прерывание во время обслуживания прерывания от устройства Y или несколько устройств могут запросить прерыва­ния одновременно. В связи с этим возникает ряд вопросов:

1. Как процессор распознает устройство, запросившее прерывание?

2. Если разным устройствам требуются различные программы обработки прерываний, как процессор в каждом случае будет получать начальный адрес соответствующей программы?

3. Можно ли устройствам прерывать процессор, пока обслуживается другое прерывание?

4. Как должны обрабатываться два или несколько одновременно поступив­ших запросов на прерывания?

Существуют разные способы решения этих вопросов, и при выборе компьютера для определенных задач обычно учитывают, какая стратегия в нем используется.

Итак, когда процессор получает запрос прерывания по общей линии (рис. 7.6), ему требуется дополнительная информация, для того чтобы определить, какое из устройств активизировало эту линию


<< назад вперед >>