% INF4170 — Architecture des ordinateurs % UQAM — Département d'informatique % Plan de cours — Été 2020 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Gagnon, Étienne M. PK-4730 poste 8215 Enseignement ------------- Malenfant, Bruno PK-4115 poste 3699 Description du cours ==================== Familiariser l'étudiant avec la structure des ordinateurs modernes. Initier au fonctionnement interne, à l'agencement des organes. 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 telles les machines Pentium, PowerPC, Itanium et les machines parallèles. Avoir un aperçu des directions futures vers lesquelles les architectures vont se développer. Contenu du cours ================ - Introduction. 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) en Java. -------- ------------------------------------------- ------------------------ Séance Contenu Lecture et laboratoire 1 Introduction et performance 1 2 Performance (suite) et jeu d'instructions 2 3 Jeu d'instructions (suite) 2 4 Arithmétique 3 5 Processeur à 1 cycle 4 6 Processeur à 1 cycle (suite) 4 7 Pipelines 4 8 Aléas 4 9 Caches 5 10 TLB 5 11 Multi-processeurs 6 12 Processeurs multi-core 13 Révision -------- ------------------------------------------- ------------------------ Modalités d'évaluation ====================== Description sommaire Date Pondération ---------------------- --------- ------------- Examen intra 26 juin 35% Examen final 14 aout 35% 2 travaux pratiques 2 x 15% - L'examen final couvre toute la matière avec une plus grande emphase sur la matière couverte après l'examen intra. - Une moyenne d'au moins 50% aux examens est exigée pour réussir le cours. - Les travaux peuvent être effectués individuellement ou en équipe d'un maximum de deux personnes. - Une pénalité de 20% 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. Pour plus de renseignements, consultez le site suivant : Médiagraphie ============ VO PATTERSON, D.A. and Hennessy, J.L. -- Computer Organisation and Design, RISC-V EDITION -- Morgan Kaufmann Publishers, 2018. ISBN 978-0-12-812275-4. VC PATTERSON, D.A. and Hennessy, J.L. -- Computer Organisation and Design, ARM EDITION -- Morgan Kaufmann Publishers, 2017. ISBN 978-0-12-801733-3. VC 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. VC STALLINGS, W. -- *Organisation et architecture de l'ordinateur* -- 6E ÉDITION, PEARSON EDUCATION, 2003. ISBN 2-7440-7007-6 VC STALLINGS, W. -- *Computer Organization and Architecture* -- 6TH EDITION. PRENTICE HALL, 2003. ISBN 0-13-035119-9 VC HENNESSY, J.L. and PATTERSON, D.A. -- *Computer Organisation and Design* -- MORGAN KAUFMANN PUBLISHERS, INC. SECOND EDITION, 1998. ISBN 1-55-860-428-6. VC PATTERSON, D.A. et HENNESSY, J.L. -- *Organisation et conception des ordinateurs: L'interface matériel/logiciel* -- DUNOD, 1994. EN VENTE À LA COOP SCIENCES. VC PATTERSON, D.A. et HENNESSY, J.L. -- *Architectures des ordinateurs: Une approche quantitative* -- MCGRAW-HILL, 1996. VC STALLINGS, W. -- *Computer Organization and Architecture* -- 4TH EDITION. PRENTICE HALL, 1996. VC TANENBAUM, A.S. -- *Architecture de l'ordinateur* -- 3E ÉDITION, PARIS INTEREDITION, 1996. VC BARON, R.J. and L. HIGBIE -- *Computer Architecture* -- ADDISON-WESLEY PUBLISHING COMPANY, 1992.