Changes between Version 1 and Version 2 of smc4


Ignore:
Timestamp:
Jan 18, 2019, 11:51:00 AM (5 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • smc4

    v1 v2  
    3131}}}
    3232
     33Dans la fenêtre '''term1''' du simuteur, lorsque le prompt du schell [ksh] apparait, vous pouvez exécuter l'application hello.elf
     34{{{
     35load /bin/user/hello.elf
     36}}}
     37
    3338Désormais le moteur de simulation est systemcass qui profite de la structuration des composants SoCLib.
    3439Un composant SoCLib sépare explicitement les fonctions de transition, de génération de Moore et de génération de Mealy dans ses automates.
     
    4146Ainsi, on ne peut bénéficier de la parallélisation que pour les architectures de TSAR multi-clusters.
    4247
    43 Pour demander la parallélisation, il suffit de lancer le simulateur avec le paramètre `-THREADS x`, où x est le nombre de threads OpenMP demandé (qui doit être au plus égal au nombre de cores, ici 6). Par exemple, pour une plateforme TSAR à 4 clusters (quel que soit le nombre de core par cluster), après voir compilez, vous écriez :
     48Pour demander la parallélisation, il suffit de lancer le simulateur avec le paramètre `-THREADS x`, où x est le nombre de threads OpenMP demandé (qui doit être au plus égal au nombre de cores, ici 6). Par exemple, pour une plateforme TSAR à 4 clusters (quel que soit le nombre de cores par cluster), après voir compilez, vous écriez :
    4449{{{
    4550cd /dsk/l1/misc/almos-mkh/tsar/plateforms/tsar_generic_iob/
     
    4752}}}
    4853
     54A titre indicatif, le simulateur de tsar_generic_iob s'exécute à environ 200KHz pour 1 cluster à 1 core sur un core du PC et à environ 100KHz pour 4 clusters à 4 cores (16 cores) en tout sur 4 cores du PC.
    4955
    50  
     56== Questions
    5157
     581. Démarrez le simulateur et exécuter l'application idbg.elf `load /bin/user/idbg.elf`. Cette application permet d'afficher dans la fenêtre '''term0''' l'état de certaines structures du noyau. La commande `h` permet d'obtenir de l'aide.
     59   a. Avec la commande `p`, déterminer le nombre de processus sur le cluster 0.
     60   a. Avec la commande `s`, déterminer le nombre de threads alluoués au core 0 du cluster 0.
     61
     622. Modifiez dans le fichier `kernel/kernel_config.h` l'état des variables `DEBUG_PROCESS_DESTROY`, `DEBUG_PROCESS_MAKE_EXEC` et `DEBUG_PROCESS_MAKE_FORK`, recompilez et exécutez le simulateur (il n'est pas nécessaire de le recompiler le simulateur si vous ne modifiez pas la plateforme).
     63   a. Les étapes du fork et de l'exec des process ksh s'affichent dans `term0`, commentez les messages concernant le `ksh[1]` (le code des fonctions fork et exec (dans le noyau) se trouve [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/process.h kernel/kern/process.h] et [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/kern/process.c kernel/kern/process.c].
     64   
     65