252-0061-00L  Systems Programming and Computer Architecture

SemesterAutumn Semester 2011
LecturersT. Roscoe
Periodicityyearly recurring course
Language of instructionEnglish



Courses

NumberTitleHoursLecturers
252-0061-00 VSystems Programming and Computer Architecture4 hrs
Tue10:15-12:00CAB G 61 »
Wed10:15-12:00CAB G 61 »
T. Roscoe
252-0061-00 USystems Programming and Computer Architecture2 hrs
Thu13:15-15:00HG D 5.2 »
13:15-15:00IFW A 32.1 »
13:15-15:00IFW A 34 »
13:15-15:00IFW A 36 »
13:15-15:00IFW C 31 »
13:15-15:00IFW C 33 »
13:15-15:00IFW C 35 »
T. Roscoe
252-0061-00 ASystems Programming and Computer Architecture
Project Work, no fixed presence required.
1 hrsT. Roscoe

Catalogue data

AbstractIntroduction 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. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered as well.
ObjectiveThe objective allows students to understand all aspects of the execution of compiled (C) programs on modern architectures -- the instruction set, the storage resources (registers, stack, memory) the impact of compiler decisions. 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.


This course does NOT cover how to design or build a processor or
computer.
ContentThis 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) 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, 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, input and output, trap/event handlers, performance evaluation and optimization (with a focus on the practical aspects of data collection and analysis).

The course is based on "Computer Systems: A Programmer's Perspective" by R. Bryant and D. O'Hallaron.
Literature"Computer Systems: A Programmer's Perspective" von R. Bryant und
D. O'Hallaron.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits8 credits
ExaminersT. Roscoe
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationwritten 180 minutes
Written aidsNo written aids allowed, except for a German-English dictionary.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

No public learning materials available.
Only public learning materials are listed.

Groups

No information on groups available.

Restrictions

There are no additional restrictions for the registration.

Offered in

ProgrammeSectionType
Computer Science BachelorCompulsory Courses (3. Sem.)OInformation