Domande
Transcript
Domande
Lezione di Tutorato Di Architettura degli Elaboratori B 01/04/2005 ESERCIZI: Valutazione Prestazioni 1. Illustrare la necessità di avere programmi di benchmark accuratamente selezionati per valutare e comparare le prestazioni dei sistemi. Esemplificare rispetto ai benchmark SPEC. 2. Quali sono i fattori che influenzano il CPI medio misurato per l’esecuzione di un insieme di programmi su un’architettura multiciclo? 3. Il tempo di esecuzione di un programma dipende da CPI medio, frequenza di clock, e IC. Aumentare la frequenza del clock potrebbe influenzare il CPI? 4. Determinare il numero di cicli totali per completare il seguente loop MIPS in esecuzione sulla CPU multiciclo vista a lezione, considerando che $20 = 1024. Assumere che sia i dati e sia il codice siano presenti in cache all’inizio dell’esecuzione. add loop: sub sw addi bne $6, lw $9, $9, $6, $6, $0, $0 $9, 0($6) $9, $10 0($6) $6, 4 $20,loop Cosa viene calcolato nell'’11° ciclo? Quale è il CPI medio di questo codice MIPS? 5. Considerare due macchine M1 (a 3 GHz) ed M2 (a 1.5 GHz). La seguente tabella illustra le classi di istruzioni macchina, i relativi CPI medi e la distribuzione di probabilità delle istruzioni nei programmi considerati. Macchina M1 Classe Istr. CPI Distr. A 1 B 2 C 3 D 4 40% 30% 20% 10% Macchina M2 Classe Istr. CPI Distr. A 1 60% B 2 40% Supponendo di sapere che il codice prodotto, compilando lo stesso programma per le due piattaforme, ha identiche prestazioni sia per M1 che per M2, calcolare in che rapporto devono stare i numeri di istruzioni prodotte per i due programmi (ovvero, ICM1 e ICM2) perché ciò si verifichi. Ultima modifica: 01/04/2005 Luca Di Gesù 786959 Lezione di Tutorato Di Architettura degli Elaboratori B 01/04/2005 6. Per una certa architettura e per un certo compilatore A, i CPI medi per le varie classi di istruzioni sono i seguenti: CPIl/s = 2 CPIaritm = 1 CPIfp = 3 CPIb/j = 1.8 Il codice macchina prodotto da A contiene istruzioni delle varie classi, che appaiono con le seguenti percentuali: Percl/s = 30% Percaritm = 40% Percfp = 10% Percb/j = 20% Impiegando un nuovo compilatore, B, i CPI medi rimangono invariati, ma l' instruction count (IC) aumenta del 30%, mentre le percentuali delle varie classi di istruzioni diventano: Percl/s = 20% Percaritm = 60% Percfp = 10% Percb/j = 10% Calcolare quale dei due codici prodotti risulta avere il minor tempo di esecuzione e il relativo speedup. 7. Si supponga di aver migliorato una macchina in modo che le operazioni in virgola mobile risultino 5 volte più veloci. • Assumiamo che prima del miglioramento il tempo di esecuzione di un dato benchmark sia di 10s. Quale sarà lo speedup nel caso in cui il 50% dei 10s siano impiegati per l’esecuzione delle operazioni in virgola mobile? • Uno dei benchmark viene eseguito in 100s dal vecchio hardware: che peso devono avere le operazioni in virgola mobile perché sia possibile ottenere uno speedup pari a 3? Ultima modifica: 01/04/2005 Luca Di Gesù 786959 2