Valutazione delle prestazioni
|
|
|
- Eloisa Randazzo
- 9 anni fa
- Visualizzazioni
Transcript
1 Valutazione delle prestazioni Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano 1/41
2 Sommario Cosa vuol dire valutare le prestazioni? Benchmark Miglioramento delle prestazioni Valutazione delle prestazioni del sistema di memoria 2/41
3 Perché valutare le prestazioni? Misura/Valutazione quantitativa delle prestazioni (velocità.). Fare scelte intelligenti (e.g. installare nuovo hardware o nuovo sw). Orientarsi nell acquisto di nuovo hw. Fatturazione delle prestazioni. La misura delle prestazioni è il tempo. Prestazioni X > prestazioni Y => tempo X < tempo Y => 1/tempo X > 1/tempo Y Prestazioni X = (1+n/100)xPrestazioni Y. Tempo Y =(1+n/100)xTempo X => n=100x(tempo Y -Tempo X )/Tempo X T Le prestazioni migliorano perché: - Incrementano le prestazioni. - Diminuisce il tempo di esecuzione. 3/41
4 Criteri (metrica) di valutazione orientati all utente Velocità di esecuzione + quantità di informazione elaborata. Il criterio di valutazione dipende dall utilizzo del calcolatore! 1) Utilizzo personale -> tempo di esecuzione. 2) Utilizzo come server -> throughput. Throughput: Ammontare di lavori svolti in un dato tempo. (accessi a banche dati, programmi, transazioni commerciali ). Domande: Un processore più veloce cosa influenza? Più processori dedicati, cosa modificano? 4/41
5 Esempio p A = 2 (t A = 0.5) p B = 1.5 (t B = ) Valutazione in termini di tempo di prestazioni: p B / p A = 0.75 B ha prestazioni pari al 75% di A. Variazione delle prestazioni percentuale: (p B p A ) / p A = -0.25% Utilizzando il tempo di esecuzione: (1/t B ) / (1/t A ) = t A / t B = 75% Variazione delle prestazioni percentuale: (1/t B 1/t A ) /(1/ t A ) = t A *(1/t B 1/t A ) = ½* (-½) = -0.25% Valutazione in termini di tempo di esecuzione: t B /t A = (2/3) / (1/2) = 4/3 = B richiede il 133% del tempo di A per eseguire il programma. Variazione delle prestazioni percentuale: (t B t A ) / t A = (2/3 1/2) / (1/2) = 1/3 => 33.3 % B richiede 33.3 % in più per l esecuzione del programma. 5/41
6 Criteri (metrica) di valutazione orientati alla macchina Tempo di risposta rappresenta la latenza per il completamento di un lavoro includendo accessi a disco, accessi a memoria, attività di I/O,... Tempo di CPU rappresenta il tempo speso dalla CPU per eseguire il programma dato: non include il tempo di attesa per I/O o per l'esecuzione di altri programmi. Comprende il tempo utente di CPU (tempo speso dalla CPU per eseguire le linee di codice che stanno nel nostro programma) + tempo di CPU di sistema (speso dal sistema operativo per eseguire i compiti richiesti dal programma) Comando time Unix: 90.7u 12.9s 2:39 65% Funzione Profile in Windows. 6/41
7 Unità di misura delle prestazioni (CPI) Tempo di CPU = Numero_cicli_clock * Durata_clock = Numero_cicli_clock / Frequenza_clock. Determinazione del numero di cicli di clock: Cicli di clock per istruzione (CPI) = Cicli_clock_CPU_programma / Numero_istruzioni Quindi: T CPU = CPI * Numero_Istruzioni * T clock 7/41
8 Esempio Tempo di esecuzione del programma: 1.2s Numero di istruzioni: 400k. Clock: 1Mhz. Per l esecuzione del programma, occorrono: #Cicli_clock = 10 6 * 1.2 CPI = #Cicli_clock / #Istruzioni = 3. NB Sulle macchine di oggi il CPI è inferiore ad 1. T medio = t i i Ttot = # Istruzioni # Istruzioni T tot = CPI * T clock * #Istruzioni 8/41
9 Tempo esecuzione singola istruzione, ma: Misura delle prestazioni In genere, istruzioni di tipo diverso richiedono quantità diverse di tempo. Esempi: la moltiplicazione richiede più tempo dell addizione l accesso alla memoria richiede più tempo dell accesso ai registri. Tempo esecuzione medio (pesato) di un mix di istruzioni: t medio S i= 0 = S i= 0 l i l t i i 9/41
10 Misura delle prestazioni mediante CPI T CPU = CPI * Numero_Istruzioni * T clock t medio S i= 0 = S i= 0 l i l t i i CPI medio = n ( CPI * l ) i i n i= 1 = ( CPI n i * fi ) i= 1 li i= 1 CPI i numero di cicli di clock per istruzioni di tipi i. l i Numero di volte che l istruzione i viene eseguita nel programma. f i Frequenza con cui l istruzione i viene eseguita nel programma. n i= 1 l i ( rappresenta il numero di istruzioni) CPU n i= 1 T = ( CPI * l ) * T i i clock 10/41
11 Esempio Si consideri un calcolatore in grado di eseguire le istruzioni riportate in tabella: Frequenza cicli di clock ALU 43% 1 Calcolare CPI e il tempo di CPU per eseguire un programma composto da 200 istruzioni supponendo di usare una frequenza di clock pari a 500 MHz. Load 21% 4 Store 12% 4 Branch 12% 2 Jump 12% 2 CPI = 0,43 * 1 + 0,21 * 4 + 0,12 * 4 + 0,12 * 2 + 0,12 * 2= 2,23 T CPU = 200 * 2,23 * 2 ns = 892 ns 11/41
12 MIPS = milioni di istruzioni per secondo MIPS = (numero_istruzioni / 10 6 ) / tempo_esecuzione MIPS = frequenza_clock / (CPI * 10 6 ) = 1/t clock * 1/ (CPI*10 6 ) = 1 / (t medio *10 6 ) t clock * CPI = t medio Problemi: dipende dall'insieme di istruzioni, quindi è difficile confrontare computer con diversi insiemi di istruzioni; varia a seconda del programma considerato; può variare in modo inversamente proporzionale alle prestazioni! valore di picco, scelgo il mix di istruzioni per massimizzare il MIPS misurato (fuorviante). Esempio: macchina con hardware opzionale per virgola mobile. Le istruzioni in virgola mobile richiedono più cicli di clock rispetto a quelle che lavorano con interi, quindi i programmi che usano l'hardware opzionale per la virgola mobile in luogo delle routine software per tali operazioni impiegano meno tempo ma hanno un MIPS più basso. L'implementazione software delle istruzioni in virgola mobile esegue semplici istruzioni, con il risultato di avere un elevato MIPS, ma ne esegue talmente tante da avere un più elevato tempo di esecuzione!! 12/41
13 Sommario Cosa vuol dire valutare le prestazioni? Benchmark Miglioramento delle prestazioni Valutazione delle prestazioni del sistema di memoria 13/41
14 Misure & Problemi MIPS relativi = tempo CPU /tempo CPU_ref * MIPS CPU_ref. La CPU ref è VAX-11/780. Problema: evoluzione dei sistemi. MFLOPS per i super computer. Problema: misure di picco. MIPS di picco e sostenuti. Problema: poco significative. Benchmarks = Programmi per valutare le prestazioni. Benchmarks: Whetstone, 1976; Drystone, Kernel benchmark. Loop Livermore, Linpack, Problema: polarizzaione del risultato. Benchmark con programmi piccoli ( linee, 1980). Problema: mal si adattano alle strutture gerarchiche di memoria. 14/41
15 Indici SPEC ( 89, 92, 95) The Standard Performance Evaluation Corporation (SPEC) is a nonprofit corporation formed to establish, maintain and endorse a standardized set of relevant benchmarks that can be applied to the newest generation of high-performance computers. SPEC develops benchmark suites and also reviews and publishes submitted results from our member organizations and other benchmark licensees. Insieme di programmi test. Condizioni diverse: singolo / multiplo processore / time sharing. Benchmark specifici per valutare S.O. e I/O. SPEC 95 -> SPECint, SPECfp, base Sun SPARCstation 10/40. Benchmark particolari: SDM (Systems Development Multitasking). SFS (System-level File Server). SPEChpc96. Elaborazioni scientifiche ad alto livello. Orientamento: Benchmark specifici. 15/41
16 Esempio becnhmark SPEC95 Elaborazione intera: 1) Go Intelligenza artificiale 2) m88ksim Simulatore chip Motorola 88K; esecuzione di un programma. 3) gcc Compilatore Gnu C che genera codice SPARC. 4) compres Compressione e decompressione di un file in memoria. 5) li Interprete lisp 6) ijpeg Compressione e decompressione di immagini grafiche. 7) perl Manipolazione di stringhe e numeri primi nel linguaggio di programmazione dedicato Perl. 8) vortex Programma di gestione di una base di dati. 16/41
17 Esempio becnhmark SPEC95 Elaborazione virgola mobile: 1) Tomcatv Programma per generazione di griglie. 2) Swim Modello per acqua poco profonda con griglia 513 x ) Su2cor Fisica quantistica: simuilazione MonteCarlo. 4) Hydro2D Astrofisica: equazione idrodinamiche di Naiver Stokes. 5) Mgrid Risolutore multi-griglia in campo di potenziale 3D. 6) Applu Equazioni alle differenze parziali paraboliche/ellittiche. 7) Turb3D Simulazione di turbolenza isotropica ed omogenea in un cubo. 8) Apsi Risoluzione di problemi di temperatura, velocità del vento e diffusione di agenti inquinanti. 9) Fpppp Chimica quantistica. 10) Wave5 Fisica dei plasmi: simulazione di particelle elettromagnetiche. URL: 17/41
18 SPEC CPU200 CINT2000 Benchmark Language Category Full Descriptions 164.gzip C Compression HTML Text 175.vpr 176.gcc 181.mcf C C C FPGA Circuit Placement and Routing C Programming Language Compiler Combinatorial Optimization HTML HTML HTML 186.crafty C Game Playing: Chess HTML Text 197.parser C Word Processing HTML Text 252.eon C++ Computer Visualization HTML Text Text Text Text 253.perlbmk C PERL Programming Language HTML Text 254.gap C Group Theory, Interpreter HTML Text 255.vortex C Object-oriented Database HTML Text 256.bzip2 C Compression HTML Text 300.twolf C 18/41 Place and Route Simulator HTML Text
19 Sommario Cosa vuol dire valutare le prestazioni Benchmark Miglioramento delle prestazioni Valutazione delle prestazioni del sistema di memoria 19/41
20 Miglioramento delle prestazioni Riduzione del numero di cicli di clock. Diminuzione del periodo di clock (aumentare la frequenza). Tempo esecuzione = Numero_Cicli_clock * Durata del clock CPI rappresenta il tempo di esecuzione medio delle istruzioni. Miglioramenti dell architettura per ridurre il CPI. Miglioramento del compilatore per ridurre il CPI. Ridurre la durata del clock (aumentarne la frequenza). Espressione dei risultati Il tempo totale di esecuzione dipende da diverse caratteristiche: dischi, sottosistema di I/O, sottosistema grafico. Per questo motivo occorre menzionare la configurazione del sistema. 20/41
21 Valutazione delle prestazioni, coerenza Calcolatore I Calcolatore II Istruzione A (s) 1 10 Istruzione B (s) Istruzione C (s) Qual è più veloce? Dipende dal peso dei programmi. Media pesata, tempo medio di esecuzione di un istruzione: T = 1/ n Programma 1: 1000 istruzioni A, 1 istruzione B, 10 istruzioni C. T I = 1/1011 * (1000*1 + 1* *10) = 2100/ T II = 1/1011 * (1000*10 + 1* *100) = 11100/ n i= 0 n i t i Programma 2: 100 istruzione A, 10 istruzioni B, 10 istruzioni C. T I = 1/120 * (100*1 + 10* *10) = 10200/ T II = 1/120 * (100* * *100) = 3000/ /41
22 Come rendere più veloci i calcolatori Rendere veloce il caso più comune. Si deve favorire il caso più frequente a discapito del più raro. Il caso più frequente è spesso il più semplice e può essere quindi reso più veloce del caso infrequente. Legge di Amdahl Il miglioramento delle prestazioni globali ottenuto con un miglioramento particolare (e.g. un istruzione), dipende dalla frazione di tempo in cui il miglioramento era eseguito. Esempio: Pentium e PentiumPro: a fronte di un raddoppio della frequenza di clock che è passata da 100 a 200 Mhz, si è registrato un aumento delle prestazioni misurate tramite SpecInt di 1,7 volte e di 1,4 volte misurate in SpecFloat. 22/41
23 Speed-up Il miglioramento globale proporzionale al miglioramento di una parte del sistema? Speed up (accelerazione): prestazioni_intero_lavoro_con_miglioramento / prestazioni_senza Oppure tempo_intero_lavoro_senza_miglioramento / tempo_con_miglioramento. 23/41
24 Speed-up - esempio Consideriamo un calcolatore (CALC1) con ALU ed una FP_ALU. Consideriamo un secondo calcolatore (CALC2) in cui la ALU è stata velocizzata (2x). Consideriamo un applicazione che prevede un 90% di istruzioni in aritmetica intera. Di quanto è lo speed-up? ISTRUZIONI INTERE ISTRUZIONI TOTALI Calcolatore T_EXEC Speedup_m T_EXEC Speedup CALC CALC Speed-up = 100/55 = /41
25 Corollario della legge di Amdhal Se un miglioramento è utilizzabile solo per una frazione del tempo di esecuzione complessivo (F m ), allora non è possibile accelerare l esecuzione più del reciproco di uno meno tale frazione: Speedup globale < 1/(1-F m ). Definizioni: 1. Frazione migliorato (F m 1), ovvero la frazione del tempo di calcolo della macchina originale che può essere modificato per avvantaggiarsi dei miglioramenti. Nell'esempio precedente la frazione è T m = F m * T old T nm = (1- F m ) * T old 2. Speedup migliorato (S m 1), ovvero il miglioramento ottenuto dal modo di esecuzione più veloce. Nel precedente esempio questo valore viene fornito nella colonna chiamata Speedup_migliorato (pari a 2). 25/41
26 Dimostrazione T old = T old * (1 F m ) + T old * F m T new = T nm + T m = T old * (1-F m ) + T old * F m / S m / 2 T new = T old * (1-F m + F m / S m ) = T old * [1-F m * (1-1 / S m )] Istruzioni non accelerate Istruzioni accelerate Speedup globale = T old /T new = T old / T old * [1-F m * (1-1 / S m )] = 1/ [1-F m + F m / S m )] < 1/ [1-F m ] c.v.d. (S m ) Istruzioni non accelerate Se il tempo di esecuzione delle istruzioni accelerate va all il tempo di esecuzione diventa il tempo di esecuzione delle istruzioni non accelerate soltanto. Esempio precedente: T new = 100 * (1 0,9 + 0,9/2) = 55 26/41
27 Esempio 2 Esempio: Si consideri un miglioramento che consente un funzionamento 10 volte più veloce rispetto alla macchina originaria, ma che sia utilizzabile solo per il 40% del tempo. Qual è il guadagno complessivo che si ottiene incorporando detto miglioramento? Speedup globale = 1/ [1-F m + F m / S m )] Frazione migliorato =0.4 Speedup migliorato =10 Speedup globale = /41
28 Esempio - 3 Supponiamo di potere aumentare la velocità della CPU della nostra macchina di un fattore 5 (senza influenzare le prestazioni di I/O) con un costo 5 volte superiore. Assumiamo inoltre che la CPU sia utilizzata per il 50% del tempo ed il rimanente sia destinato ad attesa per operazioni di I/O. Se la CPU è un terzo del costo totale del computer è un buon investimento da un punto di vista costo/prestazioni, aumentare di un fattore cinque la velocità della CPU? Speedup globale = 1.67 Incremento di costo = 2.33 L incremento di costo è quindi più grande del miglioramento di prestazioni: la modifica non migliora il rapporto costo/prestazioni. 28/41
29 Esempio speedup dovuto a vettorializzazione Si deve valutare un miglioramento di una macchina per l'aggiunta di una modalità vettoriale. La computazione vettoriale è 20 volte più veloce di quella normale. La percentuale di vettorizzazione èla porzione del tempo che può essere spesa usando la modalità vettoriale. Disegnare un grafico che riporti lo speedup come percentuale della computazione effettuata in modo vettoriale. Quale percentuale di vettorizzazione è necessaria per uno speedup di 2? Quale per raggiungere la metà dello speedup massimo? La percentuale di vettorizzazione misurata è del 70%. I progettisti hardware affermano di potere raddoppiare la velocità della parte vettoriale se vengono effettuati significativi investimenti. Il gruppo che si occupa dei compilatori può incrementare la percentuale d'uso della modalità vettoriale. Quale incremento della percentuale di vettorizzazione sarebbe necessario per ottenere lo stesso guadagno di prestazioni? Quale investimento raccomandereste? 29/41
30 Curva di speed-up Speedup globale y = 1/ [1- x + x / 20)] = 20/(20-19x) x F vett Speedup globale y Speedup = 2 per %vett = 52.6 Speedup = 10 per %vett = % 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% x F vett 30/41
31 Speed-up dovuto a HW Speedup original = 1/ [ / 20)] = 1/(1-0.7*19/20) = 2,9851 Speedup HW = 1/ [ / 40)] = 1/(1-0.7*39/40) = 3,1496 Speedup compiler = 3,1496 = 1/ [1- x + x / 20)] F vettoriale = 71,84% 31/41
32 Sommario Cosa vuol dire valutare le prestazioni Benchmark Miglioramento delle prestazioni Valutazione delle prestazioni del sistema di memoria 32/41
33 Principio di località I programmi riutilizzano dati e istruzioni che hanno usato di recente. Regola pratica: un programma spende circa il 90% del suo tempo di esecuzione per solo il 10% del suo codice. Basandosi sul passato recente del programma, è possibile predire con ragionevole accuratezza quali dati e istruzioni userà nel prossimo futuro. località temporale elementi ai quali si è fatto riferimento di recente saranno utilizzati ancora nel prossimo futuro. località spaziale elementi i cui indirizzi sono vicini, tendono ad essere referenziati in tempi molto ravvicinati. 33/41
34 Gerarchia di memorie 34/41
35 Valutazione prestazioni memoria Obbiettivo principale della gerarchia di memoria è incrementare le prestazioni => diminuire la velocità di accesso sia in caso di HIT che di MISS. Cosa succede in caso di MISS? HIT_TIME Tempo di accesso al livello superiore (che comprende anche il tempo necessario per determinare se l accesso ha avuto successo oppure fallisce. MISS_PENALTY è composto da: TEMPO DI ACCESSO per accedere alla prima parola del blocco dopo che è stato rilevato il fallimento. TEMPO DI TRASFERIMENTO per trasferire le altre parole del blocco al livello superiore. MISS_TIME = > HIT_TIME + MISS_PENALTY 35/41
36 Tempo medio di accesso alla memoria TEMPO DI ACCESSO. E legato al tempo di accesso del livello inferiore di memoria. TEMPO DI TRASFERIMENTO. E legato alla larghezza di banda del canale di comunicazione tra i due livelli di memoria (e.g. bus). Il tempo medio di accesso alla memoria sarà: T medio = HIT_RATE * HIT_TIME + MISS_RATE * MISS_TIME = HIT_TIME*HIT_RATE+MISS_RATE*(HIT_TIME+MISS_PENALTY) = HIT_TIME*(HIT_RATE+MISS_RATE)+MISS_RATE*MISS_PENALTY = HIT_TIME + MISS_RATE * MISS_PENALTY 36/41
37 Impatto di una memoria cache Il tempo di CPU è composto dal tempo richiesto dalla CPU per eseguire il programma e dal tempo che la CPU trascorre in attesa di risposta dal sottosistema di memoria. T CPU = (#Cicli della CPU in esecuzione + #Cicli di stallo) * T Clock Ipotesi: Tutti gli stalli di memoria sono dovuti al fallimento di accesso alla cache. I cicli di clock utilizzati per un accesso alla cache riuscito (HIT) sono inclusi nei cicli di clock della CPU in esecuzione. 37/41
38 Impatto di una memoria cache # Cicli_clock_stallo = #Accessi_Memoria*MISS_RATE*MISS_PENALTY Tempo CPU _Programma = (#Cicli_clock + #Cicli_clock_stallo)*T clock = #Istruzioni*CPI exec *T clock + #Cicli_clock_stallo*T clock CPI con_cache = CPI exec + #Cicli_clock_stallo / #Istruzioni = CPI exec +(#Accessi_memoria/#Istruzioni)*MISS_RATE*MISS_PENALTY Caso ideale: (100% HIT, 0%MISS): CPI con_cache = CPI exec Caso senza cache: (100% MISS): CPI senza_cache = CPI exec + (#Accessi_memoria/#Istruzioni)* MISS_PENALTY 38/41
39 Esercizio su cache Si consideri il VAX-11/780. La MISS_PENALTY è di 6 cicli di clock, mentre tutte le istruzioni impiegano 8.5 cicli di clock se si ignorano i MISS (stalli della memoria). Ipotizzando un MISS_RATE dell'11% e che vi siano in media 2 riferimenti alla memoria per ogni istruzione, Qual è l'impatto sulle prestazioni quando viene inserita la cache reale rispetto ad una cache ideale? Qual è l'impatto sulle prestazioni tra il caso di cache reale e senza inserimento della cache? 39/41
40 Soluzione esercizio su cache Dati di ingresso: MISS_PENALTY=6 CPI exec =8.5 MISS_RATE=0,11 #Accessi_memoria/#Istruzioni = 2 CPI con_cache = 8,5 + 0,11 * (2 * 6) = 9,82 CPI con_cache_ideale = 8,5 + 0 * (2 * 6) CPI senza_cache = 8,5 + 1 * (2 * 6) = 20,5 Perdita in prestazioni (speed-up): CPI con_cache_ideale / CPI con_cache => 8,5 / 9,82 = 0,865 Guadagno in prestazioni (speed-up): CPI senza_cache / CPI con_cache => 20,5 / 9,82 = 2,087 40/41
41 Sommario Cosa vuol dire valutare le prestazioni Benchmark Miglioramento delle prestazioni Valutazione delle prestazioni del sistema di memoria 41/41
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
La Valutazione delle Prestazioni
La Valutazione delle Prestazioni Maurizio Palesi Maurizio Palesi rend ecnologico: Microprocessori 00000000 0000000 000000 IBM PPC60 R0000 Pentium R4400 i80486 Alpha 2264: 5 milion Pentium Pro: 5.5 million
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
Valutazione delle prestazioni Salvatore Orlando
Valutazione delle prestazioni Salvatore Orlando Arch. Elab. - S. Orlando 1 Valutazione delle prestazioni L approccio RISC ha semplificato l ISA, ma ha anche portato a sviluppo di tecniche di ottimizzazione
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
Valutazione delle prestazioni
Valutazione delle prestazioni Salvatore Orlando Arch. Elab. - S. Orlando 1 Valutazione delle prestazioni Studieremo le modalità per misurare, descrivere e sintetizzare le prestazioni di un sistema hardware/software
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
La memoria centrale (RAM)
La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.
Tutorato 11 dicembre 2015
Tutorato 11 dicembre 2015 Calcolo delle prestazioni Nomenclatura T: periodo del ciclo di clock. Equivale al tempo di durata di un ciclo del clock, ovvero al reciproco della frequenza di clock: T = 1 F
Laboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
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...
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
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
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
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Valutazione delle prestazioni DOCENTE Luigi Palopoli AA. 2011/2012 Valutare le Prestazioni La complessita di un moderno calcolatore rende la valutazione delle prestazioni
C. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
Architettura dei calcolatori II parte Memorie
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori
Scopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
Architettura dei calcolatori I parte Introduzione, CPU
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori
SPC e distribuzione normale con Access
SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
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.
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
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
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
GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE
GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE L applicazione elaborata da Nordest Informatica e disponibile all interno del sito è finalizzata a fornirvi un ipotesi dell impatto economico
SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
J. Assfalg Appunti di Sistemi Operativi
Multiprogrammazione J. Assfalg Appunti di Sistemi Operativi La multiprogrammazione nasce come un metodo per massimizzare l'uso della CPU piuttosto che come uno strumento per fornire un miglior servizio
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
CALCOLATORI ELETTRONICI 29 giugno 2011
CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)
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.)
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: [email protected] Tutor:??? Informazioni generali
Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Metric Computo Metrico
Metric Computo Metrico Caratteristiche tecniche Metric è stato sviluppato con tecnologia Dot Net framework 4.0 ed utilizzo delle librerie di sviluppo di DevExpress. Si appoggia a database Microsoft SqlServerCE
1. Introduzione. 2. Simulazioni elettromagnetiche per la misura del SAR
Relazione Tecnica Analisi simulative e misure con termocamera relative al confronto tra l utilizzo di un telefono smartphone in assenza e in presenza di dispositivo distanziatore EWAD Annamaria Cucinotta
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
Corso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
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
Architettura hardware
Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati 2) dalla
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
Introduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: [email protected] Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
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
Esercizio 2. la dimensione del file risultante la velocità di trasferimento minima dell'hard disk
Esercizio Esercizio 1 Un sistema di elaborazione è dotato di una memoria centrale di 256 MB con un tempo d'accesso di 40 ns, e di una memoria cache di 128 kb con tempo d'accesso di 10 ns. Si determini
Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale
Memorie Caratteristiche principali Tecnologie di memoria Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola,
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
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
Sistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
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,
Corso di formazione CerTICTablet
Redattore prof. Corso di formazione CerTICTablet Sesta Dispensa Comitato Tecnico Scientifico: Gruppo Operativo di Progetto CerticAcademy Learning Center, patrocinato dall assessorato al lavoro e alla formazione
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
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
L Unità Centrale di Elaborazione
L Unità Centrale di Elaborazione ed il Microprocessore Prof. Vincenzo Auletta 1 L Unità Centrale di Elaborazione L Unità Centrale di Elaborazione (Central Processing Unit) è il cuore di computer e notebook
Introduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
Le prestazioni di un sistema informatico
Le prestazioni di un sistema informatico - Dal punto di vista dell'utente finale, un calcolatore è più veloce di un altro se esegue lo stesso compito in un tempo inferiore. - Il direttore di un centro
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)?
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Un sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 For Evaluation Only.
In un mercato del lavoro competitivo esistono due tipi di lavoratori, quelli con alta produttività L A, che producono per 30 $ l'ora, e quelli con bassa produttività, L B, che producono per 5 $ l'ora.
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
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
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
Product Shipping Cost Guida d'installazione ed Utilizzo
Guida d'installazione ed Utilizzo Installazione Per installare il modulo è sufficiente copiare la cartella app del pacchetto del modulo nella cartella principale dell'installazione di Magento dove è già
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
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX
Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
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
Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)
Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale
Guida Rapida di Syncronize Backup
Guida Rapida di Syncronize Backup 1) SOMMARIO 2) OPZIONI GENERALI 3) SINCRONIZZAZIONE 4) BACKUP 1) - SOMMARIO Syncronize Backup è un software progettato per la tutela dei dati, ed integra due soluzioni
(liberamente interpretato da http://www2.unipr.it/~bottarel/epi/homepage.html) SCHEDA ALUNNI. Descrizione dell attività:
Pagina 1 di 11 (liberamente interpretato da http://www2.unipr.it/~bottarel/epi/homepage.html) SCHEDA ALUNNI Descrizione dell attività: Problema 1. Siamo nel 2060 ed ormai gli umani hanno colonizzato Marte.
Sicurezza Funzionale Macchinari
Sicurezza Funzionale Macchinari Uno degli aspetti fondamentali della sicurezza dei macchinari è l affidabilità delle parti di comando legate alla sicurezza, ovvero la Sicurezza Funzionale, definita come
