Aller au contenu

Descriptif du cours « Architecture des ordinateurs »

Heures de travail attendues120 Langue d'enseignementF
Année de validitée2023/2024 Identifiant du coursB2C-AROR-S
Année du plan d'études2e année Niveauintermédiaire
Semestreautomne Type de coursfondamental
Programmefrançais, bilingue Type de formationbachelor
Filière(s)Informatique et systèmes de communication Orientation(s)Informatique logicielle, Ingénierie des données, Réseaux et systèmes

Objectifs

De façon globale le cours Architecture des ordinateurs vise les objectifs suivants:

  • Comprendre le fonctionnement d’un ordinateur
  • Concevoir et programmer des traitements séquentiels en langage C/C++
  • Concevoir et programmer des traitements séquentiels en langage assembleur ARM
  • Mettre en oeuvre des systèmes à microprocesseurs


De façon plus détaillée, et au terme du cours, l’étudiant sera capable :

  • d’utiliser des outils de développement croisé pour des systèmes embarqués
  • concevoir et réaliser une application embarquée sur microprocesseur ARM
  • programmer des applications orienté-objet en langage C/C++ en manipulant les éléments de base du langage, en gérant les allocations dynamique de la mémoire ainsi que le traitement de périphériques
  • mettre en oeuvre une méthodologie de développement et de test suivant les bonnes pratiques du CI/CD

Contenu

Le cours traite des sujets suivants:

  • Chapitre 1 : Programmation en langage C/C++ (pour programmeur Java)

    • L’utilisation de bibliothèques
    • Les entrées sorties
    • La compilation séparée
    • Les types de données
    • Les variables
    • Les constantes
    • Les instructions de contrôle de flux
    • Les classes
    • Les objets
    • Les fonctions
    • Les tableaux et les vecteurs
    • Les pointeurs
    • L’héritage
    • Exercices
  • Chapitre 2 : Architecture générale des ordinateurs

    • Ordinateur
    • Microprocesseur et microcontrôleur
    • Unité centrale de traitement
    • Principe de traitement de l’information
    • Taxonomie de Flynn
    • Architectures des jeux d’instructions
    • Information et données
    • Mémoire centrale
    • Périphériques
    • Placement d’un programme en mémoire
    • Exercices
  • Chapitre 3 : Architecture interne

    • Architecture ARM
    • Exécution d’un programme informatique
    • Composants internes des µP ARMv7
    • Modes des CPU ARMv7
    • Performances
    • Exercices
  • Chapitre 4 : Systèmes de nombres

    • Les nombres entiers
    • Représentations des nombres entiers
    • Addition binaire
    • Les nombres entiers signés
    • Nombres binaires signés
    • Addition binaire de nombres signés
    • Soustraction binaire
    • Comparaison
    • Nombres en virgules flottantes
    • Exercices
  • Chapiter 5 : Assembleur des processeurs ARM

    • Processus de développement
    • Structure d’un module d’assemblage
    • Interfaçage C ‑ Assembleur
    • Jeux d’instructions
    • Exercices
  • Chapitre 6 : Traitement des interruptions

    • Concept général
    • Interruptions matérielles
    • Profiles ARM
    • Exercices
  • Chapitre 7 : Hierarchie de la mémoire

    • Concept général
    • Mémoire Cache
    • Unité de Gestion de la Mémoire
    • Accès Direct à la Mémoire
    • Exercices

Formes d’enseignement

Forme d’enseignement Durée
Cours magistral (y compris exercices) 40 périodes
Travaux pratiques / laboratoires 40 périodes
Projets -
Examen de révision -
Examen de branche -

Remarque

1 période dure 45 minutes

Modalités d’évaluation

  • Contrôle continu: travaux écrits, TP/évaluation de rapports

Mode de calcul de la note de cours

La note du contrôle continu prend en compte les notes des travaux écrits et des travaux pratiques. Le détail du calcul est donné lors de la première heure de cours.

Ouvrages de référence

Les références seront données pendant le cours

Enseignant(s) et/ou coordinateur(s)

Luca Haab, Jacques Supcik


Date de mise à jour : 18.09.2022