Energiesparplan Zen2 (Ryzen 3000)

sz_cb

Lieutenant
Dabei seit
Jan. 2020
Beiträge
620
(Aktuelle Version: V4, 2020/05/08)

Hallo liebes Forum.

Ich bin immer auf der Suche nach Möglichkeiten, Energie einzusparen, ohne Performance zu verlieren. In meinem Optimierungswahn ging es nun auch den Standard-Energiesparplänen an den Kragen :)

Die offiziellen Ryzen- und Windows-Energiesparpläne sind in vielen Situationen leider viel zu hektisch.
Alltagsanwendungen sind nicht nur schnelle kurze Anweisungen, sondern oft auch kleine Dauerlasten, die sich nicht durch höheren Takt beschleunigen lassen - und das wird von allen bisherigen Ryzen-Energiesparplänen völlig ignoriert, was im Alltag vieler Nutzer zu unnötig hohen Verbräuchen, Temperaturen und Lautstärken führt. Mir fehlte bei allen Plänen das "balanced", denn sie geben entweder zu schnell Vollgas oder - im Falle von Windows' "Energiesparmodus" - ändern das Ansprechverhalten in "behäbig".

Mein Ziel war es einerseits, den Verbrauch v.a. bei geringer Last (bspw. Videostream) deutlich zu senken und andererseits die Takt- sowie Temperatursprünge im Leerlauf zu minimieren, damit nervöse Lüftersteuerungen die CPU-Lüfter nicht zu Berg- und Talfahrten animieren. Dabei sollte der PC aber nicht so schläfrig werden, wie er es beim Energiesparplan "Energiesparmodus" wird, sondern die Agilität und Performance der Modi "1usmus Ryzen Universal", "AMD Ryzen Balanced" oder "AMD Ryzen High Performance" beibehalten.

Nach V1, V2 und V3 folgt - wer hätte es gedacht? - V4.

Update auf V4 (2020/05/08)

Das Prozessormanagement habe ich nochmals etwas angepasst, um den Verbrauch und die Temperaturen bei geringen Lasten noch weiter zu senken. Die Performance bleibt - soweit ich es bisher beurteilen kann - unangetastet im Vergleich zu V3, V2 und V1. Verschiedene Nutzer (und auch ich selbst) erhalten weiterhin die gleiche oder gar eine minimal höhere Performance im Vergleich zu den AMD-Sparplänen.

Der neue V4-Sparplan kann wie gewohnt hier heruntergeladen werden. Er hängt auch im Anhang an diesen Beitrag, wo ihr aber auch weiterhin die V3 und die V2 vorfindet.

Angeregt durch 1usmus und die Forenmitglieder @CrazyT & @Verangry habe ich einen zweisprachigen Installer implementiert. Die heruntergeladene ZIP-Datei muss entpackt werden. Danach einfach die Datei "install.bat" ausführen und den wenigen Anweisungen folgen.

Es wird mit dem Installer ein neuer Energiesparplan ("sz Ryzen Balanced V4") installiert und direkt aktiviert.

Damit alle für Ryzen optimierten Energiesparpläne wunschgemäß funktionieren, ist es nötig, im BIOS die nachfolgenden Einstellungen vorzunehmen. Bei den meisten Mainboards stehen diese Einstellungen auf "Auto" und werden auch automatisch korrekt gesetzt, Um auf Nummer sicher zu gehen, würde ich sie trotzdem manuell auf die folgenden Werte setzen:
  • Global C-state Control = Enabled
  • Power Supply Idle Control = Low Current Idle
  • CPPC = Enabled
  • CPPC Preferred Cores = Enabled
  • AMD Cool'n'Quiet = Enabled
  • PPC Adjustment = PState 0
Im BIOS von MSI und Gigabyte sollten diese Einstellungen auffindbar sein. Etwas anders sieht es bei ASRock und Asus aus. Hier im Thread ist darauf bereits öfter eingegangen worden:

117, 139, 207, 376, 399
(das sind die Beiträge, in denen ich auf die Schnelle diesbezügliche Inhalte fand)

Genauere Infos zu diesen Einstellungen und noch viel mehr findet ihr übrigens u.a. auch in Verangrys Leserartikel.

Ich habe im Firefox via youtube dieses Video abgespielt, einmal in 1440P und einmal in 4K. Während des Abspielens habe ich mit HWiNFO im Hintergrund Sensordaten aufgezeichnet (Takt: 500 ms) und die gewonnenen Daten dann mit LibreOffice verarbeitet. Da die bisherigen Verlaufsgrafiken zwar hübsch anzusehen waren, aber in Summe dann doch auch recht unübersichtlich wurden, habe ich mich diesmal für Boxplots entschieden.

Hier die Ergebnisse:

4K:
parcours4_4k_boxplot_cpuda.jpg parcours4_4k_boxplot_cpupp.jpg

1440P:
parcours4_1440p_boxplot_cpuda.jpg parcours4_1440p_boxplot_cpupp.jpg

Als Erläuterung der Boxplots:
Jeder Kasten in der Grafik bildet die mittleren 50 % aller aufgezeichneten Werte des Sparplans ab, das heißt im Umkehrschluss, dass 25 % der aufgezeichneten Werte höher und 25 % niedriger sind. Die waagerechte Linie innerhalb des Kastens ist der Median (50 % aller Werte liegen darüber, 50 % darunter). Die senkrechten Linien, die von jeder Box abgehen, sind die erwähnten oberen 25 % bis zum Maximum und die unteren 25 % bis zum Minimum.

Einen Test zwischen V4, V3, AMD Ryzen Balanced und dem Energiesparmodus von Windows findet ihr ihm Beitrag #261 von @MotherPink. Herzlichen Dank für Deine vielen Tests!

Ab dem Beitrag #82 findet ihr weitere Infos zu V3 und Nutzerberichte.
Ab dem Beitrag #221 geht es mit V4 weiter.


Wird es eine V5 geben?
Ich will und kann nicht sagen, dass V4 das Optimum darstellt, aber alles hat Grenzen. Sobald an der einen Schraube gedreht wird, hat das Konsequenzen für das Verhalten anderer Schrauben. Kaum glaubt man, man hätte mit dem Ändern von ein paar Einstellungen das Ziel erreicht, stellt man fest, dass es dafür jetzt an anderen Stellen klemmt. Dort eine Balance zu finden, kann durchaus nervenaufreibend sein - und nicht zuletzt ist auch Zeit eine Ressource, die fürs Testen kleinster Änderungen in Unmengen aufgebracht werden muss.

Umso dankbarer bin ich, dass ich hier im Thread und per PN tatkräftig mit euren Tests (und offline mit Kaffee) unterstützt wurde und werde - das ist wirklich großartig! Über weitere Tests, Feedback und Verbesserungsvorschläge freue ich mich immer - das spornt auch an und vergrößert die Datengrundlage für zukünftige Versionen :)

Wenn euch der Plan zusagt, würde ich mich auch darüber freuen, wenn ihr ihn verbreitet, denn letztlich haben wir alle etwas davon, wenn für die gleiche Performance weniger Energie verbraucht wird.

In diesem Sinne,
sz_cb


letztes Update: 2020/05/23 (Textanpassungen)
[2020/07/19: Uiuiui, mit Downloads aus der Cloud sind meine Pläne nun schon mehr als 4000x heruntergeladen worden! Vielen Dank für euer Interesse! :)]
[2021/03/01: Verrückt, die Anzahl der Downloads meiner Pläne ist nun schon auf mehr als 15.000 angewachsen! Wirklich toll!]


Hier ein paar Ergebnisse beim Test mit meinem 3700X (Daten aus HWInfo 6.24):
(B = "AMD Ryzen Balanced" / H = "Ryzen High Performance" / U = "1usmus Universal" / E = "Energiesparmodus" / ß = "sz_Balanced")
(? = nicht getestet)

CB R15 Single Core
B 199 / H 199 / U 201 / E 82 / ß 203

CB R15 Multi Core (2 Threads)
B 402 / H 402 / U 401 / E 215 / ß 403

CB R15 Multi Core (8 Threads)
B 1404 / H 1404 / U 1420 / E 1102 / ß 1415

CB R15 Multi Core (16 Threads)
B 2092 / H 2092 / U 2093 / E 1820 / ß 2095

5 Minuten Idle (tatsächlich nichts machen, einfach warten; Durchschnittswerte)
CPU Power Package (Watt): B 15,3 / H 16,3 / U 15,0 / E 14,4 / ß 15,0

5-minütiges Video Youtube, Firefox, 4K60 (Durchschnittswerte)
CPU Power Package (Watt): B ? / H 39,678 / U 39,955 / E 20,937 / ß 34,317
CPU Die (average) (°C): B ? / H 50,5 / U 51,4 / E 36,5 / ß 45,5

5-minütiges Video Youtube, Firefox, 1440p60 (Durchschnittswerte)
CPU Power Package (Watt): B 30,891 / H 30,198 / U 30,401 / E 17,998 / ß 20,610
CPU Die (average) (°C): B 43,5 / H 44,5 / U 44,8 / E 35,5 / ß 36,2

Wie man sieht, nähert sich der Verbrauch mit steigender Last (4K60-Video) dem der Performance-Pläne. Das ist in Ordnung und zwangsläufig so, wenn man keine Performance verlieren will. Bei geringen Lasten (1440p60-Video) machen sich die Optimierungen dann jedoch deutlich bemerkbar.


In einer dritten Runde habe ich nun noch einmal einen Durchlauf mit unterschiedlichen Energiesparmodi gemacht. Ich habe einen kleinen Parcours erstellt, der zwar nicht unbedingt den Alltag wiederspiegelt, aber die Unterschiede in einzelnen Lastszenarien darstellt. Diesmal wurde kein Video gestreamt, dafür aber immer die erste Minute eines lokalen 720p-MP4-Videos abgespielt (mit Media Player Classic). Aufgezeichnet wurde mit HWiNFO in 0,5-Sekundenschritten.

Die diesmal getesteten Energiesparmodi waren
  • sz Ryzen Balanced
  • Community V3 (thx @Verangry)
  • 1usmus Universal
  • AMD Ryzen Balanced
  • Energiesparmodus

Der konkrete Ablauf war wie folgt:
0:00 - 0:30 - Leerlauf
0:30 - 1:30 - Start Video 720p (direkt im Vollbild 2560x1440)
1:30 - Schließen des Videos, Start CPU-Z
2:00 - Start Bench CPU-Z
2:30 - Schließen von CPU-Z
3:00 - Öffnen des Browsers (leeres Fenster)
3:20 - Öffnen Tab#1 golem.de
3:30 - Öffnen Tab #2 heise.de
3:40 - Öffnen Tab #3 computerbase.de
3:50 - Öffnen Tab #4 sueddeutsche.de
4:00 - Schließen des Browsers
4:10 - Öffnen Cinebench R15
4:25 - Start Bench (all core)
- 5:30 - Leerlauf bis Ende

CPU Package Power:
vergleich_cpupackagepower.jpg



CPU Core Current:
vergleich_cpucorecurrent.jpg



CPU Die (average):
vergleich_cpudieaverage.jpg



Man sieht hier nochmal relativ gut, dass sich mein Sparplan bei den Verbrauchswerten eher am "Energiesparmodus" orientiert, er sich aber - sobald Leistung gefordert wird - nicht lange bitten lässt, sondern sofort vorn dabei ist.
Das Einzige, was ich nicht verstehe, ist das Verhalten des Energiesparmodus' nach dem Cinebench-Run. Dort wirkt "Core Current" unglaublich nervös, während es ansonsten stoisch gelassen aussieht.

Ich habe vorhin noch einen Test mit einem Videostream gemacht (Firefox, youtube, Peru 8K). Dieses Mal traten 4 Energiesparpläne gegeneinander an: sz V2, 1usmus, "Ultimative Leistung", Energiesparmodus.
Das Video wurde immer von Beginn gestartet und lief ca. 4 Minuten.

1080P
CPU Package Power:
cb_szV2_1080P_packagepower.jpg


CPU Die average:
cb_szV2_1080P_cpudie.jpg



1440P
CPU Package Power
cb_szV2_1440P_packagepower.jpg


CPU Die average
cb_szV2_1440P_cpudie.jpg



4K
CPU Package Power
cb_szV2_4K_packagepower.jpg


CPU Die average
cb_szV2_4K_cpudie.jpg


Der Energiesparmodus sieht extrem sparsam aus. Leider kommt in diesen Grafiken nicht heraus, dass dieser Modus in 1440P zu leichten und ab 4K zu massiven Rucklern führt und das 4K-Video praktisch gar nicht mehr ansehbar ist, weil zwischendurch sekundenlang das Bild stehen bleibt.

Dass mein Sparplan bzgl. der Verbrauchs- und Temperaturwerte selbst in 4K noch leicht unterhalb der Hochleistungssparplänen bleibt, find' ich ganz gut.

Ich habe das Peru-Video gewählt, weil ich eigentlich auch 8K testen wollte. Leider reicht meine Bandbreite zu Corona-Zeiten nicht aus, um das Video mehrmals unterbrechungsfrei durch die Leitung zu zerren, sodass es immer wieder zu Ladepausen beim Stream kam. Was ich aber sagen kann, weil ich nebenbei auch mal ein Blick auf das Energiekostenmessgerät geworfen habe: Mit meinem Plan wurden bei 8K bis zu 136 Watt aus der Steckdose gezogen (1usmus: 140 Watt, Ultimativ: 145 Watt). Das ist gar nicht mal so wenig ;) Den Energiesparmodus habe ich nicht mit 8K probiert, weil der bereits bei 4K keine flüssige Darstellung mehr schaffte.
 

Anhänge

  • sz_ryzbal_v2.zip
    3,4 KB · Aufrufe: 434
  • sz_ryzbal_v3.zip
    3,6 KB · Aufrufe: 860
  • sz_ryzbal_v4.zip
    4,9 KB · Aufrufe: 7.909
Zuletzt bearbeitet:

vanillebear

Ensign
Dabei seit
Nov. 2012
Beiträge
194
Was ich mich auch bei der AMD Version die beim Mobo Treiber dabei ist frage: Sind diese angepassten Pläne auch noch nötig für Zen und Zen+? Oder hat MS das "Ryzen Spezifische" inzwischen beim Systemeigenen Balanced drin?
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Der "Ausbalanciert"-Energiesparplan ist minimal anders als der "Ryzen Balanced":
"Minimaler Leistungszustand des Prozessors": 5 % (Windows), 99 % (AMD)

Ansonsten alles identisch bei den Prozessoreinstellungen.
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Update des Energiesparplans (V1.1)

Der Sparplan wurde bereits ca. 130x heruntergeladen - cool! Wie läuft er denn bei euch?

Ich habe aufgrund des Feedbacks von @MotherPink (danke nochmal!) den Energiesparplan minimal optimiert. Es wird nun noch etwas später hochgetaktet, was beim 4K-Video zumindest ein paar wenige Watt ausmacht. Die Benchmarks bleiben bei der Punktzahl und dem Verbrauch wie im Originalpost.

Außerdem habe ich die Einstellungen für Bildschirme/Festplatten/etc. auf die Werte der Standardsparpläne zurückgesetzt, sodass ihr dort die gewohnten Werte vorfindet.

Der Plan heißt jetzt "sz Ryzen Balanced" und der neue Download-Link ist dieser hier (Edit: Link entfernt). Die Datei heißt jetzt auch etwas anders, daher hat sich die Import-Befehlszeile geändert:

powercfg -import D:\path\to\folder\sz_ryzbal.pow

Ansonsten alles wie gehabt.

Weil Bilder mehr sagen als Worte, hier noch frisch erstellte Screenshots von HWInfo während der Video-Session. Gemessen wurde jeweils direkt nach Videostart bis kurz vor Videoende. (Die Werte sind mit denen aus dem Ursprungspost nicht vergleichbar!)

4K60-AMD_Balanced.jpg 4K60 - AMD Balanced

4K60-sz_Balanced.jpg 4K60 - sz Balanced

1440p60-AMD_Balanced.jpg 1440p60 - AMD Balanced

1440p60-sz_Balanced.jpg 1440p60 - sz Balanced
 
Zuletzt bearbeitet:

Berky

Lt. Junior Grade
Dabei seit
Aug. 2012
Beiträge
303
Im PCGH Forum gab es auch jemand der seine eigene Konfiguration anderen bereit gestellt hat, den Nicknamen hab ich vergessen, bist du derjenige?
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620

Berky

Lt. Junior Grade
Dabei seit
Aug. 2012
Beiträge
303
Ich habe deine Konfiguration erfolgreich integriert, die Temps verhalten sich so wie beschrieben, doch leider habe ich Störungen bei der Soundwiedergabe, egal was ich abspiele Youtube oder mp3, es knistert ziemlich stark. Ich habe ein Desktop KHV/DAC das mit USB am PC verbunden ist.
 

Mongoo

Lt. Junior Grade
Dabei seit
Feb. 2002
Beiträge
473
Ich teste mal morgen
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Ich habe deine Konfiguration erfolgreich integriert, die Temps verhalten sich so wie beschrieben, doch leider habe ich Störungen bei der Soundwiedergabe, egal was ich abspiele Youtube oder mp3, es knistert ziemlich stark. Ich habe ein Desktop KHV/DAC das mit USB am PC verbunden ist.

Oh, interessant, bei meinem nuPrime DAC (auch via USB angeschlossen) habe ich kein Knistern. Und dieses Knistern hast Du bei den anderen Sparplänen nicht?
 

Berky

Lt. Junior Grade
Dabei seit
Aug. 2012
Beiträge
303
Klar,
3900X, Gigybyte 570 Aorus Pro, 2x16GB Ram und ne RTX 2070
Ich habe die Hardware, abgesehen von der Graka, erst vor 2 Wochen gekauft und anschliessend Windows neu installiert, es ist alles soweit auf dem aktuellen Stand.
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Könntest Du diesen Sparplan mal bitte gegentesten?
Achtung, der heißt genauso. Um Verwechslungen zu vermeiden, den bisherigen am besten vorher löschen.
powercfg -import D:\path\to\folder\sz_ryzbal_test.pow
 

MotherPink

Lt. Junior Grade
Dabei seit
Apr. 2015
Beiträge
457
Fantastische Arbeit, bisher gibts nichts zu beanstanden.
Die Schwuppdizität bleibt komplett erhalten und der Verbrauch regelt sich nach der Lastspitze sofort wieder nach unten auf Energiesparmodus-Niveau. Die Benchmarkergebnisse liegen alle Innerhalb der Messungenauigkeit gleichauf zum Ryzen_Balanced, bewegen sich jedoch meist knapp über diesem.
Auch ist die Hemmschwelle im Desktopbetrieb bisher ideal, für 3D Anwendungen hab ich zur Not einen Shortcut.

Zum Löschen alter obsoleter Energiesparpläne, die GUID eine Leerstelle nach dem -delete einfügen:
Anmerkung 2020-04-03 233342.png


Energiemodus Shortcut:
Verknüpfung erstellen und folgendes Ziel angeben:
Code:
C:\Windows\System32\powercfg.exe /setactive GUID
Die GUID ist wieder wie oben aus der eigenen powercfg -list zu entnehmen.
Der Verknüpfung kann man dann eine Tastenkombination zuweisen und die Ausführung minimieren, um ein kurz aufpoppendes Fenster zu verhindern.
Beispiel:
grafik.png
Um zu prüfen, ab wann der Eco-Mode (60Watt zu 88Watt PPT) keine Mehrkernleistung mehr kosten würde, habe ich mal die Kernspannung im Offset um -0,1 mV gesenkt.

Das Ergebnis im Cinebench R20 Multi:
88 Watt / kein UV = 4613
60 Watt / kein UV = 4121
60 Watt / -0,1 mV = 4379
Man nähert sich klar dem default PPT.

Wie weit ich noch runter kann, werd ich die noch ausloten müssen nach dem ich die Stabilität des -0,1 mV Offsets garantieren kann und ich würde mich sehr freuen, falls jemand seine Erfahrung bezüglich Undervolting der Sockelspannung hier teilen kann.
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
@MotherPink: Vielen Dank für Deinen Bericht! Gibt's Probleme mit dem Hochtakten bei Spielen (3D)?


Keine Ahnung was du verändert hast, aber mit dem zweiten Sparplan habe ich keine Soundstörung, Danke 👍

Schön, das freut mich. Ich habe ein paar Energiespareinstellungen (nicht die CPU-relevanten, sondern PCI-E etc.) des Plans "Energiesparmodus" durch die Werte der Balanced-Pläne ersetzt.

Stimmen die Verbrauchs-/Temperaturwerte noch, oder sind die gestiegen? :)
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Wie weit ich noch runter kann, werd ich die noch ausloten müssen nach dem ich die Stabilität des -0,1 mV Offsets garantieren kann und ich würde mich sehr freuen, falls jemand seine Erfahrung bezüglich Undervolting der Sockelspannung hier teilen kann.

Mein 3700X läuft aktuell mit -0,0875 Volt Offset bei 78 Watt Power Limit (entspricht ca. 58 Watt TDP). Allerdings habe ich auch die SOC-/VDDG/VDDP-Spannungen noch gedrosselt. Allgemeingültige Werte kann ich Dir nicht geben, aber zumindest sagen, dass es sich lohnt, auch diese Spannungen nach unten anzupassen, weil sie in das PowerLimit hineinzählen - je weniger die Teile verbrauchen, desto mehr Power bleibt der eigentlichen CPU.

Wenn ich den VCore-Offset auf -0,1 Volt setze, bekomme ich zwar tatsächlich noch bessere MultiCore-Benches hin (+1 %), verliere aber ca. 10 % beim SingleCore.

Edit: In Benchmarks erreiche ich mit meinen Einstellungen annähernd die gleichen Werte wie Stock. In manchen Benches etwas schneller, in manchen etwas langsamer - aber im Promillebereich.
 
Zuletzt bearbeitet:

Verangry

Lt. Commander
Dabei seit
März 2019
Beiträge
1.081
Im pcgh hab ich, genauso wie hier auch schon ein paar powerplans geteilt, allerdings dort auf Leistung ausgelegt.

Übrigens findet man den letzten auch in dem Thread in meiner Signatur (Link zum Plan mit Installer ist unten drunter)

Wer Energiesparen möchte kann den von @sz_cb nutzen, ich bin eher für Leistung. ;)
(Minimale MHz Zahl bei meinem übrigens im 500mhz Bereich)
 

sz_cb

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2020
Beiträge
620
Im pcgh hab ich, genauso wie hier auch schon ein paar powerplans geteilt, allerdings dort auf Leistung ausgelegt.
(Minimale MHz Zahl bei meinem übrigens im 500mhz Bereich)

Cool, dass Du Dich damit auseinandergesetzt hast!

Dass die angezeigte Taktfrequenz keine große Rolle beim Verbrauch geparkter Kerne spielt, weißt Du aber, oder? :) Ich kontere mal mit der "Average Effective Clock" meines Sparplans: Die geht bei meinem 3700X auf unter 10 MHz im Leerlauf ;)


Wer Energiesparen möchte kann den von @sz_cb nutzen, ich bin eher für Leistung.

Ich fühle mich im Namen meines Sparplans herausgefordert ;)

Hast Du Deinen bevorzugten und meinen Plan mal gegeneinander antreten lassen und könntest berichten, wie viel Performance man mit Deinem Plan dazugewinnt? Oder hättest Du einen Direktlink zum Download Deines Plans?

Edit: Ah, hab' den Link gefunden... Dann teste ich mal V3 ;)
Edit2: Hmm. Also bei CB R15 komme ich auf exakt den selben Wert, bei CB R20 sogar auf weniger mit V3. Im Leerlauf 12 % höherer Verbrauch. Beim 4K60-Video ist der Durchschnittsverbrauch minimal oberhalb vom Ryzen Balanced (d.h., 120 % meines Plans), beim 1440p-Video 1 Watt mehr als beim Ryzen Balanced, was 153 % Verbrauch im Vergleich zu meinem PowerPlan entspricht. Wo ist der Vorteil? :confused_alt:
 
Zuletzt bearbeitet:
Top