34 Прерывание (1006374)
Текст из файла
34 Прерывание. Аппаратура, выполнение.
Во время выполнения i-й команды в устройство управления могут прийти запросы на выполнение более приоритетных программ. Процессор должен прерваться на время в исполнении текущей команды и выполнить пришедшую программу.
Прерывание в ЦП осуществляется аппаратно, а возврат к прерванной программе осуществляется программно.
В ЭВМ существует 5 классов прерываний:
-
Машинные прерывания. Возникают из-за машинных сбоев, т.е встроенные устройства следят за правильностью работы.
-
Программные прерывания. Деление на ноль, переполнение, неверный код операции, обращение не в свою область памяти.
-
Внешние прерывания. Нажатие кнопки, датчик времени, т.е. по истечении времени происходит прерывание.
-
Запросы прерываний по вводу-выводу. Эти запросы появляются от канала или от УВВ. Они вырабатываются аппаратным или программным способом.
-
Обращение к операционной системе может трактоваться и реализовываться как запрос на прерывание.
Прерывания имеют приоритеты. Выше они перечислены в порядке убывания приоритетов.
Обработка запросов.
Обработка осуществляется с помощью специальных программ, являющихся частью операционной системы. Эти программы могут находиться в оперативной памяти. Они могут быть разными для разных запросов, а могут быть трактоваться как единая программа.
Слово - состояния программ(ССП) - специальный регистр, который содержит информацию о выполняемой в данный момент программе.
Поля:
-
адрес следующей команды
-
признаковые триггера
-
длина текущей команды. Если при выполнении текущей команды произошла ошибка и нужно выполнить ее еще раз, то счетчик команд содержит адрес следующей команды. Чтобы получить адрес текущей, нужно из счетчика вычесть длину текущей команды.
-
Поле-код прерывания – причина прерывания. Необходимо для программы обработки прерываний.
-
регистр нижней границы, регистр верхней границы или ключ к защищенной памяти.
-
поле маскирования. Запрос на прерывание приводит к прекращению выполнения программы. Если это нежелательно, то можно маскироваться и не реагировать на запросы.
-
режим(пользовательский/системный)
В процессе выполнения программы ряд полей ССП меняется, неизменны только поля маскирования и защиты памяти.
При появлении запроса на прерывание и , если этот запрос не маскирован, то должно произойти прерывание, т.е. переход к другой программе обработки прерываний. Но перед этим нужно сменить ССП.
Пусть для каждого типа прерываний у нас есть своя пара ССП(старый-новый).
Старое ССП сохраняется, а новое берется из ОП.
Это делается аппаратно. Возврат к прерванной программе осуществляется с помощью специальной команды, которая привелегирована и не доступна пользователю.
Т.к. во время запроса на прерывание одного типа может придти запрос на прерывание другого типа, то при наличии всего одной пары ячеек ССП(старый-новый), ССП будет утеряно и возврат в первую программу невозможен.
Дисциплина смены ССП при одновременном появлении запросов.
Запросы на прерывания разных типов могут появляться одновременно во время выполнения некоторой команды. Достаточно часто обработка запросов выполняется после завершения текущей команды. Существуют ВМ в которых запрос обрабатывается во время выполнения текущей команды. Далее происходит возврат на конкретный этап выполнения текущей команды. Для этого запоминается не только ССП, но и состояние внутренних регистров.
В вычислительных системах реального времени требуется очень быстро обслуживать запрос на прерывание.
Варианты обработки прерываний:
-
Первый пришел, первый обслужился(неясность в случае двух одновременных запросов)
-
Учет приоритетов запросов на прерывание
Структурная схема обработки одновременных запросов
Имеем 3 типа прерываний:
-
запрос ввода-вывода
-
внешнее прерывание
-
программное
Прерывания упорядочены по убыванию приоритетов.
-
В регистре ССП находиться словосостояние некоторой программы.
Поступает программное прерывание. ССП сохраняется в старой ячейке для программных прерываний.
-
Новое ССП поступает из ОП(в нашем случае из новой ячейки для программных прерываний-Н.Я.)
-
В процессе обработки поступает запрос на внешнее прерывание, т.к. оно более приоритетное, то текущее ССП сохраняется в СТ.Я для внешних прерываний.
-
Новое ССП поступает из ОП( в нашем случае из Новой ячейки для ввода-вывода)
-
Поступает более приоритетное прерывание, поэтому текущее ССП сохраняется в старой ячейке для внешних прерываний
-
Из ОП(в нашем случае из Н.Я для ВВ) поступает новое ССП.
-
По окончании обработки запроса на прерывание ввода-вывода старое ССП загружается в РССП и продолжается его обработка. Это делается программно.
-
и т.д
Схема обработки запросов
Схема должна обеспечить вышеуказанный режим обработки запросов. Эта схема входит в БУУ.
Если есть запрос на машинное прерывание, то нужно сформировать нужный адрес старой ячейки.
РАССП – регистр адреса словосостояния программы.
Старые и новые ячейки имеет смысл содержать в ячейках ОП с малым адресом.
Если адрес старой ячейки – 0100000
То адрес новой ячейки - 1100000
Запросы на прерывание могут быть замаскированы, для этого имеется ячейка – МАСКА.
В регистре запросов РЗП прорываются те запросы, которые не замаскированы.
Запросов, например по ВВ, может быть несколько, поэтому соответствующая ячейка РЗП не однобитовая.
РПРЗ – регистр прерывания запроса.
Если в РПРЗ – машинный запрос, то формируется код – 10000
Если в РПРЗ нет машинного, а есть ВВ, то 01000,
Если в РПРЗ запрос на внешнее прерывание – 00100, и т.д
СПР – схема приоритетов – обеспечивает формирование указанных выше кодов
Шифратор обеспечивает перекодировку в адрес
-
В процессе выполнения программы в БУУ приходят запросы
-
В РАССП формируется адрес
-
Допустим, в РПРЗ – 10000, тогда в ПР – регистр причины прерывания – записывается код машинного прерывания
-
Если запрос на машинное прерывание и его обработали, то в РЗП соответствующая ячейка обнуляется, далее обрабатывается остальные запросы.
4
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















