| Contenu traité dans le cours |
Heures |
|
Représentation des nombres binaires, algèbre de Boole et circuit logiques
Représentation des nombres dans n'importe quelle base, passage d'une base décimale vers une base binaire et vice versa, notion de bit de poids fort et faible, représentation signe-valeur absolue, complément à 1, et complément à 2, norme IEEE 754, introduction à l'algèbre de Boole, opérations sur l'algèbre de Boole, représentation symbolique des opérations, table de vérité, circuits logiques (séquentiels et combinatoires), bascule, verrou.
|
3 |
|
Introduction au langage C
Variable, type d'une variable, structures de contrôle (if, while, for...), définition des pointeurs, tableaux, allocation statique et dynamique, fonctions, instructions SISD, structure d'un projet en C (source, en-tête, bibliothèque standard, compilation)
|
6 |
|
Architecture d'un ordinateur et composant d'un ordinateur
Architecture de Harvard, Architecture de von Neumann, Architecture de Harvard modifiée, introduction au processeur, mémoires, entrées/sorties et bus de communications
|
3 |
|
Mémoire vive et mémoire cache
Espace d'adressage, Pile et tas, notion de mémoire volatile et statique, SRAM et DRAM (approche transistor), hiérarchie mémoire, ordre de grandeur des capacités mémoires, ordre des grandeurs de la vitesse des mémoires, étude des caches L1 L2 et L3, type de caches, algorithmes de remplacement de cache,
|
3 |
|
Instructions, interruptions, et langage assembleur
Définition des registres internes au CPU, études des différents registres, description d'une instruction et de son cycle, types d'instructions. décodage d'une instruction, jeux d'instructions, architecture CISC et RISC, modes d'adressages, langage assembleur, exemple d'instructions, exemple d'un jeu d'instructions assembleur sur un processeur CISC (PEP/8), exemple jeu d'instructions x86
|
3 |
|
Parallélisme d'instructions
Étude du mécanisme de pipelining, étude et comparatif de performances entre un processeur sans pipeline et avec pipeline, chiffres sur les pipelines actuels, réalisation d'un pipeline, signaux de contrôle, études des aléas (structurels, données, branchement), prédiction de branchement
|
3 |
|
Architecture SIMD
Taxonomie de Flynn, Définition des instructions SIMD, architecture SIMD, SIMD dans x86, exemple en C, processeurs vectoriels, Processeur graphique
|
3 |
|
Multi-threading et multi-processus
Définition d'un processus, état d'un processus, exécution multi-tâches, ordonnanceur, algorithme d'ordonnancement, définition d'un thread, utilisation pratiques de threads, architecture multi-threadé, programmation multi-thread, synchronisation
|
3 |
|
Multi-processeurs et multi-coeurs
Fréquence d'un processeur, Loi de Moore, Multi-processeur symmétriques, architecture mémoire non-uniforme, Exemple actuelle de processeur, définition d'un coeur, évolution historique des microprocesseurs, mémoire cache dans un microprocesseur multi-coeurs, Cohérence de caches, protocole MESI
|
3 |
|
Système sur une puce
Définition d'un system-on-chip (SoC), Modules d'un système sur une puce, Exemple de SoC Samsung Exynos (évolution et SoC Samsung actuel), Multi-processor SoC, Ressources IP cores, Design de SoC, Paramètres de performance d'un SoC
|
3 |
| Retrospective sur IND105 et révision |
3 |
| Examen intra |
3 |
| Total d'heures |
39 |