Организация вычислительных систем

       

Программная модель пользователя и супервизора


Программная модель пользователя представлена на рис. 7.1.


Рис. 7.1.  Программная модель пользователя

Программная модель супервизора дополняется:

  • указателем стека супервизора A7;
  • регистром состояния SR.

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

Исключение - это любое нарушение нормальной работы МП.

Исключения могут вызываться внутренними (адресные ошибки, неправильные результаты обработки и выполнения инструкций, трассировка) и внешними (сигнал сброса, ошибка магистрали, прерывания) причинами.

Исключения разделяются по приоритетам. Их обработка осуществляется подпрограммами, адреса которых вычисляет ЦП с использованием номера вектора исключения, генерируемого самим ЦП или передаваемым ему в цикле подтверждения прерывания.

Прерывания являются частным случаем исключений.

Режим работы ЦП определяется специальным битом в регистре состояния (бит S), переключение которого возможно только в режиме супервизора.

Переход из режима супервизора в режим пользователя происходит только по инструкции, воздействующей на бит S регистра состояния.

В режимах пользователя и супервизора различаются:

  • адресные пространства, в которых работает ЦП;
  • программные модели;
  • набор допустимых инструкций;
  • активные стеки.



Содержание раздела