Linux bietet die Möglichkeit, die Taktfrequenz des Prozessors auszulesen und, wenn notwendig, auch zu modifizieren bzw. den aktuellen Bedürfnissen an die Rechenleistung anzupassen. Dies wird normalerweise vollautomatisch erledigt [4]. Während die Taktfrequenzstufen und -grenzen durch die Hardware vorgegeben sind, entscheidet ein sogenannter „(Scaling) Governor“ über die Art und Weise der Frequenzeinstellung. Die folgenden Governors stehen zur Verfügung:
Nach dem Booten sind die Governors für jeden Core auf ondemand eingestellt und die CPU-Frequenz wird automatisch an die Performance-Anforderungen angepasst.
In der Regel wird man sich also darum nicht kümmern müssen. Wenn allerdings Benchmarks oder andere Ergebnisse, die direkt taktfrequenzabhängig sind, interpretiert werden sollen, dann sind definierte CPU-Frequenzen notwendig
Im Beispiel boardinfo.sh war zu Beginn mit Hilfe des Scripts max_cpu_freq.sh die CPU auf maximale Taktfrequenz eingestellt worden. Listing 4 zeigt den Quelltext des Scripts max_cpu_freq.sh. In der ersten Schleife wird der Governor eines jeden Core auf performance, also maximale Taktfrequenz gesetzt, während in der zweiten Schleife die CPU-Taktfrequenz jedes Core zurückgelesen wird.
Die Ausgaben der Frequenzeinstellungen waren am Anfang und am Ende der Ausgaben gemäß Bild 5 zu sehen. Am Ende des Scripts war der Governor wieder auf ondemand zurück gestellt worden. Bis die Frequenz wieder reduziert wird, dauert es aber geraume Zeit.
Literatur
[1] Kühnel, Claus: Arduino als IoT-Maschine. Teil 1. Elektronik 2014, H. 13, S. 42 bis 45. WEKA Fachmedien, 2014
[2] Brühlmann, Thomas: Arduino Praxiseinstieg. [Behandelt Arduino 1.0]. mitp-Verlag, München, 2012. ISBN 978-3-8266-9116-4 (Print); ISBN 978-3-8266-8342-8 (PDF)
[3] Kühnel, Claus: Arduino: Hard- und Software Open Source Plattform. Skript-Verlag Kühnel, 2011. ISBN 978-3 907857-16-8 (Print); ISBN 978-3-8448-9134-8 (eBook).
[4] Prozessortaktung: http://wiki.ubuntuusers.de/Prozessortaktung.
Der Autor
Dr.-Ing. Claus Kühnel |
---|
studierte und promovierte an der Technischen Universität Dresden auf dem Gebiet der Informationselektronik und bildete sich später in Biomedizintechnik weiter. Seit 2004 ist er bei der QIAGEN Instruments AG in Hombrechtikon (CH) als Director Electronic Engineering & Embedded Systems für die Entwicklung von Elektronik-Hardware und Hardware-naher Software verantwortlich. |
info@ckuehnel.ch