WINTXCODERS Terminal
[visitante@wintxcoders-pc ~]:$ Bienvenido a la comunidad
Recuerda que puedes participar en nuestra comunidad registrándote

¿Qué son las instrucciones AVX y para qué las necesita tu CPU?

Iniciado por Noticias Informáticas, Febrero 06, 2020, 08:00:04 PM

« anterior - próximo »

Noticias Informáticas

Noticias

  • Desconectado
  • ¿Qué son las instrucciones AVX y para qué las necesita tu CPU?


    Cuando hablamos de procesadores, es común encontrarnos con el término «instrucciones AVX«, hasta el punto de que en algunos casos son necesarias para que funcionen determinados programas o juegos, y podemos incluso encontrarnos en la tesitura de que un juego o programa no nos funciona si el procesador no cuenta con ellas. Pero, ¿qué son las instrucciones AVX y para qué las necesita el procesador? ¿Es tu procesador compatible con ellas? Vamos a verlo.

    Qué son las instrucciones AVX
    Las instrucciones AVX son un término que viene del inglés «Advanced Vector Extensions«, también conocidas como Sandy Bridge New Extensions dado que fueron propuestas por Intel en 2008 y fueron inicialmente implementadas en los procesadores Sandy Bridge de la marca.
    Consisten en un conjunto específico de instrucciones para procesadores Intel y AMD que añadieron a la arquitectura x86 de sus procesadores, en el caso de Intel a partir de Sandy Bridge en 2011 y en el caso de AMD a partir de Bulldozer, también en 2011. AVX proporciona nuevas características y nuevas instrucciones que dictaminan cómo gestiona el procesador los datos.

    [/url]
    Las instrucciones AVX tienen variantes, como AVX2 que amplió la mayoría de comandos del procesador a 256 bits e intrudijo operaciones fusionadas de acumulación múltiple (FMA). Por su parte, AVX-512 amplía la compatibilidad de AVX a 512 bits utilizando una nueva codificación de prefijo EVEX propuesta por Intel en 2013 e integrada por primera vez en los procesadores Knights Landing, en 2016.
    Para qué usan los procesadores las instrucciones AVX
    Estas instrucciones sirven para decirle al procesador cómo debe gestionar los datos que le llegan, dependiendo del tipo de dato. En otras palabras, le da al procesador una mayor capacidad de gestión, con autonomía para poder decidir qué método es el más eficiente para tener un mejor rendimiento.



    Instrucción
    Descripción


    VBROADCASTSS, VBROADCASTSD, VBROADCASTF128
    Copia un operando de la memoria de 32, 64 o 128 bit en un registro de vector XMM o YMM


    VINSERTF128
    Reemplaza la mitad inferior de la mitad superior de un registro YMM de 256 bits con un operando de 128 bits. La otra mitad del destino no se cambia.


    VEXTRACTF128
    Extrae la mitad inferior de la mitad superior de un registro YMM de 256 bit y copia el valor a un operando destino de 128 bit.


    VMASKMOVPS, VMASKMOVPD
    Lee condicionalmente cualquier número de elementos de un operando de memoria vectorial SIMD en un registro de destino, dejando los elementos vectoriales restantes sin leer y configurando los elementos correspondientes en el registro de destino a cero. Alternativamente, escribe condicionalmente cualquier número de elementos desde un operando de registro de vector SIMD a un operando de memoria de vector, dejando los elementos restantes del operando de memoria sin cambios. En la arquitectura de procesador AMD Jaguar, esta instrucción con un operando de origen de memoria tarda más de 300 ciclos de reloj cuando la máscara es cero, en cuyo caso la instrucción no debe hacer nada. Esto parece ser un defecto de diseño.


    VPERMILPS, VPERMILPD
    Permute en el carril. Mezcla los elementos vectoriales de 32 bits o 64 bits de un operando de entrada. Estas son instrucciones de 256 bits en el carril, lo que significa que operan en todos los 256 bits con dos datos aleatorios separados de 128 bits, por lo que no pueden generar aleatorios en los carriles de 128 bits.


    VPERM2F128
    Mezcla los cuatro elementos vectoriales de 128 bit de dos operandos de origen de 256 bits en un solo operando de destino de 256 bit, con una constante inmediata como selector.


    VZEROALL
    Establece todos los registros YMM a cero y los marca como no utilizados. Se usa para cambiar entre 128 y 256 bits.


    VZEROUPPER
    Establece la mitad superior de todos los registros YMM a cero. Se usa par cambiar entre 128 y 256 bits.



    ¿Tu procesador tiene estas instrucciones?
    Hay ocasiones en las que, si tienes un procesador relativamente antiguo (anterior a Sandy Bridge o Bulldozer), algunas aplicaciones o juegos podrían no funcionar y no sabes el motivo. Muy probablemente sea porque ese software necesita utilizar alguna de las instrucciones AVX arriba expuestas para funcionar, y si tu procesador no la tiene, no podrá funcionar.
    Estos son los procesadores compatibles con AVX:

    Intel: Sandy Bridge (2011), Sandy Bridge-E (2011), Ivy Bridge (2012), Ivy Bridge-E (2013), Haswell (2013), Haswell-E (2014), Broadwell (2014), Broadwell-E (2016), Skylake (2015), Kaby Lake (2016-2017), Skylake-X (2017), Coffee Lake (2017), Cannon Lake (2018), Whiskey Lake (2018), Cascade Lake (2018), Ice Lake (2019), Comet Lake (solo los Core, 2019), Tiger Lake (2020).
    AMD: Jaguar y más nuevos, Puma y más nuevos, Bulldozer (2011), Piledriver (2012), Steamroller (2014), Excavator (2015), Zen (2017), Zen+ (2018), Zen 2 (2019).

     
     
    The post ¿Qué son las instrucciones AVX y para qué las necesita tu CPU? appeared first on HardZone.