A Visual Instruction Set (VIS) egy SIMD utasításkészlet SPARC V9 mikroprocesszorokhoz , amelyeket a Sun Microsystems fejlesztett ki .
A VIS-nek négy változata létezik: VIS 1, VIS 2, VIS 2+ és VIS 3. [1]
A VIS 1-et 1994-ben vezették be, és először a Sun Corporation vezette be az UltraSPARC mikroprocesszorokon (1995) és a Fujitsu Corporation a SPARC64 GP mikroprocesszorokon (2000).
A VIS 2-t először az UltraSPARC III -on használták . Minden további UltraSPARC és SPARC64 processzor is támogatta ezt a szabványt.
A VIS 3-at először a SPARC T4 -ben vezették be .
A VIS újra felhasználja a meglévő 64 bites lebegőpontos regisztereket a 8, 16 és 32 bites egész értékek tárolására. Ebben az értelemben a VIS jobban hasonlít az MMX -hez, mint más SIMD architektúrák, például az SSE / SSE2 / AltiVec . Az Intel MMX-je azonban csak 8 regisztert oszt meg a lebegőpontos eszközzel, míg a SPARC processzorok jellemzően lényegesen több regiszterrel rendelkeznek (a RISC architektúra egyik jellemzője).
A VIS szigorúan követi a RISC fő gondolatát: használjon tömör és hatékony parancsokat. Ez az elv nagyon különbözik a hasonló CISC processzorkiterjesztésektől , mint például az MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . Általánosságban elmondható, hogy a RISC elv egyszerűbbé és hatékonyabbá teheti a programot.
Az Intel és az AMD azonban könnyedén tud új kiterjesztést adni az x86/x64-es processzorokhoz, míg a Sunnak nagyon óvatosnak kell lennie az új bővítmények hozzáadásakor, ami a CISC egyik előnyének tekinthető a RISC-hez képest. Néha a programozóknak több VIS utasítást kell használniuk egyetlen művelet leírásához, amely egyetlen MMX/SSE utasítással írható, de ne feledje, hogy kevesebb utasítás nem feltétlenül jelent jobb teljesítményt.
A VIS kódban való használatának négy módja van: