Changes between Version 56 and Version 57 of WikiStart
- Timestamp:
- Sep 2, 2021, 6:49:07 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v56 v57 28 28 Pour vous aidez, le plan des sections de ces documents est recopié ci-après. 29 29 30 * **A. [htdocs:cours/doc_MIPS32.pdf Documentation MIPS32 architecture et assembleur en mode user ]**30 * **A. [htdocs:cours/doc_MIPS32.pdf Documentation MIPS32 architecture et assembleur en mode user ⟶]** 31 31 1. Registres de l'architecture externe accessible en mode user (p. 2) 32 32 1. Espace d'adressage du MIPS32 (p. 4) … … 37 37 1. Convention d'appel des fonctions (p. 24) 38 38 39 * **B. [wiki:Doc-MIPS-Archi-Asm-kernel Documentation MIPS32 architecture et assembleur en mode kernel ]**39 * **B. [wiki:Doc-MIPS-Archi-Asm-kernel Documentation MIPS32 architecture et assembleur en mode kernel ⟶]** 40 40 1. Modes d'exécution du processeur MIPS 41 41 2. Registres protégés utilisables seulement en mode kernel … … 46 46 7. Fonctionnement du registre de cause `c0_cause` 47 47 48 * **C. [wiki:Howto-TP Configuration de l'environnement des TP ]48 * **C. [wiki:Howto-TP Configuration de l'environnement des TP ⟶] 49 49 1. Environnement de travail pour les TP 50 50 1. Prototype virtuel et chaîne de compilation MIPS … … 136 136 > ''Cliquez sur les titres pour accéder aux slides'' 137 137 138 == [htdocs:cours/AS5-9-2p.pdf 1. Cours démarrage ]138 == [htdocs:cours/AS5-9-2p.pdf 1. Cours démarrage ⟶] 139 139 1. Architecture d'un SoC minimal (SoC = ordinateur intégré sur une puce), celui que vous allez utiliser en TP. 140 140 1. Chaîne de compilation du langage C puisque vous allez utiliser le langage C … … 142 142 1. Présentation du prototype virtuel du SoC que vous allez utiliser en TP 143 143 144 == [htdocs:cours/AS5-10-2p.pdf 2. Cours application en mode user ]144 == [htdocs:cours/AS5-10-2p.pdf 2. Cours application en mode user ⟶] 145 145 1. Modes d'exécution du MIPS 146 146 1. Composants du noyau et de la libc … … 157 157 158 158 Les séances commencent par des questions traitées en TD puis elles continuent par les travaux pratiques à faire vous même. 159 == [wiki:AS5-TME9 1. Boot et premier programme en mode kernel ]159 == [wiki:AS5-TME9 1. Boot et premier programme en mode kernel ⟶] 160 160 161 161 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`. … … 163 163 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. 164 164 165 == [wiki:AS5-TME10 2. Application simple en mode utilisateur ]165 == [wiki:AS5-TME10 2. Application simple en mode utilisateur ⟶] 166 166 167 167 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. 168 168 169 == [wiki:AS5-TME11 3. Gestionnaire d'interruption ]169 == [wiki:AS5-TME11 3. Gestionnaire d'interruption ⟶] 170 170 171 171 Dans cette troisième séance, il s'agit de comprendre comment fonctionne le gestionnaire des interruptions. Pour cela, nous allons ajouter dans l'architecture deux autres composants : un timer qui compte le temps (ou ici qui compte les cycles) et un concentrateur d'interruption. Ce concentrateur permet de mixer toutes les lignes d'interruptions des contrôleurs de périphériques pour n'en produire qu'une seule à destination du processeur MIPS.