Набор инструкций

Набор инструкций ( английский набор инструкций ) процессора - это в архитектуре компьютера количество машинных инструкций, которые может выполнять конкретный процессор. В зависимости от процессора объем набора инструкций варьируется, например, от 33 до более 500 инструкций. Процессоры CISC , как правило, имеют больший набор инструкций, чем процессоры RISC , то же самое относится к новым процессорам по сравнению со старыми процессорами.

В более широком смысле термин «набор инструкций» означает набор инструкций (также синоним «набор инструкций»)

характеристики

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

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

Форматы команд

Отдельные команды набора команд обычно содержат код операции и один или несколько операндов; структура и формат этой информации единообразно определены для каждого типа команды.

Какая команда имеется в виду, в каждом случае указывается в коде операции. Ширина слов (т. Е. Комбинаций кода операции / операнда), используемых в наборе команд, значительно варьируется в зависимости от типа процессора. В частности, он может быть больше, чем у обычных слов памяти, т.е. ЧАС. чем ширина шины данных процессора. В этом случае команды должны загружаться из памяти в процессор за несколько обращений к памяти.

Эта «форма с двумя операндами» является типичной, но не единственной, которая встречается. Существуют также процессоры, которые позволяют выполнять команды максимум с одним операндом, а также те, которые позволяют использовать до трех операндов. В случае одного операнда все инструкции, которые влияют на две переменные, должны использовать внутренний регистр процессора (например, аккумулятор ) в качестве второго операнда (неявно) . Команды с тремя операндами различают источник, связанное значение и цель результата, так что источник не нужно перезаписывать.

Типы команд

Набор команд микропроцессора примерно состоит из нескольких типов команд.

С помощью команд передачи данные перемещаются внутри системы. Ячейки памяти или регистры процессора могут использоваться в качестве источника и назначения . Данные обычно не изменяются, а только копируются; ЧАС. остаются неизменными в их исходном местоположении. В зависимости от команды и типа процессора, отдельные или несколько байтов могут транспортироваться одновременно. В случае более сложных типов адресации дополнительные регистры и, возможно, вычисления могут быть задействованы как для источника, так и для получателя, например Б. обрабатывать данные, хранящиеся в табличной форме, с помощью индексированной адресации или копировать целые области памяти. Имена команд обычно начинаются с английских слов move (переместить), load (загрузить), store (сохранить) или transfer .

Команды управления данными используются для изменения содержимого ячеек памяти (примеры: сдвиг, преобразование)

Арифметические и логические команды выполняют аналогичные операции с существующими значениями. Так что здесь з. Б. рассчитывается, подсчитывали или И ссылка выполняется. Основным операндом очень часто является регистр процессора (в большинстве случаев аккумулятор ), но не обязательно. В остальном то же самое относится к операндам, как и к командам передачи выше. Имена команд в основном представляют собой английские сокращения для соответствующих операций, например B. ADD или AND .

Команды ввода / вывода используются для чтения и записи данных через периферийные устройства , средства связи с «внешним миром компьютера».

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

Команды стека хранят данные в стеке (имя команды обычно английское push , для « push (в стеке)») или извлекают данные оттуда (имя команды pop или pull , для «pull»). Указатель стека регистр автоматически обновляется. Здесь также перемещается один или несколько байтов одновременно, в зависимости от команды и типа процессора. Многие процессоры не имеют команд стека .

Комбинированные команды состоят из элементарных действий вышеуказанных типов команд. Например, когда вызывается подпрограмма, обычно выполняется переход, и адрес предыдущей программы сохраняется в стеке как место назначения возврата. Некоторые процессоры поддерживают циклы подсчета, например B. с помощью команд, которые подсчитывают состояние счетчика в большую или меньшую сторону, и при достижении предела счета (например, недостаточное заполнение при обратном счете до нуля) выполняют условный (обратный) переход. Инструкции, подобные последнему, в частности, типичны для процессоров CISC .

Архитектуры набора инструкций

Если кто-то хочет суммировать семейство процессоров с аналогичным набором инструкций, он также говорит об архитектуре набора инструкций (англ. Instruction Set Architecture , сокращенно: ISA). Типичными архитектурами набора команд являются, например:

веб ссылки

Викисловарь: набор инструкций  - объяснение значений, происхождение слов, синонимы, переводы

Индивидуальные доказательства

  1. ^ Duden Informatik ISBN 3-411-05232-5
  2. a b hu Berlin в Technische Informatik 2: Набор команд: элегантность против эффективности (PDF; 166 кБ) ( памятная записка от 30 ноября 2015 г. в Интернет-архиве )