The average memory access time for a microprocessor with first level cache is $3$ clock cycles.
- If data is present in the cache, it is found in $1$ clock cycle.
- If data is not found in the cache, $100$ clock cycles are needed to get it from off-chip memory.
It is desired to obtain a $50 \%$ improvement in average memory access time by adding a second level cache.
- This second level cache can be accessed in $6$ clock cycles.
- The addition of this second level cache does not affect the first level cache.
- Off-chip memory accesses still require $100$ clock cycles.
To obtain the desired speedup, how often must data be found in the second level cache?
b. Two modules $M_1$ and $M_2$ of an old machine are being replaced by their improved versions $M_3$ and $M_4$, respectively in a new machine. With respect to the old machine, the speed-up of these modules ($M_3$ and $M_4$) are $30$ and $20$, respectively. Only one module is usable at any instant of time. A program $P$, when run on the old machine, uses $M_1$ and $M_2$ for $30 \%$ and $20 \%$ of the total execution time, respectively. Calculate the overall speed-up of $P$ when it is executed on the new machine.