Разделы презентаций


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

Содержание

Основные этапы реализации прерываний.1. Передача управления осуществляется аппаратно. 2. Программой Q может быть и прерванная программа Р.3. Для корректной обработки прерывания очень важно запретить любые прерывания до окончания начатой обработки, поскольку

Слайды и текст этой презентации

Слайд 1АВС. Лекция № 7. Система прерывания программ.
Вопросы:
1.

Прерывание;
2. Классификация прерываний;
3. Приоритеты;
4. Работа механизма прерывания;
5. Маскирование прерываний;
6. Особенности обработки аппаратных прерываний;
7. Функциональный

аналог прерываний в составе Субъекта.

Главные функции механизма прерываний:
распознавание и классификация прерываний
передача управления обработчику прерываний
корректное возвращение к прерванной программе.
При этом переход от прерванной программы к обработчику прерываний и обратно должен выполняться как можно быстрее. Соответствующий промежуток времени называется латентной задержкой и является важной характеристикой вычислительной системы.
АВС. Лекция № 7.   Система прерывания программ. Вопросы:1. Прерывание;2. Классификация прерываний;3. Приоритеты;4. Работа механизма прерывания;5. Маскирование прерываний;6. Особенности обработки

Слайд 2Основные этапы реализации прерываний.
1. Передача управления осуществляется аппаратно.

2. Программой

Q может быть и прерванная программа Р.

3. Для корректной обработки

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

Слайд 3Схема обработки прерываний:

Схема обработки прерываний:

Слайд 4Обозначения:
! ­ Прерывание (сигнал – установление факта

прерывания) 1 ­ Идентификация прерывания 2 ­ Отключение всех других прерываний 3

­ Смена контекста_1 (сохранение состояния прерванного
процесса Р из системных регистров, загрузка в системные
регистры контекста соответствующего обработчика
прерываний) 4 ­ Обработка прерывания, включающая определение программы
Q, которую следует запустить; 5 ­ Смена контекста_2 (загрузка в системные регистры контекста
определенной на предыдущем шаге программы Q) 6 ­ Установка прежнего режима системы прерываний. Прерывания, возникающие при работе вычислительной системы, можно разделить на три класса: -       Внутренние аппаратные (синхронные); -       Внешние аппаратные (асинхронные); -       Программные.

Обозначения:   ! ­ Прерывание (сигнал – установление факта прерывания) 1 ­ Идентификация прерывания  2

Слайд 5Классификация прерываний
Внешние аппаратные прерывания ­ асинхронные

события, которые происходят вне процесса : 1. прерывания от

таймера, 2. от внешних устройств, 3.   прерывание по нарушению питания,   4. прерывание с пульта вычисления системы,   5.  прерывание от другого процессора в вычислительной сети.   Внутренние аппаратные прерывания ­ синхронные события, которые связаны с работой процессора и являются его синхронными операциями (сигнал прерывания формируется внутри процессора при выполнении программы, закрепленные за событиями номера прерываний зашиты внутри процессора и не могут быть изменены): нарушение адресации; наличие в поле кода операции незадействованной двоичной операции; переполнение и исчезновение порядка; ошибки четности.    Программные прерывания (по команде внутри программы) также являются синхронными операциями. Любая программа может инициировать синхронное программное прерывание путем выполнения программы INT. MS-DOS использует для взаимодействия с программами прерывания с номерами 20Н – 1FH, программы BIOS и прикладные программы использует другие номера. При этом распределение номеров условно и аппаратно не закреплено.

Классификация прерываний    Внешние аппаратные прерывания ­ асинхронные события, которые происходят вне процесса :

Слайд 6 Видов (номеров) прерывания может быть всего 256, и,

соответственно, векторов прерывания в ОП насчитыва-ется до 256. Более подробная

классификация видов прерываний показана на рис. 17.2.


Видов (номеров) прерывания может быть всего 256, и, соответственно, векторов прерывания в ОП насчитыва-ется до

Слайд 7
Прикладные прерывания временно устанавливаются пользователем при много­программной работе МП для

указания приоритета выполнения прикладных программ (при появлении необходимости выполнения более

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

Прикладные прерывания временно устанавливаются пользователем при много­программной работе МП для указания приоритета выполнения прикладных программ (при появлении

Слайд 8
Аппаратные прерывания инициируются при обращениях к МП со стороны внешних

устройств (таймера, клавиатуры, дисководов, принтера и т. д.) с требованием

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

Аппаратные прерывания инициируются при обращениях к МП со стороны внешних устройств (таймера, клавиатуры, дисководов, принтера и т.

Слайд 9
Программные прерывания — это обычные процедуры, которые вызывает текущая программа

для выполнения предусмотренных в ней стандартных подпрограмм, чаще всего подпрограмм

— служебных функций работы с внешними устройствами, то есть, фактически, программные прерывания ничего не прерывают. Они делятся на две большие группы, вызывающие служебные функции:
базовой системы ввода-вывода — прерывания BIOS;
операционной системы — прерывания DOS.
Программы обработки прерываний DOS, в отличие от программ обработки прерываний BIOS, не встроены в ПЗУ и для разных операционных систем могут быть разными. К программным прерываниям можно отнести также прерывания при пошаговом исполнении программы, при работе с контрольным остановом и т. д.

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

Слайд 10
Технические прерывания (или, иначе, прерывания от схем контроля) возникают при

появлении отказов и сбоев в работе технических средств (аппаратуре) ПК.

Большинство технических прерываний не маскируются, то есть они разрешаются всегда, а некоторые из них относятся к категории «аварийных» (например, отключение питания), и при их возникновении даже не запрашивается причина прерывания, а просто по возможности спасаются важные промежуточные результаты — записываются в безопасное место, в НЖМД, например.
Логические прерывания возникают при появлении ошибок в выполняемых программах (деление на 0, потеря точности мантиссы, нарушение защиты памяти и т. п.). Многие из логических прерываний также относятся к категории немаскируемых.

Технические прерывания (или, иначе, прерывания от схем контроля) возникают при появлении отказов и сбоев в работе технических

Слайд 11Вектора прерывания
Между запросами (и соответствующими прерывающими

программами) должны быть установлены приоритетные соотношения. Приоритетный выбор запроса для

исполнения входит в процедуру перехода к прерывающей программе.
Назовем вектором прерывания вектор "начального состояния прерывающей программы. Вектор прерывания содержит всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу (уровню) прерывания соответствует свой вектор прерывания. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.
Для того чтобы связать адрес обработчика прерывания с номером прерывания, используется таблица векторов прерываний, занимающая первый килобайт оперативной памяти - адреса от 0000:0000 до 0000: 03FF. Таблица состоит из 256 элементов - FAR - адресов обработчиков прерываний. В первом слове элемента таблицы записано смещение, а во втором - адрес сегмента обработчика прерывания. Прерыванию с номером 0 соответствует адрес 0000:0000, прерыванию с номером 1 - 0000:0004 и т.д.
Инициализация таблицы происходит частично BIOS после тестирования аппаратуры и перед началом загрузки операционной системой, частично при загрузке DOS.
DOS может переключить на себя некоторые прерывания BIOS.

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

Слайд 12Таблицы векторов прерываний. Назначение некоторых наиболее важных векторов:

Таблицы векторов прерываний. Назначение некоторых наиболее важных векторов:

Слайд 17Приоритеты
Различают абсолютный и относительный приоритеты. Запрос, имеющий абсолютный приоритет, прерывает

выполняемую программу и инициирует выполнение соответствующей прерывающей, программы. Запрос с

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

Слайд 18Стандартное распределение приоритетов внутри вычислительной системы

Не всегда сигнал прерывания вызывает

прерывание исполняющейся программы. Прерывание можно запрещать посредством отключения системы прерываний

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

Слайд 19Маскирование прерываний
Часто при выполнении критических участков программы для того, чтобы

гарантировать выполнение определённой последовательности команд целиком, приходится запрещать прерывания. Это

можно сделать командой CLI. Её надо поместить в начало критической последовательности команд, а в конце расположить команду STI, разрешающую процессору воспринимать прерывания. Команда CLI запрещает только маскируемые прерывания, немаскируемые всегда обрабатываются процессором.
Если необходимо замаскировать не все прерывания, а только некоторые, например, от асинхронного адаптера, то для этого необходимо воспользоваться услугами контроллера прерываний. Подробно об этом ниже, сейчас только отметим, что выдачей в этот контроллер определённой управляющей информации можно замаскировать прерывания от отдельных устройств.
Маскирование прерыванийЧасто при выполнении критических участков программы для того, чтобы гарантировать выполнение определённой последовательности команд целиком, приходится

Слайд 20Особенности обработки аппаратных прерываний
В отличие от программных прерываний, вызываемых запланировано

самой прикладной программой, аппаратные прерывания всегда происходят асинхронно по отношению

к выполняемой программе. Кроме того, может одновременно возникнуть несколько прерываний! Для того чтобы система знала, в какой последовательности необходимо обрабатывать запросы на прерывание, существует специальная схема приоритетов.
Система приоритетов реализуется на микросхемах Intel 8259. Каждая микросхема обслуживает до восьми приоритетов. Для увеличения количества уровней приоритетов микросхемы объединяются (каскадируются). Приоритеты аппаратных прерываний, получаемых в результате каскадирования двух микросхем для машин AT, представлены последовательностью номеров векторов прерываний (смотри таблицу), записанных в порядке возрастания приоритета обслуживания: 8; 9; А; 70...77; B: C: D: E: F. Из этой записи видно, что самый высокий приоритет у прерываний от интервального таймера, затем идёт прерывание от клавиатуры.
Особенности обработки аппаратных  прерыванийВ отличие от программных прерываний, вызываемых запланировано самой прикладной программой, аппаратные прерывания всегда

Слайд 21
Для управления схемами приоритетов необходимо знать внутреннее устройство контроллера прерываний

8259. Поступающие прерывания запоминаются в регистре запроса на прерывание IRR.

Каждый бит из восьми в этом регистре соответствует прерыванию. После проверки на обработку в настоящий момент другого прерывания запрашивается информация из регистра обслуживания ISR. Перед выдачей запроса на прерывание в процессор проверяется содержимое восьмибитового регистра маски прерываний IMR. Если прерывание данного уровня не замаскировано, то выдаётся запрос на прерывание.
Наиболее интересными, с точки зрения программирования контроллера прерывания, являются регистры маски прерываний IMR и управляющий регистр прерываний.
В машинах AT регистры маски первого и второго контроллеров имеют адреса 21h, A1h соответственно, а адреса управляющих регистров имеют значения: 20h; A0h.
Разряды регистра маски прерываний соответствуют номерам IRQ. Для того чтобы замаскировать аппаратные прерывания какого-либо уровня, надо заслать в регистр маски байт, в котором бит, соответствующий этому уровню, установлен в 1. Например, для маскирования прерываний от НГМД в порт 21h надо заслать двоичное число 01000000. При этом все остальные устройства будут продолжать нормально работать. В случае использования машинной команды CLI были бы отключены все аппаратные прерывания, включая клавиатуру.
Для управления схемами приоритетов необходимо знать внутреннее устройство контроллера прерываний 8259. Поступающие прерывания запоминаются в регистре запроса

Слайд 22Упрощенная структурная схема PIC

Упрощенная структурная схема PIC

Слайд 23 • 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 – выбор кристалла) генерируется в том случае, если на внешней шине адреса (АВ) зафиксированы адреса, относящиеся к контроллеру прерываний. Программирование контроллера осуществляется по стандартным адресам портов ввода / вывода.
• IRR – регистр запросов прерываний - связан с внешними входами запросов (IRQ0 –

Слайд 24
Контроллер прерываний 8259 допускает каскадирование, обеспечивающее до 64 уровней прерываний.

Контроллер имеет несколько режимов работы, которые устанавливаются программным способом. За

первоначальную установку режимов контроллера отвечает BIOS. Однако часто возникает необходимость изменения текущего режима работы (запрет или разрешение прерываний определённого, или всех уровней, обработка кода прерывания) или опроса состояния внутренних регистров контроллера.
Если контроллеры каскадированы, то ведомой микросхеме присваивается код (выдачей в микросхему соответствующего командного слова). Этот код равен номеру входа IRQ ведущей микросхемы, с которой связан выход запроса прерывания INT ведомой микросхемы. Внутри микросхемы приоритет зависит от номера IRQ . Самым высоким приоритетом внутри группы, обслуживаемой каждым контроллером, обладает вход IRQ0. Однако, возможно программное изменение приоритетов в рамках так называемого приоритетного кольца. При этом дно кольца имеет самый низкий приоритет. Возможные варианты задания приоритетов приведены в таблице.
Контроллер прерываний 8259 допускает каскадирование, обеспечивающее до 64 уровней прерываний. Контроллер имеет несколько режимов работы, которые устанавливаются

Слайд 25Таблица кольцевых вариантов задания приоритетов
Наибольший приоритет у входа IRQ с

обозначением 0 приоритетного кольца, наиболее низкий - с обозначением 7.
Как

уже рассматривалось выше, контроллер имеет регистры: IRR - запросов прерываний; ISR - обслуживания прерываний: IMR - маски прерываний. После выработки сигнала в процессор соответствующий разряд регистра ISR устанавливается в единичное состояние, что блокирует обслуживание всех запросов с равным и более низким приоритетом. Устранить эту блокировку либо сбросом соответствующего бита в ISR, либо командой специального маскирования.
Таблица кольцевых вариантов задания приоритетовНаибольший приоритет у входа IRQ с обозначением 0 приоритетного кольца, наиболее низкий -

Слайд 26Типы команд, посылаемых программой в контроллер.
Имеются два типа команд, посылаемых программой

в контроллер 8259, - инициализации и операции. Так как

инициализация производится программой BIOS, рассмотрим более подробно команды операции. Существует три типа команд операций:
1. Маскирование запросов прерывания;
2. Команды обработки конца прерывания;
3. Опрос регистров и специальное маскирование.
Байты команды маскирования вводятся соответственно в порты 21h, A1h для первого и второго контроллера соответственно.
Команды операций второго и третьего типа используют порты с адресами 20h, A0h.
Типы команд, посылаемых программой в контроллер.Имеются два типа команд, посылаемых программой в контроллер 8259, - инициализации и

Слайд 27
Команды обработки конца прерываний приведены в таблице.
 

 

Команды обработки конца прерываний приведены в таблице.  

Слайд 28
Команды третьего типа имеют формат:
 
 
 
 
 
 

 По команде обычного конца прерывания устанавливается

в нулевое состояние разряд ISR, соответствующий последнему обслуженному запросу.
Команда специального

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

Слайд 29
Аналогично работает команда циклического сдвига уровней приоритета со специальным концом

прерывания, только низший уровень приоритета присваивается тому входу IRQ, номер

которого указан в разрядах ВО...В2 команды.
Команда циклического сдвига уровней приоритета устанавливает статус уровней приоритета без выполнения операции конца прерывания. Разряды ВО...В2 указывают дно приоритетного кольца.
После выполнения команд разрешения чтения регистров ISR или IRR при выполнении команды ввода из порта 20h и A0h. считывается соответственно содержимое регистров ISR и IRR. Для получения содержимого регистра IMR необходимо выполнить чтение портов с адресами соответственно 21h и A1h.
Команда разрешения триггера специального маскирования блокирует действие тех разрядов ISR, которые замаскированы командой типа 1 (маскирования индивидуальных приоритетных уровней запроса прерывания).
Чтение регистров ISR и IRR может использоваться резидентными программами при проверке возможности своей активизации - можно проверить, не выполняется ли в настоящий момент обработка какого-нибудь прерывания, которая может конфликтовать с действиями резидентной программы.

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

Слайд 30Механизм прерываний IBM 370

Механизм прерываний IBM 370

Слайд 31 Обработка прерываний

Обработка прерываний

Слайд 32
Уров-ни прио-рите-тов
1

2

3

4

Уров-ни прио-рите-тов 1 2 3 4

Слайд 33D3 – третий Шаг детализации
Отождествление себя
000 Я –

Ничто
001 Я – Объект
010 Я – Субъект
011

Я – Субъект & Объект
100 Я – Память
101 Я – Объект & Память
110 Я – Память & Субъект
111 Я – Всё

Связи отождествления: Я – Всё (1,1)
№ Содержание связей
0 Проявление / Растворение
1 Восприятие Субъектом Основы
2 Восприятие Субъектом Объекта / Воздействие Объекта на Субъект
3 Воздействие Субъекта на Объект / Восприятие Объектом Субъекта
4 Воздействие Субъекта на себя
5 Воздействие Субъекта на Память / Восприятие Памятью Субъекта
6 Воздействие Памяти на Субъекта / Обращение Субъекта к
Памяти


P – Потребность
S – Состояние
Яи – истинное
Ял – ложное (Эго)

D3=(((W0 / W1)/ W21 )/ W31);

((W0 / W1)/ W21 )
(РЕАЛЬНОСТЬ)

W31

D3 – третий  Шаг детализации Отождествление себя000  Я – Ничто001  Я – Объект010

Слайд 34Таблица аналогий

Таблица аналогий

Слайд 35Приоритеты при целостном подходе к обучению.

Приоритеты при целостном подходе  к обучению.

Слайд 36Свобода выбора
Человек – сочетание двух видов особенностей. Один – животная

природа. Другой – Божественная.
Поддаваясь влиянию дурных качеств, таких как

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика