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
- Chip-multiprocessing
- Network-on-chip
- Time-predictable computer architecture
- Signals processing architecture
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:
- 02155 Computer Architecture and Engineering (strongly recommended) and
- 02203 Design of Digital Systems or
- 02139 Digital Electronics 2
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.
|
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:
- Projects within the T-CREST platform
- Roll your own microprocessor
- Network-on-Chip
- 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.