übergeordnetes Verzeichnis Universität Bonn
Institut für Informatik IV
Prof. Martini

Inhaltsübersicht


Archiv
WS   *  
Jahr 99 00
SS   *


SS 2000


Vorlesung "Informatik II"

0. Einleitung
1. Von der Schaltfunktion zum VLSI-Chip
1.1. Schaltfunktionen
1.2. Boolesche Funktionen
1.3. Schaltnetze
1.4. Normalformen
1.5. Vereinfachung von Schaltnetzen
1.5.1. Die Resolutionsregel
1.5.2. Das Verfahren von Karnaugh
1.5.3. Das Verfahren von Quine und McCluskey
1.6. Programmierbare Logische Arrays (PLAs)
1.7. Schaltwerke
1.8. Die arithmetische Einheit
1.8.1. Grundlegende Betrachtungen zu Addition und Subtraktion
1.8.2. Halbaddierer und Volladdierer
1.8.3. Carry-Ripple-Addition
1.8.4. Serielle Addition
1.8.5. von-Neumann-Addition
1.8.6. Carry-Save-Addition, „Adder Tree“
1.9. Hochintegrierte Bauelemente (Chips) ... und mehr
1.10. Zusammenfassung (Kapitel 1)
2. Rechnerarchitektur und maschinennahe Programmierung
2.1. Der Von-Neumann-Rechner
2.2. Der Mikroprozessor „BORIS“
2.2.1. Einbindung von BORIS in ein Gesamtsystem
2.2.2. Interne Struktur von BORIS
2.2.3. Ein einfaches Programm und dessen Bearbeitung
2.3. Maschinenbefehle und ihre Darstellung
2.3.1. Prinzipielle Gestalt von Maschinenbefehlen
2.3.2. Assembler-Sprachen
2.3.3. Ein Pseudo-Assembler („á-Notation“)
2.4. Adressierung
2.4.1. Eine, zwei oder drei Adressen ?
2.4.2. Direkte (= absolute) Adressierung
2.4.3. Basisregister und Displacement
2.4.4. Indexregister
2.4.5. Indirekte Adressierung
2.5. Unterprogramme
2.5.1. Grundlegende Betrachtungen
2.5.2. Einstufige Unterprogramme
2.5.3. Mehrstufige, nicht erneut aufrufbare Unterprogramme
2.5.4. Mehrstufige, erneut aufrufbare Unterprogramme
2.6. Vom Assemblerprogramm zum Maschinen-Code
2.7. Klassifikation von Rechnern und ihrer Architektur
2.7.1. Von PCs, Workstations und Wearables
2.7.2. Von SISD, SIMD, MISD und MIMD
2.7.3. Von MIPS, GFLOPS und Benchmarks
2.7.4. Von CISC und RISC
2.7.5. Pipelining, Super-Pipelining und Superskalar-Technik
2.7.6. Das Post-RISC-Zeitalter
2.7.7. Informationen zu aktuellen Entwicklungen
2.8. Die „Java Virtual Machine“
2.8.2. Anfang und Ende einer Laufzeit-Instanz
2.8.3. Die Struktur der Java Virtual Machine
2.8.1. Was ist die „Java Virtual Machine“ ?
2.8.4. Die Datentypen
2.8.5. Der Befehlssatz
2.8.6. Simulation der Java Virtual Machine
2.9. Zusammenfassung (Kapitel 2)
3. Vom Programm zum lauffähigen Code
3.1. Lader und Binder
3.1.1. Funktionalität eines Laders
3.1.2. Übersetzen und Laden
3.1.3. Die allgemeine Lademethode
3.1.4. Der Absolutprogramm-Lader
3.1.5. Herstellung externer Referenzen
3.1.6. Verschiebende Lader (Relocating Loaders)
3.1.7. Bindende Lader
3.1.8. Trennung von Binde- und Ladevorgang
3.1.9. Dynamisches Binden und Laden
3.2. Übersetzung höherer Programmiersprachen
3.3. Übersetzerstruktur
3.4. Kontextfreie Grammatiken
3.5. Lexikalische Analyse
3.5.1. Grundlegende Betrachtung
3.5.2. Formale Spezifikation von Grundsymbolen
3.5.3. Endliche Automaten
3.5.4. Nicht-deterministische endliche Automaten
3.5.5. Vom Syntaxdiagramm zum endlichen Automaten
3.5.6. Die Regel des längsten Musters
3.6. Syntaktische Analyse
3.6.1. Zerteiler (Parser)
3.6.2. Arithmetische Ausdrücke
3.7. Semantische Analyse
3.8. Code-Erzeugung
3.8.1. Registerzuteilung in einem Durchgang („on-the-fly“)
3.8.2. Registerzuteilung in mehreren Durchgängen
3.9. Zusammenfassung (Kapitel 3)
4. Kommunizierende und konkurrierende Prozesse
4.1. Parallele und nebenläufige Prozesse
4.2. Prozesse aus Sicht des Betriebssystems
4.3. Erzeugung von Threads in Java
4.4. Inter-Prozess-Kommunikation und Synchronisation
4.4.1. Grundlegende Betrachtung
4.4.2. Wechselseitiger Ausschluss (Mutual Exclusion)
4.4.3. „Monitore“
4.4.4. Monitore mit Bedingungssynchronisation
4.4.5. Monitore zur Vergabe gleichartiger Ressourcen
4.5. Deadlocks
4.6. Scheduling-Strategien
4.6.1. Kriterien zur Beurteilung von Scheduling-Algorithmen
4.6.2. Das allgemeine Prioritätenverfahren
4.6.3. Die FIFO-Strategie
4.6.4. Round Robin Scheduling
4.6.5. E/A-orientiertes Prioritätenverfahren
4.6.6. SPT: Shortest Processing Time First
4.7. Speicherverwaltung
4.7.1. Multiprogramming mit festen Partitionen
4.7.2. Multiprogramming mit variablen Partitionen
4.7.3. Virtueller Speicher
4.8. Rechnernetze
4.9. Zusammenfassung (Kapitel 4)


Informatik IV / Lehrveranstaltungen Prof. Martini

08.03.04 - feldt@informatik.uni-bonn.de