D.6.5. Обработка прерываний в RISC-процессорах.
RISC-микропроцессоры не имеют ни счетчика команд, ни стека. Поэтому обработка прерывания и особых случаев осуществляется следующим образом:
- Вводится номер прерывания от программного контроллера прерываний. При этом здесь номер прерывания – это смещение адреса вектора в таблице векторов прерываний.
- Происходит запись в один из служебных регистров текущего слова состояния программы.
- Происходит запись в другой служебный регистр адрес точки возврата в прерываемую программу.
- Происходит модификация слова состояния программы (сброс/ установка флагов маскировки прерываний и особых случаев).
- Выбирается из слова состояния программы базовый адрес таблицы прерываний, которое складывается со смещением вектора прерываний, после чего происходит обращение к коду обработчика прерываний.
- Обработчик прерываний заканчивается специальной командой, восстанавливающей прежнее состояние прерванной программы (т.е. состояние до прерывания).
Назад... К оглавлению раздела Далее...
=== *** === *** === *** ===
Copyright © Юрий А. Денисов. 2000-2002 г.
В настоящее время проект закрыт (в версии 1.00.3 alpha). Автор приносит извинения за прекрашение разработки.