# Modeling the Power Consumption of Function-Level Code Relocation for Low-Power Embedded Systems
## 7 Conclusions  
The design of low-power embedded systems requires consideration of the limitations of hardware components. Previous studies identified the potential for power reduction using a code migration methodology based on function relocation on the software level, without modifying critical system components such as the hardware. In addition, other researchers uniformly reasoned that the location of the code is crucial when considering the heterogeneous memory characteristics. This means that a function existing in volatile memory consumes less power compared to a function in non-volatile memory.  
In this work, code profiling, which enables us to understand the actual program flow, was preferentially performed to confirm the effect of function relocation based on the instruction groups. This step was necessary to provide convincing evidence that the efficiency of power reduction due to relocation could be attributed to the instruction groups. Thus, the assembly codes related to each group were inserted and the power consumption for each insertion was measured in an actual system. The profiling result indicated an increase in the power reduction efficiency due to function relocation in the following order: The highest was achieved with the Branch and Control group and the lowest with the Register Load and Store group. Furthermore, a prior relocation-scoring model, which guesses the effective relocation order in a program, was proposed. Based on the profiling result,  
Figure 10: Power Reduction Efficiency (PRE) value and Relocatable Score (RS) value correlation.  
the model calculates the Belocatable Score (RS) and compares it to the Power Reduction Efficiency (PRE). Thus, appropriate benchmarks were selected as case studies. As a consequence, the results showed a consistent trend between the scores and the efficiency. In other words, a function allocated a high RS value by the model ensures strong power reduction compared to the other functions in the benchmark program. A clear criterion for selecting a target function for relocation is presented. Moreover, the result is of great significance because it indicates the possibility to predict the effect of the order of function-level code relocation by using only the ratio of instruction groups.  
With reference to one program, the result is considerably significant. However, it is not possible to score multiple programs on one basis. That is the only limitation of the proposed model, namely that the effect of relocation cannot be predicted only by the proposed scored value. Therefore, it would be necessary to additionally consider instruction-specific characteristics and combinations between instructions, rather than simply classifying instructions into groups of instructions.  
H.C. and Y.K.: conceived and designed the methodology and the model and performed the experiments and analyzed the data; S.P.: Conceptualization, validation and review; All authors worked on this manuscript together, and all authors have read and approved the final manuscript.  
This research is an extension of the following paper: [PERSON], [PERSON] and [PERSON], \"Extensive Instruction Code Profiling for Effective Function-Level Code Relocation,\" International Symposium on Computer, Consumer and Control (IS3C), Taichung, Taiwan, 2018, pp. 38-41. This research was supported by the National Research Foundation of Korea funded by the Korean Government (NRF-2017R1D1A1B03030393). [PERSON] is the corresponding author.  
The authors declare no conflict of interest.