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