Skip to Main Content
As future superscalar processors employhigher issue widths, an increasing number of load/storeinstruckionsneeds to be executed each cycIe to sustain highperformance. Multi-bank data caches attempt to addressthis issue in a cost-effective way. R multi-bank cache consistsof multiple cache banks that each support one load/storeinstructionper clock cycle. The interleaving of cache blocksover the banks is of primary importance. Two commonchoices are block-interleaving and word-interleaving. ACthough word-interleaving leads to higher PC, it is moreexpensive to implement than block-interIeaving since it rpquires the tag array of the cache to be multi-ported.By swapping the bits in the effective addresa that are usedby word-interleaving with those used by block-interleaving,it is possible to implement a word-interleaved cache with thesame cost, cycle time and power consumption of a blockinterleavedcache. Because thIs makes the L1 data cacheblocks sparse, additional costs are incurred at different levelsof the memory hierarchy.