CS-470 / 8 crédits

Enseignant: Ienne Paolo

Langue: Anglais


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

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: obligatoire
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: obligatoire
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: obligatoire
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: obligatoire
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Advanced computer architecture
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel

Semaine de référence

Cours connexes

Résultats de graphsearch.epfl.ch.