Domande

Commenti

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