PLAN DE COURS Automne 2013 Architecture des ordinateurs (6GEN525) Département des Sciences Appliquées Professeur Daniel Audet, ing. Ph.D. Bureau : P4-3010-6 Tél. : (418) 545-5011 poste 5639 Courriel : daniel.audet@uqac.ca Web : wwwdsa.uqac.ca/~daudet
1. Formule pédagogique Cours magistraux o Jeudi de 11h00 à 12h15 o Vendredi de 08h00 à 09h15 Travaux pratiques en laboratoire o Mercredi de 13h00 à 14h15 et 14h30 à 15h45 Projet de conception 2. Insertion du cours dans le programme Ce cours s'inscrit dans la liste de cours obligatoires des programmes de baccalauréat en génie informatique. Pour pouvoir réaliser certains travaux demandés, l étudiant doit être en mesure de développer des programmes. 3. Objectifs Amener l étudiant à : Pouvoir distinguer entre l architecture et l organisation d un processeur Connaître les faits marquants de l histoire du développement des ordinateurs et dans quelle direction il s oriente Comprendre les facteurs limitant la performance d un processeur et les solutions adoptées pour augmenter cette dernière Pouvoir exprimer des nombres en utilisant les représentations binaire, hexadécimale, signe-et-magnitude, complément-à-deux et virgule flottante (IEEE 754) Pouvoir exécuter des opérations arithmétiques simples dans ces représentations Comprendre le jeu d instruction du PIC et du Pentium Concevoir des programmes en langage d assemblage Comprendre la différence entre les qualificatifs «big-endian» et «little-endian» Comprendre et utiliser les différents modes d adressage d un processeur dans une application Comprendre le cycle typique d une instruction dans un processeur Comprendre le fonctionnement les interruptions survenant lors de l exécution d un programme Concevoir des programmes gérant des interruptions Comprendre le fonctionnement des systèmes basés sur des bus (ex. PCI) Pouvoir expliquer le fonctionnement d une antémémoire («cache»), ses divers modes d opération incluant les techniques de remplacement des données 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 2 de 10
Connaître les différents types de mémoire vive et leurs principales caractéristiques (SRAM, DRAM, SDRAM, DDR, ) Pouvoir expliquer le fonctionnement d un disque rigide et en comprendre les facteurs limitatifs Connaître les variantes de la technologie RAID Comprendre le fonctionnement de différents mécanismes d entrée-sortie et leurs interactions avec les mécanismes d interruption (DMA, USB, FireWire) Pouvoir expliquer les principes généraux du traitement multitâche ainsi que les différentes techniques de gestion de la mémoire requise par ce dernier («swapping», partitionnement, gestion de pages, adresses virtuelles, TLB, segmentation) Pouvoir expliquer le fonctionnement général d un pipeline de traitement dans un processeur et son impact sur l amélioration des performances Comprendre les principaux mécanismes d accélération de la performance dans un processeur («prefetch», prédiction des branchements) Expliquer l approche RISC relativement à la conception des processeurs et en comprendre les avantages par rapport à l approche CISC Pouvoir décrire les caractéristiques d un processeur superscalaire et superpipeline et comprendre les techniques qui en permettent l utilisation de même que les facteurs qui en limite les performances Concevoir une application exploitant les technologies MMX et SSE dans un processeur Pentium Comprendre le fonctionnement interne d un processeur Itanium (64 bits) et des techniques qu il utilise pour accélérer le traitement («multicore») Pouvoir expliquer les principes de base du traitement parallèle ainsi que les contraintes inhérentes à ce mode de fonctionnement Pouvoir expliquer comment on peut maintenir la «cohérence des données» dans un système parallèle utilisant plusieurs d antémémoire ( Ex. approche MESI) Comprendre les principes du «multithreading» Connaître les principes généraux d opération d un «cluster» et d un système NUMA Justification o Opportunity, Curiosity... o Microcontrôleurs et automates industriels o Programmation de microprocesseurs o Développement de circuits (FPGA contenant un processeur) o Pouvoir descendre à bas niveau pour créer des pilotes ("drivers") 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 3 de 10
4. Qualités visées par le cours Selon les normes du Bureau canadien d agrément des programmes de génie (BCAPG), le cours couvre deux qualités attendues d un ingénieur, à savoir : 1. Connaissance en génie (80%) : connaissance, à un niveau universitaire, des mathématiques, des sciences naturelles et des notions fondamentales de l ingénierie, ainsi qu une spécialisation en génie propre au programme. Dans le cadre du présent cours, les connaissances suivantes seront évaluées : o Unités de traitement o Mémoires internes et externes o Jeux d instruction o Modes d adressage o Gestion des interruptions o Gestion des périphériques o Méthodes d accélération de l exécution 5. Utilisation d outils d ingénierie (20%) : capacité de créer et de sélectionner des techniques, des ressources et des outils modernes d ingénierie et de les appliquer, de les adapter et de les étendre à un éventail d activités simples ou complexes, tout en comprenant les contraintes connexes. Dans le cadre du présent cours, les étudiants devront pouvoir concevoir, à l aide d outils de développement évolués, des programmes en langage d assemblage permettant d utiliser un microprocesseur pour effectuer un traitement sur des données ou signaux, tant internes qu externes. 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 4 de 10
Ces qualités seront évaluées selon les objectifs et indicateurs suivants : Objectifs Indicateurs Pondération évaluée Faire preuve de Identifier les principes scientifiques et d ingénierie compétence en ce qui a 1.3.1 qui influencent la performance d un processus ou 41% 1.3 trait aux connaissances d un système. propres à la spécialité du Appliquer de manière appropriée des 1.3.2 programme. connaissances propres à la discipline de l étudiant. 39% 5.2 Démontrer sa capacité à utiliser des outils, ressources et techniques spécialisés propres à la discipline. 5.2.1 Démontrer sa capacité à utiliser des outils d ingénierie, des techniques et des ressources spécifiques à la discipline de l étudiant. Chaque indicateur sera évalué en utilisant le système de notation de l UQAC ainsi la réussite du cours est directement liée à l atteinte des qualités et objectifs précités au travers de l évaluation de leurs identificateurs dans des travaux et examens. 20% 5. Contenu du cours 5.1 Sujets abordés 1. Introduction 1.1 Organisation et architecture 1.2 Structure et fonction 2. Évolution des ordinateurs et de leur performance 2.1 Historique 2.2 Conception axée sur la performance 2.3 Évolution du Pentium et du ARM 3. Rappel d'arithmétique binaire 3.1 Unité arithmétique et logique 3.2 Entiers: représentation et arithmétique 3.3 Nombres en virgule flottante : représentation et arithmétique 4. Jeu d'instructions d'un microprocesseur 4.1 Opérandes 4.2 Types de données 4.3 Types d'opérations 4.4 Langages d'assemblage 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 5 de 10
5. Modes d'adressage d'un microprocesseur 5.1 Description et utilisation 6. Vue de niveau de l'opération d'un ordinateur 6.1 Composantes et fonctions 6.2 Interconnexions 6.3 Les bus 6.4 PCI 7. Antémémoires ("cache") 7.1 Principes de fonctionnement 7.2 Éléments de conception 7.3 Exemples de mise en oeuvre 8. Mémoire interne 8.1 Mémoire à semi-conducteur 8.2 Correction d'erreurs 9. Mémoire externe 9.1 Disque rigide 9.2 RAID 9.3 Mémoire optique 9.4 Ruban magnétique 10. Entrées/sorties 10.1 Périphériques 10.2 Types d'entrées/sorties 10.3 DMA 11. Support au système d'exploitation 12. Structure et fonction d'un CPU 12.1 Organisation des registres 12.2 Cycle de traitement des instructions 12.3 Pipeline de traitement 13. Ordinateurs à jeu d'instructions réduit 12.1 RISC 12.2 MIPS 12.3 SPARC 14. Parallélisme au niveau des instructions et processeurs superscalaires 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 6 de 10
5.2 Travaux pratiques Une série de quatre (4) travaux sera réalisé au cours de la session. Ces travaux seront réalisés dans le local P2-1060 de l UQAC. Thèmes : Programmation en langage d assemblage Analyse de performance d antémémoires (mémoires «cache») Instructions MMX/SSE Pipelines et architectures superscalaires 5.3 Projet de conception Un mini-projet comportant des éléments de conception matériel et logiciel vous sera soumis. Ce dernier sera évalué selon les critères suivants : Qualité de la structure du programme Fonctionnalité IL EST IMPORTANT DE NOTER QUE LA PROCÉDURE DÉCRITE À L ANNEXE DEVRA ÊTRE SUIVIE POUR LA REMISE DES TRAVAUX. 5.4 Incidence sur la santé et la sécurité La réalisation des travaux n a pas d incidence sur la santé et la sécurité 6. Modalités d évaluation 6.1 Calendrier Dates Activités d évaluation Indicateurs couverts Semaine du 23 septembre 2013 Premier examen 15% 1.3.1 1.3.2 Semaine du 14 octobre 2013 Semaine de relâche Semaine du 4 novembre 2013 Deuxième examen 15% 1.3.1 1.3.2 Semaine du 9 décembre 2013 Examen Final 20% 1.3.1 1.3.2 Travaux 20% 1.3.2 5.2.1 Projet de conception 30% 1.3.2 5.2.1 Les dates exactes et les locaux des examens seront fournis en temps opportun. 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 7 de 10
Dispositions particulières : a) Toute documentation sera permise aux examens. b) Les examens se tiendront au local P2-1020 durant les périodes normales de cours. Il est à noter que le réseau ne sera pas accessible et que, par conséquent, les étudiants sont invités à enregistrer leurs documents électroniques sur une clé USB en prévision de l examen. Pour ce qui est des travaux, le calendrier préliminaire des dates de remise sera (sujet à changement) : Travail 1 18 septembre 2012 Travail 2 2 octobre 2012 Travail 3 23 octobre 2012 Travail 4 20 novembre 2012 Projet de conception 11 décembre 2012 IL EST IMPORTANT DE NOTER QUE LA PROCÉDURE DÉCRITE À L ANNEXE 1 DEVRA ÊTRE SUIVIE POUR LA REMISE DES TRAVAUX. 6.2 Qualité du français écrit Tout travail remis doit être conforme aux exigences de la politique institutionnelle en matière de maîtrise du français écrit du Manuel de Gestion. (http://www.uqac.ca/direction_services/secretariat_general/manuel/3/209.pdf) Un travail se verra attribué la note 0 si la qualité du français n est pas adéquate (plus de 10 fautes dans le rapport). 6.3 Pénalité pour retard Tout travail remis en retard sans motif valable sera pénalisé de 10% par jour de retard. 6.4 Plagiat Les sanctions prévues à la politique institutionnelle sur le plagiat seront appliquées aux étudiants identifiés par le professeur. (http://www.uqac.ca/direction_services/secretariat_general/manuel/3/125.pdf) 6.5 Note de passage La note de passage est fixée à 60 %. 6.6 Évaluation du cours Ce cours sera évalué, conformément à la résolution du Conseil de module, à une date à déterminer entre le milieu et la fin du trimestre. 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 8 de 10
7. Soutien pédagogique 7.1 Assistant Le laboratoire sera sous la responsabilité d un étudiant qui sera identifié au début de la session. 7.2 Périodes de disponibilité Le professeur se rendra disponible à son bureau (local) en dehors des heures régulières du cours aux heures suivantes : Mercredi de 09h00 à 11h00 Veuillez noter qu il est également possible que le professeur soit également disponible en dehors de ces périodes. Vous êtes invités à passer à son bureau afin de vérifier sa présence. L assistant de laboratoire ne sera disponible que lors de la séance de laboratoire prévue à l horaire. 8. Documentation William Stallings, "Computer Organization and Architecture", 8 e édition, Prentice Hall, New Jersey, 2010 (ISBN-13 : 978-0-13-607373-4 ISBN-10: 0-13-607373-5) Notes : o o Ce livre s est mérité à quatre reprises le prix du meilleur livre de référence en ingénierie et en science informatique Un site WEB est associé à ce manuel. Il donne accès à une foule d'informations touchant le domaine de l'architecture des ordinateurs Pour un location numérique de 180 jours (65.99$ au lieu de 163.80$)) : http://www.coursesmart.com/9780136096979? professorview=false& hdv=6.8 ou http://goo.gl/iqluw (via le service d adresses abrégées de Google) Diapositives électroniques présentées en classe (disponibles sur le site WEB du cours) Informations disponibles sur la page Web du cours (http://wwwdsa.uqac.ca/~daudet/cours/architecture-bac) o Notes de cours o Travaux o...etc. 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 9 de 10
- ANNEXE - Dispositions particulières pour la remise des travaux 1. Les énoncés des travaux seront disponibles sur le site WEB du cours que vous pouvez accéder en utilisant l une des 'adresses suivantes: Notes : http://wwwdsa.uqac.ca/~daudet/cours/architecture-bac http://goo.gl/9uwft a) Pour accéder à certaines pages du site WEB, vous aurez besoin de fournir un mot de passe. Pour les documents : (donné par le professeur en classe) Pour les travaux : (donné par le professeur en classe) b) Un gadget Vista est disponible pour monitorer le dernier travail à remettre (mise à jour à toutes les 10 minutes) 2. La remise des travaux devra s'effectuer électroniquement. Vous DEVREZ utiliser l'outil de remise des rapports accessible via le menu "Travaux" du site WEB du cours. AVANT DE TRANSMETTRE VOTRE LABORATOIRE, VOUS DEVREZ : CRÉER UN FICHIER D'ARCHIVE (ZIP) CONTENANT TOUT VOS FICHIERS le nom de votre fichier d'archive devra se conformer au format suivant: travail#-votrenom-votreprenom.zip 3. Lors de la remise d un rapport : ENSUITE LE CRYPTER UN UTILISANT LE LOGICIEL PGP (téléchargeable via le menu "Travaux" du site WEB du cours) Respectez la convention de nomenclature des fichiers (travail#-votrenom-votreprenom.zip.pgp) Remettez ce qui est demandé... 6GEN525 Architecture des ordinateurs Plan de Cours Automne 2013 Page 10 de 10