stringtranslate.com

¡3DAhora!

¡3DAhora! es una extensión obsoleta del conjunto de instrucciones x86 desarrollado por Advanced Micro Devices (AMD). Agrega instrucciones de datos múltiples de instrucción única (SIMD) al conjunto de instrucciones base x86, lo que le permite realizar procesamiento vectorial de operaciones vectoriales de punto flotante utilizando registros vectoriales . Esta mejora mejora el rendimiento de muchas aplicaciones con uso intensivo de gráficos. ¡El primer microprocesador en implementar 3DNow! Fue el AMD K6-2 , presentado en 1998. En aplicaciones apropiadas, esta mejora aumentó la velocidad entre 2 y 4 veces. [1]

Sin embargo, el conjunto de instrucciones nunca ganó mucha popularidad y AMD anunció en agosto de 2010 que el soporte para 3DNow! se eliminaría en futuros procesadores AMD, a excepción de dos instrucciones (las instrucciones PREFETCHy PREFETCHW). [2] Estas dos instrucciones también están disponibles en los procesadores Bay-Trail Intel. [3]

Historia

¡3DAhora! se desarrolló en un momento en el que los gráficos 3D se estaban convirtiendo en algo habitual en los juegos y multimedia de PC. La visualización en tiempo real de gráficos 3D dependía en gran medida de la unidad de punto flotante (FPU) de la CPU anfitriona para realizar cálculos de punto flotante , una tarea en la que el procesador K6 de AMD fue fácilmente superado por su competidor, el Intel Pentium II.

Como mejora del conjunto de instrucciones MMX , 3DNow! El conjunto de instrucciones aumentó los registros SIMD MMX para admitir operaciones aritméticas comunes (suma/resta/multiplicación) en datos de punto flotante de precisión simple (32 bits). Software escrito para utilizar 3DNow! en lugar de la FPU x87 más lenta , podría ejecutarse hasta cuatro veces más rápido, dependiendo de la combinación de instrucciones.

Versiones

¡3DAhora!

La primera implementación de 3DNow! La tecnología contiene 21 nuevas instrucciones que admiten operaciones de punto flotante SIMD . ¡El 3DNow! El formato de datos es empaquetado, de precisión simple y de punto flotante. ¡El 3DNow! El conjunto de instrucciones también incluye operaciones para operaciones de números enteros SIMD, captación previa de datos y conmutación más rápida de MMX a punto flotante. Posteriormente, Intel añadiría instrucciones similares (pero incompatibles) al Pentium III , conocidas como SSE (Streaming SIMD Extensions).

¡3DAhora! Las instrucciones de punto flotante son las siguientes:

¡3DAhora! Las instrucciones para números enteros son las siguientes:

¡3DAhora! Las instrucciones para mejorar el rendimiento son las siguientes:

¡3DAhora! extensiones

Hay poca o ninguna evidencia de que la segunda versión de 3DNow! alguna vez recibió oficialmente su propio nombre comercial. Esto ha generado cierta confusión en la documentación que hace referencia a este nuevo conjunto de instrucciones. Los términos más comunes son 3DNow extendido. , 3DNow mejorado! y 3DNow!+ . La frase "¡3DNow mejorado!" se puede encontrar en algunas ubicaciones del sitio web de AMD, pero las mayúsculas de "Mejorado" parecen ser puramente gramaticales o usarse para enfatizar procesadores que pueden tener o no estas extensiones (la más notable de las cuales hace referencia a una página de referencia para el K6-III-P que no tenga estas extensiones). [4] [5]

Esta extensión de 3DNow! El conjunto de instrucciones se introdujo con los procesadores Athlon de primera generación . ¡El Athlon agregó cinco nuevos 3DNow! instrucciones y 19 nuevas instrucciones MMX. Más tarde, el K6-2+ y el K6-III+ (ambos dirigidos al mercado móvil) incluyeron cinco nuevos 3DNow! instrucciones, omitiendo las 19 nuevas instrucciones MMX. ¡El nuevo 3DNow! Se agregaron instrucciones para aumentar el DSP . Las nuevas instrucciones MMX se agregaron para impulsar la transmisión de medios .

Las 19 nuevas instrucciones MMX son un subconjunto del conjunto de instrucciones SSE de Intel. En los manuales técnicos de AMD, AMD separa estas instrucciones del 3DNow! extensiones. [4] Sin embargo, en la literatura de productos para clientes de AMD, esta segregación es menos clara cuando los beneficios de las 24 nuevas instrucciones se atribuyen al 3DNow mejorado. tecnología. [6] Esto ha llevado a los programadores a crear su propio nombre para las 19 nuevas instrucciones MMX. El más común parece ser el SSE entero ( ISSE ). [7] SSEMMX y MMX2 también se encuentran en la documentación de filtros de vídeo del sector de dominio público. ISSE también podría referirse a Internet SSE, uno de los primeros nombres de SSE.

¡3DAhora! Las instrucciones de la extensión DSP son las siguientes:

Las instrucciones de extensión MMX (Integer SSE) son las siguientes:

¡3DAhora! Profesional

¡3DAhora! Professional es un nombre comercial utilizado para indicar procesadores que combinan 3DNow! tecnología con un conjunto completo de instrucciones SSE (como SSE, SSE2 o SSE3). [8] El Athlon XP fue el primer procesador en llevar 3DNow! Nombre comercial profesional y fue el primer producto de la familia Athlon en admitir el conjunto completo de instrucciones SSE (para un total de: 21 instrucciones 3DNow! originales; cinco instrucciones DSP de extensión 3DNow!; 19 instrucciones de extensión MMX; y 52 instrucciones SSE adicionales para completa compatibilidad con SSE). [9]

¡3DAhora! y el Geode GX/LX

¡ Geode GX y Geode LX agregaron dos nuevos 3DNow! instrucciones que actualmente están ausentes en todos los demás procesadores.

¡3DAhora! Las instrucciones "profesionales" exclusivas del Geode GX/LX son las siguientes:

¡Ventajas y desventajas!

¡Una ventaja de 3DNow! es que es posible sumar o multiplicar los dos números que están almacenados en un mismo registro . Con SSE, cada número sólo se puede combinar con un número que esté en la misma posición en otro registro. Esta capacidad, conocida como horizontal en la terminología de Intel, fue la principal incorporación al conjunto de instrucciones SSE3 .

¡Una desventaja con 3DNow! ¿Es eso 3DNow! Las instrucciones y las instrucciones MMX comparten el mismo archivo de registro, mientras que SSE agrega 8 nuevos registros independientes ( XMM0- XMM7).

Porque MMX/3DNow! Los registros son compartidos por la FPU x87 estándar , 3DNow! Las instrucciones y las instrucciones x87 no se pueden ejecutar simultáneamente. Sin embargo, debido a que tiene un alias para la FPU x87, 3DNow! y los estados de registro MMX se pueden guardar y restaurar mediante las instrucciones F(N)SAVEy x87 tradicionales F(N)RSTOR. ¡Esta disposición permitió que los sistemas operativos admitieran 3DNow! sin modificaciones explícitas, mientras que los registros SSE requirieron soporte explícito del sistema operativo para guardar y restaurar adecuadamente los nuevos registros XMM (a través de las instrucciones agregadas FXSAVE) FXRSTOR.

Las instrucciones FX* de SSE proporcionan un superconjunto funcional de las instrucciones de guardado y restauración x87 anteriores. Pueden guardar no solo los estados de registro SSE sino también los estados de registro x87 (por lo tanto, también son aplicables para operaciones MMX y 3DNow! cuando sean compatibles).

En los núcleos basados ​​en AMD Athlon XP y K8 (es decir, Athlon 64 ), los programadores de ensamblaje han notado que es posible combinar 3DNow! e instrucciones SSE para reducir la presión de registro , pero en la práctica es difícil mejorar el rendimiento debido a que las instrucciones se ejecutan en unidades funcionales compartidas. [10]

Procesadores compatibles con 3DNow!

Referencias

  1. ^ "Utilización eficaz de 3DNow en Linux". Diario de Linux. 1 de diciembre de 1999. Archivado desde el original el 7 de junio de 2011 . Consultado el 3 de octubre de 2010 .
  2. ^ "Las instrucciones de 3DNow están quedando obsoletas | AMD Developer Central". Blogs.amd.com. 2010-08-18. Archivado desde el original el 24 de octubre de 2010 . Consultado el 3 de octubre de 2010 .
  3. ^ "IntelE38xx - Wiki MinnowBoard". Archivado desde el original el 11 de febrero de 2017 . Consultado el 13 de febrero de 2017 .
  4. ^ ab "Extensiones de AMD para el manual de conjuntos de instrucciones 3DNow y MMX" (PDF) . Advanced Micro Devices, Inc. Marzo de 2000. Archivado (PDF) desde el original el 17 de mayo de 2008 . Consultado el 7 de junio de 2008 .
  5. ^ "Portátil móvil con procesador AMD-K6-III-P: Ziff-Davis CPUmark 99". Archivado desde el original el 24 de julio de 2008 . Consultado el 7 de junio de 2008 . Título incorrecto en la página: Procesadores móviles AMD-K6-III+ y AMD-K6-2+ con 3DNow mejorado [ sic ] Tecnología
  6. ^ "Resumen del producto del procesador AMD Athlon". Advanced Micro Devices, Inc. Archivado desde el original el 25 de febrero de 2008 . Consultado el 8 de junio de 2008 .
  7. ^ "ISSE". AviSynth . Archivado desde el original el 2 de julio de 2017 . Consultado el 19 de julio de 2017 .
  8. ^ "Explicando la nueva tecnología profesional 3DNow!". Advanced Micro Devices, Inc. Archivado desde el original el 21 de enero de 2009 . Consultado el 8 de junio de 2008 .
  9. ^ "Características arquitectónicas del AMD Athlon XP". Advanced Micro Devices, Inc. Archivado desde el original el 25 de febrero de 2008 . Consultado el 8 de junio de 2008 .
  10. ^ Larry Lewis (9 de julio de 2003). "3DNow+ frente a SSE en Athlon XP". Grupo de noticias : comp.sys.ibm.pc.hardware.chips. Usenet:  [email protected]. Archivado desde el original el 3 de octubre de 2012 . Consultado el 4 de enero de 2023 , a través de Grupos de Google.

Otras lecturas

enlaces externos