Architecture des ordinateurs
Ref: 2EL6020
Description
Cet électif est ouvert à tous les étudiants qui le souhaitent et il est également obligatoire pour le parcours InfoSec.
Les microprocesseurs sont omniprésents dans la société actuelle. Toutefois, leur conception, implémentation et construction restent un défi à relever qui a un impact majeur sur les performances et la sécurité globale des systèmes informatiques.
L'objectif principal de ce cours est de donner aux étudiants toutes les connaissances de base nécessaires pour comprendre le fonctionnement des processeurs modernes. Nous aborderons les différents concepts et techniques fondamentaux permettant de s'initier à l'architecture des ordinateurs, en mettant l'accent sur l'interface matériel/logiciel ainsi que sur l'approche de conception "bottom-up" pour comprendre comment les microprocesseurs fonctionnent et comment ils peuvent être réellement conçus.
Ce cours s'inspire largement de livre de Patterson et Hennessy « Computer Organization and Design, The Hardware/Software interface, RISC-V Edition, Morgan Kaufmann, 2018 ». Ce livre sera utilisé comme ouvrage de référence dans le cadre de cet électif. Les deux auteurs ont fait un travail pionnier en matière d'architecture des ordinateurs, notamment dans les architectures « Reduced Instruction Set Computer » (RISC). David Patterson a conçu le terme RISC, alors que John L. Hennessy a été l'inventeur du microprocesseur MIPS. Ces deux auteurs ont reçu le prix « 2017 Turing Award » pour leurs excellent travail de recherche sur les architectures RISC.
Période(s) du cours
SG6
Prérequis
Ce cours s'appuie sur les concepts fondamentaux de :
- 1CC1000 – Systèmes d'Information et Programmation
- 1EL8000 – Systèmes Electroniques (particulièrement la partie "électronique numérique")
Certaines notions d’algorithmique & complexité sont également intéressantes.
Syllabus
Conception de circuits numériques à partir d'un langage de description du matériel (Hardware Description Language, HDL) (4,5h CM + 6h TD)
- Conception de circuits logiques combinatoires
- Conception de circuits logiques séquentiels, machines à états finis (FSM, Finite State Machine), analyse temporelle
- Circuits reconfigurables : le Field-Programmable Gate Array (FPGA)
- Flot de conception en HDL pour les FPGA (description HDL, simulation, synthèse)
- Le modèle Von Neumann des architectures de processeurs
- Les paradigmes d'architecture RISC/CISC
- Architecture du jeu d'instructions RISC-V (Instruction Set Architecture, ISA), modes d'adressage
- Les élements de base d'un processeur : chemin de données, registres, unité arithmétique et logique (ALU), unité de commande, mémoire, périphériques
- Interruptions et exceptions
- Performances : pipeline, hiérarchie mémoire et caches, prédiction de branchement, exécution dans le désordre
- Notions sur la sécurité de l'architecture des ordinateurs
- Flot de conception en VHDL pour les FPGA
- Programmation en assembleur RISC-V
- Conception d'une sous-partie d'un processeur RISC-V en VHDL
Composition du cours
Cours magistraux : 15h
TD : 6h
TP : 12h
Ressources
Equipe enseignante : Rubén Salvador, Guillaume Hiet
- Taille des TD : 25
- Outils logiciels : Xilinx Vivado
- Carte Xilinx Pynq-Z1
- Salles de TP : Campus de Rennes Niveau 5, 25 étudiants
Résultats de l'apprentissage couverts par le cours
A la fin de cet enseignement, l'étudiant sera capable de :
- expliquer les principes fondamentaux de la conception d'architecture des microprocesseurs modernes
- concevoir des blocs d'un microprocesseur simple correspondant à un jeu d'instruction RISC-V
- simuler et synthétiser ce microprocesseur sur un FPGA
- développer des programmes en langage d'assembleur en utilisant le jeu d'instruction RISC-V
Support de cours, bibliographie
- Polycopié mis à disposition des élèves
- Ouvrages principaux pour le cours: Il y a quelques exemplaires de ces livres à la bibliothèque et ils sont
également disponibles sur la plateforme ebook de l'école à: https://www-vlebooks-com.ezproxy.universite-paris-saclay.fr/
- D. A. Paterson, J. L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, RISC-V Edition, Morgan Kaufmann, 2018. [AO]
- S. L. Harris, D. M. Harris, Digital Design and Computer Architecture (MIPS ou ARM Edition), Morgan Kaufmann. [CNAO]
- Autres ouvrages
- W. J. Dally, R. C. Harting, T. M. Aamodt, Digital Design Using VHDL: A Systems Approach, First Edition, Cambridge University Press, 2016 [CN]
- B. J. LaMeres, Introduction to Logic Circuits & Logic Design with VHDL, Second Edition, Springer, 2019 [CN]
- M. M. Mano, C. R. Kime, T. Martin, Logic and Computer Design Fundamentals, Fifth edition, Pearson, 2015 [CNAO]
- P. J. Ashenden, J. Lewis, The Designer's Guide to VHDL, Third Edition, Morgan Kaufmann, 2008 [CN]
- W. J. Dally, R. C. Harting, T. M. Aamodt, Digital Design Using VHDL: A Systems Approach, First Edition, Cambridge University Press, 2016 [CN]
- PDFs disponibles librement
- B. Mealy, F. Tappero, Free Range VHDL : http://www.freerangefactory.org [CN]
- P. J. Ashenden, The VHDL Cookbook : https://tams.informatik.uni-hamburg.de/vhdl/doc/cookbook/VHDL-Cookbook.pdf [CN]
Légende:
[AO] : Architecture des ordinateurs
[CN] : Conception de systèmes numérique
[CNAO] : Conception de systèmes numériques et architecture des ordinateurs