Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лекция 9.Прерывания.






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

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

Главные функции механизма прерываний:

1. Распознавание или классификация прерываний;

2. Передача управления соответствующему обработчику прерываний:

3. Корректное возвращение к прерванной программе.

Классификация прерываний представлена на рисунке 5 Рисунок 5. Классификация прерываний

 

Внутренние прерывания возникают в МП во время вычислительного процесса по двум причинам:

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


Блок управления чтением/записью

Буфер данных

Схема каскадирования

 


Регистр состояний (ISR)

Программный

Арбитр приоритетов

контроллер

прерываний

(ПКП)

          | | |
rq7 ir q5   irq3 ir •I1 INTA INT
Регистр маскирования прерываний (IMR)

Регистр прерываний (IRR)

Схема управления (ПКП)

Рисунок 7 Структурная схема и схематическое представление данных i 8259А.

 


 


d 0- d7- выводы i 8259А замыкающиеся на системную шину данных.

INT- вывод выходного сигнала запроса на прерывание, который подается на вход микропроцессора INTR.


INTA- вывод для сигнала от микропроцессора подтверждающего факт принятия им прерывания на обслуживания irgo... irgf

Irg0- irg 7- выводы для входных сигналов запросов на прерывания от внешних устройств.

На рисунке 8 представлена схема приоритетов аппаратных прерываний АТ-совместимых компьютеров.


Средства контроля процессора

Системный таймер

Магнитные диски

Внешние устройства <

Сетевое оборудование

Терминалы

Программные прерывания


 


Рисунок 8 Аппаратные прерывания АТ-совместимых компьютеров
Прерыван Номер Адрес Источник сигнала
IR Q0 08h 0000: 0020И Системный таймер
IRQ1 09h 0000: 0024h Клавиатура
IRQ2 0Ah 0000: 0028h Ведомая микросхема
IRQ3 0Bh 0000: 002Ch Последовательный порт COM2
IRQ4 0Ch 0000: 0030h Последовательный портСОМ1
IRQ5 0Dh 0000: 0034h Параллельный порт LPT2
IRQ6 0Eh 00S0: 0638h Контроллер дисководов гибких
IRQ7 0Fh 0000: 003Ch Параллельный порт LPT1
IRQ8 70h 0000: 0lC0h Часы реального времени
IRQ9 71h 0000: 01C4Р Любое устройство РпР
IRQ10 72h 0000: 01C8h Видеоконтроллер
IRQ11 73h 0000: 0lCCh Любое устройство РпР
IRQ12 74h 0000: 01D0h Мышь PS/2-типа
IRQ13 75h 0000: 01D4h Математический сопроцессор
IRQ14 76h 0000: 01D8h Контроллер жесткого диска № 1
IRQ15 77h 0000: 0lDCh Контроллер жесткого диска № 2

 

Основная литература: 1[41-53], 2[269-281], 5[370-382]. Дополнительная литература: [120-153]

Контрольные вопросы:

1. Дайте определение понятию «прерывание».


2. Перечислите главные функции механизма прерываний.

3. Определите классификацию прерываний.

4. Перечислите аппаратные средства системы прерываний.

5. Назовите программные средства системы прерываний.

6. Определите назначение и функции контроллера прерывания.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.