Parameter | Kursinformationen |
---|---|
Veranstaltung: | @config.lecture |
Semester | @config.semester |
Hochschule: | Technische Universität Freiberg |
Inhalte: | Übersicht der historischen Entwicklung von Rechentechnik |
Link auf GitHub: | https://github.com/TUBAF-IfI-LiaScript/VL_EingebetteteSysteme/blob/master/00_Einfuehrung.md |
Autoren | @author |
Fragen an die Veranstaltung
- Worin lag der „große Wurf“ des Intel 4004?
- Was bedeutet die Angabe 8bit, 16bit usw. ?
- Erklären Sie die Schichten der Rechnerstruktur.
- Worin unterschieden sich ENIAC und die Z3?
- ...
Weiterführende Literaturhinweise
-
Dirk W. Hoffmann, Grundlagen der Technischen Informatik, Hanser-Verlag, 2007
-
Raul Rojas, Sechzig Jahre Computergeschichte - Die Architektur der Rechenmaschinen Z1 und Z3 Link
-
Webseiten zur Rechnergeschichte
Abstraktionsebenen
+----------------------------+ -.
Ebene 6 | Problemorientierte Sprache | |
+----------------------------+ |
⎬ Anwendungssoftware
+----------------------------+ |
Ebene 5 | Assemblersprache | |
+----------------------------+ -.
+----------------------------+
Ebene 4 | Betriebssystem | Systemsoftware
+----------------------------+
+----------------------------+
Ebene 3 | Instruktionsset | Maschinensprache
+----------------------------+
+----------------------------+ -.
Ebene 2 | Mikroarchitektur | |
+----------------------------+ |
⎬ Automaten, Speicher, Logik
+----------------------------+ |
Ebene 1 | Digitale Logik | |
+----------------------------+ -.
+----------------------------+
Ebene 0 | E-Technik, Physik | Analoge Phänomene
+----------------------------+ .
Partizipative Materialentwicklung mit den Informatikern ...
Format | Informatik Studierende | Nicht-Informatik Studierende |
---|---|---|
Verbesserungsvorschlag | 1 | 0 |
Fragen | 0 | 0 |
generelle Hinweise | 0 | 0 |
Die Informatik wird gewinnen!!!
Ein Computer oder Digitalrechner ist eine Maschine, die Probleme für den Menschen lösen kann, indem sie die ihr gegebenen Befehle ausführt. (Tannenbaum, Computerarchitektur)
Ein Computer oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. (Wikipedia)
Rechenanlage (Computer) ... Die Gesamtheit der Baueinheiten, aus denen ein Datenverarbeitungssystem aufgebaut ist. (DIN 44300)
Welche Gemeinsamkeiten und Unterschiede sehen Sie in diesen Definitionen?
{{0-1}}
Ausgangspunkt für die Vereinfachung des Rechnens ist das Konzept des Stellenwertsystems. In einer positionsunabhängigen Darstellung bedarf es immer neuer Symbole um größere Zahlen auszudrücken. Im römischen Zahlensystem sind dies die bekannten Formate MDCCLXV
. Können Sie den Zahlenwert rekonstruieren - es ist das Gründungsjahr der Bergakademie.
{{0-1}}
Die Idee, den Wert einer Ziffer von ihrer Position innerhalb der ganzen Zahl abhängig zu machen, geht auf den indischen Kulturkreis zurück. Die sogenannten "arabischen" Zahlen integrieren dafür einen zentrale Voraussetzung, die "0". Ohne die Null ist es nicht möglich, den Wert einer einzelnen Ziffer zu vervielfachen.
{{1-2}} Der Abakus greift diesen Ansatz auf und strukturiert den Rechenprozess. Dabei unterscheidet man verschiedene Systeme. Es exisitieren Vorgehensmuster für die Umsetzung der Grundrechenarten und des Wurzelziehens.
{{2-3}} Eine weitreichendere Unterstützung beim eigentlichen Rechenprozess bieten die Napierschen Rechenstäbe (John Napier 1550 - 1617), die insbesondere die Multiplikation einer Ziffer mit einer beliebig großen Zahl unterstützen.
{{2-3}} !?Napirsche Rechenstäbe
{{3-4}} Die notwendige manuelle Addition bei größeren Faktoren löste die Rechenmaschine von Wilhelm Schickard. Die Automatisierung der Addition ist mechanisch gelöst und zum Beispiel unter Link beschrieben.
{{3-4}} !?Wilhelm Schickards Rechenmaschine
{{4-5}} Blair Pascal, Gottfried Wilhelm Leibniz und andere Entwickler trieben die Entwicklung weiter, erweiterten die Stellensysteme, integrierten weitere Rechenarten hatten aber insgesamt mit den mechanischen Herausforderungen und fehlender Fertigungsgenauigkeit zu kämpfen.
{{4-5}}
Es ist unwürdig, die Zeit von hervorragenden Leuten mit knechtischen Rechenarbeiten zu verschwenden, weil bei Einsatz einer Maschine auch der Einfältigste die Ergebnisse sicher hinschreiben kann. (Gottfried Wilhelm Leibniz)
Bisher stand die Berechnung von einzelnen Ergebnissen auf der Basis einer Sequenz von Eingaben im Vordergrund. Ende des 18. Jahrhunderts entwarfen Visionäre neue Konzepte, die allgemeingültige Lösungen integrierten.
Diesen Aspekt kann man auf technischer und theoretischer Ebene betrachten.
Die Grundlagen moderner Rechner legten die Arbeiten von Georg Boole (1815 - 1864), der eine boolesche Algebra (oder einen booleschen Verband) definierte, die die Eigenschaften der logischen Operatoren UND, ODER, NICHT sowie die Eigenschaften der mengentheoretischen Verknüpfungen Durchschnitt, Vereinigung, Komplement verallgemeinert. Gleichwertig zu booleschen Algebren sind boolesche Ringe, die von UND und ENTWEDER-ODER (exklusiv-ODER) beziehungsweise Durchschnitt und symmetrischer Differenz ausgehen.
Jacquards "Musterwebstuhl" realisierte die Ansteuerung der Webmechanik durch eine Lochkartensteuerung. Im Jahr 1805 wurde das Verfahren erstmals vorgestellt. Dadurch konnten endlose Muster von beliebiger Komplexität mechanisch hergestellt werden.
Auf den Karte waren Informationen über das in einem Schritt zu webende Muster enthalten. Ein Loch bedeutete Fadenhebung, kein Loch eine Fadensenkung. Dabei konnten die Lochkarten in einer Endlosschleife gekoppelt werden, um wiederkehrende Strukturen umzusetzen.
Ausgangspunkt war die Konstruktion einer Rechenmaschine für die Lösung polynomialer Funktionen. Dabei entstand die Vision einer universellen Rechenapperatur, die auf der Basis eines programmierbaren Systems Berechnungen löst. Die erste Beschreibung wurde 1837 veröffentlicht.
- Energiebereitstellung über eine Dampfmaschine
- 8000 mechanische Komponenten
- Eingabe der Daten und Befehle über Lochkarten
- Nutzerinterface: Drucker, ein Kurvenplotter und eine Glocke
- Zahlendarstellung: dezimale Festkommazahlen, pro Stelle ein Zahnrad
- Arbeitsspeicher zwischen 1,6 und 20 kB (umstritten)
_The result of my reflections has been that numbers containing more than thirty places of figures will not be required for a long time to come. _
Die Maschine wurde zu Lebzeiten von Babbage nicht realisiert und nur in Teilen durch seinen Sohn implementiert. Aktuell exisitieren in verschiedenen Museen unterschiedliche Neubauten.
Eine der zentralen Persönlichkeiten, die die Möglichkeiten der Analytical Engine erkannte, war Ada Lovelace.
„[Die Analytical Engine] könnte auf andere Dinge als Zahlen angewandt werden, wenn man Objekte finden könnte, deren Wechselwirkungen durch die abstrakte Wissenschaft der Operationen dargestellt werden können und die sich für die Bearbeitung durch die Anweisungen und Mechanismen des Gerätes eignen.“
Ada Lovelace legte in den Notes zu einem Vortrag von Babbage einen schriftlichen Plan zur Berechnung der Bernoulli-Zahlen in Diagrammform vor, welcher als das erste veröffentlichte formale Computerprogramm gelten kann.
{{0-1}}
Der Verfügbarkeit des elektrischen Stromes als Energiequelle löste einige der technischen Hürden bei den mechanischen Rechenmaschinen, eröffnete aber auch neue Möglichkeiten bei der Eingabe von Daten.
Herman Hollerith (1860 - 1929) interpretierte die Lochkarten als Medium neu. Sein Konzept für die Lösung/Auswertung von organisatorischen Problemstellungen sah diese als Basis für die Datenerfassung.
Das System für die Erfassung von Daten auf Lochkarten bestand aus der Tabelliermaschine, dem Lochkartensortierer, dem Lochkartenlocher und dem Lochkartenleser. Damit konnte die Volkszählung in den USA 1890 innerhalb von 2 Jahren ausgewertet werden.
1924 wurde die von ihm gegründete Firma schließlich in International Business Machines Corporation (IBM) umbenannt.
!?Holerith
{{1-2}}
Nicht nur auf der Ebene der Datenerfassung, sondern auch für die Datenspeicherung eröffnete sich auf der Basis des elektrischen Stromes eine Revolution. Relais konnten Zustände nun speichern und logische Operationen abbilden. Damit manifestierte sich aber auch die Festlegung auf eine binäre Informationsdarstellung - An, Aus (1 und 0).
{{2-3}}
Bis in die 80er Jahre bildeten Analogrechner einen alternativen Ansatz. Anders als bei den diskret arbeitenden Digitalrechnern wurde hier im Werte- und Zeitverlauf kontinuierlich gearbeitet. Dabei wurde das Systemverhalten von komplexen Systemen mit elektrischen Schaltungen nachgebildet.
Die Z3 war der erste funktionsfähige Digitalrechner weltweit und wurde 1941 von Konrad Zuse in Zusammenarbeit mit Helmut Schreyer in Berlin gebaut. Die Z3 wurde in elektromagnetischer Relaistechnik mit 600 Relais für das Rechenwerk und 1400 Relais für das Speicherwerk ausgeführt.
- 10 Hertz Taktfrequenz
- basierend auf 2200 Relais
- 22-stellige Binärzahlen (im Gleitkomma-Format !)
- dezimale Ein-/Ausgabe
- Speicher mit 64 Worten
- Steuereinheit mit Sequenzer
- Addition in 3 Takten, Multiplikation in 16 Takten
- keine Sprungoperationen!
Bereits Vorwegname der Kernelemente moderner Architekturen:
- Gleitkommaformat
- Mikroprogrammierung
- Pipeline-Konzept
- Carry-Look-Ahead Addierer
Electronic Numerical Integrator and Computer (ENIAC)
- 18000 Röhren, 1500 Relais
- 130
$m^2$ , 30 Tonnen, 140 kW - dezimale Kodierung
- ca. 5000 Additionen je Sek.
- 20 Akkumulatoren, 1 Multiplizierer, 3 Funktionstabellen
- programmiert durch Kabel-Verbindungen
- E/A mittels Lochkarten
- gebaut für ballistische Berechnungen
Ein großes Problem bei der Entwicklung des ENIAC war die Fehleranfälligkeit der Elektronenröhren. Wenn nur eine der 17.468 Röhren ausfiel, rechnete die gesamte Maschine fehlerhaft.
In seinem Papier First Draft on the Report of EDVAC beschreibt John von Neumann 1945 die Basiskomponenten eines Rechners:
- ALU (Arithmetic Logic Unit) – Rechenwerk für die Durchführung mathematischer/logischer Operationen
- Control Unit – Steuerwerk für die Interpretation der Anweisungen eines Programmes
- BUS – Bus System, dient zur Kommunikation zwischen den einzelnen Komponenten (Steuerbus, Adressbus, Datenbus)
- Memory – Speicherwerk sowohl für Programme als auch für Daten
- Ein-/Ausgabe – Nutzerinterface
1948 stellen Shockley, Bardeen und Brattain den ersten Transistor an den Bell Labs her. Dafür erhalten sie 1956 den Nobelpreis für Physik. Der Transistor verdrängt langsam die Röhre als Verstärker und Schalter. Die neue Technik ermöglicht die Erstellung integrierter Schaltungen.
Und wie wird daraus nun ein Rechner? Die intelligente Verschaltung mehrerer Transistoren ermöglicht die Umsetzung von logischen Schaltungen wie AND, OR usw.
Diese wiederum fassen wir nun in entsprechenden ICs zusammen. Wir haben die elektrische Ebene verlassen und sind endgültig auf der logischen Ebene angekommen.
Beispiel: Intel 4004-Architektur (1971)
- Anzahl Transistoren: 2300
- Taktfrequenz: 500 bis 740 kHz
- Zyklen pro Instruktion: 8
- Daten-Adressraum: 5120 Bit (Harvard-Architektur)
- Anzahl Befehle: 46
- Bauform: 16 Pin (DIP)
Halten Sie nach der GoldCap-Variante Ausschau!
Unterstützung für die Interpretation aus dem Nutzerhandbuch, dass das Instruction set beschreibt:
Jahr | Entwicklung | Beschreibung |
---|---|---|
1971 | Intel 4004 | Erste kommerzielle CPU auf einem einzigen Chip (4-Bit). |
1978 | Intel 8086 | 16-Bit-Architektur und Grundlage für die x86-Architektur. |
1979 | Motorola 68000 mit 32-Bit interner Architektur | |
1985 | RISC-Architektur | Einführung der RISC (Reduced Instruction Set Computer)-Architektur für effizientere CPU-Designs. |
1989 | Intel i860 und erste GPUs | Erste Grafikprozessoren (GPUs) für 3D-Beschleunigung und spezielle Berechnungen. |
1993 | Intel Pentium | Einführung von Super-Skalaren und schnellerer Rechenleistung bei x86-Prozessoren. |
1999 | Nvidia GeForce 256 | Erste „GPU“ zur Hardware-Beschleunigung von 3D-Grafikberechnungen. |
2000 | AMD Athlon 64 | Erste 64-Bit-Desktop-CPU. |
2006 | Mehrkernprozessoren (Intel Core, AMD Athlon X2) | Einführung von Mehrkernprozessoren für verbesserte Leistung und parallele Verarbeitung. |
2010 | Nvidia Fermi-Architektur | CUDA-Architektur für Parallelverarbeitung und GPGPU (General Purpose GPU Computing). |
2011 | Intel Sandy Bridge | Einführung der integrierten Grafik mit CPU und GPU auf demselben Chip für höhere Effizienz. |
2015 | AMD HBM (High Bandwidth Memory) | Einführung von HBM für schnelle und effiziente Speichernutzung bei GPUs. |
2016 | Nvidia Pascal-Architektur und Deep Learning | GPUs mit optimierter Leistung für KI und Deep Learning (Tesla P100). |
2020 | Apple M1 SoC | Erster ARM-basierter Desktop-Prozessor von Apple |
2022 | Nvidia Ada Lovelace-Architektur | Fortschrittliche Architektur für Raytracing und KI-Beschleunigung mit DLSS 3-Technologie. |
-
Die historische Entwicklung der Rechentechnik ist eine Übersicht über erfolgreiche und vergangene Trends oder korrekte und weniger korrekte Prognosen.
I think there is a world market for about five computers. (Thomas J. Watson Jr., chairman of IBM, 1943)
Where a calculator as the ENIAC is equipped with 18000 vacuum tubes and weighs 30 tons, computers in the future may have only 1000 vaccum tubes and weigh 1 1/2 tons. (Popular Mechanics, 1949)
640 KBytes [of main memory] ought to be enough for anybody. (Bill Gates, Microsoft, 1981)
-
Eine Einordnung der vielzitierten Pioniere einer Wissenschaft ist für deren objektive Bewertung zwingend notwendig.
-
Entwicklungen wiederholen sich ...
-
Setzen Sie sich mit den Unterschieden zwischen der Z1 und der Z3 auseinander.
-
Woher stammt der Begriff "Bug" in Bezug auf die Programmierung?