Memory Hierarchy in Cache-Based Systems