FACTOID # 126: Iceland has many, many more tractors per 1000 hectares of cropland than any other nation - more than twice that of the next highest country, Slovenia.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "AltiVec" also viewed:
RECENT ARTICLES
More Recent Articles »
 

Encyclopedia > 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. A floating-point number is a digital representation for a number in a certain subset of the rational numbers, and is often used to approximate an arbitrary real number on a computer. ... -1... An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ... Apple Computer, Inc. ... International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ... Motorola (NYSE: MOT) is an international communications company based in Schaumburg, Illinois, a Chicago suburb. ... AIM was an alliance formed in 1991 between Apple Computer, IBM and Motorola to create a new computing standard based on the PowerPC architecture. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... PowerPC G4 is a designation used by Apple Computer to describe a fourth generation of PowerPC microprocessors. ... PowerPC 970 In computing, the PowerPC 970, PowerPC 970FX, and PowerPC 970MP, also known as PowerPC G5, are 64-bit processors in the PowerPC family from IBM, which was introduced in 2002. ... A trade name, also known as a trading name or a business name, is the legal name of a business, or the name which a business trades under for commercial purposes. ... For other uses, see IBM (disambiguation). ...


It should be noted that while the terms VMX and Altivec refer to the same instruction set, the implementations in CPUs produced by IBM and Motorola are separate in terms of logic design. To date, no IBM core has included an Altivec logic design licensed from Motorola and vice-versa.

Contents


Features and similarities

Both AltiVec and SSE 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. SSE is an abbreviation for Shenzhen Stock Exchange Sign Supported English, the use of British Sign Language with an English grammar. ... The IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) is the most widely-used standard for floating-point computation, and is followed by many CPU and FPU implementations. ... Diagram of a CPU memory cache A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. ... Cache pollution describes situations where an executing computer program loads data into CPU cache unnecessarily, thus causing other needed data to be evicted from the cache into lower levels of the memory hierarchy, potentially all the way down to main memory. ...


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. The RGB color model is an additive model in which red, green and blue (often used in additive light models) are combined in various ways to reproduce other colors. ... A pixel (short for picture element, using the common abbreviation pix for picture) is one of the many tiny dots that make up the representation of a picture in a computers memory. ... In computer programming, an array, also known as a vector or list (for one-dimensional arrays) or a matrix (for two-dimensional arrays), is one of the simplest data structures. ... It has been suggested that this article or section be merged with X86 assembly language. ...


AltiVec is also unique in its support for a flexible vector permute instruction, in which each byte of a resulting vector value can be taken from any byte of either of two other vectors, parametrized by yet another vector. This allows for sophisticated manipulations in a single instruction.


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. The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ... VisualAge was the name of a family of computer integrated development environments from IBM, which included support for a few popular (and not so popular) computer Programming_languages. ... In compiler theory, an intrinsic function is a function available in a given language whose implementation is handled specially by the compiler. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language (often, just C) is a general-purpose, procedural, imperative computer programming language developed in the early 1970s by Dennis Ritchie for use... For a WikiBook on programming with C++, see Wikibooks: C++ Programming. ...


Development history

AltiVec was developed between 1996 and 1998 by Keith Diefendorff, the distinguished scientist and director of microprocessor architecture at Apple Computer.


Apple was the primary customer for AltiVec (Apple has announced intentions to use Intel based CPUs going forward), and uses it to accelerate multimedia applications such as QuickTime and iTunes. AltiVec is also put to work in key parts of Apple's Mac OS X including in the Quartz graphics compositor. Other companies such as Adobe use it for optimization of their image-processing programs such as Adobe Photoshop. Motorola was the first to supply AltiVec enabled processors starting with their G4 line (Motorola has since spun off its processor division into the separate company Freescale). AltiVec is also used in some embedded systems that are used for high-performance digital signal processing. Multimedia is the use of several different media (e. ... QuickTime is a multimedia technology developed by Apple Computer, capable of handling various formats of digital video, sound, text, animation, music, and immersive panoramic (and sphere panoramic) images. ... iTunes is a proprietary digital media player application, launched by Apple Computer on January 9, 2001, for playing and organizing digital music and video files. ... This article or section does not cite its references or sources. ... Quartz is the marketing name of the proprietary graphics layer that sits on top of the open source Darwin core of Mac OS X. Quartz is part of the Core Graphics framework. ... Adobe Photoshop is a graphics editor (with some text and vector graphics capabilities) developed and published by Adobe Systems. ... American corporation Freescale Semiconductor, Inc. ...


IBM has consistently left VMX out of their 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. The core includes a multiplier/adder unit and a full VMX unit. International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... PowerPC 970 In computing, the PowerPC 970, PowerPC 970FX, and PowerPC 970MP, also known as PowerPC G5, are 64-bit processors in the PowerPC family from IBM, which was introduced in 2002. ... Power Mac G5 The Power Mac G5 is Apple Computers name for models of the Power Mac which utilize the PowerPC G5 processor. ...


Also, according to IBM, some VMX instructions are included in the PowerPC-based Xenon processor used in the Microsoft Xbox 360 games console[1]. The Cell's PPE does feature VMX as well. The Cell microprocessor has been jointly developed by Sony, Toshiba, and IBM. The Cell architecture is intended to be scalable through the use of vector processing. ...


References

  1. ^ "The Microsoft Xbox 360 CPU story."

External links


  Results from FactBites:
 
O'Reilly Network -- The AltiVec Difference (884 words)
For all itÂ’s marketing hurrah, the concept of AltiVec is exceedingly simple: it processes data in multiples, working on a whole mouthful of data instead of tackling it one nibble at a time like the integer and floating-point units.
Within the AltiVec unit, data is held by 128-bit "short vector" registers, each capable of holding four single-precision (32-bit) floating-point words, four 32-bit integer words, eight 16-bit integer half-words, or 16 8-bit integer bytes.
All AltiVec instructions are fully pipelined with single-cycle throughput, and each can address up to three source-vector registers and one destination-vector register during execution.
AltiVec - Wikipedia, the free encyclopedia (721 words)
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 was developed between 1996 and 1998 by Keith Diefendorff, the distinguished scientist and director of microprocessor architecture at Apple Computer.
AltiVec is also put to work in key parts of Apple's Mac OS X including in the Quartz graphics compositor.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.