% INF4170 — Architecture des ordinateurs % UQAM — Département d'informatique % Plan de cours — Hiver 2023 * Horaires, locaux et enseignants: * Site web du cours: Responsable(s) du cours ======================= Coordination ------------ Giraldeau, Francis PK-4870 Enseignement ------------- Giraldeau, Francis PK-4870 Groupes: 050 Modalités de communication à privilégier pour rejoindre l'enseignant ==================================================================== - Le [canal de discussion](https://mattermost.info.uqam.ca/inf4170-h23) du cours est le moyen officiel de communication en dehors des séances de cours et/ou de laboratoire. En particulier il permettra d'interagir avec les enseignants, démonstrateurs et les autres étudiants. - Pour des questions plus spécifiques, personnelles ou pour relancer, contactez le professeur par courriel. - Aucune remise de TP ou de devoir par courriel ne sera acceptée. Le site web officiel du cours est . Il contient l'information à jour sur le cours ainsi que le matériel du cours (diapositives, énoncés, etc.). Description du cours ==================== Familiariser l'étudiant avec la structure des ordinateurs modernes. Initier au fonctionnement interne, à l'agencement des composants. Classification des architectures. Structure des ordinateurs parallèles, pipelines, matriciels et à multiprocesseurs. Fonctionnement d'un processeur. Unité de traitement: étude comparative des catégories d'instructions, unité de contrôle, U.A.L. Mémoires: architecture, fonctionnement, types. Entrée/sortie: adressage des composants, synchronisation, interfaces, canaux. Pipelining: principe, arithmétique et instructions, fonctionnement. Traitement vectorisé: caractéristiques et exemples. Multiprocesseurs: structures fonctionnelles, réseaux d'interconnexion, organisation de la mémoire parallèle, logiciels d'exploitation. Préalables académiques : INF3173 Principes des systèmes d'exploitation Objectif du cours ================= Comprendre les principes de base du fonctionnement interne des ordinateurs et comprendre comment cette organisation interne affecte les performances. Étudier les méthodes et techniques utilisées dans les architectures modernes pour améliorer les performances. Comprendre les interrelations entre logiciel et matériel, particulièrement dans les machines modernes. Avoir un aperçu des directions futures vers lesquelles les architectures vont se développer. Contenu du cours ================ - Structure et fonction d'un ordinateur. Évolution historique. Performance - Vue d'ensemble. Composants et fonctions. Structures d'interconnexion. Bus. PCI. - Mémoire cachée. Mémoire interne. Correction d'erreur. - Gestion de mémoire. TLB. - Arithmétique : Représentation des données. Circuits logiques. Fonctionnement d'une unité arithmétique: addition, soustraction, multiplication. Arithmétique à point-flottant. - Jeux d'instructions. Types d'opérandes. Types d'instructions. Modes d'adressage. Formats d'instruction. - Fonctionnement d'un processeur : Organisation du processeur. Registres. Cycle d'instruction. Pipelines. Pentium et PowePC. - RISC. Grands jeux de registres. Pipelines RISC. MIPS R4000. SPARC. RISC vs CISC. - Parallélisme d'instructions. Superscalaires. - Architecture IA-64. Spéculation. Organisation de l'Itanium. - Unité de contrôle. Microinstructions. - Organisation parallèle. Machines SMP. Cohérence des caches. Agglomérats. Accès non-uniforme à la mémoire. - Autres architectures. - Programmation des fils d'exécution (threads). Séance Contenu -------- ------------------------------------------------------ 1 Introduction (chap. 1) 2 Circuits combinatoires et séquentiels (chap. 2 et 3) 3 Composants logiques (chap. 5) 4 Jeu d'instruction RISC-V (chap. 6) 5 Processeur à 1 cycle (chap. 7) 6 Processeur à 1 cycle (suite) 7 Examen mi-session (intra) 8 Pipelines, aléas, prédiction de branches (chap. 7) 9 Hiérarchie des caches (chap. 8) 10 Traduction des adresses virtuelles (chap. 8) 11 Multi-processeurs et cohérence des caches (chap. 8) 13 Processeurs superscalaires (chap. 7) 14 Évaluation de la performance 15 Examen final Modalités d'évaluation ====================== Description Date Pondération --------------- ----------------- ------------- Quiz 1 17 février 2023 5% Quiz 2 7 avril 2023 5% Remise du TP1 8 mars 2023 15% Remise du TP2 19 avril 2023 15% Examen intra 24 février 2023 25% Examen final 28 avril 2023 35% - L'examen final est récapitulatif - L'examen intra sera d'une durée de 3 heures. - L'examen final sera d'une durée de 3 heures. - Une moyenne d'au moins 50% aux examens est exigée pour réussir le cours. - Les travaux doivent être effectués seul, ou en équipe de deux personnes. - Une pénalité de 10% par jour de retard sera appliquée sur les travaux. - La qualité du français sera prise en considération, tant dans les examens que dans les travaux pratiques (jusqu'à 10% de pénalité). - Les règlements concernant le plagiat seront strictement appliqués. - La note finale (en lettre, A+, A, etc.) pour le trimestre sera attribuée en fonction de l'atteinte des objectifs spécifiques à travers les évaluations. La distribution des résultats dans le groupe pourrait aussi être utilisée. Aucune autre opportunité (travail supplémentaire, etc.) d'augmenter le nombre de points ne sera accordée. Médiagraphie ============ Manuel de référence du cours (obligatoire) HARRIS, D and HARRIS, S. -- Digital Design and Computer Architecture RISC-V Edition -- Morgan Kaufmann, 2021. ISBN 978-0-12-820064-3. Les ressources suivantes sont recommandées. PATTERSON, D.A. and Hennessy, J.L. -- Computer Organisation and Design, RISC-V EDITION -- Morgan Kaufmann Publishers, 2018. ISBN 978-0-12-812275-4. PATTERSON, D.A. and Hennessy, J.L. -- Computer Organisation and Design, ARM EDITION -- Morgan Kaufmann Publishers, 2017. ISBN 978-0-12-801733-3. PATTERSON, D.A. and Hennessy, J.L. -- *Computer Organisation and Design, Revised Printing* -- MORGAN KAUFMANN PUBLISHERS, INC. FOURTH EDITION, 2012. ISBN 978-0-12-374750-1. STALLINGS, W. -- *Organisation et architecture de l'ordinateur* -- 6E ÉDITION, PEARSON EDUCATION, 2003. ISBN 2-7440-7007-6 STALLINGS, W. -- *Computer Organization and Architecture* -- 6TH EDITION. PRENTICE HALL, 2003. ISBN 0-13-035119-9 HENNESSY, J.L. and PATTERSON, D.A. -- *Computer Organisation and Design* -- MORGAN KAUFMANN PUBLISHERS, INC. SECOND EDITION, 1998. ISBN 1-55-860-428-6. PATTERSON, D.A. et HENNESSY, J.L. -- *Organisation et conception des ordinateurs: L'interface matériel/logiciel* -- DUNOD, 1994. EN VENTE À LA COOP SCIENCES. PATTERSON, D.A. et HENNESSY, J.L. -- *Architectures des ordinateurs: Une approche quantitative* -- MCGRAW-HILL, 1996. STALLINGS, W. -- *Computer Organization and Architecture* -- 4TH EDITION. PRENTICE HALL, 1996. TANENBAUM, A.S. -- *Architecture de l'ordinateur* -- 3E ÉDITION, PARIS INTEREDITION, 1996. BARON, R.J. and L. HIGBIE -- *Computer Architecture* -- ADDISON-WESLEY PUBLISHING COMPANY, 1992.