MEMSPEED V1.0  1994 by Torsten Lang

MEMSPEED mit den maximal erreichbaren Datendurchsatz fr folgende Flle:
CPU->L1 Cache, CPU->L2 Cache, CPU->MEM, L1 Cache->CPU, L2 Cache->CPU, MEM->CPU
Dabei wird je nach Prozessor nicht die tatschliche Bandbreite des Speichers
erreicht. Man knnte diese mit einigen Tricks zwar ebenfalls ermitteln, der
Test wre dann aber nicht mehr allzu praxisnah. So sollte theoretisch ein mit
50MHz getakteter 68030 im Burstmode innerhalb des L1 Cache mit 100MB/s lesen
(Langwortzugriffe), die Praxis ergibt allerdings gerade einmal die Hlfte.
Vermutlich kommt es auch beim bertragen von Registerlisten (z.B.
MOVEM.L (SP)+,A0-A6/D0-D7) zu Totzeiten (je 2 Takte zwischen zwei Speicher-
zugriffen) bei der Abarbeitung der Registerliste. Selbst wenn der 68030 im
Burstmode seinen internen (=L1) Cache mit 100MB/s fllt, kann diese Geschwin-
digkeit in der Praxis nicht dauerhaft, sondern bestenfalls kurzfristig in
bestimmten Grenzsituationen erreicht werden.

Dieser Test soll ein wenig helfen, die Gte von Turbo-/Fast-RAM-Karten zu
berprfen. Bisher gibt es meines Wissens ein solches Programm nicht fr
Atari Rechner. Benchmarks liefern meist viel zu hohe Fantasie-Werte, da sie
meist im Cache (L1 bzw. L2) ablaufen.

Noch ein paar Worte zu den Begriffen L1 Cache und L2 Cache:
L1 Cache (oder auch 1st Level Cache) ist der prozessorinterne Zwischenspeicher
(was Cache Memory an sich ist, sollten Sie schon wissen). Beim 68020
existiert nur ein Instruction Cache (daher wird dieses Programm hier keinen
L1 Cache finden), ab dem 68030 zustzlich Daten Cache. Dieser
schnelle Zwischenspeicher ist bei 68020 und 68030 in sogenannte Cache-Lines
zu 4 Langworten (insgesamt 256 Byte beim 020er, 2*256 Byte beim 030er, zum
040er bzw. 060er habe ich derzeit keine Daten, der Cache ist dort jedoch
deutlich grer) organisiert.
L2 Cache (oder 2nd Level Cache) ist auf der Turbo-Karte oder dem Mainboard
des Rechners untergebracht, jedenfalls nicht innerhalb des Prozessors. Die
Geschwindigkeit liegt meist zwischen der des Hauptspeichers und des L1 Cache.

Die Gre der Caches wird z.Z. noch nicht vermessen, stattdessen geht das
Programm von folgenden Gren aus:
L1 <  16KB
L2 < 512KB
Sollte es einmal Prozessoren oder Turbos geben, fr die diese Werte
berschritten werden, liefert MEMSPEED natrlich falsche Werte. Weiterhin
gehe ich davon aus, da es so schnell keine Karten mit mehr als 999MB/s
Bandbreite gibt. Um das Programm nmlich kompakt zu halten, ist es vollstndig
in Assembler geschrieben. Ich habe bis jetzt auf Sicherheits- bzw.
Plausibilittsabfragen weitestgehend verzichtet. Da als Timer der
_hz_200-Zhler dient, mssen die IRQs natrlich whrend der Messung aktiviert
bleiben, so da gerade bei hohen Werten die gemessenen Daten etwas
niedriger sein knnen als die realen. Die ermittelten Werte sollten aber
einigermaen stimmen. Mein Tip: Testen Sie den Rechner mglichst roh,
also ohne Multitoasting etc.

Das Programm MEMSPEED darf nur in Verbindung mit diesem Text weitergegeben
werden. Weiterhin ist der Vertrieb ber PD-Versender und sonstige kommerzielle
Anbieter untersagt! Soll das Programm in Verbindung mit einem kommerziellen
Produkt weitergegeben werden, so bedarf dies meiner schriftlichen Zustimmung,
ansonsten wird gegen geltendes Recht verstoen. Folgende Firmen haben zur
Zeit meine Genehmigung zur Weitergabe dieses Programms:

MW electronic, Knigswinter
MESA electronic, Lindhorst

Sollten Sie dieses Programm aus anderer Quelle zusammen mit einem kommerziel-
len Produkt erhalten haben oder auf einer PD-Diskette o.. gefunden haben, so
melden Sie sich bitte umgehend bei mir. Weiterhin freue ich mich natrlich
ber jede Rckmeldung (Postkarte) mit Angaben zu den Ergebnissen und Ihrer
Rechnerkonfiguration.

Zum Schlu noch das Wichtigste: Ich bernehme keine Haftung fr wie auch immer
geartete Schden, die Ihnen durch die Benutzung dieses Programms entstehen.

Bad Nauheim, November 1994

Torsten Lang
Pestalozzistr. 9A
61231 Bad Nauheim
E-Mail: torsten.lang@physik.uni-giessen.de
