L'interrupt nell'8086

6
Sistemi a Microprocessore L'interrupt nell'8086 Sergio PORCU 1 1 Sistemi a Microprocessore L’INTERRUPT NELL’8086 2 Gestione dell’I/O GESTIONE DELLE RICHIESTE DI SERVIZIO DA PARTE DEI DISPOSITIVI DI I/O POLLING INTERRUPT

Transcript of L'interrupt nell'8086

Page 1: 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

Page 2: L'interrupt nell'8086

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.

Page 3: L'interrupt nell'8086

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

Page 4: L'interrupt nell'8086

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).

Page 5: L'interrupt nell'8086

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.

Page 6: L'interrupt nell'8086

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