Calcolatori elettronici/Intel 8259

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
CopertinaCalcolatori elettronici/Copertina
  1. L'evoluzione dei sistemi di elaborazioneCalcolatori elettronici/L'evoluzione dei sistemi di elaborazione
  2. Il progetto di circuiti logiciCalcolatori elettronici/Il progetto di circuiti logici
  3. I processoriCalcolatori elettronici/I processori
  4. Architettura 8086Calcolatori elettronici/Architettura 8086
  5. Unità di controlloCalcolatori elettronici/Unità di controllo
  6. Introduzione alle memorieCalcolatori elettronici/Introduzione alle memorie
  7. Le memorie ad accesso casualeCalcolatori elettronici/Le memorie ad accesso casuale
  8. Le memorie cacheCalcolatori elettronici/Le memorie cache
  9. Le memorie ad accesso serialeCalcolatori elettronici/Le memorie ad accesso seriale
  10. La memoria virtualeCalcolatori elettronici/La memoria virtuale
  11. La gestione dei dispositivi input/outputCalcolatori elettronici/La gestione dei dispositivi input/output
  12. Intel 8255Calcolatori elettronici/Intel 8255
  13. Intel 8259Calcolatori elettronici/Intel 8259
  14. I busCalcolatori elettronici/I bus
  15. Le architetture a pipelineCalcolatori elettronici/Le architetture a pipeline
  16. Assembler 8086
IntroduzioneCalcolatori elettronici/Introduzione
  1. Informazioni generaliCalcolatori elettronici/Informazioni generali
  2. Istruzioni di trasferimento datiCalcolatori elettronici/Istruzioni di trasferimento dati
  3. Istruzioni aritmeticheCalcolatori elettronici/Istruzioni aritmetiche
  4. Istruzioni per il controllo del flussoCalcolatori elettronici/Istruzioni per il controllo del flusso
  5. Istruzioni per la manipolazione dei bitCalcolatori elettronici/Istruzioni per la manipolazione dei bit
  6. Le procedureCalcolatori elettronici/Le procedure
  7. Istruzioni per il controllo del processoreCalcolatori elettronici/Istruzioni per il controllo del processore
  8. Formato delle istruzioni macchina, tempi di esecuzioneCalcolatori elettronici/Formato delle istruzioni macchina, tempi di esecuzione

L'Intel 8259 è un interrupt controller in grado di gestire fino a 8 periferiche. L'Intel 8259 supporta anche la gestione delle priorità associate alle periferiche.

Struttura[modifica]

Struttura dell'Intel 8259.

Il processore può leggere e scrivere dati su 8 bit nei registri dell'Intel 8259 tramite il bus:

  • i segnali di read e write specificano il tipo di operazione (lettura o scrittura);
  • il segnale A0 specifica su quale registro operare.

L'Intel 8259 contiene principalmente 3 registri:

  • l'Interrupt Mask Register (IMR) permette il mascheramento selettivo delle periferiche;
  • l'Interrupt Request Register (IRR) riceve i segnali di richieste di interruzione dalle periferiche;
  • l'Interrupt Service Register (ISR) tiene traccia delle periferiche la cui procedura di servizio è ancora in corso: il processore tramite l'ISR può far sapere all'Intel 8259 quando inizia e quando finisce la procedura di servizio di una periferica, così se nel frattempo una periferica a priorità inferiore fa richiesta l'Intel 8259 attiva il segnale di INT per la nuova periferica solo dopo che il processore ha terminato di servire la periferica a priorità maggiore.

Programmazione[modifica]

Il processore può programmare l'Intel 8259 inviandogli alcune parole di controllo.

ICW[modifica]

In fase di inizializzazione, il processore invia le Initialization Command Words (ICW):

  • ICW1: specifica se l'Intel 8259 è in cascata e se esso dev'essere sensibile ai fronti o ai livelli;
  • ICW2: contiene il codice associato alla prima periferica (i codici delle altre periferiche sono consecutivi);
  • il processore specifica anche la modalità di gestione delle priorità (statica o rotante).

OCW[modifica]

Durante il funzionamento, il processore può inviare le Operation Command Words (OCW):

  • OCW1: specifica quali dispositivi mascherare selettivamente agli interrupt;
  • OCW2: serve per cambiare le priorità.