Wie kann ein Prozessor mit einem "Software" -Update schneller gemacht werden?

120

Die neuen AMD-Prozessoren Ryzen sind auf dem Markt und scheinen leider keine Spiele zu haben. Intel-Prozessoren sind für Spiele offensichtlich noch schneller. Die Leute waren natürlich nicht dafür und AMD gab eine Erklärung ab, dass sie die Firmware oder Software aktualisieren, um Ryzen für Spiele zu beschleunigen.

Korrigieren Sie mich, wenn ich falsch liege, aber der Prozessor eine statische Firmware haben muss, um mit dem x64-Standard kompatibel zu sein? Wenn ja, müsste AMD dann die Spiele (Software) für ihre Prozessoren optimieren, was offensichtlich unmöglich ist? Was ist dort los, um solche Dinge zu sagen, wenn es so scheint, als ob es unmöglich ist, die zugrunde liegenden Bedingungen zu sehen?

Aber ich kann mich irren (ich hoffe es), also ist die Frage:

Ist es möglich, eine Beschleunigung für einen Prozessor zu erzielen, ohne die zugrunde liegende Hardware zu ändern? Wenn es möglich ist, wie wird das gemacht? Gibt es neben der Firmware eine Software für den Prozessor?

Arthur PR
quelle
71
Vielleicht möchten Sie den Begriff "Mikrocode" googeln.
PlasmaHH
10
Firmware könnte gut oder schlecht sein oder einfach nicht "gut für die Anwendung". x86 definiert kein Befehls-Timing. Das Aktualisieren der Firmware (des Mikrocodes) zur Verbesserung des Befehls-Timings unterbricht die x86-Kompatibilität nicht. Es gibt einige mögliche Gründe, warum dies machbar ist und notwendig sein könnte: 1) Der anfängliche Mikrocode ist eine schnelle Arbeit und nicht optimal; 2) Der anfängliche Mikrocode funktioniert gut, wenn das Programm für Ryzen kompiliert wird, nicht jedoch, wenn das Programm für generisches x86 oder den Intel-Prozessor kompiliert wird, bei dem es sich um den größten Teil der vorhandenen Software handelt.
user3528438
15
Ein Mikrocode-Update kann die Befehlszeiten verbessern, aber es gibt noch viel mehr. Moderne CPUs bieten Funktionen wie Verzweigungsvorhersage, spekulative Ausführung, nicht ordnungsgemäße Ausführung und vieles mehr, die die Leistung erheblich verbessern können. All dies wird durch Mikrocode gesteuert. Mikrocode-Optimierungen brauchen Zeit und diese Ware ist in einem wettbewerbsorientierten Geschäft oft Mangelware.
LMiller7
4
Stellen Sie sich vor, Sie rennen und weigern sich aus irgendeinem Grund, Ihr linkes Bein zu beugen. Dies macht Sie umständlich und langsam - Sie können Ihre Laufgeschwindigkeit auf einfache Weise steigern, indem Sie effizienter die "gleiche Hardware" Ihres Beins verwenden und es effektiver biegen. Durch Ändern der "Gehirn" -Anweisungen auf das Bein wird die Leistung erheblich gesteigert.
Enderland

Antworten:

123

Moderne Prozessoren sind viel komplizierter als man denkt. Sie sind unglaublich kompliziert und gehen fast über das Verständnis einer einzelnen Person hinaus. Um eine kurze Bemerkung von "horta" zu erweitern, könnte man folgendes haben:

  1. Zunächst ist fast die gesamte interne Hardware weitgehend konfigurierbar. Es gibt Tausende und Abertausende von Konfigurationsregistern mit zig Millionen von einzelnen Bits, die gesetzt werden müssen, damit eine CPU arbeitet. Alle verschiedenen Ebenen der CPU-Cache-Interaktion haben konfigurierbare Pipelines, und verschiedene Zeitverzögerungen wirken sich offensichtlich auf die Gesamtleistung aus.

  2. Es gibt Hunderte von erweiterten Funktionen, die von Architekten bereitgestellt werden, für deren Validierung das Engineering keine Zeit hatte. Hunderte von Funktionen werden daher deaktiviert oder mit "Chicken Bits" in eine ausfallsichere Konfiguration versetzt . Sie können jedoch optimiert und aktiviert werden, wenn sie als funktional und nützlich erachtet werden. Diese Erweiterungsfunktionen werden in der Regel im Laufe der Zeit eingehend überprüft und können über die Lebensdauer eines Prozessors durch verschiedene Mikrocode-Patches schrittweise aktiviert werden.

  3. Alle neueren CPUs verfügen über mehrere interne Einheiten, die von unabhängigen Mikroprozessoren gesteuert werden, die im x86-CPU-Chip integriert sind. Eine öffentlich aufgetauchte Einheit ist die P-Unit. Moderne Prozessoren können ohne aggressive Energieverwaltung nicht funktionieren, oder sie schmelzen. Deep Power Management steht jedoch im Widerspruch zu einer aggressiven Eingangs- / Ausgangs-Takt- / Spannungsrichtlinie, und Änderungen in der Richtlinie wirken sich stark auf die Gesamtsystemleistung aus. Alle Details werden von der P-Unit gesteuert und können durch Laden eines weiteren Mikrocode-Patches, wie hier beantwortet , optimiert / optimiert werden.

  4. Viele andere Aspekte der internen Verbindung werden von verschiedenen zusätzlichen eingebetteten Prozessoren gesteuert, die durch Laden von Mikrocode-Patches oder Aktualisieren des BIOS, wenn es Zugriff auf diese Konfigurationsressourcen hat, korrigiert werden können.

Kurz gesagt, während die CPU-Hardware in der Tat fest verdrahtet ist, definiert die Konfiguration der Hardware ziemlich genau ihre Leistung und kann für eine bessere Systemleistung mittels BIOS-Updates und eingebetteten Mikrocode-Patches eingestellt werden.

Ale..chenski
quelle
Ich bin mir nicht sicher, welche Antwort ich annehmen soll. @ bwDracos Antwort ist in Ordnung, aber Ihre Antwort passt noch besser zur tatsächlichen Antwort. Seine Antwort enthält problemspezifische Informationen.
Arthur PR
Nun, Sie sollten diese Antwort akzeptieren . Sie kommen aus der Elektronik und scheinen sich für die CPU-Firmware zu interessieren (keine Windows-Änderung). @ ArthurP.R.
AnoE
3
@ ArthurP.R. Wenn beim Benchmarking festgestellt wird, dass Windows Aufgaben für Multithread-Prozessoren nicht ordnungsgemäß plant (Threads als unabhängige Kerne behandelt), führt dies dazu, dass AMD die Prozessordeskriptoren / was auch immer irgendwie durcheinander gebracht hat, sodass Microsoft sie nicht versteht. Wenn die Deskriptoren durch einen Update-Mechanismus mit Microsoft-Standards gepatcht werden können, ist dies eine einfache Lösung erster Ordnung. Und Sie haben eine allgemeine Frage gestellt, damit diese beantwortet wird. :-)
Ale..chenski
Deshalb habe ich Ihre Antwort akzeptiert, auch wenn die Antwort von @bwDraco hier auch passt
Arthur PR
102

Eine Vielzahl von Softwareproblemen auf Betriebssystem- und Anwendungsebene führen zu einer suboptimalen Leistung.

Ryzen-Prozessoren mit acht Kernen bestehen aus zwei Kernkomplexen (CCXs) mit jeweils vier Kernen und 8 MB L3-Cache. Der Zugriff auf den L3-Cache auf einer anderen CCX-Einheit ist langsamer, da Daten über die Infinity Fabric (AMDs proprietäre cachekohärente Verbindung) weiter verschoben werden müssen. Dies bedeutet, dass Threads von einer CCX-Einheit auf eine andere verschoben oder zwischen Kernen auf verschiedenen CCX-Einheiten kommuniziert werden müssen reduzierte Leistung. Diese Strafe erinnert an einen Server mit mehreren Sockets , auf dem ein Betriebssystem ausgeführt wird, das nicht NUMA- fähig ist.

Es scheint, dass Windows dazu neigt, Prozesse einfach um verschiedene Kerne zu verschieben, und den Kommunikationsverlust zwischen CCX nicht erkennt . Dies bedeutet, dass Windows möglicherweise Threads auf verschiedene CCXs legt, auch wenn dies nicht erforderlich ist , wodurch die Leistung verringert wird.

Der deutsche Rezensent PC Games Hardware testete einen Ryzen 7 1800X mit einer unterschiedlichen Anzahl deaktivierter Kerne und stellte fest, dass zwei CCXs mit jeweils zwei aktivierten Kernen eine geringere Leistung erbringen als ein CCX, bei dem alle Kerne intakt sind:

PC Games Hardware Benchmark-Ergebnis: Battlefield 1

Dies trotz der Tatsache, dass nur ein CCX aktiviert ist, was bedeutet, dass nur 8 MB L3-Cache verfügbar sind, anstatt der vollen 16 MB. Aus dem PC Games Hardware-Artikel über Google Translate (Hervorhebung hinzugefügt):

[...] Es ist viel aufregender zu erkennen, dass sich die CCX-Datenübertragungen auf jeden Fall gegenseitig stören - manchmal mehr, manchmal weniger deutlich. Die Vorteile des größeren L3-Cache (2 + 2-Konfiguration) liegen in dieser Messreihe nicht.

Dieser PC Perspective-Artikel zeigt, dass es eine erhebliche Kommunikationslatenz zwischen Kernen auf verschiedenen CCX-Systemen gibt, jedoch nur eine sehr geringe Latenz, wenn mit Kernen auf demselben CCX-System kommuniziert wird. Beachten Sie, dass dieser Artikel darauf hinweist, dass Windows das CCX-Design kennt und das Planen von Threads auf verschiedenen CCXs vermeidet, jedoch von Community-Mitgliedern widersprüchliche Ergebnisse gefunden wurden.


Viele (aber nicht alle) Gaming-Benchmarks zeigen eine höhere Leistung, wenn SMT deaktiviert ist. Es gibt jedoch Gerüchte, wonach Windows falsch plant, als ob jeder Hardwarethread seinen eigenen Kern hätte . Laut AMD liegt dies daran, dass viele Apps nur für Intel-Prozessoren optimiert sind (was angesichts der Tatsache, dass AMD seit rund fünf Jahren MIA auf dem High-End-Prozessormarkt ist, nicht unerwartet ist). Laut AMD arbeiten sie mit Hunderten von Spieleentwicklern zusammen, um die Leistung der Ryzen-Prozessoren zu verbessern. Ich vermute jedoch, dass ein Windows-Update weiterhin Abhilfe schaffen kann, indem der Scheduler genauer auf die Eigenschaften der Zen- Architektur abgestimmt wird .

Das folgende Beispiel von Tom's Hardware zeigt eine verringerte Leistung bei aktiviertem SMT:

Toms Hardware-Benchmark-Ergebnis: Asche der Singularität

TechSpot hat eine eingehende Analyse der Spieleleistung mit aktiviertem und deaktiviertem SMT durchgeführt und dabei sehr ähnliche Ergebnisse erzielt:

TechSpot-Benchmark-Ergebnis: Deus Ex: Mankind Divided


Bei diesen Tests treten auch Energieverwaltungsprobleme auf . Dieselbe AMD-Anweisung stellt fest, dass Windows die neuen Funktionen in Ryzen wie Core-Parken und schnelles Umschalten der Taktfrequenz nicht vollständig kennt. Dies steht im Einklang mit Leistungsverbesserungen, die von Tom's Hardware bei Verwendung des Hochleistungsplans gemeldet wurden (siehe Tabelle oben, HP = High Performance). Ein Update für Windows kann diese Funktionen unterstützen und die Leistung verbessern.

bwDraco
quelle
12
Ich bin nicht sicher, ob ich folge. Das OP gibt ausdrücklich an, dass die Spieloptimierung für Ryzen derzeit nicht in Frage kommt und Windows-Bugs eine noch längere Geschichte sind. Inwiefern hilft diese Antwort zu verstehen, wie Firmware-Updates Hoffnungen auf eine Leistungsverbesserung machen können?
Ale..chenski
11
Er sagt im Wesentlichen, dass Windows völlig durcheinander bringt, wie / wo es Threads zuordnet - was zu Leistungsproblemen führt.
Geselle Geek
2
@JourneymanGeek, jedes anständige Windows (ich bin nicht sicher, ob W10 geeignet ist) hat immer eine explizite Kontrolle über die Kernaffinität zu einem Prozess, und Affinitätsverspottung war immer das erste Tool beim Benchmarking. Was ist dann neu?
Ale..chenski
4
Leider ja, aber Kernel-Updates sind in Arbeit. Sie müssen wahrscheinlich auf Kernel 4.12 warten. 4.11 bringt einige Korrekturen, aber es ist nicht ganz da. phoronix.com/scan.php?page=news_item&px=Ryzen-7-Linux-4.11
bwDraco
7
@Crouchingkitten AMD kann nur Treiber liefern, keine Betriebssystem-Updates. Solche Sachen befinden sich nicht im AMDS-Aufgabenpool.
Arthur PR
9

http://wccftech.com/amd-ryzen-launch-aftermath-gaming-performance-amd-response/

1) Frühe Motherboard-BIOS-Versionen waren zweifellos in Schwierigkeiten: Durch Deaktivieren nicht verwandter Funktionen würden Kerne ausgeschaltet. Wenn Sie auf einigen Motherboards eine Speicherüberlastung einstellen, wird die Boost-Funktion deaktiviert. Einige BIOS-Revisionen führen zu einer allgemein unterdrückten Leistung.

2) Ryzen profitiert von der Deaktivierung von High Precision Event Timern (HPET). Die Timer-Auflösung von HPET kann einen Beobachter-Effekt verursachen, der die Leistung subtrahieren kann. Dies ist eine BIOS-Option oder eine Funktion, die über die Windows-Befehlsshell deaktiviert werden kann.

3) Ryzen profitiert von der Aktivierung des Hochleistungsleistungsprofils. Dies setzt das Core-Parken außer Kraft. Irgendwann werden wir einen Fahrer haben, der es den Leuten ermöglicht, ausgeglichen zu bleiben und das Parken auf dem Core zu deaktivieren. Auch Gamer machen das schon eine Weile. Ich habe hier falsch geschrieben. Ich möchte den Vorteil verdeutlichen: Der Hochleistungsmodus ermöglicht es der CPU, ihre Spannung / Taktrate in 1 ms zu aktualisieren, verglichen mit den 30 ms, die sie im ausgeglichenen Modus benötigt. Das wird unser Fahrer leisten. Entschuldigung für die Verwirrung!

Die eigentliche Frage ist also nicht, wie ein BIOS / Firmware-Update einen Prozessor schneller machen kann (es kann, die Optimierung des Mikrocodes usw.), sondern wie stark eine CPU durch fehlerhafte BIOS / Firmware verkrüppelt ist

Naib
quelle
Es tut mir leid, dass ich auf der falschen Seite gefragt habe. Ich dachte, es würde besonders passen, weil ich auch an nicht trivialen Informationen interessiert bin.
np, es ist vielleicht abstrakt genug, um zu bleiben. Ich verfolge Ryzen, da ich einen größeren Umbau plane, damit ich alle Kinderkrankheiten nachverfolge. Als Linux-Benutzer verfolge ich auch Linux-spezifische Probleme. Beim Ryzen (und dem Zen-Kern) ist zu beachten, dass dies AMDs erstes SMT ist. Erste Anzeichen sind, dass es logische Kerne anders meldet als Intel und BIOS / Windows könnte versuchen, alle "Kerne" als physische Kerne zu verwenden, wenn die Hälfte logisch ist Kerne. Dies würde die Leistung erheblich beeinträchtigen
Naib
Die Antworten, Kommentare und Gedanken zu dieser Frage sind meiner Meinung nach sehr wichtig, da die Leute wissen müssen, ob die Dinge noch besser werden können und ich bis jetzt gesehen habe, dass ich wieder hoffen kann. Übrigens ist der Artikel sehr sehr gut!
Für mehr Ryzen spezifisch ... forums.gentoo.org/viewtopic-t-1057910.html Ein Haufen von uns im Gentoo Forum posten und diskutieren, wann wir Informationen bekommen. Derzeit sind die Mobo-Audiotreiber für Linux nur in Git verfügbar, ebenso gibt es keine Wärmebildschirme ... Die HPET- und Kernprobleme sind ein unmittelbares Problem. Im Moment schlägt AMD Intel für die reine Berechnung komplett aus
Naib
1
zu einem gewissen Grad ja. Ich stehe zu meiner Aussage, dass der Ryzen verkrüppelt wird, damit BIOS / Treiber ihn "beschleunigen"
Naib
6

Das BIOS wird im Allgemeinen als Firmware betrachtet. Das BIOS kann alle Arten von Bits in der Hardware verändern, um die Funktionsweise des Systems zu ändern

Ja, es ist durchaus machbar, dass sie neue Firmware herausbringen und beispielsweise die Taktrate ändern oder ob Prefetches aktiviert sind oder ob ein bestimmter Kern - oder IIO - bestimmte Einstellungen für den Cache erhalten kann, die die Spieleleistung erhöhen können zu den meisten Spielen, die in einer Singlethread-Weise entworfen werden.

Horta
quelle
Das klingt interessant, gibt es dafür Referenzen? Es wäre sehr schön, einige von ihnen zu haben, um es den Leuten zu beweisen :)
@ ArthurP.R. Zwischen pcode, ucode (Mikrocode) und BIOS können Leistung und Funktionalität eines Chips stark verändert werden. Das sind alles Software / Firmware. Quelle weise, nein, ich kann Ihnen keine externen Quellen für diese Informationen geben (da es alles intern ist).
Horta
Was für ein Mist @horta aber vielen Dank für diese Information. Sie können Ihre Antwort auch so anpassen, dass diese Informationen enthalten sind. Es lohnt sich
4

Es ist nicht so sehr, dass Software-Updates den Prozessor schneller machen. Was jeder erwartet, ist, dass Software-Updates die Software besser für Ryzens Architektur geeignet machen und ihre Leistung besser nutzen können.

Korrigieren Sie mich, wenn ich falsch liege, aber der Prozessor eine statische Firmware haben muss, um mit dem x64-Standard kompatibel zu sein?

Fast. In der CPU befindet sich Software (Mikrocode, wie oben erwähnt), die die Leistung beeinflussen kann. Grundsätzlich gibt X86 nur die Ergebnisse der Operationen an. Wie genau die CPU diese Ergebnisse erzielt, ist das Problem der Ingenieure. Die Chancen, dass Mikrocode-Optimierungen bei Ryzen eine wichtige Rolle spielen, sind gering, da die Leistungslücke hauptsächlich bei Spielen zu bestehen scheint, was darauf hindeutet, dass die CPU eine gute Leistung erbringt.

Das Betriebssystem ist dafür verantwortlich, sicherzustellen, dass Programme effizient auf der CPU verteilt werden, was sich auf die Leistung auswirken kann. Allgemein gesagt ist jedoch keiner dieser Faktoren das Hauptproblem für eine neue Architektur. Die meisten Leistungsverbesserungen in solchen Fällen sind darauf zurückzuführen, dass Entwickler Code schreiben, der für die neue Architektur besser geeignet ist. Dies tritt in der Regel nicht zwischen Generationen von Intel-CPUs auf, da die Designänderungen nicht sehr bedeutend sind. Was also bei einem gut funktioniert, funktioniert wahrscheinlich auch bei einem anderen.

Ryzen ist jedoch ein völlig neues Design, weshalb alles, was per Definition für andere CPUs geschrieben wurde, nicht für Ryzen geschrieben wurde.

Stellen Sie sich zwei Prozessoren vor, um die Situation massiv zu vereinfachen:

  • Processor One ist schon eine Weile auf dem Markt und kann (aus welchem ​​Grund auch immer) sehr schnell Nummern hinzufügen. Die Software ist so konzipiert, dass sie versucht, die Addition so weit wie möglich zu nutzen, um diese Fähigkeit zu nutzen.

  • Ein konkurrierender Prozessor landet auf dem Markt und ist bei der Addition schwächer, aber bei der Multiplikation stärker. Die gesamte Software, die für die Verwendung von additionsintensiveren Befehlen optimiert wurde, weist auf dem neuen Prozessor eine schlechte Leistung auf, aber Software, die nicht für die Verwendung von Losadditionen ausgelegt wurde, weist eine mehr oder weniger ähnliche Leistung auf. Manche Software kann bereits viele Multiplikationen ausführen und ist auf den neuen CPUs besser als auf dem Prozessor 1, selbst am Starttag.

Einige Zeit nach dem Start passen sich Entwickler an, verwenden mehr Multiplikationen in ihrer Software oder entwerfen ihre Software so, dass zwischen additionsintensiven und multiplikationsintensiven Codepfaden gewechselt wird, je nachdem, welche CPU-Architektur verwendet wird.

So läuft es mit Ryzen - es ist eine neue Architektur, die Softwareentwickler noch nicht optimiert haben, um den Eigenschaften von zu entsprechen. Mit der Zeit werden Entwickler beginnen, ihre Software zu optimieren, um eine bessere Leistung zu erzielen. Da die meisten Programme bereits für Intel-CPUs ausgelegt sind (sie sind schließlich sehr beliebt!), Werden sie von diesen Änderungen wahrscheinlich kaum profitieren.

Es gibt einige Workloads, bei denen Intel einfach schneller bleibt, und einige, bei denen Ryzen abhängig vom zugrunde liegenden Verhalten bereits schneller ist (und noch schneller wird). In der oben genannten Situation funktioniert eine Software, die nur Dinge hinzufügen muss, auf dem ersten Prozessor immer besser, und Software, die einfach Dinge multiplizieren muss, funktioniert auf dem zweiten immer besser - aber zum größten Teil ist Software komplex und leistungsfähig Diese Unterschiede werden sich etwas ausgleichen.

Wenn ja, müsste AMD dann die Spiele (Software) für ihre Prozessoren optimieren, was offensichtlich unmöglich ist?

Es ist auch erwähnenswert, dass AMD über die Spieleleistung gesagt hat, dass sie mit Entwicklern zusammenarbeiten, um Spiele zu optimieren. Sie senden Entwicklersysteme an Unternehmen (derzeit gibt es 300 in freier Wildbahn, und sie streben bis Ende des Jahres 1000 an) und sprechen mit denen, deren Spiele schlecht abschneiden, um das Problem anzugehen. Soweit ich weiß, wurde keine Aussage getroffen, dass AMD Spiele selbst optimiert.

In diesem speziellen Fall wird Ryzen unter bestimmten Umständen auch dadurch zurückgehalten, dass Windows schlechte Entscheidungen darüber trifft, welche Kerne mit der Arbeit geladen werden sollen, und aktuelle BIOS-Versionen sind aus Gründen problematisch, von denen ich einfach nicht vorgebe, etwas zu wissen. Diese Probleme können jedoch nicht für die gesamte Leistungslücke verantwortlich sein, da es Workloads gibt, bei denen Ryzen Intel bereits überzeugend übertrifft, was darauf hindeutet, dass das Problem zumindest teilweise (wenn nicht größtenteils) auf die einzelnen ausgeführten Programme zurückzuführen ist das Betriebssystem oder das BIOS als Ganzes.

Chris Rimmer
quelle
Diese Antwort ist auch interessant und nicht. Vielen Dank.
Arthur PR
1

Natürlich kann Software die Leistung von CPUs oder sogar GPUs verbessern.

Eine Möglichkeit ist definitiv das Übertakten oder eine andere Art von Taktänderungsmechanismus. Zweitens können Treiberoptimierungen sein. Dazu gehören bessere Datenkomprimierungsmethoden, schnellere Dekodierungsalgorithmen usw. Grundsätzlich gibt es Funktionen, mit denen mehr Hardware besser genutzt werden kann. Diese Funktionen können auch durch Firmware-Updates aktualisiert werden, was eigentlich keine (normale) Software ist. Dann gibt es Software, die die Kühllösung Ihres Computers steuern kann. Dies ist sehr nützlich für CPUs und GPUs, die leistungssteigernde Technologien wie Intels Turbo-Boost und Nvidias GPU-Boost verwenden. Hardware wie diese hat bestimmte Temperaturbeschränkungen, daher verringern sie ihre Leistung, wenn sie zu heiß und dynamisch übertaktet werden, wenn Apps eine höhere Rechenleistung benötigen, solange sie ihre maximale Leistungsaufnahme nicht erreicht haben und

Es gibt auch andere Möglichkeiten, aber diese decken es meistens ab. Grundsätzlich gilt: Solange Sie das Problem kennen und die Art und Weise der Datenverarbeitung programmgesteuert manipulieren können (z. B. Einführung eines intelligenten Dekodierungsalgorithmus, der eine "Brute Force" -Lösung ersetzt) ​​oder die Reaktionen des Prozessors auf verschiedene Schlüsselfaktoren für seine Leistung manipulieren (Wie eine aggressivere Erhöhung der Kühlung im Falle einer Überhitzung oder Überwachung des Ressourcenbedarfs der Anwendungen und eine dynamische Übertaktung, wenn mehr Prozessorleistung benötigt wird), können Sie die Leistung einer Prozessoreinheit erheblich verbessern (oder verschlechtern).

Bei AMD handelt es sich wahrscheinlich um eine Optimierung des Boosting-Mechanismus oder der Kühllösung. Eine oder beide wurden wahrscheinlich geändert, um aggressiver auf steigende Last oder Temperatur zu reagieren.

TL; DR: Ja, Software kann die Leistung eines Prozessors verbessern. Es gibt viele Möglichkeiten, wie z. B. Treiber- und Firmware-Optimierungen, Overclocks usw. Jede Softwareänderung, die Daten so aufbereitet, dass sie einfacher zu verarbeiten ist oder die Hardware besser auf die Last oder deren Einschränkungen reagiert, führt höchstwahrscheinlich zu einer Leistungssteigerung.

BassGuitarPanda
quelle
-1

Durch Software-Updates kann das System (einschließlich des Prozessors) definitiv schneller ausgeführt werden.

Ein sehr extremes Beispiel hierfür sind große IBM-Großrechner: Sie können mehr CPU-Zeit online kaufen, und Sie erhalten lediglich einen Lizenzschlüssel, den Sie in Ihr Betriebssystem eingeben müssen, und boom !, Ihr System läuft schneller. Der Trick ist einfach: Der OS-Scheduler weigert sich manchmal, Tasks zu planen, und lässt stattdessen die CPU in den Energiesparmodus wechseln oder führt nur eine kurze Zeit lang eine NO-OP-Schleife aus, um einen bestimmten durchschnittlichen Gesamtdurchsatz zu erzielen. Wenn Sie für eine teurere Lizenz bezahlen, entfernt der Scheduler diese NO-OPs.

Oder noch drastischer: Wenn Sie ein System mit nur 4 oder 6 oder 8 CPUs kaufen, sind normalerweise 16-32 CPUs installiert. Das Betriebssystem fährt einige von ihnen einfach herunter und durch Eingabe eines Lizenzschlüssels können Sie sie einschalten.

In ähnlicher Weise unterscheiden IBM Mainframes zwischen verschiedenen Arten von Prozessoren: Linux-Prozessoren, Java-Prozessoren, Transaktionsprozessoren usw. Sie sind eigentlich alle der gleiche Prozessor, aber der OS-Scheduler lehnt es ab, Transaktionsaufgaben (die wichtigsten) für a zu planen Java- oder Linux-Prozessor. Den Java-Prozessoren werden nur Java-VMs und den Linux-Prozessoren nur Linux-VMs zugewiesen. Wenn Sie eine höhere Transaktionsleistung erzielen möchten, müssen Sie Lizenzen für mehr Transaktionsprozessoren erwerben: Auch hier handelt es sich um genau dieselben Prozessoren. Der einzige Unterschied besteht in einem Konfigurationsflag im Scheduler, das besagt: "Planen Sie keine Transaktionsaufgaben für diese Prozessoren." ".

Ein anderes, nicht ganz so extremes Beispiel sind die verschiedenen Editionen von Windows. Verschiedene Editionen von Windows unterstützen unterschiedliche Anzahl von CPU-Kernen und unterschiedliche Speicherkapazitäten. Wenn Sie über einen großen Arbeitsspeicher und eine große Anzahl von CPUs verfügen, können Sie Ihr System schneller machen, indem Sie einfach auf eine "größere" Windows-Version aktualisieren. Beachten Sie, dass die Editionen exakt denselben Code haben. Es gibt irgendwo nur einen Konfigurationsschalter mit der Aufschrift "Sie sind eine Home Edition, Sie unterstützen nur 1 CPU und 128 GiByte".

Jörg W. Mittag
quelle