wiki:WikiStart

Version 14 (modified by franck, 3 years ago) (diff)

--

Architecture des ordinateurs L3S6

Cette page est dédiée aux dernières séances du module Archi-2 (LU3NI031). Vous y trouverez: (i) les cours et les documentations sur le MIPS (ii) les objectifs généraux du Module, (iii) une explication du principe pédagogique choisi fondé sur l'expérimentation, et enfin (iv) la description des séances.

1. Objectifs généraux

L'UE Archi-2 est la suite de l'UE Archi-1 LU3IN029 du tronc commun au premier semestre. Archi-1 décrit tout d'abord l'architecture externe du MIPS (celle visible du programmeur) et la programmation structurée en assembleur (avec des fonctions et une pile). Dans une première partie, les programmes sont exécutés sur le simulateur de processeur MARS qui permet d'observer l'évolution des registres du processeur et l'évolution des segments de mémoire utilisés par le code, les data et la pile. L'UE présente ensuite 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 alors utilisé comme support d'un embryon de système d'exploitation construit pas-à-pas. À la fin du module, le système d'exploitation démarre et exécute une application laquelle interagit avec le SoC par le biais des appels système.

L'objectif général 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.

  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.
  1. 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 pour 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.
  1. 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.

2. Principe pédagogique

3. Fonctionnement des séances

4. Cours

5. Séances de TD et TME

6. Documents