Historischer Überblick Flashcards
Bedeutung von Konrad Zuse
- erster funktionsfähiger Computer der Welt: Z3 1941
- benutzte schong grundlegend von-Neumann-Architektur: Trennung von Steuerwerk, Rechenwerk, Ein-/Ausgabe
- frei programmierbar (Universalrechner)
- binäres Gleitkommarechenwerl
- binärer Speicher - 64 Worte à 22 Bits
für Flügelberechnungen im Flugzeugbau
Generationen der elektronischen Datenverarbeitung
- mechanisch (Analytical Engine) 1855
- elektro-mechanisch (Relais, z.B. Z3) 1941
- 1946 Elektronenröhren (ENIAC)
- 1955 Transistoren
- kleiner, energieeffizienter
- elektronische Halbleiterelemente zum Schalten und Verstärken von Strömen und Spannungen (2 Zustäne mögliche)
- und 4. Anfang 1960er Mikrochips mit hoch- und höchstintegrierten Schaltkreisen
- IC - integrated circuits, VLSI - very large scale integration
- Bauteile in einem Chip integriert, z.B. Intel 8080
- VLSI - sehr hoch integrierte Schaltkreise
- Parallelverarbeitung und Vernetzung
- moderne Rechner: Mikroprozessoren mit vielen Mrd. Transistoren mit Mrd. von Speicherplätzen (TB) und Mrd. von Operationen pro Sekunde
Moore’s Gesetz
Die Komplexität integrierte Schaltkreise verdoppelt sich etwa alle 2 Jahre.
- gültig: 1965 bis 2016
Koomey’s Gesetz
Die Energieeffizienz von Rechnern verdoppelt sich alle 18 Monate.
Von-Neumann-Rechnerarchitektur
- Referenzmodell für Computer
- Schaltungskonzept zur Realisierung universeller Rechner
-
getrennte Komponenten
- Rechenwerk
- Steuerwerk
- Ein-/Ausgabeeinheit
- Speicher
- gemeinsamer Speicher für Computerprogrammbefehle und Daten
Von-Neumann-Rechnerarchitektur
Aufbau und Komponenten
CPU: Zentraleinheit mit ALU und CU
Rechenwerk: ALU - Arithmetic Logical Unit, führt Rechenoperationen und logische Verknüpfungen durch
Steuerwerk: CU - Control Unit, interpretiert Anweisungen eines Programms und steuert Befehlsabfolge
Speicherwerk: speichert sowohl Programme als auch Daten, die für das Rechenwerk zuständig sind
Ein-/Ausgabewerk: steuert Ein-/Ausgabe von Daten zum Anwender oder zu anderen Systemen (Schnittstellen)
Bus: verbindet Komponenten des Rechners untereinander
Von-Neumann-Rechnerarchitektur
Programmablauf
- Prinzipien des gespeicherten Programms
- Prinzipien der sequentiellen Programmausführung
Von-Neumann-Rechnerarchitektur
Prinzipien des gespeicherten Programms
- Befehle sind in einem RAM-Speicher mit lineraren Adressraum abgelegt
- Befehls-Adressregister zeigt auf den momentan auszuführenden Befehl
- Befehle können geändert werden wie Daten
Von-Neumann-Rechnerarchitektur
Prinzipien der sequentiellen Programmabfolge
- Befehle werden aus einer Zelle des Speichers gelesen und dann ausgeführt
- normal: Inhalt des Befehlzählers inkrementiert
- bedingt/eingabe-abhängig:
- Sprung-Befehle: Befehlszähler ändert sich anders als +1
- Verzweigungsbefehle: inkrementieren oder Sprung-Befehl
- Schleifen und Bedingungen möglich
Von-Neumann-Rechnerarchitektur
Vor- und Nachteile
Vorteile
- minimaler Hardwareaufwand
- minimaler Speicheraufwand (Verteilung je nachdem ob Daten oder Programme mehr brauchen, da gemeinsam)
Nachteile
- ein einziger Bus, über den alle Aktionen laufen (Sequentialismus) -> zu jedem Zeitpunkt nur 1 Befehl
- Programme angreifbar -> kein technisches Hindernis für Viren durch gemeinsamen Speicher
Harvard-Rechnerarchitektur
Schaltungskonzept, bei dem Befehls- und Datenspeicher und -busse logisch und physisch getrennt sind
logisch: verschiedene Adressräume, verschiedene Maschinenbefehle zum Zugriff
physisch: 2 getrennte Speicher, Zugriff je über eigenen Bus
Vergleich Von-Neumann- und Harvard-Rechnerarchitektur
Harvard-Rechnerarchitektur
Vor- und Nachteile
Vorteile:
- Parallelität: gleichzeitiges Laden und Speichern von Daten und Befehlen
- bei Softwarefehlern kann kein Programmcode überschrieben werden
- Datenwortbreite kann sich von Befehlswortbreite unterscheiden
Nachteile:
- komplexer als von-Neumann-Architektur
- Datenspeicher kann nicht als Programmspeicher verwendet werden und umgekehrt
Vorteile getrennter Komponenten bei einer Rechnerarchitektur
- Komponenten können einzeln verbessert werden
- Änderungen an Programmen schnell und ohne Änderungen an Hardware durchführbar
- vereinfachte Fehlersuche
- Möglichkeit, in kurzer Folge verschiedene Programme ablaufen zu lassen