Differenze tra le versioni di "Controllore di interruzioni programmabile"

E' importante adottare una buona '''strategia''' quando si va alla scoperta di chi è stato a interrompere su una linea condivisa: può darsi che alcuni dispositivi tendano a farlo più frequentemente ma servirli costa poco (si gesticono cioè velocemente), mentre altri lo fanno magari meno frequentemente ma servirli è oneroso (la loro ISR è molto pesante). Per aumentare l'efficienza, converrà servire per prima quelli che si '''accontentano di poco''' per poi passare a quelli che '''monopolizzano il processore'''.
 
Ci sono alcuni '''svantaggi''' con le interruzioni sul livello. Se la linea è condivisa e si sta servendo un dispositivo, non si può capire se ce n'è un altro che ha poco dopo cominciato a richiedere anch'esso l'interruzione: bisogna finire con il primo e dirgli di smettere di tenere attiva la linea per poi scoprire che ce n'era un altro che pure chiedeva attenzione. Appunto per questo non è consigliabile '''prendersela comoda''' a servire un dispositivo meno prioritario se sulla stessa linea ce n'è uno più prioritario: si corre il rischio che quest'ultimo debba aspettare a lungo per il completamento della ISR del primo dispositivo. Un altro inconveniente è dovuto al fatto che se non si sa come trattare l'interruzione di un dispositivo interrompente, quest'ultimo potrebbe tenere '''indefinitamente attiva la linea''' impedendo agli altri di segnalare la propria richiesta di interruzione.
 
La versione originaria del bus '''[[PCI]]''' prevede le interruzioni sul livello: le versioni più recenti consentono anche l'uso di messaggi di interruzione, diventati l'unica modalità consentita nel '''[[PCI Express]]'''.
2 486

contributi