CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Principes de fonctionnement des ordinateurs

Code : 3IF2020, 24 HPE (40 HEE)

Site du cours

Contact

Frédéric Boulanger frederic.boulanger@centralesupelec.fr

Présentation générale

Ce cours présente les principes fondamentaux de fonctionnement des ordinateurs et les illustre par la conception d'un microprocesseur, la traduction d'instructions Python en langage d'assemblage, la gestion des entrées-sorties et les interruptions. Le microprocesseur est réalisé sous Logisim, les entrées-sorties et les interruptions sont présentées sous MicroPython.

Acquis d'apprentissage visés par le cours

À l'issue de ce cours, les élèves seront capables :

  • d'analyser le fonctionnement d'un ordinateur et la manière dont il manipule les données,
  • de faire des choix plus pertinents en matière d'architecture d'un calculateur,
  • de concevoir le logiciel qui permet d'exploiter un composant matériel,
  • de déterminer l'impact des structures de contrôle des langages de programmation sur l’exécution des programmes.

Moyens

Les moyens mis en œuvre pour ce cours combinent cours magistraux et bureaux d'étude favorisant une pratique concrète sur simulateur pour la conception d'un micro-processeur, et sur micro-contrôleur et des composants matériels pour l'étude de l'interface matériel-logiciel. Il y a 15 HPE de pratique pour 9 HPE de cours.

Description des compétences acquises à l'issue de ce cours

C1.4 Spécifier, concevoir, réaliser et valider tout ou partie d'un système complexe

  • Définir l'architecture d'un système à l'interface entre le matériel et le logiciel
  • Concevoir le logiciel permettant d'exploiter un composant matériel

C2.1 Avoir approfondi un domaine ou une discipline relatifs aux sciences fondamentales ou aux sciences de l'ingénieur

  • Connaissance des mécanismes en jeu à l'interface entre le matériel et le logiciel afin de pouvoir les prendre en compte dans la conception de systèmes ainsi que dans l'évaluation des vulnérabilités du système

C6.4 Résoudre des problèmes dans une démarche de pensée computationnelle

  • Gain en compétence en techniques de programmation et de modélisation des calculs

Contenu

  • CM1 et 2 (3HPE) : Introduction, ordinateurs, processeurs
  • BE 1 (3HPE) : Circuits logiques, construction du chemin de données d'un processeur
  • CM3 et 4 (3HPE) : Architecture interne d'un processeur, jeu d'instruction, exécution
  • BE 2 (3HPE) : Réalisation d'un microprocesseur sous LogiSim
  • BE 3 (3HPE) : Traduction d'instructions Python en langage machine
  • CM5 et 6 (3HPE) : Mémoires, entrées-sorties, interruptions
  • BE 4 (3HPE) : Entrées-sorties, interruptions
  • BE 5 (3HPE) : Pilote de périphérique, abstraction du matériel, lien avec le système d'exploitation

Méthodes pédagogiques

  • Site web présentant le matériel du cours ainsi que des éléments d'approfondissement
  • Cours magistraux pour présenter les concepts
  • Bureaux d'étude avec réalisations concrètes pour mettre en œuvre les concepts et se les approprier

Évaluation

L'évaluation se fera en contrôle continu sur la qualité du travail fourni et des devoirs rendus lors les bureaux d'étude (comme pour un projet).

Bibliographie

Andrew Tanenbaum, Architecture de l'ordinateur, 4e édition, 2001

Andrew Tanenbaum, Structured Computer Organization, 6th edition, 2012

John Hennessy, David Patterson, Computer Organization and Design: The Hardware/Software Interface, 5th edition, 2013

John Hennessy, David Patterson, Organisation et conception des ordinateurs : l'interface matériel/logiciel, 1994

John Hennessy, David Patterson, Computer Architecture: A Quantitative Approach, 5th edition, 2011