In che modo cpu viene interrotto da APIC e come gestire gli interrupt condivisi?


0

Dalla poca conoscenza che ho, ogni PCI il dispositivo ha 4 pin di interrupt. Pins dai molti diversi PCI i dispositivi sulla scheda madre (dispositivi incorporati o esterni) vengono indirizzati a un IO-APIC (Controller di interrupt programmabile avanzato) tramite un router di interrupt programmabile. Quindi quella era la topologia.

Per quanto ne so quando si verifica un'interruzione, il IO-APIC verrà segnalato e genererà un INT alla CPU, quindi la magia si verifica e la CPU inizia a eseguire un ISR (Interrupt Service Routine).

Cos'era quella magia?

Qual è la comunicazione che dovrebbe accadere tra la CPU e il IO-APIC gestire l'INT?

Voglio dire, come la CPU ha ricevuto il vettore di interrupt (è speciale) PCI ciclo del bus?) & amp; cosa succederà se il IRQ è stato condiviso da molti dispositivi (Take x86 Linux come riferimento di piattaforma)?



@Mokubai che il collegamento non ha risposto alla mia domanda.
Karim Manaouil

Quindi ho detto che era imparentato e non un duplicato. Potrebbe essere tangenziale e fornire informazioni sul problema.
Mokubai

Risposte:


0

Il vettore di interrupt è già memorizzato nella tabella vettoriale di interrupt, quindi la CPU non ha bisogno di ottenerla da una periferica. Se l'interrupt è associato a un IO-APIC o dispositivo simile che può generare interrupt per ragioni diverse, il gestore interrupt interrogherà quel dispositivo per scoprire perché ha generato l'interrupt. Non c'è un ciclo di bus speciale per questo, è come una CPU riceverebbe qualsiasi informazione da una delle sue periferiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.