Ich bin hoffnungslos auf einem Hausaufgaben-Problem stecken, und ich würde gerne etwas helfen, es besser zu verstehen. Hier ist, was ich gegeben wurde:So berechnen Sie effektive CPI für einen 3-Level-Cache
- CPU Basis CPI = 2, Taktrate = 2GHz
- Primär-Cache Miss Rate/Instruction = 7%
- L-2-Cache-Zugriffszeit = 15 ns
- L-2-Cache, Local-Miss-Rate/Instruction = 30%
- L-3 Cache-Zugriffszeit = 30 ns
- L-3 Cache, globale Miss-Rate/Instruction = 3%, Hauptspeicherzugriffszeit = 150 ns
Was ist die effektive CPI?
Es ist mein Verständnis, dass ich die Miss Strafe für jede Cache-Ebene berechnen muss.
- L1 Miß penalty = Zugriffszeit von L2 = 15 ns/(1ns/2cc) = 30 Taktzyklen
- L2-Mißerfolg penalty = Zugriffszeit von L3 = 30 ns/(1ns/2cc) = 60 Taktzyklen
- L3 Miss penalty = Zugriffszeit von MM = 150 ns/(1 ns/2 cc) = 300 Taktzyklen
Jetzt brauche ich die effektiven CPI zu berechnen. Dies ist, wo ich ein bisschen verwirrt bin.
Ich glaube, die Formel sein sollte:
CPI = BaseCPI + (% L1 MR/Instr * L1 Fräulein Penalty) + (% L1 MR/Instr * % L2 MR/Instr * L2 Fräulein Penalty) + (% Global MR/Instr * L3 Fräulein Penalty)
Wenn ich das tue, erhalte ich
CPI = 2,0 + (0,07 * 30) + (0,07 * 0,3 * 60) + (0,03 * 30 0) = 14,36
Nach meinem Lehrer E-Mail, weil niemand in der Klasse, die 1-2 Minuten Erklärung der globalen und lokalen verstanden, wurde mir gesagt, dass meine Antwort ist in der Nähe, aber falsch. Wenn jemand etwas Einblick geben könnte, oder mich sogar auf ein gutes Tutorial hinweisen könnte, wäre ich dankbar. Ich kann verstehen, wie effektiv CPI für 1- und 2-Level-Caches herauszufinden. Den Sprung zu 3 zu machen, verwirrt mich.
Verwandte Diskussion: [http://stackoverflow.com/questions/20483999/calculating-actual-effective-cpi-for-3-level-cache/20617511](http://stackoverflow.com/questions/ 20483999/calcting-actual-effective-cpi-für-3-level-cache/20617511) – chus