Archiv für den Monat: Februar 2014

Schachcomputer, Computerschach und Systemarchitektur, Teil 1

Da ich mich in meiner Eigenschaft als Professioneller Klugscheißer ja unter anderem mit maschinellem Lernen und Systemarchitektur beschäftige und privat gerne (wenn auch nicht unbedingt gut) Schach spiele, liegt eigentlich nichts näher, einmal das Thema Computerschach und die Schachcomputer zu betrachten.

Weißer Springer

Dedizierte Computer, die nichts anderes können als nur Schach spielen, sind heute doch sehr aus der Mode gekommen, aber zumindest die Schachspieler ab Mitte 30 können sich vielleicht noch an die Blütezeit der Schachcomputer Ende der 80er Jahre erinnern. Damals hat man mit D-Mark bezahlt, es gab noch die DDR, ich war 10 Jahre alt und hatte einen Mephisto Super Mondial geschenkt bekommen.

Mephisto Super Mondial
Mephisto Super Mondial

Aus heutiger Sicht muss man sich natürlich fragen: Warum kam man damals überhaupt auf die Idee, Computer zu bauen, die nur zum Schach spielen gut sind und warum waren diese Spezialrechner auch noch erfolgreich?

Komfort und Stil

Ein wichtiger Grund ist selbstverständlich, dass es einfach viel mehr Spaß macht, auf einem richtigen Schachbrett zu spielen anstatt am Bildschirm. Die Züge kann man dadurch eingeben, dass man schlicht die Figuren zieht. Die Figuren sind magnetisch und Sensoren reagieren darauf, ob auf einem Feld eine Figur steht oder nicht. Bei vielen Computern, wie auch beim Super Mondial, musste man mit der Figur noch kurz das Feld “antippen”, da diese nur mit Drucksensoren und nicht mit Magnetkontakten ausgestattet waren. Die Züge des Computers werden über LEDs am Rand oder in den Ecken der Felder angezeigt, nur die Figuren muss der Mensch dann doch für den Computer bewegen.

Komfortabler als am Bildschirm ist es allemal, denn die Bildqualität auf dem Monitor der damaligen Homecomputer war bei weitem nicht so gut wie heute und konnte auch mal ziemlich stark flimmern. Außerdem hatten die Computer nicht unbedingt eine Maus.

Ein Schachcomputer ist sofort nach dem Einschalten spielbereit, ein Schachprogramm auf einem normalen Computer muss man erst einmal laden. Das bedeutete damals, als die meisten Rechner für den Hausgebrauch noch keine Festplatte hatten, von Diskette oder sogar noch langsamer von der “Datasette”, also vom Band.

Aber vor allem: Damals hatte längst nicht jeder Schachspieler einen Computer zuhause!

Und stilvoller als Schach am Bildschirm zu spielen ist es auf einem schönen Holzbrett wie dem Mephisto Exclusive allemal.

Mephisto Exclusive
Mephisto Exclusive

Systemarchitektur

Die Gründe für den Erfolg dedizierter Schachcomputer sind aber auch technischer Natur. An dieser Stelle kommt jetzt die Systemarchitektur ins Spiel, so dass für den folgenden Abschnitt ein wenig Wissen in dem Bereich von Vorteil ist. Der damals am weitesten verbreitete Homecomputer war der C64 von Commodore mit einem Prozessor (CPU) vom Typ 6510 (eine Variante des 6502) und einer Taktfrequenz von etwa 1 MHz. Dieser Prozessor kann 64 Kilobyte adressieren. Dieser Adressraum steht aber nicht komplett für Arbeitsspeicher (RAM) zur Verfügung. Ein Teil wird für den Nur-Lese-Speicher (ROM) mit dem Betriebssystem gebraucht und ein Teil für die Ansteuerung der Peripherie, also zum Beispiel Bildschirm, Diskettenlaufwerk und Tastatur. Nach dem Einschalten bleiben so nur wenig mehr als die Hälfte der 64 KB für RAM übrig. Tatsächlich hatte der C64 aber volle 64 KB RAM, die über sogenanntes Bank Switching angesteuert werden konnten. Dabei wird der 64 KB Adressraum in mehrere Bereiche, die sogenannten Bänke, unterteilt, in die jeweils in einer umschaltbaren Zuordnung ein Teil des RAM, ROM oder der Peripherie eingeblendet wird. Der komplette Speicher ist somit niemals gleichzeitig nutzbar und die Umschaltung kostet Zeit.

Der Super Mondial dagegen hat eine 6502-CPU mit 4 MHz, das Herz schlägt also schon einmal bedeutend schneller als das des C64. Außerdem schleppt ein Schachcomputer wesentlich weniger Ballast mit sich herum, der für das Schachspielen nicht gebraucht wird, zum Beispiel braucht es keine aufwändige Grafik und keine BASIC-Programmiersprache. Die 64 KB Adressraum stehen somit fast komplett für das Schachprogramm und RAM zur Verfügung. Ein bisschen geht natürlich trotzdem für Peripherie ab, schließlich hat auch ein Schachcomputer eine Tastatur, eine Anzeige und Sensoren im Brett für die Zugeingabe. Aber so etwas wie Bank Switching braucht man nicht. Abgesehen davon braucht sich das Schachprogramm nicht darum zu kümmern, Schachfiguren auf den Bildschirm zu malen, was kostbare Rechenzeit spart.

Ein Schachprogramm läuft also auf einem dedizierten Schachcomputer unter deutlich besseren Bedingungen als auf einem Homecomputer, die gleiche Schach-Engine spielt also allein schon deswegen auf einem Schachcomputer besser als auf einem normalen Homecomputer dieser Zeit.

Außerdem hatten damals die kommerziellen Schachcomputer-Hersteller auch die besseren Programme, aber über die Software soll es dann im zweiten Teil gehen.