AltiVec

POWER-, PowerPC- en Power ISA-architectuur

Processorarchitectuur

Historisch

POWER · POWER2 · POWER3 · POWER4 · POWER5 · PPC6xx · PPC7xx · PPC74xx · PPC970 · PowerPC-AS · Broadway

Huidig

e200 · e300 · e500 · e600 · e5500 · e6500 · PA6T · POWER6 · POWER7 · POWER8 · POWER9 · Power10 · PPC4xx · Cell PPE · Xenon

Geannuleerd

e700 · Titan

Gerelateerde links

OpenPOWER Foundation · RISC · AIM-alliantie · System p · Power.org · PAPR · PReP · CHRP · AltiVec

AltiVec is een SIMD-instructieset voor single precision integer- en floatingpointberekeningen die ontworpen werd en eigendom is van Apple, IBM en Freescale Semiconductor (voorheen Motorola's semiconductorafdeling), de zogenaamde AIM-alliantie. Het wordt gebruikt in verschillende versies van de PowerPC-processorarchitectuur,[1] waaronder de G4-processor van Motorola, de G5- en POWER6-processoren van IBM en de PWRficient PA6T van P.A. Semi.

AltiVec is een handelsmerk dat exclusief eigendom is van Freescale, daarom wordt het systeem ook wel Velocity Engine genoemd door Apple en VMX (Vector Multimedia Extension) door IBM en P.A. Semi.[1] AltiVec is een standaardonderdeel van de Power ISA v.2.03-specificatie.[2]

Hoewel AltiVec verwijst naar een instructieset, zijn de implementaties in CPU's geproduceerd door IBM en Motorola verschillend qua logisch ontwerp. Tot op heden heeft geen enkele IBM-kern een AltiVec-ontwerp gebruikt onder licentie van Motorola of omgekeerd.

AltiVec implementeert een zogenaamde vectorprocessor, die dezelfde wiskundige bewerking tegelijkertijd op meerdere woorden kan toepassen. In plaats van individuele getallen te berekenen, worden ze samen als een vector beschouwd. AltiVec ondersteunt maximaal zestien elementen per vector, dus als de software de volledige mogelijkheden van AltiVec gebruikt, kunnen rekenkundige taken voltooid worden in maximaal een zestiende van de tijd die anders nodig zou zijn.

Oorspronkelijk werd AltiVec ingebouwd in de PowerPC-processors, maar later werd de vectorprocessor ook gebruikt in de POWER6-processor van IBM en uiteindelijk werd het als VSX (Vector Scalar Extension) in de POWER7-processor uitgebreid tot 64 registers met een breedte van 128 bits.[3]

Sinds de overstap door Apple van PowerPC- naar Intel-processoren in 2006 gebeuren de verdere ontwikkelingen bij IBM in het IBM POWER-platform met VSX-2 in de Power ISA v.2.07-specificatie (gebruikt in de POWER8-processor) en VSX-3 in de Power ISA v.3.0-specificatie (gebruikt in de POWER9-processor).