Number Cruncher Reloaded

  • So was ähnliches gab's schon "damals", wie Axel erwähnt:

    http://mirrors.apple2.org.za/A…loating%20Point%20Engine/


    Ich selbst habe mich ein bißchen genauso mit der 68k-FPU beschäftigt, und mit dieser:

    http://mirrors.apple2.org.za/A…e%20Cards/CPU/CCS%207811/

    Die wartet auf Inbetriebnahme.


    Je nachdem, welchen Bedaf an Floating Point-Rechenleistung Du hast, und wie Du den nutzen möchtest, bringt so was nicht viel bis ein bißchen was. Mein Plan ist der, die FPU-Leistung direkt im p-Code-Interpreter unterzubringen. Das wird die Floating Point-Arithmetik deutlich beschleunigen, nur brauche ich die recht selten. D.h. die Integration wird eher akademischen Nutzen haben.


    Ein großer Bremsklotz im Appel II ist die Ansteuerung der FPU, denn die ist auf das Bus-Interface der 68020-CPU ausgelegt: 32bit und Cache-Nutzung aus dem CPU-Cache. Wenn man die FPU mühsam mit 8bit-Häppchen versorgen muß, um nur eine FPU-Operation auszuführen, dann dauert das sehr viele Zyklen. Wenn Du dagegen ganze FPU-Programme schreibst, d.h. die Daten im Registersatz der FPU beläßt und weiterbenutzt, dann wird das was :) "Damals" um 1990er herum bastelte ich auf diese Weise mein Mandelbrot-Programm; die CPU-Befehle parallel zu den FPU-Befehlen auf der Kombination 68020/68881.


    BTW, wenn Du Dir so eine Platine kaufen möchtest, dann nimm unbedingt eine 68882 wg. rund dopppelter Rechenlesitung.


    Gruß, Ralf

  • Hallo Zusammen!

    Da wollte ich gerade mal Werbung für mein Baby machen und dann hat sich das schon bis hier her herumgesprochen :D


    So was ähnliches gab's schon "damals", wie Axel erwähnt:

    Mensch Ralf, darum ist das ja ein clone, ne? ;)

    Zitat

    Ich selbst habe mich ein bißchen genauso mit der 68k-FPU beschäftigt, und mit dieser:

    http://mirrors.apple2.org.za/A…e%20Cards/CPU/CCS%207811/

    Die wartet auf Inbetriebnahme.

    Wie die Jungs, die den NumberCruncher damals gebaut hatten, schon schrieben: "Pull it fast!" - Der AM9511 hat auf der Karte nie richtig funktioniert und nur Wärme erzeugt.

    Zitat

    Je nachdem, welchen Bedaf an Floating Point-Rechenleistung Du hast, und wie Du den nutzen möchtest, bringt so was nicht viel bis ein bißchen was.


    Nu ja... ein Mandelbrot in AppleSoft in 3:40 hat schon was...
    Auf dem IIgs per SANE patch INIT läuft alles über die FPU!
    AppleWorks II auf einem IIe per patch... "is wie wense fliechts".


    Zitat

    Ein großer Bremsklotz im Appel II ist die Ansteuerung der FPU, denn die ist auf das Bus-Interface der 68020-CPU ausgelegt: 32bit und Cache-Nutzung aus dem CPU-Cache. Wenn man die FPU mühsam mit 8bit-Häppchen versorgen muß, um nur eine FPU-Operation auszuführen, dann dauert das sehr viele Zyklen. Wenn Du dagegen ganze FPU-Programme schreibst, d.h. die Daten im Registersatz der FPU beläßt und weiterbenutzt, dann wird das was

    Das geht mit der NC-R auch, kein Problem.
    Ja man füttert von Hand, aber was drin ist, ist drin. Und dann kann man prima Register 1 mit 2 addieren und durch register 3 dividieren. Und das ganz ohne endian Konvertierung

    Zitat

    BTW, wenn Du Dir so eine Platine kaufen möchtest, dann nimm unbedingt eine 68882 wg. rund dopppelter Rechenlesitung.

    Das wiederum bringt auf FPE, NC und NC-R nichts. Siehe meine Benchmarks.
    Zudem war die 68882 im realen Mittel 30% schneller als die 68881 wenn man sie richtig füttert. Aber das sind schon wieder religiöse Diskussionen [wegduck']


    Grüße, Axel

  • Hallo Axel!


    Wg. Clone: das war in dem Sinn gemeint, daß es bereits vor Jahrzehnten Leute gab, die sich mit genau einer solchen Konstellation beschäftigt hatten und da ggf. Erfahrungen und Software vorliegt.


    Wg. 9511-Karte: ich habe noch nicht real begonnen. Ich habe nur eine fürchterliche Vorahnung, daß ich verschiedene Floating-Zahlenformate im 6502 konvertieren muß. Die Hürde damit zu beginnen ist nicht ohne Bedeutung. Mit Apple SANE hat man da einen gewissen Vorteil :) Was ich allerdings dem 9511 bzw. C8231 zugute halte ist das einfachere Interface zum 8bit-Bus. Irgendwann bekomme ich einen Anfall, stelle eine Flasche Rotwein hin, schließe mich ein paar Nächte ein und nähere mich der Numerik und den Zahlendarstellungen :)


    Als ich im Zuge der CCS-Nachbaukarte in den Handbüchern wühlte, verglich ich das bereits mit der 68882-FPU. Es ist eine software-technische Herausforderung :) Deswegen will ich mit den Karten "spielen".


    Für reine Anwender könnte das Ergebnis der FPU-Nachrüstung nicht so ausfallen, wie sie es sich erhoffen. Auf einem 68020/68030 funktioniert das Coprozessor Interface bestens. Die FPU bedient sich aus dem Cache der CPU und läuft automatisch parallel. Es liegt dann "nur" am Compiler, ob der den Code so anordnen kann, daß die Synchronisationspunkte sinnvoll liegen. Genau das hatte ich vor Jahrzehnten manuell gemacht. Daher stammt auch meine Erfahrung mit dem Geschwindigkeitsvorteil der 68882-FPU, aber im Zusammenspiel mit der 68k-CPU. Der Vorteil wird offensichtlich vom 8bit-Interface teilweise aufgefressen, was Du mit den unterschiedlichen Takten der 6502 bzw. 65816 gezeigt hast. Ich hoffe drauf, daß ich meinen 65C02 mit 12,5MHz zur Mitarbeit mit den FPUs bringe. "Notfalls" wäre noch eine 3,6MHz-Transwarp mit 65802 im Lager.


    Vielleicht finde ich mein handoptimiertes Mandelbrötchen in 68k-Code noch. Das könnte relativ einfach auf 6502 konvertiert werden. Inkl. paralleler Code-Ausführung.


    Gruß, Ralf

  • Bezüglich CCS Karte mit AM9511... stimmt das die ein Wärmeproblem hat (das liegt aber am Chip).

    Die Intel Variante des AM9511 tut das aber wie gewünscht... und ohne große Wärmeprobleme.


    Ich habe das im Apple IIe als auch mittlerweile am ZX81 und ZX Spectrum ausprobiert.


    Deshalb habe ich den Käufern des damaligen Apple II(e) Bausatzes von mir zur Intel Version geraten.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::