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.

Komentarze

  • Czy możesz pokaż mi prosty przykład, jak obliczyć mean access time, o którym ci mówiłem?
  • średni czas dostępu == średni czas potrzebny na dostęp do pamięci . Jeśli potrzeba X cykli na trafienie i Y cykli w przypadku chybienia, a 30% przypadków to trafienie (czyli 70% to chybienie) – > jaka jest średnia (średni) czas potrzebny do uzyskania dostępu ??
  • Cóż, wiemy, że X $ * 0,30 $ to całkowita liczba cykli, w których mamy trafienie, i że odpowiednio $ Y * 0,70 $ to suma liczba cykli, w których mamy błąd, dlatego całkowita liczba cykli jest sumą obu: 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?
  • @RanG. Czy możesz rzucić okiem na moje pytanie dotyczące trafień / błędów w pamięci podręcznej? cs.stackexchange.com/questions/43235/…

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *