Jadhav, ShashankShashankJadhavFalk, HeikoHeikoFalk2025-04-232025-04-232025-04-09Real-Time Systems (in Press): (2025)https://hdl.handle.net/11420/55419Real-time embedded systems need to meet timing and energy constraints to avoid potential disasters. Compiler-level ScratchPad Memory (SPM) allocation can be used to optimize a program’s Worst-Case Execution Time (WCET) and energy consumption. However, static allocation is limited by SPM size constraints. Dynamic SPM allocation resolves this by allocating code to SPM during runtime, but copying code using the CPU increases WCET and energy consumption. To address this, we integrate a Direct Memory Access (DMA) model and DMA analysis at the compiler level and propose a single-objective DMA Call Placement Optimization (DCPO). In this paper, we consider functions and loops as dynamic allocation candidates. DCPO finds appropriate places within the code to place DMA transfer calls such that the DMA controller and the CPU run parallelly—minimizing the total execution time required by the DMA controller for dynamic allocation of functions and loops during runtime. Additionally, we propose a compiler-level DMA-aware multi-objective dynamic SPM allocation that uses DCPO and simultaneously minimizes WCET and energy objectives, yielding Pareto optimal solutions. Comparative evaluations demonstrate the superiority of our approach over state-of-the-art multi- and single-objective optimizations.en1573-1383Real-time systems2025Springerhttps://creativecommons.org/licenses/by/4.0/DMA | Dynamic SPM allocation | Embedded systems | ILP | Metaheuristic algorithms | Multi-objective optimizationComputer Science, Information and General Works::004: Computer SciencesTechnology::621: Applied Physics::621.3: Electrical Engineering, Electronic EngineeringCompiler-level DMA-aware multi-objective dynamic SPM allocationJournal Articlehttps://doi.org/10.15480/882.1510410.1007/s11241-025-09436-w10.15480/882.15104Journal Article