Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие прерывания

 

Прерывание – это важная процедура, которая позволяет изменить нормальную последовательность команд, выполняемых процессором.

Процессор должен реагировать на события, которые происходят вне его. Эту реакцию можно реализовать двумя способами:

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

Устройство, которое требует внимания процессора, сообщает об этом с помощью специального сигнала (запрос на прерывание). По этому сигналу управление CPU передается ОС. ОС запоминает состояние прерванного процесса и хранит эту информацию в спец. регистре микропроцессора. Такой регистр называется СТЕК. Затем ОС анализирует, от какого устройства произошло прерывание и затем передает управление программе, которая управляет устройством, выдавшим запрос на прерывание.

Такая программа называется «обработчик прерывания».

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

В начале прерывания использовались в основном для управления процессором устройствами ввода-вывода. Затем прерывания стали использовать для организации внутренней работы ЭВМ. В соответствии с этим существуют следующие типы прерываний:

1. Аппаратные прерывания – прерывания от устройств компьютера.

2. Программные прерывания – прерывания, которые вырабатывают процессы, находящиеся на стадии выполнения.

3. Логические прерывания – Эти прерывания вырабатывает сам процессор, когда встречается с каким-либо необходимым условием:

а) деление на 0

б) переполнение регистров микропроцессора

в) пошаговое выполнение программ

г) режим контрольных точек.

Каждое прерывание имеет два параметра:

  1. Номер прерывания
  2. Вектор прерывания.

Вектор прерывания – это адрес ячейки памяти, где хранится программа – обработчик прерывания.

Прерывания обозначаются - IRQ.

 

Cистема прерывания программ (СПП)

1. Понятие о состоянии программы. Вектор (слово) состояния

Вектор состояния, или слово состояния программы (ССП), в любой момент времени должен содержать информацию, достаточную для продолжения выполнения программы с точки, соответствующей моменту формирования данного вектора состояния. При этом предполагается, что остальная информация, характеризующая состояние программы, например, содержимое всех или части программно-адресуемых регистров, может при необходимости быть сохранена программным путем в оперативной памяти ЭВМ. ССП формируется в соответствующих регистрах центрального процессора (ЦП), изменяясь после выполнения каждой команды. Разные ЭВМ имеют разные наборы информационных элементов, образующих ССП. Например, в реальном режиме работы микропроцессора 80х86 ССП, сохраняемое в стеке, содержит следующие составляющие:

1. значение регистра сегмента команд CS (в ячейках памяти этого сегмента содержатся команды выполняемой программы);

2. значение регистра указателя команд IP;

3. значение регистра флагов FLAGS.

2. Принципы организации СПП

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

Любое событие, требующее прерывания, сопровождается сигналом, оповещающим ЭВМ. Эти сигналы называются запросами прерывания и генерируются несколькими выполняющимися параллельно во времени процессами, например:

- процессом выполнения текущей программы в ЦП и внутренней памяти ЭВМ;

- процессом аппаратного контроля правильности работы ЭВМ, каналов и периферийных устройств (ПУ);

- процессом функционирования каналов и ПУ;

- процессом функционирования таймера;

- процессом функционирования ЭВМ, сопряженной с данной ЭВМ, и т.д.

Прерывания от устройства аппаратного контроля возникают при обнаружении этим устройством неисправности в ЭВМ, канале или ПУ. Прерывания ввода-вывода происходят при завершении работы канала или ПУ. Прерывания от таймера происходят при переполнении таймера. Возможность прерывания программ - важное свойство ЭВМ, позволяющее существенно повысить эффективность использования ее ресурсов, а также использовать ЭВМ для управления в системах реального времени. Для реализации прерывания в ЭВМ должны существовать соответствующие программные и аппаратные средства, называемые системой прерывания программ (СПП), или контроллером прерываний. Основные функции СПП состоят в запоминании ССП и переходе к прерывающей программе, при этом для запоминания ССП используется фиксированная зона оперативной памяти (например, в ЭВМ типа IBM/360 и IBM/370 и соответственно в ЕС ЭВМ) или же стековая память (например, в ЭВМ типа IBM PC с МП типа 80х86).

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

Важную роль играет регистр масок прерываний, разряды которого могут программно и аппаратно устанавливаться в "1" или "0". Этим достигается программно-управляемый приоритет прерываний. Установленный в "1" триггер регистра масок запрещает соответствующее прерывание, а в положении "0" разрешает его. Некоторые причины прерывания в каких-то конкретных типах ЭВМ не могут быть программно замаскированы.

3. Векторное прерывание

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

4. Обработчик прерывания

Перечислим основные действия, который должен выполнить обработчик прерываний:

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

2. Заблокировать все прерывания, возникновение которых в процессе выполнения обработчика может привести к конфликту (часто это выполняется аппаратурой ЭВМ без участия программы);

3. Разрешить все прерывания, которые имеют право возникать во время обработки данного прерывания;

4. Определить источник прерывания;

5. Выполнить запланированную обработку прерывания;

6. Восстановить ССП;

7. Разрешить все прерывания, которые были запрещены при обработке данного прерывания.

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

5. Основные типы прерываний в ЭВМ типа IBM PC с МП 80х86

Прерывания в этой ЭВМ могут быть разбиты на следующие группы:

1. Немаскируемое аппаратное прерывание, возникающее в результате серьезного аппаратного сбоя в работе МП и внутренней памяти.

2. Внешние аппаратные прерывания, возникающие при возникновении сигналов прерывания от таймера, клавиатуры и различных ПУ;

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

4. Программные прерывания, возникающие при выполнении процессором команды int с числовым аргументом.

 

<== предыдущая лекция | следующая лекция ==>
Запись/чтение данных в регистр Status | 
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1967; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.