612 views
7 votes
7 votes
Assume a main memory access time of $64\;ns$ and a memory system capable of a sustained transfer rate of $16$ GBps. If the block size is $64$ bytes, what is the maximum number of outstanding misses we need to support assuming that we can maintain the peak bandwidth given the request stream and that accesses never conflict. For simplicity, ignore the time between misses.

2 Answers

Best answer
10 votes
10 votes
Assuming that we can maintain the peak bandwidth, the memory system can support $(16 \times 10^9)/64 = 250$ million block references per second.

Since, a cache miss takes $64\;ns,$ in worst case (assume all accesses to be misses) we need to support $250 \times 10^6 \times 64 \times 10^{-9} = 16$ outstanding misses.
selected by
1 votes
1 votes

In addition to the best answer

Outstanding means, it hasn't been resolved. In the case of cache misses, that means the data request has not been serviced yet. When a cache miss happens, it has to fetch the data from the next level cache/memory, until this data arrives, you need to hold this request somewhere. You've got two options in this situation. Either block the entire cache, until data from the next level arrives. This is the easiest to implement, but quite bad in terms of performance. On the other hand, you could save the information about this data request somewhere, and carry on servicing others. This is is much better in terms of performance. Now, coming to this "place" where you are going to store information about the pending cache miss, this is a hardware structure. So you can only have finite number of "outstanding" misses. Number of entries in this buffer, is what is being provided as the number of outstanding cache misses.

Extra read: https://courses.cs.washington.edu/courses/csep548/06au/lectures/cacheAdv.pdf

Answer:

Related questions

6 votes
6 votes
1 answer
1
gatecse asked Aug 3, 2020
549 views
Consider a direct mapped cache of size $16$ KB and block size $64$ bytes and using LRU replacement. Initially the cache is empty. The following sequence of access to memo...
4 votes
4 votes
1 answer
3
10 votes
10 votes
1 answer
4
gatecse asked Aug 3, 2020
824 views
Consider a CPU with an average CPI of $1.4$ when all memory accesses hit on the cache.Assume an instruction mix$$\begin{array}{|c | c|}\hline\text{ALU }& 45\%\\\text{LOAD...