www.wikidata.de-de.nina.az
AltiVec ist eine von IBM und Motorola entwickelte SIMD Einheit fur die PowerPC Prozessor Familie AltiVec ist auch eine Handelsmarke von Motorola deshalb wird von Apple auch die Bezeichnung Velocity Engine verwendet und IBM verwendet die Bezeichnung VMX Vector Media Extensions fur diese SIMD Einheit Mit Hilfe von AltiVec lasst sich dieselbe Operation auf mehrere Datenworter gleichzeitig anwenden Dabei unterstutzt die Vektoreinheit anstatt einzelne Zahlen zu berechnen werden sie zusammengenommen als Vektor betrachtet bis zu sechzehn Elemente pro Vektor Nutzt also eine Software die volle Leistungsfahigkeit von AltiVec kann sie arithmetische Aufgaben theoretisch in bis zu einem Sechzehntel der sonst notwendigen Zeit erledigen Ursprunglich in die PowerPC Prozessoren eingebaut wurde die SIMD Einheit auch in spatere ab POWER6 IBM Power Prozessoren eingebaut und schliesslich mit POWER7 als VSX Vector Scalar Extensions auf 64 Register von 128 Bit Breite erweitert Die weitere Entwicklung lauft nach dem Ende der PowerPC Prozessoren mit dem Wechsel von Apple zu Intel Prozessoren wieder bei IBM in der IBM POWER Plattform weiter 1 Spezifikation Name realisiert in ProzessorPower ISA v 2 03 Altivec VMX POWER6Power ISA v 2 06 VSX POWER7Power ISA v 2 07 VSX 2 POWER8Power ISA v 3 0 VSX 3 POWER9Technik BearbeitenEin AltiVec Vektorregister ist stets 128 bit breit Je nach verwendetem Datentyp konnen in einem solchen Vektorregister 16 8 oder 4 Elemente gehalten und fur die Berechnung verwendet werden Neben den Ganzzahldatentypen byte short und long ist auch der Fliesskommadatentyp float entspr IEEE 754 single verwendbar Doppelt genaue Fliesskommawerte double werden von AltiVec nicht unterstutzt Demnach ergibt sich die folgende Konfiguration eines AltiVec Vektorregisters 2 Datentyp Breite des Datentyps Gehaltene Elemente Beschleunigungbyte 8 Bits 16 16 short 16 Bits 8 8 long 32 Bits 4 4 float entspr IEEE 754 single 32 Bits 4 4 Das Problem von AltiVec ist jedoch Viele Entwickler sind sich der Moglichkeiten nicht bewusst und wissen kaum mehr daruber als dass es ihr Programm schneller machen kann denn das Marketing Programm erwahnte lediglich Beschleunigungen in den Grafik Multimedia und Netzwerk Bereichen Dies fuhrt jedoch nur dazu dass Programme dieser Bereiche extensiven Gebrauch von vor allem Gleitkomma Operationen machen Die Recheneinheit arbeitet so schnell dass es schwierig ist sie stets mit Rechennachschub zu versorgen Die breitbandige Architektur der G5 Prozessoren bietet hierbei keinen relevanten Vorteil gegenuber vorigen G4 Systemen G5 Prozessoren haben bereits zwei vollstandige Gleitkommaeinheiten die unabhangig von der AltiVec Einheit arbeiten und eigentlich die gesamte Bandbreite des Prozessors verbrauchen konnen Weiterhin arbeitet die AltiVec Einheit des letzten G4 von Motorola effizienter als die des G5 der von IBM stammt und dessen Altivec Einheit nachtraglich an den vorhandenen Prozessor angesetzt wurde Compilerunterstutzung BearbeitenDie GNU Compiler Collection GCC unterstutzt AltiVec uber sogenannte Built In Functions 3 als auch uber spezielle Vektortypen 4 womit einfache Operationen wie usw automatisch vektorisiert werden Einzelnachweise Bearbeiten Paul Clarke Vectorizing for fun and performance IBM abgerufen am 5 November 2023 englisch AltiVec Technology Programming Interface Manual PDF 1 6 MB NXP Juni 1999 S 21 abgerufen am 5 November 2023 englisch GCC 3 3 6 manuals PowerPC AltiVec Built in Functions In GCC online documentation The GCC team S 5 45 3 abgerufen am 23 November 2010 englisch eine Auflistung der GCC AltiVec Erweiterungen Using vector instructions through built in functions Abgerufen am 13 Oktober 2012 Abgerufen von https de wikipedia org w index php title AltiVec amp oldid 238805761