Speed-Vergleich C64 - PC

Hi zusammen,

hab gerade mal bisschen gesucht und für einen
C64 eine Rechengeschwindigkeit von 400 FLOPS gefunden.

Ein AMD Dual Core mit 2,5GHz schafft grob 12 GFLOPS.

1 GFLOP = 10^9 FLOPS = 1.000.000.000 FLOPS.

Wenn ich mich also nicht vertue wäre damit ein noch
nicht mal aktueller Dual Core Proz etwa 30 Mio. mal
so schnell wie der MOS 6510 vom C64.

Meine GraKa soll angeblich 643 GFLOPS machen …

Was geht ab? Hab ich irgendwo paar Nullen zuviel?

LG Alex

Hi Alex,

Was geht ab? Hab ich irgendwo paar Nullen zuviel?

nein, hast Du nicht. :smile: Die Unterschiede sind tatsächlich so gigantisch.

Nach dem C64 kam der viel schnellere Amiga. Ich erinnere mich noch, daß wir Bilder über Nacht gerendert haben … Das macht heute die Grafikkarte in Echtzeit. :smile:

Gruß Rainer

hab gerade mal bisschen gesucht und für einen
C64 eine Rechengeschwindigkeit von 400 FLOPS gefunden.

Der 6510, der Prozessor des C64, kennt keine einzige FLOP, selbst die einfachsten müssen über die 8-bit Integer-Arithmetik dieses Prozessors emuliert, in Software gegossen werden. Eine Angabe von 400 FLOPS hielte ich eher für zu hoch, denn für zu niedrig gegriffen.

Ein AMD Dual Core mit 2,5GHz schafft grob 12 GFLOPS.

Nicht annähernd, würdest du auf die nativen FP-Instructions verzichten und diese in Integer nachbauen. Aber auch dann wäre, allein schon aufgrund seiner Registerbreite, der AMD dem 6510 um weit mehr überlegen, als nur um die höhere Taktung multipliziert mit der Anzahl Cores.

Gruß

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 :wink:

LG Alex

Hallo Alex,

hab gerade mal bisschen gesucht und für einen
C64 eine Rechengeschwindigkeit von 400 FLOPS gefunden.

Das kommt in etwa hin.

Ein AMD Dual Core mit 2,5GHz schafft grob 12 GFLOPS.

1 GFLOP = 10^9 FLOPS = 1.000.000.000 FLOPS.

Wenn ich mich also nicht vertue wäre damit ein noch
nicht mal aktueller Dual Core Proz etwa 30 Mio. mal
so schnell wie der MOS 6510 vom C64.

Meine GraKa soll angeblich 643 GFLOPS machen …

Was geht ab? Hab ich irgendwo paar Nullen zuviel?

Dein Fehler ist, dass du spezialisierte Hardware mit einer Emulation derselben vergleichst.

Beim 6502 musste schon eine 8-Bit Intergermultiplikation als Programm geschrieben werden.

Auch zwischen einem aktuellen Pentium und einem 8087 wirst du Sprünge haben, welche nicht proportional zum Takt sind, wenn es um die FLOPS geht. Der 8087 rechnete noch vieles mit MicroCode, was heute vollständig in Hardware umgesetzt worden ist.

MfG Peter(TOO)

Hi Peter,

Dein Fehler ist, dass du spezialisierte Hardware mit einer
Emulation derselben vergleichst.

nö.

Hab einfach nur zwei Computer verglichen für die ich
im Abstand von etwa 25 Jahren fast den gleichen Preis
gezahlt habe. Das Multiplizieren von Gleitkommazahlen war
auch damals auf einem C64 allgemein üblich, wie das geschah
ist dabei völlig egal und schon mal garnicht „Mein Fehler“.
Abgesehen davon hätte ihn eine damalige FPU, die ins
Preisgefüge gepaßt hätte, auch nicht wirklich rausgerissen.

Ich habe mich nicht darüber gewundert, daß eine aktuelle FPU
schneller ist, als ein 6510, sondern daß es sich dabei um
einen Faktor von 32 Mio. handelt.

Siehe auch mein anderes Posting.

LG Alex

Beim 6502 musste schon eine 8-Bit Intergermultiplikation als
Programm geschrieben werden.

Auch zwischen einem aktuellen Pentium und einem 8087 wirst du
Sprünge haben, welche nicht proportional zum Takt sind, wenn
es um die FLOPS geht. Der 8087 rechnete noch vieles mit
MicroCode, was heute vollständig in Hardware umgesetzt worden
ist.

MfG Peter(TOO)

Dein Fehler ist die Maßeinheit.
Ist vielleicht so, wie wenn die Pferde einer Kutsche mit den PS eines Motors vergleichen will.

Oder die Reaktionszeit einer Röhre mit der eines TFTs.

Bessre Beispiele fallen mir leide rnicht ein, aber vielleicht verstehst du was ich meine :wink:

Ähnlich ist es ja auch mit den Benchmarks der Grafikkarten. Da kann man auch nicht einfach die FPS einer DX9 mit einer DX10 Karte/Software vergleichen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moien

Meine GraKa soll angeblich 643 GFLOPS machen …

Das liegt an der Anzahl der Rechnenwerke: die 2 CPUs haben einen, resp. 2 Kerne mit jeweils einem Rechnenwerk und einer Ablaufsteuerung. Die Graka hat 10-15 Ablaufsteuerungen aber hunterte Rechnenwerke. Und dann sind 600 GFLOPS kein Problem mehr. Nur kann man diese nicht immer sinnvoll einsetzen.

Als Beispiel: die HD4870 von ATI hat 800 Rechnenwerke und produziert 1200 GFLOPS. Und davon gibt’s x2-Versionen und es passen zur Not mehrere Karten in einen Rechner.

cu