Changes between Version 16 and Version 17 of attribution_boite_wti
- Timestamp:
- Jul 30, 2016, 2:44:35 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
attribution_boite_wti
v16 v17 11 11 12 12 == Attribution des boîtes aux lettres == 13 Chaque cluster possède une Xicu qui contient 16 boîtes aux lettres, 4 sont réservées pour les interruptions inter-processeur (Inter Process Interruption ou IPI). 13 Chaque cluster possède une Xicu qui contient 16 boîtes aux lettres, 4 sont réservées pour les interruptions inter-processeur (Inter Process Interruption ou IPI). Pour le cluster 0 la cinquième boîte aux lettres est aussi réservée, c'est la boîte `DEV_NULL`, son utilité sera détaillée plus tard. 14 14 15 15 Les périphériques externes peuvent donc utiliser 12 de ces boîtes aux lettres afin de signaler la fin de l'opération d'entrée sortie et qu'il faut donc lancer l'ISR associée à ce périphérique. … … 30 30 31 31 == Déroulement d'une opération d'entrée/sortie avec un périphérique externe == 32 Chaque périphérique externe est protégé par un verrou global, doncpour pouvoir réaliser une opération d'entrée/sortie avec l'un de ces périphériques il faut d'abord prendre ce verrou.32 Chaque périphérique externe est protégé par un verrou global, pour pouvoir réaliser une opération d'entrée/sortie avec l'un de ces périphériques il faut d'abord prendre ce verrou. 33 33 34 Nous avons décidé qu'avant de prendre le verrou du périphérique le processeur devait s'assurer d'avoir obtenu une boîte aux lettres. En effet, il est plus facile d'obtenir une boîte aux lettres car il y en a 12 par cluster et qu'elles sont partagées uniquement par les cœur ducluster. //A contrario//, les périphériques sont uniques et tous les cœurs de l'architecture sont en concurrence pour les accéder.34 Nous avons décidé qu'avant de prendre le verrou du périphérique le processeur devait s'assurer d'avoir obtenu une boîte aux lettres. En effet, il est plus facile d'obtenir une boîte aux lettres car il y en a 12 par cluster. De plus elles ne sont partagées que par les cœur d'un même cluster. //A contrario//, les périphériques sont uniques et tous les cœurs de l'architecture sont en concurrence pour les accéder. 35 35 36 36 Une fois la boîte aux lettres et le verrou du périphérique obtenus il faudra configurer l'Iopic afin que celui-ci écrive dans la boîte aux lettres. 37 37 38 UNE FIGURE 38 [[Image(allocation.svg)]] 39 40 Lors de la réception d'une interruption le verrou du périphérique et la boîte aux lettres seront rendus. 41 42 De plus, l'IOPIC sera dé-configuré, c'est-à-dire que si le périphérique envoie une interruption celle-ci ira dans une boîte aux lettres particulière : `DEV_NULL`. 43 44 La boîte aux lettres `DEV_NULL` est la première boîte aux lettres disponibles de l'XICU du cluster 0, son ISR est traitée par le cœur 0 de ce cluster. 45 46 L'ISR associée à cette boîte aux lettres particulières affiche uniquement un message d'erreur indiquant qu'une interruption non souhaitée a été reçue. Ce mécanisme a été implémenté afin de prémunir le système d'exploitation de potentiels dysfonctionnement d'un périphérique. 47 48 39 49 40 50 == API d'attribution des boîtes aux lettres ==