3DNow! es el nombre comercial que recibe una extensión multimedia al conjunto de instrucciones x86 diseñada por AMD para sus microprocesadores como una mejora del conjunto de instrucciones MMX de Intel, haciendo que pudiera manejar datos en punto flotante además de enteros. El primer microprocesador en incorporarlas fue el AMD K6-2 lanzado en febrero de 1998. Cuando se aplica apropiadamente se incrementa la velocidad de 2 a 4 veces.[1]
En términos más técnicos, es un añadido de instrucciones SIMD al tradicional conjunto de instrucciones x86, para obtener más rendimiento en el procesamiento de vectores, es decir, operaciones que son realizadas sobre un vector de datos al mismo tiempo (y no sobre un único dato). Este tipo de operaciones son empleadas frecuentemente por muchas aplicaciones multimedia.
Sin embargo, el conjunto de instrucciones nunca ganó mucha popularidad. Posteriormente, Intel creó un conjunto de instrucciones (SSE) similares a las 3DNow! de AMD, el cual fue incluido por AMD en sus Athlon XP junto con 3DNow!. SSE es incompatible con 3DNow!
En agosto de 2010, AMD considera estas instrucciones, excepto PREFETCH
y PREFETCHW
, como obsoletas.[2][3]
La extensión 3DNow! consta de 21 instrucciones que soportan operaciones de punto flotante tipo SIMD e incluyen operaciones de enteros SIMD, la prerrecuperación de datos por hardware (conocida en inglés como prefetch) y cambio rápido MMX-punto flotante.