Share to: share facebook share twitter share wa share telegram print page

 

SSE2

Les extensions SIMD de streaming afegides al costat dels registres MMX existents als registres FPU antics.

SSE2 (Streaming SIMD Extensions 2) és un dels conjunts d'instruccions complementàries del processador Intel SIMD (Single Instruction, Multiple Data) introduïts per primera vegada per Intel amb la versió inicial del Pentium 4 l'any 2000. Estén el conjunt d'instruccions SSE anterior i està pensat per substituir completament MMX. Intel va ampliar SSE2 per crear SSE3 el 2004. SSE2 va afegir 144 instruccions noves a SSE, que té 70 instruccions. El fabricant de xips AMD va afegir suport per a SSE2 amb la introducció de les seves gammes Opteron i Athlon 64 de CPU AMD64 de 64 bits el 2003.[1]

Característiques

La majoria de les instruccions SSE2 implementen les operacions de vectors enters que també es troben a MMX. En lloc dels registres MMX utilitzen els registres XMM, que són més amplis i permeten millores significatives de rendiment en aplicacions especialitzades. Un altre avantatge de substituir MMX per SSE2 és evitar la penalització de canvi de mode per emetre instruccions x87 presents a MMX perquè està compartint espai de registre amb la FPU x87. L'SSE2 també complementa les operacions vectorials de coma flotant del conjunt d'instruccions SSE afegint suport per al tipus de dades de doble precisió.

Altres extensions SSE2 inclouen un conjunt d'instruccions de control de memòria cau destinades principalment a minimitzar la contaminació de la memòria cau quan es processen fluxos infinits d'informació i un complement sofisticat d'instruccions de conversió de format numèric.

La implementació d'AMD de SSE2 a la plataforma AMD64 (x86-64) inclou vuit registres addicionals, duplicant el nombre total fins a 16 (XMM0 a XMM15). Aquests registres addicionals només són visibles quan s'executen en mode de 64 bits. Intel va adoptar aquests registres addicionals com a part del seu suport per a l'arquitectura x86-64 (o en el llenguatge d'Intel, "Intel 64") el 2004.

Diferències entre x87 FPU i SSE2

Les instruccions FPU (x87) proporcionen una precisió més alta calculant resultats intermedis amb 80 bits de precisió, per defecte, per minimitzar l'error d'arrodoniment en algorismes numèricament inestables (vegeu la justificació del disseny IEEE 754 i les referències que hi ha). Tanmateix, la FPU x87 només és una unitat escalar, mentre que SSE2 pot processar un petit vector d'operands en paral·lel.

Diferències entre MMX i SSE2

SSE2 amplia les instruccions MMX per operar en registres XMM. Per tant, és possible convertir tot el codi MMX existent a un equivalent SSE2. Com que un registre SSE2 és el doble de llarg que un registre MMX, és possible que s'hagin de canviar els comptadors de bucles i l'accés a la memòria per acomodar-ho. Tanmateix, hi ha disponibles càrregues i emmagatzematges de 8 bytes a XMM, de manera que això no és estrictament obligatori.

Suport de CPU

SSE2 és una extensió de l'arquitectura IA-32, basada en el conjunt d'instruccions x86. Per tant, només els processadors x86 poden incloure SSE2. L'arquitectura AMD64 admet l'IA-32 com a mode de compatibilitat i inclou l'SSE2 a la seva especificació.[2] També duplica el nombre de registres XMM, permetent un millor rendiment. SSE2 també és un requisit per instal·lar Windows 8 [3] (i posterior) o Microsoft Office 2013 (i posterior) "per millorar la fiabilitat d'aplicacions i controladors de tercers que s'executen a Windows 8".[4]

Les CPU IA-32 següents admeten SSE2:

Referències

  1. «SSE2 for Dummies (who know C/C++)» (en anglès). https://www.gamedev.net.+[Consulta: 9 setembre 2023].
  2. Fog, Agner. «Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms» (en anglès). Arxivat de l'original el April 8, 2013. [Consulta: 26 abril 2013].
  3. «DirectXMath Programming Guide/Library Internals» (en anglès). Arxivat de l'original el July 2, 2019. [Consulta: 2 juliol 2019].
  4. Microsoft Corporation. «What is PAE, NX, and SSE2 and why does my PC need to support them to run Windows 8 ?» (en anglès). Arxivat de l'original el April 11, 2013. [Consulta: 19 març 2013].
Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9