Conjunto de instrucciones visuales
Conjunto de instrucciones visuales, o VIS, es una extensión del conjunto de instrucciones SIMD para microprocesadores SPARC V9 desarrollado por Sun Microsystems. Hay cinco versiones de VIS: VIS 1, VIS 2, VIS 2+, VIS 3 y VIS 4.
Historia
VIS 1 se introdujo en 1994 y fue implementado por primera vez por Sun en su microprocesador UltraSPARC (1995) y por Fujitsu en sus microprocesadores SPARC64 GP (2000).
VIS 2 fue implementado por primera vez por UltraSPARC III. Todos los microprocesadores UltraSPARC y SPARC64 posteriores implementan el conjunto de instrucciones.
VIS 3 se implementó por primera vez en el microprocesador SPARC T4.
VIS 4 se implementó por primera vez en el microprocesador SPARC M7.
Diferencias frente a x86
VIS no es un conjunto de herramientas de instrucción como MMX y SSE de Intel. MMX tiene solo 8 registros compartidos con la pila FPU, mientras que los procesadores SPARC tienen 32 registros, también asociados a los registros de coma flotante de doble precisión (64 bits).
Al igual que con las extensiones del conjunto de instrucciones SIMD en otros procesadores RISC, VIS se ajusta estrictamente al principio principal de RISC: mantener el conjunto de instrucciones conciso y eficiente.
Este diseño es muy diferente de extensiones comparables en procesadores CISC, como MMX, SSE, SSE2, SSE3, SSE4, 3DNow!.
A veces, los programadores deben usar varias instrucciones VIS para realizar una operación que se puede realizar con una sola instrucción MMX o SSE, pero se debe tener en cuenta que menos instrucciones no dan como resultado automáticamente un mejor rendimiento.
Funcionalidad
VIS reutiliza los registros de coma flotante de 64 bits de SPARC V9 existentes para contener múltiples valores enteros de 8, 16 o 32 bits. En este sentido, VIS es más similar al diseño de MMX que otras arquitecturas SIMD como SSE/SSE2/AltiVec.
VIS incluye una serie de operaciones principalmente para compatibilidad con gráficos, por lo que la mayoría de ellas son solo para números enteros. Estos incluyen conversión de 3D a 2D, procesamiento de bordes y distancia de píxeles.
Hay cuatro formas de usar VIS en el código:
- La opción GCC -mvis
- Uso de montaje en línea
- Use plantilla en línea en VSDK, similar al compilador intrinsics, que tienen función C como interfaces
- Utilice la biblioteca multimedia MediaLib, que tiene interfaces de función C. Utiliza VIS en plataformas SPARC (y MMX/SSE/SSE2 en plataformas x86/x64) para acelerar la ejecución de aplicaciones multimedia
Contenido relacionado
Terminal de la oficina del cliente
Relevo celular
Clientes potenciales AIOD