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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

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

1.3 Concetti base dell Informatica: Elaboratore

1.3 Concetti base dell Informatica: Elaboratore 1.3 Concetti base dell Informatica: Elaboratore Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá)

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

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

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

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

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

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

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

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

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

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

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

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

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

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

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

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

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

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

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

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

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

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

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

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

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana: Progma La settimana scorsa: cos è l informatica? cos è un algoritmo? cos è un progma? come si descrive un algoritmo? di cosa si compone un? che cos è il software? a cosa serve? Questa settimana: qual è

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

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

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

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

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

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

Sistemi Operativi. Conclusioni e nuove frontiere

Sistemi Operativi. Conclusioni e nuove frontiere Sistemi Operativi (modulo di Informatica II) Conclusioni e nuove frontiere Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione futura

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

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

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

La Comunicazione tra i dispositivi

La Comunicazione tra i dispositivi La Comunicazione tra i dispositivi Per fare comunicare i dispositivi occorre : a) stabilire un protocollo di comunicazione - definire una forma di interazione e sincronizzazione che rispecchi certe regole

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

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

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

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

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

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

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

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni Replicazione Replicazione dei dati: gestione e manutenzione di un insieme di copie dei dati Motivazioni: - disponibilità - tolleranza ai guasti - prestazioni aching diverso da replicazione aching non aumenta

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

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

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

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

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

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

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

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Rappresentazione dell'info -- Codifiche - 1

Rappresentazione dell'info -- Codifiche - 1 Rappresentazione dell'info -- Codifiche - 1 All'interno di un calcolatore : solo due simboli, valori, stati motivo : affidabilita`, semplicita` Tutto va espresso usando solo 2 simboli (es 0/1) Oggetti

Dettagli