.
|
|
| Autor | Beitrag |
|---|---|
|
000 06.12.2001, 22:28 Tron |
ich hab letztens beschlossen, wieder mal etwas assembler zu proggen und habe mich ueber edit und nasm hergemacht. rausgekommen ist kleines proggi (251 byte), das mit hilfe des timers (8253) und dem befehl rdtsc berechnet mit wieviel MHz der rechner laeuft. ich hab mir gedacht, dass ich dieses meisterwerk *g* der welt nicht vorenthalten kann und hab' das proggi mal auf nen server gepappt: ACHTUNG: wer tatsaechlich den source haben will: den geb' ich gerne her, muss ihn blos vorher noch etwas kommentieren (aktuell ist kein einziges ; in der asm *g*) gibt's hier noch ein paar leute die was mit assembler machen? habt ihr auch interessante kleine proggis, die die welt unbedingt sehen muss? *fragend in die runde guck* --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
001 06.12.2001, 23:02 Retro |
Code währe derbst cool =) Ich fange mit ASM an, aber eher in Sachen Microconroller, aber ASM bleibt ASM - bin aber noch nubbi ;) --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
002 06.12.2001, 23:05 Tron |
jo, ich schreib' mal einige kommentare dazu, aber wahrscheinlich erst morgen *gaehn* lass das teil mal laufen, funzt es bei dir richtig? (konnte es bisher nur auf meinem duron 800@840 und auf dem rechner eines kumpels, duron 600, testen) --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
003 06.12.2001, 23:12 Retro |
Hmpf, gut das dus erwähnst =\ Nichts geht, ziemlich komisch: Ich hab Win98 FE und nen PIII 866 --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
004 06.12.2001, 23:30 Tron |
@Retro hat noch wer das problem? <edit> shld di, ax, 17 das muesste allerdings das gleiche sein und hab auch mal den (unkommentierten) source dazugepackt url ist die selbe: </edit> --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett Dieser Beitrag wurde am 06.12.2001 um 23:36 von Tron bearbeitet. |
|
Profil || Suche |
|
005 07.12.2001, 00:14 Kriz |
Bei mir klappt es (hab ja auch nen AMD, hrhrhr =) --K:R-I)Z++ |
|
Profil || Suche |
|
006 07.12.2001, 00:18 Retro |
Jau, jetzt klappts auch! =D 870Mhz! --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
007 07.12.2001, 08:45 Ultimate_Blade |
ich hab nen PIII 500 (firmenrechner) und bei mir steht 1002 Mhz! *scheissintel --ICQ: 150855202 |
|
Profil || Suche |
|
008 07.12.2001, 12:30 Tron |
@Ultimate_Blade: bei retro stimmts ja auch (ebensfalls, da * 2) ich berechne die MHz folgendermasen: MHz = cpu / timer * 1.193.180 / 1.000.000 * 2 und das problem ist, dass ich nicht weiss, warum ich * 2 machen muss, eigentlich duerfte das ja nicht sein... --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
009 07.12.2001, 12:37 Ultimate_Blade |
ok, frag nich mich, ich hab vom assembler & co sowieso weniger als 0 ahnung ;) --ICQ: 150855202 |
|
Profil || Suche |
|
010 07.12.2001, 13:50 Kriz |
Hm, eventuell werden einmal nur die ganzen Takte berechnet und ein anderes Mal dagegen die aufsteigenden und absteigenden Taktflanken. Könnte eventuell an der Prozessorarchitektur liegen. Angenommen das Proggi ermittelt nur ganze Takte, die aber aus irgendeinem gottlosen Grund exakt die Hälfte der leistung darstellt. Also multiplizierst du den Wert mit 2 und siehe da, jetzt stimmt es. Bei einem anderen Prozessorkern ermittelt das Proggi dagegen auf- und absteigende Taktflanken, was im Endeffekt ja eine implizite Multiplikation mit 2 ergibt. Nun wird der Spaß aber wieder explizit mit 2 multipliziert und es kommt ein doppelt so große Rate bei raus. Aber: Ma waases net, ma waases net, ma munkelt nur... =) --K:R-I)Z++ |
|
Profil || Suche |
|
011 07.12.2001, 16:37 Tron |
also an rdtsc liegt es (zumindest bei meinem rechner) definitiv nicht das problem scheint wohl irgendwie mit dem timer zusammenzuhaengen daraus folgere ich, dass es irgendwelche unterschiede beim timer (oder seiner einstellung) geben muss (sber eigentlich laut pc-standard kann das auch net sein, soviel zum thema '100% ibm-pc kompatibel') *verwirrt* --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
012 07.12.2001, 18:39 WareWolf |
liest Du den 18,2 sec Timer über den BIOS INT 1a aus oder geht das auch direkt? --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
013 07.12.2001, 18:41 Mazze |
Ich kenne ja deine Code nicht! BattleTech-MOD: |
|
Profil || Suche |
|
014 07.12.2001, 18:52 WareWolf |
..übrigends schmiert bei mir die Kiste grausam ab, nachdem MHZ.COM gestartet wird. Und zwar ziehmlich am Anfang beim beschreiben von: Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
015 07.12.2001, 19:08 Mazze |
Oh sorry. Les grad oben, dass du diesen Timer genommen hast! --BattleTech-MOD: |
|
Profil || Suche |
|
016 07.12.2001, 19:53 TheTinySteini |
Ob dieser Unterschied mit den Idle-Cycles zu tun haben kann? Da gab's doch auch unter Windoof 95 das Problem, dass die AMDs einfach zu schnell waren. Mit den neuesten P4s ist das übrigens jetzt auch bei Intel-CPUs so (sprich: ein P4 ist im Idle-Cycle heute so schnell wie damals ein K6-2 =) --TheTinySteini |
|
Profil || Suche |
|
017 07.12.2001, 21:17 Tron |
@Mazze: @WareWolf: @TheTinySteini: ausserdem tritt das problem mit dem * 2 auch unter normalen dos auf... hat jemand ahnung von der programmierung des 8253? --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
018 08.12.2001, 12:49 Mazze |
Ich kenn halt den Zen-Timer von Michael Abrash, der mit diesem Chip arbeitet! --BattleTech-MOD: |
|
Profil || Suche |
|
019 08.12.2001, 13:59 WareWolf |
Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
020 08.12.2001, 16:18 TheTinySteini |
Hm, soviel Ahnung hab ich von Assembler nicht, aber die Debug-Ausgabe sieht mir doch irgendwie nach ner korrupten Datei aus. Haste sie nochmal gezogen? TheTinySteini |
|
Profil || Suche |
|
021 08.12.2001, 16:30 TheTinySteini |
Hm, schon gut, debug zeigt mir auch diese Ausgabe: <edit> Vielleicht sollte ich noch sagen, dass das Tool bei mir korrekt 400MHz anzeigt (Celeron 400)... </edit> <edit2> Wie lang ist der rdtsc-Befehl denn? Zufällig 3 Bytes? Denn dann passt die Debug-Ausgabe wieder </edit2> <edit3> Äh? rdtsc ist 0F 31... also 2 Bytes. Soweit so gut, aber im Kompilat kommt danach noch ne 66. Wofür is die denn? Wegen dem eax und edx? Sorry, aber ich hab mich nie richtig mit Assembler für 32-Bit Prozessoren beschäftigt. </edit3> <edit4> Okok, ich weiß, nicht erst Fragen stellen und dann erst googlen. Hat sich also erledigt =) Damit kann man doch eigentlich nur vermuten, dass der K6-2 kein rdtsc hat, oder nicht? </edit4> --TheTinySteini Dieser Beitrag wurde am 08.12.2001 um 16:49 von TheTinySteini bearbeitet. |
|
Profil || Suche |
|
022 08.12.2001, 16:49 Tron |
@TTS: rdtsc is im maschinencode 0x0f 0x31 (also 2 byte) debug duerfte EINIGES von den code nicht verstehen: @WareWolf: 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
023 08.12.2001, 17:38 TheTinySteini |
Tron: Nunja, die Meldung bei Warewolf tritt jedenfalls genau dort auf, wo rdtsc ausgeführt wird (bei Offset 0120). Es wäre also möglich, dass der K6-2 rdtsc nicht kennt. Laut dieser Seite: http://www.deinmeister.de/e_cy6x86cr.htm#rdtscanchor kennt der Cyrix 6x86 den Befehl nicht, aber vom K6-2 ist nicht die Rede... Achja, nochwas: unter reinem Dos (beim Start "Nur Eingabeaufforderung" ausgewählt) zeigt dein Prog 801 MHz an, nur unter Windows kommt korrekt 400 MHz. Häh? --TheTinySteini |
|
Profil || Suche |
|
024 08.12.2001, 17:41 WareWolf |
wenn ich im Trace durchzottele, verreckts direkt bei out 43,al, zum rdtsc gelang ich also gar nicht.Komisch. --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|



