CPU mit Assembler überhitzen
-
Original erstellt von TriPhoenix:
Wenn du mir erzählst, welchen Zweck das haben sollAus Interesse.
Es interessiert mich immer mehr wie man über Software auf Hardware "zugreiffen" kann. Hab neulich erst gelernt wie ich einen LPT-Drucker in C ansprechen kann, ist einfach derbe interessant. Denk nicht ich habe vor damit irgeneinen Schaden anzurichten!
-
Na dann..der Code steht sowieso schon da:
foo: jmp foo
das ist eine extrem dicht gepackte Endlosschleife, innerhalb von einer Instruktion enthält der Cache dann alles nötige damit die CPU nichts langsames (Speicherzugriff) mehr machen muss. Unter Multitaskingsystemen haut dir das OS natürlich nboch ab und zu dazwischen. Die OVERHEAT-Instruktion war natürlich offensichtlicher Quark.
Solange die Rechnerkühlung in Ordnung ist (sollte bei nicht-übertakteten Systemen IMMEr der Fall sein) ist die Sache harmlos, bei ner mangelhaften Kühlung merkt man meistens recht schnell, wenn was nicht mehr stimmt (Windows 2000 quittiert das oft gerne mit einem Blue-Screen-Of-Death) und dann kann man auf den Ausknopf hauen.
-
Wie das wars???
also ich habe jetzt mal folgendes in mein compiler getipptert:
__asm{ foo: jmp foo };
programm läuft, kein absturz und so.
und über den SystemMonitor habe ich mir die CPU Leistung angesehen...da tat sich nichts
habe ich was falsch gemacht?
ich habe dieses "foo" schon so oft hier im forum gelesen und mich jedesmal gefragt was das überhaupt sein soll! vielleicht kannst du mir das geheimnis lüften *g*
-
Cool. Mit dem Befehlen hab ich meine CPU auf 79 Grad gebracht. Nicht schlecht...
-
Nein halt stopp!
Habe einen fehler gemacht.
vor dem assembler code hatte ich noch die eingabe des alten programms *g*
habe sie mal weggemacht und siehe da auslastung war 100%.
nicht schlecht!*staun*
Ich habe ein Notebook mit PIV@2GHz.
Womit kann ich mir die CPU Temparatur ansehen?
-
Wird die CPU eigentlich heißer wenn man z.B. eine Endlosschleife mit Rechenbefehle statt der Endlos-Schleife ohne Anweisungen drinne benutzt?
-
hmm ich denke einfach mal dass die cpu am schnellsten heiss wird wenn sie in einem kurzem zeitraum möglichst viel information verwaltet. weil die auslastung ja deutlich höher liegt als wenn erst noch ausm/inden RAM geschriebn werden muss etc...hat ja ne zugriffszeit von paar ns...
-
über was staunst du? mit c++ geht das genauso die 100 % auslastung zu erreichen.
while(true) { }
-
Original erstellt von Peter Piksa:
ich habe dieses "foo" schon so oft hier im forum gelesen und mich jedesmal gefragt was das überhaupt sein soll! vielleicht kannst du mir das geheimnis lüften *g*Foo ist ein ganz einfaches Platzhalterwort, wenn einem nichts besseres einfällt. Außer foo sind noch bar, baz und foobar geläufig.
Original erstellt von <while(true)>:
Wird die CPU eigentlich heißer wenn man z.B. eine Endlosschleife mit Rechenbefehle statt der Endlos-Schleife ohne Anweisungen drinne benutzt?Das dürfte keinen großen Unterschied weiter machen. Ein JMP ist im Prinzip ja auch ein ADD.
Original erstellt von Peter Piksa:
hmm ich denke einfach mal dass die cpu am schnellsten heiss wird wenn sie in einem kurzem zeitraum möglichst viel information verwaltet. weil die auslastung ja deutlich höher liegt als wenn erst noch ausm/inden RAM geschriebn werden muss etc...hat ja ne zugriffszeit von paar ns...Ganz im Gegenteil. Der RAM ist langsam und sobald die CPU auf den RAM zugreift, muss sie einen ganzen Haufen Takte einfach rumsitzen und kühlt wieder dabei.
Original erstellt von <while(true)>:
**über was staunst du? mit c++ geht das genauso die 100 % auslastung zu erreichen.while(true) { }**
Denn diese while-Schleife wird genau zu dem was ich gepostet habe kompiliert
-
Original erstellt von TriPhoenix:
Ganz im Gegenteil. Der RAM ist langsam und sobald die CPU auf den RAM zugreift, muss sie einen ganzen Haufen Takte einfach rumsitzen und kühlt wieder dabei.Genau das habe ich doch gesagt!
-
Original erstellt von Peter Piksa:
Genau das habe ich doch gesagt!Sorry, parserfehler meinerseits
-
Na toll, noch so ein möchtegern Virenautor. Am besten ihr sagt gar nix, denn es gibt keinen Sinnvollen einsatzbereich für solche Sachen(ich hab jedenfalls nach 10 minuten überlegen nix rausgefunden).
verbessert mich, falls ich mich irre
gruß james
-
naja für stabilitätstest ist sowas schon nützlich - allerdings stösst man in diesem thread auf eine geballte ladung von nichtwissen, also besser wieder in der versenkung verschwinden lassen
-
wenn ich irgendwo nen pc kaufe, dann lasse ich dort erstmal ne zeitlang meine programme laufen um die stabilität zu testen... besser als zuhause dann zu wundern weshalb etwas abka...
wenn ich in der firma mal auf einem ganz speziellem system etwas debuggen muss, mach ich das ebenfalls so. manchmal lass ich die ganze nach irgendwas total auslasten und wenn der rechner morgens läuft, dann debugge ich erst. es passiert ja nicht gerade selten das das ganze system im ar... ist und dann wäre debuggen zeitverschwendung.
die meißten test sind für die gpu, dann cpu, dann ram.
rapso->greets();
-
rapso schrieb:
wenn ich irgendwo nen pc kaufe, dann lasse ich dort erstmal ne zeitlang meine programme laufen um die stabilität zu testen... besser als zuhause dann zu wundern weshalb etwas abka...
wenn ich in der firma mal auf einem ganz speziellem system etwas debuggen muss, mach ich das ebenfalls so. manchmal lass ich die ganze nach irgendwas total auslasten und wenn der rechner morgens läuft, dann debugge ich erst. es passiert ja nicht gerade selten das das ganze system im ar... ist und dann wäre debuggen zeitverschwendung.
die meißten test sind für die gpu, dann cpu, dann ram.
rapso->greets();
Der arme Gameboy Advance...
-
Sgt. Nukem schrieb:
rapso schrieb:
rapso->greets();
Der arme Gameboy Advance...
rapso->greets();
-
zb mbm steht aber auch in der reg soweit ich das weiss