Changes between Version 106 and Version 107 of WikiStart
- Timestamp:
- Dec 18, 2021, 5:35:59 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v106 v107 152 152 153 153 154 > ''Cliquez sur les titres pour accéder aux slides''155 154 156 == [htdocs:cours/AS5-9-4p.pdf 1. Cours démarrage de l'ordinateur ⟶]155 == Cours démarrage de l'ordinateur 157 156 1. Architecture d'un SoC minimal (SoC = ordinateur intégré sur une puce), celui que vous allez utiliser en TP. 158 157 1. Chaîne de compilation du langage C puisque vous allez utiliser le langage C … … 160 159 1. Présentation du prototype virtuel du SoC que vous allez utiliser en TP 161 160 162 == [htdocs:cours/AS5-10-4p.pdf 2. Cours application en mode user ⟶]161 == Cours application en mode user 163 162 1. Modes d'exécution du MIPS 164 163 1. Composants du noyau et de la libc … … 166 165 1. Visite guidée du code sur un exemple 167 166 168 == [htdocs:cours/AS5-11-4p.pdf 3. Cours interruptions et threads ⟶]167 == Cours interruptions 169 168 1. Définition des interruptions 170 1. Vue matérielle et gestion logicielle des interruptions 171 1. Définition d'un fil d'exécution 172 1. Principe de l'exécution en temps partagé 169 1. Vue matérielle des interruptions 170 1. Vue logicielle des interruptions 173 171 174 172 … … 178 176 179 177 180 > ''Cliquez sur les titres pour accéder aux sujets''181 178 182 Les séances commencent par des questions traitées en TD puis elles continuent par les travaux pratiques à faire vous-même. 183 == [wiki:AS5-TME9 1. Boot et premier programme en mode kernel ⟶] 179 == Boot et premier programme en mode kernel 184 180 185 181 Dans cette séance, il s'agit de comprendre comment un ordinateur simple démarre et comment le programmeur peut interagir avec le monde extérieur via les contrôleurs de périphériques. Il s'agit également d'utiliser le langage C pour les programmes et donc la chaîne de compilation ''GCC'' ainsi que d'introduire l'usage d'un `Makefile`. Nous décrivons aussi les fonctions C pour les entrées-sorties telles que `printf()` et `gets()`. Pour toutes les étapes, le nom de l'exécutable produit est `kernel.x`. … … 187 183 L'architecture de l'ordinateur utilisé dans cette séance est composée d'un processeur MIPS, d'une mémoire multisegment et d'un contrôleur de terminal qui peut contrôler jusqu'à 4 terminaux indépendants. 188 184 189 == [wiki:AS5-TME10 2. Application simple en mode utilisateur ⟶]185 == Application simple en mode utilisateur 190 186 191 187 Dans cette séance, nous utilisons les deux modes d'exécution du processeur, le mode ''kernel'' et le mode ''user''. En mode ''kernel'', le processeur a droit à toutes les instructions et à tout l'espace d'adressage. En mode ''user'', le processeur est bridé, certaines instructions sont interdites et seule une partie de l'espace d'adressage est autorisé. Nous allons voir comment se passe le passage d'un mode à l'autre. Dans toutes les étapes, le code se répartie dans deux exécutables: `kernel.x` et `user.x`. Nous allons voir en particulier comment fonctionne le gestionnaire d'appel système. 192 188 193 == [wiki:AS5-TME11 3. Gestionnaire d'interruption et thread ⟶]189 == Gestionnaire d'interruption 194 190 195 Dans cette troisième séance, il s'agit de comprendre comment fonctionnent le gestionnaire des interruptions et le principe d'exécution de plusieurs fils d'exécution (thread) en temps partagé. Pour cela, nous allons ajouter dans l'architecture deux composants : un timer qui active périodiquement une ligne d'interruption et un concentrateur de lignes d'interruption. Le concentrateur permet de combiner toutes les lignes d'interruptions des contrôleurs de périphériques pour n'en produire qu'une seule à destination du processeur MIPS. Pour l'exécution des programmes en temps partagé, nous allons décrire le principe de fil d'exécution un processus, nous allons voir comment les créer et comment ils peuvent s'exécuter à tour de rôle sur le processeur.191 Dans cette troisième séance, il s'agit de comprendre comment fonctionnent le gestionnaire des interruptions. Pour cela, nous allons ajouter dans l'architecture deux composants : un timer qui active périodiquement une ligne d'interruption et un concentrateur de lignes d'interruption. Le concentrateur permet de combiner toutes les lignes d'interruptions des contrôleurs de périphériques pour n'en produire qu'une seule à destination du processeur MIPS.