Visual Instruction Set (VIS) er et SIMD-instruktionssæt til SPARC V9- mikroprocessorer udviklet af Sun Microsystems .
Der er fire versioner af VIS: VIS 1, VIS 2, VIS 2+ og VIS 3. [1]
VIS 1 blev introduceret i 1994 og først introduceret af Sun Corporation på UltraSPARC mikroprocessorer (1995) og af Fujitsu Corporation på SPARC64 GP mikroprocessorer (2000).
VIS 2 blev først brugt på UltraSPARC III . Alle efterfølgende UltraSPARC- og SPARC64-processorer understøttede også denne standard.
VIS 3 blev først implementeret i SPARC T4 .
VIS genbruger eksisterende 64-bit flydende kommaregistre til at gemme 8, 16 og 32-bit heltalsværdier. I denne forstand ligner VIS mere MMX end andre SIMD-arkitekturer såsom SSE / SSE2 / AltiVec . Intels MMX deler dog kun 8 registre med floating point-enheden, hvorimod SPARC-processorer typisk har et markant højere antal registre (en af kendetegnene ved RISC- arkitekturen).
VIS følger strengt RISC's hovedidé: brug kortfattede og effektive kommandoer. Dette princip er meget forskelligt fra sammenlignelige CISC-processorudvidelser såsom MMX / SSE / SSE2 / SSE3 / SSE4 / 3DNow! . Generelt kan RISC-princippet gøre et program enklere og mere effektivt.
Intel og AMD kan dog sagtens tilføje nye udvidelser til x86/x64-processorer, mens Sun skal være meget forsigtig med at tilføje nye udvidelser, hvilket kan betragtes som en af fordelene ved CISC frem for RISC. Nogle gange skal programmører bruge flere VIS-instruktioner til at beskrive en enkelt operation, der kan skrives med en enkelt MMX/SSE-instruktion, men husk på, at færre instruktioner ikke nødvendigvis udmønter sig i bedre ydeevne.
Der er fire måder at bruge VIS i kode: