Informatik

Unternavigation / Sub Navigation

Standardverweise

Technische Informatik

Inhalte
  • Historische Entwicklung
  • Herstellungsprozess für eine CPU
  • Genereller Aufbau eines Rechners
  • Architekturmodelle
  • Zwischen Compiler und Hardware (Gatter und Bausteine, Logik)
  • Zahlendarstellung, Zahlensysteme, Code-Systeme
  • Rechner-Arithmetik (negative Zahlen, binäres Rechnen, Gleitkommazahlen)
  • Boolesche Algebra
  • Optimierungsverfahren (Algebra-Umformungen, DeMorgan, Venn, Karnaugh)
  • Latches und Flip-Flops
  • MIPS-Architektur
  • Assembler mit Load/Store, Addition, Subtraktion, logische Operationen, SPIM-Simulator
  • Entwicklung einer einfachen Arithmetic Logic Unit
  • Assembler-Erweiterung mit Programmflusssteuerung, Unterprogrammtechnik
  • Speicherverwaltung: Stack und Heap
  • Assembler-Pseudobefehle
  • Steuerwerk und Datenpfad
  • Wie die Assemblerbefehle die Hardware „vorgeben“
  • Cache
  • Pipelining
Lernziele

Ein C++- oder Java-Programm haben Sie schon geschrieben oder zumindest gesehen; einen Prozessor, eine Grafikkarte und RAM-Riegel haben Sie schon gekauft, vielleicht als kompletten Rechner. Wie aber kommt jetzt das C++-Programm auf der Hardware zum Rennen? Ist das Zauberei? Nach der Veranstaltung wissen Sie es.

Die Vorlesung startet mit einem kurzen Überblick zur historischen Entwicklung der Rechner-Hardware. Der Herstellungsprozess einer CPU wird dargestellt und zeigt wieder die Zielrichtung der Veranstaltung: Kennenlernen der Software-Hardware-Schnittstelle.

In einem ersten Teil verstehen Sie den Zusammenhang zwischen den elektrischen Bausteinen, Gattern und binärer Logik. Basierend darauf lernen Sie (binäre) Zahlendarstellungen und einige Code-Systeme kennen. Dann wissen Sie, wie Rechner sich Informationen binär merken und verarbeiten.

Die Boolesche Algebra liefert den mathematisch-theoretischen Unterbau jeder Logikentwicklung. Um den Herstellungsaufwand für Hardware so gering wie möglich zu halten, kommen Optimierungsverfahren zum Einsatz. Deren Prinzip lernen Sie am Beispiel der algebraischen Minimierung, mit DeMorgan's Gesetzen und mit Hilfe von Karnaugh-Diagrammen anzuwenden. Als Beispiele verwenden wir dabei Standardbausteine wie Halb- und Voll-Addierer, Multiplexer und die beliebte 7-Segment-Anzeige. So lernen Sie ganz nebenbei und exemplarisch auch diese Bausteine kennen. Rechner-Arithmetik, binäres Rechnen und Gleitkommazahlen gehören ebenso zum Grundwissen, wie auch Latches und Flip-Flops, mit denen der erste Teil abschließt.

Die zweite Hälfte baut auf diesem Wissen auf: Dort lernen Sie die RISC-Rechnerarchitektur MIPS kennen. Sie lernen, was ein Assembler ist und welche Operationen am Beispiel MIPS zur Verfügung stehen. Hier bewegen Sie sich (vielleicht nicht) zum ersten Mal „auf“ dem Übergang, also der Schnittstelle von der Software zur Hardware. Mit den Grundlagen aus Teil 1 verstehen Sie nun den Aufbau einer einfachen Arithetic Logic Unit (ALU). Auf der Software-Seite (Assembler) erweitern wir dessen Feature-Umfang um die Programmflusssteuerung, also um Bedingungen, Schleifen und um Unterprogrammtechniken. Dies impliziert auf der Hardware-Seite weitere Bausteine und Datenpfade, damit die neuen Assemblerbefehle auch Hardware-seitig realisiert werden können. Bei der Speicherverwaltung lernen Sie Stack und Heap kennen. Ebenso verstehen Sie den Hintergrund von Pseudo-Assemblerbefehlen. Einfache Cache-Strategien für Speicherhierarchien und eine Optimierung der resultierenden "Hardware" durch Pipelining bilden den Abschluss.

Am Ende der Veranstaltung können Sie den gesamten Weg von einem Programm in einer höheren Sprache (wie z.B. C++) über den Assembler (z.B. MIPS) bis zu den Hardwarebauteilen (Steuerwerk und Datenpfad) erklären. Dieses Verständnis sollten Sie als Informatiker „im Hinterkopf“ haben.

Lehrform
Art und Umfang
Vorlesung (2 SWS)
Übung (2 SWS)
Seminar/Seminaristischer Unterricht
Labor
Projekt
Voraussetzungen für die Teilnahme Keine
Prüfungsvorleistung Regelmäßige Teilnahme an der Vorlesung
Regelmäßige Teilnahme an den Übungen
Regelmäßige Bearbeitung von Haus-/Laborarbeiten
Bestehen von Leistungsstandkontrollen
Prüfungsform
Art und Umfang
Schriftliche Prüfung (60 Minuten Bearbeitungszeit)
Mündliche Prüfung
Prüfung am PC
Hausarbeit/Projekt mit Kolloquium
Verwendbarkeit
Informatik PF WPF
Informatik - Digitale Medien und Spiele (Schwerpunkt Medien) PF WPF
Informatik - Digitale Medien und Spiele (Schwerpunkt Spiele) PF WPF
Informatik - Sichere und mobile Systeme PF WPF
Medizininformatik PF WPF
Angebot Sommersemester Wintersemester Bei Bedarf
Arbeitsaufwand
ECTS-Punkte Kontaktzeit Selbststudium
5 60 Stunden 90 Stunden
Lehrende(r) Prof. Dr. S. Benzschawel
Modulverantwortliche(r) Prof. Dr. S. Benzschawel
Änderungsdatum 30.11.2015
Christian Bettinger, 11. März 2016