CACHE SUBSYSTEMS
block. When a needed word is not in the cache, the cache controller moves not only the needed word from the main memory into the cache, but also the entire block that con- tains the needed word.
A block fetch can retrieve the data located before the requested byte
accessed in descending order, the block fetch is | . |
Block size is one of the most important parameters in the design of a cache memory system. If the block size is too small, the
"Larger blocks reduce the number of blocks that fit into a cache. Because each block fetch overwrites older cache contents, a small number of blocks results in data being overwritten shortly after it is fetched.
"As a block becomes larger, each additional word is further from the requested word, therefore less likely to be needed by the processor (according to program locality).
"Large blocks tend to require a wider bus between the cache and the main memory, as well as more static and dynamic memory, resulting in increased cost.
As with all cache parameters, the block size must be determined by weighing perfor- mance (as estimated from simulation) against cost.
7.2 CACHE ORGANIZATIONS
7.2.1Fully Associative Cache
Most programs make reference to code segments, subroutines, stacks, lists, and buffers. located in different parts of the address space. An effective cache must therefore hold several noncontiguous blocks of data.
Ideally, a