Changes between Version 16 and Version 17 of attribution_boite_wti


Ignore:
Timestamp:
Jul 30, 2016, 2:44:35 PM (6 years ago)
Author:
laniel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • attribution_boite_wti

    v16 v17  
    1111
    1212== 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).
     13Chaque 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.
    1414
    1515Les 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.
     
    3030
    3131== 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, donc 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.
     32Chaque 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.
    3333
    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 du cluster. //A contrario//, les périphériques sont uniques et tous les cœurs de l'architecture sont en concurrence pour les accéder.
     34Nous 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.
    3535
    3636Une 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.
    3737
    38 UNE FIGURE
     38[[Image(allocation.svg)]]
     39
     40Lors de la réception d'une interruption le verrou du périphérique et la boîte aux lettres seront rendus.
     41
     42De 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
     44La 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
     46L'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
    3949
    4050== API d'attribution des boîtes aux lettres ==