A4/Was ist ein Rechner

Aus QuaNTH
Wechseln zu: Navigation, Suche

A4

Rechnen
Einführung

Lektionen


Abb. 1 Schema der klassischen von Neumann-Architektur.

Zu Beginn dieses Abschnitts wollen wir uns der Frage nähern, was wir unter dem Begriff "Berechnen" beziehungsweise "Rechner" verstehen wollen. Wir werden uns zunächst mit den klassischen Rechnern beschäftigen und hier die Nomenklatur und die grundlegende Beschreibung kennenlernen, bevor wir dann die Idee des Quantenrechners näher erläutern.


Zur Geschichte der Rechenmaschinen

Die Geschichte der Rechenmaschinen kann zumindest bis in das 17te Jahrhundert zurückverfolgt werden. Anfangs funktionierten Rechenmaschinen noch rein mechanisch, später dann elektrisch. Zunächst waren solche Rechenmaschinen für spezielle Zwecke konstruiert, also z.B. zur Ausführung der Grundrechenarten. Mit der Zeit wurden weitere Rechenmaschinen zum Lösen unterschiedlicher mathematischer Probleme konstruiert, z.B. zum Wurzelziehen, aber auch automatisierte Maschinen zur Kontrolle komplexer Vorgänge, z.B. zur Kontrolle von Webstühlen. Hierbei wurde immer wichtiger, dass der Rechner von außen durch Vorgabe eines Programms steuerbar war. Diesen Prozess nennt man auch die Programmierung des Rechners. In den 1930ern wurde in wichtiger Pionierarbeit von A. Turing ein Modell einer Maschine vorgeschlagen, von der er zeigen konnte, dass sie universell ist, also sämtliche Programme ausführen kann, die überhaupt ausgeführt werden können. Die Struktur dieser Turing-Maschine ist jedoch sehr von unseren heutigen Computern verschieden, daher beschreiben wir im Folgenden einen anderen Rechneraufbau.

Von Neumann-Architektur

Im Jahr 1945 schlug John von Neumann die Architektur für einen programmierbaren Rechner vor, welche auch die Grundlage heutiger Rechner (und Tablets, Smartphones, Waschmaschinen etc.) bildet. Schematisch werden bei einem solchen Rechner zunächst drei Komponenten unterschieden: die Eingabe, die Verarbeitung und die Ausgabe. In der Eingabe werden die zu verarbeitenden Daten, ggf. zusammen mit dem umzusetzenden Programm, eingegeben. Die Verarbeitung wird in einen Speicher, ein Kontrollwerk und ein Rechenwerk unterteilt. Das Kontrollwerk interpretiert hierbei das im Speicher verfügbare Programm und gibt Anweisungen an das Rechenwerk, welche Operationen auf die sich ebenfalls im Speicher befindlichen Daten auszuführen sind. Ist das Programm durchgelaufen, wird das Ergebnis der Rechnung von der Ausgabe ausgegeben. Moderne Computer beruhen auf dieser Architektur, auch wenn im Laufe der Zeit noch weitere Verfeinerungen der verschiedenen Bereiche entstanden sind (z.B. die Festplatte für Langzeitspeicherung und der Arbeitsspeicher für Kurzzeitspeicherung).

Aus der Architektur ist abzulesen, dass jeder Rechner zwei natürliche Ressourcen besitzt, nämlich die Größe des Speichers und die Anzahl der Operationen, die er pro Zeiteinheit ausführen kann. Hiermit wird auch klar, dass der Begriff "universeller Rechner" natürlich nur im Bezug auf das Rechnermodell zu verstehen ist, da jeder real existierende Rechner Grenzen hat, was seine Rechenleistung angeht. Allein durch den endlichen Speicher gibt es eine größte Zahl, die der Computer darstellen kann. Möchte man mit größeren Zahlen arbeiten, muss man sich dann einen Computer mit größerem Speicher kaufen.

Church-Turing-These

Wir hatten von dem zu konstruierenden Rechner verlangt, dass er universell programmierbar sein sollte. Im Bild der von Neumann-Architektur bedeutet dies, dass man zeigen muss, dass durch eine geschickte Kombination der im Prozessor umsetzbaren Rechenoperationen und dem (Zwischen-) Speicher sämtliche Programme umgesetzt werden können. Jedem Rechner steht aber nur eine endliche Anzahl von unterschiedlichen Rechenoperationen zur Verfügung und so ist es ein entscheidender Schritt in der theoretischen Informatik sicherzustellen, dass auch wirklich sämtliche Programme in einen solchen Satz von Rechenoperationen (dann auch elementare Operationen genannt) zerlegbar ist.

Mehr noch sollte gezeigt werden, dass es auf die genaue Auswahl der universellen Operationen nicht ankommt und durch Gebrauch eines universellen Rechners keine großen Ressourceneinbußen im Vergleich zu einem spezialisierten (also nicht universellen) Rechner entstehen. Genau dies ist Inhalt der Church-Turing-These, die besagt dass universelle Rechner existieren und dass sie äquivalent zu allen anderen Rechnern sind, sie also effizient simulieren können. Wir wollen hier keine mathematisch präzise Definition versuchen, sondern belassen es bei der umgangssprachlichen Beschreibung, dem Begriff der "effizienten Simulation" werden wir aber später noch in Kurs B.4 begegnen.