Wiem, jak obliczyć CPI
lub cykle na instrukcję z współczynniki trafień i chybień, ale nie wiem dokładnie, jak obliczyć miss ratio
, który wyniósłby 1 - hit ratio
, jeśli się nie mylę. Wiem, że współczynnik trafień jest obliczany przez podzielenie trafień / wejść, ale problem mówi, że biorąc pod uwagę liczbę trafień i chybień, oblicz współczynnik chybienia.
Moje rozumowanie jest takie, że mając liczbę trafień i chybień faktycznie mamy liczbę dostępów = trafienia + chybienia, więc faktyczna formuła byłaby następująca:
hit_ratio = trafienia / (trafienia + chybienia)
Tak więc współczynnik chybienia wyniósłby
miss_ratio = 1 – hit_ratio
Jeśli moje rozumowanie jest poprawne, prawda?
Jakie jest opóźnienie trafienia i chybienia? Ponieważ potrzebuję ich do obliczenia mean access time
przy użyciu współczynników trafień i chybień oraz latencji trafień i chybień (w cyklach) …
Odpowiedz
Tak. Współczynnik trafień to odsetek wejść, które są trafieniami. Współczynnik chybienia to ułamek dostępu, który jest chybiony. Stwierdza, że $$ \ text {miss rate} = 1- \ text {hit rate}. $$
Opóźnienie (hit / miss) (czas dostępu AKA) to czas potrzebny na pobranie dane w przypadku trafienia / chybienia. Jeśli dostęp był trafiony – ten czas jest raczej krótki, ponieważ dane są już w pamięci podręcznej. Ale jeśli to była chybiona – ten czas jest znacznie dłuższy, ponieważ (wolna) pamięć L3 musi być dostępna. Opóźnienie zależy od specyfikacji twojego komputera: szybkości pamięci podręcznej, szybkości wolnej pamięci itp.
mean access time
, o którym ci mówiłem?total_number_of_cycles
= $ X * 0,30 $ + $ Y * 0,70 $. Ale nadal nie mamy średniej z czegoś, musimy to podzielić przez całkowity czas:mean_access_time
=total_number_of_cycles
/ 1.0, czy to prawda?