Система прерывания программ что это

Программные прерывания. Принцип работы.

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

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

Механизмпрограммных прерываний был специально введен для того, чтобы:

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

Системные прерывания грузят процессор? Разгрузи проц и дай ПК нормально работать!

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

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

· привилегированная команда в режиме пользователя.

· адрес вне диапазона.

· нарушение защиты памяти.

· арифметическое переполнение, отсутствует страница.

· нарушение защиты сегмента.

· выход за границу сегмента.

В упрощенном виде схему обработки различных видов прерываний можно представить следующим образом:

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

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

Каждому прерыванию назначается свой уникальный приоритет. Если происходит одновременно несколько прерываний, то система отдает предпочтение самому высокоприоритетному, откладывая на время обработку остальных прерываний.

В случае о прерывании самой программы обработки прерывания говорят о вложенном прерывании. Уровни приоритетов обозначаются сокращенно IRQ0 — IRQ15 или IRQ0 – IRQ23 (в зависимости от микросхемой реализации).

Пpepывaнию вpeмeни cутoк дан мaкcимaльный пpиopитeт, пocкoльку ecли oнo будет пocтoяннo тepятьcя, то будут нeвepными пoкaзaния cиcтeмныx чacoв. Пpepывaниe от клaвиaтуpы вызывaeтcя при нaжaтии или oтпуcкaнии клавиши; oнo вызывaeт цепь coбытий, кoтopaя oбычнo зaкaнчивaeтcя тем, что код клавиши пoмeщaeтcя в буфep клaвиaтуpы (oткудa он зaтeм мoжeт быть пoлучeн пpoгpaммными пpepывaниями).

#6. Что такое регистры и прерывания / 2. Введение в ассемблер / Программирование с нуля

BIOS (basic input/output system) — базовая система ввода-вывода. Она представляет собой микропрограмму, необходимую для простейшего управления компьютером и его узлами. BIOS содержат материнские платы, контроллеры, видеокарты и некоторые другие устройства.

BIOS системных плат служит для управления основными функциями клавиатуры, видеосистемы, портов, дисков, ОЗУ, разнообразных других устройств и контроллеров. Именно с BIOS начинается первичная загрузка компьютера. Для этого он размещается в специальной микросхеме – ПЗУ (ROM) на материнской плате.

Микрокод BIOS может быть рассчитан на неизменное существование в течение всего срока службы платы, но большинство (почти все современные) BIOS поддерживают смену программы, то есть подлежат перепрошивке (Flash ROM). Это делается для того, чтобы в дальнейшем можно было исправить ошибки и внести дополнительные функции для работы с новыми устройствами без замены оборудования. Все более менее современные BIOS стандартизированы. Максимальный размер микрокода в них составляет 1, 2 или 4Мбит. Поэтому в случае выхода из строя микросхемы Flash ROM ее всегда можно легко заменить, предварительно прошив соответствующей прошивкой.

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

Аппаратные прерывания — это запросы от периферийных устройств на обработку данных. Программные прерывания — это, как правило, вызов каких-либо функций DOS или BIOS, а также вызов пользовательских функций. Исключения возникают при возникновении какой-либо критической ошибки (например, деление на 0, отсутствие сопроцессора и т.д.) или при пошаговом выполнении программы (трассировка).

Каждому прерыванию сопоставляется некоторая программа — обработчик прерывания, которая выполняет те или иные действия при возникновении прерывания. Для аппаратных прерываний обработчики, помимо всего прочего, выполняют управление аппаратурой.

Обработчики программных прерываний обычно выполняют некоторые функции, в зависимости от входных параметров, заданных в регистрах, и могут возвращать результаты в регистрах или иным образом. Обработчики исключений выполняют специфические задачи, зависящие от конкретного случая (например, обработчик прерывания «деление на 0» обычно выдаёт сообщение об ошибке на экран).

Для привязки каждого прерывания к его обработчику существует специальная таблица — так называемая таблица векторов прерываний, в которой для каждого прерывания хранится адрес обработчика в формате сегмент:смещение. Таблица располагается в памяти по абсолютному адресу 0x00000000 и собержит 256 ячеек — столько прерываний может быть в компьютере IBM PC.

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

Ниже представлены таблицы с описанием прерываний DOS, BIOS и некоторых других прерываний.

Прерывания BIOS

Прерывания DOS

Источник: zdamsam.ru

АВС_Лек7_2013 / Система прерываний программ в ЭВМ

Важнейшая роль в реализации сложных режимов работы отводится системе пре­рывания программ.

Прерывание — это приостановка выполнения в процессоре программы с целью выполнения какой-то более важной или нужной в данный момент другой про­граммы или процедуры, после завершения которой продолжается выполнение прерванной программы с момента ее прерывания. Прерывание позволяет компь­ютеру приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе машины или ее компонента. Каждое прерывание влечет за собой загрузку определенной программы, предназначенной для обработки воз­никшей ситуации — программы обработки прерывания.

Организация и управление прерываниями функционально во многом смыкается с управлением задачами. — одной из базовых функций операционных систем. Основой для управления процессом одновременного решения нескольких задач (равно как и управления прерываниями) являются процедуры:

  • выбора очередной задачи или определения приоритета задачи;
  • сохранения информации о статусе задачи при ее прерывании (формирование слова состояния программы);
  • упреждения и устранения конфликтов между задачами (координации и син­хронизации выполнения задач).
Читайте также:
Uniti player что это за программа

Последовательность действий процессора при реализации прерывания такова. При появлении запроса на прерывание, запланированное заранее или неожидан­ное, процессор, как правило, после завершения выполнения текущей команды программы анализирует допустимость (разрещенность и приоритетность) дан­ного вида прерывания. Если оно разрешено, Процессор производит следующие Действия: запоминает в стековой памяти текущее состояние прерываемой программы (состояние некоторых регистров МПП, в частности, регистров FL, CS, IP, а в микропроцессорах МП80286 и выше — и слова состояния программы, храня­щегося в другом регистре МПП); посылает источнику запроса на прерывание запрос о причине (коде) прерыва­ния; □ анализирует код запрошенного прерывания (номер прерывания — Ni) и фор» мирует адрес ячейки (AV), хранящей вектор прерывания (вектор-адрес про­ граммы обработки прерывания) по формуле AV= 4Ni (векторы прерываний; занимают начальную 1024-байтовую область ОП с адресами ячеек от 00000 ■ до 00400h (шестнадцатеричный код) так, что адрес вектора вычисляется про­ етым умножением номера прерывания на четыре, так как CS и IP занимают по два байта каждый);

  • считывает из ОП и записывает в регистры МПП (в регистры FL, CS, IP и т. д.) вектор прерывания и его атрибуты;
  • сбрасывает (устанавливает в 0) флаги прерывания (IF) и трассировки (TF);
  • выполняет программу обработки прерывания (которую иногда называют драйвером прерывания);
  • после выполнения программы обработки прерывания возвращает из стековой памяти параметры прерванной программы в регистры МПП и восстанавлива­ет процесс выполнения прерванной программы.

Видов (номеров) прерывания может быть всего 256, и, соответственно, векторов прерывания (адресов CS:IP программ обработки прерываний) в ОП насчитыва­ется до 256. Классификация видов прерываний показана на рис. 17.2.

Прикладные прерывания временно устанавливаются пользователем при много­программной работе МП для указания приоритета выполнения прикладных программ (при появлении необходимости выполнения более приоритетной про­граммы текущая менее приоритетная программа прерывается). Псевдопрерывания служат для запоминания важных фиксированных адресов, которые могут быть использованы в программах, в частности, при условных и безусловных передачах управления (запоминание адресов передачи управле­ния как векторов прерывания возможно благодаря аналогии выполнения преры­вания и обращения к процедурам). Аппаратные прерывания инициируются при обращениях к МП со стороны внешних устройств (таймера, клавиатуры, дисководов, принтера и т. д.) с требо­ванием уделить им внимание и выполнить совместно с ними те или иные про­цедуры. Прерывания от таймера, например, повторяются 18 раз в секунду, от клавиатуры — при каждом программно не запланированном нажатии некоторых клавиш и т. п. Аппаратные прерывания не координируются с работой програм­мы и могут/быть весьма разнообразны. Для их систематизации и определения очередности выполнения при одновременном возникновении нескольких из них обычно используется контроллер прерываний. Программные прерывания — это обычные процедуры, которые вызывает текущая программа для выполнения предусмотренных в ней стандартных подпрограмм, чаще всего подпрограмм — служебных функций работы с внешними устройства­ми, то есть, фактически, программные прерывания ничего не прерывают. Они делятся на две большие группы, вызывающие служебные функции:

  • базовой системы ввода-вывода — прерывания BIOS;
  • операционной системы — прерывания DOS.

Программы обработки прерываний DOS, в отличие от программ обработки пре­рываний BIOS, не встроены в ПЗУ и для разных операционных систем могут быть разными. К программным прерываниям можно отнести также прерывания при пошаговом исполнении программы, при работе с контрольным остановом и т. д. Технические прерывания (или, иначе, прерывания от схем контроля) возникают при появлении отказов и сбоев в работе технических средств (аппаратуре) ПК. Большинство технических прерываний не маскируются, то есть они разрешают­ся всегда, а некоторые из них относятся к категории «аварийных» (например, от­ключение питания), и при их возникновении даже не запрашивается причина прерывания, а просто по возможности спасаются важные промежуточные ре­зультаты — записываются в безопасное место, в НЖМД, например. Логические прерывания возникают при появлении ошибок в выполняемых про­граммах (деление на 0, потеря точности мантиссы, нарушение защиты памяти и т. п.). Многие из логических прерываний также относятся к категории немас­кируемых. Прерывания обслуживаются базовой системой ввода-вывода — модулем расши­рения BIOS и модулем обработки прерываний DOS. BIOS и блок расширения BIOS имеют дело в основном с непланируемыми техническими и логическими прерываниями, пользовательскими прикладными прерываниями, а также со многими планируемыми прерываниями, обслуживающими систему ввода-выво­да, детализированными и не’очень детализированными (прерывания, обслужи­ваемые BIOS, часто называют прерываниями нижнего уровня). Модуль обработки прерываний DOS обслуживает в большинстве планируемые прерывания, в том числе и прерывания системы ввода-вывода. Прерывания DOS часто называют прерываниями верхнего уровня, так как, с одной стороны, в этих прерываниях меньше учитываются технические особенности элементов ПК, с дру­гой стороны, при обработке этих прерываний часто случаются обращения к про­граммам прерываний системы BIOS. Большинство прерываний BIOS имеют близкие аналоги среди прерываний DOS. Следует сказать, что использование прерываний BIOS позволяет, как правило, более детально выполнять обращения к различным системным ресурсам ПК, к элементам информационных структур и их атрибутам. Однако прерывания DOS более просты в использовании при программировании. Поэтому начинаю­щим программистам можно рекомендовать работать с прерываниями DOS, осо­бенно с расширенными функциями DOS для работы с файлами. Схема органи­зации приема запросов на прерывания показана на рис. 17.3. Для приема внешних прерываний имеются порты двух типов: NMI (None Masked Interrupt) для приема немаскируемых прерываний и INTR (Interrupt) — для приема прочих прерываний (INTR обычно используется для подсоединения контроллера прерываний). Если запрос на прерывание поступает по входу NMI, то прерывание не маскируется (имеет абсолютный приоритет) и сразу выполня­ется; по входу INTR прерывание разрешается, если в регистре флагов МПП флаг IF-1. Всего предусмотрено 256 типов (0-255) прерываний. Из них только первые пять жестко закреплены в МП, остальные используются системами BIOS и DOS:

  • Тип 0 — прерывание возникает при делении на 0 или если частное от деления переполняет разрядную сетку МП.
  • Тип 1 — в режиме «трассировка» (при TF = 1) после выполнения каждой ко­манды программы происходит останов.
  • Тип 2 — немаскируемое техническое прерывание.

□ Тип 3 — прерывание по команде INT, включенной в программу: останов и ото- бражение содержимого регистров МПП. оизо □ Тип 4 — прерывание по команде INTO, включенной в программу, но только если при выполнении предыдущей команды пр шло переполнение раз­рядной сетки.

  • Типы 8-15 — аппаратные прерывания, инициируемые внешними устройства­ми, поступают на входы IRQ0-IRQ7 контроллера прерываний (вход IRQ0 имеет высший приоритет, и прерывание, поступившее по этому входу, обра­батывается первым; всего уровней приоритета 8 и вход IRQ7 имеет низший приоритет).
  • Типы 16-31 — планируемые программные прерывания BIOS.
  • Типы 32-255 — программные прерывания DOS (жестко задействовано около 10, а вообще в разных версиях DOS их разное количество).
Читайте также:
Avcmxwebp что за программа

Прерывания с 0 по 31 и прерывание 64 относятся к прерываниям нижнего уров­ня, обслуживаемым BIOS; прерывания, начиная с 32, являются прерываниями верхнего уровня (за исключением прерывания 64), причем прерывание 33 (21h) — это комплексное, чаще всего используемое в программах пользователя прерыва­ние, имеющее около 100 разновидностей (служебных функций DOS). В некоторых типах прерываний BIOS и DOS имеется много разновидностей, иногда более 10. Так, прерывание 10 (Ah) включает в себя 15 разновидностей, прерывание 33 (21h) — около 100 разновидностей: в DOS 1.0 — 47, в DOS 2.0 — 88, в DOS 3.0 и выше — 99 разновидностей (вид действия в рамках каждого пре­рывания определяется содержимым регистра АН). В работе [10] приведен список прерываний нижнего и верхнего уровней, а также служебных функций DOS для наиболее часто используемого программистами прерывания 21h. Вопросы для самопроверки

  1. Дайте определения алгоритма и программы решения задачи.
  1. Сформулируйте основные необходимые свойства алгоритма и способы его записи.
  2. Назовите основные классы алгоритмических языков и разновидности транс­ляторов.
  3. Приведите и поясните типовой состав машинных команд и возможные их структуры.
  4. Рассмотрите программу расчета квадратов чисел, приведенную в учебнике, и сформулируйте основное ее функциональные особенности.
  1. Назовите виды и особенности адресации ячеек памяти в ПК.
  1. Назовите основные режимы работы компьютеров и дайте им краткую харак­теристику.
  1. Что такое прерывание работы программы и каково назначение прерываний?

9. Назовите и поясните основные виды прерываний.

  1. Как по номеру прерывания определить адрес программы его обработки?
  2. Укажите, последовательность действий машины при выполнении прерыва­ния.

12. Подробно разберите функции стековой памяти, используемые при прерыва- ниях. http://do.gendocs.ru/docs/index-223844.htmlУпрощенная структурная схема PICОписание схемы Структура PIC включает в себя следующие байтные регистры: • IRR – регистр запросов прерываний — связан с внешними входами запросов (IRQ0 – IRQ7); • IMR – регистр маски запросов; • ISR – Interrupt Service Register – регистр обслуживаемых запросов; • ICW1-ICW3 – Initialization Control Word – управляющее слово инициализации (приказы инициализации); • OCW1-OCW3 — Operation Control Word – операционное управляющее слово (рабочие приказы); OCW1 = IMR Кроме регистров в состав PIC входят: блок управления и схема анализа приоритетов (арбитр). Назначением блока управления является выработка внутренних и внешних сигналов управления, с помощью которых осуществляются те или иные элементарные действия (микрооперации) внутри микросхемы. Например, запись байта из внешней шины данных в один из регистров контроллера. Сигналы CAS0-CAS2 используются для реализации каскадирования микросхемы. Входной сигнал CS (Chip Select – выбор кристалла) генерируется в том случае, если на внешней шине адреса (АВ) зафиксированы адреса, относящиеся к контроллеру прерываний. Программирование контроллера осуществляется по стандартным адресам портов ввода / вывода.

Источник: studfile.net

Система прерывания программ что это

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

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

Аппаратные прерывания используются для организации взаимодействия с внешними устройствами:

· маскируемые, которые могут быть замаскированы программными средствами компьютера;

· немаскируемые, запрос от которых таким образом замаскирован быть не может.

Программные прерывания вызываются следующими ситуациями:

· (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.);

· специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации.

Рисунок. Выполнение прерывания в компьютере: t р — время реакции процессора на запрос прерывания; t с — время сохранения состояния прерываемой программы и вызова обработчика прерывания; t в — время восстановления прерванной программы.

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

1. определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);

2. определение типа выбранного запроса;

3. сохранение текущего состояния счетчика команд и регистра флагов;

4. определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;

5. выполнение программы — обработчика прерывания;

6. восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;

7. продолжение выполнения прерванной программы.

Источник: www.sites.google.com

Система прерывания программ

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

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

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

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

К первым относятся, например, запросы при возникновении в ЭВМ таких событий, как появление ошибки в работе ее аппаратуры, пере­полнение разрядной сетки, попытка деления на 0, выход из установленной для данной программы области памяти, затребование периферийным устрой­ством операции ввода-вывода, завершение операции ввода-вывода перифе­рийным устройством или возникновение при этой операции особой ситуации и др. Хотя некоторые из указанных событий порождаются самой програм­мой, моменты их появления, как правило, невозможно предусмотреть. Запросы во внешней среде могут возникать от других ЭВМ, от аварийных и неко­торых других датчиков технологического процесса и т.п. Таким образом, запросы прерывания генерируются несколькими разви­вающимися параллельно во времени процессами, которые в некоторые мо­менты требуют вмешательства процессора. К этим процессам, в частности, относится процесс выполнения самой программы, процесс контроля правильности работы ЭВМ, операции ввода-вывода, технологический процесс в управляемом машиной объекте и др.

Читайте также:
Что за программа kwriter

Рекомендуемые материалы

Тест 1. Основы программирования Си — 85,19%
Программирование и алгоритмизация

Задаются N прямоугольников, заданных двумя точками. Для описания объектов использовать структуры (записи): Tpoint двумя полями x,y, Trect с полями t1,t2 – типа Tpoint вычисляемые поля a,b, s – стороны и площадь Разработать следующие подпрограммы:

Информатика
Тест — Основы программирования Си; Функции и многофайловые программы в Си- 2022
Программирование и алгоритмизация
Вариант 5 — ЛР №8 — Программирование с использованием динамической памяти
Информатика
Вариант 4 — ЛР №9 — Программирование с использованием файлов

Информатика
Какая-то программка с лабораторных работ
Информатика

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

В качестве аппаратных средств используется контроллер прерывания (блок прерывания). Основными функциями системы прерывания являются: — запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе; — восстановление состояния прерванной программы и возврат к ней.

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

1. Общее число запросов прерывания (входов в систему прерывания). 2. Время реакции — время между появлением запроса прерывания и моментом прерывания текущей программы. На рис. 3.11 приведена упро­щенная временная диаграмма процесса прерывания. Рис.3.11.

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

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

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

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

Глубина прерывания — максимальное число программ, которые мо­гут прерывать друг друга. Если после перехода к прерывающей программе и вплоть до ее окончания прием запросов прекращается, то говорят, что систе­ма имеет глубину прерывания, равную 1. Глубина равна n, если допускается последовательное прерывание до n программ.

Если запрос окажется не обслуженным к моменту прихода нового за­проса от того же источника, то возникает так называемое насыщение систе­мы прерывания. В этом случае предыдущий запрос от данного источника будет маши­нально утерян, что недопустимо. Рис.3.12.

Процессы прерывания с различной глубиной прерывания и дисциплиной обслуживания 5. Число классов (уровней) прерывания. В ЭВМ число различных за­просов (причин) прерывания может достигать нескольких десятков или со­тен. В таких случаях часть запросов разделяют на отдельные классы или уровни.

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

Разделение запросов на классы прерывания Запросы всех источников прерывания поступают на регистр запросов прерывания РгЗП, устанавливая соответствующие его разряды в состояние 1, указывающее на наличие запроса прерывания определенного источника. За­просы классов прерывания ЗПК1-ЗПКk формируются элементами ИЛИ, объ­единяющими разряды РгЗП, относящиеся к соответствующим классам (уров­ням).

Еще одна схема ИЛИ формирует общий сигнал прерывания ОСП, по­ступающий в устройство управления процессора. Информация о действительной причине прерывания, породившей запрос данного класса, содержится в коде прерывания, который отражает состояние разрядов РгЗП, относящихся к данному классу прерывания.

После принятия запроса прерывания на исполнение и передачу управле­ния прерывающей программе соответствующий триггер РгЗП сбрасывается. Объединение запросов в классы прерывания позволяет уменьшить объем ап­паратуры. но приводит к замедлению работы системы прерывания.

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

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

В ЭВМ широко применяются два способа программно-управляемого приоритета прерывающих программ: Люди также интересуются этой лекцией: 4 — Гидроцилиндры. — использование порога прерывания; — использование маски прерывания. Порог прерывания.

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

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

Поделитесь ссылкой:

Рекомендуемые лекции

  • 4 — Гидроцилиндры
  • 5 лекция
  • Лекция 5. Архитектура ПЛИС фирмы Xilinx
  • 14. Служба маркетинга
  • 39. Классификация травмирующих факторов

Источник: studizba.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru