Организация обработки прерываний в эвм
Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами.
Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.
Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания (ЗП). Запросы прерываний от внешних устройств поступают в процессор по специальным линиям, а запросы, возникающие в процессе выполнения программы, поступают непосредственно изнутри микропроцессора. Механизмы обработки прерываний обоих типов схожи. Рассмотрим функционирование компьютера при появлении сигнала запроса прерывания, опираясь в основном на обработку аппаратных прерываний (рис 1).
Рис. 1. Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы
После появления сигнала запроса прерывания ЭВМ переходит к выполнению программы - обработчика прерывания. Обработчик выполняет те действия, которые необходимы в связи с возникшей особой ситуацией. Например, такой ситуацией может быть нажатие клавиши на клавиатуре компьютера. Тогда обработчик должен передать код нажатой клавиши из контроллера клавиатуры в процессор и, возможно, проанализировать этот код. По окончании работы обработчика управление передается прерванной программе.
Время реакции - это время между появлением сигнала запроса прерывания и началом выполнения прерывающей программы (обработчика прерывания) в том случае, если данное прерывание разрешено к обслуживанию.
Время реакции зависит от момента, когда процессор определяет факт наличия запроса прерывания. Опрос запросов прерываний может проводиться либо по окончании выполнения очередного этапа команды (например, считывание команды, считывание первого операнда и т.д.), либо после завершения каждой команды программы.
Первый подход обеспечивает более быструю реакцию, но при этом необходимо при переходе к обработчику прерывания сохранять большой объем информации о прерываемой программе, включающей состояние буферных регистров процессора, номера завершившегося этапа и т.д. При возврате из обработчика также необходимо выполнить большой объем работы по восстановлению состояния процессора.
Во втором случае время реакции может быть достаточно большим. Однако при переходе к обработчику прерывания требуется запоминание минимального контекста прерываемой программы (обычно это счетчик команд и регистр флагов). В настоящее время в компьютерах чаще используется распознавание запроса прерывания после завершения очередной команды.
Время реакции определяется для запроса с наивысшим приоритетом.
Глубина прерывания - максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на (рис 2).Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.
Рис. 2. Работа системы прерываний при различной глубине прерываний
Без учета времени реакции, а также времени запоминания и времени восстановления:
t11+t12=t1,
t21+t22=t2.
Прерывания делятся на аппаратные и программные
Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:
маскируемые, которые могут быть замаскированы программными средствами компьютера;
немаскируемые, запрос от которых таким образом замаскирован быть не может.
Программные прерывания вызываются следующими ситуациями:
особый случай, возникший при выполнении команды и препятствующий нормальному продолжению программы (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.);
наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации.
Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания.
При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:
определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);
определение типа выбранного запроса;
сохранение текущего состояния счетчика команд и регистра флагов;
определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;
выполнение программы - обработчика прерывания;
восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;
продолжение выполнения прерванной программы.
Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.
Задача программиста - составить программу - обработчик прерывания, которая выполняла бы действия, связанные с появлением запроса данного типа, и поместить адрес начала этой программы в специальной таблице адресов прерываний. Программа-обработчик, как правило, должна начинаться с сохранения состояния тех регистров процессора, которые будут ею изменяться, и заканчиваться восстановлением состояния этих регистров. Программа-обработчик должна завершаться специальной командой, указывающей процессору на необходимость возврата в прерванную программу.
Распознавание наличия сигналов запроса прерывания и определение наиболее приоритетного из них может проводиться различными методами. Рассмотрим один из них.
- Курс лекций «Вычислительные машины, системы и сети»
- Часть 1. Вычислительные машины. 3
- Часть 2. Вычислительные системы. 202
- 1.3 Материнская плата
- 1.4 Процессор
- 1.5 Устройства хранения данных
- Лекция 2. Эволюция микрокомпьютеров.
- 1.1.Основные направления эволюции микрокомпьютеров.
- Лекция 3. Машинная организация процессора 80286
- 1.1. Введение.
- 2.2. Структура памяти.
- 2.3. Сегментация памяти.
- 2.4. Структура ввода-вывода.
- 2.5. Регистры.
- Лекция 4. Операнды и режимы адресации операндов.
- Лекция 5. Общая организация памяти.
- Лекция 6. Прерывание микропроцессора в эвм.
- Организация обработки прерываний в эвм
- Цепочечная однотактная система определения приоритета запроса прерывания
- Обработка прерываний в персональной эвм
- Лекция 7. Последовательный интерфейс rs–232c.
- Общие сведения о интерфейсе rs–232c
- Виды сигналов
- Тестовое оборудование для интерфейса rs–232c
- Лекция 8. Последовательный интерфейс сом-порт.
- Использование сом-портов
- Функции bios для сом-портов
- Сом-порт и РпР
- Лекция 9. Программируемый связной интерфейс.
- Лекция 10. Передача данных между эвм с помощью модемов. Типы и характеристики модемов.Набор ат-команд.
- Ат-команды
- Лекция 11. Программируемый периферийный интерфейс.
- Лекция 12. Параллельный интерфейс:lpt-порт. Понюхов е. В.
- Интерфейс Centronics
- Сигналы интерфейса Centronics
- Традиционный lpt-порт
- Функции bios для lpt-порта
- Расширения параллельного порта
- Физический и электрический интерфейс
- Режимы передачи данных
- Полубайтный режим ввода — Nibble Mode
- Конфигурирование lpt-портов
- Использование параллельных портов
- Неисправности и тестирование параллельных портов
- Лекция 13. Программируемые таймеры и счетчики событий.
- Лекция 14. Универсальная последовательная шина usb.
- 2.Шина usb.Общая характеристика.
- Структура usb
- 3.Физический интерфейс
- Протокол
- Устройства usb - функции и хабы
- Хост-контроллер
- Лекция 15. Протокол работы usb-шины.
- Описание протоколов используемых при передаче данных Структура usb пакета
- Поля usb пакета
- Типы usb пакетов
- Приоритеты передач по usb-шине
- Источники информации
- Лекция 16. Интерфейс ieee-1394 (FireWire).
- Технические характеристики
- Топология шины
- Пример топологии ieee-1394
- Совместимость
- Кабели и разъемы
- Список литературы
- Лекция 17. Организация прямого доступа к памяти.
- Лекция 18. Устройства ввода эвм. Клавиатура. Введение
- 1. Основные части клавиатуры
- 1.1. Клавиши пишущей машинки (алфавитно-цифровая клавиатура)
- Режимы ввода символов
- Названия специальных знаков
- 1.2. Служебные клавиши
- Индикаторы режимов
- Клавиши управления курсором
- 1.3. Функциональные клавиши
- 1.4. Малая цифровая клавиатура
- 2. Принципы работы клавиатуры
- Лекция 19. Интерфейс эвм с видеотерминалом. Видеоадаптер. Режимы изображений: текстовый и графический режимы. Видеопамять. Анимация изображений. Интерфейс эвм с видеотерминалом.
- Видеоадаптер.
- Лекция 20. Накопитель магнитных дисков: гибкий и жесткий. Структура дисков: дорожки, сектора, блоки. Обмен информации между эвм и магнитными дисками.
- Лекция 21. Сканер. Считывание изображения. Типы обрабатываемых изображений. Качество изображения.
- Лекция 22. Назначение и функции операционной системы.
- Часть 2. Вычислительные системы. Лекция 23. Классификация систем параллельной обработки данных.
- Сеть с топологией кольцо
- Литература
- Лекция 24. Классификация мультипроцессорных систем по способу организации основной памяти.
- Лекция 25. Обзор архитектур многопроцессорных вычислительных систем.
- Лекция 26. Направление развития в высокопроизводительных вычислительных системах.
- Универсальные системы с фиксированной структурой
- Направления развития микропроцессоров
- Системы с фиксированной структурой из серийных микропроцессоров
- Специализированные системы с фиксированной структурой
- Специализированные системы с программируемой структурой
- Технологическая база развития современных архитектур
- Архитектуры многопотоковых процессоров
- Кластер Green Destiny
- Программируемый микропроцессор
- Однородные вычислительные среды
- Литература
- Однокристальный ассоциативный процессор сам2000
- Литература
- Однокристальный векторно-конвейерный процессор sx-6
- Литература
- Лекция 27. Принципы построения телекоммуникационных вычислительных систем.
- 2.Компоненты телекоммуникационной системы
- 3. Типы телекоммуникационных сетей.
- 4. Топологии вычислительной сети.
- 5. Модем
- Часть 3. Вычислительные сети. Лекция 28. Эталонная модель взаимодействия открытых систем.
- Лекция 29. Локальные вычислительные сети.
- 10Base-2 или тонкий Ethenet
- 10Base-5 или толстый Ethenet
- 2.2.2. Компоненты сети
- 2.2.3. Проводная сеть в умном доме(LexCom Home)
- Лекция 30. Беспроводные сети на основе службы gprs.
- Чем привлекательна эта технология?
- Передача данных: gprs и gsm
- Что дает абоненту технология gprs?
- Принципы построения системы gprs
- Терминальное оборудование gprs
- Скорости передачи в системе gprs
- Перспективы развития услуг на базе gprs
- Перспективы пакетной передачи данных
- Gprs модемы существуют в нескольких исполнениях:
- Лекция 31. Беспроводные сети Radio-Ethernet.
- Заключение
- Лекция 32. Беспроводные локальные сети на основе Wi-Fi - технологии. Введение.
- Архитектура, компоненты сети и стандарты
- Организация сети
- Физический уровень ieee 802.11
- Канальный уровень ieee 802.11
- Типы и разновидности соединений
- 2. Инфраструктурное соединение.
- 4. Клиентская точка.
- 5. Соединение мост.
- Список использованной литературы: