Hallo Herrmann,
hab selbst 4 Jahre aufm C64 und 800XL Assembler
programmiert, deshalb ist mir durchaus bewußt, daß
man sämtliche komplexe Berechnungen selbst coden
oder wie Du so schön sagst - „in Software gießen“
muß. Hatte keine Lust extra einen Emu zu installieren
oder meinen C64 ausm Keller zu holen um den Wert von
400 FLOPS zu verifizieren. Der entstammt der Dokumentation
zu einer 6510-ASM-Makrosammlung. Bin mir aber ziemlich sicher,
daß das einigermaßen realistisch ist. Falls nicht lassen wir
den 6502 der Floppy mitrechnen, im Kampf gegen ne 17stufige
FPU wäre das nur fair.
Ich bin durch grobes Überschlagen immer so von 45000x schneller
ausgegangen. Da der C64 im Schnitt 3 Takte pro Befehl benötigt,
kommt er so etwa auf 0,33 MIPS. Der Athlon 64 x2 liegt etwa bei
14500 MIPS. Das ist auch durchaus nachvollziehbar und erklärt
sich durch die höhere Taktung, extra für die Befehls-Pipelines
optimierten Code, 1st/2nd Level Cache + allgemein wesentlich
schnelleres RAM, mehr und „etwas“ breitere Register und nicht
zuletzt natürlich auch durch den zweiten Core.
Auch den noch größeren Performance-Unterschied bei speziellen
Aufgaben wie FLOP-Berechnungen, wofür beim Athlon 64 x2
spezialisierte Hardware vorhanden ist hatte ich erwartet,
aber eben nicht im Bereich von 30 Mio. mal schneller…
Nicht annähernd, würdest du auf die nativen FP-Instructions
verzichten und diese in Integer nachbauen.
Seltsame Ideen hast Du. Beim Vergleich zweier Technologien,
die ein viertel Jahrhundert auseinander liegen ist eigentlich
nicht mein erster Gedanke den neueren Prozessor durch „geschickte“
Programmierung zu kastrieren um ihn dem Niveau eines 6510 anzupassen.
Falls es möglich wäre, würdest Du dem Athlon 64 x2 bestimmt erst
einmal 227 Mio. Transistoren rausreißen und nen anderen Quartz
verpassen um faire Bedingungen zu schaffen
LG Alex