Équipe enseignante – Automne 2024

  • Coordination (2024-2025) et matériel de cours
    • Jean Privat
  • Enseignants
    • Hugo Leblanc (groupe 50)

Ressources

Spécifications, documentations et logiciels

Communication

Évaluations

Description Pondération Échéance
Quiz 1 2.5% 31 Mai - 1er Juin
TP 1 10% 12 Juin
Examen intra 25% 20 Juin
TP 2 20% 10 Juillet
Quiz 2 2.5% 26-27 Juillet
TP 3 15% 7 Août
Examen final 25% 8 Août

Calendrier des séances

Le calendrier est à titre indicatif

Semaine Cours Laboratoire Échéance
1 2 Mai 0001 - Introduction au cours.
Architecture, RISC-V, registre, exécution.
Programmes.
abstrusegoose/307.
Pas de laboratoire
2 9 Mai 0010 - Arithmétique.
Bit, octet, complément à deux, addition, soustraction, débordement.
Programme.
abstrusegoose/294 et xkcd/74.
lab02 - Arithmétique.
Solutions.
3 16 Mai 0011 - Éléments d'assembleur.
Instruction, directive, symbole, entrée-sortie, branchement.
Programmes.
Distribution sujet TP1.
lab03 - Éléments d'assembleur.
Solutions.
4 23 Mai 0100 - Mémoire.
Segment, directive de donnée, boutisme, alignement, lecture et écriture, chaîne de caractères.
Programmes.
lab04 - Mémoire
Solutions.
5 30 Mai 0101 - Calculs.
Instruction logique, décalage, multiplication, division.
Programmes.
xkcd/759.
lab05 - Calculs
Solutions.
31 Mai - 1er Juin
Quiz 1
6 6 Juin 0110 - Adressage.
Tableaux, matrices, pointeurs, pile et routines.
Programmes.
xkcd/138.
Distribution sujet TP2.
lab06 - Tableaux
Solutions.
12 Juin
Remise TP1
7 13 Juin 0111 - Instructions.
Codage des instructions, code automodifiable, registre d'état et de configuration, compteur de performance matériel.
Programmes.
lab07 - Révision
8 20 Juin Examen intra.
9 27 Juin Correction de l'examen.
1000 - Routines.
programmes, bibliothèques, récursivité, pointeurs de routine, paramètres et variable locales dans la pile.
Programmes.
lab08 - Routines
Solutions.
10 4 Juillet Routines (suite) lab08 - Routines (suite)
Solutions.
10 Juillet
Remise TP2
11 11 Juillet 1001 - Structures et données.
Structure, tas, liste chainée.
Programmes.
Distribution sujet TP3.
lab09 - Structures et tas
Solutions.
12 18 Juillet 1010 - Flottants.
Nombre réels, IEEE 754, instructions flottantes.
Programmes.
What Every Computer Scientist Should Know About Floating-Point Arithmetic.
xkcd/217.
lab10 - Flottants
Solutions.
13 25 Juillet 1011 - Entrées-sorties.
Entrée-sortie programmée, interruptions, accès direct à la mémoire, appel système.
Programmes.
xkcd/2317.
lab11 - Entrées-sorties
Solutions.
26-27 Juillet
Quiz 2
14 1 Août 1100 - Circuits logiques.
Introduction au circuits logiques, circuits combinatoires, circuits séquentiels.
Révisions.
xkcd/730 et xkcd/2497.
lab12 - Révisions 7 Août
Remise TP3
15
8 Août Examen final

Anciens examens

Ressources complémentaires

Vidéos et autre matériel de cours

Jeux vidéo d’assembleur (et d’architecture)

Bibliographie complémentaire

  • Borin, E. – « An Introduction to Assembly Programming with RISC-V » – 2021. ISBN 978-65-00-15811-3.
  • Harris, D et Harris, S. – « Digital Design and Computer Architecture RISC-V Edition » – Morgan Kaufmann Publishers, 2021. ISBN 978-0-12-820064-3.
  • Patterson, D.A. et Hennessy, J.L. – « Computer Organisation and Design, RISC-V Edition » – Morgan Kaufmann Publishers, 2018. ISBN 978-0-12-812275-4.
  • Patterson, D.A. et Waterman, A. – « The RISC-V Reader: An Open Architecture Atlas » – Strawberry Canyon, 2017. ISBN: 978-0-99-924911-6.

Quelques boards