Input/Output (Cap. 7, Stallings)

Похожие документы
Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

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

Livelli del sottosistema di I/O

Corso di Calcolatori Elettronici I

LA GESTIONE DELLA I/O

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

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Architettura hardware

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Componenti principali

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

Input/Output. bus, interfacce, periferiche

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Componenti e connessioni. Capitolo 3

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

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

Input/Output. Livelli del sottosistema di I/O

Architettura degli Elaboratori

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Architettura degli Elaboratori - 1

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

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

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

Capitolo 13 Il sottosistema di ingresso/uscita

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

Architettura degli Elaboratori

Architettura di un elaboratore. Il modello di von Neumann

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Informatica giuridica

Architettura degli Elaboratori

Lezione 1: L hardware

La memoria - tecnologie

INFORMATICA. L informatica comprende:

Architettura dei calcolatori e Software di sistema

Il modello di Von Neumann

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Il Sottosistema di Memoria

Esame di INFORMATICA Lezione 4

Memoria cache, interrupt e DMA

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Come funzionano i computer

Architettura di un sistema di calcolo

Memoria Secondaria o di Massa

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei Calcolatori Elettronici

Struttura interna del sistema operativo Linux

Corso di Informatica

Concetti Introduttivi

Транскрипт:

Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli di I/O Architettura degli elaboratori -1 Pagina 290 Moduli di Input/Output Si interfacciano con CPU e Memoria Una o più periferiche Architettura degli elaboratori -1 Pagina 291

Dispositivi Esterni Comprensibili dall uomo video, stampante, tastiera Comprensibili dalla macchina Monitoraggio e controllo Comunicazione Modem Rete [Network Interface Card (NIC)] Architettura degli elaboratori -1 Pagina 292 Schema di dispositivo esterno Architettura degli elaboratori -1 Pagina 293

Funzioni del modulo I/O Controllo & Temporizzazione Comunicazione con CPU Comunicazione con i dispositivi Buffering dei dati Rilevazione degli errori Architettura degli elaboratori -1 Pagina 294 Passi di I/O (versione semplificata) CPU interroga il modulo I/O sullo stato del dispositivo connesso Il modulo I/O restituisce lo stato del dispositivo Se dispositivo pronto a trasmettere, CPU richiede il trasferimento dei dati, tramite comando a modulo I/O Il modulo I/O ottiene una unità di dati dal dispositivo esterno Il modulo I/O trasferisce i dati alla CPU Architettura degli elaboratori -1 Pagina 295

Diagramma modulo I/O Architettura degli elaboratori -1 Pagina 296 Caratteristiche modulo I/O Nascondere o rivelare le proprietà del dispositivo alla CPU Supportare dispositivi singoli o multipli Controllare le funzioni del dispositivo o lasciare il controllo alla CPU Caratteristiche Sistema Operativo Ad esempio, Unix tratta tutto quello che può come se fosse un file Architettura degli elaboratori -1 Pagina 297

Tecniche di gestione Input/Output I/O da programma Programmed I/O I/O guidato da interrupt Interrupt Driven I/O Accesso Diretto alla Memoria Direct Memory Access (DMA) Architettura degli elaboratori -1 Pagina 298 Tre tecniche per l input di un blocco di dati Architettura degli elaboratori -1 Pagina 299

I/O da programma CPU ha il controllo diretto sull I/O Controllo stato dispositivo Comandi lettura/scrittura Trasferimento dati CPU aspetta che il modulo I/O completi l operazione Spreca tempo di CPU Architettura degli elaboratori -1 Pagina 300 I/O da programma- dettaglio CPU richiede operazione I/O Modulo I/O esegue operazione Modulo I/O setta bit di stato CPU controlla bit di stato periodicamente Modulo I/O non informa direttamente CPU Modulo I/O non interrompe CPU CPU può attendere o fare altro e controllare più tardi Architettura degli elaboratori -1 Pagina 301

CPU invia indirizzo Comandi I/O che identifica modulo (& dispositivo se >1 per modulo) CPU invia commando di controllo dire al modulo cosa fare ad esempio, dare velocità al disco di test controlla lo stato ad esempio, alimentazione? errore? di lettura/scrittura il modulo trasferisce i dati tramite buffer dal/verso il dispositivo Architettura degli elaboratori -1 Pagina 302 Indirizzamento dispositivi I/O Nell I/O da programma il trasferimento dati è molto simile all accesso alla memoria (dal punto di vista della CPU) Ad ogni dispositivo viene assegnato un identificatore unico I comandi di CPU riferiscono tale identificatore (indirizzo) Architettura degli elaboratori -1 Pagina 303

I/O Mapping I/O memory-mapped Dispositivi e memoria condividono lo stesso spazio di indirizzamento I/O sembra proprio come lettura/scrittura di memoria Nessun comando speciale per I/O Ampia varietà di comandi di accesso alla memoria disponibili I/O separato (isolated) Spazi di indirizzamento separati Necessita di linee di selezione fra I/O e memoria Comandi speciali per I/O Insieme limitato Architettura degli elaboratori -1 Pagina 304 Confronto fra I/O memory mapped e separato Architettura degli elaboratori -1 Pagina 305

Confronto fra I/O memory mapped e separato 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 tecnica della memoria segmentata, più aree di I/O possono mappare sul medesimo spazio di indirizzamento fisico Architettura degli elaboratori -1 Pagina 306 Confronto fra I/O memory mapped e separato 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 Architettura degli elaboratori -1 Pagina 307

I/O Interrupt Driven Evita l attesa da parte della CPU Nessun controllo ripetuto dello stato del dispositivo da parte della CPU Il modulo di I/O interrompe la CPU quando è pronto Architettura degli elaboratori -1 Pagina 308 Tre tecniche per l input di un blocco di dati Architettura degli elaboratori -1 Pagina 309

I/O Interrupt Driven Operazioni Base CPU rilascia comando di lettura Modulo I/O ottiene i dati dalla periferica mentre la CPU svolge altro lavoro Modulo I/O interrompe la CPU CPU richiede i dati al modulo I/O Modulo I/O trasferisce i dati Architettura degli elaboratori -1 Pagina 310 Semplice elaborazione delle interruzioni Architettura degli elaboratori -1 Pagina 311

Punto di Vista della CPU Rilascia comando di lettura Esegue altro lavoro Controlla se c è interruzione alla fine di ogni ciclo di istruzione (ciclo fetch/execute con trattamento delle interruzioni) Se interruzione presente :- Salva contesto (PC e registri) Interruzione del processo corrente e elaborazione interrupt Lettura dati da modulo I/O e scrittura in memoria Architettura degli elaboratori -1 Pagina 312 Cambiamento in Memoria e Registri per un Interrupt Architettura degli elaboratori -1 Pagina 313

Accesso Diretto alla Memoria (Direct Memory Access) Sia I/O da programma che interrupt driven richiedono l intervento attivo della CPU Il tasso di trasferimento dei dati è limitato CPU è impegnata in tali operazioni e non può svolgere altre attività per lei più specifiche DMA riduce l intervento della CPU al minimo necessario Architettura degli elaboratori -1 Pagina 314 Tre tecniche per l input di un blocco di dati Architettura degli elaboratori -1 Pagina 315

Funzione del DMA Modulo (hardware) addizionale, connesso al bus Il controllore DMA sostituisce la CPU per la maggior parte delle attività di I/O Architettura degli elaboratori -1 Pagina 316 Diagramma di un tipico modulo DMA Architettura degli elaboratori -1 Pagina 317

Operazioni DMA CPU comunica al controllore DMA :- lettura/scrittura indirizzo dispositivo indirizzo iniziale in memoria del blocco dati coinvolto nell operazione (da dove leggere o dove scrivere i dati) quantità di dati da trasferire CPU prosegue eseguendo altre attività Il controllore DMA si occupa del trasferimento dei dati ( colloquia direttamente con la memoria centrale) Il controllore DMA invia un interrupt alla CPU quando ha terminato il trasferimento Architettura degli elaboratori -1 Pagina 318 Trasferimento dati DMA 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 Architettura degli elaboratori -1 Pagina 319

Trasferimento dati DMA (cycle stealing) Il controllore DMA prende possesso del bus per un ciclo Trasferisce una parola (word) di dati Non è una interruzione La CPU non cambia contesto La CPU rimane sospesa proprio nel momento prima che acceda al bus Ad esempio, prima del caricamento di un dato e/o operando o di una scrittura Rallenta la CPU ma non così tanto come nel caso in cui sia la CPU stessa ad occuparsi del trasferimento dati Architettura degli elaboratori -1 Pagina 320 Breakpoint di DMA e di Interrupt durante un ciclo di istruzione Architettura degli elaboratori -1 Pagina 321

Configurazioni DMA Bus singolo, controller DMA isolato Ogni trasferimento usa il bus due volte da I/O a DMA e poi da DMA alla memoria CPU perde il possesso del bus due volte Architettura degli elaboratori -1 Pagina 322 Configurazioni DMA Bus singolo, controllore DMA integrato con I/O Può controllare più di un dispositivo Ogni trasferimento usa il bus una volta da DMA a memoria CPU perde il controllo del bus una sola volta Architettura degli elaboratori -1 Pagina 323

Configurazioni DMA Bus di I/O separato DMA necessita di una sola interfaccia I/O Ogni trasferimento usa il bus di sistema una sola volta da DMA a memoria CPU perde il controllo del bus una sola volta Architettura degli elaboratori -1 Pagina 324