But it looks like you were estimating transfer rate strictly from main memory, should i estimate the data transfer rate from main memory, and all levels of cache? Than maybe average them out?
Code:
Average effective memory access time is:
= TL1 + (1 - hL1) * TL2 + (1-hL2) * TL3 + (1-hL3) * TMain
= 2 + (1 – 0.91) * 14 + (1 - 0.96) * 38 + (1-0.99) * 120
= 2 + 0.09 * 14 + 0.04 * 38 + 0.01 * 120
= 5.98 nsec
Expected data transfer rate into the CPU is:
L1 cache = 1s / Ts
= 1s / 2nsec
= 1, 000, 000, 000 / 2
= 500, 000, 000 transfers per second
L2 cache = 1s / Ts
= 1s / 14nsec
= 1, 000, 000, 000 / 14
= 71, 428, 571 transfers per second
L3 cache = 1s / Ts
= 1s / 38nsec
= 1, 000, 000, 000 / 38
= 26, 315, 789 transfers per second
Main memory = 1s / Ts
= 1s / 120nsec
= 1, 000, 000, 000 / 120
= 8,333,333 transfers per second
Overall,
= [ (500, 000, 000) + (71, 428, 571) + (26, 315, 789) + (8,333,333) ] / 4
= 151, 519, 423 transfers per second