derjeniger schrieb:
> ABER kannst du sagen woher dieser Formel "f_cpu / counts " kommt?
Ausgangspunkt ist diese Fragestellung:
Wenn deine CPU in 1 Sekunde 6 Millionen Taktzyklen zur Verfügung hat
(weil sie mit 6Mhz getaktet wird), wie lange (in Sekunden) dauert es
dann (in Sekunden) eine bestimmte Anzahl x abzuarbeiten.
f_cpu ist an dieser Stelle einfach nur ein anderer Wert für 1 Sekunde,
weil dein count auch in Taktzyklen gerechnet wird. Anstelle von 1
Sekunde kann man auch mit f_cpu rechnen. Was den Vorteil hat, das
Sekundenbruchteile nicht durch heftige Kommazahlen darsgestellt werden,
sondern durch kleine Taktzyklenzahlen. Aussdem kriegst du aus deiner
Messung direkt die Anzahl an Taktzyklen raus.
f = 1 / t
t hast du aber nicht direkt. Du hast einen count.
wenn f_cpu Zyklen 1 Sekunde entspricht, dann entsprechen count Zyklen
wievielen Sekunden
f_cpu 1
count x
_-------------------
1 * count
x = -------------
f_cpu
x ist aber nichts anderes als das t in f = 1 / t
Also kann man das einfach mal einsetzen
f = 1 / t = 1 / ( 1*count) / f_cpu
Doppelbruch auflösen
f = f_cpu / count
Sagte ich nicht, das ein bischen Papierarbeit noch nie geschadet hat?
Auf dasselbe Ergebnis wärst du auch gekommen, wenn du in deinerm
Rechengang (der auf Sekunden basiert) versucht hättest die Sekunden zu
elimnieren (weil die abartig kleine Kommazahlen ergeben hätten)
Das ganze hat ein bischen was von
In eine Apfelkiste passen 36 Äpfel. Für eine Kiste Äpfel bekommt man 12
Euro. Ist eine Kiste nicht voll, bekommt man einen anteilsmässigen
Betrag (also für eine halbe Kiste 6 Euro etc).
Wieviele Euro bekomme ich wenn ich 123 Äpfel habe.
Du kannst das natürlich lösen, indem du dir zuerst die Anzahl an Kisten
ausrechnest.
123 / 36 = 3.41666 Kisten
3.41666 Kisten * 12 Euro = 41 Euro
Du kannst das aber auch lösen, indem du beide Formeln zusammenziehst, so
dass du die Anzahl der Kisten gar nicht mehr explizit berechnen musst
Äpfel / Äpfel_pro_Kiste * Preis_pro_Kiste
Was den Vorteil hat, dass du die Formel umstellen kannt
Äpfel * Preis_pro_Kiste / Äpfel_pre_Kiste
123 * 12 / 36 = 1476 / 36 = 41
Der Unterschied: Im ersten Fall hast du zwischendrinn Kommazahlen
benötigt. Im zweiten Fall ist alles mit Ganzzahlarithmetik abgegangen,
weil die eigentliche Anzahl an Kisten gar nicht expplizit berechnet
werden muss.
Was hier die Kette Äpfel -> Kisten -> Euro
darstellt, ist bei dir die Kette Timertakte -> Zeit -> Frequenz
mit ein bischen Formelumstellen kann man jeweils die mittlere Einheit
loswerden.