Systems Programming and Computer Architecture - Fall 2017

What's new?



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

  • R. Bryant, D. O'Hallaron: Computer Systems: A Programmer's Perspective, 2nd ed. 2002, Prentice Hall.
  • B. Kernighan, D. Ritchie: C Programming Language, 2nd ed. 1988, Prentice Hall.

Recommended Text and Reference books

  • D. Patterson, J. Hennessy: Computer Organization and Design, 4nd ed. 2008, Morgan Kaufmann.
  • S. Harbison, G. Steele: C: A Reference Manual, 5nd ed. 1994, Prentice Hall.
  • S. Oualline: Practical C Programming, 1997, O'Reilly.
  • S. Prata: C Primer Plus, 2004, Sams.
  • U Kirch-Prinz, P. Prinz: C Pocket Reference, 2002, O'Reilly.
  • Intel publishes a lot of material covering the IA-32 processors. The official web site for IA-32 and Intel 64 documentation is here.

 

Lecturer

Staff

Hilfsassistenten

  • Daniel Gstoehl
  • Carl Friess
  • Sebastian Winberg

Course Hours

Lecture

  • Tue 10-12h, HG G 5
  • Wed 10-12h, NO C 60

Exercise

Time Room Language TA
Mi 13-15 CHN D 42 de Roni Haecki
Mi 13-15 CHN G 22 de Daniel Gstoehl
Mi 13-15 ETZ F 91 de Gerd Zellweger
Mi 13-15 ETZ G 91 de Simon Gerber
Mi 13-15 HG D 3.3 de Reto Achermann
Mi 13-15 LEE D 105 en John Liagouris
Mi 13-15 ML H 34.3 de Carl Friess
Do 15-17 CHN D 42 de Sebastian Winberg