Другие команды процессора 68000



Предыдущая | Следующая
Другие команды процессора 68000
Процессор 68000 может работать в режиме пользователя и в режиме супервизора. Все рассмотренные ранее команды относятся к режиму пользователя. Большую часть времени процессор 68000 работает именно в этом режиме. Режим пользователя считается нижним режимом, а режим супервизора — высшим. Рабочий режим процессора определяет бит 13 регистра кода условия CCR.
Режим супервизора является защитным. Он создает «электронные стены» вокруг операционной системы и ее ресурсов, поэтому ошибки в программах пользователей не выводят систему из строя. Переключение из одного режима в другой проводится следующим образом.
Если компьютер работает в режиме супервизора и требуется выполнить программу пользователя, операционная система изменяет состояние бита 13 в регистре CCR. Система переходит в режим пользователя и начинает выполнение программы.
Программа выполняется и не выходит в режим супервизора до тех пор, пока не встречается команда TRAP (группа 10). Имеется 16 команд TRAP и все они инициируются при возникновении в программе пользователя ошибочной ситуации. Примерами могут служить деление на нуль, попытка выполнить недопустимую команду или неправильный адрес. При этом процессор сохраняет содержимое программного счетчика и регистра CCR в стеке супервизора.
После этого процессор обращается к таблице векторов, считывает из нее адрес и загружает его в программный счетчик. По этому адресу находится специальная процедура обслуживания TRAP. Каждый тип
TRAP имеет свою процедуру обслуживания, которая исправляет ошибку и возвращает программный счетчик к исходной программе.
Процессор 68000 имеет несколько привилегированных команд, которые можно использовать только в режиме супервизора (группа 11). Первой из них является команда останова STOP. Она прекращает действия процессора и загружает в регистр CCR 16-битовое значение. Изменение битов регистра CCR прекращает выполнение программы в режиме пользователя.
Следующая привилегированная команда сброса RESET осуществляет сброс системы, кроме самого процессора. Сброс можно осуществить только в режиме супервизора.
Привилегированная команда RTE предназначена для возврата из особого случая. Что такое особый случай? Это любое событие, которое препятствует процессору выполнять обычные команды. Например, особыми случаями являются ловушки и прерывания. После обработки особого случая команда RTE возвращает из стека содержимое программного счетчика и регистра CCR и возобновляется выполнение программы.
Команда MOVE USP означает обращение к пользовательскому указателю стека. При работе в режиме супервизора действует супервизорный указатель стека, который разделяет регистр адреса А7. Возникают ситуации, когда для работы необходимо инициализировать пользовательский указатель стека, и для этого применяется команда MOVE USP.
Команды MOVE, AND, OR и XOR с 16-битовыми операндами и привлечением регистра CCR становятся привилегированными. Объясняется это тем, что в старшем байте регистра CCR имеются системные флажки, которыми должна управлять операционная система, а не программа пользователя.
Следует знать, как команды заставляют процессор выполнять такие действия, как пересылка данных, обработка данных и передача управления. В процессе эксплуатации, профилактики и ремонта приходится проверять напряжения, логические состояния и наблюдать сложные осциллограммы и нужно уметь находить неправильные значения. Этого нельзя сделать, не зная, какими должны быть правильные значения.
Часто приходится писать короткие тест-программы для проверки реакции процессора и карты памяти на различные команды. Обычно такие программы пишутся на машинном языке или языке ассемблера, а для этого требуется знание системы команд компьютера.

 

 Поиск и устранение неисправностей в персональных компьютерах