- Extensiones Vectoriales Avanzadas
-
Las Extensiones vectoriales avanzadas, del inglés Advanced Vector Extensions y abreviado AVX, es un juego de instrucciones de 256 bits desarrollado por Intel Corporation como una extensión al conjunto de instrucciones x86. Provee nuevas características, instrucciones y un nuevo esquema de codificación.
Contenido
Historia
Fue propuesto por intel en marzo del año 2008[1] pero no fue lanzado comercialmente hasta el primer trimestre del año 2011 con el lanzamiento de su nueva generación de procesadores iX denominada Sandy Bridge.
Características
Es un vector de extensión SIMD de 256 bits para operaciones de punto flotante intensivo. Mejora el rendimiento en las nuevas aplicaciones, y algunas existentes, mediante el manejo de paquetes de datos vectoriales más grandes, y el uso de más hilos y núcleos del procesador.
El ancho del registro SIMD es incrementado de 128-bits a 256-bits, y renombrado de XMM0-XMM15 a YMM0-YMM15. En los procesadores que soportan AVX, el juego de instrucciones SSE (que anteriormente operaba en los registros XMM) pasa a operar en los primeros 128-bits de los registros YMM. Además, se espera la inclusión de vectores de 512 e incluso 1024 bits.
Son instrucciones no destructivas. AVX introduce un formato SIMD de 3 y 4 operandos, donde el operando de destino es diferente de los operandos fuente. Por ejemplo, una instrucción SSE convencional de 2 operandos a:=a+b puede usar un formato no destructivo de 3 operandos c:=a+b, preservando los operandos fuente. Este formato está limitado al juegos de instrucciones con operandos SIMD (YMM) y no incluye los registros con propósitos generales (p.e. EAX), sin embargo, se espera el soporte en el futuro.
Debido al mayor poder de procesamiento, las aplicaciones que usen intesivamente estas instrucciones pueden realizar el trabajo más eficientemente, dando un rendimiento por watt más alto que con otro conjunto de instrucciones.
Flexibilidad en el entorno de programación, debido a que el requisito de alineación de los operandos de memoria SIMD es relajado.
Nuevo manejo de operaciones aritméticas y primitivas, incluyendo difusión, permutación, suma y multiplicación fusinado, entre otras.
Procesadores con juego de instrucciones AVX
- Desde el lanzamineto de la arquitectura Sandy Bridge por parte de intel, todos los procesadores con esta arquitectura lo incluyen.
- En el próximo lanzamiento de la arquitectura Ivy Bridge[2] se espera que todos los procesadores basados en esta arquitectura, contengan el juego de instrucciones AVX.
- Oficialmente,[3] AMD ofrecerá soporte a este juego de instrucciones en sus próximos procesadores bajo la arquitectura Bulldozer.
Aplicaciones
Es útil para cualquier operación que utiliza coma flotante de forma intensiva, como los siguientes casos:
- Procesamiento de audio
- Modelado 3D
- Servicios de análisis financieros
- Software de ingeniería y manufactura
Software compatible
Además de que las aplicaciones introduzcan el uso explícito de estas nuevas instrucciones, también ha de haber soporte por parte del sistema operativo ya que introducen nuevos registros de estado del procesador. Los sistemas operativos más comunes que permiten el uso de instrucciones AVX son:
- Apple Mac OS X 10.6.8 (lanzado en junio de 2011) y posteriores.
- GNU/Linux con núcleo Linux 2.6.30 (lanzado en junio de 2009) o posterior.
- Microsoft Windows 7 SP1 (lanzado en febrero de 2011), Windows Server 2008 R2 SP1 (también lanzado en febrero de 2011) y Windows 8.
Véase también
Enlaces externos
Referencias
Categorías:- Microprocesadores Intel
- Arquitectura x86
Wikimedia foundation. 2010.