| 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) |
| 21 | * -NICACHE : spécifie le nombre d'ensembles ('set') pour le cache d'instructions |
| 22 | * -NDCACHE : spécifie le nombre d'ensembles ('set') pour le cache de données |
| 23 | * -IOCFILE : active le périphérique de bloc et spécifie le chemin vers le fichier qui servira d'image pour ce contrôleur |
| 24 | * -FBFSIZE : active le périphérique graphique et spécifie la largeur/hauteur de la fenêtre graphique (en pixels) |
| 25 | * -TRACE : spécifie le chemin vers le fichier qui contiendra les informations de tracage |
| 26 | * -STATS : spécifie le chemin vers le fichier qui contiendre les informations de statistiques |
| 27 | * -DEBUG : spécifie le nombre de cycles à partir duquel le mode débogage est actif |
| 28 | * -TOCYCLE : spécifie le nombre de cycles à partir duquel le mode débogage devient inactif |
| 29 | * -LATENCY : spécifie la latence du bus (en nombre de cycles) |
| 30 | |
| 31 | === Cartographie de la mémoire === |
| 32 | |
| 33 | En fonction des adresses croissantes : |
| 34 | |
| 35 | ||= Adresse =||= Taille =||= Périphérique : Utilisation =|| |
| 36 | || 0x00400000 || 0x00004000 || RAM : Code de l'application utilisateur || |
| 37 | || 0x10000000 || 0x00080000 || RAM : Données de l'application utilisateur || |
| 38 | || 0x20000000 || 0x00001000 || RAM : Pile de l'application utilisateur || |
| 39 | || 0x80000000 || 0x00004000 || RAM : Code du système d'exploitation || |
| 40 | || 0x81000000 || 0x00004000 || RAM : Données (cachables) du système d'exploitation || |
| 41 | || 0x82000000 || 0x00001000 || RAM : Données (non-cachables) du système d'exploitation || |
| 42 | || 0x90000000 || 0x00000200 || TTY || |
| 43 | || 0x91000000 || 0x00000080 || TIMER || |
| 44 | || 0x92000000 || 0x00000020 || IOC || |
| 45 | || 0x93000000 || 0x00000100 || DMA || |
| 46 | || 0x96000000 || 0x00004000 || FBF || |
| 47 | || 0x9F000000 || 0x00000100 || ICU || |
| 48 | || 0xBFC00000 || 0x00001000 || ROM : Code de démarrage || |
| 49 | |
| 50 | === Cartographie des interruptions === |
| 51 | |
| 52 | Le concentrateur d'interruptions matérielles (`ICU`) est capable de multiplexer jusqu'à 32 interruptions d'entrée vers 1 interruption de sortie (à destination du processeur MIPS32). L'interruption matérielle connectée à l'entrée `i` de l'ICU est notée irq_in[i]. Voici la cartographie des entrées pour la plateforme mono-processeur : |
| 53 | |
| 54 | ||= Entrée =||= Périphérique =|| |
| 55 | || irq_in![0] || IOC || |
| 56 | || irq_in![1] || TIMER || |
| 57 | || irq_in![2] || DMA || |
| 58 | || irq_in![3] || TTY0 : terminal de la tâche n°0 || |
| 59 | || irq_in![4] || TTY1 : terminal de la tâche n°1 (n'existe que si NTASKS > 1) || |
| 60 | || irq_in![5] || TTY2 : terminal de la tâche n°2 (n'existe que si NTASKS > 2) || |
| 61 | || irq_in![6] || TTY3 : terminal de la tâche n°3 (n'existe que si NTASKS > 3) || |
| 62 | |