02 Historie und Teilgebiete der Informatik Flashcards
Begriff “Informatik”
Zusammengesetzt aus “Information” und “Automatik” (seit 1950er) - Informatik bezeichnet mehr als Computerwissenschaften, d.h. “automatisierte Informationsverarbeitung in Natur, Technik und Gesellschaft”
Abakus
Rechenhilfe - Rahmen mit auf Bahnen (Drähten, Stangen etc.) aufgezogenen Einheiten (Steine, Maiskörner, etc.). Ursprung wahrscheinlich China ca 1000 vor Chr. Zahlen werden in 10er-Basis dargestellt (4 + 1 oder 5 + 2 Einheiten pro Bahn).
Begriff “Algorithmus”
Ein Algorithmus ist eine Verarbeitungsvorschrift, die schrittweise präzise abgearbeitet werden kann. D.h. sie kann von einem Menschen oder einer Maschine ausgeführt werden.
- Generation elektronischer Datenverarbeitung
Elektronische Röhrenrechner - Elektronenröhren statt elektromechanischer Relais als Schaltelemente.
- Generation elektronischer Datenverarbeitung
Transistorrechner - Halbleitertransistoren sind deutlich kleiner und benötigen nur ein Bruchteil der Energie wie elektronische Röhren.
- Generation elektronischer Datenverarbeitung
Mikrochips mit hochintegrierten Schaltkreisen. In 1960er Jahren ca. 30-40 Transistoren pro Quadratmilimeter, in 70ern schon 30’000. Typischer Speichergrösse pro Mikrochip 128 bis 1024 Bit.
- Generation elektronischer Datenverarbeitung
MOS-Technologie (Metal Oxide Semiconductor) erlaubte weitere Miniaturisierung und Erhöhung der Rechengeschwindigkeit.
- Generation elektronischer Datenverarbeitung
Parallelverarbeitung und Vernetzung - Verschiedene Ansätze die Geschwindigkeit von Datenverarbeitung zu erhöhen. Exakte Abtrennung zur 4. Generation ist schwierig. - Einfachste Abgrenzung: Rechner mit mehreren vernetzten Prozessoren zur parallelen Verarbeitung von Daten gehören zur 5. Generation.
Moor’sches Gesetz
Die Anzahl der Transistordichte auf einem Mikrochip verdoppelt sich ca. alle 18 Monate. Tendenzen Zeigen heutzutage in Richtung einer Verlangsamung dieser Entwicklung, da man mit der Halbleitertechnik langsam an Physikalische Grenzen stösst.
Konsequenz des Moor’schen Gesetzes => kleiner - schneller - billiger
Verschiedene Einsatzgebiete von Computern
Grobe Einteliung in
- kommerzielle Rechner - viel IO, “geringe” Rechenleitung
- wissenschaftliche Rechner - wenig IO, “hohe” Rechenleistung
- Prozess-/Echtzeit-Rechner - Steuerung von Prozessen, die nicht nur logische sonder auch “zeitliche Korrektheit” benötigen.
Theoretische Informatik
ist die Basis für die technische und praktische Informatik und Unterteilt sich in folgende Bereiche:
- Automatentheorie und formale Sprachen
- Berechenbarkeitstheorie
- Komplexitätstheorie
Praktische Informatik
beschäftigt sich mit Programmen die ein System steuern. Sie enthält z.B. folgende Teilgebiete: Programmiersprachen, Compiler & Interpreter, Algorithmen & Datenstrukturen, Betriebssysteme, Datenbanken…
Technische Informatik
befasst sich mit hardwareseitigen Grundlagen der Informatik, wie z.B. Mikroprozessortechnik, Rechnerarchitektur, Rechnerkommunikation,
Angewandte Informatik
Resultate aus theoretischer, praktischer und technischer Informatik finden Anwendung in der angewandten Informatik. Zwei Hauptanwendungsgebiete: Wirtschaftliche, kommerzielle Anwendungen & technisch-wissenschaftliche Anwendungen
Interdisziplinäre Gebiete der Informatik
Z.B. Wirtschaftsinformatik, künstliche Intelligenz, Computerlinguistik, Bioinformatik, etc.
Erster mechanischer Computer
um 1822 “difference Machine” bzw 1938 “Analytical Machine” erster mechanischer Computer im heutigen Sinne von Charles Babbage
Von Neuman Architektur
- Instruktionen und Daten stehen im gleichen Speicher.
- Recheneinheit führt logische und arithmetische Operationen aus.
- Steuereinheit liest interpretiert und führt Instruktionen aus.
Bestandteile eines von Neumann Rechners
- CPU - central processing unit oder Microprozessor
- Memory - (Arbeits-)Speicher
- I/O - Ein-/Ausgabe-Einheiten
- System-Bus - el. Verbindung der obigen drei Komponenten zum Transport von Daten.
ALU
Arithmetic and Logic Unit
Register
Daten-Zwischenspeicher
CU
Control unit
FSM
Finite State Machine
Wie arbeitet eine Steuereinheit eines CPUs?
1) Start/Initialisierung (reset)
2) Loop über
- Instruktionen aus Speicher lesen (fetch)
- Instruktionen ausführen (execute)
Welche drei Typen von Operationen kann einen Steuereinheit ausführen?
- Daten lesen oder schreiben
- Rechenoperationen (arithmetisch und logisch)
- Sprungbefehle
RAM
Random access memory
Byte
8 Bit
Wieviele adressierbare Position gibt es i.d.R. in einem Arbeitsspeicher?
Der “Adressraum” ist in der Regel eine 2er Potenz (2^n)
SRAM
Static random access memory
DRAM
Dynamic random access memory
Unterschiede Arbeitsspeicher vs Sekundärspeicher?
- Arbeitsspeicher (A) meist volatiler Speicher der über den System-Bus angeschlossen ist.
- Sekundärspeicher (S) der über I/O-Ports angeschlossen ist.
- i.A. hat S nur Zugriff auf ganze Datenblöcke und A auf einzelne Bytes
- S wird für die Langzeitspeicherung von Daten verwendet
- S ist i.d.R. langsamer und günstiger als A
System-Bus
Via System-Bus kann der CPU Daten auf Arbeitsspeicher oder I/O schreiben oder davon lesen. Der System-Bus besteht aus drei Komponenten: Adressbus, Datenbus und Controlbus
Adressbus (System-Bus)
Via Adressbus legt der CPU die Adresse fürs Lesen/Schreiben fest (Analogie Postadresse).
Hat ein System-Bus n-Adressleitungen so kann er 2^n Adressen unterscheiden.
Control-Bus (System-Bus)
Darüber legt der CPU fest, ob gelesen oder geschrieben werden soll.
Zudem wird der zeitliche Ablauf des Zugriffs kontrolliert, d.h. wann Adressen und Daten gültig sind.
Data-Bus (System-Bus)
Der Datenbus wird zum Übertragen der Daten verwendet (analog Inhalt eines Briefes).
Übliche Datenbus-Breite: 4/8/16/32/64 Bit
Die Datenbus-Breite kann sich von der CPU-Verarbeitungsbreite unterscheiden.
Beispiele I/O
- USB controller
- Hard-Disk controller
- Network adapter
- Graphics adapter
- A/D converter (Sensorik)
- Serial Ports
Abstraktionsebenen eines Computersystems
From bottom to top:
- Digital logic level
- Microarchitecture level
- Instruction set architecture level
- OS machine level
- Assembly language level
- Problem-oriented language level