This book provides a systematic and unified methodology, including basic
principles and reusable processes, for dynamic memory management (DMM)
in embedded systems. The authors describe in detail how to design and
optimize the use of dynamic memory in modern, multimedia and network
applications, targeting the latest generation of portable embedded
systems, such as smartphones. Coverage includes a variety of design and
optimization topics in electronic design automation of DMM, from
high-level software optimization to microarchitecture-level hardware
support. The authors describe the design of multi-layer dynamic data
structures for the final memory hierarchy layers of the target portable
embedded systems and how to create a low-fragmentation, cost-efficient,
dynamic memory management subsystem out of configurable components for
the particular memory allocation and de-allocation patterns for each
type of application. The design methodology described in this book is
based on propagating constraints among design decisions from multiple
abstraction levels (both hardware and software) and customizing DMM
according to application-specific data access and storage behaviors.