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



Documenti analoghi
4 La gestione dell I/O Indice. 4.2 Modelli di funzionamento Modello di coda - 1. I/O come collo di bottiglia. Misura delle prestazioni.

Input/Output (Cap. 7, Stallings)

Livelli del sottosistema di I/O

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Gestione software Il meccanismo delle interruzioni - 3

Strutture dei sistemi di calcolo

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Corso di Calcolatori Elettronici I

Capitolo 2: Strutture dei sistemi di calcolo

I bus. Sommario. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Il Sottosistema di Memoria

Input/Output. Input/Output

Input/Output. bus, interfacce, periferiche

Architettura dei sistemi di elaborazione (Input/Output parte 1)

Input/Output. Livelli del sottosistema di I/O

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Input/Output. bus, interfacce, periferiche

Sistemi operativi 2003/2004. Input e output

Memorie Caratteristiche principali

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

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

Input/Output. bus, interfacce, periferiche

Il sistema di I/O. Sistemi Operativi 13.1

Sistemi Operativi. Sottosistema di I/O

Il Sottosistema di Memoria

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver

Vari modi di specificare l indirizzo degli operandi

Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Architettura dei sistemi di elaborazione (Input/Output parte 2)

Informatica 10. appunti dalla lezione del 16/11/2010

Memorie Caratteristiche principali

Input / Output. M. Dominoni A.A. 2002/2003. Input/Output A.A. 2002/2003 1

Miglioramento delle prestazioni

Il Sistema Operativo. Informatica Sistema Operativo 1

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Personal Computer: introduzione

Incremento prestazioni

Un semplice commutatore a pacchetto

Sistemi Operativi. Bruschi Martignoni Monga. La gestione. Concetti generali Comandi Interrupt Pila sw Deadlock Gestione dei deadlock

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

La memoria - tecnologie

Principali periferiche

LA GESTIONE DELLA I/O

Modulo 10: Gestione dei dispositivi di I/O

La memoria - tecnologie

Le Memorie. Classe III Telecomunicazioni Sistemi e Reti. Prof. Tullio Parcesepe

Il Sottosistema di Memoria

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Dispositivi di I/O. Dispositivi di I/O

Architettura Single Channel

La memoria cache. Informatica generale

Sistemi Operativi. Sottosistema di I/O

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Il Sottosistema di Memoria

ISA Input / Output (I/O) Data register Controller

Memoria Virtuale e I/O. Paolo Baldan. Introduzione. Gerarchie di memoria: Cache. Gerarchie di Memoria CPU

ARCHITETTURA DI UN ELABORATORE. Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

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

Architettura del Calcolatore

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

L input/output. Architettura degli Elaboratori e delle Reti

La memoria - tecnologie

Gerarchie di memoria Memorie a componenti dinamici 1

Architettura di von Neumann

Architettura di von Neumann

IL SISTEMA OPERATIVO

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

PD-32. Connessione di dispositivi esterni (periferiche)

Struttura delle memorie cache

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Università degli Studi di Cassino e del Lazio Meridionale

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Architettura di von Neumann

ARCHITETTURA DEL CALCOLATORE

Fondamenti di Informatica

Architettura di un elaboratore. Il modello di von Neumann

Elettronica per l informatica. Cosa c è nell unità A. Unità A: Bus di comunicazione. A.1 Architetture di interconnessione A.2 Esempi commerciali

Struttura dei Sistemi di Calcolo

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore.

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

Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)

Sommario. Gestione dell I/O e Scheduling dei Dischi. Categorie di Dispositivi di I/O. Human readable

Metodo di arbitraggio

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Struttura interna del sistema operativo Linux

Informatica Industriale - A -6

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Architettura di un PC

Struttura delle memorie cache

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Embedded and Reconfigurable Systems M 03 Bus protocols

Memoria Virtuale e I/O

Reti di Calcolatori:

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Docenti: Fabrizio Benazzi Valter Lelli Azienda USL 11 di Empoli

Transcript:

La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità Misura delle prestazioni Le prestazioni di I/O si misurano in termini di Tempo di risposta (o di latenza) L intervallo di tempo tra l emissione di una richiesta di I/O ed il suo soddisfacimento Banda passante (o throughput) Il numero medio di operazioni di I/O completabili per unità di tempo (equivalente alla quantità totale di dati trasmessi) Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 2 Architettura degli Elaboratori - 1 - A. Sperduti 1

Prestazioni e generalità I/O come collo di bottiglia CPU: la velocità raddoppia ogni 18 mesi DRAM: la capacità raddoppia ogni 2-3 anni Disco rigido: la capacità raddoppia ogni 3 anni I/O: le prestazioni migliorano del 10% all anno Limiti derivanti da seri problemi meccanici Le prestazioni generali degli elaboratori aumentano poco per via del collo di bottiglia causato dall I/O Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 3 Modello di coda - 1 Un sistema di I/O può essere rappresentato con un modello produttore-consumatore dotato di una coda dei prodotti per compensare le diverse velocità relative Coda Produttore Consumatore Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 4 Architettura degli Elaboratori - 1 - A. Sperduti 2

Modello di coda - 2 Si ha basso tempo di risposta con coda vuota e consumatore libero Si ha elevata banda passante con coda mai vuota e consumatore mai inoperoso Tempo di risposta [ms.] 300 200 100 0 50 100 Banda passante [%] Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 5 0 Modello di coda - 3 Il tempo di risposta non è facilmente migliorabile La banda passante può essere aumentata moltiplicando i produttori e/o i consumatori Produttore Consumatore Consumatore Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 6 Architettura degli Elaboratori - 1 - A. Sperduti 3

Classificazione dei dispositivi di I/O A blocchi Il dispositivo emette e riceve dati strutturati in blocchi di dimensione fissa (512B-32kB), ciascuno con un indirizzo proprio Disco, nastro I blocchi possono essere indirizzati (per lettura o scrittura) indipendentemente A caratteri Il dispositivo emette e riceve sequenze non strutturate di caratteri Stampante, interfaccia di rete, mouse Non consente indirizzamento dei dati Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 7 Struttura dei dispositivi di I/O - 1 Parte meccanica Il dispositivo vero e proprio Parte elettronica Chiamata device controller (o adattatore) Un singolo controller può gestire più dispositivi L interfaccia tra dispositivo e controller è spesso di basso livello (primitivo) La funzione del controller è precisamente quella di offrire al S/O un interfaccia meno rozza verso il dispositivo Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 8 Architettura degli Elaboratori - 1 - A. Sperduti 4

Struttura dei dispositivi di I/O - 2 I controller utilizzano registri e banchi di memoria per comunicare con la CPU I registri contengono comandi Di configurazione, di controllo, di esecuzione I banchi di memoria (buffer) contengono i dati in emissione o in ricezione Il S/O ha accesso ad entrambi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 9 Struttura dei dispositivi di I/O - 3 Varie tecniche permettono di includere i registri del controller nello spazio di indirizzamento della CPU Ciascun registro viene visto come una porta speciale di I/O indirizzata da istruzioni speciali Tutti i registri vengono visti e trattati come parte della memoria (memory-mapped I/O) La corrispondente area non viene allocata liberamente Soluzioni ibride (Pentium) Banchi di memoria del controller come memory-mapped I/O Registri di controllo come porte speciali di I/O Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 10 Architettura degli Elaboratori - 1 - A. Sperduti 5

Struttura dei dispositivi di I/O - 4 La tecnica memory-mapped I/O ha diversi vantaggi Non necessita di istruzioni speciali Le istruzioni che accedono memoria normale accedono anche le aree di I/O Il software di controllo di dispositivo può essere scritto interamente in linguaggi ad alto livello Consente una più agevole protezione è sufficiente nascondere le aree di I/O allo spazio di indirizzamento di utente (privilegi) Con la segmentazione, più aree di I/O possono mappare sul medesimo spazio di indirizzamento fisico Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 11 Struttura dei dispositivi di I/O - 5 La tecnica memory-mapped I/O presenta anche alcuni svantaggi Non si presta all uso di cache Il dato rilevante è sempre e solo nella memoria del dispositivo Occorre disabilitare selettivamente la cache Non è compatibile con architetture a bus multipli I dispositivi di I/O non possono rispondere ad indirizzi emessi su bus non connessi Occorre filtrare gli indirizzi emessi dalla CPU ed instradarli sul bus appropriato Filtraggio a sorgente piuttosto che a destinazione Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 12 Architettura degli Elaboratori - 1 - A. Sperduti 6

Accesso ai dispositivi di I/O - 1 Tutti i dispositivi si affacciano sul canale indirizzi controllato dalla CPU Per ogni indirizzo emesso sul canale, la CPU specifica se per lettura o scrittura Il tipo di indirizzo emesso individua univocamente I unità chiamata a rispondere Blocchi diversi di indirizzi sono assegnati ad unità diverse Nessuna sovrapposizione, nessun conflitto Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 13 Accesso ai dispositivi di I/O - 2 Quando CPU e dispositivo hanno velocità relative molto diverse non conviene che la più veloce debba attendere quella più lenta Il meccanismo detto Direct Memory Access (DMA) consente tale disaccoppiamento Questo richiede l uso di un DMA controller capace di prendere occasionalmente possesso dei canali indirizzi e dati Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 14 Architettura degli Elaboratori - 1 - A. Sperduti 7

CPU Accesso ai dispositivi di I/O - 3 DMA Controller base 1 4 7 limite controllo 6 Controller di dispositivo Banco di memoria Dispositivo 3 Memoria 2 5 Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 15 Accesso ai dispositivi di I/O - 4 1. La CPU programma il DMA controller informandolo della destinazione e dell ampiezza del trasferimento da effettuare 2. La CPU comanda al controller di dispositivo di acquisire dati dal dispositivo 3. Il controller di dispositivo salva i dati acquisiti nella sua memoria interna 4. Il DMA controller comanda al controller di dispositivo di trasferire i dati acquisiti in memoria principale 5. Il controller di dispositivo effettua il trasferimento 6. Il controller di dispositivo informa il DMA controller l esito del trasferimento 7. Il DMA controller informa la CPU dell esito del trasferimento Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 16 Architettura degli Elaboratori - 1 - A. Sperduti 8

Accesso ai dispositivi di I/O - 5 Il DMA controller può accedere al canale dati in uno di due modi Una parola alla volta, sottraendo di tanto in tanto alla CPU il controllo sul canale (cycle stealing) Per blocchi, prendendo possesso del canale per una serie di trasferimenti (burst mode) La CPU è bloccata in entrambi i casi, ma il burst mode è più efficace perché l acquisizione del canale è onerosa La CPU può fare a meno del DMA se essa è molto più veloce del DMA controller Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 17 Gestione software Il meccanismo delle interruzioni - 1 CPU Controllore delle interruzioni A 3 2 C 1 B C Dispositivi (periferiche) Canali dati ed indirizzi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 18 Architettura degli Elaboratori - 1 - A. Sperduti 9

Gestione software Il meccanismo delle interruzioni - 2 1. Il dispositivo C segnala che ha bisogno di attenzione (p.es. ha completato un trasferimento) 2. Il controllore delle interruzioni segnala alla CPU che il dispositivo C chiede attenzione 3. La CPU attiva il servizio di gestione dell interruzione richiesta e ne notifica l inizio al controllore delle interruzioni Solo dopo tale notifica il controllore delle interruzioni si dispone ad accogliere altre richieste dai dispositivi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 19 Architettura degli Elaboratori - 1 - A. Sperduti 10