CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © 2001 - William Fornaciari Tecniche di gestione.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione Input Output A. Ferrari.
Perché le interruzioni?
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
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:
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
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
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
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.
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
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.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
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.
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
GLI INTERRUPT PAG..
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
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
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Architettura degli elaboratori
Architettura del calcolatore
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
GESTIONE INTERRUPT CPU INTEL 8086
Introduzione al linguaggio assembly del microprocessore a parte
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Il nucleo del Sistema Operativo
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Gestione del processore (Scheduler)
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
ELETTRONICA DIGITALE (II Parte) (6-7) 13.12;15.12
Gestione dei dispositivi di I/O:
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano © 2001 William Fornaciari Architetture di calcolo.
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.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda Interfaccia verso il bus.
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.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Transcript della presentazione:

CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © William Fornaciari Tecniche di gestione dellI/O Docente William Fornaciari Politecnico di Milano {fornacia, Ottobre 2001

Tecniche di Interfacciamento© William Fornaciari- 2 - Sommario Richiami sulle periferiche Definizione del problema Controllo di programma Interruzione Direct Memory Access (DMA)

Tecniche di Interfacciamento© William Fornaciari- 3 - Richiami sulle periferiche Memory mapping: condivisione dello spazio di I/O con la memoria Possibilità di usare le stesse istruzioni assembler per accedere a dispositivo di I/O o memoria Se un dispositivo di I/O trova sul bus indirizzi il proprio indentificativo, allora risponde ai segnali che riceve sul bus di controllo Gli eventuali dati da scambiare transiteranno sul bus dati

Tecniche di Interfacciamento© William Fornaciari- 4 - Dispositivi di I/O: Interfaccia Address Bus Data Bus Control Bus I/O Device Interface Address DecoderControl Logic Status and Data Registers Un dispositivo di I/O generico necessita di una interfaccia per poter accedere al BUS

Tecniche di Interfacciamento© William Fornaciari- 5 - Le esigenze Scambio informazioni con il mondo esterno Dispositivo Azioni Partner Data Rate (KB/sec) Keyboard Input Umano 0.01 Mouse Input Umano 0.02 Line Printer Output Umano 1 Floppy disk Storage Macchina 50 Laser Printer Output Umano 100 Optical Disk Storage Macchina 500 Magnetic Disk Storage Macchina Network-LAN Input/Output Macchina 20 – Graphics Display Output Umano

Tecniche di Interfacciamento© William Fornaciari- 6 - Le esigenze Necessità di bilanciare costo/prestazioni Parametri di valutazione tempo di reazione velocità di trasferimento dati efficienza nelluso della CPU complessità, flessibità e costo Domande come sincronizzare processore con periferica come trasferire i dati come raggiungere adeguate velocità senza sovraccaricare il processore

Tecniche di Interfacciamento© William Fornaciari- 7 - Tecniche di base Complessità Costo Prestazioni SincronizzazioneSWHWHW TrasferimentoSWSWHW Sw: costoso da sviluppare, economico da riprodurre, elaborazioni flessibili, articolate ma lente Hw: costo di realizzazione e collaudo di ogni esemplare, elaborazioni veloci, semplici ma rigide Controllo di programma InterruzioneDMA

Tecniche di Interfacciamento© William Fornaciari- 8 - Controllo di programma Il processore si occupa di tutte le attività interroga periodicamente le periferiche (polling) per capire se vi sono dati da leggere o è possibile scrivere i dati vengono scambiati tramite una porta di lettura/scrittura la sincronizzazione usa registri di controllo delle porte di lettura/scrittura (flag verificati e re-inizializzati a termine operazione) flag P1 flag Pn routine n routine 1

Tecniche di Interfacciamento© William Fornaciari- 9 - Controllo di programma Vantaggi semplicità flessibilità basso costo (se il processore è economico) Svantaggi scarso sfruttamento della CPU soprattutto in caso di eventi sporadici e periferiche lente difficile introdurre concetti di urgenza latenze di risposta a volte notevoli possibile influenza del carico di lavoro della CPU

Tecniche di Interfacciamento© William Fornaciari Interruzione Meccanismo base La periferica prende liniziativa di segnalare al processore la sua disponibilità per operazione di I/O (INTREQ) Il processore segnala (INTACK) laccettazione della richiesta (non necessariamente subito) Il processore interrompe il programma e salta ad eseguire una routine di servizio (ISR), salvando lo stato della computazione (PC, Status Reg, Registri) Terminata la ISR, tramite istruzione apposita si ritorna al punto in cui il programma era stato interrotto Vantaggi Elimino test inutili dei flag, utile per eventi sporadici Interruzioni eseguite in modo trasparente rispetto a programmi

Tecniche di Interfacciamento© William Fornaciari Interruzione: problemi di gestione Il salvataggio del contesto può coinvolgere la memoria, provocando ritardi nellesecuzione della ISR (latenza di interruzione) Tempo limite per servire ISR (se non si intende ignorarla) Identificazione della periferica e attivazione della relativa ISR Possibilità di avere più richieste pendenti, concetto di priorità Possibilità di ricevere segnali di interruzione durante lesecuzione di una ISR

Tecniche di Interfacciamento© William Fornaciari Interruzione: accettazione Il processore termina sempre listruzione corrente prima di accettare interruzione Di norma le interruzioni vengono disabilitate in modo automatico allinizio delle ISR, è compito del programmatore riabilitarle I processori consentono di abilitare o disabilitare (mascherare) selettivamente le singole cause di interruzione Spesso esistono interruzioni non mascherabili (NMI) destinati a gestire eventi che richiedono bassa latenza (es. errore di parità memoria)

Tecniche di Interfacciamento© William Fornaciari Tecniche per identificare le ISR Salto a indirizzo fisso il segnale INT è unico per tutte le periferiche allinizio della ISR vengono scanditi i registri di controllo delle periferiche (polling) per identificare quella che ha sollevato INT ed eseguire lappropriato codice di servizio semplice, economica (poco hw), problema latenza Segnali multipli di interruzione ogni periferica dispone di una proprio INT, cui è associato un indirizzo specifico di memoria che contiene la ISR complicata struttura dei bus, usabile solo con limitato numero di periferiche

Tecniche di Interfacciamento© William Fornaciari Tecniche per identificare le ISRTecniche per identificare le ISR Interruzione vettorizzata –il segnale INT è unico, ma ogni periferica si auto-identifica inviando sul bus dati un codice (vettore di interruzione) –il vettore di interruzione viene usato come indice di una tabella contenente gli indirizzi delle varie ISR –tecnica efficiente, flessibile ma relativamente costosa

Tecniche di Interfacciamento© William Fornaciari Politiche di priorità per interruzioni multiple Nessuna politica ogni ISR viene eseguita a interruzioni disabilitate durante una ISR le altre rimangono pendenti Schema con priorità ogni ISR ha un livello di priorità (0, 1, …) una ISR associata a INTREQ di livello h può essere interrotto solo da una INTREQ di livello k superiore (k h) lassociazione fra INTREQ e priorità è di norma (anche se non necessariamente) statica, decisa cioè in fase di configurazione della macchina

Tecniche di Interfacciamento© William Fornaciari Ogni periferica può sollevare INTREQ se e solo se riceve INTACK da quella che la precede La periferica servita non solleva INTACK finché non è terminata la sua ISR Priorità cablata (daisy - chain)

Tecniche di Interfacciamento© William Fornaciari Priorità con Interrupt Controller Un dispositivo riceve le richieste dalle periferiche e le smista con lopportuna priorità In controllore deve essere configurato da parte del processore

Tecniche di Interfacciamento© William Fornaciari Direct Memory Access Esistono dispositivi, come gli HD, che richiedono trasferimenti di grosse moli di dati contigui entro tempi limiti stringenti La latenza delle interruzioni e lintrinseca lentezza della gestione sw richiedono nuove strategie in gradi di interfacciare direttamente la memoria con i dispositivi di I/O Durante i trasferimenti il processore perde il ruolo di Master a favore del DMA Controller (DMAC), che genera tutti gli indirizzi e segnali per la gestione dei bus Il DMAC è programmato dal processore

Tecniche di Interfacciamento© William Fornaciari DMA: funzionamento Quando una periferica ha pronto un blocco di dati da scrivere in memoria invia al DMAC una DMA request Quando può il DMAC accetta la richiesta smistandola verso il micro come segnale di richiesta di bus (BUSREQ) Il processore cede il ruolo di master del bus al DMAC, disattivano un segnale BUSBUSY Il DMAC prende il controllo del bus, rialzando BUSBUSY Il DMAC trasferisce i dati dalla periferica verso la memoria, al termine disattiva BUSBUSY e segnale al processore il termine delloperazione tramite interruzione

Tecniche di Interfacciamento© William Fornaciari DMAC: struttura interna Ind base: indirizzo iniziale della memoria ove trasferire il blocco dati porta perif.: indirizzo porta periferica ove leggere/scrivere i dati da trasferire lunghezza: dimensione del blocco dati controllo: registro con campi per codici errore, abilitazione DMA, fine DMA… dato: registro tampone, se presente, usato per i traferimenti ad ogni trasferimento, automaticamente si incrementa lind base e decrementa lunghezza la presenza contemporanea di più DMAC richiede un sistema che funga da arbitro per le richieste al bus

Tecniche di Interfacciamento© William Fornaciari Confronti conclusivi Il DMA garantisce elevate prestazioni a un costo elevato Il DMA può allungare in modo impredicibile i tempi di esecuzione dei programmi (talvolta in sistemi in tempo reale viene disabilitato)