Программирование на JAVA

Завершение выполнения

С одной стороны, чтобы ускорить освобождение блоков выполнения и загрузку в них новых команд, можно разрешить внеочередное завершение команд. С другой стороны, для обеспечения точных исключений команды должны завершаться в том порядке, в каком они следуют в программе. Существует возможность достичь сразу двух указанных целей. Для этого команды должны выполняться так, как показано на рис. 9.11(б). Отметим, что резуль­таты при этом записываются во временные регистры. Позднее содержимое времен­ных регистров в нужном порядке пересылается в постоянные регистры процессора. На шаге TW осуществляется запись во временный регистр, а на шаге W, завершающем для команды, содержимое временного регистра переписывается в соответствую­щий постоянный регистр. Этот шаг часто называют шагом сохранения, поскольку после него результат выполнения команды уже не может быть отменен. Если ко­манда вызывает исключение, результаты, выданные последующими командами, находящимися во временных регистрах, легко удалить.

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


<< назад вперед >>