Du hast recht, es dürfte nur sehr wenig Stellen in einem klassischen Programm (also ohne Bitboards) geben, bei denen 32 Bit einen direkten Vorteil bringen.
Wenn jetzt aber der 68020 bei gleichem Takt ungefähr doppelt so schnell wie ein 68000 ist und dies auch noch bei Programmen ohne besondere Optimierung funktioniert, dann steckt da was anderes dahinter:
- Der 68020 ist jünger, der Microcode konnte so noch etwas optimiert werden. Ein logisch identischer Befehl wird so im Schnitt etwas schneller abgearbeitet. Ganz extrem bei Multiplikation und Division.
- Der 68020 hat einen kleinen Cache, wodurch kleine Schleifen ohne Speicherzugriffe abgearbeitet werden. Der 68000 war hier immer von der Geschwindigkeit des Speichers abhängig.
- Ein weiterer Effekt des Cachings ist die teilweise Parallelisierung von Befehlen (Pipelining), d.h. mit dem nächsten Befehl kann schon begonnen werden bevor der aktuelle beendet ist.
- Der Speicher ist über einen doppelt so breiten Datenbus angeschlossen. Dadurch sind Befehlsblöcke mit großem Datendurchsatz (z.B. das Verschieben oder Sortieren von Daten im Speicher) schneller als beim 68000.
Die zusätzlichen Befehle des 68020 sind dagegen kaum von Nutzen. Zum einen verhindern sie die einfache Übertragung auf den preiswerteren 68000 und zum anderen sind sie nur schwer zu programmieren und debuggen. Sie sind einfach zu komplex geworden.
Matthias