Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Technische Fragen und Probleme / Tuning


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 06.03.2012, 13:18
Benutzerbild von Supergrobi
Supergrobi Supergrobi ist offline
Gesperrt
 
Registriert seit: 12.07.2004
Ort: Hannover
Alter: 52
Land:
Beiträge: 702
Abgegebene Danke: 277
Erhielt 436 Danke für 112 Beiträge
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 ssssss702
16/32 Bit: Woher kommt der Geschwindigkeitsvorteil?

Hallo allerseits,

ich habe mich kürzlich gefragt, wie es eigentlich kommt, daß z.B. der Roma 68020 doppelt so schnell ist wie der Roma 68000.

Ich weiß, daß der 68020 in einem Zyklus 32 Bit lesen kann, aber in einem Schachprogramm (zumindest wenn es keine Hashtables einsetzt) kommt so etwas doch praktisch gar nicht vor?

Die klassische 10x12-Brettdarstellung kann ich komplett mit 8-Bit-Daten programmieren (ein Array von 120 Elementen signed char), für Bewertungskriterien brauche ich vielleicht mal 16 Bit, wenn mir 8 Bit zu grob sind.

Wie kann ein 32-Bit-System bei Verwendung solcher Daten seinen Vorteil ausspielen?

Das einzige, was mir einfällt, wären Bitboards. Wenn die interne Brettdarstellung über Bitboards läuft, würde man mit einem 32bit-System im Vorteil sein. Aber a) wäre das auf einem 68000 gemessen an der 10x12-Darstellung nicht viel zu ineffizient und b) wurden damals überhaupt schon Bitboards eingesetzt?

Oder bin ich komplett auf dem falschen Dampfer?

Bin für jeden Hinweis dankbar!

Viele Grüße,
Dirk
Mit Zitat antworten
  #2  
Alt 06.03.2012, 16:20
Benutzerbild von Solwac
Solwac Solwac ist offline
Revelation
 
Registriert seit: 18.07.2010
Land:
Beiträge: 782
Abgegebene Danke: 189
Erhielt 338 Danke für 216 Beiträge
Aktivitäten Langlebigkeit
0/20 14/20
Heute Beiträge
0/3 ssssss782
AW: 16/32 Bit: Woher kommt der Geschwindigkeitsvorteil?

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
Mit Zitat antworten
Folgende 4 Benutzer sagen Danke zu Solwac für den nützlichen Beitrag:
Endspielgott (07.03.2012), Robert (06.03.2012), Supergrobi (06.03.2012), Theo (11.03.2012)
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Frage: London 68020 Modul woher Topas Technische Fragen und Probleme / Tuning 3 05.07.2011 18:42
News: Wer zu spät kommt... FütterMeinEgo Fragen / Questions - Forum + Wiki 0 01.03.2010 20:27
Turnier: eine Wiederholung kommt selten allein iuppiter Partien und Turniere / Games and Tournaments 0 08.12.2007 10:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:02 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
©Schachcomputer.info