Система команд — соглашение о предоставляемых архитектурой средствах программирования, а именно: определённых типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способов обработки прерываний и исключений, методов ввода и вывода.
Система команд представляется спецификацией соответствия (микро) команд наборам кодов (микро)операций, выполняемых при вызове команды, определяемых (микро)архитектурой системы. При этом, на системах с различной (микро) архитектурой может быть реализована одна и та же система команд. Например, Intel Pentium и AMD Athlon, имеют почти идентичные версии системы команд x86, но имеют радикально различный внутренний дизайн.
Базовыми командами являются, как правило, следующие:
- арифметические - «сложения» и «вычитания»;
- битовые - «логическое и», «логическое или» и «логическое не»;
- присваивание данных - «переместить», «загрузить», «выгрузить»;
- ввода-вывода, для обмена данными с внешними устройствами;
- управляющие инструкции - «переход», «условный переход», «вызов подпрограммы», «возврат из подпрограммы».
|
|
Система команд процессора классифицируется следющим образом:
- по длинее:
- команды длинной в одно слово;
- команды длинной в два слова;
- команды длинной в три слова;
- по архитектурным признакам:
- команды изменения содержимого ячеек памяти;
- команды выполнения операций со стеком;
- команды выполнения операций в АЛУ;
- команды передачи управления;
- команды изменения содержимого регистра;
- команды ввода-вывода;
- по функциональным признакам:
- команды передачи данных;
- команды управления;
- команды обработки данных.