Visual Instruction Set (VIS) är en SIMD-instruktionsuppsättning för SPARC V9- mikroprocessorer utvecklad av Sun Microsystems .
Det finns fyra versioner av VIS: VIS 1, VIS 2, VIS 2+ och VIS 3. [1]
VIS 1 introducerades 1994 och introducerades först av Sun Corporation på UltraSPARC- mikroprocessorer (1995) och av Fujitsu Corporation på SPARC64 GP- mikroprocessorer (2000).
VIS 2 användes först på UltraSPARC III . Alla efterföljande UltraSPARC- och SPARC64-processorer stödde också denna standard.
VIS 3 implementerades först i SPARC T4 .
VIS återanvänder befintliga 64-bitars flyttalsregister för att lagra 8, 16 och 32-bitars heltalsvärden. I denna mening är VIS mer lik MMX än andra SIMD-arkitekturer som SSE / SSE2 / AltiVec . Intels MMX delar dock bara 8 register med flyttalsenheten, medan SPARC-processorer vanligtvis har ett betydligt högre antal register (en av egenskaperna hos RISC- arkitekturen).
VIS följer strikt huvudidén med RISC: använd kortfattade och effektiva kommandon. Denna princip skiljer sig mycket från jämförbara CISC-processortillägg som MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . Generellt sett kan RISC-principen göra ett program enklare och mer effektivt.
Intel och AMD kan dock enkelt lägga till nya tillägg till x86/x64 - processorer, medan Sun måste vara mycket försiktiga när de lägger till nya tillägg, vilket kan anses vara en av fördelarna med CISC framför RISC. Ibland behöver programmerare använda flera VIS-instruktioner för att beskriva en enda operation som kan skrivas med en enda MMX/SSE-instruktion, men kom ihåg att färre instruktioner inte nödvändigtvis leder till bättre prestanda.
Det finns fyra sätt att använda VIS i kod: