SSE4

SSE4, aussi connu sous le nom de Nehalem New Instructions est un jeu d'instructions supplémentaires pour l'architecture x86.



Catégories :

Jeu d'instruction x86 - Architecture x86 - Microprocesseur - SIMD - Sigle de 4 caractères

Recherche sur Google Images :


Source image : hardware.fr
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 :

  • Jeu d'instructions ciblant essentiellement des opérations audio et vidéo introduites par Intel sur les processeurs Core au début 2008 (les processeurs de ... (source : presence-pc)
  • SSE4 is an instruction set used in the Intel Core microarchitecture and AMD K10 (K8L). It was announced on September 27, 2006 at the Fall 2006 Intel... (source : en.wikipedia)

SSE4 (pour Streaming SIMD Extensions version 4), aussi connu sous le nom de Nehalem New Instructions (NNI) est un jeu d'instructions supplémentaires pour l'architecture x86. Le jeu complet comprend 54 instructions.

L'annonce de ce nouveau jeu d'instruction fut faite le 27 septembre 2006 à l'Intel Developer Forum d'automne 2006. Ce jeu d'instruction devrait perfectionner les performances multimédia, les algorithmes de recherche et de détection, la protection des données (checksum de type CRC) et la vectorisation.

Sous-ensembles SSE4

Le jeu d'instruction SSE4 est constitué de trois sous-ensembles. Deux sont spécifiques aux processeurs Intel, et un aux processeurs AMD :

Les jeux SSE4. x et le jeu SSE4a sont exclusifs. Ainsi, le sous ensemble SSE4a n'est disponible que pour les processeurs AMD, ces derniers ne mettant pas en œuvre les sous ensembles Intel (SSE4.1 et SSE4.2). Les processeurs Intel, quant à eux, ne mettent pas en œuvre le jeu SSE4a.

Nouvelles instructions

À la différence des précédentes implémentations des jeux SSE, le jeu SSE4 présente des instructions n'étant pas particulièrement dédiées aux applications multimédia.

Ce jeu voit la réapparition d'un opérande implicite pour certaines instructions (cet opérande étant le registre XMM0 comme troisième opérande) et la disparition de l'utilisation des opérandes 64 bits (registres MMX) au profit d'opérandes seulement 128 bits, c'est-à-dire une utilisation exclusive des registres XMM.

Énormément de ces instructions profitent d'un atout majeur des architectures Penryn et Nehalem, à savoir le moteur de permutation à un seul cycle (single-cycle shuffle engine).

L'instruction cpuid sert à déterminer si le processeur supporte les instructions.

SSE4.1

Instruction Description
MPSADBW Calcule 8 sommes de différences absolues (|x0-y0|+|x1-y1|+|x2-y2|+|x3-y3|, |x0-y1|+|x1-y2|+|x2-y3|+|x3-y4|, ... ) ; Cette opération est extrêmement importante pour les codecs modernes HDTV[1] et sert à calculer un bloc de différence de 8×8 en moins de 7 cycles. Un bit d'un opérande immédiat de 3 bits indique si y0.. y11 ou y4.. y15 doit être utilisé depuis l'opérande destination, les deux autres si x0.. x3, x4.. x7, x8.. x11 ou x12.. x15 doit être utilisé depuis l'opérande source.
PHMINPOSUW Trouve le plus petit mot (16 bits) non signé de l'opérande source et place le résultat dans l'opérande destination (16 bits de poids faible). L'index du mot trouvé dans l'opérande source est positionné dans le second mot de l'opérande destination aux bits 16 à 18. Les bits restants de l'opérande destination sont mis à zéro.
PMULDQ Effectue deux multiplications signées de deux paires d'entiers (32 bits) et sauve le résultat (deux produits de 64 bits) dans l'opérande de destination.
PMULLD Effectue une multiplication sur des nombres signés et packés : 4 entiers signés de 32 bits (opérande source) multipliés par 4 entiers signés de 32 bits (opérande destination). Le résultat est positionné dans la destination.
DPPS, DPPD Effectue un produit scalaire conditionnel entre deux opérandes de 128 bits. La condition est donnée par un troisième opérande de type immédiat. Le produit est en simple précision pour DPPS et en double pour DPPD.
BLENDPS, BLENDPD, BLENDVPS, BLENDVPD, PBLENDVB, PBLENDW Effectue une copie conditionnelle d'un registre XMM vers un autre. La copie est basée soit sur un masque binaire donné par un opérande immédiat (mnémoniques sans le'v'dans le nom) soit sur un masque binaire donné par le registre XMM0 (mnémoniques avec'v').
PMINSB, PMAXSB, PMINUW, PMAXUW, PMINUD, PMAXUD, PMINSD, PMAXSD Trouve le minimum ou maximum pour différents types d'opérandes entiers et packés.
ROUNDPS, ROUNDSS, ROUNDPD, ROUNDSD Arrondis les valeurs d'un registre à virgule flottante en entiers en utilisant un des quatre modes d'arrondi spécifié par un opérande immédiat.
INSERTPS, PINSRB, PINSRD/PINSRQ, EXTRACTPS, PEXTRB, PEXTRW, PEXTRD/PEXTRQ Extraction et insertion. L'extraction consiste à prendre une partie d'un registre XMM pour la mettre en mémoire, alors que l'insertion consiste à prendre un contenu mémoire et l'insérer dans un registre XMM.
PMOVSXBW, PMOVZXBW, PMOVSXBD, PMOVZXBD, PMOVSXBQ, PMOVZXBQ, PMOVSXWD, PMOVZXWD, PMOVSXWQ, PMOVZXWQ, PMOVSXDQ, PMOVZXDQ Extension de signe ou extension à zéro pour des nombres packés vers un type plus grand (correspond peu ou prou à MOVSX ou MOVZX sur l'unité générale).
PTEST Même chose que l'instruction générale TEST, c'est-à-dire qu'elle change les drapeaux ZF et CF de RFLAGS en opérant une conjonction logique (AND) entre les opérandes. L'instruction arme le drapeau ZF si au moins un des bits est armé (résultat du AND), et le drapeau CF si l'ensemble des bits correspondent.
PCMPEQQ Compare des quadruples mots (QWORDs - 64 bits) en les testant pour une égalité.
PACKUSDW Convertit des doubles mots (DWORDs - 32 bits) signés en mots (WORDs - 16 bits) non signés avec saturation.
MOVNTDQA Déplace un double quadruple mot (DQWORD - 128 bits) de la mémoire vers un registre XMM en utilisant un non temporal hint. L'opération n'est effectuée que si la mémoire est de type WC (Write Combining). Cette instruction est par exemple utile pour retrouver un résultat depuis des périphériques attachés au bus mémoire.

Voir aussi

Liens externes

Références

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/SSE4.
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