| Contenu traité dans le cours |
Heures |
|
Introduction à IND 105 et 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)
|
5 |
|
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, chronogramme.
|
3 |
|
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, 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 |
|
Mémoire virtuelle, Instructions, interruptions, et langage assembleur
Représentation de la mémoire physique et virtuelle, algorithme de pagination, 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 RISC, 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
Définition des instructions SIMD, architecture SIMD, 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
|
4 |
|
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, Communication dans un SoC, interconnexion à base de bus, interconnexion à base de réseau, Bibliothèque SystemC
|
5 |
| Examen de mi-session et 3 quiz |
4 |
| Total d'heures |
39 |