Setul de instrucțiuni vizuale (VIS) este un set de instrucțiuni SIMD pentru microprocesoarele SPARC V9 dezvoltate de Sun Microsystems .
Există patru versiuni de VIS: VIS 1, VIS 2, VIS 2+ și VIS 3. [1]
VIS 1 a fost introdus în 1994 și introdus pentru prima dată de Sun Corporation pe microprocesoare UltraSPARC (1995) și de Fujitsu Corporation pe microprocesoare SPARC64 GP (2000).
VIS 2 a fost folosit pentru prima dată pe UltraSPARC III . Toate procesoarele ulterioare UltraSPARC și SPARC64 au suportat, de asemenea, acest standard.
VIS 3 a fost implementat pentru prima dată în SPARC T4 .
VIS reutiliza registrele existente în virgulă mobilă pe 64 de biți pentru a stoca valori întregi de 8, 16 și 32 de biți. În acest sens, VIS este mai asemănător cu MMX decât alte arhitecturi SIMD precum SSE / SSE2 / AltiVec . Cu toate acestea, MMX-ul Intel partajează doar 8 registre cu dispozitivul în virgulă mobilă, în timp ce procesoarele SPARC au de obicei un număr semnificativ mai mare de registre (una dintre caracteristicile arhitecturii RISC ).
VIS urmează cu strictețe ideea principală a RISC: utilizați comenzi concise și eficiente. Acest principiu este foarte diferit de extensiile comparabile de procesor CISC, cum ar fi MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . În general, principiul RISC poate face un program mai simplu și mai eficient.
Cu toate acestea, Intel și AMD pot adăuga cu ușurință noi extensii la procesoarele x86/x64, în timp ce Sun trebuie să fie foarte atent când adaugă noi extensii, ceea ce poate fi considerat unul dintre avantajele CISC față de RISC. Uneori, programatorii trebuie să folosească mai multe instrucțiuni VIS pentru a descrie o singură operație care poate fi scrisă cu o singură instrucțiune MMX/SSE, dar rețineți că mai puține instrucțiuni nu se traduc neapărat într-o performanță mai bună.
Există patru moduri de a utiliza VIS în cod: