miércoles, 25 de agosto de 2010

AMD abandonará la extensión 3DNow!

En épocas en las que el procesador K6-2 estaba surgiendo en el mercado, AMD introdujo una serie de instrucciones de aceleración conocidas como 3DNow!. Desde entonces, 3DNow! ha estado presente en cada procesador hecho por AMD, y ha recibido varias extensiones con el paso de los años. Sin embargo, recientemente se ha anunciado de forma oficial que la próxima generación de procesadores AMD ya no contarán con 3DNow! entre su repertorio de extensiones. Esto obviamente afectará a cualquier software que haya sido especialmente optimizado para utilizar dichas instrucciones, y con un importante anticipo ya se recomienda a los desarrolladores migrar su software hacia la extensión SSE y sus variantes (si es necesario), también presentes en procesadores AMD.

Intel promocionó de forma significativa a sus procesadores con la extensión MMX cuando fueron lanzados. El aumento en el rendimiento era perceptible siempre y cuando el software fuera optimizado para utilizar dicha extensión, algo que no sucedió del todo al comienzo. Los gráficos en tres dimensiones comenzaban a ganar terreno rápidamente gracias a la introducción del hardware de aceleración, y en ese mismo período, AMD presentó a sus procesadores K6-2. Los K6-2 contaban con una nueva extensión de nombre 3DNow!, formulada originalmente para servir como una mejora de la extensión MMX. Tal y como había sido creada por Intel, la extensión MMX aceleraba cálculos integrales, pero el 3DNow! amplió dicha aceleración hacia los cálculos de punto flotante, algo que podía ser aprovechado por los nuevos juegos 3D. El 3DNow! ha estado presente en cada procesador AMD desde el K6-2 en adelante, y fue recibiendo instrucciones adicionales, algo que también sucedió con el MMX y la familia de extensiones SSE creadas por Intel.
El 3DNow! hoy está presente en la última generación de procesadores AMD, pero no lo veremos en los Bulldozer
En un reciente comunicado, AMD ha anunciado que dejará de implementar la extensión 3DNow! en la próxima generación de sus procesadores, muy probablemente, los chips "Bulldozer" con arquitectura de 32 nanómetros, planeados para el año entrante. En la publicación no se puede discernir ninguna razón estrictamente técnica para el abandono de la extensión, aunque es posible recordar a la famosa extensión SSE5 que AMD propuso en el año 2007. Dicha extensión finalmente no se materializó, sino que fue dividida en tres extensiones más pequeñas: XOP, FMA4 y CVT16. Estas extensiones conservan la funcionalidad que se esperaba obtener de SSE5, y su inclusión está programada para los procesadores Bulldozer.

Probablemente, los que más trabajo tengan en el futuro debido a esta decisión son los desarrolladores. Aunque es muy probable que ya trabajen con dos líneas de optimización (SSE y 3DNow!), desde ya se está recomendando que aquellos programas que utilicen de forma muy intensa a 3DNow! comiencen el proceso de migración hacia SSE. Sin embargo, hay un detalle importante que debe ser mencionado: Si un programa se basa en el valor presente del VendorID (¿Recuerdan el incidente del compilador?) para determinar el camino de optimización, un futuro procesador AMD podría terminar utilizando instrucciones aún más lentas que SSE, afectando el rendimiento del programa en cuestión. De todas formas, es muy probable que todos estos puntos ya hayan sido pulidos para cuando los esperados Bulldozer lleguen al mercado.

No hay comentarios:

Publicar un comentario