1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

Concetti teorici di base della tecnologia dell’informazione
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Algoritmi e Programmazione
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Esercizi sulle architetture
Programmazione Procedurale in Linguaggio C++
MICROCONTROLLORI Di Tiziano Ragazzi.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
1 Introduzione Necessità Misura delle prestazioni affidabili per sistemi di calcolo sempre più vari ed applicazioni evolute Definizione di insieme di programmi.
1 Introduzione Sistema di calcolo (1) Valutazione delle prestazioni (2) Metriche oggettive (3)
1 Introduzione Ottimizzazione di un sistema (per es. di calcolo) (1) Analisi dellimpatto delle varie soluzioni possibili (2) Legge di Amdhal (3) Scelta.
1 Introduzione Sistema di calcolo Valutazione dellimpatto delle varie modifiche sulle prestazioni globali del sistema Modifiche allarchitettura.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione SISTEMA DI CALCOLO Valutazione delle prestazioni Metriche oggettive di analisiRisultati oggettivi.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Introduzione Il concetto di prestazione si presta facilmente a valutazioni soggettive, spesso fuorvianti Metriche di analisi oggettive sono utili per.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Ottimizzazione SISTEMA DI CALCOLO Costi rilevanti PREVISIONE delleffetto dei MIGLIORAMENTI.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Criticità sul controllo
Criticità sul controllo
Introduzione alla programmazione lll
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.

3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
CPU (central process unit)
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Elementi di Informatica di base
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
Unità centrale di processo
Complessità di un algoritmo
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.
L’iterazione while La sintassi è la seguente: while (condizione) {
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
Architettura di una CPU
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
1 Introduzione Sistema di calcolo Valutazione dell’impatto delle varie modifiche sulle prestazioni globali del sistema Modifiche all’architettura.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Vettori (a una dimensione)
Calcolatori Elettronici Il Processore
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Architettura di un calcolatore e linguaggio macchina.
Informatica Generale Marzia Buscemi
Fondamenti di Informatica
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti Intervento #5.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Scheduler e politiche di Marco Arcamone.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Valutazione delle prestazioni
Transcript della presentazione:

1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni

2 Il tempo è la migliore misura delle prestazioni di un computer tempo di risposta: ritardo per completare un lavoro includendo accessi a disco, lettura memoria, attività di ingresso/uscita (I/O), … tempo di CPU: è il tempo osservato per l’esecuzione di un programma, epurato del tempo per attesa di I/O e quello legato alla presenza di altri programmi Il tempo è denaro Tempo di CPU = numero di cicli di Clock della CPU per eseguire un programma * durata di un ciclo di clock= numero di cicli di Clock della CPU per eseguire un programma/frequenza di clock

3 CPI – cicli di clock per istruzione CPI=cicli di clock della CPU per eseguire un programma numero di istruzioni del programma Tempo di CPU = numero istruzioni * CPI * periodo di clock = = numero di istruzioni * CPI frequenza di clock

4 CPI - nuova espressione CPI ì : numero medio di cicli di clock per istruzione i- esima (per es. Somma) numero di istruzioni di tipo i numero totale di istruzioni eseguite freq i =

5 Esempio FrequenzaCicli di clock per istruzione ALU43%1 Load21%2 Store12%2 Branch24%2 CPI = 0.43*1+0.21*2+0.12*2+0.24*2= 1.57 Media dei cicli di clock per istruzione=( )/4=1.75

6 MIPS – Milioni di Istruzioni per Secondo Tempo di esecuzione = numero di istruzioni MIPS * 10 6 MIPS = numero di istruzioni tempo di esecuzione * 10 6

7 MIPS: problemi MIPS = numero di istruzioni= tempo di esecuzione * 10 6 CPI * 10 6 frequenza di clock Dipende dall’insieme delle istruzioni: è difficile confrontare CPU di differenti produttori Varia a seconda del programma analizzato Può variare in modo inversamente proporzionale alle prestazioni!

8 MIPS relativo MIPS relativo = Tempo CPU riferimento * MIPS CPU riferimento Tempo CPU da valutare Negli anni ’80 la macchina di riferimento era il VAX11/780 della Digital, che era pertanto detto la macchina da 1 MIPS Piccoli vantaggi rispetto al MIPS Per avere informazioni significative bisogna sonoscere tempi di esecuzione, il programma e i dati di ingresso Con il passare degli anni i compilatori e i sistemi operativi non vengono più aggiornati per la macchina di riferimento

9 MFLOPS – milioni di operazioni in virgola mobile al secondo MFLOPS = numero di operazioni in virgola mobile in un programma tempo di esecuzione * 10 6 Sono basate su operazioni e non istruzioni Consentono di confrontare in modo più coerente anche macchine diverse I MFLOPS servono per misurare le prestazioni relative alle sole operazioni in virgola mobile

10 MFLOPS Normalizzati Le operazioni in virgola mobile hanno complessità realizzative e velocità di esecuzione molto differenti Normalizzazione: associazione di un peso alle operazioni in virgola mobile che ne rappresenti la difficoltà Operazioni realinormalizzazione ADD, SUB, COMPARE, MULT1 DIVIDE, SQRT,..4 EXP, SIN,...8 Ad esempio, un frammento di codice contenente un’operazione ADD e una DIVIDE e una SIN viene accreditata come 13 operazioni normalizzate in virgola mobile

11 Esempio di Approfondimento Un programma viene eseguito in 10s dal calcolatore A, che ha un clock di 400 MHz. Un progettista vuole realizzare una macchina B che esegue lo stesso programma in 6 s, modificando la frequenza di clock Tali modifiche richiederanno che la macchina B impieghi un numero di cicli 1.2 volte superiore a quello della macchina A A quale frequenza di clock deve puntare il progettista?

12 Soluzione tempo di CPU A = cicli di clock CPU A / freq. clock A 10 s = cicli di clock CPU A / Da cui tempo tempo di CPU A = cicli Similmente tempo di CPU B = 1.2 cicli di clock CPU A / freq. clock B 6 s = 1.2 * 4000 cicli / freq. clock B Da cui freq. clock B = 800 MHz

13 Riepilogo Per valutare le prestazioni di un calcolatore è importante riferisi al tempo di esecuzione dei programmi, che dipende fortemente dalla CPU Sono state proposte diverse misure, CPI, MIPS, MFLOPS,..., in modo da facilitare sia il confronto fra macchine, sia la predizione dei tempi di esecuzione di un programma Come si è visto l’assortimento delle istruzioni nei vari programmi e le modalità di esecuzione dei rilievi può influenzare fortemente i risultati cui si perviene

14 Test di autovalutazione - 1 É possibile che, in rari casi, una macchina più veloce nell’eseuguire un programma abbia un valore di MIPS più basso? a)Vero b)Falso

15 Test di autovalutazione - 2 –I MIPS e i CPI sono essenzialmente misure equivalenti. La loro principale differenza risiede nella facilità con la quale possono venire impiegate per confrontare differenti macchine

16 Test di autovalutazione - 3 Diversamente dai MIPS, i MFLOPS non sono una misura coertente di confronto fra diverse macchine e ciò accade poichè il numero di operazioni in virgola mobile per lo stesso programma varia fortemente fra i diversi calcolatori