Font Size: a A A

System-level energy analysis and optimization of embedded systems

Posted on:2005-02-07Degree:Ph.DType:Thesis
University:Princeton UniversityCandidate:Fei, YunsiFull Text:PDF
GTID:2458390008981383Subject:Engineering
Abstract/Summary:
In this thesis, we explore various key issues in system-level energy analysis and optimization of embedded systems.; First, we tackle the problem of energy estimation for extensible processors. Extensible processors are increasingly used in modern embedded systems. They allow designers to extend a base processor core through custom hardware extensions. Energy estimation for extensible processors in the early design cycle is challenging due to the wide range of customizations possible to the instruction set architecture, as well as the inherent complexity of the underlying micro-architecture. We propose a hybrid energy estimation technique to address this open problem, which consists of instruction-level macro-modeling for the base processor core, and structural macro-modeling for the custom hardware extensions. Through this orchestration, our macro-model achieves both accuracy at the register-transfer level and efficiency at the instruction level, making energy-optimized extensible processor synthesis feasible.; Next, we investigate some novel opportunities in designing energy-efficient software for embedded systems. Embedded software consists of two major components: the operating system (OS) and user application. We propose a source code transformation methodology employing several techniques that span the OS and application boundaries to reduce the energy consumption of multi-process OS-driven embedded software. The overhead due to coarse-grained system-level concurrency and global process-level data flow, and the overhead of context-switch and OS interventions are reduced greatly. The proposed suite of transformation techniques are complementary to compilation approaches for energy minimization of embedded software.; The applications at the user level can be managed efficiently for further energy savings. Since many mobile applications are scalable in terms of functionality, we propose a dynamic software management (DSM) framework to adapt the behavior of mobile applications according to the resource status (e.g., battery charge level). Multiple applications are tackled in a coordinated fashion to avoid competition among them for limited energy resources. We have designed and implemented a DSM module in user space, independent of the OS, which employs energy macro-models for mobile applications to aid adaptations, and a priority-based preemption policy to coordinate multiple applications. The proposed framework is very general and portable to POSIX-compliant OSs.; Finally, we consider power optimization during design exploration of embedded system-on-a-chip (SOC) macro-architectures. We describe a power-aware system synthesis tool with integrated functional partitioning and SOC synthesis flow. The homogeneous model we have implemented utilizes an effective search algorithm, a genetic algorithm, and uses a hierarchical scheduler that takes care of both inter-chip and on-chip communications. The tool generates multiple solutions which present trade-offs between different design objectives, such as overall system price and power.
Keywords/Search Tags:Energy, Embedded, Level, Optimization
Related items