News

Time and Place

LectureTuesday 13:15 - 15:00 CAB G 56
LabTuesday 15:15-17:00 CAB G 56

Slides

This is a plan. No plan survives contact with reality.

Week Date Slides Exercises
1 20.9. Case Study 1
ARM Architecture and the Lab's Hardware (BCM 2836 on a Raspberry Pi 2)
Minimal ARM Setup, Linking, GPIO control
2 27.9. Cross Development, Programming Language Oberon, Linking and Loading Linking, Loading and Unloading
3 4.10. Memory Management Virtual Memory Management
4 11.10. IRQs and Scheduling Watchdog
5 18.10. IO: SPI, MMC/SD Cards, RS232 SPI Driver
6 25.10. Case Study 2: A2
Interrupt System (Intel x86 APIC), Active Oberon Computing Model, A2 Kernel
Assignment 5 continued; Debugging a Kernel
7 1.11. Stack Management, Context Switches, Activity Management, Priority Inheritance, Generic Object File Format Assignment 6 continued; Implementing Priority Inheritance
8 8.11. Lock Free Kernel: Lock-freedom, Memory-model, Contention and backoff, Memory reuse and ABA problem, Non-blocking (scheduling) queue, Cooperative multitasking and Thread local storage. Assignment 7 continued.
9 15.11. Lock Free Kernel (2) Lock free implementation of a Mutex (RPI / x86)
10 22.11. Case Study 3: RISC (Guest Lectures by Paul Reed)
Custom Designed Single Processor: The RISC architecture
Instruction Timer
11 29.11. Project Oberon on RISC Screensaver, Wireless Network Traffic Monitor, Network Time Client
12 6.12. Case Study 4: Active Cells
Custom Designed Systems On Chip. A Programming Model
Ex 10 ctd.
13 13.12. Behind the Scenes of Active Cells. TRM Processor and Interconnects Multicore Computing on FPGAs – Implementation of the Simon Game
14 20.12. Some other (influencing) programming models and platforms Ass 11 ctd, Exploring Engines

Lecture Summary

The lecture introduces and illustrates principles of computer system construction with four case studies. In the first part of the lecture, 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 lecture it will be presented how a complete system (based on FPGA) is constructed from scratch, incorporating lessons learned in the first part from mastering the pragmatic complexities of today's commodity hardware.

Exercises

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

Literature and Documentation

Contact

felix.friedrich(at)inf.ethz.ch, Tel. 044 632 8312