Changes between Version 56 and Version 57 of WikiStart


Ignore:
Timestamp:
Dec 1, 2022, 3:52:04 PM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v56 v57  
    7171L'UE Archi-2 (LU3IN031) est la suite de l'UE Archi-1 (LU3IN029) du tronc commun au premier semestre de L3.
    7272
    73 Dans la première partie, l'UE Archi-1 décrit l'architecture externe du MIPS (celle visible du programmeur) et la programmation structurée en assembleur (avec des fonctions et une pile). Les programmes sont exécutés sur le simulateur de processeur MARS qui permet d'observer l'évolution des registres internes du processeur et l'évolution données dans les segments de mémoire utilisés pour les data et la pile. Dans la seconde partie, l'UE Archi-1 présente l'architecture d'un petit SoC (System-On-Chip) intégrant un MIPS et quelques composants simples (des mémoires et un contrôleur de terminaux texte). Ce SoC est utilisé comme support d'un embryon de système d'exploitation construit pas-à-pas. À la fin de l'UE, le système d'exploitation démarre et exécute une application. L'OS contient essentiellement un gestionnaire de syscalls et un gestionnaire d'interruptions.
     73Les 3 dernières séances de l'UE Archi-1 présentent l'architecture d'un petit SoC intégrant un MIPS et quelques composants simples. Ce SoC est utilisé comme support d'un embryon de système d'exploitation construit progressivement. À la fin de l'UE, le système d'exploitation démarre et exécute une petite application, mais le noyau contient juste un gestionnaire de syscalls et un gestionnaire d'interruptions.
    7474
    75 L'objectif d'Archi-2 est d'aller plus loin sur 3 axes : la micro-architecture du processeur, l'architecture du SoC et le système d'exploitation.
     75L'UE Archi-2 vise à aller plus loin sur 3 axes : la microarchitecture du processeur, l'architecture du SoC et le système d'exploitation.
    7676
    77 1. Pour la micro-architecture, il s'agit de comprendre comment sont exécutées les instructions du MIPS. Vous verrez l'une des techniques consistant à décomposer les instructions en micro-instructions élémentaires gérées par un micro-séquenceur.
     771. Pour la microarchitecture, il s'agit de comprendre comment sont réalisés les opérateurs arithmétiques et comment sont exécutées les instructions du MIPS. Vous verrez une technique consistant à décomposer les instructions en micro-instructions élémentaires.
     782. Pour l'architecture, il s'agit de comprendre comment accélérer les accès à la mémoire grâce aux caches, et quelles sont les conséquences de l'ajout de composants ayant le droit, à l'instar du MIPS, de faire des lectures et des écritures dans la mémoire.
     793. Pour le système d'exploitation, il s'agit de comprendre comment une application peut disposer de plusieurs fils d'exécution (threads) s'exécutant en parallèle, comment la mémoire est dynamiquement allouée au noyau et à l'application, comment les threads d'une application se synchronisent et enfin, comment fonctionne une petite bibliothèque graphique. 
    7880
    79 2. Pour l'architecture, il y a trois parties : (1) la première consiste à comprendre comment accélérer les accès à la mémoire externe en utilisant une petite mémoire placée à l'interface du processeur destinée à stocker les dernières instructions et les dernières données lues ; (2) la seconde consiste à comprendre comment les contrôleurs de périphérique peuvent voler du temps au programme en cours d'exécution pour que le noyau intervienne afin de réaliser des opérations urgentes ; (3) La troisième consiste à comprendre les conséquences de l'ajout de composants ayant le droit de faire des lectures et des écritures dans l'espace d'adressage.
    80 
    81 3. Pour le système d'exploitation, il s'agit de comprendre comment une application peut utiliser les ressources matérielles (processeur, périphériques et mémoire) de manière sûre. Il n'y aura qu'une seule application, mais elle pourra avoir plusieurs fils d'exécution exécutés en parallèle sur un ou plusieurs processeurs. Il s'agit aussi de comprendre comment la mémoire est allouée au noyau du système d'exploitation et à l'application et comment sont gérés les fichiers sur le disque et dans la mémoire.
    82 
    83 Souvent, pour présenter les concepts des systèmes d'exploitation (OS), on utilise une méthode ''top-down''. Les principes des services d'un OS tels que la gestion des fichiers, des processus, des communications inter-processus sont expliqués, puis illustrés sur un vrai système open source tel que Linux. Comme Linux est complexe, il est juste possible d'en voir une partie, et c'est parfois au détriment de la vue d'ensemble. Pour une UE sur l'architecture des ordinateurs, cette approche n'est pas idéale parce qu'elle est trop éloignée du matériel.
     81Pour présenter les concepts des systèmes d'exploitation (OS), on utilise généralement une méthode ''top-down''. Les principes des services de l'OS tels que la gestion des fichiers, des processus, des communications inter-processus sont expliqués, puis illustrés sur un système open source de type Unix. Comme c'est complexe, il est juste possible d'en voir une partie, et c'est parfois au détriment de la vue d'ensemble. Pour une UE sur l'architecture des ordinateurs, cette approche n'est pas idéale parce qu'elle est trop éloignée du matériel.
    8482
    8583C'est pourquoi on utilise une approche ''bottom-up''. Nous partons d’un dossier vide, et nous ajoutons progressivement les services en limitant le nombre de fichiers et la taille des codes. Chaque nouveau service qui s'ajoute s'appuie sur les services précédemment construits.
     
    9795* [htdocs:cours/Archi-2-B7-synchro-2p.pdf Cours-B7 : Mécanismes de synchronisation]
    9896* [htdocs:cours/Archi-2-B8-initiateurs-2p.pdf Cours-B8 : Périphériques initiateurs]
    99 {{{#!protected
    100 * [htdocs:cours/Archi-2-B9-disk-2p.pdf Cours-B9 : Système de fichiers]
    101 }}}
     97* [htdocs:cours/Archi-2-B9-disk-2p.pdf Cours-B9 : Contrôleur et API graphique]
    10298
    10399= 3. Séances de TD et TME
     
    112108* [wiki:AS6-TME-B7 TME-B7 : Mécanismes de synchronisation]
    113109* [wiki:AS6-TME-B8 TME-B8 : Périphériques Initiateurs]
    114 {{{#!protected
    115 * [wiki:AS6-TME-B9 TME-B9 : Système de fichiers]
    116 }}}
     110* [wiki:AS6-TME-B9 TME-B9 : Contrôleur et API graphique, réalisation d'un jeu]
    117111
    118112= 4. Documents