In einer Zeit des ungeduldigen Wartens auf eine neue Generation von ATARI-Rechnern sind alle Verbesserungen für den ST willkommen. Sinnvoll wäre, wenn solche Verbesserungen oder Erweiterungen von ATARI selbst kämen, aber da das nicht passiert ist, basteln ständig kleinere, aber leistungsfähige Firmen am ST.
Die erste große und mit Sicherheit sinnvolle Erweiterung des ATARI ST war die Aufrüstung dieses Rechners mit einem M68020-Prozessor. Sie hat eine beachtliche Geschwindigkeitssteigerung bei der Ausführung vieler Programme gebracht, war aber mit verschiedenen Problemen verbunden, so daß sogar bis heute nicht alle Programme laufen. Die Erweiterung hat sich nicht nur auf eine Hardwareaufrüstung beschränkt, sondern es war auch eine Änderung des Betriebssystems notwendig. Trotz all dieser Komplikationen hätte die Aufrüstung mit Sicherheit größere Verbreitung gefunden, wenn ATARI dahintergestanden hätte. Dies war aber, wie eingangs erwähnt, nicht der Fall.
Wir beschäftigen uns in diesem Artikel mit einer ähnlichen Lösung, die aber um einiges weniger kompliziert gestaltet wurde. Einen so leistungsstarken Rechner wie den ST kann man in verschiedenen Richtungen sinnvoll erweitern. Man kann zum Beispiel seine interne Speicherkapazität erweitern, was auch verschiedene Hardwarehersteller anbieten (ST Computer-Leser der ersten Stunde werden sich erinnern, daß in unserem allerersten Heft eine Erweiterung des damaligen ST 520 abgebildet wurde). Auch die Diskettenkapazität, die bei dem ST ziemlich knapp ist, kann erweitert werden (dies hat Claus Brod vor 2 Jahren durch sein Hyperformat erreicht). Ebenso läßt sich der grafische Bereich des ST erheblich erweitern.
Was auf jeden Fall und ohne großen Aufwand zu verbessern wäre, ist die Geschwindigkeit des M68000-Prozessors. Bekanntlich wird dieser Prozessor in drei verschiedenen Ausführungen geliefert: mit 8 MHz, 10 MHz und 16 MHz. Der Prozessor des normalen STs wird mit nur 8 MHz getaktet. Die Firma proVME hat für alle ST-Rechner eine Platine entwickelt, auf der ein mit 16 MHz getakteter M68000-Prozessor sitzt. Ebenfalls enthalten sind ein 8 kByte Instruktions-Cache und ein 8 kByte-Daten-Cache ent hält, die den Ablauf der Programme stark beschleunigen.
Wie bei fast allen fremden Erweiterungen, die man am ST vollzieht, geht es auch hier nicht ohne Löten. Dies ist die direkte Konsequenz des niedrigen Preises für diesen Rechner. Eine geschlossene Architektur ohne Möglichkeit für großartige Erweiterungen macht solchen Herstellern (und auch den Anwendern) das Leben sehr schwer. Dazu kommt noch, daß fast alle Bausteine direkt auf das Hauptplatine (Motherboard) gelötet sind.
In unserem konkreten Fall muß der Prozessor ausgelötet oder mit einem Seitenschneider müssen die einzelnen Beine des Prozessors (wie im mitgelieferten Handbuch beschrieben) abgeschnitten werden. Später kann man die Reste mit Pinzette und Lötkolben entfernen. Dann wird ein mitgelieferter Zwischensockel eingelötet, und oben drauf wird die Karte mit dem neuen Prozessor und dem Cache eingesteckt. Jetzt müssen nur zwei Drähte gelötet werden: Der eine verbindet die Karte mit dem Pin 15 des Soundchips (Ein- und Ausschalten des Cache-Speichers), und das andere führt zu Pin 39 des Shifters (dadurch wird der 16 MHz Takt gewonnen). Wenn alles richtig gemacht wurde, können Sie den Rechner wieder zusammenbauen, die mitgelieferte Diskette in das Laufwerk stecken und neu starten.
Auf der mitgelieferten Diskette befindet sich ein Accessory, das zur Steuerung des Ein- und Ausschaltens des Cache-Speichers dient (Bild I), verschiedene Benchmarkprogramme und ein Programm, das die verschiedenen Funktionen des eingebauten Caches überprüft (Bild 2). Im Prinzip braucht man auch nicht mehr.
Wie oben erwähnt, hat man schon vor längerer Zeit eine ähnliche Lösung gefunden, die von uns auch vorgestellt wurde. Bei der PAK-Karte gibt es aber einen großen Nachteil: Es laufen nicht alle Programme. Dies hängt mit dem Einsatz des M68020-Prozessors zusammen. Bei Hypercache handelt es sich um den gleichen Prozessor, nur wird dieser mit der doppelten Frequenz getaktet und hat zusätzlich einen 8 kByte großen Cache-Speicher. Sonst ist alles beim alten geblieben, insofern sollten auch alle Programme laufen. Wir haben verschiedene Programme ausprobiert (siehe Liste), und alle sind anstandslos gelaufen. Einige sind reine GEM-Anwendungen. andere laufen schlicht unter TOS. Auch Programme. die kritisch programmiert sind, haben den Test überstanden.
Schwieriger ist die Frage der Geschwindigkeitssteigerung, die der Austausch des Prozessors mit sich bringt, zu beantworten. Eine Erhöhung der Prozessortaktfrequenz bedeutet nicht, daß der gesamte Rechner schneller läuft. Der Prozessor selbst hat sich nicht geändert und braucht für jeden Befehl die gleiche Anzahl an Zyklen wie sein Bruder mit 8 MHz. Diese werden aber doppelt so schnell abgearbeitet, weshalb auch der CPU ihre Geschwindigkeit verdoppelt.
Der große Nachteil sogenannter CISC-Prozessoren ist, daß die Programmbefehle und Daten auf dem gleichen Speicher liegen und über einen gemeinsamen Bus am Prozessor landen. Der Prozessor bearbeitet einen Befehl nach dem anderen, und wenn der Bus belegt ist, muß er warten... und warten... und nochmals warten. Man hat dieses Problem mit einem kleinen, aber sehr schnellen Speicher gelöst: dem sogenannten Cache-Speicher. Er ist bei M68020 und M68030 in CPU intern eingebaut.
Bei Hypercache wird dem Prozessor ebenso ein Cache zugeordnet, hier allerdings extern. Das trägt dazu bei, daß der Ablauf (fast aller) Programme schneller wird. Selbstgeschriebene Routinen erreichen eine noch erheblichere Steigerung, wenn die Programmvariablen in Registern angelegt werden.
Trotzdem ist die Frage der Geschwindigkeitssteigerung noch nicht beantwortet. Im allgemeinen kann man sagen, daß sich bei allen langsamen Programmen eine spürbare Geschwindigkeitssteigerung feststellen läßt. Bei extrem schnellen Programmen wie TEMPUS fällt sie kaum auf, im Gegensatz dazu wird z.B. 1st Word erheblich schneller. Ein gutes Komplement zu dieser Karte ist Turbo ST, der sogenannte Software-Blitter. Mit der Mischung beider Lösungen hat man einen Rechner, der um einiges schneller ist als der normale ST.
Wie wir oben erwähnt haben, würden wir uns wünschen, daß solche Erweiterungen von ATARI selbst als Standard durchgeführt werden. Das ist jedoch, egal aus welchen Gründen, nicht passiert, aber andere Anbieter bringen solche Lösungen, was wir nur begrüßen können. Wir hoffen, daß diese Erweiterung trotz des Preises (DM 590.-) zu einem Standard wird.
Bezugsadresse
Computer-Peripherie Ross Wiener Weg 4 5000 Köln 40
Wie schon im Text erwähnt, laufen alle Programme, die wir getestet haben, einwandfrei. Wir konnten jedoch nicht alle für den ST existierenden Programme testen. Insofern haben wir hier eine Liste aufgeführt, die in keiner Weise vollständig ist. und hoffen, daß sich die Anwender selbst bei den Herstellern melden, falls irgendein Programm nicht laufen sollte.
Textverarbeitung, DTP:
Word Plus
Signum!2
Redakteur
Calamus
Programmiersprachen:
GFA-BASIC
OMIKRON.BASIC
Laser C
Turbo C
Megamax Modula-2
SPC Modula-2
ST Pascal plus
Datenbanken:
dBMANV
Regent Base
Adimens
Tabellenkalkulationen:
VIP
BECKERcalc
Grafik:
Public Painter
Mega Paint II
STAD
Imagic
Creator
Emulatoren:
Aladin
PC ditto
Wir haben Hypercache mit Word Plus auf seine Geschwindigkeit getestet. Uns ist klar, daß mit so einem Programm nur schwer ein objektiver Test zu erzielen ist, aber weil gerade Word Plus eins der meist verwendeten Programme auf dem ATARI ST ist, möchten wir einen Eindruck der Geschwindigkeitssteigerung gerade bei diesem Programm weitergeben.
Wir haben einen Text mit 620 Zeilen je 80 Zeichen erzeugt und mit der Cursor-Taste gescrollt. Die Option WP-Modus sowie das Lineal am oberen Rand wurden abgeschaltet. Den Test haben wir grundsätzlich bei abgeschaltetem Blitter durchgeführt. Hier sind die Werte:
ATARI ST 8 MHz: 2:03 Minuten
ATARI ST 16 MHz ohne Cache-Speicher: 1:35 Minuten
ATARI ST 16 MHz mit Cache-Speicher: 1:15 Minuten
ATARI ST 16 MHz mit Cache-Speicher und Turbo ST: 1:05 Minuten
ATARI ST 16 MHz ohne Cache-Speicher, mit Turbo ST: 1:13 Minuten
Um den Geschwindigkeitsunterschied des STs mit und ohne Cache festzustellen, haben wir die folgenden Tests durchgeführt. Bei den ersten beiden Tests handelt es sich um Integerarithmetik, der letzte beinhaltet mehrere Multiplikationen und Divisionen mit Festkommawerten.
ATARI ST mit 8 MHz
Eratosthenes 100 Iterationen 42 s
Fibonacci 100 Iterationen 208 s
Fließkommaoperation 40 s
ATARI ST mit 16 MHz ohne Cache
Eratosthenes 100 Iterationen 42 s
Fibonacci 100 Iterationen 208 s
Fließkommaoperation 34 s
ATARI ST mit 16 MHz mit Cache
Eratosthenes 100 Iterationen 22 s
Fibonacci 100 Iterationen 104 s
Fließkommaoperation 22 s
Manche natürliche Zahlen lassen sich als Faktoren schreiben. So gilt z.B. 8=24 oder 20=54. Es gibt aber einige Zahlen, die nicht so darstellbar sind: 17,11, etc. Es handelt sich dabei um die sogenannten Primzahlen, wobei Eins nicht zu ihnen zählt, Zwei dagegen schon. Um solche Primzahlen unter den natürlichen Zahlen zu finden, hatte sich Eratosthenes, ein griechischer Mathematiker, der u.a. als erster den Umfang des Erdballs berechnet hat, eine Methode ausgedacht, die bis heute ihre Gültigkeit noch nicht verloren hat: Man denke sich ein Sieb, das zuerst alle Zahlen filtert, die durch Zwei teilbar sind, außer der Zwei selbst, dann die durch Drei teilbar sind, außer der Drei selbst usw. Alle Zahlen, die durch dieses Sieb durchgehen bzw. am Ende übrig bleiben, sind Primzahlen.
Nach Leonardo Fibonacci, einem italienischen Kaufmann und Hobbymathematiker aus dem 13. Jahrhundert, sind eine bestimmte Folge von Zahlen, die heute als Fibonacci-Zahlen bekannt sind, benannt. Jede Zahl dieser Reihe (außer der Eins) wird aus der Summe der beiden vorangehenden Zahlen gebildet:
nm=nm-1+nm-2
Betrachten wir die ersten Zahlen dieser Reihe:
1,1,2,3,5,8,13,21,34,...
Die Logik der Reihe ist leicht zu erkennen.
Hier das Listing dieses Testes in C. Die Ergebnisse sind sehr abhängig vom verwendeten Compiler.
/* Benchmarktest mit Fließkommaoperationen */
#include <stdio.h>
#include <osbind.h>
#include "zeit.h"
#define CONST1 3.141597e0
#define CONST2 1.7839032e4
#define COUNT 10000
main ()
{
double a,b,c;
int i; printf("\nFloat Test\n");
schreibzeit();
a = CONST1;
b = CONST2;
for (i=0; i<COUNT; ++i)
{
c = a*b;
c = c/a;
c = a*b;
c = c/a;
c = a*b;
c = c/a;
c = a*b;
c = c/a;
c = a*b;
c = c/a;
c = a*b;
c = c/a;
c = a*b;
c = c/a;
}
schreibzeit();
getchar();
}
Wir haben Hypercache mit einem Fractalgenerator (ST-Public Domain- Sammlung, Diskette 100) getestet. Der hier abgebildete Fractal wurde auf einem ST mit 8 MHz und einem mit Hypercache ausgerüstetem ST erzeugt. Der Geschwindigkeitsunterschied ist eindeutig:
ST mit 8 MHz: 5:00 Minuten
ST mit Hypercache: 3:30 Minuten