Publication | Closed Access
Compiler-assisted demand paging for embedded systems with flash memory
62
Citations
12
References
2004
Year
Unknown Venue
Cluster ComputingEngineeringComputer ArchitectureEmbedded SystemsDemand PagingHardware SecurityHigh-performance ArchitectureParallel ComputingCompilersMemory ManagementInstruction-level ParallelismComputer EngineeringComputer ScienceSecondary StorageVirtual MemoryRuntime SystemEmbedded Operating SystemProgram AnalysisCompiler-assisted DemandApplication Specific DemandParallel ProgrammingSystem Software
In this paper, we propose a novel, application specific demand paging mechanism for low-end embedded systems with flash memory as secondary storage. These systems are not equipped with virtual memory. A small memory space called an execution buffer is allocated to page an application. An application-specific page manager manages the buffer. The manager is generated by a compiler post-pass and combined with the application image. Our compiler post-pass analyzes the ELF executable image of an application and transforms function call/return instructions into calls to the page manager. As a result, each function of the code can be loaded into memory on demand at run time. To minimize the overhead of demand paging, code clustering algorithms are also presented. We evaluate our techniques with five embedded applications. We show that our approach can reduce the code memory size by 33% on average with reasonable performance degradation (8-20%) and energy consumption (10% more on average) for low-end embedded systems.
| Year | Citations | |
|---|---|---|
Page 1
Page 1