Rather than treat the cache as a single monolithic block, we can divide it into
independent banks that can support simultaneous accesses. Banks were originally used to improve performance of main memory and are now used inside modern
DRAM chips as well as with caches. The Arm Cortex-A8 supports one to four
banks in its L2 cache; the Intel Core i7 has four banks in L1 (to support up to 2
memory accesses per clock), and the L2 has eight banks.