2.4 Memory and Cache Architectures