Прерываемая программа - Большая Энциклопедия Нефти и Газа, статья, страница 1
Дополнение: Магнум 44-го калибра бьет четыре туза. Законы Мерфи (еще...)

Прерываемая программа

Cтраница 1


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

Состояние прерываемой программы запоминается в ОЗУ посредством группы команд, которая располагается в начале прерывающей программы. Только по сле запоминания информации может быть осуществлен переход к прерывающей программе. По окончании исполнения этой программы другая группа команд, стоящая в ее конце, предварительно восстановит состояние регистров в ЦУУ и ОУ и передаст управление команде первоначальной программы, на которой был остановлен процесс.  [2]

При необходимости содержимое остальных регистров МП, соответствующее прерываемой программе, может быть запомнено в стеке при переходе на программу обслуживания и затем восстановлено при возврате из нее с помощью команд обращения к стеку.  [3]

Код прерывания может быть использован для передачи сообщения от прерываемой программы к супервизору.  [4]

Согласно изложенному выше, время разрешения представляет собой интервал времени между завершением последней команды прерываемой программы и началом первой команды в программе обслуживания прерывания. Именно в течение этого интервала система выполняет действительное переключение функций и определяет точную причину прерывания. Время реакции равно интервалу времени между поступлением заявки на прерывание и запуском программы обслуживания прерывания. Следовательно, время разрешения и время реакции различаются по меньшей мере на время задержки.  [5]

Для дисциплины с абсолютными приоритетами необходимо учесть различие затрат времени на ожидание как прерывающих обслуживание, так и прерываемых программ и частость прерываний. Для произвольной заявки fe-ro приоритета суммарное время ее пребывания в ВС из-за затрат на прерывание увеличивается на величину Yk 5 Y k - Первое слагаемое Y k соответствует затратам времени на выполнение операции прерывания обслуживания заявки более низкого приоритета, чем у поступившей заявки. Второе слагаемое Y учитывает увеличение длительности пребывания заявки в ЭВМ из-за того, что ее обслуживание прерывается заявками высших приоритетов.  [6]

После того как объединение подсистем и модулей, не управляемых прерываниями, закончено, можно приступить к объединению прерываемых программ. Этот шаг объединения выполняется либо путем запуска на выполнение процедуры ИСПОЛНЕНИЯ ПРЕРЫВАНИИ, если такая существует, либо путем использования программной процедуры для вызова процедуры ОБРАБОТКИ ПРЕРЫВАНИИ. Объединение программ прерываний производится таким же способом, как было описано выше. Если нет процедуры ИСПОЛНЕНИЯ ПРЕРЫВАНИИ, выполнение каждой из процедур ОБРАБОТКИ ПРЕРЫВАНИЯ может быть вызвано отдельно, вследствие чего объединение может быть выполнено очень просто.  [7]

В области проблемной программы строится таблица, содержащая адрес Области управления программными параметрами, поле для хранения значения старого ССП и поля хранения значений регистров связи прерываемой программы. Адрес Области управления программными параметрами помещается в таблицу после выполнения макрокоманды SPIE, а остальная информация заполняется Супервизором при анализе прерывания перед передачей управления программе, которая должна это программное прерывание обрабатывать.  [8]

ЗП) процессор переходит к прерывающей программе Я2 не сразу, так как требуется время / р на анализ запроса и окончание действий по выполняемой команде прерываемой программы Пи называемое временем реакции системы на запрос прерывания. Сразу после ее окончания в течение tB восстанавливается состояние прерванной программы Я и ей передается управление. Сумма времени, затрачиваемого на запоминание состояния прерванной программы Я и на возврат к ней, называют временем обслуживания программы. Время реакции tp и обслуживания t0tg tB характеризуют потери машинного времени на организацию процесса прерывания и быстродействие ЭВМ по обслуживанию запросов прерывания.  [9]

Как было показано выше [ см. (3.13), (3.14) ], при дисциплинах с прерыванием необходимо учитывать изменение длительности ожидания в очереди и длительности обслуживания как прерывающих, так и прерываемых программ вследствие затрат на переключение программ. С учетом этих поправок могут сопоставляться дисциплины с прерыванием и без прерывания обслуживания. Дисциплины с прерыванием, характеризующиеся более частым переключением программ, более чувствительны к изменению затрат на каждое переключение программ. По мере увеличения затрат на каждое переключение программ дисциплины с прерыванием могут сравниваться по эффективности с более простыми и последние могут оказаться более эффективными.  [10]

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

В мини - п микро - ЭВМ может использоваться следующая простая схема организации прерываний. Ячейка 0 служит для сохранения адреса команды прерываемой программы. Ячейка 1 используется для хранения пускового адреса программы-преемника, который должен быть заблаговременно записан в эту ячейку. При поступлении сигнала прерывания процессор записывает адрес очередной команды в ячейку 0, тем самым фиксируя место, на котором была прервана текущая программа. Затем процессор читает из ячейки 1 адрес и переходит к выполнению команды с указанным адресом, в результате чего начинает выполняться программа-преемник. Сохранение остальной информации, например состояния итогового регистра, производится с помощью команд, включаемых в программу-преемник. Очередная программа, переход к которой инициирован операцией прерывания, может заслать в ячейку 1 новый адрес - адрес другой программы, с помощью которой будет обрабатываться очередная причина прерывания.  [12]

Код N - А0АгА2 определяет адрес вектора прерывания соответствующей прерывающей программы, а точнее, начальный адрес группы ячеек ОП, хранящей информацию о начальном адресе прерывающей программы. В рассматриваемом МП сохранение в памяти вектора состояния прерываемой программы и замена его в регистрах вектором прерывания прерывающей программы в отличие от малых ЭВМ СМ-4 выполняются в основном не аппаратурными, а программными средствами.  [13]

Код NAoAiA2 определяет адрес вектора прерывания соответствующей прерывающей программы, а точнее, начальный адрес группы ячеек ОП, хранящей информацию о начальном адресе прерывающей программы. В рассматриваемом МП сохранение в памяти вектора состояния прерываемой программы ft J & WtWi % Ju % teTWrrpax вектором прерывания прерывающей программы выполняются в основном не аппаратурными, а программными средствами.  [14]

Прямое взаимодействие ЭВМ с ПУ используется не всегда, Однако машины, в которых операции обмена с несколькими ПУ чередуются с обработкой информации ( вычислениями), должны иметь возможность практически в любой момент времени вести обмен информацией сразу с несколькими ПУ и при этом совмещать его с обработкой информации. Предположим, что в момент выполнения команды А основной прерываемой программы происходит какое-то внешнее событие, например завершение обмена информацией с одним из ПУ. В данный момент основную программу следует прервать, чтобы по прерывающей программе обработать переданные из ПУ новые данные.  [15]



Страницы:      1    2