AltiVec


AltiVec

AltiVec es un conjunto de instrucciones SIMD en coma flotante y enteros diseñado y en propiedad de Apple Computer, IBM y Motorola (la alianza AIM), y puesto en ejecución en las versiones de PowerPC incluyendo el G4 de Motorola y los procesadores G5 de IBM. AltiVec es una marca registrada en propiedad de Motorola, así que el sistema también es nombrado como Velocity Engine por Apple y VMX por IBM.

AltiVec era el sistema SIMD más potente en una Unidad de Procesamiento Central de un ordenador de sobremesa cuando fue introducido al final de los años 90. Comparado con sus contemporáneos (MMX de sólo números enteros de Intel, SSE en coma flotante, y los diversos sistemas de otros fabricantes RISC), AltiVec ofrecía más registros que se podían utilizar de más formas y funcionar mediante un conjunto de instrucciones mucho más flexible. Sin embargo, el sistema SIMD de cuarta generación de Intel, SSE2, introducido con el Pentium 4, tiene muchas funciones similares a las de AltiVec.

Tanto Altivec como los registros de vector de 128-bit de SSE2 pueden representar dieciséis caracteres de 8-bit con signo o sin él, ocho enteros cortos con signo o sin signo de 16-bit, cuatro enteros de 32-bit o cuatro variables en coma flotante en formato 32-bit. Ambos proporcionan instrucciones de control de la caché CPU previstas para reducir al mínimo la contaminación de la caché al trabajar con flujos de datos.

También muestran diferencias importantes. Al contrario que SSE2, AltiVec soporta un tipo de datos especial de "píxel" RGB, pero no opera con floats de doble precisión, y no hay manera de mover datos directamente entre los registros escalares y los de vectores. En armonía con el modelo de "cargar/almacenar" del diseño RISC del PowerPC, los registros del vector, como los registros escalares, sólo se pueden cargar desde la memoria, y almacenar en ella. Sin embargo, AltiVec proporciona un sistema mucho más completo de operaciones "horizontales" que trabajan a través de todos los elementos de un vector; las combinaciones permitidas de los tipos de datos y de las operaciones con éstos son mucho más completas. Se proporcionan 32 registros de vectores de 128-bit, comparado con los 8 de SSE y SSE2, y la mayoría de las instrucciones de Altivec toman tres operandos de registro, comparado con sólo dos operandos registro/registro o registro/memoria en un IA-32.

Las versiones recientes de GCC, Compilador Visual Age IBM y otros compiladores proporcionan intrínsecos para acceder a las instrucciones de AltiVec directamente desde programas en C y C++. La clase dedicada al almacenamiento "vector" aparece para permitir la declaración de los tipos nativos del vector, por ejemplo, "vector unsigned char foo;" declara una variable de 128-bit llamada "foo" que contiene dieciséis caracteres sin signo de 8-bit. Las funciones intrínsecas sobrecargadas tales como "vec_add" emiten el código op apropiado basado en el tipo de los elementos del vector, y se obliga a cumplir un fuerte tipado. En contraste, los tipos de datos definidos por Intel para los registros SIMD de IA-32 declaran solamente el tamaño del registro del vector (128 ó 64 bits) y en el caso de un registro de 128-bit, sí contiene números enteros o valores en la coma flotante. El programador debe seleccionar el intrínseco apropiado para los tipos de datos empleados, por ejemplo, _mm_add_epi16(x, y) para añadir dos vectores que contienen ocho números enteros de 16-bit.

Apple es el principal cliente de AltiVec, y lo usa para acelerar aplicaciones multimedia como QuickTime y ITunes y programas de procesamiento de imágenes tales como Adobe Photoshop. AltiVec también ha trabajado en partes clave del Mac OS X de Apple, incluido el compositor de gráficos Quartz. Motorola ha provisto las unidades de AltiVec en todos sus ordenadores de sobremesa desde el G4. AltiVec también se utiliza en algunos sistemas embebidos para proporcionar un proceso de la señal digital con un extremadamente alto rendimiento.

IBM ha dejado a VMX constantemente fuera de sus sistemas propietarios POWER, que están pensados para ser empleados como aplicaciones de servidor donde no es muy útil. Sin embargo, el ordenador de escritorio más reciente PowerPC 970 (apodado G5 por Apple) de IBM, incluye una unidad de alto rendimiento de AltiVec. Incluye dos unidades funcionales para permitir efectos superescalares; un VMX completo en una unidad, y un multiplicador/sumador en la otra.

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • AltiVec — est un ensemble d instructions SIMD d opérations en virgule flottante conçu par, et propriété de, Apple, IBM et Motorola (l alliance AIM), et mis en application sur des versions du PowerPC telle le G4 de Motorola et le G5 d IBM. AltiVec est un… …   Wikipédia en Français

  • AltiVec — AltiVec  набор SIMD (векторных) инструкций для работы с плавающей запятой и целочисленной арифметикой, разработанный и принадлежащий Apple Computer, IBM и Motorola (известных, как AIM alliance). AltiVec реализован в различных версиях… …   Википедия

  • AltiVec — is a floating point and integer SIMD instruction set designed and owned by Apple, IBM and Freescale Semiconductor, formerly the Semiconductor Products Sector of Motorola, (the AIM alliance), and implemented on versions of the PowerPC including… …   Wikipedia

  • AltiVec — AltiVec™, VMX und auch Velocity Engine, ist die Bezeichnung für die von Motorola bzw. für die von IBM für die PowerPC Familie entwickelte SIMD Einheit. Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere Datenwörter gleichzeitig… …   Deutsch Wikipedia

  • Altivec — AltiVec™, VMX und auch Velocity Engine, ist die Bezeichnung für die von Motorola bzw. für die von IBM für die PowerPC Familie entwickelte SIMD Einheit. Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere Datenworte gleichzeitig… …   Deutsch Wikipedia

  • AltiVec — es un conjunto de instrucciones SIMD en coma flotante y enteros diseñado y en propiedad de Apple Computer, IBM y Motorola (la alianza AIM), y puesto en ejecución en las versiones de PowerPC incluyendo el G4 de Motorola y los procesadores G5 de… …   Enciclopedia Universal

  • AltiVec — ● np. f. ►PUCE Ensemble de 162 nouvelles instructions, travaillant sur 32 registres de 128 bits, ajoutées par Motorola (avec le soutien d Apple et d IBM) aux PowerPC. à partir du G4. Du fait de la présence de nouveaux registres, les OS devront… …   Dictionnaire d'informatique francophone

  • VMX — AltiVec AltiVec est un ensemble d instructions SIMD d opérations en virgule flottante conçu par, et propriété de, Apple, IBM et Motorola (l alliance AIM), et mis en application sur des versions du PowerPC telle le G4 de Motorola et le G5 d IBM.… …   Wikipédia en Français

  • VMX — AltiVec™, VMX und auch Velocity Engine, ist die Bezeichnung für die von Motorola bzw. für die von IBM für die PowerPC Familie entwickelte SIMD Einheit. Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere Datenworte gleichzeitig… …   Deutsch Wikipedia

  • Velocity Engine — AltiVec™, VMX und auch Velocity Engine, ist die Bezeichnung für die von Motorola bzw. für die von IBM für die PowerPC Familie entwickelte SIMD Einheit. Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere Datenworte gleichzeitig… …   Deutsch Wikipedia