Gerarchie di priorità per la gestione delle interruzioni

Slides:



Advertisements
Presentazioni simili
Interfacciamento Processore – dispositivi di I/O
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Interfacciamento Processore – dispositivi di I/O
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Gestione Input Output A. Ferrari.
Perché le interruzioni?
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Gestione del processore
Circuiti sequenziali Capitolo 5.
12. Il Sistema Operativo Ing. Simona Colucci
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.
INTRODUZIONE AI SISTEMI OPERATIVI
Esercizio Temperatura Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un.
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.
PSPICE – Circuiti sequenziali principali
Test dei canali di HV su un carico resistivo eseguito a Prevessin per la durata di un giorno. La scala in rosso si riferisce alla corrente Imon che come.
CALCOLATORI ELETTRONICI II
Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.
CALCOLATORI ELETTRONICI
Dal busy-wait allinterrupt. Costo aggiuntivo del busy-wait in un sistema di I/O 2. CDROM player (20X)=> trasferisce dati al processore in blocchi da 8.
Macchina a stati finiti DMAC 1.I/O dalla memoria al disco in modalità Burst 2.I/O dalla memoria al disco in modalità Burst Stealing 3.I/O dal disco alla.
Interfaccia del Timer1 I/O AB I/O DB I/O CB Dec SELECT START IRQ SCO R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ IOWR REG COUNTER.
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.
Dal busy-wait allinterrupt Tecniche di interazione con periferiche di I/O finora studiate sono: Polling Busy-waiting Entrambe nella categoria sincrona.
Esercizio Temperatura Una stanza e monitorata da 4 sensori di temperatura, i quali sono pilotati da un PD32. Questultimo controlla costantemente che il.
1 Interfacciamento Processore – dispositivi di I/O.
Struttura dei sistemi operativi (panoramica)
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.
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Sistemi Operativi GESTIONE DEI PROCESSI.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
GLI INTERRUPT PAG..
Univ. Studi di Roma FORO ITALICO Prof. Stefano Razzicchia 1 UNIVERSITA STUDI DI ROMA FORO ITALICO Corso di Laurea Triennale INFORMATICA Lez. 6.
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.
Le unità di input/output Il dispositivo di interfaccia viene attivato ogni volta si vuole compiere un operazione di input/output e comprende : Un buffer.
La gestione dellinput/output Poiché i dispositivi esterni hanno una struttura difforme da quella di un processore, ciascuna periferica necessiterà di una.
TECNICHE DI INPUT/OUTPUT
Esercizio Temperatura Una stanza e monitorata da 4 sensori di temperatura, i quali sono pilotati da un PD32. Questultimo controlla costantemente che il.
Architettura degli elaboratori
PREFAZIONE Per poter eseguire il progetto Schematico occorre installare la libreria libreria.cat e i relativi file Sch e Sym presenti nella cartella librerie,
Alcune Istruzioni per la gestione dellI/O (Classe 7) Per la destinazione D0 sono ammessi tutti i tipi di indirizzamento tranne quello immediato. Per la.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
PIC 8259 PROGRAMMABLE INTERRUPT CONTROLLER
PERIFERICHE DI TIMING.
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Sistema Operativo (Software di base)
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Tipi e topologie di LAN Lezione 2.
ELETTRONICA DIGITALE (II Parte) (6-7) 13.12;15.12
Gestione dei dispositivi di I/O:
Sistemi Elettronici Programmabili
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
Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.
09/01/2016 Corso propedeutico base di informatica 1.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Transcript della presentazione:

Gerarchie di priorità per la gestione delle interruzioni Introdurre una gerarchia per la gestione delle interruzioni consiste essenzialmente nel definire dei meccanismi per: Stabilire quale dispositivo debba essere servito per primo nel caso di richieste contemporanee. Consentire che il servizio di una interruzione possa essere a sua volta interrotto da dispositivi più prioritari. Tali meccanismi possono essere implementati via hardware (vedi controllore interruzione a priorità) o, nel caso in cui non via un supporto hardware dedicato, via software.

IR0 IR2 IR1 LIVELLO 2 FINE INTERR. LIVELLO 1 PRIORITA’ CRESCENTE FINE SERVIZIO LIVELLO 2 FINE INTERR. SERVIZIO LIVELLO 1 FINE PRIORITA’ CRESCENTE SERVIZIO RIPRESA SERVIZIO LIVELLO 0 INTERR. FINE PROGRAMMA PRINCIPALE RIPRESA PROGRAMMA PRINCIPALE t IR0 IR2 IR1

Gestire la gerarchia di priorità delle interruzioni via software

1) Stabilire quale dispositivo debba essere servito per primo nel caso di richieste contemporanee. Soluzione Hardware: si utilizza il segnale di IACK propagato in daisy-chain per il riconoscimento dell’origine dell’interruzione. Così facendo si introduce una priorità che è funzione della “distanza” dal processore (la periferica più vicina ha priorità max). Una soluzione alternativa implementabile via software è di interrogare una dopo l’altro le periferiche (polling). L’ordine di interrogazione definisce la priorità nella gestione delle interruzioni.

2) Consentire che il servizio di una interruzione possa essere a sua volta interrotto da dispositivi più prioritari. Abbiamo già studiato una soluzione hw a tale scopo. Una possibile alternativa implementabile completamente tramite software prevede che: Ogni routine di servizio che prevede di essere interrotta (di priorità non max) debba rendere il processore nuovamente interrompibile (SETI). Per inibire i dispositivi a priorità minore, prima della SETI devono essere opportunamente mascherati i flip-flop IM dei devices presenti, cosi’ da stabilire da quali di questi, la routine di servizio possa essere interrotta. Lo stato di interrompibilità, definito dai valori dei registri IM dei dispositivi al momento dell’interruzione, fa parte del contesto del programma e va ripristinato prima della RTI. Prima di rendere interrompibile il processore deve essere rimossa la causa dell’interruzione stessa, per evitare lo stack overflow. Si può raggiungere questo scopo impedendo alla periferica di generare altre interruzioni con CLRIM. Anche resettando il flip-flop di status (START,CLEAR) , rimuoviamo la causa dell’interruzione, ma non inibiamo la periferica a generarne altri. Di conseguenza possono sorgere problemi nel caso in cui un driver sia interrotto da una nuova richiesta di interruzione a cui è associato lo stesso driver! Conflitti sui dati e sul codice!

2) Consentire che il servizio di una interruzione possa essere a sua volta interrotto da dispositivi più prioritari. 5) Il ripristino del contesto deve avvenire con il processore non interrompibile, per evitare le incongruenze che potrebbero sorgere a causa di una commutazione incompleta. Ad esempio, si consideri il driver periferica di priorità “media” (interrompibile solo da device con priorità “alta” e non da device con priorità “bassa”) …; codice del driver per device con priorità media SET I; il processore è interrompibile … ; fine codice, inizio ripristino contesto setim dev_low_priority; pop …; altre op. ripristino contesto pop …; rti Se arriva un’interruzione da parte del device a bassa priorità, questa viene subito servita ed è violata la gerarchia di priorità!

Un esempio + concreto 3 rilevatori di movimento sono connessi al PD32. Quando viene rilevato un movimento, i sensori generano una richiesta di interruzione. Si vuole servire le interruzioni provenienti dai sensori con la seguente priorità : Sensore0 Sensore1 Sensore2 Priorità crescente Driver sensore 0: SETIM Sensore1 SETIM Sensore2 CLRIM Sensore0 SETI …. CLRI SETIM Sensore0 RTI Driver sensore 1: SETIM Sensore2 CLRIM Sensore1 CLRIM Sensore0 SETI …. CLRI SETIM Sensore0 SETIM Sensore1 RTI Driver sensore 2: …. RTI

Esercizio tratto dall’appello 14/6/2000 Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio a X, al relativo semaforo e ad un TIMER. Normalmente il processore ogni minuto comanda il semaforo ad invertire l’abilitazione ai passaggi (da rosso a verde e viceversa). Prima di abilitare la commutazione del semaforo, il processore legge il numero di autovetture passate nella direzione con il verde, se il numero di auto passate in questa direzione è maggiore di 32 unità rispetto a quello dell’altra direzione (conteggiato nell’ultimo periodo), allora il processore ritarda la commutazione del semaforo di un altro minuto. Ogni volta che il processore legge i valori del numero di autovetture passate avverte il SCO delle periferiche di input di riazzerare il relativo contatore. Progettare l’interfaccia del TIMER, una delle interfacce di input e l’interfaccia della periferica che gestisce il semaforo. Inoltre progettare il software per la gestione delle interruzioni provenienti dal TIMER.

Interfaccia del Sensore I/O AB CPU I/O DB I/O CB I/O RD I/O WR SELECT inc RESET Counter sensore

Interfaccia del Semaforo I/O AB CPU I/O DB I/O CB I/O WR Q=0 => ROSSO Q=1 => VERDE S Q R Q STATUS SELECT SELECT

Interfaccia del Timer CPU I/O AB I/O DB I/O CB IRQ CLEAR START IRQ IACKIN IRQ IVN Decoder STARTD O.C. R Q S Q STATUS SELECT COMPLETE SCO STARTDEV IACKOUT

Codice Vedi file semaforo.asm sul sito