Форматы данных и команды их обработки процессоров Pentium III, Pentium IV
Рефераты >> Программирование и компьютеры >> Форматы данных и команды их обработки процессоров Pentium III, Pentium IV

Таблица. Форматы чисел, поддерживаемых сопроцессором

Тип

Длина, бит

Точность

Диапазон нормализованных значений

двоичная

десятичная

Двоичный

десятичный

Вещественные числа

Одиночные (single)

32

24

7

Двойные (double)

64

53

15-16

Рассширенные (extended)

80

64

19

Двоичные целые

Слова (word)

16

15

4

Короткие (short)

32

31

9

Длинные (long)

64

63

18

Упакованные двоично-десятичные

BCD

80

18

Сопроцессор контролирует числа, участвующие в арифметических операциях. При загрузке денормализованного операнда в регистр FPU и попытке выполнения арифметических инструкций хотя бы с одним денормализованным операндом сопроцессор фиксирует условие исключения #D. Денормализованные числа могут появляться при выполнении вычислений, в этом случае сопроцессор фиксирует факт исчезновения значащих разрядов и генерирует исключение #U. При попытке выполнения арифметических операций с нечислами, а также с недопустимыми значениями операндов (например, извлечение квадратного корня из отрицательного числа) вырабатывается исключение #I. При переполнении вырабатывается исключение #O, при попытке деления на нуль ненулевого операнда вырабатывается исключение #Z.

Если результат вычисления невозможно представить точно в выбранном формате, сопроцессор выполняет округление результата в сторону соседнего допустимого значения. Правила округления программируются. Вместо автоматического выполнения округления сопроцессор может вырабатывать исключение #Р.

3. Технология MMX

Технология ММХ ориентирована на приложения мультимедиа, 2D/3D-графикy и коммуникации. Это расширение базовой архитектуры появилось только после выхода второго поколения процессоров Pentium. Основная идея ММХ заключается в одновременной обработке нескольких элементов данных за одну инструкцию — так называемая технология SIMD (Single Instruction — Multiple Data). Расширение ММХ использует новые типы упакованных 64-битных целочисленных данных:

• упакованные байты (Packed byte) — восемь байт;

• упакованные слова (Packed word) — четыре слова;

• упакованные двойные слова (Packed doubleword) — два двойных слова;

• учетверенное слово (Quadword) — одно слово.

Эти типы данных могут специальным образом обрабатываться в 64-битных регистрах ММХ0-ММХ7, представляющих собой младшие биты стека 80-битных регистров FPU. Каждая инструкция ММХ выполняет действие сразу над всем комплектом операндов (8, 4, 2 или 1), размещенных в адресуемых регистрах. Как и регистры FPU, эти регистры ММХ не могут использоваться для адресации памяти. Совпадение регистров ММХ и FPU накладывает ограничения на чередование кодов FPU и ММХ — забота об этом лежит на программисте приложений с ММХ.

Еще одна особенность технологии ММХ — поддержка арифметики с насыщением (saturating arithetic). Ее отличие от обычной арифметики с циклическим переполнением (wraparound mode) заключается в том, что при возникновении переполнения в результате фиксируется максимально возможное значение для данного типа данных, а перенос игнорируется. В случае переполнения снизу в результате фиксируется минимально возможное значение. Граничные значения определяются типом (знаковый или беззнаковый) и разрядностью переменных. Такой режим вычислений удобен, например, для определения цветов.

В систему команд введено 57 дополнительных инструкций для одновременной обработки нескольких единиц данных. Одновременно обрабатываемое 64-битное слово может содержать как одну единицу обработки, так и 8 однобайтных, 4 двухбайтных или 2 четырехбайтных операнда. Новые инструкции включают следующие группы:

• арифметические (Arithetic Instructions), куда входят сложение и вычитание в разных режимах, умножение и комбинация умножения и сложения;

• сравнение (Comparison Instructions) элементов данных на равенство или по величине;

• преобразование форматов (Conversion Instructions);

• логические инструкции (Logical Instructions) — И, И-НЕ, ИЛИ и исключающее ИЛИ, выполняемые над 64-битными операндами;

• сдвиги (Shift Instructions) — логические и арифметические;

• пересылки данных (Data Transfer Instructions) между регистрами ММХ и целочисленными регистрами или памятью;

• очистка ММХ (Empty ММХ State) — установка признаков пустых регистров в слове тегов.

Инструкции ММХ не влияют на флаги условий в слове состояния FPU.


Страница: