Форматы данных и команды их обработки процессоров Pentium III, Pentium IV
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: виды докладов, конституция реферат
| Добавил(а) на сайт: Хабалов.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
|Тип |Длина|Точность |Диапазон нормализованных значений |
| |, бит| | |
| | |двоичн|десятич|Двоичный |десятичный |
| | |ая |ная | | |
|Вещественные числа |
|Одиночн|32 |24 |7 |[pic] |[pic] |
|ые | | | | | |
|(single| | | | | |
|) | | | | | |
|Двойные|64 |53 |15-16 |[pic] |[pic] |
|(double| | | | | |
|) | | | | | |
|Рассшир|80 |64 |19 |[pic] |[pic] |
|енные | | | | | |
|(extend| | | | | |
|ed) | | | | | |
|Двоичные целые |
|Слова |16 |15 |4 |[pic] |[pic] |
|(word) | | | | | |
|Коротки|32 |31 |9 |[pic] |[pic] |
|е | | | | | |
|(short)| | | | | |
|Длинные|64 |63 |18 |[pic] |[pic] |
|(long) | | | | | |
|Упакованные двоично-десятичные |
|BCD |80 |— |18 |— |[pic] |
Сопроцессор контролирует числа, участвующие в арифметических
операциях. При загрузке денормализованного операнда в регистр 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 arithmetic). Ее отличие от обычной арифметики с
циклическим переполнением (wraparound mode) заключается в том, что при
возникновении переполнения в результате фиксируется максимально возможное
значение для данного типа данных, а перенос игнорируется. В случае
переполнения снизу в результате фиксируется минимально возможное значение.
Граничные значения определяются типом (знаковый или беззнаковый) и
разрядностью переменных. Такой режим вычислений удобен, например, для
определения цветов.
В систему команд введено 57 дополнительных инструкций для одновременной обработки нескольких единиц данных. Одновременно обрабатываемое 64-битное слово может содержать как одну единицу обработки, так и 8 однобайтных, 4 двухбайтных или 2 четырехбайтных операнда. Новые инструкции включают следующие группы:
• арифметические (Arithmetic Instructions), куда входят сложение и вычитание в разных режимах, умножение и комбинация умножения и сложения;
• сравнение (Comparison Instructions) элементов данных на равенство или по величине;
• преобразование форматов (Conversion Instructions);
• логические инструкции (Logical Instructions) — И, И-НЕ, ИЛИ и исключающее ИЛИ, выполняемые над 64-битными операндами;
• сдвиги (Shift Instructions) — логические и арифметические;
• пересылки данных (Data Transfer Instructions) между регистрами ММХ и целочисленными регистрами или памятью;
• очистка ММХ (Empty ММХ State) — установка признаков пустых регистров в слове тегов.
Инструкции ММХ не влияют на флаги условий в слове состояния FPU.
Регистры ММХ в отличие от регистров FPU адресуются физически, а не
относительно значения указателя стека ТОР. Более того, любая инструкция ММХ
обнуляет поле ТОР регистра состояния FPU. В слове тегов свободному регистру
соответствует комбинация 11, остальные комбинации указывают только на
занятость регистра. После каждой операции ММХ биты тегов регистра
назначения обнуляются. Неиспользуемые в ММХ биты [79:64] регистров FPU
заполняются единицами, так что ошибочная обработка данных ММХ инструкцией
FPU приведет к исключению.
Инструкции ММХ не порождают новых исключений. Исключения при выполнении инструкций ММХ могут возникать только в случае нарушения границ в обращениях к памяти (как при обмене данными, так и при выборке инструкции). Однако если предшествующая инструкция FPU породила условие исключения, то оно произойдет при выполнении инструкции ММХ. После его обработки инструкция ММХ может исполнена.
С инструкциями ММХ могут применяться префиксы замены сегмента и
изменения разрядности адреса (влияют на инструкции, обращающиеся к памяти).
Использование префиксов изменения разрядности операнда и повторов
зарезервировано (может привести к непредсказуемым результатам). Префикс
Lock вызывает исключение #UD.
Инструкции ММХ доступны из любого режима процессора. При переключении задач необходимо следить за корректностью сохранения контекста, как и при работе с FPU.
Любая инструкция ММХ вызывает обнуление полей тегов всех регистров
FPU/ММХ, что для FPU означает наличие действительных данных во всех
регистрах. Последующая инструкция для FPU над "неправильными" данными может
привести к непредсказуемому результату, поскольку "входной контроль" данных
осуществляется по состоянию тегов. Чтобы застраховаться от подобных
неприятностей, после инструкций ММХ и перед инструкциями FPU в программный
код вводят инструкцию EMMS, которая устанавливает в слове тегов значение
FFFFh (все регистры пустые).
Рекомендуем скачать другие рефераты по теме: изложение по русскому 7 класс, образ сочинение.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата