Clearly, banking works best when the accesses naturally spread themselves
across the banks, so the mapping of addresses to banks affects the behavior of
the memory system. A simple mapping that works well is to spread the addresses
of the block sequentially across the banks, called sequential interleaving. For
example, if there are four banks, bank 0 has all blocks whose address modulo 4
is 0, bank 1 has all blocks whose address modulo 4 is 1, and so on. Figure 2.6
shows this interleaving. Multiple banks also are a way to reduce power consumption
both in caches and DRAM.