Energy-Efficient Shared Memory Architectures for Multi-processor System-on-Chip