De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

Visual Instruction Set , o VIS , es una extensión del conjunto de instrucciones SIMD para microprocesadores SPARC V9 desarrollada por Sun Microsystems . Hay cinco versiones de VIS: VIS 1, VIS 2, VIS 2+, VIS 3 y VIS 4. [1]

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 vs x86

VIS no es un juego 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 con alias de los registros de punto 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 debe tenerse en cuenta que menos instrucciones no dan como resultado automáticamente un mejor rendimiento.

Funcionalidad

VIS reutiliza los registros de punto flotante SPARC V9 de 64 bits 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 el soporte de 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
  • Usar ensamblaje en línea
  • Use una plantilla en línea en VSDK , similar a los intrínsecos del compilador , que tienen funciones de 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

Referencias

  1. ^ Liang He; Harlan McGhan (mayo de 2005). "MT mediaLib para procesadores Chip MultiThreaded (CMT)" (PDF) . Sun Microsystems, Inc. Archivado desde el original (PDF) el 30 de diciembre de 2006 . Consultado el 3 de diciembre de 2007 .

Enlaces externos