Untitled Document

Ядерное оружие | Графика | Математика | Физика | Заказать диплом | Информатика | ТКМ | Электротехника | Атомная энергетика | Лекции

Основы вычислительных систем

 

4.5. Организация возврата к прерванной программе

 

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

В основную информацию можно включить:

·        содержимое счетчика адреса команд, т. е. адрес первой невыполненной команды прерванной программы;

·        триггер состояния системы: "рабочее" или состояние "ожидания";

·        маска прерывания, устанавливаемая каждой новой программой;

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

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

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

Замечание. В период сохранения и восстановления ССП прерывания любого уровня запрещены.

К дополнительной информации относят содержимое:

·        арифметических регистров;

·        индексных регистров;

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

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

Основы вычислительных систем

Физика лабы
Элементарная математика Кратные интегралы Математический анализ Вакансии и работа Новосибирска -на портале NskLife.ru
Векторный анализ Аналитическая геометрия Пределы функции Изучение функции Конспекты по математике Комплексные числа Дифференциальные уравнения Определенные интегралы Лекции по высшей математике Исследование функций Вычисление объема с помощью интегралов Алгеброические структуры