Pipeline and vector processors often require simultaneous access to memory from multiple sources. A modular memory system allows this by partitioning memory into multiple modules, each with their own address and data registers connected to common buses. This memory interleaving technique assigns different address ranges to different modules. A vector processor using an n-way interleaved memory can fetch n operands simultaneously, reducing effective memory cycle time close to the number of modules. Instruction pipelines also benefit from multiple independent memory modules.