Wobei es für diesen Core wohl noch Optimierungsbedarf gibt, was die Geschwindigkeit ...
Nö.
Die FireBee-Grafik ist als Framebuffer so schnell, wie der FlexBus der ColdFire-MPU das hergibt (die CPU kann einfach nicht schneller in das Grafik-RAM schreiben, weil alles über den gemultiplexten 32 MHz Bus muß).
Weitere Beschleunigung könnte man nur noch mit in Hardware gegossener Highlevel-Grafikbeschleunigung (Linien, Kreise, Rasterkopien, ...) erreichen.
Ansonsten ist die FireBee Grafik nahezu auf dem Niveau des SuperVidel (der "SuperBlitter" fehlt, würde allerdings auch nicht so sehr viel bringen, weil s.o.).
Danke für die technische Klarstellung!
Was mich jedoch schon wundert ist warum das Scrolling in hohen Auflösungen so extrem langsam ist? Da sollte doch noch mehr gehen?
Wenn Du scrollen willst, mußt Du den Inhalt des Bildspeichers - z.B. für eine neue Bildschirmzeile - um 16 Pixel "nach oben" kopieren. Bei 1920 x 1080 x 32 Bit sind das etwa 8 MByte, die bewegt werden müssen.
Jedes einzelne Byte muß die CPU (die eigentlich wesentlich schneller wäre) über den (langsamen) FlexBus aus dem Bildspeicher holen und wieder zurückschreiben. Der FlexBus läuft mit 33 MHz und braucht für einen Buszyklus (mindestens) 4 Takte (für Lesen und Zurückschreiben entsprechend 8 ).
Im besten Fall braucht die CPU also für jeden Kopiervorgang (der ja - beim Textscrollen, z.B. - vielfach vorkommt) dieses Riesenbildschirms (das Problem ist weniger die Auflösung als die hohe Farbtiefe) etwa 0,5 s.
Tatsächlich braucht sie sogar noch etwas länger, weil sie während des Kopiervorgangs mehrfach dem TFP410 (dem "Firebee-Shifter") begegnet, der den Bildschirmspeicher in Richtung Bildschirm "pumpt" und auf den warten muß.
Und der Hauptvorteil de Radeon wäre dann daß der PCI-Bus mit vollen 132 MHz an der CPU hängt?
Nicht ganz. Der PCI-Bus ist mit 66 MHz angebunden (und das auch nur dann, wenn alle Karten, die drinstecken, auch 66 MHz unterstützen). Ist also maximal etwa doppelt so schnell als der FlexBus. Tatsächlich dürfte der Unterschied deutlich geringer ausfallen, weil jeder PCI-Bus Zugriff erstmal mindestens einen extra Buszyklus braucht, um den Bus zu übernehmen (wenn man das also "unglücklich" programmiert, ist er sogar langsamer als der FlexBus). In meinem m5484-Evaluationboard steckt eine Radeon-Karte drin. Die scrollt beim Booten wesentlich langsamer als die FireBee-Grafik.
Dieselbe Problematik (die alle Grafiksysteme haben, die hohe Auflösungen bei hoher Farbtiefe unterstützen) hat bei PCs erst zu den "LocalBus"-Grafikkarten und dann zu den Grafikbeschleunigern geführt. Statt die 8 MByte erst lahm zu lesen und sie dann wieder lahm zurückzuschreiben, sagt man der Grafikkarte einfach "um 16 Pixel nach oben verschieben" und der Vorgang läuft innerhalb des Grafikspeichers wesentlich schneller ab. Die (sehr) theoretische Speicherbandbreite des FPGA RAMs liegt bei etwa 2 GB/s (also etwa 60 mal schneller als unser FlexBus). In der Realität dürfte maximal etwa 1/3 davon erreichbar sein, was immer noch eine deutliche Steigerung wäre.
Um das hinzubekommen, bräuchten wir aber wieder "FPGA-Intelligenz" - also etwas wie den "SuperBlitter" der SuperVidel-Karte - und (völlig) andere, neue Grafiktreiber.
Damit wäre zunächst nur das Kopieren innerhalb des Grafikspeichers beschleunigt. Das Problem stellt sich aber beim Zeichnen von z.B. Rasterflächen und Linien genauso (also noch mehr Hardwarebeschleunigung und Treiberarbeit notwendig). Meines Wissens nach kann das die SuperVidel-Karte aber auch (noch) nicht.
Plus dem Polaritätsproblem in sehr hohen Auflösungen für manche Monitore, oder?
Ich bin nicht sicher, aber das ist m.E. ein Hardwareproblem, das sich im FPGA nicht beheben läßt.