Nach dem Studium von bisher nicht zugänglichen Unterlagen von Atari können wir Ihnen heute ein Programm vorstellen, das schon bald auf jedem ST eingesetzt werden wird. CLOCKUP erhöht die Taktfrequenz des 68000 im ST auf knapp 10 Megahertz.
Versuche zur Steigerung der Rechenleistung für den Atari ST liefen bisher über den Einsatz zusätzlicher Hardware. Es werden mehrere Prozessorkarten mit 68020 angeboten, die allerdings keine 100%-ige Kompatibiltät wahren können. Die Erhöhung der Taktfrequenz durch Quarzaustausch scheiterte an den Peripheriebausteinen, die dafür zu langsam sind.
Aufgrund eines Gespräches mit Shiraz Shivji, dem Atari-Chefentwickler auf der Comdex Fall in Las Vegas wurden uns inzwischen einige neue Unterlagen über den MFP-Baustein zugänglich gemacht, die eine Überraschung bargen: Die Taktfrequenz der CPU ist durch einfaches Setzen des untersten Bits im FAST-Steuerregister auf 10 Megahertz umschaltbar. Das bisher undokumentierte Register des MFP 68901 liegt bei Adresse $FFFA30 und muß zum Beschleunigen auf $0001 gesetzt werden (siehe Bild 1).
Um den Problemen mit den zu langsamen Peripheriebausteinen aus dem Weg zu gehen, ist der Quarz unterschiedlich mit den CPU und den IO-Chips verdrahtet. Durch einen Frequenzdiskretor werden MFP, ACIA 1 und 2, DMA, Shifter und Soundchip mit der gewohnten Taktfrequenz von ca. 8MHz betrieben. Eine kleine Lötbrücke auf der Platinenrückseite sorgt dafür, daß der Bus entsprechend synchronisiert wird.
Allerdings ist es damit nicht getan - um die Beschleunigung einsetzen zu können, ist Softwareunterstützung notwendig. Das Problem liegt dabei in den ROM-Chips, bei denen von Atari aus Kostengründen die langsamere Version gewählt wurde. Die notwendige Zusatzsoftware muß also vor ROM-Zugriffen dafür sorgen, daß die Taktfrequenz kurzfristig gedrosselt wird. Diese Verlangsamung und die anschließende Beschleunigung ist durch einfaches Umschalten des genannten Steuerbits schnell und problemlos möglich, so daß kein Zeitnachteil bei Betriebssystem-Aufrufen entsteht.
Das abgedruckte Programm CLOCKUP verbiegt nun alle Trapvektoren für GEMDOS, BIOS, XBIOS und GEM-Aufrufe auf eine kleines Programmstück, daß das FST-Bit umschaltet und dann über die alten Vektoren den Call durchführt. Da das Programm auf dem Papier (Lattice-C und hinzugelinkter MCC-Assemblercode) doch recht lang geraten ist, wollten wir Ihnen mehrere Seiten Listing ersparen und drucken hier einen kleinen Lader für GfA-Basic ab. Er erzeugt auf Diskette oder Festplatte ein File namens CLOCKUP.ACC, das beim Booten als Accessory geladen wird. Durch die Implementierung als Accessory konnte etwas an Programmcode eingespart werden. Es belegt übrigens keinen Platz in der Accessory-Leiste, bleibt aber automatisch resident im Speicher.
Was bringen nun die 10 Megahertz ? Betriebssystem- und IO-Zugriffe werden nicht beschleunigt, dafür steigt die CPU-Leistung bei reinen Rechenaufgabe merklich an. Wir haben einige Benchmarks mit den verschiedensten Programmen durchgefüht, deren Ergebnisse Sie in Bild 2 sehen. Die Geschwindigkeitssteigerung um ca. 30 % ist erstaunlich.
Shiraz Shivji antwortete übrigens auf die Frage, warum diese Möglichkeit bis jetzt noch nicht publiziert wurde damit, daß bei Atari lange Zeit nicht feststand, welche ROM-Bausteine verwendet werden sollten und gleichzeitig alle Programmierer mit der Implementierung des ROM-TOS beschäftigt waren. Inzwischen habe man feststellen müssen, daß eine Einwicklung der Software im Hause Atari als zu kompliziert angesehen wird. Jack Tramiel persönlich habe daher verfügt, die Informationen an die Fachpresse zu leiten, um ein Fiasko wie bei ST-Basic zu vermeiden.
Da wir noch sehr wenige Programme auf CLOCKUP-Kompatibilität prüfen konnten, wären wir Ihnen, den Lesern dankbar, wenn Sie über eventuelle Schwierigkeiten mit HDLOCK berichten würden.
Download Listing 'clockup.lst'