Esercitazione 15. Memoria Principale. La memoria cache è sempre più frequentemente integrata nel chip.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione 15. Memoria Principale. La memoria cache è sempre più frequentemente integrata nel chip."

Transcript

1 Esercitazione 15 Sommario Memoria Cache Trasferimento dei dati: Gestione dei dispositivi di I/O 1. Memoria cache La memoria cache è una memoria veloce di piccole dimensioni posta tra l unità di elaborazione e la memoria principale. La memoria cache e la memoria principale formano una gerarchia di memoria. CPU Memoria Cache Memoria Principale La gestione della gerarchia di memorie (cache, memoria principale) avviene tramite meccanismi simili a quelli descritti per la memoria virtuale. In alcuni casi vi sono cache separate per dati e istruzioni, oppure ve ne è solo una per le istruzioni. Questa è in genere più semplice da gestire di quella per i dati, in quanto le istruzioni non possono essere modificate. CPU Cache Memoria Principale La memoria cache è sempre più frequentemente integrata nel chip. Memoria Secondaria In un sistema di memoria i 3 livelli di memoria sono gestiti come 2 gerarchie a 2 livelli: una gerarchia tra memoria principale e memoria secondaria; una gerarchia tra memoria principale e memoria cache. Le due gerarchie devono essere gestite indipendentemente La tabella seguente mostra un confronto tra le due gerarchie. 1

2 Cache - Memoria principale Memoria principale - secondaria Rapporto tra i tempi di accesso 1/5 1/1000 Gestione Hardware Software Dimensione pagina bytes bytes Acesso della CPU alla memoria di 2 livello accesso diretto acceso indiretto La memoria cache e la memoria principale sono realizzati con la stessa tecnologia (a semiconduttori con integrazione VLSI), mentre memoria principale e memoria secondaria sono realizzati con tecnologie diverse. Nella gerarchia tra memoria principale e memoria secondaria la CPU non ha accesso diretto alla memoria secondaria. La pagina è un blocco di memoria trasferito da livello inferiore a livello superiore Struttura hardware di una memoria cache Indirizzi (tag) Data Page (line) Cache Storage Access Logic Cache Storage Array Indirizzi Fisici Address Control verso la CPU Data In Data out Address Comparison Data Routing Data Selection verso la memoria principale I dati vengono memorizzati in pagine di cache (o linee). Ad ogni pagina è associata un informazione chiamata tag (identificatore) che caratterizza un blocco di locazioni di memorie consecutive. La CPU genera un indirizzo fisico; l indirizzo viene spezzato in modo da identificare l indirizzo della pagina ed il numero di byte dentro al pagina; l indirizzo di pagina viene confrontato con l identificatore nella cache. Se il confronto non dà esito positivo la CPU trasferisce l indirizzo alla memoria principale. Indirizzo di pagina (tag) indirizzo fisico Indirizzo di byte 2

3 1.2. Ciclo di lettura della memoria principale La CPU deve fare un accesso ad una locazione di memoria avente un determinato indirizzo fisico. La CPU invia alla memoria cache l indirizzo fisico; la cache confronta l indirizzo di pagina con i campi tag memorizzati: se vi è hit viene completato il ciclo; se vi è miss la cache inizia un operazione di lettura della memoria principale della pagina di memoria contenente quello richiesto. La politica di sostituzione nella cache ha gli stessi problemi di quella preemptive della memoria principale Organizzazione della memoria cache Il dato richiesto deve essere trovato rapidamente nella memoria cache tecniche associative accesso diretto tecniche miste Tecniche associative La cache è organizzata come una memoria associativa. Il tag viene utilizzato come una chiave di lettura. Ogni blocco della memoria principale può essere memorizzato in un qualsiasi blocco della cache. Vantaggi: massima flessibilità nella scelta del blocco di cache da usare Svantaggi: complessità dell hardware di ricerca Accesso diretto La memoria cache è suddivisa in un certo numero di pagine. S 1 = 2 k pagine (o linee). Ogni pagina immagazzina n parole consecutive. La memoria principale è suddivisa in S 2 regioni di uguale dimensione. Ogni pagina della memoria principale occupa una precisa posizione nella memoria cache. M 2 (j) occuperà la posizione con i = j mod (S 1 ). Accesso diretto Ogni blocco i della memoria principale è messo in corrispondenza fissa con un blocco k della cache. La funzione di trasformazione è k = i mod N 3

4 dove N è il numero di blocchi della cache. Vantaggi: tale funzione è facilmente implementabile in hardware Svantaggi: se il programma fa accesso frequentemente a 2 blocchi corrispondenti allo stesso blocco nella cache, ad ogni accesso si deve trasferire uno dei 2 blocchi dalla memoria principale alla cache. M 1 (0) M 1 (1) Memoria Cache Memoria Principale M 2 (0) M 2 (1) M 2 (2) M 2 (3) M 2 (4) M 2 (5) M 2 (6) M 2 (7) M 2 (8) M 2 (9) M 2 (10) M 2 (11) M 2 (12) M 2 (13) Set Associative mapping Caratteristiche: i blocchi della memoria principale sono suddivisi in S 1 classi; un blocco i appartiene alla classe k se k=i mod S 1 ; la cache è suddivisa in S 2 insiemi: ogni insieme j contiene S blocchi, tutti appartenenti alla classe j; per accedere rapidamente ai blocchi in uno stesso insieme si usa una memoria associativa; Se S 2 = 1 si ha il direct mapping; se S 2 =N (N è la dimensione della cache) si ha l associative mapping. 4

5 1.4. Aggiornamento della memoria principale La CPU ha normalmente un canale di connessione diretto con la memoria principale; questo permette 2 possibili meccanismi di aggiornamento della memoria principale: write-back write-through Write-back Per ogni blocco nella cache viene tenuto aggiornato un flag, che ricorda se il blocco è stato modificato da quando è stato caricato nella cache. Quando un blocco viene eliminato dalla cache ed il suo flag è settato, il blocco viene copiato dalla cache nella memoria principale. Svantaggi: nei sistemi multiprocessore si può avere inconsistenza tra le cache di diversi processori il ripristino dei dati dopo eventuali system failure può non essere possibile Write-through Ogni volta che la CPU esegue una operazione di scrittura, la esegue sia sul dato nella cache che in quello nella memoria principale. La perdita di efficienza che ne deriva è limitata dal fatto che le operazioni di scrittura sono di solito molto meno numerose di quelle di lettura VAX-11/780: Organizzazione della Cache L indirizzo fisico è divisibile nei seguenti campi: Quadrante Cache Address Tag Set Address Byte Address Lo schema hardware di decodifica dell indirizzo per l accesso alla cache è il seguente: 5

6 Physical Address Address Tag Data Page (line) Index 0 1 Address Decoding Logic Byte Address Data Selection Swap Control (read miss) Address Comparison Algoritmo per l accesso alla memoria Accesso in lettura: attraverso i bit 20:29 si seleziona un insieme i bit 2:19 sono confrontati con quelli delle 2 pagine appartenenti all insieme selezionato se la pagina è presente nella cache si usano i bit 29:31 per selezionare il byte desiderato se la pagina non è presente, viene caricata dalla memoria principale al posto di una delle 2 appartenenti all insieme. La scelta fra le 2 è casuale. Accesso in scrittura: attraverso i bit 20:29 si seleziona un insieme i bit 2:19 sono confrontati con quelli delle 2 pagine appartenenti all insieme selezionato se la pagina è presente nella cache si usano i bit 29:31 per selezionare il byte desiderato, e si scrive in esso il nuovo valore, sia nella cache che nella memoria principale se la pagina non è presente l operazione di scrittura avviene direttamente nella memoria principale, e la pagina non viene caricata nella cache. 2. Trasferimento dei dati Lo spostamento dei dati tra moduli è uno degli aspetti più critici di un sistema di elaborazione. Un bus è costituito da un insieme di linee che consentono di effettuare il trasferimento dei dati. Un efficiente sistema di trasferimento dei dati può avere grandi influenza su: prestazioni; costi; modularità; 6

7 standardizzazione Trasferimento punto a punto Sorgente Dati Strobe Destinazione Il modulo sorgente genera i dati che devono essere inviati al modulo destinazione. Un segnale di strobe comanda la memorizzazione del dato. Il segnale di strobe viene inviato quando i dati sono stabili. Dati In questo periodo i dati sono stabili Strobe 2.2. Trasferimento a diffusione Sorgente Destinazione 1 Destinazione 2 Destinazione 3 STB1 STB2 STB3 Modulo sorgente può inviare i dati a più moduli diversi. 7

8 Dati Dati 1 Dati 2 Dati 3 Strobe 1 Strobe 2 Strobe 3 Attivando contemporaneamente i 3 segnali di strobe si effettua un operazione di trasferimento di broadcast Trasmissione a collettore Il sistema di trasmissione è costituito da più blocchi sorgente e da un solo modulo destinazione. Il segnale di Output Enable abilita la scrittura sul bus di trasferimento dei dati. OE1 Sorgente 1 OE2 Sorgente 2 Destinazione STB Il canale di comunicazione può essere utilizzato per un solo trasferimento alla volta. Quando due elementi sorgenti tentano di inviare dati contemporaneamente si ha un conflitto di accesso (la risorsa bus verrebbe utilizzata da parte di due elementi). 8

9 Outupt Enable 1 Outupt Enable 2 Strobe Dati Dati 1 Dati 2 Conflitto Se i segnali di OE1 ed OE2 sono attivi contemporaneamente si ha una situazione di conflitto. Sulle linee di dato si hanno dei dati incerti di sistema Un bus di sistema è il mezzo di trasmissione che permette di effettuare i trasferimenti dei dati in un sistema avente la presenza contemporanea di più elementi destinazione e sorgente interconnessi. OE1 Sorgente 1 OE2 Sorgente 2 OE3 Sorgente 3 Destinazione 1 Destinazione 2 Destinazione 3 STB1 STB2 STB3 Un unità di controllo esterna stabilisce il valore dei vari segnali di controllo e regola il corretto funzionamento delle linee di trasmissione delle informazioni. 9

10 Outupt Enable 1 Outupt Enable 2 Outupt Enable 3 Dati Strobe 1 Strobe 2 Strobe Moduli Master e Slave In un sistema di trasmissione le unità connesse sono di 2 tipi: unità master: inizia ogni procedura di trasferimento dati; è anche denominata Control Unit e spesso coincide con la CPU; unità slave: rispondono ai comandi dell unità master; un esempio di unità slave sono le memorie ed i dispositivi di I/O in genere. I moduli sonop collegati tra loro da un insieme di linee tramite: bus per il trasferimento delle informazioni; bus per i segnali di controllo. Unità di controllo del di controllo Sorgente Destinazione di dati Sorgente 2 Sorgente 3 Destinazione 2 I segnali di controllo devono: 10

11 individuare l elemento Slave che deve partecipare al trasferimento; specificare se l elemento è di tipo sorgente o destinazione; fornire la temporizzazione necessaria. Ogni elemento è individuatao in modo univoco da un numero o indirizzo. Un gruppo di linee è dedicato al trasporto degli indirizzi (bus di indirizzi). Ogni modulo slave avrà un decodificatore di indirizzo per riconoscere se è coinvolto in un trasferimento. Un esempio di sistema di tipo Master-Slave per il trasferimento delle informazioni è costituito da un sistema a microprocessore caratterizzato dalla seguente Architettura di Sistema. C P U di indirizzi di controllo di dati ROM RAM I/O Un bus è composto da 3 gruppi di segnali: segnali di dato: normalmente sono in numero pari ad un multiplo di 8; possono essere bidirezionali o unidirezionali (in tal caso è necessario un numero doppio di linee); segnali di indirizzo: identificano lo slave con cui il master vuole comunicare (nonchè quale parte dello slave è coinvolta); possono essere multiplexati con i segnali di dato per ridurre le linee del bus ed i pin dei dispositivi connessi; segnali di controllo: forniscono informazioni di stato, di temporizzazione, di tipo (dei dati sul bus). L operazione di lettura e scrittura differiscono per il verso con il quale scorre l informazione: lettura: flusso di trasferimento che va da elemento Slave (sorgente) ad elemento Master (destinazione); scrittura: trasferimento dei dati avviene da elemento Master (sorgente) ad elemento Slave (destinazione). I segnali di controllo devono contenere le seguenti informazioni: se l operazione in corso è di lettura o di scrittura: quando il trasferimento può avere luogo. 11

12 2.6. Identificazione degli indirizzi In fase di indirizzamento il Master deve indicare agli Slave quando i segnali di indirizzo sono validi. Un segnale di controllo specifico può essere utilizzato per indicare agli Slave che il valore che si trova sul bus degli indirizzi è un dato valido. Indirizzi Indirizzi validi (ADDVAL) La CPU può avere a disposizione spazi di indirizzamento separati per memoria ed I/O. Per separare i due spazi si può fare ricorso a differenti coppie di segnali: a) segnale di indirizzo valido (ADDVAL) e segnale di abilitazione dello spazio di indirizzamento (MEM/PERIF): in questo caso il tipo di accesso è specificato dal segnale MEM/PERIF, se vale 1 l accesso è nello spazio della memoria, altrimenti l accesso è nello spazio dei periferici. b) segnale di indirizzo valido di memoria (VMA) e segnale di indirizzo valido di periferico (VPA). Indirizzi memoria periferico a) ADDVAL MEM/PERIF b) VPA VMA Operazione di lettura Il segnale RDP (read pulse) specifica che viene effettuata un operazione di lettura. L indirizzo presente sul bus di indirizzi viene decodificato; se l indirizzo è valido e corrisponde al modulo stesso, in corrispondenza di un segnale di lettura i dati transitano sul bus di dati dal dispositivo sorgente al dispositivo destinazione. 12

13 ADDVAL RDP indirizzi Decodificatore STB dati OE Destinazione Sorgente Indirizzi ADDVAL OE dati STB Operazione di scrittura Il segnale WRP (write pulse) specifica che viene effettuata un operazione di scrittura. L indirizzo presente sul bus di indirizzi viene decodificato; se l indirizzo è valido e corrisponde al modulo stesso, in corrispondenza di un segnale di scrittura i dati transitano sul bus di dati dal dispositivo sorgente al dispositivo destinazione. ADDVAL WRP indirizzi Decodificatore OE dati STB Sorgente Destinazione 13

14 Indirizzi ADDVAL OE dati STB Segnali di controllo per la lettura e scrittura Per separare le operazioni di lettura e scrittura si può fare ricorso a 2 differenti coppie di segnali: a) segnale che specifica di una parola valida sul bus di dati (DAVAL) ed un segnale che in base al suo valore specifica se sta eseguendo un operazione di lettura o di scrittura (RD/WR); b) segnale di abilitazione alla lettura (RDP) e segnale di abilitazione alla scrittura (WRP). Dati lettura scrttura a) DAVAL RD/WR b) WRP RDP 2.7. Sincronizzazione tra Master e Slave Il Master invia i suoi segnali in modo indipendente da come si comporterà lo Slave. Per sfruttare al massimo il canale di comunicazione i trasferimenti devono essere rapidi. La velocità di risposta del dispositivo Slave dipende dalle sue caratteristiche tecnologiche. Per la gestione della sincronizzazione tra Master e Slave sono possibili diverse strategie: trasferimento asincrono; trasferimento sincrono. 14

15 Trasferimento sincrono Ogni unità di dato è trasferita in un periodo di tempo prefissato (normalmente un periodo di clock); le unità sorgente e destinazione utilizzano lo stesso segnale di clock. Alternativamente, le 2 unità possono avere clock separati, ma alla stessa frequenza, e scambiare periodicamente segnali di sincronizzazione; La frequenza del clock è imposta dai dispositivi più lenti. Il meccanismo funziona su distanze ridotte Trasferimento asincrono Ogni comunicazione può avere una sua velocità, determinata da appositi segnali di controllo che accompagnano i segnali di dato; si acquisisce così la massima flessibilità, a spese di una maggiore complessità del protocollo. Ambedue i dispositivi partecipano alla generazione dei segnali di temporizzazione. Nel protocollo di comunicazione viene introdotto un ulteriore segnale di acknowledge, generato dall unità che non ha richiesto il trasferimento. La sequenza di valori che i segnali devono assumere prende il nome di handshaking. Lettura WR/RD Master Data Request Acknowledge Data bus Slave Data WR/RD Data Request Acknowledge Il master attiva l indirizzo di uno slave. Se tale slave non esiste, il segnale Data Request rimarrebbe alto per un tempo indefinito, ma dopo un certo intervallo di tempo il modulo master riconosce di non ricevere riusposta dal modluo slave e dunque riconosce l errore nella trasmissione. 15

16 Scrittura Master WR/RD Data Request Acknowledge Data bus Slave Data WR/RD Data Request Acknowledge 2.8. Trasferimento semisincrono Il dispositivo Master invia si predispone alla operazione di trasferimento, l operazione di trasferimento si conclude in base ai tempi di risposta del dispositivo slave: se il dispositivo slave è veloce l operazione si chiude in un colpo di clock, altrimenti il dispositivo master dovrà inserire un opportuno numero di colpi di clock per concludere l operazione di trasferimento dei dati. Tali colpi di clock aggiuntivi si chiamano cicli di wait. T kt T CLOCK Address ADDVAL Data Data Acknowledge Il dispositivo lento riconosce il proprio indirizzo e indica al master di ritardare la chiusura del ciclo fino al momento opportuno. Il segnale di ADDVAL rimane basso 16

17 per un intervallo di tempo multiplo del periodo di clock. La presenza di cicli di wait ritarda tutte le operazioni di trasferimento Multiplexati Nel caso dei microprocessori, al fine di ridurre i costi dell hardware è importante minimizzare il numero di piedini (pin) del dispositivo integrato. Una delle tecniche utilizzate è quella di utilizzare in tempi diversi le stesse linee per tipi di dati diversi. I segnali che possono condividire le stesse linee fisiche sono: 1. dati e parte bassa degli indirizzi; 2. parte bassa e parte alta degli indirizzi; 3. dati ed indirizzi Ricostruzione dei segnali I segnali sono ricostruiti attraverso una batteria di Flip-Flop che vengono abilitati quando il segnale che occupa le linee fisiche corrisponde ai segnali di un certo tipo. Per la ricostruzione dei segnali occorrono due linee di abilitazione, una per ogni tipo di segnale che condivide le linee fisiche. Un bus di tipo multiplexato è più economico rispetto ad un bus dedicato, ma è certamente più lento. INF1VAL linee fisiche FF INF1 INF2VAL INF2 linee fisiche INF1 INF2 INF1VAL INF2VAL Sistemi con moduli master multipli In un sistema di una certa complessità possono essere presenti più moduli master che condividono lo stesso bus. Gli esempio più frequenti sono quelli costituiti da: 1. sistemi multiplrocessori; 2. presenza di un modulo di accesso diretto alla memoria (DMA) DMA È il metodo preferito quando si devono trasferire grosse moli di dati. 17

18 Una circuiteria apposita (DMA Controller) provvede ad eseguire il trasferimento di dati da una periferica alla memoria (o viceversa). La circuiteria deve essere in grado di fungere da bus master, ossia deve generare gli indirizzi ed i segnali di controllo secondo la tempistica opportuna. Il DMA Controller deve inoltre essere in grado di negoziare con la CPU l acquisizione del controllo del bus ed il suo rilascio. Abus Dbus Memoria AR DR DC IOAR IODR IR Control Unit DMA Ack DMA Req Control Unit CPU DMA Controller Periferica Il trasferimento dei dati in DMA può avvenire in vari modi: trasferimento a blocchi (burst transfer) trasferimento con cycle stealing trasferimento in transparent DMA Trasferimento a blocchi Prevede che il DMA Controller, una volta acquisito il controllo del bus, lo mantenga per tutto il tempo richiesto per trasferire un blocco di dati. In tal modo ma il trasferimento avviene alla massima velocità la CPU è bloccata per tutta la durata del trasferimento; il trasferimento a blocchi è importante per periferiche quali i dischi magnetici, dove il trasferimento del blocco non può essere interrotto) Trasferimento con cycle stealing Il DMA Controller trasferisce i dati in piccoli blocchi, occupando il bus per periodi limitati di tempo. In tal modo: ma la velocità di trasferimento è minore 18

19 la CPU non è bloccata per periodi troppo lunghi Trasferimento in Transparent DMA Il DMA Controller è in grado di rilevare quando la CPU non utilizza il bus, e solo in quei periodi esegue il trasferimento dei dati. In tal modo la CPU non è praticamente rallentata dal DMA Controller Arbitraggio del bus Il meccanismo di arbitraggio del bus entra in funzione quando 2 o più unità fanno contemporaneamente richiesta di accesso al bus. Il meccanismo deve allora designare il nuovo dispositivo master. L arbitraggio può avvenire in maniera centralizzata: esiste un arbitro, che a volte fa parte della CPU distribuita: ogni modulo contiene la logica necessaria per implementare un meccanismo di arbitraggio che permette di definire il nuovo master.esistono due principale tecniche di arbitraggio del bus: Arbitraggio centralizzato Un modulo separato a cui gli elementi fanno richieste di accesso gestisce il controllo del bus. I vantaggi di un arbitro centralizzato sono: possibilità di modificare agevolmente la politica di assegnazione delle priorità; migliore efficienza. Esistono 3 meccanismi di arbitraggio centralizzato: daisy-chaining polling richieste indipendenti. Essi differiscono per: numero di linee di controllo richieste; velocità di risposta del bus controller; flessibilità nella gestione delle priorità. 19

20 Daisy Chain Grant U 1 U 2 U n Controller Request y Polling Una unità fa richiesta del bus (BUS REQUEST) attendendo che il bus sia libero (BUS BUSY); il bus controller attiva il segnale di BUS GRANT Ogni unità, quando riceve il BUS GRANT: se ha richiesto il bus: attiva BUS BUSY se non ha richiesto il bus: attiva BUS GRANT verso l unità a valle. U 1 U 2 U n Controller Request y Poll Counter Una unità fa richiesta del bus (BUS REQUEST), attendendo che il bus sia libero (BUS BUSY) il Controller scandisce tutte le unità collegate, mettendo sul Poll Counter gli indirizzi di ciascuna, in sequenza quando una unità viene indirizzata, ed ha fatto richiesta, attiva il segnale di BUS BUSY; a questo punto il Controller interrompe la scansione. 20

21 Richieste indipendenti U 1 U 2 U n Controller Request 1 Grant 1 Request 2 Grant 2 Request 3 Grant 3 y L unità i-esima fa richiesta del bus (BUS REQUEST i), attendendo che il bus sia libero (BUS BUSY) il Controller gestisce tutte le richieste, e concede il bus all unità con priorità maggiore (BUS GRANT j) l unità j assume il controllo del bus (BUS BUSY j) Arbitraggio distribuito I singoli moduli dispongono di funzioni che cooperano per la gestione condivisa del bus. I vantaggi di un arbitraggio distribuito sono: maggiore modularità e possibilità di espansione e riconfigurazione; migliore tolleranza ai guasti (se si guasta un elemento particolare non viene coinvolto l intero sistema). 3. Gestione dei dispositivi di I/O La funzione del sistema di Input/Output di un calcolatore è il trasferimento di dati tra la memoria principale ed il mondo esterno. Il sistema di Input/Output di un calcolatore è composto di: dispositivi di Input/Output (periferiche) unità per il controllo di questi dispositivi software per la loro gestione. I metodi utilizzati dalla CPU per gestire le richieste di servizio da parte dei dispositivi di I/O possono essere di 2 tipi diversi: polling; interruzione. 21

22 3.1. Polling Il polling è il metodo più semplice ed economico per gestire le richieste di servizio da parte dei dispositivi di I/O. Il microprocessore scandisce i vari dispositivi e a turno controlla se hanno avanzato una richiesta di servizio. La gestione del polling viene fatta attraverso un ciclo software di lettura dello stato dei dispositivi di I/O. La maggior parte del tempo è impiegata dal programma principale nell esecuzione del ciclo di polling. CPU Multiplexer RAM I/O(1) ROM I/O(2) I/O(3) 3.2. Interruzione È basato su un segnale asincrono che il dispositivo invia alla CPU quando ha bisogno di un servizio. In questo modo: il tempo per ottenere l attenzione della CPU si riduce la CPU non perde tempo a scandire (polling) i dispositivi per testarne lo stato. La gestione del servizio dei dispositivi di I/O tramite interrupt permette un migliore efficienza dell esecuzione della elaborazione della CPU. Un input esterno asincrono informa il microprocessore che un dispositivo esterno richiede di essere servito. La CPU interrompe l esecuzione in corso e salta all esecuzione di una routine di servizio dell interruzione. Il dispositivo di Controllo dell'interrupt funziona come un gestore delle richieste di interruzione tra i dispositivi periferici e la CPU. Ad ogni dispositivo è associata una procedura di gestione dell'interruzione (Interrupt Service Routine - ISR). 22

23 CPU INT Controllore dell'interrupt RAM ROM I/O(1) I/O(2) I/O(3) I metodi che la CPU utilizza per identificare il dispositivo periferico che ha fatto richiesta di interruzioni possono essere i seguenti: linee di interruzioni multiple; Polling; Daisy Chain; Arbitraggio del Linee di interruzione multiple La CPU possiede diversi piedini per le richieste di Interrupt. Ogni periferica è attaccata ad un diverso piedino. È una soluzione impraticabile, poichè il numero di periferiche è quasi sempre superiore a quello dei piedini disponibili Polling Esiste un solo piedino per le richieste di Interrupt. Quando la CPU percepisce la richiesta, inizia a scandire le parole di stato di tutte le periferiche per individuare quella che ha fatto la richiesta Daisy Chain Tutte le periferiche condividono la stessa linea di Interrupt Request, cui sono connesse in wired-or. La linea di Interrupt Acknowledge è connessa in daisy chain. La periferica che acquisisce il diritto ad esere servita mette sul bus un codice identificativo, che la CPU utilizza per selezionare la procedura di servizio corrispondente (interrupt vettorizzato). 23

24 Arbitraggio del bus Quando una periferica desidera fare una richiesta di Interrupt deve prima acquisire il controllo del bus, che viene gestito tramite un meccanismo di arbitraggio. Quando la CPU percepisce la richiesta, risponde con un acknowledge; la periferica mette sul bus il codice identificativo, e la CPU attiva la corrispondente procedura di servizio. 24

Il sistema di Input/Output

Il sistema di Input/Output Corso di Calcolatori Elettronici I A.A. 2010-2011 Il sistema di Input/Output Lezione 35 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria

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

Input/Output. Input/Output

Input/Output. Input/Output Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di sistema; Trasferimento dati; Gestione I/O. 2 M. Violante 1.1 Organizzazione di sistema Memoria

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

Arbitraggio del BUS. Arbitraggio in daisy chain a controllo centralizzato. ad 1 livello a più livelli

Arbitraggio del BUS. Arbitraggio in daisy chain a controllo centralizzato. ad 1 livello a più livelli Arbitraggio del BUS L'arbitraggio è la funzione di gestione del possesso del bus. Spesso, infatti, accade che CPU, memoria e altri dispositivi ne richiedano simultaneamente l'utilizzo. In questi casi,

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

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

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 sistema di I/O. Calcolatori Elettronici

Il sistema di I/O. Calcolatori Elettronici Il sistema di I/O 1 Architettura a bus singolo Memoria CPU Interfaccia Unità di I/O Interfaccia Unità di I/O 2 Interfaccia Svolge la funzione di adattamento sia elettrico sia logico tra le unità periferiche

Dettagli

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

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

Dettagli

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

verso espandibili eterogenei tempo di accesso tempo di risposta throughput I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di

Dettagli

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

verso espandibili eterogenei tempo di accesso tempo di risposta throughput I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di

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

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19 LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19 Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 2005-2006 Interrupt Se il ciclo del processore

Dettagli

Interrupt. LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19. Prof. Rosario Cerbone

Interrupt. LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19. Prof. Rosario Cerbone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19 Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 2006-2007 Se il ciclo del processore fosse effettivamente

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II L INTERFACCIA PARALLELA Argomenti della lezione Le interfacce parallele Il dispositivo Intel 855 Architettura Funzionamento Le interfacce parallele Esempio Le interfacce parallele

Dettagli

Is the bus a bus? Linea XX: Microprocessore-I/O-Memorie

Is the bus a bus? Linea XX: Microprocessore-I/O-Memorie Arbitraggio del BUS Is the bus a bus? Linea XX: Microprocessore-I/O-Memorie Calcolatori Elettronici a.a. 2006-2007 1 Arbitraggio del BUS L'arbitraggio è la funzione di gestione del possesso del bus. Spesso,

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

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Struttura dei Sistemi di Calcolo Operazioni dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione hardware Invocazione del Sistema Operativo 1 Architettura

Dettagli

Le memorie Cache n-associative

Le memorie Cache n-associative Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario

Dettagli

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 7 Input/Output

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 7 Input/Output Esercitazione di Calcolatori Elettronici Ing. Battista Biggio Corso di Laurea in Ingegneria Elettronica Capitolo 7 Input/Output Capitolo 7: Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

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

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

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

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

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

Architettura dei sistemi di elaborazione (Input/Output parte 2) Architettura dei sistemi di elaborazione (Input/Output parte 2) Gestione dell I/O Il processore può comunicare con uno o più dispositivi esterni secondo schemi temporali imprevedibili che dipendono dalle

Dettagli

Strutture dei sistemi di calcolo

Strutture dei sistemi di calcolo Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo

Dettagli

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

Architettura dei sistemi di elaborazione (Input/Output parte 1) Architettura dei sistemi di elaborazione (Input/Output parte 1) Sottosistema di I/O Il sottosistema di I/O è la parte attraverso la quale si esplica la comunicazione tra il calcolatore e il mondo esterno.

Dettagli

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità

Dettagli

Con riferimento al funzionamento dei bus di un calcolatore: tracciare e illustrare il diagramma di temporizzazione di un

Con riferimento al funzionamento dei bus di un calcolatore: tracciare e illustrare il diagramma di temporizzazione di un Esercizio su BUS Con riferimento al funzionamento dei bus di un calcolatore: tracciare e illustrare il diagramma di temporizzazione di un bus sincrono a 40 Mhz con linee condivise i per dati e indirizzi

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

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

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

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

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. 33 - G - 4: Protocolli di ciclo e di transazione Modello di riferimento per sistemi

Dettagli

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

I bus. Sommario. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano I bus Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/38 Sommario Il bus ed il protocollo di trasferimento Tipologie di bus La

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

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione.

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione. TECNICHE DI INTERRUZIONE NEI MICROCOMPUTER Abbiamo analizzato nel modulo E la procedura con cui avviene lo scambio di informazioni in un microcomputer tra la CPU e la memoria. Il µp, che svolge la funzione

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Cache Anno Accademico Francesco Tortorella La cache nella gerarchia di memoria D. Patterson, 2011 4 decisioni da prendere CPU CACHE MEM 1. Dove posizionare un blocco? 2. Come reperire un blocco?

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. gestione di IO e interfacciamento a bus

AXO Architettura dei Calcolatori e Sistema Operativo. gestione di IO e interfacciamento a bus AXO Architettura dei Calcolatori e Sistema Operativo gestione di IO e interfacciamento a bus Collegamento di una periferica al calcolatore (a livello di sistema) CALCOLATORE MEMORIA PROCESSORE BUS INTERFACCIA

Dettagli

Cenni sull architettura del calcolatore

Cenni sull architettura del calcolatore Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Cenni sull architettura del calcolatore Pietro Di Lena - pietro.dilena@unibo.it hard-ware /h :dwe9 r / n. The part of the computer

Dettagli

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono

Dettagli

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

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

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 Cache Anno Accademico Francesco Tortorella La cache nella gerarchia di memoria D. Patterson, 2011 Funzionamento della cache 4 decisioni da prendere CPU CACHE

Dettagli

Introduzione alle memorie cache. Sommario

Introduzione alle memorie cache. Sommario Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 0/0/200 Sommario Obiettivo Livelli della gerarchia di memoria Memoria cache: concetti base Architettura

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

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Calcolatori Elettronici 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di solito

Dettagli

IL SISTEMA DELLE INTERRUZIONI

IL SISTEMA DELLE INTERRUZIONI IL SISTEMA DELLE INTERRUZIONI CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Elettronica (A-I) ICAR Consiglio Nazionale delle Ricerche DIS - Università degli Studi di Napoli Federico II Supporti didattici

Dettagli

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

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver Architettura dei calcolatori e sistemi operativi Input Output IO 3 Device driver Device driver - gestori delle periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi

Dettagli

Incremento prestazioni

Incremento prestazioni Architettura degli elaboratori II Incremento prestazioni DMA ARGOMENTI DELLA LEZIONE Architettura degli elaboratori II Interazione con i dispostivi di Generalità Un calcolatore comunica con l esterno attraverso

Dettagli

Lezione 22 La Memoria Interna (1)

Lezione 22 La Memoria Interna (1) Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Architettura di von Neumann Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

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

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

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Tipi di memorie Possono essere classificate in base a varie caratteristiche:

Dettagli

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

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con

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

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

Memoria cache, interrupt e DMA

Memoria cache, interrupt e DMA FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

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 Tecnologie per le Memorie Anno Accademico Francesco Tortorella Gerarchia di memoria: vista complessiva Gerarchia di memoria: tecnologie Accesso casuale (random):

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

Tecniche di gestione dell I/O

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

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

Input/Output. bus, interfacce, periferiche

Input/Output. bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Architettura di von Neumann Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Architettura di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2007/08 Architettura di von Neumann Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

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

Input/Output. bus, interfacce, periferiche

Input/Output. bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

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

Input/Output. bus, interfacce, periferiche

Input/Output. bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

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

ARCHITETTURA DEL CALCOLATORE

ARCHITETTURA DEL CALCOLATORE ARCHITETTURA DEL CALCOLATORE AVVERTENZE Questi appunti non vogliono essere degni sostituti di un buon libro di testo e hanno il solo scopo di aiutare gli studenti dei corsi di informatica che affrontano

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1 Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 06/01/2013 versione 2 1 Obiettivo Sommario Livelli della gerarchia di memoria Memoria cache: concetti

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

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

Architettura dei sistemi di elaborazione: La memoria (parte 2)

Architettura dei sistemi di elaborazione: La memoria (parte 2) Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale

Dettagli

Sottosistema d ingresso uscita

Sottosistema d ingresso uscita Lezione n.15 Sottosistema d ingresso uscita Le interfacce Sommario: Il sottosistema d ingresso/uscita (I/O) e le interfacce Gestione di un periferico a controllo di programma 1 Il sottosistema d ingresso/uscita

Dettagli

Interruzioni parte prima. Inquadramento del problema

Interruzioni parte prima. Inquadramento del problema Corso di Calcolatori Elettronici I A.A. 2010-2011 Interruzioni parte prima Lezione 32 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria

Dettagli

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

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico Corso di Calcolatori Elettronici I Memorie Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea

Dettagli

Struttura delle memorie cache

Struttura delle memorie cache Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24

Dettagli

Corso di Informatica 2 Prof. Sciuto; Lezione su Bus e I/O.

Corso di Informatica 2 Prof. Sciuto; Lezione su Bus e I/O. Corso di Informatica 2 Prof. Sciuto Comunicazione di I/O Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 30 Maggio 2005 1 Convenzioni sui termini e sui segnali

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Architettura dei Calcolatori Elettronici: primi cenni introduttivi Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2017-2018 Roberto Canonico Corso

Dettagli

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita Struttura logica dell elaboratore unità di ingresso memoria AR PC +1 DR OC OA IR unità di uscita PSW organo coordinatore clock SCHEMA COMPLETO R1 R2 ALU unità di controllo CPU 1 Struttura logica dell elaboratore

Dettagli

Tecniche Automatiche di Acquisizione Dati

Tecniche Automatiche di Acquisizione Dati Tecniche Automatiche di Acquisizione Dati Richiami di Architettura degli elaboratori Fabio Garufi - TAADF 2005-2006 1 Modello di Von Neumann L architettura del moderno microcomputer ha radici che risalgono

Dettagli

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 Organizzazione della memoria La memoria principale è organizzata come un insieme

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

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

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione General Purpose CISC

Dettagli

Esercizi. Bus del calcolatore. Alessandro A. Nacci ACSO 2014/2014

Esercizi. Bus del calcolatore. Alessandro A. Nacci ACSO 2014/2014 Esercizi Bus del calcolatore Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 Esercizio 1 Si consideri l andamento dei segnali di bus sincrono quando una periferica legge in DMA una parola

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

ALU e Control Unit. ALU e Control Unit

ALU e Control Unit. ALU e Control Unit Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Unità aritmentica/logica Unità di controllo. 2 M. Violante 1.1 Unità aritmetica/logica Contiene tutti i circuiti

Dettagli