Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Абалов.doc
Скачиваний:
35
Добавлен:
03.08.2013
Размер:
397.31 Кб
Скачать
  1. Система прерываний

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

По заданию применяется радиальная система прерываний (с несколькими линиями запроса) с обработкой прерываний на макроуровне, то есть на уровне команд по завершению исполнения набора микрокоманд, реализующих текущую команду.

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

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

Рисунок 5 – Обобщенная структурная схема системы прерываний

Обозначения:

  • IRn- линии запроса прерываний от периферийных устройств;

  • INTR– сигнал запроса прерывания от контролера к процессору;

  • INTA– сигнал подтверждения приёма запроса на прерывание, запрос вектора прерывания;

  • NMI– запрос на немаскируемое прерывание с фиксированным вектором от устройств не обслуживаемых контроллером прерываний (например сигнал от блока питания о исчезновении питающего напряжения или поломке);

При поступлении запроса на прерывание IR(N) от периферийного устройства (ПУ) контроллер прерываний посылает запрос на прерывание (INT) в центральный процессор. Процессор разрешает обработку прерывания, формируя сигнал подтверждения #INTA, который, поступая в контроллер прерываний, вызывает формирование на шине данных вектора прерывания. Вектор определяют программу обработки. Обработка прерывания произойдет после завершения выполнения текущей команды процессором.

Контроллер прерываний позволяет управлять прерываниями от устройств, разрешая или запрещая некоторые из них (путем маскирования), а так же позволяет менять приоритеты. Режим работы контроллера управляется процессором через шину контроля.

  1. Блок синхронизации и таймер

Блок синхронизации (БС) предназначен для обеспечения синхронной работы всех узлов ЭВМ. В его задачи входит генерация синхросигналов заданной формы и длительности для ЦПУ, таймера, контроллеров, основной памяти, кэща и других устройств, входящих в состав ЭВМ. Блок синхронизации должен обладать возможность изменения длительности синхросигналов, что бывает необходимо при отсутствии попадания в кэш, когда требуется прочитать данные из ОП, а так же при обмене с медленными периферийными устройствами.

Типовой управляемы блок синхронизации имеет как минимум несколько режимов работы, таких как «работа» и «ожидание», а также несколько входов для задания кратности выходной частоты к опорной частоте тактирования.

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

Соседние файлы в папке doc92