Я работаю над процессором типа MIPS32, и мне интересно, как именно работает обработка исключений и прерываний MIPS32. В руководстве по архитектуре привилегированных ресурсов MIPS32 не так много информации. Меня интересуют несколько вещей:
Что произойдет, если в обработчике исключения или прерывания будет исключение или прерывание?
MIPS32 имеет 5 аппаратных прерываний и 2 программных прерывания в регистре причин. Программное обеспечение прерывает исключения или исключения просто отображаются в значении кода исключения?
Есть ли другой вектор прерывания и исключения?
Что произойдет, если в конвейере появятся 2 исключения, прежде чем он очистится для исключения? Например, за исключением переполнения, за которым следует другое исключение и прерывание. Что происходит?
Будем признательны за ссылки на любые полезные ресурсы.