L'interrupt nell'8086
-
Upload
sergio-porcu -
Category
Education
-
view
416 -
download
3
Transcript of L'interrupt nell'8086
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 1
1
Sistemi a Microprocessore
L’INTERRUPT NELL’8086
2
Gestione dell’I/O
GESTIONE DELLERICHIESTE DISERVIZIO DAPARTE DEI
DISPOSITIVI DI I/O
POLLING
INTERRUPT
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 2
3
Polling
La CPU interroga periodicamente i dispositivi di I/O e li serve se hanno fatto richiesta di servizio.
4
Interrupt
Il dispositivo che fa richiesta di servizio attiva l’interrupt; la CPU riconosce la richiesta e lo serve.
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 3
5
I tipi di interrupt
4 GRUPPI PER ITIPI DI INTERRUPT
(256 IN TUTTO)
NON MASCHERABILI
INTERNI
SOFTWARE
HARDWARE ESTERNI
6
Priorità degli interrupt
Ordine decrescente di priorità:• Interni• Non mascherabili• Software• Hardware esterni
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 4
7
Vector Table
Il Vector Table contiene i puntatori alla routine di servizio di ciascuno dei 256 tipi di interrupt.
8
Flag IF
Le istruzioni CLI e STI modificano il flag IF, il quale permette di abilitare/disabilitare gli interrupt hardware esterni (vedere pag. 97 del libro di riferimento).
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 5
9
Interrupt software
Gli interrupt software sono attivati tramite l’istruzione INT (vedere pag. 202 del libro di riferimento).
10
Interrupt non mascherabili
Gli interrupt non mascherabili sono interruzioni che non possono in alcun modo essere ignorate dalla CPU. Per essi non sono previsti bit di stato e il processore sarà costretto ad assecondarli.
Sono attivati tramite il pin NMI.
Sistemi a Microprocessore L'interrupt nell'8086
Sergio PORCU 6
11
Protocollo di interrupt
1. Un dispositivo esterno invia una richiesta di interrupt sul pin INTR
2. La CPU rileva la presenza del valore 1 su INTR, invia un primo impulso su INTA per segnalare che l’interrupt è stato rilevato ed un secondo impulso sempre su INTA per chiedere (e ricevere sul data BUS) il numero (n) del tipo di interrupt
12
Protocollo di interrupt
3. La CPU salva PSW, CS e IP nello stack, azzera i flag IF TF e disabilita gli interrupt esterni ed il trap mode;
4. La CPU accede all’elemento (4*n)-esimo nel Vector Table, attivando poi la corrispondente procedura di interrupt