Visual Instruction Set (VIS) on Sun Microsystemsin kehittämä SIMD-käskysarja SPARC V9 -mikroprosessoreille .
VIS:stä on neljä versiota: VIS 1, VIS 2, VIS 2+ ja VIS 3. [1]
VIS 1 esiteltiin vuonna 1994, ja sen esitteli ensimmäisenä Sun Corporation UltraSPARC -mikroprosessoreissa (1995) ja Fujitsu Corporation SPARC64 GP -mikroprosessoreissa (2000).
VIS 2:ta käytettiin ensimmäisen kerran UltraSPARC III :ssa . Myös kaikki myöhemmät UltraSPARC- ja SPARC64-prosessorit tukivat tätä standardia.
VIS 3 otettiin ensimmäisen kerran käyttöön SPARC T4 : ssä .
VIS käyttää uudelleen olemassa olevia 64-bittisiä liukulukurekistereitä 8-, 16- ja 32-bittisten kokonaislukuarvojen tallentamiseen. Tässä mielessä VIS on enemmän samankaltainen kuin MMX kuin muut SIMD-arkkitehtuurit, kuten SSE / SSE2 / AltiVec . Intelin MMX jakaa kuitenkin vain 8 rekisteriä liukulukulaitteen kanssa, kun taas SPARC-prosessoreissa on tyypillisesti huomattavasti enemmän rekistereitä (yksi RISC - arkkitehtuurin ominaisuuksista).
VIS noudattaa tiukasti RISC:n pääideaa: käytä tiiviitä ja tehokkaita komentoja. Tämä periaate eroaa suuresti vastaavista CISC-prosessorilaajennuksista , kuten MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . Yleisesti ottaen RISC-periaate voi tehdä ohjelmasta yksinkertaisemman ja tehokkaamman.
Intel ja AMD voivat kuitenkin helposti lisätä uusia laajennuksia x86/x64-prosessoreihin, kun taas Sunin on oltava erittäin varovainen lisättäessä uusia laajennuksia, mitä voidaan pitää yhtenä CISC:n eduista RISC:hen nähden. Joskus ohjelmoijien on käytettävä useita VIS-käskyjä kuvaamaan yhtä toimintoa, joka voidaan kirjoittaa yhdellä MMX/SSE-käskyllä, mutta muista, että vähemmän käskyjä ei välttämättä tarkoita parempaa suorituskykyä.
On neljä tapaa käyttää VIS:ää koodissa: