SISTEMA DI I/O CALCOLATORI ELETTRONICI I

Documenti analoghi
Sottosistemi ed Architetture Memorie

Il sistema di Input/Output

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico

Corso di Calcolatori Elettronici I

CALCOLATORI ELETTRONICI II

LA GESTIONE DELLA I/O

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Informatica giuridica

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

Componenti principali

Componenti e connessioni. Capitolo 3

Input/Output (Cap. 7, Stallings)

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Sottosistema d ingresso uscita

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

Architettura di un elaboratore. Il modello di von Neumann

Ciclo del Processore. Memoria

Livelli del sottosistema di I/O

Architettura dei Calcolatori elettronici

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

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

Il Sottosistema di Memoria

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

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Capitolo 13 Il sottosistema di ingresso/uscita

Sistemi Operativi. Sottosistema di I/O

Il sistema di I/O. Sistemi Operativi 13.1

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

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

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo

Capitolo 2: Strutture dei sistemi di calcolo

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Architetture dei Calcolatori Interfacce

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

Struttura dei Sistemi di Calcolo

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

Il Sottosistema di Memoria

IO 1 Input Output a livello Hardware

Input/Output. Livelli del sottosistema di I/O

DEC PDP8, III Generazione, '65-'75

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

I dispositivi di input/output

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete

I seguenti luicidi sono tratti da: Paolo Corsini, Dalle porte AND OR NOT al sistema calcolatore, Edizioni ETS

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

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

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

Informatica di Base - 6 c.f.u.

Lezione XII: La gestione delle eccezioni in MINIX

Architettura dei calcolatori

1.5 Control bus Sistemi: architettura dei microprocessori

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

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

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

static dynamic random access memory

Lezione 15. L elaboratore Elettronico

Elementi di informatica

Interfacciamento di periferiche I/O al μp 8088

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

2. Architettura di un calcolatore

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

Architettura di un calcolatore: Introduzione parte 2

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

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

ISO- OSI e architetture Client-Server

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

Sistemi Operativi. Sottosistema di I/O

ARCHITETTURA DI UN ELABORATORE

INFORMATICA. L informatica comprende:

Architettura dei Calcolatori Interfacce

Memorie a semiconduttore

Corso di Sistemi di Elaborazione A.A. 2008/2009

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta

Input/Output. bus, interfacce, periferiche

Introduzione al funzionamento di un calcolatore elettronico

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

PROVA SCRITTA DEL MODULO/CORSO DI. 24 novembre 2016

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Il Microprocessore. Modello di Von Neumann

Principali periferiche

Architettura degli Elaboratori

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Architettura dei calcolatori e Software di sistema

Corso di Informatica

Architettura hardware

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

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Università degli Studi di Cassino e del Lazio Meridionale

Architettura di von Neumann

Architettura di von Neumann

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

Modelli di interazione tra processi

La memoria - tecnologie

Lezione 1: L hardware

Chiamata di procedura remota

Università degli Studi di Cassino

Transcript:

SISTEMA DI I/ AATI EETTNII I d Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II

Supporti didattici B. Fadini,. Savy: Fondamenti di Informatica III cap. IV, par. 1-11, 14-15

Il colloquio tra PU e periferia memoria programma di I/ messaggio I/ PU periferia sistema centrale colloquio: scambio di messaggi protocollo: insieme di regole con cui avviene lo scambio la PU, eseguendo il programma di I/, esercita il controllo delle operazioni

Il colloquio tra PU e periferia memoria PU sistema centrale dati comandi stato I/ periferica dal centro alla periferia viaggiano i comandi per l'esecuzione di una data operazione dalla periferia al centro viaggiano i segnali di stato della periferica che ne sintetizzano le condizioni di funzionamento

Il colloquio tra PU e periferia memoria messaggio I/ PU periferica sistema centrale l'insieme dati comandi stato costituisce il messaggio

Il colloquio tra PU e periferia memoria PU sistema centrale messaggio strobe-out strobe-in I/ periferica I messaggi inviati in entrambe le direzioni sono sincronizzati mediante un apposito segnale di campionamento (strobe): dal centro alla periferia viaggia il segnale strobe-out dalla periferia al centro viaggia il segnale strobe-in

Il colloquio tra PU e periferia memoria PU sistema centrale req ack I/ periferica centro e periferia possono inoltre scambiarsi segnali di controllo: ack (acknowledged) nack (not ack) err (errore) req (richiesta di stato)

Il colloquio tra PU e periferia memoria PU sistema centrale mess. 1 mess. N I/ periferica Quando occorre trasmettere un blocco di N >1 informazioni elementari (trasmissione a blocchi) il colloquio prevede un insieme di parametri che, tra l altro, definiscono l'indirizzo di memoria di inizio del blocco A che si intende trasferire, e la dimensione N del blocco stesso

Gli strati del sistema I/ software primitive di linguaggio primitive di linguaggio primitive di S.. primitive di S.. driver linguaggio macchina linguaggio macchina architettura I/ architettura I/ interfaccia I/ interfaccia I/ sono le primitive di I/ del linguaggio ad alto livello (formatted I/ operations es. read/write/print) sono definite le operazioni di I/ più sofisticate: unità logiche, allocazione di buffer di memoria, ecc. effettua il trasferimento di un messaggio completo tra un buffer di memoria e la periferia comprende codici operativi specificamente dedicati all'i/ (operazioni I/ elementari) definisce le microoperazioni che implementano un'istruzione di I/ in M (liv. segnali di controllo) si interpone fra processore (I ) e periferica (livello logico ed elettronico) hardware

Selezione della periferica a selezione della periferica può avvenire secondo due tecniche di collegamento tra nodi: dati indirizzo i i+1 i dati i+1 indirizzo bus dedicato (punto-punto) bus comune (multi-punto) con selezione dinamica oppure preselezione

Architettura del sistema I/: interfacce passive programma I/ memoria interfaccia I/ device controller unità fisica unità periferica PU interfaccia I/ device controller unità fisica 0 unità periferica unità fisica 1 interfaccia I/ device controller unità fisica sistema elaboratore centrale unità periferica

Architettura del sistema I/: canali indipendenti Nei sistemi più evoluti la PU non gestisce direttamente le operazioni di I/, ma le delega ad un'interfaccia intelligente o ad un altro processore, detto genericamente canale di I/ Il canale di I/ effettua autonomamente le operazioni di I/: la PU gestisce soltanto le operazioni di avvio e di controllo del canale Processore di I/: un vero e proprio processore demandato esclusivamente all'esecuzione delle operazioni di I/ Modello DMA (Direct Memory Access) un'apparecchiatura in grado di accedere indipendentemente alla memoria ed eseguire un trasferimento di N blocchi per volta

Architettura del sistema I/: canali indipendenti periferica PU canale I/ periferica a bus dedicati periferica memoria a bus comune PU memoria canale I/

Modello funzionale di interfaccia Un'interfaccia svolge essenzialmente funzioni di: transito di messaggi da o per la periferia controllo delle periferiche ad essa collegate controllo dell'interfaccia nella sua globalità

Modello funzionale di interfaccia PU F dato stato stato flag F comando dato comando input controllo output N T E

Modello funzionale di interfaccia PU I F dato stato stato flag F comando dato comando input controllo output N T E

Modello funzionale di interfaccia PU I F dato stato stato flag F comando dato comando input controllo output N T E

Modello funzionale di interfaccia PU I F dato stato stato flag F comando dato comando input controllo output N T E

Modello funzionale di interfaccia PU I F dato stato stato flag F comando dato comando input controllo output N T E

Esempio di interfaccia I F input controllo output F N T E I: egistro di input : flip-flop per generare il segnale di controllo F: flip-flop per memorizzare il segnale di stato : egistro di output

Il inguaggio Macchina di I/ linguaggio macchina linguaggio macchina architettura I/ architettura I/ interfaccia I/ interfaccia I/ comprende codici operativi specificamente dedicati all'i/ (operazioni I/ elementari) definisce le microoperazioni che implementano un'istruzione di I/ in M (liv. segnali di controllo) si interpone fra processore (I ) e periferia (livello logico ed elettronico) Il linguaggio macchina realizza le operazioni elementari di I/, consistenti essenzialmente nel trasferimento di un dato tra la PU ed un registro dell'interfaccia, inquadrandole nell'architettura complessiva del processore e nella tecnica generale di tutte le istruzioni in.m. Pertanto, anche per le istruzioni di I/ valgono le caratteristiche peculiari dello specifico.m.: sintassi, riferimento agli operandi e loro natura (immediato, registro, memoria, ecc.)

Sintassi e semantica del. M. di I/ Un'operazione di I/ è introdotta nella sintassi del.m. se esiste uno specifico codice operativo che la realizza. Viceversa, se un'operazione di I/ è implementata a livello programma, mediante particolari operandi e/o sequenze di codici operativi elementari, si dice che essa è realizzata per via semantica. a sintassi di un.m. "vede" un sistema di I/ in genere più semplice di quello reale, che è visto soltanto dalla semantica dei programmi di I/ di superiore livello di astrazione.

Modello fondamentale di programmazione I/ Per modello fondamentale di programmazione I/ in.m. si intende lo schema di interfaccia o comunque dei registri visti a livello.m. PU IA ID dato indirizzo P(0) P(1) P(k-1) interfaccia N T E ID (I/ Data bus) trasferisce il dato IA (I/ Address bus) indirizza il registro P[IA]

Modello I/ Isolato ID IA PU P(0) P(1) P(k) P(k+1) P(k+j) P(k+j+1) P(k-1) P(k+j-1) P(N-1) o spazio di indirizzamento per l'i/ è suddiviso tra le interfacce ed è indipendente dalla memoria centrale interfaccia controller interfaccia controller interfaccia controller

Modello I/ Isolato 'indirizzo posto sull'i/ Address bus svolge la duplice funzione di selezione dell'interfaccia ed individuazione di un particolare registro nell'interfaccia Apposite istruzioni di I/ specificamente previste dal.m. provvedono ad implementare le operazioni elementari di ingresso/uscita Questo modello non prevede la gestione della sincronizzazione, che viene quindi realizzata per via semantica

Modello Memory Mapped I registri di I/ appartengono allo stesso spazio indirizzabile di memoria: alcuni degli indirizzi sono "sostituiti" da indirizzi dei registri di I/: ID = MB PU MEM sel interfaccia IA = MA I bus IA e ID coincidono logicamente e fisicamente con il bus MA ed il bus MB rispettivamente Un apposito selettore riconosce l'indirizzo posto su IA=MA ed abilita all'operazione la memoria o uno dei registri dell'interfaccia

Modello Memory Mapped Il.M. non è dotato di specifiche istruzioni di I/: le operazioni di ingresso-uscita vengono implementate utilizzando i normali codici operativi per il trasferimento dei dati (MVE e tutte le istruzioni di riferimento in memoria) Una parte dello spazio di indirizzamento della memoria è usata per l'i/ Il processore M68000 impiega questo modello di I/

Sincronizzazione delle operazioni di I/ Un problema fondamentale nelle operazioni di I/ è quello della sincronizzazione: - a livello del messaggio elementare, la sincronizzazione avviene mediante segnali di strobe - a livello del colloquio, il susseguirsi di messaggi può avvenire in maniera asincrona o sincrona

Protocollo asincrono e sincrono Detti A e B i partner di un'operazione di I/, si possono seguire due approcci differenti: tecnica asincrona e tecnica sincrona, cui corrispondono altrettanti protocolli. protocollo asincrono: ad ogni messaggio inviato da A a B segue un messaggio di risposta da B ad A (oppure time-out) protocollo sincrono: basato esclusivamente sull'uso di un segnale esterno di tempificazione (clock)

olloquio asincrono: operazioni di input a tecnica fondamentale del colloquio asincrono prevede per l'input un messaggio "richiesta dato" (req) da parte della PU ed una risposta "dato" da parte della periferia, accompagnata da un segnale strobe-in: PU 1 - read request 2 - Data in 3 - strobe in input DEVIE NTE ccorre prevedere la condizione di time-out quando non perviene alcuna risposta entro un limite di tempo prefissato

olloquio asincrono: operazioni di output In output, la PU invia un dato accompagnato da un segnale strobe-out, a cui la periferia risponde con un segnale ack 1 - Data out PU 3 - ack 2 - strobe out DEVIE NTE output Anche per l'output occorre prevedere la condizione di time-out

Sincronizzazione programmata Nel modello a sincronizzazione programmata le fasi fondamentali del colloquio asincrono sono gestite a livello programma -tipicamente nel driver di I/- che effettua quindi la sincronizzazione delle operazioni di ingresso-uscita Protocollo handshake: protocollo elementare nel quale il dato è un dato elementare (es. un singolo byte) ed i messaggi di controllo e stato (es. req, ack) sono semplici segnali binari Questi segnali binari sono generati da flip-flop che possono essere posizionati e letti mediante apposite istruzioni assembly es. ST,, STF, F, SFS

Protocollo handshake d'ingresso input controllo I F req strobe-in N T E req strobe-in segnale collegato al ff : si ottiene la richiesta req con un'istruzione tipo ST (Set ) agisce come strobe per la memorizzazione del dato in I e posiziona il ff F, che può essere interrogato con un'istruzione tipo SFS (Skip if F set)

Protocollo handshake d'ingresso input controllo Fasi del colloquio I F req strobe-in N T E set reset F *richiesta dato: inizio della fase di inpu *inizializza F do read F while (not F) *attende lo strobe; PU inattiva read dato *input in senso stretto

Protocollo handshake d'ingresso input controllo Fasi del colloquio I F strobe-in N T E set *richiesta dato: inizio della fase di input do read F while (not F) *attende lo strobe reset F read dato reset *inizializza F *input in senso stretto *input completato

Protocollo handshake d'uscita output controllo F strobe-out ack N T E strobe-out segnale generato dal ff : agisce come strobe verso il controller ack il controller posiziona il ff F ad indicare che ha ricevuto il dato

Protocollo handshake d'uscita output controllo Fasi del colloquio reset reset F strobe-out F ack *inizializza *inizializza F N T E write dato set *output in senso stretto *invia strobe-out do read F while (not F) *attende ack; PU inattiva next instruction *output completato

I/ sincronizzato da interruzioni a fase in cui la PU resta inattiva in attesa dello strobe-in (input) o dell'ack (output) può essere eliminata ricorrendo ad un appropriato uso del sistema delle interruzioni. a periferica associa ai segnali di controllo una opportuna richiesta di interruzione. a PU (operativamente molto più veloce della periferia) avviata un'operazione di I/, può dedicarsi ad altre attività finché non riceve una richiesta di interruzione generata dalla periferica.

Input con interruzione input controllo interrupt request I req N T E a PU invia la richiesta del dato, con Set, e passa ad eseguire altre istruzioni Quando il dato è pronto, il segnale di strobe-in inviato dal controller viene impiegato per generare una richiesta di interruzione Allorché la richiesta viene accolta, l'effettiva operazione di ingresso è realizzata dalla IS associata alla periferica

utput con interruzione output controllo interrupt request strobe-out N T E a PU mette il dato sul bus, genera strobe-out e passa ad altre istruzioni Il segnale di ack inviato dal controller genera una richiesta di interrupt per consentire una nuova operazione di uscita