|
|
|
| Table 10.17 Sample area/cache analysis (fully associative cache). |
| | Line Size | | | | | | | | Cache size (KB) | | | | | | | | Lines | | | | | | | | Tag bits/line | | | | | | | | Tag memory size (KB) | | | | | | | | Total cache size (KB) | | | | | | | | % cache overhead | | | | | | | | Does it fit? | | | | | | | | Cache miss rate | | | | | | | | Split cache area | | | | | | | | Does split cache fit? | | | | | | |
|
|
|
|
|
|
sizes. It compares the resulting total area to the available area for cache and narrows down the possible organizations. |
|
|
|
|
|
|
|
|
Given a certain target data cache size, the smaller line size implementations simply do not fit in the given area. Set associativity of 8 gives us the greatest reduction in cache miss ratio, yet provides a relatively low tag memory overhead. Increasing line sizes has the greatest effect in reducing tag memory overhead. |
|
|
|
|
|
|
|
|
In this study, we assume that the cache implementation is not the critical path of the processor. Increasing the associativity does not penalize cycle time. What we can consider is the area cost due to associativity, along with the cost of comparators. We consider the cases of direct-mapped, 2,4,8 set associative, and fully associative. More associativity reduces the miss rate, but also results in larger tag memory comparator and muxing cost. |
|
|
|
|
|
|
|
|
The memory design has been simplified because of the various assumptions. Since the DRAM chip we are required to use is 4M * 8 with memory size of 64 MB, we can determine the possible interleaving factors: |
|
|
|
|
| Physical Word Size | Interleaving | | | | |
|
|
|
|
|
|
The performance increase with wider interface has to be greater than 5% in order to outweigh the 5% cost. Once the interleaving is determined, Tline can be calculated for different line sizes: |
|
|
|
|
|