TobiFlex
Kennt sich schon aus
- Mitglied seit
- 23 November 2008
- Beiträge
- 140
- Punkte
- 18
Hallo,
Ich hab mal den 68000 aus einem A500 entfernt und dafür ein FPGA-Board angeschlossen. Darauf läuft mein stark verbesserter TG68K.C IP-Core. Der ersetzt einen 68000 vollständig. Und mit der ebenfalls auf dem Board realisierten Fastmemerweiterung kann sich die Geschwindigkeit auch sehen lassen - finde ich.
EDIT 23.02.10
Jetzt habe ich den ICache von 8 auf 16 Byte erhöht und schon ist der TG68K.C wieder um einiges schneller geworden.
Noch eine Anmerkung zum Minimig AGA. Dort wird noch der alte TG68 Core eingesetzt. Der TG68K.C ist komplett überarbeitet. Der alte Core brauchte zum Dekodieren des Opcodes immer einen eigenen Takt. D.h. Der schnellste Befehl benötigte 2 Takte. Beim TG68K.C ist der Decoder mit in die Pipeline eingearbeitet. D.h. jetzt wird nur noch ein Takt benötigt. In diesem Takt passiert folgendes gleichzeitig -> nächsten Befehl holen / Befehl dekodieren / letzten Befehl ausführen(stark vereinfacht).
Beim TG68 wurden in der Dekodierphase beim halben Takt(HL-Flanke) die Registerinhalt geholt. Beim TG68K.C geschieht das zum Ende der Dekodierphase(LH-Flanke). D.h der TG68K.C verträgt den doppelten Takt gegenüber dem TG68.
Also doppelter Takt * halber Ausführungszeit = 4 fache Power.
Und das der alte TG68 auch schon schneller als ein 68020 ist hat Jacub mit dem Minimig AGA festgestellt. Mit dem TG68K.C ist also noch eine Steigerung möglich die sich irgendwo zwischen 2x und 4x bewegen wird. Denn in einem realen System wird der CPU Core durch Speicher und Chipzugriffe gebremst.
Ich frage mich welche Befehle und Adressierungsarten des 68020 für AGA wirklich wichtig sind. Wenn man da etwas weglassen könnte (z.B. CALLM) dürfte ein Aufbohren des Core ja nicht so schwer sein - und schnell ist er ja schon.

EDIT 23.04.2010
Ein kleiner Fortschritt => ein kleines Foto.
Der TG68K.C läßt sich jetzt zwischen 68000 und 68010 umschalten.
Sysinfo kennt den TG68K.C nicht und kann daher die Taktfrequenz nicht korrekt berechnen. 280MHz sind auf jeden Fall falsch. Der TG68K.C läuft in diesem Setup mit 31,5MHz. Die "Balkenwerte" sind OK denke ich.

Viele Grüße
TobiFlex
Ich hab mal den 68000 aus einem A500 entfernt und dafür ein FPGA-Board angeschlossen. Darauf läuft mein stark verbesserter TG68K.C IP-Core. Der ersetzt einen 68000 vollständig. Und mit der ebenfalls auf dem Board realisierten Fastmemerweiterung kann sich die Geschwindigkeit auch sehen lassen - finde ich.
EDIT 23.02.10
Der TG68K.C Core läuft mit 40MHz und hat 8Byte ICache. Wenn man mit dem Cache noch etwas Aufwand treibt ist bestimmt noch eine Steigerung möglich.
Jetzt habe ich den ICache von 8 auf 16 Byte erhöht und schon ist der TG68K.C wieder um einiges schneller geworden.
Noch eine Anmerkung zum Minimig AGA. Dort wird noch der alte TG68 Core eingesetzt. Der TG68K.C ist komplett überarbeitet. Der alte Core brauchte zum Dekodieren des Opcodes immer einen eigenen Takt. D.h. Der schnellste Befehl benötigte 2 Takte. Beim TG68K.C ist der Decoder mit in die Pipeline eingearbeitet. D.h. jetzt wird nur noch ein Takt benötigt. In diesem Takt passiert folgendes gleichzeitig -> nächsten Befehl holen / Befehl dekodieren / letzten Befehl ausführen(stark vereinfacht).
Beim TG68 wurden in der Dekodierphase beim halben Takt(HL-Flanke) die Registerinhalt geholt. Beim TG68K.C geschieht das zum Ende der Dekodierphase(LH-Flanke). D.h der TG68K.C verträgt den doppelten Takt gegenüber dem TG68.
Also doppelter Takt * halber Ausführungszeit = 4 fache Power.
Und das der alte TG68 auch schon schneller als ein 68020 ist hat Jacub mit dem Minimig AGA festgestellt. Mit dem TG68K.C ist also noch eine Steigerung möglich die sich irgendwo zwischen 2x und 4x bewegen wird. Denn in einem realen System wird der CPU Core durch Speicher und Chipzugriffe gebremst.
Ich frage mich welche Befehle und Adressierungsarten des 68020 für AGA wirklich wichtig sind. Wenn man da etwas weglassen könnte (z.B. CALLM) dürfte ein Aufbohren des Core ja nicht so schwer sein - und schnell ist er ja schon.

EDIT 23.04.2010
Ein kleiner Fortschritt => ein kleines Foto.
Der TG68K.C läßt sich jetzt zwischen 68000 und 68010 umschalten.
Sysinfo kennt den TG68K.C nicht und kann daher die Taktfrequenz nicht korrekt berechnen. 280MHz sind auf jeden Fall falsch. Der TG68K.C läuft in diesem Setup mit 31,5MHz. Die "Balkenwerte" sind OK denke ich.

Viele Grüße
TobiFlex
Zuletzt bearbeitet:





Geniale Aktion! SMELL THE RUBBER 