Università degli Studi di Cassino

Documenti analoghi
SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Memoria cache, interrupt e DMA

Introduzione alle macchine a stati (non definitivo)

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Esempio: aggiungere j

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette

La gestione dell I/O (Cap. 5, Tanenbaum)

Laboratorio di Architettura degli Elaboratori

Il Sistema Operativo Windows

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

memoria virtuale protezione

FONDAMENTI DI INFORMATICA Lezione n. 11

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Computer e Programmazione

Elementi di base del calcolatore

Richiami sull architettura del processore MIPS a 32 bit

Architettura di un sistema di calcolo

Procedura operativa per la gestione della funzione di formazione classi prime

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

2. Nucleo del sistema operativo (la gestione dei processi)

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Architettura dei calcolatori e Software di sistema

Uso del pannello operatore

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Bit, Byte, Word e Codifica Dati

Guida semplice all utilizzo del sistema D-STAR Seconda Parte

Note_Batch_Application 04/02/2011

Manuale Sito Videotrend

Tecnologie dei Sistemi di Automazione e Controllo

Caratteristiche di un PC

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

Sistemi Operativi. Sottosistema di I/O

Manutenzione periodica al PIANO DEI CONTI

Elettronica dei Sistemi Programmabili A.A Microcontrollori. Introduzione allo sviluppo di progetti

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Architettura dei computer

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

HTH HIP - Healt In Prison Applicazione Mobile per la Gestione Carceri. Manuale Utente

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

LA MEMORIA NEL CALCOLATORE

Programmazione ad Oggetti

1. Qual è il valore giuridico di un documento informatico firmato con firma digitale?

UML I diagrammi implementativi

Applicazione dei PLC nei servizi di trasporto e distribuzione dell energia. Pietro Zambon Omron Electronics

DOCUMENTAZIONE WEB RAIN - ACCESSO CLIENTI

Esercitazione su Instruction Level Parallelism

Introduzione alla programmazione. Walter Didimo

Panasonic. Analog Pbx System KX-TES 824 (NE) e TEA308 (NE) Programmazione ARS (con Gestore o Interfaccia GSM)

Informazioni di diagnostica nel protocollo CODESYS

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S / / 2011

Gestione della memoria

ArubaKey Installazione Versione 2

Corso di BASCOM (Capitolo 8 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. Codice Morse. (2).

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

Impostazione del computer Guida per l'utente

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Corso di Calcolatori Elettronici I

Interfaccia 2 FILI / IP

* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte

MANUALE UTENTE. Sistemi Informativi CONSOB. DIF Dati Informativi Finanziari. Manuale Utente. Data : 03/05/2011 Versione : 1.4

Guida alla gestione delle domande di Dote Scuola per l A.S Scuole Paritarie

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte

Supporto On Line Allegato FAQ

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver /12/2014

Backup e ripristino Guida per l'utente

Nota informativa. per l abilitazione del Responsabile di Convenzione. tramite Siatel e Siatel v2-puntofisco

Guida di installazione

Informatica e Informatica di Base

DISPOSITIVO DI COMANDO A 4 CANALI CON ATTUATORE MULTIFUNZIONE ART. 442ABT4R2

Cicli di clock e istruzioni

Valutazione del personale

Manuale Utente IMPORT PROFIM 2000

Laboratorio software. A.A C. Brandolese

1. COME SCARICARE I DATI DAL PORTALE SISTER.

Manuale Utente CMMG Corso Medici Medicina Generale

Gestione delle eccezioni in Java

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Interfacciamento di periferiche I/O al μp 8088

Alcune idee sui sistemi software e la loro architettura

Oggetto: Utility per la variazione massiva del codice IVA.

Transcript:

Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione sono previste apposite aree dati e codice In modo kernel vengono eseguite le istruzioni del sistema operativo ed, in particolare, vengono gestite le eccezioni. Eccezioni in MIPS - 1

Gestione delle Eccezioni nel MIPS La gestione delle eccezioni e delle interruzioni è effettuata dal coprocessore 0 4 registri mantengono tutte le informazioni necessarie alla gestione E possibile accedere ai registri tramite le istruzioni: lwc0, swc0, mfc0, mtc0 Eccezioni in MIPS - 2 Interruzioni ed eccezioni Esistono diverse categorie di interruzioni : Eccezioni Interruzioni Chiamate di sistema Segnale RESET Eccezioni in MIPS - 3

Eccezioni Corrispondono ad eventi anormali, tipicamente errori che impediscono la corretta esecuzione dell istruzione in corso. Non sono mascherabili. Tipi di eccezioni: ADDRL Address error in lettura (load o istr. Fetch) ADDRS Address error in scrittura IBUS Bus error in istr. fetch DBUS Bus error in data RI Reserved instruction CPU Coprocessor inaccessibile OVF Overflow Eccezioni in MIPS - 4 Gestione delle eccezioni All atto di un eccezione il processore: Salva l indirizzo dell istruzione in EPC Salva la configurazione presente del registro di stato Passa in modo kernel e disabilita le interruzioni Salta all indirizzo 0x80000080 Eccezioni in MIPS - 5

Interruzioni Le richieste di interruzione sono eventi asincroni provenienti in genere dalle periferiche. Il processore ha 6 linee di interruzione esterne che possono essere mascherate globalmente o singolarmente. L attivazione di una di queste linee è una richiesta di interruzione. Le interruzioni sono segnalate nel registro Causa e sono gestite al termine dell esecuzione dell istruzione in corso, se non sono mascherate Il processore passa in modo kernel e salta al gestore di interruzioni dopo aver salvato l indirizzo di ritorno. Eccezioni in MIPS - 6 Gestione delle interruzioni All atto di un interruzione il processore: Salva l indirizzo di ritorno (PC+4) in EPC Salva la configurazione presente del registro di stato Passa in modo kernel e disabilita le interruzioni Salta all indirizzo 0x80000080 Eccezioni in MIPS - 7

Chiamate di sistema Due istruzioni per attivare chiamate di sistema, eseguibili in modo utente: SYSCALL BREAK L istruzione SYSCALL permette ad un processo di chiedere un servizio al sistema, p. es. un operazione di I/O Il codice identificativo del tipo di servizio richiesto e gli eventuali parametri devono essere preparati prima all interno di registri generali L istruzione BREAK è utilizzata più specificamente per inserire un punto di arresto all interno di un programma In entrambi i casi, il processore passa in modo kernel e salta al gestore di interruzioni dopo aver salvato l indirizzo di ritorno. Eccezioni in MIPS - 8 Gestione delle chiamate di sistema All atto dell esecuzione di una chiamata di sistema il processore: Salva l indirizzo di ritorno (PC+4) in EPC Salva la configurazione presente del registro di stato Passa in modo kernel e disabilita le interruzioni Salta all indirizzo 0x80000080 Eccezioni in MIPS - 9

Reset Il processore possiede una linea RESET la cui attivazione produce il salto incondizionato alla routine di inizializzazione L attivazione della linea RESET è simile ad una settima linea di interruzione esterna con le seguenti importanti differenze: non è mascherabile non è necessario salvare un indirizzo di ritorno il codice per la gestione del reset si trova all indirizzo 0xBFC00000 All atto dell attivazione del RESET il processore Passa in modo kernel e disabilita le interruzioni Salta all indirizzo 0xBFC00000 Eccezioni in MIPS - 10 Registri del coprocessore 0 EPC contiene l indirizzo di ritorno dal servizio all interruzione BadVAddr contiene l indirizzo di memoria cui è stato fatto riferimento Eccezioni in MIPS - 11

Registro di Stato L interrupt mask contiene un bit per ciascuno degli 8 livelli possibili di interruzione: 6 hardware (10-15) e 2 software (8-9). Il livello è abilitato se il bit corrispondente è messo a 1. Il bit 0 (IEC) gestisce l abilitazione generale delle interruzioni (0=disabilitate). Il bit 1 (KUC) segnala se il processore è in modo kernel (0) o utente (1) I bit 2-5 realizzano uno stack di profondità due per i bit IE e KU. Eccezioni in MIPS - 12 Registro di Stato All atto dell interruzione, i 6 bit sono scalati a sinistra di due posizioni. I 2 bit meno significativi sono posti a 00 modo kernel, interruzioni disabilitate. Eccezioni in MIPS - 13

Ritorno da un interruzione Prima di riprendere l esecuzione di un programma che ha effettuato una chiamata di sistema o è stato interrotto è necessario ripristinare il registro di Stato Il ripristino viene effettuato grazie ad un istruzione RFE che rimette il registro di Stato nelle condizioni precedenti all interruzione. Eccezioni in MIPS - 14 Registro di Stato Al termine del servizio all interruzione, viene ripristinato il registro di stato tramite un istruzione RFE. Eccezioni in MIPS - 15

Registro Causa I bit 10-15 corrispondono ai 6 livelli di interrupt hardware: se un bit è a 1, c è un interruzione non ancora servita a quel livello. I bit 2-5 descrivono la causa dell eccezione secondo la codifica: 11 CPU Eccezioni in MIPS - 16 Coprocessore non disponibile Istruzioni per la gestione di eccezioni rfe (return from exception) Ripristina il registro Stato, ma non ritorna al programma interrotto break code (es. break 3) Genera una eccezione di breakpoint parametrizzata da code. code=1 è riservato al debugger. Il code si estrae dall istruzione indirizzata da EPC syscall Genera una system call. Il codice del servizio è contenuto in $v0 ($2) nop (no operation) Istruzione senza alcun effetto Eccezioni in MIPS - 17

Fasi del servizio delle eccezioni In seguito al verificarsi di un eccezione L istruzione in esecuzione, e tutte quelle successive in esecuzione nella pipeline, sono abortite Le informazioni utili alla gestione e al ripristino dell esecuzione del processo interrotto sono salvate nei registri del coprocessore 0 La modalità di esecuzione del processore commuta a kernel Il controllo è trasferito a un exception handler posto all indirizzo 0x80000080 (kernel), che esamina la causa dell eccezione e la gestisce Eccezioni in MIPS - 18 Interruzioni come strumento per la gestione di operazioni di sistema Le interruzioni possono essere usate per migliorare l efficienza dell elaborazione. Permettono di liberare il processore da compiti gravosi di sincronizzazione. Sono utili soprattutto per gestire le operazioni realizzate da componenti che hanno tempi di risposta molto superiori a quelli del processore (es. dispositivi di I/O). Eccezioni in MIPS - 19

Flusso di controllo Gestione di un operazione di I/O senza interruzioni Il processore avvia l operazione attende la fine dell operazione chiude l operazione continua l esecuzione del programma Eccezioni in MIPS - 20 Flusso di controllo Eccezioni in MIPS - 21 Gestione di un operazione di I/O con interruzioni Operazione breve (termina prima della richiesta di I/O successiva) Il processore avvia l operazione continua l esecuzione del programma al termine dell operazione viene interrotta l esecuzione del programma e viene gestita la chiusura dell operazione riprende l esecuzione

Diagramma temporale Senza interruzioni Con interruzioni Eccezioni in MIPS - 22 Flusso di controllo Gestione di un operazione di I/O con interruzioni Operazione lunga (non termina prima della richiesta di I/O successiva) Il processore avvia l operazione continua l esecuzione del programma alla richiesta successiva l esecuzione del programma viene sospesa, si attende il termine dell operazione precedente e si avvia l operazione successiva riprende l esecuzione Eccezioni in MIPS - 23

Diagramma temporale Senza interruzioni Con interruzioni Eccezioni in MIPS - 24 Interruzioni multiple Una richiesta di interruzione può giungere mentre si sta già servendo un interruzione. Cosa fare? Disabilitazione delle interruzioni Il processore ignora ulteriori richieste di interruzione mentre sta servendo un interruzione Le richieste non accolte restano in attesa e sono verificate dopo che la prima interruzione è stata servita Le richieste di interruzione sono gestite in sequenza, in ordine di arrivo Definizione di priorità Vengono definite delle classi di priorità (su quale base?) e ciascuna delle possibili richieste di interruzione viene assegnata ad una classe Le ISR relative ad interruzioni a bassa priorità possono essere interrotte da richieste di interruzione a più alta priorità Il processore torna ad eseguire la ISR interrotta dopo aver servito l interruzione a più alta priorità Una richiesta di interruzione resta in attesa se il processore sta servendo un interruzione a priorità più alta Eccezioni in MIPS - 25

Fasi protette Anche se subentra una richiesta di interruzione a più alta priorità, ci sono alcune fasi del servizio di un interruzione (salvataggio e ripristino del contesto) che non possono essere interrotte Si sospende l esecuzione del programma corrente Si salva il contesto Si inizializza il PC all indirizzo d ingresso della routine per la gestione dell interrupt (Interrupt Service Routine ISR) Si esegue l ISR Si ripristina il contesto e si continua l esecuzione del programma interrotto Fasi protette Eccezioni in MIPS - 26 Interruzioni multiple servite in sequenza Programma utente ISR1 IR1 IR2 ISR1 eseguita a interruzioni disabilitate o Pr(IR1)>Pr(IR2) ISR2 Eccezioni in MIPS - 27

Interruzioni multiple innestate IR1 Programma utente ISR1 IR2 ISR2 ISR1 eseguita a interruzioni abilitate e Pr(IR1)<Pr(IR2) Eccezioni in MIPS - 28 Interruzioni innestate sequenza temporale Programma utente ISR stampant e ISR scheda di rete ISR disco Eccezioni in MIPS - 29