In application-specific designs, customized memory organization expands the
search space for cost-optimized solutions. Several optimization strategies
can be applied to embedded systems with several different memory architect
ures: data cache, scratch-pad memory, custom memory architectures, and dyna
mic random-access memory (DRAM).