This course will be given in English. Due to ongoing Corona Pandemic this course will be held as a pure online course without any presence requirements.
Subject and Goal
The course Advanced Computer Architecture teaches concepts and methods used in modern processor architecture to exploit the available parallelism at the levels of instructions, data and threads. The course covers the following topics:
- Fundamentals of computer architectures
- Memory hierarchy design
- Instruction-level parallelism
- Data-level parallelism: Vector, SIMD and GPU architectures
- Thread-level parallelism
- Warehouse-scale computers
- Domain-specific architectures
The main reference for the course is the following book: Hennessy, Patterson: Computer Architecture: A Quantitative Approach (6th edition), Morgan Kaufmann, 2017.
Who Should Take this Course?
This course is mandatory for students of the Master program Computer Engineering, and an elective for students of the Master program Computer Science.
Although there are no formal prerequisites for taking this course, we expect that students have completed a Bachelor-level computer architecture course. Such a course should provide basic knowledge in instruction set architectures, assembly language programming, processor performance evaluation, data path and controller design, pipelining, and memory hierarchies. The following book covers this Bachelor-level material: Hennessy, Patterson: Computer Organization and Design MIPS Edition (5th edition), Morgan Kaufmann, 2013.
We strongly recommend this self-assessment test to find out whether you should take this course.
Dates and Materials
All dates and course materials are provided via the this PANDA course.
The exam in Advanced Computer Architecture is in written form. There will be two exams per year right after the course, one in the first examination period and another one in the second examination period.