Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

SSE4

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено зSSE4.2)

Статус версії сторінки

На цій сторінці показано неперевірені зміни

SSE4 (Streaming SIMD Extensions 4) - це набірSIMD-інструкцій для процесорів архітектури x86-64. Набір інструкцій було анонсовано були 27 вересня 2006 року. Самі інструкції були реалізовані в процесорахIntel Core таAMD K10. В SSE4 налічується 54 інструкцій[1], розділених на дві основні категорії: векторизація операцій для прискорення роботи з медіа, та для обробки тексту.

Intel використовувала маркетингову назвуHD Boost для інструкцій SSE4.[2]

Набори інструкцій SSE4

[ред. |ред. код]

SSE4 Складається з 54 інструкцій. З них 47 відносять до SSE4.1, вони були реалізовані в мікрокархітектуріPeryn, а решта 7 команд (SSE4.2) з'явились лише в процесорах з мікроархитектуроюNehalem.

В AMD процесорах набір інструкцій називається SSE4a, був реалізований в процесорах мікроархітектури Barcelona. Він містить в собі 4 інструкції що відсутні у наборі SSE4.1 від intel. Повний набір інструкцій SSE4 (SSE4.1+SSE4.2) лише в процесорах FX на базі мікроархітектури Bulldozer.

Інструкції

[ред. |ред. код]

SSE4.1

[ред. |ред. код]
  • MPSADBW Multiple Packed Sums of Absolute Difference. Рахує суму абсолютних різниць восьми значень, по чотири суми за раз (тобто |x0−y0|+|x1−y1|+|x2−y2|+|x3−y3|, |x0−y1|+|x1−y2|+|x2−y3|+|x3−y4|, ..., |x0−y7|+|x1−y8|+|x2−y9|+|x3−y10|). Така операція важлива при роботі деяких HD кодеків,і дозволяє обробити блок зображення 8х8 за декілька циклів процесора.
  • PHMINPOSUW Packed Horizontal Word Minimum пошук серед 16 бітових беззнакових цілих, такого що має мінімальне значення.
  • PMULDQ Multiply Packed Signed Dword Integers Множення 32 бітових знакових цілих та повертає результат в 64бітове ціле.
  • PMULLD Multiply Packed Signed Dword Integers and Store Low Result. Множення 32-бітових знакових цілих та повертає в результат молодшу 32бітну частину.
  • DPPS,DPPD Dot Product of Packed Single/Double Precision Floating-Point Values - скалярне множення 32 та 64 бітових цілих.
  • BLENDPS, BLENDPD, BLENDVPS, BLENDVPD, PBLENDVB, PBLENDW
  • PMINSB,PMAXSB,PMINUW,PMAXUW,PMINUD,PMAXUD,PMINSD,PMAXSD - мінімум,максимум для різних типів.
  • ROUNDPS,ROUNDSS,ROUNDPD,ROUNDSD - округлення числа з рухомою комою в ціле.
  • INSERTPS, PINSRB, PINSRD/PINSRQ, EXTRACTPS, PEXTRB, PEXTRD/PEXTRQ
  • PMOVSXBW,PMOVZXBW,PMOVSXBD,PMOVZXBD,PMOVSXBQ,PMOVZXBQ,PMOVSXWD,PMOVZXWD,PMOVSXWQ,PMOVZXWQ,PMOVSXDQ,PMOVZXDQ Packed Move with Sign/Zero Extend
  • PTEST Logical Compare
  • PCMPEQQ Compare Packed Qword Data for Equal порівняння 64 бітових значень на рівність та повернення 64бітових масок
  • PACKUSDW Pack with Unsigned Saturation Пакування 32бітних знакових цілих в 16бітні беззнакові з насиченням (буде обрізано до максимального значення - 65536).
  • MOVNTDQA Load Double Quadword Non-Temporal Aligned Hint - інструкція для ефективного читання даних в SSE-регістр.

SSE4.2

[ред. |ред. код]

Інструкції для порівняння рядків:

  • PCMPESTRI Packed Compare Explicit Length Strings, Return Index
  • PCMPESTRM Packed Compare Explicit Length Strings, Return Mask
  • PCMPISTRI Packed Compare Implicit Length Strings, Return Index Порівнюють дані як .
  • PCMPISTRM Packed Compare Implicit Length Strings, Return Mask
  • PCMPGTQ - Порівняння спакованого набору 64бітових даних на "більше ніж"
  • POPCNT - Рахує кількість бітів що дорівнюють одиниці.
  • LZCNT - рахує кількістьпровідних нулів.
  • CRC32 - пришвидшує вирахуванняCRC32

SSE4a

[ред. |ред. код]
  • EXTRQ/INSERTQ
  • MOVNTSD/MOVNTSS

Примітки

[ред. |ред. код]
  1. https://www.intel.com/content/www/us/en/support/articles/000005779/processors.html
  2. https://web.archive.org/web/20130207023603/http://www.intel.com/technology/product/demos/hdb/demo.htm
Отримано зhttps://uk.wikipedia.org/w/index.php?title=SSE4&oldid=45141788#SSE4.2
Категорії:

[8]ページ先頭

©2009-2026 Movatter.jp