Visual Instruction Set

Visual Instruction Set

Visual Instruction Set, or VIS, is a SIMD instruction set for SPARC CPUs, implemented on all UltraSPARC and some SPARC64 processors.

There are three versions of VIS. VIS 1.0 and VIS 2.0 are included in existing SPARC processor designs; VIS 3.0 is planned for implementation on the upcoming Rock processor. [cite web
url = http://sun.com/processors/vis/download/mlib/mlib_wp.pdf
title = MT mediaLib for Chip MultiThreaded (CMT) Processors
accessdate = 2007-12-03
author = Liang He
coauthors = Harlan McGhan
month = May | year = 2005
publisher = Sun Microsystems, Inc.
format=PDF
] update after|2009|05|16

VIS re-uses existing SPARC 64-bit floating point registers to hold multiple 8, 16, or 32-bit integer values. In this respect VIS is more similar to the design of MMX than other SIMD architectures such as SSE/SSE2/AltiVec. However, Intel's MMX has only 8 registers shared with the FPU stack, while SPARC processors usually have a much larger number of registers (one characteristic of RISC architecture).

As with the SIMD instruction set extensions on RISC processors, VIS strictly conform to the main principle of RISC: keep the instruction set concise and efficient. This design is very different from comparable extensions on CISC processors, such as MMX/SSE/SSE2/SSE3/SSE4/3DNow!. Basically, this RISC principle can make the pipelines more simple and efficient and consequently bring better throughput and performance.

However, Intel/AMD can easily add new instruction set extensions to x86/x64 processors while Sun must be very careful in adding new extensions to SPARC processors, which may be considered an advantage of CISC over RISC. Sometimes programmers must use several VIS instructions to accomplish an operation that can be done with only one MMX/SSE instruction, but it should be kept in mind that fewer instructions doesn't automatically result in better performance.

VIS includes a number of operations primarily for graphics support, so most of them are for only for integer. These include 3D to 2D conversion, edge processing and pixel distance.

There are three ways to use VIS in code:
*Use inline assembly
*Use inline template in VSDK, similar to compiler intrinsics, which have C function like interfaces
*Use the mediaLib multimedia library, which has C function interfaces. It uses VIS on SPARC platforms (and MMX/SSE/SSE2 on x86/x64 platforms) to accelerate multimedia application execution

References

External links

* [http://sun.com/processors/vis/ VIS (Visual Instruction Set) Sun Web site]
* [http://sun.com/processors/vis/vsdk.html VSDK (VIS Software Developer's Kit)]
* [http://www.nondot.org/sabre/os/files/Processors/VISInstructionSetUsersManual.pdf VIS Instruction Set User's Manual]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Visual Instruction Set — (VIS)  система команд SIMD для микропроцессоров SPARC V9, разработанная компанией Sun Microsystems. Существует три версии VIS: VIS 1, VIS 2 и VIS 2+. Планируется, что будущая версия, VIS 3.0, будет использоваться в процессоре Rock. VIS 1… …   Википедия

  • MMX (instruction set) — Pentium with MMX MMX is a single instruction, multiple data (SIMD) instruction set designed by Intel, introduced in 1996 with their P5 based Pentium line of microprocessors, designated as Pentium with MMX Technology .[1] …   Wikipedia

  • Visual C++ — For Visual C#, see Microsoft Visual C Sharp. Visual C++ Developer(s) Microsoft Corporation Stable release Visual Studio 2010 / April 2010 …   Wikipedia

  • Visual T — Sharp Pour les articles homonymes, voir TSharp et .ts. Visual T# …   Wikipédia en Français

  • Visual DataFlex — Visual DataFlex  высокоуровневый, объектно ориентированный язык программирования 4 го поколения с собственной средой визуального проектирования. Разрабатывается компанией Data Access Corporation[1] и предназначен для быстрого создания (RAD)… …   Википедия

  • Visual T Sharp — Pour les articles homonymes, voir TSharp et .ts. Visual T# Apparu en 2009 Auteur …   Wikipédia en Français

  • Microsoft Visual Studio — Visual Studio 2010 SP1 editing a WPF application Developer(s) …   Wikipedia

  • Sheltered instruction — is an approach to teaching English language learners which integrates language and content instruction. The dual goals of sheltered instruction are: # to provide access to mainstream, grade level content, and # to promote the development of… …   Wikipedia

  • Comparison of C Sharp and Visual Basic .NET — The correct title of this article is Comparison of C# and Visual Basic .NET. The substitution or omission of the # sign is because of technical restrictions. Programming language comparisons General comparison Basic syntax Basic instructions …   Wikipedia

  • History of automated adaptive instruction in computer applications — Within the field of Human computer interaction there has long been interest in developing adaptive automated instruction software to facilitate learning of application programs. This software would monitor a computer user s behavior while he or… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”