Français
Électronique industrielle

PLIC

Sigle de contrôleur d'interruption au niveau de la plateforme. Dans l'architecture RISC-V, c'est un composant responsable du routage des interruptions de leurs causes vers les cœurs (harts).

Le PLIC: le contrôleur de trafic pour les interruptions du processeur

Un PLIC est un composant matériel dans les systèmes RISC-V qui se situe entre les sources d'interruption (périphériques, temporisateurs, dispositifs externes) et les cœurs de processeur (appelés harts dans la terminologie RISC-V). Son rôle est simple: lorsqu'un dispositif a besoin d'attention, le PLIC reçoit le signal, décide quel hart doit le gérer et délivre l'interruption. Sans PLIC, chaque hart aurait besoin de connexions directes à chaque source d'interruption, ce qui deviendrait ingérable dans les systèmes avec de nombreux cœurs et de nombreux dispositifs.

Le PLIC gère les interruptions en attribuant à chaque source un niveau de priorité, généralement de 0 à 15 ou plus, selon l'implémentation. Il prend également en charge les registres de seuil: chaque hart peut définir une valeur de seuil, ce qui signifie qu'il n'acceptera que les interruptions dont la priorité est supérieure à ce seuil. Cela permet à un cœur de reporter temporairement des tâches de faible priorité ou de rejeter des classes entières d'interruptions pendant les sections critiques. Le PLIC suit les interruptions en attente, celles qui sont activées et quel hart doit gérer chacune d'elles.

Routage et sélection du Hart

Le PLIC peut acheminer une seule source d'interruption vers plusieurs harts ou vers des harts spécifiques uniquement. Dans certaines conceptions, une interruption est revendiquée par le premier hart qui lit le registre de revendication du PLIC; dans d'autres, le PLIC lui-même sélectionne le hart cible. La logique de sélection prend en compte la priorité, le seuil et parfois l'équilibrage de charge. Une fois qu'un hart revendique une interruption, il doit terminer son traitement, puis écrire un registre de complétion pour signaler au PLIC qu'il a terminé. Cela permet au PLIC de désactiver l'interruption et potentiellement de l'envoyer à un autre hart si nécessaire.

Les implémentations de PLIC varient. Les conceptions simples sont câblées avec un nombre fixe de sources d'interruption et de harts; les systèmes complexes incluent des contextes configurables (un hart peut avoir des contextes M-mode et S-mode distincts, chacun avec son propre seuil et ses registres de revendication). Le PLIC lui-même est généralement mappé en mémoire, occupant une plage d'adresses contiguë à laquelle le logiciel accède via des instructions de chargement et de stockage. Les implémentations typiques allouent environ 4 octets par source d'interruption plus 8 octets par contexte de hart, de sorte que l'empreinte mémoire augmente avec l'échelle.

En pratique, des problèmes surviennent lorsque les priorités d'interruption sont mal configurées, ce qui entraîne une privation des dispositifs sensibles à la latence par des sources de priorité inférieure, ou lorsque le seuil est réglé trop haut, ce qui entraîne la perte d'interruptions. Le rôle du PLIC le rend invisible pendant le fonctionnement normal, mais critique lors de l'intégration du système. Le débogage nécessite souvent d'examiner directement les registres mappés en mémoire pour voir quelles interruptions sont en attente ou activées, et quels contextes de hart les ont revendiquées.

Sources

Entrée IG328224/03/2010

Autres termes : Électronique industrielle

Tout voir

Recevez le mot du jour

Un terme industriel chaque jour, avec le métier auquel il appartient et pourquoi il mérite d'être connu. Sans publicité.