SlideShare a Scribd company logo
Sistemi a Microprocessore                                       L'interrupt nell'8086




                      Sistemi a Microprocessore


                               L’INTERRUPT NELL’8086




                                                        1




                               Gestione dell’I/O


                     GESTIONE DELLE          POLLING
                       RICHIESTE DI
                       SERVIZIO DA
                        PARTE DEI
                     DISPOSITIVI DI I/O
                                            INTERRUPT

                                                            2




Sergio PORCU                                                                       1
Sistemi a Microprocessore                                               L'interrupt nell'8086




                                      Polling

                      La CPU interroga periodicamente i
                        dispositivi di I/O e li serve se hanno
                        fatto richiesta di servizio.




                                                                    3




                                     Interrupt

                      Il dispositivo che fa richiesta di servizio
                          attiva l’interrupt; la CPU riconosce la
                          richiesta e lo serve.




                                                                    4




Sergio PORCU                                                                               2
Sistemi a Microprocessore                                         L'interrupt nell'8086




                               I tipi di interrupt
                                          HARDWARE ESTERNI


                     4 GRUPPI PER I           SOFTWARE
                   TIPI DI INTERRUPT
                     (256 IN TUTTO)
                                               INTERNI


                                           NON MASCHERABILI   5




                            Priorità degli interrupt

                      Ordine decrescente di priorità:
                      • Interni

                      • Non mascherabili

                      • Software

                      • Hardware esterni




                                                              6




Sergio PORCU                                                                         3
Sistemi a Microprocessore                                              L'interrupt nell'8086




                                 Vector Table

                      Il Vector Table contiene i puntatori alla
                         routine di servizio di ciascuno dei 256
                         tipi di interrupt.




                                                                   7




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




                                                                   8




Sergio PORCU                                                                              4
Sistemi a Microprocessore                                                L'interrupt nell'8086




                                Interrupt software

                      Gli interrupt software sono attivati tramite
                        l’istruzione INT (vedere pag. 202 del
                        libro di riferimento).




                                                                     9




                            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.

                                                                   10




Sergio PORCU                                                                                5
Sistemi a Microprocessore                                                         L'interrupt nell'8086




                               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

                                                                             11




                               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




                                                                             12




Sergio PORCU                                                                                         6

More Related Content

More from Sergio Porcu

Investimenti
InvestimentiInvestimenti
Investimenti
Sergio Porcu
 
Costi, break even point, analisi make or buy
Costi, break even point, analisi make or buyCosti, break even point, analisi make or buy
Costi, break even point, analisi make or buy
Sergio Porcu
 
Analisi degli scostamenti
Analisi degli scostamentiAnalisi degli scostamenti
Analisi degli scostamenti
Sergio Porcu
 
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsioneAlgoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Sergio Porcu
 
Algoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, codeAlgoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, code
Sergio Porcu
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Sergio Porcu
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUSSergio Porcu
 
Elementi architetturali dell'8086
Elementi architetturali dell'8086Elementi architetturali dell'8086
Elementi architetturali dell'8086Sergio Porcu
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Sergio Porcu
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Sergio Porcu
 
Metodo di Newton
Metodo di NewtonMetodo di Newton
Metodo di Newton
Sergio Porcu
 
Reti di Calcolatori - Crittografia
Reti di Calcolatori - CrittografiaReti di Calcolatori - Crittografia
Reti di Calcolatori - Crittografia
Sergio Porcu
 
Mappe di Karnaugh
Mappe di KarnaughMappe di Karnaugh
Mappe di Karnaugh
Sergio Porcu
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Sergio Porcu
 
Gestione date in PL/SQL
Gestione date in PL/SQLGestione date in PL/SQL
Gestione date in PL/SQL
Sergio Porcu
 
Traduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionaleTraduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionaleSergio Porcu
 
Soluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ERSoluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ERSergio Porcu
 
Diagrammi Entità/Relazioni (ER)
Diagrammi Entità/Relazioni (ER)Diagrammi Entità/Relazioni (ER)
Diagrammi Entità/Relazioni (ER)Sergio Porcu
 

More from Sergio Porcu (20)

Investimenti
InvestimentiInvestimenti
Investimenti
 
Costi, break even point, analisi make or buy
Costi, break even point, analisi make or buyCosti, break even point, analisi make or buy
Costi, break even point, analisi make or buy
 
Analisi degli scostamenti
Analisi degli scostamentiAnalisi degli scostamenti
Analisi degli scostamenti
 
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsioneAlgoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
 
Algoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, codeAlgoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, code
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
 
Il Turbo Debugger
Il Turbo DebuggerIl Turbo Debugger
Il Turbo Debugger
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
 
Elementi architetturali dell'8086
Elementi architetturali dell'8086Elementi architetturali dell'8086
Elementi architetturali dell'8086
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
 
Assembler 8086
Assembler 8086Assembler 8086
Assembler 8086
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
 
Metodo di Newton
Metodo di NewtonMetodo di Newton
Metodo di Newton
 
Reti di Calcolatori - Crittografia
Reti di Calcolatori - CrittografiaReti di Calcolatori - Crittografia
Reti di Calcolatori - Crittografia
 
Mappe di Karnaugh
Mappe di KarnaughMappe di Karnaugh
Mappe di Karnaugh
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
 
Gestione date in PL/SQL
Gestione date in PL/SQLGestione date in PL/SQL
Gestione date in PL/SQL
 
Traduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionaleTraduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionale
 
Soluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ERSoluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ER
 
Diagrammi Entità/Relazioni (ER)
Diagrammi Entità/Relazioni (ER)Diagrammi Entità/Relazioni (ER)
Diagrammi Entità/Relazioni (ER)
 

L'interrupt nell'8086

  • 1. Sistemi a Microprocessore L'interrupt nell'8086 Sistemi a Microprocessore L’INTERRUPT NELL’8086 1 Gestione dell’I/O GESTIONE DELLE POLLING RICHIESTE DI SERVIZIO DA PARTE DEI DISPOSITIVI DI I/O INTERRUPT 2 Sergio PORCU 1
  • 2. Sistemi a Microprocessore L'interrupt nell'8086 Polling La CPU interroga periodicamente i dispositivi di I/O e li serve se hanno fatto richiesta di servizio. 3 Interrupt Il dispositivo che fa richiesta di servizio attiva l’interrupt; la CPU riconosce la richiesta e lo serve. 4 Sergio PORCU 2
  • 3. Sistemi a Microprocessore L'interrupt nell'8086 I tipi di interrupt HARDWARE ESTERNI 4 GRUPPI PER I SOFTWARE TIPI DI INTERRUPT (256 IN TUTTO) INTERNI NON MASCHERABILI 5 Priorità degli interrupt Ordine decrescente di priorità: • Interni • Non mascherabili • Software • Hardware esterni 6 Sergio PORCU 3
  • 4. Sistemi a Microprocessore L'interrupt nell'8086 Vector Table Il Vector Table contiene i puntatori alla routine di servizio di ciascuno dei 256 tipi di interrupt. 7 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). 8 Sergio PORCU 4
  • 5. Sistemi a Microprocessore L'interrupt nell'8086 Interrupt software Gli interrupt software sono attivati tramite l’istruzione INT (vedere pag. 202 del libro di riferimento). 9 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. 10 Sergio PORCU 5
  • 6. Sistemi a Microprocessore L'interrupt nell'8086 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 11 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 12 Sergio PORCU 6