ARM CPG "Bowen série" (quatre) gicv3 Architecture Foundation

l'architecture est l'architecture GICv3 GICv2 version améliorée, ajoute beaucoup de choses. Le changement est la suivante:

  • Utilisation du niveau de propriété (affinité hiérarchies), pour l'identification du noyau, le support de noyau plus gic

  • L'indépendant de l'interface de la CPU, l'utilisateur peut être conçu dans le noyau

  • Augmenter l'assemblage redistributeur pour relier le distributeur et l'interface cpu

  • Une augmentation de LPI, l'utilisation des STI à résoudre

  • Pour registre d'interface cpu, inscrivez-vous mode d'accès à augmenter le système

Une structure gicv3

La figure est l'architecture gicv3.

Il comprend les éléments suivants:

  • distributeur: SPI gestion d'interruption, envoie une interruption au redistributeur

  • redistributeur: PPI, SGI, LPI gestion d'interruption, envoie une interruption à l'interface cpu

  • interface cpu: interruption d'émission sur le noyau

  • ITS: interrompu pour l'analyse syntaxique LPI

Dans lequel, l'interface de la CPU est mise en oeuvre dans le noyau, le distributeur, le redistributeur, ITS est réalisé à l'intérieur du CPG.

interface cpu gic et redistributeur communication par protocole AXI-Stream pour communiquer.

En second lieu, le niveau de la propriété

Gicv3 un grand changement est l'identification du noyau. Du noyau n'est pas utilisé pour représenter un numéro unique, mais plutôt d'identifier la hiérarchie d'attributs, et le noyau ARM, utilisé pour identifier le système registre MPIDR_EL1 même noyau.

Chaque noyau, selon les différents niveaux d'attributs, l'utilisation de différents numéros d'identification. Ci-dessous, il est d'une structure à quatre couches, puis un noyau, il peut être utilisé pour identifier le xxx.xxx.xxx.xxx.

Ces méthodes d'identification et l'utilisation des registres d'architecture MPIDR_EL1 ARMv8 pour identifier le même noyau.

Chaque noyau, connecté à une interface de processeur, et une interface cpu relie le gic de redistributeur. redistributeur identité de base et l'identité de la même.

En troisième lieu, le paquet d'interruption

gicv3, se diviseront en deux grands groupes, group0 et groupe1.

  • group0: disponible pour utiliser EL3

  • groupe1: divisé en 2 groupes, respectivement, pour garantir l'utilisation et de cesser d'interruption non-sécurisé

    Comme indiqué ci-dessous:

Ce qui suit est une relation de correspondance IRQ, et les groupes FIQ.

Quatrièmement, interrompre le cycle de vie

Interrompre le cycle de vie, comme indiqué ci-dessous:

  • générer: Peripheral initier une pause

  • distribuer: distributeur pour recevoir des sources d'interruption de l'arbitrage, et ensuite envoyé à l'interface de la CPU correspondante

  • fournir: interface CPU envoie une interruption au noyau

  • Activer: noyau en lisant GICC_IAR registre d'interruption à approuver

  • baisse de priorité: registre GICC_EOIR base en écrivant à mettre en uvre la réinitialisation de priorité

  • désactivation: core GICC_DIR registre en écrivant à l'interruption non valide

    Cette interruption du cycle de vie, et interrompre le cycle de vie du même gicv2.

Cinquièmement, interrompant le flux

Le chiffre processus d'interruption gic, l'interruption est divisée en deux catégories:

  • La première consiste à briser un distributeur, comme interruption SPI

  • On n'est pas interrompu par un distributeur, comme interruption LPI

Pour interrompre le flux à travers le distributeur d'interruption

  • Périphérique initié interruption au envoyés distributeur

  • Le distributeur d'interruption et distribué au redistributeur approprié

  • redistributeur d'information d'interruption envoyé à l'interface cpu.

  • interface CPU génère l'exception d'interruption approprié au processeur

  • Le processeur reçoit l'anomalie, et le logiciel de traitement d'interruption

    LPI interrompt le processus d'interruption

  • Périphérique initié interruption aux envoyés ITS

  • ITS interruption d'analyse, a décidé d'envoyer un avenir redistributeur

  • ITS envoie une interruption au redistributeur approprié

  • redistributeur d'information d'interruption envoyé à l'interface cpu.

  • interface CPU génère l'exception d'interruption approprié au processeur

  • Le processeur reçoit l'anomalie, et le logiciel de traitement d'interruption

Sixième, la gestion des interruptions

la gestion des interruptions, le traitement dans le traitement déclenchée par le front et déclenché par niveau

1, un traitement de déclenchement de bord

Atteint l'interruption de bord externe, l'état d'interruption est mis à l'état en attente.

lit Software valeur de registre IAR indiquant le PE de reconnaissance d'interruption, l'état d'interruption est mis à l'état actif

Une fois le logiciel d'interruption de traitement est terminé, EOIR registre d'écriture, indique la remise à zéro de priorité. Après un certain temps, registre d'écriture DIR, l'état d'interruption est réglé sur l'état de repos.

2, le traitement déclenché par niveau

Haute interruption externe arrive, l'état d'interruption à un état d'attente.

lit logiciel registre IAR, PE représente la reconnaissance de l'interruption. Mais d'interruption encore élevé, l'état d'interruption dans l'état d'attente et actif.

Seven, inscrivez-vous

milieu gicv3, beaucoup plus de registres. En outre registre, fournit deux méthodes d'accès pour un accès mémoire mappée à un système d'accès au registre est la suivante:

registres de configuration de mémoire à accès:

  • GICC: registres d'interface cpu

  • GICD: registre de distribution

  • Gich: accès aux registres de commande d'interface virtuelle en mode hyperviseur

  • GICR: registre de redistributeur

  • GICV: registres d'interface virtuelle cpu

  • GITS: son registre

    Le système enregistre les registres accessibles:

  • ICC: registres d'interface cpu Systèmes physiques

  • ICV: registre de système d'interface de processeur virtuel

  • ICH: registre de commande d'interface de processeur virtuel

    La figure est gicv3, chaque emplacement de registre se trouve.

registre de système Gic pour le mode d'accès au registre est mis en oeuvre dans le noyau. Gic et le mode d'accès au registre mappés en mémoire, le gic en interne.

l'architecture gicv3, non obligatoire, le registre d'accès du système en mode registre, et non par l'accès mémoire mappée. Autrement dit, la CPI, ICV, registre du PCI, peut être mis en uvre également au sein gic, aller accessible via le mode mémoire mappée. Mais les implémentations générales, il n'y a pas de mise en uvre.

La figure suivante fait partie de la CPI de registre du système, et une relation de correspondance registre de mode mepped mémoire, verra plus de gicv3 spec.

Donc, la question est, gicv3. Pourquoi choisir l'interface cpu, détachée de gic, la réalisation du noyau interne? Pourquoi devrait cpu registres d'interface, les registres du système augmentent la méthode d'accès, mis en uvre dans le noyau de? Ce faisant, est-il bien?

Je pense que, gicv3 l'arrangement ci-dessus, le premier logiciel pour pouvoir écrire simple, universel, et le second est de permettre une réponse plus rapide aux interruptions.

tout ce que nous avons d'abord à comprendre, dans le registre gic, que certains registres, est souvent visité par le noyau, que certains registres ne sont pas accessibles fréquemment de base. Il ne fait aucun doute, les registres d'interface cpu, sera souvent accès de base, parce que les besoins de base pour accéder aux registres d'interface cpu pour reconnaître une interruption d'interruption terminée pour invalide d'interruption. Alors que l'autre registre, la configuration est interrompue, seul le noyau nécessaire pour configurer interrompue lorsque, avant qu'ils obtiennent une visite. Grâce à cette compréhension, puis après que je comprends est sur le point, est relativement facile.

Dans le gicv2, les registres d'interface du processeur sont mis en oeuvre au sein de gic, et donc une interruption est reçue lorsque le noyau, passera axi bus (en supposant que le bus mémoire est un bus de axi), l'interface de processeur pour accéder au registre. Interrompu dans un système de SGG, est souvent produit, ce qui signifie noyau vont fréquemment visiter registre gic, il bande passante AXI bus, ce qui affectera les interruptions globales à temps réel. Interface uc aux registres d'accès et le noyau retard de bus axi, est relativement grande.

En gicv3, l'interface cpu tirée de gic, mis en uvre au sein de base, pas mis en uvre dans le gic. L'accès à l'interface cpu de base, les registres du système accessibles par la voie, est d'utiliser msr, l'accès mrs, l'accès aux principaux registres d'interface cpu, il a accéléré, il consomme également la bande passante du bus AXI. Une telle base de la gestion des interruptions, il a accéléré.

Cpu interface entre le CPG et, par un AXI flux de bus dédié pour transférer des informations, donc il ne sera pas AXI bande passante du bus.

Contenu architecture gicv3, de plus en plus, mon côté serait divisé en plusieurs parties.

La partie suivante présentera le protocole de flux gic. Communication entre l'à savoir l'interface avec cpu gic.

Offres d'emploi

Votre curiosité digne d'être satisfait OPPO Trouver version super-utilisateur X portrait flash grand secret
Précédent
Roewe embrasser l'Internet, avec la capitale ouverte de suspension finale?
Prochain
Huawei pas de marine, Huawei deviendra 5G leader époque! 5G téléphone mobile est le premier téléphone bascule
Sur le téléphone 4 non poreux gros inconvénient: l'épaisseur du corps, la mauvaise qualité du son, eSIM pas universel, les inconvénients de charge
haute auto-SUV avec sept grands coûts de l'espace plancher 80000 yuans représentaient
Conception et test de MEMS système de navigation personnelle
Six modèles ensemble et la force, Skoda mis en scène un siècle de guerre contre-attaque?
Huang Xiaoming rapide de la route, vient de terminer votre bébé à la maison-né, commencent à Xuan rouge et jaune rafale baiser up!
Pourquoi Kratos chaos dans la « pelle Knight »? directeur « God of War » donne des réponses sérieuses
Âme héros ville natale! Nanchong près de 50 personnes accueillent la maison martyr populaire Jiang Feifei
100000 confort à prix abordable dans le véhicule « préférence » vous Jiajiao
Mercedes-Benz a publié la version cabriolet du concept Maybach voiture Vision 6, voitures de luxe ont tendance à être plus « électrique » du
situation économique BRICS
Amélioration de champ potentiel artificiel et TAS-RRT Fusion algorithme