Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л7_6Арх_инструкц_СПУ.doc
Скачиваний:
0
Добавлен:
28.01.2020
Размер:
141.82 Кб
Скачать

6.2. Наборы инструкций 3dNow!

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

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

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

Инструкции 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 — предвыборка строки кэша процессора из памяти

6.3. Наборы инструкций sse

SSE ( Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — это SIMD (Single Instruction, Multiple Data, Одна инструкция — множество данных) набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium III как ответ на аналогичный набор инструкций 3DNow! от AMD, который был представлен годом раньше. Первоначально названием этих инструкций было KNI — Katmai New Instructions (Katmai — название первой версии ядра процессора Pentium III).

Технология SSE позволяла преодолеть 2 основные проблемы MMX — при использовании MMX невозможно было одновременно использовать инструкции сопроцессора, так как его регистры были общими с регистрами MMX, и возможность MMX работать только с целыми числами.

SSE включает в архитектуру процессора восемь 128-битных регистров и набор инструкций, работающих со скалярными и упакованными типами данных.

Преимущество в производительности достигается в том случае, когда необходимо произвести одну и ту же последовательность действий над разными данными. В таком случае блоком SSE осуществляется распараллеливание вычислительного процесса между данными.

Особенности:

  • Восемь 128-битных регистров XMM.

  • 32-битный регистр флагов (MXCSR).

  • 128-битный упакованный тип данных с плавающей точкой одинарной точности.

  • Инструкции над вещественными числами одинарной точности.

  • Инструкции явной предвыборки данных, контроля кэширования данных и контроля порядка операций сохранения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]