Я работаю со спецификацией RISC-V и имею проблему с ожидающими прерываниями / исключениями.Я читаю версию 1.10 тома II, опубликованную 7 мая 2017 года.
В разделе 3.1.14, описывающем регистры mip
и mie
, сказано, что:
Несколько одновременных прерываний и прерываний на одном и том же уровне привилегий обрабатываются в следующем порядке уменьшения приоритета: внешние прерывания, программные прерывания, прерывания по таймеру, а затем, наконец, любые синхронные прерывания.
До этой точкиЯ думал, что исключения, например, исключение смещения инструкций с ошибкой в инструкции JAL
/ JALR
, будут немедленно обработаны ловушкой, потому что а) нет способа продолжить выполнение вашего потока инструкций и б) нет описанияо том, как исключение может ожидаться, то есть в спецификации не описаны понятия, которые могли бы управлять состоянием для исключений (например, регистров, подобных mip
, но для исключений).
Однако приведенный выше абзац указывает на что-торазные.Мои вопросы:
- Существуют ли ожидающие исключения в RISC-V?
- Если да, как это возможно, что исключение все еще может быть обработано после обработки прерывания и не 'Т забыли?