SSE2
| ||||
SSE2 se introdujo por primera vez en el Pentium 4 de Intel en el año 2001, y también se conocen a veces como instrucciones "Willamette". Las extensiones Streaming SIMD 2 (SSE2) amplían la tecnología MMX y la tecnología SSE con la adición de 144 instrucciones que brindan un aumento en el desempeño a través de una amplia gama de aplicaciones. Las instrucciones de enteros de SIMD introducidas con la tecnología MMX se han ampliado de 64 a 128 bits, lo cual duplica la velocidad de ejecución efectiva de las operaciones de enteros de SIMD.
AMD no le dio soporte a SSE2 hasta el año 2003 con sus procesadores Opteron y Athlon64.
Sumario
Ventajas de SSE2
Las instrucciones SIMD de coma flotante de doble precisión permiten la ejecución simultánea de dos operaciones de coma flotante en el formato SIMD, para admitir operaciones de doble precisión que ayudan a acelerar las aplicaciones científicas, de creación de contenido, de finanzas y de ingeniería.
Además de las instrucciones SSE2, las instrucciones SSE originales se han mejorado para admitir una gama flexible y más dinámica de potencia de computación mediante operaciones aritméticas en tipos de datos múltiples (por ejemplo, palabras dobles y palabras cuádruples). Las instrucciones SSE2 permiten que los desarrolladores de software tengan flexibilidad máxima al implementar algoritmos y ofrecer mejoras en el desempeño cuando se ejecuta software, como MPEG-2, MP3, gráficos 3D, etc.
Conjunto de instrucciones
Aritméticas
Algunas de las operaciones aritméticas que soporta esta extensión son:
- addpd - Adiciona 2 dobles de 64 bits.
- subpd - Substrae 2 dobles de 64 bits.
- mulpd – Multiplica 2 dobles de 64 bits.
- divpd – Divide 2 dobles de 64 bits.
- maxpd – Obtiene el doble más largo de 2 de 64 bits.
- sqrtpd – Devuelve la raíz cuadrada de 2 dobles de 64 bits.
Lógicas
Algunas de las operaciones lógicas:
- andpd – Operador &(AND) lógico entre 2 dobles de 64 bits.
- por – Operador O(OR) lógico entre 2 registros de 128 bits.
Comparación
Algunas de las operaciones de comparación:
- cmppd - Compara 2 pares de dobles de 64 bits.
- pcmpxxd – Compara 4 enteros de 32 bits.
Conversión
Algunos operadores de conversión:
- cvtdq2pd - Convierte 2 enteros de 32 bits en 2 dobles de 64 bits.
- cvtdq2ps - Convierte 4 enteros de 32 bits en 4 simples de 32 bits.