Ich weiß, wie man die CPI oder Zyklen pro Befehl aus berechnet die Treffer- und Fehlerquoten, aber ich weiß nicht genau, wie ich die miss ratio berechnen soll, die 1 - hit ratio wäre, wenn ich mich nicht irre. Ich weiß, dass die Trefferquote durch Teilen von Treffern / Zugriffen berechnet wird, aber das Problem besagt, dass angesichts der Anzahl der Treffer und Fehler die Fehlerquote berechnet wird.

Meine Argumentation ist, dass die Anzahl der Treffer und Fehler, Wir haben tatsächlich die Anzahl der Zugriffe = Treffer + Fehler, daher lautet die tatsächliche Formel:

hit_ratio = Treffer / (Treffer + Fehler)

Die Fehlerquote wäre also

miss_ratio = 1 – hit_ratio

Wenn meine Argumentation richtig ist, richtig?

Was sind die Latenzzeiten für Treffer und Fehler? Weil ich sie brauche, um die mean access time unter Verwendung der Treffer- und Fehlerquoten sowie der Treffer- und Fehlerlatenzen (in Zyklen) zu berechnen …

Antwort

Ja. Die Trefferquote ist der Anteil der Zugriffe, bei denen es sich um Treffer handelt. Das Miss-Verhältnis ist der Anteil der Zugriffe, bei denen es sich um einen Miss handelt. Es gilt, dass $$ \ text {miss rate} = 1- \ text {hit rate}. $$

Die (Treffer- / Miss-) Latenz (AKA-Zugriffszeit) ist die Zeit, die zum Abrufen der benötigt wird Daten im Falle eines Treffers / Fehlschlags. Wenn der Zugriff ein Treffer war – diese Zeit ist ziemlich kurz, da sich die Daten bereits im Cache befinden. Aber wenn es ein Fehlschlag war – diese Zeit ist viel länger, da auf den (langsamen) L3-Speicher zugegriffen werden muss. Die Latenz hängt von der Spezifikation Ihres Computers ab: der Geschwindigkeit des Caches, der Geschwindigkeit des langsamen Speichers usw.

Kommentare

  • Können Sie Zeigen Sie mir ein einfaches Beispiel, wie Sie die mean access time berechnen, die ich Ihnen gesagt habe?
  • mittlere Zugriffszeit == die durchschnittliche Zeit, die für den Zugriff auf den Speicher benötigt wird . Wenn für einen Treffer X-Zyklen und für einen Fehlschlag Y-Zyklen erforderlich sind und 30% der Zeit ein Treffer sind (70% sind ein Fehlschlag) – > Was ist der Durchschnitt? (mittlere) Zeit, die für den Zugriff benötigt wird?
  • Nun, wir wissen, dass $ X * 0,30 $ die Gesamtzahl der Zyklen ist, in denen wir einen Treffer haben, und dass jeweils $ Y * 0,70 $ die Summe ist Anzahl der Zyklen, bei denen wir einen Fehler haben, daher ist die Gesamtzahl der Zyklen die Summe aus beiden: total_number_of_cycles = $ X * 0,30 $ + $ Y * 0,70 $. Aber wir haben immer noch keinen Durchschnitt von etwas, wir müssen es für die Gesamtzeit teilen: mean_access_time = total_number_of_cycles / 1.0, Ist es richtig?
  • @RanG. Können Sie sich meine Caching-Hit / Miss-Frage ansehen? cs.stackexchange.com/questions/43235/…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.