Jump to content

3DСейчас!

3DСейчас!
Дизайнерская фирма Передовые микроустройства
Представлено 1998
Тип архитектура набора команд

3DСейчас! — устаревшее расширение x86, набора инструкций разработанное Advanced Micro Devices (AMD). Он добавляет инструкции «одна инструкция для нескольких данных » (SIMD) к базовому набору команд x86, что позволяет выполнять векторную обработку с плавающей запятой векторных операций с использованием векторных регистров . Это улучшение повышает производительность многих приложений с интенсивным использованием графики. Первый микропроцессор, реализующий 3DNow! был AMD K6-2 , представленный в 1998 году. В соответствующих приложениях это усовершенствование повышало скорость примерно в 2–4 раза. [1]

Однако набор инструкций так и не приобрел особой популярности, и в августе 2010 года AMD объявила о поддержке 3DNow! будет исключено из будущих процессоров AMD, за исключением двух инструкций, PREFETCH и PREFETCHW. [2] Эти две инструкции также доступны в процессорах Intel Bay-Trail. [3]

3DСейчас! была разработана в то время, когда 3D-графика стала основной в компьютерных мультимедиа и играх. Отображение 3D-графики в реальном времени во многом зависело от блока вычислений с плавающей запятой (FPU) центрального процессора для выполнения вычислений с плавающей запятой - задачи, в которой процессор AMD K6 легко превзошел своего конкурента, Intel Pentium II.

В качестве расширения набора инструкций MMX , 3DNow! Набор инструкций дополнил регистры MMX SIMD для поддержки общих арифметических операций (сложение/вычитание/умножение) над данными одинарной точности (32-бит) с плавающей запятой. Программное обеспечение, написанное для использования AMD 3DNow! вместо более медленного FPU x87 может выполняться до четырех раз быстрее, в зависимости от набора инструкций.

3DСейчас!

[ редактировать ]

Первая реализация 3DNow! Технология содержит 21 новую инструкцию, поддерживающую операции SIMD с плавающей запятой. 3DNow! формат данных упакован, одинарной точности , с плавающей запятой. 3DNow! Набор команд также включает в себя операции для целочисленных операций SIMD, предварительную выборку данных и более быстрое переключение с MMX на числа с плавающей запятой. Позже Intel добавит в Pentium III аналогичные (но несовместимые) инструкции , известные как SSE (Streaming SIMD Extensions).

3DСейчас! инструкции с плавающей запятой следующие:

  • PI2FD – Преобразование упакованного 32-битного целого числа в число с плавающей запятой.
  • PF2ID – Преобразование упакованных чисел с плавающей запятой в 32-битные целые числа.
  • PFCMPGE – Упакованное сравнение с плавающей запятой, больше или равно
  • PFCMPGT – Упакованное сравнение с плавающей запятой, больше
  • PFCMPEQ – Упакованное сравнение с плавающей запятой, равное
  • PFACC – Упакованное накопление с плавающей запятой
  • PFADD – Упакованное сложение с плавающей запятой
  • PFSUB – Упакованное вычитание с плавающей запятой
  • PFSUBR – Обратное вычитание упакованных чисел с плавающей запятой
  • PFMIN – Упакованный минимум с плавающей запятой
  • PFMAX – Упакованный максимум с плавающей запятой
  • PFMUL – Упакованное умножение с плавающей запятой
  • PFRCP – Упакованная обратная аппроксимация с плавающей запятой
  • PFRSQRT – Аппроксимация обратного квадратного корня упакованных чисел с плавающей запятой
  • PFRCPIT1 – Упакованное обратное число с плавающей запятой, первый шаг итерации
  • PFRSQIT1 – Упакованный обратный квадратный корень с плавающей запятой, первый шаг итерации
  • PFRCPIT2 – Упакованный обратный квадратный корень с плавающей запятой, второй шаг итерации

3DСейчас! Целочисленные инструкции следующие:

  • PAVGUSB – Усреднение упакованных 8-битных беззнаковых целых чисел
  • PMULHRW – Упакованное 16-битное целое число с округлением

3DСейчас! Инструкции по повышению производительности следующие:

  • FEMMS – Более быстрый вход/выход из состояния MMX или состояния с плавающей запятой.
  • PREFETCH/PREFETCHW – Предварительная выборка как минимум 32-байтовой строки в кэш данных L1 (это единственная неустаревшая инструкция)

3DСейчас! расширения

[ редактировать ]

Существует мало или вообще нет доказательств того, что вторая версия 3DNow! когда-либо официально получало собственное торговое название. Это привело к некоторой путанице в документации, относящейся к этому новому набору инструкций. Наиболее распространенными терминами являются Extended 3DNow! , Улучшенное 3DNow! и 3DNow!+ . Фраза «Улучшенное 3DNow!» можно найти в нескольких местах на веб-сайте AMD, но слово «Enhanced» пишется с заглавной буквы, по-видимому, либо чисто грамматически, либо используется для выделения процессоров, которые могут иметь или не иметь эти расширения (самое заметное из которых ссылается на страницу тестов для К6-III-П, не имеющий этих расширений). [4] [5]

Это расширение для 3DNow! первого поколения Набор команд был представлен в процессорах Athlon . В Athlon добавлено пять новых 3DNow! инструкции и 19 новых инструкций MMX. Позже K6-2+ и K6-III+ (оба ориентированы на рынок мобильной связи) включали пять новых 3DNow! инструкции, исключая 19 новых инструкций MMX. Новый 3DNow! были добавлены инструкции по усилению DSP . Новые инструкции MMX были добавлены для ускорения потокового мультимедиа .

19 новых инструкций MMX являются подмножеством набора инструкций Intel SSE. В технических руководствах AMD эти инструкции отделены от инструкций 3DNow! расширения. [4] Однако в литературе по продуктам AMD для клиентов это разделение менее четкое, поскольку преимущества всех 24 новых инструкций приписываются улучшенному 3DNow! технология. [6] Это побудило программистов придумать собственное название для 19 новых инструкций MMX. Наиболее распространенным является Integer SSE ( ISSE ). [7] SSEMMX и MMX2 также можно найти в документации по видеофильтрам из общедоступного сектора. ISSE также может относиться к Internet SSE, раннему названию SSE.

3DСейчас! Инструкции расширения DSP следующие:

  • PF2IW – Преобразование упакованных чисел с плавающей запятой в целочисленные слова с расширением знака.
  • PI2FW – Преобразование упакованного целочисленного слова в число с плавающей запятой.
  • PFNACC – Упакованное отрицательное накопление с плавающей запятой
  • PFPNACC – Упакованное смешанное положительное и отрицательное накопление с плавающей запятой
  • PSWAPD – Упакованное двойное слово замены

Инструкции расширения MMX (Integer SSE) следующие:

  • MASKMOVQ – Потоковое (обход кеша) сохранение с использованием байтовой маски
  • MOVNTQ – Потоковое хранилище (обход кеша)
  • PAVGB – Упакованное среднее беззнакового байта
  • PAVGW – Упакованное среднее значение беззнакового слова
  • PMAXSW – Упаковано максимальное знаковое слово
  • PMAXUB – Упакованный максимальный беззнаковый байт
  • PMINSW – Упаковано минимальное знаковое слово
  • PMINUB – Упакованный минимальный беззнаковый байт
  • PMULHUW – Упакованное слово умножения старшего беззнака
  • PSADBW – Упакованная сумма абсолютных разностей байтов
  • PSHUFW – Упакованное слово в случайном порядке
  • PEXTRW – Извлечь слово в целочисленный регистр
  • PINSRW – Вставить слово из целочисленного регистра
  • PMOVMSKB – Переместить байтовую маску в целочисленный регистр
  • PREFETCHNTA – Предварительная выборка с использованием ссылки NTA
  • PREFETCHT0 – Предварительная выборка с использованием ссылки T0
  • PREFETCHT1 – Предварительная выборка с использованием ссылки T1
  • PREFETCHT2 – Предварительная выборка с использованием ссылки T2
  • SFENCE — Магазинный забор

3DСейчас! Профессиональный

[ редактировать ]

3DСейчас! Professional — это торговая марка, используемая для обозначения процессоров, сочетающих в себе 3DNow! Технология с полным набором инструкций SSE (например, SSE, SSE2 или SSE3). [8] Athlon XP был первым процессором с поддержкой 3DNow! Профессиональная торговая марка и был первым продуктом в семействе Athlon, поддерживающим полный набор инструкций SSE (всего: 21 исходная инструкция 3DNow!; пять инструкций расширения 3DNow! DSP; 19 инструкций расширения MMX; и 52 дополнительные инструкции SSE для полная совместимость с SSE). [9]

3DСейчас! и Geode GX/LX

[ редактировать ]

В Geode GX и Geode LX добавлены два новых 3DNow! инструкции, которого нет во всех других процессорах.

3DСейчас! «Профессиональные» инструкции, уникальные для Geode GX/LX, следующие:

  • PFRSQRTV – Аппроксимация обратного квадратного корня для пары 32-битных чисел с плавающей запятой.
  • PFRCPV – Обратная аппроксимация для пары 32-битных чисел с плавающей запятой.

Преимущества и недостатки

[ редактировать ]

Одно из преимуществ 3DNow! заключается в том, что можно складывать или умножать два числа, хранящиеся в одном регистре . В SSE каждое число можно комбинировать только с числом в той же позиции в другом регистре. Эта возможность, известная в терминологии Intel как горизонтальная , стала основным дополнением к набору инструкций SSE3 .

Недостаток 3DNow! это 3DNow! инструкции и инструкции MMX используют один и тот же файл регистров, тогда как SSE добавляет 8 новых независимых регистров ( XMM0XMM7).

Потому что MMX/3DNow! Регистры используются стандартным FPU x87 , 3DNow! инструкции и инструкции x87 не могут выполняться одновременно. Однако, поскольку он связан с FPU x87, 3DNow! и состояния регистров MMX могут быть сохранены и восстановлены с помощью традиционного x87 F(N)SAVE и F(N)RSTOR инструкции. Такое расположение позволило операционным системам поддерживать 3DNow! без явных изменений, тогда как регистры SSE требовали явной поддержки операционной системы для правильного сохранения и восстановления новых регистров XMM (через добавленный FXSAVE и FXRSTOR инструкции.)

Инструкции FX* от SSE представляют собой функциональный расширенный набор старых инструкций сохранения и восстановления x87. Они могут сохранять не только состояния регистров SSE, но и состояния регистров x87 (следовательно, они также применимы для операций MMX и 3DNow!, если они поддерживаются).

Программисты-сборщики отметили, что на ядрах AMD Athlon XP и K8 (т. е. Athlon 64 ) можно комбинировать 3DNow! и инструкции SSE для уменьшения нагрузки на регистры , но на практике повысить производительность сложно из-за инструкций, выполняемых на общих функциональных блоках. [10]

Процессоры с поддержкой 3DNow!

[ редактировать ]
  1. ^ «Эффективное использование 3DNow в Linux» . Linux-журнал. 1 декабря 1999 г. Архивировано из оригинала 7 июня 2011 г. Проверено 3 октября 2010 г.
  2. ^ «Инструкции 3DNow устарели | AMD Developer Central» . Блоги.amd.com. 18 августа 2010 г. Архивировано из оригинала 24 октября 2010 г. Проверено 3 октября 2010 г.
  3. ^ «IntelE38xx — MinnowBoard Wiki» . Архивировано из оригинала 11 февраля 2017 года . Проверено 13 февраля 2017 г. .
  4. ^ Перейти обратно: а б «Расширения AMD к руководству по наборам инструкций 3DNow и MMX» (PDF) . Advanced Micro Devices, Inc. , март 2000 г. Архивировано (PDF) из оригинала 17 мая 2008 г. Проверено 7 июня 2008 г.
  5. ^ «Мобильный ноутбук на базе процессора AMD-K6-III-P: Ziff-Davis CPUmark 99» . Архивировано из оригинала 24 июля 2008 г. Проверено 7 июня 2008 г. Неверное название на странице: Мобильные процессоры AMD-K6-III+ и Mobile AMD-K6-2+ с улучшенным [ sic ] 3DNow! Технология
  6. ^ «Краткое описание процессора AMD Athlon» . Advanced Micro Devices, Inc. Архивировано из оригинала 25 февраля 2008 г. Проверено 8 июня 2008 г.
  7. ^ «ИССЕ» . АвиСинт . Архивировано из оригинала 2 июля 2017 г. Проверено 19 июля 2017 г.
  8. ^ «Объяснение новой профессиональной технологии 3DNow!» . Advanced Micro Devices, Inc. Архивировано из оригинала 21 января 2009 г. Проверено 8 июня 2008 г.
  9. ^ «Особенности архитектуры AMD Athlon XP» . Advanced Micro Devices, Inc. Архивировано из оригинала 25 февраля 2008 г. Проверено 8 июня 2008 г.
  10. ^ Ларри Льюис (9 июля 2003 г.). «3DNow+ против SSE на Athlon XP» . Группа новостей : comp.sys.ibm.pc.hardware.chips . Usenet:   [электронная почта защищена] . Архивировано из оригинала 3 октября 2012 г. Проверено 4 января 2023 г. - через группы Google.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f613980432414db750de00f9acec2fb7__1722383940
URL1:https://arc.ask3.ru/arc/aa/f6/b7/f613980432414db750de00f9acec2fb7.html
Заголовок, (Title) документа по адресу, URL1:
3DNow! - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)