Instrucciones Intel MMX: cuándo surgen y su importancia en CPU
Intel MMX surge en 1997 como una tecnología que marcaba el inicio de una era. La salida de los procesadores Pentium fue clave para la implementación de este conjunto de instrucciones.
Estamos llegando al siglo XXI, pero todavía queda mucho por avanzar en la arquitectura de procesadores. Intel no lo sabe, pero una tal «AMD» le va a poner las cosas difíciles en el futuro, aunque podrá con ella (de momento). Intel empezó a trabajar en MMX en 1992, aunque salió a la luz en 1997, muestra de que trabajó muy duro en este conjunto de instrucciones.
¿Qué es Intel MMX?
Podría definirse como conjunto de instrucciones que fueron adoptadas por los procesadores Pentium MMX. Se trata de una extensión de la IA (Intel Architecture), que estaba diseñada para mejorar el rendimiento en los algoritmos de multimedia y comunicaciones. Ésta usaba un modelo de ejecución de datos múltiples de una sola instrucción para procesar varios elementos de datos a la vez.
Esta tecnología incluye nuevas instrucciones, así como nuevos tipos de datos para alcanzar nuevos niveles de rendimiento. Para entender MMX, tenemos que irnos a la arquitectura i860, ya que es una evolución de esta. Dicha arquitectura estaba ideada para que la CPU soportara el renderizado de gráficos.
Intel quiso extender esa arquitectura para ofrecer más rendimiento (era el objetivo de la época) en aplicaciones multimedia (60% más rápido), como:
- Procesado de imágenes.
- Mapeado de texturas.
- Compresión y descompresión de audio y vídeo.
Te recomendamos la lectura de los procesadores Intel que hicieron historia
Por este motivo, Intel MMX es el conjunto de instrucciones más grande desde la arquitectura Intel386. Concretamente, ofrece beneficios al usuario final, consistentes en los siguientes:
- Hasta el doble de rendimiento en aplicaciones multimedia.
- Mejora de rendimiento en las key kernels.
- Habilitación vía software de aplicaciones multimedia nuevas .
- Software integrado para el desarrollo de aplicaciones.
Desde su salida en 1997, este conjunto de instrucciones SIMD han sido soportadas en la mayoría de CPUs x86. Vimos una alargada campaña de publicidad de Intel en la que se compraba las mejoras de un procesador MMX respecto a uno que no soportaba dichas instrucciones:
- Los programas podían usar las instrucciones MMX sin cambiar el modo o el sistema operativo.
- Se añadían 57 instrucciones al microprocesador para mejorar el rendimiento en vídeo, audio y datos gráficos.
- Trabajo en paralelo sobre datos clasificados en paquetes de 64 bits.
- Nuevo proceso, denominado Singel Instruction Multiple Data (SIMD). Una instrucción podía realizar la misma operación en varios ítems de datos.
- Se incrementaba la memoria caché de la CPU a 32 KB.
¿De dónde viene su nombre?
Hay un poco de marketing en este nombre, pero realmente no se sabe cuál es el nombre que da lugar a las siglas MMX. Siempre se ha dicho que hacen referencia a «MultiMedia eXtension«, aunque otros se inclinan por «Multiple Math eXtension«.
A día de hoy, se sigue sin saber el verdadero origen de las siglas de Intel MMX.
Características de Intel MMX
Para entender su funcionamiento, cabe explicar en qué consiste Intel MMX. Se basa en la Intel Arquitecture añadiendo 8 registros de 64 bits y 57 instrucciones. Estos registros eran denominados de forma consecutiva MM0 hasta MM7 (8 contando MM0 y MM7).
Cada registro de 64 bits puede ser usado para guardar integers (tipos de datos) de 64 bits o varios integers más pequeños comprimidos en un formato «empaquetado«. Una instrucción se puede aplicar a 2 integers de 32-bit, 4 integers de 16-bit u 8 integers de 8-bit. Por tanto, Intel MMX solo ofrece operaciones con datos integers.
Por otro lado, encontramos las instrucciones SSE, que son una extensión del grupo MMX. Estas salieron más adelante y estaban pensadas para el renderizado de gráficos 3D, compresión y descompresión de audio y vídeo y reconocimiento de voz.
AMD 3DNow!
AMD trabaja en las sombras mientras Intel enseñaba su nuevo conjunto de instrucciones al mundo. Fruto de ese trabajo es 3DNow!, un conjunto de instrucciones x86 que responden a la necesidad de los gráficos 3D en tiempo real que traían de cabeza a los fabricantes.
Los gráficos 3D se volvieron tendencia en PC y videojuegos, pero dependían mucho de la unidad de punto flotante de la CPU (FPU) para los cálculos de los puntos de flotación. El procesador AMD K6 (1998) vino con el conjunto de instrucciones 3DNow!, superando con creces a Pentium II.
Esta implementación es considerada como una mejora de Intel MMX porque 3DNow aumenta los registros MMX SIMD para admitir operaciones aritméticas comunes en datos de punto flotante de precisión simple.
0 comentarios:
Publicar un comentario