Science Fair Projects Ideas - AltiVec

All Science Fair Projects

      

Science Fair Project Encyclopedia for Schools!

  Search    Browse    Forum  Coach    Links    Editor    Help    Tell-a-Friend    Encyclopedia    Dictionary     

Science Fair Project Encyclopedia

For information on any area of science that interests you,
enter a keyword (eg. scientific method, molecule, cloud, carbohydrate etc.).
Or else, you can start by choosing any of the categories below.

AltiVec

AltiVec is a floating point and integer SIMD instruction set designed and owned by Apple Computer, IBM and Motorola (the AIM alliance), and implemented on versions of the PowerPC including Motorola's G4 and IBM's G5 processors. AltiVec is a tradename owned solely by Motorola, so the system is also referred to as Velocity Engine by Apple and VMX by IBM.

AltiVec was the most powerful SIMD system in a desktop CPU when it was first introduced in the late-1990s. Compared to its contemporaries (Intel's integer-only MMX, floating point SSE, and various systems from other RISC vendors), AltiVec offered more registers that could be used in more ways and operated on by a much more flexible instruction set. However, Intel's fourth-generation SIMD system, SSE2 introduced with the Pentium 4, has many of the same functions as AltiVec.

Both AltiVec and SSE2 feature 128-bit vector registers that can represent sixteen 8-bit signed or unsigned chars, eight 16-bit signed or unsigned shorts, four 32-bit ints or four 32-bit floating point variables. Both provide cache-control instructions intended to minimize cache pollution when working on streams of data.

They also exhibit important differences. Unlike SSE2, AltiVec supports a special RGB "pixel" data type, but it does not operate on 64-bit double precision floats, and there is no way to move data directly between scalar and vector registers. In keeping with the "load/store" model of the PowerPC's RISC design, the vector registers, like the scalar registers, can only be loaded from and stored to memory. However, AltiVec provides a much more complete set of "horizontal" operations that work across all the elements of a vector; the allowable combinations of data type and operations are much more complete. 32 128-bit vector registers are provided, compared to 8 for SSE and SSE2, and most AltiVec instructions take three register operands compared to only two register/register or register/memory operands on IA-32.

Recent versions of the GNU Compiler Collection, IBM Visual Age Compiler and other compilers provide intrinsics to access AltiVec instructions directly from C and C++ programs. The "vector" storage class is introduced to permit the declaration of native vector types, e.g., "vector unsigned char foo;" declares a 128-bit vector variable named "foo" containing sixteen 8-bit unsigned chars. Overloaded intrinsic functions such as "vec_add" emit the appropriate op code based on the type of the elements within the vector, and very strong type checking is enforced. In contrast, the Intel-defined data types for IA-32 SIMD registers declare only the size of the vector register (128 or 64 bits) and in the case of a 128-bit register, whether it contains integers or floating point values. The programmer must select the appropriate intrinsic for the data types in use, e.g., _mm_add_epi16(x,y) for adding two vectors containing eight 16-bit integers.

Apple is the primary customer for AltiVec, and uses it to accelerate multimedia applications such as QuickTime and iTunes and image-processing programs such as Adobe Photoshop. Motorola has supplied AltiVec units in all of their desktop CPU's since the G4. AltiVec is also used in some embedded systems to provide extremely high-performance digital signal processing.

IBM has consistently left VMX out of their proprietary POWER systems, which are intended for mainframe and server applications where it is not very useful. However, the most recent PowerPC 970 (dubbed the G5 by Apple) desktop CPU from IBM does include a high-performance AltiVec unit. It includes two functional units to allow superscalar effects; a full VMX in one unit, and a multiplier/adder in the other.

External links

03-10-2013 05:06:04
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details
Science kits, science lessons, science toys, maths toys, hobby kits, science games and books - these are some of many products that can help give your kid an edge in their science fair projects, and develop a tremendous interest in the study of science. When shopping for a science kit or other supplies, make sure that you carefully review the features and quality of the products. Compare prices by going to several online stores. Read product reviews online or refer to magazines.

Start by looking for your science kit review or science toy review. Compare prices but remember, Price $ is not everything. Quality does matter.
Science Fair Coach
What do science fair judges look out for?
ScienceHound
Science Fair Projects for students of all ages
All Science Fair Projects.com Site
All Science Fair Projects Homepage
Search | Browse | Links | From-our-Editor | Books | Help | Contact | Privacy | Disclaimer | Copyright Notice