3DNow!

3DNow! ist eine Erweiterung auf den x86 von Advanced Micro Devices (AMD) entwickelten Befehlssatz. Es fügt Instruktionen der einzelnen Instruktion vielfachen Daten (SIMD) zur Basis x86 Befehlssatz hinzu, ihm ermöglichend, einfache Vektor-Verarbeitung durchzuführen, die die Leistung von vielen grafisch-intensiven Anwendungen verbessert. Der erste Mikroprozessor, um 3DNow durchzuführen! war der AMD K6-2, der 1998 eingeführt wurde. Als die Anwendung passend war, hat das die Geschwindigkeit vor ungefähr 2-4mal erhoben. Jedoch hat der Befehlssatz nie viel Beliebtheit gewonnen, und AMD hat auf dem August 2010 diese Unterstützung für 3DNow bekannt gegeben! wird in AMD zukünftigen Verarbeitern abgesehen von zwei Instruktionen fallen gelassen sein.

Geschichte

3DNow! wurde entwickelt, als 3D-Grafik Hauptströmung in PC-Multimedia und spielender Software wurde. Die Echtzeitanzeige der 3D-Grafik hat schwer von der Schwimmpunkt-Gastgeber-Zentraleinheitseinheit (FPU) abgehangen, um Schwimmpunkt-Berechnungen, eine Aufgabe durchzuführen, in der der K6 Verarbeiter von AMD um seinen Mitbewerber, Intel Pentium-II leicht überboten wurde.

Als eine Erhöhung zum MMX Befehlssatz, 3DNow! Befehlssatz hat den MMX SIMD vermehrt Register, um allgemeine arithmetische Operationen zu unterstützen (fügen) auf der einfachen Präzision (32 Bit) Schwimmpunkt-Daten (hinzu/abziehen/multiplizieren). Software, die geschrieben ist, um AMD'S 3DNow zu verwenden! statt langsamer x87 konnte FPU bis zu 4x schneller abhängig von der Instruktionsmischung durchführen.

Versionen

3DNow!

Die erste Durchführung 3DNow! Technologie enthält 21 neue Instruktionen, die SIMD Schwimmpunkt-Operationen unterstützen. 3DNow! Datenformat, ist einfache Präzision, Schwimmpunkt gepackt. 3DNow! Befehlssatz schließt auch Operationen wegen SIMD Operationen der ganzen Zahl, Datenvorabrufes, und schneller MMX zur Schwimmpunkt-Schaltung ein. Später würde Intel ähnlich (aber unvereinbar) Instruktionen zum Pentium III, bekannt als SSE beitragen, um SIMD Erweiterungen Zu verströmen.

3DNow! Schwimmpunkt-Instruktionen

  • PI2FD - Gepackte ganze 32-Bit-Zahl zur Schwimmpunkt-Konvertierung
  • PF2ID - Gepackter Schwimmpunkt zu 32-Bit-Konvertierung der ganzen Zahl
  • PFCMPGE - Gepackter Schwimmpunkt-Vergleich, größerer oder gleicher
  • PFCMPGT - Gepackter Schwimmpunkt-Vergleich, größerer
  • PFCMPEQ - Gepackter Schwimmpunkt-Vergleich, gleicher
  • PFACC - Gepackter Schwimmpunkt sammelt an
  • PFADD - Gepackte Schwimmpunkt-Hinzufügung
  • PFSUB - Gepackte Schwimmpunkt-Subtraktion
  • PFSUBR - Gepackter Schwimmpunkt kehrt Subtraktion um
  • PFMIN - Gepacktes Schwimmpunkt-Minimum
  • PFMAX - Gepacktes Schwimmpunkt-Maximum
  • PFMUL - Gepackte Schwimmpunkt-Multiplikation
  • PFRCP - Gepackter Schwimmpunkt gegenseitige Annäherung
  • PFRSQRT - Gepackter Schwimmpunkt gegenseitige Quadratwurzel-Annäherung
  • PFRCPIT1 - Gepackter Schwimmpunkt der gegenseitige, erste Wiederholungsschritt
  • PFRSQIT1 - Gepackter Schwimmpunkt gegenseitige Quadratwurzel, der erste Wiederholungsschritt
  • PFRCPIT2 - Gepackter Schwimmpunkt gegenseitige/gegenseitige Quadratwurzel, der zweite Wiederholungsschritt

3DNow! Instruktionen der ganzen Zahl

  • PAVGUSB - Gepackte nicht unterzeichnete ganze 8-Bit-Zahl, die im Durchschnitt beträgt
  • PMULHRW - Gepackte ganze 16-Bit-Zahl multipliziert mit dem Runden

3DNow! Leistungserhöhungsinstruktionen

  • FEMMS - der Schnellere Zugang/Ausgang des MMX oder Schwimmpunkts setzt fest
  • PREFETCH/PREFETCHW - Vorabruf mindestens eine 32-Byte-Linie ins L1 geheime Datenlager (ist das die nichtmissbilligte Instruktion)

3DNow! Erweiterungen

Es gibt wenig oder keine Beweise dass die zweite Version 3DNow! wurde jemals sein eigener Handelsname offiziell gegeben. Das hat zu etwas Verwirrung in der Dokumentation geführt, die sich auf diesen neuen Befehlssatz bezieht. Die meisten verbreiteten Ausdrücke werden 3DNow Erweitert! Erhöht 3DNow! und 3DNow! +. Der Ausdruck "Erhöht 3DNow!" kann in einigen Positionen auf der AMD Website gefunden werden, aber die Kapitalisierung von "Enhanced" scheint, entweder rein grammatisch oder für die Betonung auf Verarbeitern verwendet zu sein, die können oder diese Erweiterungen nicht haben können (von denen der bemerkenswerteste in einer Abrisspunkt-Seite für den K6-III-P Verweise anbringt, der diese Erweiterungen nicht hat).

Diese Erweiterung auf 3DNow! Befehlssatz wurde mit der ersten Generation Verarbeiter von Athlon eingeführt. Der Athlon hat 5 neue 3DNow hinzugefügt! Instruktionen und 19 neue MMX Instruktionen. Später hat der K6-2 + und K6-III + (beide, die am beweglichen Markt ins Visier genommen sind), die 5 neu 3DNow eingeschlossen! Instruktionen, die 19 neuen MMX Instruktionen auslassend. Das neue 3DNow! Instruktionen wurden hinzugefügt, um DSP zu erhöhen. Die neuen MMX Instruktionen wurden hinzugefügt, um strömende Medien zu erhöhen.

3DNow! oder MMX Erweiterungen?

Die 19 neuen MMX Instruktionen sind eine Teilmenge des SSE1 Befehlssatzes von Intel. In AMD technischen Handbüchern trennt AMD diese Instruktionen abgesondert von 3DNow! Erweiterungen. In der AMD Kundenproduktliteratur, jedoch, ist diese Abtrennung weniger klar, wo die Vorteile aller 24 neuen Instruktionen dem erhöhten 3DNow kreditiert werden! Technologie. Das hat Programmierer dazu gebracht, ihren eigenen Namen für die 19 neuen MMX Instruktionen zu präsentieren. Das allgemeinste scheint, Ganze Zahl SSE (ISSE) zu sein. SSEMMX und MMX2 werden auch in der Videofilterdokumentation vom öffentlichen Bereichssektor gefunden. [Es sollte auch bemerkt werden, dass ISSE auch auf das Internet SSE, einen frühen Namen für SSE verweisen konnte.]

3DNow! Erweiterung DSP Instruktionen

  • PF2IW - der Gepackte Schwimmpunkt zur Wortkonvertierung der ganzen Zahl mit dem Zeichen erweitert
  • PI2FW - Gepacktes Wort der ganzen Zahl zur Schwimmpunkt-Konvertierung
  • PFNACC - Gepackter negativer Schwimmpunkt sammelt an
  • PFPNACC - Gepackter Schwimmpunkt hat sich positiv-negativ vermischt sammeln an
  • PSWAPD - Gepackter Tausch doubleword

MMX Erweiterungsinstruktionen (Ganze Zahl SSE)

  • MASKMOVQ - (Umleitung des geheimen Lagers) Laden mit der Byte-Maske Strömend
  • MOVNTQ - (Umleitung des geheimen Lagers) Strömend, versorgen
  • PAVGB - Gepackter Durchschnitt des nicht unterzeichneten Bytes
  • PAVGW - Gepackter Durchschnitt des nicht unterzeichneten Wortes
  • PMAXSW - Gepacktes maximales unterzeichnetes Wort
  • PMAXUB - Gepacktes maximales nicht unterzeichnetes Byte
  • PMINSW - Gepacktes minimales unterzeichnetes Wort
  • PMINUB - Gepacktes minimales nicht unterzeichnetes Byte
  • PMULHUW - Gepackt multiplizieren hohes nicht unterzeichnetes Wort
  • PSADBW - Gepackte Summe von absoluten Byte-Unterschieden
  • PSHUFW - Gepacktes Schlurfen-Wort
  • PEXTRW - das Extrakt-Wort in die ganze Zahl schreibt ein
  • PINSRW - das Einsatz-Wort von der ganzen Zahl schreibt ein
  • PMOVMSKB - die Bewegungsbyte-Maske zur ganzen Zahl schreibt ein
  • PREFETCHNTA - Vorabruf mit der NTA Verweisung
  • PREFETCHT0 - Vorabruf mit der T0 Verweisung
  • PREFETCHT1 - Vorabruf mit der T1 Verweisung
  • PREFETCHT2 - Vorabruf mit der T2 Verweisung
  • SFENCE - Lager-Zaun

3DNow! Fachmann

3DNow! Fachmann ist ein Handelsname, der verwendet ist, um Verarbeiter diese Vereinigung 3DNow anzuzeigen! Technologie mit einem ganzen SSE Instruktionssatz (wie SSE1, SSE2 oder SSE3). Der Athlon XP war der erste Verarbeiter, um 3DNow zu tragen! Berufshandelsname, und war das erste Produkt in der Familie von Athlon, um den ganzen SSE1 Befehlssatz zu unterstützen (für die Summe: 21 ursprüngliche 3DNow! Instruktionen; 5 3DNow! Erweiterung DSP Instruktionen; 19 MMX Erweiterungsinstruktionen; und 52 zusätzliche SSE Instruktionen für die ganze SSE1 Vereinbarkeit).

3DNow! und die Druse GX/LX

Die Druse GX und Druse LX hat zwei neue 3DNow hinzugefügt! Instruktionen, die zurzeit in allen anderen Verarbeitern fehlen.

3DNow! Berufsinstruktionen, die zur Druse GX/LX einzigartig

sind
  • PFRSQRTV - Gegenseitige Quadratwurzel-Annäherung für ein Paar von 32-Bit-Hin- und Herbewegungen
  • PFRCPV - Gegenseitige Annäherung für ein Paar von 32-Bit-Hin- und Herbewegungen

Vorteile und Nachteile

Ein Vorteil 3DNow! ist das es ist möglich, die zwei Zahlen hinzuzufügen oder zu multiplizieren, die in demselben Register versorgt werden. Mit SSE kann jede Zahl nur mit einer Zahl in derselben Position in einem anderen Register verbunden werden. Diese Fähigkeit, bekannt als horizontal in der Fachsprache von Intel, war die Haupthinzufügung zum SSE3 Befehlssatz.

Ein Nachteil mit 3DNow! ist das 3DNow Instruktionen und MMX Instruktionen teilen dieselbe Register-Datei, wohingegen SSE 8 neue unabhängige Register hinzufügt (XMM0 - XMM7.)

Weil MMX/3DNow! Register werden durch den Standard x87 FPU, 3DNow geteilt! Instruktionen und x87 Instruktionen können gleichzeitig nicht durchgeführt werden. Jedoch, weil es aliased zum x87 FPU, 3DNow ist! & MMX Register-Staaten können gespart und durch den traditionellen x87 F (N) wieder hergestellt werden SPAREN und Instruktionen von F (N) RSTOR. Diese Einordnung hat Betriebssystemen erlaubt, 3DNow zu unterstützen! ohne ausführliche Modifizierungen, wohingegen SSE-Register verlangt haben, dass ausführliche Betriebssystembetreuung richtig gespart und die neuen XMM-Register wieder hergestellt hat (über den zusätzlichen FXSAVE und die FXRSTOR Instruktionen.)

Die FX* Instruktionen sind eine Steigung zum älteren x87 sparen und stellen Instruktionen wieder her, weil diese nicht nur SSE Register-Staaten sondern auch jene X87-Register-Staaten sparen konnten (folglich, der bedeutet hat, dass er MMX und 3DNow sparen konnte! Register auch).

Auf AMD Athlon XP und K8-basierten Kernen (d. h. Athlon 64), Zusammenbau-Programmierer haben bemerkt, dass es möglich ist, sich 3DNow zu verbinden! und SSE Instruktionen, Register-Druck, aber in der Praxis zu reduzieren, ist es schwierig, Leistung wegen der Instruktionsdurchführung auf geteilten funktionellen Einheiten zu verbessern.

Das Verarbeiter-Unterstützen 3DNow!

  • Alle AMD Verarbeiter nach K6-2 (einschließlich) bis zum August 2010. Unterbrochen für AMD zukünftige Verarbeiter.
  • Nationale Halbleiter-Druse, später AMD Druse.
  • ÜBER C3 (auch bekannt als Cyrix III) "Samuel", "Samuel 2" "Ezra", und "Eden BESONDERS" Kerne.
  • IDT Winchip 2

Weiterführende Literatur

Links


Krauseia / Radio (Album von LL Cool J)
Impressum & Datenschutz