Von der Differenzenmaschine zum programmgesteuerten Rechner

Transcrição

Von der Differenzenmaschine zum programmgesteuerten Rechner
Von der Differenzenmaschine zum programmierbaren
Rechner: Die Automatisierung des Rechnens
(Henner Schneider, Fb Informatik, FH Darmstadt)
Schon Johann Helfrich Müller hatte im Anhang der Beschreibung zu seiner mechanischen Rechenmaschine, die 1786 von Varrentrapp in Frankfurt herausgebracht wurde, die Erfindung
einer Differenzenmaschine beschrieben, die selbständig Tabellen drucken sollte. Doch realisierte er diese Maschine nicht.
Die Möglichkeit zur Aufzeichnung von Daten bzw. Programmen zur Steuerung von Maschinen
entstand etwa um die gleiche Zeit und bildete eine wesentliche Voraussetzung zur Entwicklung
automatischer und schließlich programmgesteuerter Rechenmaschinen.
Lochkartengesteuerter Webstuhl: In der Seidenstadt Lyon hatten erfindungsreiche Techniker damit begonnen, den Vorgang des Webens von Mustern zu automatisieren. Schon 1728
konstruierte Jean Baptiste Falcon (†1765), ein französischer Mechaniker eine Apparatur, die
mit an den Längsseiten verbundenen Lochkarten arbeitete. Die Lochkarte war der erste maschinell lesbare Informationsträger. Diese Speicher bestanden aus Holzplättchen, in denen der
Code für ein bestimmtes Webmuster in einer vorgegebenen Lochkombination angebracht war.
Diese Karten wurden als Lochkartenkette über einen mechanischen Ablesemechanismus des
Webstuhls geführt und stellten die senkrechten Schnüre oder Litzen ein. An den Enden der
Litzen befanden sich Ösen, durch die die Kettfäden je nach der Lochkombination gehoben oder
gesenkt wurden. Bei jeder Lochkombination wurde somit der Schußfaden durch die parallel
liegenden Kettfäden getrieben und erzeugte das gewünschte Muster. Durch Auswechseln der
Lochkarten konnten verschiedene Webmuster erzielt werden. Diese Idee wurde aber erst 1805
von Joseph-Marie Jacquard in Lyon zu einer ausgereiften Technik entwickelt. Solche Lochkartenketten bzw. Lochstreifen wurden später auch zum Antrieb von Spielorgeln und automatische Klavieren verwendet.
Verbesserung des lochkartengesteuerten Webstuhls: 80 Jahre später, 1808, baute ein
Landsmann von Falcon, Joseph-Marie Jacquard (1752 - 1834), eine so entscheidende Verbesserung des automatischen Webstuhls, daß innerhalb eines Jahrzehnts mehr als 10000 dieser
Jacquard-Maschinen in Betrieb waren. Zu den Stoffmustern lochte Jacquard die entsprechenden Lochmuster. Durch die Lochkartenlöcher fielen Drahthaken, die nun die Fäden griffen und
den Arbeitsvorgängen zuleiteten. Lochkarten und zugeordnete Maschinen taten, was bislang
von Menschenhand gewebt wurde.
Entwicklung des 1. programmgesteuerten mechanischen Universalrechners: Charles
Babbage (26.12.1792 in Teignmouth (Devonshire) - 18.10.1871 in London), englischer Mathematiker und Professor in Cambridge arbeitete an der Entwicklung von Rechenmaschinen
1
zur automatischen Erstellung von Funktionstabellen und entwarf eine programmgesteuerte
Rechenmaschine.
Der zwanzigjährige Mathematiker Charles Babbage hatte 1812 mit seinem Freund, dem Astronomen John Herschel Berechnungen zu prüfen, die für die Astronomical Society gemacht wurden. Immer wieder entdeckten sie Fehler in den Berechnungen. "Ich wollte, es ginge mit
Dampf!" stöhnte Babbage. Herschel antwortete lakonisch: "Das ist gut möglich". Diese unerwartete Antwort ließ Babbage nicht zur Ruhe kommen. Ihn verfolgte der Gedanke, wie man
umfangreiche Berechnungen maschinell ausführen lassen könnte. Sein besonderes Augenmerk
richtete Babbage auf die maschinelle Herstellung mathematischer Tafeln. Dabei machte er sich
das Verfahren zunutze, das Prony bei einer solchen Aufgabe angewendet hatte.
Er ließ die zu berechnenden Gleichungen von Mathematikern und geübten Rechnern derart
zerlegen, daß hauptsächlich nur noch Additions- und Subtraktionsaufgaben übrig blieben, die
dann von "Rechenknechten" gelöst wurden. Mit diesem Verfahren hatte Prony die zeitraubende Arbeit des "mechanischen" Rechnens von der eigentlichen Aufgabe herausgelöst. Auf diesem Prinzip konstruierte Babbage in 10 Jahren seine "Difference Engine", die für 2 Differenzen
und 8 Dezimalstellen geplant war (1822). Zwei Arbeitsabläufe sollte diese Maschine automatisieren: 1. Das Berechnen und 2. das Drucken mathematischer Tabellen. Als Babbage die Konstruktion seiner Difference Engine veröffentlichte, zeichnete ihn die Astronomische Gesellschaft mit einer Goldmedaille aus. Durch den Erfolg dieser Maschine angespornt wollte Babbage eine größere, mit 7 Differenzen und 20 Dezimalstellen bauen. Er scheiterte jedoch an der
damals nicht realisierbaren und notwendigen Genauigkeit der Mechanik. Diese Maschine wurde deshalb nie vollendet. (Ein funktionsfähiges Modell dieser Maschine wurde vom Science
Museum in London 1992 zum 200. Geburtstag von Charles Babbage fertiggestellt.)
Trotz diesen Rückschlags wollte Babbage eine leistungsfähigere Maschine bauen, die das
menschliche Rechnen nachahmen sollte. Die "Analytical Engine" wies bereits den funktionellen
Aufbau unserer heutigen Rechner auf: Speicherwerk, Steuerwerk und Ein-/Ausgabewerk. Es
war das erste Konzept eines Universalrechners. Zur Verwirklichung der Analytical Engine
richtete er, selbst vermögend, ein Konstruktionsbüro mit Werkstatt ein. Er bekam auch beträchtliche Förderung der ihm zunächst wohlgesonnen Regierung. Er arbeitete 20 Jahre, ohne
überzeugende Ergebnisse vorweisen zu können. Die Regierung stellte die Förderung ein und
seine Freunde zogen sich von ihm zurück. Obwohl er 1862 auf einer Ausstellung ein Modell
seine Maschine vorführen konnte, war der Strom der Geldmittel verebbt. Babbage hat in die
Geschichte der Rechenmaschinen die Programmsteuerung eingeführt. Die Lochkarten unterteilte er in 4 Gruppen:
Daten
Zahlenkarten
Variablenkarten
Befehle
Übertragungskarten
Operationskarten
Der Grund für sein scheitern war, daß Babbage Perfektionist war. Er nahm sich zuviel auf einmal vor. Für die mechanische Ausführung verlangte er von den Handwerkern eine zu jener Zeit
nicht erreichbare Präzision. Nicht zuletzt fehlte es seiner Umwelt an Verständnis für seine der
Zeit so weit vorausgedachten Pläne. Die Maschine hatte ein Ausmaß von 6 x 6 x 3m. Er plante
1000 Speicherstellen für 50zig-stellige Zahlen als Speicherkapazität. Dafür wären 50000 Zif2
fernräder auf 1000 Achsen notwendig gewesen. Obwohl er die besten Mechaniker beschäftigte,
konnte er zu Lebzeiten diese Maschine nicht vollenden. Sein Sohn vollendete 1910 eine vereinfachte Version, die heute in London im Science-Museum stehen. Die Programmierung dieser Maschine wurde von einer Mitarbeiterin, der Mathematikerin Lady Augusta Ada Countess
of Lovelace, dieTochter des bekannten Schriftstellers Lord Byron beschrieben. (Nach ihr wurde die Programmiersprache Ada benannt.)
Weitere Differenzenmaschinen: Als Babbage sich schon mit seiner viel allgemeineren Analytical Engine beschäftigte, bauten Pehr Georg Scheutz (1785 - 1873) und sein Sohn Edvard
Raphael Scheutz (1821 - 1881) nach einer in der Edinburgh Review publizierten Beschreibung
der Differenzmaschine von Babbage. Scheutz war weder Mathematiker noch Techniker, sondern Drucker in Stockholm. Seine Maschine konnte 8stellig Zahlen unter Zuhilfenahme von 4
Differenzreihen verarbeiten und als Ausgabe Formen für den Schriftguß bilden. 1854 zeigte
Scheutz seine Maschine in London vor. Babbage schlug ihn damals, obwohl sich die beiden
nicht kannten, für eine Medaille der Royal Society vor, die er aber nicht bekam. 1855 bekam
Scheutz eine Medaille auf der Pariser Weltausstellung. Ein Jahr später erwarb das DudleyObservatorium (Albany, NY) für astronomische Berechnungen die Maschine für $5000. Sie
steht jetzt in einer Privatsammlung in Chicago. Die britische Regierung ließ 1863 für die Herstellung von Sterbetafeln eine Kopie dieser Maschien anfertigen.
Einführung der heutigen Lochkarte: Bei Falcon und Jacquard dient die Lochkarte der
Steuerung eines Prozesses. Die Lochkarte als Träger von Daten, zunächst vor allem numerischen Daten, eingeführt zu haben, ist das Verdienst von Herman Hollerith (1860 - 1929). Noch
heute besitzen unsere Lochkarten das von ihm eingeführte Format, das des Ein-Dollar-Scheins.
Jahrzehntelang waren sie als Hollerith-Karten bekannt.
Hermann Hollerith, Sohn pfälzischer Eltern, die 1848 nach Amerika auswanderten, wurde
1860 in Buffalo geboren. Nach Absolvierung der Schule studierte er an der Bergakademie der
Universität Columbia, wo er mit 19 Jahren seine Diplomprüfung ablegte. 1880 war er bei der
amerikanischen Volkszählung tätig. Im wesentlichen beschäftigte er sich jedoch mit Industriestatistik. Er war Lehrer für technische Mechanik am Institut für Technologie in Massachusetts,
Konstrukteur von elektromagnetischen Bremsen im Eisenbahnwesen und arbeitete am Patentamt in Washington. Neben diesen Tätigkeiten baute er seine Rechenmaschine. Er verwendete
zum Lesen der Lochkarten metallische Fühlstifte. Immer wenn ein Loch in der Karte ertastet
wurde, wurde ein elektrischer Schalter geschlossen. Diese erste Hollerith-Maschine war so gut,
daß das Statistische Bundesamt der USA die 11. Volkszählung im Jahre 1890 damit auswertete. Mit Hilfe dieser Maschine konnten die Daten in 1/6 der seither gebrauchten Zeit ausgewertet werden. Für die nordamerikanische Volkszählung im Jahre 1910 verbesserte James Powers die Lochkarteneinrichtungen wesentlich. Seit 1915 arbeitete Frederik Bull an der Verbesserung von elektromechanischen Lochkartenmaschinen.
Realisierung des ersten programmierbaren Rechners: 1932 begann Konrad Zuse die Entwicklung eines programmgesteuerten, mechanischen Rechners. 1910 als Sohn eines Beamten
in Berlin geboren, immatrikulierte er sich nach seinem Gymnasium-Abschluß 1928 an der TH
Berlin für das Fach Maschinenbau. Später wechselte er zum Bauingenieur. Die umständlichen
3
und oft geisttötenden Rechenverfahren veranlaßten ihn, eine Rechenmaschine zu konstruieren.
99 Jahre nachdem Charles Babbage seine Pläne für die Analytical Engine ausgearbeitet hatte,
begann im Alter von 22 Jahren Konrad Zuse im Jahre 1932 mit der Entwicklung eines programmgesteuerten Rechners. Zwei seiner grundlegenden Prinzipien sind für die moderne Rechentechnik verbindlich geblieben: 1. Die Programmsteuerung und 2. das Dual-Prinzip. In der
elterlichen Wohnung, von Freunden unterstützt, baut er die Z 1. Wie die Analytical Engine von
Babbage funktionierte sie rein mechanisch. Da die rein mechanische Übertragung von Signalen
zu langsam war, verwendete Zuse im Z 2 Relais als Schaltglieder.
Weitere programmgesteuerte Rechner: Die Deutsche Hollerith-Gesellschaft brachte eine
programmgesteuerte Tabelliermaschien auf den Markt: Eine Tabelliermaschine, die über eine
Stecktafel kurze Rechenprogramme zu steuern vermag.
In Frankreich beschrieb Louis Couffignal im Jahre 1936 eine ähnliche Rechenmaschine, wie
Zuse sie mit seiner Z 3 1941 gebaut hat. Louis Couffignal arbeitete wie Zuse an einer programmgesteuerten Maschine mit dualer Zahlendarstellung.
In Amerika entwickelte John Vincent Atanasoff (*1903) in den Jahren 1937 - 1938 einen ersten elektronischen Computer, von dem 1939 - 1940 erste Prototypen gebaut wurden. Allerdings wurde die Entwicklung dann nicht konsequent weitergeführt.
Erster einwandfrei funktionierender Digitalrechner mit Relais: Im Auftrag der deutschen
Versuchsanstalt für Luftfahrt baute Zuse 1941 seine Z 3, die in allen Teilen einwandfrei arbeitete und die erste im technischen Einsatz funktionierende programmgesteuerte Rechner der
Welt ist. Er basiert auf der Dualdarstellung der Zahlen und arbeitet mit 2600 Relais.
Um 1937 begann G. Stibitz in den Laboratorien von Bell Telephone mit der Entwicklung von
Relais-Rechnern. 1942 wurde der erste Programmrechner von Bell Telephone fertig, der Relais
Interpolator mit 500 Relais. Der "Ballistic Computer" verfügte ein Jahr später schon über 1300
Relais. Das größte Rechner-Modell dieser Entwicklungsreihe war das Bell-Modell V mit 9000
Relais.
1937, als Stibitz mit seiner Arbeit für Bell begann, wandte sich Howard Aiken, Professor in
Harvard, an die Firma IBM. Er schlug vor, mit den Mitteln der Lochkartengeräte einen programmierbaren Rechner zu bauen. Aus dieser Zusammenarbeit entstand der Rechner Mark I,
auch "Automatic Sequence Controlled Calculator" genannt. Der Mark I ist wesentlich umfangreicher als der Z 3 von Zuse und die Modelle von Bell. Er enthält mehr Relais, und einen mechanischen Speicher, in dem jede Stelle einer Zahl durch ein Zählrad mit 10 Positionen realisiert wurde. 1948 kam das Nachfolgemodell von Mark I, der Mark II, auf den Markt. Dieser
Rechner besaß bereits 13000 Relais und einen Magnettrommelspeicher.
Speicherprogrammierung: Mit dem Umbruch von Relais- auf Röhrenrechner schaltete sich
der bekannte Mathematiker John von Neumann in die Computer-Entwicklung ein. Von Neumanns Gedanke war: Wenn man mit Befehlen, wie mit Daten umgehen kann, kann ein Programm während seines Laufs sich selbst modifizieren. Aufgrund von bedingten Sprungbefehlen
4
wählt der Rechner verschiedene Programmteile, die durchlaufen werden. Mit diesem Schritt
begann eine neue Periode der Rechnergeschichte. Mit der internen Speicherung der Programme konnte die Rechnergeschwindigkeit weiter erhöht werden.
Rechner ENIAC mit Elektronenröhren: Obwohl sich die Anlagen von Zuse, Couffignal,
Stibitz und Aiken in der Ausführung wesentlich unterschieden, hatte sie alle eines gemeinsam:
Jeder Rechner besaß Rechenwerk, Dateneingabe, Datenspeicher, Porgrammeingabe, Steuerwerk und Datenausgabe. Alle Rechner waren Relais-Rechner. Einen wesentlichen Fortschritt in
der Verarbeitungsgeschwindigkeit brachte der Einsatz von Röhren, anstelle von Relais. Dadurch wurde, bei generell gleicher Struktur der Rechner, die Geschwindigkeit um das 1000fache gesteigert. Eckert, Mauchly und Goldstine, von der Moor School of Electrical Engineering der Pennsylvania University, bauten mit ENIAC den ersten Elektronenrechner. In den
Jahren 1943 bis 1946 fertiggestellt war ENIAC mit 18000 Röhren bestückt.
Erster Transistorrechner: Der 1948 erfundene Transistor konnte 1958 als neues Schaltelement zur seriellen Herstellung von transistorisierten Rechenanlagen, beispielsweise im Typ
Siemens 2002, verwendet werden.
Erster Rechner mit Mikroschaltkreisen: 1965 werden die intigrierte Schaltungen (IC Intigreated Circuit) eingeführt. Die integrierten Schaltungen bringen die miniaturisierte Herstellung
und Zusammenfassung mehrerer Transistoren in einem gemeinsamen Gehäuse. Sie werden
beim Aufbau großer und schneller Rechner verwendet. Speichermedien für den Arbeitsspeicher
blieben überwiegend die Magnetkernspeicher. Rechnerinterne Schnellspeicher werden zur Erhöhung der Leistungsfähigkeit der Zentraleinheiten eingeführt.
Weiterführende Literatur:
1. Müller, J. H.: Beschreibung seiner neu erfundenen Rechenmaschine, nach ihrer Gestalt, ihrem Gebrauch und Nutzen. Frankfurt: Varrentrapp, 1786.
2. Lindgren, Michael: Glory and Failure. The Difference Engines of Johann Müller,
Charles Babbage and Georg and Edvard Scheutz. Linköping: Linköping Universitity,
Department of Technology and Social Change - Tema T, 1987.
ISBN 91-7870-146-5
3. Morrison, Philip; Morrison, Emily (ed.): Charles Babbage. On the Principles and Development of the Calculator, and Other Seminal Writings by Charles Babbage and
Others. New York: Dover Publication, 1961.
ISBN 0-486-24691-4
4. Hyman, Anthony: Charles Babbage: 1791 - 1871; Philosoph, Mathematiker, Computerpionier (Aus d. Engl. übers. von Ulrich Enderwitz). Stuttgart: Klett-Cotta, 1987.
5
ISBN 3-608-93095-7
5. Donelly, James: A Modern Difference Engine. Software Simulator for Charles Babbage's Difference Engine No. 2. Corvallis, OR: Armstrong Pubkishing, 1992.
ISBN 1-879828-03-0
6. Mollenhoff, Clark R.: Atanasoff: forgotten father of the computer. Ames, Iowa: Iowa
State University Press, 1988.
ISBN 0-8138-0032-3
6

Documentos relacionados