Controllore di interruzioni programmabile: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 79.8.186.196 (discussione), riportata alla versione precedente di ZimbuBot Etichetta: Rollback |
m varie |
||
Riga 1:
{{F|componenti per computer|febbraio 2013}}
Un '''
== Funzionamento ==
===Esigenza===
Per meglio comprenderne il funzionamento, ipotizziamo che il PIC non ci sia e che il processore debba assumersi l'incarico della gestione delle interruzioni. Quando un dispositivo, quale ad esempio un [[Hard disk | disco rigido]], un [[floppy disk]], una [[porta seriale]], una [[porta parallela]], la [[Tastiera (informatica)|tastiera]], il [[mouse]], ecc., richiede un servizio in [[Real-time|tempo reale]], attiva un segnale di interruzione. Il processore, normalmente, ha un solo ingresso per sentire se qualcuno lo sta chiamando in causa,
===Funzione del PIC===
Riga 11:
===Priorità===
Il PIC prevede un certo numero di [[piedino (elettronica)|piedini]] (pin) di ingresso (ad esempio IRQ0, IRQ1,...,IRQ7), ognuno dei quali "sente" un determinato dispositivo che vuole interrompere. Se più di un pin viene attivato contemporaneamente, scatta un meccanismo di priorità che può essere di vario tipo: si può ad esempio avere quello con
===Collegamento in cascata===
I PIC spesso consentono di essere messi in cascata in modo che possano essere sentite le interruzioni di moltissimi dispositivi. Ad esempio, si possono trovare dei PIC che utilizzati singolarmente possono sentire solo 8 diversi dispositivi interrompenti: per poterne invece sentire fino a 64, è possibile utilizzarne 9 collettivamente, con 8 di essi (detti
== Caratteristiche comuni ==
Riga 21:
Come già detto, ci sono diversi meccanismi di priorità previsti dai PIC tra cui quelli a priorità fissa, a priorità prestabilita o a priorità rotante.
Le interruzioni possono essere sia del tipo sul
===Interruzioni sul livello===
Nel caso di
La versione originaria del bus [[Peripheral Component Interconnect|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]].
====Condivisione delle interruzioni====
Molti dispositivi possono
Quando la linea di interruzione condivisa da più dispositivi viene attivata, bisogna scoprire chi è stato a farlo. Una volta servito il dispositivo interrompente e richiestogli di smettere di tenere attiva la linea, può succedere che quest'ultima ritorni al suo stato inattivo, di riposo, o che continui ad essere attiva. Nel primo caso significa che una volta servito il dispositivo interrompente non ce n'erano altri che richiedevano attenzione. Nel secondo caso significa che un altro dispositivo ha cominciato a richiedere attenzione, ma si stava servendo il dispositivo precedente: bisogna di nuovo scoprire chi altro ha richiesto l'interruzione. Una volta servito, il discorso si ripete.
È importante adottare una buona
====Vantaggi e svantaggi====
Un
Ci sono alcuni
===Interruzioni sul fronte===
Nel caso di
Anche qui può ripetersi il discorso dei resistori di pull-down o di pull-up e della linea condivisa da più dispositivi.
Riga 45:
Le prime versioni del bus [[Industry Standard Architecture|ISA]] prevedevano le interruzioni sul fronte, ma non richiedevano che le linee dovessero essere condivise. Le schede ISA montano, comunque, resistori di pull-up sulle linee di interruzione per consentirne la condivisione.
====Vantaggi e svantaggi====
Un
Un altro vantaggio è che si può anche decidere di prendersela comoda a servire un dispositivo meno prioritario, tanto la linea condivisa è libera e non si corre il rischio di non sentire l'interruzione che nel frattempo il dispositivo più prioritario richiede.
Uno
== Controllori di
Uno dei PIC più conosciuti, l'[[Intel 8259]], era, nei tempi andati, incluso nei PC [[x86]]. Oggi, non è più un dispositivo a sé: la sua funzione è stata inclusa all'interno del chipset [[Southbridge]] della [[Motherboard | scheda madre]]. In altri casi, il PIC è stato completamente sostituito dai più nuovi [[Controllore
Maggiori informazioni sul PIC 8259 dell'Intel possono essere trovate in ''IA-32 Intel Architecture Software Developer's Manual, Volume 3A: System Programming Guide, Part 1'', liberamente disponibili sul sito della [[Intel]].
Riga 57:
==Voci correlate==
* [[Intel 8259]]
* [[Controllore
* [[Architettura APIC della Intel]]
* [[Interruzioni
* [[Interrupt]]
* [[Gestore di interrupt]]
|