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.