Hardware > Hardware (Classic 16-/32-Bit)
MC68010 mit TOS 2.06 und newdesk.inf ...
mfro:
--- Zitat von: Skywalker am Mo 15.06.2015, 20:32:16 ---Der 68010 hat neue Register, getrennte User- und Supervisormodi und ist fehlerbereinigt.
--- Ende Zitat ---
Das steht zwar so in Wikipedia, ist aber genau genommen falsch. Der 68010 hat keine neuen Register, sondern lediglich eins: das VBR (vector base register). Wenn man das nicht anfaßt, ist es mit 0 initialisiert und der 68010 verhält sich (fast) wie ein 68000.
Getrennte User- und Supervisormodi hatte der 68000 auch, der wesentliche Unterschied ist, daß der Befehl move.w sr, xxx im 68010 ein privilegierter (nur im Supervisor-Mode ausführbarer) Befehl wurde. Will man nur die Flags (im User-Mode) abfragen, muß man stattdessen den (neuen) Befehl move.w ccr,xxx benutzen, den es beim 68000 nicht gibt. TOS 2.06 hat einen Exception-Handler, der diesen Unterschied für die meisten "normalen" Programme eliminiert.
Darüber hinaus hat der 68010 ein anderes (längeres) Exception-Stackframe-Format (identisch zu 68020+), das ihm erlaubt, im Bus-Error-Handler die referenzierte, aber nicht vorhandene Speicheradresse rauszufinden. Das ist eine Grundvoraussetzung, um virtual memory zu implementieren. TOS2.06 ist hier wieder das einzige TOS, daß diesen Unterschied mit der _longframe Systemvariable (die brauchen Falcon und TT auch) teilweise ausbügelt.
Ansonsten scheint mir die in Wikipedia erwähnte "weniger als 10% höhere" Geschwindigkeit etwas stark übertrieben. Die werden nur erreicht, wenn man es schafft, den 68010 in den Loop-Mode (auch eine Neuerung) zu versetzen. Dabei nutzt er einen interne Cache und muß nicht auf den Bus zugreifen.
Dummerweise funktioniert das nur bei Schleifen, die aus maximal zwei Maschinenbefehlen bestehen (und damit läßt sich nicht wirklich viel Sinnvolles anstellen), so daß der Geschwindigkeitszuwachs in realen Programmen wahrscheinlich eher unter 1% liegt.
Arne:
--- Zitat von: mfro am Di 16.06.2015, 10:17:21 ---(...) so daß der Geschwindigkeitszuwachs in realen Programmen wahrscheinlich eher unter 1% liegt.
--- Ende Zitat ---
mfro ist der einzige hier, der verstanden hat, dass ein 010 nur Ärger im ST macht und konnte es noch fundiert erklären. Einen Standing-Ovation Smiley gibt's hier leider nicht.
Lukas Frank:
Ganz so hart würde ich das nicht sagen ...
Bei mir läuft alles Wunderbar bis auf das laden beim booten der newdesk.inf, was man aber durch das manuelle nachladen umgehen kann. Und unter MiNT und MagiC stellt dich das Problem gar nicht.
Spiele laufen bei mir nie und da machen 020er und aufwärts Karten wahrscheinlich die gleichen oder mehr Probleme, ganz zu schweigen von einem Coldfire wie in der Firebee ...
Lynxman:
Ja, die 10% oder gar 16/17 kann man total vergessen!
Irgendwo habe ich von 3% (oder 5?) gelesen wenn man entsprechenden Code hat, was wahrscheinlich an kleineren Optimierungungen in der Befehlsabarbeitung liegt.
Der 68010 ist ja "nur" ein modifizierter 68000, wo sollen da zweistellige Prozente herkommen?
Das ist wahrscheinlich auch der Grund warum sich der 68010 nicht so toll verkauft hat.
Ich bin mir sicher das schon 1985 der 68010 in Stückzahlen nicht so viel teurer war, aber für nur 1% macht ein Tramiel den Geldbeutel eben nicht auf. ;D
Lukas Frank:
Ja habe schon geschrieben das es ein sinnfreier Spaß ist einen MC68010 zu nutzen ...
Da er in meinem Mega ST recht gut läuft, bleibt er erstmal drin.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln