3IF - Architectures des ordinateurs
Indice degli argomenti
-
Synopsis
The objective of this course is to understand
- the design and working principles of a modern computer (processor, memory hierarchy, peripherals)
- the lower levels of the software stack (assembly language, application binary interface, interruptions, input/output drivers, compiler).
Expected skills
- understanding the execution of a program or operating system on a machine
- low-level programming of embedded systems
- optimizing the execution of software for a given architecture (exploiting caches, instruction-level parallelism, etc)
- exploiting technical documentation in these fieldsIn brief
- Code: IF-3-AO
- ECTS: 2.0
- Lectures Hours: 9hrs (6*1.5hrs)
- Lab Hours: 16hrs (2*2hrs + 3*4hrs)
- Personal Work: 25hrs
- Language: spoken French, lecture slides in English, labworks in French.
- ECTS description: FR/EN
- Contact person: Lionel Morel (lionel.morel@insa-lyon.fr)
-
Planning
Personnel
Lecturer: Lionel Morel
Instructors: Guillaume Beslon, Lucas Chaloyard, Orégane Desrentes, Florent de Dinechin, Romain Gallé, Guillaume Salagnac, Lionel Morel.
You can contact us through our firstname.lastname@insa-lyon.fr email.
Please add [3IF-AO] to your subject to ease communication.
-
Here are the lecture notes. Dates are approximate as slides have been organized to cover topics and not specific 1h30 slots on the agenda.
Chapter 0 - (26 nov 2024) - Introduction - Course presentation
Chapter 1 - (26 nov / 4 dec 2024) - The Von Neumann Model - A Programmer's Perspective
Chapter 2 - (9/17 dec 2024) - The Von Neumann Model - Internals
Chapter 3 - (17 dec 2024 / 13 jan 2025) - Inputs/Outputs
Chapter 4 - (13/21 jan 2025) - Functions
-
Lab #1 to #3 - Micro-machine - in french
- Le sujet (pour les séances des semaines 47, 49 et 50). Mis à jour le 04/12/2024.
- les fichiers Digital : mm-minimale.dig, Reg.dig, substract.dig, ALU.dig, Reg2.dig
- Le fichier programme exemple prog1.hex
- Un script python pour assembler (c'est à dire passer de la syntaxe "assembleur" à de l'hexa-décimal représentant l'encodage binaire des instructions)
- NB : pour fonctionner ce script python a besoin de deux packages python qui ne sont pas forcément installés sur votre machine. Pour résoudre ça tapez (dans un shell) :
- pip3 install lark
- pip3 install bitarray
- Un programme rust pour assembler les programmes micro-machine est également disponible ici : https://github.com/GartoxFR/miniasm
- des exemples de programmes assembleur, ici, ici et encore là.
- Spécifiquement pour la partie sur les interruptions :
- le fichier Digital de la micro-machine à compléter: MicroMachine-IRQ-ready.dig
- Le programme de test plus compliqué: procedureTestIRQ.md
Lab #4 and #5 - msp430 - in french too :
- Le sujet (pour les séances des semaines 3 et 5)
- Les documentations :
- Le sujet (pour les séances des semaines 47, 49 et 50). Mis à jour le 04/12/2024.
-
Exams from previous sessions
- 2023/2024 (exam / correction)
- 2022/2023 (exam / correction)
- 2021/2022 (exam / correction)
- 2023/2024 (exam / correction)