High Level Power Modelling for IoT
Abstract
Målet for denne masteroppgaven er å modellere effektforbruket til et system på en chip på elektronisk systemnivå ved å bruke effekt- og ytelsesmodelleringsverktøyet Fused. Motivasjonen bak prosjektet er å få et estimat på effektforbruket til et system tidlig i designløpet. Effektmodelleringen ble utført ved å instrumentere komponenter i systemet som fra tidligere simuleringer er antatt å ha høyt effektforbruk, og som det fins tilgjengelige data om effektforbruk om fra datablad eller tidligere simuleringer. De instrumenterte komponentene er to prosessorer, referert til som core 1 og core 2, et hurtigminne, referert til som cache, tre minner referert til som memory 1, memory 2 og memory 3. Fire eksperimenter ble utført. I det første ble CoreMark kjørt på core 1 fra memory 3 og med cache aktivert, og den virtuelle prototypen var instrumentert med verdier for energi- og strømforbruk tatt fra komponentdatablader, samt enkelte verdier fra tidligere effektestimeringer. I det andre ble CoreMark kjørt på core 2 fra memory 1 og 2 med cache deaktivert, her og med verdier fra komponentdatablader og tidligere effektestimater. Det tredje er en gjentakelse av det første, men med energi- og strømforbruksverdier tatt fra et PrimePower- estimat av RTL- modellen. Det fjerde er en gjentakelse av det andre, her og med instrumenteringsverdier tatt fra PrimePower. Eksperiment 1 gir et gjennomsnittlig root- mean- square- avvik (RMSE) på 0.012 W / sample. Eksperiment 2 hadde et gjennomsnittlig RMSE på 0.54970.012 W / sample. Eksperiment 3 hadde et gjennomsnittlig RMSE på 0.01330.012 W / sample. Alle resultater er normaliserte grunnet konfidensialitet. Eksperiment 4 gir et gjennomsnittlig RMSE på 0.2502. Kurvene av estimert effekt per tid på elektronisk systemnivå og registeroverføringsnivå samsvarer delvis i form. Som konklusjon virker denne metoden for effektmodellering lovende, men den forutsetter at fornuftige verdier for energi og strøm til hendelser og statuser blir brukt. Det er også viktig å ha i minne at det kan være mindre forskjeller i hvordan den virtuelle prototypen og en registeroverføringsnivåmodell eller en fysisk chip fungerer, og at dette kan påvirke effektforburkskurvene noe. Imidlertid vil metoden være nyttig for å gi et bredt estimat av effektforbruket til systemet under en gitt arbeidslast. This master thesis describes the process of instrumenting and annotating a virtual prototype of a system on a chip using the power and performance modelling framework Fused. The aim of this project is to get an estimate of the power consumption of a system at an early development level. The power modelling was performed by instrumenting 5 components in the virtual prototype assumed to be particularly power hungry, annotating them with energy and current consumption values from datasheets and previous power estimates, and comparing the resulting power estimate to an estimate done at the register transfer level. The instrumented components were two cores, in this report referred to as core 1 and core 2, a cache, three memories referred to as memory 1, memory 2 and memory 3. Four experiments were performed. For the first experiment, a run of CoreMark on core 1 from memory 3 and with the cache enabled, and the virtual prototype annotated with energy- and current consumption values taken from datasheets, was performed. The second experiment was a run of CoreMark on core 2 from memory 1 and 2 with cache disabled, also with datasheet energy- and current consumption values used to annotate Fused. The third experiment was a repeat of the first experiment with values calculated from a PrimePower estimate used instead of the datasheet values. The fourth was a repeat of the second expriment, also with PrimePower annotation values. For the first experiment, the averaged RMSE across all the active components was 0.012W/sample. For the second experiment, the averaged RMSE was 0.5497W/sample. The third experiment had an averaged RMSE of 0.0133W/sample. The fourth had an averaged RMSE of 0.2502W/sample. All results are normalized for the sake of confidentiality. There was a general, but not exact, similarity between the plots of the power traces at the register transfer level and the electronic system level. In conclusion, this power modelling method shows promise if appropriate power values are used. It is also important to keep in mind that there might be certain differences in how a virtual prototype and a register transfer level model or a physical chip function, as this can impact the power estimate. However, to get a rough estimate of the power consumption of a workload on a system, this method could be quite useful.