Visual Instruction Set
| Industry | Computer hardware |
|---|---|
| Founded | February 24, 1982 |
| Founder | Vinod Khosla, Andy Bechtolsheim, Scott McNealy, Bill Joy |
| Headquarters | Santa Clara, California , United States |
Visual Instruction Set (VIS) represents a SIMD extension designed for SPARC V9 microprocessors, created by Sun Microsystems. This instruction set has evolved through five iterations: VIS 1, VIS 2, VIS 2+, VIS 3, and VIS 4.
History
The initial version, VIS 1, was launched in 1994 and first integrated into Sun's UltraSPARC microprocessor in 1995, followed by Fujitsu's SPARC64 GP processors in 2000.
VIS 2 was introduced alongside the UltraSPARC III, and it has been incorporated into all later UltraSPARC and SPARC64 CPU models.
The release of VIS 3 coincided with the SPARC T4, while VIS 4 was developed for the SPARC M7 processor.
Differences vs x86
Unlike instruction sets such as Intel’s MMX and SSE, VIS operates differently. MMX employs only eight registers that overlap with the FPU stack, whereas SPARC processors utilize thirty-two registers mapped to double-precision (64-bit) floating-point registers.
Adhering to RISC architecture principles, VIS maintains a streamlined and efficient instruction set, contrasting with the more complex extensions found in CISC processors like MMX and SSE families. Although certain tasks may require several VIS instructions compared to a single instruction in MMX or SSE, a smaller instruction count does not inherently translate to superior performance.
Functionality
VIS capitalizes on the existing 64-bit floating-point registers of SPARC V9 to store multiple integer values of 8, 16, or 32 bits, making it more comparable to MMX than other SIMD technologies such as SSE or AltiVec.
Its instruction set primarily supports graphics-related operations—like converting 3D images to 2D, detecting edges, and calculating pixel distances—focusing mainly on integer data processing.
Programmers can access VIS through:
- The GCC compiler's - option
- Inline assembly language
- Inline templates within VSDK, which function similarly to compiler intrinsics with C-style interfaces
- The mediaLib multimedia library that enhances multimedia application performance by utilizing VIS on SPARC systems and MMX/SSE/SSE2 on x86/x64 architectures
References
- Gwennap, Linley (5 December 1995). "UltraSparc Adds Multimedia Instructions". Microprocessor Report.
- Tremblay, Marc et al. (August 1996). "VIS Speeds New Media Processing". IEEE Micro.