Changes between Version 1 and Version 2 of wti_box_attribution


Ignore:
Timestamp:
Aug 1, 2016, 3:33:58 PM (6 years ago)
Author:
laniel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • wti_box_attribution

    v1 v2  
    77
    88This peripheral is principally used to write to certain register of the [http://www.soclib.fr/trac/dev/wiki/Component/VciXicu Xicu] component. Those registers are mailboxes, when one of them is written then the XICU emits an interrupt so the concerned core will execute the associated ISR.
     9
     10[[Image(WTI.svg, 50%)]]
    911
    1012We call those interruptions the **Write Triggered Interruptions (WTI)** because they are triggered by a write operation in the Xicu's mailboxes register.
     
    2830
    2931
    30 == Déroulement d'une opération d'entrée/sortie avec un périphérique externe ==
    31 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.
     32== External peripheral's I/O operation progress ==
     33Each external peripheral is protected by a global lock, to execute an I/O operation with one of this peripheral we firstly have to the lock.
    3234
    33 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.
     35We decided that before to take the peripheral's lock the core should assure that it got a mailbox. Indeed, it is easier to get a mailbox because they are 12 by cluster. Moreover, they are shared only by the cores of the same cluster. //A contrario//, the peripheral are unique so all the architecture's core compete for their access.
    3436
    35 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.
     37Once the mailbox and the lock got we have to configure the Iopic
    3638
     39After the interruption's reception the peripheral's lock and the mailbox will be released.
    3740
     41Moreover, the Iopic will be un-configure, that is if the peripheral sends an interrup it will be in a special mailbox : `DEV_NULL`.
    3842
    39 Lors de la réception d'une interruption le verrou du périphérique et la boîte aux lettres seront rendus.
     43The `DEV_NULL` mailbox is the first free mailbox of the cluster 0's Xicu, its ISR is executed by the core 0 of this cluster.
    4044
    41 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`.
     45The ISR linked to this specific mailbox only prints a error message which points that an unwanted interrupt was received. This mecanism was implemented to protect the operation system against peripheral's potential dysfunction.
    4246
    43 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.
     47In the first figure, the core P1 begins an I/O operation with the disk. In addition to configure the disk, the core also configures the IOPIC so that the disk can write in the local Xicu's fifth mailbox.
    4448
    45 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.
     49When the disk will end its I/O operation, it will ordoer the IOPIC to write in the fifth mailbox so the core P1 will execute the disk's ISR.
    4650
    47 Dans la première figure, le cœur P1 initie une opération d'entrée/sortie avec le disque. En plus de paramétrer le disque, le cœur paramètre aussi l'IOPIC afin que le disque écrive dans la boîte aux lettres 5 de l'XICU locale.
    48 
    49 Lorsque le disque aura fini son opération il ordonnera à l'IOPIC d'écrire dans la boîte aux lettres 5 ce qui aura pour effet de faire exécuter l'ISR liée au disque par le cœur P1.
    50 
    51 
    52 
    53 == API d'attribution des boîtes aux lettres ==
     51== mailbox attribution API ==
    5452Pour mettre en place ce mécanisme nous avons dû écrire une API, celle-ci est composée d'une structure et de trois fonctions.
    5553