3DNow! — 24wiki.ru. Что такое 3DNow!

3DNow!


3DNow! — дополнительное расширение MMX для процессоров AMD, начиная с AMD K6 3D. Причиной создания 3DNow! послужило стремление завоевать превосходство над процессорами производства компании Intel в области обработки мультимедийных данных.

Технология 3DNow! ввела 21 новую команду процессора и возможность оперировать 32-битными вещественными типами в стандартных MMX-регистрах. Также были добавлены специальные инструкции, оптимизирующие переключение в режим MMX/3DNow! (femms, которая заменяла стандартную инструкцию emms) и работу с кэшем процессора. Таким образом технология 3DNow! расширяла возможности технологии MMX, не требуя введения новых режимов работы процессора и новых регистров.

В процессорах AMD, выпущенных после августа 2010 года, поддержка технологии сведётся к двум инструкциям.

Начиная с микроархитектуры Bulldozer расширение не поддерживается (за исключением команды prefetch).[1]

Проверка поддержки 3DNow! процессором

Перед началом работы с расширением 3DNow! следует убедиться, что ЦП их поддерживает. Для этого используется инструкция CPUID. Общий порядок действий при проверке выглядит следующим образом:

  1. Убедиться, что процессор поддерживает инструкцию CPUID. Если нет, то ЦП не поддерживает и 3DNow!.
  2. Выполнить инструкцию cpuid со значением EAX = 0 — это необходимо для следующего шага.
  3. Выполнить CPUID со значением EAX = 80000000h. Если после выполнения инструкции в EAX будет значение меньше 1, то 3DNow! не поддерживается.
  4. Выполнить CPUID с EAX = 80000001h. Если после выполнения бит 31 регистра EDX будет установлен в 1, то 3DNow! поддерживается. Иначе — нет.

Инструкции 3DNow!

  • PAVGUSB — вычисление среднего 8-битовых целых значений
  • PI2FD — перевод 32-битных целых в вещественные числа
  • PF2ID — перевод вещественных в 32-битные целые числа
  • PFCMPGE — сравнение вещественных чисел, больше или равно
  • PFCMPGT — сравнение вещественных чисел, больше
  • PFCMPEQ — сравнение вещественных чисел, равно
  • PFACC — накопление суммы вещественных чисел
  • PFADD — сложение вещественных чисел
  • PFSUB — вычитание вещественных чисел
  • PFSUBR — обратное вычитание вещественных чисел
  • PFMIN — нахождение минимума вещественных чисел
  • PFMAX — нахождение максимума вещественных чисел
  • PFMUL — умножение вещественных чисел
  • PFRCP — нахождение приближённого значения, обратного (1/x) вещественных чисел
  • PFRSQRT — нахождение приближённого значения, обратного от квадратного корня (1/sqrt(x)) вещественных чисел
  • PFRCPIT1 — первый шаг вычисления значения, обратного (1/x) вещественных чисел
  • PFRSQIT1 — первый шаг вычисления значения, обратного от квадратного корня (1/sqrt(x)) вещественных чисел
  • PFRCPIT2 — второй шаr вычисления значения, обратного или обратного от квадратного корня вещественных чисел
  • PMULHRW — умножение 16-битных целых чисел с округлением
  • FEMMS — быстрое переключение состояния FPU/MMX
  • PREFETCH/PREFETCHW — предвыборка строки кэша процессора из памяти

Процессоры, поддерживающие 3DNow!

См. также

  • Инструкция CPUID.

Примечания

  1. [1] page 175: «14 AMD Bulldozer and Piledriver pipeline … The 3DNow instructions are no longer supported, except for the prefetch instructions.»

Ссылки



Что такое 24wiki.ru Наш сайт - это статьи из сайта википедии, написанные на более понятном языке. Он открыт для любого пользователя. 24wiki.ru это библиотека, которая является общественной.

Основа этой страницы находится в 24wiki.ru. Текст доступен по лицензии CC BY-SA 3.0 Unported License.

Wiki® — зарегистрированный товарный знак организации Wiki Foundation, Inc. 24wiki.ru является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation). 24wiki.ru - НЕофициальный сайт Википедии!

E-mail: admin@24wiki.ru