Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект / микроЭВМ на PIC16C84 / Организация ЭВМ курсовик.doc
Скачиваний:
108
Добавлен:
21.02.2014
Размер:
352.77 Кб
Скачать
    1. Система прерываний

Основные функции системы прерываний:

  • запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

  • восстановление состояния прерванной программы и возврат к ней.

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

Рис.3. Структура системы прерываний

IR(N)- линии запроса прерываний от внешних устройств

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

INTA1,INTA2 – сигналы подтверждения приёма запроса на прерывание, запрос вектора прерывания.

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

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

При прерываниях на макроуровне время реакции определяется в основном длительностью выполнения одной команды.

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

Принцип работы системы прерываний:

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

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

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

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

В качестве ориентира для построения БС может служить микропрограммируемый тактовый генератор 1804ГГ1. Это позволит реализовать переменную длительность такта.

Блок синхронизации имеет следующие режимы работы: «работа», «останов», «ожидание», «шаговый режим». Режимы работы задаются с помощью входных сигналов SR,COS,HLT,ST,COSC,COSO,RQWI,EWI,RA. ВыходWI характеризует режим работы схемы.

Вход SRпредназначен для первоначального запуска схемы после включения питания. ВходCOSпредназначен для управления состояниями тактовых выходов в режиме «Останов». ВходыHLTиSTслужат для установки режимов работы (HLT=0,ST=1 – Останов,HLT=1,ST=0 – Работа).

Входы COSC,COSOпредназначены для организации пошаговой работы в режиме «Останов». Нормальное положение входовCOSC,COSOв режиме «Останов»:COSC=0,COSO=1.

Входы RQWI,EWI,RAслужат для управления схемой в режиме «Работа». В нормальном состоянии на входыRQWI,EWI,RAподают сигналы высокого уровня. ВыходWIпредназначен для индикации режима «Работа» (WI=1) и «Ожидание» (WI=0).

Рис.4. Блок синхронизации

Назначения сигналов:

CO1-CO3 – управление длительностью микроцикла

COSC,COSO– управление шаговым режимом

COS– управление состоянием выходов режима «Останов»

HLT– сигнал «Останов»

ST– сигнал «Пуск»

WI– (выход) сигнал «Ожидание»

RQWI– сигнал «Запрос ожидания»

SR– первоначальная установка

EWI– разрешение ожидания

RA– сигнал «Готов»

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

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