252-0061-00L  Systems Programming and Computer Architecture

SemesterHerbstsemester 2016
DozierendeT. Roscoe
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheEnglisch



Lehrveranstaltungen

NummerTitelUmfangDozierende
252-0061-00 VSystems Programming and Computer Architecture4 Std.
Di10:15-12:00HG G 5 »
Mi10:15-12:00NO C 60 »
T. Roscoe
252-0061-00 USystems Programming and Computer Architecture2 Std.
Do13:15-15:00CHN D 42 »
13:15-15:00CHN G 46 »
13:15-15:00LEE C 104 »
13:15-15:00LEE D 105 »
13:15-15:00LFW C 1 »
13:15-15:00ML J 34.1 »
13:15-15:00ML J 37.1 »
T. Roscoe
252-0061-00 ASystems Programming and Computer Architecture
Project Work, no fixed presence required.
1 Std.T. Roscoe

Katalogdaten

KurzbeschreibungIntroduction to computer architecture and system programming:

Instruction sets, storage hiearchies, runtime structures with an
emphasis on computers as engines for the execution of compiled
programs. Interaction between system software and the hardware.
Problems that arise from the final respresentation, performance
measurement and tuning, and program portability issues are covered.
LernzielThe objective is to allow students to understand all aspects of the
execution of compiled (C) programs on modern architectures -- the
instruction set, the storage resources (registers, stack, memory),
input/output, the impact of compiler decisions, and the interaction
between the operating system and hardware. Two main themes are
correctness issues (esp. those that arise from the finite
representation of data) and performance issues (incl. measurement and
tuning issues). The interface to the operating system is discussed to
prepare for subsequent classes on more advanced systems topics.

The two key goals are:

1) To equip students with a thorough understanding of how to
write correct programs that run fast on modern computer, and
2) How to write correct and efficient low-level systems code.

This course does not cover how to design or build a processor or
computer.
InhaltThis course provides an overview of "computers" as a
platform for the execution of (compiled) computer programs. This
course provides a programmer's view of how computer systems execute
programs, store information, and communicate. The course introduces
the major computer architecture structures that have direct influence
on the execution of programs (processors with registers, caches, other
levels of the memory hierarchy, supervisor/kernel mode, and I/O
structures) and covers implementation and representation issues only
to the extend that they are necessary to understand the structure and
operation of a computer system.

The course attempts to expose students to the practical issues that
affect performance, portability, security, robustness, and
extensibility. This course provides a foundation for subsequent
courses on operating systems, networks, compilers and many other
courses that require an understanding of the system-level
issues. Topics covered include: machine-level code and its generation
by optimizing compilers, address translation, input and output,
trap/event handlers, performance evaluation and optimization (with a
focus on the practical aspects of data collection and analysis).
LiteraturThe course is based in part on "Computer Systems: A Programmer's Perspective" (2nd Edition) by R. Bryant and D. O'Hallaron, with some additional material.
Voraussetzungen / Besonderes252-0024-00L Parallel Programming,
252-0014-00L Digital Circuits

Leistungskontrolle

Information zur Leistungskontrolle (gültig bis die Lerneinheit neu gelesen wird)
Leistungskontrolle als Semesterkurs
ECTS Kreditpunkte8 KP
PrüfendeT. Roscoe
FormSessionsprüfung
PrüfungsspracheEnglisch
RepetitionDie Leistungskontrolle wird nur in der Session nach der Lerneinheit angeboten. Die Repetition ist nur nach erneuter Belegung möglich.
Prüfungsmodusschriftlich 180 Minuten
Hilfsmittel schriftlichNo written aids allowed, except for a German-English dictionary.
Diese Angaben können noch zu Semesterbeginn aktualisiert werden; verbindlich sind die Angaben auf dem Prüfungsplan.

Lernmaterialien

 
HauptlinkInformation
Es werden nur die öffentlichen Lernmaterialien aufgeführt.

Gruppen

Keine Informationen zu Gruppen vorhanden.

Einschränkungen

Keine zusätzlichen Belegungseinschränkungen vorhanden.

Angeboten in

StudiengangBereichTyp
Informatik BachelorObligatorische Fächer (3. Sem.)OInformation
Informatik LehrdiplomTeil 1OInformation