GLI INTERRUPT PAG..

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

La struttura fisica e logica di un elaboratore
Gestione Input Output A. Ferrari.
Perché le interruzioni?
IL MICROCONTROLLORE ST6
Il Sistema Operativo.
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.
Operating System Concepts
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © William Fornaciari Tecniche di gestione.
L’organizzazione della comunicazione di I/O G. Vercelli
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Risorse e Stallo.
Gerarchie di priorità per la gestione delle interruzioni
Struttura dei sistemi operativi (panoramica)
Il livello analogico digitale Lezione 3_4 Chip delle CPU e Bus.
Com’è fatto un elaboratore?
1 Gestione del processore Il modello a processi sequenziali.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
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.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Istruzioni per il Controllo del Processore
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
La macchina di von Neumann
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
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
L'ambiente informatico: Hardware e Software
Architettura degli elaboratori
I vettore interruzioni
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Architettura del Computer
PIC 8259 PROGRAMMABLE INTERRUPT CONTROLLER
GESTIONE INTERRUPT CPU INTEL 8086
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
BUS DI CPU M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
La gestione delle interruzioni
Sistema Operativo (Software di base)
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
ELETTRONICA DIGITALE (II Parte) (6-7) 13.12;15.12
Gestione dei dispositivi di I/O:
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Tecniche Automatiche di Acquisizione Dati
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Richiami di Architettura degli elaboratori.
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.
Informatica Generale Marzia Buscemi
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda Interfaccia verso il bus.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Il BUS è un elemento fondamentale dei computer che ha lo scopo di collegare elettricamente i dispositivi, le periferiche e le memorie con il microprocessore,
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

GLI INTERRUPT PAG.

Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI L’ORGANIZZAZIONE DIPENDE DAL PROCESSORE ESISTONO CIRCUITI HW DEDICATI CHE COLLABORANO CON IL PROCESSORE PER LA GESTIONE DEGLI INTERRUPT PAG.

Connessione tra componenti Tastiera Mouse Stampante BUS CPU RAM Monitor Dischi = Interfacce o Controller PAG.

PERCHE’ SI INTRODUCONO GLI INTERRUPT INTERFACCIAMENTO CON IL MONDO ESTERNO CREAZIONE SCHEMA UNIVERSALE ALLE RISORSE SW INTERRUPT PAG.

CICLO DEL PROCESSORE PAG.

RICHIESTA DI UN DATO DA PARTE DI UN PROGRAMMA CAUSE DELL’INTERRUPT RICHIESTA DI UN DATO DA PARTE DI UN PROGRAMMA DISPONIBILITA’ DELLA PERIFERICA Immediata Leggermente ritardata Differita a tempo indeterminato PAG.

POLLING (gestione dei dati sotto il controllo del programma Metodi POLLING (gestione dei dati sotto il controllo del programma INTERRUPT (gestione dei dati sotto il controllo della periferica DIRECT MEMORY ACCESS (gestione dei dati sotto il controllo del dispositivo dedicato) PAG.

IL POLLING In seguito alla richiesta di interruzione: Viene salvato il contesto del programma interrotto Viene mandata in esecuzione una sequenza di identificazione dell’interruzione che interroga ad uno ad uno i dispositivi fino a trovare quello che ha fatto la richiesta Viene mandata in esecuzione la routine individuata al passo 2. Nel caso in cui più richieste di interruzione sono presenti, viene servita quella che per prima viene incontrata nella sequenza. PAG.

Gestione di più dispositivi Come fa la CPU a capire da quale dispositivo riceve l’Interrupt? CPU INTR INTR1 INTR2 INTR3 La CPU fa il “POLLING” dei dispositivi per verificare quale IRQ è abilitato. PAG.

Accesso diretto alla memoria (DMA) E’ il metodo preferito quando si devono trasferire grosse moli di dati. Una apposita circuiteria (DMA controller) provvede ad eseguire il trasferimento di dati da una periferica alla memoria (o viceversa) La circuiteria deve essere in grado di fungere da bus master, ossia deve generare gli indirizzi ed i segnali di controllo secondo la tempistica opportuna Il DMA controller deve inoltre essere in grado di negoziare con la CPU l’acquisizione del controllo del bus ed l suo rilascio

Trasferimento in DMA Il trasferimento di un blocco in DMA si articola in varie fasi: La CPU carica l’indirizzo dell’area di memoria ed il numero di parole da trasferire Quando il DMA controller è pronto ad eseguire il trasferimento , invia un segnale di DMA REQ alla CPU; Quando la CPU arriva al punto del rilevamento di tale segnale, rilascia il bus e attiva il segnale DMA ACK Il DMA Controller esegue il trasferimento Dopo il trasferimento di ciascuna parola vengono decrementati i contatori delle parole

Trasferimento in DMA Quando il DMA controller termina il trasferimento , disattiva il DMA REQ La CPU disattiva il DMA ACK La CPU riprende l controllo del bus

SOLUZIONE ADOTTATA PAG.

Interrupt Meccanismo che avvisa il processore della disponibilità del Dispositivo di I/O ad eseguire una operazione. Quando il dispositivo è pronto invia alla CPU un segnale di Interrupt La CPU interrompe l’operazione corrente ed esegue una routine di servizio dell’interrupt La CPU informa il dispositivo che la richiesta di interrupt è stata Accolta con un segnale di riscontro (Interrupt Acknowledge) La routine di gestione dell’interrupt salva lo stato della CPU (latenza) PAG.

PAG.

Le cause dell’Interruzione Interruzione periodica (time slice) Interruzione di I/O (periferica) Interruzione per errori del programma in esecuzione (overflow,…) Interruzione per guasti Interruzione per riportare il sistema in uno stato noto (reset) Interruzioni programmate (sw interrupt)

intervallo PAG.

INTERRUPT SERVICE ROUTINE E CONTESTO Procedura di interrupt (ISR = Interrupt Service routine) è il segmento di programma corrispondente alla richiesta di interrupt. Inoltro richiesta di interrupt CPU salva il contesto del programma (tutti i valori che determinano lo stato del programma) Esecuzione dell’interrupt Ripristino del contesto del programma PAG.

INTERRUPT SERVICE ROUTINE E CONTESTO Operazioni di salvataggio Del contesto All’interno della routine di interruzione Meccanismo interno alla CPU PAG.

CONTESTO Contesto minimo: insieme di valori generici sicuramente modificati dall’esecuzione dell’ISR (flag,…); salvataggio da CPU Contesto specifico: insieme dei valori specifici modificati dalla particolare ISR; salvataggio interno all’ISR (da programma) Contesto invariante: insieme dei valori non modificati dall’ISR; salvataggio opzionale Il salvataggio avviene tramite utilizzo STACK PAG.

Interrupt architettura Intel X86 Interruzioni X86 Interrupt software hardware Mascherabili Non mascherabili Eccezioni Guasti Trappole Fallimenti PAG.

Gli interrupt nell’architettura INTEL Interrupt (interruzioni) interrupt hardware mascherabili (periferiche esterne) interrupt hardware non mascherabile interrupt software (chiamate al S.O. - INT nn: messaggi generati a seconda di nn) Exception (eccezioni) 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)

Interrupt hardware mascherabili Segnali fisici di interruzione accontonati dalla CPU momentaneamente Fanno capo alla linea INTR (interrupt request) 256 procedure ISR (un byte) associate all’IVT (Interrupt Vector Table) allocate in locazione fissa nel 1° Kbyte di memoria PAG.

INT tipo ? 03 32B0 in CS AA00 in IP 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 PAG.

Interrupt hardware non mascherabili I computer sono dotati di una linea di interruzione NMI non mascherabile che viene sempre rilevata se asserita Segnali fisici di interruzione Massima priorità Mai interrompibili o ACCANTONABILI Situazioni di emergenza Soddisfatti al termine dell’istruzione in corso PAG.

Eccezioni Faults (guasti) = la CPU si autointerrompe in presenza di un’istruzione che sicuramente causerà un’anomalia (out of memory) Traps (trappole) = si verificano delle condizioni particolari (interrupt sw) dopo aver eseguito una certa istruzione Aborts (terminazione anormale) = in presenza di anomalie, la CPU non riesce a risalire alla istruzione che ha determinato l’anomalia (hw che non risponde)

Il clock Componenti diversi del computer sono sincronizzati in base a clock diversi. Sulla scheda madre esiste un circuito che genera il clock principale; un “tick” di questo clock rappresenta la più piccola unità di tempo durante la quale può venire eseguita un’elaborazione di qualche tipo. Il “clock” principale è usato come base da altri circuiti che ne generano multipli o sottomultipli, per regolare le operazioni di dispositivi più veloci o più lenti. Per valutare le prestazioni di un processore esistono diversi criteri, più o meno discussi e discutibili: dalla velocità di clock a misurazioni di altro tipo (MIPS, Millions Instructions Per Second, FLOPS, FLoating-point Operations Per Second, e i benchmark del consorzio SPEC – Standard Performance Evaluation Corporation, divisi in SPECint e SPECfp, per i calcoli su interi e in virgola mobile).

Il clock In altre parole... Il clock detto anche orologio del sistema fornisce al computer un battito regolare e sincrono Qualsiasi funzione eseguita dal microprocessore impiega un certo numero di battiti dell’orologio del sistema: in un elaboratore a 2167 MHz il segnale dell’orologio oscilla 2 miliardi e 167 milioni di volte al secondo

Funzionamento sincrono\asincrono Tuttavia, non tutti i circuiti del PC lavorano al ritmo dell’orologio di sistema… Se lo fanno sono sincroni, in caso contrario asincroni Esempio: quando viene usata la tastiera, non si possono sincronizzare le battute (che dipendono dall’operatore umano)  la tastiera è una periferica asincrona Gli eventi asincroni sono gestiti dal dispositivo di controllo dell’interrupt In una comunicazione asincrona, i dispositivi che comunicano (es., la tastiera e il microprocessore) non funzionano allo stesso ritmo ed è necessario un dispositivo addizionale che controlli se l’evento asincrono si è verificato

Gestione di più dispositivi Come può gestire la CPU due richieste di interrupt contemporanee? CPU Dispositivo 1 Dispositivo 2 Dispositivo 3 PAG.

Gestione di più dispositivi Come può gestire la CPU due richieste di interrupt contemporanee? CPU Dispositivo 1 Dispositivo 2 Dispositivo 3 Dispositivo 4 Dispositivo 5 Dispositivo 6 Circuito Arbitraggio Priorità PAG.

Controllore programmabile degli interrupt il PIC, Programmable Interrupt Controller, ordina gli interrupt per il trattamento da parte della CPU, la quale risponde eseguendo l’apposita routine di gestione dell’interrupt Il dispositivo di controllo dell’interrupt individua il verificarsi di un evento… …per esempio che è stato premuto un tasto, e segnala al microprocessore che la tastiera richiede attenzione; il microprocessore avverte il segnale di interrupt e interrompe quello che sta facendo per servire il dispositivo Completato il servizio (es., trasferimento della lettera digitata), il microprocessore riprende il ritmo usuale

Interrupt hw mascherabili Regolato dal IF(flag di interrupt) IF = 0 (Istr. CLI) interrupt disabilitati IF = 1 (Istr. STI) interrupt abilitati Per permettere che una routine di interrupt possa essere a sua volta interrotta (annidamento di interrupt) dopo l’avvio dell’ISR: viene forzato IF=0 viene reimposto IF=1 all’interno dell’ISR al momento opportuno IF fa parte del contesto minimo