Confronto fra bus sincrono e bus asincrono: esempio.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Confronto fra bus sincrono e bus asincrono: esempio."

Transcript

1 Banda massima di trasmissione la quantità di dati che può essere trasferita in una unità di tempo oppure il numero di operazioni di I/O che possono essere eseguite in una unità di tempo Confronto fra bus sincrono e bus asincrono: esempio. Consideriamo un bus sincrono con durata ciclo di clock di 50 ns, tempo di trasmissione su bus: 1 ciclo di clock; ed un bus asincrono che richiede 40 ns. per ogni handshake Supponiamo che le linee dati in entrambi i bus siano di 32 bit e che il tempo per leggere una parola dalla memoria sia 200 ns. Vogliamo calcolare la banda massima di trasmissione per la lettura di una parola dalla memoria ad un altro dispositivo. Bus sincrono. Per ogni parola il bus sincrono deve - inviare l indirizzo su bus: 50 ns; - leggere la parola dalla memoria: 200 ns; - inviare i dati al dispositivo: 50 ns. Possono essere trasferiti 4 byte ogni 300 ns. La banda massima di trasmissione è quindi di: 4 byte 4 MB = = 13.3 MB al sec. 300 ns. 0.3 sec

2 Bus asincrono. Ci sono sette passi da compiere ed ogni passo richiede 40 ns per un totale di 280 ns. In più si deve leggere la memoria. Poiché = 480 è maggiore di 300, il bus asincrono potrebbe avere un comportamento molto peggiore di quello sincrono se non fosse che l operazione di lettura dalla memoria può sovrapporsi ad alcuni passi. Essa infatti può iniziare dopo il primo passo (appena la memoria riceve l indirizzo) ed è sufficiente che termini prima del passo 5 (prima che il dispositivo inizi la lettura). Tempo richiesto per la trasmissione di una parola: passo 1: passi : max (120 ns, 200 ns) = passi : 40 ns 200 ns 120 ns Possono essere trasferiti 4 byte ogni 360 ns. La banda massima di trasmissione è quindi di: 4 byte 4 MB = = 11.1 MB al sec. 360 ns sec

3 Altri fattori che influenzano la banda massima di trasmissione: - ampiezza linee dati (più bit possono passare contemporaneamente, maggiore è la banda di trasmissione); - separazione o meno tra linee dati e linee per gli indirizzi (la separazione permette la trasmissione contemporanea di dati ed indirizzi); - trasferimento a blocchi: trasferimento di parole multiple senza rilascio del bus tra una parola e la successiva. Confronto fra due diversi tipi di bus sincroni: esempio. Consideriamo le seguenti caratteristiche: - Un bus sincrono di 64 bit trasferibili in 1 ciclo di clock con un clock di 200 MHz. (N.B. durata ciclo = 5 ns) - Trasferimento dell indirizzo in 1 ciclo di clock. - Due cicli di clock necessari tra ogni operazione di bus. - Un tempo di accesso alla memoria di 200 ns per le prime 4 parole e di 20 ns per ogni altro blocco di 4 parole successivo al primo. - Supponiamo inoltre che sia possibile sovrapporre un segnale di lettura delle prossime 4 parole al trasferimento delle 4 parole richieste precedentemente. Consideriamo due tipi di trasferimento a blocchi (bus e memoria): 1. 4 parole di 32 bit parole di 32 bit Si vuole trovare la banda massima di trasmissione per una lettura di 256 parole nei due tipi di trasferimento.

4 Blocchi di 4 parole: Per ogni blocco servono: - 1 ciclo di clock per l invio dell indirizzo; ns/5 ns = 40 cicli di clock per leggere la memoria; - 1 ciclo di clock per trasferire i 64 bit delle prime due parole; - 2 cicli di clock (ipotesi del problema) prima del prossimo trasferimento; - 1 ciclo di clock per trasferire i 64 bit delle altre due parole; Totale per il trasferimento di un singolo blocco: 45 cicli Totale trasmissione dei (256/4=) 64 blocchi: = 2880 cicli. Banda massima di trasmissione: byte 1024 byte byte = = = 71.1 MB/sec ns ns 10-9 sec Blocchi di 16 parole Per ogni blocco servono prima approssimazione: - 1 ciclo di clock per l invio dell indirizzo; ns/5 ns = 40 cicli di clock per leggere le prime 4 parole; - 20 ns/5ns 3 = 12 cicli di clock per leggere le altre 12 parole; - 8 cicli di clock per gli 8 trasferimenti di 64 bit; - 14 cicli di clock per le pause tra due trasferimenti su bus; Totale per ogni blocco = 75 cicli

5 In realtà, l ipotesi di poter sovrapporre un segnale di lettura delle prossime 4 parole al trasferimento delle 4 parole richieste precedentemente diminuisce i cicli necessari. Infatti in questo caso, dopo aver letto le prime 4 parole si deve ripetere quattro volte l'invio delle 4 parole lette precedentemente e la contemporanea lettura delle successive. Questo richiede 4 cicli di clock per - trasferire i 64 bit delle prime due parole lette precedentemente (1 ciclo di clock); - pausa trasferimento (2 cicli); - trasferire i 64 bit delle altre due parole lette precedentemente (1 ciclo); e contemporaneamente (stessi 4 cicli) - leggere 4 parole. N.B. le ultime 4 parole lette non verranno trasmesse In totale: - 1 ciclo di clock per l invio dell indirizzo; - 40 cicli di clock per leggere la prime 4 parole; - 16 cicli per ripetere 4 volte l'operazione di trasferimento e lettura. Totale per ogni blocco = 57 cicli Totale trasmissione (256/16=16 blocchi) = = 912 cicli. Banda massima di trasmissione byte 1024 byte byte = = = MB/sec ns 4560 ns 10-9 secs

6 Accesso al bus E' evidente che, se si vuole evitare il caos, l accesso al bus debba essere regolato quando più dispositivi desiderano utilizzare lo stesso bus per comunicazioni diverse. Si definisce bus master (padrone del bus) il dispositivo che in un dato momento può dar il via per un trasferimento. Lo schema più semplice di regolamentazione è quella che prevede un singolo bus master (padrone del bus) a cui devono essere inoltrate tutte le richieste di accesso al bus. Il processore è sempre un bus master. Quando c è un solo bus master questo è il processore che deve essere infatti sempre in grado di iniziare una lettura dalla memoria. Avere un unico bus master comporta quindi un notevole appesantimento per la CPU che deve gestire tutti i trasferimenti. L' alternativa è quella di avere più bus master, ciascuno con la capacità di iniziare trasferimenti ma, se si vuole evitare il caos, devono esserci delle regole per stabilire, di volta in volta, chi è il bus master in carica. Sono le regole per l arbitraggio del bus.

7 Arbitraggio Uno schema di arbitraggio deve innanzi tutto stabilire i criteri per la concessione dell utilizzo del bus, oltre che gestire le richieste di utilizzo e le segnalazioni di rilascio del bus. I criteri per la concessione del bus dovrebbero conciliare i seguenti due requisiti: - Ogni dispositivo ha una priorità di bus: dispositivi con priorità maggiore devono accedere prima al bus. - Ogni richiesta di utilizzo del bus dovrebbe essere prima o poi soddisfatta. (Proprietà di fairness) Nella scelta di uno schema di arbitraggio è importante anche il fattore tempo; l obiettivo per gli schemi più sofisticati è quello di riuscire a sovrapporre i tempi per l arbitraggio ai tempi di trasferimento. In ogni caso l arbitraggio non deve sovraccaricare troppo il sistema. Vi sono 4 principali classi di arbitraggio: arbitraggio a festone (daisy chain arbitration); arbitraggio centralizzato e parallelo; arbitraggio distribuito per autoselezione; arbitraggio distribuito con rilevamento delle collisioni

8 Arbitraggio a festone (daisy chain arbitration) In questo schema la linea di concessione del bus passa attraverso tutti i dispositivi, attraversando prima quelli a priorità maggiore (cioè i dispositivi con maggiore priorità saranno i più vicini all arbitro, più si abbassa la priorità più saranno fisicamente lontani). priorità maggiore Disp. I/O Disp. I/O priorità minore Disp. I/O Arbitro linea di concessione (bus grant) Un dispositivo di che desidera accedere al bus e che riceve il segnale di concessione, lo intercetta e diventa bus master. Un dispositivo che ha inoltrato una richiesta di bus può avere la concessione solo se tutti quelli che lo precedono nell ordine di priorità NON desiderano accedere al bus. NON è un arbitraggio fair (equo).

9 Quando un dispositivo ha terminato la comunicazione, invia un segnale all arbitro che riattiva il segnale di grant (concessione) se ha delle richieste di utilizzo di bus. Disp. I/O Disp. I/O Disp. I/O Arbitro rilascio richiesta Un dispositivo che vuole accedere al bus con questo schema segue il seguente protocollo: 1. invia un segnale sulla linea di richiesta; 2. aspetta che il segnale sulla linea di concessione passi da basso ad alto; 3. intercetta il grant e disasserisce il segnale di richiesta; 4. usa il bus; 5. alla fine segnala il rilascio del bus. Un semplice accorgimento per aumentare la fairness è quello che vieta di concedere il bus allo stesso dispositivo se non dopo che il segnale di richiesta si è abbassato. In questo modo, se vi sono altri dispositivi in attesa, questi possono utilizzare il bus.

10 Arbitraggio centralizzato e parallelo I dispositivi inviano indipendentemente, su linee separate, le richieste ad un arbitro centralizzato. Disp I/O Disp I/O Arbitro Disp I/O L arbitro sceglie, tra i dispositivi che hanno fatto richiesta quello a cui concedere il bus che diventerà il bus master. Il bus generico di sistema (backplane) PCI utilizzato in moltissimi personal computer - usa uno schema ad arbitraggio centralizzato. Lo svantaggio di questo schema deriva dal fatto che l arbitro, che deve gestire tutte le richieste, può diventare il collo di bottiglia del sistema.

11 Arbitraggio distribuito per autoselezione Ogni dispositivo che desidera utilizzare il bus invia sul bus la propria richiesta etichettandola con il proprio codice. Analizzando i segnali di richiesta, ogni dispositivo è in grado di stabilire quale è il richiedente con priorità più elevata. Quindi, senza bisogno di altri arbitri, è in grado di decidere indipendentemente se ha il diritto di accesso al bus o no. Arbitraggio distribuito con rilevamento delle collisioni Come nello schema precedente, ogni dispositivo invia una richiesta indipendente. Se vi è una sola richiesta, questa viene soddisfatta. Se vi sono più richieste si verifica una collisione. Solo quando viene rilevata una collisione viene usato uno schema per stabilire quale tra i richiedenti ha il diritto di utilizzare il bus.

12 Invio dei comandi ai dispositivi di I/O Per inviare un comando ad un particolare dispositivo di I/O il processore deve aver un modo per rivolgersi a quel dispositivo (ovvero indirizzare il dispositivo), ed inviare dei comandi. Vi sono principalmente due metodi di indirizzamento di un dispositivo: istruzioni speciali di I/O: definiscono il comando e permettono di identificare il dispositivo. indirizzi speciali di memoria (memory-mapped I/O): alcuni indirizzi di memoria vengono riservati per la comunicazione con i dispositivi di I/O ed utilizzati per inviare comandi. Un indirizzo individua sia l identità del dispositivo sia il tipo di trasmissione tra il processore ed il dispositivo Per soddisfare una richiesta di lettura o scrittura sono generalmente richieste più operazioni di I/O. Un possibile scenario di comunicazione con una stampante è il seguente.

13 La stampante ha due registri di I/O, uno per trasmettere informazioni sullo stato (Registro di Stato), l altro per trasmettere i dati. Il Registro di Stato contiene un bit di fine operazione (done), che viene attivato dalla stampante quando ha terminato la stampa di un carattere, e un bit di segnalazione di errore, che viene attivato in caso di malfunzionamento della stampante (es: paper jam o fine carta) Nel Registro dei Dati viene inserito (dal processore) ogni byte che deve essere stampato. Prima di inserire il byte successivo il processore deve attendere che la stampante attivi il bit di fine operazione e controllare che non ci siano stati errori. Questo significa che il processore deve controllare il registro di stato della stampante; ogni controllo è un accesso al dispositivo di I/O. La stampante comunica con il processore tramite il Registro di Stato. E compito del processore controllare periodicamente tale registro e decidere la successiva azione da compiere. Il controllo periodico del Registro di Stato è detto polling.

14 Il controllo periodico (polling) effettuato dal processore sullo stato di un dispositivo può essere (per il processore) estremamente gravoso. Esempio. Supponiamo che ogni operazione di controllo richieda 400 cicli di clock e che il clock abbia una frequenza di 500 MHz. Consideriamo tre dispositivi di I/O con caratteristiche diverse e calcoliamo la frazione di tempo di CPU spesa per il controllo periodico. Assumiamo che i dispositivi siano quasi sempre occupati e che il controllo sia abbastanza frequente da non perdere dati. I dispositivi sono: Un mouse, che deve essere controllato 30 volte al secondo per non perdere alcun movimento. Un floppy disk che trasferisce blocchi di 16 bit con una frequenza di trasferimento di 50 KB/sec. Un hard disk che trasferisce blocchi di 4 parole con una frequenza di trasferimento di 4 MB/sec. Mouse Dovendo essere controllato 30 volte al secondo con un costo di 400 cicli ogni volta, abbiamo che cicli ogni secondo vengono dedicati all operazione di controllo dello stato. Con la frequenza di 500MHz, cicli al secondo costituiscono una percentuale molto bassa dello % / =

15 Floppy disk Con un dispositivo più veloce, il controllo deve essere molto più frequente se non vogliamo perdere dati. Per calcolare tale frequenza dobbiamo calcolare quanti trasferimenti vengono fatti al secondo. Questo si ottiene calcolando il rapporto tra la frequenza del trasferimento ed i byte (16 bit = 2 byte) che possono transitare in un trasferimento. 50 KB/sec = 25 K trasf/sec 2 byte/trasf Pertanto ci vogliono 25 K 400 = K cicli di controllo al secondo. Con la frequenza di 500MHz, cicli al secondo costituiscono una percentuale del 2 % / = 0.02

16 Hard disk Con un dispositivi veloce come un hard disk che trasferisce 4 MB al secondo, il numero di trasferimenti di 4 parole (al secondo) sono: 4 MB/sec = 250 K trasf/sec 16 byte/trasf Pertanto ci vogliono 250 K 400 = cicli di controllo al secondo che costituiscono una percentuale del 20 %.!! / = 0.2 Un quinto del tempo del processore verrebbe dedicato alle operazioni periodiche di controllo dello stato del disco. Conclusione: Il controllo periodico (polling) è accettabile per un mouse (e in generale per unità lente) ma non è accettabile per un disco rigido. Per questo tipo di unità la comunicazione con il processore avviene generalmente con l invio da parte del dispositivo di un segnale di interruzione: interrupt.

17 I/O Interrupt Un dispositivo che vuole richiamare l attenzione del processore invia a questo un interrupt che ha la caratteristica di essere: Asincrono rispetto all esecuzione delle istruzioni: trattandosi solo di una richiesta di attenzione, il processore può completare l istruzione che stava eseguendo. Questi interrupt quindi non interrompono il processore durante l esecuzione di un istruzione ma è il processore che può controllare se ci sono interrupt pendenti prima di iniziare l esecuzione di una nuova istruzione. Accanto alla richiesta di attenzione l unità dovrà anche comunicare la propria identità e con questa una eventuale priorità di interrupt. Il processore può gestire questi interrupt come le eccezioni utilizzando il registro Cause per segnalare al sistema operativo il tipo di eccezione sollevato.

18 Esercizio. Considerate un floppy disk che trasferisce dati in blocchi di 32 bit con una frequenza di trasferimento di 100 KB/sec. Supponete che per fare polling (il controllo periodico) il sistema impieghi 100 cicli e che il clock di sistema sia 200MHz. Assumiamo che che il polling sia abbastanza frequente da non perdere dati. Si considera accettabile un overhead per il polling del 2%. Valutare se l'accesso al floppy è "realizzabile" tramite polling. Per non perdere alcun dato trasferito, il numero di polling al secondo deve essere pari al numero di trasferimenti al secondo. Con blocchi di 32 bit (4 byte) e frequenza 100 KB/sec, si ha: 100 KB/sec = 25K trasf /sec 25K polling_acc/sec 4 byte /trasf Poiché ogni accesso di polling richiede 100 cicli, il numero totale di cicli dedicati al polling è: 25 K x 100 cicli/sec Dividendo per la frequenza di clock si ottiene l'overhead: 25 x = % < 2 % quindi accettabile 200 x

19 Trasferimento dei dati tra dispositivi di I/O e memoria. Abbiamo visto due modi con i quali il processore ed i dispositivi di I/O possono comunicare: polling interrupt In entrambi i casi il processore e il sistema operativo svolgono tutto il lavoro necessario per il trasferimento dei dati. La gestione dell I/O è uno dei compiti più gravosi per un sistema operativo che deve in particolare: garantire che ogni programma utente possa accedere solo alle parti dei dispositivi di I/O per le quali ha il diritto di accesso; offrire le routine di gestione delle operazioni di I/O (e quindi un astrazione delle operazioni di basso livello che possono essere molto complesse); gestire gli interrupt che provengono dai vari dispositivi di I/O; cercare di distribuire equamente le risorse di I/O tra i vari processi. Quando la gestione e guidata dagli interrupt il sistema operativo continua nei suoi altri compiti finchè non riceve un interrupt da una unità di I/O. A quel punto controlla il tipo di richiesta, avvia il trasferimento ed informa il programma quando questo si è concluso.

20 La tecnica di interrupt è vantaggiosa (rispetto al polling) principalmente quando la percentuale del tempo in cui il dispositivo di I/O è occupato non è molto elevata. Esempio. Consideriamo un processore con frequenza di clock di 500MHz ed un hard disk che trasferisce blocchi di 4 parole con una frequenza di trasferimento di 4 MB/sec. Supponiamo che l overhead per ogni trasferimento, includendo l interrupt, sia di 500 cicli di clock. Calcolare l overhead per il processore nell ipotesi che l unità disco sia impegnata solo per il 5% del tempo totale. Quando l unità disco è occupata il numero di trasferimenti è 4 MB/sec = 250 K trasf/sec 16 byte/trasf Si ha quindi un overhead di 250 K 500 = cicli al secondo. Pertanto, quando l unità disco è impegnata il = 0.25 = 25% % del tempo del processore è dedicato alle operazioni di I/O. Se si considera però che questo avviene solo il 5% del tempo, si ha che l overhead medio e dell 1.25 % (= 25% 5%).

21 Rimane però il fatto che durante i periodi di accesso il 25% del tempo del processore rimane dedicato alla gestione dell I/O. Il meccanismo che permettere di evitare che il processore sia così fortemente impegnato durante le operazioni di trasferimento dei dati (consideriamo dispositivi con un bandwidth elevato) è detto DMA (direct memory access) Il DMA è un processore specializzato che trasferisce i dati tra la memoria e un dispositivo di I/O finché la CPU è impegnata in altri compiti. E quindi esterno alla CPU ed agisce come bus master. Un trasferimento gestito da un DMA si compone dei seguenti tre passi. Inizializzazione. Il processore avvia il DMA fornendo l identità dell unità di I/O, l operazione da eseguire, l indirizzo di memoria dove iniziare a leggere o a scrivere i dati, ed il numero di byte da trasferire. Trasferimento. Quando il DMA ha ricevuto il via dal processore inizia la fase di negoziazione per l assegnazione del bus (arbitraggio) come ogni altro potenziale bus master. Controlla i trasferimenti ed interrompe il processore solo in caso di errore. Chiusura. Quando il trasferimento è completo, il DMA invia un interrupt al processore che dovrà solo accertarsi che il trasferimento si sia concluso correttamente.

22 Esempio. Consideriamo ancora un processore con frequenza di clock di 500MHz ed un hard disk che trasferisce (blocchi di 4 parole con una frequenza di trasferimento di) 4 MB/sec. Supponiamo che la fase di inizializzazione del DMA richieda al processore 1000 cicli di clock e quella di chiusura 500. Supponiamo inoltre che il disco sia impegnato il 100% del tempo e che i trasferimenti da hard disk siano in media di 8 KB. Quale è la percentuale del tempo che il processore dedica in media alle operazioni di I/O? Ogni trasferimento da disco richiede 8 KB = sec 4 MB/sec Per ogni trasferimento le fasi di inizializzazione e chiusura richiedono ( ) cicli di clock. Poiché i trasferimenti sono continui i cicli di clock dedicati in media al secondo a queste due fasi del trasferimento (e quindi al trasferimento) sono 1500 cicli / sec = cicli di clock al secondo Il processore dedica quindi in media cicli/sec = < 2% cicli/sec meno del 2% del tempo per operazioni di I/O.

23 Tabella riassuntiva Stesso processore (500MHz) e stesso hard disk (blocchi di 4 parole a 4 MB/sec). Polling con 400 cicli per ogni controllo Interrupt con 500 cicli per ogni trasferimento, incluso interrupt DMA 20% 25% 2% Interrupt con 500 cicli per ogni trasferimento, incluso interrupt. Uso al 5%. 1.25%

24 DMA + cache e/o memoria virtuale cache DMA Usando la cache si possono avere due copie degli stessi dati; aggiungendo anche la memoria virtuale le copie possono essere tre. Abbiamo già visto che possono nascere problemi di inconsistenza. Con la presenza di un processo per l I/O (DMA) indipendente dalla CPU che accede direttamente alla memoria e al disco i problemi chiaramente aumentano: la CPU o il DMA possono modificare una copia senza riportare le modifiche sulle altre copie. Si parla del problema dei stale data (dati scaduti)

25 Stale data Il problema dei dati scaduti è anche legato alla posizione della DMA. Collegando la DMA direttamente con la memoria non c è interferenza con la CPU se questa ha una cache, ma. Bus CPU-memoria cache CPU DMA Bus I/O Memoria centrale può sorgere appunto il problema dei dati scaduti, che può avere i seguenti due aspetti: 1. Il sistema di I/O produce dati scaduti in output perché la memoria non è stata aggiornata. Questo aspetto può essere risolto con la tecnica write-through che mantiene sempre aggiornata la memoria. Se si usa la tecnica write-back si può chiedere al sistema operativo di controllare ogni volta se l indirizzo coincide con uno della cache (può esserci un controllo hardware dei tag), in modo da bloccare letture di dati presenti nella cache e non ancora riscritti in memoria e contemporaneamente forzarne l aggiornamento (flushing).

26 2. La CPU legge dati scaduti dalla cache dopo che la memoria è stata aggiornata dal sistema di I/O. Anche in questo caso è compito del sistema operativo garantire che l area di input non sia nella cache. In caso contrario il dato nella cache deve essere invalidato in modo che ogni successivo accesso avvenga prelevando il nuovo dato dalla memoria. Collegando la DMA direttamente alla cache il problema dei dati scaduti non sorgerebbe. Bus CPU-memoria cache Memoria centrale TLB DMA CPU Bus I/O. ma le prestazioni del sistema ne soffrirebbero. Ben difficilmente i dati inseriti nella cache dal DMA sarebbero quelli richiesti dal processore per il processo in esecuzione.

27 DMA e Memoria Virtuale Quando la memoria viene gestita in modo virtuale, ci si può chiedere se sia meglio usare per la DMA l indirizzo fisico o quello virtuale. Bus CPU-memoria TLB CPU DMA Memoria centrale Bus I/O Il principale problema che sorge usando l indirizzo fisico riguarda il trasferimento di pagine virtuali che non sono contenute in un unica pagina fisica: Pagine diverse usualmente non occupano posizioni contigue nella memoria fisica. Pertanto si dovrebbero limitare i trasferimenti ad una pagina alla volta. L alternativa è quella di usare gli indirizzi virtuali anche per la DMA.

28 Trasferimento di più pagine fisiche Per gestire il problema dei trasferimenti da pagine fisiche diverse il sistema operativo può preparare, nella fase di inizializzazione, una piccola tabella con le associazioni virtuale-fisico necessarie durante il trasferimento; oppure può separare ogni trasferimento in una sequenza di trasferimenti (ciascuno all interno di una pagina fisica) che gestisce direttamente o fa gestire dal DMA. Bus CPU-memoria TLB CPU Registri di traduzione DMA Memoria centrale Bus I/O

29 Esempio. Scelte nella progettazione di un sistema di I/O Scenario: CPU che esegue 300 milioni di operazioni al secondo; una media di istruzioni di sistema operativo per ogni operazione di I/O; un bus CPU-Memoria (backplane bus) con frequenza di trasferimento di 100MB/sec; dei bus SCSI con frequenza di trasferimento di 20 MB/sec e con collegamenti per al più 7 dischi ciascuno; delle unità disco con bandwidth di 5 MB/sec e tempo medio di posizionamento (seek) + latenza di rotazione di 10 ms; carico di lavoro: letture di 64 KB; numero di istruzioni del programma utente per ogni operazione di I/O: Calcolare la massima frequenza di I/O sostenibile, e il numero di dischi e di controlli SCSI richiesti.

30 Esempio - continua Si deve prima di tutto individuare quali siano le componenti che possono limitare la frequenza di I/O, cioè i punti deboli del sistema. Ogni operazione di I/O richiede istruzioni di programma utente e istruzioni di sistema operativo. Pertanto la massima frequenza di I/O per la CPU è: istr/sec = I/O al sec istr (per ogni I/O) Ogni I/O trasferisce 64 KB con una frequenza di byte/sec. Pertanto la massima frequenza di I/O per il bus è: byte/sec = I/O al sec byte per I/O Il bus è il punto debole del sistema, la massima frequenza di I/O sostenibile è 1562 I/O al sec. Si deve adesso calcolare quanti dischi e quanti bus I/O sono necessari per avere questa frequenza di trasferimento.

31 Esempio - continua Vediamo prima quanto tempo serve per una operazione di I/O su di un disco: 64 KB 10 ms = 22.8 ms. 5 MB/sec Quindi, da un disco, in 1 secondo possono essere eseguiti = I/O al sec sec Per calcolare quanti dischi servono ricordiamo che vogliamo effettuare 1562 I/O al sec. Quindi servono almeno: 1562/ = ~ 36 dischi Per vedere se possiamo inserire il numero massimo di dischi (7) su ogni bus SCSI, calcoliamo il numero di byte al secondo che vengono trasferiti per ogni disco lungo il bus di I/O: 64 KB = 2.8 MB/sec 22.8 ms Poiché = 19.6 < 20 possiamo avere anche 7 dischi su ogni SCSI e quindi sono sufficienti 36/7 = 6 bus SCSI (con 6 dischi ciascuno).

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

Influenza dell' I/O sulle prestazioni (globali) di un sistema Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi

Dettagli

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

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Un dispositivo di I/O è costituito da due componenti: Il dispositivo fisico effettivo (disco, stampante, mouse, video, )

Dettagli

Metodo di arbitraggio

Metodo di arbitraggio Metodo di arbitraggio Se un sistema ha solo un master (il processore) allora non c è necessità di arbitraggio: l accesso al bus è sempre garantito al processore che pilota lo slave con cui correntemente

Dettagli

Esercizi vari. CPI e influenza cache

Esercizi vari. CPI e influenza cache Esercizi vari Salvatore Orlando Arch. Elab. - S. Orlando 1 CPI e influenza cache Siano dati un processore, una cache e un mix di programmi le istruzioni di lw/sw eseguite sono il 20% di IC il CPI delle

Dettagli

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

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a) Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

Dettagli

Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms

Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms Esercitazioni I/O Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un elaborazione su questi, e quindi li riscrive su disco. Le tre fasi non hanno sovrapposizioni.

Dettagli

Input / Output. Input e Output

Input / Output. Input e Output Input / Output Salvatore Orlando Arch. Elab. - S. Orlando 1 Input e Output INPUT OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA La

Dettagli

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

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Blocchi di più parole

Blocchi di più parole Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

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

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 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

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

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

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

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri

Dettagli

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) 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

Dettagli

Fallimenti nella TLB

Fallimenti nella TLB Fallimenti nella TLB Un fallimento nella TLB può essere dovuto a due motivi: 1. la pagina fisica non è presente in memoria (page fault); 2. la traduzione non è nella TLB, anche se la pagina fisica è presente

Dettagli

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può

Dettagli

Organizzazione di un Calcolatore. Architetture dei Calcolatori (Lettere. Dispositivi di I/O. Dispositivi di I/O. Device Controller

Organizzazione di un Calcolatore. Architetture dei Calcolatori (Lettere. Dispositivi di I/O. Dispositivi di I/O. Device Controller Organizzazione di un Calcolatore Architetture dei Calcolatori (Lettere A-I) Interrupts Dispositivi di Cache Ing.. Francesco Lo Presti Main memory bus Graphics Network 1 Dispositivi di Device Controller

Dettagli

I dispositivi di input/output

I dispositivi di input/output I dispositivi di input/output I dispositivi di input/output (anche detti periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina La loro funzione primaria è quella di consentire l'immissione

Dettagli

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

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

IO 1 Input Output a livello Hardware

IO 1 Input Output a livello Hardware Architettura dei calcolatori e sistemi operativi Input Output IO 1 Input Output a livello Hardware Accesso delle periferiche Le unità periferiche interagiscono con il processore e la memoria centrale attraverso

Dettagli

Input / Output. Struttura del Computer. M. Dominoni A.A. 2003/2004. 4 componenti strutturali:

Input / Output. Struttura del Computer. M. Dominoni A.A. 2003/2004. 4 componenti strutturali: Input / Output M. Dominoni A.A. 2003/2004 Input/Output A.A. 2003/2004 1 Struttura del Computer 4 componenti strutturali: CPU: controlla le operazioni del computer Memoria Centrale: immagazinamento dati

Dettagli

Criteri di caratterizzazione di una memoria

Criteri di caratterizzazione di una memoria La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Input/Output Anno Accademico Francesco Tortorella Input/Output: da un sistema di elaborazione a? Sistema di Elaborazione Processore Controllo Memoria Cache (L1,L2) Periferiche Input Datapath Memoria

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento Input e Output INPUT Input / Output Salvatore Orlando OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA Arch. Elab. - S. Orlando 1 La

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015

Dettagli

Il sistema di I/O. Sistemi Operativi 13.1

Il sistema di I/O. Sistemi Operativi 13.1 Il sistema di I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Prestazioni 13.1 Introduzione Un elaborazione eseguita da

Dettagli

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta I dischi ottici Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che

Dettagli

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

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo G: Interfacciamento e interconnessioni Lezione n. 34 - G - 5: Protocollo a livello transazione Esempi di bus reali Interconnessioni 3

Dettagli

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

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli

Struttura hw del computer

Struttura hw del computer Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:

Dettagli

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

La gestione dell I/O (Cap. 5, Tanenbaum) 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à

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

Dettagli

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Dettagli

Livello logico digitale bus e memorie

Livello logico digitale bus e memorie Livello logico digitale bus e memorie Principali tipi di memoria Memoria RAM Memorie ROM RAM (Random Access Memory) SRAM (Static RAM) Basata su FF (4 o 6 transistor MOS) Veloce, costosa, bassa densità

Dettagli

Introduzione alle gerarchie di memoria

Introduzione alle gerarchie di memoria Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file

Dettagli

Sottosistemi ed Architetture Memorie

Sottosistemi ed Architetture Memorie Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di

Dettagli

Memoria Virtuale e I/O

Memoria Virtuale e I/O Memoria Virtuale e I/O Paolo Baldan Baldan@dsi.unive.it Introduzione CPU - progettazione - prestazioni ideali Le prestazioni reali sono influenzate (pesantemente) da memoria e I/O. Memoria - gerarchie

Dettagli

Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano

Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano A che serve una memoria? Ovviamente, nel computer, come nel cervello umano, serve a conservare le

Dettagli

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill // Copyright 7 The McGraw-Hill Companies srl Copyright 7 The McGraw-Hill Companies srl Supporto alla CPU: deve fornire alla CPU

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

Capitolo 13 Il sottosistema di ingresso/uscita

Capitolo 13 Il sottosistema di ingresso/uscita Capitolo 13 Il sottosistema di ingresso/uscita Elementi di base del sottosistema di I/O I dispositivi di I/O sono collegati al bus di sistema attraverso una interfaccia che risolve i problemi di sincronizzazione

Dettagli

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache Esercizio 3 Memoria Cache Prima parte - memoria di 1 Giga parole da 16 bit (indirizzata a livello di parola) - cache di 1 Mega parole da 16 bit (indirizzata a livello di parola) - ogni della cache contiene

Dettagli

Lo scopo del BUS è quello d effettuare tutti i trasferimenti d informazioni tra le unità funzionali del calcolatore:

Lo scopo del BUS è quello d effettuare tutti i trasferimenti d informazioni tra le unità funzionali del calcolatore: ACSO Architettura dei Calcolatori e Sistemi Operativi Struttura e funzionamento del bus Corso ACSO prof. Cristina SILVANO Politecnico di Milano Il BUS del calcolatore Il calcolatore è composto da unità

Dettagli

Elementi di informatica

Elementi di informatica Sia dato una memoria della capacità di 1 GB, avente tempo di accesso di 50ms e velocità di trasferimento di 20 MB/sec. Si vuole ricopiare l intero contenuto su un altra memoria identica, montata sullo

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Gestione delle periferiche Anno Accademico Francesco Tortorella Input/Output: da un sistema di elaborazione a? Sistema di Elaborazione Processore Controllo Memoria

Dettagli

Capitolo 5 Struttura di base del processore

Capitolo 5 Struttura di base del processore Capitolo 5 Struttura di base del processore 5.1. Il periodo di clock deve ospitare tutti i ritardi di propagazione più il tempo di impostazione per i registri. a. Minimo periodo di clock = 70 + 600 + 50

Dettagli

Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario

Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario Sistemi RAID 1 Motivazioni Concetti di base Livelli RAID Sommario 2 1 Motivazione L evoluzione tecnologica ha permesso di avere dischi sempre più piccoli e meno costosi E facile equipaggiare un sistema

Dettagli

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: 1 Memoria centrale: è costituita da una sequenza ordinata di registri; ciascun registro è individuato da un indirizzo;

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si

Dettagli

Sistemi Operativi. Sottosistema di I/O

Sistemi Operativi. Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

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

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica Ricapitolazione di concetti base Sistemi Operativi - T. Vardanega Pagina 92/113 Gerarchia fisica di memoria 2 La cache è suddivisa in blocchi

Dettagli

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Gestione software Il meccanismo delle interruzioni - 3

Gestione software Il meccanismo delle interruzioni - 3 Il meccanismo delle interruzioni - 3 Il valore emesso sul canale dal controllore delle interruzioni designa il servizio richiesto alla CPU Tale valore è un indice nel vettore delle interruzioni, contenente

Dettagli

A controllo di programma diretto A controllo di programma con polling Ad interruzione Ad accesso diretto alla memoria (DMA)

A controllo di programma diretto A controllo di programma con polling Ad interruzione Ad accesso diretto alla memoria (DMA) L input/output Architettura degli Elaboratori e delle Reti Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it 1 Gestione dell I/O A

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

I dispositivi di input/output

I dispositivi di input/output I dispositivi di input/output I dispositivi di input/output (anche detti periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina La loro funzione primaria è quella di consentire l'immissione

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2009-2010 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Pentium: architettura di sistema

Pentium: architettura di sistema Pentium: architettura di sistema 1 2 TXC 4 3 5 6 PIIX 7 Pentium: architettura a livello di sistema 1 Il processore Pentum (1) è interfacciato sul bus con la memoria cache di livello 2 (2). L interfacciamento

Dettagli

Miglioramento delle prestazioni

Miglioramento delle prestazioni Miglioramento delle prestazioni Migliorare sia larghezza di banda sia latenza: uso di cache multiple Introdurre una cache separata per istruzioni e dati (split cache) Beneficio: Le operazioni di lettura/scrittura

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

PROVA SCRITTA DEL MODULO/CORSO DI. 24 novembre 2016

PROVA SCRITTA DEL MODULO/CORSO DI. 24 novembre 2016 PROVA SCRITTA DEL MODULO/CORSO DI 24 novembre 206 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI NOME: COGNOME: MATRICOLA: ESERCIZIO (6 punti) Progettare un riconoscitore

Dettagli

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate. Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi

Dettagli

Prestazioni & Co: CPU, Memoria, I/O

Prestazioni & Co: CPU, Memoria, I/O Prestazioni & Co: CPU, Memoria, I/O CPU - progettazione - prestazioni ideali Panoramica Memoria - gerarchie di memoria: cache, memoria principale, etc. - organizzazione, dimensionamento, indirizzamento,

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

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

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

1.5 Control bus Sistemi: architettura dei microprocessori

1.5 Control bus Sistemi: architettura dei microprocessori Control bus 1.5 Control bus Le azioni di lettura, scrittura, acquisizione ed emissione sono governate dalla CPU che sincronizza gli altri dispositivi attraverso il controlo bus. Il control bus è costitituito

Dettagli

= 0, 098 ms. Da cui si ricava t 2 medio

= 0, 098 ms. Da cui si ricava t 2 medio 1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella

Dettagli

I formati delle istruzioni

I formati delle istruzioni Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...

Dettagli

Von Neumann Bottleneck

Von Neumann Bottleneck Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo

Dettagli

Architettura hardware

Architettura hardware Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmie i dati 2) dalla

Dettagli

Un semplice commutatore a pacchetto

Un semplice commutatore a pacchetto Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti

Dettagli

I dispositivi di input/output

I dispositivi di input/output I dispositivi di input/output I dispositivi di input/output (anche detti periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina La loro funzione primaria è quella di consentire l'immissione

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

Calcolatori Elettronici Lezione B2 Il Bus

Calcolatori Elettronici Lezione B2 Il Bus Calcolatori Elettronici Lezione B2 Il Bus Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Il bus Il bus asincrono Il bus sincrono Il bus semisincrono Arbitraggio del

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

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

Architettura dei sistemi di elaborazione (Input/Output parte 3) Architettura dei sistemi di elaborazione (Input/Output parte 3) Accesso diretto alla RAM (DMA) Se la periferica è molto veloce, è possibile che la frequenza delle interruzioni sia così alta da non lasciare,

Dettagli

LEZIONE 2 Il processore e la memoria centrale

LEZIONE 2 Il processore e la memoria centrale Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio

Dettagli

22/09/2010. Rossato Alessio

22/09/2010. Rossato Alessio Hardware del PC roxale@hotmail.it 1 I componenti del computer Possiamo paragonare il computer al corpo umano che, come sappiamo, è formato da un elemento centrale, il busto, al quale sono collegati gli

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Il modello di Von Neumann

Il modello di Von Neumann Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro

Dettagli

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi Sistemi Operativi Esercizi Ricapitolazione Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Problema Sincronizzazione Semafori Si considerino tre processi (A, B e C) i quali devono eseguire alcune operazioni

Dettagli

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

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Architettura degli Elaboratori (Prima Unità) Renato.LoCigno@dit.unitn.it www.dit.unitn.it/~locigno/didattica/archit/02-03/index.html

Dettagli

Memorie a semiconduttore

Memorie a semiconduttore Memoria centrale a semiconduttore (Cap. 5 Stallings) Architettura degli elaboratori -1 Pagina 209 Memorie a semiconduttore RAM Accesso casuale Read/Write Volatile Memorizzazione temporanea Statica o dinamica

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

SOLUZIONI: Memoria virtuale

SOLUZIONI: Memoria virtuale SOLUZIONI: Memoria virtuale INTRODUZIONE Memoria Virtuale: Si parla di memoria virtuale quando la memoria principale viene utilizzata come cache per la memoria di massa (dischi, nastri): - I programmi

Dettagli

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43 I dischi ottici Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che

Dettagli

Gli attori principali di un architettura

Gli attori principali di un architettura Memoria Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it Gli attori principali

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli