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

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

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

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

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

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

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

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

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

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

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

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

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento. Sommario Analysis & design delle applicazioni parallele Misura delle prestazioni parallele Tecniche di partizionamento Comunicazioni Load balancing 2 Primi passi: analizzare il problema Prima di iniziare

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

RETI E SISTEMI INFORMATIVI

RETI E SISTEMI INFORMATIVI RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame: scritto + tesina facoltativa

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

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

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

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia

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

Tirocinio per la Laurea Triennale

Tirocinio per la Laurea Triennale Tirocinio per la Laurea Triennale Studente: Filippo Dattola Studio di un prototipo di infrastruttura virtuale di analisi parallela interattiva L'obiettivo del tirocinio è stato quello di studiare un prototipo

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

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

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

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

Complessità Computazionale

Complessità Computazionale Complessità Computazionale Analisi Algoritmi e pseudocodice Cosa significa analizzare un algoritmo Modello di calcolo Analisi del caso peggiore e del caso medio Esempio di algoritmo in pseudocodice INSERTION

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

istraffic Sistema di monitoraggio Traffico

istraffic Sistema di monitoraggio Traffico istraffic Sistema di monitoraggio Traffico Scopo Lo scopo del sistema è quello di eseguire un analisi automatica del flusso di traffico in modo da rilevare eventi quali rallentamenti, code, veicoli fermi,

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

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

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali. Reti Logiche Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali. - Elaborano informazione rappresentata da segnali digitali, cioe

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

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

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

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6 GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

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

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

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

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Comunicazione La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Concettualmente la comunicazione point to point e' molto semplice: Un processo invia un

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

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

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

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

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

ARCHIVIAZIONE DOCUMENTALE NEiTdoc ARCHIVIAZIONE DOCUMENTALE NEiTdoc PROCESS & DOCUMENT MANAGEMENT La documentazione può essere definita un complesso di scritture prodotte da entità pubbliche o private nell espletamento della loro attività,

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

I canali di comunicazione

I canali di comunicazione I canali di comunicazione tipo velocità min velocità max doppino telefonico 300bps 10 mbps micro onde 256kbps 100 mbps satellite 256kbps 100 mbps cavo coassiale 56 kbps 200 mbps fibra ottica 500 kbps 10

Dettagli

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa .. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Gestione del processore e dei processi

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli