System Construction [252-0286-00]

Course at D-INFK, AS 2019, Felix Friedrich with Paul Reed

Date Message
31.8.2019 Website online
18.10.2019 updated material lecture 3 / lecture 4 (comments on DMB/DSB/ISB and Timer on RPI)
23.10.2019 updated exercise description lecture 5 (1 MHz i/o 10MHz and remark on the REN bit)

Time and Place

LectureWednesday 13:15-15:00 CAB H 52
LabWednesday 15:15-17:00 CAB H 52
Lab30.10./20.11./11.12. CHN E 42


This is a plan. No plan survives contact with reality. I will constantly update lecture slides before the lectures take place.

Week Date Slides Exercises
1 19.09 -- NO LECTURE -- -- NO LECTURE --
2 25.09 Case Study 1
ARM Architecture and the Lab's Hardware (BCM 2836 on a Raspberry Pi 2)
Minimal ARM Setup, Linking, GPIO control
3 02.10. Cross-Development, Programming Language Oberon, Type Guards, Linking and Loading Linking, Loading and Unloading
4 09.10. Virtual Memory Management Using the MMU to Balance Heap and Stack
5 16.10. IRQs and Scheduling Watchdog
6 23.10. Serial Communication, SPI SPI Driver
7 30.10. Case Study 2: A2
Active Oberon Computing Model, A2 Kernel, Context Switches and Activity Management
Debugging a Kernel. Recursive Locks
Lab in CHN E 42
8 06.11. A Lock-Free Kernel: Lock-freedom, Memory-model, Contention and backoff, Memory re-use and ABA problem, Pointer Tagging and Hazard Pointers, Non-blocking (scheduling) Queue Variations of a blocking and a lock-free stack and the ABA problem.
9 13.11. Cooperative Multitasking and Thread Local Storage. Lock free implementation of a Mutex (RPI / x86)
10 20.11. Case Study 3: RISC (Lectures by Paul Reed)
Custom-Designed Single Processor: The RISC architecture
Verilog Blinky, RISC0, SPI 7-Segment Display, Used Instructions
Lab in CHN E 42
11 27.11. Project Oberon on RISC Screensaver, Wireless Network Traffic Monitor, Network Time Client
12 04.12. Software-Hardware Codesign: An example (Mouse Driver). Video (VGA).
Network Time Client ctd.
13 11.12. Case Study 4: Active Cells
Custom-Designed Systems On Chip. A Programming Model
Pitch detector (tuner) hardware
Lab in CHN E 42
14 18.12. [Active Cells ctd. Influential Message Passing Compute Models and Frameworks. Wrap up.] NOT COVERED IN CLASS (ex. 13 ctd)

Lecture Summary

The lecture course introduces and illustrates principles of computer system construction with four case studies. In the first part of the course, the necessary knowledge to build systems on contemporary, off-the-shelf hardware is presented for both single-core and multi-core systems. In the second part of the course it will be presented how a complete system (based on Field Programmable Gate Arrays) is constructed from scratch, incorporating lessons learned in the first part from mastering the pragmatic complexities of today's commodity hardware.


We provide tutorial-like exercises in a block of two hours each week (Wednesday 3pm - 5pm after the lectures).

Material and Links


Felix Friedrich, Tel. 044 632 8312,
Paul Reed