Advanced computer architecture
Summary
This course explores techniques for exploiting instruction-level parallelism both statically and dynamically. It also addresses the generation of hardware accelerators from programming languages and investigates security issues related to microarchitectural features, including side-channel attacks.
Content
Pushing processor performance to its limits:
- Principles of Instruction Level Parallelism (ILP)
- Register renaming techniques
- Prediction and speculation
- Simultaneous multithreading
- VLIW and compiler techniques for ILP
- Dynamic binary translation
Domain specific architectures and accelerators:
- Specificities of embedded vs. general computing processors
- High-Level Synthesis and accelerators
Hardware security:
- Information leakage through the microarchitecture
- Trusted Execution Environments
- Physical side-channel attacks
Keywords
Processors, Instruction Level Parallelism, Systems-on-Chip, Embedded Systems, High-Level Synthesis, Hardware Security.
Learning Prerequisites
Required courses
- CS-200 Computer Architecture
Important concepts to start the course
Undergraduate knowledge of digital circuit design and of computer architecture
Learning Outcomes
- Design strategies to exploit instruction level parallelism in processors.
- Contrast static and dynamic techniques for instruction level parallelism.
- Design effective processor (micro-)architectures for which efficient compilers can be written.
- Develop hardware accelerators competitive to best commercial processors
- Defend against security threats based on microarchitectural processor features
Teaching methods
Courses, labs, and compulsory homeworks.
Assessment methods
Homeworks
Final exam
Supervision
| Office hours | No |
| Assistant.e.s | Yes |
| Forum | Yes |
Resources
Virtual desktop infrastructure (VDI)
No
Bibliography
- John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufman, 6th edition, 2017.
Ressources en bibliothèque
Moodle Link
Prerequisite for
- CS-471 Advanced Multiprocessor Architecture
In the programs
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: mandatory
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: optional
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Advanced computer architecture
- Courses: 3 Hour(s) per week x 14 weeks
- Lab: 2 Hour(s) per week x 14 weeks
- Type: optional
Reference week
| Mo | Tu | We | Th | Fr | |
| 8-9 | |||||
| 9-10 | |||||
| 10-11 | |||||
| 11-12 | |||||
| 12-13 | |||||
| 13-14 | |||||
| 14-15 | |||||
| 15-16 | |||||
| 16-17 | |||||
| 17-18 | |||||
| 18-19 | |||||
| 19-20 | |||||
| 20-21 | |||||
| 21-22 |
Légendes:
Lecture
Exercise, TP
Project, Lab, other