Streaming SIMD Extensions

Streaming SIMD Extensions, le plus souvent abrégé SSE, est un jeu de 70 instructions supplémentaires pour microprocesseurs x86, apparu en 1999 sur le Pentium III en réponse au 3DNow! d'AMD apparu 1 an plus tôt.



Catégories :

Microprocesseur - SIMD

Recherche sur Google Images :


Source image : interstices.info
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • ... Internet SSE (Streaming SIMD Extensions), Intel 1999 Merced, ... y dans des registres dédiés 32 bits 32 bits 32 bits 32 bits Instructions z... (source : docstoc)
  • Ces mêmes 8 registres peuvent servir pour les instructions Streaming SIMD Extension du Pentium III et du Pentium IV. Ils ont alors 128 bits et portent le ... (source : www2.ift.ulaval)
  • (et son extension Extended 3DNow!), et enfin le SSE.... étend ce dernier avec 144 nouvelles instructions, le SSE2, littéralement Streaming SIMD... La technologie SIMD repose sur une technique différente, ... Le jeu d'instruction SSE a quant à lui apporté : 8 registres 128 bits (non plus mappés mais indépendants).... (source : x86-secret)

Streaming SIMD Extensions, le plus souvent abrégé SSE, est un jeu de 70 instructions supplémentaires pour microprocesseurs x86, apparu en 1999 sur le Pentium III en réponse au 3DNow! d'AMD apparu 1 an plus tôt. Le fonctionnement est de type SIMD.


Il a été en premier lieu dévoilé sous le nom KNI signifiant «Katmai New Instructions» (Nouvelles instructions Katmai en anglais, Katmai étant le nom de code pour la première version du cœur du Pentium III). Au cours du projet Katmai, Intel désirait le distinguer de leurs lignes de produit précédentes et spécifiquement de leur produit phare, le Pentium II. AMD ajouta le support d'instructions SSE, avec ses processeurs Athlon XP. Il fut ultérieurement renommé ISSE, ce qui veut dire «Internet Streaming SIMD Extensions» (Extensions SIMD pour flux Internet en anglais), puis SSE.

Intel a globalement déçu par leur premiers travaux sur les SIMD et MMX IA-32. Le MMX avait deux problèmes principaux : Il réutilisait des registres à virgule flottante existants, rendant le CPU incapable de fonctionner simultanément en virgule flottante et en donnée SIMD et ne fonctionnait que sur les entiers.

Registres

XMM registers.png

Le SSE a initialement ajouté huit nouveaux registres 128 bits appelés XMM0 à XMM7. Les extensions x64 d'Intel et AMD ajoutent huit nouveaux registres de XMM8 à XMM15. Il y a également un nouveau registre 32 bits de contrôle/statut appelé MXCSR.

Chaque registre compacte ensemble quatre nombre flottants simple précision 32 bits. Les opérations SIMD entières peuvent toujours être effectuées par les huit registres 64 bits MMX.

Instructions SSE

Le SSE a à la fois introduit des instructions scalaires et de virgule flottante compactée.

Instructions à virgule flottante

Instructions entières

Autres instructions

Exemple

Le simple exemple suivant démontre les avantages de l'utilisation du SSE.

En considérant une opération comme l'addition vectorielle, qui est fréquemment utilisé dans les applications graphiques informatique. Le x87 requiert quatre instructions d'addition flottantes pour additionner entre eux deux vecteurs de dimension 4 à simple précision.

vec_res.x = v1.x + v2.x;
vec_res.y = v1.y + v2.y;
vec_res.z = v1.z + v2.z;
vec_res.w = v1.w + v2.w;

Cela correspond à quatre instructions FADD du x87 en code objet. Tandis que le pseudo-code suivant montre qu'une seule instruction 128 bit (addition compacte) peut remplacer les quatre instructions d'addition scalaire.

movaps xmm0,adresse-de-v1          ;xmm0=v1.w | v1.z | v1.y | v1.x 
addps xmm0,adresse-de-v2 ;xmm0=v1.w+v2.w | v1.z+v2.z | v1.y+v2.y | v1.x+v2.x movaps adresse-du-vec_res,xmm0

Évolutions

Voir aussi

Références

  1. (en) [1]
  2. (en) [2]
  3. (en) AMD plots single thread boost with x86 extensions sur theregister. co. uk
  4. (en) 128-Bit SSE5 Instruction Set sur developer. AMD. com

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Streaming_SIMD_Extensions.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu