Version 9 (modified by 9 years ago) (diff) | ,
---|
Politique d'attribution des boîtes aux lettres des WTI
L'architecture TSAR possède un composant Iopic. Ce composant permet à un périphérique externe d'écrire à une adresse donnée.
Ce périphérique est principalement utilisé pour écrire dans certains registres du composant Xicu. Ces registres sont des boîtes aux lettres, lorsque l'une de ces boîtes a été écrite alors l'Xicu lévera une interruption et le processeur concerné exécutera l'ISR associée.
On appelle ces interruptions des Write Triggered Interruptions (WTI) car elles sont déclenchées par une opération d'écriture dans les registres boîtes aux lettres de l'Xicu.
Attribution des boîtes aux lettres
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).
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.
Nous avons choisi une politique d'attribution des boîtes aux lettres inspirée de celle du GIET-VM.
Chaque cœur est responsable d'un certains nombre de boîte aux lettres, c'est-à-dire qu'il exécutera les ISR des interruptions venant de ses boîtes aux lettres.
Afin d'équilibrer la charge entre les différents cœur il a été décidé d'utiliser une stratégie d'allocation basée sur le round robin.
Un index indiquera la boîte suivant la dernière boîtes aux lettres allouées, la recherche d'une boîte libre s'effectuera circulairement à partir de cet index.
Sur la figure, B8 est la dernière boîte à avoir été allouée (l'index pointe sur B9). La recherche aura donc lieu à partir de B9, or B9 est déjà utilisée.
Par conséquent ce sera B10 qui sera allouée, l'index pointera sur B11 et ce sera le processeur P3 qui exécutera l'ISR.
Déroulement d'une opération d'entrée/sortie avec un périphérique externe
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.
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.
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.
Attachments (5)
- WTI.2.png (61.7 KB) - added by 9 years ago.
-
responsibility.svg (39.3 KB) - added by 9 years ago.
Chaque cœur est responsable d'un certain nombre de boîte aux lettres
-
WTI.png (63.8 KB) - added by 8 years ago.
Cheminement d'une WTI selon la politique pollueur/payeur
-
WTI.svg (777.6 KB) - added by 8 years ago.
Exemple de cheminement d'une WTI
-
allocation.svg (64.5 KB) - added by 8 years ago.
Ordre d'allocation lors d'une opération d'entrée/sortie
Download all attachments as: .zip