Vektorisierter Code, insbesondere AVX, erhöht naturgemäß die CPU-Heizleistung, da der Prozessor mit einer höheren Spannung arbeiten muss, um diese Anweisungen auszuführen. Kleine FFTs erfordern weniger Speicher als der Mischmodus, sodass der Prozessor mehr Zeit für die Datenverarbeitung und weniger Zeit für das Warten auf Daten aufwenden muss.
Die x86-64-Architektur bietet umfangreiche Vektorverarbeitungsfunktionen, insbesondere bei den neuesten Prozessoren. Die Vektorverarbeitung ermöglicht Anwendungen, mathematische Operationen an mehreren Datenelementen gleichzeitig auszuführen, und wird von vielen neueren, rechenintensiven Anwendungen verwendet, um den Verarbeitungsdurchsatz zu erhöhen.
Vektorisierter Code, insbesondere die von Prime95 verwendeten AVX- Anweisungen, setzt voraus, dass der Prozessor mit einer höheren Spannung als normal arbeitet. Dies führt zu einem höheren Energieverbrauch und einer höheren Wärmeabgabe als bei normalen Arbeitslasten. Aus diesem Grund warnt Intel, dass AVX-schwere Lasten dazu führen können, dass der Prozessor die vollen Turbo-Boost-Taktraten drosselt oder nicht aufrechterhält (Fußnote 1):
Intel® Advanced Vector Extensions (Intel® AVX) sind darauf ausgelegt, bei bestimmten Ganzzahl- und Fließkommaoperationen einen höheren Durchsatz zu erzielen. Aufgrund unterschiedlicher Prozessorleistungsmerkmale kann die Verwendung von AVX-Anweisungen dazu führen, dass a) einige Teile mit weniger als der Nennfrequenz arbeiten und b) einige Teile mit Intel® Turbo Boost Technology 2.0, um keine oder maximale Turbofrequenzen zu erreichen.
Intel erklärt dies im weiteren Detail in diesem Whitepaper . Insbesondere wird darauf hingewiesen:
Intel AVX wurde entwickelt, um einen höheren Durchsatz für bestimmte Ganzzahl- und Fließkommaoperationen zu erreichen. Die Verwendung dieser Anweisungen kann dazu führen, dass Prozessoren mit der angegebenen TDP-Frequenz arbeiten. Diese Frequenzverringerungen treten auf, weil Intel AVX-Befehle mit hoher Leistung zusätzliche Spannung und elektrischen Strom benötigen.
Ich schätze, warum eine Erhöhung des V- Core für AVX-Anweisungen notwendig ist, dass die AVX-Ausführungseinheiten komplexer sind als die anderen Teile des Prozessors, was zu entsprechenden Pipelinestufen führt, deren Ausführung länger dauert (siehe technische Antwort zu Pipelines und andere Aspekte des Prozessordesigns). Wenn eine bestimmte Pipeline-Stufe langsam ist, ist die maximale Taktrate des gesamten Prozessors begrenzt, da jede Stufe in der Pipeline innerhalb jedes Taktzyklus enden muss.
Aus dem gleichen Grund erhöhen höhere Spannungen die maximal erreichbaren Frequenzen beim Übertakten (Transistoren können bei höheren Spannungen schneller schalten). Durch die Erhöhung der Spannung wird sichergestellt, dass die längeren Pipelinestufen rechtzeitig enden.
Der Small-FFT-Modus verwendet nur kleinere Datenelemente, die in den CPU-Cache passen können, im Gegensatz zum Blend-Modus, der sowohl kleine als auch große Werte verarbeitet, die möglicherweise nicht in den Cache passen. Da der Zugriff auf den Speicher relativ zum einfachen Verarbeiten von Daten langsam ist, wird der Prozessor weniger Zeit damit verbringen, Daten im Mischmodus zu verarbeiten, wodurch die Wärmeabgabe verringert wird. Kleine FFTs haben nicht annähernd so viele Speicherzugriffe zur Folge, dass die CPU tatsächlich mehr arbeiten muss, was den Stromverbrauch und die Wärmeabgabe erhöht.