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.
Ontwerp
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.
Geschiedenis
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).
- ↑ a b (en) Seebach, Peter, Unrolling AltiVec, Part 1: Introducing the PowerPC SIMD unit. IBM (1 maart 2005). Gearchiveerd op 10 september 2012.
- ↑ (en) Power ISA v.2.03 (
). Power.org (29 september 2006), "Preface", iii.
- ↑ (en) Gschwind, Michael (maart 2016). Workload acceleration with the IBM POWER vector-scalar architecture. Gearchiveerd op 25 januari 2022. IBM Journal of Research and Development 60 (2-3): 14:1-14:18. DOI:10.1147/JRD.2016.2527418.