|
|
|
Wo echter Hang zum
Nachdenken, nicht bloß zum Denken dieses oder
jenes Gedankens, herrschend ist, da ist auch Progressivität.
|
|
Novalis
|
Die Lehrveranstaltung betrifft die
Grundlagen der Rechnerarchitektur und der maschinennahen, leistungsbezogenen
Programmierung. Hierbei werden Mikrocontroller, Prozessoren
mittleren Leistungsvermögens und Hochleistungsprozessoren
betrachtet.
Die weitaus meisten der heutigen informationsverarbeitenden
Einrichtungen enthalten Mikrocontroller oder Prozessoren. Viele
Aufgaben der Informationsverarbeitung werden mit Hochleistungsprozessoren
gelöst. Der Praktiker muß in der Lage sein, das jeweils
Geeignete auszuwählen und zweckmäßig einzusetzen.
Hierzu sind Kenntnisse der grundsätzlichen Zusammenhänge
und Wirkprinzipien erforderlich. Die Studierenden sollen in
der Lage versetzt werden, die typischen Systemhandbücher
zu verstehen, verschiedene Architekturen zu beurteilen und diese
Kenntnisse beim Programmieren anzuwenden.
Inhaltsübersicht:
Rechnerarchitektur und Programmiermodell
- Entwicklungsgeschichte - Datenstrukturen - Maschinenbefehle
- Registermodelle - Speicheradressierung - Speicherverwaltung
- Unterbrechungssystem - Ein- und Ausgabe - Prozessorstrukturen
- Steuerungsprinzipien - Auslegung von Hochleistungsprozessoren
- virtuelle Speicher - Speichersubsysteme - E-A-Subsysteme -
Sondervorkehrungen (Kaltstart, Maschinenzeit, Schutzvorkehrungen
usw.) - Mehrprozessorsysteme und Parallelverarbeitung - virtuelle
Maschinen - auf Leistung programmieren.
In der Vorlesung werden die Grundlagen
der Rechnerarchitektur vorgestellt und näher erläutert.
Die praktischen Übungen beginnen mit dem Schreiben einfacher
Programme aus dem Bereich der Embedded Systems. Die Studierenden
sollen sich hierbei ein Gefühl für die Nützlichkeit
und Brauchbarkeit der verschiedenen Architekturprinzipien erarbeiten.
Weitere Übungen betreffen den Umgang mit besonderen Datenstrukturen
(Gleitkommazahlen, SIMD-Daten usw.), die systemnahe Programmierung,
die Leistungsmessung und den Leistungsvergleich. Programmiersprachen:
Assembler, C, PowerBasic. Plattformen: verschiedene Starterkits,
PCs unter Windows bzw. (wenn wir direkt an die Hardware heran
müssen) DOS oder Linux.
Abschlußleistung: Klausur.
Datenstrukturen
Maschinenbefehle
Speicheradressierung
Speicherverwaltung
(Text)
Speicherverwaltung
(Abbildungen)
Der
Einzelprozesor (Text)
Der
Einzelprozessor (Abbildungen)
Architekturbeispiele
(Text)
Architekturbeispiele
(Abbildungen)
Wenn der Arbeitsspeicher zu klein ist...
Stackorganisation für Laufzeitsysteme typischer Programmiersprachen
Prozessorarchitekturen -
Übersicht über verschiedene Wirkprinzipien
Steuerungsprinzipien
Caches
Befehlsformate
Mikrobefehle
Darstellung natürlicher und ganzer Binärzahlen
Elementare logische Operationen
Grundlagen der Adreßrechnung
Adreßrechnung (Kurzübersicht)
Interrupts (1)
Interrupts (2)
- Viel Erfolg beim Studium!
-
|