Thorsten Thormählen 14. Oktober 2024 Teil 1, Kapitel 2
Steuerungstasten
→ nächste Folie (auch Enter oder Spacebar). ← vorherige Folie d schaltet das Zeichnen auf Folien ein/aus p wechselt zwischen Druck- und Präsentationsansicht CTRL + vergrößert die Folien CTRL - verkleinert die Folien CTRL 0 setzt die Größenänderung zurück
Das Weiterschalten der Folien kann ebenfalls durch das Klicken auf den rechten bzw.
linken Folienrand erfolgen.
Durch Klicken auf die Kugeln können diese verschoben werden
Japanischer Abakus (Soroban)
Beispiel: 1823 + 2333 = ???
Schritt 1: Eingabe von 1823 (siehe Bild)
Schritt 2: Addition von 2333
Vorgegangen wird von links nach rechts, nacheinander für jede Ziffer
Addition durch einfaches Hinzufügen von Kugeln
Sind keine passenden Kugeln vorhanden, kann das 5-er oder 10-er Komplement verwendet werden,
beispielsweise:
5er-Komplement von 3 ist (5 - 3) = 2, d.h. anstatt 3 Kugeln hinzuzufügen, eine Kugel vom Himmel
hinzufügen und zwei von der Erde wegnehmen
10er-Komplement von 3 ist (10 - 3) = 7, eine Kugel von der nächst höheren Ziffer hinzufügen und
insgesamt sieben Zähler von Erde und Himmel wegnehmen
Napiersche Rechenstäbchen, 1617
John Napier (1550 - 1617)
Im Jahre 1617 beschrieb der schottischer Mathematiker John Napier eine Rechenhilfe, mit
der eine Multiplikation (bzw. Division) in eine Addition (bzw. Subtraktion) überführt werden kann
Dazu wird das Einmaleins auf Stäbchen notiert
Die Stäbchen werden auf einem Brett platziert, so dass in der obersten Zeile die zu
multiplizierende Zahl steht
In den darunter liegenden Zeilen kann die Multiplikation der gelegten Zahl mit
den Faktoren 2 bis 9 abgelesen werden
Das Ablesen erfolgt von rechts nach links durch Summation der Zahlen innerhalb der entstehenden
Parallelogramme
Bei der Summation ist ein eventueller Übertrag zu berücksichtigen
Dies ist ein interaktiver Simulator der Napierschen Rechenstäbchen
Durch Klicken auf die einzelnen Stäbchen kann deren Wertigkeit verändert werden
Napiersche Rechenstäbchen
Beispiel:
Mechanische Rechenmaschinen (ab 1600)
Originalzeichnung der "Rechenuhr"
Wilhelm Schickard (1592-1635), Professor in Tübingen, baute im Jahr 1623 eine erste zahnradgetriebene
Rechenmaschine
Er schreibt am 20. September 1623 an Johannes Kepler:
"Dasselbe, was Du auf rechnerischem Weg gemacht hast, habe ich kürzlich mechanisch
versucht und eine aus 11 vollständigen und 6 verstümmelten Rädchen bestehende Maschine
gebaut, welche gegebene Zahlen im Augenblick automatisch zusammenrechnet: addiert, subtrahiert,
multipliziert und dividiert.
Du würdest hell auflachen, wenn Du da wärest und sehen könntest, wie sie,
so oft es über einen Zehner oder Hunderter weggeht, die Stellen zur Linken
ganz von selbst erhöht oder ihnen beim Subtrahieren etwas wegnimmt."
Die Rechenuhr von Schickard beherrschte die automatische Addition und Subtraktion inkl. dem automatischen
Zehnerübertrag
Der Zehnerübertrag wurde durch eine Zahnradkonstruktion erreicht
Zur Multiplikation wurden Napiersche Rechenstäbchen (oben) verwendet, deren Werte manuell in das
mechanische Additionswerk (unten) übertragen werden mussten
Difference Engine von Charles Babbage, ab 1822
Teil der Difference Engine No. 1
"What are you dreaming about? - I am thinking that all these tables of logarithms might be calculated
by machinery."
Beginnend im Jahre 1822 arbeitete der englische Mathematikprofessor Charles Babbage an einer mechanischen
Rechenmaschine zur Berechnung von Polynomen mit Newtons Differenzmethode
Die Maschine wurde leider nie von ihm fertig gestellt (trotz großer finanzieller Förderung durch die
Britische Regierung bis ins Jahr 1842)
Die Motivation war, dass die damals verwendeten Tabellenwerke häufig fehlerhaft waren, da sie manuell in
eintöniger Rechenarbeit erstellt wurden
Um Kopierfehler beim Übertragen der Ergebnisse zu vermeiden, hatte Babbage in einer zweiten Version
"Difference Engine No. 2" sogar einen Drucker vorgesehen
Neben seinen Arbeiten an der Difference Engine hat Charles Babbage 1842 ebenfalls eine universell
einsetzbare mechanische "Analytic Engine" beschrieben
Diese besaß bereits viele Komponenten eines heutigen Universalrechners (inkl. Trennung von Speicher und
Rechenwerk, Schleifen, bedingte Sprünge, etc.)
Er war damit seine Zeit weit voraus
Aufgrund der unvorhersehbaren Kosten wollte die Britische Regierung den Bau jedoch nicht finanzieren
Bildquelle:The Late Mr. Babbage, The Illustrated London News, 4 November 1871, public domain
Relais-basierte Computer
Durch den Einsatz elektromechanischer Relais können Rechner viel leichter konstruiert werden, als mit
reiner Mechanik
Der deutsche Computer-Pionier Konrad Zuse baute 1941 aus 2200 Relais einen voll funktionsfähigen Rechner
Anschluss für
Steuerspannung
Spule
Anker
Arbeitskontakte
(offen)
Arbeitskontakte
(geschlossen)
Ein Relais ist ein elektrisch gesteuerter Ein-/Aus-Schalter
Kein Strom durch Spule = Anker nicht angezogen = Arbeitskontakt offen
Strom durch Spule = Anker wird durch Magnetfeld angezogen = Arbeitskontakt geschlossen
Es gibt nur zwei Zustände für jeden Schalter: Ein/Aus (bzw. 1/0)
Basierend auf seinen Erfahrungen mit der mechanisch arbeitenden Z1 (1935 bis 1938), baut Konrad Zuse 1939
ein
Versuchsmodell eines Relais-basierten Computers: die Z2
In 1941 baute er die Z3, der erste Relais-basierte funktionstüchtige Rechner mit einer Taktrate von 5,3
Hertz
Die Relaistechnik wurde zu diesem Zeitpunkt schon länger in der Telekommunikation eingesetzt
Die Z3 besaß einen Speicher (1600 Relais) sowie Steuer- und Rechenwerk (600 Relais)
Es gab 9 Befehle: Eingabe, Ausgabe, Speicher lesen, Speicher schreiben, Multiplizieren, Dividieren,
Wurzelziehen, Addieren, Subtrahieren.
Die Befehle konnten direkt über ein Bedienfeld mit Tastatur und numerischer Anzeige
oder programmatisch mittels Lochstreifen übergeben werden
Die Harvard Mark I war ein Relais-basierter Rechner, der
vom Harvard Professor Howard H. Aiken entworfen wurde
Aiken begann 1939 mit der Arbeit an dem "Automatic Sequence Controlled Calculator", der
1944 mit Unterstützung von IBM fertiggestellt wurde und den Namen "Harvard Mark I" erhielt
Die Befehle konnten programmatisch mittels Lochstreifen übergeben werden
Der Rechner hatte eine Länge von 15,5 Metern und war fast 5 Tonnen schwer
IBM hatte aufgrund ihrer Buchungs- und Tabelliermaschinen bereits viel Erfahrungen mit der Relaistechnik
und Lochkartengeräten
Aiken entwarf seinen Rechner zeitgleich mit Zuse und kannte dessen Arbeiten aufgrund des fehlenden
Informatiksaustausches während des zweiten Weltkrieges nicht
Im Gegensatz zu Zuse verwendete Aiken Dezimalarithmetik
Elektronenröhren können ebenfalls als Schalter verwendet werden (Triode). Sie erreichen ca. 1000 bis
2000-mal schnellere Schaltzeiten als die besten Relais.
Im Vakuum treten aus der geheizten Kathode Elektronen aus und werden von der starken positiven Ladung der
Anode angezogen
Keine Spannung an Streugitter = Strom fließt
Negative Spannung an Streugitter = kein Strom fließt
Damit gibt es (genau wie beim Relais) wieder zwei Zustände: Ein/Aus (bzw. 1/0)
ENIAC, der erste rein elektronische Rechner, 1946
"Electronic Numerical Integrator and Computer" (ENIAC)
ENIAC wurde ab 1942 von John W. Mauchly und Persper Eckert an der Moore School of Electrical Engineering,
University of Pennsylvania, entwickelt, und 1946 öffentlich vorgestellt
Sie benötigte einen ganzen Raum, wog ca. 30 Tonnen und bestand aus 17.468 Elektonenröhren, 7.200 Dioden,
1.500 Relais, 70.000 Widerständen und 10.000 Kondensatoren
Durch die Elektronenröhren war die ENIAC schneller (ca. 1000 Hz) als Relais-basierte Computer, hatte jedoch
folgende Nachteile:
Sehr hoher Stromverbrauchs (174.000 Watt)
Die Röhren gingen schnell kaputt (Lebensdauer ca. 2 Jahre; d.h. im Durchschnitt war jede Stunde eine
Röhre defekt). Durch Modulbauweise war es möglich, schnell ganze Module auszutauschen.
Die Programmierung erfolgte durch neue Verkabelung, daher war die ENIAC nicht sehr flexibel. Hauptaufgabe
war die Berechnung ballistischer Tabellen für die U.S. Army
Am Institute for Advanced Study (IAS) in Princeton entwicklete John von Neumann einen auf Elektronikröhren
basierten Rechner,
der im Gegensatz zur ENIAC im Binärsystem arbeitete
Von Neumanns hatte bereits 1944 gemeinsam mit Eckert and Mauchly (zunächst theoretisch) ein Konzept für
einen Universal-Rechner beschrieben.
Die Struktur des Rechners ist unabhängig vom zu bearbeitenden Problem
Es gibt 5 Funktionseinheiten: Steuerwerk, Rechenwerk, Speicher, Eingabewerk und Ausgabewerk.
Von Neumannsches Rechnerkonzept
Befehle und Daten werden binär codiert und in einem gemeinsamen Speicher gehalten
Der Speicher ist in Zellen gleicher Größe geteilt, die mit fortlaufenden Nummern adressierbar sind
Befehle, die im Speicher hintereinander liegen, werden nacheinander abgearbeitet
Es gibt Sprungbefehle, um den Ablauf zu ändern
Der Speicherinhalt (Daten und Befehle) kann durch die Maschine modifiziert werden
Das Konzept ist immer noch beliebt, da die Programmierung durch den streng sequentiellen Ablauf einfach
ist (nichts passiert parallel)
Transistor-basierte Computer
Elektronenröhren waren unzuverlässig und wurden seit Anfang der Fünfzigerjahre durch ein neues
elektrisches Bauteil ersetzt: der Transistor
Der hier gezeigte Feldeffekttransistor besteht aus p- und n-dotiertem Halbleitermaterial. Es gibt drei
Kontakte aus Metall: Source, Drain und Gate.
Der Strom zwischen Source und Drain wird über die Spannung zwischen Gate und Source gesteuert
0 Volt am Gate = die Elektronen können das p-dotierte Gebiet nicht überwinden = kein Strom fließt
5 Volt am Gate = Elektronen reichern sich unterhalb des Gate an (n-Kanal) = Elektronen fließen durch Kanal
= Strom fließt
Damit gibt es wieder zwei Zustände: Ein/Aus (bzw. 1/0)
TRADIC, 1955
TRADIC (TRansistorized Airborne DIgital Computer) wurde von AT&T Bell Labs für die US Air Force entwickelt
und 1955 in Betrieb genommen
Es wurden keine Elektronenröhren mehr verbaut, sondern ca. 700-800 einzelne Transistoren
Neben der Ausfallwahrscheinlichkeit und der Baugröße reduzierte sich auch die Leistungsaufnahme auf ca.
100 Watt
Die Rechengeschwindigkeit betrug bereits ca. eine Million logische Operationen pro Sekunde (1 MHz)
IBM 1401, 1959
IBM 1401 war ein Großrechner, der für die Verarbeitung von Massendaten (Volkszählung, Buchhaltung,
Kundendaten, etc.) in
großen Firmen oder staatlichen Einrichtungen gedacht war
Insgesamt wurde mehr als 10.000 Stück gebaut
Die Logikschaltungen wurde aus einzelnen Platinen mit bedrahteten Bauteilen (Transistoren, Kondensatoren
und Dioden) aufgebaut
Die Basisausstattung hatte einen Lochkartenleser (Bild links) und einen Drucker (rechts). Es konnten
mehrere Magnetbandeinheiten angeschlossen werden (Übertragungsgeschwindigkeit 41.000 Zeichen pro Sekunde)
Die IBM 1401 konnte u.a. mit der höheren Programmiersprache FORTRAN programmiert werden
Anstatt einzelne Transistoren als diskretes Bauelement herzustellen, werden viele Transistoren
auf einem Stück Halbleitermaterial integriert (engl. Integrated Circuit, IC)
Bereits 1958 gelang es Jack Kibly von Texas Instruments einen ersten IC zu erzeugen
Einige Jahre später waren die ICs marktreif. Das erste Computersystem,
in dem sie kommerziell zum Einsatz kamen, waren die IBM /360 Rechner.
IBM /360, 1965
Einführung eines Familienkonzepts: Alle Rechner einer Familie sind kompatibel
Idee: Alle Maschinen haben den selben Maschinenbefehlssatz. Die Implementierung auf unterschiedlichen
physikalischen Bausteinen erfolgt durch Mikroprogrammierung
Ein Mikroprogramm gibt an, wie bei der Ausführung eines bestimmen Maschinenbefehls (z.B. Addition)
die einzelnen Logikbausteine angesteuert werden müssen
IBM /360 Modell 85 verwendete als erstes kommerzielles System einen "Cache" (schneller lokaler Speicher,
der eine Kopie der Hauptspeicher-Daten vorhält)
Intel 4004: der erste Mikroprozessor von Intel, 1971
Intel (Integrated Electronics Corporation) wurde im Jahr 1968 von Gordon Moore und Robert Noyce gegründet
Im November 1971 kam Intel's erster Mikroprozessor, der 4004, auf den Markt
Der IC wurde mit einer Strukturbreite von 10 Mikrometern gefertigt. Er hatte 2250 Transistoren und
arbeitete zunächst mit einer Taktrate von 108 KHz
Der 4004 hat einen Datenbus von 4 Bit, d.h. pro Bustakt können nur 4 Ein/Aus Zustände (= 4 Bit) gelesen
werden
Ein Befehl war jedoch als eine Folge von 8 Einsen und Nullen kodiert, z.B. 01101000. Daher arbeitete
der Datenbus doppelt so schnell, um einen Befehl pro Prozessortakt lesen zu können
Intel 8080, 1974
Altair 8800 mit Intel 8080 CPU
Im April 1974 stellt Intel den 8080 vor, der von vielen als der erste wirklich verwendbare Mikroprozessor
bezeichnet wird
Der Intel 8080 und sein Vorgänger 8008 (1972) waren 8-Bit Computer, d.h dass 8 Bit (=1 Byte) innerhalb
eines Taktes verarbeitet werden können
Der 8080 hat einen 8-Bit Datenbus und 16-Bit Adressbus. Damit war es möglich, (2 hoch 16) = 65536 Bytes im
externen Speicher zu adressieren
Der IC wurde mit einer Strukturbreite von 6 Mikrometern gefertigt. Er hatte 4500 Transistoren und
arbeitete mit eine Taktrate von 2 MHz
Basierend auf dem 8080 konnten sich Bastler ab 1975 den kostengünstigen Bausatz-Computer Altair 8800
bestellen
Damit hielt der Computer Einzug in den Privatbesitz von Technikbegeisterten:
Der PC (Personal Computer) war geboren
Ab 1976 gelang es Intel, einen 8-Bit Micro-Controller, d.h einen vollständigen Rechner (Prozessor, Speicher
und Ein-/Ausgabeeinheiten), auf einen IC zu integrieren
Damit startete Intel die Micro-Controller-Familie MCS-48 (Bild zeigt Intel 8749)
Der Apple II war vergleichsweise günstig und war als erster Personal Computer weit verbreitet. Der erste
große kommerzieller Erfolg für die Gründer von Apple: Steve Wozniak und Steve Jobs
Interessant ist, dass die Baupläne des Apple II veröffentlicht wurden, d.h. andere Hersteller konnten ihn
erweitern - aber auch nachbauen
Neben Text konnte der Apple II bereits Farbgrafiken darstellen: Entweder 15 Farben mit niedriger Auflösung
(40×48 Pixel) oder 6 Farben mit hoher Auflösung (280×192 Pixel)
Der Intel 8086 wurde mit einer Strukturbreite von 3 Mikrometern gefertigt, hatte 29000 Transistoren und
arbeitete mit einer Taktrate von 5 MHz bis 10 MHz
Die nach dem 8086 benannte x86-Mikroprozessor-Architektur wird später zum Industrie-Standard, vor allem,
weil IBM eine spätere Variante des Prozessors, den Intel 8088, ab 1981
in ihren PCs verbaute
Der IBM-PC wurde sehr erfolgreich. Auch gab es viele Nachahmer, die kompatible PCs mit den gleichen
Komponenten bauten
Somit wurde die x86-Mikroprozessor-Architektur sehr verbreitet
"The complexity for minimum component costs has increased at a rate of roughly a factor of two per year.
Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer
term, the rate of increase is a bit more uncertain, although
there is no reason to believe it will not remain nearly constant for at least ten years" - Gordon E. Moore,
1965
1975 korrigierte Moore seine Aussage und sagte eine Verdoppelung der Anzahl der Transistoren auf einem
Mikrochip alle zwei Jahre voraus (teilweise wird in der Literatur auch von einer Verdopplung alle 18 Monate
gesprochen)
Auf die genaue Zeitspanne kommt es bei seiner Aussage jedoch gar nicht an, wichtig ist, dass die Anzahl
der Transistoren exponentiell wächst
Die Mikrochip-Hersteller versuchen dieses exponentielle Wachstum aufrecht erhalten (selbsterfüllende
Prophezeiung), obwohl schon
häufig mit dem Ende von Moore's Law aufgrund von technologischen Limitationen gerechnet wurde
Seit 2006 kann beobachtetet werden, dass die Taktraten nicht mehr stark steigen, sondern mehrere
Recheneinheiten (Cores) auf einem Chip platziert werden
Quelle: Gordon E. Moore, “Cramming More Components onto Integrated Circuits,” Electronics, pp. 114–117,
April 19, 1965.
Commodore 64 (C64) war ein 8-Bit Computer von "Commodore International", der ca. 17 Millionen Mal verkauft
wurde
Er war sehr leicht zu bedienen und stand in den 80er-Jahren u.a. als "Spiel-Computer" in vielen
Kinderzimmern
Neben Assembler-Programmierung konnte der C64 mit einem BASIC-Interpreter programmiert werden, der beim
Start aus dem ROM (Read-Only-Memory) gelesen wurde
Der MIPS R2000 ist ein Vertreter der RISC-Architektur
Da die Maschinenbefehle der etablierten Architekturen immer umfangreicher und komplexer wurden kam
in den 80er Jahren eine Gegenbewegung auf
Computer mit den bisherigen Befehlssätzen wurden bezeichnet als:
CISC (Complex Instruction Set Computer)
Eine neue Computerarchitektur wurde vorgeschlagen:
RISC (Reduced Instruction Set Computer)
Die einfachen RISC-Befehle sind schneller auszuführen und benötigen jeweils ungefähr die gleiche Zeit
Die einfachen Befehle verwenden dedizierte Hardware und ersetzen die bei CISC Prozessoren übliche
Mikroprogrammierung
Die RISC-Prozessoren können daher schneller getaktet werden und die Fließbandverarbeitung von
Befehlssequenzen (Pipelining)
wird effizienter
Motorola 68000, PowerPC (Apple), ARM (Smartphone) sind weitere Beispiele für RISC-Processoren
Fließbandverarbeitung (Pipelining)
Mehrere Aufgaben werden mit mehreren Ressourcen simultan verarbeitet
In der MIPS Architektur z.B. dedizierte Hardware für: Instruction Fetch (IF), Instruction Decode (ID),
Execute
(EX), Memory Accesss (MA) und
Write Back (WB)
Durch Pipelining kann so z.B. eine bis zu 5-fache Beschleunigung gegenüber einer hintereinander Ausführung
erreicht werden
Spätestens seit dem iMac wird bei Apple viel Wert auf das Design gelegt
Apple's Idee: Der iMac integriert Monitor und Rechner-Hardware in einem Gehäuse während dies sonst nicht
üblich ist.
Dies verhindert Kabelsalat auf dem Schreibtisch, hat aber den Nachteil, dass Komponenten nicht so leicht
ausgetauscht werden können.
Das Konzept wird bis heute fortgeführt (oben iMac G3 von 1998, unten iMac von 2007)
Der iMac G3 hatte eine 233 MHz PowerPC CPU mit 512 KB Cache, 4 GB Festplatte, 32 MB RAM, 2 MB Video RAM
und wurde mit Mac OS 8.1 ausgeliefert