Autor Beitrag
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Sa 04.03.06 15:09 
Ich hol mal weit aus:
Bei Integrierten Schaltungen kann ja der Stromverbrauch ermittelt werden.
EIn Compter besteht im Grund aus SEHR vielen IS. Bestimmte Befhle lösen bestimme Reaktionen aus. Wäre es da dann auch möglich (Wenn auch nur theoretisch) den Stromverbrauch eines Algoritmus zu ermitteln und so den Stromverbrauch eines PRogrammes zu ermitteln? Wenn besonders für Laptopnutzer sehr nützlich.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 04.03.06 15:23 
nur wenns allein über den prozessor läuft, oder man nimmt windows im leerlauf und zieht dann das vom gesamt bedarf mit programm ab, aber ich weiß nicht in wie fern das möglich ist, ohne extra hardware auf jedenfall nicht
Larus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: Sa 04.03.06 15:49 
dein Algoritmus verbraucht aber auch schon wieder CPU auslastung wenn man danach ginge :D
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Sa 04.03.06 16:37 
Naja also bei nem Notebook steht ja die Leistungsaufnahme und Akkuleistung dran. Du kannst ja auch ermitteln, wie lange das im Durchschnitt läuft=>Bestätigung der Leistungsaufnahme. Dann könntest schauen, wie lange das Notebook durchhält, wenn dein Algo in DauerSchleife läuft.
Oder ein Strommesgerät von der verbraucherzentrale ausleihen und dazwischenschleifen.

Aber das ist alles sehr dynamisch da sich CPUs komplett/teilweise hoch/runter regeln, das OS Komponenten abschaltet/HDD, Lüfter mehr oder weniger laufen,... ich glaube nicht, das da wirklich was sinvolles raus kommt. Die eine CPU zieht mehr, die andere weniger, verarbeitet mehere Threads besser/weniger gut,... eine generelle Aussage kann da doch eigentlich nicht rauskommen. Dann müsste man sagen "um den Algo 100.000 mal zu durchlaufen braucht ein AMD64 10sec und zieht dabei X Watt, ein P4 so und viel...".
Aber den Verstand sagt mir, das mein Compi beim Suche bei Google BOINC mehr Strom zieht als im Leerlauf ;)

Wozu brauchst du denn das?
Tilo Threadstarter
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Sa 04.03.06 21:50 
Ich meinte nicht den Stroverbrauch während des Betriebes zu messen.
Wenn das so rüber kam entschuldige ich mich für meine ungenaue Schilderung.

Mein Gedanke war in etwa:
Für eine Operation kann der (theoretische) Stromverbrauch für eine IS ermittelt werden. Die Transistoren "schalten" ja mit Elektronen.
Wenn zum Beipiel für eine Addition zweier Zahlen z.B. 20 Elektronen benötigt werden, so werden für 50 Additionen 50*20 Elektronen benötigt.

Meine Frage ist kann man bei einem feststehenden Algorithmus im Voraus ermitteln wieviele Elektronen benötigt werden für die Schaltvorgänge.
Das das in der Praxis auf einem laufenden Rechner nicht der Wirklichkeit entspricht ist mir Klar.
Sors
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47

Win XP
D7 Prof
BeitragVerfasst: Sa 04.03.06 22:09 
Da müsstest, du so den Energieverbrauch des Bauteils und die anliegende Spannung während der Addition ermitteln.
1 Joule = 6,241E18 Elektronvolt. Dividierst das ganze durch das Produkt der anliegenden Spannung und der Elektronenmasse 9,10938188E-31 kg und schon hast du die durchschnittliche Anzahl der Elektronen, die bei einer Addition durch das Bauteil fließen. (Theoretisch)
reichemi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

WinXP home + prof, SUSE 9.2
Delphi 6
BeitragVerfasst: Sa 04.03.06 22:34 
user profile iconTilo hat folgendes geschrieben:
Wenn zum Beipiel für eine Addition zweier Zahlen z.B. 20 Elektronen benötigt werden, so werden für 50 Additionen 50*20 Elektronen benötigt.


ich denke, dass kann man nicht so ohne weiteres derart vereinfachen.... immerhin fällt dabei auch "jede menge" overhead an, register hin und her schaufeln, speicher laden, I/O, caching, .... (ok, I/O könnte man größzügigerweise vernachlässigen, wenn man davon ausgeht dass der algorithmus komplett im RAM abläuft ;) )

wenn ich kurz drüber nachdenke, dann fallen mir zwei dinge ein, warum es wohl nix werden wird:

1. die hardware der computer ist viel zu komplex: wenn du es schon auf "elektronen-ebene" berechnen willst, musst du ja auch die verarbeitung auf elektronen-ebene betrachten, sprich erstmal eine CPU von der heutigen komplexität bis ins detail verstanden haben und berücksichtigen (was, wie schon von user profile icondigi_c beschrieben, extrem typ-abhängig ist) ... von den vorgängen zwischen einzelnen komponenten ganz zu schweigen (register <-> cache <-> ... <-> RAM)

2. die software ist viel zu komplex: es wird sicherlich nicht darauf hinauslaufen, nur additionen oder multiplikationen zu betrachten... ein algorithmus kann ja alles mögliche sein, von den wildesten mathematischen operationen bis hin zu OOP .... dann müsstest du jeden algorithmus schon in assembler betrachten, und selbst da gibt es mehr als genug (von den ganzen erweiterungen wie MMX, SSE, 3DNow usw. abgesehen)

kommt aber sicherlich immer darauf an, wie genau man es haben möchte... wenn schon grobe schätzungen mit mittelwerten von strommessungen reichen, dann ist es sicherlich möglich (die sinn-frage stellt sich natürlich dann umso mehr ;) )