DTU 02211: Research Topics in Computer Architecture

This course is an advanced course for Master's and PhD students, and it is lectured in English. The course is offered during the spring term by the DTU Compute department at the Technical University of Denmark.

Aims of the course

Computer architecture, the art and science of designing hardware, is an exciting and fast-changing research and development field. In this course, we intend to share this excitement with the students.

To provide knowledge of selected advanced topics in computer architecture. To give participants practice investigating topics in the literature and producing oral and written presentations that distill the essential features of a topic based on a literature study. Participants are expected to make an oral presentation with appropriate presentation material during the 13-week period and deliver a final report. Execellent projects shall result in a paper that can be published in a workshop or conference.

Tentative List of Topics

Prerequisites

The course is intended for students enrolled in the master program in computer systems engineering, and could also be interesting for students in the electrical engineering master program. Depending on your background the prerequisites are as follows:

Schedule, Format, Place

The course is lectured Tuesday 13:00 - 17:00.
First part is usually lectures and second part for project work.

The course is lectured in building 358 room 063.

Recommended Textbooks

As this course is a research course, we do not have a single textbook. The following book is optional, but good reading.

Computer Architecture: A Quantitative Approach
Sixth Edition

John L. Hennessy and David A. Patterson

Morgan Kaufmann, 2017

ISBN-13: 978-0-12-811905-1

The book is available from Polyteknisk Boghandel in Building 101A.

Chisel Digital Design with Chisel

Martin Schoeberl

Published 2019 by Kindle Direct Publishing

ISBN-13: 978-1689336031

Download this Book

Instructors

Martin Schoeberl
Luca Pezzarossa
Matthias Bo Stuart

Project

Students will work in groups of two or three on a hardware or software project. A hardware project can be work within the T-CREST platform or other reserach topics. Software projects will explore embedded chip-multiprocessor programming and programming models. Besides a working solution, students will prepare a conference-style paper on their project. The project and paper will be presented in class. Exceptional projects shall lead to publications in workshops and conferences.

We will provide a list of project suggestions. Students are also welcome to propose their own project that fits with their research interest.

Topics

Following are the main categories for the project:
  1. Projects within the T-CREST platform
  2. Roll your own microprocessor
  3. Network-on-Chip
  4. Software for CMP
The project proposals will be given by the individula instructors. An example list can be found here: list of projects.

Notes on Tools for T-CREST

For the T-CREST exercise and FPGA development in general we provide a Ubuntu VM with all tools installed at Patmos page.

Lecture Plan (2025)

Week 1: Introduction & Time-Predictable Computer Architecture (Martin)

Time-predicatble computer architecture is processors, interconnect, and Caches especially built for real-time systems. These are computers where low worst-case execution time is more important than average performance.

Reading: Paper: Time-predictable Computer Architecture and T-CREST: Time-predictable Multi-Core Architecture for Embedded Systems,

Lab: Patmos exercise (see Patmos Handbook)

Week 2: Mobile Computing and Applications in IoT (Haris)

Mobile computing refers to the technology and systems that enable users to access computing resources, data, and services that involve mobility. This field encompasses both the theoretical and practical aspects of mobility, focusing on the interaction between portable devices, wireless networks, and cloud-based infrastructures. With the growing ubiquity of smartphones, tablets, and other mobile devices, mobile computing has become central to improving access to services, management systems, and applications, fostering advancements in connectivity, data synchronization, and user experiences. The lecture will introduce basic concepts around IoT (Networking, Electronics, Embedded Systems) and applications on smart health, battery-free IoT and Ocean IoT.

Week 3: Network-on-Chip (Jens)

Reading: Argo: A Real-Time Network-on-Chip Architecture with an Efficient GALS Implementation

Week 4: Architectures for Signal Processing Hardware (Matthias)

This topic introduces architectures for signal processing accelerators, particularly convolutional and other moving-window filters. Such filters are used practically everywhere an electronic system interacts with the physical world. This lecture focuses on architectures for 1-D and 2-D frequency-band filters as well as non-linear (median) filters that are used for noise suppression, signal separation, interpolation, and many more applications.

Week 5: Reconfigurable Architectures for Computation and Communication (Luca)

This topic introduces reconfigurable hardware, focusing on using FPGAs technology to enhance computational and communication flexibility in single-core and multi-core systems, as well as accelerator units. The lecture will introduce soft and hard reconfiguration solutions, including dynamic partial reconfiguration of FPGAs, reconfigurable networks-on-chip, and reconfigurable accelerators.

Week 6: Spiking Neural Networks (Oliver)

Week 7: Introduction to Asynchronous Circuit Design (Jens)

Reading: Introduction to Asynchronous Circuit Design

Week 8: Caching for Real-Time Systems (Emad)

Real-time systems require high confidence in execution times. Where conventional systems optimize for average-case execution time (ACET), real-time systems must optimize for worst-case execution time(WCET). Using traditional caches in real-time systems is challenging because they optimize for better ACET but make deducing the WCET difficult because it is difficult to know when cache-misses happen. In this lecture we will discuss the problems with using traditional caches in real-time systems and introduce the method and stack caches, which alleviate the issues by caching whole (or parts of) functions and for caching stack-local data.

Project proposal: Currently, the method and stack caches are two distinct and independent caches. In this project, we will explore designing a single unified cache that caches both method and stack data together. This cache should then take the place of the two distinct caches on the T-CREST platform.

Week 9-12: Project Work

Week 13: Project Presentation

Pensum List

Papers from the research presentations.