fbpx
Wikipedia

SSE2

SSE2 es el acrónimo de Streaming "Single Instruction Multiple Data" Extensions 2 es uno de los conjuntos de instrucciones de la arquitectura IA-32 SIMD. Fue utilizada por primera vez en la primera versión del Pentium 4 en 2001. Estas extensiones están diseñadas para el trabajo avanzado con gráficos 3D, codificación y decodificación de vídeo, reconocimiento de voz, comercio electrónico, Internet, aplicaciones de ingeniería y científicas, etc.

Las extensiones SSE2 siguen el mismo modelo que las utilizadas en los predecesores SSE y MMX manteniendo compatibilidad con esas extensiones, pero amplía su modelo con soporte para paquetes de valores flotantes de precisión doble y para paquetes de enteros de 128 bits.

Se diferencian entre los tipos de datos:

  • Paquetes de números dobles en coma flotante de 128 bits.
  • Paquetes de byte de 128 bits
  • Paquetes de palabra de 128 bits
  • Paquetes de doble palabra de 128 bits
  • Paquetes de cuádruple palabra de 128 bits

Las nuevas instrucciones se pueden dividir según operaciones de paquetes y escalares de precisión doble, conversiones, extensión a 128 bits de instrucciones MMX, y mejoras de las instrucciones de almacenamiento en la memoria intermedia.

Principales tipos de instrucciones

SIMD flotantes en precisión doble

Para cada introducción SSE de doble en precisión simple, existe la correspondiente en precisión doble en SSE2, excepto para funciones recíprocas RCPPS, RCPSS, RSQRTPS y RSQRTSS.

Conversión

Además de los tipos previamente existentes, SSE2 añade los escalares en precisión doble y los paquetes en precisión doble, por lo que se añaden instrucciones de conversión para conectar estos nuevos tipos, como son: CVTPS2PD, CVTPD2PS.

En el siguiente gráfico se muestra el esquema de conversiones posibles:

Extensión a 128 bits de MMX

Cada instrucción MMX, excepto las EMMS, es ampliada a 128 bits implementando la misma funcionalidad en un tipo de dato mayor. Y lo mismo sucede con las instrucciones de SSE.

Como ejemplos de estas instrucciones:

  • Movimiento: MOVDQA (de 16 bits alineados), MOVDQU, MOVDQ2Q y MOVQ2DQ.
  • Aritméticas: PADDQ y PSUBQ
  • Shuffle: PSHUFD, PSHUFHW y PSHUFLW
  • Shift: PSLLDQ y PSRLDQ
  • Desempaquetamiento: PUNPCKHQDQ y PUNPCKLQDQ

Cacheabilidad

SSE2 introduce varias instrucciones de control de caché. SLFLUSH escribe e invalida la línea de caché asociada a una dirección lineal especificada. Esta instrucción, puede ser usada en todos los niveles privilegiados.

La instrucción SFENCE de SSE se ve suplementada por LFENCE y MFENCE en SSE2 LFENCE garantiza que cada carga con esta instrucción tras ella será globalmente visible antes de la siguiente instrucción. MFENCE es similar excepto por que carga y almacenamiento se consideran unidos.

Otras instrucciones de movimiento no temporales son:

  • MOVNTPD, MOVNTDQ: si se usan operandos en memoria, estos han de ser de 16 bits alineados.
  • MASKMOVDQU: similar a MASKMOVVQ en SSE pero usa un registro XMM y 128 bits en memoria, no necesariamente sin alineamiento necesario.
  • MOVNTI: mueve el contenido de uno de los registros de propósito general sin "contaminar" la caché.
  • PAUSE: alerta al procesador del subsiguiente bucle de espera para que el procesador pueda reducir el número de cargas especulativas, lo cual reducir la carga de trabajo cuando termina el bucle y además ahorra energía y recursos

Referencias

Véase también

  •   Datos: Q900402

sse2, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, enero, 2012, acrónimo, streaming, single, instruction, multiple, data, extensions, conjuntos, instrucciones, arquitectura, simd, utilizada, primera, . Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 29 de enero de 2012 SSE2 es el acronimo de Streaming Single Instruction Multiple Data Extensions 2 es uno de los conjuntos de instrucciones de la arquitectura IA 32 SIMD Fue utilizada por primera vez en la primera version del Pentium 4 en 2001 Estas extensiones estan disenadas para el trabajo avanzado con graficos 3D codificacion y decodificacion de video reconocimiento de voz comercio electronico Internet aplicaciones de ingenieria y cientificas etc Las extensiones SSE2 siguen el mismo modelo que las utilizadas en los predecesores SSE y MMX manteniendo compatibilidad con esas extensiones pero amplia su modelo con soporte para paquetes de valores flotantes de precision doble y para paquetes de enteros de 128 bits Se diferencian entre los tipos de datos Paquetes de numeros dobles en coma flotante de 128 bits Paquetes de byte de 128 bits Paquetes de palabra de 128 bits Paquetes de doble palabra de 128 bits Paquetes de cuadruple palabra de 128 bitsLas nuevas instrucciones se pueden dividir segun operaciones de paquetes y escalares de precision doble conversiones extension a 128 bits de instrucciones MMX y mejoras de las instrucciones de almacenamiento en la memoria intermedia Indice 1 Principales tipos de instrucciones 1 1 SIMD flotantes en precision doble 1 2 Conversion 1 3 Extension a 128 bits de MMX 1 4 Cacheabilidad 2 Referencias 3 Vease tambienPrincipales tipos de instrucciones EditarSIMD flotantes en precision doble Editar Para cada introduccion SSE de doble en precision simple existe la correspondiente en precision doble en SSE2 excepto para funciones reciprocas RCPPS RCPSS RSQRTPS y RSQRTSS Conversion Editar Ademas de los tipos previamente existentes SSE2 anade los escalares en precision doble y los paquetes en precision doble por lo que se anaden instrucciones de conversion para conectar estos nuevos tipos como son CVTPS2PD CVTPD2PS En el siguiente grafico se muestra el esquema de conversiones posibles Extension a 128 bits de MMX Editar Cada instruccion MMX excepto las EMMS es ampliada a 128 bits implementando la misma funcionalidad en un tipo de dato mayor Y lo mismo sucede con las instrucciones de SSE Como ejemplos de estas instrucciones Movimiento MOVDQA de 16 bits alineados MOVDQU MOVDQ2Q y MOVQ2DQ Aritmeticas PADDQ y PSUBQ Shuffle PSHUFD PSHUFHW y PSHUFLW Shift PSLLDQ y PSRLDQ Desempaquetamiento PUNPCKHQDQ y PUNPCKLQDQCacheabilidad Editar SSE2 introduce varias instrucciones de control de cache SLFLUSH escribe e invalida la linea de cache asociada a una direccion lineal especificada Esta instruccion puede ser usada en todos los niveles privilegiados La instruccion SFENCE de SSE se ve suplementada por LFENCE y MFENCE en SSE2 LFENCE garantiza que cada carga con esta instruccion tras ella sera globalmente visible antes de la siguiente instruccion MFENCE es similar excepto por que carga y almacenamiento se consideran unidos Otras instrucciones de movimiento no temporales son MOVNTPD MOVNTDQ si se usan operandos en memoria estos han de ser de 16 bits alineados MASKMOVDQU similar a MASKMOVVQ en SSE pero usa un registro XMM y 128 bits en memoria no necesariamente sin alineamiento necesario MOVNTI mueve el contenido de uno de los registros de proposito general sin contaminar la cache PAUSE alerta al procesador del subsiguiente bucle de espera para que el procesador pueda reducir el numero de cargas especulativas lo cual reducir la carga de trabajo cuando termina el bucle y ademas ahorra energia y recursosReferencias EditarVease tambien EditarMMX 3DNow SSE SSE3 SSE4 AVX Arquitectura x86 Anexo Listados de instrucciones x86 Datos Q900402Obtenido de https es wikipedia org w index php title SSE2 amp oldid 117910202, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos