Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы 1-32.docx
Скачиваний:
13
Добавлен:
17.12.2018
Размер:
1.44 Mб
Скачать

10 Методы определения допустимого момента прерывания. Обработка прерываний на уровне команд и на уровне микрокоманд.

В ЭВМ используются различные способы определения допустимого момента прерывания. Самый простой способ заключается в том, что в формате команды ЭВМ вводится специальный бит – признак разрешения прерывания. Таким образом программист, составляя программу, может управлять разрешением прерывания. Это позволяет минимизировать объем информации, который запасается при переходе к прерывающей программе, что уменьшает общее время обработки прерывания, но само время реакции оказывается достаточно большим. Более распространенный способ предполагает, что прерывание возможно после окончания любой текущей команды. Но в этом случае нужно сохранять содержание всех программно доступных регистров. Это уменьшает время реакции, но увеличивает накладные расходы. В этом случае время реакции системы прерывания не превышает длительности выполнения самой длинной команды. Существует еще третий вариант – для машин, работающих в реальном времени. В таких ЭВМ прерывание может допускаться на любом шаге выполнения команды. Это характерно для компьютеров, имеющих микропрограммный уровень. Время реакции сводится к длительности одного такта. Но объем запоминаемой информации требует значительных

временных затрат.

Обработка прерываний осуществляется с помощью программ-обработчиков. Программы-обработчики прерываний могут находиться в различных частях основной памяти. Для обеспечения совместимости программ под разными версиями DOS обращение к обработчикам прерываний осуществляется по их номерам. Связь между номером прерывания и адресом основной памяти, соответствующим точке входа вобработчик прерывания, осуществляется через таблицу векторов прерываний. Каждый обработчик прерываний может выполнять несколько различных микрокоманд (функций). В команде никак не определяется, какую именно микрокоманду должен выполнить обработчик прерываний. Поэтому перед обращением к команде в регистры микропроцессора должна быть занесена информация, определяющая, какую микрокоманду необходимо выполнить.

11 Организация вхождения в прерывающую программу. Таблица векторов прерываний.

Таблица векторов прерываний

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

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