Systems Programming and Computer Architecture - Fall 2019

What's new?

  • 17.9.2019: The exercise sessions will start on the 24th of September. No exercise session will take place on the 18th of September.


Overview

This course introduces the fundamental concepts, mechanisms, and techniques that underpin how computer systems process information, execute programs, and interact with the outside world. We focus on computing immediately above and below the boundary between hardware and software, and expose students to the practical issues that affect performance, portability, robustness, and extensibility through assembly language, the C programming language, and computer hardware from the perspective of systems software.

Topics include:

  • Representing information in computer systems
  • Systems programming in C
  • Assembly language and compiled code
  • Sequential, pipelined, and multicore processor design
  • Caches and the memory hierarchy
  • Performance optimization and performance measurement
  • Devices, I/O, traps, and DMA
  • Memory management

Main Text and Reference books

Computer Systems: A Programmer's Perspective by Davie Richard O'Hallaron and Randal Bryant

Lecturer

Staff

Course Hours

Lecture

  • Tue 10-12h, HG E 7
  • Wed 10-12h, NO C 60

Exercise

Name Language Time Room
R. Achermann (acreto at inf) Deutsch (+ Englisch) Wed 13-15 CHN D 42
S. Gal (stagal at student) Englisch (+ Französisch) Wed 13-15 CHN G 22
D. Schwyn (schwyda at inf) Deutsch (+ Englisch) Wed 13-15 ETZ F 91
C. Erdmann (erdmannc at student) Deutsch (+ Englisch) Wed 13-15 ETZ G 91
G. Arcuti (arcutig at student) Deutsch (+ Englisch) Wed 13-15 HG D 3.3
D. Ittah (ittahd at student) Englisch (+ Deutsch) Wed 13-15 LEE D 105
N. Neugebauer (niklasn at student) Deutsch (+ Englisch) Wed 13-15 ML H 34.3