Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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

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

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

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





Дата публикования: 2015-02-03; Прочитано: 394 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...