<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=AltiVec</id>
	<title>AltiVec - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=AltiVec"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=AltiVec&amp;action=history"/>
	<updated>2026-06-01T05:43:46Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=AltiVec&amp;diff=86756&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=AltiVec&amp;diff=86756&amp;oldid=prev"/>
		<updated>2025-12-09T13:55:37Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;AltiVec&amp;#039;&amp;#039;&amp;#039; ist eine von [[IBM]] und Motorola entwickelte [[SIMD]]-Einheit für die [[PowerPC]]-Prozessor-Familie. AltiVec ist auch eine Handelsmarke von [[Motorola]], deshalb wird von [[Apple]] auch die Bezeichnung &amp;#039;&amp;#039;&amp;#039;Velocity Engine&amp;#039;&amp;#039;&amp;#039; verwendet und IBM verwendet die Bezeichnung &amp;#039;&amp;#039;&amp;#039;VMX&amp;#039;&amp;#039;&amp;#039; (Vector Media Extensions) für diese SIMD-Einheit.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere [[Datenwort|Datenwörter]] gleichzeitig anwenden. Dabei unterstützt 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 Leistungsfähigkeit von AltiVec, kann sie arithmetische Aufgaben theoretisch in &amp;#039;&amp;#039;bis zu&amp;#039;&amp;#039; einem Sechzehntel der sonst notwendigen Zeit erledigen.&lt;br /&gt;
&lt;br /&gt;
Ursprünglich in die PowerPC-Prozessoren eingebaut, wurde die SIMD-Einheit auch in spätere (ab POWER6) [[IBM Power|IBM-Power]]-Prozessoren eingebaut und schließlich mit POWER7 als &amp;#039;&amp;#039;&amp;#039;VSX&amp;#039;&amp;#039;&amp;#039; (Vector Scalar Extensions) auf 64 Register von 128 Bit Breite erweitert. Die weitere Entwicklung läuft nach dem Ende der PowerPC-Prozessoren (mit dem Wechsel von Apple zu Intel-Prozessoren) wieder bei IBM in der IBM POWER-Plattform weiter: &amp;lt;ref&amp;gt;{{Internetquelle |autor=Paul Clarke |url=https://www.ibm.com/support/pages/vectorizing-fun-and-performance |titel=Vectorizing for fun and performance |hrsg=IBM |sprache=en |abruf=2023-11-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Spezifikation !! Name !! realisiert in Prozessor&lt;br /&gt;
|-&lt;br /&gt;
| Power ISA v.2.03 || Altivec / VMX || POWER6&lt;br /&gt;
|-&lt;br /&gt;
| Power ISA v.2.06 || VSX || POWER7&lt;br /&gt;
|-&lt;br /&gt;
| Power ISA v.2.07 || VSX-2 || POWER8&lt;br /&gt;
|-&lt;br /&gt;
| Power ISA v.3.0 || VSX-3 || POWER9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
Ein AltiVec-Vektorregister ist stets 128 bit breit. Je nach verwendetem Datentyp können in einem solchen Vektorregister 16, 8, oder 4 Elemente gehalten und für die Berechnung verwendet werden. Neben den [[Integer (Datentyp)|Ganzzahldatentypen]] &amp;#039;byte&amp;#039;, &amp;#039;short&amp;#039; und &amp;#039;long&amp;#039; ist auch der Fließkommadatentyp &amp;#039;float&amp;#039; [[IEEE 754|(entspr. IEEE 754 single)]] verwendbar. Doppelt genaue Fließkommawerte (&amp;#039;double&amp;#039;) werden von AltiVec nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
Demnach ergibt sich die folgende Konfiguration eines AltiVec-Vektorregisters:&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.nxp.com/docs/en/reference-manual/ALTIVECPIM.pdf |titel=AltiVec Technology Programming Interface Manual |hrsg=NXP |datum=1999-06 |seiten=21 |format=PDF; 1,6 MB |sprache=en |abruf=2023-11-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Datentyp !! Breite des Datentyps !! Gehaltene Elemente !! Beschleunigung&lt;br /&gt;
|-&lt;br /&gt;
| byte || 8 Bits || 16 || 16 ×&lt;br /&gt;
|-&lt;br /&gt;
| short || 16 Bits || 8 || 8 ×&lt;br /&gt;
|-&lt;br /&gt;
| long || 32 Bits || 4 || 4 ×&lt;br /&gt;
|-&lt;br /&gt;
| float [[IEEE 754|(entspr. IEEE 754 single)]] || 32 Bits || 4 || 4 ×&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Problem von AltiVec ist jedoch:&lt;br /&gt;
* Viele Entwickler sind sich der Möglichkeiten nicht bewusst und wissen kaum mehr darüber, als dass es ihr Programm „schneller machen kann“, denn das Marketing-Programm erwähnte lediglich Beschleunigungen in den Grafik-, Multimedia- und Netzwerk-Bereichen. Dies führt jedoch nur dazu, dass Programme dieser Bereiche extensiven Gebrauch von vor allem Gleitkomma-Operationen machen.&lt;br /&gt;
* Die Recheneinheit arbeitet so schnell, dass es schwierig ist, sie stets mit Rechennachschub zu versorgen. Die breitbandige Architektur der [[PowerPC G5|G5-Prozessoren]] bietet hierbei keinen relevanten Vorteil gegenüber vorigen [[PowerPC G4|G4]]-Systemen. G5-Prozessoren haben bereits zwei vollständige Gleitkommaeinheiten, die unabhängig von der AltiVec-Einheit arbeiten und eigentlich die gesamte [[Bandbreite]] des Prozessors verbrauchen können. Weiterhin arbeitet die AltiVec-Einheit des letzten G4 von Motorola effizienter als die des G5, der von IBM stammt, und dessen Altivec-Einheit „nachträglich“ an den vorhandenen Prozessor angesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
== Compilerunterstützung ==&lt;br /&gt;
Die [[GNU Compiler Collection]] GCC unterstützt AltiVec über sogenannte{{lang|en|“Built-In Functions”}} &amp;lt;ref&amp;gt;{{Internetquelle|url=https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/PowerPC-AltiVec-Built_002din-Functions.html|titel=GCC 3.3.6 manuals|titelerg=PowerPC AltiVec Built-in Functions|hrsg=The GCC team|werk=GCC online documentation|seiten=5.45.3|zugriff=2010-11-23|sprache=en|kommentar=eine Auflistung der GCC AltiVec-Erweiterungen}}&amp;lt;/ref&amp;gt; als auch über spezielle Vektortypen&amp;lt;ref&amp;gt;{{Internetquelle|url=https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Vector-Extensions.html#Vector-Extensions|titel=Using vector instructions through built-in functions|zugriff=2012-10-13}}&amp;lt;/ref&amp;gt; womit einfache Operationen wie +,-,*,/ usw. automatisch &amp;#039;vektorisiert&amp;#039; werden.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Hardware (Produkt)]]&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;br /&gt;
[[Kategorie:Prozessorarchitektur]]&lt;br /&gt;
[[Kategorie:Power-Architektur]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>