Valutazione delle prestazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Valutazione delle prestazioni"

Transcript

1 Valutazione delle prestazioni Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Cristina Silvano pag 1

2 Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per: quantificare le caratteristiche di una macchina (velocità, ecc.) fare scelte intelligenti (es. miglioramento dell hardware vs installazione nuovo software) orientarsi nell acquisto del calcolatore più adatto per l applicazione data Cristina Silvano pag 2

3 Tempo di risposta (o tempo di esecuzione o latenza) definito come il tempo tra l'inizio e il completamento di un lavoro o compito elaborativo. Esempi: Durata dell esecuzione del mio programma Attesa per l accesso ad un sito web Throughput definito come ammontare complessivo di lavoro svolto in un dato tempo. Esempi: Numero di programmi eseguiti nell unità di tempo Numero di lavori (job, transazioni, interrogazioni a basi di dati) svolti nell unità di tempo. Numero di programmi eseguibili da una macchina contemporaneamente Cristina Silvano pag 3

4 Relazione tra le prestazioni di due macchine X ed Y La frase X è più veloce di Y è usata per indicare che il tempo di risposta o di esecuzione, per un dato lavoro, è più basso in X che in Y. X è n% più veloce di Y Tempo di esecuzione Y Tempo di esecuzione X = 1 + n 100 Tempo di esecuzione = reciproco della prestazione, quindi: 1 + n 100 = Tempo di esecuzione Y Tempo di esecuzione X = n = Prestazione Y 1 = prestazione X Prestazione X Prestazione Y Prestazione Y Prestazione X Prestazione Y Cristina Silvano pag 4

5 Miglioramento delle prestazioni Si parla di miglioramento della prestazione o di miglioramento del tempo di esecuzione per esprimere: incremento della prestazione diminuzione del tempo di esecuzione. Cristina Silvano pag 5

6 Esempio Se la macchina A esegue un programma in 10 secondi e la macchina B esegue lo stesso programma in 15 secondi, quale delle seguenti affermazione è vera? A è il 50% più veloce di B. A è il 33% più veloce di B. Risposta L'affermazione che la macchina A è n% più veloce della macchina B può essere espressa come Tempo di esecuzione B Tempo di esecuzione A = 1 + n 100 n = Tempo di esecuzione B Tempo di esecuzione A Tempo di esecuzione A * * 100 = 50 A è perciò il 50% più veloce di B. Cristina Silvano pag 6

7 Cicli di clock Durata del periodo di un oscillazione completa del segnale di sincronizzazione (clock) Gli impulsi del clock indicano quando cominciare le attività Sostituisce spesso i secondi come unità di misura del tempo di CPU (tempo speso dalla CPU per eseguire il programma assegnato) Secondi = Cicli di clock * Secondi Ciclo di clock Cristina Silvano pag 7

8 Cicli di clock T = Periodo o Durata del ciclo di clock = Tempo tra due impulsi consecutivi Secondi per ciclo f = Frequenza di clock = cicli di clock per secondo = 1 / T 1 Hz = 1 / sec Esempio: Un calcolatore con frequenza di clock pari a 500 MHz possiede un ciclo di durata: * 10 6 = 2 * 10 9 = 2 nanosecondi Cristina Silvano pag 8

9 Migliorare le prestazioni = Migliorare il tempo di esecuzione Secondi Programma = Cicli di clock Programma * Secondi Ciclo di clock = Tempo di esecuzione Per migliorare le prestazioni, a parità di tutto il resto, occorre: ridurre il numero di cicli richiesti per un programma ridurre la durata del ciclo di clock aumentare la frequenza di clock Cristina Silvano pag 9

10 Principi quantitativi di progettazione dei 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 reso più veloce del caso infrequente Legge di Amdahl il miglioramento di prestazione che può essere ottenuto usando alcune modalità di esecuzione più veloci è limitato dalla frazione di tempo nella quale tali modalità possono venire impiegate Cristina Silvano pag 10

11 Speedup o Accelerazione Speedup = Prestazione per l'intero lavoro usando quando possibile il miglioramento Prestazione per l'intero lavoro senza usare la miglioria oppure Speedup = Tempo di esecuzione per l'intero lavoro senza uso del miglioramento Tempo di esecuzione per l'intero lavoro usando quando possibile il miglioramento Lo speedup fornisce informazioni su quanto più velocemente un lavoro verrà eseguito usando la macchina con la miglioria rispetto alla macchina originale. Cristina Silvano pag 11

12 Esempio Si consideri un calcolatore (CALC1) che possiede un unità aritmetico logica intera (INT_ALU) e un unità aritmetico-logica in virgola mobile (FP_ALU). CALC1 esegue un applicazioni software che tipicamente prevede il 90% di istruzioni in aritmetica intera e il 10% in virgola mobile. Si consideri un nuovo calcolatore (CALC2) che possiede una INT_ALU ottimizzata che gli permette di raggiungere un miglioramento pari a 2x nell esecuzione delle istruzioni intere. Si valuti il miglioramento globale ottenuto utilizzando CALC2 per l applicazione software data. Infine si consideri un terzo calcolatore (CALC3) che possiede una FP_ALU ottimizzata che gli permette di raggiungere un miglioramento pari a 2x nell esecuzione delle istruzioni in virgola mobile e si valuti il miglioramento rispetto al calcolatore iniziale. Cristina Silvano pag 12

13 Risposta ISTRUZIONI INTERE ISTRUZIONI TOTALI Calcolatore T_ESEC Speedup_m T_ESEC Speedup CALC CALC CALC Cristina Silvano pag 13

14 La legge di Amdahl 1. Frazione migliorato ( 1), ovvero la frazione del tempo di calcolo della macchina originale che può essere modificato per avvantaggiarsi dei miglioramenti. Nell'esempio precedente la frazione è Speedup migliorato ( 1), ovvero il miglioramento ottenuto dal modo di esecuzione più veloce. Nel precedente esempio questo valore viene fornito nella colonna chiamata Speedup_m (pari a 2) Tempo di esecuzione nuovo = Tempo di esecuzione vecchio * (1 Frazione migliorato ) + Frazione migliorato Speedup globale = Tempo di esecuzione vecchio Tempo di esecuzione nuovo = 1 Speedup migliorato (1 Frazione migliorato ) + Frazione migliorato Speedup migliorato Cristina Silvano pag 14

15 Nell esempio precedente(ultima colonna) CALC2: Speedup globale = = 1 (1 0.9) = CALC3: Speedup globale = = 1 (1 0.1) = Cristina Silvano pag 15

16 Corollario Se un miglioramento è utilizzabile solo per una frazione del lavoro complessivo, allora non è possibile accelerare il lavoro più del reciproco di uno meno tale frazione: Speedup globale = 1 1 (1 Frazione migliorato ) + Frazione migliorato (1 Frazione migliorato ) Speedup migliorato Cristina Silvano pag 16

17 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? Risposta Frazione migliorato = 0.4 Speedup migliorato = 10 Speedup globale = = Cristina Silvano pag 17

18 Esempio 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. Cristina Silvano pag 18

19 Località del riferimento 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. Cristina Silvano pag 19

20 Esempio Supponiamo che una cache sia 5 volte più veloce della memoria principale ed inoltre che la cache possa venire usata per il 90% del tempo. Qual è il guadagno in velocità dovuto all'uso della cache? Risposta Speedup = (1 % tempo di uso cache)+ 1 % tempo di uso cache = Speedup usando la cache 1 (1 0.9) = Otteniamo quindi una velocità 3.6 volte superiore usando la cache. Cristina Silvano pag 20

21 Il tempo è la misura delle prestazioni di un computer: il computer che svolge la stessa quantità di lavoro nel minore tempo è il più veloce. 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) tempo di CPU = cicli di clock della CPU per un programma * tempo di un ciclo di clock tempo di CPU = cicli di clock della CPU per un programma frequenza di clock Cristina Silvano pag 21

22 Durata diversa delle diverse istruzioni 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 Fissata la durata del ciclo di clock, varia il numero di cicli di clock richiesti dalle diverse istruzioni Si può calcolare il numero medio di cicli di clock per istruzione di un dato programma. Cristina Silvano pag 22

23 Cicli di clock per istruzione (CPI) CPI = cicli di clock della CPU per un programma numero istruzioni T CPU = numero istruzioni * CPI * durata del ciclo di clock = numero istruzioni * CPI Frequenza di Clock T CPU = CI * CPI * T CLOCK = CI * CPI f CLOCK Introducendo nella prima formula le unità di misura, si può notare in che relazione stiano i vari componenti: Istruzioni cicli di clock Programma * Istruzione * Secondi ciclo di clock = Secondi Programma = tempo di CPU Cristina Silvano pag 23

24 Numero totale di cicli di clock n cicli di clock della CPU = (CPIi * Ii) i=1 Ii = numero di volte che l'istruzione di tipo i viene eseguita in un programma CPIi = numero di cicli di clock per l istruzione di tipo i. Questa formula può essere usata per esprimere il tempo di CPU come n T CPU = (CPIi * Ii) * T CLOCK i=1 Cristina Silvano pag 24

25 Nuova espressione di CPI CPI = n (CPIi * Ii) n i=1 numero istruzioni = i=1 (CPIi * Ii numero istruzioni ) Ogni singolo CPIi viene moltiplicato per la frazione delle occorrenze nel programma: n CPI = (CPIi * fi) i=1 Cristina Silvano pag 25

26 Esempio Si consideri un calcolatore in grado di eseguire le istruzioni riportate in tabella. Calcolare CPI e il tempo di CPU per eseguire un programma composto da 100 istruzioni supponendo di usare una frequenza di clock pari a 500 MHz. Frequenza cicli di clock ALU 43% 1 Load 21% 4 Store 12% 4 Branch 12% 2 Jump 12% 2 Risposta CPI = 0.43 * * * * * 2 = 2.23 T CPU = CI * CPI * T clock = 100 * 2.23 * 2 ns = 446 ns Cristina Silvano pag 26

27 MIPS = milioni di istruzioni per secondo MIPS = numero istruzioni tempo di esecuzione * 10 6 Essendo: tempo di esecuzione = numero istruzioni * CPI frequenza di clock MIPS = frequenza di clock CPI * 10 6 Poiché i MIPS sono la frequenza delle operazioni per unità temporale, le prestazioni per le macchine più veloci che hanno elevati valori di MIPS, possono venire specificate come l'inverso del tempo di esecuzione. La caratteristica positiva del MIPS è che risulta semplice da comprendere infatti le macchine più veloci hanno valori di MIPS più elevati. Cristina Silvano pag 27

28 MIPS: 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! 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. Cristina Silvano pag 28

29 MIPS relativo MIPS relativo = tempo CPU di riferimento tempo CPU da valutare * MIPS CPU di riferimento Tempo CPU di riferimento = tempo di esecuzione di un programma sulla macchina di riferimento Tempo CPU da valutare = tempo di esecuzione dello stesso programma sulla macchina da valutare MIPS CPU di riferimento = MIPS accertato per la macchina di riferimento Negli anni ottanta la principale macchina di riferimento è stata il VAX 11/780, detta la macchina da 1 MIPS. Il vantaggio del MIPS relativo è piccolo: bisogna conoscere il tempo di esecuzione, il programma ed i suoi dati di ingresso per avere informazioni significative. Cristina Silvano pag 29

30 Benchmark = Programmi per valutare le prestazioni 1. Programmi reali Pur non sapendo il venditore quale frazione del tempo sarà dedicata a questi programmi, egli sa che alcuni utenti li useranno per risolvere problemi reali. Le prestazioni sono valutate meglio eseguendo un applicazione reale che rappresenti un tipico carico di lavoro. 2. Benchmark ridotti Tentativi di circoscrivere piccoli pezzi chiave dai programmi. 3. Benchmark sintetici Cercano di simulare la frequenza media degli operandi e delle operazioni di un vasto insieme di programmi. SPEC (System Performance Evaluation Cooperative) Cristina Silvano pag 30

31 Media aritmetica dei tempi di esecuzione Una media dei tempi di esecuzione che rispetta il tempo di esecuzione totale è la media aritmetica (arithmetic mean) 1 n n Tempoi i=1 tempo i è il tempo per il programma i-esimo degli n programmi che costituiscono il carico di lavoro. Cristina Silvano pag 31

32 Media aritmetica pesata dei tempi di esecuzione Se il carico di lavoro è composto da un insieme di programmi non eseguiti tutto lo stesso numero di volte, si assegna un peso wi ad ognuno di essi per indicare la frequenza relativa del programma entro il carico di lavoro. Si usa quindi una media aritmetica pesata (weighted arithmetic mean): n (Peso i * Tempo i ) i=1 dove Peso i rappresenta la frequenza del programma i-esimo entro il carico di lavoro e Tempo i è il tempo di esecuzione di tale programma. Cristina Silvano pag 32

33 Esercizio (1) (1) Un programma resta in esecuzione per 1 sec, su un processore dotato di ciclo di clock di 50 nsec, con Throughput 1 = 15 MIPS. Quanto vale il CPI, per il programma in questione? (2) Si supponga ora che, grazie a una qualche tecnica di ottimizzazione, il throughput del programma venga aumentato. Nella nuova situazione, il 40% delle istruzioni del programma viene eseguito con CPI = 1, mentre la frazione di istruzioni rimanente (ovvero il 60%) viene eseguito con CPI invariato. Quanto vale lo SpeedUp (accelerazione) passando dal caso (1) al caso (2)? Quanto vale il Throughput 2 in MIPS? Cristina Silvano pag 33

34 Esercizio (2) (1) Un programma resta in esecuzione per 1 sec, su un processore dotato di ciclo di clock di 100 nsec, con CPI 1 = 1,5. Quanto vale il Throughput (o frequenza di operazione), misurato in MIPS? (2) Si supponga ora che, grazie a una qualche tecnica di ottimizzazione, il 30% delle istruzioni del programma venga eseguito con CPI = 1 e che la frazione di istruzioni rimanente (ovvero il 70%) venga eseguito con CPI invariato. Quanto vale il Throughput misurato in MIPS? Quanto vale lo SpeedUp (accelerazione) passando dal caso (1) al caso (2)? Cristina Silvano pag 34

35 Esercizio (3) (1) Un programma resta in esecuzione per 1 sec, su un processore dotato di ciclo di clock di 50 nsec, con Throughput 1 = 10 MIPS. Quanto vale il CPI per il programma in questione? (2) Si supponga ora che, grazie all'aggiunta di superscalarità, il Throughput del programma venga aumentato. Nella nuova situazione, il 50% delle istruzioni del programma viene eseguito con grado superscalarità 3, mentre la frazione di istruzioni rimanente viene eseguita con grado di superscalarità 1. Quanto vale lo SpeedUp (accelerazione) passando dal caso (1) al caso (2)? Quanto vale il Throughput 2 in MIPS? Cristina Silvano pag 35

36 Prestazioni della gerarchia di memoria HIT MISS HIT RATE successo del tentativo di accesso al livello superiore della gerarchia fallimento del tentativo di accesso al livello superiore della gerarchia l'indirizzo deve essere cercato nel livello inferiore percentuale dei tentativi di accesso al livello superiore della gerarchia che hanno avuto successo # successi HIT RATE = # accessi a memoria MISS RATE percentuale dei tentativi di accesso al livello superiore della gerarchia che sono falliti # fallimenti MISS RATE = # accessi a memoria HIT RATE + MISS RATE = 1 Cristina Silvano pag 36

37 Prestazioni della gerarchia di memoria (cont.) Obiettivo principale della gerarchia di memoria = Incrementare le prestazioni Importante la velocità di accesso sia in caso di hit sia in caso di miss. HIT TIME tempo di accesso al livello superiore (che comprende anche il tempo necessario per determinare se l'accesso ha successo oppure fallisce) MISS PENALTY o PENALIZZAZIONE DI FALLIMENTO 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 MISS TIME = HIT TIME + MISS PENALTY Cristina Silvano pag 37

38 Prestazioni della gerarchia di memoria (cont.) Il TEMPO DI ACCESSO è legato al tempo di latenza del livello inferiore, mentre il TEMPO DI TRASFERIMENTO è legato alla larghezza di banda del canale tra i due livelli di memoria. Il TEMPO MEDIO DI ACCESSO ALLA MEMORIA risulta: T m = HIT RATE HIT TIME + MISS RATE MISS TIME dove: MISS TIME = HIT TIME + MISS PENALTY HIT RATE + MISS RATE = 1 Tm = HIT TIME + MISS RATE MISS PENALTY Cristina Silvano pag 38

39 Impatto delle prestazioni della cache sul tempo di CPU Il tempo di CPU è composto da cicli che la CPU spende eseguendo il programma e da cicli che la CPU trascorre in attesa di risposta dal sottosistema di memoria. T CPU = (cicli di clock della CPU in esecuzione + cicli di clock stallo di memoria) T CLOCK dove T CLOCK = durata del ciclo di clock Hp) Tutti gli stalli di memoria sono dovuti a fallimenti di accesso alla cache; Hp) I cicli di clock utilizzati per un accesso alla cache riuscito (HIT) sono inclusi nei cicli di clock della CPU in esecuzione; Cristina Silvano pag 39

40 Impatto delle prestazioni della cache sul tempo di CPU cicli di clock stallo di memoria = #accessi a memoria MISS RATE MISS PENALTY Fattorizzando il CI si ricava: tempo di CPU = CI (CPI ESECUZ + # accessi a memoria ISTRUZIONE MISS RATE MISS PENALTY) T CLOCK CPI CON CACHE = CPI ESECUZ + # accessi a memoria ISTRUZIONE MISS RATE MISS PENALTY CASO IDEALE (100% HIT): CASO SENZA CACHE (100% MISS): CPI CACHE IDEALE = CPI ESECUZ CPI SENZA CACHE = CPI ESECUZ + # accessi a memoria ISTRUZIONE MISS PENALTY Cristina Silvano pag 40

41 Esercizio: Si consideri il VAX-11/780. La penalizzazione di fallimento è di 6 cicli di clock, mentre tutte le istruzioni impiegano 8.5 cicli di clock se si ignorano gli stalli di memoria. Ipotizzando un miss rate dell'11% e che vi siano in media 3 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? Risposta MISS PENALTY = 6 CPI ESECUZ = 8.5 MISS RATE = 0.11 # accessi a memoria ISTRUZIONE = 3 CPI CON CACHE = # accessi a memoria CPI ESECUZ + ISTRUZIONE = = MISS RATE MISS PENALTY = Cristina Silvano pag 41

42 CASO IDEALE (100% HIT): CPI CACHE IDEALE = CPI ESECUZ = 8.5 CASO SENZA CACHE (100% MISS): CPI SENZA CACHE = CPI ESECUZ + # accessi a memoria ISTRUZIONE MISS PENALTY = * 6 = 26.5 CPI CON CACHE CPI CACHE IDEALE = = 1.23 CPI CON CACHE CPI SENZA CACHE = = 0.4 In pratica, l impatto della gerarchia di memoria rispetto alla cache ideale comporta un incremento del tempo di CPU pari al 23% essendo il tempo di CPU proporzionale al CPI (a parità di CI e T CLOCK ): Tempo di CPU = CI CPI T CLOCK Cristina Silvano pag 42

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: [email protected] Cristina Silvano pag 1 Valutazione delle prestazioni

Dettagli

Valutazione delle prestazioni

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

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Trend tecnologico: Capacità della Memoria Capacità chip DRAM DRAM Year Size 1980 64 Kb 1983 256 Kb 1986 1 Mb 1989 4 Mb 1992 16 Mb 1996 64 Mb 1999 256 Mb 2002 1 Gb Incremento

Dettagli

La Valutazione delle Prestazioni

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

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

Esercizi sulle prestazioni delle memorie cache

Esercizi sulle prestazioni delle memorie cache Esercizi sulle prestazioni delle memorie cache Prof. Alberto Borghese Dott. Massimo Marchi Dipartimento discienzedell Informazione dell [email protected] Università degli Studi di Milano A.A. 2012

Dettagli

PRESTAZIONI. senza e con memoria cache

PRESTAZIONI. senza e con memoria cache PRESTAZIONI del processore MIPS pipeline senza e con memoria cache Prestazioni del processore GENERICO (P&H pp 29 31) Definizioni dei parametri di prestazione fondamentali del processore: sia P una prova,

Dettagli

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può

Dettagli

Soluzione Esercizio 1

Soluzione Esercizio 1 Esercizio 1 Si consideri una notazione binaria in virgola mobile a 16 bit, detta ALFA, di cui (nell ordine da sinistra a destra) si usa 1 bit per il segno (0=positivo), 6 bit per l esponente, che è rappresentato

Dettagli

Architettura hardware

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

Dettagli

Criteri di caratterizzazione di una memoria

Criteri di caratterizzazione di una memoria La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità

Dettagli

Prestazioni & Co: CPU, Memoria, I/O

Prestazioni & Co: CPU, Memoria, I/O Prestazioni & Co: CPU, Memoria, I/O CPU - progettazione - prestazioni ideali Panoramica Memoria - gerarchie di memoria: cache, memoria principale, etc. - organizzazione, dimensionamento, indirizzamento,

Dettagli

Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms

Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms Esercitazioni I/O Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un elaborazione su questi, e quindi li riscrive su disco. Le tre fasi non hanno sovrapposizioni.

Dettagli

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

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Von Neumann Bottleneck

Von Neumann Bottleneck Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo

Dettagli

La gerarchia delle memorie. Sommario

La gerarchia delle memorie. Sommario La gerarchia delle memorie Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimento Patterson: Sezioni 5.1, 5.2 1/37 http:\\homes.dsi.unimi.it\

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

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

Dettagli

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile) Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

Cicli di clock e istruzioni

Cicli di clock e istruzioni Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori a.a. 2013/14 appello straordinario, 13 aprile 2015 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 Si consideri la seguente gerarchia di memoria memoria

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1 Esercizio 1 Sia data una memoria cache di tipo a indirizzamento diretto (direct-mapped), con blocchi di dimensioni pari a una sola parola per blocco, e contenente. La parola è lunga 16 bit, e la memoria

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET: Università degli Studi di Milano Corso Architettura degli elaboratori e delle reti Prof. Cristina Silvano A.A. 2004/2005 Esame scritto del 15 luglio 2005 Cognome: Matricola: Nome: Istruzioni Scrivere solo

Dettagli

Lezione4: MIPS e Istruzioni (1 Parte)

Lezione4: MIPS e Istruzioni (1 Parte) Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi [email protected] http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA

Dettagli

Il modello di von Neumann

Il modello di von Neumann 1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione su Gerarchie di Memoria Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,

Dettagli

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi G L O S S A R I O BIT: acronimo di Binary Digit. E l unità elementare di informazione. Può assumere solo il valore 0 o 1. CALCOLATORE: macchina che opera la trasformazione dei dati (informazioni) HARDWARE:

Dettagli

LEZIONE 2 Il processore e la memoria centrale

LEZIONE 2 Il processore e la memoria centrale Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili

Dettagli

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a) Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

Dettagli

Implementazione semplificata

Implementazione semplificata Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento

Dettagli

Lezione 22 La Memoria Interna (1)

Lezione 22 La Memoria Interna (1) Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia

Dettagli

Il modello di Von Neumann

Il modello di Von Neumann Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli