Week no. | Lecture no. | Lecture date | Lecture topic | Book (2nd ed.) chapter |
---|---|---|---|---|
1 | 1 | Tue 18 Sep | Intro, admin, bit, bytes: 1up-pdf, 6up-pdf |
2.1 |
2 | Wed 19 Sep | Integer arithmetic: 1up-pdf, 6up-pdf |
2.2-2.3 | |
2 | 3 | Tue 25 Sep | Floating Point: 1up-pdf, 6up-pdf |
2.4-2.5 |
4 | Wed 26 Sep | Machine Basics: 1up-pdf, 6up-pdf |
3.1 - 3.4, 3.13 | |
3 | 5 | Tue 2 Oct. | More machine operations: 1up-pdf, 6up-pdf |
3.5 |
6 | Wed 3 Oct. | Control transfer: 1up-pdf, 6up-pdf |
3.6 | |
5 | 7 | Tue 16 Oct. | More procedures; array access: 1up-pdf, 6up-pdf |
3.7 |
8 | Wed 17 Oct. | Structures, alignment, floats: 1up-pdf, 6up-pdf |
3.8-3.9 | |
6 | 9 | Tue 23 Oct. | Memory layout: 1up-pdf, 6up-pdf |
3.12, 5.1-5.11 |
10 | Wed 24 Oct. | Advanced C: 1up-pdf, 6up-pdf |
||
7 | 11 | Tue 30 Oct. | Sequential processor design 1up-pdf, 6up-pdf |
4.2 - 4.3 |
12 | Wed 31 Oct. | Pipelined processor design #1 1up-pdf, 6up-pdf |
4.3 - 4.4 | |
8 | 13 | Tue 6 Nov. | Pipelined processor design #2 1up-pdf, 6up-pdf |
4.5 - 4.6 |
14 | Wed 7 Nov. | Optimization 1up-pdf, 6up-pdf |
5.6 - 5.11 | |
9 | 15 | Tue 13 Nov. | Caches and Optimization 1up-pdf, 6up-pdf |
6.2 - 6.6 |
16 | Wed 14 Nov. | Linking 1up-pdf, 6up-pdf |
6.6, 7.1-7.14 | |
10 | 17 | Tue 20 Nov. | Exceptions 1up-pdf, 6up-pdf |
8.1 |
18 | Wed 21 Nov. | Virtual memory I 1up-pdf, 6up-pdf |
9.1-9.5 | |
11 | 19 | Tue 27 Nov. | Virtual memory II 1up-pdf, 6up-pdf |
9.6-.97 |
20 | Wed 28 Nov. | Devices 1up-pdf, 6up-pdf |
no book material ns16550 data sheet |
|
12 | 21 | Tue 4 Dec. | Memory allocation I 1up-pdf, 6up-pdf |
9.9 |
22 | Wed 5 Dec. | Memory allocation II 1up-pdf, 6up-pdf |
9.10 - 9.11 | |
13 | 23 | Tue 11 Dec. | More Devices 1up-pdf, 6up-pdf |
no book material 21140A data sheet |
24 | Wed 12 Dec. | Multiprocessing 1up-pdf, 6up-pdf |
no book material | |
14 | 25 | Tue 18 Dec. | Synchronization primitives 1up-pdf, 6up-pdf |
no book material |
26 | Wed 19 Dec. | Multiprocessing II 1up-pdf, 6up-pdf |
no book material |
Solutions (password protected)
Week no. | Date | Topic | Material |
---|---|---|---|
1 | 20 Sept. | C Introduction Part I | C Tutorial I Unix Tutorial |
2 | 27 Sept. | C Intro Part II and Assignment1 | |
3 & 4 | 4 Oct. | Assembly | |
5 | 18 Oct. | Bomblab and Assembly (cont.) | |
6 | 25 Oct. | Programming in C | |
7 | 1 Nov. | Sequential Processor Architecture | |
8 | 8 Nov. | Pipelined Processor Architecture | |
9 | 15 Nov. | Performance measurement and optimization | assignment7.pdf a7_handout.tar.gz |
10 | 22 Nov. | Linking | assignment8.pdf |
11 | 29 Nov. | Virtual memory | assignment9.pdf |
12 | 6 Dec. | Page table programming | assignment10.pdf handout_a10.tgz |
13 | 13 Dec. | Memory management | assignment11.pdf |
14 | 20 Dec. | Q & A |
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:
Adrian Wasim Spurr | Anton Markaj | Tobias Florian Verhulst |
Pascal Silvio Magnus Widmer | Julian Karl Fuchs | Samuel Marco Ueltschi |
Nico Michael Kurmann | Seraiah Walter | Patrice Damian Marti |
Severin Lukas Münger | Kieran James Nirkko | Yassin Nasir Hassan |
Jonas Tobias Kuratli | Jonas Passerini | Karl Wüst |
Jonathan Daniel Rosenthal | Jonathan Johannes Maurer | Benjamin Weber |
Urs Florian Müller | Priska Elide Pietra | Abhimanyu Patel |
Thomas Philip Hall | David Dan Chettrit | Jonas Waeber |
Marko Pichler Trauber | Nicolas Sebastian Kick | Mattia Guglielmo Gollub |
Jannick Marc Griner | Mrigya Agarwal | Lukas Bischofberger |
Daniel David Schwyn | Michael Oliver Travella | David Wesono Niggli |
Daniel James Luginbühl | Madelin Schumacher | Marc André Tanner |
Mathias Jostock | Marcel Nicolas Geppert | Samuel Schmid |
Joshua David Raphael Schneider | Jeffrey Tom Bhamornsiri | Hermann Paul Amadeus Schweizer |
Niklas Peter Hofmann | Jonas Stulz | Miriam Tschanen |
Nadja Stephanie Müller | Mohanarajah Gajamohan | Pascal Roos |
Sandro Valerio Lombardi | Dominik Kovacs | Julian Henry Loss |
Andreas Blöchliger | Rijad Nuridini | Damian Gruber |
Sébastien Santschi | Andreas Erich Allenspach | Rafael Patrick Häuselmann |
Michel Keller | Milan Roman Bombsch | Peyman Khodadust Gamechi |
Stefan Morgenthaler | Andreas Vinzenz Knecht | Stefan Blumer |
Raffaele Lucio Meyer | Tizian Lucien Zeltner | Claude Remo Schwyn |
Isabelle Renée Rösch | Christian Cadruvi | Arthur Siegfried Kurath |
Claudio Anliker | Andreas Albrecht |
Andreas Michael Buob | Severin Matieu Läubli | Jonas Krucher |
Gabriel Leuenberger | Marius Paul Gisler | Marc Gähwiler |
Alexander Nicolas Meier | Simon Josef Fritsche | Leonhard Markus Helminger |
Lukas Häfliger | Christoph Heinz Stillhard | Christian Pascal Vonrüti |
Alexander Viand | Alexandra Maximova | Gregori Wegberg |
Benjamin Simon Steger | Matthias Gerber | Philipp Gamper |
Fabian Werner Rudolf | Tino Matthias Burri | Cyril Pascal Steimer |
Florian Claudius Sebastian Jacky | Jonas Sebastian Maurer | Marek Arnold |
Samuel Damian Oberholzer | Tobias Grob | Silvan Clemens Egli |
Ruben Emanuel Wohlgenannt | Thomas Müller | Fabian Stutz |
Sandro Cornelio Huber | Roman Andreas Willi | Lukas David Widmer |
Jessica Patricia Falk | Tatjana Brülisauer | Cédric Manuel Bürke |
Manuela Fischer | Nico Previtali | Robin Guldener |
Andrea Regula Schüpfer | Manuel Pascal Schürch | Michael Jan Franz |
Nicolas Benjamin Forster | Dejan Mircic | Michael Andreas Giger |
Jan Milan Deriu | Christian Felix Hagedorn | Kevin Joël Kipfer |
Tim Taubner |