Architecture des ordinateurs et programmation assembleurInitiation Système et Réseau (STI)
Architecture des ordinateurs et programmation assembleur
Unité d'enseignement Initiation Système · AS05_IS1 | Code EC AS05_IS1-2
6ECTS (UE)
1.5Coefficient
32:00Heures
Séquencement
Objectifs pédagogiques
Ce cours est une introduction à l'architecture matérielle des ordinateurs au travers de l'étude du fonctionnement d'un système minimal à micro-instructions. Mise en pratique de ces notions lors de l'analyse des architectures matérielles des PC.
Le but est d’étudier les concepts et la programmation en langage assembleur sur des architectures de type x86. Ce cours vise également les méthodes de l’analyse et le débogage du code assembleur. La mise en pratique des notions abordées par l’analyse et la programmation en assembleur de nombreux algorithmes.
Pré-requis
| Module | Unité d'enseignement | Semestre |
|---|---|---|
| Programmation C | Principes de la programmation | S5 |
| Algorithmique et Complexité | Principes de la programmation | S5 |
Programme
- Historique de l'évolution des systèmes calculateurs,
- Structure d'un système à microprocesseur,
- Composants de la couche physique,
- Architecture micro-programmée d'un CPU,
- Codage des micro-instructions,
- Les instructions machine et les modes d'adressages,
- Architectures parallèles, RISC, CISC,
- Architecture matérielle des PC,
- Cartes mères, BIOS, mémoires, les entrées/sorties.
- Architecture des processeurs Intel x86
- Concepts fondamentaux et principes du langage assembleur
- Les instructions x86
- Tableaux et chaînes de caractères
- Procédures et interuptions
- Calculs flottants
- Interface avec les langages haut niveau
- Programmation avancée
Modalités d'évaluation
Examen Final Examens écrit et sur machine
Références bibliographiques
- Irvine, Kip ; Engler, Olivier, "Assembleur X86", CampusPress
- Carter, Nicholas P. ; Fabre, Patrick, "Architecture de l'ordinateur", Ediscience
Compétences
3| Réf. | Verbe | Description | Niveau |
|---|---|---|---|
| C2_2 | reconnaître | les principes de base de la programmation assembleur | 3 |
| C2_2 | analyser | un code assembleur et remonter au pseudo-code | 1 |
| C2_3 | concevoir | du code assembleur à partir d'un algorithme ou pseudo code | 3 |
Compétences SecNumEdu
| Compétence | Heures cours | Heures pratique | Niveau entrée | Niveau sortie |
|---|---|---|---|---|
| Sécurité de l’électronique et des architectures matérielles | 3 | 3 | 0 | 1 |
| Architecture des ordinateurs, Architecture matérielle, microprocesseur, cartes mères, BIOS, mémoires, les entrées/sorties. | ||||
| Rétro-ingénierie | 2.66 | 2.66 | 0 | 1 |
| rétro ingénierie des programmes écrits en langage assembleur, étude et modification de binaires. Etude des formats d'exécutables, utilisation de gdb. | ||||