3DNow
3DNow! bezeichnet die von AMD, Centaur und Cyrix erarbeitete Multimedia-Befehlssatzerweiterung, die mit dem AMD K6-2 1998 eingeführt wurde. Diese Erweiterung ermöglichte neue Befehle direkt in Hardware, die den Prozessor bei rechenintensiven Applikationen erheblich beschleunigen konnten. Diese neuen Befehle konnten allerdings erst ihre Wirkung entfalten, wenn sie auch von den jeweiligen Programmen unterstützt wurden, dies war allerdings seit der Einführung von 3DNow! nur in geringem Maße der Fall, da die Mehrzahl der Softwareentwickler nach der Einführung 1999 bevorzugt die Alternativentwicklung SSE von Intel einsetzte. Ein Vorteil der 3DNow!-Erweiterung gegenüber der SSE-Erweiterung war allerdings, dass man in einem 3DNow!-Register zwei 32-Bit-Gleitkommazahlen speichern und mit entsprechenden Befehlen auch miteinander verrechnen konnte, während dies bei SSE nicht möglich war. Diese Funktion wurde erst mit SSE3 mit den Befehlen HADD/HSUB/ADDSUB nachgereicht.
3DNow! sollte, wie der Name bereits ausdrückt, vor allem im Bereich der 3D-Grafik, also der Vektoroperationen, große Geschwindigkeitsvorteile erbringen. Während z. B. MMX nur ganze Zahlen unterstützt, stellt 3DNow! viele Befehle zur Verarbeitung von Gleitkommazahlen einfacher Genauigkeit zur Verfügung.
Wesentlich weiter entwickelt findet sich dieser Ansatz in ASICs (woher er ursprünglich stammt) sowie in den AltiVec-Einheiten von PowerPC-CPUs – oder auf heutigen Grafikkarten.
AMD empfiehlt den Einsatz von 3DNow! nicht mehr.[1] Vor dem Einsatz dieser Befehle sollten Programmierer daher deren Verfügbarkeit mittels des entsprechenden CPUID-Bits überprüfen. Am 18. August 2010 kündigte AMD an, dass kommende Prozessoren kein 3DNow mehr unterstützen würden.[2] Lediglich die PREFETCH und PREFETCHW Befehle blieben erhalten. Prozessoren der AMD-Fusion-Reihe waren dann auch die ersten AMD-Prozessoren, bei denen die Befehlssatzerweiterung wieder entfiel.
CPUs mit 3DNow!
Da 3DNow! eine der ersten Erweiterungen der x86-Architektur war, unterstützten viele CPUs (außer von Intel) jahrelang 3DNow!. Eine vollständige Liste aller CPUs mit 3DNow! wäre also sehr unübersichtlich. An dieser Stelle sei daher auf die Liste von Mikroprozessoren verwiesen.
Nachfolgend eine Übersicht der CPU-Familien, in denen die jeweiligen Hersteller 3DNow! integriert haben:
- AMD: AMD K6-2 bis AMD K10
- Centaur Technology: ab IDT WinChip 2 und bis VIA C3 einschließlich Prozessorkern Ezra-T
- Cyrix: Cyrix III (Joshua) und Cyrix MediaGX MXi (kamen beide nicht auf den Markt)
Weblinks
- AMD 3DNow! Instruction Porting Guide (englisch, PDF; 540 kB)
Einzelnachweise
- AMD64 Architecture Programmer's Manual Volume 5 (englisch; PDF) – Appendix A: Recommended Substitutions for 3DNow! Instructions, März 2012
- 3DNow! Instructions are Being Deprecated (englisch)