Zeitdurchschnitt für zwei Caches, CPU und RAM

Geben Sie hier die Bildbeschreibung ein

Ich habe eine CPU mit zwei Caches, L1 und L2, mit Zugriffszeit T1 bzw. T2. und Die Zeit zum Zugreifen auf RAM ist Tm. Die Trefferquote für L1 ist a und die Trefferquote für L2 ist b.

Ist die mathematische Art des Zeitdurchschnitts dies oder nicht?:

Durchschnitt = aT1 + (1-a)T2 + (1-ab)Tm

(T1 , T2 << Tm)

Antworten (1)

Fast richtig. Eine in der Frage nicht erwähnte Subtilität besteht darin, dass ein Zugriff auf den Speicher der nächsten Ebene im Allgemeinen nicht gestartet wird, bis bekannt ist, dass der Zugriff auf die aktuelle Ebene ein Fehlschlag war.

Dies bedeutet, dass ALLE Zugriffe Zeit T1 benötigen, unabhängig davon, ob sie in L1 getroffen werden. In ähnlicher Weise benötigen (1-a)-Zugriffe zusätzliche Zeit T2, unabhängig davon, ob sie in L2 treffen oder nicht. Und dann wird (1-b) der Zugriffe auf L2 auch die Strafe eines Hauptspeicherzugriffs nach sich ziehen.

Die endgültige Gleichung wird also

T A v e R A G e = T 1 + ( 1 A ) T 2 + ( 1 A ) ( 1 B ) T M