Corsi di Laurea
ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.
Accetto l'uso dei cookie
Codice 1:
18 istruzioni di load
16 istruzioni di store
18 istruzioni di salto
48 istruzioni logico-aritmetiche.
allora l'esercizio ti fornisce hit rate per dati e istruzioni diversi per i due codici:
codice1
hit rate per le istruzioni 0.96
miss rate 0.04
hit rate per i dati 0.83
miss 0.17
andiamo a calcolare il CPI per ogni istruzione:
load:
fetch : 1*0.96+10*0.04= 1.96
decode: 1
calcolo in.mem: 1
accesso al dato: 1*0.83+10*0.17 =2.53
scrittura reg.: 1
CPI= 6.89
Store
fetch : 1*0.96+10*0.04= 1.96
decode: 1
calcolo in.mem: 1
accesso al dato: 1*0.83+10*0.17 =2.53
CPI= 5.89
Salto
fetch : 1*0.96+10*0.04= 1.96
decode: 1
calcolo dell'indrizzo: 1
CPI = 3.36
aritmetico logiche:
fetch : 1*0.96+10*0.04= 1.96
decode: 1
esecuzione: 1
scrittura risultato: 1
CPI = 4.36
partendo da queste premesse possiamo calcolare il tempo di esecuzione del codice1:
T1= (18*6.89)+(16*5.89)+(18*3.36)+(48*4.36)= 124.02+94.24+60.48+209.28=488
si fa la stessa cosa col codice 2 calcoliamo la CPI di ogni tipo di istruzione,tenendo in considerazione il relativo hit rate e miss rate, infine andiamo a calcolare il tempo T2.
Secondo i miei calcoli T1 viene eseguito più velocemente di T2
Scusate se riapro dopo 2 anni.
Nel caso in cui non viene specificata la HR per le istruzioni e quella per i dati, ma solo la HR della cache di primo e secondo livello, si procede allo stesso modo? Ovviamente prendendo sempre in considerazione la stessa HR sia per le istruzioni che per i dati?
Esempio per le istruzioni di load:
Cache L1: HitRate=0.83 MissRate=0.17
Cache L2: HitRate=0.9 MissRate=0.1 Tempo di accesso=3 volte L1
Mem Centrale: tempo di accesso=15 volte L1
load:
fetch : 1*0.83+3*0.17*0.9+15*0.17*0.1= 1.544
decode: 1
calcolo in.mem: 1
accesso al dato: 1*0.83+3*0.17*0.9+15*0.17*0.1= 1.544
scrittura reg.: 1
CPI= 6.088
Giusto? Inoltre per quale motivo la load ha un CPI in più rispetto la store? Vedendo i risultati delle slide load e store così come Al e salto hanno gli stessi CPI! Poi perchè calcolare i colpi di clock di ogni fase se il processore è in pipeline?
Non è specificato che il processore è pipeline, penso che ci si riferisca alla versione multiciclo del MIPS.
Se non viene specificata una hit rate diversa per istruzioni e dati sì, si fa per forza come hai scritto tu!
La load ha un CPI maggiore rispetto alla store perché deve fare anche la fase di WriteBack, che la store non ha (fa solo fetch, decode, execute e memory).
Per il resto non saprei dirti XD
0 utenti, 0 ospiti, 0 utenti anonimi