Changes between Version 30 and Version 31 of WikiStart


Ignore:
Timestamp:
Dec 5, 2020, 10:06:41 AM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v30 v31  
    99Cette page est dédiée aux dernières séances du module Architecture des ordinateurs (LU3NI029).
    1010Vous y trouverez: (i) les cours et les documentations sur le MIPS (vous avez déjà lu la première partie, il y a la suite) (ii) les objectifs généraux de ces séances en lien avec ce que vous avez déjà vu dans les premières séances de l'UE, (iii) une explication du principe pédagogique choisi consistant à construire un début de système d'exploitation sur un petit ''ordinateur'' (SoC) à partir de rien, et enfin (iv) la description des séances.
    11 
    12 
    13 
    14 = 1. Cours et documents annexes
    15 
    16 
    17 
    18 * **[htdocs:cours/AS5-9-2p.pdf Cours démarrage]**
    19   1. Architecture d'un SoC minimal (SoC = ordinateur intégré sur une puce)
    20   1. Chaîne de compilation du langage C puisque vous allez utiliser le langage C
    21   1. Présentation des piles de couches logicielles pour comprendre comment l'application communique avec le système d'exploitation
    22   1. Présentation du prototype virtuel du SoC que vous allez utiliser en TP
    23 
    24 * **[htdocs:cours/doc_MIPS32.pdf Documentation MIPS32 architecture et assembleur (mode user)]**
    25   1. Registres de l'architecture externe accessible en mode user (p. 2)
    26   1. Espace d'adressage du MIPS32 (p. 4)
    27   1. Syntaxe et principales directives du langage assembleur (p. 5)
    28   1. Codage des instructions utilisateur du MIPS32 (p. 9)
    29   1. Instructions accessible en mode utilisateur (p. 11)
    30   1. Appels système de simulateur de processeur **Mars** (p. 22)
    31   1. Convention d'appel des fonctions (p. 24)
    32 
    33 * **[wiki:Doc-MIPS-Archi-Asm-kernel Documentation MIPS32 architecture et assembleur (mode kernel)]**
    34   1. Modes d'exécution du processeur MIPS
    35   2. Registres protégés utilisables seulement en mode kernel
    36   3. Découpage de l'espace d'adressage
    37   4. Instructions protégées
    38   5. Cause d'entrée et de sortie du noyau du système d'exploitation
    39   6. Fonctionnement du registre d'état `c0_sr`
    40   7. Fonctionnement du registre de cause `c0_cause`
    41 
    42 * **[wiki:Howto-TP Configuration de l'environnement des TP]
    43   1. Environnement de travail pour les TP
    44   1. Prototype virtuel et chaîne de compilation MIPS
    45   1. Compilation et exécution des programmes
    4611
    4712
     
    12590
    12691
    127 == [wiki:AS5-TME9 1. Boot et premier programme en mode kernel]
     92== [wiki:AS5-TME9 TME-1. Boot et premier programme en mode kernel]
    12893
    12994Dans 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`.
     
    13196L'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.
    13297
    133 ==  [wiki:AS5-TME10 2. Application simple en mode utilisateur]
     98==  [wiki:AS5-TME10 TME-2. Application simple en mode utilisateur]
    13499
    135100Dans 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.
    136101
    137 == [wiki:AS5-TME11 3. Gestionnaire d'interruption]
     102== [wiki:AS5-TME11 TME3. Gestionnaire d'interruption]
    138103
    139104Dans 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.
     105
     106
     107
     108= 1. Cours et documents annexes
     109
     110
     111
     112* **[htdocs:cours/AS5-9-2p.pdf Cours démarrage]**
     113  1. Architecture d'un SoC minimal (SoC = ordinateur intégré sur une puce)
     114  1. Chaîne de compilation du langage C puisque vous allez utiliser le langage C
     115  1. Présentation des piles de couches logicielles pour comprendre comment l'application communique avec le système d'exploitation
     116  1. Présentation du prototype virtuel du SoC que vous allez utiliser en TP
     117
     118* **[htdocs:cours/doc_MIPS32.pdf Documentation MIPS32 architecture et assembleur (mode user)]**
     119  1. Registres de l'architecture externe accessible en mode user (p. 2)
     120  1. Espace d'adressage du MIPS32 (p. 4)
     121  1. Syntaxe et principales directives du langage assembleur (p. 5)
     122  1. Codage des instructions utilisateur du MIPS32 (p. 9)
     123  1. Instructions accessible en mode utilisateur (p. 11)
     124  1. Appels système de simulateur de processeur **Mars** (p. 22)
     125  1. Convention d'appel des fonctions (p. 24)
     126
     127* **[wiki:Doc-MIPS-Archi-Asm-kernel Documentation MIPS32 architecture et assembleur (mode kernel)]**
     128  1. Modes d'exécution du processeur MIPS
     129  2. Registres protégés utilisables seulement en mode kernel
     130  3. Découpage de l'espace d'adressage
     131  4. Instructions protégées
     132  5. Cause d'entrée et de sortie du noyau du système d'exploitation
     133  6. Fonctionnement du registre d'état `c0_sr`
     134  7. Fonctionnement du registre de cause `c0_cause`
     135
     136* **[wiki:Howto-TP Configuration de l'environnement des TP]
     137  1. Environnement de travail pour les TP
     138  1. Prototype virtuel et chaîne de compilation MIPS
     139  1. Compilation et exécution des programmes