Visual Instruction Set (VIS) je instrukční sada SIMD pro mikroprocesory SPARC V9 vyvinutá společností Sun Microsystems .
Existují čtyři verze VIS: VIS 1, VIS 2, VIS 2+ a VIS 3. [1]
VIS 1 byl představen v roce 1994 a poprvé představen společností Sun Corporation na mikroprocesorech UltraSPARC (1995) a společností Fujitsu Corporation na mikroprocesorech SPARC64 GP (2000).
VIS 2 byl poprvé použit na UltraSPARC III . Všechny následující procesory UltraSPARC a SPARC64 také podporovaly tento standard.
VIS 3 byl poprvé implementován v SPARC T4 .
VIS znovu používá existující 64bitové registry s pohyblivou řádovou čárkou k ukládání 8, 16 a 32bitových celočíselných hodnot. V tomto smyslu je VIS podobnější MMX než jiné SIMD architektury jako SSE / SSE2 / AltiVec . Intel MMX však sdílí pouze 8 registrů se zařízením s pohyblivou řádovou čárkou, zatímco procesory SPARC mají typicky výrazně vyšší počet registrů (jedna z charakteristik architektury RISC ).
VIS přísně dodržuje hlavní myšlenku RISC: používejte stručné a efektivní příkazy. Tento princip je velmi odlišný od srovnatelných CISC procesorových rozšíření , jako je MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . Obecně platí, že princip RISC může program zjednodušit a zefektivnit.
Intel a AMD však mohou snadno přidat nová rozšíření k procesorům x86/x64, zatímco Sun musí být velmi opatrný při přidávání nových rozšíření, což lze považovat za jednu z výhod CISC oproti RISC. Někdy programátoři potřebují použít více instrukcí VIS k popisu jedné operace, kterou lze zapsat jedinou instrukcí MMX/SSE, ale mějte na paměti, že méně instrukcí nemusí nutně znamenat lepší výkon.
Existují čtyři způsoby, jak používat VIS v kódu: