A Cost/Performance Analysis
Chris Metcalf · 1993
This paper attempts to answer the question, “To what extent is pre-fetchingeffectiveinhidingmemorylatency,andwhatistheminimalamount of hardware required to support prefetching?” We beginby providing a classification of the different kinds of prefetching,and reconciling the various common performance metrics to allowfair comparisons. We then put forward an analytical model thatgives the potential speedup with prefetching. We next detail thenon-binding software prefetch technique and examine its perfor-mance, both with hand-inserted and compiler-inserted prefetches.We consider an elaborate hardware scheme meant to replace thesoftware schemes entirely; then look at more reasonable schemesrequiring only minimal extra hardware, and assesshow much theyadd to the simple software prefetching model. We conclude withrecommendationsfor CPU/cachearchitects.