Система команд

Перейти к навигацииПерейти к поиску

Систе́ма кома́нд (также набо́р кома́нд) — соглашение о предоставляемых архитектурой процессора средствах программирования, а именно:

Система команд представляется спецификацией соответствия (микро)команд наборам кодов (микро)операций, выполняемых при вызове команды, определяемых (микро)архитектурой системы. (При этом на устройствах с различной (микро)архитектурой может быть реализована одна и та же система команд (например, процессоры Intel Pentium и AMD Athlon имеют почти идентичные версии системы команд x86, но имеют радикально различный внутренний дизайн).

Базовыми командами являются, как правило, следующие:

  • арифметические, например, «сложения» и «вычитания»;
  • битовые, например, «логическое и», «логическое или» и «логическое не»;
  • присваивание данных, например, «переместить», «загрузить», «выгрузить»;
  • ввода-вывода, для обмена данными с внешними устройствами;
  • управляющие инструкции, например, безусловный, условный или косвенный переход, вызов подпрограммы, возврат из подпрограммы.

Оптимальными в различных ситуациях являются разные способы построения системы команд:

  • Если объединить наиболее часто используемую последовательность микроопераций под одной микрокомандой, то надо будет обеспечивать меньше микрокоманд. Такое построение системы команд носит название CISC (Complex Instruction Set Computer), в распоряжении имеется небольшое число составных команд.
  • С другой стороны, это объединение уменьшает гибкость системы команд. Вариант с наибольшей гибкостью — наличие множества близких к элементарным операциям команд. Это RISC (Reduced Instruction Set Computer), в распоряжении имеются усечённые, простые команды.
  • Ещё большую гибкость системы команд можно получить, используя MISC-подход, построенный на уменьшении количества команд до минимального и упрощении вычислительного устройства обработки этих команд.

См. также

Примечания