Changes between Version 3 and Version 4 of SoclibCourseTp3


Ignore:
Timestamp:
Sep 12, 2009, 11:06:39 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v3 v4  
    9090 * `vci_vgsb.h` : définition du composant `VciVgsb`
    9191 * `vci_vgsb.cpp` : méthodes associées
    92  * `tp3_mono_top.cpp` : top-cell d'une architecture simple à deux composants (fichier incomplet)
     92 * `tp3_top.cpp` : top-cell d'une architecture simple à deux composants (fichier incomplet)
     93 * `tp3_segmentation.h` : définition des adresses de base et des longueurs des segments.
     94
     95== 5.1 Segmentation de l'espace adressable ==
     96
     97Cette architecture nécessite la définition de 6 segments:
     98 * '''seg_lcd''' est le segment associé au coprocesseur LCD. On prendra pour adresse de base la valeur 0xD0000000. La longueur de 16 octets correspond aux quatre registres adressables de ce composant.
     99 * '''seg_tty''' est le segment associé au contrôleur de terinaux TTY. On prendra pour adresse de base la valeur 0xC0000000, et pour longueur 64 octets, ce qui permet d'adresser jusqu'à 4 terminaux indépendants (consulter la spécification fonctionnelle du composant VciMultiTty).
     100 * '''seg_reset''' est le segment contenant contient le code de ''boot'' exécuté à la mise sous tension. Il est évidemment assigné à la ROM. L'adresse de base 0xBFC00000 est imposée par la spécification du processeur MIPS32. On choisira une capacité de stockage de 4Koctets.
     101 * '''seg_giet''' est le segment contenant le code du Gestionnaire d'Interruptions, Exceptions, et Trappes (GIET). Il est assigné à la RAM. L'adresse de base 0x80000000 est imposée par la spécification du processeur MIPS32. On choisira une capacité de stockage de 4 Koctets. 
     102 * '''seg_code''' est le segment contenant le code de l'application logicielle embarquée. Il est assigné à la RAM. On choisira pour adresse de base la valeur 0x00400000, et une capacité de stockage de 16 Koctets. 
     103 * '''seg_data''' est le segment contenant les données globales et la pile d'exécution de l'application logicielle embarquée. Il est assigné à la RAM. On choisira pour adresse de base la valeur 0x10000000, et une capacité de stockage de 64 Koctets.
     104
     105Contrairement à ce que nous avons fait dans le TP2, on ne définit pas les caractéristiques des segments (adresse de base et longueur)
     106directement dans le fichier '''tp3_top.cpp'', car ces valeurs ne sont plus utilisées par le matériel (par l'intermédiaire de la MappingTable),
     107mais aussi par le logiciel embarqué (qui a besoin des adresses de base des différents périphériques).
     108On définit donc ces valeurs dans un séparé fichier ''tp3_segmentation.h'', qui sera inclus dans tous les fichiers qui ont besoin de cette information.
     109
     110Compêtez le fichier ''tp3_segmentation.h''.
    93111
    94112== 5.1 Génération du logiciel embarqué ==
    95113
    96 == 5.2 Instanciation des codèles des composants ==
     114== 5.2 Instanciation des modèles des composants ==
    97115
    98116== 5.3 Définition de la Top-cell  ==
     
    107125 * '''seg_reset''' est le segment contenant contient le code de ''boot'' exécuté à la mise sous tension. Il est évidemment assigné à la ROM. L'adresse de base 0xBFC00000 est imposée par la spécification du processeur MIPS32. On choisira une capacité de stockage de 4Koctets.
    108126 * '''seg_giet''' est le segment contenant le code du Gestionnaire d'Interruptions, Exceptions, et Trappes (GIET). Il est assigné à la RAM. L'adresse de base 0x80000000 est imposée par la spécification du processeur MIPS32. On choisira une capacité de stockage de 4 Koctets. 
    109  * '''seg_code''' est le segment contenant le code de l'application logicielle embarquée. Il est assigné à la RAM. On choisira pour adresse de base la valeur 0x00400000,
    110 et une capacité de stockage de 16 Koctets. 
     127 * '''seg_code''' est le segment contenant le code de l'application logicielle embarquée. Il est assigné à la RAM. On choisira pour adresse de base la valeur 0x00400000, et une capacité de stockage de 16 Koctets. 
    111128 * '''seg_data''' est le segment contenant les données globales et la pile d'exécution de l'application logicielle embarquée. Il est assigné à la RAM. On choisira pour adresse de base la valeur 0x10000000, et une capacité de stockage de 64 Koctets.
    112129