Pandora - CPU-Clock Management


johnnysnet

Active Member
Joined
Dec 17, 2006
Messages
989
Location
Leipzig
ICQ
224443444
LOCATION
Leipzig
Was ich mir wünschen würde wäre, wenn die Firmware schon die Möglichkeit mitbrächte, den CPU-Takt einstellen zu können. Auch stelle ich mir vor, wie das vom Management her geschehen sollte - also wie das gehändelt wird, wenn Programme den Takt selbst verändern. Angenommen da gäbe es z. B. einen Audioplayer, der auf 100 MHz heruntertaktet, weil er damit alle unterstützten Formate bereits flüssig wiedergeben kann. Nun hat der Programmierer es nicht für nötig gehalten, den Player bei Beendung den Takt wieder auf den ursprünglichen Wert setzen zu lassen. Folge: der Nutzer hat den Ärger, jedesmal einen niedrigen Takt nach dem Musikhören zu haben und wenn er jetzt ein anderes Programm ausführen möchte, welches den Takt nicht selbst einstellt, läuft dieses dann zu langsam. Oder er müsste den Takt eben jedesmal selbst wieder zurückstellen. Genau dies sollte dann die Firmware übernehmen. Nach Beendigung eines Programmes sollte sie gewährleisten, dass der ursprüngliche Takt wieder eingestellt wird. Vielleicht wäre es noch nett, wenn es einen "Force-Mode" gäbe, in welchem die Firmware keine Änderung des Taktes durch andere Programme zulässt.

Das fände ich persönlich nicht schlecht!
 
Eigentlich dürfte das eine Sache des "ondemand Governors" des Linux-Kernels sein. Dieser taktet die CPU nach Bedarf "on demand" hoch oder runter. Immer gerade so, wie es sein muss. Je nach Takttreiber (also dem Teil, der die Hardware dafür anspricht), übernimmt dieser nicht nur die Änderung des Taktes, sondern auch, was viel wichtiger ist, die Anpassung der Spannung. Bei geringerer Taktrate ist allgemein auch eine geringere Spannung notwendig, da sich die Transistoren/Treiber (mit Treiber ist hier keine Software gemeint) gegenseitig ja mehr Zeit gönnen, den am Ausgang eingestellten Spannungspegel am nächsten Eingang auch wieder anliegen zu lassen. Und da bei den Verlusten die Spannung quadratisch, der Takt aber nur linear einfließt, ist geringere Spannung wichtiger als geringerer Takt, wobei beides natürlich voneinander abhängt. Daher ist der p4_clockmod des P4 (Der Treiber unter Linux für den P4 ohne Speedstep) ja auch nicht so effektiv; einen 2GHz P4 kann man so auf bis zu 100MHz runtertakten, was weniger bringt, als eine PowerNow- oder SpeedStep-CPU von 2GHz auf 1GHz runterzutakten, da ersteres nicht die Spannung verändert. AFAIK jedenfalls...
Oh, ich schweife ab.

Was ich sagen wollte: Die Anwendung sollte sich gar nicht um den Takt kümmern. Das regelt das Betriebssystem oder gar die Hardware schon von alleine. Am PC ist das jedenfalls so üblich und ich finde auch, die Anwendung geht das auch gar nichts an, das ist Betriebssystemsache.

Die Anwendung kann allerhöchstens vielleicht anweisen, nicht runterzutakten, um das letzte Quäntchen Leistung herauszukitzeln. Bei modernen Treibern für veränderlichen Takt bringt das aber nicht viel. Das galt nur anfangs mal, als der Treiber für PowerNow der Athlon64 (ich meine auch nur unter Windows) zu oft und schnell bei jeder kleinen Änderung den Takt angepasst hat. So ein Taktwechsel kostet halt eben einige Takte Wartezeit und verringert so bei zu häufigem Anpassen der Geschwindigkeit die Leistung. Ganz besonders fällt das bei Programmen auf, die ständig Dauerleistung brauchen, ab und an aber auch mal ein paar hundert Takte pausieren, dann aber sofort wieder die volle Leistung brauchen, da sie schnell ein Bild darstellen müssen (z.B. Spiele mit wait-on-sync; der wahre Grund, weshalb das Abschalten der Option manchmal flüssiger macht ;-) es wird schlicht nie pausiert). (Enhanced-)Speedstep braucht dafür meines Wissens nach weniger Takte, ist aber dafür nicht so effizient. Mittlerweile sind die Treiber aber angepasst bzw. gibt es unter Linux dafür auch den "conservative Governor", der das ganze sehr gemütlich angeht.
Tse, schon wieder abgeschweift. Oder abgeschwiffen? Regelmäßig oder unregelmäßig konjugiert? Ach, egal...

EDIT:
1. Quentchen->Quäntchen von Quantum (lateinisch für „wie viel“, „wie groß“ (Wikipedia))
2. abgeschweift! Wie blöd, meine Rechtschreibkorrektur hatte abgeschwiffen schon rot unterstrichen... pfff...
 
Fennias Maxim said:
Also über den Kernel Governor geht das mur mit SpedStep-CPUs. Und der ARM hat kein Speedstep.

Das stimmt nicht. SpeedStep haben nur Intel-CPUs. Der On-demand-Governor funktioniert aber auch z.B. mit AMD-CPUs.
 
Back
Top