Multiprocessori. Classificazione dei multiprocessori

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Multiprocessori. Classificazione dei multiprocessori"

Transcript

1 Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Multiprocessori Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Classificazione dei multiprocessori Focalizziamo l attenzione sui multiprocessori (o architetture MIMD a memoria condivisa) Anche SMP SD - Valeria Cardellini, A.A. 2009/10 1

2 Architettura di base per SMP Tutti i processori hanno un tempo di accesso uniforme alla memoria Attenzione: memoria condivisa non implica che ci sia una singola memoria, bensì la memoria è suddivisa fisicamente in banchi La memoria ed i processori sono collegati tramite: Uno (o più) bus nel caso dei multiprocessori più semplici Oppure una rete di interconnessione La comunicazione tra processori avviene mediante un ampio spazio di indirizzamento condiviso Occorre gestire i conflitti per l accesso ai dati condivisi in memoria da parte di più processori Occorre sincronizzare gli accessi alla stessa locazione di memoria da parte di più processori Dimensione tipica per SMP: da 2 ad un centinaio processori SD - Valeria Cardellini, A.A. 2009/10 2 Interconnessione con bus e con switch SD - Valeria Cardellini, A.A. 2009/10 3

3 SMP con bus Un solo bus (sebbene ottimizzato) e la memoria condivisa possono facilmente diventare un collo di bottiglia del sistema Parallelismo dei processori UMA con bus limitato a processori SD - Valeria Cardellini, A.A. 2009/10 4 SMP con rete di interconnessione Per aumentare la scalabilità e gestire quindi un numero più elevato di processori occorre una rete di interconnessione E una struttura più scalabile e complessa del bus SD - Valeria Cardellini, A.A. 2009/10 5

4 Reti di interconnessione Analizziamo due reti di interconnessione usate nei multiprocessori UMA (e NUMA) 1. Commutatore incrociato (crossbar switch) E lo schema più semplice per connettere n processori a k banchi di memoria 2. Reti di commutazione multi-stadio, in particolare rete omega SD - Valeria Cardellini, A.A. 2009/10 6 Crossbar switch (a) Un crossbar switch 8 8 (b) Un crosspoint aperto (c) Un crosspoint chiuso Ad ogni intersezione di una linea di comunicazione orizzontale e verticale è posizionato uno crosspoint (punto di incrocio), che può connettere (o meno) le due linee In figura: 3 switch sono chiusi e connettono le coppie processore-memoria ( ), (101, 101), (110, 010) SD - Valeria Cardellini, A.A. 2009/10 7

5 Crossbar switch (2) Quante sono le possibili combinazioni di comunicazione simultanea tra coppie processorememoria? Problema detto Non-Attacking Rooks: come posizionare 8 torri su di una scacchiera senza che si attacchino Soluzione: 8! = Vantaggio del crossbar switch: è una rete non bloccante E possibile elaborare contemporaneamente qualsiasi insieme di richieste, indipendentemente dallo stato della rete Limiti del crossbar switch: il numero di crosspoint cresce quadraticamente con il numero di processori (memorie) coinvolti Adatti per sistemi UMA di medie dimensioni SD - Valeria Cardellini, A.A. 2009/10 8 Reti di commutazione multi-stadio Per connettere molti nodi si usa un commutatore bidirezionale a due ingressi e due uscite (switch 2 2) Ciascuno dei due ingressi può essere rediretto su ciascuna delle due uscite Nel formato di messaggio: Module: quale banco di memoria, quale processore Address: indirizzo interno al banco di memoria Opcode: tipo di operazione (ad es. READ o WRITE) Value: può contenere l operando (in caso di WRITE) SD - Valeria Cardellini, A.A. 2009/10 9

6 Reti di commutazione multi-stadio (2) E possibile comporre in molti modi gli switch 2 2 per definire una rete a commutazione multi-stadio La rete omega è una possibile composizione SD - Valeria Cardellini, A.A. 2009/10 10 Rete omega Nell esempio del lucido precedente: 8 processori connessi a 8 memorie, usando in tutto 12 switch 2 2 in 3 stadi Nel caso di n processori ed n memorie: log 2 n stadi, con n/2 switch per stadio; in totale (n/2)log 2 n switch La connessione tra uno stadio è l altro è regolata dalla permutazione perfect shuffle Ω(c) = Ω(i s-1, i s-2,..., i 1, i 0 ) = i s-2,..., i 1, i 0, i s SD - Valeria Cardellini, A.A. 2009/10 11

7 Rete omega (2) Esempio di funzionamento: il processore 011 vuole leggere un dato dal banco di memoria 110 Il processore invia allo switch 1D il messaggio con READ e Module= Lo switch 1D preleva il bit più significativo per il routing (0: uscita superiore; 1: uscita inferiore) messaggio instradato verso 2D Lo switch 2D analizza il secondo bit più significativo e instrada il messaggio verso 3D Lo switch 3D usa il bit meno significativo per instradare verso il banco di memoria 110 Il dato letto deve essere instradato verso il processore: viene usato il suo indirizzo, leggendo però i bit da destra verso sinistra SD - Valeria Cardellini, A.A. 2009/10 12 Rete omega (3) Il processore 011 legge un dato dal banco di memoria 110 (percorso a); contemporaneamente: Il processore 001 può scrivere un dato dal banco di memoria 001 (percorso b) Ma il processore 000 non può accedere al banco 000 (conflitto sullo switch 3A) SD - Valeria Cardellini, A.A. 2009/10 13

8 Rete omega (4) La rete omega è bloccante Non tutte le sequenze di richieste possono essere servite contemporaneamente Per minimizzare la possibilità di conflitti e massimizzare il parallelismo delle comunicazioni processore-memoria sono possibili varie tecniche Ad es., usare un sistema di memoria interallacciato: permette di massimizzare il parallelismo perché la maggior parte dei riferimenti a memoria coinvolge indirizzi consecutivi SD - Valeria Cardellini, A.A. 2009/10 14 Coerenza della cache nell architettura SMP La cache locale per ciascun processore permette di ridurre il traffico sul bus o rete di interconnessione e la latenza di accesso ai dati I riferimenti in memoria che si concludono con un cache hit non richiedono un accesso alla memoria condivisa La cache locale può contenere: dati privati: usati solo sullo stesso processore dati condivisi: usati da più processori e che sostanzialmente forniscono il meccanismo di comunicazione tra i processori Accesso ad un dato condiviso: il dato può essere replicato in più cache Nascono problemi di coerenza della cache! Due processori diversi vedono la memoria tramite la propria cache ma le due viste possono essere diverse SD - Valeria Cardellini, A.A. 2009/10 15

9 Problema della coerenza della cache: esempio P 1 P 2 P 3 u =? u =? $ 4 $ 5 $ u = 5 u=5 3 u= 7 1 u = 5 2 Dispositivi di I/O Memoria I processori vedono valori diversi di u dopo l evento 3 Con cache di tipo write back, non è predicibile quando il nuovo valore di u verrà scritto in memoria I processori che accedono in memoria possono vedere un vecchio valore Inaccettabile per la programmazione! SD - Valeria Cardellini, A.A. 2009/10 16 Coerenza e consistenza In modo informale: un sistema di memoria è coerente se qualsiasi lettura di un dato fornisce il valore del dato scritto più recentemente Coerenza: definisce quali valori possono essere restituiti da un operazione di lettura Consistenza: definisce quando un valore che è stato scritto verrà restituito da un operazione di lettura SD - Valeria Cardellini, A.A. 2009/10 17

10 Coerenza del sistema di memoria Il sistema di memoria è coerente se: 1. Preserva l ordine di programma: una lettura della locazione X da parte del processore P che segue una scrittura di X da parte di P (senza scritture intermedie in X da parte di un altro processore) restituisce sempre il valore scritto da P 2. Vista coerente della memoria: una lettura della locazione X da parte di un processore che segue una scrittura di X da parte di un altro processore restituisce il valore scritto se lettura e scrittura sono separate da un tempo sufficiente e se non si verificano altre scritture in X tra le due operazioni 3. Serializzazione delle scritture: le operazioni di scrittura di una stessa locazione X sono serializzate, ovvero due scritture della locazione X da parte di una qualsiasi coppia di processori sono viste da tutti i processori nello stesso ordine SD - Valeria Cardellini, A.A. 2009/10 18 Schemi per mantenere la coerenza Schemi per mantenere la coerenza Gli schemi per garantire la coerenza della cache sono dette protocolli di coerenza della cache Attenzione: sono soluzioni implementate in hardware! Riconoscimento dinamico (a tempo di esecuzione) delle potenziali condizioni di incoerenza Alternativa ai protocolli di coerenza: soluzioni software (richiedono l intervento del compilatore e del sistema operativo) Due classi di protocolli di coerenza della cache: Protocolli di directory Directory che contiene informazioni sullo stato di condivisione dei blocchi di memoria presenti nelle cache locali Controllore responsabile della coerenza delle cache Protocolli di snooping Ogni cache che possiede una copia del blocco memorizza anche una copia dello stato di condivisione del blocco La responsabilità della coerenza della cache è distribuita tra i controllori di cache SD - Valeria Cardellini, A.A. 2009/10 19

11 Protocolli di snooping E la classe di protocolli più semplice per garantire la coerenza della cache Ogni cache che ha una propria copia dei dati contenuti in un blocco di memoria fisica ha anche una copia dello stato di condivisione del blocco Tutte le cache sono collegate alla memoria tramite un mezzo di comunicazione che consente il broadcast Un bus o uno switch Tutti i controllori delle cache monitorano o sbirciano (snoop) il mezzo di comunicazione, per verificare se hanno una copia del blocco di cache che viene richiesto mediante l accesso al bus o allo switch P 1 Bus snoop P n $ $ I/O devices SD - Valeria Cardellini, A.A. 2009/10 20 Mem Cache-memory transaction Protocolli di snooping (2) In seguito alla scrittura di un dato condiviso occorre scegliere se adottare una strategia di: Invalidazione oppure aggiornamento delle copie di un dato condiviso Invalidazione (write-invalidate protocol) Tutte le copie del dato presenti nelle altre cache sono rese non più valide Aggiornamento (write-update protocol) Tutte le copie del dato presenti nelle altre cache sono aggiornate I protocolli di snooping write-update consumano più banda per l aggiornamento: tutti i multiprocessori recenti usano protocolli di tipo write-invalidate SD - Valeria Cardellini, A.A. 2009/10 21

12 Esempio Esempio di protocollo di snooping con write-invalidate e cache di tipo write-back Scrittura seguita dalla lettura da parte di un altro processore Attività CPU Attività bus Cache CPU A Cache CPU B Contenuto della locazione X in mem 0 CPU A legge X Cache miss per X 0 0 CPU B legge X Cache miss per X CPU A scrive 1 in X Invalidazione di X 1 0 t CPU B legge X Cache miss per X SD - Valeria Cardellini, A.A. 2009/10 22 Tecniche basilari di realizzazione Per realizzare un protocollo di snooping writeinvalidate occorre risolvere due problemi 1. Come invalidare tutte le copie esistenti di un blocco di cache in cui si scrive? 2. Come individuare la copia aggiornata di un dato ogni volta che c è un fallimento nell accesso alla cache? SD - Valeria Cardellini, A.A. 2009/10 23

13 Invalidare le copie di un blocco Tutti i protocolli di coerenza hanno bisogno di un metodo che renda seriali gli accessi ad uno stesso blocco di cache Il bus singolo è il fattore chiave per realizzare un protocollo di snooping di tipo write-invalidate Il bus forza la serializzazione degli accessi in lettura e scrittura e quindi garantisce la serializzazione delle scritture In caso di scritture contemporanee di blocchi diversi: il primo processore che acquisisce il bus invalida le altre copie del blocco che sta scrivendo In caso di scritture contemporanee dello stesso blocco: il primo processore che acquisisce il bus invalida le altre copie del blocco SD - Valeria Cardellini, A.A. 2009/10 24 Individuare la copia aggiornata di un dato Strategia di scrittura write-through: si ottiene il dato aggiornato dalla memoria Più semplice ma necessita di banda di memoria sufficiente Strategia di scrittura write-back: la copia più recente del dato può essere in una cache anziché in memoria Più difficile Le due strategie possono usare lo stesso meccanismo di snooping 1. Controllare ogni indirizzo in transito sul bus 2. Se un processore possiede una copia dirty del blocco di cache richiesto, lo fornisce in risposta ad una richiesta di lettura ed interrompe l accesso in memoria E più complicato (e può essere anche più lento) ottenere il blocco da una cache anziché dalla memoria Write-back richiede meno banda di memoria Quindi supporta un maggior numero di processori E la strategia usata dalla maggior parte dei multiprocessori SD - Valeria Cardellini, A.A. 2009/10 25

14 Stato dei blocchi di cache Per implementare un protocollo di snooping writeinvalidate Si usano i bit di gestione dello stato già presenti per ogni blocco di cache (valid, dirty) Si usa il valid bit per l invalidazione Per ogni blocco si aggiunge un bit di gestione che segnala la condivisione del blocco (shared) In caso di scrittura di un blocco condiviso, il controllore della cache genera un invalidazione sul bus e marca il blocco come modificato (o esclusivo, a seconda del protocollo di snooping specifico) SD - Valeria Cardellini, A.A. 2009/10 26 Esempio di protocollo di snooping Analizziamo un esempio di protocollo di snooping con write-invalidate e strategia di scrittura di tipo write-back Protocollo di snooping implementato mediante un controllore a stati finiti (FSM) per ogni blocco di cache, che risponde a richieste provenienti dal processore e dal bus modificando lo stato del blocco di cache Tre stati possibili per ogni blocco di cache: shared (solo lettura): blocco pulito, condiviso (presente in almeno una cache) ed aggiornato con la memoria exclusive (lettura/scrittura): blocco dirty in esattamente una cache e non può essere condiviso Il fatto che lo stato sia modificato implica che il blocco sia esclusivo invalid: blocco contenente dati non validi Il protocollo analizzato assume che le operazioni siano atomiche SD - Valeria Cardellini, A.A. 2009/10 27

15 FSM per CPU FSM per le richieste del processore per ogni blocco di cache Invalid CPU read Place read miss on bus CPU read hit Shared (read only) CPU write Place write miss on bus CPU read hit CPU write hit Exclusive (read/write) CPU write Place write miss on bus CPU write miss (?) Write back cache block Place write miss on bus SD - Valeria Cardellini, A.A. 2009/10 28 FSM per operazioni sul bus FSM per le richieste sul bus per ogni blocco di cache Invalid Write miss for this block Shared (read only) Write miss for this block Write back block; (abort memory access) Exclusive (read/write) Read miss for this block Write back block; (abort memory access) SD - Valeria Cardellini, A.A. 2009/10 29

16 FSM per CPU - sostituzione del blocco FSM per le richieste del processore per ogni blocco di cache CPU write Place Write Miss on bus Invalid CPU read Place read miss on bus CPU read miss Write back block, place read miss on bus CPU read hit Shared (read only) CPU read miss Place read miss on bus Cache Block State CPU read hit CPU write hit Exclusive (read/write) CPU write Place write miss on bus CPU write miss Write back cache block Place write miss on bus SD - Valeria Cardellini, A.A. 2009/10 30 FSM per le richieste del processore per ogni blocco di cache e per le richieste sul bus per ogni blocco di cache Write miss for this block Write back block; (abort memory access) CPU read hit CPU write hit FSM completo Invalid CPU read Place read miss CPU write on bus Place write miss on bus Exclusive (read/write) Write miss for this block CPU read miss Write back block, place read miss on bus CPU read hit Shared (read only) CPU read miss Place read miss on bus CPU write Place write miss on bus Read miss for this block Write back block; (abort memory access) CPU write miss Write back cache block Place write miss on bus SD - Valeria Cardellini, A.A. 2009/10 31

17 Esempio P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 P1: P1: Read Read A1 A1 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache, e che lo stato iniziale della cache sia invalid SD - Valeria Cardellini, A.A. 2009/10 32 Esempio (2) P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: P1: Read Read A1 A1 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache SD - Valeria Cardellini, A.A. 2009/10 33

18 Esempio (3) P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: P1: Read Read A1 A1 Excl. A1 10 P2: Read A1 P2: Write 20 to A1 P2: Write 40 to A2 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache SD - Valeria Cardellini, A.A. 2009/10 34 Esempio (4) P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: P1: Read Read A1 A1 Excl. A1 10 P2: Read A1 Shar. A1 RdMs P2 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A1 10 A1 10 P2: Write 20 to A1 P2: Write 40 to A2 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache SD - Valeria Cardellini, A.A. 2009/10 35

19 Esempio (5) P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: P1: Read Read A1 A1 Excl. A1 10 P2: Read A1 Shar. A1 RdMs P2 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A1 10 A1 10 P2: Write 20 to A1 Inv. Excl. A1 20 WrMs P2 A1 A1 10 P2: Write 40 to A2 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache SD - Valeria Cardellini, A.A. 2009/10 36 Esempio (6) P1 P2 Bus Memory step State Addr Value State Addr Value Action Proc. Addr Value Addr Value P1: Write 10 to A1 Excl. A1 10 WrMs P1 A1 P1: P1: Read Read A1 A1 Excl. A1 10 P2: Read A1 Shar. A1 RdMs P2 A1 Shar. A1 10 WrBk P1 A1 10 A1 10 Shar. A1 10 RdDa P2 A1 10 A1 10 P2: Write 20 to A1 Inv. Excl. A1 20 WrMs P2 A1 A1 10 P2: Write 40 to A2 WrMs P2 A2 A1 10 Excl. A2 40 WrBk P2 A1 20 A1 20 Assumiamo che A1 e A2 mappino sullo stesso blocco di cache, ma A1 A2 SD - Valeria Cardellini, A.A. 2009/10 37

20 Altri protocolli di snooping Il protocollo di snooping esaminato è a 3 stati ed è anche chiamato MSI (Modified Shared Invalid) Esistono varianti che estendono il protocollo esaminato ed hanno 4 o 5 stati del blocco di cache Obiettivo: ridurre il traffico sul mezzo di comunicazione condiviso MESI (Modified Exclusive Shared Invalid) Lo stato exclusive indica che il blocco di cache è presente solo in una cache ma è pulito ed aggiornato con la memoria Lo stato modified è analogo allo stato esclusivo del protocollo da noi analizzato MOSI (Modified Owned Shared Invalid) Aggiunto lo stato owned per assegnare al processore proprietario del blocco la responsabilità di aggiornamento nei confronti degli altri processori e della memoria MOESI (Modified Owned Exclusive Shared Invalid) SD - Valeria Cardellini, A.A. 2009/10 38 Coerenza basata su snooping Un protocollo di coerenza basato su snooping ha bisogno di: comunicare (tramite broadcast) con tutte le cache in occasione di ogni fallimento, compresi i casi di scrittura di dati potenzialmente condivisi L assenza di una struttura centralizzata che tenga traccia dello stato della cache E il vantaggio dei protocolli basati su snooping: poco costosi Ma il loro limite: scalabilità Analizziamo l alternativa per avere una coerenza scalabile: coerenza basata su directory Consideriamo l implementazione su un architettura NUMA SD - Valeria Cardellini, A.A. 2009/10 39

21 Architetture NUMA Come nelle architetture UMA, la comunicazione avviene ancora mediante uno spazio di indirizzamento condiviso Memorie fisicamente separate ma indirizzate come un unico spazio condiviso Qualunque processore può accedere a qualunque locazione di memoria, ma con tempi di accesso non uniformi Anche detti multiprocessori a memoria condivisa distribuita (Distributed Shared Memory o DSM) SD - Valeria Cardellini, A.A. 2009/10 40 Architetture NUMA (2) Per implementare la coerenza della cache, ogni nodo ha anche una directory Ogni directory tiene traccia di quali cache condividono gli indirizzi di memoria relativi alla porzione di memoria contenuta nel nodo SD - Valeria Cardellini, A.A. 2009/10 41

22 Le basi di un protocollo di directory Due operazioni fondamentali Gestire il fallimento di un accesso in lettura Gestire la scrittura di un blocco pulito di cache e condiviso (la gestione del fallimento in scrittura di un blocco condiviso è combinazione delle altre due operazioni) Tre stati possibili per ogni blocco di cache: shared (solo lettura): blocco pulito, condiviso (presente in almeno una cache) ed aggiornato con la memoria exclusive (lettura/scrittura): blocco dirty in esattamente una cache e non può essere condiviso invalid: blocco contenente dati non validi SD - Valeria Cardellini, A.A. 2009/10 42 Le basi di un protocollo di directory (2) Occorre tenere traccia di: Lo stato di ciascun blocco di memoria potenzialmente condiviso Quali sono i processori che ne posseggono una copia, per poter invalidare tutte le copie in caso di scrittura del blocco Per ciascun blocco di memoria si usa un vettore di bit: in caso di blocco condiviso, il bit indica se il processore corrispondente alla posizione del bit possiede o meno una copia del blocco Distinguiamo i processori in: Nodo locale: dove ha origine la richiesta Nodo home (di residenza): dove ha origine la locazione di memoria Nodo remoto: ha una copia del blocco (condivisa o modificata) Analizziamo i possibili messaggi scambiati tra i nodi per mantenere la coerenza P = numero del processore richiedente A = indirizzo richiesto D = contenuto del dato SD - Valeria Cardellini, A.A. 2009/10 43

23 Messaggi del protocollo di directory Message type Source Destination Msg Content Read miss Local cache Home directory P, A Processor P reads data at address A; make P a read sharer and request data Write miss Local cache Home directory P, A Processor P has a write miss at address A; make P the exclusive owner and request data Invalidate Home directory Remote caches A Invalidate a shared copy at address A Fetch Home directory Remote cache A Fetch the block at address A and send it to its home directory; change the state of A in the remote cache to shared Fetch/Invalidate Home directory Remote cache A Fetch the block at address A and send it to its home directory; invalidate the block in the cache Data value reply Home directory Local cache Data Return a data value from the home memory (read miss response) Data write back Remote cache Home directory A, Data Write back a data value for address A (invalidate response) SD - Valeria Cardellini, A.A. 2009/10 44 Diagramma delle transizioni di stato per un blocco di cache in sistema basato su directory Stati identici al caso con snooping; transizioni di stato molto simili al caso con snooping Transizioni causate da miss in lettura, miss in scrittura, invalidazioni, richieste di reperimento dati Generati messaggi di miss in lettura e miss in scrittura verso la home directory Miss in scrittura che erano inviati in broadcast sul bus nel caso di snooping => richieste di invalidazione esplicita e richieste di reperimento di dato nel caso di directory SD - Valeria Cardellini, A.A. 2009/10 45

24 FSM per ogni blocco di cache CPU Read hit FSM per richieste del processore per ogni blocco di memoria Stato invalid se in memoria Fetch/Invalidate Send data write back message to home directory CPU read hit CPU write hit Invalid Exclusive (read/write) Invalidate CPU Read Send read miss message CPU Write: Send write miss msg to home d. Shared (read/only) CPU read miss: Send read miss CPU Write: Send write miss message to home directory Fetch: Send data write back message to home directory CPU read miss: send data write back message and read miss to home directory CPU write miss: send data write back message and write miss to home directory SD - Valeria Cardellini, A.A. 2009/10 46 Diagramma delle transizioni di stato della directory Stessi stati e struttura del diagramma delle transizioni di un singolo blocco di cache Due tipi di azioni alla ricezione di un messaggio: aggiornamento dello stato della directory e invio di ulteriori messaggi per soddisfare la richiesta Tiene traccia dello stato di ciascun blocco in memoria Deve memorizzare anche l insieme dei processori che possiedono una copia del blocco: sharers SD - Valeria Cardellini, A.A. 2009/10 47

25 FSM per richieste della directory per ogni blocco di memoria Stato uncached se in memoria Data Write Back: Sharers = {} (Write back block) Write Miss: Sharers = {P}; send Fetch/Invalidate; send Data Value Reply msg to remote cache FSM per directory Uncached Exclusive (read/write) Read miss: Sharers = {P} send Data Value Reply Write Miss: Sharers = {P}; send Data Value Reply msg Shared (read only) Write Miss: send Invalidate to Sharers; then Sharers = {P}; send Data Value Reply msg Read miss: Sharers += {P}; send Fetch; send Data Value Reply msg to remote cache (Write back block) Read miss: Sharers += {P}; send Data Value Reply SD - Valeria Cardellini, A.A. 2009/10 48 Riferimenti per multiprocessori Capitolo 4 di Hennessy & Patterson, Computer Architecture: A Quantitative Approach, 4th edition Capitolo 8 di Tanenbaum, Structured Computer Organization, 5th edition Di entrambi i testi esiste la traduzione in italiano SD - Valeria Cardellini, A.A. 2009/10 49

Architetture della memoria

Architetture della memoria Architetture della memoria Un elemento determinante per disegnare una applicazione parallela e' l architettura della memoria della macchina che abbiamo a disposizione. Rispetto all architettura della memoria

Dettagli

Classificazione delle Architetture Parallele

Classificazione delle Architetture Parallele Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele

Dettagli

Sistemi a processori multipli

Sistemi a processori multipli Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni

Dettagli

La gerarchia di memorie (2)

La gerarchia di memorie (2) La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit

Dettagli

Multiprocessori a memoria condivisa. Multiprocessori a memoria condivisa

Multiprocessori a memoria condivisa. Multiprocessori a memoria condivisa Multiprocessori a memoria condivisa Introduzione Sistemi UMA Coerenza della cache Sistemi NUMA Sincronizzazione fra processi Modelli di consistenza della memoria Sistemi COMA 1 Multiprocessori a memoria

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

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

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

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

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Evoluzione dei sistemi informatici Cos è una rete? Insieme di

Dettagli

Sistemi Distribuiti Anno accademico 2009/10

Sistemi Distribuiti Anno accademico 2009/10 Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Sistemi Distribuiti Anno accademico 2009/10 Valeria Cardellini E-mail: cardellini@ing.uniroma2.it Tel: 06 72597388 Laurea Magistrale in

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

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

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Cache: 1 livello della gerarchia di memoria

Cache: 1 livello della gerarchia di memoria Cache: 1 livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale (DRAM) Memoria secondaria (Disco) 4 decisioni da prendere

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

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

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica CPU,, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Ripassiamo: Struttura di un Computer CPU Regola il funzionamento del computer E' in grado di eseguire

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

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

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

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

Parte VIII. Architetture Parallele

Parte VIII. Architetture Parallele Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni

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

Reti a Commutazione. Commutazione di Circuito. Esempio di Rete a Commutazione. Elementi di una Rete a Commutazione

Reti a Commutazione. Commutazione di Circuito. Esempio di Rete a Commutazione. Elementi di una Rete a Commutazione I semestre 03/04 Reti a Commutazione Commutazione di Circuito Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

Topologie delle reti di telecomunicazione

Topologie delle reti di telecomunicazione Topologie delle reti di telecomunicazione Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Rete di telecomunicazione Definizione: un insieme

Dettagli

ISO- OSI e architetture Client-Server

ISO- OSI e architetture Client-Server LEZIONE 9 ISO- OSI e architetture Client-Server Proff. Giorgio Valle Raffaella Folgieri giorgio.valle@unimi.it folgieri@dico.unimi.it Lez 10 modello ISO-OSI e architettura client-server 1 Nelle scorse

Dettagli

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi

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

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Lezione 2 Chiamate di procedura e risposta alle interruzioni Modulo 1 U.D. 1 Lez. 2 Lezione 2 Chiamate di procedura e risposta alle interruzioni Sistemi Operativi I Modulo 1 - Architettura del Calcolatore Unità didattica 1 - Architettura e funzionamento dei sistemi

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

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

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

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

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

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci

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

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Architettura degli elaboratori Tema d esame del 20/01/2016

Architettura degli elaboratori Tema d esame del 20/01/2016 Architettura degli elaboratori - Luigi Lavazza A.A. 5/6 Università degli Studi dell Insubria Dipartimento di Informatica e Comunicazione Architettura degli elaboratori Tema d esame del //6 Luigi Lavazza

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del

Dettagli

Il Modello a scambio di messaggi

Il Modello a scambio di messaggi Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria

Dettagli

Il processore Pentium

Il processore Pentium Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in

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

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

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

Gestione della memoria

Gestione della memoria Gestione della memoria centrale Gestione della memoria Concetti generali. Swapping. Allocazione contigua di memoria. Paginazione. Segmentazione. Segmentazione con paginazione. Esempio: Pentium Intel Background

Dettagli

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer? Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare

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 distribuiti e reti di calcolatori

Sistemi distribuiti e reti di calcolatori Sistemi distribuiti e reti di calcolatori 1 Indice Modulazione e trasmissione dei dati Reti di calcolatori Topologia Messaggi e protocolli ISO/OSI Ethernet Architettura client/server Telefonia mobile 2

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Collegamento dati per accesso ad Internet. Informatica Generale (CdL in E&C), A.A Informatica Generale (CdL in E&C), A.A.

Collegamento dati per accesso ad Internet. Informatica Generale (CdL in E&C), A.A Informatica Generale (CdL in E&C), A.A. Collegamento dati per accesso ad Internet Sono in uso due protocolli (supportati da Windows e da tutti i S.O. più diffusi) SLIP (Serial Line IP) è il più vecchio ed ha molti inconvenienti PPP (Point to

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori III parte Dispositivi

Dettagli

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

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Modelli Funzionali

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Modelli Funzionali Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Modelli Funzionali 2 Il servizio di comunicazione o Date due o più entità remote o Possiamo descrivere il servizio di comunicazione

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

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

Dettagli

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 SRM: Un Sistema Tollerante ai Guasti per la Gestione di Risorse Condivise in Una Rete

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Architettura dei calcolatori e Software di sistema

Architettura dei calcolatori e Software di sistema Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103

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

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

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

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 1 Martedì 11-10-2016 1 Introduzione Un sistema operativo è un software

Dettagli

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

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete I semestre 02/03 Modelli di Riferimento: TCP/IP e OSI Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Architettura di rete architettura di rete insieme delle specifiche funzionali

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?

Dettagli

Sistemi operativi e distribuiti

Sistemi operativi e distribuiti Sistemi operativi e distribuiti La memoria Indirizzi fisici e indirizzi logici Importante separazione di concetti Ci permette di separare la parte software da la parte hardware Indirizzo logico (o virtuale):

Dettagli

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento

Dettagli

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Calcolatori Elettronici Parte VIII: linguaggi assemblativi Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

Dettagli

Gerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali

Gerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali Gerarchia di Memoria e Memorie Cache Memoria virtuale: comodità + sicurezza ma rallenta R / nw Qui : modi di aumentare velocità di R / nw Osservazione: dati e codice non tutti uguali alcuni si usano poco

Dettagli

Commutazione di pacchetto

Commutazione di pacchetto Commutazione di pacchetto Tecniche di commutazione Le principali sono: Commutazione di circuito Rete telefonica Commutazione di pacchetto Servizio datagram Servizio orientato alla connessione Esempi di

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

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

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect) Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare

Dettagli

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte LE RETI DI COMPUTER Il modello ISO/OSI Prima parte I MODELLI PER LE RETI All i izio dell era i for ati a, la gestio e delle comunicazioni tra sistemi si era rilevata uno dei problemi più grandi, soprattutto

Dettagli

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità

06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità Sistema di Memoria Caratteristiche desiderabili Ampia capacità Velocità Economicità 1 Memoria Cache L'idea alla base della memoria cache nasce dalla semplice osservazione che la memoria centrale (dove

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di

Dettagli

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione Valutazione delle prestazioni Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di

Dettagli

Lo strato di applicazione in Internet

Lo strato di applicazione in Internet Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,

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

Informatica giuridica

Informatica giuridica Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale

Dettagli

Sistemi a Microprocessore

Sistemi a Microprocessore Corso di Laurea Ingegneria dell Informazione Sistemi a Microprocessore Sistemi multicore A.A. 2007-2008 Prof. Ing. Ivan Bruno Sistemi a Microprocessore La Pipeline 1 La pipeline Il concetto di pipeline

Dettagli

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A. < < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte

Dettagli

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. Dispensina per gli studenti di Ingegneria Gestionale. A.A.

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

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione Introduzione Introduzione La comunicazione tra due o più utenti avviene tramite un canale detto canale di

Dettagli

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

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli