Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

SSSE3

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2024. július 3.

Pontosságellenőrzött

ASupplemental Streaming SIMD Extensions 3 (SSSE3 vagySSE3S) azIntel által létrehozottSIMD-utasításkészlet, azSSE-technológia negyedik változata.

Története

[szerkesztés]

Az SSSE3-at azIntel Core mikroarchitektúrán alapuló processzoraiba 2006. június 26-án vezette be a Woodcrest Xeonokkal.

Az SSSE3-ra Tejas New Instructions (TNI) és Merom New Instructions kódnéven hivatkoztak az első azt támogatni kívánt processzorváltozatokra.

Funkciók

[szerkesztés]

Az SSSE3 16 új utasítást tartalmaz, melyek 64 bites MMX- vagy 128 bites XMM-regisztereken is működhetnek. Ezért az Intel közleményei 32 új utasításról szólnak. Ezek közé az alábbiak tartoznak:[1]

  • 6 (12) horizontális összeadást vagy kivonást végrehajtó utasítás.
  • 3 (6) abszolútérték-számító utasítás.
  • 1 (2) szorzás–összeadás műveletet végrehajtó utasítás, melyek apontszorzatszámítást gyorsítják.
  • 1 (2) utasítás, melyek gyorsítják az egy regiszteren lévő számok szorzását és egész értékeket adnak skálázással.
  • 1 (2) utasítás, melyek helyben történő bájtonkénti átrendezést hajtanak végre a második irányító operandus függvényében.
  • 3 (6) egy regiszteren lévő egészeket a céloperandusban a forrásban lévő negatív megfelelő elem esetén negáló utasítás.
  • 1 (2) két operandus összetételéből adatot igazító utasítás.

SSSE3-at támogató processzorok

[szerkesztés]

Új utasítások

[szerkesztés]

Az alábbi táblázatban asatsw(X) (olv. „saturate to signed word”, jelentése: „töltsd fel előjeles szóra”) egy előjeles X egészet átalakít −32768-ra, ha annál kisebb, +32767-re, ha annál nagyobb, ellenkező esetben változatlanul hagyja. Az Intel-architektúrának megfelelően a bájtok 8, a szavak 16, a duplaszavak 32 bitesek, a „regiszter” MMX- vagy XMM-vektorregiszter.[1]

UtasításJelentésMagyarázat
PSIGNB,PSIGNW,PSIGNDPacked SignEgy bájt-, szó- vagy duplaszóregiszter elemeit negálja, ha egy másik regiszter megfelelő elemei negatívak.
PABSB,PABSW,PABSDPacked Absolute ValueEgy bájt-, szó- vagy duplaszóregiszter értékeit egy másik regiszter abszolút értékeivel tölti fel.
PALIGNRPacked Align RightKét regiszter értékeit összefűzi, és az eltolódás regiszterhosszú részét adja ki, melyet az utasításban kódolt közvetlen érték ad meg.
PSHUFBPacked Shuffle BytesA = [a0 a1 a2 …] és B = [b0 b1 b2 …] bemeneti regiszterek esetén A elemeit lecseréli az [ab0 ab1 ab2 …] sorozatra, de az i. elemet 0-ra cseréli, ha bi első bitje 1.
PMULHRSWPacked Multiply High with Round and ScaleAz A és B regiszterek 16 bites szavait előjeles 16 bites –1 és +0,99996948… közti fixpontos számokként kezeli (például a 0x4000-et +0,5-ként, a 0xA000-t −0,75-ként kezeli), és megfelelő kerekítéssel összeszorozza őket.
PMADDUBSWMultiply and Add Packed Signed and Unsigned BytesA és B regiszterek bájtjait összeszorozza, páronként összeadja, előjelesen tölti, az eredményt tárolja. [a0 a1 a2 …]PMADDUBSW [b0 b1 b2 …] = [satsw(a0b0 + a1b1)satsw(a2b2 + a3b3) ...]
PHSUBW,PHSUBDPacked Horizontal Subtract (Words or Doublewords)A = [a0 a1 a2 …] és B = [b0 b1 b2 …] bemeneti regiszterekre a kimenet [a0−a1 a2−a3 … b0−b1 b2−b3 …]
PHSUBSWPacked Horizontal Subtract and Saturate Wordshasonlít a PHSUBW-re, de kimenete [satsw(a0−a1)satsw(a2−a3) …satsw(b0−b1)satsw(b2−b3) ...]
PHADDW,PHADDDPacked Horizontal Add (Words or Doublewords)A = [a0 a1 a2 …] és B = [b0 b1 b2 …] bemeneti regiszterekre kimenete [a0+a1 a2+a3 … b0+b1 b2+b3 …]
PHADDSWPacked Horizontal Add and Saturate Wordshasonlít a PHADDW-re, de kimenete [satsw(a0+a1)satsw(a2+a3) …satsw(b0+b1)satsw(b2+b3) …]

Jegyzetek

[szerkesztés]
  1. abIntel 64 and IA-32 Architectures Optimization Reference Manual pp. 92-93. Intel.com, 2016. [2018. június 20-i dátummal azeredetiből archiválva]. (Hozzáférés: 2018. június 22.)

Források

[szerkesztés]

Kapcsolódó szócikkek

[szerkesztés]
Utasításkészlet kiterjesztések
SIMD (RISC)
SIMD (x86)
Bit manipuláció
  • BMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)
  • ADX (2014)
Tömörített utasítások
Biztonság éskriptográfia
Tranzakciós memória
Virtualizáció
  • A kiadatlan bővítmények dátumaitáthúztuk.
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=SSSE3&oldid=27261116
Kategória:

[8]ページ先頭

©2009-2025 Movatter.jp