Программная модель пользователя и супервизора
Программная модель пользователя представлена на рис. 7.1.
Рис. 7.1. Программная модель пользователя
Программная модель супервизора дополняется:
- указателем стека супервизора A7;
- регистром состояния SR.
В нормальном состоянии ЦП находится в режиме пользователя. Переход из этого режима в режим супервизора возможен только при нарушении нормальной работы специальной инструкцией или внешним событием. Такая ситуация называется исключением, а сама процедура перехода - обработкой исключения.
Исключение - это любое нарушение нормальной работы МП.
Исключения могут вызываться внутренними (адресные ошибки, неправильные результаты обработки и выполнения инструкций, трассировка) и внешними (сигнал сброса, ошибка магистрали, прерывания) причинами.
Исключения разделяются по приоритетам. Их обработка осуществляется подпрограммами, адреса которых вычисляет ЦП с использованием номера вектора исключения, генерируемого самим ЦП или передаваемым ему в цикле подтверждения прерывания.
Прерывания являются частным случаем исключений.
Режим работы ЦП определяется специальным битом в регистре состояния (бит S), переключение которого возможно только в режиме супервизора.
Переход из режима супервизора в режим пользователя происходит только по инструкции, воздействующей на бит S регистра состояния.
В режимах пользователя и супервизора различаются:
- адресные пространства, в которых работает ЦП;
- программные модели;
- набор допустимых инструкций;
- активные стеки.