Contenu traité dans le cours |
Heures |
Représentation des nombres binaires et algèbre de Boole
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 fort/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
|
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, mémoire virtuelle et caches
Espace d'adressage, 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. Algorithmes de remplacement de cache. Représentation de la mémoire physique et virtuelle. Algorithme de pagination
|
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'un jeu d'instruction assembleur sur un processeur RISC
|
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, études des aléas, architecture SIMD, processeurs vectoriels
|
4 |
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, programmation multi-thread, synchronisation, architecture SIMT
|
4 |
Multi-processeurs et multi-coeurs
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, Carte graphique, programmation avec CUDA
|
5 |
Système sur une puce
Définition d'un system-on-chip (SoC), Flot de conception d'un SoC, Exemples d'applications, étude d'un exemple (Qualcomm Snapdragon), Indices de performances
|
3 |
Puce d'accélération de réseaux de neurones
Réseaux de neurones, réseaux de neurones convolutifs, TensorFlow, Etude du google Tensor Processing Unit, utilisation des FGPA, utilisation des GPU, étude de puce dédiée, comparaison de performances
|
3 |
Calcul distribuée
Définition d'un système distribuée, Histoire du calcul distribuée, Architectures distribuées, communications entre machines, distribution de la mémoire, peer-to-peer, architecture trois tiers, architecture en couche
|
3 |
Récapitulatif des architectures et exemples
Identifier l'architecture adéquate pour une application
|
2 |
Examen de mi-session et quizz |
3 |
Total |
39 |