Статьи и главы из книг по оптимизации кода

Оптимизация кода → Команды Enhanced 3DNow! ( начиная с Athlon )

<!--StartFragment -->

Инструкции технологии Enhanced 3DNow! предназначены для ускорения обработки 3D в приложениях и являются расширенным набором инструкций технологии 3DNow! . Каждая инструкция технологии Enhanced 3DNow! работает с упакованными данными (два 32-битных элемента 64-битных данных). Все инструкции технологии Enhanced 3DNow! работают с теми же регистрами, что и инструкции технологии MMX и 3DNow! . Команды Enhanced 3DNow! имеют следующий синтаксис:

Опубликовал admin
25 Мар, Четверг 2004г.

Оптимизация кода → Команды 3DNow! ( начиная с K6-2 ).

<!--StartFragment -->

Инструкции технологии 3DNow! предназначены для ускорения обработки 3D в приложениях. Процессор может выполнять по две инструкции технологии 3DNow! за такт. Так как каждая инструкция технологии 3DNow! работает с упакованными данными (два 32-битных элемента 64-битных данных), то за такт вычисляются четыре операции с плавающей запятой. Все инструкции технологии 3DNow! работают с теми же регистрами, что и инструкции технологии MMX. Команды 3DNow! имеют следующий синтаксис:

Опубликовал admin
25 Мар, Четверг 2004г.

Оптимизация кода → Команды SSE ( начиная с Pentium III ) часть 3

<!--StartFragment -->

Если хотя бы один из сравниваемых элементов операндов содержит значение QNaN или SNaN, флаги устанавливаются в "несравнимы" и генерируется исключение. Согласно стандарту IEEE, величина QNaN определяется как любое нечисловое значение (NaN), у которого старший бит мантиссы равен 1. Величина SNaN определяется как любое нечисловое значение (NaN), у которого старший бит мантиссы равен 0, а хотя бы один из оставшихся битов мантиссы содержит 1. Если все биты мантиссы равны 0, то величина считается равной бесконечности.

Опубликовал admin
25 Мар, Четверг 2004г.

Оптимизация кода → Команды SSE ( начиная с Pentium III ) продолжение

<!--StartFragment -->

MOVAPS xmm/m, xmm/m - команда копирует четыре FP-элемента одним из следующих способов:

  • из памяти в XMM-регистр
  • из XMM-регистра в память
  • из одного XMM-регистра в другой

Линейный адрес соответствует адресу младшего байта группы данных в памяти. Обращение в память должно быть по адресу, кратному 16 байтам; в противном случае генерируется исключение.

MOVUPS xmm/m, xmm/m - команда копирует четыре FP-элемента одним из следующих способов:

Опубликовал admin
25 Мар, Четверг 2004г.

Оптимизация кода → Команды SSE ( начиная с Pentium III )

<!--StartFragment -->

Команды SSE делятся на 4 категории:

  • SIMD-команды для данных одинарной точности с плавающей запятой (SPFP-команды);
  • Дополнительные SIMD-команды для целочисленных данных;
  • Команды управления кэшированием;
  • Команды сохранения и восстановления компонент состояния процессора.

Одна SIMD-команда с плавающей запятой может обрабатывать одновременно четыре 32-разрядных числа одинарной точности с плавающей запятой (называемых SPFP-элементами данных).

Опубликовал admin
25 Мар, Четверг 2004г.


RSS-материал

Программирование для чайников.