Question

Peut-être que la question devrait être, sont des interruptions externes même vectorisées sur le PowerPC? J'ai consulté http://www.ibm. com / developerworks / eserver / library / es-archguide-v2.html , "livre 3", tente de comprendre comment le processeur localise la routine de service d'interruption appropriée en réponse à une interruption externe. Il semble suggérer que lorsque le PPC reconnaît une interruption externe, il ne fait que passer à 0x0000_0500.

Je crains peut-être de mal comprendre le fonctionnement du PPC. Avec x86, le processeur répond aux demandes d'interruption par un cycle d'acquittement d'interruption et obtient un «vecteur» directement du périphérique. Le vecteur (en réalité, un index) permet ensuite à l'unité centrale de choisir une routine de gestionnaire appropriée dans sa table de vecteurs d'interruption. Plus important encore, cette reconnaissance / extraction de vecteur est une opération matérielle, basée sur un protocole de bus, personne n’a à écrire de code pour le réaliser. Les seuls codes à écrire (en lecture, logiciels) sont les ISR eux-mêmes.

Est-ce que le PPC fait quelque chose de similaire? Y aurait-il une table de vecteurs à 0x500? Ou bien fait-il quelque chose de radicalement différent et supprime-t-il la fonctionnalité consistant à transmettre le vecteur du périphérique à un contrôleur d'interruption externe? Je suppose qu’il pourrait passer au code 0x50, où le logiciel interrogerait alors le contrôleur d’interruption (hypothétique?) Pour obtenir le vecteur…, puis l’utiliser dans une table de saut / what-have -vous, mais je ne trouve pas de documentation pour vérifier si c'est le cas, d'une manière ou d'une autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top