Memory Allocation Problems in Embedded Systems: Optimization Methods
Embedded systems are everywhere in contemporary life and are supposed to make our lives more comfortable. In industry, embedded systems are used to manage and control complex systems (e.g. nuclear power plants, telecommunications and flight control) and they are also taking an important place in our daily activities (e.g. smartphones, security alarms and traffic lights).
In the design of embedded systems, memory allocation and data assignment are among the main challenges that electronic designers have to face. In fact, they impact heavily on the main cost metrics (power consumption, performance and area) in electronic devices. Thus designers of embedded systems have to pay careful attention in order to minimize memory requirements, thus improving memory throughput and limiting the power consumption by the systems memory. Electronic designers attempt to minimize memory requirements with the aim of lowering the overall system costs.
A state of the art of optimization techniques for memory management and data assignment is presented in this book.
Introduction ix
Chapter 1. Context 1
1.1. Embedded systems 2
1.1.1. Main components of embedded systems 3
1.2. Memory management for decreasing power consumption, performance and area in embedded systems 4
1.3. State of the art in optimization techniques for memory management and data assignment 8
1.3.1. Software optimization 9
1.3.2. Hardware optimization 11
1.3.3. Data binding? 16
1.3.3.1. Memory partitioning problem for low energy 17
1.3.3.2. Constraints on memory bank capacities and number of accesses to variables 18
1.3.3.3. Us