¿Qué son las MMX y SSE de un procesador?
Concha Alviz | 16 diciembre, 2017 | 4:50 pm
En una gran medida, el desarrollo de las CPU está motivado por el de los juegos 3D, que exigen un trabajo intensivo del microprocesador. En este sentido, los esfuerzos se han dirigido a desarrollar CPU más rápidas y a crear instrucciones SIMD, que permitan llevar a cabo los complejos cálculos que estos programas exigen.
MMX es un conjunto de instrucciones SIMD (instrucción de múltiples datos) creadas por Intel, que fueron introducidas, en 1997, en sus microprocesadores Pentium MMX. Fueron desarrolladas a partir de un set introducido en el Intel i860, y, desde entonces, han sido soportadas por la mayoría de fabricantes de microprocesadores x86.
La tecnología MMX fue diseñada para mejorar de forma sustancial el rendimiento de las aplicaciones multimedia y de telecomunicaciones. Se basa en un nuevo juego de instrucciones, que se añadían a las ya existentes en la arquitectura 80×86, y en nuevos tipos de datos de 64 bits. Dichas instrucciones trabajaban en paralelo sobre múltiples elementos de datos empaquetados en cantidades de 64 bits.
Por su parte, las instrucciones SSE son una extensión al grupo de instrucciones MMX, que también fueron desarrolladas por Intel, concretamente, para sus procesadores Pentium III (1999). Están especialmente pensadas para decodificación de MPEG2 (códec vinculado a los DVD), procesamiento de gráficos tridimensionales y software de reconocimiento de voz.
Hay varios tipos de instrucciones SSE:
- Instrucciones de transferencia de datos
- Instrucciones de conversión
- Instrucciones aritméticas
- Instrucciones lógicas
Con la tecnología SSE, los microprocesadores x86 fueron dotados de setenta nuevas instrucciones y de ocho registros nuevos: del xmm0 al xmm7. Estos registros tienen una extensión de 128 bits (es decir que pueden almacenar hasta 16 bytes de información cada uno).
Existen versiones posteriores de SSE, como la SSE2, la SSE3 o la SSE4. Por su parte en 2007, AMD lanzó XOP, FMA4 y CVT16: nuevos sets de instrucciones que fueron revisados en 2009. AVX, AVX2 son extensiones propuestas por Intel, para procesadores Intel y AMD, durante esta última década. Actualmente, AVX2 es soportada por los últimos modelos Intel: el i7 y el i9.