Architetture SIMD. (Architetture e Principi di Programmazione) Modello Architettura SIMD. Control Unit. Proc 1 Proc 2 Proc n-1. Mem. 1 Mem. 2 Mem.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architetture SIMD. (Architetture e Principi di Programmazione) Modello Architettura SIMD. Control Unit. Proc 1 Proc 2 Proc n-1. Mem. 1 Mem. 2 Mem."

Transcript

1 rchitetture SIMD (rchitetture e Principi di Programmazione) Modello rchitettura SIMD ontrol Unit PE PE 1 PE PE n-1 Proc Mem. Proc 1 Proc Proc n-1 Mem. 1 Mem. Mem. n-1 Rete di Interconnessione PE = Processing Element Michele olajanni rchitetture SIMD /7

2 rchitetture SIMD Nella categoria delle macchine SIMD rientrano o possono rientrare: 1. Supercomputer vettoriali (i registri vettoriali mediante cui è possibile effettuare computazioni algebriche elementari in un unico ciclo macchina assomigliano ai PE di un architettura SIMD). Sistemi a parallelismo massiccio, costituiti da molti (ma semplici) processori quali: TM onnection Machine (6.6 processori) MD DP (.96 processori) MarsPar MP-1 (16.8 processori). Macchine SIMD special-purpose: IM GF-11 (11 Gflops peak) INFN PE-1 (6 Gflops peak, nel 1991) QUDRIS Michele olajanni rchitetture SIMD /7 Modello SIMD ovvero data-parallel sincrono (1) La Programmazione SIMD richiede come primo passo una distribuzione del dominio dei dati tra tutti i nodi di elaborazione Si ha una granularità fine (fine grain) o finissima della distribuzione dei dati in quanto il numero delle unità di elaborazione è, in genere, elevato e ciascun nodo è molto semplice Per far sì che la programmazione SIMD sia efficiente, la distribuzione del dominio dei dati va effettuata in modo tale che la struttura del problema (pattern prevalente di comunicazione) sia mappata sulla rete di interconnessione fisica in modo (possibilmente) 1:1 Ogni deviazione dal mapping 1:1 comporta considerevoli perdite di tempo nello scambio dei dati (effettuato con step multipli o passando attraverso l unità di controllo, molto più lenta) Michele olajanni rchitetture SIMD /7

3 Mapping su reti di interconnessione Le topologie di interconnessione delle architetture SIMD sono regolari (griglie, torus, ipercubi, mesh multidimensionali) o, nel caso di sistemi dedicati, vengono create in base alla struttura stessa del problema Mapping Dominio dei dati Rete di Interconnessione toroidale Michele olajanni rchitetture SIMD /7 Modello SIMD ovvero data-parallel sincrono () La programmazione parallela risulta semplificata per il fatto che vi è un solo flusso di controllo e non vi sono processi indipendenti che vengono eseguiti in modo asincrono. Tutte le operazioni vengono effettuate in modalità LOK-STEP (pertanto, non vi è bisogno di meccanismi di sincronizzazione espliciti e soggetti a rischio di errore, quali monitor, semafori, ecc.) Vi è scambio di dati tra i processori, ma: di tipo collettivo e non solo tra coppie di nodi è realizzato in modo molto efficiente (in un tempo di ordini di grandezza inferiore rispetto a comunicazioni in MIMD) Processori differenti nonpossono eseguire istruzioni differenti nello stesso ciclo di clock Michele olajanni rchitetture SIMD 6/7

4 pproccio di parallelismo SIMD (sintesi) Su architetture SIMD il parallelismo viene esplicitato: mediante data parallelism: si consente ad elementi di elaborazione multipli di eseguire simultaneamente la stessa istruzione su insiemi differenti di dati (vi è un solo programma le cui istruzioni sono eseguite sequenzialmente, ma con parallelismo sui dati) in modalità sincrona in quanto vi è una sola U deadlock free Si tende al mapping tra la struttura logica del problema e la topologia della macchina Le macchine SIMD possono essere molto efficienti quando eseguono elaborazioni regolari su grandi insiemi di dati (es., alcune applicazioni numeriche, elaborazioni delle immagini) Michele olajanni rchitetture SIMD 7/7 Problemi di efficienza del parallelismo SIMD 1. ostrutti condizionali. Necessità di processori virtuali. Mapping non 1:1 del dominio dei dati problemi nelle comunicazioni Michele olajanni rchitetture SIMD 8/7

5 ostrutti condizionali Nelle istruzioni condizionali, il codice per ogni condizione deve essere eseguito sequenzialmente Valori iniziali If (==) =; else =/; Processor Processor 1 Processor Processor 6 Step 1 Processor Processor 1 idle Processor idle Processor 6 Processor idle Processor 1 Processor Processor idle Step 6 Michele olajanni rchitetture SIMD 9/7 Processori virtuali L elementarietà dei processori SIMD fa si ciascuno di essi esegua operazioni molto semplici ad ogni ciclo di clock. Potrebbero anche non essere sufficienti i 6.6 processori della M-. Esempio: gestire immagini con x pixel =. processori PROESSORI VIRTULI Programma richiede: processori virtuali Hardware dispone di: 1 processori fisici iterazioni per ogni istruzione Numero virtuale Numero fisico inattivi durante la terza iterazione Michele olajanni rchitetture SIMD 1/7

6 Tasso di virtualizzazione R = v p rescita del tempo di esecuzione e del load (Programma ipotetico: solo istruzioni vettoriali senza PE inattive) t t t _ Run time 1 virtualization ratio Numero processori virtuali Numero processori fisici??/ PE load (N o medio P attivi) _ 1 virtualization ratio La virtualizzazione deve essere trasparente per il programmatore. Può essere realizzata: In hardware (M-) In software (MasPar MP-) omunicazioni molto complesse (uso di buffer) Michele olajanni rchitetture SIMD 11/7 omunicazioni nelle rchitetture SIMD

7 omunicazioni in Sistemi SIMD Le OMUNIZIONI che rispettano la topologia fisica non creano conflitti e sono poco costose (simili ad operazioni register-to-register) nche le comunicazioni vengono eseguite in modalità LOK-STEP Le comunicazioni non sono nodo-nodo, ma avvengono con uno scambio di dati (generalmente di dimensioni limitate) tra tutte le unità di elaborazione o tra un sottoinsieme di queste Le comunicazioni avvengono tra nodi vicini e quindi il costo è dell ordine di un istruzione aritmetico/logica. nche nei sistemi con comunicazioni più complesse, il loro costo è di diversi ordini di grandezza inferiore a quello che si ha nei sistemi MIMD. Michele olajanni rchitetture SIMD 1/7 Scambio di dati E una funzione collettiva eseguita in parallelo Ogni PE trasmette il valore della sua variabile locale x al suo vicino a destra nella griglia: [,1] [,1] [1,1] [,] [,] [1,] [,] [,] [1,] [,] [,] [1,] Dal momento che i sistemi SIMD mettono a disposizione delle strutture di interconnessione molto veloci, le comunicazioni regolari sono mappate facilmente sulla connessione fisica e sono realizzate in modo molto efficiente. Ogni deviazione dalla regolarità causa considerevoli perdite di tempo, in quanto lo scambio dei dati deve avvenire: o attraverso passi multipli o (se disponibile) attraverso la più lenta struttura di interconnessione universale Michele olajanni rchitetture SIMD 1/7

8 Passi per lo Scambio dei Dati [] Definizione di una struttura di connessione (logica) ONFIGURTION ring [..11]; [1] TTIVZIONE Selezione di un gruppo di PE PRLLEL ring [..8];.. END PRLLEL [] Scelta di una direzione nella struttura di connessione pre cedentemente definita PROPGTE.right(x); [] ESEUZIONE Trasferimento dei dati (a coppie) tra tutte le PE selezionate send receive Michele olajanni rchitetture SIMD 1/7 Mapping (1) Le comunicazioni sono efficienti SOLO SE rispettano la regolarità della topologia di interconnessione fisica. grid[,1] grid[,] Esempio: RING grid[1,1] grid[1,] 1 GRID casi: (i, j) (i, j+1) (i, j) (i+1, j) (,) (1, 1) Michele olajanni rchitetture SIMD 16/7

9 Mapping () Per mapping complessi, non strutturati, o spesso nel caso dei processori virtuali, non conviene utilizzare il meccanismo precedente ma passare dal ROUTER UNIVERSLE. PE1 PE PE PE PE PE6 PE7 PE8 PE1 PE PE PE PE PE6 PE7 PE8 La struttura di connessione globale è semplice da utilizzare, ma molto inefficiente Michele olajanni rchitetture SIMD 17/7 Rete di interconnessione (M-) [,,,,,,,,,1,1,1] GLOLE [,,,,,,,,,1,,1] [,,,,,,,,1,1,1,1] [,,,,,,,,1,,1,1] [,,,,,,,,,,1,] [,,,,,,,,,,1,1] [,,,,,,,,,,,] [,,,,,,,,,,,1] 1 1 Router(hypercube + NEWS) LOLE PE1 PE PE PE PE PE6 PE7 PE8 PE 9 PE1 PE11 PE1 PE1 PE1 PE1 PE16 Michele olajanni rchitetture SIMD 18/7

10 Rete di Interconnessione (MasPar MP-) LOLE 1, luster whith 16 Pes each (16,8 PEs total) Multiplexer Demultiplexer GLOLE 1 1 1, 1, -stage los-network Michele olajanni rchitetture SIMD 19/7 aratteristiche comuni delle architetture SIMD I sistemi hanno almeno un mesh o un torus bidimensionale come rete di interconnessione Tutti i sistemi usano una versione parallela di Fortran (anche se non compatibile tra loro ) E stata resa disponibile una versione standard di Fortran 9 che semplifica la parallelizzazione automatica (o meglio esplicita i costrutti parallelizzabili) Michele olajanni rchitetture SIMD /7

11 SIMD vs. MIMD 1. SIMD richiede meno hardware dei MIMD perché vi è una sola U e molti PE. D altro canto, nei MIMD è possibile utilizzare processori general-purpose e quindi per le leggi dell economia di scala i processori MIMD potrebbero essere allo stesso tempo più potenti e più economici dei PE delle architetture SIMD.. SIMD richiede meno memoria dei MIMD perché si deve memorizzare una sola copia del programma. MIMD memorizza il programma ed il sistema operativo in ogni nodo. SIMD è naturalmente predisposta ad una programmazione data-parallel. In particolare, con frequenti sincronizzazioni (fine grain). SIMD richiede un tempo di STRTUP inferiore nelle comunicazioni con i vicini perché (essendovi un clock globale) la comunicazione è paragonabile ad un trasferimento register-to-register Michele olajanni rchitetture SIMD 1/7 Linguaggi di Programmazione SIMD

12 Vector Reduction Una delle operazioni fondamentali nelle tipiche applicazioni per macchine SIMD. dove: Un vettore è ridotto ad uno scalare: S := REDUE.xxx (vector) xxx = SUM, MULT, M, MIN, ND, Tutte le macchine SIMD mettono a disposizione dell hardware o del software specializzato per eseguire in modo efficiente questa operazione. Tree-Shaped Paralllel Processing Sequential Processing log n steps (n-1) steps Michele olajanni rchitetture SIMD /7 Fortran 9 Sviluppato da: NSI ommittee j [ ] Successo del Fortran 77 Sviluppato per superare tutti i dialetti dei Fortran paralleli (MFortran, MPFortran, Fortran-Plus, ecc.) datti sia ad architetture sequenziali che parallele ttenzione!!! iò non significa che un dusty program scritto in Fortran Possa essere eseguito efficientemente in parallelo dopo semplice ricompilazione Michele olajanni rchitetture SIMD /7

13 ostrutti paralleli Operazioni matriciali come singole istruzioni: INTEGER, DIMENSION(1, ) ::,, = + Non tutti i PE devono prender parte alle operazioni: WHERE (V.LT. ) V = 7 Diverse operazioni di riduzione sono disponibili: LL, NY, MVL, MINVL, PRODUT, SUM ltre funzioni standard disponibili: DOTPRODUT (vector_a, vector_b) = INTEGER D_PROD INTEGER, DIMENSION(1) ::,,, = * D_PROD = SUM() MMUL (matrix_a, matrix_b) Programmare in Fortran 9 consente un uso ristretto del parallelismo: Le formule matematiche sono relativamente facili da convertire lgoritmi complessi possono, invece, creare problemi a causa dell insufficiente flessibilità dei costrutti del linguaggio. Michele olajanni rchitetture SIMD /7 Parallaxis Sviluppato da: Thomas räunl [1989]. asato sul Modula-, esteso con concetti paralleli portabile su tutti gli ambienti SIMD Public domain Programmare ad un livello di astrazione con PE virtuali e connessioni virtuali. PROGRMM = Descrizione lgoritmo + Dichiarazione onnessione (in forma funzionale) Michele olajanni rchitetture SIMD 6/7

14 ostrutti Paralleli di onnessione west north east Hypercube [,1,1,1] south ONFIGURTION grid [1..],[1..] ONFIGURTION north: grid[ i, j ] grid[ i+1, j].south; south: grid[ i, j ] grid[ i-1, j ].north; east : grid[ i, j ] grid[ i, j+1].west; west : grid[ i, j ] grid[ i, j-1 ].south; inary Tree 8 ONFIGURTION tree [1..1] ONNETION lchild: tree[i] tree[*i].parent; rchild: tree[i] tree[*i+1].parent; [,,,] [,,1,] [1,1,1,1] [,1,,1] [1,,1,1] [,,1,1] [,,,1] ONFIGURTION hyper [], [], [], []; ONNETION go(1) : hyper[i,j,k,l] hyper[(i+1)mod, j, k, 1).go(1); go() : hyper[i,j,k,l] hyper[i, (j+1)mod, k, 1).go(); go() : hyper[i,j,k,l] hyper[i, j, (k+1)mod, 1).go(); go() : hyper[i,j,k,l] hyper[i, j, k, (l+1)mod ).go(); Michele olajanni rchitetture SIMD 7/7 ostrutti paralleli di omunicazione PROPGTE PPROPGTE. east(x); PROPGTE può anche avere parametri: Espressioni vettoriali da inviare Variabili ricevute { Es.: PROPGTE.east(*y, x); SEND e REEIVE Example: SEND grid.east(*y) TO grid.west(x); REEIVE tree.parent(t) FROM grid.east(x); Utili soprattutto nel caso di topologie diverse. Evidentemente, ad ogni passo, solo una delle operazioni può essere attiva. Michele olajanni rchitetture SIMD 8/7

15 Dot Product Esempi ONFIGURTION list(max); ONNETION; (* none *) scalar d_prod: real; scalar x, y, prod: real;... PRLLEL prod := x*y d_prod := REDUE.SUM(prod); ENDPRLLEL; Laplace ONFIGURTION grid [1..1],[1..1]; ONNETION north: grid[ i, j ] grid[ i+1, j].south; south: grid[ i, j ] grid[ i-1, j ].north; east : grid[ i, j ] grid[ i, j+1].west; west : grid[ i, j ] grid[ i, j-1 ].south; VETOR pixel, n, s, w, e: INTEGER;... PRLLEL PROPGTE.north(pixel, s); PROPGTE.south(pixel, n); PROPGTE.west(pixel, e); PROPGTE.east(pixel, w); pixel := *pixel n - s - w e; ENDPRLLEL; Michele olajanni rchitetture SIMD 9/7 Problemi con la Programmazione SIMD Operazioni vettoriali indiciate d esempio, Gather e Scatter for i := 1 to n do a[i] := b[index[i]] end ccessi non regolari ai vettori for i := 1 to n do a[index[i]] := b[i] end Mapping di processi virtuali su processi fisici olli di bottiglia dovuti ad accessi alle periferiche omunicazioni non regolari Multi-utenza Tolleranza ai guasti Michele olajanni rchitetture SIMD /7

16 Integerazione numerica π = 1 _ l+x dx Interv. Σ i=1 _ width 1+((i-.)*width) * 1 SYSTEM compute _pi : (* parallel algorithm from R. abb *) ONST intervals = 1; width = 1. / float(intervals) ONFIGURTION list [1..intervals]; 6 ONNETION ( * none *) 7 8 VETOR val: real; 9 1 PROEDURE f (VETOR x: real):vetor real; 11 (* function to be integrated *) 1 EGIN 1 RETURN (. / (1. + *)) 1 END f; 1 16 EGIN 17 PRLLEL(* Integral approximation with rectangle rule*) 18 val := width* f( ( float(id_no)-.) * width ); 19 ENDPRLLEL writereal(redue.sum(val), 1); 1 END compute_pi.. 1 Michele olajanni rchitetture SIMD 1/7 Sorting (ODD-EVEN) (1) 1 SYSTEM sort; (* Odd-Even Transposition Sorting (parallel bubble-sort) *) ONST n = 1; ONFIGURTION list [1..n]; ONNETION left : list[i] -> list [i-1].right; 6 right: list[i] -> list [i+1].left; 7 8 SLR step: INTEGER; 9 a: RRY[1..n] OF INTEGER; 1 11 VETOR val,r,l,comp: INTEGER; 1 lhs: OOLEN; 1 1 EGIN 1 WriteString("Please enter values: '); 16 FOR step:=1 TO n DO ReadInt(a[step]) END; 17 LOD(val,a); PRLLEL lhs := ODD(id_no); (* PE is left-hand side of a comparison *) 1 FOR step:=1 TO n DO PROPGTE.right(val,l); PROPGTE.left(val,r); Michele olajanni rchitetture SIMD /7

17 Sorting (ODD-EVEN) () IF lhs THEN comp:=r ELSE comp:=l END; IF lhs = (comp<val) THEN val:=comp END; (* lhs&(comp<val) *) 6 lhs := NOT lhs; (* or rhs&(comp val) *) 7 END; 8 ENDPRLLEL; 9 STORE(val,a); 1 1 FOR step:=1 TO n DO WriteInt(a[step],1); WriteLn END; END sort.! Numbers distributed among the PEs 1 Steps 1. Odd 1. Even 1. Odd 1. Even 1. Odd 1 Michele olajanni rchitetture SIMD /7 Moltiplicazione matriciale (sistolica) 1 Input Matrix b nn := * b 11 Input Matrix a 11 a nn Processor Field and Solution Matrix Michele olajanni rchitetture SIMD /7

18 Moltiplicazione matriciale (sistolica) 1 SYSTEM systolic_array; (* alculate the matrix product c := a * b *) ONST max = 1; TYPE matrix = RRY [1..max], [1..max] OF REL; 6 ONFIGURTION grid [max], [max]; 7 ONNETION left: grid[i,j] -> grid[i,(j-l) MOD max].left*; 8 up : grid[i,j] -> grid[((i-l) MOD max,j].up; 9 pre : grid[i,j] -> grid[i,(j-i) MOD max].pre; 1 pre: grid[i,j] -> grid[(i-j) MOD max,j].pre; 11 1 SLR i,j : INTEGER; 1 a,b,c : matrix; PROEDURE matrix_muit(slr VR a,b,c : matrix); 17 (* c := a * b *) 18 SLR k: INTEGER; 19 VETOR ra,rb,rc : REL; EGIN 1 LOD (ra,a); LOD (rb,b); PRLLEL PROPGTE.pre (ra); PROPGTE.pre(rb); 6 rc := ra * rb; 7 FOR k := TO max DO 8 PROPGTE.left(ra); 9 PROPGTE.up(rb); rc := rc + ra * rb; 1 END; ENDPRLLEL; STORE(rc,c); END matrix_mult; 6 EGIN 7... (* read matrices a and b *) 8 matrix_mult(a,b,c); 9... (* write matrix c *) END systolic_array. Generazione di frattali (1) (Metodo DIVIDE-ND-ONQUER) Starting state PE rranged as a inary Tree fter 1st step fter nd step fter nth step Divide-and-conquer implemented with tree topology Iserire immagine Michele olajanni rchitetture SIMD 6/7

19 Generazione di frattali () 1 SYSTEM fractal; ONST maxlevel = 7; low_val =.; high_val = 1.; maxnode = **maxlevel - 1; 6 (* declaration of the tree structure *) 7 ONFIGURTION tree [1..maxnode]; 8 ONNETION child_l: tree[i] <-> tree[*i].parent; 9 child_r: tree[i] <-> tree[*i+l].parent; 1 SLR i : INTEGER; 11 delta : REL; 1 field : RRY [1..maxnode] OF REL; 1 VETOR x, low, high : REL; 1 1 PROEDURE Gauss(): VETOR REL; 16 (*generation of a random value vector with Gauss dist.*) END Gauss; 7 8 PROEDURE inorder(slr node: INTEGER); 9 (* output of the tree elementa inlinear sequence *) END inorder; 7 8 PROEDURE MidPoint(SLR delta:rel;slr level:integer); 9 EGIN (* select current tree level *) PRLLEL [**(level-1).. **level - 1] 1 x :=. * (low + high) + delta*gauss(); IF level < maxlevel THEN (* values for children*) SEND tree.child_l (low) TO tree.parent ( low) ; SEND tree.child_l (x) TO tree.parent(high); SEND tree.child_r (x) TO tree.parent( low) ; 6 SEND tree.child_r (high) TO tree.parent(high); 7 END; 8 ENDPRLLEL; 9 END MidPoint; 1 EGIN (* main program *) PRLLEL (* starting values *) low := low_val; high := high_val; x :=.; 6 ENDPRLLEL; 7 FOR i:=1 TO maxlevel DO 8 delta:=.**(float(i)/.); 9 MidPoint(delta,i); 6 END; 61 STORE(,field); 6

PARTE II PROGRAMMAZIONE PARALLELA

PARTE II PROGRAMMAZIONE PARALLELA PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di

Dettagli

MODELLO AD AMBIENTE GLOBALE

MODELLO AD AMBIENTE GLOBALE MODELLI DI INTERAZIONE TRA PROCESSI Modello ad ambiente globale ( global environment ) Modello a scambio di messaggi ( message passing ) MODELLO AD AMBIENTE GLOBALE Il sistema è visto come un insieme di

Dettagli

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori. IL MULTIPROCESSING Il problema: necessità di aumento della potenza di calcolo. La velocità di propagazione del segnale (20 cm/ns) impone limiti strutturali all incremento della velocità dei processori

Dettagli

ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni)

ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni) ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni) Michele Colajanni Università di Modena e Reggio Emilia E-mail: colajanni@unimo.it Perché le Architetture Multiprocessor?

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto Modello a scambio di messaggi type messaggio = record origine: ; destinazione: ; contenuto:

Dettagli

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013 Architetture Paride Dagna SuperComputing Applications and Innovation Department 18/02/2013 Introduzione Grazie alle moderne tecniche di programmazione e agli strumenti di sviluppo attualmente disponibili,

Dettagli

I metodi formali nel processo di sviluppo del software

I metodi formali nel processo di sviluppo del software I metodi formali nel processo di sviluppo del software I metodi formali consentono di creare una specifica più completa, uniforme e non ambigua di quelle prodotte usando i metodi convenzionali ed orientati

Dettagli

Gli ARRAY in FORTRAN 90

Gli ARRAY in FORTRAN 90 ELEMENTI DI PROGRAMMAZIONE Gli ARRAY in FORTRAN 90 Un ARRAY è un AGGREGATO di più DATI dello stesso TIPO (interi, reali, etc), ognuno univocamente individuato dal valore di uno oppure due.. e fino a sette

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Operazioni di Comunicazione di base. Cap.4

Operazioni di Comunicazione di base. Cap.4 Operazioni di Comunicazione di base Cap.4 1 Introduzione: operazioni di comunicazioni collettive Gli scambi collettivi coinvolgono diversi processori Sono usati massicciamente negli algoritmi paralleli

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Cos e` un Sistema Operativo? Cos è un sistema operativo? Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE Dati e Programmi ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40)(Burks, Goldstine, von Neumann) 2 HARDWARE

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica. Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Modellidi SistemiDistribuiti

Dettagli

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 SRCIZI MPI 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 xercise 1 Using MPI: 1. Hello world 2. Hello world, I am proc X of total Y (from 1 to total 4 tasks) 3. Do it in the queue program

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57 I Indice generale Prefazione viii 1 Il calcolatore: astrazioni e tecnologia 1 1.1 Introduzione 1 Tipi di calcolatore e loro caratteristiche 2 Cosa si può imparare da questo libro 5 1.2 Cosa c è dietro

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Informatica. Ing. Pierpaolo Vittorini pierpaolo.vittorini@cc.univaq.it. Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia

Informatica. Ing. Pierpaolo Vittorini pierpaolo.vittorini@cc.univaq.it. Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 2 ottobre 2007 L architettura del calcolatore Concetti iniziali L architettura del calcolatore Con il

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

3 Capitolo primo Informatica e calcolatori

3 Capitolo primo Informatica e calcolatori I n d i c e 3 Capitolo primo Informatica e calcolatori 7 Capitolo secondo La rappresentazione delle informazioni 11 2.1 La codifica dei caratteri 2.1.1 Il codice ASCII, p. 11-2.1.2 Codifiche universali,

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

Modello del Computer. Componenti del Computer. Architettura di Von Neumann. Prof.ssa E. Gentile. a.a. 2011-2012

Modello del Computer. Componenti del Computer. Architettura di Von Neumann. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Modello del Computer Prof.ssa E. Gentile a.a. 2011-2012 Componenti del Computer Unità centrale di elaborazione Memoria

Dettagli

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod. Sistemi Distribuiti Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto 19.1 Introduzione A metà degli anni quaranta inizia l era dei calcolatori elettronici

Dettagli

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione Sistemi Distribuiti Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto A metà degli anni quaranta inizia l era dei calcolatori elettronici moderni: grandi, costosi e

Dettagli

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E Lezione 5: Software Firmware Sistema Operativo Architettura del Calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti: Hardware e Software Firmware: strato di (micro-)programmi

Dettagli

Architettura hardware

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

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

SCD. Criteri di sincronizzazione. Criteri di sincronizzazione. Criteri di valutazione 2. Criteri di valutazione 1. Condizioni di sincronizzazione 1

SCD. Criteri di sincronizzazione. Criteri di sincronizzazione. Criteri di valutazione 2. Criteri di valutazione 1. Condizioni di sincronizzazione 1 Criteri di valutazione 2 Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD È interessante applicare questo schema di valutazione ai costrutti

Dettagli

TRANSAZIONI DISTRIBUITE TRANSAZIONI

TRANSAZIONI DISTRIBUITE TRANSAZIONI TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità

Dettagli

Componenti del Sistema di Elaborazione

Componenti del Sistema di Elaborazione Componenti del Sistema di Elaborazione Il Sistema di Elaborazione Monitor Tastiera Processore Memoria Centrale (Programmi + Dati) Memorie di massa Altre periferiche Rete Rete a.a. 2002-03 L. Borrelli 2

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni per il controllo di ciclo - ciclo a condizione generica Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...

Dettagli

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 ARRAY PROCESSORS. ARCHITETTURE A PARALLELISMO MASSIVO ESEMPI In questa lezione vengono presentati alcuni esempi di architetture a parallelismo massivo. Si

Dettagli

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche m.bernaschi@iac.cnr.it L'evoluzione del calcolo ad alte prestazioni dal punto di vista dell'utente e dello sviluppatore

Dettagli

Sicurezza nei modelli peer-to-peer. F.Baiardi Dipartimento di Informatica, Centro Serra Università di Pisa f.baiardi@unipi.it

Sicurezza nei modelli peer-to-peer. F.Baiardi Dipartimento di Informatica, Centro Serra Università di Pisa f.baiardi@unipi.it Sicurezza nei modelli peer-to-peer Dipartimento di Informatica, Centro Serra Università di Pisa f.baiardi@unipi.it Credits Stefano Suin (unipi serra) Claudio Telmon Laura Ricci (di unipi) Paolo Mori (iit

Dettagli

Operazioni di input e output in Fortran 90

Operazioni di input e output in Fortran 90 Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica

Dettagli

Uso di ACL per la protezione di un sistema operativo. Robustezza Informatica

Uso di ACL per la protezione di un sistema operativo. Robustezza Informatica Uso di ACL per la protezione di un sistema operativo Uso di ACL (e non solo) per la protezione di un sistema operativo F.Baiardi Università di Pisa Fabrizio Baiardi-Uso di ACL... -1 Robustezza Informatica

Dettagli

UD 1.5c: Il Sistema Operativo (parte 1)

UD 1.5c: Il Sistema Operativo (parte 1) Prof. Alberto Postiglione Scienze della e Facoltà di Lettere e Filosofia Università degli Studi di Salerno UD 1.5c: Il Sistema Operativo (parte 1) Informatica Generale (Laurea in Scienze della e) Sistemi

Dettagli

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

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

Dettagli

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti SISTEMI DISTRIBUITI Criteri di classificazione dei sistemi distribuiti Autonomia, distribuzione, eterogeneità Architetture per DBMS distribuiti Client/server Peer-to-peer Multi-database Regole di Date

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = , dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Architetture parallele

Architetture parallele 1 Calcolatori paralleli A meno di una nuova rivoluzione scientifica la legge di Moore (che pronostica un raddoppio del numero di transistor su un singolo chip ogni 18 mesi) non potrà rimanere valida per

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

MODELLO DLX IN UNISIM

MODELLO DLX IN UNISIM Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start

Dettagli

Ordinamento causale e stati globali nei Sistemi Distribuiti. Moreno Marzolla

Ordinamento causale e stati globali nei Sistemi Distribuiti. Moreno Marzolla Ordinamento causale e stati globali nei Sistemi Distribuiti Moreno Marzolla E-mail: marzolla@dsi.unive.it Web: http://www.dsi.unive.it/~ marzolla Introduzione Supponiamo di avere una computazione distribuita

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

Il sistema di elaborazione

Il sistema di elaborazione Il sistema di elaborazione Stefano Brocchi stefano.brocchi@unifi.it Stefano Brocchi Il sistema di elaborazione 1 / 37 Informatica Il termine informatica deriva dalle parole informazione e automatica Stefano

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

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

Openmosix e Beowulf: introduzione e confronto

Openmosix e Beowulf: introduzione e confronto Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Definizione e storia dei sistemi operativi

Definizione e storia dei sistemi operativi Definizione e storia dei sistemi operativi Dipartimento di Informatica Università di Verona, Italy Che cos è un Sistema Operativo? E un insieme di programmi agisce come intermediario tra HW e uomo per

Dettagli

La tecnica proporzionale

La tecnica proporzionale La tecnica proporzionale Regolatori di pressione La tecnica proporzionale Regolatori di pressione La tecnica proporzionale La tecnica proporzionale Controllo direzione e flusso La tecnica proporzionale

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Input/Output: bus, interfacce, periferiche

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

Dettagli

Reti Logiche A. Introduzione al VHDL

Reti Logiche A. Introduzione al VHDL Reti Logiche Introduzione al VHDL Gianluca Palermo Politecnico di Milano Dipartimento di Elettronica e Informazione e-mail: gpalermo@fusberta.elet.polimi.it 1 Sommario Introduzione Struttura di un modello

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi Lezione 2: Compiti del S.O. La struttura e funzioni dei Sistemi Operativi Un S.O. ha il compito di rendere semplice (all utente), l utilizzo del calcolatore componenti di un sistema operativo servizi dei

Dettagli

Guida utente User Manual made in Italy Rev0

Guida utente User Manual made in Italy Rev0 Guida utente User Manual Rev0 made in Italy Indice/Index Informazioni generali General Info... 3 Guida Rapida per messa in funzione Start Up procedure... 3 Login Login... 3 Significato dei tasti Botton

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili:

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili: Autore: Maria Chiara Cavaliere Informatica di base Lezione 1 del 21/3/2016 Il corso di Informatica di base si baserà sulla spiegazione di tre moduli: -Architettura Hardware; -Sistema operativo; Parte teorica

Dettagli

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

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

Dettagli

Sistema di protezione (2) Protezione (1)

Sistema di protezione (2) Protezione (1) Sistema di protezione (1) Sistema di protezione (2) Sistema di protezione (3) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione:

Dettagli

Sistema di protezione (1)

Sistema di protezione (1) Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare

Dettagli

Componenti dell elaboratore

Componenti dell elaboratore L hardware del PC Componenti dell elaboratore Hardware Parte fisica del sistema Dispositivi fisici Software Parte logica del sistema Programmi e dati 2 Hardware dell elaboratore 3 L'architettura del calcolatore

Dettagli

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

Dettagli

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

ISTITUTO ISTRUZIONE SUPERIORE L. EINAUDI ALBA ANNO SCOLASTICO 2015/2016 ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016 CLASSE 3 I Discip lina: Elettrotecnica ed Elettronica PROGETTAZIONE DIDATTICA ANNUALE Elaborata e sottoscritta dai docenti: cognome

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Il sensore ad ultrasuoni

Il sensore ad ultrasuoni Il sensore ad ultrasuoni Caratteristiche elettriche Alimentazione: 5 Vcc Il sensore rileva oggetti da 0 cm fino a 6,45 metri. Tre diverse possibiltà per leggere il dato di uscita del sensore: 1. lettura

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

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna 1 IMPLEMENTAZIONE OPERATIVA DI UN MODELLO DI PREVISIONI METEOROLOGICHE SU UN SISTEMA DI CALCOLO PARALLELO LINUX/GNU Davide Cesari Massimo Bider Paolo Patruno Emilia Romagna LM-COSMO-LAMI 2 Il modello LM

Dettagli

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Dettagli

Dischi RAID. high-performance high-reliability. G.Serazzi a.a. 2003/04 Impianti Informatici RAID - 1/32

Dischi RAID. high-performance high-reliability. G.Serazzi a.a. 2003/04 Impianti Informatici RAID - 1/32 Dischi RAID high-performance high-reliability 15/03 03/04 G.Serazzi a.a. 2003/04 Impianti Informatici RAID - 1/32 indice caratteristiche generali dei dischi parallelismo ed alte prestazioni affidabilità

Dettagli

Complessità computazionale

Complessità computazionale 1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo Il Sistema Operativo (SO) è una parte essenziale di un sistema di calcolo In generale un SO è un insieme di programmi che agisce come intermediario tra utenti e hardware di un computer. Esiste un insieme

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Dettagli

Virtualizzazione e Macchine Virtuali

Virtualizzazione e Macchine Virtuali Virtualizzazione e Macchine Virtuali Gabriele D Angelo, Ludovico Gardenghi {gda, garden}@cs.unibo.it http://www.cs.unibo.it/~gdangelo/ http://www.cs.unibo.it/~gardengl/ Università di Bologna Corso di Laurea

Dettagli