La gestione delle interruzioni

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Introduzione Cosa è un Sistema Operativo? Una breve storia
in un programma Assembler
Procedure In assembler.
Gestione Input Output A. Ferrari.
Organizzazione della memoria
Perché le interruzioni?
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
File.
L’organizzazione della comunicazione di I/O G. Vercelli
Corso di Laurea in Biotecnologie Informatica (Programmazione)
CALCOLATORI ELETTRONICI Gestione delle subroutine.
CALCOLATORI ELETTRONICI
Gerarchie di priorità per la gestione delle interruzioni
Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo’ gestire trasferimento di dati da B verso.
Gestione delle subroutine
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
memoria gestita staticamente:
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Istruzioni per il Controllo del Processore
Gestione della memoria logica e fisica degli elaboratori x86
GLI INTERRUPT PAG..
Esercizio 18 – Le eccezioni Creare un trap-handler che gestisca opportunamente le eccezioni 7 (Bus error durante accesso ad area dati/stack ) e 12 (overflow)
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
Le procedure di gestione input/output Poiché le operazioni di input/output sono più lente rispetto alla velocità del processore, occorrerà sincronizzarle.
TECNICHE DI INPUT/OUTPUT
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
Architettura degli elaboratori
I vettore interruzioni
Istruzioni per la Manipolazione dei Bit
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
PIC 8259 PROGRAMMABLE INTERRUPT CONTROLLER
GESTIONE INTERRUPT CPU INTEL 8086
Introduzione al linguaggio assembly del microprocessore a parte
Sistemi di elaborazione e trasmissione delle informazioni

Gestione della Memoria
Sistema Operativo (Software di base)
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Istruzioni Riferimento alla memoria
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.
1 M. Rebaudengo Routine di servizio dell’interrupt.
Architettura IA - 16 M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Gestione dei dispositivi di I/O:
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Processi e Thread Processi Thread
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De.
Transcript della presentazione:

La gestione delle interruzioni TE@C TEAM Alessandro Memo - gestione degli interrupt

La gestione degli interrupt Argomenti trattati Perchè gli interrupt? Salvataggio e ripristino del contesto La gestione degli interrupt nell’architettura INTEL La gestione degli interrupt nei PC Realizzazione di una ISR Gli interrupt software TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt Perché gli interrupt ? L’inefficenza del polling la gestione dell’I/O: polling, interrupt, DMA La metafora dell’interruzione: il bidello I limiti dell’interrupt: il telefono definizione: l’interrupt è un segnale o un messaggio, generalmente di natura asincrona, che arriva alla CPU per avvisarla del verificarsi di un certo evento TE@CH TEAM La gestione degli interrupt

Salvataggio e ripristino del contesto Interrupt Service Routine la neutralità dell’ISR il contesto attuale contesto minimo contesto specifico contesto invariante TE@CH TEAM La gestione degli interrupt

Gli interrupt nell’architettura INTEL 1. classificazione Interrupt (interruzioni) interrupt hardware mascherabili (periferiche esterne) interrupt hardware non mascherabile interrupt software (chiamate al S.O. e/o gestione delle risorse) Exception (eccezzioni) faults (anomalie rilevate prima dell’esecuzione di un’istruzione) traps (anomalie rilevate dopo l’esecuzione di un’istruzione) aborts (anomalie non riconducibili ad una specifica istruzione) TE@CH TEAM La gestione degli interrupt

Gli interrupt nell’architettura INTEL 2. modalità operative Appena la CPU termina un’istruzione: verifica che l’istruzione precedente non abbia generato un trap verifica che la prossima istruzione non generi un fault verifica se è arrivato un interrupt non mascherabile verifica se è arrivato un interrupt mascherabile ed IF=1 se in modalità protetta, verifica che la prossima istruzione non determini un fault TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt Gli interrupt nell’architettura INTEL 3. riconoscimento degli interrupt interrupt hardware non mascherabile tipo 2, per default interrupt hardware mascherabile legge il tipo (00-FF) dal Data Bus interrupt software il tipo è specificato nell’istruzione eccezioni tipo attribuito per default in base all’eccezione TE@CH TEAM La gestione degli interrupt

Gli interrupt nell’architettura INTEL 4. la tabella delle interruzioni 03 tipo ? 00 1123:4567 01 130A:FF02 02 A001:345C 32B0:AA00 FF 3345:0100 04 2A07:0100 32B0 in CS AA00 in IP memoria da 0000:0000 67 45 23 11 02 FF 0A 13 5C 34 01 A0 00 AA B0 32 00 01 07 2A F3 FF 03 AA Tabella dei vettori delle interruzioni TE@CH TEAM La gestione degli interrupt

Gli interrupt nei PC 1. generalità Problematiche: come si possono collegare tante periferiche su una sola linea di interruzione INT (riconoscimento) ? si può interrompere un interrupt (accodamento) ? e se arrivano due interrupt contemporaneamente (priorità) ? Soluzione: il Programmable Interrupt Controller, 8259A TE@CH TEAM La gestione degli interrupt

Gli interrupt nei PC 2. architettura interna Il PIC gestisce la priorità, memorizza ed accoda eventuali altri interrupt che arrivano, emette il tipo associato ad ogni linea, maschera le singole linee di ingresso IRQxx Nei PC ci sono due PIC in cascata Vedere la sequenza grafica riassuntiva dei segnali di interrupt TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 1. scelta dell’interrupt da usare o interrupt hardware generato da periferiche personalizzate e collegabili a qualche IRQ libero o interrupt software, generalmente collegabile ad INT 08 (o più sicuro INT 1C), generato automaticamente 18,2 volte al secondo TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 2. corpo della routine Non utilizzare chiamate di sistema del DOS (perché non sono rientranti) TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt Cifra DB ‘0’ ;-------------------------------------- routine ISR MOV AX,SEG_VIDEO ; corpo della ISR MOV ES,AX MOV ES:0080h,Cifra INC Cifra CMP Cifra,’9’+1 JNZ Esci MOV Cifra,’0’ Esci: … … … … … ;-------------------------------------------------- TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 3. accesso alle variabili In Assembler l’accesso alle variabili è regolato dal registro di segmento DS: è indispensabile inizializzarlo in precedenza In C/C++ le variabili devono essere rese static per non perderne i valori tra esecuzioni successive della stessa ISR, e devono essere globali per essere allocate in maniera statica TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt Cifra DB ‘0’ ; variabile nel segmento dati ;-------------------------------------- routine ISR PUSH CS ; inizializzazione DS (per file .COM) POP DS MOV AX,SEG_VIDEO ; corpo della ISR MOV ES,AX MOV ES:0080h,Cifra INC Cifra CMP Cifra,’9’+1 JNZ Esci MOV Cifra,’0’ Esci: … … … … … ;-------------------------------------------------- TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 4. gestione contesto specifico TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt Cifra DB ‘0’ ; variabile nel segmento dati ;-------------------------------------- routine ISR PUSH AX ; salvataggio contesto specifico PUSH ES PUSH DS PUSH CS ; inizializzazione DS (per file .COM) POP DS MOV AX,SEG_VIDEO ; corpo della ISR MOV ES,AX MOV ES:0080h,Cifra INC Cifra CMP Cifra,’9’+1 JNZ Esci MOV Cifra,’0’ Esci: … … … … … ;-------------------------------------------------- TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 5. allocare la ISR Terminate and Stay Resident (TSR) TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt DOSSEG .MODEL tiny ; modalita` .COM .CODE org 0100h ; locazione iniziale standard Start: JMP Inizio ; salto la routine ISR ; ............. area dati .......... TSR EQU 31h ; funzione TSR del DOS DOS EQU 21h ; codice interrupt DOS ; ... MioInt: ; ........ area contenente la ISR ..... Inizio: MOV AH,TSR ; funzione TSR MOV DX, ((Inizio-Start)/16)+11h INT DOS END Start TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 6. aggiornamento tabella dei vettori Impedire che durante l’aggiornamento arrivino richieste di quel tipo di interrupt o bloccando tutti gli interrupt (CLI ed STI) o bloccando solo quello interessato (funzione del DOS) TE@CH TEAM La gestione degli interrupt

La gestione degli interrupt DOSSEG .MODEL tiny ; modalita` .COM .CODE org 0100h ; locazione iniziale standard Start: JMP Inizio ; salto la routine ISR ; ............. area dati .......... TSR EQU 31h ; funzione TSR del DOS DOS EQU 21h ; codice interrupt DOS MioInt: ; ........ area contenente la ISR ..... Inizio: MOV AH,SETVECT ; funzione Set Vector MOV AL,1Ch ; tipo di interrupt MOV DX,Offset MioInt ; salvo l'offset ; il segmento non serve perchè ; CS e DS si equivalgono nei file .COM INT DOS ; aggiorna la tabella MOV AH,TSR ; funzione TSR MOV DX, ((Inizio-Start)/16)+11h INT DOS ; .. Inizio: MOV AH,TSR ; funzione TSR INT DOS END Start TE@CH TEAM La gestione degli interrupt

Realizzazione di una ISR 7. il problema della rientranza Se una ISR è in grado di funzionare correttamente anche se viene chiamata ricorsivamente un numero finito di volte, allora si dice rientrante occorre isolare ed escludere mutualmente l’accesso a zone critiche dove si accede a risorse unarie TE@CH TEAM La gestione degli interrupt

Gli interrupt software Hanno permesso la portabilità del software su macchine compatibili ma fisicamente diverse Implementano le chiamate esterne al Sistema Operativo (DOS, API, etc…) TE@CH TEAM La gestione degli interrupt