|
|
|
|
|
|
Figure 5.26
Miss rate on cold-start cache including system activities (16-byte lines,
4-way set associative). |
|
|
|
|
|
|
|
|
justed for line size, etc.). Cold cache environments resemble the adjusted DTMR for small cache sizes. If Q is small enough, the cache never captures the working set or has relatively few instructions to amortize the effect of cache misses. As shown in Figure 5.26 (see Appendix A for other line sizes and associativity), increasing cache size beyond a certain critical point has only marginal advantage in these environments, since it is only the system working set that can be completely captured in the enlarged cache. For example (Figure 5.26), in a transaction environment where Q = 1,000, the use of a cache any larger than 4KB produces no noticeable improvement in miss rate. It is important that the designer carefully distinguish among the types of environments that the system is designed for. Clearly, it is a poor use of resources to design very large caches for a transaction environment, as the performance gain is minimal. |
|
|
|
|
|
|
|
|
For low degrees of multiprogramming (two users: MP = 2), as in Figure 5.25, the system behaves similarly to a single-user program with the system effects included. Principal portions of the working sets of both applications remain in the cache and are present when control passes back to the previous task. As the number of users (the MP level) increases, it becomes increasingly likely that when control returns to a task, all of its working set will have been removed. The system then resembles the cold cache case. (See Figure 5.22.) System effects on miss rate are summarized in Table 5.3. (See Appendix C for a discussion of how these results were derived.) |
|
|
|
|
|
|
|
|
So far we have considered only the simple integrated cache (also called a ''unified" cache) which contains both data and instructions. In the next several sections we consider various other types of cache. The list we present |
|
|
|
|
|