Changes between Version 6 and Version 7 of HardAlmoGeneric
- Timestamp:
- Oct 8, 2013, 10:39:50 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HardAlmoGeneric
v6 v7 15 15 La plateforme mono-processeur peut être lancée avec les arguments suivants : 16 16 17 * -SYS : spécifie le chemin vers le binaire du système d'exploitation (normalement `sys.bin`)18 * -APP : spécifie le chemin vers le binaire de l'application (normalement `app.bin`)19 * -NCYCLES : spécifie le nombre de cycles de simulation avant l'arrêt 20 * -NTASKS : spécifie le nombre de tâches (entre 1 et 4)17 * -SYS : spécifie le chemin vers le fichier contenant le code binaire du système d'exploitation (normalement `sys.bin`) 18 * -APP : spécifie le chemin vers le fichier contenant le code binaire de l'application (normalement `app.bin`) 19 * -NCYCLES : spécifie le nombre de cycles de simulation avant l'arrêt du simulateur 20 * -NTASKS : spécifie le nombre de tâches maximum par processeur (entre 1 et 4) 21 21 * -NICACHE : spécifie le nombre d'ensembles ('set') pour le cache d'instructions 22 22 * -NDCACHE : spécifie le nombre d'ensembles ('set') pour le cache de données … … 72 72 73 73 Concernant la cartographie des interruptions, l'idée est la suivante : 74 * l'`IOC` est toujours connecté à irq_in![0]. 75 * ensuite, on a un ensemble de lignes d'interruptions pour `TIMER`, `DMA`, `TTY*` par processeur. 74 * `IOC` : une seule interruption, toujours connecté à irq_in![0]. 75 * `TIMER` : une interruption par processeur 76 * `DMA` : une interruption par processeur 77 * `TTY` : une interruption par processeur et par tâche exécutée sur ce processeur 76 78 77 Cet ensemble a un span qui suit la formule suivante : `irq_span = 2 + N_TASKS` (2 car `TIMER` et `DMA` ont des lignes fixes, `N_TASKS` car le nombre de lignes d'interruptions pour le `TTY` d'un processeur dépend du nombre de tâches qui s'exécutent dessus).79 Il y a donc (2 + N_TASKS) interruptions par processeur. 78 80 79 Le span global pourun processeur `P[i]` suit la formule : `irq_base_number = 1 + i * irq_span`.81 Le calcul de l'index de la première interruption vers un processeur `P[i]` suit la formule : `irq_base_number = 1 + i * irq_span`. 80 82 81 83 Enfin, on soulignera la contrainte suivante : il est impossible, avec les 32 lignes d'interruption possibles en entrée de l'`ICU`, de supporter la configuration maximale, à savoir 8 processeurs et 4 tâches par processeur. Le maximum supporté sera par exemple, 6 processeurs et 4 tâches/processeur ou 8 processeurs et 2 tâches/processeur.