D.6.5. Обработка прерываний в RISC-процессорах.

RISC-микропроцессоры не имеют ни счетчика команд, ни стека. Поэтому обработка прерывания и особых случаев осуществляется следующим образом:

  1. Вводится номер прерывания от программного контроллера прерываний. При этом здесь номер прерывания – это смещение адреса вектора в таблице векторов прерываний.
  2. Происходит запись в один из служебных регистров текущего слова состояния программы.
  3. Происходит запись в другой служебный регистр адрес точки возврата в прерываемую программу.
  4. Происходит модификация слова состояния программы (сброс/ установка флагов маскировки прерываний и особых случаев).
  5. Выбирается из слова состояния программы базовый адрес таблицы прерываний, которое складывается со смещением вектора прерываний, после чего происходит обращение к коду обработчика прерываний.
  6. Обработчик прерываний заканчивается специальной командой, восстанавливающей прежнее состояние прерванной программы (т.е. состояние до прерывания).

 

Назад...   К оглавлению раздела   Далее...

=== *** === *** === *** ===

В настоящее время проект закрыт (в версии 1.00.3 alpha). Автор приносит извинения за прекрашение разработки.