1.3.2 Система команд процессора

iDevice ikoon 1.3.2 Система команд процессора

Архитектура системы команд процессора (ISA - Instruction Set Architecture) охватывает систему команд процессора и регистры, через которые процессор становится доступным для программирования.  

Машинные команды, выполняемые процессором, обычно подразделяются следующим образом:

  • передача данных (из регистра в регистр, из памяти в регистр и наоборот)
  • арифметико логические операции (сложение, вычитание, ротация битов операндов, сдвиг вправо, сдвиг влево и т. д.)
  • доступ к отдельным битам
  • доступ к строкам
  • команды управления (уловного и безусловного перехода, подпрограммы и т. д.)
  • ввод-вывод
  • управление работой процессора.

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

Выполнение программы в процессоре состоит следующих этапов:

  • Считывание команды из памяти (Instruction Fetch)
  • Декодирование команды в микрооперации (Instruction Decode)
  • Исполнение команды (Execute)
  • Запись результатов (Store).
При выполнении программ могут возникать особые случаи, когда процессор должен реагировать на внешние события, возникновение которых заранее не известно. Типовыми примерами являются взаимодействие с операционной системой, обмен данными с периферийными устройствами, сбой, командная ошибка и т. д.. Такие особые случаи называют прерываниями. Для обработки прерывания нужно использование специальных команд, которые вызывают прерывание процессора (т. е. временно приостанавливают выполнение текущей программы), запускают подпрограмму, которая реализует алгоритм прерывания, затем восстанавливают то состояние процессора, которое было  до остановки работы программы, из которой вышли на прерывание (после чего выполнение прерванной программы может быть продолжено).