Logo ÉTS
Session
Cours
Responsable(s) Pascal Giard, Patrick Cardinal

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Pascal Giard, Patrick Cardinal


PLAN DE COURS

Automne 2023
IND100 : Architecture des microprocesseurs et CPU parallèles (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément
Données non disponibles




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

Au terme de ce cours, l’étudiant ou l'étudiante aura acquis une vue d’ensemble des architectures les plus courantes du processeur de systèmes ordinés et sera en mesure :

  • de distinguer les différentes architectures de processeurs;
  • d’identifier une architecture appropriée pour une application;
  • de décomposer une tâche en composantes de façon à maximiser l’efficience (c’est-à-dire faire une utilisation efficace des fonctionnalités offertes par l’architecture);
  • de caractériser et de développer des solutions appropriées pour une architecture donnée.

Familiarisation avec l’organisation et l’architecture des processeurs. Introduction au fonctionnement interne des processeurs. Classification des architectures, forces et faiblesses. Mesure de performances.

Il est attendu que le cours présentera des architectures de processeur de bureau (p. ex. x86-64), de processeurs embarqués ((p. ex. ARM Cortex ou TI C66x), de processeur graphique capable de calculs généraux (GPGPU), de processeur à réseau neuronal (NPU) et de System-on-Chip (SoC) (p. ex. Qualcomm Snapdragon, Apple A13).




Objectifs du cours

A la fin de ce cours, l’étudiant(e) sera capable de :
-    Maîtriser les bases sur comment  fonctionne un système informatique
actuel;
-    De distinguer les différents architectures d'ordinateur et identifier l'architecture adéquate à une application;
-    De développer des solutions pour une architecture donnée.




Stratégies pédagogiques

Un (1) cours magistral par semaine (3 heures). Des exercices réalisés par l'étudiant.e seront faits en classe pour permettre d’assimiler les concepts théoriques. Une participation importante de l'étudiant.e est attendue et requise pendant les séances de cours.

Une (1) séance de laboratoire par semaine (2 heures).  Au laboratoire, les étudiant.e.s effectueront des exercices d'applications du cours ainsi que des exercices bonus pour développer des connaissances annexes au cours.

Des séances de laboratoire pourraient être interverties avec des séances de cours afin de mieux arrimer le contenu des laboratoires à la progression des notions vues en cours.




Utilisation d’appareils électroniques

Aucun appareil électronique n'est obligatoire.




Horaire
Groupe Jour Heure Activité
01 Lundi 13:30 - 17:00 Activité de cours
Mercredi 13:30 - 15:30 Laboratoire (Groupe A)
Mercredi 15:30 - 17:30 Laboratoire (Groupe B)



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Charles Pillet Activité de cours charles.pillet@lacime.etsmtl.ca
01 Charles Pillet Laboratoire (Groupe A) charles.pillet@lacime.etsmtl.ca



Cours
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

 




Laboratoires et travaux pratiques

Les travaux pratiques sont réalisés sans le besoin d'un ordinateur.

  Description
Laboratoire 1 Exercices sur les représentation des nombres
Laboratoire 2 Exercices sur l'algèbre de Boole, simplification des expressions, élaboration de tables de vérités, représentation symbolique des opérations dans l'algèbre de Boole
Laboratoire 3 Exercices sur les architectures d'ordinateurs, études des composants d'un ordinateur
Laboratoire 4 Exercices généraux sur la mémoire, exercices sur l'adressage, exercices sur la mémoire caches
Laboratoire 5 Etudes du microprocesseur, microARM;   étude de son jeu d'instructions; exercice d'assembleur
Laboratoire 6 Exercices généraux sur les premiers cours
Laboratoire 7 Exercices sur le pipelining
Laboratoire 8 Exercices sur les algorithmes d'ordonnancements de processus
Laboratoire 9 Exercices d'introduction à CUDA
Laboratoire 10 Exercices sur les systèmes on chip
Laboratoire 11 Exercices sur le calcul distribuée
Laboratoire 12 Exercices généraux, trouver l'architecture adéquate en fonction de l'application
Laboratoire 13 Exercices généraux, trouver l'architecture adéquate en fonction de l'application

 




Utilisation d'outils d'ingénierie

Il n'y aura pas d'utilisation d'outils d'ingénierie dans IND 100.




Évaluation

Examen intra : 33%

Examen Final : 34%

3 quizz : 11 % chacun




Dates des examens intra
Groupe(s) Date
1 23 octobre 2023



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

n/a




Ouvrages de références

n/a




Adresse internet du site de cours et autres liens utiles

n/a