Ich bemerke, dass Compiler Code erzeugen, der jedes Mal auf SIMD-Register zielt, wenn double
Arithmetik verwendet wird. Dies gilt sowohl für nicht optimierten als auch für optimierten Code. Bedeutet das, dass die x87 FP-Einheit als veraltet angesehen werden kann und nur aus Gründen der Abwärtskompatibilität vorhanden ist?Ist x87 FP Stack noch relevant?
Ich merke auch, dass andere "populäre" Plattformen auch auf ihre jeweiligen SIMD-Implementierungen verlassen, anstatt FP als Stapel ausgelegt.
auch SIMD-Implementierungen sind in der Regel mindestens 128 Bit breit sein, so frage ich mich nicht, dass die (interne) Präzision Tätigkeitsort, ist höher als für die x87-FP-Einheit?
Ich frage mich auch über die Leistung, Durchsatz und Latenz, wenn man bedenkt, dass SIMD mit Vektor-Ausführung konzipiert wurde, im Auge, so dass ich frage mich, wie sie mit Skalare tun.
Eigentlich kann FPU genauer sein, weil SIMD mehrere Werte in diesen Bits speichert, unterstützt es derzeit 64-Bit-Doppel und 32-Bit-Floats. Es gibt SSE-Skalaranweisungen auch. FPU hat jedoch einige Funktionen, die SSE nicht hat. – Jester
@Jester - Implizieren Sie, dass SIMD-Einheiten nicht die vollen 128 Bits verwenden, um den einzelnen Wert zu speichern? Und das stattdessen wird es als ein gepacktes 'doppeltes 'behandelt und ist nur 64 Bits? –
Es steht fest auf der Liste der gefährdeten Arten. Jeder nahm die bahnbrechende Änderung in ihren 64-Bit-Code-Generatoren. Die großen 3 sind alle geschaltet. Es gibt ein paar Nachzügler, den 32-Bit-.NET-Jitter zum Beispiel. Höchste Zeit können wir die 80-Bit-FPU-Katastrophe einen entfernten schlechten Speicher nennen. –