Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция 9.Прерывания.
Обработка прерываний Прерывание - инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возобновлением прерванной программы. Структуры систем прерывания (в зависимости от аппаратной архитектуры) могут быть самыми разными, но все он имеют одну общую особенность - прерывание влечет за собой изменение порядка выполнения команд процессором. Главные функции механизма прерываний: 1. Распознавание или классификация прерываний; 2. Передача управления соответствующему обработчику прерываний: 3. Корректное возвращение к прерванной программе.
Внутренние прерывания возникают в МП во время вычислительного процесса по двум причинам: 1. Исключительная ситуация (исключение) - ненормальное внутреннее состояние микропроцессора, возникшее при обработке некоторой команды программы (непланируемое). (примером исключительных ситуаций могут служить: -нарушение адресации -наличие в поле кода операции незадействованной двоичной комбинации; -при делении на нуль. - при переполнении или исчезновении порядка. -при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.) 2.Обработка машинной команды Int xx. (Этот тип прерываний называется программным.) Это планируемое прерывание, так как с их помощью программист обращается в нужное для него время за обслуживанием своих запросов либо к операционной системе, либо к BIOS, либо к собственным программам обработки прерываний.) Внешние прерывания вызываются внешними по отношению к микропроцессору событиями. На рисунке 6 представлена схема подсистемы обработки прерываний компьютера на базе микропроцессора Intel
Рисунок 6 Подсистема обработки прерываний компьютера на базе микропроцессора Intel Внешние прерывания делятся на немаскируемые и маскируемые. Запрос немаскируемого прерывания, поступающий на вход NMI процессора, должен быть обслужен сразу. Он обычно сообщает о чрезвычайной ситуации, например, об обнаружении ошибки в памяти или временном понижении напряжения питания. Маскируемые прерывания поступают на вход INT процессора от УВВ, требующих обслуживания. Эти прерывания можно запрещать или разрешать тремя различными способами: -сбрасывая или устанавливая соответствующие биты INTE (Interrupt Enable) регистров состояний интерфейсных блоков; -устанавливая или сбрасывая соответствующие биты регистра маски контроллера прерываний - выполняя команды CLI (Clear Interrupt) или STI (Set Interrupt), соответственно сбрасывающие или устанавливающие флаг IF.Прерывания от стандартных УВВ желательно запрещать на очень короткие промежутки времени, необходимые для выполнения критических участков программы. Система прерываний - совокупность программных и аппаратных средств, реализующих механизм прерываний. Аппаратные средства системы прерываний: А) выводы микропроцессора: INTR- вывод для входного сигнала внешнего прерывания. INTA- вывод микропроцессора для выходного сигнала, подтверждения в получении сигнала прерывания микропроцессором. NMI- вывод микропроцессора для входного сигнала немаскируемого прерывания. Б) микросхема программируемого контроллера прерываний 8259А 52 В) внешние устройства (клавиатура, таймер, магнитные диски и т.д.) 1. Программные средства системы прерываний: A) таблица векторов прерываний. В этой таблице в определенном формате, который зависит от режима работы МП, содержатся указатели на процедуры обработки соответствующих прерываний. Б) следующие флаги в регистре flags\ eflags IF- флаг прерывания- Запрещение прерывания ко входу INTR. IF= 1 ® МП обрабатывает внешние прерывания. IF =0 ® МП игнорирует сигналы на входе INTR. TF- флаг трассировки TF= 1 ® режим покомандной работы. B) Машинные команды МП. Основные: cli- запрет прерываний sti- разрешить прерывания iret- возврат Контроллер прерываний выполняет следующие функции: 1. фиксирование запросов на обработку прерываний от 8 источников; 2. формирование единого запроса на прерывание и подача его на вход INTR МП; 3. формирование номера вектора прерывания и выдача его на шину данных; 4. организация приоритетной обработки прерываний; 5. запрещение (маскирование прерываний с определенными номерами). 09.02.2004 На рисунке 7 представлена Структурная схема и схематическое представление данных i 8259А. d7 d0
Программный
контроллер прерываний (ПКП)
d 0- d7- выводы i 8259А замыкающиеся на системную шину данных. INT- вывод выходного сигнала запроса на прерывание, который подается на вход микропроцессора INTR. INTA- вывод для сигнала от микропроцессора подтверждающего факт принятия им прерывания на обслуживания irgo... irgf Irg0- irg 7- выводы для входных сигналов запросов на прерывания от внешних устройств. На рисунке 8 представлена схема приоритетов аппаратных прерываний АТ-совместимых компьютеров. Средства контроля процессора Системный таймер Магнитные диски
Сетевое оборудование Терминалы Программные прерывания
Основная литература: 1[41-53], 2[269-281], 5[370-382]. Дополнительная литература: [120-153] Контрольные вопросы: 1. Дайте определение понятию «прерывание». 2. Перечислите главные функции механизма прерываний. 3. Определите классификацию прерываний. 4. Перечислите аппаратные средства системы прерываний. 5. Назовите программные средства системы прерываний. 6. Определите назначение и функции контроллера прерывания.
|