Набор команд x87

Набор команд x86

Набор команд IA-32

Наборы команд центрального процессора

Основной задачей процессора является выполнение инструкций по обработке данных – команд машинного языка процессора. Совокупность этих команд образует набор команд данного процессора. Ниже рассматриваются наборы команд процессоров IBM-совместимых компьютеров: Intel, AMD и VIA (семейства UltraSPARC и PowerPC имеют свои собственные наборы команд, отличные как от наборов команд IBM-совместимых компьютеров, так и друг от друга).

В IBM-совместимых компьютерах, выпускаемых в настоящее время, используются следующие наборы команд:

· набор команд IA-32;

· набор команд Intel 64;

· набор команд IA-64.

Набор команд 32-разрядных процессоров Intel называют IA-32 (Instruction Architecture 32 – архитектура команд 32). Этот набор впервые был использован в процессоре Intel 80386.

Набор команд IA-32, в свою очередь, содержит следующие три набора:

· набор команд x86;

· набор команд x87;

· наборы мультимедийных команд.

Основной набор команд процессоров Intel называют набором x86. Этот набор впервые появился в процессорах Intel 8086 и включает следующие виды команд:

· команды перемещения данных;

· команды двоичной арифметики (сложения, вычитания, умножения и деления) для чисел с фиксированной точкой (целых чисел);

· команды десятичной арифметики для двоично-десятичных чисел;

· команды логических операций (НЕ, И, ИЛИ и исключающего ИЛИ);

· команды сдвига битов;

· команды проверки и модификации битов;

· команды управления (условного и безусловного перехода, цикла, вызова процедур из возврата из процедур);

· команды работы со строками;

· команды ввода-вывода;

· системные команды.

В 16-разрядных процессорах Intel 8086, Intel 8088 и Intel 80286 эти команды использовались с байтами (8 бит) и словами (16 бит). В 32-разрядных процессорах, начиная с Intel 80386, добавлены команды работы с двойными словами (32 бита), а также некоторые другие команды.

Команды набора x86 оперируют только с целыми числами. Операции для чисел с плавающей точкой первоначально либо реализовались в процессоре программно, либо выполнялись в отдельном процессоре (первым таким процессором был процессор Intel 8087). Поскольку процессор Intel 8087 функционировал только совместно с процессором Intel 8086 или Intel 8088, его назвали сопроцессором. Начиная с процессора Intel 80486, сопроцессор для операций с плавающей точкой является встроенным блоком процессора.

Для операций с плавающей точкой используется набор команд x87, включающий в себя следующие группы команд:

· команды перемещения данных (в том числе и команды перемещения данных по некоторому условию);

· арифметические команды;

· команды сравнения;

· команды вычисления основных тригонометрических и логарифмический функций;

· команды загрузки некоторых констант (например, значения p);

· команды управления выполнением операций для чисел с плавающей точкой.

Эти команды поддерживают как операции над числами с плавающей точкой обычного формата (32 бита), формата двойной точности (64 бита) и длинного формата (80 бит).